基于区块链网络的数据库写入方法及系统技术方案

技术编号:15258360 阅读:246 留言:0更新日期:2017-05-03 09:07
本发明专利技术提供一种基于区块链网络的数据库写入方法及系统,该方法包括:接收包括数据库操作的交易信息;根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;将所述交易信息发送至当前区块链网络中参与共识;接收返回的共识结果信息并判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。本发明专利技术通过将数据库操作以数据库事务的方式在进行共识前存入数据库,并在完成共识后根据共识结果判断对该数据库事务进行提交或回退,从而实现了在共识过程保障了数据库的读写一致。

Method and system for writing database based on block chain network

The present invention provides a method and system for writing block chain network based database, the method comprises: receiving transaction information including operation of the database; create the database operation according to the database transaction, and the transaction database stored in the local database; participate in the consensus to send information to the receiving block chain network; return the consensus result information and judge whether or not the trading information by consensus: is that the database transaction is submitted in the local database; otherwise, the fallback in the local database in the database transaction. The invention of the database operation to the database transaction method into the database in consensus, and at the completion of consensus according to judgment of the database transaction commit or rollback consensus results, so as to realize the consensus process to protect the database to read and write consistency.

【技术实现步骤摘要】

本申请涉及区块链
,具体涉及一种基于区块链网络的数据库写入方法及系统
技术介绍
对于区块链网络中通过交易进行的数据库操作,交易信息需要参与区块链网络的共识,经过各节点进行投票决定交易是否通过,该投票过程需要一定的时间,例如Ripple网络上的每笔交易提交后,需要经过3-8秒的全网投票。在共识通过之前的这段时间中,会导致读写不一致的问题。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种保障在共识过程中数据库读写一致的基于区块链网络的数据库写入方法及系统。第一方面,本专利技术提供一种基于区块链网络的数据库写入方法,该方法包括以下步骤:接收包括数据库操作的交易信息;根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;将所述交易信息发送至当前区块链网络中参与共识;接收返回的共识结果信息并判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。第二方面,本专利技术提供一种基于区块链网络的数据库写入系统,该系统包括通信单元、事务写入单元和事务处理单元。其中,通信单元配置用于接收包括数据库操作的交易信息,在所述交易信息对应的数据库事务写入本地数据库后将所述交易信息发送至当前区块链网络中参与共识,以及,接收返回的共识结果信息;事务写入单元配置用于根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;事务处理单元配置用于根据接收的共识结果信息判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。第三方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的数据库写入方法。第四方面,本专利技术还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的数据库写入方法。本专利技术诸多实施例提供的基于区块链网络的数据库写入方法及系统通过将数据库操作以数据库事务的方式在进行共识前存入数据库,并在完成共识后根据共识结果判断对该数据库事务进行提交或回退,从而实现了在共识过程保障了数据库的读写一致;本专利技术一些实施例提供的基于区块链网络的数据库写入方法及系统进一步通过在存储数据库事务之前判断数据库操作是否合法,以规避非法的数据库操作。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1为本专利技术一实施例提供的基于区块链网络的数据库写入方法的流程图。图2为图1所示方法的一种优选实施方式的流程图。图3为本专利技术一实施例提供的基于区块链网络的数据库写入系统的结构示意图。图4为图3所示系统的一种优选实施方式的流程图。图5为本专利技术一实施例提供的区块链网络的结构示意图。图6为本专利技术一实施例提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1为本专利技术一实施例提供的基于区块链网络的数据库写入方法的流程图。如图1所示,在本实施例中,本专利技术提供的一种基于区块链网络的数据库写入方法包括:S20:接收包括数据库操作的交易信息;S40:根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;S60:将所述交易信息发送至当前区块链网络中参与共识;S80:接收返回的共识结果信息并判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。具体地,在本实施例中,执行上述方法的当前节点为当前区块链网络中的一个节点,该区块链网络为瑞波(ripple)网络。在更多实施例中,还可将该区块链网络配置为其它类型的区块链网络,可实现相同的技术效果。在步骤S20中,当前节点接收当前区块链网络中其它节点发起的交易,该交易的交易信息中包括数据库操作。该数据库操作可以是新增数据、修改数据、删除数据等任意一种数据库操作,也可以是数据库操作日志等可以供当前节点从中获取新增的数据库操作的信息。在步骤S40中,根据步骤S20所获取的数据库操作创建一项新的数据库事务(DatabaseTransaction),并将该数据库事务存入本地数据库。在步骤S60中,当前节点将步骤S20接收的该交易信息发送至当前ripple网络中的各节点参与共识。各节点分别对接收的各交易信息进行投票,将通过投票的交易信息打包为共识结果信息,并将生成的共识结果信息向各节点发送。在步骤S80中,当前节点接收返回的共识结果信息,根据共识结果信息中是否包含该包括数据库操作的交易信息来判断其是否通过共识:若通过了共识,则确定可以执行该数据库操作,在本地数据库中提交步骤S40所存储的数据库事务;若未通过共识,则确定不应该执行该数据库操作,在本地数据库中回退步骤S40所存储的数据库事务。在执行上述方法的过程中,当本地节点在步骤S60中参与共识的时间段内对本地数据库进行读操作时,可以读取到步骤S40存入的数据库事务,因此保障了该时段内本地数据库的读写一致;而在获得共识结果信息之后,根据共识的结果提交或回退数据库事务,保障了完成共识之后本地数据库的读写一致。图2为图1所示方法的一种优选实施方式的流程图。如图2所示,在一优选实施例中,步骤S40之前还包括:S30:验证所述数据库操作是否合法:否,则返回所述接收包括数据库操作的交易信息。具体地,在本实施例中,当前节点在进入步骤S40创建数据库事务之前,先对数据库操作进行合法性验证,从而无需对非法数据库操作执行上述步骤S40-S80,规避了非法的数据库操作。其中,合法性验证可以包括以下至少一项:对操作权限的合法性验证、对操作本身的合法性验证、对操作所写入数据的合法性验证,以及其它类型的本领域常用的合法性验证。图3为本专利技术一实施例提供的基于区块链网络的数据库写入系统的结构示意图。图3所示的系统可对应执行图1所示的方法。如图3所示,在本实施例中,本专利技术提供的数据库写入系统10包括通信单元11、事务写入单元13和事务处理单元15。其中,通信单元11配置用于接收包括数据库操作的交易信息,在该交易信息对应的数据库事务写入本地数据库20后将该交易信息发送至当前区块链网络中参与共识,以及,接收返回的共识结果信息。事务写入单元13配置用于根据该数据库操作创建数据库事务,并将该数据库事务存入本地数据库20。事务处理单元15配置用于根据接收的共识结果信息判断该交易信息是否通过共识:是,则在本地数据库20中提交该数据库事务;否,则在本地数据库20中回退该数据库事务。图4为图3所示系统的一种优选实施方式的流程图。图4所示的系统可对应执行图2所示的方法。如图4所示,在一优选实施例中,本专利技术提供的数据库写入系统10进一步还包括验证单元12。验证单元12配置用于验证该数据库操作是否合法。事务写入单元13本文档来自技高网...
基于区块链网络的数据库写入方法及系统

【技术保护点】
一种基于区块链网络的数据库写入方法,其特征在于,所述方法包括:接收包括数据库操作的交易信息;根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;将所述交易信息发送至当前区块链网络中参与共识;接收返回的共识结果信息并判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。

【技术特征摘要】
1.一种基于区块链网络的数据库写入方法,其特征在于,所述方法包括:接收包括数据库操作的交易信息;根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库;将所述交易信息发送至当前区块链网络中参与共识;接收返回的共识结果信息并判断所述交易信息是否通过共识:是,则在所述本地数据库中提交所述数据库事务;否,则在所述本地数据库中回退所述数据库事务。2.根据权利要求1所述的数据库写入方法,其特征在于,在所述根据所述数据库操作创建数据库事务,并将所述数据库事务存入本地数据库之前还包括:验证所述数据库操作是否合法:否,则返回所述接收包括数据库操作的交易信息。3.根据权利要求1或2所述的数据库写入方法,其特征在于,所述区块链网络为瑞波(ripple)网络。4.一种基于区块链网络的数据库写入系统,其特征在于,所述系统包括:通信单元,配置用于接收包括数据库操作的交易信息,在所述交易信息对应的数据库事务写入本地数据库后将所述交易信息发送至当前区块链网络中参与共识,以及,接收返回的共识结果...

【专利技术属性】
技术研发人员:陈姝程双全卢小明
申请(专利权)人:北京众享比特科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1