操作系统OS批量安装方法、装置和网络设备与流程

文档序号:16607494发布日期:2019-01-14 21:13阅读:692来源:国知局
操作系统OS批量安装方法、装置和网络设备与流程

本发明涉及互联网技术领域,尤其涉及操作系统os批量安装方法、装置和网络设备。



背景技术:

在互联网中,网络设备管理系统(operationsmanagementsystems,om)支持管理大批量网络设备。在大批量网络设备安装操作系统(operatingsystem,os)的应用场景下,传统技术方案中大批量网络设备的os安装方案为:om需先引导各个网络设备进入自身部署的智能管理操作系统(smartprovisioningos,sp),然后为各网络设备的sp配置相应地业务互联网协议(internetprotocoladdress,ip)地址,便于om根据各个网络设备的业务ip地址来规划并构建由所述各个网络设备(具体为各个网络设备对应的sp)组成的二叉树网络拓扑。最后,按照该二叉树网络拓扑的层结构依次将待安装os的镜像(以下简称os镜像)分发到该网络拓扑的每个节点sp中,进而实现各个网络设备的os安装。

然而在实践中发现,现有os批量安装方案中,需手工设置大批量网络设备各自的业务ip地址,网络规划和具体设置过程比较复杂,存在批量安装os耗时长的问题。



技术实现要素:

本申请公开了操作系统os批量安装方法、装置和网络设备,能够解决现有os批量安装方案中存在的耗时长的问题。

第一方面,本发明实施例公开提供了一种操作系统os批量安装方法,该方法包括:第一网络设备根据n个网络设备发送的组播消息,确定由n个网络设备构成的第一树形网络拓扑,其中,第一网络设备为局域网中m个网络设备中的任一已运行的网络设备,n小于或等于m,m和n均为正整数,该组播消息包括用于描述所述网络设备的属性的信息;当第一网络设备向所述局域网中其他网络设备发送组播消息的次数满足第一阈值时,确定局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备,以便于每个树形网络拓扑的根节点所在网络设备获取os镜像,并发送给每个树形网络拓扑中的各个网络设备进行os安装。

通过实施本发明实施例,第一网络设备可根据n个网络设备发的组播消息来确定局域网中所包括的每个树形网络拓扑,然后通过每个树形网络拓扑的根节点所在的网络设备将获取的os镜像下发给每个树形网络拓扑中的各个网络设备,进而在各个网络设备中实现os的安装,这样可解决现有os批量安装方案中存在的批量安装os耗时较长的问题,提升了os批量安装的效率。

在一种可能的实现方式中,所述确定所述局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备包括:当所述局域网中存在包括所述第一树形网络拓扑以及第二树形网络拓扑在内的至少两个树形网络拓扑,且第一树形网络拓扑和第二树形网络拓扑包括不同的网络设备时,第一网络设备接收第二网络设备发送的第一单播消息,该第一单播消息包括由第二网络设备构成的第二树形网络拓扑,且所述第二网络设备为所述m个网络设备中除了所述第一网络设备外另一已运行的网络设备;第一网络设备确定第一树形网络拓扑的根节点所在的网络设备以及第二树形网络拓扑的根节点所在的网络设备分别为局域网的两个树形网络拓扑中各自根节点所在的网络设备。

通过实施上述步骤,第一网络设备可确定出所述局域网中存在的两个独立的树形网络拓扑,进而通过两个树形网络拓扑各自根节点所在的网络设备获取os镜像,并分发给每个树形网络拓扑中的各个网络设备进行os的安装,这样能够快速、准确地确定出局域网中存在的每个独立的树形网络拓扑,从而提升os批量安装的高效性。

在一种可能的实现方式中,所述确定所述局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备包括:

当局域网中存在包括第一树形网络拓扑以及第二树形网络拓扑在内的至少两个树形网络拓扑时,第一树形网络拓扑和第二树形网络拓扑包括至少一个相同的网络设备。第一网络设备接收第二网络设备发送的第一单播消息,该第一单播消息包括由第二网络设备构成的第二树形网络拓扑,该第二网络设备为所述m个网络设备中除了第一网络设备外另一已运行的网络设备。相应地,第一网络设备可合并第一树形网络拓扑和第二树形网络拓扑中重复网络设备以生成第三树形网络拓扑,该第三树形网络拓扑的根节点所在的网络设备为局域网的树形网络拓扑中根节点所在的网络设备。

通过实施上述步骤,第一网络设备可将局域网中存在相同网络设备的不同树形网络拓扑进行合并或整合,以获得一个新的树形网络拓扑。进而根据该树形网络拓扑中根节点所在的网络设备来获取os镜像,实现该树形网络拓扑中各个网络设备的os安装。这样可快速、准确地确定出局域网中存在的每个独立的树形网络拓扑,从而提升os批量安装的高效性。

在一种可能的实现方式中,所述确定所述局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备包括:当局域网中仅存在第一树形网络拓扑时,此时第一网络设备可确定第一树形网络拓扑的根节点所在的网络设备为局域网的树形网络拓扑中根节点所在的网络设备。

在一种可能的实现方式中,所述第一网络设备根据n个网络设备发送的组播消息,确定由n个网络设备构成的第一树形网络拓扑包括:第一网络设备可按照预设规则,将n个网络设备发送的组播消息进行排序,以获得由n个网络设备构成的第一树形网络拓扑。该预设规则可为用户或系统自定义设置的,例如按照以下优先级顺序排列n个网络设备各自组播消息中的属性信息:所述网络速率>所述内存大小>所述处理器数量>所述硬盘大小>所述设备标识。

通过实施上述步骤,第一网络设备可按照预设规则对n个网络设备进行排列,以构建出第一树形网络拓扑,这样能够提升树形网络拓扑构建的效率以及可靠性。

在一种可能的实现方式中,所述方法还包括:当第一树形网络拓扑中的第一网络设备发生异常时,可对第一树形网络拓扑进行更新。通过实施上述步骤,当树形网络拓扑中存在发生异常的网络设备时能够智能地、及时地对该树形网络拓扑进行更新,以保证树形网络拓扑的可靠性和稳定性,解决了传统技术中由于树形网络拓扑不稳定造成网络设备的os安装不成功的问题。

在一种可能的实现方式中,所述第一树形网络拓扑包括根节点、叶子节点以及子节点,所述对所述第一树形网络拓扑进行更新包括:当第一网络设备为第一树形网络拓扑中根节点所在的网络设备时,第一网络设备下连接的子节点所在的网络设备将更新为所述第一树形网络拓扑中根节点所在的网络设备。当第一网络设备为第一树形网络拓扑中中间节点所在的网络设备时,第一网络设备下连接的子节点所在的网络设备将注册到第一网络设备对应在第一树形网络拓扑中的父节点所在的网络设备下;当第一网络设备为第一树形网络拓扑中叶子节点所在的网络设备时,第一网络设备将进行剪枝处理,以在第一树形网络拓扑中删除第一网络设备对应的叶子节点。

通过实施上述步骤,针对树形网络拓扑中不同节点所在的网络设备发生异常时,给出不同的树形网络拓扑更新方案;这样可保证树形网络拓扑中各个节点所在的网络设备均正常运行,从而提高树形网络拓扑的可靠性和稳定性。

在一种可能的实现方式中,所述第一网络设备根据n个网络设备发送的组播消息,确定由所述n个网络设备构成的第一树形网络拓扑之前,还包括:设备管理系统om可根据m个网络设备各自的管理互联网协议ip地址,向m个网络设备发送智能管理软件sp。相应地,m个网络设备中每个网络设备可接收所述sp,并将sp安装到自身网络设备的非易失性存储器中,便于后续网络设备利用sp向局域网中的其他网络设备发送组播消息。通过实施上述步骤,根据网络设备的管理ip地址可将sp提前部署到该网络设备中,便于后续利用该网络设备的sp来引导自动完成os的安装,从而能够提升os安装的便捷性和高效性。

在一种可能的实现方式中,所述组播消息还包括第一鉴权信息,所述第一网络设备根据n个网络设备发送的组播消息,确定由所述n个网络设备构成的第一树形网络拓扑包括:在第一网络设备对所述n个网络设备发送的组播消息中的第一鉴权消息鉴权成功的情况下,根据n个网络设备发送的组播消息,确定由该n个网络设备构成的第一树形网络拓扑。第一鉴权信息可为采用hmac等预设算法对组播消息中的属性信息进行处理获得的。

通过实施上述步骤,通过对网络设备发的组播消息中的鉴权信息进行鉴权,来验证该网络设备是否为伪装(不合法)设备,进而决定是否利用该网络设备发的组播消息来构建相应的树形网络拓扑,这样可提升树形网络拓扑构建的准确性和可靠性。

在一种可能的实现方式中,所述方法还包括:在第一网络设备运行的情况下,获取动态主机配置协议dhcp设备发送的配置ip地址,并将该配置ip地址作为第一网络设备的业务ip地址。

在一种可能的实现方式中,所述第一网络设备为所述第一树形网络拓扑的根节点所在的网络设备,所述方法还包括:第一网络设备向第三网络设备发送添加请求,该添加请求用于请求将第三网络设备添加到第三网络设备的父节点所在的网络设备上,第三网络设备与第一网络设备安装有相同版本的sp。相应地,第三网络设备接收添加请求后,可向第三网络设备的父节点所在的网络设备发送注册请求,该注册请求包括所述第三网络设备的父节点所在的网络设备和/或所述第一网络设备。第三网络设备的父节点所在的网络设备接收所述注册请求,在对所述注册请求中的所述第三网络设备的父节点所在的网络设备和/或所述第一网络设备验证成功的情况下,向第三网络设备发送注册成功响应,所述注册成功响应用于通知所述第三网络设备停止在所述局域网中发送组播消息。可选地,所述注册成功响应还包括第三网络设备的备用父节点所在的网络设备,即第三网络设备的祖父节点所在的网络设备。

通过实施上述步骤,第一树形网络拓扑中根节点所在的网络设备可通过下发注册消息,将各节点所在的网络设备添加并注册到该树形网络拓扑中,从而实现第一树形网络拓扑的快速构建。

在一种可能的实现方式中,第一网络设备为第一树形网络拓扑的根节点所在的网络设备,所述方法还包括:第一网络设备向第四网络设备发送更新请求,该更新请求用于请求将第四网络设备安装的sp的版本更新为第一网络设备中安装的sp的版本;第四网络设备接收所述更新请求,在未更新第四网络设备中sp的版本的情况下,根据所述更新请求将第四网络设备中sp的版本更新为第一网络设备中sp的版本。

通过实施上述步骤,可保证局域网中每个树形网络拓扑中所包括的各个网络设备具有或部署有相同版本的sp软件,避免由于网络设备中sp版本不同导致在os安装时出现一些异常状况,例如每个网络设备安装os的时长不同、安装时出现不同的错误故障增加维修人员的工作量等等。

第二方面,本申请提供一种os批量安装的装置,所述装置包括用于执行第一方面或第一方面任一种可能实现方式中的os批量安装方法的各个模块。

第三方面,本申请提供了一种网络设备,所述网络设备包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述网络设备运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述网络设备中的硬件资源执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。

第四方面,本申请提供一种通信系统,该通信系统包括至少一个网络设备,每个网络设备包括处理器、存储器、通信接口、总线,所述处理器、存储器和通信接口之间通过总线连接并完成相互间的通信,所述存储器中用于存储计算机执行指令,所述网络设备运行时,所述处理器执行所述存储器中的计算机执行指令以利用所述网络设备中的硬件资源执行第一方面或第一方面任一种可能实现方式中所述方法的操作步骤。

第五方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第六方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

附图说明

图1是传统技术中提供的一种二叉树网络拓扑的结构示意图。

图2是本发明实施例提供的一种网络架构示意图。

图3是本发明实施例提供的一种操作系统os批量安装方法的流程示意图。

图4是本发明实施例提供的一种树形网络拓扑的示意图。

图5是本发明实施例提供的另一种树形网络拓扑结构示意图。

图6是本发明实施例提供的另一种树形网络拓扑结构示意图。

图7是本发明实施例提供的另一种树形网络拓扑结构示意图。

图8是本发明实施例提供的一种树形网络拓扑更新的示意图。

图9是本发明实施例提供的另一种树形网络拓扑更新的示意图。

图10是本发明实施例提供的另一种树形网络拓扑更新的示意图。

图11是本发明实施例提供的另一种树形网络拓扑结构示意图。

图12是本发明实施例提供的一种网络设备的结构示意图。

图13是本发明实施例提供的另一种网络设备的结构示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。

首先,介绍本发明实施例涉及的一些技术术语。

智能管理操作系统:也名剪裁版操作系统或sp。是网络设备(具体可为服务器)上安装的一套智能管理工具,用于引导网络设备安装(或部署)操作系统os。即是,该智能管理操作系统中包括有用于引导网络设备安装os的编程文件。

散列消息鉴别码(hashmessageauthenticationcode,hmac)算法:也名hamc算法。指利用哈希算法,以一个密钥和一个消息作为输入,生成一个消息摘要作为输出。本发明实施例中,输出的消息摘要具体可为鉴权信息,具体将在下文进行详述。

树形网络拓扑:是一种类似于总线拓扑的局域网拓扑,该树形网络拓扑可以包括两个及以上的分支,每个分支可包括一个或多个节点。本发明实施例中涉及的树形网络拓扑可以为二叉树网络拓扑,即每个分支上包括两个节点。

根节点:指树形网络拓扑中没有父节点的节点。

叶子节点:指树形网络拓扑中没有子节点的节点。

中间节点:指树形网络拓扑中存在有父节点以及子节点的节点,即是树形网络拓扑中除根节点和叶子节点之外的节点。

孤立节点:指树形网络拓扑中没有父节点以及子节点的节点,即树形网络拓扑中单独的、独立的节点。

示例性地,如图1示出一种二叉树网络拓扑的结构示意图。如图1中,节点a为根节点,节点d、e、f以及g均为叶子节点,节点b和c均为中间节点。其中,图示中,节点a为节点b和c的父节点,相应地节点b和c分别为节点a的子节点。节点b为节点d和e的父节点,节点c为节点f和g的父节点。图示中节点a还为节点d、e、f以及g的祖父节点,相应地节点d、e、f以及g分别为节点a的子孙节点。

值得说明的是,树形网络拓扑是一种逻辑结构,具体可以利用网络设备中指定文件、数据库或其他存储形式存储。

为解决传统技术方案中大批量网络设备中安装os的方案中存在的工作复杂、工作量大以及耗时较长等问题,本发明实施例提出一种os批量安装方法以及所述方法适用的网络设备以及相关的网络框架。首先,参见图2,是本发明实施例提供的一种通信系统的网络框架示意图。如图2中,该网络框架示意图包括管理设备、镜像存储设备、一个或多个局域网(图示以3个局域网为例)以及中间设备。每个局域网中包括有一个或多个网络设备(具体可为服务器等),图中示出一个局域网中包括有m个网络设备,m为正整数。图示中192.168.1.x-192.168.3.x分别为三个局域网各自的业务ip地址,这里不做详述。其中:

管理设备,也可叫设备管理系统om。用于管理各个局域网中的网络设备,即支持管理大批量网络设备。

镜像存储设备,也可叫数据源中心。用于存储操作系统os镜像,即提供用于网络设备安装os的os镜像,本发明实施例这里不做详述。

中间设备,用于实现数据的转发,图示中通过该中间设备可将管理设备的信息(如管理设备下发的配置命令等)下发给局域网中的各个网络设备,或者通过该中间设备将网络设备的信息上报给管理设备等,本发明实施例这里不做详述。该中间设备具体可包括但不限于交换机、路由器、或者其他用于实现数据传输的设备。

网络设备,可以配置多个网络ip地址,分别用于传输管理数据和业务数据。具体实施中,可以利用两个网卡按照预置网络规划分配不同的网段,用于传输管理数据的ip地址可以称为管理ip地址,用于传输业务数据的ip地址可以称为业务ip地址。换句话说,网络设备的网络规划可以按照业务需求区分为管理侧和业务侧。管理侧部署有ibmc系统。业务侧部署有sp,用于引导所述网络设备安装os系统。

具体的,管理设备(即设备管理系统om)可根据局域网中m个网络设备各自的管理ip地址,向该m个网络设备发送sp。相应地,在网络设备接收到sp后,可将sp写到或安装到自身的硬盘或非易失性存储器中。便于后续网络设备中的sp从镜像存储设备中获取os镜像,引导实现os的安装。关于如何在大批量网络设备中安装os,具体在本发明实施例下文进行详细阐述。

请参见图3,是本发明实施例提供的一种操作系统os批量安装方法的流程示意图。所述方法应用在包括m个网络设备的局域网中,每个网络设备中预先安装有智能管理操作系统sp,以用于引导所述网络设备安装相应地操作系统os。如图3所述的方法包括如下实施步骤:

步骤s102、第一网络设备根据n个网络设备发送的组播消息,确定由所述n个网络设备构成的第一树形网络拓扑,其中,所述第一网络设备为局域网中m个网络设备中的任一已运行的网络设备,n小于或等于m,且n和m均为正整数,所述组播消息包括用于描述所述网络设备的属性的信息。

本发明实施例中,局域网中的任一网络设备启动或运行(具体为该网络设备部署的sp运行)后,所述任一网络设备可周期性(如每间隔5s)在局域网中发送组播消息。相应地,该任一网络设备可接收局域网中已运行的其他网络设备发送的组播消息。

当局域网中有n个已运行的网络设备时,该n个网络设备中的一个或多个网络设备可周期性地发送组播消息。相应地,该一个或多个网络设备也可接收局域网中其他网络设备发送的组播消息,进而根据接收的组播消息构建出相应地树形网络拓扑。其中,n为小于或等于m的正整数。

即,具体存在以下两种情况。第一种情况,局域网中n个已运行的网络设备中的部分网络设备可根据自身接收的组播消息构建出相应地树形网络拓扑。第二种情况,局域网中n个已运行的网络设备中每个网络设备均构建树形网络拓扑,则此时n个网络设备可构建获得n个树形网络拓扑。

下面以第一网络设备为例,详细阐述第一网络设备如何基于组播消息构建第一树形网络拓扑。

具体的,第一网络设备在运行后,可周期性在局域网中发送组播消息。相应地,所述第一网络设备也可接收所述局域网中已运行的其他网络设备发送的组播消息。进一步地,所述第一网络设备可根据n个网络设备各自发送的组播消息,构建获得由所述n个网络设备构成的第一树形网络拓扑。其中,所述n个网络设备可包括所述第一网络设备,即所述第一网络设备可根据自身发送的组播消息以及接收的n-1个网络设备发送的组播消息,来确定所述第一树形网络拓扑,n为大于1的正整数。可选地,所述n个网络设备也可为所述局域网中除所述第一网络设备之外的其他已运行的网络设备等,本发明实施例不做限定。

所述组播消息包括属性信息,所述属性信息为用于描述所述网络设备的属性的信息,例如所述网络设备的内存大小、硬盘大小、处理器cpu数量、cpu运行速率、业务ip地址、sp版本以及设备标识等信息。所述设备标识用于区分所述网络设备,其可包括但不限于网络设备的编号、通用唯一识别码(universallyuniqueidentifier,uuid)等,本发明实施例这里不做详述。

作为一种可能的实施方式,所述第一网络设备可根据所述n个网络设备各自组播消息中的属性信息,按照预设规则对所述n个网络设备进行排序,以获得所述第一树形网络拓扑。

所述预设规则用于排列网络设备以生成相应地网络拓扑,其具体可为用户或系统自定义设置的规则,例如系统可根据实际的业务需求来设置等。示例性地,所述预设规则为按照属性信息的优先级来排列所述网络设备,进而生成所述第一树形网络拓扑(具体为二叉树网络拓扑)。其中,所述属性信息的优先级按照从高到低的顺序依次可为:所述网络速率>所述内存大小>所述处理器数量>所述硬盘大小>所述设备标识。

举例来说,假设局域网中第一网络设备a启动后,接收到5个网络设备(具体为网络设备b-f)各自发送的组播消息。网络设备a结合自身的组播消息,共计6个网络设备(具体为网络设备a-f)的组播消息,根据6个网络设备各自组播消息中的属性信息,按照如上优先级从高到低的顺序对这6个网络设备依次进行排序,假设排序后的网络设备依次为:b-f-c-a-d-e。进一步地,将排序后的网络设备b-e按照层结构从上到下,从左到右(或从右到左)的顺序依次填入二叉树中,以获得由这6个网络设备构成的二叉树网络拓扑(即树形网络拓扑)。具体可参见图4所示,示出将排序后的网络设备按照从上到下以及从左到右的顺序填写到二叉树,以获得的树形网络拓扑。

需要说明的是,局域网中可能存在多个网络设备同时启动的情况,这时启动后的网络设备可分别按照s102的拓扑构建原理,构建出相应地树形网络拓扑。这些树形网络拓扑可以相同,也可不同,本发明实施例这里不做详述和限定。

可选地,所述局域网络中的任一网络设备运行后,通过网络可自动获得动态主机配置协议(dynamichostconfigurationprotocol,dhcp)服务器发送的配置ip地址。进一步地,所述任一网络设备可将该配置ip地址作为该任一网络设备(即该网络设备上部署的sp)的业务ip地址,便于后续通过该业务ip地址与其他网络设备实现业务通信。

作为一种可能的实施方式,所述组播消息还包括第一鉴权信息,所述第一鉴权信息是根据所述网络设备发送的组播消息中的属性信息生成的。相应地,步骤s102中,所述第一网络设备接收n个网络设备发送的组播消息后,需先对所述n个网络设备各自的组播消息中的第一鉴权信息进行验证,在验证成功后,继续执行步骤s102根据所述n个网络设备发送的组播消息确定所述第一树形网络拓扑。

具体的,所述第一鉴权信息为所述网络设备根据预设第一算法对所述网络设备的属性信息进行计算获得的,所述预设第一算法为用户侧或系统侧自定义设置的算法,其可包括但不限于hmac算法等。在获得所述第一鉴权信息后,所述网络设备可将该第一鉴权信息添加到自身的组播消息中,以便后续将其在局域网中发送。在实际应用中,所述组播消息通常用二进制数据包表示,本发明实施例这里不做详述。

相应地,所述第一网络设备接收所述n个网络设备中任一网络设备发送的组播消息后,可根据预设第一算法对该组播消息中的属性信息进行处理,以计算获得相应的鉴权验证信息。进一步地,将该鉴权验证信息和该组播消息中的第一鉴权信息进行比对,如果对比一致,则对所述n个网络设备中的任一网络设备发送的组播消息鉴权(或验证)成功。如果对比不一致,则表示对所述n个网络设备中的任一网络设备发送的组播消息鉴权失败,该n个网络设备中任一网络设备发送的组播消息不可用,可丢弃这条组播消息。

同样地,所述第一网络设备根据上述鉴权原理,对所述n个网络设备发送的组播消息中的第一鉴权信息进行鉴权。在对所述n个网络设备发送的组播消息中的第一鉴权信息鉴权成功后,继续执行s102。否则,在对所述n个网络设备中的任一网络设备发送的组播消息中的第一鉴权信息鉴权失败后,可丢弃该n个网络设备中的任一网络设备发送的组播消息,利用其他鉴权成功的所述n个网络设备中的网络设备所发送的组播消息,来构建所述第一树形网络拓扑,本发明实施例这里不做详述。

在一种可能的实施例中,当第一网络设备确定第一树形网络拓扑后,可将第一树形网络拓扑涉及的各个网络设备添加到该第一树形网络拓扑中。关于网络设备如何添加到树形网络拓扑中具体在下文进行详述。

可选地,当局域网中存在多个树形网络拓扑时,该多个树形网络拓扑中存在相同的网络设备,此时可按照注册请求发送的时间先后顺序,将该网络设备优先添加到先发送注册请求的树形网络拓扑中。在添加完成后,可删除其他树形网络拓扑中存在的该网络设备。具体将在下文进行详述。

步骤s104、当所述第一网络设备向所述局域网中其他网络设备发送组播消息的次数满足第一阈值时,确定所述局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备。便于所述每个树形网络拓扑的根节点所在的网络设备获取os镜像,并发送给所述每个树形网络拓扑中各个网络设备进行os安装。

所述第一阈值为用户或系统自定义设置的,不同应用场景其具体的数值大小可不同。示例性地,为实现所述第一树形网络拓扑的快速构建,在局域网中各个网络设备的启动时间差异较大且业务处理的时延要求较长的应用场景下,所述第一阈值可设置得比较大,例如10/20等。相应地,在局域网中各个网络设备的启动时间差异不大(例如均为30-40s内成功启动)且业务处理的时延要求较短的应用场景下,所述第一阈值可设置得比较小,例如3等等,本发明实施例这里不做详述和限定。

下面阐述s104涉及的几种具体实施方式。

第一种实施方式中,在n小于m,所述局域网中存在两个或两个以上的树形网络拓扑的情况下,所述第一网络设备接收第二网络设备发送的第一单播消息,所述第二网络设备为所述m个网络设备中除所述第一网络设备之外的另一已运行的网络设备,所述第二网络设备构建所述第二树形网络拓扑,所述第一树形网络拓扑和所述第二树形网络拓扑包括不同的网络设备。则所述第一网络设备确定所述第一树形网络拓扑的根节点所在的网络设备和所述第二树形网络拓扑的根节点所在的网络设备分别为所述局域网的两个树形组网拓扑中各自根节点所在的网络设备。

第二种实施方式中,在n小于m,所述局域网中存在两个或两个以上的树形网络拓扑的情况下,所述第一网络设备接收第二网络设备发送的第一单播消息,所述第二网络设备为所述m个网络设备中除所述第一网络设备之外的另一已运行的网络设备,所述第二网络设备构建所述第二树形网络拓扑,所述第一树形网络拓扑和所述第二树形网络拓扑包括至少一个相同的网络设备。则所述第一网络设备合并所述第一树形网络拓扑和所述第二树形网络拓扑中重复的网络设备生成第三树形网络拓扑,所述第三树形网络拓扑的根节点所在的网络设备为所述局域网的树形网络拓扑中根节点所在的网络设备。

具体的,由于局域网中不同网络设备各自的启动时间差异不大,则启动后的网络设备自动构建相应的树形网络拓扑,关于所述树形网络拓扑的构建原理可参见前述实施例中的相关阐述,这里不再赘述。此时,局域网中可能存在多个树形网络拓扑,但各个树形网络拓扑之间有没有关联关系,例如某个树形网络拓扑为另一树形网络拓扑的子网拓扑等。具体在s104中实现确定,即确定局域网中存在的完整树形网络拓扑,确定局域网中树形网络拓扑的根节点。

本发明实施例中,以局域网中第一网络设备和第二网络设备启动后,构建树形网络拓扑为例,阐述s104的具体实现。其中,所述第一网络设备启动后,构建获得第一树形网络拓扑。所述第二网络设备启动后,构建获得第二树形网络拓扑。

在n小于或等于m时,所述局域网中可能存在两个或两个以上的独立的树形网络拓扑,所述两个或两个以上的树形网络拓扑至少包括所述第一树形网络拓扑以及所述第二树形网络拓扑。在所述第二网络设备获得所述第二树形网络拓扑后,可选地所述第二网络设备向局域网中其他设备发送组播消息的次数达到一定阈值时,可向所述第一网络设备发送第一单播消息,所述第一单播消息包括所述第二树形网络拓扑。所述第一单播消息用于确定所述局域网中存在的树形网络拓扑的数量,或者确定所述第一树形网络拓扑和所述第二树形网络拓扑是否存在关联关系。

相应地,所述第一网络设备接收所述第二网络设备发送的第一单播消息,所述第一单播消息包括所述第二树形网络拓扑。所述第一网络设备根据所述第二树形网络拓扑以及所述第一树形网络拓扑,确定所述第一树形网络拓扑和所述第二树形网络拓扑各自节点所在的网络设备中是否存在相同的网络设备。其具体存在以下两种实现情况。

第一种情况:第一树形网络拓扑和第二树形网络拓扑中不存在相同的网络设备

即第一树形网络拓扑结构和第二树形网络拓扑结构包括不同的网络设备,则可确定该第一树形网络拓扑和第二树形网络拓扑为所述局域网中的两个独立的树形网络拓扑,将第一树形网络拓扑中根节点所在的网络设备以及第二树形网络拓扑中根节点所在的网络设备分别确定为局域网中两个树形网络拓扑各自根节点所在的网络设备。

第二种情况:第一树形网络拓扑和第二树形网络拓扑中存在相同的网络设备

即第一树形网络拓扑结构和第二树形网络拓扑结构包括至少一个相同的网络设备,则可将第一树形网络拓扑和第二树形网络拓扑中相同的网络设备进行合并,以获得第三树形网络拓扑。即,第一树形网络拓扑和第二树形网络拓扑存在关联关系,需合并为一个独立的树形网络拓扑。进而,将所述第三树形网络拓扑中根节点所在的网络设备确定为所述局域网的树形网络拓扑中根节点所在的网络设备。具体存在以下几种可能的实施方式。

在一种可能的实施方式中,当第一树形网络拓扑的根节点所在的网络设备为第二树形网络拓扑中子节点的网络设备时,第一网络设备可将第一树形网络拓扑和第二树形网络拓扑进行合并,以获得第三树形网络拓扑。

在另一种可能的实施方式中,当第一树形网络拓扑的根节点所在的网络设备不是第二树形网络拓扑中子节点的网络设备时,如果第一树形网络拓扑中根节点所在的网络设备和第二树形网络中根节点所在的网络设备相同,则第一网络设备可确定第一树形网络拓扑和第二树形网络拓扑存在关联,将第一树形网络拓扑和第二树形网络拓扑进行合并,以获得第三树形网络拓扑。

在另一种可能的实施方式中,当第一树形网络拓扑的根节点所在的网络设备不是第二树形网络拓扑中子节点的网络设备时,如果所述第一树形网络的根节点所在的网络设备和所述第二树形网络的根节点所在的网络设备不同,则第一网络设备仍将第一树形网络拓扑和第二树形网络拓扑确定为所述局域网中的两个独立网络拓扑,进而将第一树形网络拓扑的根节点所在的网络设备和所述第二树形网络拓扑的根节点所在的网络设备确定为所述局域网中的两个树形网络拓扑各自根节点所在的网络设备。

举例来说,如图5和图6分别示出第一树形网络拓扑和第二树形网络拓扑的示意图。如图所示,假设所述第一网络设备确定到所述第一树形网络拓扑中根节点所在的网络设备c和所述第二树形网络拓扑中子节点所在的网络设备c相同,则可将第二树形网络拓扑合并以及添加到第一树形网络拓扑中,从而获得如图7所示的第三树形网络拓扑。

第三种实施方式中,在n等于m,所述局域网中仅包括一个树形网络拓扑的情况下,所述第一网络设备直接将所述第一树形网络拓扑中根节点所在的网络设备确定为所述局域网的树形网络拓扑的根节点所在的网络设备。

具体的,在第一网络设备启动后,可根据局域网中m个网络设备各自发送的组播消息,构建出由所述m个网络设备构成的一个完整的第一树形网络拓扑。进而,将第一树形网络拓扑中根节点所在的网络设备确定为所述局域网的树形网络拓扑中根节点所在的网络设备。

第四种实施方式中,在第一网络设备向所述局域网中其他网络设备发送组播消息的次数满足第一阈值的情况下,所述第一网络设备可将第一树形网络拓扑中位于根节点位置的网络设备确定为候选根节点网络设备,所述候选根节点网络设备为第一树形网络拓扑中根节点所在的网络设备,其可能是局域网中某个单独的树形网络拓扑中根节点所在的网络设备,也可能是某个单独的树形网络拓扑中子节点所在的网络设备。该第一网络设备向候选根节点网络设备发送第一单播消息,第一单播消息携带有第一树形网络拓扑。

相应地,候选根节点网络设备接收所述第一单播消息,并根据自身设备中记录的状态信息来确定候选根节点网络设备是否为局域网中树形网络拓扑的根节点所在的网络设备。如果是,则第一树形网络拓扑中根节点所在的网络设备为局域网的树形网络拓扑中根节点所在的网络设备。如果不是,则确定第一树形网络拓扑不是局域网的独立树形网络拓扑,相应地第一树形网络拓扑中根节点所在的网络设备为局域网的树形网络拓扑中子节点所在的网络设备。

可选地,该候选根节点网络设备还可向第一网络设备发送响应消息,响应消息用于指示(或通知)第一树形网络拓扑中根节点所在的网络设备是否为局域网的树形网络拓扑中根节点所在的网络设备。

其中,状态信息用于指示候选根节点网络设备为以下节点所在网络设备中的任一项:孤立节点、根节点、叶子节点以及中间节点等。具体的,在局域网中各个网络设备初始启动时,每个网络设备各自记录的状态信息用于指示该网络设备为孤立节点所在的网络设备。相应地,随着局域网中各网络设备运行后,构建形成树形网络拓扑后,根据构建的树形网络拓扑可更新各网络设备中记录的状态信息。例如在某确定的树形网络拓扑中,某网络设备在该树形网络拓扑中为位于子节点位置的网络设备,相应地该网络设备可将自身的状态信息更新为位于子节点位置的网络设备。这样便于后续启动的网络设备在构建另一树形网络拓扑时,直接根据之前该网络设备中记录的状态信息来确定其是否为局域网的树形网络拓扑中的根节点。

所述候选根节点网络设备根据自身的状态信息来确定候选根节点网络设备是否为所述局域网的树形网络拓扑中根节点所在的网络设备,其具体确定条件为:候选根节点网络设备中记录的状态信息用于指示该候选根节点网络设备为孤立节点所在的网络设备,或者用于指示该候选根节点网络设备为局域网的根节点所在的网络设备。

即,在确定到候选根节点网络设备中记录的状态信息用于指示候选根节点网络设备为局域网的孤立节点所在的网络设备,或者为局域网的根节点所在的网络设备时,则可确定第一树形网络拓扑为局域网中的一个独立的树形网络拓扑,第一树形网络中根节点所在的网络设备(候选根节点网络设备)为局域网的树形网络拓扑中根节点所在的网络设备。

作为一种可能的实现方式中,所述第一单播消息中还包括第二鉴权信息,该第二鉴权信息是基于第一单播消息中除第二鉴权信息外的其他信息(例如第一树形网络拓扑等)生成的,关于第二鉴权信息如何生成可参见前述第一鉴权信息的相关阐述,这里不再赘述。例如,采用hmac算法对所述网络设备发的第一单播消息中的树形网络拓扑等信息进行计算,以获得第二鉴权信息,并将其添加至第一单播消息中等。

相应地,在网络设备接收到第一单播消息后,可先对第一单播消息中的第二鉴权信息进行鉴权,在鉴权成功后,将继续执行后续步骤,如确定局域网的树形网络拓扑中根节点所在的网络设备等。关于第二鉴权信息的生成以及鉴权具体可参见前述第一鉴权信息的相关描述,这里不再赘述。

在一种可能的实现方式中,第一网络设备确定到局域网的每个树形网络拓扑中根节点所在的网络设备后,所述每个树形网络拓扑中根节点所在的网络设备可从数据源中心(或镜像存储设备)中获得待安装os的镜像(简称os镜像),进而将获得的os镜像下发到所述每个树形网络拓扑中各个网络设备,以在所述各个网络设备中实现os的安装。

以所述第一网络设备为例,阐述os安装的具体原理。具体的,第一网络设备获得os镜像后,可将所述os镜像安装到或写到第一网络设备的硬盘或非易失性存储器中,以实现os的安装。

通过实施本发明实施例,能够将大批量网络设备按局域网划分,每个局域网中的网络设备可以通过发送组播消息来相互发现,从而快速构建出相应地树形网络拓扑。进而按照树形网络拓扑实现os镜像的分发,以在树形网络拓扑中的各个网络设备中安装os。这样避免传统技术中采用手工配置的业务ip地址来实现大批量网络设备的os安装,其存在的工作量大、配置复杂、耗时较长等问题,从而提升了os批量安装的高效性以及便捷性。

在一种可能的实施方式中,本发明实施例还提出基于树形网络拓扑的异常处理机制。具体的,子节点所在的网络设备可周期性地向其父节点所在网络设备发送进度信息。相应地,父节点所在网络设备接收子节点所在网络设备发送的进度信息后,可向子节点所在网络设备发送响应信息。子节点所在网络设备(具体可为该网络设备的检测模块)可根据在预设时长内是否接收到该子父节点所在网络设备反馈的响应消息,来确定所述负节点所在的网络设备是否发生故障或出现异常。在所述树形网络拓扑中,如果节点所在网络设备发生了异常,则可对所述树形网络拓扑进行更新。以所述第一树形网络拓扑中的第一网络设备为例,具体存在以下三种情况。

第一种,在所述第一网络设备为所述第一树形网络拓扑中根节点所在的网络设备时,如果所述第一网络设备发生异常,则可将所述第一网络设备其下连接的子节点所在的网络设备更新为所述第一树形网络拓扑中根节点所在的网络设备,即将第一网络设备下连接的子节点更新为第一树形网络拓扑的根节点,此时所述第一树形网络拓扑被分裂为两个单独的树形网络拓扑,具体在下文举例说明。

第二种,在所述第一网络设备为所述第一树形网络拓扑中中间节点所在的网络设备时,如果所述第一网络设备发生异常,则可将所述第一网络设备下连接的子节点所在的网络设备注册并添加到所述第一网络设备的父节点(即备用父节点)所在的网络设备上。

第三种,在所述第一网络设备为所述第一树形网络拓扑中叶子节点所在的网络设备时,如果所述第一网络设备发生异常,则可将所述第一网络设备进行剪枝处理,以在所述第一树形网络拓扑中删除所述第一网络设备,即删除所述第一网络设备对应的叶子节点。

举例来说,以所述第一树形网络拓扑为二叉树网络拓扑为例。如图8中,假设根节点所在的网络设备(rootsp)发生异常。子节点所在的网络设备a或b的检测模块检测到其父节点所在的网络设备(图示中的根节点所在网络设备rootsp)出现异常后,网络设备a或b可通知自身设备的链路模块进行切链。在a或b进行切链后,首先获取自身的备用父节点所在的网络设备。如果a和b找不到备用父节点所在的网络设备,将自动变更为树形网络拓扑的根节点,此时第一树形网络拓扑将分裂为两个独立的新的树形网络拓扑,这里分别是以根节点所在的网络设备为a和b的两个树形网络拓扑。这里的备用父节点是指节点的祖父节点,例如图示中o的备用父节点为c,即是节点所在的网络设备o的备用父节点所在的网络设备为c。

又如图9中,假设叶子节点所在的网络设备l发生异常,停止上报自身的进度信息。如果l的父节点所在的网络设备g在预设时长内(如10s左右)仍然未收到l上报的进度信息,则会对l进行剪枝操作,以删除l。相应地,节点所在的网络设备e向b上报进度信息时,b经过对比发现少了l的进度信息,即l被删除了,此时可更新b设备自身的本地信息。相应地,b节点上报进度信息时,也不会存在l的进度信息。即是,树形网络拓扑中各节点所在的网络设备,可通过上报的进度信息来识别并获知某个叶子节点所在的网络设备发生了异常,被剪枝。

又如图10中,假设中间节点所在的网络设备c发生了异常。如果图示中节点所在的网络设备g和h检测到其父节点所在的网络设备c发生了异常,则g和h将进行切链,向自身的备用父节点所在的网络设备a发生注册请求,以将g和h注册和添加到a下。相应地,a接收到注册请求后,可识别到c发生了异常,将c进行删除。同时将g和h注册并挂载到a下,关于如何注册本发明实施例这里不做详述。

通过实施本发明实施例,当网络设备发生异常时可动态更新或调整局域网中相应的树形网络拓扑,从而有利于提高树形网络拓扑的稳定性和可靠性。进一步地,基于更新后的树形网络拓扑来实现os镜像的下载和分发,有效保证了树形网络拓扑中各个网络设备能够成功安装os,从而提升了os批量安装的可靠性以及成功率。

在一种可能的实施方式中,第一网络设备确定局域网中的每个树形网络拓扑后,可将每个树形网络拓扑涉及的各网络设备添加到自身树形网络拓扑中。下面以所述第一树形网络拓扑为所述局域网的一个独立的树形网络拓扑为例详细阐述如何将局域网中各个网络设备添加到第一树形网络拓扑中。假设第一树形网络拓扑的根节点所在的网络设备为所述第一网络设备。在网络设备添加过程中,具体存在以下几种实施方式。

在一种可能的实施方式中,局域网中网络设备部署的sp的版本和第一网络设备部署的sp的版本相同。其中,局域网中每个网络设备均预先部署有sp,关于sp的部署可参见图2所述实施例中的相关阐述,这里不再赘述。第一网络设备作为根节点所在的网络设备,在s104中可接收到第一树形网络拓扑中每个节点所在网络设备发的组播消息,该组播消息中携带有网络设备的属性信息,该属性信息中包括有sp的版本。

可选地,当第一网络设备不为第一树形网络拓扑中根节点所在的网络设备时,第一网络设备确定第一树形网络拓扑为局域网中一个独立的树形网络拓扑后(s104后),第一网络设备可向所述第一树形网络拓扑根节点所在的网络设备(根节点网络设备)发送通知消息,该通知消息携带所述第一树形网络拓扑,当然包括第一树形网络拓扑中每个网络设备的信息,如网络设备的属性信息,sp的版本等等。相应地,第一树形网络拓扑中的根节点网络设备同样可知道该第一树形网络拓扑中每个网络设备部署的sp的版本。

相应地,对于局域网中存在有一些网络设备,这些网络设备中部署sp的版本和所述第一网络设备中部署sp的版本相同时,第一网络设备可直接向这些网络设备发送添加请求,以将这些网络设备添加并构建到所述第一树形网络拓扑中。下面以第三网络设备为例进行相关内容的阐述。

所述第一网络设备向第三网络设备发送添加请求,所述添加请求用于请求将所述第三网络设备添加到所述第三网络设备的父节点所在的网络设备下。所述添加请求携带所述第三网络设备的父节点(即所述第三网络设备的父节点所在的网络设备),具体可携带该父节点所在网络设备的相关信息(如设备标识、设备名称等)。其中,所述第三网络设备为与所述第一网络设备部署有具有相同sp版本的sp的网络设备。

相应地,所述第三网络设备接收所述添加请求,解析所述添加请求,向所述第三网络设备的父节点所在的网络设备发送注册请求,所述注册请求用于请求将所述第三网络设备注册到所述第三网络设备的父节点所在的网络设备。所述第三网络设备的父节点所在的网络设备接收所述注册请求,将所述第三网络设备注册到所述第三网络设备的父节点所在的网络设备下。进一步地,所述第三网络设备的父节点所在的网络设备还可向所述第三网络设备发送注册响应,所述注册响应用于通知所述第三网络设备是否成功注册到所述第三网络设备的父节点所在的网络设备下。

可选地,所述第三网络设备接收所述注册响应后,如果所述注册响应用于通知所述第三网络设备已注册到所述第三网络设备的父节点所在的网络设备下,则所述第三网络设备可关闭自身的组播功能,以关闭或停止向所述局域网中的其他网络设备发送组播消息。

在注册过程中,所述注册请求可携带有所述第三网络设备的父节点所在的网络设备和/或所述第一网络设备(即第一树形网络拓扑中根节点所在的网络设备)。相应地,所述第三网络设备的父节点所在的网络设备接收所述注册请求后,可解析所述注册请求,并验证所述注册请求携带的信息是否和自身设备中的预存信息匹配。例如将所述注册请求中携带的第三网络设备的父节点所在的网络设备和自身设备进行匹配,或者将所述注册请求中携带的第一网络设备和自身设备中预存的根节点所在的网络设备进行匹配等。

如果匹配成功,则将所述第三网络设备成功注册到所述第三网络设备的父节点所在的网络设备下。如果匹配失败,则向所述第三网络设备发送注册响应消息,用于通知所述第三网络设备不能注册到所述第三网络设备的父节点所在的网络设备下。

值得说明的是,局域网中网络设备关闭自身的组播功能,具体存在以下两种情况。一种情况,当构建树形网络拓扑的网络设备向局域网中其他网络设备发送组播消息的次数到达第二阈值时,该网络设备可主动关闭自身的组播功能,停止向局域网中其他网络设备发送组播消息。另一种情况,当局域网中非构建树形网络拓扑的网络设备接收到其父节点所在的网络设备发送的通知消息(具体可为注册响应),且该网络节点未加入其他树形网络拓扑时,该网络设备停止或关闭自身组播功能。可选地,该网络设备还可以向其父节点所在网络设备发送通信消息的响应消息,此时,父节点所在网路设备将该网络设备添加至其树形网络拓扑中。其中,父节点所在网路设备将该网络设备添加至其树形网络拓扑,可以理解为是父节点所在网络设备利用数据库或指定文件或其他形式,记录该网络设备在树形网络拓扑结构的位置。

在另一种可能的实施方式中,局域网中网络设备部署的sp的版本和第一网络设备部署的sp的版本不相同。

对于局域网中存在有一些网络设备,这些网络设备中部署sp的版本和所述第一网络设备中部署sp的版本不相同。这种情况下,第一网络设备可直接向这些网络设备发送更新请求,以将这些网络设备中部署的sp的版本更新为所述第一网络设备中部署sp的版本。进而,后续在向更新后的这些网络设备发送添加请求,以将这些网络设备添加并构建到所述第一树形网络拓扑中。下面以第四网络设备如何更新sp版本为例进行相关内容的阐述。

所述第一网络设备向第四网络设备发送更新请求,所述更新请求用于请求将所述第四网络设备中的sp版本更新为所述第一网络设备中的sp版本,即将第四网络设备中部署的sp的版本更新为所述第一网络设备中部署的sp的版本。相应地,所述第四网络设备接收所述更新请求,确定自身设备中部署的sp是否已更新过版本。在所述第四网络设备未更新sp的版本的情况下,响应所述更新请求,将所述第四网络设备中sp的版本更新为所述第一网络设备中sp的版本。

在另一种可能的实施方式中,当局域网中新增进入网络设备(简称新增网络设备)后,该新增网络设备运行后,可向局域网中的其他网络设备发送组播消息。相应地,局域网中每个树形网络拓扑中根节点所在的网络设备可接收该新增网络设备发的组播消息,即检测到局域网中进入了新增网络设备。进而根据该新增网络设备发的组播消息,确定该新增网络设备中部署的sp的版本是否和树形网络拓扑中根节点所在的网络设备部署的sp的版本相同。

如果相同,则可向该新增网络设备发送添加请求,以将该新增网络设备添加到该树形网络拓扑中。如果不相同,则向该新增网络设备发送更新请求,以将该新增网络设备的sp的版本更新为该树形网络拓扑中根节点所在的网络设备中部署的sp的版本。

可选地,当局域网中存在至少两个树形网络拓扑(具体可包括第一树形网络设备和第二树形网络拓扑)时,对于新增网络设备而言,新增网络设备可根据接收注册请求的时间先后顺序,优先添加到先接收到注册请求的树形网络拓扑中。例如,第一树形网络拓扑中根节点所在的网络设备(第一网络设备)优先于第二树形网络拓扑中根节点所在的网络设备向新增网络设备发送注册请求,相应地新增网络设备接收到第一网络设备发的注册请求后,根据该注册请求将新增网络设备添加或挂载到第一树形网络拓扑中。

在另一种可能的实施方式中,局域网中存在至少两个树形网络拓扑,具体可包括第一树形网络拓扑和第二树形网络拓扑。第一树形网络拓扑和第二树形网络拓扑中包括至少一个相同的网络设备。对于这些相同的网络设备而言,可根据接收树形网络拓扑根节点所在的网络设备发送注册请求的时间先后顺序,优先将自身添加并注册到发送注册请求时间较先的树形网络设备中。例如,第一树形网络拓扑和第二树形网络拓扑均包括网络设备a,在树形网络拓扑添加网络设备过程中,网络设备a优先接收到第一树形网络拓扑根节点所在的网络设备(第一网络设备)发送的注册请求。相应地,网络设备a根据该注册请求可将自身注册并添加到第一树形网络拓扑中。

在一种可能的实现方式,本发明实施例还提出基于树形网络拓扑的消息上报机制。具体的,所述树形网络拓扑中包括根节点、叶子节点以及中间节点。根节点所在的网络设备接收叶子节点以及中间节点各自所在网络设备上报的进度信息,所述进度信息用于指示该节点所在网络设备进行业务处理时的进度,例如当前正进行数据收发等;或者,可用于指示该节点所在网络设备在所述树形网络拓扑中的部署进度,例如已添加到该树形网络拓扑中等。相应地,叶子节点所在网络设备可实时或周期性地上报自身的进度信息。中间节点所在的网络设备也可周期性将自身设备以及其下连接的子节点所在网络设备的进度信息进行上报。可选地,当中间节点所在网络设备未到达预设时间时,中间节点所在网络设备接收到其他节点所在网络设备上报的进度信息时,所述中间节点所在的网络设备强制性上报自身以及其他节点所在网络设备的进度信息。其中,所述预设时间为所述中间节点所在的网络设备上报自身进度信息的时间。

举例来说,如图11示出一种二叉树网络拓扑的结构示意图。在该二叉树网络拓扑中,每个节点所在的网络设备可实时或周期性地向父节点所在网络设备上报自身的进度信息。如图6,以叶子节点o为例,其可周期性(如2s)地向其父节点所在的网络设备g上报自身的进度信息。相应地,g可根据在预设时长内是否接收到o上报的进度信息,来确定o是否发生/出现了异常。

对于中间节点所在的网络设备a而言,其周期性上报进度信息的时间间隔为2s。假设在时间12:23:08,a向根节点所在的网络设备rootsp上报自身以及子节点所在网络设备c和d各自的进度信息。12:23:09时,节点c和d各自所在网络设备均又向a上报了其下子节点所在网络设备的进度信息。此时a接收到节点c和d上报的进度信息后,结合自身的进度信息,立即上报给rootsp。同时更新定时器的计时,下次上报进度信息的时间点为12:23:11。

通过实施本发明实施例,可将大批量网络设备按局域网划分,每个局域网中的批量网络设备可通过发组播消息来相互发现,并构建相应地树形网络拓扑。同时,也会动态调整树形网络拓扑,以保证树形网名拓扑中每个网络设备都正常运行,解决了由于树形网络拓扑不稳定或不可靠所带来的os镜像无法传输以及os无法部署等问题,从而提升了树形网络拓扑的稳定性和可靠性,有效保证网络设备的os成功安装。

上文中结合图1至图11,详细描述了根据本发明实施例所提供的os批量安装的方法,下面将结合图12和图13,描述根据本发明实施例所提供的os批量安装的装置、设备和通信系统。

请参见图12,是本发明实施例提供的一种网络设备的结构示意图。如图12所示,本发明实施例提供的网络设备120(如第一网络设备)可包括通信模块1201以及处理模块1202。可选地,还可包括存储模块1203。所述存储模块用于存储所述网络设备120的的程序代码和数据。其中,

所述通信模块1201,用于向所述局域网中其他网络设备发送组播消息,

所述处理模块1202,用于根据n个网络设备发送的组播消息,确定由所述n个网络设备构成的第一树形网络拓扑,其中,n小于或等于m,所述组播消息包括用于描述所述网络设备的属性的信息;

所述处理模块1202,还用于当所述通信模块向所述局域网中其他网络设备发送组播消息的次数满足第一阈值时,确定所述局域网的至少一个树形网络拓扑中每个树形网络拓扑的根节点所在的网络设备,以便于所述每个树形网络拓扑的根节点所在网络设备获取os镜像,并发送给所述每个树形网络拓扑中各个网络设备进行os安装。

可选地,所述通信模块1201还用于当所述局域网中存在包括所述第一树形网络拓扑以及第二树形网络拓扑在内的至少两个树形网络拓扑,且所述第一树形网络拓扑和所述第二树形网络拓扑包括不同的网络设备时,接收第二网络设备发送的第一单播消息,所述第一单播消息包括所述第二树形网络拓扑,所述第二树形网络拓扑为所述第二网络设备构成的,且所述第二网络设备为所述m个网络设备中除了所述第一网络设备外另一已运行的网络设备;

所述处理模块1202,具体用于确定所述第一树形网络拓扑的根节点所在的网络设备以及所述第二树形网络拓扑的根节点所在的网络设备分别为所述局域网的两个树形网络拓扑中各自根节点所在的网络设备。

可选地,所述通信模块1201还用于当所述局域网中存在包括所述第一树形网络拓扑以及第二树形网络拓扑在内的至少两个树形网络拓扑,且所述第一树形网络拓扑和所述第二树形网络拓扑包括至少一个相同的网络设备时,接收第二网络设备发送的第一单播消息,所述第一单播消息包括所述第二树形网络拓扑,所述第二树形网络拓扑为所述第二网络设备构成的,且所述第二网络设备为所述m个网络设备中除了所述第一网络设备外另一已运行的网络设备;

所述处理模块1202,具体用于合并所述第一树形网络拓扑和所述第二树形网络拓扑中重复网络设备生成第三树形网络拓扑,所述第三树形网络拓扑的根节点所在的网络设备为所述局域网的树形网络拓扑中根节点所在的网络设备。

可选地,所述处理模块1202具体用于当所述局域网中仅存在所述第一树形网络拓扑时,确定所述第一树形网络拓扑的根节点所在的网络设备为所述局域网的树形网络拓扑中根节点所在的网络设备。

可选地,所述处理模块1202具体用于按照预设规则,将所述n个网络设备发送的组播消息进行排序,以获得由所述n个网络设备构成的第一树形网络拓扑。

可选地,所述处理模块1202还用于当所述第一树形网络拓扑中的所述第一网络设备发生异常时,对所述第一树形网络拓扑进行更新。

可选地,所述处理模块1202具体用于当所述第一网络设备为所述第一树形网络拓扑中根节点所在的网络设备时,将所述第一网络设备下连接的子节点所在的网络设备更新为所述第一树形网络拓扑中根节点所在的网络设备;

所述处理模块1202,具体用于当所述第一网络设备为所述第一树形网络拓扑中中间节点所在的网络设备时,将所述第一网络设备下连接的子节点所在的网络设备注册到所述第一网络设备对应在所述第一树形网络拓扑中的父节点所在的网络设备下;

所述处理模块1202,具体用于当所述第一网络设备为所述第一树形网络拓扑中叶子节点所在的网络设备时,所述第一网络设备将进行剪枝处理,以在所述第一树形网络拓扑中删除所述第一网络设备对应的叶子节点。

需要说明的,图12仅仅是本发明实施例实施例的一种可能的实现方式,实际应用中,网络设备还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的部分,可参见前述图3所述方法实施例中的相关介绍,这里不再赘述。

根据本发明实施例的网络设备120可对应于执行本发明实施例中描述的方法,并且网络设备120中的各个单元的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。

请参见图13,是本发明实施例提供的又一种网络设备的结构示意图。如图13所示,本发明实施例提供的网络设备1300(例如第一网络设备)包括一个或多个处理器1301、通信接口1302和存储器1303,处理器1301、通信接口1302和存储器1303可通过总线或者其它方式连接,本发明实施例以通过总线1304连接为例。其中:

处理器1301可以由一个或者多个通用处理器构成,例如中央处理器(centralprocessingunit,cpu)。处理器1301可用于运行相关的程序代码中处理模块的程序。也就是说,处理器1301执行程序代码可以实现处理模块。其中,关于所述处理模块具体可参见前述实施例中的相关阐述。

通信接口1302可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/网络设备进行通信。例如,本发明实施例实施例中通信接口1302具体可用于接收局域网中其他网络设备发送的组播消息等。

存储器1303可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom)、快闪存储器(flashmemory)、硬盘(harddiskdrive,hdd)或固态硬盘(solidstatedrive,ssd);存储器1303还可以包括上述种类的存储器的组合。存储器1303可用于存储一组程序代码,以便于处理器1301调用存储器1303中存储的程序代码以实现本发明实施例中涉及的所述处理模块的相关功能。

需要说明的,图13仅仅是本发明实施例实施例的一种可能的实现方式,实际应用中,网络设备还可以包括更多或更少的部件,这里不作限制。

应理解,根据本发明实施例的网络设备1300可对应于本发明实施例中的os批量安装的网络设备1300,并可以对应于执行根据本发明实施例图3所示的方法中第一网络设备,并且网络设备1300中的各个模块的上述和其它操作和/或功能分别为了实现图3中的各个方法的相应流程,为了简洁,在此不再赘述。

本发明实施例提供的一种通信系统的结构示意图。如图2所示,本发明实施例提供的通信系统包括一个或多个局域网(图示以一个局域网为例示出)。每个局域网中包括一个或多个网络设备(图示以m个网络设备为例,m为正整数)。每个网络设备具体可为如图12或图13所述的网络设备,这里不再赘述。可选地,所述通信系统还包括管理设备以及镜像存储设备。其中,

所述管理设备,用于管理所述一个或多个网络设备;

所述镜像存储设备,用于存储操作系统os镜像,以供网络设备安装所述os镜像对应的os。

关于本发明实施例实施例中未示出或未描述的内容,可参见前述图2-图13所述实施例中的相关阐述,这里不再赘述。

上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘(solidstatedrive,ssd)。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1