CN110008216A - 基于区块链的数据库表操作方法、装置、设备和存储介质 - Google Patents
基于区块链的数据库表操作方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110008216A CN110008216A CN201910263238.6A CN201910263238A CN110008216A CN 110008216 A CN110008216 A CN 110008216A CN 201910263238 A CN201910263238 A CN 201910263238A CN 110008216 A CN110008216 A CN 110008216A
- Authority
- CN
- China
- Prior art keywords
- database table
- block chain
- rules
- executed
- transaction request
- 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
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/24—Querying
- G06F16/245—Query processing
-
- 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/604—Tools and structures for managing or administering access control systems
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computational Linguistics (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于区块链的数据库表操作方法、装置、设备和存储介质。该方法包括:接收建表交易请求;所述建表交易请求包括操作规则;对所述建表交易请求进行共识;当共识通过后,将所述操作规则记录在区块链上;在所述区块链上读取所述操作规则,对所述数据库表执行操作。该技术方案通过将操作规则记录在区块链上,以交易的方式驱动数据库表中数据的改变,并且由于建表交易请求中设置了操作规则,从而限制了其他用户对数据库表的操作权限,使得对数据库表的权限控制精确到了每一条记录,保证了数据库表操作的安全性,进一步很大程度上提高了实现业务逻辑的工作效率。
Description
技术领域
本发明一般涉及区块链领域,具体涉及一种基于区块链的数据库表操作方法、装置、设备和存储介质。
背景技术
近年来,区块链技术的研究和应用呈现爆发式增长态势,是继大型机、互联网等之后的一次颠覆式创新,其应用日益广泛,可以将区块链与传统业务相结合,如将区块链与数据库结合,通过交易将传统的业务数据上链,在区块链中建表,执行增删改查操作。
目前,对于中心化系统来说,可以通过各种编程语言实现业务逻辑,由于区块链的去中心化的特性,一般是用户直接与区块链节点进行交互,区块链底层只提供基础服务,无法像中心化服务器一样根据需求灵活定制操作逻辑,并且不能限制其他用户对数据库表的操作权限,导致对数据库表的操作混乱,实现业务逻辑的可行性差。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种基于区块链的数据库表操作方法、装置、设备和存储介质,能够自动限制用户对数据库表的操作权限,以交易的形式驱动数据库中的数据的改变。
第一方面,本发明提供了一种基于区块链的数据库表操作方法,该方法包括:
接收建表交易请求;所述建表交易请求包括操作规则;
对所述建表交易请求进行共识;
当共识通过后,将所述操作规则记录在区块链上;
在所述区块链上读取所述操作规则,对所述数据库表执行操作。
在其中一个实施例中,所述建表交易请求中包含权限控制字段,对所述建表交易请求进行共识,包括:
根据所述权限控制字段,判断所述操作规则是否符合预设格式;
当符合预设格式时,则确定所述操作规则为有效;
将所述操作规则为有效的建表交易确定为共识通过。
在其中一个实施例中,在所述区块链上读取所述操作规则,对所述数据库表执行操作,包括:
确定当前操作;所述当前操作包括插入操作、更新操作、删除操作及查询操作;
在所述区块链上读取所述操作规则;
判断所述当前操作是否符合所述操作规则;
若符合所述操作规则,对所述数据库表执行所述当前操作。
在其中一个实施例中,所述操作规则包括插入规则,所述插入规则包括:
相同用户的插入数据条数不超过预设阈值。
在其中一个实施例中,所述当前操作包括插入操作,对所述数据库表执行当前操作,包括:
确定当前用户插入操作的插入值;
判断所述插入值是否与所述插入规则中的指定值相同;
若相同,则判断所述当前操作的插入数据条数是否符合所述插入规则;
若符合所述插入规则,则对所述数据库表执行插入操作并更新用户的插入记录。
在其中一个实施例中,所述操作规则包括更新规则,所述更新规则包括:
对包含预设的更新字段且符合更新条件的操作可执行更新操作。
在其中一个实施例中,所述当前操作包括更新操作,对所述数据库表执行当前操作,包括:
确定所述更新操作的更新字段值;
判断所述更新字段值是否包含预设的更新字段;
若包含,则判断所述更新操作是否符合所述更新条件;
若符合所述更新条件,则对所述数据库表执行更新操作。
在其中一个实施例中,所述当前操作包括删除操作,对所述数据库表执行当前操作,包括:
判断所述删除操作是否满足删除条件;
若满足所述删除条件,则对所述数据库表执行删除操作。
在其中一个实施例中,所述当前操作包括查询操作,对所述数据库表执行当前操作,包括:
判断所述查询操作是否满足查询条件;
若满足所述查询条件,则返回查询结果。
第二方面,本发明实施例提供了一种基于区块链的数据库表操作装置,该装置包括:
接收模块,用于接收建表交易请求;所述建表交易请求包括操作规则;
共识模块,用于对所述建表交易请求进行共识;
记录模块,用于当共识通过后,将所述操作规则记录在区块链上;
操作模块,用于在所述区块链上读取所述操作规则,对所述数据库表执行操作。
第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述基于区块链的数据库表操作方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述基于区块链的数据库表操作方法。
本申请提供的基于区块链的数据库表操作方法、装置、设备及存储介质,通过接收包括操作规则的建表交易请求,并对建表交易请求进行共识,当共识通过后,将操作规则记录在区块链上,然后通过在区块链上读取操作规则,对数据库表执行操作。该技术方案通过将操作规则记录在区块链上,以交易的方式驱动数据库表中数据的改变,并且由于建表交易请求中设置了操作规则,从而限制了用户对数据库表的操作权限,保证了数据库表操作的安全性,进一步很大程度上提高了实现业务逻辑的工作效率,极大的提高了用户体验,保证了对数据库表操作的可靠性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图2为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图3为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图4为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图5为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图6为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图;
图7为本发明实施例的提供的基于区块链的数据库表操作装置的结构示意图;
图8为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术中提到的,区块链是一种结合了分布式账本、点对点传输、共识机制、加密算法等计算机技术的新型分布式系统,它由多个参与节点共同维护一套分布式账本,实现了数据信息的防篡改、可追溯等特性,创造了一套安全的分布式信任体系。其可以通过交易将传统的业务数据上链,在区块链中建表,执行增删改查操作,对于中心化系统而言,可以通过编程语言实现业务逻辑,但是对于区块链来说,如早期的比特币,仅实现了转账交易,以太坊提供了智能合约,用户可以在合约中定义存储,但无法实现与数据库的交互,并且由于区块链的去中心化的特性,一般是用户直接与区块链节点进行交互,区块链底层只提供基础服务,无法像中心化服务器一样根据需求灵活定制操作逻辑,不能限制其他用户对数据库表的操作权限,导致对数据库表的操作混乱,实现业务逻辑的可行性差。
基于上述缺陷,本发明提供了一种基于区块链的数据库表操作方法、装置、设备及存储介质,通过接收包括操作规则的建表交易请求,并对建表交易请求进行共识,当共识通过后,将操作规则记录在区块链上,然后在区块链上读取操作规则,对数据库表执行操作。该技术方案能够将操作规则记录在区块链上,以交易的方式驱动数据库表中数据的改变,并且由于建表交易请求中设置了操作规则,从而限制了其他用户对数据库表的操作权限,保证了数据库表操作的安全性。
下面将参考附图并结合实施例来详细说明本申请。
图1为本发明实施例提供的基于区块链的数据库表操作方法的流程示意图,如图1所示,该方法包括:
步骤S101、接收建表交易请求;所述建表交易请求包括操作规则。
具体的,根据区块链的去中心化特性,国内外开发了很多基于区块链的数据库应用平台,如ChainSQL、TrustSQL、BigchainDB等,可以先架构区块链网络系统,其中,网络节点不能少于4,验证节点不能小于4,且各个节点分布在不同的IP主机上,然后启动初始节点和其他节点,并配置本地数据库和本地需要同步的表信息,启动本地普通节点,并通过API接口连接本地普通节点实现数据库操作的写入。
其中,区块链中支持建立数据库表交易,可在上述建表交易中定义表结构,例如,可以通过使用API接口建立一张名为hello的表,表结构中包含了id和name两个字段,可以通过如下字段定义:
建表交易中可以包含权限控制字段的操作规则,使用最广泛的是json数据格式,其中,在权限控制字段中定义有插入、更新、删除和查询规则;还可以通过在智能合约中编写逻辑来进行操作规则的判断。
需要说明的是,任何一个持有有效私钥的用户都可以发送交易至区块链节点。用户可以根据表中字段进行自由组合,根据业务需求,制定出符合当前业务需求的操作规则。
步骤S102、对所述建表交易请求进行共识。
具体的,区块链节点在接收到建表交易请求后,可以对建表交易请求进行共识,其中,不同的区块链有不同的共识机制,例如比特币和以太坊采用POW(Proof of Work,工作量证明)算法,HyperLedger0.6版本采用的PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)。
可选的,作为步骤S102的一种可实现方式,该方法包括:
步骤S201、根据所述权限控制字段,判断所述操作规则是否符合预设格式。
步骤S202、当符合预设格式时,则确定所述操作规则为有效。
步骤S203、将所述操作规则为有效的建表交易确定为共识通过。
具体的,在对建表交易请求进行共识的过程中,可以先根据权限控制字段,判断操作规则是否符合预设格式,该预设格式为事先定义好的格式,然后对操作规则的细节部分进行核查,当符合预设格式且细节核查无误时,可以确定该操作规则为有效。
当在共识过程中,确定出该操作规则为有效时,则将该操作规则为有效的建表交易确定为共识通过。
本实施例通过根据权限控制字段,判断操作规则是否有效,保证了记录在区块链上的控制规则均为共识通过后可执行的规则,以便于根据操作规则,对数据库表执行操作。
步骤S103、当共识通过后,将所述操作规则记录在区块链上。
步骤S104、在所述区块链上读取所述操作规则,对所述数据库表执行操作。
需要说明的是,当对建表交易共识通过后,可以将操作规则和表的其他信息记录在区块链上,在接收到对数据库表的操作请求时,即需对数据库表进行插入、更新、删除和查询操作时,可以先确定当前操作,然后在区块链上读取操作规则,并判断当前操作是否满足定义的操作规则要求,当满足定义的操作规则时,对数据库表执行对应操作。
本申请提供的基于区块链的数据库表操作方法,通过接收包括操作规则的建表交易请求,并对建表交易请求进行共识,当共识通过后,将操作规则记录在区块链上,然后通过在区块链上读取操作规则,对数据库表执行操作。该技术方案通过将操作规则记录在区块链上,以交易的方式驱动数据库表中数据的改变,不需要用户在操作时进行逻辑判断,节省了计算资源,并且由于建表交易请求中设置了操作规则,从而限制了用户对数据库表的操作权限,保证了数据库表操作的安全性,进一步很大程度上提高了实现业务逻辑的工作效率。
图3为本申请实施例提供的对数据库表执行插入操作方法的流程示意图,在上述实施例的基础上,如图3所示,该方法包括:
步骤S301、确定当前用户插入操作的插入值;
步骤S302、判断所述插入值是否与所述插入规则中的指定值相同;
步骤S303、若相同,则判断所述当前操作的插入数据条数是否符合所述插入规则;
步骤S304、若符合所述插入规则,则对所述数据库表执行插入操作并更新用户的插入记录。
具体的,上述插入数据条数指的是某一账户地址记录的条数,可以参见如下数据库表所示:
其中,账户zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh的插入数据条数为2,账户zfSjeJ94TVf91EAEDBisjRDExyszzNFZcz的插入数据条数为1。
需要说明的是,如果当前操作为插入操作时,则先确定当前用户的插入操作的插入值,然后判断插入值是否与插入规则中的指定值相同,当插入值与插入规则中的指定值相同时,则继续判断当前插入操作的插入数据条数是否符合插入规则,其中,该插入规则包括相同用户的插入数据条数不超过预设阈值,另外,插入规则中可指定数据库表中某字段的值为当前操作的账户地址,且当前操作账户地址代表了当前用户。
进一步的,如果当前操作的插入数据条数符合插入规则,则在数据库表中执行对应的插入操作且更新用户的插入记录,如果不符合插入规则,则表示插入错误,返回错误指示。
示例性的,插入规则可以通过如下json格式表示:
其中,account字段的值表示当前操作的账户地址,$account表示当前操作执行插入操作的账户地址,且每个账户最多插入5条记录。
本实施例中提供的对数据库表执行插入操作的方法,通过确定当前用户插入操作的插入值,并判断插入值是否与插入规则的指定值相同,进一步判断当前操作的插入数据条数是否符合插入规则,当符合插入规则后,对数据库表执行插入操作。该技术方案中能够通过设置插入规则,使得有效控制用户对记录的操作权限,且对数据库表的权限控制精确到了记录级,相比于传统的针对整张表授权的操作,能够精确控制数据库中某一条记录的操作权限。
图4为本申请实施例提供的对数据库表执行更新操作方法的流程示意图,在上述实施例的基础上,如图4所示,该方法包括:
步骤S401、确定所述更新操作的更新字段值。
具体的,上述更新字段值可以是任意可以更新字段值,如:age字段。
步骤S402、判断所述更新字段值是否包含预设的更新字段;
步骤S403、若包含,则判断所述更新操作是否符合所述更新条件;
步骤S404、若符合所述更新条件,则对所述数据库表执行更新操作。
具体的,如果当前操作为更新操作时,可以判断当前操作是否符合更新规则,其中,更新规则为对包含预设的更新字段且符合更新条件的操作可执行更新操作,即可以先确定更新操作的更新字段值,判断其是否包含预设的更新字段,当包含预设的更新字段后,并判断更新字段值是否包含更新条件,如果符合更新条件,则对数据库表执行更新操作,如果不符合更新条件,则表示更新错误,返回错误指示;其中,上述更新条件可以是用户根据实际需求自定义的预设条件。
示例性的,更新规则可以通过如下json格式表示:
{
"Condition":{"$or":[{"age":{"$le":28}},{"id":2},{account:
"$account"}]},
"Fields":["age"]
}
其中,上述定义表示用户只能更新age字段的值,且更新时需同时满足以下sql语句:
where age<=28 or id=2 or account=当前操作账户的地址;
上述sql语句为更新条件,当符合更新条件时,可以对数据库表执行更新操作。
本实施例中通过确定更新操作的更新字段值,并判断更新字段值是否包含预设的更新字段,如果包含预设的更新字段,则进一步判断更新操作是否符合更新条件,并在符合更新条件后,对数据库表执行更新操作,该技术方案由于确定了更新字段值和更新条件,使得能够限制账户对数据库表的操作权限。
图5为本申请实施例提供的对数据库表执行删除操作方法的流程示意图,在上述实施例的基础上,如图5所示,该方法包括:
步骤S501、判断所述删除操作是否满足删除条件。
步骤S502、若满足所述删除条件,则对所述数据库表执行删除操作。
具体的,如果当前操作为删除操作时,可以判断当前删除操作是否符合删除规则,即判断当前删除操作是否满足删除条件,如果满足删除条件时,则对数据库表执行删除操作。
示例性的,该删除规则可以通过如下json格式表示:
{
"Condition":{"$or":[{"age":{"$le":28}},{account:"$account"}]}
}
其中,“account”表示要删除的数据库中的记录的account字段值,如zHb9CJAWyB4zj91VRWn96DkukG4bwdtyTh,“$account”表示交易中当前的账户地址,上述删除条件可以表示为如下sql语句:where age<=28oraccount=当前操作账户的地址;
例如,在建表的过程中,假设表结构为如下所示:
id | name | age | account |
int | char(100) | int | char(64) |
其中,account字段用来记录插入这条记录的账户地址,假设当前表结构中内容为如下所示:
需要说明的是,删除一条数据后,表结构中的插入数据条数会减一。
图6为为本申请实施例提供的对数据库表执行查询操作方法的流程示意图,在上述实施例的基础上,如图6所示,该方法包括:
步骤S601、判断所述查询操作是否满足查询条件;
步骤S602、若符合所述查询条件,则返回查询结果。
具体的,如果当前操作为查询操作,在执行该查询操作时,可以判断该查询操作是否满足查询条件,如果该查询操作满足查询条件,则根据该查询条件,在对应的表结构中查找相关的记录,并返回查询结果,如果该查询操作不满足查询条件,则返回错误指示。
本实施例提供的对数据库表执行删除操作的方法,通过判断当前删除操作是否满足删除条件,当满足删除条件时,对数据库表执行删除操作,使得用户可以删除自己插入的记录数据,进一步保证了对数据库表的安全性。
图7为本发明实施例提供的基于区块链的数据库表操作装置的结构示意图。如图7所示,该装置可以实现如图1~图6所示的方法,该装置可以包括:
接收模块10,用于接收建表交易请求;所述建表交易请求包括操作规则;
共识模块20,用于对所述建表交易请求进行共识;
记录模块30,用于当共识通过后,将所述操作规则记录在区块链上;
操作模块40,用于在所述区块链上读取所述操作规则,对所述数据库表执行操作。
优选的,所述共识模块20,包括:
第一判断单元201,用于根据所述权限控制字段,判断所述操作规则是否符合预设格式;
第一确定单元202,用于当符合预设格式时,则确定所述操作规则为有效;
第二确定单元203,用于将所述操作规则为有效的建表交易确定为共识通过。
优选的,所述操作模块40,包括:
第三确定单元401,用于确定当前操作;所述当前操作包括插入操作、更新操作、删除操作及查询操作;
读取单元402,用于在所述区块链上读取所述操作规则;
第二判断单元403,用于判断所述当前操作是否符合所述操作规则;
操作单元404,用于若符合所述操作规则,对所述数据库表执行所述当前操作。
优选的,所述操作规则包括插入规则,所述插入规则包括:
相同用户的插入数据条数不超过预设阈值。
优选的,所述操作模块40,具体用于:
确定当前用户插入操作的插入值;
判断所述插入值是否与所述插入规则中的指定值相同;
若相同,则判断所述当前操作的插入数据条数是否符合所述插入规则;
若符合所述插入规则,则对所述数据库表执行插入操作并更新用户的插入记录。
优选的,所述操作规则包括更新规则,所述更新规则包括:
对包含预设的更新字段且符合更新条件的操作可执行更新操作。
优选的,所述操作模块40,具体用于:
确定所述更新操作的更新字段值;
判断所述更新字段值是否包含预设的更新字段;
若包含,则判断所述更新操作是否符合所述更新条件;
若符合所述更新条件,则对所述数据库表执行更新操作。
优选的,所述操作模块40,具体用于:
判断所述删除操作是否满足删除条件;
若满足所述删除条件,则对所述数据库表执行删除操作。
优选的,所述操作模块40,具体用于:
判断所述查询操作是否满足查询条件;
若满足所述查询条件,则返回查询结果。
本实施例提供的基于区块链的数据库表操作装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
图8为本发明实施例提供的一种计算机设备的结构示意图。如图8所示,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM802以及RAM803通过总线804彼此相连。输入/输出(I/O)接口806也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口806。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考图1-6描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1-6的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、共识模块、记录模块及操作模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,接收模块还可以被描述为“用于接收建表交易请求;所述建表交易请求包括操作规则”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的基于区块链的数据库表操作方法。
例如,所述电子设备可以实现如图1中所示的:步骤S101,接收建表交易请求;所述建表交易请求包括操作规则;步骤S102,对所述建表交易请求进行共识;步骤S103,当共识通过后,将所述操作规则记录在区块链上;步骤S104,在所述区块链上读取所述操作规则,对所述数据库表执行操作。又如,所述电子设备可以实现如图2—图5中所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (12)
1.一种基于区块链的数据库表操作方法,其特征在于,包括:
接收建表交易请求;所述建表交易请求包括操作规则;
对所述建表交易请求进行共识;
当共识通过后,将所述操作规则记录在区块链上;
在所述区块链上读取所述操作规则,对所述数据库表执行操作。
2.根据权利要求1所述的基于区块链的数据库表操作方法,其特征在于,所述建表交易请求中包含权限控制字段,对所述建表交易请求进行共识,包括:
根据所述权限控制字段,判断所述操作规则是否符合预设格式;
当符合预设格式时,则确定所述操作规则为有效;
将所述操作规则为有效的建表交易确定为共识通过。
3.根据权利要求1所述的基于区块链的数据库表操作方法,其特征在于,在所述区块链上读取所述操作规则,对所述数据库表执行操作,包括:
确定当前操作;所述当前操作包括插入操作、更新操作、删除操作及查询操作;
在所述区块链上读取所述操作规则;
判断所述当前操作是否符合所述操作规则;
若符合所述操作规则,对所述数据库表执行所述当前操作。
4.根据权利要求1所述的基于区块链的数据库表操作方法,其特征在于,所述操作规则包括插入规则,所述插入规则包括:
相同用户的插入数据条数不超过预设阈值。
5.根据权利要求3所述的基于区块链的数据库表操作方法,其特征在于,所述当前操作包括插入操作,对所述数据库表执行当前操作,包括:
确定当前用户插入操作的插入值;
判断所述插入值是否与所述插入规则中的指定值相同;
若相同,则判断所述当前操作的插入数据条数是否符合所述插入规则;
若符合所述插入规则,则对所述数据库表执行插入操作并更新用户的插入记录。
6.根据权利要求1所述的基于区块链的数据库表操作方法,其特征在于,所述操作规则包括更新规则,所述更新规则包括:
对包含预设的更新字段且符合更新条件的操作可执行更新操作。
7.根据权利要求3所述的基于区块链的数据库表操作方法,其特征在于,所述当前操作包括更新操作,对所述数据库表执行当前操作,包括:
确定所述更新操作的更新字段值;
判断所述更新字段值是否包含预设的更新字段;
若包含,则判断所述更新操作是否符合所述更新条件;
若符合所述更新条件,则对所述数据库表执行更新操作。
8.根据权利要求3所述的基于区块链的数据库表操作方法,其特征在于,所述当前操作包括删除操作,对所述数据库表执行当前操作,包括:
判断所述删除操作是否满足删除条件;
若满足所述删除条件,则对所述数据库表执行删除操作。
9.根据权利要求3所述的基于区块链的数据库表操作方法,其特征在于,所述当前操作包括查询操作,对所述数据库表执行当前操作,包括:
判断所述查询操作是否满足查询条件;
若满足所述查询条件,则返回查询结果。
10.一种基于区块链的数据库表操作装置,其特征在于,包括:
接收模块,用于接收建表交易请求;所述建表交易请求包括操作规则;
共识模块,用于对所述建表交易请求进行共识;
记录模块,用于当共识通过后,将所述操作规则记录在区块链上;
操作模块,用于在所述区块链上读取所述操作规则,对所述数据库表执行操作。
11.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:
所述计算机程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910263238.6A CN110008216A (zh) | 2019-04-02 | 2019-04-02 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910263238.6A CN110008216A (zh) | 2019-04-02 | 2019-04-02 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110008216A true CN110008216A (zh) | 2019-07-12 |
Family
ID=67169787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910263238.6A Pending CN110008216A (zh) | 2019-04-02 | 2019-04-02 | 基于区块链的数据库表操作方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008216A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737256A (zh) * | 2020-06-12 | 2020-10-02 | 北京众享比特科技有限公司 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
CN112000671A (zh) * | 2020-08-24 | 2020-11-27 | 中国银行股份有限公司 | 基于区块链的数据库表处理方法、装置及系统 |
CN112667641A (zh) * | 2021-01-05 | 2021-04-16 | 中钞信用卡产业发展有限公司 | 一种可记录增删改操作的数据库系统及实现方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106611061A (zh) * | 2016-12-29 | 2017-05-03 | 北京众享比特科技有限公司 | 基于区块链网络的数据库写入方法及系统 |
CN107122675A (zh) * | 2017-04-27 | 2017-09-01 | 北京众享比特科技有限公司 | 一种基于区块链的数据库事务操作方法和系统 |
CN107169371A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种基于区块链的数据库操作方法和系统 |
CN107169055A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种数据库表的操作方法和操作系统 |
CN107332847A (zh) * | 2017-07-05 | 2017-11-07 | 武汉凤链科技有限公司 | 一种基于区块链的访问控制方法和系统 |
CN108694189A (zh) * | 2017-04-07 | 2018-10-23 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
-
2019
- 2019-04-02 CN CN201910263238.6A patent/CN110008216A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106611061A (zh) * | 2016-12-29 | 2017-05-03 | 北京众享比特科技有限公司 | 基于区块链网络的数据库写入方法及系统 |
CN108694189A (zh) * | 2017-04-07 | 2018-10-23 | 微软技术许可有限责任公司 | 共同所有权的数据库系统的管理 |
CN107122675A (zh) * | 2017-04-27 | 2017-09-01 | 北京众享比特科技有限公司 | 一种基于区块链的数据库事务操作方法和系统 |
CN107169371A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种基于区块链的数据库操作方法和系统 |
CN107169055A (zh) * | 2017-04-27 | 2017-09-15 | 北京众享比特科技有限公司 | 一种数据库表的操作方法和操作系统 |
CN107332847A (zh) * | 2017-07-05 | 2017-11-07 | 武汉凤链科技有限公司 | 一种基于区块链的访问控制方法和系统 |
Non-Patent Citations (1)
Title |
---|
何宗耀: "《新型智慧城市建设现状技术与研究》", 31 August 2018 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737256A (zh) * | 2020-06-12 | 2020-10-02 | 北京众享比特科技有限公司 | 一种基于可信执行环境和区块链的数据库表操作方法和系统 |
CN112000671A (zh) * | 2020-08-24 | 2020-11-27 | 中国银行股份有限公司 | 基于区块链的数据库表处理方法、装置及系统 |
CN112000671B (zh) * | 2020-08-24 | 2023-09-19 | 中国银行股份有限公司 | 基于区块链的数据库表处理方法、装置及系统 |
CN112667641A (zh) * | 2021-01-05 | 2021-04-16 | 中钞信用卡产业发展有限公司 | 一种可记录增删改操作的数据库系统及实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868710B2 (en) | Managing forwarding of logical network traffic between physical domains | |
US20210083856A1 (en) | Improved hardware security module management | |
CN102804132B (zh) | 基于目录的软件组件管理 | |
CN110008216A (zh) | 基于区块链的数据库表操作方法、装置、设备和存储介质 | |
CN106487869A (zh) | 用于对标签化数据进行控制和标准化的多云网络代理 | |
KR20090099549A (ko) | 충돌 지식의 전파 | |
CN111797173B (zh) | 联盟链共享系统、方法、装置、电子设备及存储介质 | |
CN103051464A (zh) | 维护通讯录的方法及群组通讯录管理平台 | |
CN108512684A (zh) | 固件升级方法和系统以及固件升级管理装置 | |
CN109800234A (zh) | 业务平台数据库系统、升级方法、设备及存储介质 | |
WO2021164194A1 (zh) | 一种基于区块链的积分管理方法及相关装置 | |
CN114780519A (zh) | 基于can通讯的dbc文件生成方法、装置、设备及介质 | |
JP3756349B2 (ja) | データベース管理装置、および、そのプログラムが記録された記録媒体 | |
CN109344653A (zh) | 一种连接数据库的方法、装置、系统、设备和存储介质 | |
WO2023207529A1 (zh) | 数据处理方法、装置及设备、介质、产品 | |
KR102111544B1 (ko) | 확장성을 갖춘 dag 기반 블록체인 | |
CN109213565A (zh) | 异构虚拟计算资源的管理方法、相关设备及存储介质 | |
CN115485674A (zh) | 管理装置、管理方法以及管理程序 | |
CN112380411B (zh) | 敏感词处理方法、装置、电子设备、系统及存储介质 | |
CN109710629A (zh) | 数据访问方法、装置、服务器和存储介质 | |
CN111275543B (zh) | 一种信息处理方法、装置、服务器及存储介质 | |
CN102314505B (zh) | 基于偏序关系的缓冲区版本产生方法 | |
CN108733805A (zh) | 文件交互方法、系统、计算机设备和存储介质 | |
KR100379457B1 (ko) | 개인 정보 관리 방법 | |
JP6798737B1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190712 |