CN110765069A - 一种数据迁移方法、装置及系统 - Google Patents
一种数据迁移方法、装置及系统 Download PDFInfo
- Publication number
- CN110765069A CN110765069A CN201910930898.5A CN201910930898A CN110765069A CN 110765069 A CN110765069 A CN 110765069A CN 201910930898 A CN201910930898 A CN 201910930898A CN 110765069 A CN110765069 A CN 110765069A
- Authority
- CN
- China
- Prior art keywords
- data
- migrated
- message
- target platform
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 85
- 230000005012 migration Effects 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 27
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000004065 semiconductor Substances 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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
本发明公开了一种数据迁移方法、装置及电子设备,用于将源平台的待迁移数据迁移至目标平台,所述方法包括以下数据迁移步骤:源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;目标平台从所述消息队列中消费所述消息;其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。本发明的数据迁移方法,以消息为单位实现待迁移数据分批次的迁移,能够保证数据迁移的可靠性和高效性,提高迁移效率。
Description
技术领域
本发明涉及计算机信息处理领域,具体而言,涉及一种数据迁移方法、装置、系统及计算机可读介质。
背景技术
随着网络和计算机技术的发展,基于计算机技术的数据处理系统,实现了对数据的加工、整理、分析等处理操作,因此被广泛应用到不同的业务领域中,实现业务数据的处理。
比如在一些应用中,为了更有效地利用数据,需要将数据整合存放到特定的平台中,因此,跨平台及跨机房的数据迁移是不可避免的。例如,数据处理系统可以与银行系统建立联接,实现数据迁移,可以进行公共事业缴费、信用卡还款、个人信息管理等业务操作,根据不同的业务操作,实现对业务数据的查询、增加或修改等处理操作。
实际应用中,跨平台、跨机房的数据迁移一般采用多阶段顺次运行的方式实现。其中,数据从一个平台迁移到另一个平台为一个阶段,阶段内部采用并行、压缩等方式提高数据的迁移速度,阶段之间顺次完成数据的迁移。即当前阶段完成所有数据的迁移之后,才进入下一阶段。某阶段的数据丢失或者迁移失败,会导致整个迁移过程失败,从而数据迁移可靠性也大大降低。
发明内容
本发明旨在解决现有技术中数据迁移可靠性低的技术问题。
为了解决上述技术问题,本发明第一方面提出一种数据迁移方法,用于将源平台的待迁移数据迁移至目标平台,所述方法包括以下数据迁移步骤:
源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
在一种较佳实施方式中,所述方法还包括:
校验所解析的待迁移数据,生成校验结果。
在一种较佳实施方式中,所述方法还包括:
根据校验结果修正所述待迁移数据。
在一种较佳实施方式中,所述根据所述待迁移数据的校验结果修正所述待迁移数据包括:
根据所述校验结果确定未通过校验的待迁移数据;
修正所述未通过校验的待迁移数据。
在一种较佳实施方式中,所述目标平台从所述消息队列中消费所述消息之后,所述方法还包括:
判断所述目标平台是否成功写入所述消息中的待迁移数据;
若所述目标平台未成功写入所述消息中的待迁移数据,判断所述待迁移数据的写入错误率是否超过错误阈值;
若所述待迁移数据的写入错误率未超过错误阈值,源平台将所述待迁移数据重新生成消息,发送至所述消息队列;
若所述待迁移数据的写入错误率超过错误阈值,记录所述消息。
在一种较佳实施方式中,所述方法还包括:
若所述目标平台成功写入所述消息中的待迁移数据,判断所有消息中的待迁移数据是否写入成功;
若有消息中的待迁移数据未写入成功,重新消费所述消息;
若所有消息中的待迁移数据写入成功,生成处理结果。
在一种较佳实施方式中,所述消息还包括当前批次的待迁移数据的属性信息和批次信息。
在一种较佳实施方式中,若所述待迁移数据的写入错误率超过错误阈值,记录所述消息的属性信息和批次信息。
在一种较佳实施方式中,所述方法还包括:
判断所述待迁移数据是否发送完;
若所述待迁移数据未发送完,则重复所述数据迁移步骤。
为解决上述技术问题,本发明第二方面提供一种数据迁移装置,用于将源平台的待迁移数据迁移至目标平台,所述装置包括:
第一控制模块,用于控制源平台将待迁移数据分成多个批次,为每个批次产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
第二控制模块,用于控制目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
在一种较佳实施方式中,所述装置还包括:
校验模块,用于校验所解析的待迁移数据,生成校验结果。
在一种较佳实施方式中,所述装置还包括:
修正模块,用于根据所述校验结果修正所述待迁移数据。
在一种较佳实施方式中,所述修正模块包括:
确定模块,用于根据所述校验结果确定未通过校验的待迁移数据;
子修正模块,用于修正所述未通过校验的待迁移数据。
在一种较佳实施方式中,所述装置还包括:
第一判断模块,用于判断所述目标平台是否成功写入所述消息中的迁移数据;
第二判断模块,用于若所述目标平台未成功写入所述消息中的迁移数据,判断所述迁移数据的写入错误率是否超过错误阈值;
重新生成模块,用于若所述迁移数据的写入错误率未超过错误阈值,源平台将所述迁移数据重新生成消息,发送至所述消息队列;
记录模块,用于若所述迁移数据的写入错误率超过错误阈值,记录所述消息。
在一种较佳实施方式中,所述装置还包括:
第三判断模块,用于若所述目标平台成功写入所述消息中的迁移数据,判断所有消息中的迁移数据是否写入成功;
重新消费模块,用于若有消息中的迁移数据未写入成功,重新消费所述消息;
子生成模块,用于若所述消息中的迁移数据写入成功,生成处理结果。
在一种较佳实施方式中,所述消息还包括当前批次的待迁移数据的属性信息和批次信息。
在一种较佳实施方式中,若所述待迁移数据的写入错误率超过错误阈值,记录所述消息的属性信息和批次信息。
在一种较佳实施方式中,所述装置还包括:
第四判断模块,用于判断所述迁移数据是否发送完;
返回模块,若所述迁移数据未发送完,则将当前处理步骤返回到第一控制模块。
为了解决上述技术问题,本发明第三方面提出一种数据迁移系统,包括源平台和目标平台,所述源平台和/或目标平中包括处理器,所述处理器用于执行上述任一项所述的方法。
为了解决上述技术问题,本发明第四方面提出一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现上述方法。
本发明中,源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;目标平台从所述消息队列中消费所述消息;如此,以消息为单位实现待迁移数据在源平台和目标平台之间的迁移,从而提高了数据迁移的可靠性。进一步,以消息为单位对待迁移数据逐一进行校验,保证了迁移数据的高可靠性。此外,以消息为单位将待迁移数据分批次迁移,相较于现有技术中分阶段迁移的方式,数据迁移过程中无需等待上一阶段数据全部迁移完成,提高了数据迁移的效率。本发明的数据迁移方法,以消息为单位实现待迁移数据分批次的迁移,能够保证数据迁移的可靠性和高效性,提高迁移效率。
附图说明
为了使本发明所解决的技术问题、采用的技术手段及取得的技术效果更加清楚,下面将参照附图详细描述本发明的具体实施例。但需声明的是,下面描述的附图仅仅是本发明的示例性实施例的附图,对于本领域的技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他实施例的附图。
图1是本发明一种数据迁移方法的流程图;
图2是本发明另一种数据迁移方法的流程图;
图3是本发明实施例金融数据迁移过程示意图;
图4是本发明校验待迁移数据示意图;
图5是图2中步骤S304的具体流程图;
图6是本发明一种数据迁移装置的结构框架示意图;
图7是根据本发明的一种电子设备的示例性实施例的结构框图;
图8是本发明一个计算机可读介质实施例的示意图。
具体实施方式
现在将参考附图来更加全面地描述本发明的示例性实施例,虽然各示例性实施例能够以多种具体的方式实施,但不应理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例是为了使本发明的内容更加完整,更加便于将发明构思全面地传达给本领域的技术人员。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的结构、性能、效果或者其他特征可以以任何合适的方式结合到一个或更多其他的实施例中。
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
如图1是本发明提供的一种数据迁移方法的流程图,所述数据迁移方法用于将源平台的待迁移数据迁移至目标平台,如图1所示,所述方法包括以下数据迁移步骤:
S1、源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
示例性的,可以将待迁移数据根据业务类型分为多个批次。例如,在金融数据迁移过程中,可以将金融数据根据业务类型分为存款、投资、保险、消费、贷款等数据,将相同业务类型的待迁移数据分到同一个批次中生成包含当前批次的待迁移数据的消息。还可以将待迁移数据根据数据描述的对象分为多个批次。例如,在金融数据迁移过程中,可以将金融数据根据数据描述的对象分为个人、法人等数据,将同一个人或同一法人的待迁移数据分到同一个批次中成包含当前批次的待迁移数据的消息。
以上对待迁移数据的分批次依据仅仅是示例,具体对迁移数据分批次的依据可根据实际需求而定,本发明不做具体限定。
进一步的,为了区分不同批次的待迁移数据,方便数据校验及写入。可以对不同批次的待迁移数据设置属性信息和批次信息。所述消息还可以包括当前批次的待迁移数据的属性信息和批次信息。其中,属性信息用于标识待迁移数据,方便查找待迁移数据。属性信息具体可以是待迁移数据在源平台中的存储位置,或者待迁移数据的名称等。批次信息用于标识待迁移数据所属的批次,具体可以采用不同的数字或者符号来标识。
上述消息可以作为数据迁移过程中的数据单位。消息被发送到消息队列中,消息队列管理器在将消息从源平台中继到目标平台时充当中间人。消息队列的主要目的是提供路由并保证消息的传递,如果发送消息时目标平台读取或写入消息失败,消息队列会保留消息,直到可以成功地迁移消息中的待迁移数据,保证迁移数据的可靠性。
S2、目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
具体的,目标平台可以对消息队列中的消息以先进先出的顺序逐一消费;目标平台也可以包含多个消费者,每个消费者有不同的存储位置。不同的消费者根据消息中待迁移数据的属性信息和批次信息消费对应的消息,并将消费中的待迁移数据写入该消费者对应的存储位置。
为了进一步提高数据迁移的可靠性,本发明实施例提供一种数据迁移方法,所述数据迁移方法用于将源平台的待迁移数据迁移至目标平台,如图2所示,所述方法包括:
S201、源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
如图3,在金融数据迁移过程中,将待迁移的金融数据根据业务类型分为存款数据、投资数据、保险数据、消费数据和贷款数据。将存款数据分到批次1中,投资数据分到批次2中、保险数据分到批次3中、消费数据分到批次4中,贷款数据分到批次5中。根据每个批次待迁移数据的在源平台的存储位置或待迁移数据的名称设置属性信息。如图3,批次1中,存款数据根据待迁移数据名称设置有属性信息:公司a存款数据、公司b存款数据、个人c存款数据,批次2中,投资数据根据待迁移数据名称设置有属性信息:公司a投资数据、个人d投资数据,批次3中,保险数据根据待迁移数据名称设置有属性信息:个人e保险数据、公司a保险数据、个人c保险数据,批次4中,消费数据根据待迁移数据名称设置有属性信息:公司a消费数据、公司b消费数据、个人c消费数据、个人d消费数据、个人e消费数据,批次5中,贷款数据根据待迁移数据名称设置有属性信息:公司a贷款数据、公司b贷款数据、个人e贷款数据。
上述5个批次的待迁移数据产生5个消息,每个消息中包含对应批次的待迁移数据、对应批次的待迁移数据的属性信息和批次信息。各个消息依次进入消息队列中。
S202、目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
S203、校验所解析的待迁移数据,生成校验结果,根据校验结果修正所述待迁移数据。
所述数据校验是指,源平台为保证数据的完整可靠性用一种指定的算法对待迁移原始数据计算出一个校验值,目标平台用同样的算法对解析的待迁移数据计算校验值,如果与源平台对待迁移原始数据计算的校验值相同,说明迁移的数据是可靠、完整的。具体算法可以采用CRC即循环冗余校验码(Cyclic Redundancy Check)。
以对数据库的数据进行校验为例,对数据库中数据的校验方法一般通过基本的结构化查询语言(SQL,Structured Query Language)的语句或脚本对源平台源数据库的原始数据和目标平台目标数据库的迁移数据进行比对查询。
通过对消息中的待迁移数据的校验生成该数据迁移的可靠性、完整性的校验结果。所述校验结果包含对当前消息中不同属性信息的待迁移数据是否通过校验的记录。例如图4中,当前消息包括批次3的待迁移数据:个人e保险数据、公司a保险数据和个人c保险数据,对当前消息中待迁移数据的校验结果为:个人e保险数据通过校验、公司a保险数据通过校验、个人c保险数据未通过校验。校验结果中:个人c保险数据未通过校验,则修正所述未通过校验的待迁移数据。例如,可以在源平台中根据属性信息搜索个人c保险数据的原始数据,根据原始数据修正目标平台写入的个人c保险数据。
本步骤以消息为单位对待迁移数据逐一进行校验,保证了迁移数据的高可靠性。
S204、判断所述目标平台是否成功写入所述消息中的待迁移数据,根据判断结果做相应处理。
如图5所示,本步骤具体包括:
S501、判断所述目标平台是否成功写入所述消息中的待迁移数据;
S502、若所述目标平台未成功写入所述消息中的待迁移数据,判断所述待迁移数据的写入错误率是否超过错误阈值;
所述目标平台未成功写入所述消息中的待迁移数据,表明目标平台消费当前消息失败。则进一步判断待迁移数据的写入错误率是否超过错误阈值,所述错误阈值是指待迁移数据写入目标平台时允许出现错误的最大错误率。
S503、若所述待迁移数据的错误率未超过错误阈值,源平台将所述待迁移数据重新生成消息,发送至所述消息队列;
S504、若所述待迁移数据的错误率超过错误阈值,记录所述消息。
具体的,可以将所述消息的属性信息和批次信息记录到日志中。
S505、若所述目标平台成功写入所述消息中的待迁移数据,判断所有消息中的待迁移数据是否写入成功;
S506、若有消息中的待迁移数据未写入成功,重新消费所述消息;
S507、若所有消息中的待迁移数据写入成功,生成处理结果。
本步骤根据目标平台是否成功写入当前消息中的待迁移数据的判断结果,对待迁移数据做相应处理,提高待迁移数据成功写入率,进一步保证了数据迁移的可靠性。
S205、判断所述待迁移数据是否发送完;
S206、若所述待迁移数据未发送完,则重复步骤S201~S205。
需要说明的是,上述步骤S203、S204和S205在具体执行时并无先后顺序,其可以同时执行,也可以根据具体实施进度分开各种执行,本发明不做具体限定。
图6是本发明一种数据迁移装置的架构示意图,用于将源平台的待迁移数据迁移至目标平台,如图6所示,所述装置包括:
第一控制模块61,用于控制源平台将待迁移数据分成多个批次,为每个批次产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
第二控制模块62,用于控制目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
校验模块63,用于校验所解析的待迁移数据,生成校验结果。
修正模块64,用于根据所述校验结果修正所述待迁移数据。
在一种具体实施方式中,所述修正模块64进一步包括:
确定模块641,用于根据所述校验结果确定未通过校验的待迁移数据;
子修正模块642,用于修正所述未通过校验的待迁移数据。
第一判断模块65,用于判断所述目标平台是否成功写入所述消息中的迁移数据;
第二判断模块66,用于若所述目标平台未成功写入所述消息中的迁移数据,判断所述迁移数据的写入错误率是否超过错误阈值;
重新生成模块67,用于若所述迁移数据的写入错误率未超过错误阈值,源平台将所述迁移数据重新生成消息,发送至所述消息队列;
记录模块68,用于若所述迁移数据的写入错误率超过错误阈值,记录所述消息。进一步的,所述消息还包括当前批次的待迁移数据的属性信息和批次信息,所述记录模块68记录所述消息的属性信息和批次信息。
第三判断模块69,用于若所述目标平台成功写入所述消息中的迁移数据,判断所有消息中的迁移数据是否写入成功;
重新消费模块70,用于若有消息中的迁移数据未写入成功,重新消费所述消息;
子生成模块71,用于若所述消息中的迁移数据写入成功,生成处理结果。
第四判断模块72,用于判断所述迁移数据是否发送完;
返回模块73,若所述迁移数据未发送完,则将当前处理步骤返回到第一控制模块61。
本领域技术人员可以理解,上述装置实施例中的各模块可以按照描述分布于装置中,也可以进行相应变化,分布于不同于上述实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的实体形式的实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
图7是根据本发明的一种电子设备的示例性实施例的结构框图。图7显示的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,该示例性实施例的电子设备700以通用数据处理设备的形式表现。电子设备700的组件可以包括但不限于:至少一个处理单元710、至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730、显示单元740等。
其中,所述存储单元720存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元710执行,使得所述处理单元710执行本发明各种实施方式的步骤。例如,所述处理单元710可以执行如图1所示的步骤。
所述存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。所述存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备300(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备700与该电子设备700交互,和/或使得该电子设备700能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(I/O)接口750进行,还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)进行。网络适配器760可以通过总线730与电子设备700的其它模块通信。应当明白,尽管图7中未示出,电子设备700中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本发明还提供一种数据迁移系统,包括源平台和目标平台,所述源平台和/或目标平中包括处理器,所述处理器用于上述任一所述的数据迁移方法。
图8是本发明的一个计算机可读介质实施例的示意图。如图8所示,所述计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。当所述计算机程序被一个或多个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;目标平台从所述消息队列中消费所述消息;其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台数据处理设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以执行计算机程序的方法、装置、电子设备或计算机可读介质来实现。可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现本发明的一些或者全部功能。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据迁移方法,用于将源平台的待迁移数据迁移至目标平台,其特征在于,所述方法包括以下数据迁移步骤:
源平台将待迁移数据分成多个批次,为每个批次的待迁移数据产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
校验所解析的待迁移数据,生成校验结果。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述方法还包括:
根据校验结果修正所述待迁移数据。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述待迁移数据的校验结果修正所述待迁移数据包括:
根据所述校验结果确定未通过校验的待迁移数据;
修正所述未通过校验的待迁移数据。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述目标平台从所述消息队列中消费所述消息之后,所述方法还包括:
判断所述目标平台是否成功写入所述消息中的待迁移数据;
若所述目标平台未成功写入所述消息中的待迁移数据,判断所述待迁移数据的写入错误率是否超过错误阈值;
若所述待迁移数据的写入错误率未超过错误阈值,源平台将所述待迁移数据重新生成消息,发送至所述消息队列;
若所述待迁移数据的写入错误率超过错误阈值,记录所述消息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
若所述目标平台成功写入所述消息中的待迁移数据,判断所有消息中的待迁移数据是否写入成功;
若有消息中的待迁移数据未写入成功,重新消费所述消息;
若所有消息中的待迁移数据写入成功,生成处理结果。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述消息还包括当前批次的待迁移数据的属性信息和批次信息。
8.一种数据迁移装置,用于将源平台的待迁移数据迁移至目标平台,其特征在于,所述装置包括:
第一控制模块,用于控制源平台将待迁移数据分成多个批次,为每个批次产生一个包含当前批次的待迁移数据的消息,将各所述消息发送至消息队列;
第二控制模块,用于控制目标平台从所述消息队列中消费所述消息;
其中,所述消费是指读取所述消息,解析出该消息中的待迁移数据,并将解析出的待迁移数据写入所述目标平台。
9.一种数据迁移系统,包括源平台和目标平台,
所述源平台和/或目标平中包括处理器,所述处理器用于执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,当所述一个或多个程序被处理器执行时,实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930898.5A CN110765069A (zh) | 2019-09-29 | 2019-09-29 | 一种数据迁移方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930898.5A CN110765069A (zh) | 2019-09-29 | 2019-09-29 | 一种数据迁移方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110765069A true CN110765069A (zh) | 2020-02-07 |
Family
ID=69330836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910930898.5A Pending CN110765069A (zh) | 2019-09-29 | 2019-09-29 | 一种数据迁移方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765069A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522796A (zh) * | 2020-04-24 | 2020-08-11 | 苏州达家迎信息技术有限公司 | 系统间的数据迁移方法、装置、计算机设备及介质 |
CN112184406A (zh) * | 2020-10-27 | 2021-01-05 | 北京字跳网络技术有限公司 | 数据处理方法、系统、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420849A (zh) * | 2011-11-04 | 2012-04-18 | 南京邮电大学 | 一种移动主体平台模型及移动主体迁移方法 |
CN106503018A (zh) * | 2015-09-08 | 2017-03-15 | 北京京东尚科信息技术有限公司 | 进行历史数据迁移的方法及系统 |
CN107958010A (zh) * | 2016-10-18 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 用于在线数据迁移的方法及系统 |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、系统、计算设备及存储介质 |
CN110209650A (zh) * | 2019-05-05 | 2019-09-06 | 苏宁易购集团股份有限公司 | 数据规整迁移方法、装置、计算机设备和存储介质 |
-
2019
- 2019-09-29 CN CN201910930898.5A patent/CN110765069A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420849A (zh) * | 2011-11-04 | 2012-04-18 | 南京邮电大学 | 一种移动主体平台模型及移动主体迁移方法 |
CN106503018A (zh) * | 2015-09-08 | 2017-03-15 | 北京京东尚科信息技术有限公司 | 进行历史数据迁移的方法及系统 |
CN107958010A (zh) * | 2016-10-18 | 2018-04-24 | 北京京东尚科信息技术有限公司 | 用于在线数据迁移的方法及系统 |
CN108121757A (zh) * | 2017-11-10 | 2018-06-05 | 广州优视网络科技有限公司 | 一种数据同步方法、装置、系统、计算设备及存储介质 |
CN110209650A (zh) * | 2019-05-05 | 2019-09-06 | 苏宁易购集团股份有限公司 | 数据规整迁移方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522796A (zh) * | 2020-04-24 | 2020-08-11 | 苏州达家迎信息技术有限公司 | 系统间的数据迁移方法、装置、计算机设备及介质 |
CN111522796B (zh) * | 2020-04-24 | 2022-10-28 | 苏州达家迎信息技术有限公司 | 系统间的数据迁移方法、装置、计算机设备及介质 |
CN112184406A (zh) * | 2020-10-27 | 2021-01-05 | 北京字跳网络技术有限公司 | 数据处理方法、系统、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334075B (zh) | 基于消息中间件的数据迁移方法及相关设备 | |
CN108921552B (zh) | 一种验证证据的方法及装置 | |
CN111198868A (zh) | 一种智能分库实时数据迁移方法和装置 | |
CN111709527A (zh) | 运维知识图谱库的建立方法、装置、设备及存储介质 | |
CN110502519B (zh) | 一种数据聚合的方法、装置、设备及存储介质 | |
CN110908707B (zh) | 一种资源打包方法、装置、服务器及存储介质 | |
CN110765069A (zh) | 一种数据迁移方法、装置及系统 | |
US11036527B2 (en) | Class splitting in object-oriented environments | |
US11740827B2 (en) | Method, electronic device, and computer program product for recovering data | |
US10235165B2 (en) | Creating optimized shortcuts | |
US10810105B2 (en) | Logging stored information for identifying a fix for and/or a cause of an error condition | |
WO2023138923A1 (en) | Failure prediction using informational logs and golden signals | |
CN115130130A (zh) | 网盘文件解锁方法、装置、网盘及存储介质 | |
US11481212B2 (en) | Automatic identification of reference data | |
CN112114811A (zh) | 一种编译方法、装置和设备 | |
CN110032595B (zh) | 一种数据处理方法、系统、设备及存储介质 | |
CN114722109B (zh) | 数据导入方法、系统、设备及存储介质 | |
US9749281B2 (en) | Dynamic adaption of electronic routing slips for financial messaging | |
US11966322B2 (en) | Preloading debug information based on the increment of application | |
CN113760765B (zh) | 代码测试方法、装置、电子设备和存储介质 | |
US11748304B1 (en) | Insert performance improvement | |
US11822884B2 (en) | Unified model for zero pronoun recovery and resolution | |
US20220164276A1 (en) | Preloading debug information based on the increment of application | |
US20220147325A1 (en) | Computer process management | |
CN116703543A (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 |