CN107203642A - 一种数据同步方法和装置 - Google Patents
一种数据同步方法和装置 Download PDFInfo
- Publication number
- CN107203642A CN107203642A CN201710465023.3A CN201710465023A CN107203642A CN 107203642 A CN107203642 A CN 107203642A CN 201710465023 A CN201710465023 A CN 201710465023A CN 107203642 A CN107203642 A CN 107203642A
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- map relation
- synchronized
- synchronization map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000001360 synchronised effect Effects 0.000 claims abstract description 116
- 238000013507 mapping Methods 0.000 claims description 63
- 238000012986 modification Methods 0.000 claims description 8
- 230000004048 modification Effects 0.000 claims description 8
- 230000008676 import Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 238000013506 data mapping Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 3
- 238000011835 investigation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供了一种数据同步方法和装置,该方法包括:预先设置数据同步构件;确定待采集业务系统,以及确定待同步业务系统;从所述待采集业务系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;从所述待同步业务系统获取待导入数据的至少一个业务表;针对所述至少一个中间表中的每一个所述中间表,均执行:确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。本方案能够提高数据同步的效率。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种数据同步方法和装置。
背景技术
随着企业的发展以及大数据时代的到来,各种企业管理软件越来越多的应用于企业中。为了加强企业管理,或者是满足某些特殊的业务需求,需在不同的企业管理软件间实现跨系统的数据交换,也就是将其它系统的数据同步至自身系统的过程。
目前,在进行跨系统的数据同步时,需针对所有不同的数据格式通过二次编程的方式一一进行实现。
但是,由于一个系统可能需要与其它多个系统进行数据同步,而且不同的数据格式的数量也非常多,那么针对每一个其它系统,且针对每一个数据格式均进行编程实现的话,将会耗费大量时间,造成数据同步的效率较低。
发明内容
本发明实施例提供了一种数据同步方法和装置,能够提高数据同步的效率。
第一方面,本发明实施例提供了一种数据同步方法,预先设置数据同步构件;还包括:
确定待采集业务系统,以及确定待同步业务系统;
从所述待采集业务系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;
从所述待同步业务系统获取待导入数据的至少一个业务表;
针对所述至少一个中间表中的每一个所述中间表,均执行:
确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;
根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
优选地,
所述确定当前中间表的相关内容与目标业务表相关内容的同步映射关系,包括:
确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
优选地,
所述当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系,包括:主键字段映射关系、关联字段映射关系和普通字段映射关系中的任意一种或多种。
优选地,
进一步包括:设置同步依据字段;
在所述确定当前中间表的相关内容与目标业务表相关内容的同步映射关系之后,且在所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中之前,进一步包括:
判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
优选地,
所述同步依据字段,包括:身份证号和手机号中的任意一种或多种;
优选地,
进一步包括:确定各个所述中间表分别对应的同步顺序;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
优选地,
在将所述将同步后的各个所述业务表导入所述待同步业务系统之后,进一步包括:
当所述待采集业务系统所提供的源数据出现新增、修改和删除中的任意一种或多种时,根据所述同步映射关系和所述数据同步构件,对相应的所述业务表中已同步的数据进行更新,并将更新后的所述业务表导入所述待同步业务系统。
第二方面,本发明实施例提供了一种数据同步装置,包括:
设置单元、获取单元、映射关系确定单元、数据同步单元;其中,
所述设置单元,用于预先设置数据同步构件;
所述获取单元,用于从所述待采集系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;以及从所述待同步业务系统获取待导入数据的至少一个业务表;
所述映射关系确定单元,用于针对所述至少一个中间表中的每一个所述中间表,均执行:确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;
所述数据同步单元,用于根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
优选地,
所述映射关系确定单元,具体用于确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;
所述数据同步单元,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
优选地,
进一步包括:依据字段设置单元和映射关系表确定单元;
所述依据字段设置单元,用于设置同步依据字段;
所述映射关系表确定单元,用于判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;
所述数据同步单元,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
优选地,
所述同步依据字段,包括:身份证号和手机号中的任意一种或多种。
优选地,
进一步包括:同步顺序确定单元;
所述数据同步单元,具体用于根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
本发明实施例提供了一种数据同步方法和装置,在进行跨系统的数据同步时,通过从确定的待采集业务系统中获取待同步的至少一个中间表,以及从确定的待同步业务系统中获取待导入数据的至少一个业务表,接下来针对每一个业务表,通过确定出当前中间表的相关内容与目标业务表相关内容的同步映射关系,那么就可以根据各个同步映射关系和预设的数据同步构件,将各个中间表中的源数据同步至相对应的业务表中,而整个过程无需再通过一一编程的方式实现,因此本方案能够提高数据同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种数据同步方法的流程图;
图2是本发明另一个实施例提供的一种数据同步方法的流程图;
图3是本发明一个实施例提供的一种数据同步装置的结构示意图;
图4是本发明另一个实施例提供的一种数据同步装置的结构示意图;
图5是本发明又一个实施例中提供的一种数据同步装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种数据同步方法,该方法可以包括以下步骤:
步骤101:预先设置数据同步构件。
步骤102:确定待采集业务系统,以及确定待同步业务系统。
步骤103:从所述待采集业务系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据。
步骤104:从所述待同步业务系统获取待导入数据的至少一个业务表。
步骤105:针对所述至少一个中间表中的每一个所述中间表,确定当前中间表的相关内容与目标业务表相关内容的同步映射关系。
步骤106:根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
本发明实施例提供了一种数据同步方法和装置,在进行跨系统的数据同步时,通过从确定的待采集业务系统中获取待同步的至少一个中间表,以及从确定的待同步业务系统中获取待导入数据的至少一个业务表,接下来针对每一个业务表,通过确定出当前中间表的相关内容与目标业务表相关内容的同步映射关系,那么就可以根据各个同步映射关系和预设的数据同步构件,将各个中间表中的源数据同步至相对应的业务表中,而整个过程无需再通过一一编程的方式实现,因此本方案能够提高数据同步的效率。
为了能够确定表与表之间、字段与字段之间以及主键值与主键值之间的同步映射关系,本发明一个实施例中,所述步骤105的具体实施方式,可包括:确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;所述步骤106的具体实施方式,可包括:根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
其中,为能够确定出当前中间表相关内容与目标业务表相关内容的同步映射关系,可向实施人员展示同步映射配置的界面,从而可以根据实时人员在该界面上的点击触发,来确定表与表之间、字段与字段之间、主键值与主键值之间的同步映射关系。
例如,人力系统需要获取财务系统的人员信息,其中,从财务系统获取到的是以表名称为人员基本信息的中间表,从人力系统获取到的是以表名称以人员主信息的业务表,因此实施人员在界面上进行配置时,首先为该人员基本信息中间表同步映射人员主信息业务表,此时可以确定的是表与表之间的第一同步映射关系,其次人员基本信息中间表中存在的字段是人员姓名,而人员主信息业务表中的存在的字段是姓名,此时可以进行人员姓名和姓名之间的映射,确定的是字段与字段之间的第二同步映射关系,最终人员基本信息中间表中针对陕西省的主键值为11,而人员主信息业务表中针对陕西省的主键值为abc,此时可以进行11和abc之间的第三映射关系,确定的是主键值与主键值之间的第三同步映射关系。
另外,在进行主键值的映射时,也即进行数据映射时,也通过自动数据映射和手动数据映射两种方式,其中,自动数据映射可根据设置的同步依据字段,将业务表与中间表的主键数据进行映射保存;而采用手动映射,在首次同步时,需进行初始化数据映射,确保业务表与中间表主键信息映射正确。
本发明一个实施例中,所述当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系,包括:主键字段映射关系、关联字段映射关系和普通字段映射关系中的任意一种或多种。
其中,为便于实施人员进行配置,每一个中间表和相对应的业务表可以确定是对应一个同步项,如上述实施例中的人员信息可以认为是人员基本信息中间表和人员主信息业务表对应的同步项,而人员基本信息中间表中所包含的字段,如人员姓名、身份证号、性别、职位及开户银行等均可确定是不同的同步映射项目,实时人员可在提供的界面中首先选择出同步项,然后针对当前的同步项选择相应的中间表和业务表,并在进行同步映射项目的映射。
其中,主键字段映射,可用于其他映射项目关联主键,生成数据映射数据;关联字段映射,需注明关联的同步项ID,同步时,会根据中间表的ID联查到业务表中的同步项ID,联查对应同步业务表ID,最终存储到关联字段;普通字段映射,普通字段映射在同步数据时不进行任何数据加工,直接同步。
为了快速建立映射关系,本发明一个实施例中,进一步包括:设置同步依据字段;在所述步骤105之后,且在所述步骤106之前,可进一步包括:判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;所述步骤106的具体实施方式,可包括:根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
针对业务表中不存在的数据,需通过同步映射关系将相应中间表中的源数据导入该业务表中,那么针对两个表中均存在的数据,还需确定相同数据之间的映射关系表。本发明实施例中所使用的同步依据字段需要是唯一的,例如,唯一的身份证号、手机号等均可。其中,建立数据映射时,自动根据同步项相同的设置自动数据映射。快速建映射的关系。
本发明一个实施例中,所述同步依据字段,包括:身份证号和手机号中的任意一种或多种;进一步包括:确定各个所述中间表分别对应的同步顺序;所述根据各个所述同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
例如,有两个中间表分别对应人员信息和组织信息,那么确定的相应同步顺序依次为组织信息、人员信息,也即首先同步对应组织信息的中间表,其次再同步对应人员信息的中间表。
本发明一个实施例中,在所述步骤106之后,可进一步包括:当所述待采集业务系统所提供的源数据出现新增、修改和删除中的任意一种或多种时,根据所述同步映射关系和所述数据同步构件,对相应的所述业务表中已同步的数据进行更新,并将更新后的所述业务表导入所述待同步业务系统。
本发明实施例中可预置自动同步数据规则,可如下:
对于新增数据设置状态字段State为1,修改为2,删除为3。
新增时,数据同步构件读取数据结构映射信息,逐条进行数据处理,主键由系统自动生成,关联项读取关联同步项信息获取对应键值数据,生成业务数据库新增操作脚本,生成数据映射脚本,存储于堆栈中。
修改时,数据同步构件根据主键读取数据映射信息,联查关联同步项信息获取对应键值数据,生成业务数据库修改操作脚本,生成更新数据映射最后修改时间脚本,存储于堆栈中。
删除时,数据同步构件根据主键读取数据映射信息,生成删除业务数据脚本,生成更新数据映射最后时间脚本,生成备份最后同步前数据脚本,存储于堆栈中。
下面将详细说明本发明实施例提供的一种数据同步方法,如图2所示,该方法可以包括以下步骤:
步骤201:预先设置数据同步构件。
本发明实施例中,针对复杂的业务表同步,可进行二次开发业务同步构建的设置,并利用该二次开发业务同步构件实现数据的同步。
步骤202:确定待采集业务系统A,以及确定待同步业务系统B。
例如,A系统为财务系统,B系统为人力系统,A和B为异构系统。
步骤203:从系统中获取待同步的至少一个中间表;其中,各个中间表中存储有A系统所提供的源数据。
在具体实现时,可向系统发送数据同步操作请求,然后A系统会根据该请求进行至少一个中间表的设置,并提供这至少一个中间表,且这些中间表的格式等均是对应A系统的。
步骤204:从B系统中获取待导入数据的至少一个业务表。
步骤205:针对至少一个中间表中的每一个中间表,均执行:确定当前中间表自身与目标业务表自身的第一同步映射关系。
例如,A系统中表名称为人员基本信息的中间表映射B系统中表名称为人员主信息的业务表。
步骤206:确定当前中间表中的字段与目标业务表中的字段的第二同步映射关系。
例如,人员基本信息的中间表中的人员姓名映射人员主信息的业务表中的姓名。
步骤207:确定当前中间表中的主键值和目标业务表中的主键值的第三同步映射关系。
例如,人员基本信息的中间表中对应山东省的主键值01映射人员主信息的业务表中对应山东省的主键值ce。
步骤208:设置同步依据字段为身份证号。
本发明实施例中只是以身份证号为例,但并不局限于此,还可以设置为手机号等等。
步骤209:判断当前中间表和目标业务表中是否包含均包含身份证号,如果是,则执行步骤210,否则结束当前流程。
步骤210:根据身份证号,确定当前中间表和目标业务表中所包含的相同数据之间的映射关系表。
对于业务表中不存在的数据需进行同步,而对于业务表和相应的中间表中存在的相同数据还需确定数据映射关系。
步骤211:确定各个中间表分别对应的同步顺序。
例如,有两个同步项,分别是组织信息和人员信息,那么同步顺序则为先组织信息,后人员信息。
步骤212:根据同步顺序、相对应的各个第一同步映射关系、相对应的各个第二同步映射关系、相对应的各个第三同步映射关系、相对应的映射关系表和数据同步构件,将各个所述中间表中的源数据同步至相对应的业务表中,并将同步后的各个业务表导入B系统中。
在本发明实施例中,可针对同步过程生成的同步结果存储至预设的同步结果表中,以便之后在数据同步失败时,便于追查数据同步失败问题。
步骤213:当A系统所提供的源数据出现新增、修改和删除中的任意一种或多种时,根据各个第一同步映射关系、相对应的各个第二同步映射关系、相对应的各个第三同步映射关系和数据同步构件,对相应的业务表中已同步的数据进行更新,并将更新后的业务表导入B系统。
如图3所示,本发明实施例提供了一种数据同步装置,包括:
设置单元301、获取单元302、映射关系确定单元303、数据同步单元304;其中,
所述设置单元301,用于预先设置数据同步构件;
所述获取单元302,用于从所述待采集系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;以及从所述待同步业务系统获取待导入数据的至少一个业务表;
所述映射关系确定单元303,用于针对所述至少一个中间表中的每一个所述中间表,均执行:确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;
所述数据同步单元304,用于根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
本发明一个实施例中,所述映射关系确定单元303,具体用于确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;
所述数据同步单元304,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
本发明一个实施例中,如图4所示,进一步包括:依据字段设置单元401和映射关系表确定单元402;
所述依据字段设置单元401,用于设置同步依据字段;
所述映射关系表确定单元402,用于判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;
所述数据同步单元304,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
本发明一个实施例中,所述同步依据字段,包括:身份证号和手机号中的任意一种或多种;
本发明一个实施例中,如图5所示,进一步包括:同步顺序确定单元501;
所述数据同步单元501,具体用于根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上,本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,在进行跨系统的数据同步时,通过从确定的待采集业务系统中获取待同步的至少一个中间表,以及从确定的待同步业务系统中获取待导入数据的至少一个业务表,接下来针对每一个业务表,通过确定出当前中间表的相关内容与目标业务表相关内容的同步映射关系,那么就可以根据各个同步映射关系和预设的数据同步构件,将各个中间表中的源数据同步至相对应的业务表中,而整个过程无需在通过一一编程的方式实现,因此本方案能够提高数据同步的效率。
2、在本发明实施例中,通过设置同步依据字段,可以根据该同步依据字段,快速的建立数据映射关系。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据同步方法,其特征在于,预先设置数据同步构件;还包括:
确定待采集业务系统,以及确定待同步业务系统;
从所述待采集业务系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;
从所述待同步业务系统获取待导入数据的至少一个业务表;
针对所述至少一个中间表中的每一个所述中间表,均执行:
确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;
根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
2.根据权利要求1所述的数据同步方法,其特征在于,
所述确定当前中间表的相关内容与目标业务表相关内容的同步映射关系,包括:
确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
3.根据权利要求2所述的数据同步方法,其特征在于,
所述当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系,包括:主键字段映射关系、关联字段映射关系和普通字段映射关系中的任意一种或多种。
4.根据权利要求2所述的数据同步方法,其特征在于,
进一步包括:设置同步依据字段;
在所述确定当前中间表的相关内容与目标业务表相关内容的同步映射关系之后,且在所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中之前,进一步包括:
判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
5.根据权利要求4所述的数据同步方法,其特征在于,
所述同步依据字段,包括:身份证号和手机号中的任意一种或多种;
和/或,
进一步包括:确定各个所述中间表分别对应的同步顺序;
所述根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,包括:
根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
6.根据权利要求1-5任一所述的数据同步方法,其特征在于,
在将所述将同步后的各个所述业务表导入所述待同步业务系统之后,进一步包括:
当所述待采集业务系统所提供的源数据出现新增、修改和删除中的任意一种或多种时,根据所述同步映射关系和所述数据同步构件,对相应的所述业务表中已同步的数据进行更新,并将更新后的所述业务表导入所述待同步业务系统。
7.一种数据同步装置,其特征在于,包括:
设置单元、获取单元、映射关系确定单元、数据同步单元;其中,
所述设置单元,用于预先设置数据同步构件;
所述获取单元,用于从所述待采集系统获取待同步的至少一个中间表;其中,各个所述中间表中存储有所述待采集业务系统提供的源数据;以及从所述待同步业务系统获取待导入数据的至少一个业务表;
所述映射关系确定单元,用于针对所述至少一个中间表中的每一个所述中间表,均执行:确定当前中间表的相关内容与目标业务表相关内容的同步映射关系;
所述数据同步单元,用于根据各个所述同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中,并将同步后的各个所述业务表导入所述待同步业务系统。
8.根据权利要求7所述的数据同步装置,其特征在于,
所述映射关系确定单元,具体用于确定当前中间表自身与目标业务表自身的第一同步映射关系;确定当前中间表中的字段与所述目标业务表中的字段的第二同步映射关系;确定当前中间表中的主键值与所述目标业务表中的主键值的第三同步映射关系;
所述数据同步单元,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
9.根据权利要求8所述的数据同步装置,其特征在于,
进一步包括:依据字段设置单元和映射关系表确定单元;
所述依据字段设置单元,用于设置同步依据字段;
所述映射关系表确定单元,用于判断所述当前中间表和所述目标业务表中是否均包含所述同步依据字段,如果是,则根据所述同步依据字段,确定所述当前中间表和所述目标业务表中所包含的相同数据之间的映射关系表;
所述数据同步单元,具体用于根据各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
10.根据权利要求9所述的数据同步装置,其特征在于,
所述同步依据字段,包括:身份证号和手机号中的任意一种或多种;
和/或,
进一步包括:同步顺序确定单元;
所述数据同步单元,具体用于根据所述同步顺序、相对应的各个所述第一同步映射关系、相对应的各个所述第二同步映射关系、相对应的各个所述第三同步映射关系、相对应的所述映射关系表和所述数据同步构件,将各个所述中间表中的源数据同步至相对应的所述业务表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710465023.3A CN107203642A (zh) | 2017-06-19 | 2017-06-19 | 一种数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710465023.3A CN107203642A (zh) | 2017-06-19 | 2017-06-19 | 一种数据同步方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107203642A true CN107203642A (zh) | 2017-09-26 |
Family
ID=59907562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710465023.3A Pending CN107203642A (zh) | 2017-06-19 | 2017-06-19 | 一种数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107203642A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989385A (zh) * | 2018-06-05 | 2018-12-11 | 陈艳 | 一种基于Zabbix监控采集自动同步CMDB的实现方法 |
CN109408565A (zh) * | 2018-10-19 | 2019-03-01 | 浪潮软件集团有限公司 | 一种数据同步交互方法、系统和数据交互平台 |
CN109857768A (zh) * | 2018-12-29 | 2019-06-07 | 电大在线远程教育技术有限公司 | 一种大数据聚合查询方法 |
CN111241046A (zh) * | 2020-01-14 | 2020-06-05 | 深圳震有科技股份有限公司 | 一种系统之间同步文本的方法、存储介质及终端设备 |
CN113961569A (zh) * | 2021-12-22 | 2022-01-21 | 上海柯林布瑞信息技术有限公司 | 一种医疗数据etl任务同步方法和装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及系统 |
CN103927327A (zh) * | 2014-03-18 | 2014-07-16 | 深圳市迈科龙电子有限公司 | 一种信息系统协同作业的数据库数据捕捉策略配置方法 |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN104615759A (zh) * | 2015-02-13 | 2015-05-13 | 厦门雅迅网络股份有限公司 | 一种不同业务系统平台间的数据同步方法 |
CN106570135A (zh) * | 2016-10-27 | 2017-04-19 | 深圳市中科长海科技股份有限公司 | 数据库数据同步方法和装置 |
CN106570086A (zh) * | 2016-10-19 | 2017-04-19 | 上海携程商务有限公司 | 数据迁移系统及数据迁移方法 |
CN106682002A (zh) * | 2015-11-05 | 2017-05-17 | 中兴通讯股份有限公司 | 数据库同步方法及系统、源数据和目标数据同步装置 |
-
2017
- 2017-06-19 CN CN201710465023.3A patent/CN107203642A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129478A (zh) * | 2011-04-26 | 2011-07-20 | 广州从兴电子开发有限公司 | 数据库同步方法及系统 |
CN103927327A (zh) * | 2014-03-18 | 2014-07-16 | 深圳市迈科龙电子有限公司 | 一种信息系统协同作业的数据库数据捕捉策略配置方法 |
CN104376062A (zh) * | 2014-11-11 | 2015-02-25 | 中国有色金属长沙勘察设计研究院有限公司 | 一种异构数据库平台数据的同步方法 |
CN104615759A (zh) * | 2015-02-13 | 2015-05-13 | 厦门雅迅网络股份有限公司 | 一种不同业务系统平台间的数据同步方法 |
CN106682002A (zh) * | 2015-11-05 | 2017-05-17 | 中兴通讯股份有限公司 | 数据库同步方法及系统、源数据和目标数据同步装置 |
CN106570086A (zh) * | 2016-10-19 | 2017-04-19 | 上海携程商务有限公司 | 数据迁移系统及数据迁移方法 |
CN106570135A (zh) * | 2016-10-27 | 2017-04-19 | 深圳市中科长海科技股份有限公司 | 数据库数据同步方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989385A (zh) * | 2018-06-05 | 2018-12-11 | 陈艳 | 一种基于Zabbix监控采集自动同步CMDB的实现方法 |
CN109408565A (zh) * | 2018-10-19 | 2019-03-01 | 浪潮软件集团有限公司 | 一种数据同步交互方法、系统和数据交互平台 |
CN109408565B (zh) * | 2018-10-19 | 2021-09-28 | 浪潮软件科技有限公司 | 一种数据同步交互方法、系统和数据交互平台 |
CN109857768A (zh) * | 2018-12-29 | 2019-06-07 | 电大在线远程教育技术有限公司 | 一种大数据聚合查询方法 |
CN109857768B (zh) * | 2018-12-29 | 2023-09-08 | 电大在线远程教育技术有限公司 | 一种大数据聚合查询方法 |
CN111241046A (zh) * | 2020-01-14 | 2020-06-05 | 深圳震有科技股份有限公司 | 一种系统之间同步文本的方法、存储介质及终端设备 |
CN113961569A (zh) * | 2021-12-22 | 2022-01-21 | 上海柯林布瑞信息技术有限公司 | 一种医疗数据etl任务同步方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203642A (zh) | 一种数据同步方法和装置 | |
US9026901B2 (en) | Viewing annotations across multiple applications | |
CN103516591B (zh) | 即时通信平台中企业通讯录的实现方法和装置 | |
CN102682096B (zh) | 一种仿真资源信息与模型源码协同管理装置及其方法 | |
CN105162627B (zh) | 发现与呈现网络应用访问信息的方法和系统 | |
CN102663076B (zh) | 文件数据处理方法 | |
CN108647279A (zh) | 基于字段复用的表单处理方法、装置、介质及存储控制器 | |
CN106708941B (zh) | 电网多任务在线协同编辑方法 | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN106503158A (zh) | 数据同步方法及装置 | |
CN107291674A (zh) | 一种将Excel表格数据转换为数据库格式的方法 | |
CN107656970A (zh) | 一种数据同步方法、装置及服务器 | |
CN102272751A (zh) | 在数据库环境通过背景同步的数据完整性 | |
CN104616134A (zh) | 一种报表分析报告推送方法及装置 | |
CN111177244A (zh) | 面向多个异构数据库的数据关联分析方法 | |
CN104298761A (zh) | 一种异构软件系统间主数据匹配的实现方法 | |
CN103914487A (zh) | 文档的采集、标识及关联的系统 | |
CN109615700A (zh) | 三维虚拟现实隧道监测系统及其操作方法 | |
CN107943765A (zh) | 基于多源异构遥感数据自动存档控制系统及其控制方法 | |
CN109800069B (zh) | 一种实现数据治理的方法及装置 | |
CN106301891A (zh) | 一种网络设备配置信息处理方法及装置 | |
CN106250501A (zh) | 报表处理方法及报表系统 | |
CN107844566A (zh) | 一种dump控制方法及其系统 | |
CN109753357A (zh) | 虚拟机管理平台的资源及网络拓扑构建方法、设备、介质 | |
CN109710693A (zh) | 一种ldap域数据同步的递归实现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170926 |