一种文件下载转发智能系统及方法与流程

未命名 08-22 阅读:96 评论:0


1.本发明涉及文件下载和转发技术领域,具体涉及一种文件下载转发智能系统及方法。


背景技术:

2.文件下载转发策略是面向文件发送主体与文件接收客体进行文件下载控制的一种优化方法,可对系统中文件发送方和文件接收方之间的收发关系和文件完整性进行一一控制。
3.精准化控制与授权是文件下载策略制定的初衷和目的,是避免不完整下载导致文件接收方接收了文件发送方不完整文件的重要方法。
4.在信息化文件发送方资源较少的情况下,管理人员尚可通过人工的方式进行一一核对,保证文件接收方收到文件的完整性。但随着业务的不断发展,发送方与接收方文件收发的数量逐渐增多,发送方与接收方连接关系必然随着时间的推移逐渐混乱、重复。一般情况下,随着时间的推移发送方和接收方逐渐扩大,再加上访问关系的复杂化,势必会造成文件接收方某个文件没有下载完毕,文件接收方的另一个程序就进行文件转发的情况,文件完整性带来的数据风险逐渐增大。这种混乱的连接关系逐渐放大,直接造成文件接收方从文件发送方指定的文件路径下载文件进行后续处理时,出现文件不完整的情况,尤其是要转发给下游系统进行处理的文件,数据不完整可能导致对账信息不全等情况发生,文件漏发风险成为必然。因此,降低文件下载失败风险、判断文件是否放置完毕,是文件发送方和文件接收方必须考虑和面对的问题。
5.综上所述,文件下载不完整性在应用程序领域时有发生,是本领域亟需解决的问题。


技术实现要素:

6.针对现有技术的不足,本发明旨在提供一种文件下载转发智能系统及方法。
7.为了实现上述目的,本发明采用如下技术方案:
8.一种文件下载转发智能系统,包括文件下载模块、分布式定时文件处理模块和文件转发模块;
9.文件下载模块用于对发送方提供的文件进行接收,按日期将接收的文件在本地分类存储,并将文件的相关信息记录入库;文件下载模块采用定时任务和分布式队列的文件下载方式,根据用户配置的定时下载调度任务的时间,利用下载程序自动获取发送方指定文件夹下的文件信息,然后根据遍历的文件信息,将发送方指定文件夹下的文件存入本地,并通过与本地的数据库表的记录进行对比,避免重复读取已经存入的文件;文件下载模块将获取的发送方指定文件夹下的文件的文件信息记录入库,文件的文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态;
10.分布式定时文件处理模块用于根据用户配置的定时处理调度任务定时遍历本地
文件,读取本地文件的信息,与数据库表中记录的文件信息进行比对,如果本地文件的文件大小与数据库表中记录对应的文件大小一致,则表明该文件已经完成了下载,将数据库表中对应记录的文件状态修改为已下载;如果本地文件的文件大小与数据库表中记录的对应的文件大小不一致,则表明该文件尚未完成下载,将数据库表中对应记录的文件状态修改为未完成,记录入库;
11.文件转发模块用于按照用户配置的定时转发调度任务定时调起转发程序,将文件状态为已下载的文件转发至指定的下游系统。
12.进一步地,统计告警模块用于在人机交互界面上展示文件接收情况、文件处理情况、文件转发情况以及文件接收、处理和转发的耗时时长。
13.本发明还提供一种利用上述系统的文件下载转发方法,具体过程为:
14.用户预先通过人机交互界面配置定时下载调度任务,文件下载模块根据用户配置的定时下载调度任务,调起下载程序遍历发送方指定的文件夹,将遍历到的每一个文件,与本地的数据库表中的记录进行比对,如果当前文件的信息已存在于数据库表的记录中,则跳过此文件,继续遍历下一个文件;当遍历到的当前文件的信息不存在于数据库表的记录中,则将当前文件的文件信息新增入数据库表,所述文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态;
15.用户预先通过人机交互界面配置定时处理调度任务,分布式定时文件处理模块根据用户配置的定时处理调度任务定时遍历数据库表的记录,将数据库表中文件状态为未确认的记录所记载的文件大小信息,与本地文件夹对应文件的实际文件大小进行校验;
16.如果文件大小一致,则表明该文件已经完整地从发送方指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为已下载;如果文件大小不一致,则表明该文件尚未完整地从发送方的指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为未完成;
17.文件下载模块会在下一次定时下载调度任务执行时,根据数据库表中文件状态为未完成的记录,从发送方指定文件夹将对应的文件下载至本地文件夹,并且将数据库表对应记录的文件状态修改为未确认;
18.文件转发模块根据用户预先配置的定时转发调度任务调用转发程序,将数据库表中文件状态为已下载的文件发送至下游系统,发送成功后,将数据库表中对应记录的文件状态修改为已发送。
19.进一步地,如果转发程序抛出异常,转发程序将数据库表中对应记录的文件状态修改为发送失败。
20.进一步地,如果下载程序抛出异常,下载程序将数据库表中对应记录的文件状态修改为下载失败。
21.更进一步地,当出现文件下载失败时,下载程序修改数据库表记录为下载失败,文件下载模块会将该记录对应的文件在下一次定时下载调度任务执行时,重新从发送方指定文件夹中继续进行下载。
22.更进一步地,当出现发送失败时,转发程序修改数据库表中对应记录的文件状态为发送失败,文件转发模块会将该记录对应的文件在下一次定时转发调度任务执行时,重新从本地文件夹向下游系统发送。
23.进一步地,统计告警模块采用分组展示的方式,将文件状态为未下载、未确认、未完成、已下载、已发送、下载失败、发送失败的文件情况进行分组展示,对于下载失败和发送失败的文件信息进行告警。
24.本发明的有益效果在于:利用本发明可以实现文件下载转发过程中数据请求方和数据接收方文件接收的完整性、一致性,提高文件下载转发策略的可靠度和发送效率。
附图说明
25.图1为本发明实施例1中系统的结构示意图;
26.图2为本发明实施例2中文件下载的流程示意图;
27.图3为本发明实施例2中文件处理的流程示意图。
具体实施方式
28.以下将结合附图对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
29.实施例1
30.本实施例提供一种文件下载转发智能系统,如图1所示,包括文件下载模块210、分布式定时文件处理模块220、文件转发模块230和统计告警模块240。
31.文件下载模块用于对发送方提供的文件进行接收,按日期将接收的文件在本地分类存储,并将文件的相关信息记录入库。
32.在本实施例中,文件下载模块采用定时任务和分布式队列的文件下载方式,根据用户配置的定时下载调度任务的时间,利用下载程序自动获取发送方指定文件夹下的文件信息,然后根据遍历的文件信息,将发送方指定文件夹下的文件存入本地,并通过与本地的数据库表的记录进行对比,避免重复读取已经存入的文件。
33.在本实施例中,文件下载模块将获取的发送方指定文件夹下的文件的文件信息记录入库,文件的文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态等。
34.分布式定时文件处理模块用于根据用户配置的定时处理调度任务定时遍历本地文件,读取本地文件的信息,与数据库表中记录的文件信息进行比对,如果本地文件的文件大小与数据库表中记录对应的文件大小一致,则表明该文件已经完成了下载,将数据库表中对应记录的文件状态修改为已下载。如果本地文件的文件大小与数据库表中记录的对应的文件大小不一致,则表明该文件尚未完成下载,将数据库表中对应记录的文件状态修改为未完成,记录入库。
35.文件转发模块用于按照用户配置的定时转发调度任务定时调起转发程序,将文件状态为已下载的文件转发至指定的下游系统。
36.统计告警模块用于在人机交互界面上展示文件接收情况、文件处理情况、文件转发情况以及文件接收、处理和转发的耗时时长等。
37.实施例2
38.本实施例提供一种实施例1所述系统的文件下载转发方法,具体过程为:
39.如图2所示,用户预先通过人机交互界面配置定时下载调度任务,文件下载模块根据用户配置的定时下载调度任务,调起下载程序遍历发送方指定的文件夹,将遍历到的每一个文件,与本地的数据库表中的记录进行比对,如果当前文件的信息已存在于数据库表的记录中,则跳过此文件,继续遍历下一个文件;当遍历到的当前文件的信息不存在于数据库表的记录中,则将当前文件的文件信息新增入数据库表,所述文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态等。
40.需要说明的是,文件大小是后续比较的关键字段,文件状态包括未下载、未确认、未完成、已下载、已发送、下载失败、发送失败等状态。第一次将文件信息新增入数据库表时,文件状态为未下载,然后将文件按日期存放至本地文件夹,并将文件状态修改为未确认。无论转发的下游系统是一个还是多个,文件将只会在本地保存一个副本。
41.如图3所示,用户同样预先通过人机交互界面配置定时处理调度任务,分布式定时文件处理模块根据用户配置的定时处理调度任务定时遍历数据库表的记录,将数据库表中文件状态为未确认的记录所记载的文件大小信息,与本地文件夹对应文件的实际文件大小进行校验。
42.如果文件大小一致,则表明该文件已经完整地从发送方指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为已下载。如果文件大小不一致,则表明该文件尚未完整地从发送方的指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为未完成。
43.文件下载模块会在下一次定时下载调度任务执行时,根据数据库表中文件状态为未完成的记录,从发送方指定文件夹将对应的文件下载至本地文件夹,并且将数据库表对应记录的文件状态修改为未确认。
44.文件转发模块根据用户预先配置的定时转发调度任务调用转发程序,将数据库表中文件状态为已下载的文件发送至下游系统,发送成功后,将数据库表中对应记录的文件状态修改为已发送。
45.在本实施例中,如果转发程序抛出异常,转发程序将数据库表中对应记录的文件状态修改为发送失败。
46.在本实施例中,如果下载程序抛出异常,下载程序将数据库表中对应记录的文件状态修改为下载失败。
47.具体地,在本实施例中,当出现文件下载失败时,下载程序修改数据库表记录为下载失败,文件下载模块会将该记录对应的文件在下一次定时下载调度任务执行时,重新从发送方指定文件夹中继续进行下载。
48.具体地,在本实施例中,当出现发送失败时,转发程序修改数据库表中对应记录的文件状态为发送失败,文件转发模块会将该记录对应的文件在下一次定时转发调度任务执行时,重新从本地文件夹向下游系统发送。
49.统计告警模块用于在人机交互界面上展示文件接收情况、文件处理情况、文件转发情况、文件接收、处理和转发的耗时时长等。
50.更具体地,统计告警模块分组展示的方式,将文件状态为未下载、未确认、未完成、已下载、已发送、下载失败、发送失败的文件情况进行分组展示,对于下载失败和发送失败的文件信息进行告警。
51.对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

技术特征:
1.一种文件下载转发智能系统,其特征在于,包括文件下载模块、分布式定时文件处理模块和文件转发模块;文件下载模块用于对发送方提供的文件进行接收,按日期将接收的文件在本地分类存储,并将文件的相关信息记录入库;文件下载模块采用定时任务和分布式队列的文件下载方式,根据用户配置的定时下载调度任务的时间,利用下载程序自动获取发送方指定文件夹下的文件信息,然后根据遍历的文件信息,将发送方指定文件夹下的文件存入本地,并通过与本地的数据库表的记录进行对比,避免重复读取已经存入的文件;文件下载模块将获取的发送方指定文件夹下的文件的文件信息记录入库,文件的文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态;分布式定时文件处理模块用于根据用户配置的定时处理调度任务定时遍历本地文件,读取本地文件的信息,与数据库表中记录的文件信息进行比对,如果本地文件的文件大小与数据库表中记录对应的文件大小一致,则表明该文件已经完成了下载,将数据库表中对应记录的文件状态修改为已下载;如果本地文件的文件大小与数据库表中记录的对应的文件大小不一致,则表明该文件尚未完成下载,将数据库表中对应记录的文件状态修改为未完成,记录入库;文件转发模块用于按照用户配置的定时转发调度任务定时调起转发程序,将文件状态为已下载的文件转发至指定的下游系统。2.根据权利要求1所述的系统,其特征在于,包括有统计告警模块,统计告警模块用于在人机交互界面上展示文件接收情况、文件处理情况、文件转发情况以及文件接收、处理和转发的耗时时长。3.一种利用权利要求1-2任一所述系统的文件下载转发方法,其特征在于,具体过程为:用户预先通过人机交互界面配置定时下载调度任务,文件下载模块根据用户配置的定时下载调度任务,调起下载程序遍历发送方指定的文件夹,将遍历到的每一个文件,与本地的数据库表中的记录进行比对,如果当前文件的信息已存在于数据库表的记录中,则跳过此文件,继续遍历下一个文件;当遍历到的当前文件的信息不存在于数据库表的记录中,则将当前文件的文件信息新增入数据库表,所述文件信息包括文件名、文件路径、文件格式、新增时间、文件大小和文件状态;用户预先通过人机交互界面配置定时处理调度任务,分布式定时文件处理模块根据用户配置的定时处理调度任务定时遍历数据库表的记录,将数据库表中文件状态为未确认的记录所记载的文件大小信息,与本地文件夹对应文件的实际文件大小进行校验;如果文件大小一致,则表明该文件已经完整地从发送方指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为已下载;如果文件大小不一致,则表明该文件尚未完整地从发送方的指定文件夹下载至本地文件夹,此时分布式定时文件处理模块将数据库表中对应记录的文件状态修改为未完成;文件下载模块会在下一次定时下载调度任务执行时,根据数据库表中文件状态为未完成的记录,从发送方指定文件夹将对应的文件下载至本地文件夹,并且将数据库表对应记录的文件状态修改为未确认;文件转发模块根据用户预先配置的定时转发调度任务调用转发程序,将数据库表中文
件状态为已下载的文件发送至下游系统,发送成功后,将数据库表中对应记录的文件状态修改为已发送。4.根据权利要求3所述的方法,其特征在于,如果转发程序抛出异常,转发程序将数据库表中对应记录的文件状态修改为发送失败。5.根据权利要求3所述的方法,其特征在于,如果下载程序抛出异常,下载程序将数据库表中对应记录的文件状态修改为下载失败。6.根据权利要求5所述的方法,其特征在于,当出现文件下载失败时,下载程序修改数据库表记录为下载失败,文件下载模块会将该记录对应的文件在下一次定时下载调度任务执行时,重新从发送方指定文件夹中继续进行下载。7.根据权利要求4所述的方法,其特征在于,当出现发送失败时,转发程序修改数据库表中对应记录的文件状态为发送失败,文件转发模块会将该记录对应的文件在下一次定时转发调度任务执行时,重新从本地文件夹向下游系统发送。8.根据权利要求3所述的方法,其特征在于,统计告警模块采用分组展示的方式,将文件状态为未下载、未确认、未完成、已下载、已发送、下载失败、发送失败的文件情况进行分组展示,对于下载失败和发送失败的文件信息进行告警。

技术总结
本发明公开了一种文件下载转发智能系统及方法,应用于计算机应用系统之间文件下载、转发策略的文件完整性、可靠性和处理效率的优化。文件下载模块定时遍历发送方指定文件夹获取文件列表信息,将文件存入本地,避免重复取文件,并记录入库;分布式定时文件处理模块对本地文件的大小与对应数据库表记录进行一致性校验,确认文件是否已经接收完毕,或者是否需要重新下载,形成特征参数记录入库;文件转发模块根据特征参数,完成文件转发操作;统计告警模块进行文件发送数量和发送时长统计,对多次下载、发送失败的文件进行告警。本发明可提高文件下载转发策略的可靠度和发送效率。提高文件下载转发策略的可靠度和发送效率。


技术研发人员:梁贤晖 邓伟林 李鹏飞
受保护的技术使用者:北京易联达商务服务有限公司
技术研发日:2023.05.24
技术公布日:2023/8/21
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐