CN117149915A - 用于云端数据库迁移到开源数据库的方法 - Google Patents

用于云端数据库迁移到开源数据库的方法 Download PDF

Info

Publication number
CN117149915A
CN117149915A CN202311429110.5A CN202311429110A CN117149915A CN 117149915 A CN117149915 A CN 117149915A CN 202311429110 A CN202311429110 A CN 202311429110A CN 117149915 A CN117149915 A CN 117149915A
Authority
CN
China
Prior art keywords
data
database
open source
synchronization
source database
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.)
Granted
Application number
CN202311429110.5A
Other languages
English (en)
Other versions
CN117149915B (zh
Inventor
吴天波
刘佳
胡丁
刘强
齐红军
郑筠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Sanxiang Bank Co Ltd
Original Assignee
Hunan Sanxiang Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Sanxiang Bank Co Ltd filed Critical Hunan Sanxiang Bank Co Ltd
Priority to CN202311429110.5A priority Critical patent/CN117149915B/zh
Publication of CN117149915A publication Critical patent/CN117149915A/zh
Application granted granted Critical
Publication of CN117149915B publication Critical patent/CN117149915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

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)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据处理技术领域,尤其涉及一种用于云端数据库迁移到开源数据库的方法,包括数据备份模块对云端数据库数据进行全量备份并存储,数据切分模块执行分级模拟策略分类出若干数据级,获取分库分表架构并进行等级修正,同步模块将分库分表架构与开源数据库容量进行比对以确定同步方法,利用同步模块将云端数据库的数据按对应同步方法同步至开源数据库并以替换中间件替换所述分库分表架构,同时执行防篡改保护动作,对于云端数据库生成的新数据,同步模块根据单位时间生成的新数据数量判定数据迁移周期,并以数据迁移周期迁移至开源数据库,有效提升了迁移效率和迁移后开源数据库的可靠性。

Description

用于云端数据库迁移到开源数据库的方法
技术领域
本发明涉及数据处理领域,尤其涉及一种用于云端数据库迁移到开源数据库的方法。
背景技术
随着互联网时代的到来,开源数据库的普及率越来越高。开源数据库具有开放源代码、免费使用、社区支持等优点,受到越来越多的企业和开发者的青睐。
数据库迁移技术是将数据从一个数据库系统转移到另一个数据库系统的过程。随着数据库迁移技术的发展,迁移过程变得越来越方便和高效,可以帮助企业快速地将数据从一个数据库系统转移到另一个数据库系统。
中国专利授权公告号CN105359147B公开一种在线数据库迁移,给出了用于执行服务器系统之间的在线迁移的各种布置。可以启动数据库从源服务器系统到目标服务器系统的传送。在传送期间,源服务器系统的数据库可以保持在线。可以记录何时数据库的传送被启动的时间指示。在传送数据库时,可以接收对数据库的记录的修改。可以存储多个修改,并且,对于该多个修改中的每个修改,可以存储何时接收到修改的时间指示。在完成数据库到目标服务器系统的传送之后,可以在源服务器系统在线时向由目标服务器系统存储的数据库应用多个修改。
可见,现有开源数据库不能有效保证数据安全性,且将云端数据库迁移到开源数据库并保证迁移效率和开源数据库可靠性是数据库稳定安全运行的重点节点。
发明内容
为此,本发明提供一种用于云端数据库迁移到开源数据库的方法,用以克服现有技术中云端数据库迁移到开源数据库过程中不能有效保证开源数据库可靠性的问题。
为实现上述目的,本发明提供一种用于云端数据库迁移到开源数据库的方法,包括:
步骤S1,利用数据备份模块对云端数据库数据进行全量备份并存储于云端数据库的备份数据库中;
步骤S2,利用数据切分模块对云端数据库的数据执行分级模拟策略以将数据分类为若干数据级;
步骤S3,所述数据切分模块获取云端数据库的分库分表架构,将分库分表架构与所述数据级进行比对以对各数据的数据级进行等级修正;
步骤S4,同步模块将所述分库分表架构与开源数据库容量进行比对以确定同步方法;
步骤S5,利用同步模块根据所述数据级将云端数据库的数据按对应同步方法同步至开源数据库并以替换中间件替换所述分库分表架构,同时根据分级结果对开源数据库中的数据执行对应的防篡改保护动作;
步骤S6,对于云端数据库生成的新数据,所述同步模块根据单位时间生成的新数据数量判定数据迁移周期,并以数据迁移周期将新数据迁移至所述开源数据库;
所述分库分表架构包括云端数据库中的全部库和表的分布情况以及数据之间的关系和约束;
所述同步方法包括整体同步方法和分级同步方法;
防篡改保护动作为对开源数据库中的数据进行数字签名、哈希校验、访问控制和数据加密中的至少两种。
进一步地,在所述步骤S1中,所述数据备份模块在进行所述全量备份时还进行实时备份,所述实时备份包括:
步骤S11,利用二进制日志或事务日志捕获云端数据库的增量数据变更;
步骤S12,将捕获的增量变更数据存储到云端数据库缓存数据库中。
进一步地,在所述步骤S2中,所述分级模拟策略包含以下步骤:
步骤S21,所述数据切分模块获取开源数据库的业务模型和数据特征,根据业务模型和数据特征识别出核心业务数据和一般业务数据,并将核心业务数据划分为一级数据,将一般业务数据划分为三级数据;
步骤S22,所述数据切分模块对所述三级数据执行数据分析策略,根据各数据修改次数和/或访问频率以从三级数据中得到若干二级数据;
步骤S23,所述数据切分模块对执行数据分析策略后的三级数据进行数据压缩。
进一步地,在所述步骤S2中,所述数据分析策略为获取各所述三级数据的修改次数和访问频率,分别统计各三级数据的修改次数和访问频率,并根据数据总量设定修改次数阈值和重复频率阈值,将修改次数小于修改次数阈值且重复频率大于重复频率阈值的单个三级数据记为二级数据。
进一步地,在所述步骤S3中,所述等级修正为所述数据切分模块获取分级后的单个数据级的数据在所述分库分表架构中的横向分布特征,并根据数据的横向分布特征与标准分布特征进行比对以获取数据重合度,若任一个数据级的数据重合度小于重合度阈值,所述数据切分模块对切分后的单个数据级执行二次切分;
所述横向分布特征为单个数据级的数据在若干竖向分库分表对应的竖向层级的横向均匀度,所述二次切分为对相应的数据集重复所述步骤S2或根据分库分表架构进行分级。
进一步地,在所述步骤S4中,所述同步模块根据所述分库分表架构获取同步数据量,并将同步数据的各数据量特征与开源数据库的对应容量特征进行比对确定向开源数据库的同步方法;
若任一所述数据量特征大于等于所述容量特征对应的阈值,所述同步模块判定选取所述整体同步方法;
若各所述数据量特征均小于等于所述容量特征对应的阈值,所述同步模块判定选取所述分级同步方法;
其中,所述数据量特征包括同步数据量和一级数据的数据量占比,所述容量特征包括开源数据库的标准数据容量和预设比值,所述预设比值与数据库最大容量有关。
进一步地,在所述步骤S5中,若判定同步方法为整体同步方法,所述同步模块将所述云端数据库的数据一次性同步至开源数据库,并对同步完成的一级数据进行所述哈希校验并进行数据加密。
进一步地,在所述步骤S5中,若判定同步方法为分级同步方法,执行分级同步的步骤包括:
所述同步模块先将一级数据同步至开源数据库,对同步完成的一级数据进行所述哈希校验并加密;
所述一级数据加密完成后,同步模块将二级数据同步至开源数据库并对二级数据的访问限制进行修改以使开源数据库支持二级数据的检索操作;
完成所述修改后,所述同步模块将三级数据同步至开源数据库并解压以使开源数据库支持三级数据的访问和/或修改。
进一步地,在所述步骤S6中,所述同步模块按预设迁移周期循环执行步骤S2至步骤S5,以对实时同步的数据执行分级策略和对应的防篡改保护动作后同步至所述开源数据库;
所述同步模块周期性根据所述开源数据库中各级数据的操作次数和操作类型对相应数据的分级或执行过的防篡改保护动作进行调整。
进一步地,利用所述同步模块在同步过程中实时监控所述云端数据库和所述开源数据库的平均查询响应时间和平均写操作响应时间以对同步速率和所述预设迁移周期进行调整。
与现有技术相比,本发明的有益效果在于,本方法对数据进行了分级和防篡改保护,能够有效地保障数据的安全性。数据分级能够将敏感数据和核心业务数据进行优先保护,防篡改保护则能够在防止数据因开源被随意篡改导致数据库可靠性降低,避免数据被恶意篡改或删除,提高了迁移后开源数据库的可靠性。
进一步地,本方法采用了全量备份和实时备份同时进行的方式,能够在数据丢失或损坏时快速恢复数据。同时,数据迁移过程中也对数据进行了校验和验证,确保数据的正确性和完整性。
进一步地,本发明通过修改次数和重复频率获得若干二级数据,这两个参数用于数据分级策略中,可以根据数据修改次数和访问频率的情况将数据分为不同的等级,从而进行不同的处理。修改次数和重复频率阈值的设置可以根据实际数据特征进行调整,通过设置修改次数阈值和重复频率阈值,可以实现对不同类型数据的分级和管理。且通过获取二级数据避免了对一般业务数据中的一部分重要数据随意修改对数据库整体性造成影响,提升了迁移后开源数据库的可靠性。
进一步地,本发明数据切分模块获取分级后的单级数据在所述分库分表架构中的横向分布特征,并根据各级数据的横向分布特征与标准分布特征进行比对以获取数据重合度,通过与分库分表架构的比对,有效防止了错误分级,进一步提高了迁移过程的可靠性。
进一步地,本方法将数据从云端数据库迁移到开源数据库,能够提高数据的可用性和可访问性。开源数据库具有高度的兼容性和可扩展性,能够更好地满足不同场景下的数据需求。能够方便地进行数据维护和管理。开源数据库拥有丰富的工具和插件,能够帮助相关人员更好地管理和维护数据。
进一步地,本发明通过在迁移前将数据分为若干等级并在迁移时对对应等级数据分步保护,保护动作和迁移动作同时进行,避免了时间和数据处理能力的浪费,提升了迁移效率,且分级同步过程中,二级数据同步完成后,数据库就已经能够支持基本的检索访问,进一步提高了迁移效率和开源数据库时效性。
进一步地,本发明对不同数据集执行不同防篡改保护策略,有针对性的在开源的同时提高了开源数据库的可靠性。
进一步地,本发明利用同步模块在同步过程中实时监控所述云端数据库和所述开源数据库的平均查询响应时间和平均写操作响应时间以对同步速率和所述预设迁移周期进行调整,提高了时效性,进一步提高了迁移后开源数据库的可靠性。
附图说明
图1为本发明实施例用于云端数据库迁移到开源数据库的方法的流程示意图;
图2为本发明实施例云端数据库迁移到开源数据库的结构框图;
图3为本发明实施例非均匀分布示意图;
图4为本发明实施例均匀分布示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
请参阅图1所示,其为本发明实施例用于云端数据库迁移到开源数据库的方法的流程示意图,包括:
步骤S1,利用数据备份模块对云端数据库数据进行全量备份并存储于云端数据库的备份数据库中;
步骤S2,利用数据切分模块对云端数据库的数据执行分级模拟策略以将数据分类为若干数据级;
步骤S3,所述数据切分模块获取云端数据库的分库分表架构,将分库分表架构与所述数据级进行比对以对各数据的数据级进行等级修正;
步骤S4,同步模块将所述分库分表架构与开源数据库容量进行比对以确定同步方法;
优选的,同步模块包括ogg同步工具和处理器;
请参阅图2所示,其为本发明实施例云端数据库迁移到开源数据库的结构框图,同步模块根据所述数据级将云端数据库的数据按对应同步方法同步至开源数据库并以替换中间件替换所述分库分表架构,同时根据分级结果对开源数据库中的数据执行对应的防篡改保护动作;
在云端数据库迁移到开源数据库的方法中,替换中间件的目的是将云端数据库连接的中间件切换为开源数据库连接的中间件。替换中间件可以提高开源数据库的兼容性和稳定性,从而确保数据的可靠性和安全性。
可选的,替换中间件为MaxScale:MaxScale是MariaDB公司开发的一个数据库代理,可以用于负载均衡、故障转移、查询路由和安全性等方面。MaxScale支持多种数据库连接协议,包括MySQL和MariaDB等。
可选的,替换中间件为ProxySQL,是一个高性能的数据库代理,可以用于负载均衡、故障转移、查询路由和安全性等方面。ProxySQL支持MySQL、MariaDB、Percona和PostgreSQL等数据库。
可选的,替换中间件为HAProxy,是一个高性能的负载均衡器,可以用于将流量分配到多个服务器上,并提供故障转移和健康检查等功能。HAProxy支持多种数据库连接协议,包括MySQL、PostgreSQL和MongoDB等。
对于云端数据库生成的新数据,所述同步模块根据单位时间生成的新数据数量判定数据迁移周期,并以数据迁移周期将新数据迁移至所述开源数据库;
所述分库分表架构包括云端数据库中的全部库和表的分布情况以及数据之间的关系和约束;
所述同步方法包括整体同步方法和分级同步方法;
防篡改保护动作为对开源数据库中的数据进行数字签名、哈希校验、访问控制和数据加密中的至少两种。
数字签名:数字签名可以用来验证数据的完整性和真实性。在这个方法中,可以使用公钥加密算法生成数字签名,并将数字签名与数据一起存储在开源数据库中。当需要验证数据的完整性和真实性时,可以使用对应的私钥解密数字签名,并与数据进行比对,从而确保数据没有被篡改。
哈希校验:哈希校验可以用来验证数据是否被篡改。在这个方法中,可以使用哈希函数对数据进行哈希处理,并将哈希值与数据一起存储在开源数据库中。当需要验证数据是否被篡改时,可以重新计算数据的哈希值,并与存储在开源数据库中的哈希值进行比对,从而确保数据没有被篡改。
访问控制:访问控制可以用来保护数据的机密性和隐私性。在这个方法中,可以使用访问控制策略来限制对开源数据库中的数据的访问。例如,可以设置不同的用户角色和权限,只有具有足够权限的用户才能访问敏感数据。
数据加密:数据加密可以用来保护数据的机密性和隐私性。在这个方法中,可以使用加密算法对敏感数据进行加密,并将加密后的数据存储在开源数据库中。只有具有正确密钥的用户才能访问加密后的数据。
本方法对数据进行了分级和防篡改保护,能够有效地保障数据的安全性。数据分级能够将敏感数据和核心业务数据进行优先保护,防篡改保护则能够在防止数据因开源被随意篡改导致数据库可靠性降低,避免数据被恶意篡改或删除,提高了迁移后开源数据库的可靠性。
具体而言,在所述步骤S1中,所述数据备份模块在进行所述全量备份时还进行实时备份,所述实时备份包括:
步骤S11,利用二进制日志或事务日志捕获云端数据库的增量数据变更;
步骤S12,将捕获的增量变更数据存储到云端数据库缓存数据库中。
本方法采用了全量备份和实时备份同时进行的方式,能够在数据丢失或损坏时快速恢复数据。同时,数据迁移过程中也对数据进行了校验和验证,确保数据的正确性和完整性。
具体而言,在所述步骤S2中,所述分级模拟策略包含以下步骤:
步骤S21,所述数据切分模块获取开源数据库的业务模型和数据特征,根据业务模型和数据特征识别出核心业务数据和一般业务数据,并将核心业务数据划分为一级数据,将一般业务数据划分为三级数据;
步骤S22,所述数据切分模块对所述三级数据执行数据分析策略,根据各数据修改次数和/或访问频率以从三级数据中得到若干二级数据;
步骤S23,所述数据切分模块对执行数据分析策略后的三级数据进行数据压缩。
本发明通过在迁移前将数据分为若干等级并在迁移时对对应等级数据分步保护,保护动作和迁移动作同时进行,避免了时间和数据处理能力的浪费,提升了迁移效率。
具体而言,在所述步骤S2中,所述数据分析策略为获取各所述三级数据的修改次数和访问频率,分别统计各三级数据的修改次数和访问频率,并根据数据总量设定修改次数阈值和重复频率阈值,将修改次数小于修改次数阈值且重复频率大于重复频率阈值的单个三级数据记为二级数据。
通过修改次数和重复频率获得若干二级数据,这两个参数用于数据分级策略中,可以根据数据修改次数和访问频率的情况将数据分为不同的等级,从而进行不同的处理。修改次数和重复频率阈值的设置可以根据实际数据特征进行调整,通过设置修改次数阈值和重复频率阈值,可以实现对不同类型数据的分级和管理。且通过获取二级数据避免了对一般业务数据中的一部分重要数据随意修改对数据库整体性造成影响,提升了迁移后开源数据库的可靠性。
可选的二级数据为申请修改权限才能修改,一级数据为数据加密不允许修改,三级数据为随意修改访问。
具体而言,在所述步骤S3中,所述等级修正为所述数据切分模块获取分级后的单个数据级的数据在所述分库分表架构中的横向分布特征,并根据数据的横向分布特征与标准分布特征进行比对以获取数据重合度,若任一个数据级的数据重合度小于重合度阈值,所述数据切分模块对切分后的单个数据级执行二次切分;
所述横向分布特征为单个数据级的数据在若干竖向分库分表对应的竖向层级的横向均匀度,所述重合度阈值与分库分表架构复杂程度有关,所述二次切分为对相应的数据集重复所述步骤S2或根据分库分表架构进行分级。
请参阅图3所示,其为本发明实施例非均匀分布示意图,数据A、B、C、D为二级数据对应的四个数据组,可选地,数据切分模块分析单个数据级在分库分表的横向区间为图中的第三层,四个数据组在第三层的分布有两组,重合度为50%。
请参阅图4所示,其为本发明实施例均匀分布示意图,数据A、B、C、D为二级数据对应的四个数据组,可选地,数据切分模块分析单个数据级在分库分表的横向区间为图中的第三层,四个数据组在第三层的分布有四组,重合度为100%。
具体而言,在所述步骤S4中,所述同步模块根据所述分库分表架构获取同步数据量,并将同步数据的各数据量特征与开源数据库的对应容量特征进行比对确定向开源数据库的同步方法;
若任一所述数据量特征大于等于所述容量特征对应的阈值,所述同步模块判定选取所述整体同步方法;
若各所述数据量特征均小于等于所述容量特征对应的阈值,所述同步模块判定选取所述分级同步方法;
其中,所述数据量特征包括同步数据量和一级数据的数据量占比,所述容量特征包括开源数据库的标准数据容量和预设比值,所述预设比值与数据库最大容量有关。
可选的,同步模块统计分库分表架构中的数据所占内存即为同步数据量;
可选的,一级数据的数据量占比等于一级数据所占内存与同步数据量之比;
可选的,标准数据容量为数据库能保持最优速率运行的最大可用内存;
可选的,预设比值通过数据库最大容量和转换系数之积得出。
在所述步骤S5中,若判定同步方法为整体同步方法,所述同步模块将所述云端数据库的数据一次性同步至开源数据库,并对同步完成的一级数据进行所述哈希校验并进行数据加密。
具体而言,在所述步骤S5中,若判定同步方法为分级同步方法,执行分级同步的步骤包括:
所述同步模块先将一级数据同步至开源数据库,对同步完成的一级数据进行所述哈希校验并加密;
所述一级数据加密完成后,同步模块将二级数据同步至开源数据库并对二级数据的访问限制进行修改以使开源数据库支持二级数据的检索操作;
完成所述修改后,所述同步模块将三级数据同步至开源数据库并解压以使开源数据库支持三级数据的访问和/或修改。
本发明对不同数据集执行不同防篡改保护策略,有针对性的在开源的同时提高了开源数据库的可靠性。
本方法将数据从云端数据库迁移到开源数据库,能够提高数据的可用性和可访问性。开源数据库具有高度的兼容性和可扩展性,能够更好地满足不同场景下的数据需求。能够方便地进行数据维护和管理。开源数据库拥有丰富的工具和插件,能够帮助相关人员更好地管理和维护数据。
具体而言,在所述步骤S6中,所述同步模块按预设迁移周期循环执行步骤S2至步骤S5,以对实时同步的数据执行分级策略和对应的防篡改保护动作后同步至所述开源数据库;
所述同步模块周期性根据所述开源数据库中各级数据的操作次数和操作类型对相应数据的分级或执行过的防篡改保护动作进行调整。
可以理解的是,预设迁移周期能够根据单位时间内新数据占用的内存进行设定。
所述开源数据库中各级数据的操作次数和操作类型对相应数据的分级或执行过的防篡改保护动作进行调整的具体方式可实施为:
例如:计算单条三级数据的访问频率,若大于访问频率阈值,将该条三级数据调整为二级数据,或将防篡改保护动作进行调整为对访问限制进行修改以使三级数据支持检索操作且不被修改。
具体而言,利用所述同步模块在同步过程中实时监控所述云端数据库和所述开源数据库的平均查询响应时间和平均写操作响应时间以对同步速率和所述预设迁移周期进行调整。
具体的调整方式为平均查询响应时间在平均写操作响应时间小于对应的时间阈值时根据对应的时间差值减小同步速率或增大迁移周期;平均查询响应时间在平均写操作响应时间大于对应的时间阈值时根据对应的时间差值增大小同步速率或减小预设迁移周期。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于云端数据库迁移到开源数据库的方法,其特征在于,包括:
步骤S1,利用数据备份模块对云端数据库数据进行全量备份并存储于云端数据库的备份数据库中;
步骤S2,利用数据切分模块对云端数据库的数据执行分级模拟策略以将数据分类为若干数据级;
步骤S3,所述数据切分模块获取云端数据库的分库分表架构,将分库分表架构与所述数据级进行比对以对各数据的数据级进行等级修正;
步骤S4,同步模块将所述分库分表架构与开源数据库容量进行比对以确定同步方法;
步骤S5,利用同步模块根据所述数据级将云端数据库的数据按对应同步方法同步至开源数据库并以替换中间件替换所述分库分表架构,同时根据分级结果对开源数据库中的数据执行对应的防篡改保护动作;
步骤S6,对于云端数据库生成的新数据,所述同步模块根据单位时间生成的新数据数量判定数据迁移周期,并以数据迁移周期将新数据迁移至所述开源数据库;
所述分库分表架构包括云端数据库中的全部库和表的分布情况,以及数据之间的关系和约束;
所述同步方法包括整体同步方法和分级同步方法;
防篡改保护动作为对开源数据库中的数据进行数字签名、哈希校验、访问控制和数据加密中的至少两种。
2.根据权利要求1所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S1中,所述数据备份模块在进行所述全量备份时还进行实时备份,所述实时备份包括:
步骤S11,利用二进制日志或事务日志捕获云端数据库的增量数据变更;
步骤S12,将捕获的增量变更数据存储到云端数据库的缓存数据库中。
3.根据权利要求1所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S2中,所述分级模拟策略包含以下步骤:
步骤S21,所述数据切分模块获取开源数据库的业务模型和数据特征,根据业务模型和数据特征识别出核心业务数据和一般业务数据,并将核心业务数据划分为一级数据,将一般业务数据划分为三级数据;
步骤S22,所述数据切分模块对所述三级数据执行数据分析策略,根据各数据修改次数和/或访问频率以从三级数据中得到若干二级数据;
步骤S23,所述数据切分模块对执行数据分析策略后的三级数据进行数据压缩。
4.根据权利要求3所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S2中,所述数据分析策略为获取各所述三级数据的修改次数和访问频率,分别统计各三级数据的修改次数和访问频率,并根据数据总量设定修改次数阈值和重复频率阈值,将修改次数小于修改次数阈值且重复频率大于重复频率阈值的单个三级数据记为二级数据。
5.根据权利要求1所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S3中,所述等级修正为所述数据切分模块获取分级后的单个数据级的数据在所述分库分表架构中的横向分布特征,并根据数据的横向分布特征与标准分布特征进行比对以获取数据重合度,若任一个数据级的数据重合度小于重合度阈值,所述数据切分模块对切分后的单个数据级执行二次切分;所述横向分布特征为单个数据级的数据在若干竖向分库分表对应的竖向层级的横向均匀度,所述二次切分为对相应的数据集重复所述步骤S2或根据分库分表架构进行分级。
6.根据权利要求1所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S4中,所述同步模块根据所述分库分表架构获取同步数据量,并将同步数据的各数据量特征与开源数据库的对应容量特征进行比对确定向开源数据库的同步方法;
若任一所述数据量特征大于等于所述容量特征对应的阈值,所述同步模块判定选取所述整体同步方法;
若各所述数据量特征均小于等于所述容量特征对应的阈值,所述同步模块判定选取所述分级同步方法;
其中,所述数据量特征包括同步数据量和一级数据的数据量占比,所述容量特征包括开源数据库的标准数据容量和预设比值,所述预设比值与数据库最大容量有关。
7.根据权利要求6所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S5中,若判定同步方法为整体同步方法,所述同步模块将所述云端数据库的数据一次性同步至开源数据库,并对同步完成的一级数据进行所述哈希校验并进行数据加密。
8.根据权利要求7所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S5中,若判定同步方法为分级同步方法,执行分级同步的步骤包括:
所述同步模块先将一级数据同步至开源数据库,对同步完成的一级数据进行所述哈希校验并加密;
所述一级数据加密完成后,同步模块将二级数据同步至开源数据库并对二级数据的访问限制进行修改以使开源数据库支持二级数据的检索操作;
完成所述修改后,所述同步模块将三级数据同步至开源数据库并解压以使开源数据库支持三级数据的访问和/或修改。
9.根据权利要求8所述的用于云端数据库迁移到开源数据库的方法,其特征在于,在所述步骤S6中,所述同步模块按预设迁移周期循环执行步骤S2至步骤S5,以对实时同步的数据执行分级策略和对应的防篡改保护动作后同步至所述开源数据库;
所述同步模块周期性根据所述开源数据库中各级数据的操作次数和操作类型对相应数据的分级或执行过的防篡改保护动作进行调整。
10.根据权利要求9所述的用于云端数据库迁移到开源数据库的方法,其特征在于,利用所述同步模块在同步过程中实时监控所述云端数据库和所述开源数据库的平均查询响应时间和平均写操作响应时间以对同步速率和所述预设迁移周期进行调整。
CN202311429110.5A 2023-10-31 2023-10-31 用于云端数据库迁移到开源数据库的方法 Active CN117149915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311429110.5A CN117149915B (zh) 2023-10-31 2023-10-31 用于云端数据库迁移到开源数据库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311429110.5A CN117149915B (zh) 2023-10-31 2023-10-31 用于云端数据库迁移到开源数据库的方法

Publications (2)

Publication Number Publication Date
CN117149915A true CN117149915A (zh) 2023-12-01
CN117149915B CN117149915B (zh) 2024-03-29

Family

ID=88903158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311429110.5A Active CN117149915B (zh) 2023-10-31 2023-10-31 用于云端数据库迁移到开源数据库的方法

Country Status (1)

Country Link
CN (1) CN117149915B (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2763055A1 (en) * 2013-02-04 2014-08-06 Sap Ag A telecommunication method and mobile telecommunication device for providing data to a mobile application
WO2015005994A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Dynamic migration script management
WO2017143957A1 (zh) * 2016-02-26 2017-08-31 华为技术有限公司 一种数据重分布的方法及装置
US20190102165A1 (en) * 2017-09-29 2019-04-04 Insignary Inc. Method and system for identifying open-source software package based on binary files
US20200042712A1 (en) * 2018-07-31 2020-02-06 Veracode, Inc. Open-source software vulnerability analysis
CN111104392A (zh) * 2019-12-12 2020-05-05 京东数字科技控股有限公司 一种数据库迁移方法、装置、电子设备及存储介质
US20200265026A1 (en) * 2019-02-15 2020-08-20 International Business Machines Corporation Migrating a multi-level secured database
CN112256676A (zh) * 2020-11-11 2021-01-22 腾讯科技(深圳)有限公司 一种数据库迁移的方法、装置、设备和介质
CN113326247A (zh) * 2021-04-28 2021-08-31 上海淇馥信息技术有限公司 云端数据的迁移方法、装置及电子设备
CN113407514A (zh) * 2021-05-21 2021-09-17 济南浪潮数据技术有限公司 一种数据库迁移的方法、装置、设备及可读介质
CN113849458A (zh) * 2021-09-18 2021-12-28 四川长虹网络科技有限责任公司 MongoDB中间件及数据存储方法和数据迁移方法
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法
WO2022120400A1 (de) * 2020-12-07 2022-06-16 Fachhochschule St. Pölten GmbH Verfahren zum migrieren einer it-anwendung
CN114860690A (zh) * 2022-05-12 2022-08-05 平安科技(深圳)有限公司 数据迁移方法、装置、设备及存储介质
CN114881802A (zh) * 2022-07-11 2022-08-09 湖南三湘银行股份有限公司 基于元数据的数据资产管理方法及系统
CN115576919A (zh) * 2022-09-22 2023-01-06 南方电网数字电网研究院有限公司 一种数据分库分表的方法
WO2023051715A1 (zh) * 2021-09-30 2023-04-06 华为技术有限公司 数据处理的方法、装置、处理器和混合内存系统
US20230113443A1 (en) * 2021-10-11 2023-04-13 Sap Se Cross-application data migration
CN116303348A (zh) * 2023-02-22 2023-06-23 中电信通技术有限公司 一种基于canal在线迁移DRDS分库分表的方法及系统

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2763055A1 (en) * 2013-02-04 2014-08-06 Sap Ag A telecommunication method and mobile telecommunication device for providing data to a mobile application
WO2015005994A1 (en) * 2013-07-09 2015-01-15 Oracle International Corporation Dynamic migration script management
WO2017143957A1 (zh) * 2016-02-26 2017-08-31 华为技术有限公司 一种数据重分布的方法及装置
US20190102165A1 (en) * 2017-09-29 2019-04-04 Insignary Inc. Method and system for identifying open-source software package based on binary files
US20200042712A1 (en) * 2018-07-31 2020-02-06 Veracode, Inc. Open-source software vulnerability analysis
US20200265026A1 (en) * 2019-02-15 2020-08-20 International Business Machines Corporation Migrating a multi-level secured database
CN111104392A (zh) * 2019-12-12 2020-05-05 京东数字科技控股有限公司 一种数据库迁移方法、装置、电子设备及存储介质
WO2022027530A1 (zh) * 2020-08-05 2022-02-10 西安电子科技大学 一种基于区块链的高性能防篡改数据库的构建方法
CN112256676A (zh) * 2020-11-11 2021-01-22 腾讯科技(深圳)有限公司 一种数据库迁移的方法、装置、设备和介质
WO2022120400A1 (de) * 2020-12-07 2022-06-16 Fachhochschule St. Pölten GmbH Verfahren zum migrieren einer it-anwendung
CN113326247A (zh) * 2021-04-28 2021-08-31 上海淇馥信息技术有限公司 云端数据的迁移方法、装置及电子设备
CN113407514A (zh) * 2021-05-21 2021-09-17 济南浪潮数据技术有限公司 一种数据库迁移的方法、装置、设备及可读介质
CN113849458A (zh) * 2021-09-18 2021-12-28 四川长虹网络科技有限责任公司 MongoDB中间件及数据存储方法和数据迁移方法
WO2023051715A1 (zh) * 2021-09-30 2023-04-06 华为技术有限公司 数据处理的方法、装置、处理器和混合内存系统
US20230113443A1 (en) * 2021-10-11 2023-04-13 Sap Se Cross-application data migration
CN114860690A (zh) * 2022-05-12 2022-08-05 平安科技(深圳)有限公司 数据迁移方法、装置、设备及存储介质
CN114881802A (zh) * 2022-07-11 2022-08-09 湖南三湘银行股份有限公司 基于元数据的数据资产管理方法及系统
CN115576919A (zh) * 2022-09-22 2023-01-06 南方电网数字电网研究院有限公司 一种数据分库分表的方法
CN116303348A (zh) * 2023-02-22 2023-06-23 中电信通技术有限公司 一种基于canal在线迁移DRDS分库分表的方法及系统

Also Published As

Publication number Publication date
CN117149915B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN110543464B (zh) 一种应用于智慧园区的大数据平台及操作方法
CN110868440B (zh) 区块链公链
CN107295002B (zh) 一种云端存储数据的方法及服务器
US10089036B2 (en) Migrating data in a distributed storage network
US20180285479A1 (en) Scalable audit analytics
US20180227118A1 (en) Managing a database management system using a blockchain database
US9081978B1 (en) Storing tokenized information in untrusted environments
CN107220559B (zh) 一种针对不可篡改文件的加密存储方法
US20210133079A1 (en) Validation of log files using blockchain system
CN109194646B (zh) 一种基于区块链的安全认证数据存取方法
US11283622B2 (en) Signature verification for a blockchain ledger
CN106302720B (zh) 一种用于区块链可生存存储系统及其方法
CN111353172B (zh) 基于区块链的Hadoop集群大数据访问方法及系统
CN104243195A (zh) 异地灾备处理方法及装置
US10102232B2 (en) Storing structured information
CN117149915B (zh) 用于云端数据库迁移到开源数据库的方法
CN116522308A (zh) 数据库账号托管方法、装置、计算机设备及存储介质
Wei et al. iBigTable: practical data integrity for bigtable in public cloud
CN113779146A (zh) 一种基于区块链的分布式电子证照可验证存储系统
CN112613049A (zh) 基于区块链的统一云存储系统及实现数据保全的方法
CN114462998A (zh) 一种日志防篡改方法、系统及存储介质
Zhang et al. An integrity verification scheme for multiple replicas in clouds
CN117194348B (zh) 一种家用文件存储系统、方法、设备及存储介质
CN116545782B (zh) 一种超融合云计算系统的数据监测方法及装置
US20220043928A1 (en) Method of constructing high-performance anti-tampering database based on blockchain

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