公开/公告号CN101420324A
专利类型发明专利
公开/公告日2009-04-29
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN200810216672.0
发明设计人 付红雷;
申请日2008-10-10
分类号
代理机构深圳市永杰专利商标事务所;
代理人曹建军
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部
入库时间 2023-12-17 21:53:28
法律状态公告日
法律状态信息
法律状态
2018-10-09
未缴年费专利权终止 IPC(主分类):H04L12/24 授权公告日:20110420 终止日期:20171010 申请日:20081010
专利权的终止
2011-04-20
授权
授权
2009-06-24
实质审查的生效
实质审查的生效
2009-04-29
公开
公开
技术领域
本发明涉及通讯设备领域传送网的网络管理系统,尤其涉及一种网管系统及其代理软件的版本更新方法。
背景技术
在传送网中,整个网络由网管软件来管理,而网络中的每一个节点由代理软件来管理。为了完成代理服务器(代理服务器简称Agent)软件版本的升级,需要在网管服务器(网管服务器简称网管)上存放代理软件的最新版本,然后由各个Agent从网管设备上下载。
目前网管系统的软件版本更新大都采用扁平目录传送方式,即把所有要更新的文件全部放在一个目录下,然后对其中每一个文件进行压缩、传递、然后解压,一个文件处理完成后再处理下一个文件。
当前的方法存在着如下问题:
1.要求把所有更新文件存放一个目录下,限制了Agent配置软件版本目录的灵活性;
2.代理软件版本更新的时候必须对接收到的目录下的所有文件进行更新,不容易只更新需要更新的一部分;
3.没有校验机制,必须依靠通讯层去校验。
发明内容
本发明所要解决的技术问题是,提供一种网管系统及其代理软件的版本更新方法,本发明可仅对部分文件进行更新,减少了存储空间,增加了校验机制。
一种网管系统,包括网管和Agent,所述网管用于将所有要更新的文件按照预先设定的规则组成层级目录结构,并在收到Agent版本更新的请求时,将其所要更新的目录合并,再进行压缩后发送给所述Agent;
所述Agent用于对接收到的压缩文件进行解压,并将解压后的合并文件恢复到本地。
一种网管系统中代理软件的版本更新方法,包括Agent向网管请求版本更新,还包括如下步骤:
步骤一:网管合并需要更新的目录并压缩,然后将压缩文件发送给Agent;
步骤二:Agent解压收到的文件,并读取解压后的合并文件,按照其中记录的信息将原目录恢复到本地。
所述步骤一中,网管通过如下方法合并需要更新的目录:
步骤a:取得要合并的目录的目录名;
步骤b:遍历所述要合并的目录,记录所述要合并的目录下文件和文件夹的信息,得到目录合并文件;
步骤c:计算校验值,将所述校验值合并到所述目录合并文件中,得到合并文件。
步骤b具体包括:
步骤b1:打开根目录下的第一个元素;
步骤b2:判断所述元素是文件还是文件夹,若所述元素是文件,则打开文件,记录所述文件路径信息和文件内容,执行步骤b3;若所述元素是文件夹,则记录所述文件夹路径信息,并将所述元素作为根目录,然后执行步骤b1;
步骤b3:判断所述跟目录下的元素是否遍历完毕,若是,则执行步骤b4,否则,打开所述根目录的下一个元素,执行步骤b2;
步骤b4:判断所述跟目录是否有上级跟目录,若有,则回到上一级跟目录,执行步骤b3,否则,遍历结束,得到目录合并文件。
步骤c所述计算校验值的方法为:将所述目录下的所有文件和文件夹的路径名长度求和,然后对预先设定的整数取余,将运算结果作为校验值。
所述步骤c得到的合并文件的结构中包括:
文件夹标志位;文件夹路径字符串长度;文件夹路径;文件标志位;文件路径字符串长度;文件路径;文件内容长度;文件内容;结束标志位以及校验值。
所述步骤二中,代理服务器在解压收到的文件前,还执行如下操作:记录收到的所述压缩文件的次数。
所述步骤二中,Agent解压收到的文件后,具体执行如下步骤:
步骤A:打开解压得到的合并文件;
步骤B:以与网管相同的方法计算校验值,并与所述合并文件中保存的校验值进行比较,若一致,则执行步骤C;否则,执行步骤D;
步骤C:依次读取所述合并文件中的内容,遇到文件夹,则创建文件夹;遇到文件,则按照其路径信息创建文件,并将文件内容从所述合并文件中读取到创建的本地文件中,本次更新结束;
步骤D:Agent比较其记录的收到所述压缩文件的次数是否小于等于预先设置的重传门限值,若是,则重新请求网管进行版本更新;否则,本次更新结束。
发明所述方法通过合并-压缩-传递-解压-恢复将需要更新的文件从网管传送到Agent,在目录合并中,摒弃了目前多数文件合并方法中采用的每一个文件都用固定长度的倍数来存储,多余位用特殊字符填充的方法,采用了灵活的层级目录结构及文件结构,减少了合并后文件的大小,从而减小了存储空间,并加入了内置的校验机制,本发明可以只更新一部分文件(例如只更新某个目录下的文件);内置校验机制减小了对底层传输协议可靠性的依赖,在好的网络环境中可以考虑采用不可靠连接的传输协议,校验由上层来实现。
附图说明
图1是本发明所述的网管系统示意图;
图2是本发明网管中更新文件组成的层级目录结构示意图;
图3是本发明所述方法流程图;
图4是本发明所述合并文件的通用结构图。
具体实施方式
以下结合附图和优选实施例对本发明做进一步详细说明。
如图1所示,是本发明所示网管系统示意图,包括网管和Agent,所述网管用于将所有要更新的文件按照预先设定的规则组成层级目录结构,并在收到Agent版本更新的请求时,将其所要更新的目录合并,再进行压缩后发送给所述Agent;所述Agent用于对接收到的压缩文件进行解压,并将解压后的合并文件恢复到本地。
如图2所示,是本发明中,网管将所有要更新的文件按照预先设定的规则组成的层级目录结构示意图,因为当前所用操作系统的目录存储都采用的是多叉树结构,故本发明中也采用这样的结构,即网管按照多叉树结构的规则将所要更新的文件组成多叉树结构,本实施例的图中包括了3个文件夹,分别为文件夹1、文件夹2、文件3,每个文件夹下又分别有各自的文件,Agent可以要求只更新文件2下面的文件,也可以要求更新文件夹1或文件夹3下的文件。
如图3所示,是本发明所述方法流程图,具体包括如下步骤:
步骤301:Agent向网管请求版本更新;
步骤302:网管收到请求后,合并需要更新的目录,具体包括如下步骤:
步骤(1):取得要合并的目录名;
步骤(2):遍历整个目录,记录所述目录下文件和文件夹的信息,得到目录合并文件,该步骤具体包括如下步骤:
步骤(21):打开根目录下的第一个元素;
步骤(22):判断所述元素是文件还是文件夹,若所述元素是文件,则打开文件,记录所述文件路径信息和文件内容,执行步骤(23);若所述元素是文件夹,则记录所述文件夹路径信息,并将所述元素作为根目录,然后执行步骤(21);
步骤(23):判断所述跟目录下的元素是否遍历完毕,若是,则执行步骤(24),否则,打开所述根目录的下一个元素,执行步骤(22);
步骤(24):判断所述跟目录是否有上级跟目录,若有,则回到上一级跟目录,执行步骤(23),否则,遍历结束,得到目录合并文件;得到的合并文件的通用结构如图4所示,包括:
文件夹标志位;文件夹路径字符串长度;文件夹路径;文件标志位;文件路径字符串长度;文件路径;文件内容长度;文件内容;结束标志位以及校验值。
所述合并文件的排列次序是按照遍历时的顺序进行的,即遍历时,若遍历到的是一个文件夹,则建立该文件夹标志位,然后记录该文件夹的路径字符串长度和路径,若继续遍历到的是一个文件,则建立该文件的文件标志位,紧接着记录该文件的路径字符串长度、路径、文件内容长度、文件内容;若继续遍历到的是一个文件夹,则建立该文件夹标志位,然后记录该文件夹的路径字符串长度和路径,依次类推,直到整个目录被遍历结束,最后加上结束标志及校验值即可。
步骤303:计算校验值,将所述校验值合并到所述目录合并文件中,得到合并文件;
所述校验值的计算方法为:将所述目录下的所有文件和文件夹的路径名长度求和,然后对预先设定的整数取余,例如对32767取余,将运算结果作为校验值,所述文件和文件夹的路径名长度在合并目录时已经得到,此处只有取来使用即可。
步骤304:压缩所述合并文件,并将压缩文件传输给Agent;
步骤305:Agent记录收到的压缩文件的次数,然后解压收到的文件,并打开解压得到的合并文件;
步骤306:Agent以与网管相同的方法计算校验值;
步骤307:Agent比较步骤306中计算得到的校验值与所述合并文件中保存的校验值是否一致,若是,则执行步骤308;否则,执行步骤309;
步骤308:恢复原目录到本地,即依次读取所述合并文件中的内容,遇到文件夹,则创建文件夹;遇到文件,则按照其路径信息创建文件,并将文件内容从所述合并文件中读取到创建的本地文件中,本次版本更新结束;
步骤309:Agent比较步骤305所记录的次数是否小于等于预先设置的重传门限值,若是,执行步骤301,即则重新请求网管进行版本更新;否则,本次版本更新结束。
以上针对较佳实施例的描述较为详细,但不能因此而认为是对本发明的限制,凡与本发明所揭示的原理类似的实施,均在本发明的保护范围内,本发明的保护范围应以所附权利要求为准。
机译: 程序的操作系统,一种用于电子支付终端的旧版本更新方法,涉及到将文件解压缩并重新复制在旧版本存储在可编程非易失性存储器中获得的新版本
机译: 公司计算机对等网络的列表更新方法,包括接收列表的当前版本,并用通信设备存储器中的当前版本替换列表中先前存储的版本
机译: 用于机动车的电子道路地图更新方法,涉及将版本单位分配给数据对象,其中单位指定数据对象的版本,并且基于数据对象的版本单位进行地理区域的表示。