基于区块链的业务处理方法及装置制造方法及图纸

技术编号:23289446 阅读:28 留言:0更新日期:2020-02-08 19:09
本发明专利技术提供一种基于区块链的业务处理方法及装置,所述方法包括:在单机模式下获取用户端发送的业务数据并生成区块时,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,其中所述单机模式表示未采用共识机制处理区块;在当前的区块链网络能够支持共识机制时,启用所述共识机制,并按照所述共识机制处理所述区块;在当前的区块链网络不能支持共识机制时,保持以单机模式处理所述区块。

Service processing method and device based on blockchain

【技术实现步骤摘要】
基于区块链的业务处理方法及装置
本专利技术涉及区块链应用领域,具体涉及一种基于区块链的业务处理方法及装置。
技术介绍
区块链是一种分布式账本技术,也可以看作是一种按时间顺序存储数据的数据结构。共识机制作为区块链的核心技术,是指通过区块链网络中特殊节点的投票,在很短时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为全网对此也能够达成共识。共识机制的目的是使所有诚实节点保存一致的区块链视图,需要同时满足两个性质:1)一致性。所有诚实节点保存的区块链的前缀部分完全相同。2)有效性。由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块中。目前,现有的基于PBFT(PracticalByzantineFalutTolerance,实用拜占庭容错算法)的区块链平台,基本上通过三个阶段提交来完成区块的生成和区块链的更新:第一阶段:利用PBFT算法,对提交给平台的交易进行共识,把达成一致共识的交易,放入有序的共识确认后交易队列;第二阶段:打块节点从共识后交易队列中,按照顺序把交易打包到区块中,然后把打好的区块广播给所有记账节点,记账节点收到该区块后,验证区块内打包的交易有效后,返回签名确认;第三阶段:打块节点收到半数以上记账节点的对该区块的签名确认后,把签名结果广播给所有记账节点,记账节点把该区块写到自己的链中。这种共识机制在保证活性和安全性的前提下提供了(n-1)/3的容错性,也就是节点数需要达到3f+1个节点才能接受f个节点出现问题。由此可见这种共识机制存在一个容错上限,当区块链网络达到容错上限则系统崩溃,无法继续处理用户的业务。对于私有链或者联盟链,为了应对这种崩溃情况,可以采取不使用共识机制,而降级为单矿机模式处理区块,这种措施只能作为一种临时的应急措施,不利于数据的安全性。
技术实现思路
因此,本专利技术要解决的技术问题在于克服现有技术中不能及时确保区块数据安全性的缺陷。有鉴于此,本专利技术提供一种基于区块链的业务处理方法,包括:在单机模式下获取用户端发送的业务数据并生成区块时,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,其中所述单机模式表示未采用共识机制处理区块;在当前的区块链网络能够支持共识机制时,启用所述共识机制,并按照所述共识机制处理所述区块;在当前的区块链网络不能支持共识机制时,保持以单机模式处理所述区块。可选地,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,包括:在单机模式下判断是否有设定数量的记账节点能够提供验证服务;当没有设定数量的记账节点能够提供验证服务时,确定当前的区块链网络不能支持共识机制。可选地,所述在单机模式下判断是否有设定数量的记账节点能够提供验证服务,包括:在单机模式下向其它各个记账节点广播所述区块;接收各个记账节点对所述区块的广播;统计接收到的广播数量是否达到所述设定数量。可选地,所述设定数量为所述区块链网络中的总结点数量的2/3。可选地,所述方法还包括:在单机模式下接收各个记账节点发送的状态信息;根据所述状态信息确定其它节点的状态。相应地,本专利技术提供一种基于区块链的业务处理装置,包括:判断模块,用于在单机模式下获取用户端发送的业务数据并生成区块时,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,其中所述单机模式表示未采用共识机制处理区块;共识启用模块,用于在当前的区块链网络能够支持共识机制时,启用所述共识机制,并按照所述共识机制处理所述区块;单机执行模块,在当前的区块链网络不能支持共识机制时,保持以单机模式处理所述区块。可选地,所述判断模块包括:数量判断模块,用于在单机模式下判断是否有设定数量的记账节点能够提供验证服务;确定模块,用于当没有设定数量的记账节点能够提供验证服务时,确定当前的区块链网络不能支持共识机制。可选地,所述数量判断模块包括:广播模块,用于在单机模式下向其它各个记账节点广播所述区块;接收模块,用于接收各个记账节点对所述区块的广播;统计模块,用于统计接收到的广播数量是否达到所述设定数量。可选地,所述设定数量为所述区块链网络中的总结点数量的2/3。可选地,所述装置还包括:状态监测模块,用于在单机模式下接收各个记账节点发送的状态信息;状态判断模块,用于根据所述状态信息确定其它节点的状态。根据本专利技术提供的业务处理方法及装置,针对处在单矿机模式下的区块链,在节点获取用户端发送的业务数据并生成区块时,首先判断当前的区块链网络是否能够支持共识机制,当判定能够支持共识机制时,立即启用共识机制来处理新的区块,使得数据安全及时得到保障;当判定不能支持共识机制时,仍采用单矿机模式处理数据,避免出现系统奔溃的情况,由此提高区块链数据的安全性和处理效率。附图说明为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例中的一种基于区块链的业务处理方法的流程图;图2是本专利技术实施例中的另一种基于区块链的业务处理方法的流程图;图3是本专利技术实施例中的基于区块链的业务处理装置的模块图。具体实施方式下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。此外,下面所描述的本专利技术不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。在本专利技术所述的区块链网络中包含多个节点,多个客户端可与该区块链进行业务交互。其中,所述的区块链网络的应用类型,可以是联盟链和/或私有链,能够向用户提供业务服务。所述的节点,包括但不限于:服务器、计算机、移动终端等具有计算处理功能的设备。所述的客户端,可包括浏览器、应用等,客户端可以运行在诸如终端、服务器、数据库中,这里不作具体限定。下面介绍一种正常采用共识机制模式处理区块的实施例:区块链网络中的主节点获取用户端发送的业务数据并生成区块。具体地,区块链网络节点中的主节点接收用户端发送的交易请求数据,并在验证所述交易请求数据对应的交易有效的情况下,主节点按预设顺序将交易打包成新区块,其中,预设顺序表示交易的先后顺序。每个区块链网络节点把客户端发来的交易请求向全网广播,主节点首先验证从区块链网络收集到需要放在新区块内的多个交易,验证通过后,将多个交易按预设顺序排序后打包成新区块。主本文档来自技高网
...

【技术保护点】
1.一种基于区块链的业务处理方法,其特征在于,包括:/n在单机模式下获取用户端发送的业务数据并生成区块时,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,其中所述单机模式表示未采用共识机制处理区块;/n在当前的区块链网络能够支持共识机制时,启用所述共识机制,并按照所述共识机制处理所述区块;/n在当前的区块链网络不能支持共识机制时,保持以单机模式处理所述区块。/n

【技术特征摘要】
1.一种基于区块链的业务处理方法,其特征在于,包括:
在单机模式下获取用户端发送的业务数据并生成区块时,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,其中所述单机模式表示未采用共识机制处理区块;
在当前的区块链网络能够支持共识机制时,启用所述共识机制,并按照所述共识机制处理所述区块;
在当前的区块链网络不能支持共识机制时,保持以单机模式处理所述区块。


2.根据权利要求1所述的方法,其特征在于,根据其它记账节点的状态判断当前的区块链网络是否能够支持共识机制,包括:
在单机模式下判断是否有设定数量的记账节点能够提供验证服务;
当没有设定数量的记账节点能够提供验证服务时,确定当前的区块链网络不能支持共识机制。


3.根据权利要求2所述的方法,其特征在于,所述在单机模式下判断是否有设定数量的记账节点能够提供验证服务,包括:
在单机模式下向其它各个记账节点广播所述区块;
接收各个记账节点对所述区块的广播;
统计接收到的广播数量是否达到所述设定数量。


4.根据权利要求2或3所述的方法,其特征在于,所述设定数量为所述区块链网络中的总结点数量的2/3。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在单机模式下接收各个记账节点发送的状态信息;
根据所述状态信息确定其它节点的状态。


6.一种基于区块链...

【专利技术属性】
技术研发人员:张诚张勇
申请(专利权)人:北京瑞卓喜投科技发展有限公司
类型:发明
国别省市:北京;11

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

1