首页> 中国专利> 一种office在线预览方法及系统

一种office在线预览方法及系统

摘要

本发明公开了一种office在线预览方法及系统,其方法包括向转换终端上传转换文档并向转换终端发起文档转换请求;转换终端将转换文档发送到nginx服务器,所述nginx服务器形成与该转换文档对应的转换文档任务,然后将转换文档任务和转换文档均衡到后台服务器;所述后台服务器将转换文档任务存入到消息队列中,并等待转换文档任务执行;所述后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务;转换终端展示存储于存储终端的pdf文档。其系统包括请求模块、排队模块、转换模块和展示模块。所述office在线预览方法及系统解决了当有大批量的转换请求时转换效率低,还会导致系统崩溃和文件丢失的问题。

著录项

  • 公开/公告号CN114911623A

    专利类型发明专利

  • 公开/公告日2022-08-16

    原文格式PDF

  • 申请/专利权人 广东兴睿科技有限公司;

    申请/专利号CN202210607492.5

  • 发明设计人 蓝金桃;

    申请日2022-05-31

  • 分类号G06F9/50(2006.01);G06F9/54(2006.01);G06F40/106(2020.01);G06F40/151(2020.01);

  • 代理机构佛山市禾才知识产权代理有限公司 44379;佛山市禾才知识产权代理有限公司 44379;

  • 代理人陆应健;资凯亮

  • 地址 528000 广东省佛山市禅城区石湾小雾岗园林陶瓷厂内10号自编6E座三楼

  • 入库时间 2023-06-19 16:25:24

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-02

    实质审查的生效 IPC(主分类):G06F 9/50 专利申请号:2022106074925 申请日:20220531

    实质审查的生效

说明书

技术领域

本发明涉及互联网技术领域,特别是一种office在线预览方法及系统。

背景技术

随着企业信息化的发展,各企业对办公自动化的需求越来越大。其中office办公文档可在线编辑预览便是实现办公自动化的一个支撑点。并且由于企业对自身数据的敏感性,许多企业会选择私有化部署这些移动办公应用,对于中小型企业来说,一套高性能、高可用、支持私有化部署并且价格低廉的文档转换中间件是可遇而不可求的。为了达到以上需求,通常采用的方案就是OpenOffice+JodConverter+pdf.js实现文档在线预览功能。但由于OpenOffice自身的条件,无法做到多线程转换,且一次只能转换一个,同一时间段如果有多个待转换的文件会带来阻塞,甚至会导致OpenOffice崩溃,进而导致转换文件丢失。为解决这个问题,通常会将转换的文档任务放在队列中,依次转换文档。如果是单节点转换,势必会影响文档转化率,稳定性降低。另外,采用现有的office在线预览编辑技术,如果瞬间有大批量的转换请求时会导致响应过慢,降低用户体验,并且有可能会令服务器资源瞬间占满,无法处理新的请求,进而导致系统崩溃,甚至会有文件丢失的情况出现。

发明内容

针对上述缺陷,本发明的一个目的在于提出一种office在线预览方法,解决了当有大批量的转换请求时转换效率低,还会导致系统崩溃和文件丢失的问题。

针对上述缺陷,本发明的另一个目的在于提出一种office在线预览系统,解决了当有大批量的转换请求时转换效率低,还会导致系统崩溃和文件丢失的问题。

为达此目的,本发明采用以下技术方案:一种office在线预览方法,包括以下步骤:

S1:向转换终端上传转换文档并向转换终端发起文档转换请求;

S2:转换终端将转换文档发送到nginx服务器,所述nginx服务器形成与该转换文档对应的转换文档任务,然后将转换文档任务和转换文档均衡到后台服务器;

所述后台服务器将转换文档任务存入到消息队列中,并等待转换文档任务执行;

S3:所述后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务;其中,对转换文档任务进行执行为调用OpenOffice处理转换文档任务,将转换文档转换为pdf文档,并将pdf文档和PDF文档对应的源文件上传到存储服务器;

S4:转换终端展示存储于存储终端的pdf文档。

值得说明的是,所述nginx服务器内置有负载均衡插件;

在所述步骤S2中,所述负载均衡插件通过轮询负载均衡法将所有转换文档任务轮流分配给所述后台服务器内部的各个节点;每个节点将转换文档任务存入到其自身的消息队列中,并等待转换文档任务执行;

在步骤S3中,每个节点的转换单元按照每个节点的消息队列的排列顺序依次接收nginx服务器内的转换文档并执行转换文档任务。

可选地,在所述步骤S2中,所述负载均衡插件不断重复并依次向后台服务器内部的节点1至节点n分配转换文档任务。

具体地,所述后台服务器设有监听端点,在所述步骤S3中,当监听端点监听到有转换文档转换为pdf文档后,后台服务器将pdf文档上传到存储服务器并形成该pdf文档的文档标签,所述存储服务器向后台服务器返回该pdf文档于存储服务器的存储地址,然后后台服务器将文档标签和存储地址封装并发送到转换终端。

优选的,所述后台服务器还包括热数据保存单元,在所述步骤S3中,所述后台服务器将转换前的转换文档、所述文档标签和所述存储地址封装并存储于热数据保存单元;

在所述后台服务器按照消息队列的排列顺序依次对转换文档任务进行执行前,先检索热数据保存单元中是否存在与需要转换的转换文档的内容或者MD5值一样的转换文档;当热数据保存单元中存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,向转换终端返回存储于热数据保存单元中与需要转换的转换文档的内容或者MD5值一样的转换文档的文档标签和存储地址;当热数据保存单元中不存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,转换单元对转换文档任务进行执行。

值得说明的是,一种office在线预览系统,包括请求模块、排队模块、转换模块和展示模块;

所述请求模块用于向转换终端上传转换文档并向转换终端发起文档转换请求;

所述排队模块用于利用转换终端将转换文档发送到nginx服务器,还用于利用所述nginx服务器形成与该转换文档对应的转换文档任务,将转换文档任务和转换文档均衡到后台服务器;还用于利用所述后台服务器将转换文档任务存入到消息队列中,并等待转换文档任务执行;

所述转换模块用于利用所述后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务;其中,对转换文档任务进行执行为调用OpenOffice处理转换文档任务,将转换文档转换为pdf文档,并将pdf文档和PDF文档对应的源文件上传到存储服务器;

所述展示模块用于利用转换终端展示存储于存储终端的pdf文档。

可选地,所述nginx服务器内置有负载均衡插件;

所述排队模块具体用于利用所述负载均衡插件通过轮询负载均衡法将所有转换文档任务轮流分配给所述后台服务器内部的各个节点;还用于利用每个节点将转换文档任务存入到其自身的消息队列中,并等待转换文档任务执行;

所述转换模块用于利用每个节点的转换单元按照每个节点的消息队列的排列顺序依次接收nginx服务器内的转换文档并执行转换文档任务。

具体地,所述排队模块用于利用所述负载均衡插件不断重复并依次向后台服务器内部的节点1至节点n分配转换文档任务。

优选的,所述后台服务器设有监听端点,所述转换模块还用于当监听端点监听到有转换文档转换为pdf文档后,后台服务器将pdf文档上传到存储服务器并形成该pdf文档的文档标签,所述存储服务器向后台服务器返回该pdf文档于存储服务器的存储地址,然后后台服务器将文档标签和存储地址封装并发送到转换终端。

值得说明的是,所述后台服务器还包括热数据保存单元,所述转换模块还用于利用所述后台服务器将转换前的转换文档、所述文档标签和所述存储地址封装并存储于热数据保存单元;

还用于在所述后台服务器按照消息队列的排列顺序依次对转换文档任务进行执行前,先检索热数据保存单元中是否存在与需要转换的转换文档的内容或者MD5值一样的转换文档;用于当热数据保存单元中存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,向转换终端返回存储于热数据保存单元中与需要转换的转换文档的内容或者MD5值一样的转换文档的文档标签和存储地址;用于当热数据保存单元中不存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,转换单元对转换文档任务进行执行。

上述技术方案中的一个技术方案具有如下有益效果:在所述office在线预览方法中,在后台服务器的消息队列排队的只是转换文档任务,转换文档任务为一个标记,转换文档任务与转换文档相比,转换文档任务所占用的存储空间小很多,因此当瞬间有大批量的转换请求时,先利用转换文档任务在消息队列中排队,当轮到该转换文档转换时,后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务,如此,能合理分配转换单元的存储空间内,从而不会占用大量的转换单元的存储空间,提高了转换效率,避免了系统崩溃或者文件丢失。

附图说明

图1是本发明的一个实施例的流程图;

图2是本发明的一个实施例的结构框图。

具体实施方式

下面详细描述本发明的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

下文的公开提供了许多不同的实施方式或例子用来实现本发明的实施方式的不同结构。为了简化本发明的实施方式的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明的实施方式可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。

如图1所示,一些实施例中,一种office在线预览方法,包括以下步骤:

S1:向转换终端上传转换文档并向转换终端发起文档转换请求;所述转换终端优选为计算机的浏览器;

S2:转换终端将转换文档发送到nginx服务器,所述nginx服务器形成与该转换文档对应的转换文档任务,然后将转换文档任务和转换文档均衡到后台服务器;nginx服务器是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器,在本实施例中,nginx服务器用于处理转换终端上传的转换请求;

所述后台服务器将转换文档任务存入到消息队列中,并等待转换文档任务执行;

S3:所述后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务;其中,对转换文档任务进行执行为调用OpenOffice处理转换文档任务,将转换文档转换为pdf文档,并将pdf文档和PDF文档对应的源文件上传到存储服务器;所述存储服务器为MINIO对象存储或者本地服务器;所述转换单元为MQ中间件,用于执行转换文档任务对转换文档进行转换;处理转换文档任务并响应转换信息,采用Docker镜像方式,将OpenOffice镜像作为基础镜像,然后将后台服务器镜像叠加形成文档转换镜像服务,即将OpenOffice组件与转换服务一起打包成一个镜像,以容器方式提供转换服务;其中,Docker镜像方式是一种容器化技术,比如镜像底层是一个linux系统,在此基础上在添加一些组件形成新的镜像称为镜像叠加。

S4:转换终端展示存储于存储终端的pdf文档。

在所述office在线预览方法中,在后台服务器的消息队列排队的只是转换文档任务,转换文档任务为一个标记,转换文档任务与转换文档相比,转换文档任务所占用的存储空间小很多,因此当瞬间有大批量的转换请求时,先利用转换文档任务在消息队列中排队,当轮到该转换文档转换时,后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务,如此,能合理分配转换单元的存储空间内,从而不会占用大量的转换单元的存储空间,提高了转换效率,避免了系统崩溃或者文件丢失。

值得说明的是,所述nginx服务器内置有负载均衡插件;

在所述步骤S2中,所述负载均衡插件通过轮询负载均衡法将所有转换文档任务轮流分配给所述后台服务器内部的各个节点;每个节点将转换文档任务存入到其自身的消息队列中,并等待转换文档任务执行;

在步骤S3中,每个节点的转换单元按照每个节点的消息队列的排列顺序依次接收nginx服务器内的转换文档并执行转换文档任务。

负载均衡插件以IP地址的一种虚拟性作为策略,对轮流排程问题进行了协调。当某些节点出现down机情况的时候,负载均衡插件会把请求发送到其他节点以完成相应的操作。采用轮询负载均衡法,就能将转换文档任务平均分配到后台服务器内部的各个节点,如此,所述后台服务器的每个节点都能执行其对应的转换文档任务。

可选地,在所述步骤S2中,所述负载均衡插件不断重复并依次向后台服务器内部的节点1至节点n分配转换文档任务。

当所述负载均衡插件将转换文档任务分配到最后一个节点后,所述nginx服务器还有转换文档任务,那么该转换文档任务就会被分配到节点1,然后该转换文档任务的下一个转换文档任务就会被分配到节点2,以此类推,直到所有转换文档任务被分配完毕为止。

具体地,所述后台服务器设有监听端点,在所述步骤S3中,当监听端点监听到有转换文档转换为pdf文档后,后台服务器将pdf文档上传到存储服务器并形成该pdf文档的文档标签,所述存储服务器向后台服务器返回该pdf文档于存储服务器的存储地址,然后后台服务器将文档标签和存储地址封装并发送到转换终端。所述后台服务器设有MYSQL数据库,用于记录所述文档标签和存储地址;

后台服务器会设置一个监听端点,当有转换请求到达监听端点,后台服务器存储一份文件数据到存储服务器并返回存储地址,然后封装存储地址以及转换信息作为消息体数据放入到消息中间件(rabbitmq)中。另外转换服务会一直监听消息队列中的任务,当有任务过来时,转换服务调用OpenOffice转换组件进行文件转换,转换成功后会发一个异步回调将转换后的pdf文档返回给转换终端,至此转换完成。

优选的,所述后台服务器还包括热数据保存单元,在所述步骤S3中,所述后台服务器将转换前的转换文档、所述文档标签和所述存储地址封装并存储于热数据保存单元;

在所述后台服务器按照消息队列的排列顺序依次对转换文档任务进行执行前,先检索热数据保存单元中是否存在与需要转换的转换文档的内容或者MD5值一样的转换文档;当热数据保存单元中存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,向转换终端返回存储于热数据保存单元中与需要转换的转换文档的内容或者MD5值一样的转换文档的文档标签和存储地址;当热数据保存单元中不存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,转换单元对转换文档任务进行执行。

所述热数据保存单元采用REDIS远程字典服务。利用热数据保存单元,保存热数据,当多次转换的是同一份转换文档,则直接返回该转换文档已转换成功的存储地址和文档标签。

如图2所示,一些实施例中,一种office在线预览系统,包括请求模块、排队模块、转换模块和展示模块;

所述请求模块用于向转换终端上传转换文档并向转换终端发起文档转换请求;

所述排队模块用于利用转换终端将转换文档发送到nginx服务器,还用于利用所述nginx服务器形成与该转换文档对应的转换文档任务,还用于将转换文档任务和转换文档均衡到后台服务器;还用于利用所述后台服务器将转换文档任务存入到消息队列中,并等待转换文档任务执行;

所述转换模块用于利用所述后台服务器的转换单元按照消息队列的排列顺序依次执行转换文档任务;其中,对转换文档任务进行执行为调用OpenOffice处理转换文档任务,将转换文档转换为pdf文档,并将pdf文档和PDF文档对应的源文件上传到存储服务器;

所述展示模块用于利用转换终端展示存储于存储终端的pdf文档。

值得说明的是,所述nginx服务器内置有负载均衡插件;

所述排队模块具体用于利用所述负载均衡插件通过轮询负载均衡法将所有转换文档任务轮流分配给所述后台服务器内部的各个节点;还用于利用每个节点将转换文档任务存入到其自身的消息队列中,并等待转换文档任务执行;

所述转换模块用于利用每个节点的转换单元按照每个节点的消息队列的排列顺序依次接收nginx服务器内的转换文档并执行转换文档任务。

可选地,所述排队模块用于利用所述负载均衡插件不断重复并依次向后台服务器内部的节点1至节点n分配转换文档任务。

具体地,所述后台服务器设有监听端点,所述转换模块还用于当监听端点监听到有转换文档转换为pdf文档后,后台服务器将pdf文档上传到存储服务器并形成该pdf文档的文档标签,所述存储服务器向后台服务器返回该pdf文档于存储服务器的存储地址,然后后台服务器将文档标签和存储地址封装并发送到转换终端。

优选的,所述后台服务器还包括热数据保存单元,所述转换模块还用于利用所述后台服务器将转换前的转换文档、所述文档标签和所述存储地址封装并存储于热数据保存单元;

还用于在所述后台服务器按照消息队列的排列顺序依次对转换文档任务进行执行前,先检索热数据保存单元中是否存在与需要转换的转换文档的内容或者MD5值一样的转换文档;用于当热数据保存单元中存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,向转换终端返回存储于热数据保存单元中与需要转换的转换文档的内容或者MD5值一样的转换文档的文档标签和存储地址;用于当热数据保存单元中不存在与需要转换的转换文档的内容或者MD5值一样的转换文档时,转换单元对转换文档任务进行执行。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

尽管上面已经示出和描述了本发明的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施实施进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号