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

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
对象存储 OSS,内容安全 1000次 1年
简介: 办公文档是每个人日常频繁使用的工具,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)--快速搭建
目录
相关文章
|
18天前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
50 9
|
26天前
|
Cloud Native
云原生架构之X无限延伸:跨AZ、跨Region、跨Cloud,一文让你彻底解锁!
【8月更文挑战第25天】在云原生架构中,可扩展性至关重要,它确保了应用能按需高效调整资源。本文聚焦于三种扩展策略:跨AZ、跨Region及跨云扩展。跨AZ扩展通过在同一云内部不同可用区间部署应用副本增强容错性;跨Region扩展则通过不同地理区域的应用副本部署提升全球访问性能与可靠性;而跨云扩展则利用多云环境进一步加强应用的弹性和覆盖范围。文中提供了基于AWS CloudFormation的具体实践示例,帮助读者深入理解这些扩展机制的实际应用。
52 2
|
27天前
|
Cloud Native
核心系统转型问题之平衡核心架构中的功能性与非功能性需求如何解决
核心系统转型问题之平衡核心架构中的功能性与非功能性需求如何解决
|
2月前
|
负载均衡 监控 Kubernetes
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
Service Mesh 是一种用于处理服务间通信的基础设施层,它通常与微服务架构一起使用,以提供诸如服务发现、负载均衡、熔断、监控、追踪和安全性等功能。
|
2月前
|
消息中间件 Java 开发者
Spring Cloud微服务框架:构建高可用、分布式系统的现代架构
Spring Cloud是一个开源的微服务框架,旨在帮助开发者快速构建在分布式系统环境中运行的服务。它提供了一系列工具,用于在分布式系统中配置、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等领域的支持。
145 5
|
3月前
|
负载均衡 Java 开发者
Spring Cloud微服务架构中的配置管理与服务发现
Spring Cloud微服务架构中的配置管理与服务发现
|
2月前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
2月前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
|
2月前
|
负载均衡 Java 开发者
Spring Cloud微服务架构中的配置管理与服务发现
Spring Cloud微服务架构中的配置管理与服务发现
|
2月前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【7月更文挑战第1天】Spring Cloud是Java微服务治理明星框架,整合Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心),提供完整服务治理解决方案。通过Eureka实现服务注册与发现,Ribbon进行客户端负载均衡,Hystrix确保服务容错,Config Server集中管理配置,Zuul作为API网关简化系统复杂性。理解和使用Spring Cloud是现代Java开发者的关键技能。
79 0

相关产品

  • 智能媒体管理