CN111367886A - 数据库中数据迁移的方法及装置 - Google Patents
数据库中数据迁移的方法及装置 Download PDFInfo
- Publication number
- CN111367886A CN111367886A CN202010136428.4A CN202010136428A CN111367886A CN 111367886 A CN111367886 A CN 111367886A CN 202010136428 A CN202010136428 A CN 202010136428A CN 111367886 A CN111367886 A CN 111367886A
- Authority
- CN
- China
- Prior art keywords
- data
- content
- xml file
- database
- migration
- 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.)
- Granted
Links
- 230000005012 migration Effects 0.000 title claims abstract description 128
- 238000013508 migration Methods 0.000 title claims abstract description 128
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012795 verification Methods 0.000 claims abstract description 41
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000006243 chemical reaction Methods 0.000 claims abstract description 28
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 238000005192 partition Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 238000013501 data transformation Methods 0.000 claims 2
- 230000009286 beneficial effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据库中数据迁移的方法及装置,涉及大数据技术领域,采用的伪随机校验方案能够在确保数据迁移通过率及准确率的同时保证数据迁移的效率。该方法包括:配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;根据数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至目标数据库,XML文件包括数据内容和数据字典信息;解析XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;将校验通过的XML文件中全部数据内容的字段,依照字段映射模型进行数据转换后迁入目标数据库。该装置应用有上述方案所提的方法。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种用于数据库的数据迁移装置和数据迁移方法。
背景技术
随着企业规模的逐渐壮大,需要投入更多的成本维护支撑企业的数据库***。而不论是新业务***上线,还是老***的升级备份,都会涉及到数据迁移业务。
在大型企业中通常不止一个源数据库,各数据库间的交互关系复杂,经常会出现数据质量问题,普通的数据导入导出方案已经无法应对这种复杂多变的数据迁移。而且,数据迁移过程一般耗时较长,在数据迁移前若不重视数据校验,容易导致的后果是一旦迁移的数据发生错误,则需要重新迁移,造成了时间和资源上的极大浪费。
现有技术中,通常采取的是对迁移的数据进行全量校验方案,此种校验方案速度慢效率低,增加了数据迁移的耗时。
发明内容
本发明的目的在于提供一种数据库中数据迁移的方法及装置,采用的伪随机校验方案能够在确保数据迁移通过率和准确率的同时保证数据迁移的效率。
为了实现上述目的,本发明的一方面提供一种数据库中数据迁移的方法,包括:
配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;
根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库,所述XML文件包括数据内容和数据字典信息;
解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;
将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库。
示例性地,所述数据迁移规则分为一般性规则和校验性规则;
所述一般性规则包括数据迁移范围规则、数据迁移增全量规则和数据传输时效性规则;
所述校验性规则包括数据文件接口校验规则、数据文件一致性校验规则和数据文件命名校验规则。
可选地,所述字段映射模型中包括多个映射字段,所述映射字段用于将源数据库中的字段一一对应的转换为目标数据库中的字段,所述转换操作包括合并、拆分、计算、值替换、格式转换中的一种或多种。
优选地,根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库的方法包括:
根据所述数据迁移范围规则,从源数据库抽取对应范围的源表数据;
将所述源表数据拆分成一份或多份,并根据所述源表数据拆分的份数一一对应的生成XML文件;
将所述XML文件由源数据库发送至目标数据库进行校验。
优选地,所述伪随机序列的生成方法为:
采用线性同余法作为伪随机序列算法生成伪随机序列。
优选地,解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作的方法包括:
采用DOM4J解析器解析所述XML文件,读取XML文件的数据内容和数据字典信息;
参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验,且在校验错误时回执报错。
优选地,参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验的方法包括:
所述伪随机序列中的每个字符值代表数据内容中需校验的内容行数,选取连续的m个字符值对每个XML文件中对应行数的内容进行校验,所述m为正整数;
对所述内容的校验包括表结构校验和字段类型校验,所述表结构校验是将数据内容中对应行数的内容记载的表结构与数据字典信息中对应内容记载的表结构比对,校验两者记载的表结构是否发生变更;
所述字段类型校验是将数据内容中对应行数的内容分割成多个字段,依次将每个字段与数据字典信息中对应内容记载的字段比对,校验两者记载的字段类型是否发生变更。
优选地,在步骤将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库之前还包括:
检索目标数据库中是否存在与所述XML文件中对应的表结构,若不存在则在目标数据库建立相应表结构的目标表。
优选地,将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库的方法包括:
对通过表结构校验和字段类型校验的XML文件,将其全部数据内容的字段依照所述字段映射模型进行数据转换;
识别所述XML文件中的数据内容,若数据内容为流水内容则将转换后的字段直接写入目标表中相应的分区,若数据内容为状态内容将目标表设置为拉链表后再将转换后的字段写入;
将目标表写入目标数据库中的数据仓库。
与现有技术相比,本发明提供的数据库中数据迁移的方法具有以下有益效果:
本发明提供的数据库中数据迁移的方法中,预先配置源数据库和目标数据库的数据迁移规则,约定源数据库和目标数据库的迁移规范,由于源数据库中的源表与目标数据库中目标表的字段存在异构,因此还需构建用于数据转换的字段映射模型,然后根据数据迁移规则从源数据库中获取指定范围的迁移数据,并将这些迁移数据封装成至少一个XML文件发送给目标数据库,之后由目标数据库解析XML文件并读取其中的数据内容和数据字典信息,通过参照伪随机序列抽取部分的数据内容执行校验操作,校验通过后再将XML文件中全部数据内容的字段按照字段映射模型执行数据转换操作后迁入目标数据库,完成源数据库至目标数据库间的数据迁移。
可见,本发明充分考虑了数据迁移流程的复杂性,通过提前定义的数据迁移规则来约定源数据库和目标数据库的责任和工作内容,使得源数据库根据数据迁移规则抽取指定范围的迁移数据,目标数据库负责数据的迁入,采用预处理的方式对抽取的迁移数据进行伪随机校验,由于伪随机序列能够实现随机抽样的均匀性,因此通过伪随机序列抽取的迁移数据能够很好的反映出XML文件中的数据形态,本发明仅对抽样的迁移数据进行校验,可以确保整体迁移数据的通过率和准确率,另外,抽样校验相对于全量校验的方案显著提升了校验速度,进而能够加快数据迁移的效率。
本发明的第二方面提供一种数据库中数据迁移的装置,应用于上述技术方案提到的数据库中数据迁移的方法,该装置包括:
配置模块,配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;
封装模块,用于根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库,所述XML文件包括数据内容和数据字典信息;
校验模块,用于解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;
迁入模块,用于将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库。
与现有技术相比,本发明提供的数据库中数据迁移装置的有益效果与上述技术方案提供的数据库中数据迁移方法的有益效果相同,在此不做赘述。
本发明的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述数据库中数据迁移方法的步骤。
与现有技术相比,本发明提供的计算机可读存储介质的有益效果与上述技术方案提供的数据库中数据迁移方法的有益效果相同,在此不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为实施例一中数据库中数据迁移方法的一种流程示意图;
图2为实施例一中数据库中数据迁移方法的另一种流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
实施例一
请参阅图1和图2,本实施例提供一种数据库中数据迁移的方法,包括:
配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;根据数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至目标数据库,XML文件包括数据内容和数据字典信息;解析XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;将校验通过的XML文件中全部数据内容的字段,依照字段映射模型进行数据转换后迁入目标数据库。
本实施例提供的数据库中数据迁移的方法中,预先配置源数据库和目标数据库的数据迁移规则,约定源数据库和目标数据库的迁移规范,由于源数据库中的源表与目标数据库中目标表的字段存在异构,因此还需构建用于数据转换的字段映射模型,然后根据数据迁移规则从源数据库中获取指定范围的迁移数据,并将这些迁移数据封装成至少一个XML文件发送给目标数据库,之后由目标数据库解析XML文件并读取其中的数据内容和数据字典信息,通过参照伪随机序列抽取部分的数据内容执行校验操作,校验通过后再将XML文件中全部数据内容的字段按照字段映射模型执行数据转换操作后迁入目标数据库,完成源数据库至目标数据库的数据迁移。
可见,本实施例充分考虑了数据迁移流程的复杂性,通过提前定义的数据迁移规则来约定源数据库和目标数据库的责任和工作内容,使得源数据库根据数据迁移规则抽取指定范围的迁移数据,目标数据库负责数据的迁入,采用预处理的方式对抽取的迁移数据进行伪随机校验,由于伪随机序列能够实现随机抽样的均匀性,因此通过伪随机序列抽取的迁移数据能够很好的反映出XML文件中的数据形态,本实施例仅对抽样的迁移数据进行校验,可以确保整体迁移数据的通过率和准确率,另外,抽样校验相对于全量校验的方案显著提升了校验速度,进而能够加快数据迁移的效率。
上述实施例中,数据迁移规则分为一般性规则和校验性规则;一般性规则包括数据迁移范围规则、数据迁移增全量规则和数据传输时效性规则;校验性规则包括数据文件接口校验规则、数据文件一致性校验规则和数据文件命名校验规则。
需要说明的是,大多数企业的数据迁移场景是从各个业务***将数据迁移到大数据平台,因此,大数据平台作为企业所有数据的汇集平台,需要对接的源***特别多,数据迁移的频次也非常高,所以需要预先约定好源数据库与目标数据库间的数据迁移规则,在明确各方职责后方能屏蔽源数据库的差异性,提供给下游应用准确的数据。
具体实施时,数据迁移规则是通过充分梳理源数据库设计模型而形成的通用数据迁移规则,其中,数据迁移范围是指可迁移的源表数量范围、可迁移数据的时间范围等;数据迁移增全量规则是指一次性将源表数据全量迁出或者将源表中的增量数据按时间节点定时迁出;数据传输时效性规则主要是为了确保数据迁移的及时性,例如要求在30分钟内完成数据迁移;数据文件接口校验规则主要是为了校验源数据库迁出的数据文件和目标数据库迁入的数据文件是否属于同一数据文件;数据文件一致性校验规则是为了校验源数据库迁出的数据文件和目标数据库迁入的数据文件是否被更改,以确保迁入和迁出的数据文件内容的一致性;数据文件命名校验规则是为了校验源数据库迁出的数据文件和目标数据库迁入的数据文件的命名是否被更改,以确保迁入和迁出的数据文件命名的一致性。通过上述数据迁移规则的设定,能够在保证迁移数据的准确性、完整性和及时性的同时,尽量减小源数据库与目标数据库间的异构影响。
需要注意的是,由于各个源数据库和目标数据库之间存在异构,源表和目标表可能存在三种关系:“一对一”、“一对多”或“多对一”,但是本实施例充分考虑了数据的贴源性,不考虑“一对多”和“多对一”情况。
示例性地,上述实施例中的字段映射模型中包括多个映射字段,映射字段用于将源数据库中的字段一一对应的转换为目标数据库中的字段,转换操作包括合并、拆分、计算、值替换、格式转换中的一种或多种,其中格式转换包括单位统一、日期格式统一、精度统一等。
本实施例对常见的源数据库中的字段类型进行了梳理,并根据字段类型特征梳理了对应的映射字段类型,部分展示如下表:
示例性地,若源数据库的迁移数据中存在“LONG”类型字段,在向目标数据库迁入过程中,需将迁移数据中的全部“LONG”类型字段参照字段映射模型替换为“STRING”类型字段,以此类推,直至迁移数据中的全部字段转换完成后再执行向目标数据库的迁入。
上述实施例中,根据数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至目标数据库的方法包括:
根据数据迁移范围规则,从源数据库抽取对应范围的源表数据;将源表数据拆分成一份或多份,并根据源表数据拆分的份数一一对应的生成XML文件;将XML文件由源数据库发送至目标数据库进行校验。
具体实施时,源***根据数据迁移范围规则从源数据库抽取对应范围的源表数据生产XML文件,XML文件包括数据内容和数据字典信息,数据字典信息包括表结构和数据描述,其中数据描述又包括字段说明、大小说明、行数说明、所属库说明等信息,目标***通过读取XML文件的数据字典信息,可以获取迁移数据的基本属性信息。
为了便于理解,现给出一个XML文件做示例性说明:
上述实施例中的伪随机序列生成方法为:采用线性同余法作为伪随机序列算法生成一伪随机序列。
使用线性同余法作为伪随机序列的生成算法,在保证抽样均匀性的同时也确保了抽样的随机性,因此通过伪随机序列抽取出的数据内容能够最大程度的反映出XML文件的基本情况,另外,伪随机校验一方面可以大概率的对XML文件的基本情况进行校验,另一方面可以通过抽样提前发现XML文件出现的问题,避免后续过程再浪费时间和资源。
上述实施例中解析XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作的方法包括:
采用DOM4J解析器解析XML文件,读取XML文件的数据内容和数据字典信息;参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验,且在校验错误时回执报错。
具体实施时,数据字典信息中记载了XML文件中对数据内容的数据描述,可根据数据描述迅速定位到数据内容的指定行代码,参照伪随机序列抽取对应行的代码进行校验。
进一步地,上述实施例中参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验的方法包括:
伪随机序列中的每个字符值代表数据内容中需校验的内容行数,选取连续的m个字符值对每个XML文件中对应行数的内容进行校验,m为正整数;对内容的校验包括表结构校验和字段类型校验,表结构校验是将数据内容中对应行数的内容记载的表结构与数据字典信息中对应内容记载的表结构比对,校验两者记载的表结构是否发生变更;字段类型校验是将数据内容中对应行数的内容分割成多个字段,依次将每个字段与数据字典信息中对应内容记载的字段比对,校验两者记载的字段类型是否发生变更。
在步骤将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库之前还包括:
检索目标数据库中是否存在与所述XML文件中对应的表结构,若不存在则在目标数据库建立相应表结构的目标表。
示例性地,伪随机序列为(11、6、14、17、33、42、……),若m取值为5,则顺序选取伪随机序列中连续的5个字符值(11、6、14、17、33、42)对第一个XML文件中对应行数的内容进行校验,也即分别选取11行代码、6行代码、14行代码、17行代码、33行代码、42行代码分别进行表结构和字段类型的校验,其他行代码不再做校验。
举例说明,表结构对应的信息包括***号、账号、账户名、库名、表名、表字段名等,对表结构校验时,首先识别XML文件中的表结构信息,根据这些表结构信息判断是否为首次迁入目标数据库,若是则创建对应表结构的目标新表准备入库,若不是则使用对应的现有目标表准备入库。其中,表结构校验主要是校验对应行代码记载的表结构字段与XML文件描述的表结构字段是否一致,以校验表结构是否发生变更,如果发生变更则返回错误信息,如果未发生变更则表结构校验通过,继续字段类型的校验,字段类型校验主要是校验对应行代码中每个字段对应的数据类型和XML文件描述的数据类型是否一致,具体过程为将对应行代码使用分隔符进行分割,分割后的每个字段按顺序和XML文件中描述的字段一一对照比对,以校验字段的数据类型是否发生变更,如果发生变更则返回错误信息,如果未发生变更则字段类型校验通过。
上述实施例中,将校验通过的XML文件中全部数据内容的字段,依照字段映射模型进行数据转换后迁入目标数据库的方法包括:
对通过表结构校验和字段类型校验的XML文件,将其全部数据内容的字段依照字段映射模型进行数据转换;识别XML文件中的数据内容,若数据内容为流水内容则将转换后的字段直接写入目标表中相应的分区,若数据内容为状态内容将目标表设置为拉链表后再将转换后的字段写入;将目标表写入目标数据库中的数据仓库。
具体实施时,源***与目标***之间的异构,既包括类型异构也包括表结构和字段异构。因此在数据迁入目标数据库之前首先需完成表结构转换,如果XML文件中的数据内容为流水内容,则将转换后的字段直接写入目标表中相应的分区表,也即直接将数据内容增加至目标表中相应的分区,然后直接利用动态分区进行装载入库,如果业务源***发送的是状态内容,记录的是信息的变化和状态,目标表可设置为拉链表,在数据发送变化的时候进行“闭链-开新链”操作。
接着根据定义的数据类型映射表,对表结构中的数据内容进行字段类型的转换,将发送过来的XML文件转换成符合目标数据库条件的字段类型,例如,源数据的字段类型是varchar2,目标表中要求的字段类型是String类型,转换时可根据约定的映射关系进行相应的字段转换,保证了数据状态的的可追溯性。
经过前面的校验和转换后,载有转换字段的目标表通过目标数据库的ODS层可直接进行装载,此时经过上述的伪随机校验,减少了因表结构变更导致的未及时同步更新信息产生的报错事件发生,通过数据转换保证了迁入数据的可用性,减少了数据装载发生错误的概率,使得迁入数据的装载过程更为便利。
综上,本实施了提供的数据库中数据迁移方法具有以下有益效果:
1、针对源***众多,业务流程复杂和数据库异构的问题,制定了统一的数据迁移规则,屏蔽了各***的“差异性”;
2、考虑了源***根据业务需求变化引起的数据库和数据表结构变化的情况,在每次接入目标***的时候,根据XML文件中的数据库和表结构的描述变化适应性修改表结构,实现了动态适应数据库和表结构变化的功能,更能适应数据迁移过程中的业务需要。
3、采用预处理的方式,对业务源***发送过来的XML文件进行伪随机校验,确保了数据内容和数据定义描述的一致性,如果校验结果不一致则返回报错,减少了数据迁入在时间和资源上的浪费,同时伪随机校验具有较佳的均匀性和随机性,校验的时间短,提升了数据迁移的效率。
4、对XML文件进行预先解析能够保证迁移数据的质量,确保数据迁移过程中将正确数据加载到目标数据库的数据仓库中。
实施例二
本实施例提供一种数据库中数据迁移的装置,包括:
配置模块,配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;
封装模块,用于根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库,所述XML文件包括数据内容和数据字典信息;
校验模块,用于解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;
迁入模块,用于将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库。
与现有技术相比,本实施例提供的数据库中数据迁移装置的有益效果与上述实施例提供的数据库中数据迁移方法的有益效果相同,在此不做赘述。
实施例三
本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述数据库中数据迁移方法的步骤。
与现有技术相比,本实施例提供的计算机可读存储介质的有益效果与上述技术方案提供的数据库中数据迁移方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,上述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据库中数据迁移的方法,其特征在于,包括:
配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;
根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库,所述XML文件包括数据内容和数据字典信息;
解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;
将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述数据迁移规则分为一般性规则和校验性规则;
所述一般性规则包括数据迁移范围规则、数据迁移增全量规则和数据传输时效性规则;
所述校验性规则包括数据文件接口校验规则、数据文件一致性校验规则和数据文件命名校验规则。
3.根据权利要求2所述的方法,其特征在于,所述字段映射模型中包括多个映射字段,所述映射字段用于将源数据库中的字段一一对应的转换为目标数据库中的字段,所述转换操作包括合并、拆分、计算、值替换、格式转换中的一种或多种。
4.根据权利要求2或3所述的方法,其特征在于,根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库的方法包括:
根据所述数据迁移范围规则,从源数据库抽取对应范围的源表数据;
将所述源表数据拆分成一份或多份,并根据所述源表数据拆分的份数一一对应的生成XML文件;
将所述XML文件由源数据库发送至目标数据库进行校验。
5.根据权利要求4所述的方法,其特征在于,所述伪随机序列的生成方法为:
采用线性同余法作为伪随机序列算法生成伪随机序列。
6.根据权利要求5所述的方法,其特征在于,解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作的方法包括:
采用DOM4J解析器解析所述XML文件,读取XML文件的数据内容和数据字典信息;
参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验,且在校验错误时回执报错。
7.根据权利要求6所述的方法,其特征在于,参照伪随机序列并结合数据字典信息,从数据内容中抽取对应行数的内容进行校验的方法包括:
所述伪随机序列中的每个字符值代表数据内容中需校验的内容行数,选取连续的m个字符值对每个XML文件中对应行数的内容进行校验,所述m为正整数;
对所述内容的校验包括表结构校验和字段类型校验,所述表结构校验是将数据内容中对应行数的内容记载的表结构与数据字典信息中对应内容记载的表结构比对,校验两者记载的表结构是否发生变更;
所述字段类型校验是将数据内容中对应行数的内容分割成多个字段,依次将每个字段与数据字典信息中对应内容记载的字段比对,校验两者记载的字段类型是否发生变更。
8.根据权利要求7所述的方法,其特征在于,在步骤将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库之前还包括:
检索目标数据库中是否存在与所述XML文件中对应的表结构,若不存在则在目标数据库建立相应表结构的目标表。
9.根据权利要求8所述的方法,其特征在于,将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库的方法包括:
对通过表结构校验和字段类型校验的XML文件,将其全部数据内容的字段依照所述字段映射模型进行数据转换;
识别所述XML文件中的数据内容,若数据内容为流水内容则将转换后的字段直接写入目标表中相应的分区,若数据内容为状态内容将目标表设置为拉链表后再将转换后的字段写入;
将目标表写入目标数据库中的数据仓库。
10.一种数据库中数据迁移的装置,其特征在于,包括:
配置模块,配置源数据库至目标数据库的数据迁移规则,并基于源数据库与目标数据库中的字段异构建立字段映射模型;
封装模块,用于根据所述数据迁移规则从源数据库获取迁移数据,封装成至少一个XML文件发送至所述目标数据库,所述XML文件包括数据内容和数据字典信息;
校验模块,用于解析所述XML文件并读取数据内容和数据字典信息,参照伪随机序列抽取对应部分的数据内容执行校验操作;
迁入模块,用于将校验通过的所述XML文件中全部数据内容的字段,依照所述字段映射模型进行数据转换后迁入目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136428.4A CN111367886B (zh) | 2020-03-02 | 2020-03-02 | 数据库中数据迁移的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010136428.4A CN111367886B (zh) | 2020-03-02 | 2020-03-02 | 数据库中数据迁移的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367886A true CN111367886A (zh) | 2020-07-03 |
CN111367886B CN111367886B (zh) | 2024-01-19 |
Family
ID=71208464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010136428.4A Active CN111367886B (zh) | 2020-03-02 | 2020-03-02 | 数据库中数据迁移的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367886B (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966665A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 数据迁移测试方法及装置 |
CN111966597A (zh) * | 2020-08-18 | 2020-11-20 | 中国银行股份有限公司 | 测试数据生成方法及装置 |
CN111984826A (zh) * | 2020-09-02 | 2020-11-24 | 河北幸福消费金融股份有限公司 | 基于xml的数据自动入库方法、***、装置和存储介质 |
CN112632174A (zh) * | 2020-12-31 | 2021-04-09 | 江苏苏宁云计算有限公司 | 一种数据检验的方法、装置和*** |
CN112783859A (zh) * | 2021-01-08 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种数据库的轻量级并发迁移方法 |
CN112817944A (zh) * | 2021-02-26 | 2021-05-18 | 北京北信源软件股份有限公司 | 一种数据迁移方法、装置、电子设备和存储介质 |
CN112905700A (zh) * | 2021-02-23 | 2021-06-04 | 杭州网易云音乐科技有限公司 | 一种数据同步的方法和装置及设备 |
CN113326316A (zh) * | 2021-04-14 | 2021-08-31 | 深圳新贝奥数字科技有限公司 | 一种异构***数据快捷同步方法 |
CN113364806A (zh) * | 2021-06-30 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113468144A (zh) * | 2021-07-23 | 2021-10-01 | 上海蒙帕信息技术有限公司 | 一种数据库迁移方法及其迁移装置 |
CN113486010A (zh) * | 2021-07-01 | 2021-10-08 | 远光软件股份有限公司 | 数据库的同步方法、装置、服务器和存储介质 |
CN113901031A (zh) * | 2021-10-21 | 2022-01-07 | 掌阅科技股份有限公司 | 数据库迁移方法、电子设备及存储介质 |
CN114077600A (zh) * | 2021-11-26 | 2022-02-22 | 山东福生佳信科技股份有限公司 | 一种基于arm内核的数据异构迁移可视化分析方法 |
CN114116724A (zh) * | 2021-11-29 | 2022-03-01 | 平安科技(深圳)有限公司 | 数据校验方法、装置、设备及可读存储介质 |
CN114528272A (zh) * | 2022-01-07 | 2022-05-24 | 南方电网深圳数字电网研究院有限公司 | 数据迁移的智能化实现方法及装置 |
CN114896204A (zh) * | 2022-04-19 | 2022-08-12 | 北京月新时代科技股份有限公司 | 一种跨软件数据传输方法及*** |
CN117076431A (zh) * | 2023-10-13 | 2023-11-17 | 云筑信息科技(成都)有限公司 | 一种用于***升级数据迁移的方法 |
CN117331887A (zh) * | 2023-10-31 | 2024-01-02 | 中国人民解放军32039部队 | 一种航天测控***配置文件自动迁移方法和装置 |
CN117648303A (zh) * | 2023-11-07 | 2024-03-05 | 集友科技创新(深圳)有限公司 | 一种银行核心***及其配套******的数据迁移方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224469A1 (en) * | 2013-09-06 | 2016-08-04 | Sagem Defense Securite | Method of managing consistency of caches |
CN106033427A (zh) * | 2015-03-11 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种抽样校验数据方法及设备 |
CN107193683A (zh) * | 2017-04-18 | 2017-09-22 | 北京潘达互娱科技有限公司 | 数据库备份的校验方法及装置 |
CN109063005A (zh) * | 2018-07-10 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法及***、存储介质、电子设备 |
-
2020
- 2020-03-02 CN CN202010136428.4A patent/CN111367886B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160224469A1 (en) * | 2013-09-06 | 2016-08-04 | Sagem Defense Securite | Method of managing consistency of caches |
CN106033427A (zh) * | 2015-03-11 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 一种抽样校验数据方法及设备 |
CN107193683A (zh) * | 2017-04-18 | 2017-09-22 | 北京潘达互娱科技有限公司 | 数据库备份的校验方法及装置 |
CN109063005A (zh) * | 2018-07-10 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法及***、存储介质、电子设备 |
Non-Patent Citations (1)
Title |
---|
赵艳妮等人: "一种异构信息***数据迁移技术研究" * |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966665A (zh) * | 2020-08-17 | 2020-11-20 | 中国银行股份有限公司 | 数据迁移测试方法及装置 |
CN111966665B (zh) * | 2020-08-17 | 2024-01-19 | 中国银行股份有限公司 | 数据迁移测试方法及装置 |
CN111966597A (zh) * | 2020-08-18 | 2020-11-20 | 中国银行股份有限公司 | 测试数据生成方法及装置 |
CN111966597B (zh) * | 2020-08-18 | 2024-04-16 | 中国银行股份有限公司 | 测试数据生成方法及装置 |
CN111984826B (zh) * | 2020-09-02 | 2023-11-10 | 河北幸福消费金融股份有限公司 | 基于xml的数据自动入库方法、***、装置和存储介质 |
CN111984826A (zh) * | 2020-09-02 | 2020-11-24 | 河北幸福消费金融股份有限公司 | 基于xml的数据自动入库方法、***、装置和存储介质 |
CN112632174A (zh) * | 2020-12-31 | 2021-04-09 | 江苏苏宁云计算有限公司 | 一种数据检验的方法、装置和*** |
CN112783859A (zh) * | 2021-01-08 | 2021-05-11 | 河北志晟信息技术股份有限公司 | 一种数据库的轻量级并发迁移方法 |
CN112905700A (zh) * | 2021-02-23 | 2021-06-04 | 杭州网易云音乐科技有限公司 | 一种数据同步的方法和装置及设备 |
CN112817944B (zh) * | 2021-02-26 | 2024-06-07 | 北京北信源软件股份有限公司 | 一种数据迁移方法、装置、电子设备和存储介质 |
CN112817944A (zh) * | 2021-02-26 | 2021-05-18 | 北京北信源软件股份有限公司 | 一种数据迁移方法、装置、电子设备和存储介质 |
CN113326316A (zh) * | 2021-04-14 | 2021-08-31 | 深圳新贝奥数字科技有限公司 | 一种异构***数据快捷同步方法 |
CN113364806B (zh) * | 2021-06-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113364806A (zh) * | 2021-06-30 | 2021-09-07 | 深圳前海微众银行股份有限公司 | 一种服务接口迁移的校验方法及装置 |
CN113486010A (zh) * | 2021-07-01 | 2021-10-08 | 远光软件股份有限公司 | 数据库的同步方法、装置、服务器和存储介质 |
CN113468144A (zh) * | 2021-07-23 | 2021-10-01 | 上海蒙帕信息技术有限公司 | 一种数据库迁移方法及其迁移装置 |
CN113901031A (zh) * | 2021-10-21 | 2022-01-07 | 掌阅科技股份有限公司 | 数据库迁移方法、电子设备及存储介质 |
CN114077600B (zh) * | 2021-11-26 | 2022-09-02 | 山东福生佳信科技股份有限公司 | 一种基于arm内核的数据异构迁移可视化分析方法 |
CN114077600A (zh) * | 2021-11-26 | 2022-02-22 | 山东福生佳信科技股份有限公司 | 一种基于arm内核的数据异构迁移可视化分析方法 |
CN114116724A (zh) * | 2021-11-29 | 2022-03-01 | 平安科技(深圳)有限公司 | 数据校验方法、装置、设备及可读存储介质 |
CN114528272A (zh) * | 2022-01-07 | 2022-05-24 | 南方电网深圳数字电网研究院有限公司 | 数据迁移的智能化实现方法及装置 |
CN114896204A (zh) * | 2022-04-19 | 2022-08-12 | 北京月新时代科技股份有限公司 | 一种跨软件数据传输方法及*** |
CN117076431A (zh) * | 2023-10-13 | 2023-11-17 | 云筑信息科技(成都)有限公司 | 一种用于***升级数据迁移的方法 |
CN117076431B (zh) * | 2023-10-13 | 2024-03-12 | 云筑信息科技(成都)有限公司 | 一种用于***升级数据迁移的方法 |
CN117331887A (zh) * | 2023-10-31 | 2024-01-02 | 中国人民解放军32039部队 | 一种航天测控***配置文件自动迁移方法和装置 |
CN117648303A (zh) * | 2023-11-07 | 2024-03-05 | 集友科技创新(深圳)有限公司 | 一种银行核心***及其配套******的数据迁移方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111367886B (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367886A (zh) | 数据库中数据迁移的方法及装置 | |
CN110309071B (zh) | 测试代码的生成方法及模块、测试方法及*** | |
US8782609B2 (en) | Test failure bucketing | |
CN101901265B (zh) | 一种虚拟试验数据对象化管理*** | |
CN111324610A (zh) | 一种数据同步的方法及装置 | |
CN113326247B (zh) | 云端数据的迁移方法、装置及电子设备 | |
CN114329096A (zh) | 一种原生图数据库处理方法及*** | |
CN1976320B (zh) | 数据访问控制方法及*** | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN114238463A (zh) | 一种用于分布式指标计算的计算引擎控制方法和装置 | |
CN112559525B (zh) | 数据检查***、方法、装置和服务器 | |
CN117271478A (zh) | 数据迁移方法、装置、存储介质以及电子设备 | |
CN114356454B (zh) | 对账数据处理方法、设备、存储介质及程序产品 | |
US10509659B1 (en) | Input processing logic to produce outputs for downstream systems using configurations | |
CN113868138A (zh) | 测试数据的获取方法、***、设备及存储介质 | |
CN114691643A (zh) | 一种应用于国产化替代的数据迁移方法与*** | |
CN114519071A (zh) | 规则匹配模型的生成方法、匹配方法、***、设备和介质 | |
CN113407378A (zh) | 一种分布式数据库的分片信息备份方法及装置 | |
CN113779215A (zh) | 数据处理平台 | |
CN113626423B (zh) | 业务数据库的日志管理方法、装置、*** | |
CN111581184B (zh) | 基于数据库迁移的语义对比方法及装置 | |
CN115250231B (zh) | 应用配置方法及装置 | |
RU2683690C1 (ru) | Способ и система автоматической генерации программного кода для корпоративного хранилища данных | |
CN118227507A (zh) | 一种信创设备适配性的测试方法及*** | |
CN117370160A (zh) | 代码审核方法、装置、计算机设备、存储介质和程序产品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |