节点的版本升级方法、装置和系统的制作方法_2

文档序号:9455694阅读:来源:国知局
[0076]图2是本发明一个实施例提供的节点的版本升级方法的方法流程图。
[0077]图3A是本发明另一个实施例提供的节点的版本升级方法的方法流程图。
[0078]图3B是本发明另一个实施例提供的节点的版本升级方法的另一种方法流程图。
[0079]图4是本发明另一个实施例提供的节点的版本升级方法的方法流程图。
[0080]图5是本发明一个实施例提供的节点的版本升级装置的结构方框图。
[0081]图6是本发明另一个实施例提供的节点的版本升级装置的结构方框图。
[0082]图7是本发明一个实施例提供的节点的版本升级装置的结构方框图。
[0083]图8是本发明另一个实施例提供的节点的版本升级装置的结构方框图。
[0084]图9是本发明一个实施例提供的节点的版本升级装置的结构方框图。
[0085]图10是本发明另一个实施例提供的节点的版本升级装置的结构方框图。
【具体实施方式】
[0086]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0087]请参考图1,其示出了本发明各个实施例提供的节点的版本升级方法所涉及的实施环境的示意图。如图1所示,该实施环境中可以包括N个节点,N>2。当需要升级网络系统时,需要对图中的N个节点进行升级。
[0088]N个节点中的一部分节点可以互为邻居节点。邻居节点是指与自身存在业务交互,和/或,处于同一子网络的节点。
[0089]实际应用中,网络系统中的各个节点可以被设计人员按照预设规则编号,编号相同或者相邻的节点互为邻居节点。其中,预设规则包括:节点所处的地域,和/或,节点所能实现的功能;且编号相同的节点可以为优选的邻居节点。
[0090]以预设规则为节点所处的地域来举例说明,结合图1,N个节点中节点I至节点20被设置在无锡,节点21至节点50被设置在上海,而节点51至节点N被设置在北京。则图1中处于无锡的20个节点的编号可以为‘1’、处于上海的30个节点的编号可以为‘2’,而处于北京的N-50个节点的编号可以为‘3’。则以确定节点3的邻居节点为例,节点3的邻居节点可以包括编号为‘I’的其它19个节点以及编号为‘2’的30个节点,且编号为‘I’的19个节点为节点3的优选邻居节点。
[0091]请参考图2,其示出了本发明一个实施例提供的节点的版本升级方法的方法流程图,本实施例以该节点的版本升级方法用于对图1所示的实施环境中的节点进行升级来举例说明。如图2所示,该节点的版本升级方法可以包括:
[0092]步骤201,第二节点获取升级文件。
[0093]步骤202,第二节点根据升级文件执行版本升级。
[0094]节点中运行有用于实现各种功能的程序,设计人员可以根据实际需求对各个节点所需实现的功能进行版本更新。且本实施例也正是以版本升级为对节点中运行的程序进行版本升级来举例说明,可选地,该版本升级还可以指对节点的其他内容进行升级,本实施例对此并不做限定。
[0095]步骤203,在升级完毕后,第二节点向N个节点中的i个待升级的邻居节点发送版本升级指令,i个待升级的邻居节点中包含第一节点。
[0096]版本升级指令用于指示i个待升级的邻居节点执行版本升级,I ( i〈N_l,N>2。另,图2只示出i个待升级的邻居节点中的第一节点,其它节点并未示出。
[0097]步骤204,第一节点接收N个节点中已升级的第二节点发送的版本升级指令。
[0098]步骤205,第一节点根据版本升级指令获取升级文件。
[0099]步骤206,第一节点根据升级文件执行版本升级。
[0100]综上所述,本实施例提供的节点的版本升级方法,通过接收N个节点中已升级的邻居节点发送的版本升级指令,根据版本升级指令执行版本升级,并在升级完毕后,向i个待升级的邻居节点继续发送版本升级指令,进而通过逐点传播的方式升级N个节点中的各个节点。解决了现有技术中需要耗用中心节点的大量资源的问题。达到了可以降低单个节点所需耗用的资源的效果。另外,通过逐点传播的方式来升级N个节点中的各个节点,也避免了现有技术中中心节点批量升级各个下属节点时升级可靠性和稳定性较差的问题;达到了可以保证升级的可靠性以及稳定性的效果。
[0101]基于上述实施例提供的节点的版本升级方法,在图1中的节点I升级完毕之后,节点I可以向自己的邻居节点(节点2和节点3)发送版本升级指令,节点2和节点3执行升级。升级后的节点2向自己的邻居节点(节点5和节点6)发送版本升级指令,升级后的节点3向自己的邻居节点(节点4和节点7)发送版本升级指令;节点5、节点6、节点4和节点7接收到版本升级指令之后执行升级。此后,升级后的节点5、节点6、节点4和节点7分别向自己的邻居节点继续发送版本升级指令,直至图1中的N个节点全部升级完毕。其中,在已升级的节点触发邻居节点升级之后,已升级的节点还可以周期性的继续触发其他邻居节点进行升级。比如,节点I在发送版本升级指令至节点2和节点3之后,节点I可以间隔3S后继续向待升级的邻居节点如节点10和节点11发送版本升级指令。
[0102]下述实施例以第二节点升级后触发第一节点进行升级来对上述实施例提供的节点的版本升级方法进行详细介绍。
[0103]请参考图3A,其示出了本发明另一个实施例提供的节点的版本升级方法的方法流程图,如图3A所示,该节点的版本升级方法可以包括:
[0104]步骤301,第二节点获取升级文件。
[0105]可选的,本步骤可以包括两种可能的实现方式。
[0106]第一种,第二节点读取升级人员在第二节点中预存的升级文件。
[0107]作为第一种可能的实现方式,第二节点为N个节点中首个升级的节点时,升级人员可以在第二节点中设置升级文件,第二节点读取该升级文件。
[0108]当然,实际实现时,升级人员还可以选择性的在N个节点中的至少两个节点中设置升级文件,至少两个节点在升级时直接读取设置的升级文件。
[0109]第二种,第二节点从已升级的邻居节点中获取该升级文件。
[0110]作为另一种可能的实现方式,若第二节点的邻居节点已升级,则第二节点还可以从已升级的邻居节点中获取升级文件。
[0111]步骤302,第二节点根据升级文件执行版本升级。
[0112]步骤303,在升级完毕后,第二节点向j个邻居节点发送邻居确认请求,j个邻居节点中包含第一节点。
[0113]邻居确认请求用于指示j个邻居节点检测第二节点是否升级成功,并反馈检测结果;I彡j彡N,N>2o其中,j个邻居节点可以为已升级的节点,也可以为待升级的节点,本实施例对此并不做限定。
[0114]为了提高邻居节点对第二节点判断的准确度,第二节点通常可以向多个邻居节点同时发送邻居确认请求,也即2 < j < N。比如,第二节点向10个邻居节点发送邻居确认请求。
[0115]然而,j的取值越大,说明越多的邻居节点需要对第二节点进行判断,这就导致会耗费各个邻居节点的一些处理资源。所以实际实现时,设计人员可以根据实际需求来确定j的值,本实施例对此并不做限定。
[0116]本实施例以第二节点选择的j个邻居节点中包含第一节点来举例说明,且图3A只是示出了 j个邻居节点中的第一节点,其它邻居节点并未示出。
[0117]步骤304,第一节点接收第二节点发送的邻居确认请求。
[0118]步骤305,第一节点根据邻居确认请求检测第二节点是否升级成功。
[0119]可选的,本步骤可以包括:根据预设测试项测试与第二节点之间的通信是否正常。若正常,则判定第二节点升级成功;而若不正常,则判定第二节点升级失败。
[0120]预设测试项包括:对第二节点中第一节点所依赖的旧版本功能进行测试的测试项,和/或,对第二节点中需要依赖第一节点的旧版本功能进行测试的测试项。
[0121]具体的,若预设测试项包括对第二节点中第一节点所依赖的旧版本功能进行测试的测试项(也即第一测试项),则第一节点接收到邻居确认请求之后,第一节点可以触发自身预设的第一测试项,根据第一测试项与第二节点进行通信;若两者之间的通信正常,则说明第二节点升级之后对第一节点没有影响,此时第一节点可以判断第二节点升级成功;反之,若两者之间的通信出错,则第一节点即可判断第二节点升级失败。
[0122]而若预设测试项包括对第二节点中需要依赖第一节点的旧版本功能进行测试的测试项(也即第二测试项),则在第二节点发送邻居确认请求至第一节点之后,第二节点可以触发自身预设的第二测试项,根据第二测试项与第一节点进行通信;若两者之间的通信正常,则说明第二节点升级之后,第二节点中的旧版本的功能能正常使用,此时,第一节点可以判断第二节点升级成功;反之,若两者之间的通信出错,则第一节点即可判断第二节点升级失败。
[0123]类似的,若预设测试项同时包括上述两者,则可以第一节点可以进行上述两种测试,本实施例对此并不做限定。并且,本实施例对两种测试的测试顺序并不做限定。
[0124]另外,本实施例只是以预设测试项包括上述两种中的至少一种来举例说明,可选的,该预设测试项还可以包括其他内容。比如,第一节点接收到邻居确认请求之后,第一节点可以发起对升级后的第二节点中的新功能的测试,本实施例对此并不做限定。
[0125]步骤306,第一节点反馈检测结果至第二节点。
[0126]检测结果用于指示第二节点根据检测结果判定是否发送版本升级指令。
[0127]步骤307,第二节点接收检测结果,根据检测结果判定是否发送版本升级指令。
[0128]第二节点发送邻居确认请求至j个邻居节点之后,第二节点可以相应的接收到j个邻居节点反馈的检测结果。
[0129]此后,第二节点可以根据接收到的检测结果判定是否发送版本升级指令。可选地,本步骤可以包括:
[0130](I)、若j = 1,则在检测结果表示第二节点升级成功时,判定为发送版本升级指令。
[0131](2)、若j>l,则统计表示第二节点升级成功的检测结果的个数,检测个数与j的比值是否达到预设阈值;若达到预设阈值,则判定为发送版本升级指令。
[0132]如果第二节点的检测结果为达到预设阈值,则第二节点可以判定自身升级成功,此时,第二节点即可判定为可以向i个待升级的邻居节点发送版本升级指令。
[0133]为了保证第二节点判定的准确率,预设阈值可以设置为数值较大的值。比如,预设阈值可以为98%或者100%。当然设计人员也可以根据实际需要来设置该预设阈值,本实施例对此并不做限定。
[0134]需要补充说明的是,上述只是以第二节点根据j个检测结果来判定是否发送版本升级指令来举例说明。可选地,第二节点还可以获取在发送邻居确认请求之后的预设时间段接收到的检测结果,根据获取到的检测结果判定是否发送版本升级指令。理由如下:j个邻居节点中可能会存在部分节点出现故障进而不会给第二节点反馈检测结果,也可能会存在部分节点由于处理能力较差而导致长时间后才会向第二节点反馈检测结果,所以为了提高第二节点进行判定的速度,第二节点可以获取发送邻居确认请求之后的预设时间段接收到的检测结果。
[0135]步骤308,若第二节点的判定结果为发送版本升级指令,则向i个待升级的邻居节点发送版本升级指令,i个待升级的邻居节点中包含第一节点。
[0136]版本
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1