CN107122675B - 一种基于区块链的数据库事务操作方法和系统 - Google Patents
一种基于区块链的数据库事务操作方法和系统 Download PDFInfo
- Publication number
- CN107122675B CN107122675B CN201710285286.6A CN201710285286A CN107122675B CN 107122675 B CN107122675 B CN 107122675B CN 201710285286 A CN201710285286 A CN 201710285286A CN 107122675 B CN107122675 B CN 107122675B
- Authority
- CN
- China
- Prior art keywords
- transaction
- block chain
- database
- sub
- common recognition
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出一种基于区块链的事务操作方法,包括:S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易;S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3;S3、将所述数据库事务发向网络参与共识。所述系统包括:事务接收模块,所述接收数据库事务交易;事务验证模块,所述事务验证模块在本地对所述数据库事务中的多个数据库操作依次进行验证;事务发送模块,如果事务验证模块的验证成功,则所述事务发送模块将所述数据库事务发向网络参与共识。本发明实现了数据库事务操作交易化。
Description
技术领域
本发明涉及区块链技术领域,更具体地,涉及基于区块链的数据库事务操作方法和系统。
背景技术
在区块链系统中,事务是指一组相互依赖的操作行为,如银行交易、股票交易或网上购物。
事务的成功取决于这些相互依赖的操作行为是否都能执行成功,只要有一个操作行为失败,就意味着整个事务失败。
例如,汤姆到银行办理转账事务,把100元钱转到杰克的账号上,这个事务包含以下操作行为:(1)从汤姆的账户上减去100元。(2)往杰克的账户上增加100元。显然,以上两个操作必须作为一个不可分割的工作单元。假如仅仅第一步操作执行成功,使得汤姆的账户上扣除了100元,但是第二步操作执行失败,杰克的账户上没有增加100元,那么整个事务失败。
区块链提供对交易的验证与存储,但是并没有提供对数据库事务的支持。而在用区块链对企业的信息化改造中,企业迫切需要区块链支持数据库事务。
发明内容
本发明解决的主要技术问题是如何基于区块链设计数据库事务操作,然后将数据库事务操作作为交易发到网上参与共识,并根据结果操作事务。
本发明提出一种基于区块链的数据库事务操作方法,包括:
S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易;
S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3;
S3、将所述数据库事务发向网络参与共识。
本发明提出一种基于区块链的数据库事务操作系统,包括处理器,其中所述处理器被配置为执行如下步骤:
S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易;
S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3;
S3、将所述数据库事务发向网络参与共识。
本发明的有益效果包括:
1、实现数据库事务操作交易化
数据库事务操作为交易的一种,被打包发到网络上参与共识。
2、保证数据库事务的ACID属性
数据库事务类型的交易经过本地验证通过后,保证数据库的ACID属性。
3、实现数据库事务操作的共识
数据库操作被打包为交易参与网络上的共识,各参与节点可以投票决定交易的合法性,进而决定共识的结果,避免由操作的单一节点任意改写数据库。
附图说明
图1为本发明的方法的流程图。
具体实施方式
下面参照附图描述本发明的实施方式,其中相同的部件用相同的附图标记表示。
如图1所示,本发明的方法包括:
S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易。
S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3,否则,跳转到S4。
具体而言,对数据库操作的验证主要是操作数据的状态是否与预期的一致,以确保对数据库操作的时序和有效性。
在区块链上,存在多个用户在某一个时刻都对同一张表操作的可能行。为了防止这种冲突,定义一个事务交易,包含对表的增、删、改、查等子操作。然后在表的子操作后跟随一个预期的断言子操作,断言子操作通常是预期的结果数据状态。
如此,在处理交易时先对表操作,如果这期间没有别的用户该表这个表,那么后面的断言子操作就会成功,交易被接收并转发至网络,如果这期间有别的用户对这个表操作,那么后面的断言子操作就会失败,交易不会被接收转发。
S3、将所述数据库事务发向网络参与共识。各参与节点可以投票决定交易的合法性,进而决定共识的结果,避免由操作的单一节点任意改写数据库。
合法性验证主要包括每个节点都需要在本地进行S2中的数据库操作验证。
每个验证节点都要重复S2中的验证步骤,先对表进行相应的操作,然后验证断言子操作中的数据状态,如果验证都通过,则共识通过,否则,共识不通过。
S4、在共识过程中,在本地验证所述数据库事务交易的合法性,如果成功,跳转到步骤S5,否则,跳转到S6。
S5、提交所述数据库事务。
S6、将所述数据库事务回退给发送方。
通过本发明的方法,使得对数据库的操作变成一种交易,且经过本地验证通过后,保证数据库的ACID属性。
根据本发明的另一个方面,还提出一种基于区块链的数据库事务操作系统,包括处理器,所述处理器能够执行如前所述的S1-S6的步骤。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (10)
1.一种基于区块链的数据库事务操作方法,其特征在于,包括:
S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易;
S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3;
S3、将所述数据库事务发向网络参与共识;
S4、共识过程:在本地验证所述数据库事务交易的合法性。
2.根据权利要求1所述的基于区块链的数据库事务操作方法,其特征在于,步骤S2包括:
S2-1,在所述数据库操作后跟随预期的断言子操作;
S2-2,先对数据库进行操作,如果跟随的断言子操作成功,则验证成功,如果跟随的断言子操作失败,则验证失败。
3.根据权利要求1所述的基于区块链的数据库事务操作方法,其特征在于,
在S2中,如果验证失败,将所述数据库事务回退给发送方。
4.根据权利要求2所述的基于区块链的数据库事务操作方法,其特征在于,
在S4中,如果验证成功,则提交所述数据库事务。
5.根据权利要求4所述的基于区块链的数据库事务操作方法,其特征在于,步骤S4包括:
先对数据库进行操作,然后验证所述断言子操作中的数据状态,如果验证都通过,则共识通过,否则,共识不通过。
6.一种基于区块链的数据库事务操作系统,其特征在于,包括处理器,其中所述处理器被配置为执行如下步骤:
S1、接收数据库事务交易,所述数据库事务交易指的是,将数据库操作作为区块链的一种交易;
S2、在本地对所述数据库事务中的多个数据库操作依次进行验证,如果验证成功,跳转到步骤S3;
S3、将所述数据库事务发向网络参与共识;
S4、共识过程:在本地验证所述数据库事务交易的合法性。
7.根据权利要求6所述的基于区块链的数据库事务操作系统,其特征在于,所述处理器还被配置为如下步骤:
S2-1,在所述数据库操作后跟随预期的断言子操作;
S2-2,先对数据库进行操作,如果跟随的断言子操作成功,则验证成功,如果跟随的断言子操作失败,则验证失败。
8.根据权利要求6所述的基于区块链的数据库事务操作系统,其特征在于,所述处理器还被配置为如下步骤:
在S2中,如果验证失败,则将所述数据库事务回退给发送方。
9.根据权利要求7所述的基于区块链的数据库事务操作系统,其特征在于,所述处理器还被配置为如下步骤:
在S4中,如果验证成功,则提交所述数据库事务。
10.根据权利要求9所述的基于区块链的数据库事务操作系统,其特征在于,所述处理器还被配置为如下步骤:
先对数据库进行操作,然后验证所述断言子操作中的数据状态,如果验证都通过,则共识通过,否则,共识不通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710285286.6A CN107122675B (zh) | 2017-04-27 | 2017-04-27 | 一种基于区块链的数据库事务操作方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710285286.6A CN107122675B (zh) | 2017-04-27 | 2017-04-27 | 一种基于区块链的数据库事务操作方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107122675A CN107122675A (zh) | 2017-09-01 |
CN107122675B true CN107122675B (zh) | 2019-10-15 |
Family
ID=59725884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710285286.6A Active CN107122675B (zh) | 2017-04-27 | 2017-04-27 | 一种基于区块链的数据库事务操作方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107122675B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11823178B2 (en) | 2017-11-17 | 2023-11-21 | International Business Machines Corporation | Optimization of high volume transaction performance on a blockchain |
CN110008216A (zh) * | 2019-04-02 | 2019-07-12 | 北京众享比特科技有限公司 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573828A (zh) * | 2015-12-17 | 2016-05-11 | 布比(北京)网络技术有限公司 | 一种操作处理方法及装置 |
US9390154B1 (en) * | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN106611061A (zh) * | 2016-12-29 | 2017-05-03 | 北京众享比特科技有限公司 | 基于区块链网络的数据库写入方法及系统 |
-
2017
- 2017-04-27 CN CN201710285286.6A patent/CN107122675B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9390154B1 (en) * | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
CN105573828A (zh) * | 2015-12-17 | 2016-05-11 | 布比(北京)网络技术有限公司 | 一种操作处理方法及装置 |
CN106157142A (zh) * | 2016-06-30 | 2016-11-23 | 惠众商务顾问(北京)有限公司 | 一种区块链共识及同步方法、系统和装置 |
CN106611061A (zh) * | 2016-12-29 | 2017-05-03 | 北京众享比特科技有限公司 | 基于区块链网络的数据库写入方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107122675A (zh) | 2017-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106533696B (zh) | 基于区块链的身份认证方法、认证服务器及用户终端 | |
CN111144883B (zh) | 一种区块链网络的处理性能分析方法及装置 | |
CN108694575A (zh) | 基于区块链的转账验证方法、装置及存储介质 | |
CN106097101A (zh) | 一种用区块链来实现金融交易的管理方法 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN106815722A (zh) | 基于区块链的信息处理方法和装置 | |
CN112508566A (zh) | 基于联盟链的跨链隐私交易方法及设备 | |
CN110766410B (zh) | 基于默克尔树的可信跨链事件构造与验证方法和设备 | |
CN112037058B (zh) | 数据验证方法、装置及存储介质 | |
CN107122675B (zh) | 一种基于区块链的数据库事务操作方法和系统 | |
CN108737105A (zh) | 私钥的找回方法、装置、私钥设备和介质 | |
CN110599175A (zh) | 一种区块处理方法及相关设备 | |
CN113064759A (zh) | 一种区块链数据回滚处理方法及其处理系统 | |
CN111797171A (zh) | 一种基于区块链跨链技术的数据同步系统 | |
CN112511312B (zh) | 一种可组装的共识方法及系统 | |
CN109409899B (zh) | 一种交易验证方法、装置及系统 | |
CN111177262A (zh) | 一种区块链共识方法、相关装置及系统 | |
CN116501799A (zh) | 一种多链场景下的跨链事务分组并行处理方法 | |
CN112860807B (zh) | 一种适用于无线区块链网络的容错共识方法 | |
CN111369246B (zh) | 智能合约的调用鉴权方法、装置、电子设备及存储介质 | |
CN110689435B (zh) | 基于区块链的数据处理方法及数据处理系统 | |
CN104361519B (zh) | 一种社交网络服务平台的实现方法及社交网络服务平台 | |
CN113806335A (zh) | 一种应用于区块链的数据迁移方法及装置 | |
CN114154996A (zh) | 一种跨区块链的数据流转方法及系统、存储介质、终端 | |
CN113179273A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |