CN117763050A - 基于区块链的数据双写系统及方法 - Google Patents
基于区块链的数据双写系统及方法 Download PDFInfo
- Publication number
- CN117763050A CN117763050A CN202311872390.7A CN202311872390A CN117763050A CN 117763050 A CN117763050 A CN 117763050A CN 202311872390 A CN202311872390 A CN 202311872390A CN 117763050 A CN117763050 A CN 117763050A
- Authority
- CN
- China
- Prior art keywords
- data
- blockchain
- database
- synchronizer
- node
- 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 13
- 238000012795 verification Methods 0.000 claims description 6
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于区块链的数据双写系统及方法,包括:数据更新接口的接收端连接网络的应用层;数据更新接口的输出端连接数据转换器的接收端;数据转换器的输出端连接区块链网络的接收端;数据同步器接收区块链网络处理的数据;数据同步器的输出端连接数据执行器;数据执行器控制数据库。本发明利用区块链技术实现了数据双写的逻辑化和分布式化,不需要额外占用物理存储空间和网络传输资源,降低了数据双写的开销和复杂度。同时实现了数据双写的共识化和不可篡改化,通过预设的共识算法保证了多个节点上的数据一致性和可靠性,通过密码学技术保证了数据双写的安全性和防篡改性。
Description
技术领域
本发明属于数据库技术领域,涉及一种基于区块链的数据双写系统及方法。
背景技术
在分布式数据库系统中,为了保证数据一致性和可靠性,通常采用数据双写(DataDouble Write)机制。数据双写是指在数据库更新操作时,将更新后的数据同时写入两个不同位置(如两个不同磁盘或两个不同节点),以防止其中一个位置出现故障时导致数据丢失。然而,传统的数据双写机制存在以下问题:数据双写会增加数据库系统的开销和复杂度,例如需要额外占用存储空间、增加网络传输量、增加事务处理时间等。数据双写不能完全保证数据一致性和可靠性,例如在网络分区或节点故障等情况下,可能导致两个位置上的数据不一致或无法访问。数据双写不能有效防止恶意篡改或伪造数据,例如在存在安全漏洞或被攻击者入侵等情况下,可能导致两个位置上的数据被篡改或伪造。因此亟需一种更高效、更可靠、更安全的数据双写机制。
发明内容
本发明的目的在于解决现有技术中数据双写会增加数据库系统的开销和复杂度、不能完全保证数据一致性和可靠性、不能有效防止恶意篡改或伪造数据的问题,提供一种基于区块链的数据双写系统及方法。
为达到上述目的,本发明采用以下技术方案予以实现:
基于区块链的数据双写系统,包括:数据库模块和区块链模块;数据库模块包括数据库、数据更新接口和数据执行器;区块链模块包括区块链网络和数据转换器;
数据更新接口的接收端连接网络的应用层;数据更新接口的输出端连接数据转换器的接收端;数据转换器的输出端连接区块链网络的接收端;区块链网络包括数据同步器;数据同步器接收区块链网络处理的数据;数据同步器的输出端连接数据执行器;数据执行器控制数据库。
本发明的进一步改进在于:
进一步的,区块链网络包括若干个节点;节点包括账本和智能合约;账本连接智能合约;账本根据智能合约定义的区块链交易的逻辑和规则,记录所有的区块链交易和区块;数据同步器设置在节点中。
进一步的,数据库用于存储业务数据,数据库为关系型数据库或非关系型数据库,也可为是单机数据库或分布式数据库。
进一步的,节点中设置有数据加密器;数据加密器对账本中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密。
进一步的,节点中设置有数据解密器;数据解密器对收到的加密后的数据进行解密,数据同步器根据解密后的数据生成相应的数据库更新指令;解密后的数据为账本中的最新区块。
基于区块链的数据双写方法,包括:数据更新接口接收来自应用层的数据更新请求,并将数据更新请求转发给数据转换器;数据转换器将接收到的数据更新请求转换为区块链交易,并将区块链交易发送给区块链网络;区块链网络对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;数据同步器根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给数据执行器;数据执行器对数据库进行更新。
进一步的,区块链网络对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;数据同步器根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器,具体为:节点根据智能合约预设的共识算法对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块,并将区块添加到自己的账本中;数据同步器根据自身的账本中的最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器。
进一步的,账本记录所有的区块链交易和区块,每个区块链交易对应一个数据更新请求,每个区块包含多个区块链交易;智能合约定义和执行区块链交易的逻辑和规则。
进一步的,节点中的数据加密器对账本中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密;节点中的数据解密器对收到的加密后的数据进行解密,数据同步器根据解密后的数据生成相应的数据库更新指令;解密后的数据为账本中的最新区块。
与现有技术相比,本发明具有以下有益效果:
本发明通过数据更新接口的接收端连接网络的应用层;数据更新接口的输出端连接数据转换器的接收端;数据转换器的输出端连接区块链网络的接收端;数据同步器接收区块链网络处理的数据;数据同步器的输出端连接数据执行器;数据执行器控制数据库。本发明利用区块链技术实现了数据双写的逻辑化和分布式化,不需要额外占用物理存储空间和网络传输资源,降低了数据双写的开销和复杂度。同时实现了数据双写的共识化和不可篡改化,通过预设的共识算法保证了多个节点上的数据一致性和可靠性,通过密码学技术保证了数据双写的安全性和防篡改性。并且实现了数据双写的可追溯化和可审计化,通过账本记录了所有的数据更新历史和状态变化,方便了对数据双写过程和结果进行追溯和审计。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的基于区块链的数据双写系统的结构示意图;
图2为节点的结构示意图。
其中,101-数据库模块;102-数据库;103-数据更新接口;104-数据执行器;105-区块链模块;106-区块链网络;107-节点;108-账本;109-智能合约;110-数据转换器;111-数据同步器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1和图2,本发明公布了一种基于区块链的数据双写系统,包括:数据库模块101和区块链模块105;数据库模块101包括数据库102、数据更新接口103和数据执行器104;区块链模块105包括区块链网络106、数据转换器110和数据同步器111;
数据更新接口103的接收端连接网络的应用层;数据更新接口103的输出端连接数据转换器110的接收端;数据转换器110的输出端连接区块链网络106的接收端;区块链网络106包括数据同步器111;数据同步器111接收区块链网络106处理的数据;数据同步器111的输出端连接数据执行器104;数据执行器104控制数据库102。
区块链网络106包括若干个节点107;节点107包括账本108和智能合约109;账本108连接智能合约109;账本108根据智能合约109定义的区块链交易的逻辑和规则,记录所有的区块链交易和区块。数据同步器111设置在节点107中。
数据库102用于存储业务数据,数据库102为关系型数据库或非关系型数据库,也可为是单机数据库或分布式数据库。
节点107中设置有数据加密器;数据加密器对账本108中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密。
节点107中设置有数据解密器;数据解密器对收到的加密后的数据进行解密,数据同步器111根据解密后的数据生成相应的数据库更新指令;解密后的数据为账本108中的最新区块。
基于区块链的数据双写方法,包括:数据更新接口103接收来自应用层的数据更新请求,并将数据更新请求转发给数据转换器110;数据转换器110将接收到的数据更新请求转换为区块链交易,并将区块链交易发送给区块链网络106;区块链网络106对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;数据同步器111根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给数据执行器104;数据执行器104对数据库102进行更新。
区块链网络106对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;数据同步器111根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器104,具体为:节点107根据智能合约109预设的共识算法对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块,并将区块添加到自己的账本108中;数据同步器111根据自身的账本108中的最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器104。
账本108记录所有的区块链交易和区块,每个区块链交易对应一个数据更新请求,每个区块包含多个区块链交易;智能合约109定义和执行区块链交易的逻辑和规则。
节点107中的数据加密器对账本108中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密;节点107中的数据解密器对收到的加密后的数据进行解密,数据同步器111根据解密后的数据生成相应的数据库更新指令;解密后的数据为账本108中的最新区块。
实施例:本发明公布了一种基于区块链的数据双写系统,包括:
(1)在数据库系统中,设置一个区块链模块105,该区块链模块105与数据库模块101相连接,用于实现基于区块链的数据双写功能。
(2)在区块链模块105中,设置一个区块链网络106,该区块链网络106由多个节点107组成,每个节点包括一个账本108和一个智能合约109。账本108根据智能合约109定义的区块链交易的逻辑和规则,记录所有的区块链交易和区块。
(3)在数据库模块101中,设置一个数据更新接口103,该数据更新接口103用于接收来自应用层的数据更新请求,并将数据更新请求转发给区块链模块105。
(4)在区块链模块105中,设置一个数据转换器110,该数据转换器110用于将接收到的数据更新请求转换为区块链交易,并将区块链交易发送给区块链网络106。
(5)在区块链网络106中,每个节点107根据预设的共识算法对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块,并将区块添加到自己的账本108中。
(6)在每个节点107中,设置一个数据同步器111,该数据同步器111用于根据自己的账本108中的最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给数据库模块101。
(7)在数据库模块101中,设置一个数据执行器104,该数据执行器104用于根据接收到的数据库更新指令,对数据库102进行相应的更新操作。
本发明提供了一种基于区块链的数据双写方法,具体步骤如下:
步骤1:在数据库模块101中,数据更新接口103接收来自应用层的数据更新请求,并将数据更新请求转发给区块链模块105。
步骤2:在区块链模块105中,数据转换器110将接收到的数据更新请求转换为区块链交易,并将区块链交易发送给区块链网络106。
步骤3:在区块链网络106中,每个节点107根据预设的共识算法对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块,并将区块添加到自己的账本108中。
步骤4:在每个节点107中,数据同步器111根据自己的账本108中的最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给数据库模块101。
步骤5:在数据库模块101中,数据执行器104根据接收到的数据库更新指令,对数据库102进行相应的更新操作。
通过上述步骤,实现了基于区块链的数据双写功能,即在每次对数据库进行更新操作时,同时将更新后的数据写入到多个节点上的账本中,从而保证了数据双写的效率、可靠性和安全性。
具体实施方式2:
与具体实施方式1相比,在具体实施方式2中,在步骤3之后增加了以下步骤:
步骤6:在每个节点107中,设置一个数据加密器,该数据加密器用于对账本108中的区块链交易进行加密处理,使得区块链交易的内容只能被授权的用户或节点访问和解密,保护了数据的隐私和安全。
步骤7:在每个节点107中,设置一个数据解密器,该数据解密器用于对收到的数据库更新指令进行解密处理,使得数据库更新指令的内容能够被正确地执行,恢复了数据的完整性和可用性。
通过上述步骤,在基于区块链的数据双写功能的基础上,增加了数据的加密和解密功能,进一步提高了数据双写的安全性和可靠性。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.基于区块链的数据双写系统,其特征在于,包括:数据库模块(101)和区块链模块(105);所述数据库模块(101)包括数据库(102)、数据更新接口(103)和数据执行器(104);所述区块链模块(105)包括区块链网络(106)和数据转换器(110);
所述数据更新接口(103)的接收端连接网络的应用层;所述数据更新接口(103)的输出端连接数据转换器(110)的接收端;所述数据转换器(110)的输出端连接区块链网络(106)的接收端;所述区块链网络(106)包括数据同步器(111);所述数据同步器(111)接收区块链网络(106)处理的数据;所述数据同步器(111)的输出端连接数据执行器(104);所述数据执行器(104)控制数据库(102)。
2.根据权利要求1所述的基于区块链的数据双写系统,其特征在于,所述区块链网络(106)包括若干个节点(107);所述节点(107)包括账本(108)和智能合约(109);所述账本(108)连接智能合约(109);所述账本(108)根据智能合约(109)定义的区块链交易的逻辑和规则,记录所有的区块链交易和区块;所述数据同步器(111)设置在节点(107)中。
3.根据权利要求2所述的基于区块链的数据双写系统,其特征在于,所述数据库(102)用于存储业务数据,所述数据库(102)为关系型数据库或非关系型数据库,也可为是单机数据库或分布式数据库。
4.根据权利要求3所述的基于区块链的数据双写系统,其特征在于,所述节点(107)中设置有数据加密器;所述数据加密器对账本(108)中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密。
5.根据权利要求4所述的基于区块链的数据双写系统,其特征在于,所述节点(107)中设置有数据解密器;所述数据解密器对收到的加密后的数据进行解密,数据同步器(111)根据解密后的数据生成相应的数据库更新指令;所述解密后的数据为账本(108)中的最新区块。
6.基于区块链的数据双写方法,其特征在于,包括:数据更新接口(103)接收来自应用层的数据更新请求,并将数据更新请求转发给数据转换器(110);所述数据转换器(110)将接收到的数据更新请求转换为区块链交易,并将区块链交易发送给区块链网络(106);所述区块链网络(106)对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;所述数据同步器(111)根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给数据执行器(104);所述数据执行器(104)对数据库(102)进行更新。
7.根据权利要求6所述的基于区块链的数据双写方法,其特征在于,所述区块链网络(106)对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块;所述数据同步器(111)根据最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器(104),具体为:所述节点(107)根据智能合约(109)预设的共识算法对收到的区块链交易进行验证,并将验证通过的区块链交易打包成区块,并将区块添加到自己的账本(108)中;所述数据同步器(111)根据自身的账本(108)中的最新区块,生成相应的数据库更新指令,并将数据库更新指令发送给和数据执行器(104)。
8.根据权利要求6所述的基于区块链的数据双写方法,其特征在于,所述账本(108)记录所有的区块链交易和区块,每个区块链交易对应一个数据更新请求,每个区块包含多个区块链交易;所述智能合约(109)定义和执行区块链交易的逻辑和规则。
9.根据权利要求8所述的基于区块链的数据双写方法,其特征在于,所述节点(107)中的数据加密器对账本(108)中的区块链交易进行加密处理,区块链交易的内容只能被授权的用户或节点访问和解密;所述节点(107)中的数据解密器对收到的加密后的数据进行解密,数据同步器(111)根据解密后的数据生成相应的数据库更新指令;所述解密后的数据为账本(108)中的最新区块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311872390.7A CN117763050A (zh) | 2023-12-29 | 2023-12-29 | 基于区块链的数据双写系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311872390.7A CN117763050A (zh) | 2023-12-29 | 2023-12-29 | 基于区块链的数据双写系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117763050A true CN117763050A (zh) | 2024-03-26 |
Family
ID=90325885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311872390.7A Pending CN117763050A (zh) | 2023-12-29 | 2023-12-29 | 基于区块链的数据双写系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117763050A (zh) |
-
2023
- 2023-12-29 CN CN202311872390.7A patent/CN117763050A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102422590B (zh) | 数据库中加密密钥的保护 | |
CN101855860B (zh) | 用于管理加密密钥的系统和方法 | |
US7810133B2 (en) | Encrypting operating system | |
AU2004323883B2 (en) | RFID transponder information security methods systems and devices | |
US7694134B2 (en) | System and method for encrypting data without regard to application | |
JP4993733B2 (ja) | 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置 | |
CN109918925A (zh) | 数据存储方法、数据节点及存储介质 | |
CN103959302A (zh) | 用于安全分布式存储的系统与方法 | |
US8990553B2 (en) | Perimeter encryption method and system | |
CN103636160A (zh) | 安全文件共享方法与系统 | |
US20110252480A1 (en) | Secure storage and retrieval of confidential information | |
CN103039057A (zh) | 对移动中数据进行保护的系统和方法 | |
CN103178965A (zh) | 使用多因素或密钥式分散对数据进行保护的系统和方法 | |
CN103229450A (zh) | 用于安全多租户数据存储的系统和方法 | |
CN104079573A (zh) | 用于安全保护云中的数据的系统和方法 | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN103336929A (zh) | 用于已加密文件访问的方法和系统 | |
CN110888630B (zh) | 一种基于区块链的分布式可编程业务研发系统 | |
CN111291399A (zh) | 数据加密方法、系统、计算机系统和计算机可读存储介质 | |
TW200823715A (en) | Content control system and method using certificate revocation lists | |
CN100596058C (zh) | 可信计算平台密钥授权数据管理系统及方法 | |
CN110914826A (zh) | 用于分布式数据映射的系统和方法 | |
CN115801446B (zh) | 基于可信硬件的加密数据库系统 | |
CN116647326A (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 |