一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的数据处理方法、装置以及相关设备与流程

2022-09-02 18:45:06 来源:中国专利 TAG:


1.本公开涉及区块链技术领域,尤其涉及一种基于区块链的数据处理方法及装置、电子设备和计算机可读存储介质。


背景技术:

2.随着计算机技术的发展,出现了区块链系统。区块链系统是一种分布式去中心化的存储系统,具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”以及“集体维护”等特征。为了实现上述特征,在一个区块链系统中,最重要的算法就是共识算法。
3.目前最常见的共识算法有pow(proof of work,工作证明)共识算法和pos(proof of stake,权益证明)共识算法。其中,pow算法可能会消耗大量的不会创造任何使用价值的算力;pos算法虽然消耗算法少,但是也因为消耗算力少导致攻击成本低,轻易就会被脏数据进行区块攻击;另外,在pos算法中,拥有电子数量多的节点或者持有电子资产较久的节点,获得建块权的概率会更大,这样一来会使区块链中的共识受少数账户支配,从而失去了公正性。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。


技术实现要素:

5.本公开实施例提供一种基于区块链的数据处理方法及装置、电子设备和计算机可读存储介质,能够在节约算力、不易被攻击的同时,还能保证区块链系统中各个节点获得建块权的公平性,从而保证区块链系统的公正性。
6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
7.本公开实施例提出一种基于区块链的数据处理方法,该方法应用于区块链系统中在当前建块周期内处于建块状态的节点,该方法可以包括:获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在当前建块周期内处于建块状态的节点位于所述上一建块周期内的资源转移主体队列的队首;获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息与所述当前建块周期内的资源转移主体对应;根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期的资源转移主体队列,其中所述当前建块周期的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态;建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
8.本公开实施例提供了一种区块链系统,所述区块链系统包括:处于普通状态的节
点和处于建块状态的节点。
9.其中,所述处于普通状态的节点,作为资源转移主体在当前建块周期内广播资源转移信息;所述处于建块状态的节点,用于获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在当前建块周期内处于建块状态的节点位于所述上一建块周期内的资源转移主体队列的队首;获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息包括所述当前建块周期内的资源转移主体;根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期内的资源转移主体队列,其中所述当前建块周期内的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态;建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列;在所述当前建块周期结束时,将所述建块节点的状态由所述建块状态转换为普通状态;所述处于普通状态的节点还用于接收和记录在所述当前建块周期内建立的目标区块,并且当所述目标区块中的资源转移主体队列中的队首为所述处于普通状态的节点时,则在所述下一建块周期开始时,将所述处于普通状态的节点的状态转换为所述建块状态。
10.本公开实施例提供了一种基于区块链的数据处理装置,该基于区块链的数据处理装置应用于区块链系统中在当前建块周期内处于建块状态的节点,所述装置包括:上一区块获取模块、资源转移信息获取模块、资源转移主体队列更新模块以及目标区块链建立模块。
11.其中,所述上一区块获取模块可以配置为获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在所述当前建块周期内处于建块状态的节点为所述上一建块周期内的资源转移主体队列的队首节点;所述资源转移信息获取模块可以配置为获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息与所述当前建块周期内的资源转移主体对应;所述资源转移主体队列更新模块可以配置为根据所述当前建块周期内的资源转移主体和所述在所述当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期的资源转移主体队列,其中所述当前建块周期的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态;所述目标区块链建立模块可以配置为建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
12.在一些实施例中,所述资源转移主体队列更新模块可以包括:新增资源转移主体确定单元、新增资源转移主体插入单元、队首转移单元、下一建块节点确定单元以及资源转移主体队列完成更新单元。
13.其中,所述新增资源转移主体确定单元可以配置为将所述当前建块周期内的资源转移主体与所述上一建块周期内的资源转移主体队列进行比对,以确定未在所述上一建块周期内的资源转移主体队列中出现的新增资源转移主体;所述新增资源转移主体插入单元可以配置为将所述新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的
队尾;所述队首转移单元可以配置为将所述当前建块周期内处于建块状态的节点从所述上一建块周期内的资源转移主体队列的队首转移到队尾;所述下一建块节点确定单元可以配置为确定所述上一建块周期内的资源转移主体队列的当前队首节点是否接受成为下一建块周期的下一建块节点;所述资源转移主体队列完成更新单元可以配置为若所述上一建块周期内的资源转移主体队列的当前队首节点接受成为下一建块周期的下一建块节点,则生成所述当前建块周期的资源转移主体队列。
14.在一些实施例中,所述资源转移主体队列更新模块还可以包括:当前队首节点删除子单元、下一队首节点确定单元以及下一建块节点确定单元。
15.其中,所述当前队首节点删除子单元可以配置为若所述上一建块周期内的资源转移主体队列的当前队首节点未接受成为下一建块周期的下一建块节点,则将所述上一建块周期内的资源转移主体队列的当前队首节点删除;所述下一队首节点确定单元可以配置为确定所述上一建块周期内的资源转移主体队列的下一队首节点是否接受成为下一建块周期的建块节点;所述下一建块节点确定单元可以配置为若所述上一建块周期内的资源转移主体队列的下一队首节点接受成为下一建块周期的建块节点,则生成所述当前建块周期的资源转移主体队列。
16.在一些实施例中,所述新增资源转移主体插入单元可以包括:目标交易额确定子单元、交易额排序子单元以及新增资源转移主体插入子单元。
17.其中,所述目标交易额确定子单元可以配置为根据所述当前建块周期内的资源转移信息确定各个新增资源转移主体对应的目标交易额;所述交易额排序子单元可以配置为根据所述目标交易额对各个新增资源转移主体进行排序;所述新增资源转移主体插入子单元可以配置为根据排序结果将所述新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾。
18.在一些实施例中,所述新增资源转移主体插入子单元还可以配置为:将目标交易额排序前n的新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾,n为大于或者等于1的正整数。
19.在一些实施例中,所述资源转移主体队列更新模块可以包括:当前建块周期交易额获取单元、交易额排序单元以及剔除单元。
20.其中,所述当前建块周期交易额获取单元可以配置为获取所述当前建块周期的资源转移主体队列中各个资源转移主体在所述当前建块周期内的交易额;所述交易额排序单元可以配置为根据所述当前建块周期内的交易额对所述当前建块周期内的资源转移主体队列中的各个资源转移主体进行排序;所述剔除单元可以配置为在所述当前建块周期内的资源转移主体队列中剔除在所述当前建块周期内交易额小于目标阈值的资源转移主体。
21.在一些实施例中,所述基于区块链的数据处理装置还可以包括:广播模块、状态转换模块。
22.其中,所述广播模块可以配置为将所述目标区块广播给所述区块链系统中处于所述普通状态的节点;所述状态转换模块可以配置为在所述当前建块周期结束时,将所述在当前建块周期内处于建块状态的节点转换为所述普通状态。
23.本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得
所述一个或多个处理器实现上述任一项所述的基于区块链的数据处理方法。
24.本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的基于区块链的数据处理方法。
25.本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于区块链的数据处理方法。
26.本公开实施例提供的基于区块链的数据处理方法、装置及电子设备和计算机可读存储介质,根据当前建块周期内的资源转移主体和当前建块周期内处于建块状态的节点生成了当前建块周期的资源转移主体队列,以便在下一建块周期内简单、便捷地确定处于建块状态的节点。该建块节点的确定方法,一方面极大地节约了算力,避免计算资源的浪费;另一方面,通过资源转移主体队列的维护,保证了各个节点成为建块节点的公平性;另外,由于资源转移主体队列的构建和维护只与各个建块周期内的资源转移主体和处于建块节点状态的节点相关,能够保证每一建块周期内的处于建块状态的节点不被攻击,提高了区块链系统的安全性。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
28.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是根据一示例性实施例示出的一种区块链系统的示意图。
30.图2是根据一示例性实施例示出的一种区块链系统中的节点示意图。
31.图3示意性示出了根据本公开的一实施例的区块结构(block structure)的示意图。
32.图4是根据一示例性实施例示出的一种区块生成过程示意图。
33.图5是根据一示例性实施例示出的一种基于区块链的数据处理方法的流程图。
34.图6是根据一示例性实施例示出的一种资源转移信息的信息内容的示意图。
35.图7是根据一示例性实施例示出的一种建块流程示意图。
36.图8是图5中步骤s3在一示例性实施例中的流程图。
37.图9是根据一示例性实施例示出的一种资源转移主体队列更新示意图。
38.图10是根据一示例性实施例示出的一种普通节点竞选建块权的流程示意图。
39.图11是根据一示例性实施例示出的一种区块链系统的运转流程图。
40.图12是根据一示例性实施例示出的一种基于区块链的数据处理装置的框图。
41.图13示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
42.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
43.本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
44.附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
45.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
46.本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
47.首先,对实施例中涉及到的名词进行解释。
48.共识算法:分布式系统中面临着一个不可回避的问题即一致性问题:对于系统中的多个节点,给定一系列操作,如何使全局对局部处理结果达成某种程度的一致?区块链架构是一种典型分布式的架构,共识算法,就是解决区块链系统中就某一提案,各个节点达成一致意见的过程。
49.pow共识算法:简单理解就是一份证明,用来确认你做过一定量的工作,pow根据一个节点在网络中完成的工作量来确定它获得区块的概率。
50.pos共识算法:简单理解就是一份股权证明,这种模式会根据你持有的电子资产的量和时间,分配给你相应的利息,在pos模式下,电电子资产持有时间越久或者电子资产持有量越大越容易获取新区块的建块权。
51.非对称加密算法:非对称加密算法需要两个密钥:公开密钥(publickey,简称公钥)和私有密钥(privatekey,简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,同理如果私钥对数据进行加密,只有用对应的公钥才能解密。
52.rsa:一种由ron rivest、adi shamir和leonard adleman提出的典型的非对称加密算法。
53.信息摘要算法:一类加密算法,加密过程不需要密钥,并且经过加密的数据无法被解密。
54.sha256,一种碰撞概率极低的信息摘要算法。
55.在本公开实施例中,涉及了区块链技术,下面将结合本公开实施例的应用场景,对区块链技术进行介绍。
56.图1是根据一示例性实施例示出的一种区块链系统的示意图。
57.参见图1所示的区块链系统,区块链系统100是指用于进行节点与节点之间数据共享的系统,该区块链系统中可以包括多个节点101,多个节点101可以是指区块链系统中各个客户端,每个客户端可以是各种具有计算能力的电子设备,包括但不限于服务器、智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等。每个节点101在进行正常工作时可以接收到输入信息,并基于接收到的输入信息维护该区块链系统内的共享数据。为了保证区块链系统内的信息互通,区块链系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链系统中的任意节点接收到输入信息时,区块链系统中的其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统中全部节点上存储的数据均一致。
58.在区块链系统中,为了维护区块链,可以每隔一段时间构建一个区块以将该时间段内的数据存储区块链的区块中,例如可以每隔十分钟构建一个区块,并将构建完成的区块链接至区块链中。其中,构建一个区块的时间段可以称为建块周期。
59.在一个建块周期内,区块链系统可以通过一个处于建块状态下的节点对当前建块周期内的数据进行打包、建块,可以将该处于建块状态下的节点称之为当前建块节点(如图2所示的白色节点),区块链系统中除当前建块节点之外的其它节点均可以是当前普通节点(如图2所示的白色节点)。可以理解的是,任意一个节点都有可能当下为“建块节点”,区块链系统中的每个节点都会和该区块链系统中的其它任意节点发生通信。
60.那么,上述根据共识算法获取各个节点的输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链系统中全部节点上存储的数据均一致,可以包括以下过程:
61.假设,在区块链系统中每隔一段时间是一个建块周期内,每个建块周期内都会推选出一个节点使其处于建块状态下(以下可以简称为“建块节点”),以通过该建块节点对当前建块周期内上链数据进行建块、存储等,当该建块节点完成当前建块周期内的建块操作后会将建成的区块广播给区块链系统中的其它节点,以便其它节点验证后存储,以使得区块链系统中的全部节点上存储的数据均一致。
62.在区块链系统中的每个节点,均具有与其对应的节点标识,而且区块链系统中的每个节点均可以存储有区块链系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至区块链系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为ip(internet protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以ip地址为例进行说明。
63.节点名称节点标识节点1117.114.151.174节点2117.116.189.145
……
节点n119.123.789.258
64.区块链系统中的每个节点均存储一条相同的区块链。参见图3,区块链由多个区块组成,创始块中可以包括区块头和区块主体,区块头中可以存储有输入信息特征值、版本号、时间戳和难度值,区块主体中可以存储有输入信息,还可以存储有资源转移主体队列等;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、资源转移主体队列、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
65.在生成区块链中的各个区块时,参见图4,当前建块周期内的建块节点会监听区块链系统上所有的输入信息,对输入信息进行校验,完成校验后,会将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
66.sha256(sha256(version prev_hash merkle_root ntime nbits x))<target
67.其中,sha256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;target为特征值阈值,该特征值阈值可以根据nbits确定得到。
68.这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前建块周期内的当前区块。随后,建块节点根据区块链系统中其他节点的节点标识,将新生成的区块分别发送给其所在的区块链系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
69.图5是根据一示例性实施例示出的一种基于区块链的数据处理方法的流程图。
70.在本公开实施例中,区块链系统可以按照一定建块周期(该建块周期可例如为10分钟)建立区块,并在每个建块周期内选举用于建立区块的建块节点(即确定一个节点使其处于建块状态下)对建块周期内的资源转移数据进行打包、建块。在一个建块周期内,存在唯一的一个“建块节点”,剩余的节点都是“普通节点”(即处于普通状态下的节点)。区块链系统中的每个节点之间都是公平的,不存在特权节点,每个节点都可能会在“建块节点”以及“普通节点”这两种角色之间切换。
71.普通节点负责在区块链系统中广播资源转移信息、接收并验证其它节点的资源转移信息,同时有选择的参与下一建块周期内的建块节点的选举。其中,资源转移信息可以指的是需要在区块链系统中进行转移的数据(例如需要上链的数据)。
72.建块节点负责收集当前建块周期内区块链系统中的资源转移信息以创建区块,并选出下一建块周期内的“建块节点”。在负责建块的同时,建块节点还兼具普通节点的功能,即还可以负责广播资源转移信息、接收并验证其它节点的资源转移信息等,本公开对此不做限制。
73.在区块链系统中,每个节点均存在一对公私钥,其中私钥由每个节点自行保存、不公开,也就是说只有节点自己知道自己的私钥;公钥会对外公开,也即一个节点会知道其他
所有节点的公钥,公钥也会被作为节点的唯一身份标识。
74.本公开实施例所提供的方法可以由区块链系统中当前建块周期内处于建块状态下的节点执行,该当前建块周期内处于建块状态下的节点可以是任意具备计算处理能力的电子设备,例如可以是服务器或终端设备,也可以由服务器和终端设备共同组成,在下面的实施例中,将处于建块状态下的节点是服务器为例进行举例说明,但本公开并不限定于此。
75.参照图5,本公开实施例提供的基于区块链的数据处理可以包括以下步骤。
76.在步骤s1中,获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在当前建块周期内处于建块状态的节点位于所述上一建块周期内的资源转移主体队列的队首。
77.可以理解的是,区块链系统中的各个节点均存储有全量区块链(即完整的一条区块链),各个节点之间的区块链是一致、统一的。
78.在进入当前建块周期时,当前建块周期内处于建块状态下的节点(以下可以称之为“当前建块周期内的建块节点”)可以从区块链中获取上一建块周期内生成的上一区块。其中,上一区块的区块主体中可以存储有上一建块周期内的资源转移主体队列。其中,资源转移主体队列成员可以由各个资源转移主体的公钥(也可是节点序号、名称等身份识别信息,本公开对此不做限制)组成,该资源转移主体可以是区块链系统中广播资源转移信息的节点。
79.在一些实施例中,当前建块周期可能不存在上一建块周期,也即当前建块周期是区块链系统中的首个建块周期,那么当前建块周期内的建块节点就可以根据当前建块周期内处于建块状态下的节点构建一个资源转移主体队列,以作为“上一建块周期”的资源转移主体队列(例如当前建块周期内的建块节点可以将自己作为“上一建块周期内的资源转移主体队列的队首”)。
80.在步骤s2中,获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息与所述当前建块周期内的资源转移主体对应。
81.在一些实施例中,在当前建块周期内的资源转移信息可以指的是该区块链系统内在当前建块周期内请求上链的数据。
82.一般来说,在资源转移信息中不仅可以包括请求上链的数据,还可以包括如图6所示的,第一部分:发起方的公钥(即发送资源转移数据的节点的公钥)和接收方公钥(接收资源转移数据的节点的公钥),第二部分:交易额(此次资源转移涉及的电子资产的交易额度,例如针对此次资源转移过程,发送方会转移或发行的电子资产数量),第三部分:资源转移数据的信息摘要等。
83.其中,第二部分涉及的电子资产可以是区块链系统中公认的一种电子资源形式,本公开对该电子资产不做限制。
84.其中,第三部分是对所有资源转移信息使用sha256生成摘要,然后再使用发起方私钥对摘要信息进行rsa加密。这个信息是为了防止恶意节点伪造交易信息,因为私钥只有节点自己知道,而公钥是公开的,因此其他节点收到交易信息后,就可以使用对应的公钥解密这个摘要信息,然后再计算一遍sha256摘要,比较两者的值,如果信息一致,说明交易信息没有被篡改。
85.需要注意的是,发送方公钥对应的发送方节点或者接收方公钥对应的接收方节点
均可以是本公开实施例中的资源转移主体。
86.在下面的实施例中,本公开将以发送方公钥对应的发送方节点作为本公开实施例涉及的资源转移主体,但本公开不限于此。
87.可以理解的是,一份资源转移信息可以与一个资源转移主体对应(即一个资源转移信息是由一个发起方发起的)。
88.在步骤s3中,根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期的资源转移主体队列,其中所述当前建块周期的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态。
89.在一些实施例中,可以根据当前建块周期内的资源转移主体(即在当前建块周期内成功广播过资源转移信息的资源转移主体)、当前建块周期内处于建块状态下的节点轮询更新上一区块中的上一建块周期内的资源转移主体队列。
90.例如,可以将当前建块周期内的资源转移主体随机插入到上一建块周期内的资源转移主体队列的队尾,然后将当前建块周期处于建块状态的节点从队首转移至队尾,以生成当前建块周期的资源转移队列;也可以按照资源转移主体在当前建块周期内的活跃度插入到上一建块周期内的资源转移主体队列的队尾等,然后将当前建块周期处于建块状态的节点从队首转移至队尾,以生成当前建块周期内的资源转移队列,本公开对此不做限制。其中,资源转移主体在当前建块周期内的活跃度可以指的是资源转移主体在当前建块周期内进行资源转移的次数、资源转移主体在当前建块周期内交易额的大小等,本公开对此不做限制。
91.在一些实施例中,当前建块周期内的资源转移主体队列的队首节点就可以是下一建块周期内的建块节点。
92.在步骤s4中,建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
93.在一些实施例中,在当前建块周期结束时,当前建块周期内处于建块状态的节点会将当前建块周期内的资源转移信息以及当前建块周期内的资源转移主体队列打包,以生成目标区块。
94.在一些实施例中,在当前建块周期内处于建块状态的节点完成目标区块的构建后,当前建块周期内处于建块状态的节点会将该目标区块广播给区块链系统中处于普通状态的节点,以便处于普通状态的节点进行记账。另外,在当前建块周期结束时,该当前建块周期内处于建块状态的节点的状态也会由建块状态转换为普通状态。
95.可以理解的是,在当前建块周期处于普通状态的节点接收到当前建块周期处于建块状态的节点广播的目标区块时,会对目标区块中的资源转移信息进行校验,例如校验该资源转移信息对应的资源转移主体是否合法;例如检验该资源转移信息对应的资源转移主体持有的电子资产数量是否足够等,本公开对此不做限制。
96.上述实施例提供的技术方案还可以通过如图7所示流程实现:当前建块周期内的当前建块节点开始建块流程;当前建块节点搜集当前建块周期内的资源转移信息(即交易信息);到达当前建块周期的截止时间后,当前建块节点停止收集资源转移信息;获取上一
建块周期内生成的上一区块中的上一建块周期内的资源转移主体队列,并根据当前建块周期内的资源转移主体和当前建块节点更新上一建块周期内的资源转移主体队列,以生成当前建块周期内的资源转移主体队列;当前建块节点对当前建块周期内的资源转移主体以及当前建块周期内的资源转移主体队列进行打包、建块以生成区块,并全网广播该区块的块信息,以便区块链中的普通节点针对该区块进行记账;在当前建块周期结束时,当前建块节点将建块权转让给下一建块周期内的建块节点,即将建块权转让给当前建块周期内的资源转移主体的队首节点,以便下一建块节点继续进行建块流程。
97.在区块链的当前建块周期内可以通过以下方式使建块节点获取收益,以进一步地驱动区块链系统的正常运行:
98.首先是建块收益,成功建块的建块节点可以获取固定数量的电子资产,例如可以令初始电子资产值为50,而后每4年递减一半最终会有2100万左右的电子资产。然后是在获得建块权之后,建块节点可以对每笔交易按照目标百分比(例如1%)收取手续费。
99.本公开对建块节点的收益来源不做限制。
100.图8是图5中步骤s3在一示例性实施例中的流程图。
101.参考图8,上述步骤s3可以包括以下步骤。
102.在步骤s31中,将所述当前建块周期内的资源转移主体与所述上一建块周期内的资源转移主体队列进行比对,以确定未在所述上一建块周期内的资源转移主体队列中出现的新增资源转移主体。
103.在一些实施例中,可以将当前建块周期内的资源转移主体与上一建块周期内的资源转移主体队列中的资源转移主体进行比对,以确定当前建块周期内是否出现新增资源转移主体。
104.在步骤s32中,将所述新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾。
105.在一些实施例中,若当前建块周期内出现新增资源转移主体,则可以将该新增资源转移主体插入到上一建块周期内的资源转移主体队列的队尾。
106.一般来说,新增资源转移主体可能不止一个,那么可以将新增资源转移主体随机插入到队列的队尾,也可以按照新增资源转移主体在当前建块周期内的活跃度插入到资源转移主体队列的队尾。其中,新增资源转移主体在当前建块周期内的活跃度可以指的是新增资源转移主体在当前建块周期内的交易额,也可以指的是新增资源转移主体在当前建块周期内的交易次数等,本公开对此不做限制。
107.例如,可以根据当前建块周期内的资源转移信息确定各个新增资源转移主体对应的目标交易额;根据目标交易额对各个新增资源转移主体进行排序;根据排序结果将新增资源转移主体插入到上一建块周期内的资源转移主体队列的队尾。
108.基于区块链的系统是一种去中心化的系统,没有中心节点,也没有专门的监管系统,整个系统之所以能够按照既定的规则运行起来,是一个趋利和博弈的过程,这里存在两个基础:趋利,利益促使所有区块去遵循一定游戏规则;利益最大化决策,节点会做出它所认为的当前或者最终最有利于获取利益的决定;
109.然而在本公开实施例中,系统本身是想要通过一个轮询的队列,保证每个节点都可以平等的轮流建块,那么对于一个节点来说把自己分裂成多个节点(例如将自己的一笔
交易分裂成多笔交易)就可以获取更多的建块权,对于这种做法是无法禁止的,因为无法判断某两个交易节点是否原属于同一个节点。解决方法不是禁止,而是给这个操作加上代价,那么主要有以下几种解决方法。
110.方法一:为了保证各个节点无法通过分裂交易以获得更多的建块权,还可以在根据排序结果将新增资源转移主体插入到上一建块周期内的资源转移主体队列的队尾时,可以将在当前建块周期内目标交易额大于目标阈值的资源转移主体插入到上一建块周期内的资源转移主体队列的队尾,还可以将目标交易额为0的节点直接剔除等。
111.方法二:还可以对新入队节点交易额进行限制,每轮更新限制最多新增n个节点入队(n可以动态调整),例如可以将目标交易额排序前n的新增资源转移主体插入到上一建块周期内的资源转移主体队列的队尾,n为大于或者等于1的正整数,本公开对此不做限制。
112.通过上述两种方法的限制,区块链系统中的各个节点为了尽可能的获得建块权,则会尽量减少自我分裂的行为(即一笔交易分为多笔做),保证了各个节点成为建块节点的公平性。
113.在步骤s33中,将所述当前建块周期内处于建块状态的节点从所述上一建块周期内的资源转移主体队列的队首转移到队尾。
114.在步骤s34中,确定所述上一建块周期内的资源转移主体队列的当前队首节点是否接受成为下一建块周期的下一建块节点。
115.在一些实施例中,由于有些节点可能因为一些主、客观原因处于死机、或者无法接受建块权的状态,所以当前建块周期处于建块状态的节点需要与当前队首节点进行是否接受建块权的确认,以确定当前队首节点是否接受成为下一建块周期的下一建块节点。
116.当前建块周期处于建块状态的节点可以通过向当前队首节点发送确认信息以确定当前队首节点是否接受成为下一建块周期的下一建块节点,本公开对该确认方式不做限制。
117.在步骤s35中,若所述上一建块周期内的资源转移主体队列的当前队首节点接受成为下一建块周期的下一建块节点,则生成所述当前建块周期的资源转移主体队列。
118.在一些实施例中,若当前队首节点接受成为下一建块周期的下一建块节点,则确定当前建块周期的资源转移主体队列生成。
119.在步骤s36中,若所述上一建块周期内的资源转移主体队列的当前队首节点未接受成为下一建块周期的下一建块节点,则将所述上一建块周期内的资源转移主体队列的当前队首节点删除。
120.在一些实施例中,若当前队首节点未接受成为下一建块周期的下一建块节点,则将当前队首节点从队列中删除。
121.在步骤s37中,确定所述上一建块周期内的资源转移主体队列的下一队首节点是否接受成为下一建块周期的建块节点。
122.在一些实施例中,可以继续向资源转移主体队列的下一队首节点进行确认,以判断下一队首节点是否接受成为下一建块周期的建块节点。
123.在步骤s38中,若所述上一建块周期内的资源转移主体队列的下一队首节点接受成为下一建块周期的建块节点,则生成所述当前建块周期的资源转移主体队列。
124.在一些实施例中,若资源转移主体队列的下一队首节点接受成为下一建块周期的
建块节点,则确定当前建块周期的资源转移主体队列生成;若资源转移主体队列的下一队首节点也未接受成为下一建块周期的建块节点,则删除下一队首节点并继续向下下队首节点进行确认;以此类推,直至某一队首节点接受成为下一建块周期的建块节点,则确定当前建块周期的资源转移主体队列生成。
125.图8所示实施例提供的技术方案可以通过图9所示的交互流程图实现,具体可以包括以下步骤:
126.当前建块节点查询区块链系统在当前建块周期内是否出现了未在上一建块周期内的资源转移主体队列中的新增资源转移主体(即新交易者);若当前建块周期内出现了新增资源转移主体,则将该新增资源转移主体查到资源转移主体的队尾(可以按照在当前建块周期内的交易额大小进行排序后再插入),然后再将当前建块节点从队首转移到队尾;若当前建块周期内未出现新增资源转移主体,则直接将当前建块节点从队首转移到队尾;当前建块节点与队列的当前队首进行确认,以确定当前队首是否可以(即是否愿意或者是否能够)交接建块权;若当前队首节点确认可以交接建块权,则完成队列更新,生成当前建块周期内的资源转移主体队列;若当前队首节点确认不可以交接建块权,则当前建块节点将该队首节点从队列中删除,并继续向新的队首节点确认是否可以交接建块权;以此类推,直至在资源转移主体队列中找到愿意交接建块权的队首节点,即可完成队列的更新,生成当前建块周期内的资源转移主体队列。
127.对于一个区块链的一个普通节点来说,它在区块链系统中竞选成为建块节点的流程可以包括如图10所示步骤。
128.该普通节点在区块链系统的当前建块周期内广播资源转移信息;等待当前建块周期结束;在当前建块周期结束时确定自己是否为当期建块周期内的资源转移主体的队首节点;若该普通节点不是当前建块周期内的资源转移主体的队首节点,则该普通节点在下一建块周期内仍未普通节点;若该普通节点是当前建块周期内的资源转移主体的队首节点,则该普通节点则需要确定是否当下一建块周期的建块节点;若该普通节点不同意当选下一建块周期的建块节点,则该普通节点在下一建块周期内仍未普通节点;若该普通节点同意当选下一建块周期的建块节点,则该普通节点在下一建块周期内为建块节点,并在下一建块周期开始时执行建块流程。
129.本实施例提供的技术方案,一方面,通过当前建块周期内新增资源转移主体更新了上一建块周期内的资源转移主体队列,使得当前建块周期内活跃的新增资源转移主体有机会成为区块链系统内的建块节点,一定程度上鼓励区块链系统中的节点积极参与建块,维持区块链系统的运转;另一方面,通过与当前队首节点的是否接受成为下一建块节点的确认操作,保证选举成为下一建块周期的下一建块节点的资源转移主体能够完成建块行为,避免由于选举出的下一建块节点拒绝在下一建块周期内建块导致的区块链系统的瘫痪。
130.图11是根据一示例性实施例示出的一种区块链系统的运转流程图。
131.在一些实施例中,在区块链系统中每隔一段时间就是一个建块周期,每隔建块周期内均有处于普通状态的节点(即普通节点)和处于建块状态的节点(即建块节点)。
132.那么该区块链系统在当前建块周期内的建块流程可以包括以下步骤。
133.在步骤s01中,处于普通状态的节点,作为资源转移主体在当前建块周期内广播资
源转移信息。
134.在步骤s02中,处于建块状态的节点获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在当前建块周期内处于建块状态的节点位于所述上一建块周期内的资源转移主体队列的队首。
135.在步骤s03中,处于建块状态的节点获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息包括所述当前建块周期内的资源转移主体。
136.在步骤s04中,处于建块状态的节点根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期内的资源转移主体队列,其中所述当前建块周期内的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态。
137.在步骤s05中,处于建块状态的节点建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
138.在步骤s06中,在所述当前建块周期结束时,将所述建块节点的状态由所述建块状态转换为普通状态。
139.在步骤s07中,处于普通状态的节点还用于接收和记录在所述当前建块周期内建立的目标区块,并且当所述目标区块中的资源转移主体队列中的队首为所述处于普通状态的节点时,则在所述下一建块周期开始时,将所述处于普通状态的节点的状态转换为所述建块状态。
140.本公开实施例提供的基于区块链的数据处理方法,根据当前建块周期内的资源转移主体和当前建块周期内处于建块状态的节点生成了当前建块周期的资源转移主体队列,以便在下一建块周期内简单、便捷地确定处于建块状态的节点。该建块节点的确定方法,一方面极大地节约了算力,避免计算资源的浪费;另一方面,通过资源转移主体队列的维护,保证了各个节点成为建块节点的公平性;另外,由于资源转移主体队列的构建和维护只与各个建块周期内的资源转移主体和处于建块节点状态的节点相关,能够保证每一建块周期内的处于建块状态的节点不被攻击,提高了区块链系统的安全性。
141.图12是根据一示例性实施例示出的一种基于区块链的数据处理装置的框图。所述基于区块链的数据处理装置可以应用于区块链系统中在当前建块周期内处于建块状态的节点。参照图12,本公开实施例提供的基于区块链的数据处理装置1200可以包括:上一区块获取模块1201、资源转移信息获取模块1202、资源转移主体队列更新模块1203以及目标区块链建立模块1204。
142.其中,所述上一区块获取模块1201可以配置为获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在所述当前建块周期内处于建块状态的节点为所述上一建块周期内的资源转移主体队列的队首节点;所述资源转移信息获取模块1202可以配置为获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息与所述当前建块周期内的资源转移主体对应;所述资源转移主体队列更新模块1203可以配置为根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源
转移主体队列,生成所述当前建块周期的资源转移主体队列,其中所述当前建块周期的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态;所述目标区块链建立模块1204可以配置为建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
143.在一些实施例中,所述资源转移主体队列更新模块1203可以包括:新增资源转移主体确定单元、新增资源转移主体插入单元、队首转移单元、下一建块节点确定单元以及资源转移主体队列完成更新单元。
144.其中,所述新增资源转移主体确定单元可以配置为将所述当前建块周期内的资源转移主体与所述上一建块周期内的资源转移主体队列进行比对,以确定未在所述上一建块周期内的资源转移主体队列中出现的新增资源转移主体;所述新增资源转移主体插入单元可以配置为将所述新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾;所述队首转移单元可以配置为将所述当前建块周期内处于建块状态的节点从所述上一建块周期内的资源转移主体队列的队首转移到队尾;所述下一建块节点确定单元可以配置为确定所述上一建块周期内的资源转移主体队列的当前队首节点是否接受成为下一建块周期的下一建块节点;所述资源转移主体队列完成更新单元可以配置为若所述上一建块周期内的资源转移主体队列的当前队首节点接受成为下一建块周期的下一建块节点,则生成所述当前建块周期的资源转移主体队列。
145.在一些实施例中,所述资源转移主体队列更新模块1203还可以包括:当前队首节点删除子单元、下一队首节点确定单元以及下一建块节点确定单元。
146.其中,所述当前队首节点删除子单元可以配置为若所述上一建块周期内的资源转移主体队列的当前队首节点未接受成为下一建块周期的下一建块节点,则将所述上一建块周期内的资源转移主体队列的当前队首节点删除;所述下一队首节点确定单元可以配置为确定所述上一建块周期内的资源转移主体队列的下一队首节点是否接受成为下一建块周期的建块节点;所述下一建块节点确定单元可以配置为若所述上一建块周期内的资源转移主体队列的下一队首节点接受成为下一建块周期的建块节点,则生成所述当前建块周期的资源转移主体队列。
147.在一些实施例中,所述新增资源转移主体插入单元可以包括:目标交易额确定子单元、交易额排序子单元以及新增资源转移主体插入子单元。
148.其中,所述目标交易额确定子单元可以配置为根据所述当前建块周期内的资源转移信息确定各个新增资源转移主体对应的目标交易额;所述交易额排序子单元可以配置为根据所述目标交易额对各个新增资源转移主体进行排序;所述新增资源转移主体插入子单元可以配置为根据排序结果将所述新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾。
149.在一些实施例中,所述新增资源转移主体插入子单元还可以配置为:将目标交易额排序前n的新增资源转移主体插入到所述上一建块周期内的资源转移主体队列的队尾,n为大于或者等于1的正整数。
150.在一些实施例中,所述资源转移主体队列更新模块1203可以包括:当前建块周期交易额获取单元、交易额排序单元以及剔除单元。
151.其中,所述当前建块周期交易额获取单元可以配置为获取所述当前建块周期的资源转移主体队列中各个资源转移主体在所述当前建块周期内的交易额;所述交易额排序单元可以配置为根据所述当前建块周期内的交易额对所述当前建块周期内的资源转移主体队列中的各个资源转移主体进行排序;所述剔除单元可以配置为在所述当前建块周期内的资源转移主体队列中剔除在所述当前建块周期内交易额小于目标阈值的资源转移主体。
152.在一些实施例中,所述基于区块链的数据处理装置还可以包括:广播模块、状态转换模块。
153.其中,所述广播模块可以配置为将所述目标区块广播给所述区块链系统中处于所述普通状态的节点;所述状态转换模块可以配置为在所述当前建块周期结束时,将所述在当前建块周期内处于建块状态的节点转换为所述普通状态。
154.由于本公开的示例实施例的基于区块链的数据处理装置1200的各个功能模块与上述基于区块链的数据处理方法的示例实施例的步骤对应,因此在此不再赘述。
155.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图5的一个或多个所示的步骤。
156.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
157.描述于本技术实施例中所涉及到的模块和/或单元和/或子单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元和/或子单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些模块和/或单元和/或子单元的名称在某种情况下并不构成对该模块和/或单元和/或子单元本身的限定。
158.图13示出了适于用来实现本公开实施例的电子设备的结构示意图。需要说明的是,图13示出的电子设备1300仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
159.如图13所示,电子设备1300包括中央处理单元(cpu)1301,其可以根据存储在只读存储器(rom)1302中的程序或者从储存部分1308加载到随机访问存储器(ram)1303中的程序而执行各种适当的动作和处理。在ram 1303中,还存储有电子设备1300操作所需的各种程序和数据。cpu 1301、rom 1302以及ram 1303通过总线1304彼此相连。输入/输出(i/o)接
口1305也连接至总线1304。
160.以下部件连接至i/o接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1307;包括硬盘等的储存部分1308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至i/o接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入储存部分1308。
161.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(cpu)1301执行时,执行本技术的系统中限定的上述功能。
162.需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
163.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
164.作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取所述区块链系统在上一建块周期内生成的上一区块,所述上一区块包括所述上一建块周期内的资源转移主体队列,所述在当前建块周期内处于建块状态的节点位于所述上一建块周期内的资源转移主体队列的队首;获取所述区块链系统在所述当前建块周期内的资源转移信息,所述资源转移信息与所述当前建块周期内的资源转移主体对应;根据所述当前建块周期内的资源转移主体和所述在当前建块周期内处于建块状态的节点轮询更新所述上一建块周期内的资源转移主体队列,生成所述当前建块周期的资源转移主体队列,其中所述当前建块周期的资源转移主体队列的队首为下一建块周期的下一建块节点,以便在所述下一建块周期内将所述下一建块节点从普通状态转换为所述建块状态;建立所述当前建块周期的目标区块,所述目标区块包括所述当前建块周期内的资源转移信息和所述当前建块周期内的资源转移主体队列。
165.此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
166.本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
167.应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献