CN117743299A - 数据库迁移方法、装置、设备、介质和产品 - Google Patents
数据库迁移方法、装置、设备、介质和产品 Download PDFInfo
- Publication number
- CN117743299A CN117743299A CN202311728125.1A CN202311728125A CN117743299A CN 117743299 A CN117743299 A CN 117743299A CN 202311728125 A CN202311728125 A CN 202311728125A CN 117743299 A CN117743299 A CN 117743299A
- Authority
- CN
- China
- Prior art keywords
- storage
- target
- storage model
- initial
- field
- 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 86
- 238000013508 migration Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000003860 storage Methods 0.000 claims abstract description 370
- 238000012432 intermediate storage Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 21
- 238000010276 construction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 101150060512 SPATA6 gene Proteins 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013499 data model Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据库迁移方法,所述方法包括:获取待迁移的初始数据库对应的初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;根据历史存储数据,确定目标存储模型中每个字段对应的字段属性,字段属性包括存储空间和存储类型,目标存储模型和各字段对应的字段属性用于基于目标存储模型和各字段对应的字段属性得到目标数据库。采用本方法能够实现非关系型数据库到关系型数据库的迁移。
Description
技术领域
本申请涉及数据库技术领域,特别是涉及一种数据库迁移方法、装置、设备、介质和产品。
背景技术
在信息技术应用创新产业中,非关系型数据库虽然能够存储大容量数据,但在业务场景发送变化时,非关系型数据库的更新效率低,因此,需要将非关系型数据库迁移至关系型数据库。
传统的数据库迁移方法中多关注关系型数据库之间的迁移,缺乏将非关系型数据库迁移至关系型数据库的数据库迁移方法。
发明内容
基于此,有必要针对上述技术问题,提供一种能够将非关系型数据库迁移至关系型数据库的数据库迁移方法、装置、设备、介质和产品。
第一方面,本申请提供了一种数据库迁移方法,所述方法包括:
获取待迁移的初始数据库对应的初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;
对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;
根据历史存储数据,确定目标存储模型中每个字段对应的字段属性,字段属性包括存储空间和存储类型,目标存储模型和各字段对应的字段属性用于基于目标存储模型和各字段对应的字段属性得到目标数据库。
在其中一个实施例中,提供的方法中对初始存储模型按照索引层级进行拆分处理,得到目标存储模型的过程,包括:
按照索引层级的层级关系对初始存储模型进行拆分处理,得到至少一个中间存储表单以及中间存储表单的层级标识;
基于中间存储表单以及中间存储表单的层级标识,按照索引层级的索引内容确定多个目标存储表单、多个目标存储表单的层级标识以及所述多个目标存储表单对应的关联关系;
根据多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系得到目标存储模型。
在其中一个实施例中,提供的方法中根据历史存储数据,确定目标存储模型中每个字段对应的字段属性的过程,包括:
根据历史存储数据,确定初始存储模型中每个字段对应的数据大小和数据类型;
根据初始存储模型中每个字段对应的数据大小,确定目标存储模型中每个字段对应的存储空间;
根据初始存储模型中每个字段对应的数据类型,确定目标存储模型中每个字段对应的存储类型。
在其中一个实施例中,提供的方法还包括:
获取业务数据;
将业务数据写入初始数据库,得到初始业务文档;
将业务数据写入目标数据库,得到目标业务文档;
将初始业务文档与目标业务文档进行比对处理,得到比对结果;
根据比对结果确定目标数据库对应的迁移结果。
在其中一个实施例中,提供的方法中根据比对结果确定目标数据库对应的迁移结果的过程,包括:
若比对结果为比对不一致,则迁移结果为迁移失败;
方法还包括:
根据比对结果,对目标存储模型进行更新,得到更新后的目标存储模型;对各字段对应的字段属性进行更新,得到更新后的各字段对应的字段属性。
在其中一个实施例中,提供的方法中根据比对结果确定目标数据库对应的迁移结果的过程,包括:
若比对结果为比对一致,则迁移结果为迁移成功。
第二方面,本申请还提供了一种数据库迁移装置,装置包括:
数据获取模块,用于获取待迁移的初始数据库对应的初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;
模型构建模块,用于对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;
数据库构建模块,用于根据历史存储数据,确定目标存储模型中每个字段对应的字段属性,字段属性包括存储空间和存储类型,目标存储模型和各字段对应的字段属性用于基于目标存储模型和各字段对应的字段属性得到目标数据库。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如第一方面的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如第一方面的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面的方法的步骤。
上述数据库迁移方法、装置、设备、介质和产品,通过获取待迁移的初始数据库,初始数据库包括初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;根据历史存储数据,确定目标存储模型中每个字段对应的存储空间和存储类型,目标存储模型、各存储空间和各存储类型用于基于目标存储模型、各存储空间和各存储类型得到目标数据库。这样,将非关系型的初始存储模型进行拆分处理,得到关系型的目标存储模型,从而实现非关系型数据库到关系型数据库的迁移;将初始数据库中存储的历史存储数据作为确定目标存储模型中每个字段对应的存储空间和存储类型的依据,使得目标存储模型与初始存储模型在数据存储空间和存储类型上保持一致,从而实现业务数据由存入初始数据库到存入目标数据库的平稳过渡,提高数据库迁移方法的可靠性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中数据库迁移方法的应用环境图;
图2为一个实施例中数据库迁移方法的流程示意图;
图3为一个实施例中初始存储模型的示意图;
图4为一个实施例中得到目标存储模型的步骤的流程示意图;
图5为一个实施例中多个中间存储表单的示意图;
图6为一个实施例中得到多个目标存储表单的步骤的示意图;
图7为一个实施例中目标存储模型的示意图;
图8为一个实施例中确定存储空间和存储类型的步骤的流程示意图;
图9为一个实施例中得到迁移结果的步骤的流程示意图;
图10为一个实施例中得到迁移结果的步骤的流程示意图;
图11为另一个实施例中数据库迁移方法的流程示意图;
图12为一个实施例中数据库迁移装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据库迁移方法,可以应用于如图1所示的应用环境中。其中,初始数据平台102和目标数据平台106通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
其中,服务器104从初始数据平台102获取待迁移的初始数据库,初始数据库包括初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;服务器104对获取到的初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;根据历史存储数据,确定目标存储模型中每个字段对应的存储空间和存储类型;服务器104将目标存储模型、各存储空间和各存储类型发送到目标数据平台106,供目标数据平台106按照目标存储模型、各存储空间和各存储类型得到目标数据库。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种数据库迁移方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤202至步骤206。其中:
步骤202,获取待迁移的初始数据库对应的初始存储模型和历史存储数据。
其中,初始存储模型为非关系型存储模型。非关系型存储模型是一种没有固定数据结构的存储模型,在数据量大的应用场景中具备读写效率高的优点,但是,非关系型存储模型的数据处理工具和适配的应用系统相较于关系型数据模型较少;基于非关系型存储模型的数据库在数据更新后的一段时间内无法立即保证在所有索引层级上的数据一致性。
示例性的,初始数据库可以是面向文档的非关系型数据库,如MongoDB或者CouchDB;又示例性的,初始数据库可以是面向高性能并发读写的key-value数据库,如Redis、Tokyo Cabint。
示例性的,对于面向文档类型的初始数据库,初始存储模型可以如图3所示。初始存储模型中可以包括多个索引层级,每个索引层级可以包括层级关系和索引内容两个属性,如图3中的“投保单位信息”这一索引层级,其层级关系为第一层级,索引内容为投保单位信息。
其中,历史存储数据是按照初始存储模型存储在初始数据库中的历史时段对应的业务数据。
步骤204,对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型。
其中,初始存储模型中的索引层级用于快速定位所需的数据,减少查询的复杂度。
示例性的,索引层级可以基于存入初始数据库中的数字数据的范围来进行划分;又示例性的,索引层级可以基于存入初始数据库中的文本数据的信息内容来进行划分;又示例性的,索引层级可以基于存入初始数据库中的图像数据的地理位置或几何形状来进行划分。
其中,关系型存储模型是以二维表格的形式来组织数据的存储模型,通过表、行和列等数据结构使目标数据库更为结构化和规范化,可以有效管理和控制存储的数据的输入和输出,保证数据的一致性、可靠性和安全性,具有易理解、操作简单、易维护的优点。
示例性的,目标存储模型对应的目标数据库可以是oceanBase、MySQL、Oracle。
步骤206,根据历史存储数据,确定目标存储模型中每个字段对应的字段属性。
其中,字段属性包括存储空间和存储类型,目标存储模型、各存储空间和各存储类型用于基于目标存储模型、各存储空间和各存储类型得到目标数据库。
其中,根据存储在初始数据库中的历史存储数据可以得到初始存储模型中各字段的存储空间和存储类型。为了实现非关系型数据库到关系型数据库之间的顺利迁移,根据初始存储模型中各字段的存储空间确定目标存储模型中对应字段的存储空间,根据初始存储模型中各字段的存储类型确定目标存储模型中对应字段的存储类型。
本实施例提供的数据库迁移方法中,通过获取待迁移的初始数据库对应的初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;根据历史存储数据,确定目标存储模型中每个字段对应的字段属性,字段属性包括存储空间和存储类型,目标存储模型和各字段对应的字段属性用于基于目标存储模型和各字段对应的字段属性得到目标数据库。这样,将非关系型的初始存储模型进行拆分处理,得到关系型的目标存储模型,从而实现非关系型数据库到关系型数据库的迁移;将初始数据库中存储的历史存储数据作为确定目标存储模型中每个字段对应的字段属性的依据,使得目标存储模型与初始存储模型在数据存储空间和存储类型上保持一致,从而实现业务数据由存入初始数据库到存入目标数据库的平稳过渡,提高数据库迁移方法的可靠性。
在一个示例性的实施例中,基于图2所示的实施例,如图4所示,提供的方法中对初始存储模型按照索引层级进行拆分处理,得到目标存储模型的过程,包括:
步骤402,按照索引层级的层级关系对初始存储模型进行拆分处理,得到至少一个中间存储表单以及中间存储表单的层级标识。
其中,索引层级的层级关系中包括至少两个层级,将具有同一层级的索引层级作为一个中间存储表单,将各层级在层级关系中的排序序号作为该层级对应的中间存储表单的层级标识。
可选的,按照索引层级的层级关系从高到低的顺序依次确定中间存储表单。
示例性的,基于图3所示的初始存储模型,索引层级包括3个层级关系,其中,第一层级包括:投保单号、投保单位信息、要约信息;索引层级的第二层级包括:投保人数、总保额、总保费、险种列表、销售渠道、销售机构、销售员工号;索引层级的第三层级包括:险种代码、险种保额、险种保费。如图5所示,根据前述3个层级关系可以得到3个中间存储表单,即第一中间存储表单、第二中间存储表单和第三中间存储表单。根据第一层级的全部内容得到层级标识为1的第一中间存储表单;根据第二层级的全部内容得到层级标识为2的第二中间存储表单;根据第三层级的全部内容得到层级标识为3的第三中间存储表单。
步骤404,基于中间存储表单以及中间存储表单的层级标识,按照索引层级的索引内容确定多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系。
基于步骤402的示例,如图6所示,按照索引层级的索引内容,将第一中间存储表单作为第一目标存储表单,也可以称为团单基本帽子信息表。基于初始存储模型,第一目标存储表单中的索引内容:要约信息,与第二中间存储表单中的索引内容:投保人数、总保额、总保费和险种列表存在关联关系,由于第二中间存储表单的层级标识为2,可得层级标识同样为2的第二目标存储表单,也可以称为要约信息表。第二目标存储表单中的索引内容:险种列表,与第三中间存储表单中的索引内容:险种代码、险种保额和险种保费存在关联关系,由于第三中间存储表单的层级标识为3,可得层级标识同样为3的第三目标存储表单,也可以称为险种信息表。
步骤406,根据多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系得到目标存储模型。
将多个目标存储表单按照层级标识和关联关系进行组合,得到目标存储模型。
示例性的,将多个目标存储表单按照层级标识和关联关系进行组合,得到如图7所示的目标存储模型。
本实施例中,按照索引层级的层级关系和索引内容将非关系型的初始存储模型拆分形成多个目标存储表单,进一步形成关系型的目标存储模型,实现了非关系型数据库到关系型数据库的数据库迁移,操作复杂度低。
在一个示例性的实施例中,基于图2所示的实施例,如图8所示,提供的方法中根据历史存储数据,确定目标存储模型中每个字段对应的字段属性的过程,包括:
步骤802,根据历史存储数据,确定初始存储模型中每个字段对应的数据大小和数据类型。
其中,历史存储数据用于基于历史存储数据,对历史时段对应的业务数据进行数据分析,得到初始存储模型中每个字段对应的数据大小和数据类型。
示例性的,可以利用计算机算法中的相关函数对历史存储数据进行运算分析,确定各字段的数据大小和数据类型。
示例性的,数据大小可以以字节为单位;数据类型可以包括整数类型、浮点类型、字符类型、数组类型。
步骤804,根据初始存储模型中每个字段对应的数据大小,确定目标存储模型中每个字段对应的存储空间。
其中,针对目标存储模型中的每个字段,字段对应的存储空间与初始存储模型中对应的字段的数据大小保持一致。
可选的,初始存储模型中的一个字段下有多个不同大小的数据,可以将数据大小中的最大值作为目标存储模型中对应字段的存储空间。
步骤806,根据初始存储模型中每个字段对应的数据类型,确定目标存储模型中每个字段对应的存储类型。
其中,针对目标存储模型中的每个字段,字段对应的存储类型与初始存储模型中对应的字段的存储类型保持一致。
可选的,初始存储模型中的一个字段下有多个不同类型的数据,可以将数据类型中的出现次数最多的数据类型作为目标存储模型中对应字段的存储类型。
示例性的,可以利用数据模型管理工具对历史存储数据进行处理,以确定目标存储模型中每个字段对应的存储空间和存储类型。数据模型管理工具可以选择Datablau、Collibra等。
本实施例中,通过对历史存储数据进行处理,精准确定目标存储模型中每个字段对应的存储空间和存储类型,避免数据库迁移对后续的业务数据存入造成影响,从而提高数据库迁移方法的效率。
在一个示例性的实施例中,基于图8所示的实施例,如图9所示,提供的方法还包括:
步骤902,获取业务数据。
其中,业务数据可以是预设的时间段内投保的多个保单数据。
步骤904,将业务数据写入初始数据库,得到初始业务文档。
步骤906,将业务数据写入目标数据库,得到目标业务文档。
其中,初始业务文档是将业务数据按照初始存储模型存储到初始数据库中得到的,包括多个保单数据对应的多个初始文档数据;目标业务文档是将业务数据按照目标存储模型存储到目标数据库中得到的,包括多个保单数据对应的多个目标文档数据。
步骤908,将初始业务文档与目标业务文档进行比对处理,得到比对结果。
示例性的,比对处理的过程可以是先根据初始业务文档中的层级关系与索引内容,比对目标业务文档中得到的目标存储表单的数量是否一致;然后,针对初始业务文档中的每个初始文档数据,比对初始文档数据中各字段的内容与对应的目标文档数据中对应字段的内容是否一致。
示例性的,在比对字段的内容时,比对处理可以基于批作业的方法依次对各保单数据对应的初始文档数据和目标文档数据进行比对,可以利用预设的哈希函数将初始文档数据中各字段的内容与目标文档数据中对应字段的内容分别转换为哈希序列之后对两个哈希序列进行比对,得到比对结果;或者通过逐行比对方法,将初始文档数据中各字段的内容与目标文档数据中对应字段的内容按照字段逐行比对,得到比对结果。
示例性的,若比对的内容均一致,则可以得到比对一致的比对结果;若比对的内容存在差异,则可以得到比对不一致的比对结果。可选的,比对不一致的比对结果中还包括excel表格形式的差异信息表,差异信息表包括初始文档数据与目标文档数据中存在差异的字段的内容。
步骤910,根据比对结果确定目标数据库对应的迁移结果。
基于步骤908中的示例,若比对结果为比对一致,则目标数据库符合数据库迁移的条件,迁移结果为迁移成功;若比对结果为比对不一致,则目标数据库不符合数据库迁移的条件,迁移结果为迁移失败。可选的,在迁移结果为迁移失败的情况下,说明图4所示的实施例中确定的存储空间和存储类型可能与实际应用场景存在偏差,可以对照差异信息表对目标存储模型进行修改和更新,得到更新后的目标数据库。
本实施例中,通过将初始业务文档与目标业务文档进行比对,得到比对结果,进而确定目标数据库的迁移结果,避免由于数据库迁移影响业务数据的存入和后续使用,从而提高数据库迁移方法的可靠性。
在一个示例性的实施例中,基于图9所示的实施例,如图10所示,提供的方法中根据比对结果确定目标数据库对应的迁移结果的过程,包括:
步骤1002,判断比对结果是否为比对一致。
步骤1004,若比对结果为比对不一致,则迁移结果为迁移失败。
其中,若比对结果为比对不一致,说明业务数据存储到目标数据库与存储到初始数据库中的效果并不完全相同,目标数据库还不能够完全替代初始数据库,因此迁移结果为迁移失败。
步骤1006,根据比对结果,对目标存储模型进行更新,得到更新后的目标存储模型;对各字段对应的字段属性进行更新,得到更新后的各字段对应的字段属性。
其中,若比对结果为比对不一致,可以根据比对结果中的差异信息表对目标存储模型中每个字段对应的存储空间、每个字段对应的存储类型,或者对初始存储模型的索引层级进行更新,以得到更新后的目标存储模型。
步骤1008,若比对结果为比对一致,则迁移结果为迁移成功。
本实施例中,通过比对结果确定迁移结果,在迁移失败的情况下对目标存储模型进行更新,直至迁移结果为迁移成功,这样,确保数据库迁移前后能够高度匹配,从而提高数据库迁移方法的可靠性。
在一个示例性的实施例中,如图11所示,提供了一种数据库迁移方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤1101至步骤206。其中:
步骤1101,获取待迁移的初始数据库对应的初始存储模型和历史存储数据。
其中,初始存储模型为非关系型存储模型。
步骤1102,按照索引层级的层级关系对初始存储模型进行拆分处理,得到至少一个中间存储表单以及中间存储表单的层级标识。
步骤1103,基于中间存储表单以及中间存储表单的层级标识,按照索引层级的索引内容确定多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系。
步骤1104,根据多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系得到目标存储模型。
步骤1105,根据历史存储数据,确定初始存储模型中每个字段对应的数据大小和数据类型。
步骤1106,根据初始存储模型中每个字段对应的数据大小,确定目标存储模型中每个字段对应的存储空间。
步骤1107,根据初始存储模型中每个字段对应的数据类型,确定目标存储模型中每个字段对应的存储类型。
步骤1108,获取业务数据。
步骤1109,将业务数据写入初始数据库,得到初始业务文档。
步骤1110,将业务数据写入目标数据库,得到目标业务文档。
步骤1111,将初始业务文档与目标业务文档进行比对处理,得到比对结果。
步骤1112,判断比对结果是否为比对一致。
步骤1113,若比对结果为比对不一致,则迁移结果为迁移失败。
步骤1114,根据比对结果,对目标存储模型中进行更新,得到更新后的目标存储模型;对各字段对应的字段属性进行更新,得到更新后的各字段对应的字段属性。
步骤1115,若比对结果为比对一致,则迁移结果为迁移成功。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据库迁移方法的数据库迁移装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据库迁移装置实施例中的具体限定可以参见上文中对于数据库迁移方法的限定,在此不再赘述。
在一个示例性的实施例中,如图12所示,提供了一种数据库迁移装置,包括:数据获取模块1202、模型构建模块1204和数据库构建模块1206,其中:
数据获取模块1202,用于获取待迁移的初始数据库,初始数据库包括初始存储模型和历史存储数据,初始存储模型为非关系型存储模型;
模型构建模块1204,用于对初始存储模型按照索引层级进行拆分处理,得到目标存储模型,目标存储模型为关系型存储模型;
数据库构建模块1206,用于根据历史存储数据,确定目标存储模型中每个字段对应的字段属性,字段属性包括存储空间和存储类型,目标存储模型和各字段对应的字段属性用于基于目标存储模型和各字段对应的字段属性得到目标数据库。
在其中一个实施例中,模型构建模块1204还用于按照索引层级的层级关系对初始存储模型进行拆分处理,得到多个目标存储表单以及多个目标存储表单的层级标识;按照索引层级的索引内容确定多个目标存储表单对应的关联关系数据;根据多个目标存储表单、多个目标存储表单的层级标识以及多个目标存储表单对应的关联关系数据得到目标存储模型。
在其中一个实施例中,数据库构建模块1206还用于根据历史存储数据,确定初始存储模型中每个字段对应的数据大小和数据类型;根据初始存储模型中每个字段对应的数据大小,确定目标存储模型中每个字段对应的存储空间;根据初始存储模型中每个字段对应的数据类型,确定目标存储模型中每个字段对应的存储类型。
在其中一个实施例中,提供的数据库迁移装置还包括数据写入模块,数据写入模块用于获取业务数据;将业务数据写入初始数据库,得到初始业务文档;将业务数据写入目标数据库,得到目标业务文档;将初始业务文档与目标业务文档按照数据大小进行比对处理,得到比对结果;根据比对结果确定目标数据库对应的迁移结果。
在其中一个实施例中,提供的数据库迁移装置中数据写入模块还用于在比对结果为比对不一致时确定迁移结果为迁移失败;根据比对结果,对目标存储模型进行更新,得到更新后的目标存储模型;对各字段对应的字段属性进行更新,得到更新后的各字段对应的字段属性;在比对结果为比对一致时确定迁移结果为迁移成功。
上述数据库迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储初始存储模型和历史存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据库迁移方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据库迁移方法,其特征在于,所述方法包括:
获取待迁移的初始数据库对应的初始存储模型和历史存储数据,所述初始存储模型为非关系型存储模型;
对所述初始存储模型按照索引层级进行拆分处理,得到目标存储模型,所述目标存储模型为关系型存储模型;
根据所述历史存储数据,确定所述目标存储模型中每个字段对应的字段属性,所述字段属性包括存储空间和存储类型,所述目标存储模型和各所述字段对应的字段属性用于基于所述目标存储模型和各所述字段对应的字段属性得到目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述对所述初始存储模型按照索引层级进行拆分处理,得到目标存储模型,包括:
按照所述索引层级的层级关系对所述初始存储模型进行拆分处理,得到至少一个中间存储表单以及所述中间存储表单的层级标识;
基于所述中间存储表单以及所述中间存储表单的层级标识,按照所述索引层级的索引内容确定多个目标存储表单、所述多个目标存储表单的层级标识以及所述多个目标存储表单对应的关联关系;
根据所述多个目标存储表单、所述多个目标存储表单的层级标识以及所述多个目标存储表单对应的关联关系得到所述目标存储模型。
3.根据权利要求1所述的方法,其特征在于,所述根据所述历史存储数据,确定所述目标存储模型中每个字段对应的字段属性,包括:
根据所述历史存储数据,确定所述初始存储模型中每个字段对应的数据大小和数据类型;
根据所述初始存储模型中每个字段对应的数据大小,确定所述目标存储模型中每个字段对应的存储空间;
根据所述初始存储模型中每个字段对应的数据类型,确定所述目标存储模型中每个字段对应的存储类型。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取业务数据;
将所述业务数据写入所述初始数据库,得到初始业务文档;
将所述业务数据写入所述目标数据库,得到目标业务文档;
将所述初始业务文档与所述目标业务文档进行比对处理,得到比对结果;
根据所述比对结果确定所述目标数据库对应的迁移结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述比对结果确定所述目标数据库对应的迁移结果,包括:
若所述比对结果为比对不一致,则所述迁移结果为迁移失败;
所述方法还包括:
根据所述比对结果,对所述目标存储模型进行更新,得到更新后的目标存储模型;对各所述字段对应的字段属性进行更新,得到更新后的各所述字段对应的字段属性。
6.根据权利要求4所述的方法,其特征在于,所述根据所述比对结果确定所述目标数据库对应的迁移结果,包括:
若所述比对结果为比对一致,则所述迁移结果为迁移成功。
7.一种数据库迁移装置,其特征在于,所述装置包括:
数据获取模块,用于获取待迁移的初始数据库对应的初始存储模型和历史存储数据,所述初始存储模型为非关系型存储模型;
模型构建模块,用于对所述初始存储模型按照索引层级进行拆分处理,得到目标存储模型,所述目标存储模型为关系型存储模型;
数据库构建模块,用于根据所述历史存储数据,确定所述目标存储模型中每个字段对应的字段属性,所述字段属性包括存储空间和存储类型,所述目标存储模型和各所述字段对应的字段属性用于基于所述目标存储模型和各所述字段对应的字段属性得到目标数据库。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311728125.1A CN117743299A (zh) | 2023-12-15 | 2023-12-15 | 数据库迁移方法、装置、设备、介质和产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311728125.1A CN117743299A (zh) | 2023-12-15 | 2023-12-15 | 数据库迁移方法、装置、设备、介质和产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117743299A true CN117743299A (zh) | 2024-03-22 |
Family
ID=90250233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311728125.1A Pending CN117743299A (zh) | 2023-12-15 | 2023-12-15 | 数据库迁移方法、装置、设备、介质和产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117743299A (zh) |
-
2023
- 2023-12-15 CN CN202311728125.1A patent/CN117743299A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177302B (zh) | 业务单据处理方法、装置、计算机设备和存储介质 | |
CN112363979B (zh) | 一种基于图数据库的分布式索引方法和系统 | |
CN114138907A (zh) | 数据处理方法、计算机设备、存储介质和计算机程序产品 | |
CN115168499B (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN117743299A (zh) | 数据库迁移方法、装置、设备、介质和产品 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
CN115168409B (zh) | 数据库分表的数据查询方法、装置和计算机设备 | |
CN117539690B (zh) | 多磁盘数据的合并恢复方法、装置、设备、介质和产品 | |
CN117076476A (zh) | 对象信息处理方法、装置、计算机设备和存储介质 | |
CN114238258B (zh) | 数据库数据处理方法、装置、计算机设备、存储介质 | |
US11620269B2 (en) | Method, electronic device, and computer program product for data indexing | |
CN116880927A (zh) | 规则管理方法、装置、计算机设备和存储介质 | |
CN116610381A (zh) | 数据卸载方法、装置、计算机设备、存储介质 | |
CN117555487A (zh) | 数据拆分方法、装置、计算机设备、存储介质 | |
CN117076721A (zh) | 数据查询方法、装置、设备、介质和产品 | |
CN116932677A (zh) | 地址信息匹配方法、装置、计算机设备和存储介质 | |
CN116881290A (zh) | 数据处理方法、装置、设备、存储介质和程序产品 | |
CN117407411A (zh) | 数据库语句的执行方法、装置 | |
CN116483532A (zh) | 排程处理方法、装置、计算机设备和存储介质 | |
CN116910069A (zh) | 数据库更新方法、装置、计算机设备和存储介质 | |
CN114968560A (zh) | 数据备份方法、装置、计算机设备和存储介质 | |
CN117076470A (zh) | 金融数据库的扩容方法、装置、设备、介质和程序产品 | |
CN117349131A (zh) | 系统错误信息的显示方法、装置和计算机设备 | |
CN117331984A (zh) | 数据对比方法、装置、计算机设备、存储介质 | |
CN117349259A (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 |