一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据迁移方法、数据迁移装置、介质及电子设备与流程

2022-03-16 15:20:36 来源:中国专利 TAG:
1.本技术涉及数据库
技术领域
:,具体而言,涉及一种数据迁移方法、数据迁移装置、计算机可读存储介质及电子设备。
背景技术
::2.数据迁移(datamigration)是指在存储类型、格式和计算机系统之间的数据转换。当用户决定使用新的计算系统或使用与当前系统不兼容的数据管理系统时,通常需要进行数据迁移。一般来说,数据迁移采用人工的方式,通过专业人员修改原有数据库的配置参数,并链接原有数据库和新数据库以实现数据迁移。但是,这种方式对专业人员的依赖性较高,无法实现数据迁移方案的通用性。3.需要说明的是,在上述
背景技术
:部分公开的信息仅用于加强对本技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:4.本技术的目的在于提供一种数据迁移方法、数据迁移装置、计算机可读存储介质及电子设备,可以设置用于限定数据库表结构的第一预设规则以及用于限定模拟迁移准确度的第二预设规则,从而可以在模拟迁移准确度较高时自动执行正式的数据迁移,从而降低对于专业人员的依赖性,提升数据迁移方案的通用性。5.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。6.根据本技术的一方面,提供一种数据迁移方法,包括:7.获取待迁移数据库的数据库表结构;8.根据第一预设规则对数据库表结构进行合法性校验,得到校验结果;9.若校验结果用于表示数据库表结构符合第一预设规则,则将待迁移数据库中的待迁移数据模拟迁移至目标数据库中;10.根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度;11.若模拟迁移准确度符合第二预设规则,则将待迁移数据库中的待迁移数据迁移至目标数据库中。12.在本技术的一种示例性实施例中,将待迁移数据库中的待迁移数据迁移至目标数据库中,包括:13.通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中。14.在本技术的一种示例性实施例中,若校验结果用于表示数据库表结构不符合第一预设规则,上述方法还包括:15.解耦数据库表结构;16.在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息。17.在本技术的一种示例性实施例中,将待迁移数据库中的待迁移数据模拟迁移至目标数据库中之后,上述方法还包括:18.生成模拟迁移报告;其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量;19.在用户界面中展示模拟迁移报告。20.在本技术的一种示例性实施例中,若模拟迁移准确度不符合第二预设规则,上述方法还包括:21.接收配置操作,根据配置操作配置字段、迁移进程数量以及迁移模式中任一种。22.在本技术的一种示例性实施例中,获取待迁移数据库的数据库表结构之前,上述方法还包括:23.接收链接输入操作,响应于链接输入操作根据输入的链接与待迁移数据库之间建立连接。24.在本技术的一种示例性实施例中,将待迁移数据库中的待迁移数据迁移至目标数据库中之后,上述方法还包括:25.若检测到迁移任务未结束,则对待迁移数据库进行增量补充迁移。26.根据本技术的一方面,提供一种数据迁移装置,包括:27.数据库表结构获取单元,用于获取待迁移数据库的数据库表结构;28.数据库表结构校验单元,用于根据第一预设规则对数据库表结构进行合法性校验,得到校验结果;29.数据模拟迁移单元,用于在校验结果用于表示数据库表结构符合第一预设规则时,将待迁移数据库中的待迁移数据模拟迁移至目标数据库中;30.模拟迁移准确度确定单元,用于根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度;31.数据正式迁移单元,用于在模拟迁移准确度符合第二预设规则时,将待迁移数据库中的待迁移数据迁移至目标数据库中。32.在本技术的一种示例性实施例中,数据正式迁移单元将待迁移数据库中的待迁移数据迁移至目标数据库中,包括:33.通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中。34.在本技术的一种示例性实施例中,上述装置还包括:35.结构单元,用于在校验结果用于表示数据库表结构不符合第一预设规则时,解耦数据库表结构;36.前端展示单元,用于在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息。37.在本技术的一种示例性实施例中,上述装置还包括:38.模拟迁移报告生成单元,用于在数据模拟迁移单元将待迁移数据库中的待迁移数据模拟迁移至目标数据库中之后,生成模拟迁移报告;其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量;39.前端展示单元,还用于在用户界面中展示模拟迁移报告。40.在本技术的一种示例性实施例中,上述装置还包括:41.配置单元,用于在模拟迁移准确度不符合第二预设规则,接收配置操作时,根据配置操作配置字段、迁移进程数量以及迁移模式中任一种。42.在本技术的一种示例性实施例中,上述装置还包括:43.数据库连接单元,用于在数据库表结构获取单元获取待迁移数据库的数据库表结构之前,接收链接输入操作,响应于链接输入操作根据输入的链接与待迁移数据库之间建立连接。44.在本技术的一种示例性实施例中,上述装置还包括:45.增量迁移单元,用于在数据正式迁移单元将待迁移数据库中的待迁移数据迁移至目标数据库中之后,若检测到迁移任务未结束,则对待迁移数据库进行增量补充迁移。46.根据本技术的一方面,提供一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的方法。47.根据本技术的一方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任意一项的方法。48.根据本技术的一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的各种可选实现方式中提供的方法。49.本技术示例性实施例可以具有以下部分或全部有益效果:50.在本技术的一示例实施方式所提供的数据迁移方法中,可以获取待迁移数据库的数据库表结构;根据第一预设规则对数据库表结构进行合法性校验,得到校验结果;若校验结果用于表示数据库表结构符合第一预设规则,则将待迁移数据库中的待迁移数据模拟迁移至目标数据库中;根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度;若模拟迁移准确度符合第二预设规则,则将待迁移数据库中的待迁移数据迁移至目标数据库中。依据上述方案描述,本技术一方面,可以设置用于限定数据库表结构的第一预设规则以及用于限定模拟迁移准确度的第二预设规则,从而可以在模拟迁移准确度较高时自动执行正式的数据迁移,从而降低对于专业人员的依赖性,提升数据迁移方案的通用性。本技术另一方面,可以基于第二预设规则对模拟迁移准确度的限定,提升正式迁移过程中的迁移准确率。51.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。附图说明52.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。53.图1示出了可以应用本技术实施例的一种数据迁移方法及数据迁移装置的示例性系统架构的示意图;54.图2示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图;55.图3示意性示出了根据本技术的一个实施例的数据迁移方法的流程图;56.图4示意性示出了根据本技术的一个实施例的实现数据迁移方法的架构示意图;57.图5示意性示出了根据本技术的一个实施例中用于执行数据迁移方法的模型结构示意图;58.图6示意性示出了根据本技术的一个实施例中用于实现数据迁移方法的程序目录示意图;59.图7示意性示出了根据本技术的一个实施例的数据迁移方法的流程图;60.图8示意性示出了根据本技术的一个实施例中的数据迁移装置的结构框图。具体实施方式61.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本技术将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本技术的各方面变得模糊。62.此外,附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。63.图1示出了可以应用本技术实施例的一种数据迁移方法及数据迁移装置的示例性应用环境的系统架构的示意图。64.如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。65.本技术实施例所提供的数据迁移方法一般由服务器105执行,相应地,数据迁移装置一般设置于服务器105中。但本领域技术人员容易理解的是,本技术实施例所提供的数据迁移方法也可以由终端设备101、102或103执行,相应的,数据迁移装置也可以设置于终端设备101、102或103中,本示例性实施例中对此不做特殊限定。举例而言,在一种示例性实施例中,服务器105可以获取待迁移数据库的数据库表结构;根据第一预设规则对数据库表结构进行合法性校验,得到校验结果;若校验结果用于表示数据库表结构符合第一预设规则,则将待迁移数据库中的待迁移数据模拟迁移至目标数据库中;根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度;若模拟迁移准确度符合第二预设规则,则将待迁移数据库中的待迁移数据迁移至目标数据库中。66.图2示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。67.需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。68.如图2所示,计算机系统200包括中央处理单元(cpu)201,其可以根据存储在只读存储器(rom)202中的程序或者从储存部分208加载到随机访问存储器(ram)203中的程序而执行各种适当的动作和处理。在ram203中,还存储有系统操作所需的各种程序和数据。cpu201、rom202以及ram203通过总线204彼此相连。输入/输出(i/o)接口205也连接至总线204。69.以下部件连接至i/o接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分207;包括硬盘等的储存部分208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至i/o接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入储存部分208。70.特别地,根据本技术的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(cpu)201执行时,执行本技术的方法和装置中限定的各种功能。71.本示例实施方式提供了一种数据迁移方法。该数据迁移方法可以应用于上述服务器105,也可以应用于上述终端设备101、102、103中的一个或多个,本示例性实施例中对此不做特殊限定。参考图3所示,该数据迁移方法可以包括以下步骤s310至步骤s350。72.步骤s310:获取待迁移数据库的数据库表结构。73.步骤s320:根据第一预设规则对数据库表结构进行合法性校验,得到校验结果。74.步骤s330:若校验结果用于表示数据库表结构符合第一预设规则,则将待迁移数据库中的待迁移数据模拟迁移至目标数据库中。75.步骤s340:根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度。76.步骤s350:若模拟迁移准确度符合第二预设规则,则将待迁移数据库中的待迁移数据迁移至目标数据库中。77.本技术实施例中步骤s310至步骤s350的技术方案可以基于python程序语言开发得到。78.实施图3所示的方法,可以设置用于限定数据库表结构的第一预设规则以及用于限定模拟迁移准确度的第二预设规则,从而可以在模拟迁移准确度较高时自动执行正式的数据迁移,从而降低对于专业人员的依赖性,提升数据迁移方案的通用性。此外,可以基于第二预设规则对模拟迁移准确度的限定,提升正式迁移过程中的迁移准确率。79.下面,对于本示例实施方式的上述步骤进行更加详细的说明。80.在步骤s310中,获取待迁移数据库的数据库表结构。81.具体地,待迁移数据库以及目标数据库均可以为mysql、sqlserver、oracle、db2、sybase、informix、postgresql等数据库中的任一数据库,本技术实施例不作限定。[0082][0083][0084]其中,数据库表结构可以表示如下:[0085]请参阅图4,图4示意性示出了根据本技术的一个实施例的实现数据迁移方法的架构示意图。如图4所示,实现数据迁移方法的架构包括:前端用户界面410、数据处理平台420、数据采集模块430以及数据库引擎440。[0086]其中,前端用户界面410可以基于html5411、tomcat412、javascript413、j2ee414或bootstrap415进行构建。数据处理平台420可以包括表结构分析模块421、数据分析模块422、数据迁移模块423;其中,表结构分析模块421可以用于根据第一预设规则对数据库表结构进行合法性校验,数据分析模块422用于分析待迁移数据库中需要迁移的数据,数据迁移模块423用于将待迁移数据库中的待迁移数据模拟迁移至目标数据库中以及将待迁移数据库中的待迁移数据迁移至目标数据库中。数据采集模块430包括数据预处理功能431、数据表结构采集功能432以及数据采集功能433;其中,数据预处理功能431用于统一数据格式,数据表结构采集功能432用于获取待迁移数据库的数据库表结构,数据采集功能433用于获取待迁移数据库中的待迁移数据。数据库引擎440包括待迁移数据库441和目标数据库442;其中,待迁移数据库441可以包括oracle4411、informix4412、sqlserver4413、db24414、mysql4415,目标数据库442可以包括teledb4421、telpg4422、udal4423。[0087]作为一种可选的实施例,获取待迁移数据库的数据库表结构之前,上述方法还包括:接收链接输入操作,响应于链接输入操作根据输入的链接与待迁移数据库之间建立连接。[0088]具体地,链接输入操作可以为点击操作、粘贴操作、拖动操作等,本技术实施例不作限定,链接输入操作用于在前端用户界面的链接输入区域输入数据库链接。其中,根据输入的链接与待迁移数据库之间建立连接,包括:向输入的链接发送连接请求,若接收到允许连接反馈,则建立与待迁移数据库之间的连接;其中,输入的链接与待迁移数据库相对应。[0089]此外,获取待迁移数据库的数据库表结构,包括:从待迁移数据库中读取数据库表结构和待迁移数据,并将数据库表结构和待迁移数据上传至同步系统数据库中,以便随时从同步系统数据库中调用。[0090]可见,实施该可选的实施例,能够根据链接使得目标数据库与各数据库之间建立连接,从而实现各个数据库至目标数据库的数据迁移,这样有利于提升数据迁移效率。[0091]在步骤s320中,根据第一预设规则对数据库表结构进行合法性校验,得到校验结果。[0092]具体地,第一预设规则可以由配置参数构成,用于判定数据库表结构是否满足于该配置参数,配置参数可以通过数值、字符串、符号等进行表示,对于第一预设规则中的具体配置参数,本技术实施例不作限定。[0093]在步骤s330中,若校验结果用于表示数据库表结构符合第一预设规则,则将待迁移数据库中的待迁移数据模拟迁移至目标数据库中。[0094]具体地,目标数据库可以为自研数据库,如,teledb、telpg、udal等。其中,将待迁移数据库中的待迁移数据模拟迁移至目标数据库中,包括:生成用于在目标数据库中构建数据库表的控制指令,控制指令可以通过dll语句进行表示,进而可以通过该控制指令在目标数据库中构建数据库表。[0095]另外,若校验结果用于表示数据库表结构不符合第一预设规则,上述方法还可以包括:生成针对数据库表结构的修改建议,并将该修改建议输出至用户界面,以方便相关人员参考该修改建议修改数据库表结构的配置参数。当检测到修改完成后,执行步骤s320。[0096]作为一种可选的实施例,若校验结果用于表示数据库表结构不符合第一预设规则,上述方法还包括:解耦数据库表结构;在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息。[0097]具体地,在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息之后,上述方法还可以包括:接收用户在用户界面中输入的配置信息,根据配置信息重新配置数据库表结构,根据第一预设规则对重新配置后的数据库表结构进行合法性校验。[0098]可见,实施该可选的实施例,能够实现数据库相关信息的可视化处理,使得用户可以通过用户界面了解到数据库表的合法性校验结果,也可以通过用户界面直接输入相应的配置信息,提升了数据迁移方案的通用性、便捷性、交互性。[0099]作为一种可选的实施例,将待迁移数据库中的待迁移数据模拟迁移至目标数据库中之后,上述方法还包括:生成模拟迁移报告;其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量;在用户界面中展示模拟迁移报告。[0100]具体地,模拟迁移报告还可以用于表示数据迁移的完成度(如,90%)。此外,模拟迁移报告中还可以包括生成的参数调整建议,以供相关人员参考,该参数调整建议用于辅助相关人员重新配置参数,从而提升模拟迁移过程中的正确迁移的数据量。[0101]可见,实施该可选的实施例,能够通过模拟数据同步以及对于模拟迁移报告的展示,方便用户对迁移过程的配置参数进行不断调整,以改善数据迁移的准确率以及完成度。[0102]在步骤s340中,根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度。[0103]具体地,待迁移数据库与目标数据库的类型可以相同也可以不同。模拟迁移准确度可以通过数值/百分比进行表示,模拟迁移准确度用于表示从待迁移数据库中正确迁移至目标数据库中的待迁移数据占所有待迁移数据的比例。[0104]此外,若模拟迁移准确度不符合第二预设规则,则上述方法还可以包括:输出用于提示用户重新配置参数的提示信息,并在检测到配置完成之后执行步骤将待迁移数据库中的待迁移数据模拟迁移至目标数据库中。这样可以通过多次模拟迁移,方便用户以迭代的方式处理数据迁移问题。[0105]在步骤s350中,若模拟迁移准确度符合第二预设规则,则将待迁移数据库中的待迁移数据迁移至目标数据库中。[0106]具体地,第二预设规则可以包括准确度阈值(如,80%),第二预设规则用于限定符合正式数据迁移的条件。目标数据库的数量可以为一个或多个,若目标数据库的数量为多个,将待迁移数据库中的待迁移数据迁移至目标数据库中的方式具体可以为:将待迁移数据库中的待迁移数据迁移至各个目标数据库中;其中,各个目标数据库可以分别部署于不同区域的节点服务器中。这样实现一个待迁移数据库至多个目标数据库的数据迁移,多个目标数据库可以为不同区域的相同类型数据库,可以为同步数据库,用于存储相同数据,避免单数据库出现问题导致的数据无法调用问题,保障数据的可用性。[0107]另外,将待迁移数据库中的待迁移数据迁移至目标数据库中之后,上述方法还可以包括:确定迁移过程中的迁移效率(如,22.6m/每秒)、正式迁移用时(如,8.1分钟)、迁移工作开展时间(如,2021年1月10日至1月11日)、异常数据量(如,12131条)、实际迁移数据量(如,2827832条)、异常表数量(如,13张)、总数量(如,11g)、总迁移条目(如,2839963条)、总迁移数据表数量(如,273张)、用户名称等迁移信息,在用户界面展示迁移信息并将该迁移信息上传至服务器,以使得服务器对本次迁移产生的迁移信息进行存储,从而可以方便后续调用。[0108]另外,将待迁移数据库中的待迁移数据迁移至目标数据库中之后,上述方法还包括:生成正式迁移报告;其中,正式迁移报告用于表示正确迁移的数据量和异常迁移的数据量;在用户界面中展示模拟迁移报告。进而,还可以包括:对正式迁移报告和模拟迁移报告进行数据分析,得到用于表征报告差异的报告解析并展示该报告解析,用户可以根据该报告解析了解到模拟迁移结果与正式迁移结果的差异。可选的,正式迁移报告和模拟迁移报告可以包括上述迁移信息中至少一种。[0109]作为一种可选的实施例,将待迁移数据库中的待迁移数据迁移至目标数据库中,包括:通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中。[0110]具体地,进程是具有独立功能的程序在数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的独立单位,也是应用程序运行的载体。进程一般由程序、数据集合和进程控制块三部分组成;其中,程序用于描述进程需要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时需要的数据和工作区;程序控制块包含进程的描述信息和控制信息,是进程存在的唯一标志。[0111]其中,通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中,包括:通过多个进程同步将待迁移数据库中的待迁移数据在内存中进行数据转换,并将数据转换后的结果迁移至目标数据库中。这样可以最大限度地发挥硬件能力和网络能力,从而有利于提升数据迁移效率。[0112]可见,实施该可选的实施例,能够基于多个进程对待迁移数据进行同步迁移,从而可以提升迁移效率。[0113]作为一种可选的实施例,若模拟迁移准确度不符合第二预设规则,上述方法还包括:接收配置操作,根据配置操作配置字段、迁移进程数量以及迁移模式中任一种。[0114]具体地,接收配置操作,包括:在用户界面中接收配置操作。[0115]可见,实施该可选的实施例,能够方便用户根据模拟迁移准确度执行相应的配置操作,从而提升正式数据迁移的准确率和完成度。[0116]作为一种可选的实施例,将待迁移数据库中的待迁移数据迁移至目标数据库中之后,上述方法还包括:若检测到迁移任务未结束,则对待迁移数据库进行增量补充迁移。[0117]具体地,对待迁移数据库进行增量补充迁移,包括:当检测到待迁移数据库中出现新增待迁移数据时,则对待迁移数据库进行增量补充迁移。其中,新增待迁移数据的时间戳与原待迁移数据的时间戳可以属于不同的时间段。[0118]可见,实施该可选的实施例,能够提升数据迁移方案的自动化程度。[0119]请参阅图5,图5示意性示出了根据本技术的一个实施例中用于执行数据迁移方法的模型结构示意图。如图5所示,用于执行数据迁移方法的模型可以包括:同步数据库模块510、数据库表信息模块520、数据库表结构校验模块530、数据库表字段信息模块540、数据同步配置模块550、数据同步日志模块560、异常数据表模块570。[0120]其中,同步数据库模块510用于记载待迁移数据库的信息和数据迁移进度(如,同步状态),具体可以包括:数据库名称、数据库类型、用户名(即,存在数据迁移需求的用户的名称)、密码、数据库链接、数据库链接名、同步状态。数据库表信息模块520用于记载数据库表的相关信息,具体可以包括:数据库名称、数据库表名、数据库表id、拥有者名称(即,数据库表的拥有者)、数据库表大小、存储行数、同步状态。数据库表结构校验模块530可以利用如下信息执行数据库表的合法性校验:数据库名称、数据库表id、校验结果、校验时间和数据库表修改建议。数据库表字段信息模块540用于记载与数据库表相关的字段信息,具体可以包括:数据库名称、数据库表名、拥有者名称、字段名称、字段类型以及字段长度。数据同步配置模块550可以利用如下信息执行数据迁移方案:数据库名称、数据同步批次id、数据库表id、目标数据库、校验时间、源数据条目、同步数据条目、读取数据条目、同步状态更新时间。数据同步日志模块560用于存储记录数据迁移过程的日志,具体可以包括:数据库名称、数据同步批次id、启动批次号、开始时间、结束时间、同步数据条目、报错信息和取模值。异常数据表模块570用于记录数据迁移过程中的异常数据表的相关信息,具体可以包括:数据同步批次id、数据库表名、数据库表id、字段1值、字段2值、字段3值;其中,字段1值、字段2值、字段3值可以用于记录不同字段对应的值。[0121]请参阅图6,图6示意性示出了根据本技术的一个实施例中用于实现数据迁移方法的程序目录示意图。如图6所示,用于实现数据迁移方法的程序目录可以通过主目录(syncdata)600进行表示,其中,主目录(syncdata)600可以包括:程序目录(processor)610、配置目录(conf)620、报表目录(report)630、日志目录(log)640、界面目录(webcontent)650、主程序(main_processor.py)660、启动程序(start_sync.sh)670、停止程序(stop_sync.sh)680。[0122]具体地,程序目录(processor)610可以包括:数据库引擎程序(database_engine.py)611、数据同步程序(sync_table_normal.py)612、数据结构分析程序(analysis_table_info.py)613、同步数据分析程序(stat_sync.py)614,数据库引擎程序(database_engine.py)611包括了oracle接口类(ora_engine)6111、informix接口类(infm_engine)6112、db2接口类(db2_engine)6113、mysql接口类(mysql_engine)6114、sqlserver接口类(sqls_engine)6115、oracle接口类(teledb_engine)6116、telepg接口类(telepg_engine)6117、udal接口类(udal_engine)6118。[0123]配置目录(conf)620可以包括:数据配置(database.json)621和程序基本配置(dir.json)622。报表目录(report)630可以包括:表机构校验报表631、模拟数据同步报告632和正式数据同步报告633。日志目录(log)640可以包括:程序运行日志(run_yyyymmddlog)641和运行异常日志(error_yyyymmdd.log)642。界面目录(webcontent)650可以包括:css651、img652、功能界面目录(link)653、登录界面(index.jsp)654和主界面(main_index.jsp)655;其中,css651具体可以为架构引入包6511,img652具体可以为图片6521,功能界面目录(link)653可以包括综合配置界面(configsynctable.jsp)6531、综合分析界面(analysissync.jsp)6532和同步健康界面(montiorsync.jsp)6533。[0124]其中,由程序目录(processor)610执行步骤s310至步骤s350。报表目录(report)630用于生成数据迁移报告。配置目录(conf)620用于实现数据迁移过程中的参数配置。日志目录(log)640用于记录数据迁移过程。界面目录(webcontent)650用于将数据迁移结果可视化展示在用户界面中。[0125]请参阅图7,图7示意性示出了根据本技术的一个实施例的数据迁移方法的流程图。如图7所示,该数据迁移方法包括:步骤s700~步骤s790。[0126]步骤s700:接收链接输入操作,响应于链接输入操作根据输入的链接与待迁移数据库之间建立连接。[0127]步骤s710:获取待迁移数据库的数据库表结构,根据第一预设规则对数据库表结构进行合法性校验,得到校验结果。若校验结果用于表示数据库表结构符合第一预设规则,则执行步骤s820。若校验结果用于表示数据库表结构不符合第一预设规则,则执行步骤s830。[0128]步骤s720:将待迁移数据库中的待迁移数据模拟迁移至目标数据库中。[0129]步骤s730:解耦数据库表结构,在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息并接收参数调整操作。进而,执行步骤s710。[0130]步骤s740:生成模拟迁移报告,其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量,进而在用户界面中展示模拟迁移报告。[0131]步骤s750:根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度。若模拟迁移准确度符合第二预设规则,则执行步骤s760。若模拟迁移准确度不符合第二预设规则,则执行步骤s770。[0132]步骤s760:通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中。[0133]步骤s770:接收配置操作,根据配置操作配置字段、迁移进程数量以及迁移模式中任一种。进而,执行步骤s750。[0134]步骤s780:生成正式迁移报告,其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量,进而在用户界面中展示正式迁移报告。[0135]步骤s790:若检测到迁移任务未结束,则对待迁移数据库进行增量补充迁移。[0136]需要说明的是,步骤s700~步骤s790与图3所示的各步骤及其实施例相对应,针对步骤s700~步骤s790的具体实施方式,请参阅图3所示的各步骤及其实施例,此处不再赘述。[0137]可见,实施图7所示的方法,可以设置用于限定数据库表结构的第一预设规则以及用于限定模拟迁移准确度的第二预设规则,从而可以在模拟迁移准确度较高时自动执行正式的数据迁移,从而降低对于专业人员的依赖性,提升数据迁移方案的通用性。此外,可以基于第二预设规则对模拟迁移准确度的限定,提升正式迁移过程中的迁移准确率。[0138]请参阅图8,图8示意性示出了根据本技术的一个实施例中的数据迁移装置的结构框图。如图8所示,该数据迁移装置800包括:[0139]数据库表结构获取单元801,用于获取待迁移数据库的数据库表结构;[0140]数据库表结构校验单元802,用于根据第一预设规则对数据库表结构进行合法性校验,得到校验结果;[0141]数据模拟迁移单元803,用于在校验结果用于表示数据库表结构符合第一预设规则时,将待迁移数据库中的待迁移数据模拟迁移至目标数据库中;[0142]模拟迁移准确度确定单元804,用于根据待迁移数据库中的待迁移数据和目标数据库中的待迁移数据确定模拟迁移准确度;[0143]数据正式迁移单元805,用于在模拟迁移准确度符合第二预设规则时,将待迁移数据库中的待迁移数据迁移至目标数据库中。[0144]可见,实施图8所示的装置,可以设置用于限定数据库表结构的第一预设规则以及用于限定模拟迁移准确度的第二预设规则,从而可以在模拟迁移准确度较高时自动执行正式的数据迁移,从而降低对于专业人员的依赖性,提升数据迁移方案的通用性。此外,可以基于第二预设规则对模拟迁移准确度的限定,提升正式迁移过程中的迁移准确率。[0145]在本技术的一种示例性实施例中,数据正式迁移单元805将待迁移数据库中的待迁移数据迁移至目标数据库中,包括:[0146]通过多个进程同步将待迁移数据库中的待迁移数据迁移至目标数据库中。[0147]可见,实施该可选的实施例,能够基于多个进程对待迁移数据进行同步迁移,从而可以提升迁移效率。[0148]在本技术的一种示例性实施例中,上述装置还包括:[0149]结构单元(未图示),用于在校验结果用于表示数据库表结构不符合第一预设规则时,解耦数据库表结构;[0150]前端展示单元(未图示),用于在用户界面展示解耦后的数据库表以及用于表示数据库表不符合预设规范的提示信息。[0151]可见,实施该可选的实施例,能够实现数据库相关信息的可视化处理,使得用户可以通过用户界面了解到数据库表的合法性校验结果,也可以通过用户界面直接输入相应的配置信息,提升了数据迁移方案的通用性、便捷性、交互性。[0152]在本技术的一种示例性实施例中,上述装置还包括:[0153]模拟迁移报告生成单元(未图示),用于在数据模拟迁移单元803将待迁移数据库中的待迁移数据模拟迁移至目标数据库中之后,生成模拟迁移报告;其中,模拟迁移报告用于表示正确迁移的数据量和异常迁移的数据量;[0154]前端展示单元,还用于在用户界面中展示模拟迁移报告。[0155]可见,实施该可选的实施例,能够通过模拟数据同步以及对于模拟迁移报告的展示,方便用户对迁移过程的配置参数进行不断调整,以改善数据迁移的准确率以及完成度。[0156]在本技术的一种示例性实施例中,上述装置还包括:[0157]配置单元(未图示),用于在模拟迁移准确度不符合第二预设规则,接收配置操作时,根据配置操作配置字段、迁移进程数量以及迁移模式中任一种。[0158]可见,实施该可选的实施例,能够方便用户根据模拟迁移准确度执行相应的配置操作,从而提升正式数据迁移的准确率和完成度。[0159]在本技术的一种示例性实施例中,上述装置还包括:[0160]数据库连接单元(未图示),用于在数据库表结构获取单元801获取待迁移数据库的数据库表结构之前,接收链接输入操作,响应于链接输入操作根据输入的链接与待迁移数据库之间建立连接。[0161]可见,实施该可选的实施例,能够根据链接使得目标数据库与各数据库之间建立连接,从而实现各个数据库至目标数据库的数据迁移,这样有利于提升数据迁移效率。[0162]在本技术的一种示例性实施例中,上述装置还包括:[0163]增量迁移单元(未图示),用于在数据正式迁移单元805将待迁移数据库中的待迁移数据迁移至目标数据库中之后,若检测到迁移任务未结束,则对待迁移数据库进行增量补充迁移。[0164]可见,实施该可选的实施例,能够提升数据迁移方案的自动化程度。[0165]应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。[0166]由于本技术的示例实施例的数据迁移装置的各个功能模块与上述数据迁移方法的示例实施例的步骤对应,因此对于本技术装置实施例中未披露的细节,请参照本技术上述的数据迁移方法的实施例。[0167]作为另一方面,本技术还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。[0168]需要说明的是,本技术所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。[0169]附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。[0170]描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。[0171]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求指出。[0172]应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求来限制。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献