CN113641688B - 节点更新方法、相关装置及计算机程序产品 - Google Patents
节点更新方法、相关装置及计算机程序产品 Download PDFInfo
- Publication number
- CN113641688B CN113641688B CN202110800968.2A CN202110800968A CN113641688B CN 113641688 B CN113641688 B CN 113641688B CN 202110800968 A CN202110800968 A CN 202110800968A CN 113641688 B CN113641688 B CN 113641688B
- Authority
- CN
- China
- Prior art keywords
- node
- consensus
- consensus node
- target
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004590 computer program Methods 0.000 title abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本公开提供了节点更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及区块链、分布式存储和云计算等人工智能技术领域。该方法的一具体实施方式包括:响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点,并向该目标共识节点发送节点更新信息,该节点更新信息用于指示新增或删除该共识节点集合中的共识节点,控制该目标共识节点根据该节点更新信息执行对应的更新操作。该实施方式提供了一种共识节点更新方法,可以根据非存储端指定的共识节点来配置存储端一侧的共识节点,增强对存储端中的共识节点进行配置的灵活性。
Description
技术领域
本公开涉及计算机技术领域,具体涉及区块链、分布式存储和云计算等人工智能技术领域,尤其涉及节点更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
在云数据存储领域中,分布式块存储系统为了提供更高的数据可靠性,往往会利用多副本存储的形式对针对同一数据进行存储。
为了高效的实现同一数据的多副本存储,会采用分布式一致性协议来提升存储性能,基于分布式一致性协议下的共识节点的共识识别机制,可以快速、高效的在各共识节点中分别存入数据的副本,实现同一数据的多副本存储。
发明内容
本公开实施例提出了一种节点更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种节点更新方法,包括:响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点;向该目标共识节点发送节点更新信息,该节点更新信息用于指示新增或删除该共识节点集合中的共识节点;控制该目标共识节点根据该节点更新信息执行对应的更新操作。
第二方面,本公开实施例提出了一种节点更新装置,包括:目标共识节点确定单元,被配置成响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点;节点更新信息发送单元,被配置成向该目标共识节点发送节点更新信息,该节点更新信息用于指示新增或删除该共识节点集合中的共识节点;更新操作执行控制单元,被配置成控制该目标共识节点根据该节点更新信息执行对应的更新操作。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的节点更新方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的节点更新方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的节点更新方法。
本公开实施例提供的节点更新方法、装置、电子设备、计算机可读存储介质及计算机程序产品,响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点,并向该目标共识节点发送节点更新信息,该节点更新信息用于指示新增或删除该共识节点集合中的共识节点,控制该目标共识节点根据该节点更新信息执行对应的更新操作。
本公开提供了一种共识节点更新方法,可以根据非存储端指定的共识节点来配置存储端一侧的共识节点,增强对存储端中的共识节点进行配置的灵活性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种节点更新方法的流程图;
图3为本公开实施例提供的另一种节点更新方法的流程图;
图4为本公开实施例提供的再一种节点更新方法的流程图;
图5为本公开实施例提供的在一应用场景下的节点更新方法的效果示意图;
图6为本公开实施例提供的一种节点更新装置的结构框图;
图7为本公开实施例提供的一种适用于执行节点更新方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
此外,本公开涉及的技术方案中,若涉及到用户的个人信息,例如待存储共识数据为人脸图像等,此时所涉及的用户个人信息的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的节点更新方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如云存储类应用、远程协作类应用、即时通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
终端设备101(或终端设备102、103)通过内置的各种应用可以提供各种服务,以可以提供云端存储服务的云存储类应用为例,终端设备101在运行该云存储类应用时可实现如下效果:首先,终端设备101在响应接收到共识节点更新请求后,通过网络104从服务器105的共识节点集合中确定目标共识节点;然后,终端设备101向该目标共识节点发送节点更新信息,该节点更新信息用于指示服务器105新增或删除共识节点集合中的共识节点;最后,终端设备101控制该目标共识节点根据该节点更新信息执行对应的更新操作,完成新增或删除共识节点集合中的共识节点的更新操作。
需要指出的是,共识节点即可除可以从服务器通过105通过网络104获取到之外,也可以通过各种方式预先存储在终端设备101、102、103本地。因此,当终端设备101、102、103本地检测到本地已经存储有这些数据时(例如开始处理之前留存的共识节点集合的目录信息等),可选择直接从本地获取这些数据。
考虑到方便用户进行云存储使用,因此本公开后续各实施例所提供的节点更新方法一般由更方便用户使用、上传待存储共识数据的终端设备101、102、103来执行,相应地,节点更新装置一般也设置于终端设备101、102、103中。但同时需要指出的是,在上述终端设备体现为存储能力较强的设备时,也可以在终端设备101、102、103中设置多个共识节点,以为服务器105所提供的待存储共识数据实现存储服务,此时,节点更新装置也可以设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,图2为本公开实施例提供的一种节点更新方法的流程图,其中流程200包括以下步骤:
步骤201,响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点。
在本实施例中,由节点更新方法的执行主体(例如图1所示的终端设备101、102、103)在响应于接收到共识节点请求时,从存储端(例如图1所示的服务器105)的共识节点集合中确定目标共识节点。
其中,共识节点更新请求可以根据使用上述执行主体的用户根据实际需求进行生成,通常可以基于人机交互的方式,以从用户处获取到该共识节点更新请求,例如在存储端当前的共识节点集合中仅有3个共识节点时,用户期望至少使用4个共识节点进行存储,则可对应的生成共识节点更新请求,以要求存储端进行共识节点配置,以提供最少4个共识节点。
应当理解的是,存储端的共识节点集合中包括有该存储端当前存在的各个共识节点,该存储端的共识节点集合可以由上述执行主体直接从本地的存储设备获取,也可以从非本地的存储设备(例如图1所示的服务器105,或其他非上述执行主体的终端设备)中获取。本地的存储设备可以是设置在上述执行主体内的一个数据存储模块,例如本地硬盘,通过预先设置获取周期,在满足该获取周期时,由存储端定时进行发送的方式预存在上述执行主体本地,在此种情况下,存储端的共识节点集合可以在本地快速读取到;非本地的存储设备还可以为其它任何被设置用于存储数据的电子设备,例如服务器、一些用户终端等,在此情况下,上述执行主体可以通过向该电子设备发送获取命令来获取所需的存储端的共识节点集合。
步骤202,向目标共识节点发送节点更新信息。
在本实施例中,上述执行主体在步骤201中确定有目标共识节点后,获取与该目标共识节点之间的传输通路,并根据该传输通路向该目标共识节点发送节点更新信息,该节点更新信息与步骤201中的共识节点更新请求中的内容相对应,用于指示新增或删除共识节点集合中的共识节点。
步骤203,控制目标共识节点根据节点更新信息执行对应的更新操作。
在本实施例中,在上述执行主体向该目标共识节点向该目标节点发送节点更新信息后,控制目标共识节点根据该节点更新信息中指示的操作对存储端的共识节点集合中的共识节点进行更新。
其中,可以控制存储端将该目标共识节点确定为分布式一致性协议框架下共识节点的主节点(领导节点),以通过该主节点对该存储端中分布式一致性协议框架下的共识节点进行新增、删除等操作。
本公开实施例提供的节点更新方法,可以根据非存储端指定的共识节点来配置存储端一侧的共识节点,增强对存储端中的共识节点进行配置的灵活性。
在本实施例的一些可选的实现方式中,在该节点更新信息用于指示新增共识节点集合中的共识节点时,为了使得新增的共识节点与现有的共识节点中存储的共识数据一致,以实现各共识节点的数据共识,该方法还包括:控制新增的共识节点向该目标共识节点发送数据共识请求,并控制该目标共识节点响应该数据共识请求后,发送该目标共识节点中存储的共识数据至新增的共识节点,为该新增的共识节点中添加该共识数据后,实现现有的各共识节点之间的数据共识。
在本实施例的一些可选的实现方式中,为了使得新增的共识节点与现有的共识节点中存储的共识数据一致,还可以通过与该新增的共识节点通信能力、传输速率最高的共识节点向该新增的共识节点发送共识数据,以在实现共识节点的数据共识的前提下,进一步提升该过程的效率,此时,该方法还包括:分别获取当前的共识节点集合中的各共识节点与新增的共识节点之间的传输速率后,确定与新增的共识节点之间传输速率最高的共识节点为优选节点,并控制该优选节点将存储的共识数据发送给新增的共识节点,为该新增的共识节点中添加该共识数据后,实现现有的各共识节点之间的数据共识。
请参考图3,图3为本公开实施例提供的另一种节点更新方法的流程图,其中流程300包括以下步骤:
步骤301,响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点。
步骤302,向目标共识节点发送节点更新信息。
步骤303,控制目标共识节点根据节点更新信息执行对应的更新操作。
以上步骤301-303与如图2所示的步骤201-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤304,控制目标共识节点在完成更新操作后,返回更新反馈信息。
在本实施例中,控制该目标共识节点在完成更新操作后,向上述执行主体反馈更新反馈信息,以便于告知上述执行主体在存储端已完成共识节点的更新操作。
步骤305,响应于接收到更新反馈信息,向当前的共识节点集合中的各共识节点分别发送测试数据。
在本实施例中,在上述执行主体接收到该更新反馈信息后,向当前的共识节点集合(即完成共识节点的更新操作后得到的共识节点集合)中的各个共识节点分别发送测试数据,以通过共识节点是否可顺利存储该测试数据的方式测试对应的共识节点的运行状况。
步骤306,响应于当前的共识节点集合中存储有测试数据的共识节点的数量超过第一预设比例,生成与目标共识节点的节点日志。
其中,为了进一步提升测试质量、减少测试误差,还可以连续发送多组不同的测试数据对各共识节点进行测试,在各组测试数据下,均能当前的共识节点集合中存储有测试数据的共识节点的数量超过第一预设比例时,生成与目标共识节点的节点日志。
在本实施例中,在基于上述步骤305中向各共识节点中发送存储数据后,监控各共识节点中存储该测试数据的情况,在可顺利存储该测试数据的共识节点的数量占比超过该当前的共识节点集合中总共共识节点的数量超过第一预设比例时,确定该共识节点集合满足数据共识要求,确定本次的更新操作完成,并生成该目标共识节点的节点日志,该节点日志用于记录该目标共识节点接收到的节点更新信息。
其中,第一预设比例根据可以根据实际需求进行设置,例如在存储端实际所能提供的共识节点有限,但所需的共识节点数量较高时,可对应的该第一预设比例为100%、90%等,在实际运用中,在存储端所提供的共识节点相对于需求的共识节点数量充足时,也根据最低有效数量(Quorum)机制来设置第一预设比例,以提升测试效率。
本实施例所提供的节点更新方法,在上述图2所对应的实施例的基础上,在完成对共识节点集合中的共识节点的更新操作后,可以通过向当前的共识节点集合中的各共识节点发送测试数据的方式对各共识节点的运行状况进行测试,并控制运行状况正常的共识节点向上述执行主体进行反馈,在共识节点集合中运行状况正常的共识节点的数量满足要求时,生成与目标共识节点对应的节点日志,以便于相关人员了解执行过的更新操作。
在本实施例的一些可选的实现方式中,为了相关人员更全面的了解到曾作为目标共识节点使用的共识节点,以及在该共识节点作为目标共识节点所执行过的操作,便于后续基于共识节点作为目标共识节点的次数对共识节点进行相关评价,还可以在确定存在有节点日志的共识节点后,获取共识节点的描述信息(该描述信息通常包括对应共识节点的名称、端口地址等用于指示该共识节点的信息)和与该共识节点对应的节点日志,并建立两者之间的对应关系后,生成用于记录的更新日志,以便于根据该日志可了解到曾作为目标共识节点的共识节点,以及该共识节点作为目标共识节点时所对应的更新操作。
在本实施例的一些可选的实现方式中,生成更新日志后,该方法还包括:基于该更新日志确定各共识节点被确定为目标共识节点的历史次数;根据该历史次数确定各共识节点的推荐优先级排序,并基于该推荐优先级排序推荐后续的目标共识节点。
具体的,根据该更新日志确定各共识节点曾被确定为目标共识节点的历史次数,并根据该历史次数对各共识节点作为目标共识节点的优先级进行排序,以便于后续根据该推荐优先级排序进行目标共识节点推荐,确定目标共识节点,其中,在根据历史次数对各共识节点作为目标共识节点的优先级进行排序时,还可以结合实际的需求来调整优先级排序的规则,决定历史次数较多的共识节点的优先级排序较高或历史次数较少的共识节点的优先级排序较高,以结合实际的需求来匹配优质的目标共识节点。
例如,在实际的需求为选取稳定性较高的共识节点作为目标共识节点时,则可根据各共识节点曾被确定为目标共识节点的历史次数由高至低进行排序后,根据历史次数由高至低的顺序对应的确定推荐优先级排序由高至低,以确定被确定为目标共识节点次数最多的共识节点的作为目标共识节点的稳定性较高,以生成推荐该被确定为目标共识节点次数最多的共识节点作为本次的目标共识节点。
请参考图4,图4为本公开实施例提供的再一种节点更新方法的流程图,在将该目标共识节点确定为分布式一致性协议框架下共识节点的主节点(领导节点)时,后续还可以利用该目标共识节点进行待存储共识数据的下发操作,无需存储端再进行主节点的设置、推举,以节省存储端的计算资源的同时,还可以降低存储端的计算负担,以便于存储端的轻量化,其中,流程400包括以下步骤:
步骤401,响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点。
步骤402,向目标共识节点发送节点更新信息。
步骤403,控制目标共识节点根据节点更新信息执行对应的更新操作。
以上步骤401-403与如图2所示的步骤201-203一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤404,向目标共识节点发送待存储共识数据。
步骤405,控制目标共识节点分别向当前的共识节点集合中的各非目标共识节点发送许可请求。
在本实施例中,在基于上述步骤404的基础上,公知该目标共识节点分别向当前的共识节点集合中的各个非目标共识节点发送许可请求,在各非目标共识节点接收到该许可请求后,进行与该目标共识节点之间的通信速率的读取。
步骤406,控制各非目标共识节点在各自与目标共识节点的通信速率超过预设阈值时,返回许可信息。
在本实施例中,控制各非目标共识节点在各自完成与目标共识节点之间的通信速率读取后,若该通信速率超过预设阈值,则向上述执行主体返回许可信息,该许可信息用于指示对应的非目标共识节点与目标共识节点之间的通信速率满足需求,即可用过该目标共识节点向该目标非共识节点发送待存储共识数据。
步骤407,响应于返回许可信息的非目标节点的数量占比超过第二预设比例,控制目标共识节点将待存储共识数据同步至各非目标共识节点。
在本实施例中,响应于返回许可信息的非目标节点的数量占比超过第二预设比例时,确定本次确定的目标共识节点适合用于发送待存储共识数据至各个非目标共识节点,相应的,控制该目标共识节点将待存储共识数据同步至各非目标共识节点,实现各共识节点对于该待存储共识数据的存储、共识。
其中,在目标共识节点或存储端用于与上述执行主体相应的能力时,也可以由目标共识节点或存储终端判断是否通过该目标共识节点向各个非目标共识节点发送待存储共识数据。
进一步的,在判断上述目标共识节点不适合发送待存储共识数据至各个非目标共识节点后,则该目标共识节点可向存储端发出推举请求以由存储端指示各共识节点推举出新的目标共识节点,或由存储端直接推举新的目标共识节点,由旧的目标共识节点将待存储共识数据给该新的目标共识节点后,由该新的目标共识节点进行待存储共识数据的发送。
在实践中,也可以在判断上述目标共识节点不适合发送待存储共识数据至各个非目标共识节点后,由目标共识节点或存储端向上述执行主体进行反馈,以便于上述执行主体重新确定用于向各非目标共识节点发送待存储共识数据的新的目标共识节点。
本实施例在上述图2所示的实施例的基础上,进一步的利用该目标共识节点进行待存储共识数据的发送,并通过许可请求、许可信息的方式对存储端中各非目标共识节点进行询问,以确定本次确定的目标共识节点与各非目标共识节点之间的通信速率、交互能力适合时,利用本次确定的目标共识节点进行待存储共识数据的下发操作,无需存储端再进行主节点的设置、推举,节省存储端的运算资源。
在上述任一实施例的基础上,为了提升上述执行主体确定到的目标共识节点的质量,可以基于各共识节点历史、当前的运行状态信息来对各共识节点进行评价,此时,从存储端的共识节点集合中确定目标共识节点,包括:分别获取存储端的共识节点集合中各共识节点的运行状态信息;基于该运行状态信息确定目标共识节点。
具体的,分别获取存储端的共识节点集合中的各个共识节点的运行状态信息,该运行状态信息至少可以包括共识节点与上述执行主体之间的通信速率、共识节点的剩余存储容量、共识节点的存储通道损坏比例、共识节点的历史故障数等,根据获取到的运行状态信息确定目标共识节点。
其中,可以为不同的运行状态信息设置相应的评分标准,并根据各状态信息对实际需求的影响程度设置权重系数,并根据该权重技术对各运行状态信息对应的评分进行加权后,对加权后得到的评分数值进行排序,以确定优选的目标共识节点。
为加深理解,本公开还结合一个具体应用场景,在该应用场景下,存储端A的共识节点集合中包括共识节点A1、A2、A3,节点更新方法的执行主体选择其中的共识节点A1作为目标共识节点,以实现为存储端A的共识节点集合中添加共识节点A4的操作,该过程具体如下:
首先,节点更新方法的执行主体选择共识节点A1作为目标共识节点。
然后,该执行主体向共识节点A1发出节点更新信息,该节点更新信息用于指示在存储端A的共识节点集合中新增共识节点A4。
接下来,该执行主体控制该目标共识节点根据该节点更新信息执行在存储端A的共识节点集合中新增共识节点A4的更新操作,并控制该共识节点A1完成在存储端A的共识节点集合中新增共识节点A4的更新操作后,返回更新反馈信息。
进一步,在该执行主体接收到共识节点A1返回的反馈信息后,向共识节点A1、A2、A3、A4分别发送测试数据,测试数据分为B1、B2、B3,并设置第一预设比例为60%后,监控共识节点A1、A2、A3、A4对于B1、B2、B3的存储情况。
最后,如图5中所示,存有测试数据B1的共识节点为A1、A2、A3、A4,存有测试数据B2的共识节点为A2、A3、A4,存有测试数据B3的共识节点为A1、A3、A4,因此可确定对于测试数据B1、B2、B3中任一测试数据均满足第一预设比例的要求,生成与共识节点A1对应的节点日志,用以记录本次通过共识节点A1进行了新增共识节点A4的操作。
进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种节点更新装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的节点更新装置600可以包括:目标共识节点确定单元601、节点更新信息发送单元602、更新操作执行控制单元603。其中,目标共识节点确定单元601,被配置成响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点;节点更新信息发送单元602,被配置成向该目标共识节点发送节点更新信息,该节点更新信息用于指示新增或删除该共识节点集合中的共识节点;更新操作执行控制单元603,被配置成控制该目标共识节点根据该节点更新信息执行对应的更新操作。
在本实施例中,节点更新装置600中:目标共识节点确定单元601、节点更新信息发送单元602、更新操作执行控制单元603的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:反馈信息生成控制单元,被配置成控制该目标共识节点在完成该更新操作后,返回更新反馈信息;测试数据发送单元,被配置成响应于接收到该更新反馈信息,向当前的共识节点集合中的各共识节点分别发送测试数据;节点日志生成单元,被配置成响应于当前的共识节点集合中存储有该测试数据的共识节点的数量超过第一预设比例,生成与该目标共识节点的节点日志,该节点日志用于记录该节点更新信息。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:更新日志生成单元,被配置成基于存在节点日志的共识节点的描述信息和对应的节点日志,生成更新日志。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:历史数据统计单元,被配置成基于该更新日志确定各共识节点被确定为目标共识节点的历史次数;目标共识节点推荐单元,被配置成根据该历史次数确定各共识节点的推荐优先级排序,并基于该推荐优先级排序推荐后续的目标共识节点。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:数据共识请求发送控制单元,被配置成响应于该节点更新信息用于指示新增该共识节点集合中的共识节点,控制新增的共识节点向该目标共识节点发送数据共识请求;第一共识数据发送控制单元,被配置成控制该目标共识节点响应该数据共识请求后,发送存储的共识数据。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:传输速率获取单元,被配置成响应于该节点更新信息用于指示新增该共识节点集合中的共识节点,分别获取当前的共识节点集合中的各共识节点与新增的共识节点之间的传输速率;优选节点确定单元,被配置成确定与新增的共识节点之间传输速率最高的共识节点为优选节点;第二共识数据发送控制单元,被配置成控制该优选节点将存储的共识数据发送给新增的共识节点。
在本实施例的一些可选的实现方式中,该节点更新装置600还包括:待存储数据发送单元,被配置成向该目标共识节点发送待存储共识数据;许可请求发送控制单元,被配置成控制该目标共识节点分别向当前的共识节点集合中的各非目标共识节点发送许可请求;许可信息返回控制单元,被配置成控制各非目标共识节点在各自与该目标共识节点的通信速率超过预设阈值时,返回许可信息;待存储数据共识控制单元,被配置成响应于返回该许可信息的非目标节点的数量占比超过第二预设比例,控制该目标共识节点将该待存储共识数据同步至各非目标共识节点。
在本实施例的一些可选的实现方式中,该目标共识节点确定单元601包括:运行状态信息获取子单元,被配置成分别获取存储端的共识节点集合中各共识节点的运行状态信息;目标共识节点确定子单元,被配置成基于该运行状态信息确定目标共识节点。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的节点更新装置,可以根据非存储端指定的共识节点来配置存储端一侧的共识节点,增强对存储端中的共识节点进行配置的灵活性。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如节点更新方法。例如,在一些实施例中,节点更新方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的节点更新方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行节点更新方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。服务器也可以分为分布式系统的服务器,或者是结合了区块链的服务器。
根据本公开实施例的技术方案,可以根据非存储端指定的共识节点来配置存储端一侧的共识节点,增强对存储端中的共识节点进行配置的灵活性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (16)
1.一种节点更新方法,包括:
响应于接收到共识节点更新请求,分别获取存储端的共识节点集合中各共识节点的运行状态信息,其中,所述运行状态信息包括以下至少一项:本地与所述各共识节点之间的通信速率、所述各共识节点的剩余存储容量、所述各共识节点的存储通道损坏比例、所述各共识节点的历史故障数;
基于所述运行状态信息确定目标共识节点;
向所述目标共识节点发送节点更新信息,所述节点更新信息用于指示新增或删除所述共识节点集合中的共识节点;
控制所述目标共识节点根据所述节点更新信息执行对应的更新操作。
2.根据权利要求1所述的方法,还包括:
控制所述目标共识节点在完成所述更新操作后,返回更新反馈信息;
响应于接收到所述更新反馈信息,向当前的共识节点集合中的各共识节点分别发送测试数据;
响应于当前的共识节点集合中存储有所述测试数据的共识节点的数量超过第一预设比例,生成与所述目标共识节点的节点日志,所述节点日志用于记录所述节点更新信息。
3.根据权利要求2所述的方法,还包括:
基于存在节点日志的共识节点的描述信息和对应的节点日志,生成更新日志。
4.根据权利要求3所述的方法,还包括:
基于所述更新日志确定各共识节点被确定为目标共识节点的历史次数;
根据所述历史次数确定各共识节点的推荐优先级排序,并基于所述推荐优先级排序推荐后续的目标共识节点。
5.根据权利要求1所述的方法,响应于所述节点更新信息用于指示新增所述共识节点集合中的共识节点,还包括:
控制新增的共识节点向所述目标共识节点发送数据共识请求;
控制所述目标共识节点响应所述数据共识请求后,发送存储的共识数据。
6.根据权利要求1所述的方法,响应于所述节点更新信息用于指示新增所述共识节点集合中的共识节点,还包括:
分别获取当前的共识节点集合中的各共识节点与新增的共识节点之间的传输速率;
确定与新增的共识节点之间传输速率最高的共识节点为优选节点;
控制所述优选节点将存储的共识数据发送给新增的共识节点。
7.根据权利要求1所述的方法,还包括:
向所述目标共识节点发送待存储共识数据;
控制所述目标共识节点分别向当前的共识节点集合中的各非目标共识节点发送许可请求;
控制各非目标共识节点在各自与所述目标共识节点的通信速率超过预设阈值时,返回许可信息;
响应于返回所述许可信息的非目标节点的数量占比超过第二预设比例,控制所述目标共识节点将所述待存储共识数据同步至各非目标共识节点。
8.一种节点更新装置,包括:
目标共识节点确定单元,所述目标共识节点确定单元,包括:运行状态信息获取子单元,被配置成响应于接收到共识节点更新请求,分别获取存储端的共识节点集合中各共识节点的运行状态信息,其中,所述运行状态信息包括以下至少一项:本地与所述各共识节点之间的通信速率、所述各共识节点的剩余存储容量、所述各共识节点的存储通道损坏比例、所述各共识节点的历史故障数;目标共识节点确定子单元,被配置成基于所述运行状态信息确定目标共识节点;
被配置成响应于接收到共识节点更新请求,从存储端的共识节点集合中确定目标共识节点;
节点更新信息发送单元,被配置成向所述目标共识节点发送节点更新信息,所述节点更新信息用于指示新增或删除所述共识节点集合中的共识节点;
更新操作执行控制单元,被配置成控制所述目标共识节点根据所述节点更新信息执行对应的更新操作。
9.根据权利要求8所述的装置,还包括:
反馈信息生成控制单元,被配置成控制所述目标共识节点在完成所述更新操作后,返回更新反馈信息;
测试数据发送单元,被配置成响应于接收到所述更新反馈信息,向当前的共识节点集合中的各共识节点分别发送测试数据;
节点日志生成单元,被配置成响应于当前的共识节点集合中存储有所述测试数据的共识节点的数量超过第一预设比例,生成与所述目标共识节点的节点日志,所述节点日志用于记录所述节点更新信息。
10.根据权利要求9所述的装置,还包括:
更新日志生成单元,被配置成基于存在节点日志的共识节点的描述信息和对应的节点日志,生成更新日志。
11.根据权利要求10所述的装置,还包括:
历史数据统计单元,被配置成基于所述更新日志确定各共识节点被确定为目标共识节点的历史次数;
目标共识节点推荐单元,被配置成根据所述历史次数确定各共识节点的推荐优先级排序,并基于所述推荐优先级排序推荐后续的目标共识节点。
12.根据权利要求8所述的装置,还包括:
数据共识请求发送控制单元,被配置成响应于所述节点更新信息用于指示新增所述共识节点集合中的共识节点,控制新增的共识节点向所述目标共识节点发送数据共识请求;
第一共识数据发送控制单元,被配置成控制所述目标共识节点响应所述数据共识请求后,发送存储的共识数据。
13.根据权利要求8所述的装置,还包括:
传输速率获取单元,被配置成响应于所述节点更新信息用于指示新增所述共识节点集合中的共识节点,分别获取当前的共识节点集合中的各共识节点与新增的共识节点之间的传输速率;
优选节点确定单元,被配置成确定与新增的共识节点之间传输速率最高的共识节点为优选节点;
第二共识数据发送控制单元,被配置成控制所述优选节点将存储的共识数据发送给新增的共识节点。
14.根据权利要求8所述的装置,还包括:
待存储数据发送单元,被配置成向所述目标共识节点发送待存储共识数据;
许可请求发送控制单元,被配置成控制所述目标共识节点分别向当前的共识节点集合中的各非目标共识节点发送许可请求;
许可信息返回控制单元,被配置成控制各非目标共识节点在各自与所述目标共识节点的通信速率超过预设阈值时,返回许可信息;
待存储数据共识控制单元,被配置成响应于返回所述许可信息的非目标节点的数量占比超过第二预设比例,控制所述目标共识节点将所述待存储共识数据同步至各非目标共识节点。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的节点更新方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的节点更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800968.2A CN113641688B (zh) | 2021-07-15 | 2021-07-15 | 节点更新方法、相关装置及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110800968.2A CN113641688B (zh) | 2021-07-15 | 2021-07-15 | 节点更新方法、相关装置及计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641688A CN113641688A (zh) | 2021-11-12 |
CN113641688B true CN113641688B (zh) | 2024-01-09 |
Family
ID=78417434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110800968.2A Active CN113641688B (zh) | 2021-07-15 | 2021-07-15 | 节点更新方法、相关装置及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641688B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455291B (zh) * | 2022-09-15 | 2023-05-05 | 中航信移动科技有限公司 | 一种服务器标识的显示方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923909A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备及存储介质 |
CN111522874A (zh) * | 2020-03-20 | 2020-08-11 | 金蝶软件(中国)有限公司 | 区块链共识方法、装置、计算机设备和存储介质 |
CN112418859A (zh) * | 2020-12-04 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 区块链的共识方法及装置、电子设备和可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531975B2 (en) * | 2018-04-13 | 2022-12-20 | International Business Machines Corporation | Network node management on a blockchain |
CN110602096B (zh) * | 2019-09-12 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
-
2021
- 2021-07-15 CN CN202110800968.2A patent/CN113641688B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923909A (zh) * | 2018-07-02 | 2018-11-30 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备及存储介质 |
CN111522874A (zh) * | 2020-03-20 | 2020-08-11 | 金蝶软件(中国)有限公司 | 区块链共识方法、装置、计算机设备和存储介质 |
CN112418859A (zh) * | 2020-12-04 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 区块链的共识方法及装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113641688A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170329655A1 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
KR102339747B1 (ko) | 시뮬레이터, 시뮬레이션 장치, 및 시뮬레이션 방법 | |
KR20210156243A (ko) | 딥러닝 프레임워크의 훈련 방법, 장치 및 저장 매체 | |
CN113641688B (zh) | 节点更新方法、相关装置及计算机程序产品 | |
CN113420275B (zh) | 数据连接处理方法、相关装置及计算机程序产品 | |
CN116594563A (zh) | 分布式存储扩容方法、装置、电子设备和存储介质 | |
CN116540938A (zh) | 数据读取方法、装置、分布式存储系统、设备和存储介质 | |
EP4178170A1 (en) | Method and apparatus for updating instance configuration, storage medium, and program product | |
CN113747423B (zh) | 云手机状态同步方法、装置、设备、存储介质及程序产品 | |
KR102571517B1 (ko) | 트래픽 조정 방법 및 장치 | |
CN114172998B (zh) | 一种文件传输方法、装置、电子设备及存储介质 | |
CN112860796B (zh) | 用于同步数据的方法、装置、设备以及存储介质 | |
CN115543416A (zh) | 一种配置更新方法、装置、电子设备及存储介质 | |
CN113419865A (zh) | 云资源处理方法、相关装置及计算机程序产品 | |
CN113434218A (zh) | 微服务配置方法、装置、电子设备和介质 | |
CN116440504B (zh) | 游戏资源处理方法、装置及存储介质 | |
CN114584605B (zh) | 一种业务分发方法、装置、电子设备及存储介质 | |
CN115174447B (zh) | 一种网络通信方法、装置、系统、设备及存储介质 | |
CN113360689B (zh) | 图像检索系统、方法、相关装置及计算机程序产品 | |
CN115034895A (zh) | 一种区块链节点的管理方法、装置及电子设备 | |
CN117201483A (zh) | 文件传输方法、装置、电子设备以及存储介质 | |
CN117573311A (zh) | 有状态服务处理方法、装置、设备、可读存储介质及产品 | |
CN116132418A (zh) | 一种流媒体传输方法、装置、电子设备及存储介质 | |
CN115712679A (zh) | 一种数据处理系统、方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |