CN113608688B - 数据迁移方法、装置、设备及存储介质 - Google Patents
数据迁移方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113608688B CN113608688B CN202110795972.4A CN202110795972A CN113608688B CN 113608688 B CN113608688 B CN 113608688B CN 202110795972 A CN202110795972 A CN 202110795972A CN 113608688 B CN113608688 B CN 113608688B
- Authority
- CN
- China
- Prior art keywords
- data
- attribute
- version
- version data
- metadata
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/219—Managing data history or versioning
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据迁移方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:获取数据迁移任务,数据迁移任务用于将第一版本数据转换成第二版本数据;基于第一版本数据和第二版本数据的版本信息,分别获取第一版本数据的元数据和第二版本数据的元数据;基于第一版本数据的元数据和第二版本数据的元数据,获取版本迁移策略,版本迁移策略用于引导数据转换;基于版本迁移策略对第一版本数据进行转换处理,得到第二版本数据。本申请实施例通过比对不同版本数据的元数据得到版本迁移策略,进而基于版本迁移策略实现数据版本的迁移,而无需从应用程序中获取预设的版本迁移策略,提高了版本迁移策略的可扩展性和获取灵活性。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种数据迁移方法、装置、设备及存储介质。
背景技术
数据迁移技术是指数据在几个不同阶段(即不同版本)之间转换时,为保障系统不间断运行,降低数据在转换时对系统运行产生影响的技术。
在相关技术中,通过对不同版本的数据的结构进行解析,事先制定对应的版本迁移策略,并将版本迁移策略内置于应用程序中,随同业务应用一同发布。
然而,上述方案中版本迁移策略与业务应用紧耦合,获取不够灵活,可扩展性差。
发明内容
本申请实施例提供了一种数据迁移方法、装置、设备及存储介质,能够基于不同版本数据的元数据自动生成版本迁移策略,提高了版本迁移策略的可扩展性和获取灵活性,进而提高了数据迁移的灵活性。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种数据迁移方法,所述方法包括:
获取数据迁移任务,所述数据迁移任务用于将第一版本数据转换成第二版本数据,所述第一版本数据是指系统中当前版本的数据,所述第二版本数据是指系统所需版本的数据;
基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据,所述元数据用于描述数据的属性;
基于所述第一版本数据的元数据和所述第二版本数据的元数据,获取版本迁移策略,所述版本迁移策略用于引导数据转换;
基于所述版本迁移策略对所述第一版本数据进行转换处理,得到所述第二版本数据。
根据本申请实施例的一个方面,提供了一种数据迁移装置,所述装置包括:
任务获取模块,用于获取数据迁移任务,所述数据迁移任务用于将第一版本数据转换成第二版本数据,所述第一版本数据是指系统中当前版本的数据,所述第二版本数据是指系统所需版本的数据;
元数据获取模块,用于基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据,所述元数据用于描述数据的属性;
策略获取模块,用于基于所述第一版本数据的元数据和所述第二版本数据的元数据,获取版本迁移策略,所述版本迁移策略用于引导数据转换;
数据转换模块,用于基于所述版本迁移策略对所述第一版本数据进行转换处理,得到所述第二版本数据。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述数据迁移方法。
可选地,所述计算机设备为终端或服务器。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述数据迁移方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据迁移方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过对比第一版本数据和第二版本数据的元数据,获取版本迁移策略,再基于版本迁移策略执行第一版本数据到第二版本数据的转换,从而实现数据迁移,而无需从特定的应用程序中获取预设的版本迁移策略,实现了与业务应用的解耦合,提高了版本迁移策略的可扩展性和获取灵活性,进而提高了数据迁移的灵活性。
另外,由于数据复杂多样,而元数据逻辑简单清晰,便于获取识别,从而降低了版本迁移策略的获取难度,进而降低了数据迁移的难度,提高了数据迁移效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是本申请一个实施例提供的数据迁移方法的流程图;
图3至图5示例性示出了数据和数据的元数据的示意图;
图6是本申请一个实施例提供的元数据生成方法的流程图;
图7示例性示出了另一个数据的元数据的示意图;
图8是本申请一个实施例提供的元数据调整方法的流程图;
图9是本申请另一个实施例提供的数据迁移方法的流程图;
图10是本申请一个实施例提供的数据迁移装置的框图;
图11是本申请另一个实施例提供的数据迁移装置的框图;
图12是本申请另一个实施例提供的计算机设备的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以实现成为一个数据迁移系统。该方案实施环境可以包括:终端10和服务器20。
终端10可以是诸如手机、平板电脑、多媒体播放设备、PC(Personal Computer,个人计算机)、可穿戴设备等电子设备。终端10中可以安装目标应用程序的客户端,该目标应用程序可以是任何具有数据迁移功能的应用程序,诸如数据迁移应用程序、数据管理应用程序、企业管理应用程序以及其他具有数据迁移功能的应用程序,本申请实施例对此不作限定。
服务器20可以用于为终端10提供后台服务。例如,服务器20可以是上述目标应用程序的后台服务器。服务器20可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
终端10与服务器20之间可以通过网络30进行通信。
请参考图2,其示出了本申请一个实施例提供的数据迁移方法的流程图。该方法各步骤的执行主体可以是计算机设备。该计算机设备可以是图1实施环境中的终端10或服务器20。方法可以包括如下几个步骤(201~204):
步骤201,获取数据迁移任务,数据迁移任务用于将第一版本数据转换成第二版本数据,第一版本数据是指系统中当前版本的数据,第二版本数据是指系统所需版本的数据。
在本申请实施例中,数据迁移任务是指将系统中当前版本的数据转换成系统所需版本的数据的任务。其中,该系统可以是各类应用程序的系统,诸如企业管理类应用程序、通讯类应用程序、购物类应用程序、资讯类应用程序等等。可选地,上述的数据可以是各类应用系统中的任意数据,诸如系统运行所需的代码类数据、采集用户操作行为得到的数据以及系统中任意的实时数据等。该数据可以是任一类型的数据,诸如字符串、数值等,本申请实施例对此不作限定。
系统中的数据在时间分布上做无限地动态变化,即系统中的数据在不同阶段里对应不同的内容。例如,上述的第一版本数据和第二版本数据则是处于不同阶段的数据。在本申请实施例中,以数据的版本信息表示数据对应的阶段。基于数据的版本信息可以检索数据对应的数据内容,以及下文提到的元数据。
步骤202,基于第一版本数据和第二版本数据的版本信息,分别获取第一版本数据的元数据和第二版本数据的元数据,元数据用于描述数据的属性。
元数据是指一种用于描述数据的结构数据,可用于说明数据的属性(例如数据的名称、大小、类型等)、数据的结构(例如数据的长度、字段、数据列等)和数据的关联数据(例如数据的存储位置、拥有者、获取方式等)。其中,数据的属性是指数据的描述性性质或特征。例如,参考图3,第一版本数据301的元数据包括属性A:"name":{"type":"string"}和属性B:"age":{"type":"number"}。其中,“name”是指第一版本数据301中字段1的名称,“age”是指第一版本数据301中字段2的名称,{"type":"string"}用于定义字段1的数据类型,{"type":"number"}用于定义字段2的数据类型。
可选地,第一版本数据和第二版本数据的元数据可以从数据库、磁盘等中获取。在本申请实施例中,第一版本数据和第二版本数据的元数据被存储在数据库、磁盘等中,以实现元数据的持久化。当需要使用时,可基于数据的版本信息在数据库中进行检索。如此,在数据迁移过程中,无需对不同版本的数据与对应的迁移应用程序进行适配,只需从数据库中提取对应的元数据,从而解除数据迁移和业务应用的强耦合。
可选地,可以基于JSON Schema(JavaScript Object Notation Schema,JS语言对象表示法架构)规范(例如JSON Schema Draft-7版本)定义不同版本的数据的元数据,其具体定义方法,请参考下文实施例。可选地。对于不是JSON(JavaScript Object Notation,JS语言对象表示法)格式的数据,可以先将其转换成JSON格式的数据,再进行元数据的定义处理。
步骤203,基于第一版本数据的元数据和第二版本数据的元数据,获取版本迁移策略,版本迁移策略用于引导数据转换。
在本申请实施例中,版本迁移策略是指不同版本的数据之间的转换策略,如第一版本数据和第二版本数据之间的转换策略。可选地,版本迁移策略可用于引导系统所具有的数据迁移功能模块(或数据迁移应用)将低版本的数据升级成高版本的数据,也可以引导系统所具有的数据迁移功能模块将高版本的数据降级到低版本的数据,本申请实施例对此不作限定。
可选地,基于不同的数据迁移任务,可以自动生成对应的版本迁移策略。
在一个示例中,版本迁移策略的具体获取方法可以如下:对第一版本数据和第二版本数据的元数据进行解析处理,得到第一版本数据的属性规则集合和第二版本数据的属性规则集合,属性规则集合包括多个属性规则,属性规则用于约束数据的完整性;对第一版本数据的属性规则集合和第二版本数据的属性规则集合进行比对处理,得到第一版本数据的属性规则集合和第二版本数据的属性规则集合之间的差异属性规则;获取差异属性规则对应的属性存储路径和属性定义信息;基于属性存储路径和属性定义信息,确定版本迁移策略。
其中,属性规则集合是指属性规则的集合,该属性规则集合包括数据对应的所有属性规则。属性规则是用于约束数据的属性。例如,数据是否可选,即属性对应的值是否可选;数据的类型,属性对应的值可以是数值、字符串等;数据的范围,即属性对应的值的范围(例如年龄不能为负数);数据的可选项,即属性对应的值的可选项(例如,性别:男、女、其他);数据的限定条件,即属性对应的值的限定条件(例如属性A对应的值依赖于属性B对应的值)。
例如,参考图3,第一版本数据301的属性规则集合可以包括:属性规则1:属性A的名称为“name”,属性A的值的类型为字符串;属性规则2:属性B的名称为“age”,属性B的值的类型为数值。第二版本数据302的属性规则集合可以包括:属性规则1:属性C的名称为“name”,属性C的值的类型为字符串。属性规则2:属性D的名称为“height”,属性D的值的类型为数值。属性规则3:属性E的名称为“age”,属性E的值的类型为数值。
差异属性规则是指不同版本的数据之间的不同的属性规则。通过比对数据中各个字段在不同版本下所对应的属性规则集合,可以确定差异属性规则。例如,参考图3,第一版数据301中的属性规则1与第二版数据302中的属性规则1相同,第一版数据301中的属性规则2与第二版数据302中的属性规则3相同,第一版数据301中不包含第二版数据302中的属性规则2,则第二版数据302中的属性规则2为差异属性规则。可选地,不同版本的数据之间的差异属性规则包括至少一个,本申请实施例对此不作限定。
在一个示例中,对第一版本数据的属性规则集合和第二版本数据的属性规则集合进行比对处理,得到第一版本数据的属性规则集合和第二版本数据的属性规则集合之间的增加属性规则,增加属性规则是指相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中增加的属性规则。
例如,若第一版本数据的属性规则集合中包括属性规则A和属性规则B,第一版本数据的属性规则集合中包括属性规则A、属性规则B和属性规则C,则相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中增加了属性规则C,则属性规则C为增加属性规则(即上述的差异属性规则)。
在一个示例中,对第一版本数据的属性规则集合和第二版本数据的属性规则集合进行比对处理,得到第一版本数据的属性规则集合和第二版本数据的属性规则集合之间的删除属性规则,删除属性规则是指相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中删除的属性规则。
例如,若第一版本数据的属性规则集合中包括属性规则A和属性规则B,第一版本数据的属性规则集合中包括属性规则A,则相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中减少了属性规则C,则属性规则C为减少属性规则(即上述的差异属性规则)。
在还一个示例中,对第一版本数据的属性规则集合和第二版本数据的属性规则集合进行比对处理,得到第一版本数据的属性规则集合和第二版本数据的属性规则集合之间的修改属性规则,修改属性规则是指相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中修改的属性规则。
例如,若第一版本数据的属性规则集合中的属性规则A对应的属性的值为1,第一版本数据的属性规则集合中的属性规则A对应的属性的值为0.5,则相比第一版本数据的属性规则集合,第二版本数据的属性规则集合中属性规则A已经被修改,则属性规则A为修改属性规则(即上述的差异属性规则)。
属性存储路径是指属性对应的值的存储路径,可用于在对应的数据中检索该属性的值。属性定义信息是属性的定义信息,可用于约束数据的属性,其可以通过引用表述获取。例如,参考图4和图5,该差异属性规则对应的属性存储路径401为“#/definitions/configurationOption”,该差异属性规则对应的属性定义信息402为:属性的名称为“queryConfigBean.cacheFilterExpr”,该属性的值的类型为字符串,该属性的值的缺省值为“true”。可选地,该版本迁移策略可以是在下路径“#/definitions/configurationOption”下,新增属性“queryConfigBean.cacheFilterExpr”。
步骤204,基于版本迁移策略对第一版本数据进行转换处理,得到第二版本数据。
可选地,从版本迁移策略中获取差异属性规则对应的属性存储路径和属性定义信息,再基于属性存储路径和属性定义信息对第一版本数据进行转换处理,得到第二版本数据。例如,基于属性存储路径,确定该差异属性规则对应的属性的值在第一版本数据的位置,再基于属性定义信息对该属性的值进行修改,从而实现将第一版本数据转换成第二版本数据。
综上所述,本申请实施例提供的技术方案,通过对比第一版本数据和第二版本数据的元数据,获取版本迁移策略,再基于版本迁移策略执行第一版本数据到第二版本数据的转换,从而实现数据迁移,而无需从特定的应用程序中获取预设的版本迁移策略,实现了与业务应用的解耦合,提高了版本迁移策略的可扩展性和获取灵活性,进而提高了数据迁移的灵活性。
另外,由于数据复杂多样,而元数据逻辑简单清晰,便于获取识别,从而降低了版本迁移策略的获取难度,进而降低了数据迁移的难度,提高了数据迁移效率。
参考图6,其示出了本申请一个实施例提供的元数据生成方法的流程图。该方法各步骤的执行主体可以是计算机设备。该方法可以包括如下几个步骤(601~603):
步骤601,获取系统的多个版本的数据。
在本申请实施例中,该系统可以是各类应用程序的系统,诸如企业管理类应用程序、通讯类应用程序、购物类应用程序、资讯类应用程序等等。可选地,上述的数据可以是各类应用系统中的任意数据,诸如系统运行所需的代码类数据、采集用户操作行为得到的数据以及系统中任意的实时数据等,本申请实施例对此不作限定。
步骤602,对多个版本的数据进行元数据描述处理,得到多个版本的数据分别对应的元数据。
多个版本的数据是指上述第一版本数据和第二版本数据在其他所有阶段下的数据。在获取全部版本的数据后,对全部版本的数据进行元数据描述处理,得到全部版本的数据分别对应的元数据。其中,元数据是指一种用于描述数据的结构数据。元数据的具体内容和上述实施例相同,这里不再赘述。
在一个示例中,元数据的具体获取方法如下:对多个版本的数据的结构进行分析归纳处理,得到多个版本的数据分别对应的属性;基于JSON Schema规范对多个版本的数据分别对应的属性进行描述处理,得到多个版本的数据分别对应的元数据。
其中,JSON Schema是指一种用以标注和验证JSON数据的元数据的规范,其定义了JSON数据可用的元数据契约、元数据扩展和元数据修改等规则,即该JSON Schema规范可用于定义、校验和修改JSON数据的元数据。可选地,JSON Schema规范定义了一系列关键字(如类型关键字),元数据通过这些关键字来描述JSON数据。基于JSON Schema规范得到的元数据本身也是一种JSON数据结构,即该元数据是一种描述JSON数据的JSON数据。
可选地,首先梳理多个版本的数据的结构,确定多个版本的数据中每个字段的属性(例如名称、大小、类型等),进而基于JSON Schema规范归纳总结出对应的元数据信息。例如,参考图3,首先梳理第一版本数据301的结构,可得到第一版本数据301包括两个字段:字段1,其属性包括:名称“name”和值“Alex”;字段2,其属性包括:名称“age”和值“20”。然后基于JSON Schema规范归纳总结第一版本数据301的元数据信息,得到第一版本数据301的元数据,第一版本数据301的元数据包括属性A:"name":{"type":"string"}和属性B:"age":{"type":"number"}。可选地,每个版本的数据的元数据对应一个JSON Schema文档。
步骤603,将多个版本的数据分别对应的元数据存储至数据库中。
可选地,在将多个版本的数据分别对应的元数据存储至数据库之前,还需要对多个版本的数据分别对应的元数据进行合规校验处理,然后将通过合规校验的元数据存储至数据库中。其中,合规校验用于验证元数据对应的JSON Schema文档是否合法,即验证元数据是否合法。
在一个示例中,合规校验的具体方法可以如下:若目标版本的数据对应的元数据包括必要基础属性和目标版本的数据对应的属性,则将目标版本的数据对应的元数据存储至数据库中;其中,必要基础属性是指元数据结构中所需包含的基础属性。
例如,参考图7,JSON Schema文档701中必须要包括基础属性instanceName、基础属性library、基础属性stageName、基础属性stageVersion和基础属性originParseRequired,即“required”下的属性,JSON Schema文档701都必须包含。另外,若JSON Schema文档701为第一版本数据的元数据对应的JSON Schema文档,则JSON Schema文档701还必须的包括第一版本数据的元数据对应的属性(例如上文的属性A:"name":{"type":"string"}和属性B:"age":{"type":"number"})。在上述属性都包含的情况下,JSONSchema文档701才能通过规格校验,即JSON Schema文档701是合法的。
在一个示例中,还可以对多个版本的数据分别对应的元数据进行调整,其具体内容可以如下:获取元数据调整请求,元数据调整请求用于请求对元数据进行调整;基于元数据调整请求调用重设应用程序接口,对多个版本的数据分别对应的元数据进行调整。
可选地,可以通过Postman(一种超文本传输请求发送工具)等工具发送元数据调整请求,再基于重设应用程序接口对元数据进行修改。例如,参考图8,终端用户801可以通过Postman工具向重设应用程序接口802发送元数据调整请求,解析引擎803基于元数据调整请求中所携带的关联参数(例如属性位置,属性调整内容等),对元数据进行添加、更新、删除等调整。其中,重设应用程序接口是指用于调整元数据的应用程序接口,解析引擎用于解析与调整元数据。如此,可以实现元数据的热部署,当元数据需要修改时,用户只需通过重设应用程序接口对元数据进行调整,而无需生成元数据对应的新版本的JSON Schema文档,灵活方便。
在一个示例性实施例中,参考图9,其示出了本申请另一个实施例提供的数据迁移方的示意图,该方法的具体内容可以如下:
1、从数据迁移任务中获取第一版本数据901,以及第一版本数据和第二版本数据的版本信息。
2、基于第一版本数据和第二版本数据的版本信息,从数据库中提取第一版本数据和第二版本数据的元数据。
3、通过解析引擎902对第一版本数据和第二版本数据的元数据进行解析,获取第一版本数据的属性规则集合和第二版本数据的属性规则集合。
4、通过迁移引擎903比对第一版本数据的属性规则集合和第二版本数据的属性规则集合,获取差异属性规则,再基于差异属性规则,确定版本迁移策略。其中,迁移引擎是指用于生成迁移策略并执行迁移策略的引擎。
5、通过迁移引擎903执行版本迁移策略,对第一版本数据进行转换处理,得到第二版本数据904,从而完成数据迁移任务。
综上所述,本申请实施例提供的技术方案,通过对比第一版本数据和第二版本数据的元数据,获取版本迁移策略,再基于版本迁移策略执行第一版本数据到第二版本数据的转换,从而实现数据迁移,而无需从特定的应用程序中获取预设的版本迁移策略,实现了与业务应用的解耦合,提高了版本迁移策略的可扩展性和获取灵活性,进而提高了数据迁移的灵活性。
另外,由于数据复杂多样,而元数据逻辑简单清晰,便于获取识别,从而降低了版本迁移策略的获取难度,进而降低了数据迁移的难度,提高了数据迁移效率。
另外,基于JSON Schema规范定义数据的元数据,可支持元数据和版本迁移策略的热部署,从而提高操作的灵活性。同时,基于JSON Schema规范定义数据的元数据可维护性高,可扩展性强。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图10,其示出了本申请一个实施例提供的数据迁移装置的框图。该装置具有实现上述数据迁移方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置1000可以包括:任务获取模块1001、元数据获取模块1002、策略获取模块1003和数据转换模块1004。
任务获取模块1001,用于获取数据迁移任务,所述数据迁移任务用于将第一版本数据转换成第二版本数据,所述第一版本数据是指系统中当前版本的数据,所述第二版本数据是指系统所需版本的数据。
元数据获取模块1002,用于基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据,所述元数据用于描述数据的属性。
策略获取模块1003,用于基于所述第一版本数据的元数据和所述第二版本数据的元数据,获取版本迁移策略,所述版本迁移策略用于引导数据转换。
数据转换模块1004,用于基于所述版本迁移策略对所述第一版本数据进行转换处理,得到所述第二版本数据。
在一个示例性实施例中,如图11所示,所述策略获取模块1003包括:规则集合获取子模块1003a、差异规则获取子模块1003b、属性信息获取子模块1003c和迁移策略获取子模块1003d。
规则集合获取子模块1003a,用于对所述第一版本数据和所述第二版本数据的元数据进行解析处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合,所述属性规则集合包括多个属性规则,所述属性规则用于约束数据的完整性。
差异规则获取子模块1003b,用于对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的差异属性规则。
属性信息获取子模块1003c,用于获取所述差异属性规则对应的属性存储路径和属性定义信息。
迁移策略获取子模块1003d,用于基于所述属性存储路径和所述属性定义信息,确定所述版本迁移策略。
在一个示例性实施例中,所述差异规则获取子模块1003b,用于:
对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的增加属性规则,所述增加属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中增加的属性规则;
和/或,对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的删除属性规则,所述删除属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中删除的属性规则;
和/或,对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的修改属性规则,所述修改属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中修改的属性规则。
在一个示例性实施例中,所述数据转换模块1004,用于基于所述属性存储路径和所述属性定义信息对所述第一版本数据进行转换处理,得到所述第二版本数据。
在一个示例性实施例中,如图11所示,所述装置1000还包括:数据获取模块1005、元数据生成模块1006和元数据存储模块1007。
数据获取模块1005,用于获取所述系统的多个版本的数据。
元数据生成模块1006,用于对所述多个版本的数据进行元数据描述处理,得到所述多个版本的数据分别对应的元数据。
元数据存储模块1007,用于将所述多个版本的数据分别对应的元数据存储至数据库中。
在一个示例性实施例中,所述元数据生成模块1006,用于:
对所述多个版本的数据的结构进行分析归纳处理,得到所述多个版本的数据分别对应的属性;
基于JSON Schema规范对所述多个版本的数据分别对应的属性进行描述处理,得到所述多个版本的数据分别对应的元数据。
在一个示例性实施例中,如图11所示,所述装置1000还包括:调整请求获取模块1008和元数据调整模块1009。
调整请求获取模块1008,用于获取元数据调整请求,所述元数据调整请求用于请求对所述元数据进行调整。
元数据调整模块1009,用于基于所述元数据调整请求调用重设应用程序接口,对所述多个版本的数据分别对应的元数据进行调整。
在一个示例性实施例中,所述元数据存储模块1007用于对所述多个版本的数据分别对应的元数据进行合规校验处理,将通过合规校验的元数据存储至所述数据库中。
在一个示例性实施例中,所述元数据存储模块1007还用于若目标版本的数据对应的元数据包括必要基础属性和所述目标版本的数据对应的属性,则将所述目标版本的数据对应的元数据存储至所述数据库中;其中,所述必要基础属性是指元数据结构中所需包含的基础属性。
综上所述,本申请实施例提供的技术方案,通过对比第一版本数据和第二版本数据的元数据,获取版本迁移策略,再基于版本迁移策略执行第一版本数据到第二版本数据的转换,从而实现数据迁移,而无需从特定的应用程序中获取预设的版本迁移策略,实现了与业务应用的解耦合,提高了版本迁移策略的可扩展性和获取灵活性,进而提高了数据迁移的灵活性。
另外,由于数据复杂多样,而元数据逻辑简单清晰,便于获取识别,从而降低了版本迁移策略的获取难度,进而降低了数据迁移的难度,提高了数据迁移效率。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图12,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以用于实施上述实施例中提供的数据迁移方法。具体来讲:
该计算机设备1200包括中央处理单元(如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)和FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等)1201、包括RAM(Random-Access Memory,随机存取存储器)1202和ROM(Read-Only Memory,只读存储器)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。该计算机设备1200还包括帮助服务器内的各个器件之间传输信息的基本输入/输出系统(Input Output System,I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
该基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1210。其中,该显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。该基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
该大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。该大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,该大容量存储设备1207可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请实施例,该计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在该系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述数据迁移方法。
在一个示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被服务器的处理器执行时以实现上述数据迁移方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在一个示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述数据迁移方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法包括:
获取数据迁移任务,所述数据迁移任务用于将第一版本数据转换成第二版本数据,所述第一版本数据是指系统中当前版本的数据,所述第二版本数据是指系统所需版本的数据;
基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据,所述元数据用于描述数据的属性;其中,第i版本数据的元数据是对所述第i版本数据的结构进行分析归纳处理,得到所述第i版本数据对应的属性,基于JSON Schema规范对所述第i版本数据对应的属性进行描述处理得到的,所述第i版本数据对应的属性是指所述第i版本数据的描述性性质或特征,i为一或二;
对所述第一版本数据和所述第二版本数据的元数据进行解析处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合,所述属性规则集合包括多个属性规则,所述属性规则用于约束数据的属性;
对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的差异属性规则;
获取所述差异属性规则对应的属性存储路径和属性定义信息,所述属性存储路径是指属性对应的值的存储路径,所述属性定义信息用于约束数据的属性;
基于所述属性存储路径确定所述差异属性规则对应的属性的值在所述第一版本数据的位置,基于所述属性定义信息对所述差异属性规则对应的属性的值进行修改,得到所述第二版本数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的差异属性规则,包括:
对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的增加属性规则,所述增加属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中增加的属性规则;
和/或,
对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的删除属性规则,所述删除属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中删除的属性规则;
和/或,
对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的修改属性规则,所述修改属性规则是指相比所述第一版本数据的属性规则集合,所述第二版本数据的属性规则集合中修改的属性规则。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据之前,还包括:
获取所述系统的多个版本的数据;
对所述多个版本的数据进行元数据描述处理,得到所述多个版本的数据分别对应的元数据;
将所述多个版本的数据分别对应的元数据存储至数据库中。
4.根据权利要求3所述的方法,其特征在于,所述对所述多个版本的数据进行元数据描述处理,得到所述多个版本的数据分别对应的元数据,包括:
对所述多个版本的数据的结构进行分析归纳处理,得到所述多个版本的数据分别对应的属性;
基于JSON Schema规范对所述多个版本的数据分别对应的属性进行描述处理,得到所述多个版本的数据分别对应的元数据。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取元数据调整请求,所述元数据调整请求用于请求对所述元数据进行调整;
基于所述元数据调整请求调用重设应用程序接口,对所述多个版本的数据分别对应的元数据进行调整。
6.根据权利要求3所述的方法,其特征在于,所述将所述多个版本的数据分别对应的元数据存储至数据库中,包括:
对所述多个版本的数据分别对应的元数据进行合规校验处理,将通过合规校验的元数据存储至所述数据库中。
7.根据权利要求6所述的方法,其特征在于,所述对所述多个版本的数据分别对应的元数据进行合规检测处理,将通过合规检测后的元数据存储至所述数据库中,包括:
若目标版本的数据对应的元数据包括必要基础属性和所述目标版本的数据对应的属性,则将所述目标版本的数据对应的元数据存储至所述数据库中;其中,所述必要基础属性是指元数据结构中所需包含的基础属性。
8.一种数据迁移装置,其特征在于,所述装置包括:
任务获取模块,用于获取数据迁移任务,所述数据迁移任务用于将第一版本数据转换成第二版本数据,所述第一版本数据是指系统中当前版本的数据,所述第二版本数据是指系统所需版本的数据;
元数据获取模块,用于基于所述第一版本数据和所述第二版本数据的版本信息,分别获取所述第一版本数据的元数据和所述第二版本数据的元数据,所述元数据用于描述数据的属性;其中,第i版本数据的元数据是对所述第i版本数据的结构进行分析归纳处理,得到所述第i版本数据对应的属性,基于JSON Schema规范对所述第i版本数据对应的属性进行描述处理得到的,所述第i版本数据的属性是指所述第i版本数据的描述性性质或特征,i为一或二;
策略获取模块,用于对所述第一版本数据和所述第二版本数据的元数据进行解析处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合,所述属性规则集合包括多个属性规则,所述属性规则用于约束数据的属性;对所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合进行比对处理,得到所述第一版本数据的属性规则集合和所述第二版本数据的属性规则集合之间的差异属性规则;获取所述差异属性规则对应的属性存储路径和属性定义信息,所述属性存储路径是指属性对应的值的存储路径,所述属性定义信息用于约束数据的属性;
数据转换模块,用于基于所述属性存储路径确定所述差异属性规则对应的属性的值在所述第一版本数据的位置,基于所述属性定义信息对所述差异属性规则对应的属性的值进行修改,得到所述第二版本数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的数据迁移方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795972.4A CN113608688B (zh) | 2021-07-14 | 2021-07-14 | 数据迁移方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795972.4A CN113608688B (zh) | 2021-07-14 | 2021-07-14 | 数据迁移方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608688A CN113608688A (zh) | 2021-11-05 |
CN113608688B true CN113608688B (zh) | 2023-09-26 |
Family
ID=78337578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110795972.4A Active CN113608688B (zh) | 2021-07-14 | 2021-07-14 | 数据迁移方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608688B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966297B2 (en) * | 2020-10-20 | 2024-04-23 | EMC IP Holding Company LLC | Identifying database archive log dependency and backup copy recoverability |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200915A (zh) * | 2010-03-22 | 2011-09-28 | 珠海金山快快科技有限公司 | 一种软件包版本迁移的方法及装置 |
CN102739791A (zh) * | 2012-06-28 | 2012-10-17 | 奇智软件(北京)有限公司 | 一种文件的下载、上传方法及装置 |
EP2610764A1 (en) * | 2011-12-30 | 2013-07-03 | BMC Software, Inc. | Systems and methods for migrating database data |
WO2016058350A1 (zh) * | 2014-10-17 | 2016-04-21 | 中兴通讯股份有限公司 | 一种基站软件版本管理方法和设备 |
US9747095B1 (en) * | 2015-04-21 | 2017-08-29 | Jpmorgan Chase Bank, N.A. | System and method for automated content and software migration |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9218137B2 (en) * | 2008-03-05 | 2015-12-22 | International Business Machines Corporation | System and method for providing data migration services |
US7882110B2 (en) * | 2008-04-30 | 2011-02-01 | Enterprise Content Management Group | Method and system for migrating documents |
US8090917B2 (en) * | 2008-05-09 | 2012-01-03 | International Business Machines Corporation | Managing storage and migration of backup data |
US8863114B2 (en) * | 2010-12-06 | 2014-10-14 | Red Hat, Inc. | Managing software packages using a version control system |
US9223570B2 (en) * | 2013-03-14 | 2015-12-29 | Red Hat, Inc. | Migration assistance using compiler metadata |
US11099828B2 (en) * | 2019-10-22 | 2021-08-24 | Microsoft Technology Licensing, Llc | Updating a metadata structure for a firmware update |
-
2021
- 2021-07-14 CN CN202110795972.4A patent/CN113608688B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102200915A (zh) * | 2010-03-22 | 2011-09-28 | 珠海金山快快科技有限公司 | 一种软件包版本迁移的方法及装置 |
EP2610764A1 (en) * | 2011-12-30 | 2013-07-03 | BMC Software, Inc. | Systems and methods for migrating database data |
CN102739791A (zh) * | 2012-06-28 | 2012-10-17 | 奇智软件(北京)有限公司 | 一种文件的下载、上传方法及装置 |
WO2016058350A1 (zh) * | 2014-10-17 | 2016-04-21 | 中兴通讯股份有限公司 | 一种基站软件版本管理方法和设备 |
US9747095B1 (en) * | 2015-04-21 | 2017-08-29 | Jpmorgan Chase Bank, N.A. | System and method for automated content and software migration |
Also Published As
Publication number | Publication date |
---|---|
CN113608688A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544623B2 (en) | Consistent filtering of machine learning data | |
US20210374610A1 (en) | Efficient duplicate detection for machine learning data sets | |
US20200050968A1 (en) | Interactive interfaces for machine learning model evaluations | |
US10366053B1 (en) | Consistent randomized record-level splitting of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
CA2953826C (en) | Machine learning service | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US10318882B2 (en) | Optimized training of linear machine learning models | |
CN102214208B (zh) | 一种基于非结构化文本生成结构化信息实体的方法与设备 | |
CA2927580C (en) | Method and system for document data extraction template management | |
CN111427971B (zh) | 用于计算机系统的业务建模方法、装置、系统和介质 | |
EP3470992B1 (en) | Efficient storage and utilization of a hierarchical data set | |
US9298780B1 (en) | Method and system for managing user contributed data extraction templates using weighted ranking score analysis | |
CN112070550A (zh) | 基于搜索平台的关键词确定方法、装置、设备及存储介质 | |
US20130151519A1 (en) | Ranking Programs in a Marketplace System | |
CN116594683A (zh) | 一种代码注释信息生成方法、装置、设备及存储介质 | |
CN113608688B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN110888972A (zh) | 一种基于Spark Streaming的敏感内容识别方法及装置 | |
WO2024130981A1 (zh) | 结构化数据的计算方法、计算引擎、设备及可读存储介质 | |
US20090049034A1 (en) | Ontology system providing enhanced search capability | |
CN112256566B (zh) | 一种测试案例的保鲜方法和装置 | |
CN111832304B (zh) | 楼盘名称的查重方法、装置、电子设备及存储介质 | |
CN117076515B (zh) | 医疗管理系统中元数据的溯源方法、装置、服务器及存储介质 | |
US11699168B2 (en) | System and method for aggregating advertising and viewership data | |
CN112685388B (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 |