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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 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)--快速搭建
目录
相关文章
|
3天前
|
监控 数据可视化 关系型数据库
微服务架构+Java+Spring Cloud +UniApp +MySql智慧工地系统源码
项目管理:项目名称、施工单位名称、项目地址、项目地址、总造价、总面积、施工准可证、开工日期、计划竣工日期、项目状态等。
315 6
|
3天前
|
消息中间件 Cloud Native Java
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
|
7月前
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
3天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
18 0
|
3天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
3天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
30 1
|
3天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
3天前
|
监控 负载均衡 Java
深入探究Java微服务架构:Spring Cloud概论
**摘要:** 本文深入探讨了Java微服务架构中的Spring Cloud,解释了微服务架构如何解决传统单体架构的局限性,如松耦合、独立部署、可伸缩性和容错性。Spring Cloud作为一个基于Spring Boot的开源框架,提供了服务注册与发现、负载均衡、断路器、配置中心、API网关等组件,简化了微服务的开发、部署和管理。文章详细介绍了Spring Cloud的核心模块,如Eureka、Ribbon、Hystrix、Config、Zuul和Sleuth,并通过一个电商微服务系统的实战案例展示了如何使用Spring Cloud构建微服务应用。
103535 9
|
3天前
|
监控 安全 Java
【Spring Cloud 】基于微服务架构的智慧工地监管平台源码带APP
【Spring Cloud 】基于微服务架构的智慧工地监管平台源码带APP
111 0

相关产品

  • 智能媒体管理