智能媒体管理产品文档转换/预览功能介绍(1)---Cloud Native架构

本文涉及的产品
对象存储 OSS,20GB 3个月
云备份 Cloud Backup,100GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 办公文档是每个人日常频繁使用的工具,ppt、word、xls、wps、pdf等为我们工作和生活带来了很多的便利,本文介绍在云计算和智能手机时代,基于智能媒体管理的新型Cloud Native文档转换/预览架构,实现高效的

一、导语

办公文档是每个人日常频繁使用的工具,ppt、word、xls、wps、pdf等为我们工作和生活带来了很多的便利,本文介绍在云计算和智能手机时代,基于 智能媒体管理 的新型Cloud Native文档转换/预览架构,实现高效的文档预览服务。

二、背景介绍

构建文档预览服务,需要考虑原始文档的保存,文档传输到转换预览服务器,进行文档格式转换以及数据的保存,对外支撑客户端的预览服务流程,同时需要考虑整个过程中对安全和可靠性的设计。所以,评估文档预览服务,必须要考虑如下的技术点。

2.1 转换引擎

  • 格式种类。分为支持的输入文档种类、输出文件格式,比如输入文档种类支持ppt、pot、pptx、doc、dot、docx、xlsx、csv等,输出文件格式为jpg、png、pdf、向量格式(Vector,该格式支持在预览时选取里面的文字)。
  • 转换效果。能够转换大文件(比如20MB以上的文件),对于xls文件也能够友好的显示(包括sheet的显示)。

2.2 预览技术

  • 多设备支持。在PC/手机上都能轻松预览,支持左右、上下翻页的体验。
  • 定制化能力。提供预览插件框架,可以在预览页面中插入自定义广告。

2.3 安全设计

  • 原始文档的安全。原始文档是否需要上传到其他的应用或者其他的云。
  • 预览数据的安全。经转换引擎生成的预览数据持久化保存位置是否是您可以指定的位置,预览的数据是否支持签名访问。
  • 加密文档的安全。对于加密的文档,是否可以支持预览。

2.4 SLA设计

  • 预览服务的SLA。因为预览是通过互联网为PC/手机提供服务,所以可以按照云服务的标准衡量服务等级。
  • 预览数据的持久度。由于众多的互联网客户端都会访问数据,所以数据的持久度也是一个关键指标。

上述技术点,将是评估文档预览架构的重要评价标准。

三、现有架构

不管是公有云还是专有云,现有典型的文件预览架构是部署专门的预览软件,比如Microsoft OWA(Office Web Apps),以“公有云存储OSS+OWA“为例,其架构如下。

现有架构

其典型特征如下:

  • 转换数据保存在转换/预览服务器。需要在转换/预览服务器提供存储,如果采用本地存储,需要解决该服务器故障时预览不可用的问题;否则,利用这些服务器构建分布式存储,保证服务器故障也能访问数据。
  • 客户端预览请求由转换/预览服务器完成。服务器需要提供预览的互联网带宽、解决重复预览请求的缓存设计,以及根据请求做弹性伸缩的服务能力。

整体来看,这是传统的预览架构,并没有充分利用云存储OSS的互联网访问、弹性伸缩、数据持久度、SLA等能力。

四、Cloud Native架构

智能媒体管理 产品,基于现有架构的分析,优化设计了Cloud Native架构的文档预览服务,其架构如下。

Cloud Native架构

其典型特征是:

  • 充分利用云存储OSS的服务化能力。服务器只需处理文档的格式转换,然后充分利用云存储OSS的互联网访问、弹性伸缩、数据持久度、SLA等能力客户端提供文档浏览服务。
  • 客户端直连OSS进行预览。链路短、效率高、体验好。

五、架构对比

5.1 架构对比分析

通常前面的介绍,现有架构中服务器同时支持转换、预览能力,客户端始终和服务器交互,是典型的In Band模式;而Cloud Native架构充分利用云存储OSS提供预览能力,服务器只需提供转换功能,从而 实现转换、预览解耦,是典型的Out Of Band模式。

架构对比

由于Cloud Native架构的解耦模式,云存储OSS卸载了预览服务,从而和现有架构相比,只需采用更少的转换服务器就可以完成服务; 并且由于转换数据都在OSS上,转换服务器可以采用无状态设计,从而转换服务可以轻易的实现弹性伸缩。

5.2 技术点对比

\ 现有架构(OWA) 智能媒体管理的CloudNative架构
转换格式种类 典型的office文档 office文档、WPS文档、代码等多种格式
转换效果 限制原文件大小 能转换大文件(比如20MB以上的文档),对于xls文件也能够友好的显示(包括sheet的显示)
预览多设备支持 支持 支持,上下翻页、左右翻页
预览定制化能力 不支持 提供插件框架,可以插入自定义的插件,实现预览显示定制化广告
原始文档的安全 复用OSS的安全 复用OSS的安全
预览数据的安全 预览服务器保证安全,工作量大 复用OSS的安全
加密文档的安全 不支持预览加密文档 支持加密文档预览,以及转换数据的安全
预览服务的SLA 预览服务器的SLA设计,工作量大 复用OSS的SLA,达到99.9%
预览数据的持久度 预览服务器的分布式存储设计,工作量大 复用OSS的持久度,达到11个9

5.3 Cloud Native优势总结

5.3.1 成本更优化

  • 更少的服务器。OSS卸载了预览功能后,服务器只需做转换,从而服务器更少。
  • 更少的服务器存储。OSS保存了转换数据,服务器无需使用存储来保存转换数据。

5.3.2 扩展性更优

  • 服务器无状态扩展。无需保存转换数据,故可以采用无状态设计,非常容易实现扩展性。
  • 基于OSS的存储和网络扩展能力。无需基于服务器构建分布式系统,利用OSS实现弹性伸缩。

5.3.3 可靠性更好

  • 直接复用OSS的可用性和持久度。无需基于服务器构建分布式系统,提供高可靠性。

六、如何使用

通过阿里云提供的云存储OSS,以及阿里云的 智能媒体管理 服务,可以直接在您的云存储OSS上快速实现自己的文档预览服务。参考如下的文章,帮助您迅速搭建服务:

  1. 智能媒体管理产品文档转换/预览功能介绍(2)---转换原理
  2. 智能媒体管理产品文档转换/预览功能介绍(3)---预览原理
  3. 智能媒体管理产品文档转换/预览功能介绍(4)--快速搭建
目录
相关文章
|
1月前
|
消息中间件 负载均衡 Java
Java一分钟之-Spring Cloud:微服务架构工具集
【6月更文挑战第8天】本文介绍了Spring Cloud的核心组件,包括Eureka(服务注册与发现)、Ribbon(客户端负载均衡)、Zuul(API网关)、Hystrix(断路器)、Spring Cloud Config(配置中心)和Spring Cloud Bus(事件总线)。文中强调了各组件的易错点,如Eureka的服务注册失败、Ribbon的配置、Zuul的路由错误、Hystrix的启用及配置、Config Server的加载失败和Bus的通讯问题,并给出了相应的代码示例和解决建议。在实际开发中,关注日志和使用调试工具是保证微服务系统稳定运行的关键。
105 6
|
2月前
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
2天前
|
负载均衡 监控 Kubernetes
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
16 5
|
22天前
|
前端开发 Java 开发工具
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
系统开发环境 开发语言:java 技术架构:B/S架构 开发工具:maven、Visual Studio Code 前端框架:avue 后端框架:springboot、mybaits 数 据 库:MySQL
28 4
Java医院绩效考核系统源码:关于医院绩效考核系统的技术架构、系统功能、如何选择医院绩效考核管理系统
|
5天前
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
32 5
|
17天前
|
负载均衡 Java 开发者
Spring Cloud微服务架构中的配置管理与服务发现
Spring Cloud微服务架构中的配置管理与服务发现
|
17天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【6月更文挑战第30天】Spring Cloud是Java微服务治理明星框架,整合Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(断路器)、Zuul(API网关)和Config Server(配置中心),提供完整服务治理解决方案。通过Eureka实现服务注册与发现,Ribbon进行负载均衡,Hystrix确保服务容错,Config Server集中管理配置,Zuul则作为API入口统一处理请求。理解和使用Spring Cloud是现代Java开发者的关键技能。
80 2
|
27天前
|
监控 Java Sentinel
Spring Cloud微服务架构
Spring Cloud微服务架构
35 1
|
29天前
|
缓存 NoSQL Java
在 SSM 架构(Spring + SpringMVC + MyBatis)中,可以通过 Spring 的注解式缓存来实现 Redis 缓存功能
【6月更文挑战第18天】在SSM(Spring+SpringMVC+MyBatis)中集成Redis缓存,涉及以下步骤:添加Spring Boot的`spring-boot-starter-data-redis`依赖;配置Redis连接池(如JedisPoolConfig)和连接工厂;在Service层使用`@Cacheable`注解标记缓存方法,指定缓存名和键生成策略;最后,在主配置类启用缓存注解。通过这些步骤,可以利用Spring的注解实现Redis缓存。
52 2
|
13天前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,

相关产品

  • 智能媒体管理