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

区块运算方法、装置、电子设备及存储介质与流程

2022-07-10 15:14:16 来源:中国专利 TAG:


1.本技术涉及区块链技术领域,尤其涉及一种区块运算方法、装置、电子设备及存储介质。


背景技术:

2.目前,在区块链的运算过程中,运算能力(算力)高的区块链节点比较容易完成计算任务,从而导致了运算能力高的区块链节点对计算任务的完成以及奖励进行垄断,降低了区块链的去中心化。
3.因此,如何提高区块链的去中心化是一个亟需解决的技术问题。


技术实现要素:

4.鉴于以上内容,有必要提供一种区块运算方法、装置、电子设备及存储介质,能够提高区块链的去中心化。
5.本技术的第一方面提供一种区块运算方法,所述区块运算方法包括:
6.根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群;
7.当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励;
8.根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度;
9.根据所述目标难度进行区块运算,并在所述区块运算完成后产生一个区块。
10.在一种可能的实现方式中,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述区块运算方法还包括:
11.获取每个所述区块链节点的算力以及奖励;
12.根据每个所述区块链节点的算力以及奖励,将每个所述区块链节点映射至平面直角坐标系中,获得每个所述区块链节点对应的坐标,其中,区块链节点的算力为横坐标,区块链的奖励为纵坐标。
13.在一种可能的实现方式中,所述根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度包括:
14.确定与所述节点算力以及所述节点奖励均对应的节点坐标;
15.确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;
16.计算所述节点坐标与所述目标坐标之间的第二距离;
17.获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;
18.根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。
19.在一种可能的实现方式中,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述区块运算方法还包括:
20.从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;
21.确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;
22.将所述距离差值确定为预设的所述第一距离。
23.在一种可能的实现方式中,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之后以及所述当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励之前,所述区块运算方法还包括:
24.确定每个所述集群的中心坐标;
25.确定所述中心坐标与所述平面直角坐标系的原点的第三距离;
26.根据所述第三距离,为每个所述集群分配对应的难度权重。
27.在一种可能的实现方式中,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群包括:
28.根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标;
29.从多个所述坐标中确定初始中心点;
30.根据所述初始中心点,对所述多个坐标进行分组,获得多个初始组群;
31.重新计算所述多个初始组群的中心,获得第一中心点;
32.若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
33.在一种可能的实现方式中,所述区块运算方法还包括:
34.若所述第一中心点与所述初始中心点不一致,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;
35.计算所述多个第一组群的中心,获得第二中心点;
36.若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
37.本技术的第二方面提供一种区块运算装置,所述区块运算装置包括:
38.聚类模块,用于根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群;
39.确定模块,用于当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励;
40.所述确定模块,还用于根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度;
41.运算模块,用于根据所述目标难度进行区块运算,并在所述区块运算完成后产生一个区块。
42.本技术的第三方面提供一种电子设备,所述电子设备包括处理器和存储器,所述
处理器用于执行所述存储器中存储的计算机程序时实现所述的区块运算方法。
43.本技术的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的区块运算方法。
44.由以上技术方案,本技术中,能够根据区块链节点的算力(运算能力)以及奖励进行计算难度调整,确保算力低的区块链节点也能够完成运算以及获得奖励,提高了区块链的去中心化。
附图说明
45.图1是本技术公开的一种区块运算方法的较佳实施例的流程图。
46.图2是本技术公开的一种区块运算装置的较佳实施例的功能模块图。
47.图3是本技术实现区块运算方法的较佳实施例的电子设备的结构示意图。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术。
50.本技术实施例的区块运算方法应用在电子设备中,也可以应用在电子设备和通过网络与所述电子设备进行连接的服务器所构成的硬件环境中,由服务器和电子设备共同执行。网络包括但不限于:广域网、城域网或局域网。
51.其中,服务器可以是指能对网络中其它设备(如电子设备)提供服务的计算机系统。如果一个个人电脑能够对外提供文件传输协议(file transfer protocol,简称ftp)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在cpu、芯片组、内存、磁盘系统、网络等硬件和普通的个人电脑有所不同。
52.所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、嵌入式设备等。所述电子设备还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络设备、多个网络设备组成的服务器组或基于云计算(cloud computing)的由大量主机或网络设备构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。所述用户设备包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理pda等。
53.请参见图1,图1是本技术公开的一种区块运算方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。其中,所述区块运算方法的执行主体可以为电子设备。
54.s11、根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群;
55.其中,所述算力(也称哈希率)是比特币网络处理能力的度量单位。即为计算机(cpu)计算哈希函数输出的速度。比特币网络必须为了安全目的而进行密集的数学和加密相关操作。例如,当网络达到10th/s的哈希率时,意味着它可以每秒进行10万亿次计算。所述算力可以是区块链节点的数据运算能力;所述奖励是指区块链节点完成运算任务时根据预设的奖励机制获得的奖励。
56.其中,所述均值聚类可以是指k均值聚类算法(k-means clustering algorithm),是一种迭代求解的聚类分析算法,包括:预先将数据分为k组,则随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)聚类中心再发生变化。
57.其中,一个集群可以包括多个区块链节点,一个区块链节点只能属于一个集群。
58.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述区块运算方法还包括:
59.获取每个所述区块链节点的算力以及奖励;
60.根据每个所述区块链节点的算力以及奖励,将每个所述区块链节点映射至平面直角坐标系中,获得每个所述区块链节点对应的坐标,其中,区块链节点的算力为横坐标,区块链的奖励为纵坐标。
61.其中,所述多个区块链节点与多个坐标一一对应,区块链节点的算力为横坐标,区块链的奖励为纵坐标。比如,假设区块链节点量化后的算力为10,量化后的奖励为15,则区块链节点对应的坐标为(10,15)。
62.具体的,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群包括:
63.根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标;
64.从多个所述坐标中确定初始中心点;
65.根据所述初始中心点,对所述多个坐标进行分组,获得多个初始组群;
66.重新计算所述多个初始组群的中心,获得第一中心点;
67.若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
68.在该可选的实施方式中,可以根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标,比如(10,10)、(10,15)、(15,10)等坐标。一个区块链节点对应一个坐标。从多个所述坐标中确定初始中心点,比如(5,5)、(10,10);根据所述初始中心点,对所述多个坐标进行分组,即将每个坐标分配给距离最近的初始中心点,获得多个初始组群,每个初始族群包括最少一个坐标;重新计算所述多个初始组群的中心,获得第一中心点;若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
69.作为一种可选的实施方式,所述区块运算方法还包括:
70.若所述第一中心点与所述初始中心点不一致,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;
71.计算所述多个第一组群的中心,获得第二中心点;
72.若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
73.在该可选的实施方式中,若所述第一中心点与所述初始中心点不一致,确定均值聚类未完成,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;计算所述多个第一组群的中心,获得第二中心点;若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
74.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述区块运算方法还包括:
75.从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;
76.确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;
77.将所述距离差值确定为预设的所述第一距离。
78.在该可选的实施方式中,从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;将所述距离差值确定为预设的所述第一距离。假设所述最小节点的坐标为(1,0),对应的原点距离为1,所述最大节点的坐标为(10,0)对应的原点距离为10,则所述第一距离为9。
79.s12、当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励。
80.其中,所述广播区块可以是某个区块链节点完成计算任务后打包的区块,打包的区块会广播至其它区块链节点中。
81.其中,所述广播区块携带有打包所述广播区块的区块链节点的算力信息以及奖励信息。
82.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之后以及所述当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励之前,所述区块运算方法还包括:
83.确定每个所述集群的中心坐标;
84.确定所述中心坐标与所述平面直角坐标系的原点的第三距离;
85.根据所述第三距离,为每个所述集群分配对应的难度权重。
86.在该可选的实施方式中,确定每个所述集群的中心坐标,然后确定所述中心坐标与所述平面直角坐标系的原点的第三距离,根据所述第三距离,为每个所述集群分配对应的难度权重。比如,存在3个集群,集群a的第三距离为1,集群b的第三距离为3,集群c的距离为5。则所述集群总数为3,集群a的第三距离小于集群b的第三距离,集群b的第三距离小于集群c的第三距离,则集群a对应的难度权重为1/3,则集群b对应的难度权重为2/3,则集群c对应的难度权重为3/3。
87.s13、从所述多个集群中,确定目标区块链节点所属的目标集群,并确定所述目标
集群对应的目标难度权重。
88.其中,不同的集群具有不同的难度权重。一个集群包括至少一个区块链节点,一个区块链节点只属于一个集群。
89.s14、根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度。
90.其中,所述难度difficulty,可以用来控制区块的平均产生时间,difficulty值越高时,区块链节点越不容易完成运算。相反地,当difficulty值越低时,区块链节点越容易完成运算。
91.具体的,所述根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度包括:
92.确定与所述节点算力以及所述节点奖励均对应的节点坐标;
93.确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;
94.计算所述节点坐标与所述目标坐标之间的第二距离;
95.获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;
96.根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。
97.在该可选的实施方式中,可以确定与所述节点算力以及所述节点奖励均对应的节点坐标;确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;计算所述节点坐标与所述目标坐标之间的第二距离;获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。比如:假设节点算力为28,节点奖励为14,则节点坐标为(28,14)。目标区块链节点a及目标区块链节点b接收到广播的区块,并验证其为有效区块。假设第一距离为30。目标区块链节点a与节点坐标之间的第二距离为15,所属的目标集群对应的难度权重为1。目标区块链节点b与节点坐标的距离为15,所述的目标集群对应的难度权重为1/3,集群总数为3。目标区块链节点a计算的目标难度为(1-15/30)*(1/1)*2
256
=0.5*2
256
。目标区块链节点b计算的目标难度为矿工节点b计算之difficulty为(1-15/30)*(1/3)*2
256
=0.16*2
256

98.s15、根据所述目标难度进行区块运算,并在所述区块运算完成后产生一个区块。
99.本技术实施例中,所有的区块链节点都会同时处理一个运算任务,所述区块运算可以是指所述运算任务,当一个区块链节点完成运算任务时,会产生一个区块,可以将该区块添加至区块链中,并进行打包(可以将该区块链节点的算力以及奖励信息打包进区块中),然后将打包好的区块广播至其他的区块链节点中,其他区块链节点接收到广播的区块后,开始进行下一个运算任务。
100.在图1所描述的方法流程中,能够根据区块链节点的算力(运算能力)以及奖励进行计算难度调整,确保算力低的区块链节点也能够完成运算以及获得奖励,提高了区块链的去中心化。
101.请参见图2,图2是本技术公开的一种区块运算装置的较佳实施例的功能模块图。
102.在一些实施例中,所述区块运算装置运行于电子设备中。所述区块运算装置可以包括多个由程序代码段所组成的功能模块。所述区块运算装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的区块运算方法中的部分或全部步骤。
103.本实施例中,所述区块运算装置2根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:聚类模块201、确定模块202、及运算模块203。本技术所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。
104.聚类模块201,用于根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群。
105.其中,所述算力(也称哈希率)是比特币网络处理能力的度量单位。即为计算机(cpu)计算哈希函数输出的速度。比特币网络必须为了安全目的而进行密集的数学和加密相关操作。例如,当网络达到10th/s的哈希率时,意味着它可以每秒进行10万亿次计算。所述算力可以是区块链节点的数据运算能力;所述奖励是指区块链节点完成运算任务时根据预设的奖励机制获得的奖励。
106.其中,所述均值聚类可以是指k均值聚类算法(k-means clustering algorithm),是一种迭代求解的聚类分析算法,包括:预先将数据分为k组,则随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)聚类中心再发生变化。
107.其中,一个集群可以包括多个区块链节点,一个区块链节点只能属于一个集群。
108.确定模块202,用于当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励。
109.其中,所述广播区块可以是某个区块链节点完成计算任务后打包的区块,打包的区块会广播至其它区块链节点中。
110.其中,所述广播区块携带有打包所述广播区块的区块链节点的算力信息以及奖励信息。
111.所述确定模块202,还用于从所述多个集群中,确定目标区块链节点所属的目标集群,并确定所述目标集群对应的目标难度权重。
112.其中,不同的集群具有不同的难度权重。一个集群包括至少一个区块链节点,一个区块链节点只属于一个集群。
113.所述确定模块202,还用于根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度。
114.其中,所述难度difficulty,可以用来控制区块的平均产生时间,difficulty值越高时,区块链节点越不容易完成运算。相反地,当difficulty值越低时,区块链节点越容易完成运算。
115.运算模块203,用于根据所述目标难度进行区块运算,并在所述区块运算完成后产生一个区块。
116.本技术实施例中,所有的区块链节点都会同时处理一个运算任务,所述区块运算可以是指所述运算任务,当一个区块链节点完成运算任务时,会产生一个区块,可以将该区块添加至区块链中,并进行打包(可以将该区块链节点的算力以及奖励信息打包进区块中),然后将打包好的区块广播至其他的区块链节点中,其他区块链节点接收到广播的区块后,开始进行下一个运算任务。
117.作为一种可选的实施方式,所述区块运算装置还可以包括:
118.获取模块,用于所述聚类模块201根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,获取每个所述区块链节点的算力以及奖励;
119.映射模块,用于根据每个所述区块链节点的算力以及奖励,将每个所述区块链节点映射至平面直角坐标系中,获得每个所述区块链节点对应的坐标,其中,区块链节点的算力为横坐标,区块链的奖励为纵坐标。
120.其中,所述多个区块链节点与多个坐标一一对应,区块链节点的算力为横坐标,区块链的奖励为纵坐标。比如,假设区块链节点量化后的算力为10,量化后的奖励为15,则区块链节点对应的坐标为(10,15)。
121.作为一种可选的实施方式,所述确定模块202根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度的方式具体为:
122.确定与所述节点算力以及所述节点奖励均对应的节点坐标;
123.确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;
124.计算所述节点坐标与所述目标坐标之间的第二距离;
125.获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;
126.根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。
127.在该可选的实施方式中,可以确定与所述节点算力以及所述节点奖励均对应的节点坐标;确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;计算所述节点坐标与所述目标坐标之间的第二距离;获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。比如:假设节点算力为28,节点奖励为14,则节点坐标为(28,14)。目标区块链节点a及目标区块链节点b接收到广播的区块,并验证其为有效区块。假设第一距离为30。目标区块链节点a与节点坐标之间的第二距离为15,所属的目标集群对应的难度权重为1。目标区块链节点b与节点坐标的距离为15,所述的目标集群对应的难度权重为1/3,集群总数为3。目标区块链节点a计算的目标难度为(1-15/30)*(1/1)*2
256
=0.5*2
256
。目标区块链节点b计算的目标难度为矿工节点b计算之difficulty为(1-15/30)*(1/3)*2
256
=0.16*2
256

128.作为一种可选的实施方式,所述确定模块201,还用于所述聚类模块201根据每个
区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;
129.所述区块运算装置还可以包括:
130.第一计算模块,用于确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;
131.所述确定模块202,还用于将所述距离差值确定为预设的所述第一距离。
132.在该可选的实施方式中,从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;将所述距离差值确定为预设的所述第一距离。假设所述最小节点的坐标为(1,0),对应的原点距离为1,所述最大节点的坐标为(10,0)对应的原点距离为10,则所述第一距离为9。
133.作为一种可选的实施方式,所述聚类模块201根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群的方式具体为:
134.根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标;
135.从多个所述坐标中确定初始中心点;
136.根据所述初始中心点,对所述多个坐标进行分组,获得多个初始组群;
137.重新计算所述多个初始组群的中心,获得第一中心点;
138.若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
139.在该可选的实施方式中,可以根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标,比如(10,10)、(10,15)、(15,10)等坐标。一个区块链节点对应一个坐标。从多个所述坐标中确定初始中心点,比如(5,5)、(10,10);根据所述初始中心点,对所述多个坐标进行分组,即将每个坐标分配给距离最近的初始中心点,获得多个初始组群,每个初始族群包括最少一个坐标;重新计算所述多个初始组群的中心,获得第一中心点;若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
140.作为一种可选的实施方式,所述区块运算装置还可以包括:
141.分组模块,用于若所述第一中心点与所述初始中心点不一致,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;
142.第二计算模块,用于计算所述多个第一组群的中心,获得第二中心点;
143.所述确定模块202,还用于若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
144.在该可选的实施方式中,若所述第一中心点与所述初始中心点不一致,确定均值聚类未完成,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;计算所述多个第一组群的中心,获得第二中心点;若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
145.作为一种可选的实施方式,所述区块运算方法还包括:
146.所述确定模块202,还用于所述聚类模块201根据每个区块链节点的算力以及奖
励,对多个区块链节点进行均值聚类,获得多个集群之后以及所述确定模块202当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励之前,确定每个所述集群的中心坐标;
147.所述确定模块202,还用于确定所述中心坐标与所述平面直角坐标系的原点的第三距离;
148.所述区块运算装置还可以包括:
149.分配模块,用于根据所述第三距离,为每个所述集群分配对应的难度权重。
150.在该可选的实施方式中,确定每个所述集群的中心坐标,然后确定所述中心坐标与所述平面直角坐标系的原点的第三距离,根据所述第三距离,为每个所述集群分配对应的难度权重。比如,存在3个集群,集群a的第三距离为1,集群b的第三距离为3,集群c的距离为5。则所述集群总数为3,集群a的第三距离小于集群b的第三距离,集群b的第三距离小于集群c的第三距离,则集群a对应的难度权重为1/3,则集群b对应的难度权重为2/3,则集群c对应的难度权重为3/3。
151.在图2所描述的区块运算装置中,能够根据区块链节点的算力(运算能力)以及奖励进行计算难度调整,确保算力低的区块链节点也能够完成运算以及获得奖励,提高了区块链的去中心化。
152.如图3所示,图3是本技术实现区块运算方法的较佳实施例的电子设备的结构示意图。所述电子设备3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
153.本领域技术人员可以理解,图3所示的示意图仅仅是所述电子设备3的示例,并不构成对所述电子设备3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备3还可以包括输入输出设备、网络接入设备等。
154.所述电子设备3还包括但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personal digital assistant,pda)、游戏机、交互式网络电视(internet protocol television,iptv)、智能式穿戴式设备等。所述电子设备3所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtual private network,vpn)等。
155.所述至少一个处理器32可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述电子设备3的控制中心,利用各种接口和线路连接整个电子设备3的各个部分。
156.所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述电子设备3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备3的使用所创建的数据等。此
外,存储器31可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件等。
157.结合图1,所述电子设备3中的所述存储器31存储多个指令以实现一种区块运算方法,所述处理器32可执行所述多个指令从而实现:
158.根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群;
159.当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励;
160.根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度;
161.根据所述目标难度进行区块运算,并在所述区块运算完成后产生一个区块。
162.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述区块运算方法还包括:
163.获取每个所述区块链节点的算力以及奖励;
164.根据每个所述区块链节点的算力以及奖励,将每个所述区块链节点映射至平面直角坐标系中,获得每个所述区块链节点对应的坐标,其中,区块链节点的算力为横坐标,区块链的奖励为纵坐标。
165.作为一种可选的实施方式,所述根据所述节点算力、所述节点奖励、所述目标区块链节点的目标算力、所述目标区块链节点的目标奖励以及所述目标难度权重,确定所述目标区块链节点的目标难度包括:
166.确定与所述节点算力以及所述节点奖励均对应的节点坐标;
167.确定与所述目标区块链节点的目标奖励以及所述目标区块链节点的目标奖励均对应的目标坐标;
168.计算所述节点坐标与所述目标坐标之间的第二距离;
169.获取预设的第一距离,其中,所述第一距离为所述多个区块链节点中的最大的距离;
170.根据所述第一距离、所述第二距离以及所述目标集群对应的难度权重,确定所述目标难度。
171.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之前,所述处理器32可执行所述多个指令从而实现:
172.从所述多个区块链节点中,确定与所述平面直角坐标系的原点的原点距离最小的最小节点,以及确定与所述原点的原点距离最大的最大节点;
173.确定所述最小节点的原点距离与所述最大节点的原点距离的距离差值;
174.将所述距离差值确定为预设的所述第一距离。
175.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群之后以及所述当目标区块链节点接收到广播区块时,确定所述广播区块所携带的节点算力以及节点奖励之前,所述处理器32可执行所述多个指令从而实现:
176.确定每个所述集群的中心坐标;
177.确定所述中心坐标与所述平面直角坐标系的原点的第三距离;
178.根据所述第三距离,为每个所述集群分配对应的难度权重。
179.作为一种可选的实施方式,所述根据每个区块链节点的算力以及奖励,对多个区块链节点进行均值聚类,获得多个集群包括:
180.根据每个区块链节点的算力以及奖励,确定每个所述区块链节点对应的坐标;
181.从多个所述坐标中确定初始中心点;
182.根据所述初始中心点,对所述多个坐标进行分组,获得多个初始组群;
183.重新计算所述多个初始组群的中心,获得第一中心点;
184.若所述第一中心点与所述初始中心点一致,确定均值聚类完成,将所述多个初始组群确定为所述多个集群。
185.作为一种可选的实施方式,所述处理器32可执行所述多个指令从而实现:
186.若所述第一中心点与所述初始中心点不一致,根据所述第一中心点,对多个所述坐标重新进行分组,获得多个第一组群;
187.计算所述多个第一组群的中心,获得第二中心点;
188.若所述第二中心点与所述第一中心点一致,确定均值聚类完成,将所述多个第一组群确定为所述多个集群。
189.具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
190.在图3所描述的电子设备3中,能够根据区块链节点的算力(运算能力)以及奖励进行计算难度调整,确保算力低的区块链节点也能够完成运算以及获得奖励,提高了区块链的去中心化。
191.所述电子设备3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
192.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
193.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
194.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单
元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
195.对于本领域技术人员而言,显然本技术不限于上述示范性实施例的细节,而且在不背离本技术的精神或基本特征的情况下,能够以其他的具体形式实现本技术。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本技术的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本技术内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本技术中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
196.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照较佳实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
再多了解一些

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

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

相关文献