区块链数据处理方法、系统及设备和序列号生成方法技术方案

技术编号:20726747 阅读:29 留言:0更新日期:2019-03-30 18:05
本申请公开了一种区块链数据处理方法、系统、设备及一种序列号生成方法、系统,区块链数据处理方法包括:当获取到发送节点的数据发送请求时,确定数据发送请求中待接收数据对应的序列号;其中,序列号为表征数据接收顺序的序号;判断当前序列号之前的待接收序列号对应的数据是否已接收;如果是,则响应数据发送请求,以接收待接收数据;如果否,则获取待接收序列号对应的数据,并返回判断当前序列号之前的待接收序列号对应的数据是否已接收的步骤。也即,本申请在接收到数据发送请求时先判断当前序列之前的序列号对应的数据是否已接收,如果否,则先获取之前序列号的数据,实现数据的有序接收,避免区块链出现分叉,进一步提高了区块链的可靠性。

【技术实现步骤摘要】
区块链数据处理方法、系统及设备和序列号生成方法
本申请涉及区块链
,更具体地说,涉及一种区块链数据处理方法、系统及一种电子设备和一种序列号生成方法、系统。
技术介绍
在区块链中,通过共识机制出块,而共识机制基本上设计为去中心的,没有中心的共识机制往往会导致区块链出现分叉。如果区块链是可分叉的,从理论上将任何一笔交易都存在被取消的可能,也即没有一笔交易是100%得到确认的,这在实际商业化环境中不友好且不符合大多数业务需求。而分叉也往往是作恶的先决条件,区块链分叉能让部分作恶者通过控制算力、资源等作恶,比如把对自己不利的交易分叉掉。鉴于此,如何提高区块链在实际业务场景中的可靠性是本领域技术人员需要解决的问题。
技术实现思路
本申请的目的在于提供一种区块链数据处理方法、系统及一种电子设备和一种序列号生成方法、系统,能够防止区块链出现分叉,进而提高区块链的可靠性。为实现上述目的,本申请提供了一种区块链数据处理方法,包括:当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表征数据接收顺序的序号;根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收;如果是,则响应所述数据发送请求,以接收所述待接收数据;如果否,则获取所述待接收序列号对应的数据,并返回根据数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的步骤。可选的,所述根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收之前,还包括:验证所述待接收数据是否合法;如果是,则启动根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的进程;如果否,则结束当前接收进程。可选的,所述验证所述待接收数据是否合法,包括:利用所述序列号生成器中心发布的公钥验证签名,以判断所述待接收数据是否合法;其中,所述签名为利用所述待接收数据和所述序列号生成的签名。可选的,当所述待接收数据对应的序列号为所述数据接收顺序的第一个时,直接接收所述待接收数据。可选的,所述获取所述待接收序列号对应的数据,包括:根据所述待接收序列号,获取序列号生成器中心保存的与所述待接收序列号对应的数据。为实现上述目的,本申请提供了一种序列号生成方法,包括:接收发送节点的序列号生成请求;对所述序列号生成请求进行响应,以生成按照数据接收顺序排列的序列号;将所述序列号发送至所述发送节点。可选的,所述序列号生成请求中包括所述发送节点的待发送数据;相应的,所述接收发送节点的序列号生成请求之后,还包括:将所述待发送数据保存,以便根据所述待发送数据的序列号获取所述待发送数据。可选的,所述将所述待发送数据保存之后,还包括:利用所述待发送数据的哈希值和所述序列号生成签名;相应的,所述将所述序列号发送至所述发送节点,包括:将所述序列号、所述哈希值和所述签名发送至所述发送节点,以使所述发送节点利用所述签名和所述哈希值验证所述待发送数据是否被篡改。为实现上述目的,本申请提供了一种区块链数据处理系统,包括:序列号确定模块,用于当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表征数据接收顺序的序号;判断模块,用于根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收;数据接收模块,用于如果所述待接收序列号对应的数据已接收,则响应所述数据发送请求,以接收所述待接收数据;数据获取模块,用于如果所述待接收序列号对应的数据未接收,则获取所述待接收序列号对应的数据,并返回根据数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的步骤。为实现上述目的,本申请提供了一种序列号生成系统,包括:请求接收模块,用于接收发送节点的序列号生成请求;序列号生成模块,用于对所述序列号生成请求进行响应,以生成按照数据接收顺序排列的序列号;序列号发送模块,用于将所述序列号发送至所述发送节点。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现前述公开的区块链数据处理方法。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的区块链数据处理方法。通过以上方案可知,本申请提供的一种区块链数据处理方法,包括:当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表征数据接收顺序的序号;根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收;如果是,则响应所述数据发送请求,以接收所述待接收数据;如果否,则获取所述待接收序列号对应的数据,并返回根据数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的步骤。本申请提供的区块链数据处理方法在接收到数据发送请求时并不直接接收数据,而是先判断当前序列号在数据接收顺序中之前的序列号对应的数据是否已接收,如果否,则先获取之前序列号的数据之后再接收当前数据,实现数据的有序接收,避免了区块链出现分叉的问题,进一步提高了区块链在实际业务场景中的可靠性。本申请还公开了一种区块链数据处理系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例公开的一种区块链数据处理方法的流程图;图2为本申请实施例公开的另一种区块链数据处理方法的流程图;图3为本申请实施例公开的一种序列号生成方法的流程图;图4为本申请实施例公开的另一种序列号生成方法的流程图;图5为本申请实施例公开的一种区块链数据处理方法的流程图;图6为本申请实施例公开的一种区块链数据处理系统的结构图;图7为本申请实施例公开的一种序列号生成系统的结构图;图8为本申请实施例公开的一种电子设备的结构图;图9为本申请实施例公开的另一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在现有技术中,区块链通过共识机制出块,而没有中心的共识机制往往会导致区块链出现分叉。区块链分叉导致区块链上的交易得不到100%的确认,也容易被控制大规模算力的节点作恶导致区块链用户利益受损。本申请实施例公开了一种区块链数据处理方法,提高了区块链在业务场景中的可靠性。参见图1,本申请实施例公开的一种区块链数据处理方法的流程图,如图1所示,包括:S101:当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表本文档来自技高网...

【技术保护点】
1.一种区块链数据处理方法,其特征在于,包括:当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表征数据接收顺序的序号;根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收;如果是,则响应所述数据发送请求,以接收所述待接收数据;如果否,则获取所述待接收序列号对应的数据,并返回根据数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的步骤。

【技术特征摘要】
1.一种区块链数据处理方法,其特征在于,包括:当获取到发送节点的数据发送请求时,确定所述数据发送请求中待接收数据对应的序列号;其中,所述序列号为利用序列号生成器中心生成的表征数据接收顺序的序号;根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收;如果是,则响应所述数据发送请求,以接收所述待接收数据;如果否,则获取所述待接收序列号对应的数据,并返回根据数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的步骤。2.根据权利要求1所述的区块链数据处理方法,其特征在于,所述根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收之前,还包括:验证所述待接收数据是否合法;如果是,则启动根据所述数据接收顺序判断当前所述序列号之前的待接收序列号对应的数据是否已接收的进程;如果否,则结束当前接收进程。3.根据权利要求2所述的区块链数据处理方法,其特征在于,所述验证所述待接收数据是否合法,包括:利用所述序列号生成器中心发布的公钥验证签名,以判断所述待接收数据是否合法;其中,所述签名为利用所述待接收数据和所述序列号生成的签名。4.根据权利要求1所述的区块链数据处理方法,其特征在于,当所述待接收数据对应的序列号为所述数据接收顺序的第一个时,直接接收所述待接收数据。5.根据权利要求1至4任一项所述的区块链数据处理方法,其特征在于,所述获取所述待接收序列号对应的数据,包括:根据所述待接收序列号,获取序列号生成器中心保存的与所述待接收序列号对应的数据。6.一种序列号生成方法,其特征在于,包括:接收发送节点的序列号生成请求;对所述序列号生成请求进行响应,以生成按照数据接收顺序排列的序列号;将所述序列号发送至所述发送节点。7.根据权利要...

【专利技术属性】
技术研发人员:孙海涛方芳刘永安潘国栋
申请(专利权)人:杭州有盾网络科技有限公司
类型:发明
国别省市:浙江,33

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

1