具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于大数据的区块链系统。其中,所述区块链系统可以包括第一区块链节点设备和多个第二区块链节点设备。
详细地,所述第一区块链节点设备可以与所述多个第二区块链节点设备分别通信连接,并且,各所述第二区块链节点设备之间也可以通信连接。如此,所述第一区块链节点设备可以对所述多个第二区块链节点设备进行管理(如权限授予、权限验证、权限收回和下发通知等),使得每一个所述第二区块链节点设备可以基于部署的目标区块链进行工作。
并且,所述第一区块链节点设备在确定需要进行设备管理权限更新处理时,还可以通过所述多个第二区块链节点设备确定新的第一区块链节点设备,以外第二区块链节点设备进行管理。
可以理解的是,所述第一区块链节点设备和所述多个第二区块链节点设备的具体类型不受限制,可以根据实际应用需求进行选择。
例如,在一种示例中,所述第一区块链节点设备和所述多个第二区块链节点设备可以包括,但不限于手机、电脑等终端设备,以及服务器。
结合图2,本发明实施例还提供一种可应用于上述区块链系统中的第一区块链节点设备的基于大数据的区块链节点权限控制方法。其中,所述基于大数据的区块链节点权限控制方法有关的流程所定义的方法步骤,可以由所述第一区块链节点设备实现。下面将对2所示的具体流程,进行详细阐述。
步骤S110,基于预设条件判断是否需要进行设备管理权限更新处理。
在本实施例中,所述第一区块链节点设备可以基于预设条件进行判断,以确定是否需要进行设备管理权限更新处理,即确定是否需要转移该第一区块链节点设备的设备管理权限。
其中,在确定需要进行所述设备管理权限更新处理时,执行步骤S120。
步骤S120,生成管理设备更新通知信息,并将该管理设备更新通知信息广播至每一个所述第二区块链节点设备。
在本实施例中,在基于步骤S110确定需要进行所述设备管理权限更新处理时,所述第一区块链节点设备可以生成管理设备更新通知信息,然后,可以将该管理设备更新通知信息广播至每一个所述第二区块链节点设备。
其中,每一个所述第二区块链节点设备可以用于基于所述管理设备更新通知信息生成管理设备更新指示信息,并将该管理设备更新指示信息发送给所述第二区块链节点设备。
步骤S130,基于每一个所述第二区块链节点设备生成的所述管理设备更新指示信息,生成管理设备标识通知信息。
在本实施例中,在基于步骤S120将管理设备更新通知信息广播至每一个所述第二区块链节点设备且接收到每一个所述第二区块链节点设备发送的管理设备更新指示信息之后,可以基于每一个所述第二区块链节点设备生成的所述管理设备更新指示信息,即基于多个管理设备更新指示信息,生成管理设备标识通知信息。
其中,所述管理设备标识通知信息可以用于指示将一个所述第二区块链节点设备作为新的第一区块链节点设备。
步骤S140,将所述管理设备标识通知信息广播至每一个所述第二区块链节点设备,以使所述第一区块链节点设备和所述多个第二区块链节点设备中作为所述新的第一区块链节点设备以外的各所述第二区块链节点设备,基于该新的第一区块链节点设备和部署的目标区块链进行工作。
在本实施例中,在基于步骤S130生成所述管理设备标识通知信息之后,所述第一区块链节点设备可以将该管理设备标识通知信息广播至每一个所述第二区块链节点设备,如此,所述第一区块链节点设备和所述多个第二区块链节点设备中作为所述新的第一区块链节点设备以外的各所述第二区块链节点设备,可以基于该新的第一区块链节点设备和部署的目标区块链进行工作,实现用于进行管理的第一区块链节点设备的动态更新。
通过上述方法,可以在确定需要进行设备管理权限更新处理时,重新确定新的第一区块链节点设备,以对第二区块链节点设备进行管理。如此,可以实现对用于进行管理的区块链节点设备的动态更新,从而改善现有技术中对于区块链节点的权限进行管控时存在不合理的问题。
第一方面,对于步骤S110需要说明的是,判断是否需要进行设备管理权限更新处理的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,步骤S110可以包括以下子步骤:
第一步,获取所述第一区块链节点设备的第一受信任信息集合、第二受信任信息集合和第三受信任信息集合,其中,该第一受信任信息集合包括历史上多个时间点每一个所述第二区块链节点设备对该第一区块链节点设备的信任程度信息,该第二受信任信息集合包括当前时刻每一个所述第二区块链节点设备对该第一区块链节点设备的信任程度信息,该第三受信任信息集合包括历史上最近一个时间点每一个所述第二区块链节点设备对该第一区块链节点设备的信任程度信息;
第二步,对所述第一受信任信息集合中的每一个信任程度信息进行处理(如加权均值计算,时间越早,对应的权重系数越小),得到该第一受信任信息集合的受信任程度代表信息,对所述第二受信任信息集合中的每一个信任程度信息进行处理(如加权均值计算,信任程度越小,对应的权重系数越大),得到该第二受信任信息集合的受信任程度代表信息,对所述第三受信任信息集合中的每一个信任程度信息进行处理(如均值计算),得到该第三受信任信息集合的受信任程度代表信息;
第三步,根据所述第一受信任信息集合的受信任程度代表信息和所述第二受信任信息集合的受信任程度代表信息,计算该第一受信任信息集合与该第二受信任信息集合之间的第一受信任相似度(如两种受信任程度代表信息之间的差值,差值越小,对应的受信任相似度越高),根据所述第三受信任信息集合的受信任程度代表信息和所述第二受信任信息集合的受信任程度代表信息,计算该第三受信任信息集合与该第二受信任信息集合之间的第二受信任相似度;
第四步,判断所述第一受信任相似度是否小于预设的第一目标相似度,并判断所述第二受信任相似度是否小于预设的第二目标相似度(该第二目标相似度既可以与该第一目标相似度相同,也可以与该第一目标相似度不同,如小于该第一目标相似度);
第五步,若所述第一受信任相似度小于所述第一目标相似度,且所述第二受信任相似度小于所述第二目标相似度,则判定需要进行设备管理权限更新处理。
又例如,在另一种可以替代的示例中,步骤S110可以包括子步骤11-子步骤17,其中,具体内容如下所述。
子步骤11,在每一次所述第一区块链节点设备对所述第二区块链节点设备进行管理工作之后,可以获取该第一区块链节点设备的管理工作间隔时长,其中,所述管理工作间隔时长为所述第一区块链节点设备对所述第二区块链节点设备进行管理工作(即当前进行管理工作)的时刻与所述第一区块链节点设备上一次对所述第二区块链节点设备进行管理工作的时刻之间间隔的时长。
子步骤12,在每一次所述第一区块链节点设备对所述第二区块链节点设备进行管理工作之后,且在当前获取到的全部所述管理工作间隔时长的数量大于2时,可以计算各所述管理工作间隔时长的时长离散程度信息(例如,可以先计算全部所述管理工作间隔时长的平均值,再基于该平均值计算平均差,从而得到各所述管理工作间隔时长的时长离散程度信息)。
子步骤13,在每一次所述第一区块链节点设备对所述第二区块链节点设备进行管理工作之后,若本次获取的所述管理工作间隔时长小于预设时长阈值,则基于该管理工作间隔时长和所述时长离散程度信息确定出第一目标间隔时长,其中,该时长离散程度信息越小,对应的所述第一目标间隔时长越小(例如,可以设置一个初始间隔时长,然后,基于所述时长离散程度信息对该初始间隔时长进行调整,得到调整间隔时长,再将该调整间隔时长与管理工作间隔时长进行相加,得到第一目标间隔时长)。
子步骤14,在经过所述第一目标间隔时长之后,确定需要进行设备管理权限更新处理(如此,可以开始执行上述的步骤S120)。
子步骤15,在每一次所述第一区块链节点设备对所述第二区块链节点设备进行管理工作之后,若本次获取的所述管理工作间隔时长大于或等于所述预设时长阈值,则基于该管理工作间隔时长和所述时长离散程度信息确定出第二目标间隔时长,其中,该时长离散程度信息越小,对应的所述第二目标间隔时长越大(例如,可以设置一个初始间隔时长,然后,基于时长离散程度信息对该初始间隔时长进行调整,得到调整间隔时长,再将该调整间隔时长与管理工作间隔时长进行相加,得到第二目标间隔时长)。
子步骤16,在经过所述第二目标间隔时长之后,判断在该第二目标时间间隔内所述第一区块链节点设备是否有对所述第二区块链节点设备进行管理工作。
子步骤17,若在所述第二目标时间间隔内所述第一区块链节点设备有对所述第二区块链节点设备进行管理工作(表明还是具有进行设备管理权限更新处理的必要性),则确定需要进行设备管理权限更新处理。
在上述示例中,为了进一步提高确定是否需要进行设备管理权限更新处理的准确性,在子步骤14中,可以进一步包括以下子步骤:
第一步,可以在经过所述第一目标间隔时长之后,获取每一个所述第二区块链节点设备对所述第一区块链节点设备的第一信任程度信息,得到多个第一信任程度信息;
第二步,可以按照接收到每一个所述第二区块链节点设备发送的所述第一信任层度信息的时间先后顺序,将所述多个第一信任程度信息进行排序,得到第一信任程度信息序列;
第三步,可以在所述第一信任程度信息序列中,获取时间最后的长度为第一目标序列长度的第一目标信息序列片段,其中,该第一目标信息序列片段中包括至少一个第一信任程度信息;
第四步,可以基于所述至少一个第一信任程度信息计算得到所述第一目标序列片段集合的第一目标信任程度代表信息(例如,可以进行均值计算或取最小值);
第五步,可以将所述第一目标信任程度代表信息与预设的第一信任阈值进行比较;
第六步,若所述第一目标信任程度代表信息小于所述第一信任阈值,可以确定需要进行设备管理权限更新处理。
基于前述的示例,为了使得可以更为全面地确定是否需要进行设备管理权限更新处理,在步骤S110中,可以进一步包括以下子步骤:
第一步,可以在每一次所述第一区块链节点设备对所述第二区块链节点设备进行管理工作之后,若当前获取到的全部所述管理工作间隔时长的数量不大于2,获取每一个所述第二区块链节点设备对该第一区块链节点设备的第二信任程度信息,得到多个第二信任程度信息;
第二步,可以按照接收到每一个所述第二区块链节点设备发送的所述第二信任层度信息的时间先后顺序,将所述多个第二信任程度信息进行排序,得到第二信任程度信息序列;
第三步,可以在所述第二信任程度信息序列中,获取时间最前的长度为第二目标序列长度的第二目标信息序列片段,其中,该第二目标信息序列片段中包括至少一个第二信任程度信息;
第四步,可以基于所述至少一个第二信任程度信息计算得到所述第二目标序列片段集合的第二目标信任程度代表信息(例如,可以进行均值计算或取最大值);
第五步,可以将所述第二目标信任程度代表信息与预设的第二信任阈值进行比较;
第六步,若所述第二目标信任程度代表信息小于所述第二信任程度阈值,可以确定需要进行设备管理权限更新处理。
可选地,在上述示例中,获取所述第二信任程度信息的具体方式不受限制,可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,可以基于以下子步骤获取所述第二信任程度信息:
首先,可以针对每一个所述第二区块链节点设备,获取该第二区块链节点设备发送的第一信息和第二信息,其中,所述第一信息包含所述第二区块链节点设备向所述第一区块链节点设备发送请求信息的应答成功率,所述第二信息包含所述第二区块链节点设备向所述第一区块链节点设备发送请求信息的应答成功平均时长(即每一次成功应答时所耗费时长的平均值,在一些示例中,还可以结合未成功应答的耗时,如将成功应答中耗时最长的时长作为每一次未成功应答的耗时);
其次,针对每一个所述第二区块链节点设备,基于该第二区块链节点设备发送的所述第一信息和所述第二信息加权(权重系数可以基于实际需求配置,如第一信息的权重系数可以大于第二信息的权重系数)计算得到该第二区块链节点设备对所述第一区块链节点设备的第二信任程度信息。
第二方面,对于步骤S130需要说明的是,生成所述管理设备标识通知信息的具体方式不受限制,也可以根据实际应用需求进行选择。
例如,在一种可以替代的示例中,为了能够保证基于重新确定的第一区块链节点设备进行管理工作时,具有较高的可信任程度、安全性更高,步骤S130可以包括子步骤31-子步骤39,其中,具体内容如下所述。
子步骤31,可以获取每一个所述第二区块链节点设备生成的所述管理设备更新指示信息中的节点设备信任关系,其中,每一个所述第二区块链节点设备对应的节点设备信任关系包括该第二区块链节点设备对其它的每一个所述第二区块链节点设备的信任程度信息。
子步骤32,可以针对每一个所述第二区块链节点设备,基于该第二区块链节点设备以外的其它第二区块链节点设备对该第二区块链节点设备的信任程度信息,形成该第二区块链节点设备的信任程度信息序列(如随机进行排序或按照预先对各第二区块链节点设备配置的序号进行排序),以得到多个所述信任程度信息序列。
子步骤33,可以针对每一个所述信任程度信息序列,按照预设的第一序列长度对该信任程度信息序列进行分割操作,形成多个第一信息序列片段,并基于该多个第一信息序列片段形成该信任程度信息序列的第一序列片段集合,以得到多个第一序列片段集合,其中,每一个所述第一信息序列片段中包括至少一个信任程度信息。
子步骤34,可以针对每一个所述第一序列片段集合,获取该第一序列片段集合中的一个第一信息序列片段(如随机或指定的,如第一个或最后一个等),以得到该第一信息序列片段包括的全部信任程度信息,其中,获取每一个所述第一信息序列片段的方式相同。
子步骤35,可以针对每一个所述第一序列片段集合,基于获取的全部信任程度信息计算得到该第一序列片段集合的第一信任程度代表信息(如均值计算或取最小值等),以得到多个第一信任程度代表信息。
子步骤36,可以针对每一个所述第一序列片段集合,将该第一序列片段集合的第一信任程度代表信息与预设信任程度信息进行比较。
子步骤37,针对每一个所述第一序列片段集合,当该第一序列片段集合的第一信任程度代表信息大于所述预设信任程度信息时,将该第一序列片段集合对应的第二区块链节点设备确定为第一候选区块链节点设备。
子步骤38,若所述第一候选区块链节点设备为至少一个,可以在至少一个所述第一候选区块链节点设备中确定目标第一候选区块链节点设备(如随机或对应的第一信任程度代表信息最大),并将该目标第一候选区块链节点设备作为新的第一区块链节点设备。
子步骤39,获得所述新的第一区块链节点设备的设备标识信息(如设备ID或IP地址等),并基于该设备标识信息生成管理设备标识通知信息。
可选地,在执行上述子步骤37之后,考虑到可能没有确定出第一候选区块链节点设备,使得无法确定新的第一区块链节点设备,因而,在一种可以替代的示例中,步骤S130还可以包括以下子步骤:
第一步,若未确定出所述第一候选区块链节点设备,可以针对每一个所述信任程度信息序列(基于上述的子步骤32形成),按照预设的第二序列长度(可以不同于所述第一序列长度)对该信任程度信息序列进行分割操作,形成多个第二信息序列片段,并基于该多个第二信息序列片段形成该信任程度信息序列的第二序列片段集合,以得到多个第二序列片段集合,其中,每一个所述第二信息序列片段中包括至少一个信任程度信息;
第二步,针对每一个所述第二序列片段集合,可以获取该第二序列片段集合中的一个第二信息序列片段(如随机或指定的一个,如第一个或最后一个),以得到该第二信息序列片段包括的全部信任程度信息,其中,获取每一个所述第二信息序列片段的方式相同;
第三步,针对每一个所述第二序列片段集合,可以基于获取的全部信任程度信息计算得到该第二序列片段集合的第二信任程度代表信息(如均值计算或取最小值),以得到多个第二信任程度代表信息;
第四步,针对每一个所述第二序列片段集合,可以将该第二序列片段集合的第二信任程度代表信息与所述预设信任程度信息进行比较;
第五步,针对每一个所述第二序列片段集合,当该第二序列片段集合的第二信任程度代表信息大于所述预设信任程度信息时,可以将该第二序列片段集合对应的第二区块链节点设备确定为第二候选区块链节点设备;
第六步,若所述第二候选区块链节点设备为至少一个,可以在至少一个所述第二候选区块链节点设备中确定目标第二候选区块链节点设备(如随机或对应的第二信任程度代表信息最大),并将该目标第二候选区块链节点设备作为新的第一区块链节点设备;
第七步,可以获得所述新的第一区块链节点设备的设备标识信息,并基于该设备标识信息生成管理设备标识通知信息。
可选地,在上述示例中,若确定的所述第二候选区块链节点设备为多个,可以基于以下子步骤确定出目标第二候选区块链节点设备:
第一步,针对每一个所述第二候选区块链节点设备,可以获取该第二候选区块链节点设备的计算资源使用率(如处理器和存储器的使用率)和该第二候选区块链节点设备曾经作为第一区块链节点设备的次数;
第二步,针对每一个所述第二候选区块链节点设备,可以基于该第二候选区块链节点设备的计算资源使用率得到该第二候选区块链节点设备在多个所述第二候选区块链节点设备中的第一排名信息,其中,计算资源使用率越高,对应的第一排名信息越高;
第三步,针对每一个所述第二候选区块链节点设备,可以基于该第二候选区块链节点设备作为第一区块链节点设备的次数得到该第二候选区块链节点设备在多个所述第二候选区块链节点设备中的第二排名信息,其中,作为第一区块链节点设备的次数越大,对应的第二排名信息越低;
第四步,针对每一个所述第二候选区块链节点设备,可以基于该第二候选区块链节点设备的第一排名信息和第二排名信息进行加权计算得到目标排名信息,其中,所述第一排名信息的权重系数可以大于所述第二排名信息的权重系数;
第五步,可以基于每一个所述第二候选区块链节点设备的目标排名信息,选择排名最高的一个第二候选区块链节点设备作为目标第二候选区块链节点设备。
在本发明实施例中,对应于上述的基于大数据的区块链节点权限控制方法,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序运行时执行上述基于大数据的区块链节点权限控制方法的各个步骤。
其中,前述计算机程序运行时执行的各步骤,在此不再一一赘述,可参考前文对所述基于大数据的区块链节点权限控制方法的解释说明。
综上所述,本发明提供的基于大数据的区块链节点权限控制方法及区块链系统,通过在确定需要进行设备管理权限更新处理时,重新确定新的第一区块链节点设备,以对第二区块链节点设备进行管理。如此,可以实现进行管理的区块链节点设备的动态更新,以改善现有技术中对于区块链节点的权限进行管控时存在不合理的问题,使得安全性能更高。
在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。