CN117874143A - 一种分布式环境下云边数据库同步中间件方法 - Google Patents
一种分布式环境下云边数据库同步中间件方法 Download PDFInfo
- Publication number
- CN117874143A CN117874143A CN202410111676.1A CN202410111676A CN117874143A CN 117874143 A CN117874143 A CN 117874143A CN 202410111676 A CN202410111676 A CN 202410111676A CN 117874143 A CN117874143 A CN 117874143A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- edge
- model
- cloud
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims abstract description 11
- 238000013461 design Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000010354 integration Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 208000032370 Secondary transmission Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例中提供了一种分布式环境下云边数据库同步中间件方法,属于数据处理技术领域,具体包括:根据多个分布式的边缘服务器对应的边缘数据库与云端数据库搭建应用场景;设计数据检测模型对边缘数据库的数据进行更新;利用加密算法对数据更新内容进行加密处理;利用非关系型数据库建立各个边缘服务器的缓存模型作为加密数据的暂存;结合优先级处理算法和监控***状态确定建立数据传输请求的时间节点,并在加密数据传输时使用消息队列中间件模型对传输的消息进行异步存储,以队列形式传递相应的消息;使用解密模型对传输的加密数据进行解密处理,并将解密后的明文数据存储至云端数据库中。通过本公开的方案,提高了安全性和适应性。
Description
技术领域
本公开实施例涉及数据处理技术领域,尤其涉及一种分布式环境下云边数据库同步中间件方法。
背景技术
目前,随着企业信息化的发展,越来越多的企业开始使用数据库来存储和管理数据。传统的数据库可以协助个人与企业的信息化管理,同时提供丰富的数据库操作,但随着地理位置的不断扩展与企业规模的不断扩大。这些数据库可能位于不同的服务器上,甚至可能位于不同的地理位置,传统的单服务器数据库无法满足数据传输,多地数据实时处理,数据一致性等问题。因此,为了保证数据的一致性和完整性,需要将这些数据库进行同步。
但是,常见的数据库同步为主从数据库的同步,它是从逻辑上的主设备与从设备,从设备是主设备的完全复制,主数据库与从数据库完全一样,只是从管理的角度存在主从关系。传统的主从数据库虽然能保证数据库的一致性与同步,目前也有很多的实时同步的解决方案,大部分是利用缓存技术实时地对数据库进行读取与实时同步地更改。但是在分布式环境下数据传输、数据访问、数据安全等问题仍难以解决,而如果需要同步的多个数据库是相互包含的,不仅仅是单纯的主数据库的复制,这样会造成无法同步的问题。在实际业务中,常常需要在不同的数据库***之间进行数据交互和集成。
可见,亟需一种安全性和适应性高的分布式环境下云边数据库同步中间件方法。
发明内容
有鉴于此,本公开实施例提供一种分布式环境下云边数据库同步中间件方法,至少部分解决现有技术中存在安全性和适应性较差的问题。
本公开实施例提供了一种分布式环境下云边数据库同步中间件方法,包括:
步骤1,根据多个分布式的边缘服务器对应的边缘数据库与云端数据库搭建应用场景;
步骤2,在应用场景设计数据检测模型对边缘数据库的数据进行更新;
步骤3,利用加密算法对边缘数据库的数据更新内容进行加密处理;
步骤4,利用非关系型数据库建立各个边缘服务器的缓存模型作为加密数据的暂存;
步骤5,结合优先级处理算法和监控***状态确定建立数据传输请求的时间节点,并在加密数据传输时使用消息队列中间件模型对传输的消息进行异步存储,以队列形式传递相应的消息;
步骤6,使用解密模型对传输的加密数据进行解密处理,并将解密后的明文数据存储至云端数据库中。
根据本公开实施例的一种具体实现方式,所述步骤1具体包括:
将多个边缘服务器对应的边缘数据库与云端数据库连接,云端数据库汇总了所有边缘数据库的基本信息,监测所有边缘数据库更新数据并进行后续的处理,最后同步至云端数据库作为汇总,形成应用场景。
根据本公开实施例的一种具体实现方式,所述步骤2具体包括:
步骤2.1,将检测模型伪装成一个数据库从Slave节点,通过向主数据库发送dump协议获取更新的日志消息;
步骤2.2,通过检测模型中的数据解析器解析更新的日志消息后存储至数据存储器,并返回ACK确认,完成一次数据日志的获取与解析;
步骤2.3,将获取的数据汇总保存。
根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
步骤3.1,根据预设的算法模型,获取相应的密钥格式,并以I/O流的形式生成秘钥文件并进行存储;
步骤3.2,以CBC链式密码块的加密模式,将数据拆分为多条明文数据块并进行链式加密;
步骤3.3,拼接加密后的明文数据块得到密文数据。
根据本公开实施例的一种具体实现方式,所述步骤4具体包括:
步骤4.1,以Redis作为非关系数据库模型的基础,在不同的服务器上部署Redis服务器;
步骤4.2,将加密后的密文数据存储至本机对应的非关系数据库Redis中。
根据本公开实施例的一种具体实现方式,所述步骤5具体包括:
步骤5.1,通过优先级算法对密文数据进行判断,根据密文数据的类型对应不同的解决方案,在不同的时间创建传输请求;
步骤5.2,通过监控***状态选择***资源利用率较低的时间或***压力较小的时间进行数据的传输;
步骤5.3,通过消息队列中间件对传输请求的消息以队列的方式进行传递。
根据本公开实施例的一种具体实现方式,所述步骤6具体包括:
步骤6.1,使用解密模型得到传输的明文数据块;
步骤6.2,拼接解密后的明文数据块得到明文数据并汇总至云端数据库。
本公开实施例中的分布式环境下云边数据库同步中间件方案,包括:步骤1,根据多个分布式的边缘服务器对应的边缘数据库与云端数据库搭建应用场景;步骤2,在应用场景设计数据检测模型对边缘数据库的数据进行更新;步骤3,利用加密算法对边缘数据库的数据更新内容进行加密处理;步骤4,利用非关系型数据库建立各个边缘服务器的缓存模型作为加密数据的暂存;步骤5,结合优先级处理算法和监控***状态确定建立数据传输请求的时间节点,并在加密数据传输时使用消息队列中间件模型对传输的消息进行异步存储,以队列形式传递相应的消息;步骤6,使用解密模型对传输的加密数据进行解密处理,并将解密后的明文数据存储至云端数据库中。
本公开实施例的有益效果为:通过本公开的方案,在传统的数据同步基础上,提出了分布式环境下云边数据库的同步中间件,并使用加解密模型,分布式缓存,优先级算法以及消息队列中间件对数据进行处理,对***进行监控。使得该***模型可以应用于分布式环境下的边缘数据库与云数据库的同步,同时在保证了同步的基础上,实现了安全性,异步性,高吞吐率,能同时适用与小型数据环境与分布式大型数据环境。提出的优先级算法可以很好的配合该场景下的消息传输,同时应用了边缘计算中的负载均衡,提高了资源利用率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种分布式环境下云边数据库同步中间件方法的流程示意图;
图2为本公开实施例提供的一种分布式环境下云边数据库同步中间件方法的具体实施流程示意图;
图3为本公开实施例提供的一种Master节点与Slave节点通信流程图;
图4为本公开实施例提供的一种伪装模型架构图;
图5为本公开实施例提供的一种链式密码块加密模式流程图;
图6为本公开实施例提供的一种优先级算法流程图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
随着企业信息化的发展,越来越多的企业开始使用数据库来存储和管理数据。传统的数据库可以协助个人与企业的信息化管理,同时提供丰富的数据库操作,但随着地理位置的不断扩展与企业规模的不断扩大。这些数据库可能位于不同的服务器上,甚至可能位于不同的地理位置,传统的单服务器数据库无法满足数据传输,多地数据实时处理,数据一致性等问题。因此,为了保证数据的一致性和完整性,需要将这些数据库进行同步。
同时,随着云成为前所未有的数据供应渠道,数据准确性、一致性和隐私性的重要性与日俱增。看似轻微的数据错误或故障可能会产生重大负面影响。但是,对数据进行排序并将其与现有数据实时同步,然后定期解析数据实现实时同步,同时保持数据完整性,可能既乏味又昂贵,数据实时同步也成为最有价值的数据管理工具之一。
数据实时同步可确保准确、安全、合规的数据。确保每个数据源与其不同端点之间的一致性。当数据进入时,在投入使用之前,它会被清理、检查错误、重复和一致性。本地同步涉及彼此相邻的设备和计算机,而远程同步则通过移动网络进行。数据在整个数据记录中必须保持一致。如果以任何方式修改数据,则必须在每个***中实时更新,以避免错误,防止隐私泄露,并确保最新数据是唯一可用的信息。数据实时同步可确保所有记录始终保持一致。
中间件(Middleware)是一种位于计算机软件***中的软件层,其主要功能是连接、支持和协调分布式的、独立运作的组件和服务。中间件位于操作***之上、应用软件之下,为应用软件提供服务和支持,同时将应用软件与底层硬件、网络、数据库等进行连接,使它们能够协同工作。中间件起到了"中介"的作用,连接和协调不同的软件组件,使整个***更加灵活、可维护、可扩展。
数据库同步中间件的出现解决了数据同步难题,通过使用数据库同步中间件,企业可以更好地管理分布式数据库,并更有效地处理数据。它可以确保数据的实时同步,保证数据在不同数据库之间的一致性和完整性。这对于提高企业的信息化管理水平和数据处理能力具有重要意义。在实际应用中,数据库同步中间件可以实现多种功能,例如数据复制、数据冲突解决、数据备份和恢复等。它可以根据企业的需求和规模进行灵活配置,提供高可用性和可扩展性的解决方案。数据库同步中间件的意义在于:
1、可以在不同的***之间实现数据一致性。通过自动复制数据的更改,在数据库之间实现数据一致性。当一个数据库中的数据发生更改时,同步过程会自动将更改应用到其他相关的数据库中,确保各数据库的内容保持一致。这不仅可以防止由于数据不一致而产生的错误和冲突,而且有助于提高数据的可靠性和业务决策的准确性。
2、提升了业务的效率与灵活性。通过数据库同步,企业可以及时获取最新的数据信息,无论这些数据存储在何处。这使得企业能够快速做出决策,提高工作效率。同时,许多数据库同步工具提供了灵活的部署和配置选项,使企业能够根据自己的业务需求进行定制。
3、解决了数据库的容灾与高可靠性。实时同步为实现数据库的容灾和高可用性提供了保障。当一个数据库出现故障或不可用时,同步过程可以将流量自动切换到备用数据库,保证业务的连续性和稳定性。这为企业提供了更高的数据可靠性和业务恢复能力。
4、支持不同环境下的多数据库类型。企业通常使用不同类型的数据库,包括关系型数据库、非关系型数据库(NoSQL)等。数据库同步中间件的设计要考虑到多样化的数据库类型,提供统一的同步解决方案,降低***集成的复杂性。
5、降低***集成成本。数据库中间件可以帮助降低***集成的成本。在没有中间件的情况下,业务***可能需要花费更多的时间和资源来处理不同数据库***之间的集成和数据交互问题。
但是,常见的数据库同步为主从数据库的同步,它是从逻辑上的主设备与从设备,从设备是主设备的完全复制,主数据库与从数据库完全一样,只是从管理的角度存在主从关系。传统的主从数据库虽然能保证数据库的一致性与同步,目前也有很多的实时同步的解决方案,大部分是利用缓存技术实时地对数据库进行读取与实时同步地更改。但是在分布式环境下数据传输、数据访问、数据安全等问题仍难以解决,而如果需要同步的多个数据库是相互包含的,不仅仅是单纯的主数据库的复制,这样会造成无法同步的问题。在实际业务中,常常需要在不同的数据库***之间进行数据交互和集成。例如,将来自不同数据库的数据整合到一个统一的视图中。
本公开实施例提供一种分布式环境下云边数据库同步中间件方法,所述方法可以应用于企业或者政府的数据管理过程中。
参见图1,为本公开实施例提供的一种分布式环境下云边数据库同步中间件方法的流程示意图。如图1和图2所示,所述方法主要包括以下步骤:
步骤1,根据多个分布式的边缘服务器对应的边缘数据库与云端数据库搭建应用场景;
可选的,所述步骤1具体包括:
将多个边缘服务器对应的边缘数据库与云端数据库连接,云端数据库汇总了所有边缘数据库的基本信息,监测所有边缘数据库更新数据并进行后续的处理,最后同步至云端数据库作为汇总,形成应用场景。
具体实施时,可以搭建一个新的应用环境,在不同的服务器中有边缘数据库,其边缘端数据库为云端数据库的一个分库,在应用中大多是对边缘端数据库进行更改,并同步至云端数据库中进行汇总,达到在分布式环境下保证数据的安全性一致性的目的。
步骤2,在应用场景设计数据检测模型对边缘数据库的数据进行更新;
在上述实施例的基础上,所述步骤2具体包括:
步骤2.1,将检测模型伪装成一个数据库从Slave节点,通过向主数据库发送dump协议获取更新的日志消息;
步骤2.2,通过检测模型中的数据解析器解析更新的日志消息后存储至数据存储器,并返回ACK确认,完成一次数据日志的获取与解析;
步骤2.3,将获取的数据汇总保存。
具体实施时,建立一个伪装模型(此模型伪装成边缘数据库的一个从节点(Slave)),同时开启边缘数据库的数据库二进制日志(Binary Log)。Binary Log日志是MySQL数据库中最重要的日志***,它记录了所有的DDL语句和DML语句(除了数据查询语句),DML语句包含SELECT、UPDATE、INSERT、DELETE,是用来对数据库里的数据进行操作的语言,DDL主要包含CREATE、ALTER、DROP等,用在定义或改变表(TABLE)的结构,数据类型,表之间的连接和约束等初始化工作上。Binary Log日志以事件形式记录,是事务安全型的。
MySQL的Master节点将数据的变更写入二进制文件(Binary Log)中,记录其各种的更新信息。伪装模型模拟成MySQL的Slave节点,向Master节点发送dump协议。当Master节点收到请求后将推送它的Binary Log日志给Slave节点,slave节点拷贝Binary Log日志到自己的中继日志中(Relay Log),之后解析日志,使用所需的日志信息。总流程如图3所示。
伪装模型的总体架构包含Server服务端,Instance队列端。其中队列端是对应一个数据库的数据队列,一个server端可以监控多个数据库,可包含1-n个队列端。队列端下还有不同的子模块(Event Parser事件解析器,Event Sink连接器,Event Store事件存储器和Meta Manager消息管理器)。其中Event Parser事件解析器是在向Master节点发送dump命令之前会先从Log Position中获取上次成功获取日志时的位置(若为第一次启动该服务器,则从文件头部开始)。MySQL的Master节点接受到数据后将Binary Log日志推送给Slave节点,Slave节点接受数据后对数据进行解析并传递给相应的Event Sink连接器进行数据存储,数据存储至Event Store。当一切传输成功后由Event Store返回Ack确认,并记录新一轮的Log Position位置。其架构与流程图如图4所示。
步骤3,利用加密算法对边缘数据库的数据更新内容进行加密处理;
进一步的,所述步骤3具体包括:
步骤3.1,根据预设的算法模型,获取相应的密钥格式,并以I/O流的形式生成秘钥文件并进行存储;
步骤3.2,以CBC链式密码块的加密模式,将数据拆分为多条明文数据块并进行链式加密;
步骤3.3,拼接加密后的明文数据块得到密文数据。
具体实施时,考虑到需要保证数据的安全可靠性,如果直接进行原始数据的传输,会出现数据盗取的安全性问题,所以我们建立了加密算法模型。一个完整的加密步骤包括生成密钥文件,设置加密模式,读取密钥对数据进行加密。
可以考虑采取两种加密算法作为该模型的基础,分别是RSA加密算法与AES加密算法,可以自行选择两种算法都使用或者使用单一算法。RSA算法是非对称加密算法,它使用两个密钥(公钥和私钥),其公钥进行加密数据,私钥进行解密数据。而AES算法是对称加密算法,它使用16位的单密钥,采用分组密码的方式,将明文划分成固定长度的数据块,对每个数据块进行加密得到密文。我们根据所选择的加密算法生成对应的密钥,并以I/O流的形式生成文件并进行存储方便之后应用。
可以采取CBC链式密码块的加密模式(Cipher-block chaining)。将需要加密的数据分成固定长度的数据块,传统的ECB(Electronic Codebook)模式是对所加密的数据块进行单独加密,因此数据块加密的顺序无需要求,按照所传输的顺序进行加密再重组即可。但此方法同样明文所加密的密文是相同的,无法很好的保证数据的安全性。而CBC链式密码快的加密模式,首先生成一个16字节的初始化向量(Initialization Vector)利用iv作为第一个数据块加密的密文分组,每一个明文数据块与密文分组首先进行异或运算,然后再进行加密。加密后的密文又作为下一组明文数据块的异或对象,最终得到加密数据,并将生成的iv向量一同传递给后续模块,以便解密时使用。本公开实施例使得每次加密的结果都不同,增加了数据加密的安全性。链式密码块加密模式如图5所示。
步骤4,利用非关系型数据库建立各个边缘服务器的缓存模型作为加密数据的暂存;
在上述实施例的基础上,所述步骤4具体包括:
步骤4.1,以Redis作为非关系数据库模型的基础,在不同的服务器上部署Redis服务器;
步骤4.2,将加密后的密文数据存储至本机对应的非关系数据库Redis中。
具体实施时,在说明如何对Slave节点侦察到的数据进行加解密后,我们还需要考虑后续的多条数据存储和传输的问题。不仅要考虑数据的侦察,也要保证多服务器的侦察数据并行存储与传输。由于传统的关系型数据库以行列为格式结构化存储数据,如果我们接受了大量数据,硬盘的I/O与查询效率是十分低下的。我们设计数据库同步中间件就是为了简化存储与提高传输效率,如果仍使用关系型数据库存储需要传输的数据,会导致效率问题反而下降了。所以,本方法提出使用非关系型数据库存储加密后需要传输的数据。非关系型数据库以键值对存储,并且可以自定义结构,不再是单一的行列存储,可以减少不必要的空间,时间和开销。
可以使用Redis作为非关系数据库模型的基础,在不同的服务器上部署Redis服务器,单机的Redis可支撑每秒几万次的数据读写,我们获取侦察数据后,使用加解密算法进行加密,之后存储在本机的非关系数据库Redis中,在不同的服务器中,不同的边缘数据库配置不同的Redis非关系型数据库,众多的Redis非关系型数据库可连接为一个集群,达到分布式处理数据的效果。同时,我们配置AOF(Append Only File)持久化操作,为每一个Redis非关系型数据库设置一个独立的文件,此文件以快照的形式记录每次写命令,即每次的数据存储都会被记录其中,当某一个边缘服务器节点发生断电或者宕机等异常情况,重启后Redis非关系型数据库会以此文件中快照的内容加载所保存的数据,达到恢复数据的目的。
分布式环境下不同边缘服务器的Redis存储对应的边缘数据库的信息,也就是我们上文提到的经过加密后的边缘数据库改变的信息。存储后的信息经过之后介绍的优先级算法处理后,会以异步生产者的形式传输给消息队列中间件进行后续的消费。
步骤5,结合优先级处理算法和监控***状态确定建立数据传输请求的时间节点,并在加密数据传输时使用消息队列中间件模型对传输的消息进行异步存储,以队列形式传递相应的消息;
进一步的,所述步骤5具体包括:
步骤5.1,通过优先级算法对密文数据进行判断,根据密文数据的类型对应不同的解决方案,在不同的时间创建传输请求;
步骤5.2,通过监控***状态选择***资源利用率较低的时间或***压力较小的时间进行数据的传输;
步骤5.3,通过消息队列中间件对传输请求的消息以队列的方式进行传递。
具体实施时,在利用Redis非关系型数据库存储加密数据后,我们需要考虑在何种情况下进行数据的传输。在传统的同步模型中,大多是采取消息的定时传输,即设置一个固定的时间,在该时间点进行传输,但会有无法选取合适时间且有其他问题所影响。为了完成此目标,我们设置对应的优先级处理算法PA(Priority Algorithm)。
优先级算法汇总了当前的数据信息以及网络资源的情况,以此为依据判断何时进行传输。其算法包括三部分,第一部分是自身消息的情况,第二部分是缓存数量的情况,第三部分是网络资源的利用状况。自身消息如前文所说,我们获取的边缘数据库变动消息经过加密后存储在非关系型数据库Redis中。我们在实际应用中,除了一些基础信息的数据,还会有记录***异常状态的告警信息,此信息相比于基础信息的数据更为重要,我们称之为特殊消息,需要及时传递该消息。我们在分析获取到的数据时,记录该数据的类型,若数据类型为基础信息数据,则将该信息加密后存储至非关系型数据库Redis队列中,等待下一步的判断。若数据类型为特殊消息时,则创建一次数据传输请求,顺带将Redis队列中的基础信息数据一同加入传输队列。
缓存数量则是存储在Redis中的基础信息的数量,我们给定一个合适的阈值P,当缓存数量超过P时且在此之前一直没有优先级更高的特殊消息时,我们创建一次传输请求,将Redis缓存中的所有基础信息进行传输。
判断网络资源的利用是为了由算法PA选取一个合适的时间对第一与第二部分中创建的传输请求任务的处理。我们在实际的环境中,同一时间服务器业务层可能存在大量的资源请求,如果我们进行数据传输,会对服务器造成很大的压力,严重情况下会导致服务器宕机或崩溃。所以我们在收到前文中第一与第二部分的传输请求后会创建一个监控任务,该任务开始检测网络资源利用情况,当***的资源利用率在一个合适的范围达到负载均衡时,我们将处理传输请求并传输数据,结束后关闭监控任务。优先级算法流程如图6所示。
在使用优先级算法完成数据传输的任务后,我们需要考虑如何接收数据。传统的方法将数据通过接口直接传输到所需要的***中去,这样存在的问题在于目标***和传输***耦合,当目标***失效时会导致此数据丢失,传输***也会出现失效或异常,并且在拓展***时,需要经常对原***的代码进行改动。
我们采用消息队列中间件为解决模型,以消息队列的形式传递信息,使***解耦,传输***直接向消息队列传输消息,不需要调用目标***的接口,因此若目标接口出现问题不会对次传输有任何影响,且当***拓展时不需要改动代码,消费者可以直接从消息队列中消费消息。该模型将边缘数据库作为生产者(Producer),经过优先级算法处理后的数据作为产品,以消息队列的形式上传,边缘端传输信息后不需要接受云端传来的确认Ack,可以将资源应用与其他地方。而云端数据库作为消费者(Consumer),可以根据不同的调度策略采取优先级算法异步处理消息队列中的产品。同时,位于不同服务器上的边缘数据库可搭建消息队列集群,每台服务器配置自己的消息队列实例,多个实例之间如果有需求也可进行消息通信。
步骤6,使用解密模型对传输的加密数据进行解密处理,并将解密后的明文数据存储至云端数据库中。
在上述实施例的基础上,所述步骤6具体包括:
步骤6.1,使用解密模型得到传输的明文数据块;
步骤6.2,拼接解密后的明文数据块得到明文数据并汇总至云端数据库。
具体实施时,考虑到在之前的模块为了保证数据的安全性,对数据进行了加密处理,所以我们在最后获取数据并存储时要对数据进行解密并按数据的类型进行分类并存储,所以我们设计了解密模型并在解密后进行存储。
与加密模型类似,在解密模型当中我们也采取CBC链式密码块的解密模式(Cipher-block chaining)。将需要解密的数据分成固定长度的密文数据块,首先获取从加密模型传递来的一个16字节的初始化向量(Initialization Vector)第一个密文数据块先进行算法解密操作,然后再同初始化向量iv进行异或运算得到第一组明文数据块。之后的每组密文数据块先进行算法解密后再与前一组的密文数据块进行异或运算得到明文数据块,将生成的明文数据块进行拼接得到解密后的解密数据。完成解密操作。
对于获取到解密的明文数据后,我们需要对边缘端的数据更新进行存储,存储至云端数据库。云端数据库是一整个总数据库,其包含各个边缘数据库的所有数据信息,其汇总至云端数据库,并以表的名字进行区分,所以我们在进行数据存储至云端数据库中时,就应该按照所更新的表的基本信息与数据库表名的命名规范进行拼接更新。以基本的数据库语句为基础,通过数据库语句拼接的形式对云端数据库中表示该数据更新语句所属的边缘数据库信息表进行更新,以此达到边缘数据库的数据更新操作以特定的形式完全同步至云端数据库中,实现在分布式环境下云边数据库同步中间件的构建。
本实施例提供的分布式环境下云边数据库同步中间件方法,通过提出一种新的应用环境,在不同的服务器中有边缘数据库,其边缘端数据库为云端数据库的一个分库,在应用中大多是对边缘端数据库进行更改,并同步至云端数据库中进行汇总,达到在分布式环境下保证数据的安全性一致性的目的。在边缘端数据库建立数据检测模型,通过对数据库日志信息的变动,检测其数据的变化,获取数据变化信息。在监测数据的同时采用了加解密算法,使得传输的数据在传输前进行加密,传输后获取时进行解密,保证了数据传输的安全性。建立了非关系型数据库模型,支持横向扩展和负载均衡,处理大量数据和高并发访问。建立中间件传输模型,使用消息队列中间件的形式传输加密数据,实现了异步通信,提高了***的可靠性,吞吐率,能同时适用与小型数据环境与分布式大型数据环境。提出的优先级算法可以很好的配合该场景下的消息传输,同时应用了边缘计算中的负载均衡,提高了资源利用率。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
Claims (7)
1.一种分布式环境下云边数据库同步中间件方法,其特征在于,包括:
步骤1,根据多个分布式的边缘服务器对应的边缘数据库与云端数据库搭建应用场景;
步骤2,在应用场景设计数据检测模型对边缘数据库的数据进行更新;
步骤3,利用加密算法对边缘数据库的数据更新内容进行加密处理;
步骤4,利用非关系型数据库建立各个边缘服务器的缓存模型作为加密数据的暂存;
步骤5,结合优先级处理算法和监控***状态确定建立数据传输请求的时间节点,并在加密数据传输时使用消息队列中间件模型对传输的消息进行异步存储,以队列形式传递相应的消息;
步骤6,使用解密模型对传输的加密数据进行解密处理,并将解密后的明文数据存储至云端数据库中。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体包括:
将多个边缘服务器对应的边缘数据库与云端数据库连接,云端数据库汇总了所有边缘数据库的基本信息,监测所有边缘数据库更新数据并进行后续的处理,最后同步至云端数据库作为汇总,形成应用场景。
3.根据权利要求2所述的方法,其特征在于,所述步骤2具体包括:
步骤2.1,将检测模型伪装成一个数据库从Slave节点,通过向主数据库发送dump协议获取更新的日志消息;
步骤2.2,通过检测模型中的数据解析器解析更新的日志消息后存储至数据存储器,并返回ACK确认,完成一次数据日志的获取与解析;
步骤2.3,将获取的数据汇总保存。
4.根据权利要求3所述的方法,其特征在于,所述步骤3具体包括:
步骤3.1,根据预设的算法模型,获取相应的密钥格式,并以I/O流的形式生成秘钥文件并进行存储;
步骤3.2,以CBC链式密码块的加密模式,将数据拆分为多条明文数据块并进行链式加密;
步骤3.3,拼接加密后的明文数据块得到密文数据。
5.根据权利要求4所述的方法,其特征在于,所述步骤4具体包括:
步骤4.1,以Redis作为非关系数据库模型的基础,在不同的服务器上部署Redis服务器;
步骤4.2,将加密后的密文数据存储至本机对应的非关系数据库Redis中。
6.根据权利要求5所述的方法,其特征在于,所述步骤5具体包括:
步骤5.1,通过优先级算法对密文数据进行判断,根据密文数据的类型对应不同的解决方案,在不同的时间创建传输请求;
步骤5.2,通过监控***状态选择***资源利用率较低的时间或***压力较小的时间进行数据的传输;
步骤5.3,通过消息队列中间件对传输请求的消息以队列的方式进行传递。
7.根据权利要求6所述的方法,其特征在于,所述步骤6具体包括:
步骤6.1,使用解密模型得到传输的明文数据块;
步骤6.2,拼接解密后的明文数据块得到明文数据并汇总至云端数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111676.1A CN117874143A (zh) | 2024-01-26 | 2024-01-26 | 一种分布式环境下云边数据库同步中间件方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410111676.1A CN117874143A (zh) | 2024-01-26 | 2024-01-26 | 一种分布式环境下云边数据库同步中间件方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117874143A true CN117874143A (zh) | 2024-04-12 |
Family
ID=90594454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410111676.1A Pending CN117874143A (zh) | 2024-01-26 | 2024-01-26 | 一种分布式环境下云边数据库同步中间件方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117874143A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118152193A (zh) * | 2024-05-13 | 2024-06-07 | 江苏华存电子科技有限公司 | 一种优化数据存储装置错误分析的设备和方法 |
-
2024
- 2024-01-26 CN CN202410111676.1A patent/CN117874143A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118152193A (zh) * | 2024-05-13 | 2024-06-07 | 江苏华存电子科技有限公司 | 一种优化数据存储装置错误分析的设备和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394532B2 (en) | Systems and methods for hierarchical key management in encrypted distributed databases | |
US9256499B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
US11537725B2 (en) | Encrypted cross-zone replication for cross-zone replicated block storage devices | |
US9135454B2 (en) | Systems and methods for enabling searchable encryption | |
US11231885B2 (en) | Hierarchical authority store for cross-zone replicated block storage devices | |
US11010089B2 (en) | Approximating replication lag in cross-zone replicated block storage devices | |
CN109995522B (zh) | 一种具有密钥协商功能的安全数据镜像方法 | |
US11005663B2 (en) | Secure audit scheme in a distributed data storage system | |
CN117874143A (zh) | 一种分布式环境下云边数据库同步中间件方法 | |
WO2019240854A1 (en) | Object storage system with secure object replication | |
US11237751B2 (en) | Failover for failed secondary in cross-zone replicated block storage devices | |
US11494108B2 (en) | Cross-zone replicated block storage devices | |
US9054864B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
CN113190620B (zh) | Redis集群之间数据的同步方法、装置、设备及存储介质 | |
CN117643015A (zh) | 基于日志记录的客户端密钥修改的快照跨一系列节点管理密钥 | |
US20220413971A1 (en) | System and Method for Blockchain Based Backup and Recovery | |
CN116303789A (zh) | 多分片多副本数据库并行同步方法、装置及可读介质 | |
CN115758447A (zh) | 信息安全业务处理及集群生成方法、电子设备和存储介质 | |
US11074002B2 (en) | Object storage system with meta object replication | |
US11093465B2 (en) | Object storage system with versioned meta objects | |
US9497266B2 (en) | Disk mirroring for personal storage | |
US10908982B2 (en) | Method and system for processing data | |
Zhang et al. | Research on the Method of Massive Data Storage Management | |
CN118277483A (zh) | 数据同步方法、装置和设备 | |
JP2006202113A (ja) | 電子情報バックアップシステム |
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 |