一种基于消息中间件的文件采集系统技术方案

技术编号:37399611 阅读:13 留言:0更新日期:2023-04-30 09:27
本发明专利技术公开了一种基于消息中间件的文件采集系统,包括下载处理单元、存储处理单元和容错处理单元;下载处理单元、存储处理单元和容错处理单元之间通过消息中间件传递消息;以及,下载处理单元用于基于文件下载消息进行文件下载,得到文件下载结果,生成下载结果消息;存储处理单元用于接收下载成功消息;并基于队列数据的数据量和存储等待时间,进行文件存储,得到文件存储结果,生成存储结果消息;容错处理单元用于基于下载结果消息和存储结果消息触发重试容错。通过本发明专利技术,能够将下载处理、存储处理、容错处理分布式部署至不同的单元,并且各个单元之间采用消息中间件传递消息,从而提高文件采集效率。而提高文件采集效率。而提高文件采集效率。

【技术实现步骤摘要】
一种基于消息中间件的文件采集系统


[0001]本专利技术涉及数据采集
,具体而言,涉及一种基于消息中间件的文件采集系统。

技术介绍

[0002]目前,企业在开展数据智能化分析过程中,数据采集是必不可缺的一环。其中,面对海量图片、文档等文件的采集处理及管理是极具挑战性的。
[0003]在实践中发现,现有的文件采集方法是由采集处理单元实现源数据内容同步抓取、文件下载、文件存储。然而,如果采集处理单元达到一定规模或者目标网站待采集数据量较大,则会导致网络请求量增多,并且还会出现文件大小不一的情况,从而导致文件采集的效率较低。
[0004]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0005]本专利技术实施例提供了一种基于消息中间件的文件采集系统,以至少提高文件采集效率。
[0006]根据本专利技术实施例的一个方面,提供了一种基于消息中间件的文件采集系统,包括下载处理单元、存储处理单元和容错处理单元;并且,所述下载处理单元、所述存储处理单元和所述容错处理单元之间通过消息中间件传递消息;以及,所述下载处理单元,用于接收所述消息中间件传递的文件下载消息;并基于所述文件下载消息进行文件下载,得到文件下载结果;以及,基于所述文件下载结果生成下载结果消息;其中,所述下载结果消息为下载成功消息或者下载失败消息;所述存储处理单元,用于接收所述消息中间件传递的所述下载成功消息;并基于队列数据的数据量和存储等待时间,进行文件存储,得到文件存储结果;以及,基于所述文件存储结果生成存储结果消息;其中,所述存储结果消息为存储成功消息或者存储失败消息;所述容错处理单元,用于接收所述消息中间件传递的所述下载结果消息和所述存储结果消息,并基于所述下载结果消息和所述存储结果消息触发重试容错。
[0007]作为一种可选的实施方式,所述文件下载消息包括以下至少一项:待下载的文件URL、下发时间、下发单位。
[0008]作为一种可选的实施方式,所述下载处理单元还用于:对所述文件下载消息进行重复校验,得到重复校验结果;如果所述重复校验结果指示所述文件下载消息为重复消息,则对所述文件下载消息进行去重误判,得到去重误判结果;如果所述去重误判结果指示所述文件下载消息存在误判,则将所述文件下载消息存入待下载队列;以及,所述下载处理单元用于基于所述文件下载消息进行文件下载,得到文件下载结果的方式具体为:从所述待下载队列中取出所述文件下载消息,并基于所述文件下载消息进行文件下载,得到所述文件下载结果。
[0009]作为一种可选的实施方式,所述下载处理单元还用于:如果所述重复校验结果指示所述文件下载消息不为重复消息,则将所述文件下载消息存入待下载队列。
[0010]作为一种可选的实施方式,所述下载处理单元还用于:如果所述去重误判结果指示所述文件下载消息不存在误判,则放弃对所述文件下载消息进行处理。
[0011]作为一种可选的实施方式,所述下载处理单元用于基于所述文件下载结果生成下载结果消息的方式具体为:如果所述文件下载结果为文件下载成功,则对下载成功的文件进行元数据解析,得到元数据信息;如果所述元数据信息指示文件大小符合预设的文件大小条件,则生成所述下载成功消息;如果所述元数据信息指示文件大小不符合所述预设的文件大小条件,则将下载成功的文件存储至文件服务器。
[0012]作为一种可选的实施方式,所述存储处理单元用于基于队列数据的数据量和存储等待时间,进行文件存储,得到文件存储结果的方式具体为:获取下载成功的待存储文件;将所述待存储文件存入缓冲队列;如果所述缓冲队列中的文件数量达到预设的数量阈值,则对所述缓冲队列中的所有所述待存储文件进行文件存储,得到所述文件存储结果。
[0013]作为一种可选的实施方式,所述存储处理单元还用于:如果所述缓冲队列中的文件数量未达到所述预设的数量阈值、且所述缓冲队列中的文件存储等待时长达到预设的时长阈值,则对所述缓冲队列中的所有所述待存储文件进行文件存储,得到所述文件存储结果。
[0014]作为一种可选的实施方式,所述容错处理单元用于基于所述下载结果消息和所述存储结果消息触发重试容错的方式具体为:对所述下载结果消息和所述存储结果消息进行解析,确定消息类型;基于预设的映射表,确定与所述消息类型对应的处理类别;其中,所述处理类别包括放弃重试类别和重试类别;如果所述处理类别为所述重试类别,则向所述消息中间件发送重试消息;其中,所述重试消息包括文件下载消息与文件存储消息;基于所述重试消息触发重试容错。
[0015]作为一种可选的实施方式,所述容错处理单元还用于在基于所述重试消息触发重试容错之后,基于预设的重试阈值,终止重试容错操作。
[0016]根据本专利技术实施例的又一方面,还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述系统中各单元的功能代码。
[0017]根据本专利技术实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述系统中各单元的功能代码。
[0018]在本专利技术实施例中,通过基于消息中间件的文件采集系统,能够将下载处理、存储处理、容错处理分布式部署至不同的单元,并且各个单元之间采用消息中间件传递消息,由于不同单元独立部署,能够分散单个单元的计算压力,从而一定程度上提高文件采集效率。并且,各个单元之间采用消息中间件传递消息,能够减少采集处理单元的代码开发量,从而进一步提高文件采集效率。
附图说明
[0019]此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本发
明的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是根据本专利技术实施例的一种可选的基于消息中间件的文件采集系统的结构示意图;图2是根据本专利技术实施例的另一种可选的基于消息中间件的文件采集系统的结构示意图;图3是根据本专利技术实施例的一种可选的下载处理单元的执行流程图;图4是根据本专利技术实施例的一种可选的存储处理单元的执行流程图;图5是根据本专利技术实施例的一种可选的容错处理单元的执行流程图;图6是根据本专利技术实施例的一种可选的电子装置的结构示意图。
具体实施方式
[0020]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0021]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于消息中间件的文件采集系统,其特征在于,包括下载处理单元、存储处理单元和容错处理单元;并且,所述下载处理单元、所述存储处理单元和所述容错处理单元之间通过消息中间件传递消息;以及所述下载处理单元,用于接收所述消息中间件传递的文件下载消息;并基于所述文件下载消息进行文件下载,得到文件下载结果;以及,基于所述文件下载结果生成下载结果消息;其中,所述下载结果消息为下载成功消息或者下载失败消息;所述存储处理单元,用于接收所述消息中间件传递的所述下载成功消息;并基于队列数据的数据量和存储等待时间,进行文件存储,得到文件存储结果;以及,基于所述文件存储结果生成存储结果消息;其中,所述存储结果消息为存储成功消息或者存储失败消息;所述容错处理单元,用于接收所述消息中间件传递的所述下载结果消息和所述存储结果消息,并基于所述下载结果消息和所述存储结果消息触发重试容错。2.根据权利要求1所述的系统,其特征在于,所述文件下载消息包括以下至少一项:待下载的文件URL、下发时间、下发单位。3.根据权利要求1所述的系统,其特征在于,所述下载处理单元还用于:对所述文件下载消息进行重复校验,得到重复校验结果;如果所述重复校验结果指示所述文件下载消息为重复消息,则对所述文件下载消息进行去重误判,得到去重误判结果;如果所述去重误判结果指示所述文件下载消息存在误判,则将所述文件下载消息存入待下载队列;以及,所述下载处理单元用于基于所述文件下载消息进行文件下载,得到文件下载结果的方式具体为:从所述待下载队列中取出所述文件下载消息,并基于所述文件下载消息进行文件下载,得到所述文件下载结果。4.根据权利要求3所述的系统,其特征在于,所述下载处理单元还用于:如果所述重复校验结果指示所述文件下载消息不为重复消息,则将所述文件下载消息存入待下载队列。5.根据权利要求3所述的系统,其特征在于,所述下载处理单元还用于:如果所述去重...

【专利技术属性】
技术研发人员:夏毅蒋振振郭行飞
申请(专利权)人:中新宽维传媒科技有限公司
类型:发明
国别省市:

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

1