软件加载方法

文档序号:7601073阅读:207来源:国知局
专利名称:软件加载方法
技术领域
本发明涉及对通信网络系统中的网元进行加载软件的技术,尤其涉及一种软件加载方法。
背景技术
伴随着各种通信业务的增加,就需要对通信网络系统中的网元进行加载新软件或升级修改原来运行的软件,以使各个网元能够对各种通信新业务进行承载。
目前,对通信网络系统中的网元进行软件加载通常会选择两种方式第一种是利用用户自己定义的私有协议实现客户端和通信网络系统中的各个网元之间的通信,以使客户端能够直接将软件依次加载到网元中的各个单板上,各个单板会校验客户端加载过来的软件是否和本板类型相匹配,如果不匹配单板会拒绝加载;如果匹配,各个单板加载软件后,经复位操作后重新激活新加载的软件,如果新加载的软件运行正常则证实对网元加载软件成功。
但是上述利用用户自己定义的私有协议实现客户端对网元进行加载软件的方式存在如下不足客户端要分别对网元中的各个单板依次进行加载软件,加载过程繁琐且容易出错;由于客户端采用私有协议和通信网络系统中的网元进行通信,所以当通信网络系统中的各个网元支持不同协议和客户端通信时(如由不同厂商的设备组成的通信网络系统),致使客户端无法采用同一私有协议对通信网络系统中的所有网元同时进行加载软件;
由于客户端是分别对网元中的各个单板进行加载软件的,当各个单板要加载的软件其版本存在差异时,将为客户端的软件管理带来较大的不便。
第二种是将通信网络系统中的每个网元作为一个文件传输协议服务器(FTP Server),客户端通过标准的文件传输协议(FTP,File TransmissionProtocol)将软件加载到作为FTP Server的网元中的各个单板上,然后通过复位网元来激活各个单板上新加载的软件,以新加载的软件运行正常来证实对网元加载软件成功。
使用标准的FTP协议来实现客户端对通信网络系统中的各个网元进行加载软件,可以实现客户端使用标准FTP协议对网络中的各个网元进行同时加载软件的目的。但是客户端使用标准的FTP协议对作为FTP Server的网元进行加载软件,将使得作为FTP Server的网元需要长期开放自身的传输控制协议(TCP,Transmission Control Protocol)端口,使得网元可能存在接收非法软件的风险;同时,使用这种软件加载方式,网元中的各个单板对客户端加载过来的软件并不进行校验,因此网元中的各个单板并不能识别客户端加载过来的软件是否与自身板类型相匹配,而判断加载软件与要加载软件的目标单板类型是否匹配的工作需要人为来控制。另外,如果客户端加载的软件在网元中的单板上运行不正常时,还需要人为去恢复正常。

发明内容
本发明要解决的技术问题在于提出一种软件加载方法,以实现统一对网络中的各网元进行加载软件,并能够自动识别加载软件和单板类型的匹配性。
为解决上述问题,本发明提出了一种软件加载方法,用于对通信网络系统中的网元加载软件,包括步骤(1)标识每个软件能够运行的单板类型;(2)将各个相互独立的软件组成软件包加载到需要进行加载软件的网元的主控板中;
(3)所述主控板根据自身所在网元的每个单板上报的属性信息和自身所加载的软件包中每个软件能够运行的单板类型信息,将对应能够在该单板上运行的软件加载到该单板。
其中所述步骤(1)通过在每个软件的头部域中依次封装单板类型标识、单板硬件版本标识和单板硬件版本掩码标识来实现标识每个软件能够运行的单板类型。
其中所述步骤(2)具体包括步骤(21)将各个相互独立的软件组成软件包存储在文件传输协议服务器中;(22)需要进行加载软件的网元向所述文件传输协议服务器发送软件包加载请求信息;(23)所述文件传输协议服务器根据接收的请求信息,将所述软件包加载到需要进行加载软件的网元的主控板中。
所述步骤(22)中还包括步骤需要进行加载软件的网元将所述软件包中的每个软件的版本信息和自身主控板原始加载的旧软件包中每个软件的版本信息进行比较,将版本信息有变化的软件信息和新增软件信息封装在所述请求信息中;所述步骤(23)中文件传输协议服务器根据接收的请求信息,将版本信息有变化的软件和新增软件加载到需要进行加载软件的网元的主控板中。
其中可以将软件包加载到所述主控板的备份存储区中,所述主控板将加载前自身运行的旧软件包存储在主存储区中;在所述主控板不能正常运行新加载的软件包时,恢复主存储区中的旧软件包继续运行。
所述步骤(2)和(3)之间还包括步骤当所述网元更换自身唯一的主控板时,将所述软件包重新加载到更换后的主控板中。
其中所述步骤(3)中每个单板上报的属性信息包括单板自身的单板类型标识和单板硬件版本标识,以及单板目前运行的各个软件信息;所述步骤(3)具体包括步骤所述主控板根据单板目前运行的各个软件信息,在自身所加载的软件包中查找到对应单板目前运行的各个软件信息的更新软件和单板目前未运行的各个新软件;所述主控板判断查找的各个软件的头部域中封装的单板类型标识是否和单板上报的单板类型标识相同,且所述头部域中封装的单板硬件版本标识与单板硬件版本掩码标识的与值是否和单板上报的单板硬件版本标识与所述头部域中封装的单板硬件版本掩码标识的与值相同;并将上述两个判断结果均相同的软件加载到该单板。
其中所述单板具有两个同时存储有单板目前运行的旧软件的存储区,所述主控板将对应软件加载到单板的一个所述存储区中;所述单板能够正常运行新加载的软件时,将该对应软件同时加载到另一存储区;所述单板不能正常运行新加载的软件时,恢复另一存储区中的旧软件继续运行;或所述单板具有一个存储有单板目前运行的旧软件的存储区,在所述单板不能正常运行新加载的软件时,所述主控板将单板原始运行的旧软件重新加载给该单板继续运行。
其中可以通过复位主控板来激活各个单板中新加载的软件,并根据激活状态来判断各个单板是否能够正常运行新加载的软件;其中对于加载了现场可编程门阵列软件的单板,激活工作单板或备份单板中的其中一块。
所述步骤(3)中主控板将对应软件加载给单板之前还包括步骤主控板将要加载给单板的对应软件进行更改名称处理。
本发明能够达到的有益效果如下a.预先在编制运行在单板上的各个软件时,标识每个软件能够运行的单板类型,这样通信网络系统中的网元在加载软件到相应单板时,可以实现自动对加载软件和要加载软件的目标单板类型是否匹配进行判断,而无需人为来主动进行控制。
b.文件传输协议服务器(FTP Server)根据要加载软件的网元发来的软件加载请求信息,通过标准的FTP协议将要加载在各个单板上的软件以软件包形式统一加载到该网元的主控板上,并由主控板统一来对网元中的其他单板进行软件加载,由此可以实现对通信网络系统中的各个网元进行统一加载软件包的目的,有利于加载软件之间一致性的管理。
c.软件加载过程中,只对网元中主控板或各个单板中的一个存储区进行加载软件,对于备份存储区将保留原始运行软件,以使可以实现在加载软件运行不正常时,回退执行原始软件的运行,减少了网元中业务中断的风险。


图1是本发明软件加载方法的主要实现原理流程图;图2是在本发明软件加载方法中网元中的主控板将软件包中的各个软件加载给对应的单板的主要实现原理流程图;图3是利用本发明软件加载方法实现为网元中的每个单板进行加载软件的整个实施过程示意图。
具体实施例方式
本发明软件加载方法的设计思想是预先在要加载的软件中定义加载软件和要加载到的目标单板之间的匹配关系,然后将各个加载软件以软件包的形式统一加载到网元中的主控板上,然后由主控板根据各个目标加载单板上报的属性信息和各个加载软件与要加载到的目标单板之间的匹配关系,来将相应软件加载到对应的目标单板上。
下面将结合各个附图对本发明软件加载方法的具体实施原理进行详细的阐述。请参阅图1,该图是本发明软件加载方法的主要实现原理流程图,本发明软件加载方法的主要实现过程包括步骤S10,在编写要加载到网元中单板上的软件时,标识每个软件能够运行的单板类型;因为每个加载软件在向目标单板加载之前需要首先验证这个软件是否能够运行于该目标单板,且一个加载软件有可能可以运行于不同的目标单板。其中可以通过在软件的头部域中写入一个或多个四字节的匹配组,在每个匹配组中依次封装两字节的单板类型标识(Bd Type In Match Group)、单字节的单板硬件版本标识(PCB Ver In Match Group,其中PCB为印刷电路板Printed Circuit Board的缩写,用它来表示硬件版本)和单字节的单板硬件版本掩码标识(PCB Mask In Match Group)来实现标识每个软件能够运行的各个单板类型。后续该软件头部域中只要有一组匹配组中的参数和目标单板上报的属性参数匹配,则可以证实该软件能够运行在该目标单板上。
例如单板的单板类型标识用Bd Type Of Hw表示;单板硬件版本标识用PCB Ver Of Hw表示;则只要保证软件中的一个匹配组中封装的单板类型标识(Bd Type In Match Group)和单板上报的单板类型标识(Bd Type Of Hw)相同,且该匹配组中封装的单板硬件版本标识(PCB Ver In Match Group)与单板硬件版本掩码标识(PCBMask In Match Group)的与值和单板上报的单板硬件版本标识(PCB Ver OfHw)与该匹配组中封装的单板硬件版本掩码标识(PCB Mask In Match Group)的与值也相同;即判断条件满足(Bd Type In Match Group==Bd Type Of Hw)&& 就可以得到这个软件能够在该单板上运行的结论。
其中在软件头部域的匹配组中引入单板硬件版本掩码标识(PCB Mask InMatch Group)是为了软件的灵活使用,因为有时单板硬件变化后可能并不需要重新编写新软件(即原来编写的软件也可以正常运行于该新单板上的),这样当没有引入单板硬件版本掩码标识时,完成上述判断过程会导致必须修改软件的头部域,而对于已经完成的软件而言,这就需要重新发布软件,将造成很大的麻烦。而在软件的头部域中引入了硬件版本掩码标识后,则软件的应用会更灵活一些,在软件中可以确定一个必须升级软件的硬件版本标识位数,而硬件版本掩码标识把除硬件版本标识位的其余位掩掉,此时在更改单板硬件时,如果判断出原来的软件无需修改,则可以只更新软件中被硬件版本掩码标识掩掉的几位,这样原来的软件还可以直接使用,使加载软件的应用更加灵活。
步骤S20,将各个相互独立的软件组成软件包;软件包是一个相对松散的软件集合,通过包描述信息文件组合到一起;软件包中各个软件之间相互并不引入匹配关系,以保持各个软件之间的简单灵活。由于软件包中各个软件的升级频繁度不同,这样软件包采用松散集合的好处是在软件进行升级时,可以实现只更新有改变的软件,以加快软件升级的速度,同时也可以保证网元自身的业务运行效率;而且当由于升级需要引入新类型的软件时也可以直接进行加载。如果采用标准的FTP协议传输数据,则组成的软件包可以存放在FTP Server中。
步骤S30,将步骤S20中组成的软件包加载到需要进行加载软件的网元的主控板中;如上所述,如果采用标准的FTP协议传输数据,则该加载过程为需要进行加载软件的网元向上述FTP Server发送软件包加载请求信息;该FTP Server根据接收的请求信息,将软件包加载到需要进行加载软件的网元的主控板中。
其中在下载软件包之前,需要进行加载软件的网元要将软件包中的每个软件的版本信息和自身主控板中原始加载的旧软件包中每个软件的版本信息进行比较,将版本信息有变化的软件信息和新增软件信息封装在所述请求信息中;这样,FTP Server根据接收的请求信息,将版本信息有变化的软件和新增软件加载到需要进行加载软件的网元的主控板中。
其中如果主控板含有两个存储区主存储区和备份存储区;则客户端只将软件包加载到主控板的备份存储区中,然后主控板将加载前自身运行的旧软件包存储在主存储区中,以使在主控板不能正常运行新加载的软件包时,能够恢复主存储区中的旧软件包继续运行,这样可以保证网元不会中断业务处理,提高了通信网络系统的通信保障性。
还有一种情况存在,即当网元中的主控板不具备备份主控板时,只有一块主控板来控制整个网元中的其他单板的业务运行;这时当更换网元自身的唯一主控板时,可能会由于更换后的主控板中已加载的软件包比较老,则该更换后的主控板启动后直接去为各个单板进行加载软件,有可能会引起网元处理业务的故障,所以需要将新软件包重新加载到更换后的主控板中;或者用户也可以通过识别更换后的主控板所加载的软件包的版本信息,在认为该更换后的主控板可以直接为各个单板加载软件时,下命令直接使用该更换后的主控板利用自身原来已加载的软件包去为每一目标单板加载软件。
步骤S40,加载了软件包的主控板根据自身所在网元的每个单板上报的属性信息和自身所加载的软件包中每个软件能够运行的单板类型信息,将对应能够在该单板上运行的软件加载到该单板。
其中网元中每个单板上报给主控板的属性信息包括单板自身的单板类型标识(Bd Type Of Hw)和单板硬件版本标识(PCB Ver Of Hw),以及单板目前正在运行的各个软件信息;然后主控板根据各个单板上报的上述属性信息和自身加载的软件包中每个软件能够运行的单板类型信息,来将相应软件加载给对应的单板。
请参阅图2,该图是在本发明软件加载方法中网元中的主控板将软件包中的各个软件加载给对应的单板的主要实现原理流程图;其主控板向各个单板加载软件的具体过程如下步骤S41,网元中的主控板根据单板目前正在运行的各个软件信息,在自身所加载的软件包中查找到对应于单板目前正在运行的各个软件信息的更新软件和单板目前未运行的各个新软件;步骤S42,主控板首先判断步骤S41中查找的各个软件的头部域中封装的单板类型标识(Bd Type In Match Group)是否和单板上报的单板类型标识(BdType Of Hw)相同,即是否满足关系式Bd Type In Match Group==Bd Type Of Hw如果是,继续执行步骤S43;否则结束;步骤S43,主控板继续判断步骤S41中查找的各个软件的头部域中封装的单板硬件版本标识(PCB Ver In Match Group)与单板硬件版本掩码标识(PCBMask In Match Group)的与值是否和单板上报的单板硬件版本标识(PCB VerOf Hw)与软件的头部域中封装的单板硬件版本掩码标识(PCB Mask In MatchGroup)的与值相同,即是否满足关系式(PCB Ver In Match Group & PCB Mask In Match Group)==(PCB Ver Of Hw & PCB Mask In Match Group)如果是,将满足上述条件的软件加载到该单板,否则结束。
上述主控板在为各个单板加载软件的过程中,如果单板具有两个存储区,每个存储区中分别存储有单板目前正在运行的旧软件,则主控板只将对应软件加载到单板的其中一个存储区中,另一个存储区中仍旧保存有单板新加载软件之前运行的旧软件;这样单板加载软件后能够正常运行新加载的软件时,会将对应软件同时加载到自身的另一个存储区中,以实现新软件的提交处理;否则,单板加载软件后不能正常运行新加载的软件时,恢复另一存储区中存储的旧软件继续运行,以保证网元的业务处理不会中断。
其中上述验证单板新加载软件后是否能够正常运行新加载的软件,可以通过复位主控板来激活各个单板中新加载的软件,并根据单板中新加载软件的激活状态来判断各个单板是否能够正常运行新加载的软件。有一种特殊情况是对于加载了现场可编程门阵列(FPGA,Field Programmable Gate Array)软件的单板而言,由于激活FPGA软件时,加载了FPGA软件的单板会出现业务中断现象,而一般单板是具有备份单板来进行保护的,所以对于加载了FPGA软件的单板而言,只激活工作单板或备份单板中的其中一块即可,这样可以保证在加载了FPGA软件的单板在软件激活过程中,也可以避免业务中断现象出现。其中主控板在激活各个新软件后数据库的写Flash被屏蔽,以免新加载软件出错后无法恢复原来软件的配置。
此外,为软件包管理方便起见,各个加载软件在软件包中可以使用不同的文件名,但在主控板把相应软件加载给各个单板时,可以将要加载的软件更改文件名处理后再加载到对应的单板上。
如果要加载软件的单板只具有一个存储区,则主控板就将加载软件加载到单板的这个唯一存储区中,这样在单板不能正常运行新加载的软件时,主控板还需将单板原始运行的旧软件重新加载给该单板以继续运行,以保证单板的业务处理不会中断。
其中上面所提及的单板既包括网元中已存在的单板,还包括网元中新插入的单板,网元中新插入的单板在插入之后会主动向主控板上报自身的属性信息,主控板会根据其上报的属性信息判断自身加载的软件包中包含的软件是否和该单板运行的软件一致,如果不一致则自动向该单板加载不匹配的软件,然后复位主控板,激活该单板加载的新软件,以运行新加载的软件。
当然,在上述主控板完成将加载软件加载到对应的目标单板后,用户可以通过网管客户端再次下命令进行回退处理,以使网元恢复为加载软件前的运行状态;同时如果主控板在向各个单板加载软件的过程中出错,主控板也会主动进行回退处理。对于有两个存储区的单板,由于主控板只更新了单板的一个存储区中的软件,则在回退处理时,单板会把另一存储区中存储的旧软件恢复到该存储区中继续运行,如果此时单板新加载的软件已经激活运行,则回退处理后需要重新复位主控板来重新激活单板中旧软件的运行;反之如果单板新加载的软件还没有激活运行,则在回退处理后不需要重新复位主控板来重新激活单板中旧软件的运行。如果单板只具有一个存储区,则在回退处理时,单板可以请求主控板重新进行加载旧软件。
请参阅图3,该图是利用本发明软件加载方法实现为网元中的每个单板进行加载软件的整个实施过程示意图;如图3所示,在网元正常运行状态下,用户向网管客户端下发软件包下载命令,网管客户端将软件包下载到FTPServer,然后由要加载软件的网元到FTP Server中取出软件包放置到自身的主控板中;软件包下载到网元中的主控板结束后,用户再下命令要求主控板为各个目标单板加载对应软件,主控板接收到加载命令后,执行为每个目标单板加载软件的处理;主控板为各个目标单板加载软件结束后,复位主控板,激活各个目标单板中新加载的软件,如果各个目标单板中新加载的软件在激活状态中均运行正常,则证明对网元的软件加载成功,可以进行最后的软件提交处理。如果在对网元加载软件的过程中,出现任何Error问题,用户可以随时下发中止加载命令,以中止软件加载的处理过程,并同时在中止过程中进行回退处理,以继续运行软件加载前的旧软件,以保证网元不会因为软件加载过程中出现问题而中断业务处理。
在此还应该注意,虽然上面描述了本发明的优选实施方式,但还可以对上述公开的解决方案进行多种变换和改变,只要不偏离本发明权利要求所定义的范围,都落在本发明的保护范围内。
权利要求
1.一种软件加载方法,用于对通信网络系统中的网元加载软件,其特征在于,包括步骤(1)标识每个软件能够运行的单板类型;(2)将各个相互独立的软件组成软件包加载到需要进行加载软件的网元的主控板中;(3)所述主控板根据自身所在网元的每个单板上报的属性信息和自身所加载的软件包中每个软件能够运行的单板类型信息,将对应能够在该单板上运行的软件加载到该单板。
2.如权利要求1所述的软件加载方法,其特征在于,所述步骤(1)通过在每个软件的头部域中依次封装单板类型标识、单板硬件版本标识和单板硬件版本掩码标识来实现标识每个软件能够运行的单板类型。
3.如权利要求1所述的软件加载方法,其特征在于,所述步骤(2)具体包括步骤(21)将各个相互独立的软件组成软件包存储在文件传输协议服务器中;(22)需要进行加载软件的网元向所述文件传输协议服务器发送软件包加载请求信息;(23)所述文件传输协议服务器根据接收的请求信息,将所述软件包加载到需要进行加载软件的网元的主控板中。
4.如权利要求3所述的软件加载方法,其特征在于,所述步骤(22)中还包括步骤需要进行加载软件的网元将所述软件包中的每个软件的版本信息和自身主控板原始加载的旧软件包中每个软件的版本信息进行比较,将版本信息有变化的软件信息和新增软件信息封装在所述请求信息中;所述步骤(23)中文件传输协议服务器根据接收的请求信息,将版本信息有变化的软件和新增软件加载到需要进行加载软件的网元的主控板中。
5.如权利要求1、3或4所述的软件加载方法,其特征在于,将软件包加载到所述主控板的备份存储区中,所述主控板将加载前自身运行的旧软件包存储在主存储区中;在所述主控板不能正常运行新加载的软件包时,恢复主存储区中的旧软件包继续运行。
6.如权利要求1所述的软件加载方法,其特征在于,所述步骤(2)和(3)之间还包括步骤当所述网元更换自身唯一的主控板时,将所述软件包重新加载到更换后的主控板中。
7.如权利要求2所述的软件加载方法,其特征在于,所述步骤(3)中每个单板上报的属性信息包括单板自身的单板类型标识和单板硬件版本标识,以及单板目前运行的各个软件信息;所述步骤(3)具体包括步骤所述主控板根据单板目前运行的各个软件信息,在自身所加载的软件包中查找到对应单板目前运行的各个软件信息的更新软件和单板目前未运行的各个新软件;所述主控板判断查找的各个软件的头部域中封装的单板类型标识是否和单板上报的单板类型标识相同,且所述头部域中封装的单板硬件版本标识与单板硬件版本掩码标识的与值是否和单板上报的单板硬件版本标识与所述头部域中封装的单板硬件版本掩码标识的与值相同;并将上述两个判断结果均相同的软件加载到该单板。
8.如权利要求1、2或7所述的软件加载方法,其特征在于,所述单板具有两个同时存储有单板目前运行的旧软件的存储区,所述主控板将对应软件加载到单板的一个所述存储区中;所述单板能够正常运行新加载的软件时,将该对应软件同时加载到另一存储区;所述单板不能正常运行新加载的软件时,恢复另一存储区中的旧软件继续运行;或件继续运行;或所述单板具有一个存储有单板目前运行的旧软件的存储区,在所述单板不能正常运行新加载的软件时,所述主控板将单板原始运行的旧软件重新加载给该单板继续运行。
9.如权利要求8所述的软件加载方法,其特征在于,通过复位主控板来激活各个单板中新加载的软件,并根据激活状态来判断各个单板是否能够正常运行新加载的软件;对于加载了现场可编程门阵列软件的单板,激活工作单板或备份单板中的其中一块。
10.如权利要求8所述的软件加载方法,其特征在于,所述步骤(3)中主控板将对应软件加载给单板之前还包括步骤主控板将要加载给单板的对应软件进行更改名称处理。
全文摘要
本发明提供了一种软件加载方法,用于对通信网络系统中的网元加载软件,包括标识每个软件能够运行的单板类型;将各个相互独立的软件组成软件包加载到需要进行加载软件的网元的主控板中;所述主控板根据自身所在网元的每个单板上报的属性信息和自身所加载的软件包中每个软件能够运行的单板类型信息,将对应能够在该单板上运行的软件加载到该单板。本发明可以实现统一对网络中的各网元进行加载软件,并能够自动识别加载软件和单板类型的匹配性。
文档编号H04L12/24GK1798057SQ20041010241
公开日2006年7月5日 申请日期2004年12月22日 优先权日2004年12月22日
发明者武国勇, 童文霞, 梁峰, 范明惠 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1