一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、装置、计算机设备和存储介质与流程

2022-09-02 20:25:49 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。


背景技术:

2.随着计算机技术的发展,相关场景下的数据极速增长,从而在数据处理和处理的相关技术中,对海量数据的存储和处理成为涉及海量数据的相关业务处理的一项重要内容。例如,在一些会实时产生相关业务数据的业务场景中,业务数据会实时产生或者更新,因此需要及时对这些业务数据进行存储和处理。传统的对海量数据的存储方式,在需要基于存储的海量数据提供数据内容时,存在效率低下的问题。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种数据处理方法、装置、计算机设备和存储介质。
4.一种数据处理方法,所述方法包括:
5.从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,根据获取的增量变更数据生成当前第一时间周期的增量数据文件;
6.基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,所述第二时间周期包括至少两个所述第一时间周期;所述第一历史全量数据文件,是用以存储生成时间在上一个第二时间周期中的最后一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二历史全量数据文件,是用以存储生成时间在当前第一时间周期的周期结束时间点之前的所有业务数据的文件。
7.一个实施例中,从实时更新的业务数据中获取当前第一时间周期中的增量变更数据之前,还包括:实时获取更新的业务数据,并将获取的业务数据存入第一存储介质;
8.从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,包括:从所述第一存储介质中获取当前第一时间周期中的增量变更数据。
9.一个实施例中,在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,对所述当前第一时间周期的增量数据文件进行同步,获得所述第二周期全量数据文件。
10.一个实施例中,在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,将所述第二周期全量数据文件与所述第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,包括:
11.在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述第二周期全量数据文件中的所述当前数据内容标识的所述当前字段标
识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件;
12.在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一历史全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件。
13.一个实施例中,所述第一时间周期为1小时,所述第二时间周期为1天。
14.一种数据处理装置,所述装置包括:
15.增量文件同步模块,用于从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,根据获取的增量变更数据生成当前第一时间周期的增量数据文件;
16.全量同步模块,用于基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,所述第二时间周期包括至少两个所述第一时间周期;所述第一历史全量数据文件,是用以存储生成时间在上一个第二时间周期中的最后一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二历史全量数据文件,是用以存储生成时间在当前第一时间周期的周期结束时间点之前的所有业务数据的文件。
17.一个实施例中,所述全量同步模块,包括:
18.周期文件同步模块,用于将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件;所述第一周期全量数据文件,是用以存储生成时间在当前第二时间周期内、且在当前第二时间周期中的上一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二周期全量数据文件,是用以存储生成时间在当前第二时间周期内、且在当前第一时间周期的周期结束时间点之前的所有业务数据的文件;
19.历史文件同步模块,用于将所述第二周期全量数据文件与所述第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件。
20.一个实施例中,所述装置还包括业务数据更新模块;
21.所述业务数据更新模块,用于实时获取更新的业务数据,并将获取的业务数据存入第一存储介质;
22.所述增量文件同步模块,用于从所述第一存储介质中获取当前第一时间周期中的增量变更数据。
23.一个实施例中,所述周期文件同步模块,在获得了上一个第一时间周期的所述第一周期全量数据文件时,将所述当前第一时间周期的增量数据文件与所述第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件。
24.一个实施例中,所述周期文件同步模块,还用于在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,对所述当前第一时间周期的增量数据文件进行同步,获得所述第二周期全量数据文件。
25.一个实施例中,所述周期文件同步模块,用于在所述当前第一时间周期的增量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述增量数据文件
中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件;在所述当前第一时间周期的增量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一周期全量数据文件中的所述当前数据内容标识的当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件。
26.一个实施例中,所述周期文件同步模块,用于对所述当前第一时间周期的增量数据文件、以及所述当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件中的目标文件进行合并,得到合并后文件,所述目标文件为文件大小小于或等于第一预定文件大小的文件;基于所述当前第一时间周期的增量数据文件和所述第一周期全量数据文件中文件大小大于所述第一预定文件大小的文件,以及所述合并后文件,获得当前第一时间周期的第二周期全量数据文件。
27.一个实施例中,所述历史文件同步模块,用于在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述第二周期全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件;在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一历史全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件。
28.一个实施例中,所述历史文件同步模块,用于在所述当前第一时间周期是当前第二时间周期中的第一个第一时间周期时,将所述当前第一时间周期的周期全量数据文件与所述第一历史全量数据文件进行合并,获得当前第一时间周期的第二历史全量数据文件;在所述当前第一时间周期不是当前第二时间周期中的第一个第一时间周期时,并行地将所述当前第二时间周期中的各第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并,获得当前第二时间周期中的各第一时间周期对应的历史全量数据文件。
29.一个实施例中,所述历史文件同步模块,在将当前第二时间周期中的最后一个第一时间周期的第三周期全量数据文件与所述第一历史全量数据文件合并结束,获得当前第二时间周期中的最后一个第一时间周期的第三历史全量数据文件之后,再对下一个第二时间周期中的第一个第一时间周期的周期全量数据文件与所述第三历史全量数据表合并。
30.一个实施例中,所述第一时间周期为1小时,所述第二时间周期为1天。
31.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的任一实施例中的方法的步骤:
32.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一实施例中的方法的步骤。
33.上述数据处理方法、装置、计算机设备和存储介质,其通过划分两种不同的时间周期,定期生成各第一时间周期的增量数据文件,并在此基础上结合各第一时间周期的增量数据文件,生成和获得第一时间周期的第二历史全量数据文件,即针对任何一个第一时间周期,其对应的第二历史全量数据文件,都包含有该第一时间周期的周期结束时间点之前的所有业务数据,从而在需要基于存储的海量数据提供数据内容时,可以直接提取到相应的第一时间周期对应的第二历史全量数据文件,无需繁冗的数据查询的处理过程,提高了
处理效率。
附图说明
34.图1为一个实施例中的数据处理方法的应用环境图;
35.图2为一个实施例中数据处理的流程示意图;
36.图3为另一个实施例中数据处理的流程示意图;
37.图4为一个具体示例中的第一时间周期和第二时间周期的划分方式示意图;
38.图5为一个具体示例中的数据处理方法的原理示意图;
39.图6为一个具体示例中的数据处理方法的生成各数据文件的原理示意图;
40.图7为一个实施例中基于社群的数据处理装置的结构框图;
41.图8为另一个实施例中基于社群的数据处理装置的结构框图;
42.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
43.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
44.本技术提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,用户终端10和服务器20可以通过网络相互通信,服务器20和服务器30之间可以通过网络相互通信,在相关的业务场景中,所产生的更新的业务数据会存储到服务器20中,该更新的业务数据可以是用户终端10在进行相关业务的过程中产生的,服务器30每间隔第一时间周期,从服务器20中实时更新的业务数据中获取当前第一时间周期中的增量变更数据,根据获取的增量变更数据生成当前第一时间周期的增量数据文件;并基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,所述第二时间周期包括至少两个所述第一时间周期。服务器30生成的各历史全量数据文件(包括上述第一历史全量数据文件和第二历史全量数据文件),可以提供给设备40,该设备40可以是终端,也可以是服务器。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
45.一些实施例中,服务器20和服务器30均可以是分布式系统中的服务器,如上所述的业务数据,例如更新的业务数据,可以存储于区块链中,如上所述以及下述各实施例中生成的增量数据文件、周期全量数据文件、历史全量数据文件,也可以存储于区块链中。
46.区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
47.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模
块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
48.平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
49.一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器30为例进行说明,包括以下步骤s21至步骤s22。
50.步骤s21:从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,根据获取的增量变更数据生成当前第一时间周期的增量数据文件。
51.实时更新的业务数据,是在实际业务场景中实时产生的业务数据。该业务数据可能是任何情形下的数据内容,例如一条访问的内容数据、一条对某个数据内容的字段进行修改了的内容数据等等,业务数据的内容形式不限。
52.一些实施例中,在上述从实时更新的业务数据中获取当前第一时间周期中的增量变更数据之前,还可以是先实时获取更新的业务数据,并将获取的业务数据存入第一存储介质。结合图1所示,该第一存储介质可以是指上述服务器20。此时,上述从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,具体可以是从所述第一存储介质中获取当前第一时间周期中的增量变更数据。
53.第一时间周期的具体时长可以结合实际技术需要进行设定,例如10分钟、1小时、几天等等。实际的第一时间周期的时长,可以结合实际业务场景的需求进行设定,例如在一些实施例中,可以将第一时间周期设置为1小时。
54.其中,上述从实时更新的业务数据中获取的当前第一时间周期中的增量变更数据,是指从上述业务数据中,获取产生时间处于当前第一时间周期中的业务数据。以当前第一时间周期为1小时为例,假设当前第一时间周期为2021年2月2日的8点至9点,则获取的当前第一时间周期中的增量变更数据,是指数据的生成时间位于2021年2月2日的8点至9点的时间段区间的业务数据。基于获取的增量变更数据,可以生成当前第一时间周期的增量数据文件,即当前第一时间周期的增量数据文件,包含的是数据的生成时间位于当前第一时间周期的时间段区间内的业务数据。
55.步骤s22:基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据
文件合并,获得当前第一时间周期的第二历史全量数据文件,所述第二时间周期包括至少两个所述第一时间周期。其中,第一历史全量数据文件,是用以存储生成时间在上一个第二时间周期中的最后一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二历史全量数据文件,是用以存储生成时间在当前第一时间周期的周期结束时间点之前的所有业务数据的文件
56.第二时间周期包括至少两个第一时间周期,第二时间周期的具体时长设置,可以结合实际技术需要进行设定,以第一时间周期为10分钟为例,第二时间周期可以设置为1小时、2小时等等,以第一时间周期为1小时为例,第二时间周期可以设置为1天,以第一时间周期为1天为例,第二时间周期可以设置为10天或者1个月等等。可以理解,这里的设置方式仅仅是举例说明,在其他实施例中,第一时间周期和第二时间周期也可以做其他的设置,只要满足第二时间周期包含两个以上的第一时间周期即可。
57.历史全量数据文件,是用以存储生成时间在对应的第一时间周期的周期结束时间点之前的所有业务数据的文件,其包含的是数据的生成时间在对应的第一时间周期的周期结束时间点之前的所有业务数据。例如,以第一时间周期为1小时,第二时间周期为1天为例,假设当前的第一时间周期为2021020203(即2021年2月2日的3点至4点之间),则该第一时间周期2021020203对应的历史全量数据文件中,存储了生成时间在2021年2月2日的4点之前的所有业务数据,假设当前的第一时间周期为2021020204(即2021年2月2日的4点至5点之间),则该第一时间周期2021020204对应的历史全量数据文件中,存储了生成时间在2021年2月2日的5点之前的所有业务数据。
58.一些实施例中,基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件时,可以是将当前第一时间周期之前的各第一时间周期的增量数据文件,直接与上述第一历史全量数据文件合并,以获得当前第一时间周期的第二历史全量数据文件。以第一时间周期为1小时,第二时间周期为1天为例,假设当前第一时间周期为2021020203(即2021年2月2日的3点至4点之间),则可以将第一时间周期2021020200(即2021年2月2日的0点至1点之间)的增量数据文件、第一时间周期2021020201(即2021年2月2日的1点至2点之间)的增量数据文件、第一时间周期2021020202(即2021年2月2日的2点至3点之间)的增量数据文件、以及当前第一时间周期2021020203的增量数据文件,与上一个第二时间周期(即2021年2月1日)中的最后一个第一时间周期2021020123(即2021年2月1日的23点至2021年2月2日的0点之间)的第一历史全量数据文件进行合并,以获得当前第一时间周期2021020203的第二历史全量数据文件。
59.一些实施例中,参考图3所示,也可以是结合增量数据文件获得各第一时间周期针对第二时间周期的周期全量数据文件之后,再与上述第一历史全量数据文件结合,来获得当前第一时间周期的第二历史全量数据文件。此时,上述步骤s22包括如下步骤s221和步骤s222。其中,周期全量数据文件,是用以存储生成时间在对应的第二时间周期内、且在对应的第二时间周期的第一时间周期的周期结束时间点之前的所有业务数据的文件,其包含的是数据的生成时间在对应的第二时间周期内、而且在对应的第二时间周期的第一时间周期的周期结束时间点之前的所有业务数据。例如,以第一时间周期为1小时,第二时间周期为1天为例,假设当前的第一时间周期为2021020203(即2021年2月2日的3点至4点之间),则该
第一时间周期2021020203对应的周期全量数据文件中,存储了生成时间在2021年2月2日的0点到4点之间的所有业务数据,假设当前的第一时间周期为2021020204(即2021年2月2日的4点至5点之间),则该第一时间周期2021020204对应的周期全量数据文件中,存储了生成时间在2021年2月2日的0点到5点之间的所有业务数据。
60.步骤s221:将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件。
61.一些实施例中,在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,可以直接对所述当前第一时间周期的增量数据文件进行同步,获得所述第二周期全量数据文件。以第一时间周期为1小时,第二时间周期为1天为例,假设当前第二时间周期为20210202(即2021年2月2日的0点至2021年2月3日的0点之间),当前第一时间周期为2021020200(即2021年2月2日的0点至1点之间),由于该当前第一时间周期为当前第二时间周期中的第一个时间周期,此时,当前第二时间周期中的上一个第一时间周期为空,因此,合并获得的当前第一时间周期的第二周期全量数据文件,只包含有当前第一时间周期的增量数据文件。
62.一些实施例中,在将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件,包括:
63.在获得了当前第二时间周期中的上一个第一时间周期的所述第一周期全量数据文件之后,将所述当前第一时间周期的增量数据文件与所述第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件。
64.即在获得当前第一时间周期的第二周期全量数据文件之前,需要在已经获得了当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件的基础上进行,即当前第二时间周期的各第一时间周期的周期全量数据文件的获得过程,按照各第一时间周期的顺序依次串行处理。
65.一些实施例中,将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件,包括:
66.在所述当前第一时间周期的增量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述增量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件;
67.在所述增量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一周期全量数据文件中的所述当前数据内容标识的当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件。
68.其中,当前数据内容标识,是指当前正在进行同步的数据内容,当前字段标识,是指当前正在同步的当前数据内容标识的某个具体的字段。从而,在对数据内容进行同步时,在最新的增量数据文件中的相关字段内容有更新时,则保留增量数据文件中的相关字段的内容进行存储,否则存储第一周期全量数据文件中的相关字段的内容,确保历史字段内容
的延续性和最新的字段内容的更新。
69.一些实施例中,将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件,包括:
70.对所述当前第一时间周期的增量数据文件、以及所述当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件中的目标文件进行合并,得到合并后文件,所述目标文件为文件大小小于或等于第一预定文件大小的文件;
71.基于所述当前第一时间周期的增量数据文件和所述第一周期全量数据文件中文件大小大于所述第一预定文件大小的文件,以及所述合并后文件,获得当前第一时间周期的第二周期全量数据文件。
72.其中,文件大小小于或等于第一预定文件大小的文件,本技术实施例中也称为小文件,该第一预定文件大小可以结合实际技术需要设定。以默认块大小为128mb(兆字节),则第一预定文件大小可以设置为远小于该默认块大小的值,例如20mb、15mb等等,例如3mb,7mb或10mb的文件就认为是小文件。一些实施例中,对目标文件进行合并得到的合并后文件,其文件大小可以小于或等于第二预定文件大小,且第二预定文件大小大于第一预定文件大小。其中,第二预定文件大小可以结合实际技术需要设定,例如在一些实施例中可以设置为默认块大小或者默认块大小的整数倍。其中,第二预定文件大小可以设置为至少是第一预定文件大小的两倍,从而使得至少能够对两个小文件进行合并。从而,在获得当前第一时间周期的第二周期全量数据文件的过程中,通过对小文件进行合并,使得最终获得的第二周期全量数据文件中的小文件的数量大大减少,有助于提高后续在第二周期全量数据文件的基础上,合并获得第二历史全量数据文件时的效率。
73.其中,在一些实施例中,当前第一时间周期的增量数据文件以及第一周期全量数据文件中,均可能存在文件大小小于或等于第一预定文件大小的小文件,此时,可以通过对当前第一时间周期的增量数据文件以及第一周期全量数据文件中的各小文件均进行合并,获得合并后文件,再基于合并后文件,以及当前第一时间周期的增量数据文件以及第一周期全量数据文件中,未合并的其他文件一起,获得第二周期全量数据文件。
74.在一些实施例中,由于在得到第一周期全量数据文件的过程中已经进行了小文件的合并,因此可能只在当前第一时间周期的增量数据文件中存在小文件,此时,可以只对当前第一时间周期的增量数据文件中的各小文件进行合并,获得合并后文件,再基于合并后文件,以及当前第一时间周期的增量数据文件中未合并的其他文件,以及第一周期全量数据文件,获得第二周期全量数据文件。
75.一些实施例中,以用块存储数据文件,可以结合进行存储设置的默认块大小设定。其中,块是指数据进行存储时的分块,以分布式存储系统为例,通过将数据划分为多个部分,分别存储到各个分块,以解决单独存储式文件过大的问题。通常情况下,会设置有一个默认块大小,即各个分块的大小相同。在将某个文件的数据较大,需要进行存储时,基于默认块大小对文件的数据划分后,分别存储到各个块中,从而,在需要拿到该文件的相关数据时,从对应的各个块中获得相应的数据即可。然而,在实际技术场景中,不可避免的会产生一些实际文件大小小于默认块大小的文件。若有多个文件大小小于默认块大小的文件,这多个文件的数据可能会存储到同一个块中,导致在读取文件的内容时,需要多次访问同一
个块,从而,通过将这多个文件大小小于默认块大小的小文件进行合并,合并为一个文件,从而这多个小文件的数据以一个文件的数据存储到同一个块中,在实际读取数据时,访问一次该块,即可获得原本要访问多次才能获得的数据内容,有助于提高后续的访问效率。
76.一个实施例中,在合并小文件时,可以是在将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并的过程中,对当前第一时间周期的增量数据文件、第一周期全量数据文件的数据排序后,逐个将数据写入合并后的文件,并在该文件写满之后,再生成下一个文件来继续写入剩下的数据,通过该方式,从而可以使得最终生成的文件的数量大大减少,有助于提高后续在第二周期全量数据文件的基础上,合并获得第二历史全量数据文件时的效率。其中,以分布式系统为例,合并后的文件的大小可以结合默认块大小设定,例如将合并后的文件的大小的上限设置为默认块大小。从而,在对这些小文件合并的过程中,在排序在前的数据写入合并后文件后,已经写满该合并后的文件,或者虽然没有写满该合并后的文件,但若写入下一个数据,会导致该合并后的文件的数据溢出,即加入下一个数据后的数据大小会大于默认块大小,则完成当前的合并后的文件的写入,并生成下一个文件夹来继续写入剩下的数据。从而在小文件合并的过程中,确保合并后的文件是只对应到一个块,以有助于提高后续提取数据时的处理效率。
77.一个实施例中,也可以是先对当前第一时间周期的增量数据文件中的小文件进行检索,确定存在的小文件的数目,在小文件的数目大于预定数目阈值时,再将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,并在合并的过程中,进行小文件的合并。在其他实施例中,也可以采用其他的方式对小文件进行合并,本技术实施例不做具体限定。
78.步骤s222:将所述第二周期全量数据文件与所述第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件。
79.一些实施例中,在所述当前第一时间周期是当前第二时间周期中的第一个第一时间周期时,可以直接将所述当前第一时间周期的周期全量数据文件与所述第一历史全量数据文件进行合并,获得当前第一时间周期的第二历史全量数据文件。
80.一些实施例中,在所述当前第一时间周期不是当前第二时间周期中的第一个第一时间周期时,可以并行地将当前第二时间周期中的各第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并,获得当前第二时间周期中的各第一时间周期对应的历史全量数据文件。其中,并行地将当前第二时间周期中的各第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并,是指在将其中一个第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并的过程中,可以同时对另一个第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并。
81.从而,在获得历史全量数据文件的过程中,是将当前第二时间周期中的各第一时间周期的周期全量数据文件,与上一个第二时间周期的最后一个第一时间周期的第一历史全量数据文件合并,与当前第二时间周期中的其他第一时间周期的文件无关,因此,可以并行的处理获得各第一时间周期的对应的历史全量数据文件,以提高处理效率。
82.在一些实施例中,也可以是在监测到生成历史全量数据文件时有延时或者出现其他突发情形时,再并行地执行各第一时间周期的周期全量数据文件与第一历史全量数据文
件进行合并,以实现数据延迟后的速度追赶。监测延时的方式可以采用任何可能的方式进行,例如在生成某个第一时间周期的历史全量数据文件的时间,已经晚于该第一时间周期的时间区间预定时长时,确定达到了延时条件,需要进行速度追赶,从而开始并行的执行上述将各第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并的过程。在其他实施例中,也可以通过其他的方式来监测是否出现延时。
83.在将当前第二时间周期中的最后一个第一时间周期的第三周期全量数据文件与所述第一历史全量数据文件合并结束,获得当前第二时间周期中的最后一个第一时间周期的第三历史全量数据文件之后,进入对下一个第二时间周期中的第一个第一时间周期的周期全量数据文件与所述第三历史全量数据表合并的步骤。其中,第三周期全量数据文件,是用以存储生成时间在当前第二时间周期内、且在当前第二时间周期的最后一个第一时间周期的周期结束时间点之前的所有业务数据的文件,即是用以存储生成时间在当前第二时间周期内的所有业务数据的文件。
84.从而,通过在确保获得了当前第二时间周期中的最后一个第一时间周期的第三历史全量数据文件之后,才能将下一个第二时间周期中的第一个第一时间周期的周期全量数据文件与所述第三历史全量数据文件合并,以确保后续获得的历史全量数据文件的准确性。
85.一些实施例中,在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,将所述第二周期全量数据文件与所述第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,包括:
86.在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述第二周期全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件;
87.在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一历史全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件。
88.其中,当前数据内容标识,是指当前正在进行同步的数据内容,当前字段标识,是指当前正在同步的当前数据内容标识的某个具体的字段。从而,在对数据内容进行同步时,在最新的周期全量数据文件中的相关字段内容有更新时,则保周期全量数据文件中的相关字段的内容进行存储,否则存储第一历史全量数据文件中的相关字段的内容,确保历史字段内容的延续性和最新的字段内容的更新。
89.基于如上所述的实施例,以下结合一个具体应用示例进行详细说明。在该具体示例中,以第一时间周期为1小时,第二时间周期为1天为例进行说明。如图4所示,假设当前第二时间周期为20210202(即2021年2月2日的0点至2021年2月3日的0点之间),如上所述的当前第一时间周期可能是第二时间周期20210202中的任何一个第一时间周期,例如第一时间周期2021020200(即2021年2月2日的0点至1点之间)、第一时间周期2021020201(即2021年2月2日的1点至2点之间)、第一时间周期2021020202(即2021年2月2日的2点至3点之间)
……
等等。其中,结合图4所示,在当前第一时间周期为2021020200时,当前第二时间周期中的上
一个第一时间周期为空,在当前第一时间周期为2021020201时,当前第二时间周期中的上一个第一时间周期为第一时间周期2021020200,后续的以此类推。当前第二时间周期中的各第一时间周期2021020200、2021020201
……
的上一个第二时间周期中的最后一个第一时间周期是指第一时间周期2021020123(即2021年2月1日的23点至2021年2月2日的0点之间)。
90.参考图5、图6所示,在实际的业务场景中,可以涉及两类不同的存储介质来分别存储相关的数据内容和数据文件,本技术实施例中可分别称之为第一存储介质和第二存储介质。其中,第一存储介质用以存储实时获取和更新的业务数据,第二存储介质用以存储上述获得的增量数据文件、周期全量数据文件以及历史全量数据文件等等。第二存储介质也可以包含有多个不同的子介质,以分别存储增量数据文件、周期全量数据文件以及历史全量数据文件。第一存储介质、第二存储介质、第二存储介质中的子介质,都可以是以服务器或者服务器集群的方式类体现。
91.其中,第一存储介质和第二存储介质的类型可以相同,也可以不同,一些可选的类型可以是文件系统、关系型数据库、列式数据库、hbase表、hive表等等。在下述相关实施例的说明中,以第一存储介质以hbase表的方式对获得的业务数据进行存储,第二存储介质以hive表的方式对增量数据文件、周期全量数据文件以及历史全量数据文件为例进行说明,在具体应用示例中,hive表可以是tdw数据表。此时,上述增量数据表为hbase表,上述增量数据文件为增量数据表,周期全量数据文件为周期全量数据表,历史全量数据文件为历史全量数据表。
92.hbase是hadoop database的简称,是基于hadoop数据库,是一种nosql数据库,主要适用于海量明细数据的随机实时查询,hive是基于hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表。tdw(tencent distributed data warehouse,腾讯分布式数据仓库)是基于开源软件hadoop和hive,并针对数据量大、计算复杂等特定情况进行了大量优化和改造后的进行构建的离线数据处理平台。
93.基于这样的设定,参考图5所示,在上述实施例中提及的第一存储介质中,可以是以hbase表来存储获取的业务数据,也可以称之为hbase表,上述实施例中生成的增量数据表、周期全量数据表、历史全量数据表,在图5所示中可以分别称之为hive小时增量表、hive当日全量表、hive历史全量表。
94.参考图5、图6所示,在实际业务场景的业务执行过程中,产生的业务数据不断写入到hbase表(即上述增量数据文件或者增量数据表),hbase表能存储海量数据;hive表能存储海量数据。在本技术实施例的实施过程中,可以涉及四种同步任务:同步任务1、同步任务2、同步任务3以及同步任务4,其中,同步任务1、同步任务2、同步任务3以第一时间周期为单位执行,例如每1小时执行,同步任务4以第二时间周期为单位执行,例如每天或者每24小时执行。可以通过设置任务调度系统,通过任务调度系统来支持每小时、每天定时自动执行相关的任务,并且支持任务间的依赖关系。
95.同步任务1:是指用以将当前第一时间周期中的业务数据从第一存储介质同步到增量数据文件(即hive小时增量表)的同步任务。其作用是将当前第一时间周期(例如上个
小时到当前小时)内,新增的或者写入的数据从hbase表中同步到hive表中,生成当前第一时间周期的增量数据表,本技术的相关实施例中,也可以称之为当前小时增量数据hive表。通过只同步当前第一时间周期内的数据,例如1个小时内上个小时到当前小时的数据,可以减少同步和修改的数据量,减少下游同步任务合并数据所花费的时间。通过将业务数据不断写入之后,同步到hive表,从而通过便捷的处理方式,在后续处理过程中可以通过sql访问hive表里的数据进行数据处理、数据仓库建设、数据分析等工作,提高数据处理效率和处理性能。
96.其中,在将新增的或者写入的数据从hbase表中同步到hive表中,生成当前第一时间周期的增量数据表的过程中,在一些实施例中,可以是通过spark(一种分布式计算框架,其支持基于内存的迭代计算)任务并发写入到当前第一时间周期的增量数据表。
97.同步任务2:是指用以将当前第一时间周期的增量数据文件(即hive小时增量表)中的增量数据与当前第二时间周期的上一个第一时间周期的周期全量数据文件(即hive当日全量表,本技术的上述实施例中也称为第一周期全量数据文件)的全量数据进行合并,生成当前第一时间周期的周期全量数据文件(即hive当日全量表,本技术的上述实施例中也称为第二周期全量数据文件)的同步任务。其作用是将当前第一时间周期(例如当前小时)的增量数据与当日的上个小时的当日全量数据进行合并,生成当前第一时间周期的第二周期全量数据文件,本技术的相关实施例中,也可以称之为当前小时当日全量数据hive表。
98.其中,该同步任务是自依赖任务,当前第一时间周期的执行必须要等到当前第二时间周期内的上一个第一时间周期的任务执行完成才能执行。结合图6所示:
99.如果当前小时是0点,即当前第一时间周期是2021020200,则可以直接将当前小时增量表的数据同步到当前小时的当日全量数据hive表,即当前小时的当日全量数据hive表的数据与当前小时增量表的数据一致,即周期全量数据表2021020200与增量数据表2021020200中的数据一致。
100.如果当前小时不是0点,即当前第一时间周期是2021020201、2021020202、
……
、或者2021020223,则将当前小时增量表的数据与当前第二时间周期内的上一个第一时间周期的当日全量数据hive表中的数据合并之后,生成当前第一时间周期的当日全量数据hive表,即当前第一时间周期的当日全量数据hive表中的数据,是当前小时增量表的数据与当前第二时间周期内的上一个第一时间周期的当日全量数据hive表中的数据合并后获得的。
101.例如,如果当前小时是1点,即当前第一时间周期是2021020201,则当前小时的当日全量数据hive表的数据是:0点的当日全量数据hive表与1点的当前小时数据hive表的数据合并的结果。即周期全量数据表2021020201中的数据,是周期全量数据表2021020200与增量数据表2021020201中的数据合并后的结果;
102.如果当前小时是9点,即当前第一时间周期是2021020209,则当前小时的当日全量数据hive表的数据是:8点的当日全量数据hive表与9点的当前小时数据hive表的数据合并的结果。即周期全量数据表2021020209中的数据,是周期全量数据表2021020208与增量数据表2021020209中的数据合并后的结果。
103.其中,在将当前第一时间周期的增量数据文件与当前第二时间周期的上一个第一时间周期的周期全量数据文件的全量数据进行合并,生成当前第一时间周期的周期全量数据文件的过程中,若当前第二时间周期的上一个第一时间周期的周期全量数据文件(例如
周期全量数据表2021020200)与当前第一时间周期的增量数据文件(例如增量数据表2021020201)中出现了数据内容标识相同、但相同字段标识的字段内容不同的情形时,例如行id相同,相同字段的值不同时,则采用下述方式进行处理:
104.如果增量数据表2021020201中的该数据内容标识的该字段标识的字段内容不为空时,则将增量数据表2021020201中的该数据内容标识的该字段标识的字段内容,同步到周期全量数据表2021020201中,作为周期全量数据表2021020201中的该数据内容标识的该字段标识的字段内容;
105.如果增量数据表2021020201中的该数据内容标识的该字段标识的字段内容为空时,则将周期全量数据表2021020200中的该数据内容标识的该字段标识的字段内容,同步到周期全量数据表2021020201中,作为周期全量数据表2021020201中的该数据内容标识的该字段标识的字段内容。
106.应当理解的是,在将周期全量数据表2021020200中的该数据内容标识的该字段标识的字段内容,同步到周期全量数据表2021020201中时,可以是将周期全量数据表2021020200中生成时间最晚的该数据内容标识的该字段标识的字段内容,作为最新的字段数据同步到周期全量数据表2021020201中。
107.举例来说,假设数据内容a存在2个字段,字段标识分别为a1、a2,记为a(a1,a2),周期全量数据表2021020200中存储的生成时间最晚的该数据内容a为a(m1,m2),增量数据表2021020201中存储的该数据内容a为a(m3,),由于在增量数据表中2021020201中,字段标识a1的字段内容不为空,字段标识a2的字段内容为空,则最终同步到周期全量数据表2021020201之后,存储的该数据内容会记为a(m3,a2)。
108.针对当前第二时间周期中的其他第一时间周期,即其他小时的全量数据表的合成过程,可以采用类似的方式处理。
109.其中,在上述生成当前第一时间周期的全量数据文件的过程中,可以同时对小文件进行合并处理。以上述spark任务并发地将新增的或者写入的数据从hbase表中同步到hive表来生成当前第一时间周期的增量数据表的情形下,基于spark的并发机制,会产生很多的小文件,从而通过同时对小文件进行合并处理,有助于后续生成历史全量数据文件时的合并效率。应当理解的是,在采用其他机制生成当前第一时间周期的增量数据表的情形下,如果存在小文件多的情况时,也可以对小文件进行合并处理。
110.同步任务3:是指用以将当前第一时间周期的周期全量数据文件(即hive当日全量表)中的全量数据与上一个第二时间周期中的最后一个第一时间周期的历史全量数据文件(即hive历史全量表,本技术的上述实施例中也称为第一历史全量数据文件)的历史全量数据进行合并,生成当前第一时间周期的历史全量数据文件(即hive历史全量表,本技术的上述实施例中也称为第二历史全量数据文件)的同步任务。其作用是将当前第一时间周期(例如当前小时)的当前全量数据与昨日的最后一个第一时间周期的历史全量数据进行合并,生成当前第一时间周期的第二历史全量数据文件,本技术的相关实施例中,也可以称之为第二历史全量数据hive表。
111.其中,该同步任务3无需依赖于上一个第一时间周期的同步任务3的完成,除了当前第二时间周期中的第一个第一时间周期,其他第一时间周期的同步任务3的执行,无需依赖于之前第一时间周期的同步任务3的完成。结合图6所示:
112.如果当前小时是0点,即当前第一时间周期是2021020200,则当前小时的历史全量数据hive表的数据是:0点的当日全量数据hive表与前一日23点的历史全量数据hive表的数据合并的结果。即历史全量数据表2021020200中的数据,是全量数据表2021020200与历史全量数据表2021020123中的数据合并后的结果。
113.如果当前小时是1点,即当前第一时间周期是2021020201,则当前小时的历史全量数据hive表的数据是:1点的当日全量数据hive表与前一日23点的历史全量数据hive表的数据合并的结果。即历史全量数据表2021020201中的数据,是全量数据表2021020201与历史全量数据表2021020123中的数据合并后的结果。
114.如果当前小时是9点,即当前第一时间周期是2021020209,则当前小时的历史全量数据hive表的数据是:9点的当日全量数据hive表与前一日23点的历史全量数据hive表的数据合并的结果。即历史全量数据表2021020209中的数据,是全量数据表2021020209与历史全量数据表2021020123中的数据合并后的结果。
115.其中,在将0点的当日全量数据hive表与前一日23点的历史全量数据hive表的数据合并的过程中,如果两个表中出现了数据内容标识、但相同字段标识的字段内容不同的情形,例如行id相同,相同字段的值不同时,则采用下述方式进行处理:
116.如果0点的全量数据表2021020200中的该数据内容标识的该字段标识的字段内容不为空时,则将全量数据表2021020200中的该数据内容标识的该字段标识的字段内容,同步到历史全量数据表2021020200中,作为全量数据表2021020200中的该数据内容标识的该字段标识的字段内容;
117.如果0点的全量数据表2021020200中的该数据内容标识的该字段标识的字段内容为空时,则将历史全量数据表2021020123中的该数据内容标识的该字段标识的字段内容,同步到历史全量数据表2021020200中,作为历史全量数据表2021020200中的该数据内容标识的该字段标识的字段内容。
118.应当理解的是,在将全量数据表2021020200中的该数据内容标识的该字段标识的字段内容,同步到历史全量数据表2021020200中时,是将全量数据表2021020200中生成时间最晚的该数据内容标识的该字段标识的字段内容,作为最新的字段数据同步到历史全量数据表2021020200中。在将历史全量数据表2021020123中的该数据内容标识的该字段标识的字段内容,同步到历史全量数据表2021020200中时,是将历史全量数据表2021020123中生成时间最晚的该数据内容标识的该字段标识的字段内容,作为最新的字段数据同步到历史全量数据表2021020200中。
119.举例来说,假设数据内容b存在2个字段,字段标识分别为b1、b2,可记为b(b1,b2),全量数据表2021020200中存储的生成时间最晚的该数据内容b为b(0,m4),历史全量数据表2021020123中存储的生成时间最晚的该数据内容b为b(m5,m6),由于在全量数据表2021020200中,字段标识b1的字段内容为空,字段标识b2的字段内容不为空,则最终同步到历史全量数据表2021020200之后,存储的该数据内容会记为b(m5,m4)。
120.同步任务4:是用以确定第二时间周期的最后一个第一时间周期的同步任务3成功执行的空跑任务。其是一个每隔第二时间周期的初始或者结束时执行的空跑的数据同步任务,主要是起到任务依赖控制的作用,其作用是用以确定第二时间周期的最后一个第一时间周期的同步任务3成功执行,即第二时间周期的最后一个第一时间周期生成了对应的历
史全量数据文件,并用以确定可以启动下一个第二时间周期的第一个第一时间周期的同步任务3,即可以启动生成下一个第二时间周期的第一个第一时间周期对应的历史全量数据文件。
121.即,同步任务4的执行与同步任务3相互依赖,同步任务4的执行依赖于第二时间周期的最后一个第一时间周期的同步任务3的成功执行,而第二时间周期的第一个第一时间周期的同步任务3的启动执行,依赖于该第二时间周期(可以理解,如果将该同步任务划分为是下一个第二时间周期的初始执行,则可以认为是下一个第二时间周期)的同步任务4的成功执行。即,如图4、图6所示,其只有在20210201的同步任务3的23点实例成功之后,即成功生成历史全量数据文件2021020123之后,才能执行20210202的同步任务4的当日0点的任务;20210202的同步任务4的当日0点的任务执行成功之后,才能执行20210202的0点-23点的同步任务3的任务实例,即才能够生成历史全量数据文件2021020200、2021020201
……
。从而通过相互依赖的同步任务3和同步任务4的设定,有效避免了上一个第二时间周期的最后一个第一时间周期的历史全量数据文件还没生成时,就已经开始生成当前第二时间周期的第一个第一时间周期的历史全量数据文件的情形下容易导致的数据丢失的问题,有效保护了数据的完整性。
122.基于如上所述的本技术实施例中的方式,每个第一时间周期都可能更新任意一条历史数据,而且更新的历史数据在最新的该第一时间周期的全量数据表以及历史全量数据中进行相应的更新,从而可以每个第一时间周期都同步海量数据,而且都是最新的全量数据。从而,每个第一时间周期产生的历史全量数据的产生和更新延迟不会很大,在需要进行数据访问获得相关的数据内容时,每个第一时间周期都能访问最近一个第一时间周期的历史全量数据,并且该第一时间周期的历史全量数据都是最新的。一般情况下,2个第一时间周期的时间范围内就能访问最新的历史数据,
123.应该理解的是,虽然上述各实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,这些流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
124.在一个实施例中,如图7、8所示,提供了一种数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
125.增量文件同步模块71,用于从实时更新的业务数据中获取当前第一时间周期中的增量变更数据,根据获取的增量变更数据生成当前第一时间周期的增量数据文件;
126.全量同步模块72,用于基于当前第二时间周期中的当前第一时间周期之前的各第一时间周期的增量数据文件,与上一个第二时间周期中的最后一个第一时间周期的第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件,所述第二时间周期包括至少两个所述第一时间周期;所述第一历史全量数据文件,是用以存储生成时间在上一个第二时间周期中的最后一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二历史全量数据文件,是用以存储生成时间在当前第一时间周期的周期结
束时间点之前的所有业务数据的文件。
127.一个实施例中,所述全量同步模块72,包括:
128.周期文件同步模块721,用于将所述当前第一时间周期的增量数据文件与当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件;所述第一周期全量数据文件,是用以存储生成时间在当前第二时间周期内、且在当前第二时间周期中的上一个第一时间周期的周期结束时间点之前的所有业务数据的文件,所述第二周期全量数据文件,是用以存储生成时间在当前第二时间周期内、且在当前第一时间周期的周期结束时间点之前的所有业务数据的文件;
129.历史文件同步模块722,用于将所述第二周期全量数据文件与所述第一历史全量数据文件合并,获得当前第一时间周期的第二历史全量数据文件。
130.一个实施例中,所述装置还包括业务数据更新模块;
131.所述业务数据更新模块,用于实时获取更新的业务数据,并将获取的业务数据存入第一存储介质;
132.所述增量文件同步模块71,用于从所述第一存储介质中获取当前第一时间周期中的增量变更数据。
133.一个实施例中,所述周期文件同步模块721,在获得了上一个第一时间周期的所述第一周期全量数据文件之后,将所述当前第一时间周期的增量数据文件与所述第一周期全量数据文件合并,获得当前第一时间周期的第二周期全量数据文件。
134.一个实施例中,所述周期文件同步模块721,还用于在所述当前第一时间周期为当前第二时间周期中的第一个第一时间周期时,对所述当前第一时间周期的增量数据文件进行同步,获得所述第二周期全量数据文件。
135.一个实施例中,所述周期文件同步模块721,用于在所述当前第一时间周期的增量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述增量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件;在所述增量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一周期全量数据文件中的所述当前数据内容标识的当前字段标识的字段内容,作为所述当前数据内容标识的当前字段标识的内容,同步到所述第二周期全量数据文件。
136.一个实施例中,所述周期文件同步模块721,用于对所述当前第一时间周期的增量数据文件、以及所述当前第二时间周期中的上一个第一时间周期的第一周期全量数据文件中的目标文件进行合并,得到合并后文件,所述目标文件为文件大小小于或等于第一预定文件大小的文件;基于所述当前第一时间周期的增量数据文件和所述第一周期全量数据文件中文件大小大于所述第一预定文件大小的文件,以及所述合并后文件,获得当前第一时间周期的第二周期全量数据文件。
137.一个实施例中,所述历史文件同步模块722,用于在当所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容不为空时,将所述第二周期全量数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件;在所述第二周期全量数据文件中的当前数据内容标识的当前字段标识的字段内容为空时,将所述第一历史全量
数据文件中的所述当前数据内容标识的所述当前字段标识的字段内容,作为所述当前数据内容标识的所述当前字段标识的内容,同步到所述第二历史全量数据文件。
138.一个实施例中,所述历史文件同步模块722,用于在所述当前第一时间周期是当前第二时间周期中的第一个第一时间周期时,直接将所述当前第一时间周期的周期全量数据文件与所述第一历史全量数据文件进行合并,获得当前第一时间周期的第二历史全量数据文件;在所述当前第一时间周期不是当前第二时间周期中的第一个第一时间周期时,并行地将所述当前第二时间周期中的各第一时间周期的周期全量数据文件与第一历史全量数据文件进行合并,获得当前第二时间周期中的各第一时间周期对应的历史全量数据文件。
139.一个实施例中,所述历史文件同步模块722,在将当前第二时间周期中的最后一个第一时间周期的第三周期全量数据文件与所述第一历史全量数据文件合并结束,获得当前第二时间周期中的最后一个第一时间周期的第三历史全量数据文件之后,再对下一个第二时间周期中的第一个第一时间周期的周期全量数据文件与所述第三历史全量数据文件合并。
140.一个实施例中,所述第一时间周期为1小时,所述第二时间周期为1天。
141.关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
142.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备90包括通过系统总线连接的处理器901、存储器和网络接口902。其中,该计算机设备的处理器901用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质903、内存储器904。该非易失性存储介质903存储有操作系统9031、计算机程序9032和数据库9033。该内存储器904为非易失性存储介质903中的操作系统9031和计算机程序9032的运行提供环境。该计算机设备的数据库9033用于存储如上所述的增量数据文件、周期全量数据文件、历史全量数据文件等数据。该计算机设备的网络接口902用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
143.本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
144.在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
145.在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
146.在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
147.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
148.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
149.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献