CN113778988A - 数据处理方法、装置、设备及计算机程序产品 - Google Patents
数据处理方法、装置、设备及计算机程序产品 Download PDFInfo
- Publication number
- CN113778988A CN113778988A CN202110966199.3A CN202110966199A CN113778988A CN 113778988 A CN113778988 A CN 113778988A CN 202110966199 A CN202110966199 A CN 202110966199A CN 113778988 A CN113778988 A CN 113778988A
- Authority
- CN
- China
- Prior art keywords
- data
- column
- database
- free
- target table
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 238000004590 computer program Methods 0.000 title claims abstract description 11
- 238000013508 migration Methods 0.000 claims abstract description 40
- 230000005012 migration Effects 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000006243 chemical reaction Methods 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 abstract description 19
- 230000000875 corresponding effect Effects 0.000 description 75
- 238000012423 maintenance Methods 0.000 description 8
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 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/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/214—Database migration support
-
- 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/23—Updating
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法,遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据;基于所述主列数据以及次列数据,创建第二数据库对应的目标表;基于所述次列数据以及所述自由列,确定绑定关系表;关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库。本发明还公开了一种数据处理装置、设备及计算机程序产品。本发明通过自由列与次列数据的绑定关系实现RDBMS列的复用,节省第二数据库的存储空间以及提升存储效率,进而提升数据迁移的安全性以及迁移效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法、装置、设备及计算机程序产品。
背景技术
无schema数据库是指无需定义数据库的schema,其优点包括根据需要插入列数据、校验松散、开发速度快以及读写能力强等,但随着数据库的规模发展,无schema的缺乏限制而成为发展的阻碍,因此,需要将无schema数据库向RDBMS(Relational DatabaseManagement System,关系数据库管理系统)(例如oracle,mysql)进行迁移。无schema数据库和RDBMS属于异构数据库,所以,无schema数据库向RDBMS的迁移,不仅仅是将数据从无schema数据库迁移到RDBMS中,还需要对已迁移列和数据的整合以及进行RDBMS开发风格的转变等。
目前,无schema数据库向RDBMS的迁移的方式包括一对一映射方式,具体时无schema数据库的列和RDBMS的列进行一对一映射。但是,实际的迁移过程中,由于无schema数据库的数据中存在大量的不属于业务场景的属性,导致RDBMS的存储效率,造成数据库迁移的效率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置、设备及计算机程序产品,旨在解决无schema数据库向RDBMS迁移的效率低的技术问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括以下步骤:
遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
基于所述次列数据以及所述自由列,确定绑定关系表;
关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
进一步地,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列删除指令时,获取所述自由列删除指令对应的第一目标表中的待删除自由列;
在所述第一目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列。
进一步地,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列增加指令时,确定所述自由列增加指令对应待增加数据的数据类型以及数据大小,并确定所述自由列增加指令对应的第二目标表;
确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列;
若存在,则基于所述待增加数据,更新所述第一空列。
进一步地,所述确定所述目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列的步骤之后,还包括:
若不存在,则基于数据类型以及数据大小在所述目标表的自由列中扩展第二空列,并基于所述待增加数据,更新所述第二空列。
进一步地,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,以及基于所述第三目标表的自由列确定所述自由列迁移指令对应的待迁移数据、当前列以及目标列;
将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列。
进一步地,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到数据查询指令时,确定所述数据查询指令对应的第四目标表,并基于所述第四目标表确定所述数据查询指令对应的目标主列以及目标自由列;
基于所述目标主列以及目标自由列查询所述第四目标表,以获得所述数据查询指令对应的目标数据。
进一步地,所述遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据的步骤包括:
遍历第一数据库的待迁移数据,确定当前遍历的子数据对应的业务场景以及业务需求,并基于业务场景以及业务需求确定当前遍历的子数据主列数据以及次列数据,直至所述待迁移数据遍历完成。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
遍历模块,用于遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
创建模块,用于基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
绑定模块,用于基于所述次列数据以及所述自由列,确定绑定关系表;
迁移模块,用于关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
此外,为实现上述目的,本发明还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现前述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述的数据处理方法的步骤。
本发明通过遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,接着基于所述主列数据以及次列数据,创建第二数据库对应的目标表,而后基于所述次列数据以及所述自由列,确定绑定关系表,然后关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,将第一数据库的数据分为主列数据以及次列数据,通过自由列与次列数据的绑定关系实现RDBMS列的复用,节省第二数据库的存储空间以及提升存储效率,进而提升数据迁移的安全性以及迁移效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据处理设备的结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的数据处理设备的结构示意图。
本发明实施例数据处理设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。
如图1所示,该数据处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,数据处理设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,数据处理设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据处理程序。
在图1所示的数据处理设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序。
在本实施例中,数据处理设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的数据处理程序,其中,处理器1001调用存储器1005中存储的数据处理程序时,并执行以下各个实施例中数据处理方法的步骤。
本发明还提供一种数据处理方法,参照图2,图2为本发明数据处理方法第一实施例的流程示意图。
本实施例中,该数据处理方法包括以下步骤:
步骤S101,遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
需要说明的是,一般情况下,无Schema数据库的框架包括是接收请求的control层(校验参数层或者向外提供rpc层)、service服务层、dao层(访问数据库层)以及无Schema数据库的的Db层,RDBMS数据库包括control层、service层、dao层以及RDBMS的Db层,无Schema数据库的dao层与RDBMS的dao层是不同的,无Schema数据库向RDBMS数据库迁移,需要替换的是dao层和db,同时,在RDBMS数据库的架构中新增转换层,转换层用于存储绑定关系表,根据绑定关系表实现service层和dao层之间的相互转换,通过引入转换层实现Service层和RDBMS Dao层的隔离,将迁移对Service层和Control层透明。在迁移的整理阶段,Service层的变动不影响Dao层,同样,Dao层的变动,对Service层透明。
本实施例中,在进行数据库迁移时,遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据。其中,该待迁移数据为该第一数据库中的所有业务数据,业务数据属于一个或多个业务场景,对于不同的业务场景,其子数据对于的业务的主要属性为该子数据的主列数据,主列数据的列值基本不会为空,且列定义基本不动,比如人员的name、age等;而该子数据中不属于业务场景的属性为次列数据,例如仅为一个状态标志位,次列数据列值不为空的记录数占总记录数的比例比较小,比如人员的国外地址。
例如,对于一子数据,其包括name、age、pre_name、vp_code和fore_add,则根据业务场景可判定其中的name、age、pre_name为主列数据,vp_code和fore_add为次列数据。
步骤S102,基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
本实施例中,在获取到主列数据以及次列数据之后,基于所述主列数据以及次列数据,创建第二数据库对应的目标表,即创建RDBMS数据库的目标表,该目标表包括主列以及自由列,其中,主列与主列数据一一对应,自由列与次列数据一一对应,也就是说,主列用于存储主列数据,自由列用于存储次列数据。
需要说明的是,在创建目标表时,还可以创建自由列的预留列(空列),例如,对于包括name、age、pre_name、vp_code和fore_add的子数据,其中name、age、pre_name为主列数据,vp_code和fore_add为次列数据,则目标表的列可以包括<name、age、pre_name、column1、column2、column3>,其中name、age、pre_name作为主列,column1、column2、column3为新建的自由列,自由列的类型需要满足vp_code和fore_add的存储需求。
步骤S103,基于所述次列数据以及所述自由列,确定绑定关系表。。
本实施例中,在得到目标表之后,基于次列数据以及自由列,确定绑定关系表,具体地,根据目标表中的主列对于的次列数据以及自由列之间的关系,确定绑定关系表,该绑定关系表可以包括绑定关系所属表、次列列名以及自由列列名。
步骤S104,关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
本实施例中,在获得绑定关系表之后,关联存储所述目标表以及所述绑定关系表至所述RDBMS数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述RDBMS数据库,即将第一数据库中目标表对于的主列数据以及绑定关系表对于的次列数据迁移至第二数据库。
进一步地,在一实施例中,该步骤S101包括:
遍历第一数据库的待迁移数据,确定当前遍历的子数据对应的业务场景以及业务需求,并基于业务场景以及业务需求确定当前遍历的子数据主列数据以及次列数据,直至所述待迁移数据遍历完成。
本实施例中,由于不同的业务场景以及业务需求所对应的主列数据以及次列数据不同,因此,先遍历第一数据库的数据,得到当前遍历的子数据,获取该当前遍历的子数据对应的业务场景以及业务需求,并根据业务场景以及业务需求确定当前遍历的子数据主列数据以及次列数据,直至所述待迁移数据遍历完成,进而能够根据每一个子数据的业务场景以及业务需求,准确得到主列数据以及次列数据,提高数据库迁移的准确性以及效率。
本实施例提出的数据处理方法,通过遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,接着基于所述主列数据以及次列数据,创建第二数据库对应的目标表,而后基于所述次列数据以及所述自由列,确定绑定关系表,然后关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,将第一数据库的数据分为主列数据以及次列数据,通过自由列与次列数据的绑定关系实现RDBMS列的复用,节省第二数据库的存储空间以及提升存储效率,进而提升数据迁移的安全性以及迁移效率。
基于第一实施例,提出本发明数据处理方法的第二实施例,在本实施例中,步骤S104之后,该数据处理方法还包括:
步骤S201,在接收到自由列删除指令时,获取所述自由列删除指令对应的第一目标表中的待删除自由列;
步骤S202,在所述目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列。
在将第一数据库中的数据迁移至第二数据库之后,可以对第二数据库中的数据进行修改,例如删除某一数据的自由列,此时,可以通过第二数据库的管理配置界面选择需要删除的自由列,并触发自由列删除指令。
本实施例中,在接收到自由列删除指令时,确定自由列删除指令对应的第一目标表,并在第一目标表中确定待删除自由列。
而后,在所述目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列,具体地,先在绑定关系表中确定该待删除自由列对应的第一绑定关系表,在第一绑定关系表中确定待删除绑定关系列,并删除该待删除绑定关系列,即删除待删除绑定关系列中的数据,并将该待删除绑定关系列的值置空。
本实施例中,在删除某一目标表的自由列时,直接修改数据库中的目标表以及绑定关系表,无需修改对应的业务代码。
本实施例提出的数据处理方法,通过在接收到自由列删除指令时,获取所述自由列删除指令对应的第一目标表中的待删除自由列;接着在所述第一目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列,通过改变数据库即可实现自由列的删除而无需变动业务代码,进而可以实现24小时的不停服修改,进而提高了数据库的维护效率。
基于第一实施例,提出本发明数据处理方法的第三实施例,在本实施例中,步骤S104之后,该数据处理方法还包括:
步骤S301,在接收到自由列增加指令时,确定所述自由列增加指令对应待增加数据的数据类型以及数据大小,并确定所述自由列增加指令对应的第二目标表;
步骤S302,确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列;
步骤S303,若存在,则基于所述目标主列数据以及待增加数据,更新所述第一空列。
本实施例中,还可以通过第二数据库的管理配置界面选择需要增加的自由列,并触发自由列增加指令。在接收到自由列增加指令时,获取自由列增加指令对应待增加数据,并获取该待增加数据的数据类型以及数据大小,同时,确定所述自由列增加指令对应的第二目标表,即该待增加数据需要存入的目标表。
而后,确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列,具体地,先确定第二目标表的自由列中是否存在空列。若存在,则判断该空列是否与数据类型以及数据大小匹配,即空列的数据类型与待增加数据的数据类型匹配且空列的存储空间是否与待增加数据的数据大小匹配,若均匹配则确定存在第一空列,进而基于待增加数据,更新所述第一空列,即将待增加数据存储至第一空列。
进一步地,一实施例中,步骤S102之后,还包括:
步骤S304,若不存在,则基于数据类型以及数据大小在所述目标表的自由列中扩展第二空列,并基于所述待增加数据,更新所述第二空列。
本实施例提出的数据处理方法,通过在接收到自由列增加指令时,确定所述自由列增加指令对应待增加数据的数据类型以及数据大小,并确定所述自由列增加指令对应的第二目标表;接着确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列;而后若存在,则基于所述待增加数据,更新所述第一空列,通过改变数据库即可实现自由列的新增而无需变动业务代码,进而可以实现第二数据库的不停服修改,进而提高了数据库的维护效率。
基于第一实施例,提出本发明数据处理方法的第四实施例,在本实施例中,步骤S104之后,该数据处理方法还包括:
步骤S401,在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,以及基于所述第三目标表的自由列确定所述自由列迁移指令对应的待迁移数据、当前列以及目标列;
步骤S402,将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列。
本实施例中,还可以通过第二数据库的管理配置界面选择需要迁移的自由列,并触发自由列迁移指令。在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,获取第三目标表的自由列,在第三目标表的自由列中确定自由列迁移指令对应的待迁移数据、当前列以及目标列,其中目标列为空列。
而后,将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列。
本实施例提出的数据处理方法,通过在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,以及基于所述第三目标表的自由列确定所述自由列迁移指令对应的待迁移数据、当前列以及目标列;接着将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列,通过改变数据库即可实现自由列的迁移而无需变动业务代码,进而可以实现第二数据库内部的不停服数据迁移,进而提高了数据库的维护效率。
基于第一实施例,提出本发明数据处理方法的第五实施例,在本实施例中,步骤S104之后,该数据处理方法还包括:
步骤S501,在接收到数据查询指令时,确定所述数据查询指令对应的第四目标表,并基于所述第四目标表确定所述数据查询指令对应的目标主列以及目标自由列;
步骤S502,基于所述目标主列以及目标自由列查询所述第四目标表,以获得所述数据查询指令对应的目标数据。
本实施例中,还可以通过第二数据库的管理配置界面选择需要查询的自由列,并触发自由列查询指令。在接收到数据查询指令时,确定数据查询指令对应的第四目标表,并基于第四目标表确定数据查询指令对应的目标主列以及目标自由列,而后基于目标主列以及目标自由列查询第四目标表,以获得所述数据查询指令对应的目标数据。
本实施例中,还可以输出该目标数据,或者将该目标数据发送至数据查询指令对应的目标终端。
本实施例提出的数据处理方法,通过在接收到数据查询指令时,确定所述数据查询指令对应的第四目标表,并基于所述第四目标表确定所述数据查询指令对应的目标主列以及目标自由列;接着基于所述目标主列以及目标自由列查询所述第四目标表,以获得所述数据查询指令对应的目标数据,通过改变数据库即可实现数据查询而无需变动业务代码,进而提高了数据库的维护效率。
本发明还提供一种数据处理装置,参照图3,所述数据处理装置包括:
遍历模块10,用于遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
创建模块20,用于基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
绑定模块30,用于基于所述次列数据以及所述自由列,确定绑定关系表;
迁移模块40,用于关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
进一步地,所述数据处理装置,用于:
在接收到自由列删除指令时,获取所述自由列删除指令对应的第一目标表中的待删除自由列;
在所述第一目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列。
通过改变数据库即可实现自由列的删除而无需变动业务代码,进而可以实现24小时的不停服修改,进而提高了数据库的维护效率。
进一步地,所述数据处理装置,还用于:
在接收到自由列增加指令时,确定所述自由列增加指令对应待增加数据的数据类型以及数据大小,并确定所述自由列增加指令对应的第二目标表;
确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列;
若存在,则基于所述待增加数据,更新所述第一空列。
通过改变数据库即可实现自由列的新增而无需变动业务代码,进而可以实现第二数据库的不停服修改,进而提高了数据库的维护效率。
进一步地,所述数据处理装置,还用于:
若不存在,则基于数据类型以及数据大小在所述目标表的自由列中扩展第二空列,并基于所述待增加数据,更新所述第二空列。
进一步地,所述数据处理装置,还用于:
在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,以及基于所述第三目标表的自由列确定所述自由列迁移指令对应的待迁移数据、当前列以及目标列;
将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列。
通过改变数据库即可实现自由列的迁移而无需变动业务代码,进而可以实现第二数据库内部的不停服数据迁移,进而提高了数据库的维护效率。进一步地,所述数据处理装置,还用于:
在接收到数据查询指令时,确定所述数据查询指令对应的第四目标表,并基于所述第四目标表确定所述数据查询指令对应的目标主列以及目标自由列;
基于所述目标主列以及目标自由列查询所述第四目标表,以获得所述数据查询指令对应的目标数据。
通过改变数据库即可实现数据查询而无需变动业务代码,进而提高了数据库的维护效率。
进一步地,遍历模块10,还用于:
遍历第一数据库的待迁移数据,确定当前遍历的子数据对应的业务场景以及业务需求,并基于业务场景以及业务需求确定当前遍历的子数据主列数据以及次列数据,直至所述待迁移数据遍历完成。
能够根据每一个子数据的业务场景以及业务需求,准确得到主列数据以及次列数据,提高数据库迁移的准确性以及效率。
上述各程序单元所执行的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
其中,在所述处理器上运行的数据处理程序被执行时所实现的方法可参照本发明数据处理方法各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机程序产品,该计算机程序产品上包括数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括以下步骤:
遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
基于所述次列数据以及所述自由列,确定绑定关系表;
关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
2.如权利要求1所述的数据处理方法,其特征在于,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列删除指令时,获取所述自由列删除指令对应的第一目标表中的待删除自由列;
在所述第一目标表中删除所述待删除自由列,并在所述绑定关系表删除所述待删除自由列对应的待删除绑定关系列。
3.如权利要求1所述的数据处理方法,其特征在于,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列增加指令时,确定所述自由列增加指令对应待增加数据的数据类型以及数据大小,并确定所述自由列增加指令对应的第二目标表;
确定所述第二目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列;
若存在,则基于所述待增加数据,更新所述第一空列。
4.如权利要求3所述的数据处理方法,其特征在于,所述确定所述目标表的自由列中是否存在与数据类型以及数据大小匹配的第一空列的步骤之后,还包括:
若不存在,则基于数据类型以及数据大小在所述目标表的自由列中扩展第二空列,并基于所述待增加数据,更新所述第二空列。
5.如权利要求1所述的数据处理方法,其特征在于,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到自由列迁移指令时,确定所述自由列迁移指令对应的第三目标表,以及基于所述第三目标表的自由列确定所述自由列迁移指令对应的待迁移数据、当前列以及目标列;
将所述待迁移数据迁移至所述目标列,并在所述第三目标表中删除所述当前列。
6.如权利要求1所述的数据处理方法,其特征在于,所述基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库的步骤之后,还包括:
在接收到数据查询指令时,确定所述数据查询指令对应的第四目标表,并基于所述第四目标表确定所述数据查询指令对应的目标主列以及目标自由列;
基于所述目标主列以及目标自由列查询所述第四目标表,以获得所述数据查询指令对应的目标数据。
7.如权利要求1至6任一项所述的数据处理方法,其特征在于,所述遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据的步骤包括:
遍历第一数据库的待迁移数据,确定当前遍历的子数据对应的业务场景以及业务需求,并基于业务场景以及业务需求确定当前遍历的子数据主列数据以及次列数据,直至所述待迁移数据遍历完成。
8.一种数据处理装置,其特征在于,所述数据处理装置包括:
遍历模块,用于遍历第一数据库的待迁移数据,分别确定所述待迁移数据中各个子数据对应的主列数据以及次列数据,其中,所述第一数据库为无Schema数据库;
创建模块,用于基于所述主列数据以及次列数据,创建第二数据库对应的目标表,其中,所述目标表包括所述主列数据对应的主列以及所述次列数据对应的自由列,所述第二数据库为关系数据库管理系统RDBMS数据库;
绑定模块,用于基于所述次列数据以及所述自由列,确定绑定关系表;
迁移模块,用于关联存储所述目标表以及所述绑定关系表至所述第二数据库的转换层,并基于所述目标表以及所述绑定关系表将所述待迁移数据迁移至所述第二数据库,其中,所述转换层位于所述第二数据库的服务处以及访问数据库层之间。
9.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110966199.3A CN113778988A (zh) | 2021-08-23 | 2021-08-23 | 数据处理方法、装置、设备及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110966199.3A CN113778988A (zh) | 2021-08-23 | 2021-08-23 | 数据处理方法、装置、设备及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778988A true CN113778988A (zh) | 2021-12-10 |
Family
ID=78838685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110966199.3A Pending CN113778988A (zh) | 2021-08-23 | 2021-08-23 | 数据处理方法、装置、设备及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778988A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530327A (zh) * | 2013-09-25 | 2014-01-22 | 清华大学深圳研究生院 | 一种从非关系型数据库到关系型数据库的数据迁移方法 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
US20150379058A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Managing data with flexible schema |
US9805071B1 (en) * | 2016-11-10 | 2017-10-31 | Palantir Technologies Inc. | System and methods for live data migration |
CN110674113A (zh) * | 2019-09-24 | 2020-01-10 | 咪咕音乐有限公司 | 数据的一键迁移方法、装置、电子设备及存储介质 |
US10963435B1 (en) * | 2017-07-10 | 2021-03-30 | Amazon Technologies, Inc. | Data validation of data migrated from a source database to a target database |
-
2021
- 2021-08-23 CN CN202110966199.3A patent/CN113778988A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530327A (zh) * | 2013-09-25 | 2014-01-22 | 清华大学深圳研究生院 | 一种从非关系型数据库到关系型数据库的数据迁移方法 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及系统 |
US20150379058A1 (en) * | 2014-06-30 | 2015-12-31 | Microsoft Corporation | Managing data with flexible schema |
US9805071B1 (en) * | 2016-11-10 | 2017-10-31 | Palantir Technologies Inc. | System and methods for live data migration |
US10963435B1 (en) * | 2017-07-10 | 2021-03-30 | Amazon Technologies, Inc. | Data validation of data migrated from a source database to a target database |
CN110674113A (zh) * | 2019-09-24 | 2020-01-10 | 咪咕音乐有限公司 | 数据的一键迁移方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
樊旭等: "江苏省典型湖泊管理研究", 31 March 2018, 河海大学出版社, pages: 165 - 169 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020000719A1 (zh) | 报表系统的数据处理方法、装置及计算机可读存储介质 | |
CN107077483B (zh) | 共享文件夹和文件的同步 | |
CN112765271B (zh) | 区块链交易索引的存储方法、装置、计算机设备及介质 | |
EP3066816B1 (en) | Method and device for the management of applications | |
CN108334534A (zh) | 业务系统字段配置方法、装置、服务器及可读存储介质 | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
CN110968585B (zh) | 面向列的存储方法、装置、设备及计算机可读存储介质 | |
CN113010476B (zh) | 元数据查找方法、装置、设备及计算机可读存储介质 | |
CN114579561A (zh) | 数据处理方法和装置、存储介质 | |
US10191953B2 (en) | Method of storing and expressing web page in an electronic device | |
CN103870762A (zh) | 分区访问方法和电子设备 | |
CN112579118A (zh) | 微服务的配置信息更新方法、装置、系统、介质和设备 | |
CN108664505B (zh) | 一种数据库表结构的导出方法及装置 | |
CN112765270B (zh) | 区块链数据处理方法、装置、计算机设备及介质 | |
CN113778988A (zh) | 数据处理方法、装置、设备及计算机程序产品 | |
CN116049142A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113849524B (zh) | 一种数据处理方法及装置 | |
CN112100226B (zh) | 一种数据查询方法及计算机可读存储介质 | |
CN110780898B (zh) | 页面数据的升级方法、装置和电子设备 | |
CN105701162B (zh) | 一种智能终端的用户数据分区的管理方法及智能终端 | |
CN107229746B (zh) | 终端及多派生项目的数据处理方法和存储介质 | |
CN111309988A (zh) | 基于编码的字符串检索方法、装置及电子设备 | |
CN107729013B (zh) | 管理网页上操作按钮的方法和计算机可读存储介质 | |
CN110865996B (zh) | 数据存储方法、装置及计算机可读存储介质 | |
CN112286545B (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 |