CN111585795B - 一种通信设备的软件存储、加载与升级方法及系统 - Google Patents
一种通信设备的软件存储、加载与升级方法及系统 Download PDFInfo
- Publication number
- CN111585795B CN111585795B CN202010339051.2A CN202010339051A CN111585795B CN 111585795 B CN111585795 B CN 111585795B CN 202010339051 A CN202010339051 A CN 202010339051A CN 111585795 B CN111585795 B CN 111585795B
- Authority
- CN
- China
- Prior art keywords
- node
- software package
- storage
- package
- software
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种通信设备的软件存储、加载与升级方法及系统,涉及网络通信技术领域,需加载软件包时,本发明控制节点根据各节点上报的适用的软件包名称,查找出软件包所在的存储位置,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;需进行设备升级时,从网管下载待升级软件包,将待升级软件包推送至存储节点;记录网管下发的激活版本,设备重启后按照激活版本加载软件。软件包在设备内分布存储,减少软件重复存储,充分利用设备存储资源,实现了设备内存储资源的最优使用。网管升级按设备管理,设备内部保存多个历史版本,唯一的激活版本,减少版本升级、回退操作复杂度,保证了版本兼容性。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种通信设备的软件存储、加载与升级方法及系统。
背景技术
多插卡通信设备主控单盘作为管理单盘,然后根据业务需要配备响应的业务单盘,在网管上这样的一个设备体现为一个网元。网元设备的升级和各单盘软件存储加载当前有如下两种方案:
一、网管上直接对各单盘升级,主控单盘程序负责把单盘软件包下载到主控单盘、同时命令转发到各单盘,单盘再从主控下载软件包,同时上报升级进度、结果,主控程序转发进度、结果到网管。单盘保存软件包到本盘FLASH,待网管下发激活命令,单盘重启,启动后直接从本盘存储启动。
以上方案存在以下缺点:
1、网管分别针对单盘升级,升级工作量大。
2、各单盘版本容易错升,设备各单盘软件包版本不易保持统一,经常出现版本无法兼容问题。
3、当设备中存在多块相同单盘,单盘各自存储软件,存在存储资源浪费。
4、对于FLASH空间较小的老单盘,新版本软件扩大后无法存储,从而无法使用。
二、采用设备软件统一打包,网管升级把设备整包下载并存储到主控单盘上,在主控程序的管理下所有单盘都从主控上同一个设备整包取版本。该方案解决了版本不统一问题,同时避免了一个设备内相同业务单盘重复存储。
但是又引入了如下问题:
1、当前设备越来越复杂,单盘种类越来越多,设备整包越来越大,如果都在主控单盘存储,对主控单盘存储资源要求非常高,而大部分业务单盘已经部署了存储资源,如果不使用又是巨大浪费。
2、只能完成主控单盘--业务单盘一级升级,当单盘存在多级连接时,如图1所示是典型的多级连接设备,对于3级、4级单盘无法使用统一的升级加载方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种通信设备的软件存储、加载与升级方法及系统,实现多级连接通信设备软件存储、加载与升级,实现设备内存储资源的最优使用。
为达到以上目的,本发明采取的技术方案是:一种通信设备的软件存储、加载与升级方法,包括以下步骤:
各个存储节点分别存储各个软件包,存储节点上报节点信息、其适用的软件包名称和包存储信息至控制节点;普通节点上报节点信息和其适用的软件包名称至控制节点;
需加载软件包时,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;
需进行设备升级时,控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;记录网管下发的激活版本,按照激活版本加载软件。
在上述技术方案的基础上,所述节点信息包括节点地址、节点类型、存储能力、数据通道传输地址。
在上述技术方案的基础上,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点,具体包括以下步骤:
控制节点根据各节点上报的适用的软件包名称,从已激活设备包中查找软件包所在的存储位置;
根据软件包所在地址和节点地址确定中间转发节点,依次通过中间转发节点发送软件包获取命令至软件包所在的存储节点,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;
适用该软件包的节点向控制节点返回软件已启动并停止上报的适用的软件包名称。
在上述技术方案的基础上,控制节点从网管下载待升级软件包,根据各个存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点,具体包括以下步骤:
控制节点从网管服务器下载待升级软件包的声明文件,与本地已有软件包版本比较,下载版本与本地不同的单盘软件包;
从节点视图查找一个具备存储待下载的单盘软件包的节点;
从网管服务器下载软件包数据,通过一次或者多次转发把下载的软件包数据推送到存储节点,存储节点完成存储后向控制节点上报;
控制节点根据存储节点上报的结果更新包存储信息。
在上述技术方案的基础上,所述方法还包括以下步骤:
控制节点根据各节点上报的节点信息,建立节点信息视图;根据上报的包存储信息,建立设备包存储视图;
节点连接断开时,该节点的父节点监测到节点连接断开,向控制节点上报该节点连接断开;
控制节点根据连接断开节点地址更新节点视图和包存储视图;
若连接断开节点有下级节点,将其下级节点一并删除。
本发明还提供一种通信设备的软件存储、加载与升级系统,包括:
普通节点,其用于:向控制节点上报节点信息和其适用的软件包名称;从存储节点获得软件包后,进行解包启动;
存储节点,其用于:分别存储各个软件包,向控制节点上报节点信息和其适用的软件包名称、本节点的包存储信息;
控制节点,其用于:需加载软件包时,根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;需进行设备升级时,从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;记录网管下发的激活版本,按照激活版本加载软件。
在上述技术方案的基础上,所述节点信息包括节点地址、节点类型、存储能力、数据通道传输地址。
在上述技术方案的基础上,所述控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点,具体包括以下步骤:
控制节点根据各节点上报的适用的软件包名称,从已激活设备包中查找软件包所在的存储位置;
根据软件包所在地址和节点地址确定中间转发节点,依次通过中间转发节点发送软件包获取命令至软件包所在的存储节点,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;
适用该软件包的节点向控制节点返回软件已启动并停止上报的适用的软件包名称。
在上述技术方案的基础上,所述控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点,具体包括以下步骤:
控制节点从网管服务器下载待升级软件包的声明文件,与本地已有软件包版本比较,下载版本与本地不同的单盘软件包;
从节点视图查找一个具备存储待下载的单盘软件包的节点;
从网管服务器下载软件包数据,通过一次或者多次转发把下载的软件包数据推送到存储节点,存储节点完成存储后向控制节点上报;
控制节点根据存储节点上报的结果更新包存储信息。
在上述技术方案的基础上,所述普通节点和存储节点还用于:节点连接断开时,该节点的父节点监测到节点连接断开,向控制节点上报该节点连接断开;
所述控制节点还用于:根据各节点上报的节点信息,建立节点信息视图;根据上报的包存储信息,建立设备包存储视图;根据连接断开节点地址更新节点视图和包存储视图;若连接断开节点有下级节点,将其下级节点一并删除。
与现有技术相比,本发明的优点在于:
需加载软件包时,本发明控制节点根据各节点上报的适用的软件包名称,查找出软件包所在的存储位置,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;需进行设备升级时,从网管下载待升级软件包,将待升级软件包推送至存储节点;记录网管下发的激活版本,设备重启后按照激活版本加载软件。软件包在设备内分布存储,减少软件重复存储,充分利用设备存储资源,实现了设备内存储资源的最优使用。网管升级按设备管理,设备内部保存多个历史版本,唯一的激活版本,减少版本升级、回退操作复杂度,保证了版本兼容性。
附图说明
图1为现有技术的设备内节点连接示意图;
图2为本发明实施例的设备节点视图;
图3为本发明实施例的设备存储视图;
图4为本发明实施例的设备包结构;
图5为本发明实施例的设备包声明文件;
图6为本发明实施例的具体实施通信设备网络连接图;
图7为本发明实施例的升级软件模块组成;
图8为本发明实施例的软件配置示例;
图9为本发明实施例的基于UDP的可靠传输数据协议头;
图10为本发明实施例的通信模块消息分发功能流程图;
图11为本发明实施例的应用管理模块处理直连节点用户消息交换消息流程;
图12为本发明实施例的应用管理模块分发消息流程;
图13为本发明实施例的应用管理模块处理数据传输流程;
图14为本发明实施例的控制模块处理注册设备包命令流程;
图15为本发明实施例的控制模块处理激活设备包命令流程;
图16为本发明实施例的控制模块处理重启设备命令流程;
图17为本发明实施例的存储模块处理存储软件包命令流程;
图18为本发明实施例的普通模块处理解包加载命令流程。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
图1所示是典型的多级连接设备,通信设备上节点即单盘,该技术方案具有通用性,所以技术方案描述中使用节点。节点使用一个网口与父节点相连,具有相同父节点的兄弟节点和父节点连接在一个交换芯片上,所以兄弟节点和父节点可以互联互通;使用另一个网口与子节点相连,所以子节点与叔伯节点和祖父节点在网络上是隔离的,如果要通信需要父节点转发。为减少软件包加载时数据转发次数,采用控制通道和数据通道分离,控制通道只传输控制管理信息,数据通道传输软件包数据。控制通道命令传输采用可靠面向连接的通信协议,基于UDP或者TCP封装,隔断兄弟节点间的连接,控制上呈现树型连接;但是数据通道上兄弟节点是互联的,数据通道采用FTP或者SCP协议,数据传输上呈现的是基于树的混合拓扑。每个节点由配置文件指定类型为控制节点、存储节点或者普通节点。控制节点在通信设备上通常指定为主控单盘,一个设备任意时刻只有一个控制节点。存储节点可以指定多个,控制节点同时可以作为存储节点。
针对图1所示的多级连接设备通信设备,本发明实施例提供一种通信设备的软件存储、加载与升级方法,包括以下步骤:
各个存储节点分别存储各个软件包,根据节点之间的关系设置各节点地址,节点地址确定后,存储节点上报节点信息、其适用的软件包名称和包存储信息至控制节点;普通节点上报节点信息和其适用的软件包名称至控制节点;
需加载软件包时,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;
需进行设备升级时,控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;网管下发激活命令,控制节点记录激活版本,设备重启后按照激活版本加载软件。
本发明实施例的通信设备的软件存储、加载与升级方法,具体包括以下步骤:
步骤一:控制节点建立设备节点视图
1、控制节点级别通过配置文件定为0,地址为一个字节的硬件地址,硬件地址在多插卡通信设备上是单盘槽位,其他节点级别默认为0XFF。默认级别节点一旦与已经确定了级别的节点连上就确定其级别为相连节点级别加1,同时确定其地址,最低位一个字节为硬件地址,高位为相连节点地址,即父节点地址。例如,控制节点地址为0X03,其子节点地址为0x0301,0x0302,……。0x0301的子节点地址为0x030101,0x030102,……。
2、确定节点地址后可以向父节点上报节点信息。节点信息包括:节点地址、节点类型、存储能力、数据通道传输地址等,节点信息从单盘配置文件加载。
3、节点自举信息父节点向上级转发,直到信息到达控制节点。
4、控制节点记录所有上报节点的自举信息,建立节点信息视图,包括控制节点自身信息,节点视图按图2组织。
步骤二:控制节点建立包存储信息视图
1、从控制节点的激活版本记录文件读取激活版本。
2、确定节点地址后,如果是存储节点还向父节点上报包存储信息,(即本节点所存储软件包内容),父节点向上级节点转发该信息,直到控制节点。
3、控制节点根据上报的包存储信息,建立设备包存储视图,设备软件包视图按图3组织。
4、根据激活版本记录新建一个指针指向设备包存储视图某个设备包。
步骤三:节点软件加载。
1、所有节点在确定地址后向主控发送自举信息,自举信息包括节点适用的软件包名称。控制节点根据软件包名称从激活设备包查找其软件包所在位置。
2、根据节点软件包所在地址和节点地址确定中间转发节点,然后给第1中间节点发送软件包获取命令,第1中间节点获取软件成功继续向第2中间节点发送软件包获取命令,直到软件包到达最终节点,最终节点开始解包启动,最后向上级返回结果并停止自举。
3、控制节点在节点视图记录启动结果。
步骤四:删除设备软件包,删除设备软件包是为腾出设备存储空间,为升级做准备。
1、网管或者主控从控制节点查询设备包存储视图。
2、选择视图中历史版本下发删除命令。
3、控制节点遍历待删除设备包每个文件,向其所在存储节点发送删除命令,存储节点删除完成返回结果,控制节点更新设备包视图。
4、删除完成控制节点返回结果给主控或者网管。
步骤五:设备升级。
1、设备包压缩文件包含一个声明文件和各节点包压缩文件,设备包结构如图4所示,声明文件内容如图5。编译服务器按图4和图5打包设备包。
2、网管解压设备软件包,并通过管理口通知设备控制节点注册。
3、设备控制节点从网管服务器下载声明文件,和本地已有设备版本比较,并下载不同的单盘软件包。
4、从节点视图查找一个具备存储新单盘软件包的节点。
5、通过一次或者多次转发把软件包推送到存储节点,存储节点完成存储后上报结果。
6、控制节点根据结果更新设备包视图。
7、重复步骤4直到所有的单盘软件包下载完成。
8、向网管或者主控软件上报软件包下载结果。
9、网管下发激活命令,控制节点记录激活版本到本地文件,该文件二1中加载。
10、设备重启,进入步骤一、二、三。
步骤六:节点连接断开。
1、所有控制通道通过面向连接的通信方式,控制树中任一节点删除父节点能感知,然后向控制节点上报。
2、消息到达控制节点,控制节点根据连接断开节点地址更新节点视图和包存储视图。被删除节点如果还有下级节点,其下级节点也一并删除。
步骤七:新增连接节点。
1、新增节点默认级别是0XFF,按步骤一1给新增节点确定地址,如果新增单盘有下级节点依次往下确定地址。
2、新增节点地址确定后按步骤二2上报节点信息。
3、控制节点更新节点视图和包存储视图。
4、按步骤三加载新增节点软件。
步骤八:历史版本回退。
1、网管查询设备包存储视图,从历史版本中选择一个激活,控制节点修改激活版本信息记录文件。
2、设备重启,进入步骤一、二、三。
本发明实施例还提供一种通信设备的软件存储、加载与升级系统,包括:
普通节点,其用于:向控制节点上报节点信息和其适用的软件包名称;从存储节点获得软件包后,进行解包启动;
存储节点,其用于:分别存储各个软件包,向控制节点上报节点信息和其适用的软件包名称、本节点的包存储信息;
控制节点,其用于:需加载软件包时,根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;需进行设备升级时,从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;记录网管下发的激活版本,按照激活版本加载软件。
以下结合说明书附图说明本发明实施例的各节点的具体实现方式。
图6是一个通信设备网络连接图,针对此实现一套软件运行在设备各节点上,下文以升级软件表示实施软件。网管与控制节点通过GCC(Generic Communication Channel,通用通信信道)连接,控制节点负责完成网管升级命令转换和网管数据下载代理,控制节点和升级软件使用盘内环回口通信。下级节点连接到上级节点交换芯片,实现千兆以太网连接,交换芯片划分两个网络,实现上下级网络隔离。单盘间连接使用10.26IP网段,IP地址第3位和设备管理树层级相同,具体实施中通过节点配置,IP地址第4字节xx使用硬件地址配置。
参见图7所示,某节点中升级软件包含的模块包括:通信模块、应用管理模块和普通模块是必选模块。应用管理模块读取单盘配置,根据配置加载具体应用模块。主控单盘配置为控制节点,加载控制模块,同时配置为存储节点,加载存储模块。单盘如果配置为存储节点,需要同时配置存储路径和存储能力,应用管理模块加载存储模块,存储模块再读取存储配置。如果单盘存储能力有限则不配置存储模块,只加载必选模块。
该升级软件初始化配置采用xml文件描述,配置文件绝对路径作为程序参数输入。配置文件描述格式如图8所示,描述如下:
C1、节点类型配置,控制节点配置为control,存储节点配置为storage、普通节点配置为normal;
C2、提供数据下载服务的用户名,scp远程拷贝用户名;
C3、提供数据下载服务的用户密码,scp远程拷贝密码;
C4、一个网络连接配置,图1中一个中间节点有两个C4,分别与父节点相连和所有子节点相连。根节点和叶节点只有一个C4;
C41、本节点对外通信UDP使用的网络配置;
C411、本节点对外通信UDP使用的网口;
C412、本地节点对外通信UDP使用的端口;
C42、待连接的远端网络设置,由多个C42配置,一个C42表示一个希望连接的节点;
C421、待连接的远端网络IP;
C422、待连接的远端网络端口;
C5、存储模块设置,只有C1配置为storage时才有该配置。
C51、存储文件目录
C52、单盘分配的存储空间大小
C6、普通模块配置,即单盘软件包解压与启动配置。
C61、单盘软件包解包与运行目录。
C7、数据转发时缓存配置
C71、缓存所用目录
C72、单盘预留给缓存的存储空间大小
下面说明各模块功能实现。
一、通信模块
通信模块可以直接使用TCP实现面向连接的可靠数据传输,然后对应用层数据进行封装。这里使用UDP实现面向连接的可靠传输,数据协议头格式如图9所示,通信模块主要针对图9所示协议头进行处理。
通信模块加载连接配置,和所有待连接的对端尝试心跳,进而实现连接状态,通信模块保存所有直接相连单盘的链表,任何单盘失连都向控制节点上报。连接状态信息通过队列通知应用管理模块,应用管理模块调用控制模块函数更新节点视图,若没有加载控制模块功能,则就此丢弃连接状态。
通信模块实现消息转发功能,转发流程如图10所示。描述如下:
S101、判断本地地址和目的地址是否相等,相等转S102,否则转S105;
S102、有本节点地址和目的地址计算下一个转发节点地址。计算方法示例如下:
目的地址:0x01,本地地址为0x010201,则下一转发节点地址为0x0102。
目的地址:0x01020304,本地地址为0x0102,则下一转发节点地址为0x010203。
S103、下一转发节点连接状态是UP转S104,否则转S106;
S104、向下一节点转发消息;
S105、本节点消息处理;
S106、向源节点返回消息发送失败。
二、应用管理模块
应用管理模块根据C1节点类型配置初始具体应用。
应用管理模块处理消息流程如图11所示。描述如下:
S201、通信模块通知有单盘连接状态UP。
S202、应用管理模块发送请求用户信息命令,图9中应用层数据按如下格式填写。
S203、如果是用户信息请求命令进入S204、否则进入S205.
S204、图9中应用层数据按如下格式返回,其中用户名为配置C2,用户密码为配置C3。
S205、若是用户信息应答进入S206,否则进入S207,开始其他应用命令处理。
S206、记录返回的用户名和密码。
S207、其他应用命令处理。
S208、通信模块通知有单盘连接状态DOWN。
S209、删除down掉单盘的用户信息记录。
应用管理模块根据应用数据前4个字节——应用命令代码和消息方向进行应用命令分发。分发流程如图12所示。描述如下:
S301、若是注册设备包消息进入S302;否则进入S303。
S302、调用控制模块的注册设备包处理函数。
S303、若是激活设备包消息进入S304;否则进入S305。
S304、调用控制模块的激活设备包处理函数。
S305、若是设备重启命令进入S306;否则进入S307
S306、调用控制模块的设备重启函数实现设备重启。
S307、若是存储节点上报的软件包存储信息进入S308;否则进入S309
S308、调用控制模块的存储上报消息处理函数,更新设备包存储视图。
S309、若是单盘自举信息上报进入S310;否则进入S311。
S310、调用控制模块的自举消息处理函数,更新节点视图。
S311、若是单盘失连消息进入S312;否则进入S313。
S312、调用控制模块的单盘失连消息处理函数,更新节点视图和设备包存储视图。
S313、若属于数据传输命令进入S314;否则进入S315。
S314、数据传输命令分发处理,其处理流程如图13所示。
S315、返回命令处理结果。
涉及到数据传输的有:设备升级时软件包分发到各存储节点和单盘加载软件。应用管理模块处理数据传输命令流程如图13所示。描述如下:
S401、判断数据最终目的地址是否和本盘地址相等;若相等进入S402;否则进入S408进行数据转发。数据传输命令格式如下:
这里的源地址是当前节点要下载数据的节点,最终目的地址是数据最终要到的节点地址,和通信模块协议源地址和目的地址有区别。文件路径是要传输文件在源节点单盘上存放位置。其他数据随命令码变化。
S402、若是加载命令进入S403;否则进入S405。
S403、使用SCP协议下载软件包到内存。
S404、通知普通模块开始解包并启动。
S405、若是存储命令进入S406;否则返回到S315
S406、使用SCP协议下载软件包到内存,并校验
S407、通知存储模块存储软件包并记录软件包数据信息。
S408、使用SCP协议下载软件到缓存目录。
S409、计算下个转发节点地址,并按S401应用数据格式通知下个转发节点,格式中源地址改为本盘地址,文件路径改为本盘缓存的文件路径,其他不变;而这个消息通信模块协议中源地址为本盘地址,目的地址为计算的下个节点单盘地址。
三、控制模块
网管下发注册命令进行预升级,控制模块对注册命令的处理流程如图14所示。描述如下:
S501、通过主控程序代理通道请求网管服务器待升级设备包的声明文件。
S502、遍历设备包存储视图和S501下载的声明文件,得到需要从网管服务器下载的文件和设备上已经存在的文件列表。
S503、新建一个设备包对象,并把S502找到的已经存在的文件加入初始化。
S504、使用声明文件判断新建设备包是否完整,若已经完整转S511;否则转S505.
S505、下载一个新设备包中不存在的文件到控制节点缓存区。
S506、从节点视图查找一个存储节点
S507、向到达存储节点的下一节点发起数据传输命令。
S508、等待数据传输完成判断结果,若成功转S504,否则转S509
S509、清除已经下载的文件,然后删除新建设备包
S510、向主控整型返回注册结果
S511、设备中可以保存多个个历史版本,如果已经到达上限则删除最老的版本,如果不到,则不删除。
S512、新建设备包加入到设备包存储视图,新加入的设备包和历史版本在未激活之前无区别。
网管可以对当前任一历史版本选择激活,控制模块对激活命令的处理流程如图15所示。描述如下:
S601、修改激活设备包指针。软件使用一个指针指向存储视图某个设备包,表示当前激活版本,激初始化该指针从S602所记录的文件加载。
S602、记录当前激活版本到文件。
S601、返回结果。
激活后新插入的单盘就会使用新的设备包加载,还需要重启设备所有单盘才能完成所有单盘重新加载。网管下发重启设备命令,控制节点重启设备流程如图16所示。描述如下:
S701、节点视图中查找最低级的单盘,然后发送重启命令。
S702、查看节点视图是否只剩控制节点自身。若是转S703,否则转S701。重启最低级节点之后,单盘连接断开,控制节点会更新节点视图。
S703、返回重启结果。
S704、重启控制节点。
主控模块通过存储节点上报的存储信息和节点断开消息更新设备包存储视图;通过节点自举上报消息和节点断开消息更新节点视图。
四、存储模块
存储模块功能实现如图17所示。描述如下:
S801、将内存文件存储到磁盘,并记录文件所述的设备包版本。
S802、向主控节点返回存储结果。
当单盘地址确定后,向主控升级软件上报所存储的软件包信息。
五、普通模块
普通模块实现软件包解包与启动,流程如图18所示。描述如下:
S901、解压软件包到运行目录。
S902、根据软件包配置启动所有程序。
S903、删除下载的软件包缓存。
S904、返回启动结果。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种通信设备的软件存储、加载与升级方法,其特征在于,包括以下步骤:
各个存储节点分别存储各个软件包,每个存储节点上报节点信息、其适用的软件包名称和包存储信息至控制节点;每个普通节点上报节点信息和其适用的软件包名称至控制节点;
需加载软件包时,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;
需进行设备升级时,控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;记录网管下发的激活版本,按照激活版本加载软件;
其中,所述方法还包括以下步骤:
控制节点根据各节点上报的节点信息,建立节点信息视图;根据上报的包存储信息,建立设备包存储视图;
节点连接断开时,该节点的父节点监测到节点连接断开,向控制节点上报该节点连接断开;
控制节点根据连接断开节点地址更新节点视图和包存储视图;
若连接断开节点有下级节点,将其下级节点一并删除。
2.如权利要求1所述的方法,其特征在于,所述节点信息包括节点地址、节点类型、存储能力、数据通道传输地址。
3.如权利要求1所述的方法,其特征在于,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点,具体包括以下步骤:
控制节点根据各节点上报的适用的软件包名称,从已激活设备包中查找软件包所在的存储位置;
根据软件包所在地址和节点地址确定中间转发节点,依次通过中间转发节点发送软件包获取命令至软件包所在的存储节点,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;
适用该软件包的节点向控制节点返回软件已启动并停止上报的适用的软件包名称。
4.如权利要求1所述的方法,其特征在于,控制节点从网管下载待升级软件包,根据各个存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点,具体包括以下步骤:
控制节点从网管服务器下载待升级软件包的声明文件,与本地已有软件包版本比较,下载版本与本地不同的单盘软件包;
从节点视图查找一个具备存储待下载的单盘软件包的节点;
从网管服务器下载软件包数据,通过一次或者多次转发把下载的软件包数据推送到存储节点,存储节点完成存储后向控制节点上报;
控制节点根据存储节点上报的结果更新包存储信息。
5.一种通信设备的软件存储、加载与升级系统,其特征在于,包括:
普通节点,其用于:向控制节点上报节点信息和其适用的软件包名称;从存储节点获得软件包后,进行解包启动;
存储节点,其用于:分别存储各个软件包,向控制节点上报节点信息和其适用的软件包名称、本节点的包存储信息;
控制节点,其用于:需加载软件包时,控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点;需进行设备升级时,控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点;记录网管下发的激活版本,按照激活版本加载软件;
其中,所述普通节点和存储节点还用于:节点连接断开时,该节点的父节点监测到节点连接断开,向控制节点上报该节点连接断开;
所述控制节点还用于:根据各节点上报的节点信息,建立节点信息视图;根据上报的包存储信息,建立设备包存储视图;根据连接断开节点地址更新节点视图和包存储视图;若连接断开节点有下级节点,将其下级节点一并删除。
6.如权利要求5所述的系统,其特征在于,所述节点信息包括节点地址、节点类型、存储能力、数据通道传输地址。
7.如权利要求5所述的系统,其特征在于,所述控制节点根据各节点上报的其适用的软件包名称,查找出软件包所在的存储节点,从存储节点获取软件包发送至适用该软件包的节点,具体包括以下步骤:
控制节点根据各节点上报的适用的软件包名称,从已激活设备包中查找软件包所在的存储位置;
根据软件包所在地址和节点地址确定中间转发节点,依次通过中间转发节点发送软件包获取命令至软件包所在的存储节点,从存储节点下载软件包发送至适用该软件包的节点,进行解包启动;
适用该软件包的节点向控制节点返回软件已启动并停止上报的适用的软件包名称。
8.如权利要求5所述的系统,其特征在于,所述控制节点从网管下载待升级软件包,根据各存储节点上报的包存储信息,将待升级软件包推送至对应的存储节点,具体包括以下步骤:
控制节点从网管服务器下载待升级软件包的声明文件,与本地已有软件包版本比较,下载版本与本地不同的单盘软件包;
从节点视图查找一个具备存储待下载的单盘软件包的节点;
从网管服务器下载软件包数据,通过一次或者多次转发把下载的软件包数据推送到存储节点,存储节点完成存储后向控制节点上报;
控制节点根据存储节点上报的结果更新包存储信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339051.2A CN111585795B (zh) | 2020-04-26 | 2020-04-26 | 一种通信设备的软件存储、加载与升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010339051.2A CN111585795B (zh) | 2020-04-26 | 2020-04-26 | 一种通信设备的软件存储、加载与升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585795A CN111585795A (zh) | 2020-08-25 |
CN111585795B true CN111585795B (zh) | 2022-06-03 |
Family
ID=72125094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010339051.2A Active CN111585795B (zh) | 2020-04-26 | 2020-04-26 | 一种通信设备的软件存储、加载与升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585795B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986303B (zh) * | 2021-11-16 | 2024-05-07 | 重庆紫光华山智安科技有限公司 | 一种多芯片设备的升级方法和系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859205A (zh) * | 2006-03-18 | 2006-11-08 | 华为技术有限公司 | 一种单板软件存储和加载的方法及系统 |
CN1980446A (zh) * | 2005-12-06 | 2007-06-13 | 中兴通讯股份有限公司 | 一种嵌入式分布系统的版本信息处理方法 |
WO2009082906A1 (fr) * | 2007-11-27 | 2009-07-09 | Huawei Technologies Co., Ltd. | Procédé, équipement et système de mise à niveau de logiciel |
CN102546261A (zh) * | 2012-02-07 | 2012-07-04 | 华为技术有限公司 | 网元升级的方法、网元、服务器及系统 |
CN103533027A (zh) * | 2013-09-22 | 2014-01-22 | 瑞斯康达科技发展股份有限公司 | 一种分布式设备及软件版本兼容性维护的方法、系统 |
CN104503811A (zh) * | 2015-01-09 | 2015-04-08 | 烽火通信科技股份有限公司 | 基于单存储区的通信设备升级方法及系统 |
CN105183519A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | Onu软件版本分片升级的装置及方法 |
CN106330497A (zh) * | 2015-06-25 | 2017-01-11 | 中兴通讯股份有限公司 | 一种待升级单板的确定方法、装置、主控板及单板系统 |
CN106936630A (zh) * | 2017-02-23 | 2017-07-07 | 烽火通信科技股份有限公司 | 一种多插卡式设备整包升级方法及升级系统 |
-
2020
- 2020-04-26 CN CN202010339051.2A patent/CN111585795B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1980446A (zh) * | 2005-12-06 | 2007-06-13 | 中兴通讯股份有限公司 | 一种嵌入式分布系统的版本信息处理方法 |
CN1859205A (zh) * | 2006-03-18 | 2006-11-08 | 华为技术有限公司 | 一种单板软件存储和加载的方法及系统 |
WO2009082906A1 (fr) * | 2007-11-27 | 2009-07-09 | Huawei Technologies Co., Ltd. | Procédé, équipement et système de mise à niveau de logiciel |
CN102546261A (zh) * | 2012-02-07 | 2012-07-04 | 华为技术有限公司 | 网元升级的方法、网元、服务器及系统 |
CN103533027A (zh) * | 2013-09-22 | 2014-01-22 | 瑞斯康达科技发展股份有限公司 | 一种分布式设备及软件版本兼容性维护的方法、系统 |
CN104503811A (zh) * | 2015-01-09 | 2015-04-08 | 烽火通信科技股份有限公司 | 基于单存储区的通信设备升级方法及系统 |
CN106330497A (zh) * | 2015-06-25 | 2017-01-11 | 中兴通讯股份有限公司 | 一种待升级单板的确定方法、装置、主控板及单板系统 |
CN105183519A (zh) * | 2015-09-18 | 2015-12-23 | 烽火通信科技股份有限公司 | Onu软件版本分片升级的装置及方法 |
CN106936630A (zh) * | 2017-02-23 | 2017-07-07 | 烽火通信科技股份有限公司 | 一种多插卡式设备整包升级方法及升级系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111585795A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6098098A (en) | System for managing the configuration of multiple computer devices | |
CN108449197B (zh) | 一种基于软件定义网络的多云环境网络构建方法 | |
US7627653B2 (en) | Method and apparatus for distributing computer files across a network | |
US20020046260A1 (en) | Managing networked directory services with auto field population | |
US20120144456A1 (en) | Method of receiving, storing, and providing device management parameters and firmware updates to application programs within a mobile device | |
JP2003523099A (ja) | 電話通信装置からのディジタルメッセージを転送し記録するシステム | |
US9819545B2 (en) | Telecommunications node configuration management | |
US6836793B1 (en) | Method of distributing data packets of system software where the receiving units acknowledge only proper reception | |
CN116760822A (zh) | 一种物联网设备文件传输方法、系统及装置 | |
CN111585795B (zh) | 一种通信设备的软件存储、加载与升级方法及系统 | |
WO2008022590A1 (en) | Method, device and system for managing object instances | |
US8892751B2 (en) | Method, system and network entity for negotiating the session description protocol version and obtaining the session description protocol version information | |
WO2007054007A1 (fr) | Méthode et système d’implémentation d’une configuration de données de service | |
US9612822B2 (en) | Telecommunications node configuration management | |
US9871699B2 (en) | Telecommunications node configuration management | |
CN107018177A (zh) | 一种集中管理和多区域服务的终端管理系统 | |
CN112688794A (zh) | Yang模型的管理方法、装置、系统、设备及存储介质 | |
US5920567A (en) | Network related information transfer method for a connection device, and a data communication system | |
CN114640569A (zh) | 动态消息管理装置、设备、系统、方法及存储介质 | |
CN114006910B (zh) | 信息同步的方法及装置 | |
CN109274715A (zh) | 车载多通道通信系统的平台资源管理系统 | |
Cisco | Configuring IE2100 CNS Agents | |
US6981046B2 (en) | System for the efficient transmission of partial objects in distributed data bases | |
WO2020104448A1 (en) | Methods providing network service restoration context and related service instance sets and storage resource nodes | |
KR20080092487A (ko) | 클라이언트 동기화 시스템 및 그 방법 |
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 |