一种数据处理方法、装置、服务器、存储介质及产品与流程

文档序号:28805287发布日期:2022-02-09 01:53阅读:77来源:国知局
一种数据处理方法、装置、服务器、存储介质及产品与流程

1.本发明实施例涉及大数据领域,尤其涉及一种数据处理方法、装置、服务器、存储介质及计算机程序产品。


背景技术:

2.对于分布式系统来说,每个子系统都会产生数据,每个子系统均可能使用其它子系统产生的数据。比如,金融领域的各个组件系统之间可能存在同步机构员工、客户信息等基础数据,以及,同步贷款、支付结算等业务数据的需求。
3.目前,技术人员针对每个数据同步需求设计数据同步流程,并基于数据同步流程开发程序代码。由于现实中数据同步需求是多种多样的,上述数据同步实现方式会增加开发工作的复杂度、降低开发效率,增加开发工作的时间。


技术实现要素:

4.本发明实施例提供了一种数据处理方法、装置、服务器、存储介质及计算机程序产品,可以简化开发工作的复杂度、提高开发效率,缩短开发工作的时间。
5.第一方面,本发明实施例提供了一种数据处理方法,包括:
6.获取待处理数据文件的数据字段定义和配置信息;
7.根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;
8.根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
9.第二方面,本发明实施例还提供了一种数据处理装置,该装置包括:
10.信息获取模块,用于获取待处理数据文件的数据字段定义和配置信息;
11.脚本生成模块,用于根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;
12.数据同步模块,用于根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
13.第三方面,本发明实施例还提供了一种服务器,该服务器包括:
14.一个或多个处理器;
15.存储器,用于存储一个或多个程序,
16.当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如本发明任意实施例提供的数据处理方法。
17.第四方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例的数据处理方法。
18.第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计
算机程序在被处理器执行时实现如本发明任意实施例所述的数据处理方法。
19.本发明实施例提供一种数据处理方法、装置、服务器、存储介质及计算机程序产品,在获取到待处理的数据文件对应的数据字段定义之后,根据目标数据库类型选择脚本模板,基于数据字段定义和脚本模板生成数据处理脚本,通过数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。本发明实施例通过配置脚本模板和数据处理要求,实现数据记录的可扩展及配置化的加载方式,解决因对不同的处理要求单独开发导致的开发工作复杂以及开发效率低的问题,实现缩短开发工作的时间的效果。
附图说明
20.图1为本发明实施例提供的一种数据处理方法的流程图;
21.图2a为本发明实施例提供的另一种数据处理方法的流程图;
22.图2b是一种目标表与临时表同步数据的实现方法流程图;
23.图3为本发明实施例提供的又一种数据处理方法的流程图;
24.图4为本发明实施例提供的一种数据处理方法的整体流程图;
25.图5为本发明实施例提供的一种数据处理装置的结构框图;
26.图6为本发明提供的一种服务器的结构示意图。
具体实施方式
27.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
28.金融系统往往采用分布式系统架构。每个系统都会产生各自系统的数据,一个系统的数据可能被其它关联的系统使用。比如,金融领域的各个组件系统之间可能存在同步机构员工、客户信息等基础数据,以及,同步贷款、支付结算等业务数据的需求。
29.正在开发的系统与已经上线的系统,可能会有新增同步数据的需求。不同的数据同步需求可能有不同的要求。例如,数据同步的目标数据库有的是oracle,有的是mysql。有的同步数据前需要做一些前置处理,有的数据同步时,字段要做些简单加工。有的系统想以副本表(目标表数据结构与源系统的表相同或相似)的形式同步数据,有的只想要同步当天的变化数据,不需要同步所有数据。
30.例如,在接收到源系统发送的数据文件之后,开发人员解析数据字段与字段类型,基于分析得到的数据字段与数据类型,根据目标系统使用的数据库类型,编写数据库入库程序,执行数据库入库程序将数据文件加载到目标系统数据库的临时表。然后,编写数据同步程序,执行数据同步程序将临时表中的数据文件同步至目标表。综上可知,由于数据同步需求多种多样,如果针对每个数据同步需求都做较多的开发,大大增加了开发工作的复杂度,降低了开发效率。
31.图1为本发明实施例提供的一种数据处理方法的流程图,本实施例可适用于分布式系统的不同子系统间同步数据的情况,该方法可以由数据处理装置来执行,该装置可有由软件和/或硬件实现,并配置于服务器中。如图1所示,该方法包括:
32.步骤110、获取待处理数据文件的数据字段定义和配置信息。
33.其中,待处理数据文件是源系统发送给目标系统的待同步的数据。
34.在数据同步场景中,源系统是提供数据文件的系统,而目标系统是请求同步数据的系统,目标系统需要使用源系统产生的数据。例如,如果系统b向系统a请求数据同步,那么系统b是目标系统,系统a是源系统。如果系统b向系统a请求数据同步,且系统c向系统a请求数据同步,那么,在系统a-b之间的数据同步操作中,系统b是目标系统,系统a是源系统。在系统b-c之间的数据同步操作中,系统b是源系统,系统c是目标系统。数据源系统和目标系统可以同属于同一分布式系统,或者属于不同的分布式系统。在目标系统需要使用源系统产生的数据时,向源系统发送数据同步请求。源系统响应于目标系统的数据同步请求,发送待处理数据文件给目标系统。
35.数据字段定义用于对待处理数据文件包含的字段进行规定。具体地,数据字段定义可以包括字段长度规定、字段分隔方式规定、以及字段类型规定等。可以按照数据字段定义中规定的方式解析数据文件,得到文件中包括的字段以及每个字段的数据类型等。
36.可选地,在需要同步数据的场景下,源系统会发送数据文件给目标系统,该源系统发送的数据文件即为待处理数据文件。此外,源系统还会发送数据字段定义文件给目标系统。数据字段定义文件中记载有待处理数据文件的数据字段定义。
37.可选地,还可以是源系统和目标系统的技术人员线下沟通好数据字段定义,并保存数据字段定义到配置信息。
38.配置信息包括对待处理数据文件的数据同步要求。技术人员可以通过配置的方式规定数据同步要求。还可以通过更改配置信息方式修改数据同步要求。具体地,可以通过配置程序代码中的几个属性信息满足大部分的数据文件的同步需求。对于某些字段的特殊处理要求的情况,可以通过对可选属性进行配置的方式满足特殊处理要求。其中,特殊处理要求包括要求对某些字段进行预处理或者后处理等。
39.对于需要同步数据的系统,在进行数据同步之前,数据的发送方(即源系统)可以发送数据字段定义文件给数据的接收方(即目标系统)。或者,发送方与接收方的技术人员通过线下沟通的方式,确定数据字段定义,接收方技术人员根据数据字段定义更新数据库配置信息。
40.需要说明的是,在目标系统中配置有脚本模板和数据定义文件处理接口等。如果有新的需求,可以通过本发明的数据处理方法的实现框架中的接口支持新增需求,无需改动整体框架逻辑。例如,如果有新的数据库的文件加载需求,则可以通过预留的接口扩展新的处理逻辑,以支持新的类型的数据库的文件加载需求。具体地,可以通过调用接口新增脚本模板,以及增加新的类型的数据库对应的数据定义文件处理接口等方式,不需要整套方法重新编写,就能按原本数据库的要求配置属性,就能满足新的数据库数据文件同步需求。
41.示例性的,在接收到待处理数据文件后,判断是否存在待处理文件对应的数据定义文件;若是,则通过数据定义文件处理接口解析数据定义文件,得到待处理数据文件的数据字段定义,关联存储数据字段定义与待处理数据文件的文件标识。其中,数据文件处理接口包括数据文件的处理方法,一种类型的数据定义文件对应一个处理方法,可以扩展不同类型的数据定义文件的处理方法。
42.示例性地,在接收到待处理数据文件后,目标系统获取该数据文件的数据字段定
义信息。此外,还获取用户基于数据文件的同步要求输入的配置信息。
43.具体地,在接收到待处理数据文件后,若判定存在该待处理数据文件对应的数据定义文件,则通过数据定义文件处理接口解析数据定义文件,得到待处理数据文件的数据字段定义,以待处理数据文件的文件标识为索引,保存数据字段定义到目标数据库(目标数据库是目标系统的数据库)。基于待处理数据文件的文件标识查询目标数据库,得到待处理数据文件的数据字段定义。
44.可选地,在接收到待处理数据文件后,若判定不存在待处理数据文件对应的数据定义文件,则确定待处理数据文件的文件标识,根据该文件标识查询数据库配置信息(数据库配置信息是目标系统的数据库配置信息),得到待处理数据文件的数据字段定义。
45.步骤120、根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表。
46.需要说明的是,预先配置不同类型的数据库的脚本模板,如果有新的数据库要求时,可以通过本发明的技术框架提供的接口增加对该数据库要求的处理逻辑即可。其中,处理逻辑可以包括数据定义文件和脚本模板等。
47.由于不同类型的数据库的加载脚本的生成逻辑可能不同,在配置了多种类型的数据库对应的脚本模板的情况下,需要基于目标数据库类型选择脚本模板。比如,oracle的生成sqlldr脚本,mysql生成load data infile脚本。这里可编写其它数据库文件加载脚本生成逻辑,用来扩展支持不用的数据库。
48.临时表是目标数据库中用于临时存储待处理数据文件的数据记录的数据表。
49.示例性地,从脚本模板库中选择与目标数据库类型对应的脚本模板,将数据字段定义中的目标字段填充至脚本模板生成数据处理脚本。执行该数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表。具体地,确定脚本模板中待填充字段的类型信息;根据类型信息查询数据字段定义确定目标字段,将目标字段填充至脚本模板得到数据处理脚本。执行该数据处理脚本将该待处理数据文件加载落地表。
50.步骤130、根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
51.其中,目标表是目标数据库中用来存储同步数据记录的数据表。例如,目标系统向源系统请求同步数据,被同步的数据记录按照不同的数据处理要求被保存到目标表。需要说明的是,用户根据处理要求配置数据处理要求到数据库的配置信息,通过查询配置信息,就可以确定数据处理要求。数据处理要求包括全量数据同步、增量数据同步或删除数据同步等。
52.示例性地,获取配置信息中的数据处理要求;按照数据处理要求规定的方式,将临时表中的数据记录同步至目标数据库中的目标表。
53.本实施例所述的技术方案,通过获取待处理数据文件的数据字段定义和配置信息;根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表,解决了对不同的处理要求单独开发导致的开发工作复杂以及开发效率低的问题,达到了缩短开发工作的时
间的效果。
54.图2a为本发明实施例提供的另一种数据处理方法的流程图,在上述技术方案的基础上,进一步说明了按照数据处理要求规定的方式,将临时表中的数据记录同步至目标数据库中的目标表的实现方式。如图2a所示,该方法包括:
55.步骤210、获取待处理数据文件的数据字段定义和配置信息。
56.其中,配置信息是用户通过本发明的数据处理方法的实现框架中的配置接口,灵活配置的信息。
57.在需要进行数据处理时,用户首先通过调用配置接口将配置信息配置到数据库,以便在执行数据同步时,能够自行根据配置信息执行相应操作,以满足数据处理要求。
58.步骤220、根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表。
59.步骤230、获取配置信息中的数据处理要求。
60.示例性地,读取数据库的配置信息,从该配置信息中获取数据处理要求。
61.步骤240、在数据处理要求是全量数据同步时,清空目标表中的数据记录,将临时表中全部数据记录插入清空后的目标表。
62.示例性地,若数据处理要求是全量数据同步,则清空目标表中已有的所有数据记录。然后,读取临时表中的全部数据记录,并将所读取的数据记录插入被清空后的目标表中。例如,如果是全量数据同步,则用户配置以all形式进行数据同步加载,此时,将目标表清空,然后,将临时表中的所有数据记录插入目标表。其中,清空目标表是对目标表中的数据记录进行整体删除,且id也被删除,相当于重建表,保持了原来数据表的结构,但是所有的状态相当于新表。执行清空表指令可以迅速的删除数据表中的全部数据,提高了数据同步效率。
63.步骤250、在数据处理要求是增量数据同步时,分别匹配临时表与目标表的主键,根据匹配结果基于各条数据记录更新目标表。
64.其中,主键一般指主关键字,它可以是数据表中的一个或多个字段,主键的值用于唯一标识数据表中的一条数据记录,通过比较主键的值可以确定两个主键对应的数据记录是否相同。
65.如果数据处理要求是增量数据同步,则表示只需要同步变化的数据到目标表。基于增量数据同步要求,可以先确定临时表相对于目标表变化的数据记录是哪些,然后,基于发生变化的数据记录更新目标表即可实现增量数据同步要求。
66.示例性地,在临时表不是空表时,任意选择临时表中的一个主键作为当前主键,比较当前主键的值与目标表的各主键的值;在值相等时,基于当前主键对应的数据记录更新目标表中相应主键值对应的数据记录,从临时表中删除当前主键对应的数据记录;在值不相等时,将当前主键对应的数据记录插入目标表。
67.具体地,当数据处理要求是增量数据同步时,若用户配置以merge的形式进行加载,则匹配临时表与目标表中数据记录的主键。若主键值相等,则认为匹配成功,若未在目标表中匹配到与临时表中任意主键的值相等的主键,则认为匹配失败。在匹配成功时,基于临时表中匹配成功的主键对应的数据记录更新目标表中相应主键对应的数据记录。在匹配
失败时,将临时表中当前主键对应的数据记录插入目标表。
68.当数据处理要求是增量数据同步时,若用户配置以insert的形式进行加载,则将临时表中的数据记录插入目标表。采用这种方式可以满足系统只需要对变化的数据做处理的需求。
69.可选地,如果源系统发送的数据文件既包括发生变化的数据,又包括未发生变化的数据,则需要通过匹配主键的值的方式确定发生变化的数据,仅将发生变化的数据记录插入到目标表。
70.步骤260、在数据处理要求是删除数据同步时,分别匹配临时表与目标表的主键,删除目标表中匹配成功的主键对应的数据记录。
71.示例性地,若数据处理要求是删除数据同步,则匹配临时表与目标表的主键,对目标表中匹配上的主键对应的数据进行同步删除。例如,如果是删除数据同步,则用户配置以del的形式进行数据同步加载,此时,匹配临时表与目标表的主键值,确定目标表中与临时表的主键具有相同值的目标主键,删除目标表中目标主键对应的数据记录。
72.图2b是一种目标表与临时表同步数据的实现方法流程图。如图2b所示,该方法具体包括:
73.步骤201、读取配置信息,获取配置信息中关于文件的加载类型的规定。
74.步骤202、确定加载类型是全量数据同步形式、增量merge形式、增量insert形式及删除同步形式中的哪一种。
75.步骤203、若加载类型是全量数据同步形式,则清空目标表。
76.步骤204、将临时表的数据记录插入目标表。
77.具体地,可以采用insert into目标表from临时表的方式,实现将临时表的数据记录插入目标表。
78.步骤205、若加载类型是增量merge形式,则合并临时表到目标表。
79.具体地,若加载类型是增量merge形式,根据临时表中匹配上的主键对应的数据记录更新目标表中对应的数据记录,以及,将临时表中匹配失败的主键对应的数据记录插入目标表。
80.步骤206、若加载类型是增量insert形式,则将临时表中的数据记录插入目标表。
81.具体地,采用insert into目标表from临时表的方式,实现将临时表的数据记录插入目标表。
82.步骤207、若加载类型是删除数据同步形式,则根据主键字段删除目标表中的数据记录。
83.本实施例所述的技术方案,通过用户配置满足数据处理要求的配置信息规定的方式,将临时表中的数据记录同步至目标表,实现一种配置化的数据处理方法,满足个性化的数据处理要求,无需再针对每个数据处理要求进行单独的程序开发,大大简化了代码开发复杂度,提高了代码开发效率。
84.图3为本发明实施例提供的又一种数据处理方法的流程图,在上述技术方案的基础上,进一步增加了用户配置了特殊处理要求的数据处理场景下的实现方式。如图3所示,该方法包括:
85.步骤301、获取待处理数据文件的数据字段定义和配置信息。
86.步骤302、根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表。
87.步骤303、判断用户是否配置了预处理操作,若是,则执行步骤304,否则执行步骤305。
88.示例性地,读取数据库的配置信息,确定配置信息中表示预处理操作的属性的值,根据该值判断用户是否配置了预处理操作。
89.步骤304、获取配置信息中预处理操作对应的预处理方式,根据预处理方式处理临时表中的数据记录,然后执行步骤305。
90.其中,预处理方式可以是一段sql语句,或者一个shell脚本,或者是一个人java处理类等,预处理方式可以根据实际需求由用户预设,本发明对预处理方式的实现形式不作具体限定。
91.步骤305、根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
92.步骤306、判断用户是否配置了后处理操作,若是,则执行步骤307,否则,执行步骤308。
93.示例性地,读取数据库的配置信息,确定配置信息中表示后处理操作的属性的值,根据该值判断用户是否配置了后处理操作。
94.步骤307、获取配置信息中后处理操作对应的后处理方式,根据后处理方式处理目标表中的数据记录,然后执行步骤308。
95.其中,后处理方式可以是一段sql语句,或者一个shell脚本,或者是一个人java处理类等,后处理方式可以根据实际需求由用户预设,本发明对后处理方式的实现形式不作具体限定。
96.步骤308、结束数据处理流程。
97.在一个具体的实施方式中,提供本发明的数据处理方法的整体流程。图4为本发明实施例提供的一种数据处理方法的整体流程图,如图4所示,该方法包括:
98.步骤401、检测到上游数据文件。
99.其中,上游数据文件即源系统发送给目标系统的待处理的数据文件。
100.示例性地,目标系统接收源系统发送的数据文件,数据文件里的字段一般是按照某种字符分隔或者指定各个字段的长度,并且约定好各个字段的类型。总之,源系统和目标系统的技术人员会约定好数据文件怎么解析,即包括哪些字段,每个字段的数据类型是什么。这个约定通常通过源系统再传输一个数据定义文件或者线下沟通来定义好。
101.步骤402、判断是否存在数据定义文件,若是,则执行步骤403,否则执行步骤405。
102.其中,数据定义文件包括上游数据字段及类型定义等信息,是源系统发送给目标系的文件。
103.步骤403、解析数据定义文件。
104.步骤404、将数据定义文件和数据文件的文件标识关联存储到数据库。
105.示例性地,判断是否存在数据定义文件,如果存在,调用数据定义文件处理接口解析定义文件,然后将解析后的信息保存到数据库里。
106.需要说明的是,数据定义文件处理接口用于实现不同类型的数据定义文件的解析,一种类型的数据定义文件有一个对应的解析实现方法,可以扩展不同类型的数据定义文件处理方法,以满足对新的数据定义文件的解析要求。
107.步骤405、读取数据库保存的数据字段定义。
108.如果不存在数据定义文件,则需要实现将约定好的数据字段定义信息配置到数据库,在需要同步数据文件时,直接读取数据库的配置信息获取与数据文件关联的数据字段定义即可。
109.步骤406、根据数据字段定义生成文件加载脚本。
110.示例性地,根据获取到的数据字段定义,生成对应数据库的数据文件加载脚本。比如oracle类型的数据库生成sqlldr脚本,mysql类型的数据库生成load data infile脚本。此外,可编写其它数据库文件加载脚本生成逻辑,用来扩展支持不用的数据库,有效避免了当遇到其它不用的数据库的处理要求时,需要整个文件加载方式重写的问题,提高了代码复用率。
111.步骤407、执行文件加载脚本加载上游数据文件到数据库的临时表。
112.步骤408、判断是否需要执行预处理操作,若是,则执行步骤409,否则,执行步骤410。
113.步骤409、读取数据库的配置信息,执行配置信息中预处理操作对应的处理方式。
114.对于有些数据文件同步操作,需要在上游数据文件加载到临时表之后,从临时表同步到待同步的目标表之前,做一些自定义的逻辑处理。比如,清除一些不需要的数据,或者做一些额外的数据加工等等。在本发明实施例中,自定义的逻辑处理具体可以是一段sql语句,或者一个shell脚本,或者一个java处理类等等。
115.步骤410、读取数据库的配置信息,获取配置信息中关于文件的加载类型的规定。
116.需要说明的是,对于源系统提供的数据文件,根据处理要求不同可能执行不同的操作。比如,有的需要全量数据同步,有的需要增量数据同步,而有的需要删除档数据(即删除目标表中的与数据文件对应的数据记录)。
117.步骤411、确定加载类型是全量数据同步形式、增量merge形式、增量insert形式及删除同步形式中的哪一种。
118.步骤412、若加载类型是全量数据同步形式,则清空目标表,然后,执行步骤413。
119.步骤413、执行insert into目标表from临时表的操作,然后执行步骤417。
120.步骤414、若加载类型是增量merge形式,则执行临时表merge到目标表的操作,然后执行步骤417。
121.步骤415、若加载类型是增量insert形式,则执行insert into目标表from临时表的操作,然后执行步骤417。
122.步骤416、若加载类型是删除数据同步形式,则根据主键字段删除目标表中的数据记录,然后执行步骤417。
123.需要说明的是,不同的同步需求的处理逻辑有所不同。如果是全量数据同步,则可配置all的形式进行同步加载,这时候程序会将目标表清空,然后在将临时表中所有数据记录插入到目标表。如果是增量数据,则可配置增量merge的形式或增量insert的形式进行同步加载。对于增量merge的形式,匹配目标表与临时表中数据的主键,如果在目标表存在匹
配上的主键,将临时表中匹配上的数据记录对应更新到目标表,如果临时表中某个主键在目标表不存在与之匹配的主键,则将临时表中的对应主键的数据记录插入的目标表。对于增量insert的形式,主要针对于那类只需要对每天变化的数据做处理的同步需求,将新增的数据插入到目标表供后续逻辑加工。如果是删除档数据,则可配置del的形式进行同步加载,程序会对目标表中匹配上的主键对应的数据记录进行同步删除。
124.步骤417、判断是否需要执行后处理操作,若是,则执行步骤418,否则,执行步骤419。
125.对于有些数据文件同步操作,需要在将数据记录从临时表同步加载到目标表之后,做一些自定义的逻辑处理。在本发明实施例中,自定义的逻辑处理具体可以是一段sql语句,或者一个shell脚本,或者一个java处理类等等。
126.步骤418、读取数据库的配置信息,执行配置信息中后处理操作对应的处理方式。
127.步骤419、结束数据处理流程。
128.本发明实施例提供了一种配置化的数据处理方法,对于不同的数据文件加载需求,无需额外的开发,仅通过配置就能实现大部分的数据文件加载需求。如果有特别的要求,还可以通过扩展的方式来支持,减轻了开发人员的工作,减少了开发时间,有利于提高整体项目的推进效率。
129.图5为本发明实施例提供的一种数据处理装置的结构框图,该装置可以执行本发明任意实施例的数据处理方法,并通过执行上述方法实现分布式系统的子系统之间的数据同步。该装置可以由软件和/或硬件实现,并被配置于服务器中。如图5所示,该装置包括:
130.信息获取模块510,用于获取待处理数据文件的数据字段定义和配置信息;
131.脚本生成模块520,用于根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;
132.数据同步模块530,用于根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
133.本发明实施例提供一种数据处理装置,通过配置脚本模板和数据处理要求,实现数据记录的可扩展及配置化的加载方式,解决因对不同的处理要求单独开发导致的开发工作复杂以及开发效率低的问题,实现缩短开发工作的时间的效果。
134.可选地,该装置还包括:
135.定义文件判断模块,用于在获取待处理数据文件的数据字段定义之前,判断是否存在待处理文件对应的数据定义文件;
136.字段定义存储模块,用于在存在待处理文件对应的数据定义文件的场景下,则通过数据定义文件处理接口解析数据定义文件,得到待处理数据文件的数据字段定义,关联存储数据字段定义与待处理数据文件的文件标识。
137.可选地,信息获取模块510具体用于:
138.基于待处理数据文件的文件标识查询目标数据库,得到待处理数据文件的数据字段定义。
139.可选地,信息获取模块510具体还用于:
140.确定待处理数据文件的文件标识,根据文件标识查询配置信息,得到待处理数据
文件的数据字段定义。
141.可选地,脚本生成模块520具体用于:
142.将数据字段定义中的目标字段填充至脚本模板生成数据处理脚本。
143.可选地,脚本生成模块520进一步用于:
144.确定脚本模板中待填充字段的类型信息;
145.根据类型信息查询数据字段定义确定目标字段,将目标字段填充至脚本模板得到数据处理脚本。
146.可选地,数据同步模块530包括:
147.要求获取子模块,用于获取配置信息中的数据处理要求;
148.数据同步子模块,用于按照数据处理要求规定的方式,将临时表中的数据记录同步至目标数据库中的目标表。
149.进一步地,数据处理要求包括下述至少一种:全量数据同步、增量数据同步和删除数据同步。
150.可选地,数据同步子模块具体用于:
151.在数据处理要求是全量数据同步时,清空目标表中的数据记录,将临时表中全部数据记录插入清空后的目标表;
152.在数据处理要求是增量数据同步时,分别匹配临时表与目标表的主键,根据匹配结果基于临时表的数据记录更新目标表;
153.在数据处理要求是删除数据同步时,分别匹配临时表与目标表的主键,删除目标表中匹配成功的主键对应的数据记录。
154.可选地,在数据处理要求是增量数据同步时,数据同步子模块进一步具体用于:
155.在临时表不是空表时,任意选择临时表中的一个主键作为当前主键,比较当前主键的值与目标表的各主键的值;
156.在值相等时,基于当前主键对应的数据记录更新目标表中相应主键值对应的数据记录,从临时表中删除当前主键对应的数据记录;
157.在值不相等时,将当前主键对应的数据记录插入目标表。
158.可选地,该装置还包括:
159.预处理模块,用于在执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表之后,判断用户是否配置了预处理操作;
160.若是,则获取配置信息中预处理操作对应的预处理方式,根据预处理方式处理临时表中的数据记录;
161.若否,则执行根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
162.可选地,该装置还包括:
163.后处理模块,用于在将临时表中的数据记录同步至目标表之后,在检测到用户配置了后处理操作时,获取配置信息中后处理操作对应的后处理方式,根据后处理方式处理目标表中的数据记录。
164.本发明实施例所提供的数据处理装置可执行本发明任意实施例所提供的数据处理方法,具备执行方法相应的功能模块和有益效果。
165.图6为本发明提供的一种服务器的结构示意图,如图6所示,该服务器包括处理器60和存储器61;服务器中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;服务器中的处理器60和存储器61可以通过总线或其他方式连接,图6中以通过总线连接为例。
166.存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据处理方法对应的程序指令/模块(例如,信息获取模块510、脚本生成模块520和数据同步模块530)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的数据处理方法。
167.存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
168.本发明实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种数据处理方法,该方法包括:
169.获取待处理数据文件的数据字段定义和配置信息;
170.根据目标数据库类型选择对应的脚本模板,基于脚本模板和数据字段定义生成数据处理脚本,执行数据处理脚本将待处理数据文件中的数据记录加载到目标数据库的临时表;
171.根据配置信息中的数据处理要求,将临时表中的数据记录同步至目标表。
172.当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据处理方法中的相关操作。
173.本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本发明任意实施例所述的数据处理方法。
174.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
175.值得注意的是,上述数据处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
176.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、
重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1