一种大批量文件的同步传输方法、系统、设备及介质与流程

文档序号:32440145发布日期:2022-12-06 21:14阅读:33来源:国知局
一种大批量文件的同步传输方法、系统、设备及介质与流程

1.本发明属于文件同步传输的技术领域,具体涉及一种大批量文件的同步传输方法、系统、设备及介质。


背景技术:

2.随着大数据时代的到来,企业各业务线生产了海量的数据,这些数据在企业中心数据仓库中进行统一的etl(抽取、转换、加工)后形成了明细和指标数据,为了统一口径、增加数据的利用率,按照一定周期为企业的其他部门或者大数据项目提供数据是一种很常见的应用场景,但这带来了两个问题:第一,面对大规模的数据,数据提供方以何种可靠且高效的方式提供数据;第二,如何让数据接收方正确的接收数据从而保证数据是完整和准确的。现有方法在同步传输领域的同步方案中,一般适应于关系型数据库的小数据量的传输,在海量数据传输显得有些力不从心,并且在数据的完整和准确性上没有有效的保障。


技术实现要素:

3.本发明的主要目的在于克服现有技术的缺点与不足,提供一种大批量文件的同步传输方法、系统、设备及介质,通过确定文件列表清单,生成同步文件,并在下载、稽核过程中生成回执文件来对同步文件进行检验,实现了大批量文件可靠且高效的同步传输,保障了传输数据的完整和准确性。
4.为了达到上述目的,本发明采用以下技术方案:
5.一方面,本发明提供了一种大批量文件的同步传输方法,包括下述步骤:
6.数据提供方根据数据接收方传输需求,按周期生成文件列表清单,存储于关系数据库中;
7.根据文件列表清单,数据提供方循环的在数据接收方的ftp/sftp目录下生成同步文件,同步文件生成成功则更新文件列表清单状态为生成文件成功并按命名规则命名;同步文件生成失败则更新文件列表清单状态为生成文件失败并重新生成同步文件;
8.数据接收方根据文件列表清单,循环的到对应的ftp/sftp目录下以并发方式下载同步文件到本地,下载成功则更新文件列表清单状态为下载成功;下载失败则更新文件列表清单状态为下载失败并生成回执文件;数据提供方回执文件重新生成新的文件列表清单;
9.数据接收方下载同步文件后,对下载的同步文件进行稽核,稽核成功则更新文件列表清单状态为稽核成功;稽核失败则更新文件列表清单状态为稽核失败并生成回执文件;数据提供方按照回执文件进行相应处理;
10.稽核完成后,将生成的回执文件放到指定的回执目录中,描述每个同步文件的传输完成情况;
11.数据接收方将稽核完成后的同步文件入库至数据仓库工具或文件系统中。
12.作为优选的技术方案,所述按周期生成文件列表清单分为定期生成文件列表清单
和准实时生成文件列表清单;
13.所述定期生成文件列表清单是指按照日周期或月周期抽取数据生成文件列表清单,抽取方式分为增量或全量抽取;
14.所述准实时生成文件列表清单是指按小时或分钟生成文件列表清单;
15.所述文件列表清单包括时间、数据名称、需要传输的同步文件、状态及接口文件状态;
16.所述文件列表清单按照:数据应用类型_周期_生成时间.list的方式进行命名;
17.所述数据应用类型根据数据应用类型进行命名;
18.所述周期包括日周期d和月周期m;
19.所述生成时间是指文件列表清单的生成时间表示为yyyymmdd。
20.作为优选的技术方案,所述同步文件包括数据文件、md5校验文件和chk校验文件;
21.所述数据文件根据数据量,按设定数据记录数进行拆分后,分包并进行压缩;
22.所述md5校验文件是数据文件的md5校验码;每一数据文件对应一md5校验文件;
23.所述chk校验文件的内容中包括数据文件名、数据文件记录数及数据文件大小;
24.所述数据文件大小为压缩前数据文件的大小,单位为byte。
25.作为优选的技术方案,所述命名规则为:数据应用类型_接口序号_周期_文件时间标志_分包编号.文件扩展名;
26.所述数据应用类型根据数据应用类型进行命名;
27.所述接口序号表示接口在主题域中的序号;
28.所述周期包括日周期d和月周期m;
29.所述文件时间标志根据周期进行确定,若为日周期则文件时间标志表示为yyyymmdd;若为月周期则文件时间标志表示为yyyymm;
30.所述分包编号指分包后的文件编号;
31.所述文件扩展名包括数据文件avl,md5校验文件md5、chk校验文件chk、正常回执文件rr及问题回执文件re。
32.作为优选的技术方案,所述回执文件中的内容包括文件号、错误代码、文件名及详细错误信息;
33.所述错误代码包括101、102、103、104、105、106和107;
34.当错误代码为101时,表示同步文件未在规定时间内上传;
35.当错误代码为102时,表示数据文件数与规定的不匹配;
36.当错误代码为103时,表示chk校验文件与规定的不匹配;
37.当错误代码为104时,表示数据文件记录数与chk校验文件中数据文件记录数不一致;
38.当错误代码为105时,表示数据文件为空文件;
39.当错误代码为106时,表示chk校验文件未空文件;
40.当错误代码为107时,表示接口文件波动超过阈值。
41.作为优选的技术方案,所述对下载的同步文件进行稽核,包括对数据完整性、一致性及准确性进行稽核,具体为:
42.通过下载同步文件中md5校验文件,校验同步文件下载过程中数据完整性;若数据
文件不满足完整性则在相应目录下写回执文件,并更新文件列表清单的接口文件状态为完整性稽核失败;
43.若数据文件满足完整性,则通过下载同步文件中chk校验文件,检查数据文件的一致性;若数据文件不满足一致性则在相应目录下写回执文件,并更新文件列表清单的接口文件状态为一致性稽核失败;
44.若数据文件满足一致性,则通过下载同步文件中chk校验文件,检查数据文件的准确性;若数据文件不满则准确性则在相应目录下写回执文件,并更新文件列表清单的接口文件状态为准确性稽核失败;若数据文件满足准确性则稽核成功。
45.另一方面,本发明提供了一种大批量文件的同步传输系统,应用于上述的一种大批量文件的同步传输方法,包括清单生成模块、文件生成模块、文件下载模块、文件稽核模块、回执存放模块及文件入库模块;
46.所述清单生成模块用于数据提供方根据数据接收方传输需求,按周期生成文件列表清单,存储于关系数据库中;
47.所述文件生成模块用于根据文件列表清单,数据提供方循环的在数据接收方的ftp/sftp目录下生成同步文件,同步文件生成成功则更新文件列表清单状态为生成文件成功并按命名规则命名;同步文件生成失败则更新文件列表清单状态为生成文件失败并重新生成同步文件;
48.所述文件下载模块用于数据接收方根据文件列表清单,循环的到对应的ftp/sftp目录下以并发方式下载同步文件到本地,下载成功则更新文件列表清单状态为下载成功;下载失败则更新文件列表清单状态为下载失败并生成回执文件;数据提供方回执文件重新生成新的文件列表清单;
49.所述文件稽核模块用于数据接收方下载同步文件后,对下载的同步文件进行稽核,稽核成功则更新文件列表清单状态为稽核成功;稽核失败则更新文件列表清单状态为稽核失败并生成回执文件;数据提供方按照回执文件进行相应处理;
50.所述回执存放模块用于稽核完成后,将生成的回执文件放到指定的回执目录中,描述每个同步文件的传输完成情况;
51.所述文件入库模块用于数据接收方将稽核完成后的同步文件入库至数据仓库工具或文件系统中。
52.还一方面,本发明还提供一种电子设备,所述电子设备包括:
53.至少一个处理器;以及,
54.与所述至少一个处理器通信连接的存储器;其中,
55.所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序
56.指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的一种大批量文件的同步传输方法。
57.又一方面,本发明提供一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现上述的一种大批量文件的同步传输方法。
58.本发明与现有技术相比,具有如下优点和有益效果:
59.本发明在进行数据同步时,通过对数据文件分期、分类、分包的方式,可实现海量
数据的传输,保证传输过程的高效;通过回执文件,了解每个文件的具体传输情况,对传输过程中有问题的数据进行快速定位和处理,保证了传输过程的可靠;通过md5校验文件和chk校验文件稽核检验,实现数据在传输过程不丢失,保障了数据的完整和准确。
附图说明
60.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
61.图1为本发明实施例一种大批量文件的同步传输方法的流程图;
62.图2为本发明实施例一种大批量文件的同步传输系统的方框图。
63.图3为本发明实施例电子设备的结构图。
具体实施方式
64.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
66.请参阅图1,在本技术的一个实施例中提供了一种大批量文件的同步传输方法,包括下述步骤:
67.s1、数据提供方根据数据接收方传输需求,按周期生成文件列表清单,存储于关系数据库中;
68.根据数据接收方的传输需求,数据提供方按周期生成文件列表清单,分为定期生成文件列表清单和准实时生成文件列表清单;其中定期生成文件列表清单是指按照日周期或月周期抽取数据生成文件列表清单;抽取方式分为增量或全量抽取;
69.准实时生成文件列表清单是指按小时或分钟生成文件列表清单,及时将变化的数据进行抽取传输;
70.本发明中,文件列表清单的内容包括时间、数据名称、需要传输的同步文件、状态及接口文件状态;文件列表清单按照:数据应用类型_周期_生成时间.list的方式进行命名;其中,数据应用类型根据数据应用类型进行命名;周期包括日周期d和月周期m;生成时间是指文件列表清单的生成时间表示为yyyymmdd;如文件清单列表drive_d_20220408.list表示20220408生成的驾驶日数据的文件列表清单。
71.s2、根据文件列表清单,数据提供方循环的在数据接收方的ftp/sftp目录下生成同步文件,同步文件生成成功则更新文件列表清单状态为生成文件成功并按命名规则命名;同步文件生成失败则更新文件列表清单状态为生成文件失败并重新生成同步文件;
72.本发明中,同步文件包括数据文件、md5校验文件和chk校验文件;其中,数据文件根据数据量,按设定数据记录数进行拆分后,分包并进行压缩,保证了数据传输效率;md5校验文件是数据文件的md5校验码;每一数据文件都必须对应一md5校验文件;chk校验文件的内容中包括数据文件名、数据文件记录数及数据文件大小;数据文件大小为压缩前数据文件的大小,单位为byte。本实施例中按照每500万条数据记录数进行拆分。
73.生成的文件按命名规则进行命名,命名规则为“数据应用类型_接口序号_周期_文件时间标志_分包编号.文件扩展名”;
74.其中,数据应用类型根据数据应用类型进行命名,如驾驶数据命名为“drive”、车况数据命名为“car-condition”;
75.接口序号表示接口在主题域中的序号,如00001;
76.周期包括日周期“d”和月周期“m”;
77.文件时间标志根据周期进行确定,若为日周期则文件时间标志表示为yyyymmdd;若为月周期则文件时间标志表示为yyyymm;
78.分包编号指分包后的文件编号;
79.文件扩展名包括数据文件avl,md5校验文件md5、chk校验文件chk、正常回执文件rr及问题回执文件re。
80.例如:对于文件名为drive_00001_d_20220408_01.avl的文件,其表示驾驶数据编号为00001的账期为20220408的日数据的数据文件,分包编号为01;
81.对于文件名为drive_00001_d_20220408_01.md5的文件,其表示驾驶数据编号为00001的账期为20220408的日数据的md5校验文件,分包编号为01;
82.对于文件名为drive_00001_d_20220408_01.chk的文件,其表示驾驶数据编号为00001的账期为20220408的日数据的chk校验文件,分包编号为01;
83.对于文件名为drive_00001_d_20220408_01.rr的文件,其表示经分数据仓库编号为00001的账期为20220408的日数据的回执文件,分包编号为01,表示接口文件正常;
84.对于文件名为drive_00001_d_20220408_01.re的文件,其表示经分数据仓库编号为00001的账期为20220408的日数据的回执文件,分包编号为01,表示接口文件异常。
85.s3、数据接收方根据文件列表清单,循环的到对应的ftp/sftp目录下以并发方式下载同步文件到本地,下载成功则更新文件列表清单状态为下载成功;下载失败则更新文件列表清单状态为下载失败并生成回执文件;数据提供方按照回执文件重新生成新的文件列表清单;
86.s4、数据接收方下载同步文件后,对下载的同步文件进行稽核,稽核成功则更新文件列表清单状态为稽核成功;稽核失败则更新文件列表清单状态为稽核失败并生成回执文件;数据提供方按照回执文件进行相应处理;
87.对下载的同步文件进行数据完整性、一致性及准确性稽核,具体为:
88.通过下载同步文件中md5校验文件,校验同步文件下载过程中数据完整性;若数据文件不满足完整性则在相应目录下写回执文件,并更新文件列表清单的接口文件状态为完整性稽核失败;
89.若数据文件满足完整性,则通过下载同步文件中chk校验文件,检查数据文件的一致性;若数据文件不满足一致性则在相应目录下写回执文件,并更新文件列表清单的接口
文件状态为一致性稽核失败;
90.若数据文件满足一致性,则通过下载同步文件中chk校验文件,检查数据文件的准确性;若数据文件不满则准确性则在相应目录下写回执文件,并更新文件列表清单的接口文件状态为准确性稽核失败;若数据文件满足准确性则稽核成功。
91.s5、稽核完成后,将生成的回执文件放到指定的回执目录中,描述每个同步文件的传输完成情况;
92.当数据文件与校验文件数据不一致时错误信息体现在数据文件的回执内容中,回执文件中的内容包括文件号、错误代码、文件名、详细错误信息;
93.错误代码包括101、102、103、104、105、106和107;当错误代码为101时,表示同步文件未在规定时间内上传;当错误代码为102时,表示数据文件数与规定的不匹配;当错误代码为103时,表示chk校验文件与规定的不匹配;当错误代码为104时,表示数据文件记录数与chk校验文件中数据文件记录数不一致;当错误代码为105时,表示数据文件为空文件;当错误代码为106时,表示chk校验文件未空文件;当错误代码为107时,表示接口文件波动超过阈值。
94.s6、数据接收方将稽核完成后的同步文件入库至数据仓库工具或文件系统中。
95.需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
96.基于与上述实施例中的一种大批量文件的同步传输方法相同的思想,本发明还提供了一种大批量文件的同步传输系统,该系统可用于执行上述一种大批量文件的同步传输方法。为了便于说明,一种大批量文件的同步传输系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
97.请参阅图2,在本技术的另一个实施例中,提供了一种大批量文件的同步传输系统,该系统包括清单生成模块、文件生成模块、文件下载模块、文件稽核模块、回执存放模块及文件入库模块;
98.其中,清单生成模块用于数据提供方根据数据接收方传输需求,按周期生成文件列表清单,存储与关系数据库中;
99.文件生成模块用于根据文件列表清单,数据提供方循环的在数据接收方的ftp/sftp目录下生成同步文件,同步文件生成成功则更新文件列表清单状态为生成文件成功并按命名规则命名;同步文件生成失败则更新文件列表清单状态为生成文件失败并重新生成同步文件;
100.文件下载模块用于数据接收方根据文件列表清单,循环的到对应的ftp/sftp目录下以并发方式下载同步文件到本地,下载成功则更新文件列表清单状态为下载成功;下载失败则更新文件列表清单状态为下载失败并生成回执文件;数据提供方回执文件重新生成新的文件列表清单;
101.文件稽核模块用于数据接收方下载同步文件后,对下载的同步文件进行稽核,稽核成功则更新文件列表清单状态为稽核成功;稽核失败则更新文件列表清单状态为稽核失败并生成回执文件;数据提供方按照回执文件进行相应处理;
102.回执存放模块用于稽核完成后,将生成的回执文件放到指定的回执目录中,描述每个同步文件的传输完成情况;
103.文件入库模块用于数据接收方将稽核完成后的同步文件入库至数据仓库工具或文件系统中。
104.需要说明的是,本发明的一种大批量文件的同步传输系统与本发明的一种大批量文件的同步传输方法一一对应,在上述一种大批量文件的同步传输方法的实施例阐述的技术特征及其有益效果均适用于一种大批量文件的同步传输系统的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
105.此外,上述实施例的一种大批量文件的同步传输系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述一种大批量文件的同步传输系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
106.请参阅图3,在一个实施例中,提供了一种实现大批量文件的同步传输方法的电子设备,所述电子设备可以包括第一处理器、第一存储器和总线,还可以包括存储在所述第一存储器中并可在所述第一处理器上运行的计算机程序,如大批量文件的同步传输程序。
107.其中,所述第一存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述第一存储器在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器还可以既包括电子设备的内部存储单元也包括外部存储设备。所述第一存储器不仅可以用于存储安装于电子设备的应用软件及各类数据,例如大批量文件的同步传输程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
108.所述第一处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器内的程序或者模块(例如大批量文件的同步传输程序等),以及调用存储在所述第一存储器内的数据,以执行电子设备的各种功能和处理数据。
109.图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
110.所述电子设备中的所述第一存储器存储的大批量文件的同步传输程序是多个指令的组合,在所述第一处理器中运行时,可以实现:
111.数据提供方根据数据接收方传输需求,按周期生成文件列表清单,存储与关系数据库中;
112.根据文件列表清单,数据提供方循环的在数据接收方的ftp/sftp目录下生成同步文件,同步文件生成成功则更新文件列表清单状态为生成文件成功并按命名规则命名;同步文件生成失败则更新文件列表清单状态为生成文件失败并重新生成同步文件;
113.数据接收方根据文件列表清单,循环的到对应的ftp/sftp目录下以并发方式下载同步文件到本地,下载成功则更新文件列表清单状态为下载成功;下载失败则更新文件列表清单状态为下载失败并生成回执文件;数据提供方回执文件重新生成新的文件列表清单;
114.数据接收方下载同步文件后,对下载的同步文件进行稽核,稽核成功则更新文件列表清单状态为稽核成功;稽核失败则更新文件列表清单状态为稽核失败并生成回执文件;数据提供方按照回执文件进行相应处理;
115.稽核完成后,将生成的回执文件放到指定的回执目录中,描述每个同步文件的传输完成情况;
116.数据接收方将稽核完成后的同步文件入库至数据仓库工具或文件系统中。
117.进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
118.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
119.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
120.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1