基于消息队列的转版方法、系统及介质技术方案

技术编号:37713119 阅读:14 留言:0更新日期:2023-06-02 00:07
本发明专利技术提供基于消息队列的转版方法、系统及介质,方法包括:文件系统服务器发送原始文件的文件基本信息至消息队列;订阅所述消息队列的转版服务器消费所述消息队列中的文件基本信息,以获取所述原始文件对应的转版信息。本发明专利技术能够将请求服务与转版服务进行解耦,节省各自的服务资源。省各自的服务资源。省各自的服务资源。

【技术实现步骤摘要】
基于消息队列的转版方法、系统及介质


[0001]本申请涉及数据处理
,具体涉及一种基于消息队列的转版方法、系统及介质。

技术介绍

[0002]现阶段的转版服务(将word、ppt、excel等文件转成pdf,ofd)只提供了http接口,当调用转版服务时,必须使用http请求。这时如果将转版服务部署成高可用服务,需要接入nginx服务,基于nginx负载均衡算法将请求转发到对应的转版服务。因为使用http接口请求服务与转发服务需要保持长时间连接状态(同步请求),如果使用异步请求(转版服务挂掉)就无法有效知道转版是否成功,需要人工查看对应日志后,再次进行转版请求。
[0003]总而言之,现有技术点的转版服务具有以下不足:
[0004]1.请求服务与转版服务(http请求)属于高耦合,如果使用异步就难以知道是否成功,导致人工频繁介入;
[0005]2.基于nginx搭建高可用服务,无法动态扩展/减少服务,需要修改配置文件,并重启nginx;
[0006]3.基于nginx负载均衡,nginx无法感知转版服务是否完成,会导致部分转版服务会堆积过多请求,部分转版服务空闲,无法有效利用系统资源。

技术实现思路

[0007]鉴于上述问题,本申请提供了一种基于消息队列的转版方法,能够将请求服务与转版服务进行解耦,节省各自的服务资源。
[0008]为实现上述目的,专利技术人提供了一种基于消息队列的转版方法,包括:
[0009]文件系统服务器发送原始文件的文件基本信息至消息队列;
[0010]订阅所述消息队列的转版服务器消费所述消息队列中的文件基本信息,以获取所述原始文件对应的转版信息。
[0011]区别于现有技术,上述技术方案通过增加一个消息队列,以此将请求服务跟转版服务进行解耦。请求服务只需将原始文件的文件基本信息发送至消息队列中,以使订阅该消息队列的转版服务进行转版处理即可。在此,利用消息队列的特性可以确保存入的文件基本信息都得到处理而不会丢失,同时请求服务和转版服务只需处理自身需求,而无需保持长连接状态,从而达到节省各自服务资源的效果。
[0012]在一些实施例中,所述方法还包括:
[0013]两个以上的转版服务器订阅所述消息队列。
[0014]在一些实施例中,所述方法还包括:
[0015]若所述消息队列中所存储文件基本信息的数量达到预设上限,则增加预设个数的转版服务器;
[0016]若所述消息队列中所存储文件基本信息的数量低于所述预设上限,则删除所增加
的转版服务器。
[0017]在一些实施例中,所述文件系统服务器发送文件基本信息至消息队列,之前,还包括:
[0018]所述文件系统服务器接收一转版请求;
[0019]解析所述转版请求,获取其中的原始文件及其对应的唯一标识和文件基本信息;
[0020]查询数据库是否存在所述唯一标识;
[0021]若是,则存储所述文件基本信息至数据库,并建立所述文件基本信息与所述唯一标识对应的转版信息之间的关联关系;
[0022]若否,则存储所述原始文件及其对应的唯一标识和文件基本信息至数据库。
[0023]在一些实施例中,所述文件基本信息包括对应原始文件的文件ID、文件地址和文件类型;所述转版信息包括对应转版文件的文件ID、文件地址和文件类型;
[0024]所述获取所述原始文件对应的转版信息,包括:
[0025]依据取出的文件基本信息中的文件地址获取所述原始文件;
[0026]对所述原始文件进行转版,获取转版文件及其对应的转版信息;
[0027]存储所述转版文件至文件系统服务器的数据库;
[0028]依据所述转版文件的存储地址更新所述转版信息中的文件地址,并存储更新后的转版信息与所述原始文件之间的关联关系至数据库。
[0029]在一些实施例中,所述方法还包括:
[0030]文件系统服务器接收文件查看请求,所述文件查看请求包括文件基本信息;
[0031]依据所述文件查看请求中的文件基本信息查询数据库中是否存在对应的转版信息;
[0032]若存在,则依据转版信息返回转版文件;
[0033]若不存在,则依据文件基本信息返回原始文件。
[0034]为实现上述目的,专利技术人还提供了一种基于消息队列的转版系统,包括:文件系统服务器、消息队列服务以及转版服务器;
[0035]所述文件系统服务器,用于发送原始文件的转版信息至消息队列服务中指定的消息队列;
[0036]所述转版服务器,用于订阅所述消息队列,并消费所述消息队列中的转版信息,以获取所述原始文件对应的转版信息。
[0037]在一些实施例中,订阅所述消息队列的转版服务器的数量为两个以上。
[0038]在一些实施例中,所述系统还包括分布式调度模块,用于若所述消息队列中所存储文件基本信息的数量达到预设上限,则增加预设个数的转版服务器;还用于若所述消息队列中所存储文件基本信息的数量低于所述预设上限,则删除所增加的转版服务器。
[0039]为实现上述目的,专利技术人还提供了一种计算机可读存储介质,其上存储有计算机程序,当处理器执行所述程序时能够实现上述基于消息队列的转版方法所包含的步骤。
[0040]上述
技术实现思路
相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。

外”“顺时针”“逆时针”“轴向”“径向”“周向”等,所指示的方位或位置关系是基于具体实施例或附图所示的方位或位置关系,仅是为了便于描述本申请的具体实施例或便于读者理解,而不是指示或暗示所指的装置或部件必须具有特定的位置、特定的方位、或以特定的方位构造或操作,因此不能理解为对本申请实施例的限制。
[0055]除非另有明确的规定或限定,在本申请实施例的描述中,所使用的“安装”“相连”“连接”“固定”“设置”等用语应做广义理解。例如,所述“连接”可以是固定连接,也可以是可拆卸连接,或成一体设置;其可以是机械连接,也可以是电连接,也可以是通信连接;其可以是直接相连,也可以通过中间媒介间接相连;其可以是两个元件内部的连通或两个元件的相互作用关系。对于本申请所属
的技术人员而言,可以根据具体情况理解上述用语在本申请实施例中的具体含义。
[0056]请参阅图1,图1是示出实施例一种基于消息队列的转版方法的流程示意图一。如图1所示,本实施例提供的一种基于消息队列的转版方法包括以下步骤:
[0057]S001:文件系统服务器发送原始文件的文件基本信息至消息队列;
[0058]S002:订阅所述消息队列的转版服务器消费所述消息队列中的文件基本信息,以获取所述原始文件对应的转版信息。
...

【技术保护点】

【技术特征摘要】
1.一种基于消息队列的转版方法,其特征在于,包括:文件系统服务器发送原始文件的文件基本信息至消息队列;订阅所述消息队列的转版服务器消费所述消息队列中的文件基本信息,以获取所述原始文件对应的转版信息。2.根据权利要求1所述一种基于消息队列的转版方法,其特征在于,所述方法还包括:两个以上的转版服务器订阅所述消息队列。3.根据权利要求2所述一种基于消息队列的转版方法,其特征在于,所述方法还包括:若所述消息队列中所存储文件基本信息的数量达到预设上限,则增加预设个数的转版服务器;若所述消息队列中所存储文件基本信息的数量低于所述预设上限,则删除所增加的转版服务器。4.根据权利要求1所述一种基于消息队列的转版方法,其特征在于,所述文件系统服务器发送文件基本信息至消息队列,之前,还包括:所述文件系统服务器接收一转版请求;解析所述转版请求,获取其中的原始文件及其对应的唯一标识和文件基本信息;查询数据库是否存在所述唯一标识;若是,则存储所述文件基本信息至数据库,并建立所述文件基本信息与所述唯一标识对应的转版信息之间的关联关系;若否,则存储所述原始文件及其对应的唯一标识和文件基本信息至数据库。5.根据权利要求1所述一种基于消息队列的转版方法,其特征在于,所述文件基本信息包括对应原始文件的文件ID、文件地址和文件类型;所述转版信息包括对应转版文件的文件ID、文件地址和文件类型;所述获取所述原始文件对应的转版信息,包括:依据取出的文件基本信息中的文件地址获取所述原始文件;对所述原始文件进行转版,获取转版文件及其对应的转版信息;...

【专利技术属性】
技术研发人员:张怀刚黄晓楠曾伟波刘见奋
申请(专利权)人:福建正孚软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1