CN112131177A - 数据迁移方法及装置、存储介质、电子设备 - Google Patents
数据迁移方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN112131177A CN112131177A CN202010818251.6A CN202010818251A CN112131177A CN 112131177 A CN112131177 A CN 112131177A CN 202010818251 A CN202010818251 A CN 202010818251A CN 112131177 A CN112131177 A CN 112131177A
- Authority
- CN
- China
- Prior art keywords
- data
- library
- target
- source
- data file
- 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
- 230000005012 migration Effects 0.000 title claims abstract description 103
- 238000013508 migration Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 239000000306 component Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013075 data extraction Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation 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/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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据迁移方法及装置、存储介质、电子设备。其中,该方法包括向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
Description
技术领域
本发明涉及数据迁移领域,具体而言,涉及一种数据迁移方法及装置、存储介质、电子设备。
背景技术
当前,数据迁移一般都是针对相同结构的数据库,尚不存在解决异构数据库之间的数据迁移的技术方案。
发明内容
本发明实施例提供了一种数据迁移方法及装置、存储介质、电子设备,以至少解决相关技术中如何对异构数据库进行数据迁移的技术问题。
根据本发明实施例的一个方面,提供了一种数据迁移方法,包括:
向待迁移的源库发送数据导出指令;
接收所述源库所导出的数据并根据所述导出的数据生成源数据文件;
将所述源数据文件进行转码,得到目标数据文件;
将所述目标数据文件加载至目标库,其中,所述目标库是与所述源库是结构不同的数据库。
根据本发明实施例的另一方面,还提供了一种数据迁移装置,包括:
发送模块,用于向待迁移的源库发送数据导出指令;
接收模块,用于接收所述源库所导出的数据并根据所述导出的数据生成源数据文件;
转码模块,用于将所述源数据文件进行转码,得到目标数据文件;
加载模块,用于将所述目标数据文件加载至目标库,其中,所述目标库是与所述源库是结构不同的数据库。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据迁移方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据迁移方法。
在本发明实施例中,通过向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据迁移方法的流程图;
图2是根据本发明实施例的数据迁移装置的结构框图;
图3是根据本发明示例实施方式的数据迁移方法的流程示意图;
图4是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据迁移方法,可选地,作为一种可选的实施方式,本实施例中的数据迁移方法可以通过计算机程序的方式执行,并且,可以应用在终端或者服务器或者类似的运算装置或者电子设备中。示例性的,该运算装置或者电子设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器,还可以包括用于通信功能的传输设备以及输入输出设备。还可以包括比前述更多或者更少的组件,或者具有与前述所示不同的配置。存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据迁移方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
示例性的,作为一种可选的实施方式,图1是根据本发明实施例的数据迁移方法的流程图,如图1所示,数据迁移方法包括:
步骤S101,向待迁移的源库发送数据导出指令;
步骤S103,接收该源库所导出的数据并根据该导出的数据生成源数据文件;
步骤S105,将该源数据文件进行转码,得到目标数据文件;
步骤S107,将该目标数据文件加载至目标库,其中,该目标库是与该源库是结构不同的数据库。
通过上述步骤,通过向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
在一个示例性的实施方式中,该将该目标数据文件加载至目标库,包括:建立与该源库相同表结构的临时表;将该源数据文件迁移到该临时表;将该临时表加载至该目标库。
在一个示例性的实施方式中,在将该目标数据文件加载至目标库之后,该数据迁移方法还包括:分别向该源库、该目标库发送导出指令,其中,该导出指令分别用于指示该源库、该目标库导出自身的数据;分别接收该源库、该目标库所导出的数据以生成源库数据文件和目标库数据文件,其中,该源库数据文件和该目标库数据文件的数据格式相同;校验该该源库数据文件和该目标库数据文件的数据是否一致。
在一个示例性的实施方式中,在该校验该该源库数据文件和该目标库数据文件的数据是否一致之后,该数据迁移方法还包括:根据校验结果确定该源库、该目标库的访问通道的开闭。
在一个示例性的实施方式中,根据校验结果确定该源库、该目标库的访问通道的开闭,包括:在校验确定该源库数据文件和该目标库数据文件的数据一致的情况下,关闭该源库的访问通道,并开启该目标库的访问通道。
在一个示例性的实施方式中,在该校验该该源库数据文件和该目标库数据文件的数据是否一致之后,该数据迁移方法还包括:根据校验结果确定是否阻止应用服务器的数据操作。
在一个示例性的实施方式中,校验该源库数据文件和该目标库数据文件的数据是否一致,包括以下至少之一:通过数据完整性算法校验该源库数据文件和该目标库数据文件的数据是否一致;或者,通过文件比较算法校验该源库数据文件和该目标库数据文件的数据是否一致;或者,通过时间戳判定算法校验该源库数据文件和该目标库数据文件的数据是否一致。
在本实施例中还提供了一种数据迁移装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的数据迁移装置的结构框图,如图2所示,该装置包括:
发送模块22,用于向待迁移的源库发送数据导出指令;
接收模块24,用于接收该源库所导出的数据并根据该导出的数据生成源数据文件;
转码模块26,用于将该源数据文件进行转码,得到目标数据文件;
加载模块28,用于将该目标数据文件加载至目标库,其中,该目标库是与该源库是结构不同的数据库。
通过上述模块,通过向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
在一个示例性的实施方式中,加载模块28用于建立与该源库相同表结构的临时表;将该源数据文件迁移到该临时表;将该临时表加载至该目标库。
在一个示例性的实施方式中,该数据迁移装置还包括:校验模块,用于在将该目标数据文件加载至目标库之后,分别向该源库、该目标库发送导出指令,其中,该导出指令分别用于指示该源库、该目标库导出自身的数据;分别接收该源库、该目标库所导出的数据以生成源库数据文件和目标库数据文件,其中,该源库数据文件和该目标库数据文件的数据格式相同;校验该该源库数据文件和该目标库数据文件的数据是否一致。
在一个示例性的实施方式中,该数据迁移装置还包括:开闭模块,用于在该校验该该源库数据文件和该目标库数据文件的数据是否一致之后,根据校验结果确定该源库、该目标库的访问通道的开闭。
在一个示例性的实施方式中,根据校验结果确定该源库、该目标库的访问通道的开闭,包括:在校验确定该源库数据文件和该目标库数据文件的数据一致的情况下,关闭该源库的访问通道,并开启该目标库的访问通道。
在一个示例性的实施方式中,该数据迁移装置还包括:阻止模块,用于在该校验该该源库数据文件和该目标库数据文件的数据是否一致之后,根据校验结果确定是否阻止应用服务器的数据操作。
在一个示例性的实施方式中,校验该源库数据文件和该目标库数据文件的数据是否一致,包括以下至少之一:通过数据完整性算法校验该源库数据文件和该目标库数据文件的数据是否一致;或者,通过文件比较算法校验该源库数据文件和该目标库数据文件的数据是否一致;或者,通过时间戳判定算法校验该源库数据文件和该目标库数据文件的数据是否一致。
还需要说明的是,本实施例的其他实施方式同上述实施例,此处不再赘述。
示例实施方式
以下结合具体场景对本发明实施例进行进一步解释说明。本发明实施例提出的数据迁移方法,可以妥善解决***实施数据迁移的三个主要问题:一、解决不停机的状态下完成异构数据库之间的数据迁移的问题;二、解决在线数据迁移同步实施数据结构变更的问题;三、解决数据迁移灰度上线、按流量逐步切换的问题。
本发明实施例所提供的方法实现了异构数据库间在线数据迁移,解决了在线迁移数据结构不能大规模变化的问题。迁移准确、高效,对客户几乎无感。整个迁移过程,可以支持灰度、按客户分批切换,可以支持实时回退,为数据库切换能够安全实施提供有力支撑。
本方法是一种基于时间戳的在线数据迁移方法。本实施例所提供的方法可以应用在以下的迁移实施流程中:
全量迁移:即存量数据迁移,该步骤如果源库、目标库是同构数据库可以通过数据库镜像备份、恢复的方式实施;如果源库、目标库是异构数据库,可以通过并行导出、导入脚本等方法实现。一般在***正式上线前一段时间进行。
增量迁移:该步骤为***正式上线前的例行数据迁移步骤,主要用于定时向目标库追加增量数据,防止正式上线日累积大量数据,造成切换时间过长。为了实现增量迁移,需应用***提前做出一定的治理,保证每张需要增量迁移的表新增、修改数据时均需维护时间戳字段,保证每张需要增量迁移的表没有删除数据的场景或删除数据可以被有效追溯。
应用上线:投产日上线的新应用程序,实现公共路由机制,通过该路由机制来决策访问源库还是目标库。同时实现公共阻写机制,保证在阻写开关打开时,应用可以暂时阻止对迁移表(或客户)数据的增、删、改操作,从而为后续能够最终追平数据创造条件。
阻写:通过对迁移表(或客户)设置阻写开关来实现,该开关开启,迁移表(或客户)数据进入静止状态。
阻写迁移:阻写开关开启后进行的数据迁移,用于最终将目标库数据追平。
停止阻写:通过对迁移表(或客户)设置阻写开关来实现,该开关关闭后,应用对迁移表(或客户)的数据访问会被路由到目标库,最终完成数据库***的在线切换。
图3是根据本发明示例实施方式的数据迁移方法的流程示意图,如图3所示,在该方法中,最核心的部件为“迁移控制组件”,该组件可单独部署在一台或多台迁移服务器上,该服务器需能够远程访问源库、目标库以及REDIS缓存集群。“迁移控制组件”主要完成三项主要任务,即:数据迁移、数据检核、数据访问控制。
数据迁移:迁移控制组件在迁移服务器向源库远程发起数据导出指令,在迁移服务器生成源数据文件。由于源库、目标库数据库编码可能不同,源数据文件需要经过数据转码模块统一进行转码。经过转码后的数据文件,由迁移控制组件发起远程导入命令,最终加载进目标库。整个数据迁移过程支持目标库数据结构的重构,数据抽取、数据加载通过配置相应的SQL脚本实现。
数据检核:数据迁移入库后,数据检核开始工作,该模块实现了端对端的数据核验。迁移控制组件远程向源库、目标库下发相同SQL,生成源库、目标库的数据文件。两个数据文件通过md5、Linux diff、时间戳判定等一系列流程最终完成数据一致性比对。数据核验的结果将直接影响数据路由的选择,如果数据检核发现不一致数据,那么说明迁移过程有数据遗失或损坏,我们可以选择不修改路由开关,待后续解决问题,重新迁移数据后再进行路由切换。
数据访问控制:包括阻写和路由开关的设置,这两个开关信息会实时写入redis缓存。阻写开关用户告诉应用服务器,增、删、该的交易是否能够进行;路由开关告诉应用服务器,表(或用户)应该访问源库还是访问目标库。两个开关,可以手工脚本控制,也可以通过迁移控制器自行控制。通过这两个开关真正实现了数据库不停机迁移。
整个迁移架构,应用需要做一定的改造,应用需实现公共的阻写、路由逻辑,并在数据访问层同步保留源库、目标库的访问逻辑,从而为实现数据表(用户)在线实时切换提供支撑。
在一个示例性的实施方式中,本方法中数据迁移过程,如果目标表结构有较大规模变化,对于源库的数据抽取脚本一般会相对比较复杂,往往需要关联多张表查询,迁移效率相对较低,且容易对源库的稳定运行造成影响。这种情况,可以考虑在目标库建立源库相同表结构的临时表,迁移时先将数据迁移到临时表,然后再在目标库采用高效脚本进行处理。
利用本实施例所提供的数据迁移方法,在项目源库为DB2(数据库编码为GBK)、目标库为MYSQL分布式数据库(数据库编码为UTF8MB4),数据量2T,数据库日均访问频次5亿次的条件下,使用该迁移方法,在不停服的情况下,按照灰度上线、用户分批流量切换的策略,成功将6000万客户的数据库访问平稳切换到分布式数据库。整个迁移过程,迁移数据准确率100%,迁移过程中对用户正常的数据库读操作无任何影响,对数据库的写操作影响时间低于3分钟(实际阻写交易低于100笔),迁移后***TPS峰值由5700TPS上升至17000TPS。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据迁移方法的电子设备,图4是根据本发明实施例的一种可选的电子设备的结构示意图,如图4所示,该电子设备包括存储器402和处理器404,该存储器402中存储有计算机程序,该处理器404被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,向待迁移的源库发送数据导出指令;
S2,接收该源库所导出的数据并根据该导出的数据生成源数据文件;
S3,将该源数据文件进行转码,得到目标数据文件;
S4,将该目标数据文件加载至目标库,其中,该目标库是与该源库是结构不同的数据库。
通过上述步骤,通过向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
可选地,本领域普通技术人员可以理解,图4所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD、服务器等终端设备。图4其并不对上述电子装置、电子设备的结构造成限定。例如,电子装置、电子设备还可包括比图4中所示更多或者更少的组件(如网络接口等),或者具有与图4所示不同的配置。
其中,存储器402可用于存储软件程序以及模块,如本发明实施例中的数据迁移方法和装置对应的程序指令/模块,处理器404通过运行存储在存储器402内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据迁移方法。存储器402可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器402可进一步包括相对于处理器404远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器402具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。
可选地,上述的传输装置406用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置406包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置406为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器408,用于显示上述待处理的订单信息;和连接总线410,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式***中的一个节点,其中,该分布式***可以为区块链***,该区块链***可以是由该多个节点通过网络通信的形式连接形成的分布式***。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链***中的一个节点。
根据本发明的实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,向待迁移的源库发送数据导出指令;
S2,接收该源库所导出的数据并根据该导出的数据生成源数据文件;
S3,将该源数据文件进行转码,得到目标数据文件;
S4,将该目标数据文件加载至目标库,其中,该目标库是与该源库是结构不同的数据库。
通过上述步骤,通过向待迁移的源库发送数据导出指令;接收源库所导出的数据并根据导出的数据生成源数据文件;将源数据文件进行转码,得到目标数据文件;将目标数据文件加载至目标库,其中,目标库是与源库是结构不同的数据库,进而解决了相关技术中异构数据库之间无法进行数据迁移的技术问题,实现了异构数据库之间的数据迁移。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据迁移方法,包括:
向待迁移的源库发送数据导出指令;
接收所述源库所导出的数据并根据所述导出的数据生成源数据文件;
将所述源数据文件进行转码,得到目标数据文件;
将所述目标数据文件加载至目标库,其中,所述目标库是与所述源库是结构不同的数据库。
2.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述目标数据文件加载至目标库,包括:
建立与所述源库相同表结构的临时表;
将所述源数据文件迁移到所述临时表;
将所述临时表加载至所述目标库。
3.根据权利要求1所述的数据迁移方法,其特征在于,在将所述目标数据文件加载至目标库之后,所述数据迁移方法还包括:
分别向所述源库、所述目标库发送导出指令,其中,所述导出指令分别用于指示所述源库、所述目标库导出自身的数据;
分别接收所述源库、所述目标库所导出的数据以生成源库数据文件和目标库数据文件,其中,所述源库数据文件和所述目标库数据文件的数据格式相同;
校验所述所述源库数据文件和所述目标库数据文件的数据是否一致。
4.根据权利要求3所述的数据迁移方法,其特征在于,在所述校验所述所述源库数据文件和所述目标库数据文件的数据是否一致之后,所述数据迁移方法还包括:
根据校验结果确定所述源库、所述目标库的访问通道的开闭。
5.根据权利要求4所述的数据迁移方法,其特征在于,所述根据校验结果确定所述源库、所述目标库的访问通道的开闭,包括:
在校验确定所述源库数据文件和所述目标库数据文件的数据一致的情况下,关闭所述源库的访问通道,并开启所述目标库的访问通道。
6.根据权利要求3所述的数据迁移方法,其特征在于,在所述校验所述所述源库数据文件和所述目标库数据文件的数据是否一致之后,所述数据迁移方法还包括:
根据校验结果确定是否阻止应用服务器的数据操作。
7.根据权利要求3至6中的任一项所述的数据迁移方法,其特征在于,所述校验所述源库数据文件和所述目标库数据文件的数据是否一致,包括以下至少之一:
通过数据完整性算法校验所述源库数据文件和所述目标库数据文件的数据是否一致;
通过文件比较算法校验所述源库数据文件和所述目标库数据文件的数据是否一致;
通过时间戳判定算法校验所述源库数据文件和所述目标库数据文件的数据是否一致。
8.一种数据迁移装置,其特征在于,包括:
发送模块,用于向待迁移的源库发送数据导出指令;
接收模块,用于接收所述源库所导出的数据并根据所述导出的数据生成源数据文件;
转码模块,用于将所述源数据文件进行转码,得到目标数据文件;
加载模块,用于将所述目标数据文件加载至目标库,其中,所述目标库是与所述源库是结构不同的数据库。
9.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010818251.6A CN112131177A (zh) | 2020-08-14 | 2020-08-14 | 数据迁移方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010818251.6A CN112131177A (zh) | 2020-08-14 | 2020-08-14 | 数据迁移方法及装置、存储介质、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131177A true CN112131177A (zh) | 2020-12-25 |
Family
ID=73850825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010818251.6A Pending CN112131177A (zh) | 2020-08-14 | 2020-08-14 | 数据迁移方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131177A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055391A (zh) * | 2021-03-25 | 2021-06-29 | 建信金融科技有限责任公司 | 防火墙更换时策略配置转换的方法和装置 |
CN113157670A (zh) * | 2021-05-10 | 2021-07-23 | 中国工商银行股份有限公司 | 数据库的数据迁移方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508929A (zh) * | 2011-12-01 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 实现异构数据库数据迁移的***、装置及方法 |
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移***和方法 |
CN107122360A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移***和方法 |
CN107958057A (zh) * | 2017-11-29 | 2018-04-24 | 苏宁云商集团股份有限公司 | 一种用于异构数据库中数据迁移的代码生成方法及装置 |
CN110647579A (zh) * | 2019-08-16 | 2020-01-03 | 北京百度网讯科技有限公司 | 数据同步方法及装置、计算机设备与可读介质 |
CN110674113A (zh) * | 2019-09-24 | 2020-01-10 | 咪咕音乐有限公司 | 数据的一键迁移方法、装置、电子设备及存储介质 |
-
2020
- 2020-08-14 CN CN202010818251.6A patent/CN112131177A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999537A (zh) * | 2011-09-19 | 2013-03-27 | 阿里巴巴集团控股有限公司 | 一种数据迁移***和方法 |
CN102508929A (zh) * | 2011-12-01 | 2012-06-20 | 浪潮(北京)电子信息产业有限公司 | 实现异构数据库数据迁移的***、装置及方法 |
CN107122360A (zh) * | 2016-02-24 | 2017-09-01 | 阿里巴巴集团控股有限公司 | 数据迁移***和方法 |
CN107958057A (zh) * | 2017-11-29 | 2018-04-24 | 苏宁云商集团股份有限公司 | 一种用于异构数据库中数据迁移的代码生成方法及装置 |
CN110647579A (zh) * | 2019-08-16 | 2020-01-03 | 北京百度网讯科技有限公司 | 数据同步方法及装置、计算机设备与可读介质 |
CN110674113A (zh) * | 2019-09-24 | 2020-01-10 | 咪咕音乐有限公司 | 数据的一键迁移方法、装置、电子设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055391A (zh) * | 2021-03-25 | 2021-06-29 | 建信金融科技有限责任公司 | 防火墙更换时策略配置转换的方法和装置 |
CN113157670A (zh) * | 2021-05-10 | 2021-07-23 | 中国工商银行股份有限公司 | 数据库的数据迁移方法及*** |
CN113157670B (zh) * | 2021-05-10 | 2024-02-09 | 中国工商银行股份有限公司 | 数据库的数据迁移方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
JP6236533B2 (ja) | 差分アップデートパッケージの作成方法及び装置、システム差分アップデート方法及び装置 | |
CN107205057A (zh) | 一种游戏资源更新方法、装置及客户端 | |
CN107632827B (zh) | 应用的安装包的生成方法及装置 | |
CN108959385A (zh) | 数据库部署方法、装置、计算机设备和存储介质 | |
CN112131177A (zh) | 数据迁移方法及装置、存储介质、电子设备 | |
CN112685391B (zh) | 一种服务数据迁移方法、装置、计算机设备和存储介质 | |
CN108038153A (zh) | Hbase的数据在线迁移方法和装置 | |
CN112615759A (zh) | 全链路压测组件、全链路压测方法及装置 | |
CN114443294B (zh) | 大数据服务组件部署方法、***、终端及存储介质 | |
CN110442601A (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
CN104079610A (zh) | 云端服务器、应用软件的云同步方法和*** | |
CN115129574A (zh) | 一种代码测试方法和装置 | |
CN113127023B (zh) | 业务升级的方法、装置和*** | |
CN112988879B (zh) | 访问数据库的方法、***、装置、存储介质及处理器 | |
CN112948354A (zh) | 副本集群的创建方法和装置、电子设备和存储介质 | |
CN111813346A (zh) | 基于云平台搭建Ceph分布式存储的方法、***、设备及介质 | |
CN112905676A (zh) | 一种数据文件的导入方法及装置 | |
CN115129360A (zh) | 代码文件管理方法、装置、电子设备及存储介质 | |
CN108920936A (zh) | 一种基于Purley平台实现vmware认证的方法和装置 | |
CN114564211A (zh) | 集群部署方法、集群部署装置、设备及介质 | |
CN105867961A (zh) | ***升降级的方法和装置 | |
CN114189512B (zh) | 基线代码的下载方法、装置、终端设备和存储介质 | |
CN116614323B (zh) | 一种基于Rclone的云存储企业网盘管理方法及*** | |
CN109815197A (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 |