发明内容
本发明所要解决的技术问题是,提供一种数据处理方法,记账节点将获取的交易信息与其他记账节点获取的交易信息共识,共识成功才存储交易信息,以实现各家企业对记账节点的信任。
第一方面,本发明实施例提供了一种数据处理的方法,该方法包括:
目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数;
所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点;
若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。
优选的,所述M满足保证维护总账且避免共识复杂的预设条件。
优选的,所述共识的方法为:拜占庭容错算法。
优选的,还包括:
根据总记账节点和上伦次记账节点,确定所述本轮次M个记账节点。
优选的,所述根据总记账节点和上伦次记账节点,确定所述本轮次M个记账节点,具体为:
根据各家企业的记账节点的数量和所述总记账节点数量,确定各家企业的记账节点占所述总记账节点的比例;
根据所述M、所述各家企业的记账节点占所述总记账节点的比例、上伦次记账节点和各企业的奖惩系数,确定所述本轮次M个记账节点。
第二方面,本发明实施例提供了一种数据处理的装置,该装置包括:
交易信息获取单元,用于目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数;
交易信息共识单元,用于所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点;
交易信息存储单元,用于若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。
优选的,所述M满足保证维护总账且避免共识复杂的预设条件。
优选的,所述共识的方法为:拜占庭容错算法。
优选的,还包括:
确定单元,用于根据总记账节点和上伦次记账节点,确定所述本轮次M个记账节点。
优选的,所述确定单元具体包括比例确定子单元和记账节点确定子单元;
比例确定子单元,用于根据各家企业的记账节点的数量和所述总记账节点数量,确定各家企业的记账节点占所述总记账节点的比例;
记账节点确定子单元,用于根据所述M、所述各家企业的记账节点占所述总记账节点的比例、上伦次记账节点和各企业的奖惩系数,确定所述本轮次M个记账节点。
与现有技术相比,本发明至少具有以下优点:
采用本发明实施例的技术方案,目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数;所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点;若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。由此可见,目标记账节点获取的交易信息被其他节点认可后才可以存储,保证了所获取的交易信息的准确性,使得目标记账节点对应的区块存储的交易信息都是真实的,无需再有第三方机构介入证明,就实现了各家企业对记账节点对应区块存储的交易信息的完全信任。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人经过研究发现,只通过一个记账节点对交易信息进行记账,在传统的中心化一个记账节点记账的模式下,个人在互联网上的身份或资产都需要第三方机构证明,但第三方机构存在被渗透、破坏或造假的可能,所有非现金交易都必须依赖商业银行或清算中心进行,中介的存在造成高成本、低效率的问题,这些都会造成记账节点可能出现记账错误或者漏记等情况,即结账节点所存储的交易信息并不一定真实,因此,充电桩联盟中各家企业对上述的记账节点所记的交易信息并不是完全信任。
为了解决这一问题,在本发明实施例中,目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数;所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点;若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。由此可见,目标记账节点获取的交易信息被其他节点认可后才可以存储,保证了所获取的交易信息的准确性,使得目标记账节点对应的区块存储的交易信息都是真实的,无需再有第三方机构介入证明,就实现了各家企业对记账节点对应区块存储的交易信息的完全信任。
举例来说,本发明实施例的场景之一,可以是应用到如图1所示的场景中。该场景中有交易节点101和目标记账节点102,交易节点101可以向目标记账节点102发送信息。首先确定了本轮次M个记账节点,交易节点101向全网发送的交易信息;M个记账节点均获取交易节点101发送的交易信息,从M个记账节点确定目标记账节点102,目标记账节点102将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述M个记账节点中除所述目标记账节点以外的记账节点;若所述共识成功,目标记账节点102将获取的所述交易信息存储到所述目标记账节点102对应的区块中。
可以理解的是,在上述应用场景中,虽然将本发明实施方式的动作描述由目标记账节点102执行。本发明在执行主体方面不受限制,只要执行了本发明实施方式所公开的动作即可。
可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。
下面结合附图,通过实施例来详细说明本发明实施例中规划导航终点的方法、装置和设备的具体实现方式。
示例性方法
参见图2,示出了本发明实施例中一种数据处理的方法的流程示意图。在本实施例中,所述方法例如可以包括以下步骤:
步骤201:目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数。
步骤202:所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点。
需要说明的是,充电桩联盟链包括多个记账节点,若所有记账节点均进行记账,参与共识过程,会导致系统的开销过大,共识过程复杂,共识到后续存储交易信息耗时大,用户在支付时速度过慢,影响用户体验,因此,限定进行记账参与共识的记账节点数量为常数M,所述M在设置时,应该满足足够进行总账的维护且避免共识复杂,系统开销过大的条件。在本实施例中,所述M满足保证维护总账且避免共识复杂的预设条件,例如,所述预设常数M可以设置为20。
可以理解的是,充电桩联盟链包括多个记账节点,所述多个记账节点即总记账节点,总记账节点为各家企业拥有的记账节点的集合,由于限定进行记账参与共识的记账节点数量为M个,充电桩联盟链采用轮次记账的方式进行记账,每一轮次进行记账的记账节点数量为M个,因此在步骤202中对本轮次M个记账节点进行记账之前,首先应该由上伦次记账节点在总记账节点中确定出本轮次的要进行记账的M个记账节点,以便进行后续的记账操作。在本实施例的一些实施方式中,例如还可以包括:根据总记账节点和上伦次记账节点,确定所述本轮次M个记账节点。
由于总记账节点是各家企业拥有的记账节点的集合,因此在确定所述本轮次M个记账节点时,需要考虑各家企业拥有的记账节点在总记账节点中所占的比例和各企业的奖惩系数,其中,某个企业拥有的记账节点在总记账节点中所占的比例越大,所述本轮次M个记账节点中属于上述企业的记账节点的数量也就越多;考虑各企业的奖惩系数可以确保根据总记账节点确定的所述本轮次M个记账节点的公正合理性。在本实施例的一些实施方式中,所述根据总记账节点,确定所述M个记账节点,例如具体可以为:根据各家企业的记账节点的数量和所述总记账节点数量,确定各家企业的记账节点占所述总记账节点的比例;根据所述M、所述各家企业的记账节点占所述总记账节点的比例、上伦次记账节点和各企业的奖惩系数,确定所述本轮次M个记账节点。
例如,假设充电桩联盟有C家企业,各家企业的记账节点的数量分别为Ni,i=1,2,…,C,则总的记账节点的数量为本轮次记账时需要上伦次最后一个记账节点根据N个总记账节点和上伦次记账几点确定本轮次M个记账节点。具体确定M个记账节点的步骤为:
第一步,确定各家企业的记账节点占所述总记账节点的比例为i=1,2,…,C;
第二步,根据M和Ri确定企业i的第一记账节点数量 i=1,2,…,C,其中,为整数部分;为小数部分;
第三步,根据各企业的奖惩系数和确定企业i的第二记账节点数量首先产生计算[0~1]范围内均匀分布随机数RNDi,如果则否则其中,Coffi为奖惩系数,省缺值为1;
第四步,初始化Coffi=1,i=1,2,…,C;
第五步,计算如果K为正整数,则调整Coffi=0.5,i=1,2,…,K;如果K为负整数,则调整Coffi=2,i=1,2,…,K;
其中,确定奖惩系数的目的是:在保证每轮次参与记账的节点数量为预设常数M的前提下,满足各企业获得公平的记账权。如果本轮次记账,企业i在第五步中减去了一个记账节点,下一轮次记账,企业i多获得一个记账节点的概率提高,反之亦然。
需要说明的是,为了保证目标记账节点所获取的交易信息的真实可靠性,采用了共识算法,所述共识算法主要解决各记账节点的容错问题,由于拜占庭容错算法可以容忍任何形式的软件错误和安全漏洞,所以它是解决分布式系统容错常用的容错算法。在本实施例中,所述共识的方法可以为:拜占庭容错算法。例如,共有M个记账节点参与共识,当出现错物的记账节点的数量小于等于时,可以保证系统的安全性。
在本轮次有M个记账节点要进行记账,目标记账节点是所述M个记账节点中的一个,所述目标记账节点是根据M个记账节点确定的,具体确定的方式可以是对M个记账节点进行排序,按顺序进行记账,某时刻当前记账节点则为目标记账节点,例如,单个记账轮次中,企业i的记账节点索引集从Ni个候选记账节点中随机选出的,将确定的M个记账节点顺序排列对于首个记账节点M1,选取的方法是从[1~M]个整数中按均匀分布产生一个随机整数I1,M个记账节点形成的集合中,对应I1位置的记账节点被选中;对于第二个记账节点M2,去掉前面选中的节点,选取的方法是从[1~M-1]个整数中按均匀分布产生一个随机整数I2,M-1个记账节点形成的集合中,对应I2位置的记账节点被选中;后续节点的选择依次类推,最终形成[P1,P2,…,PM]的记账顺序,按顺序进行记账,某时刻当前记账节点则为目标记账节点。
步骤203:若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。例如,
通过本实施例提供的各种实施方式,根据M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数,确定本轮次M个记账节点,M为预设常数,满足保证维护总账且避免共识复杂的预设条件;根据本轮次M个记账节点确定目标记账节点,在所述目标记账节点获取交易信息之后,所述目标记账节点将所述交易信息对其余记账节点发起共识,共识的方法为拜占庭容错算法;只有共识成功,才将所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。由此可见,仅仅M个记账节点进行拜占庭容错共识,共识过程开销恒定,保证了支付交易的时效性和安全性;通过M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数确定了本轮次M个记账节点,使得各家企业享有公平合理的记账权;记账节点获取的交易信息被其他参与记账的节点认可后才可以存储,保证了记账节点对应的区块存储的交易信息的公信性,无需再有其他证明机制,通过去中心化实现了多个记账节点集体维护,分布式存储交易信息,各家企业对记账节点对应区块存储的交易信息的完全信任。
参见图3,示出了本发明实施例中另一种数据处理的方法的流程示意图。在本实施例中,所述方法例如可以包括以下步骤:
步骤301:本轮次M个记账节点获取客户端交易节点发送的交易信息。
步骤302:所述本轮次M个记账节点按照预设记账顺序进行记账,所述本轮次M个记账节点根据M、所述各家企业的记账节点占所述总记账节点的比例和各企业的奖惩系数确定的,所述预设记账顺序为所述M个记账节点随机排列形成的顺序,所述M为预设常数。
步骤303:每隔预设时间段,将当前记账节点获取的所述交易信息对其他记账节点获取的所述交易信息发起共识,直至将所述M个记账节点均发起共识,所述共识的方法为拜占庭容错算法。
步骤304:若所述共识成功,将M个记账节点中每个记账节点获取的所述交易信息存储到所述每个记账节点对应的区块中。
步骤305:本轮次最后一个记账节点确定下一轮次M个记账节点、所述下一轮次M个记账节点中各企业的记账节点数量、下一轮次所述各企业的奖惩系数、下一轮次M个记账节点的预设记账顺序,并存储在对应的区块中。
通过本实施例提供的各种实施方式,根据M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数,确定本轮次M个记账节点,M为预设常数,满足保证维护总账且避免共识复杂的预设条件;根据本轮次M个记账节点确定目标记账节点,在所述目标记账节点获取交易信息之后,所述目标记账节点将所述交易信息对其余记账节点发起共识,共识的方法为拜占庭容错算法;只有共识成功,才将所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。由此可见,仅仅M个记账节点进行拜占庭容错共识,共识过程开销恒定,保证了支付交易的时效性和安全性;通过M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数确定了本轮次M个记账节点,使得各家企业享有公平合理的记账权;记账节点获取的交易信息被其他参与记账的节点认可后才可以存储,保证了记账节点对应的区块存储的交易信息的公信性,无需再有其他证明机制,通过去中心化实现了多个记账节点集体维护,分布式存储交易信息,各家企业对记账节点对应区块存储的交易信息的完全信任。
示例性设备
参见图4,示出了本发明实施例中一种数据处理的装置的结构示意图。在本实施例中,所述装置例如具体可以包括:
交易信息获取单元401,用于目标记账节点获取交易节点发送的交易信息,所述目标记账节点是根据本轮次M个记账节点确定的,所述M为预设常数;
交易信息共识单元402,用于所述目标记账节点将所述交易信息对其余记账节点发起共识,所述其余记账节点为所述本轮次M个记账节点中除所述目标记账节点以外的记账节点;
交易信息存储单元403,用于若所述共识成功,所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。
可选的,所述M满足保证维护总账且避免共识复杂的预设条件。
可选的,所述共识的方法为:拜占庭容错算法。
可选的,所述装置,例如还可以包括:
确定单元,用于根据总记账节点和上伦次记账节点,确定所述本轮次M个记账节点。
可选的,所述根据总记账节点,确定所述确定单元例如具体可以包括比例确定子单元和记账节点确定子单元
比例确定子单元,用于根据各家企业的记账节点的数量和所述总记账节点数量,确定各家企业的记账节点占所述总记账节点的比例;
记账节点确定子单元,用于根据所述M、所述各家企业的记账节点占所述总记账节点的比例、上伦次记账节点和各企业的奖惩系数,确定所述本轮次M个记账节点。
通过本实施例提供的各种实施方式,根据M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数,确定本轮次M个记账节点,M为预设常数,满足保证维护总账且避免共识复杂的预设条件;根据本轮次M个记账节点确定目标记账节点,在所述目标记账节点获取交易信息之后,所述目标记账节点将所述交易信息对其余记账节点发起共识,共识的方法为拜占庭容错算法;只有共识成功,才将所述目标记账节点将获取的所述交易信息存储到所述目标记账节点对应的区块中。由此可见,仅仅M个记账节点进行拜占庭容错共识,共识过程开销恒定,保证了支付交易的时效性和安全性;通过M、各家企业的记账节点占总记账节点的比例和各企业的奖惩系数确定了本轮次M个记账节点,使得各家企业享有公平合理的记账权;记账节点获取的交易信息被其他参与记账的节点认可后才可以存储,保证了记账节点对应的区块存储的交易信息的公信性,无需再有其他证明机制,通过去中心化实现了多个记账节点集体维护,分布式存储交易信息,各家企业对记账节点对应区块存储的交易信息的完全信任。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。