一种组播升级的方法、装置和系统的制作方法

文档序号:7925732阅读:319来源:国知局
专利名称:一种组播升级的方法、装置和系统的制作方法
技术领域
本发明涉及通信技术,特别涉及一种组播升级的方法、装置和系统。
背景技术
在设备的生产、使用或者维修中,通常会需要对设备进行升级。如果手 工对每个设备单独进行升级,在有大批量设备需要升级时,升级这些大批量 的设备将变得难以实现。例如,在库房生产过程中,或者在维修批量设备时, 人工单独升级设备就几乎无法实现。因此,需要一种设备的升级方法,能够 实现大批量的对设备进行升级。
组播是一种把数据从一点传送到多点的新型技术,将组播技术应用在设 备升级中,可以使批量升级设备成为现实。采用组播技术批量升级设备时, 组播服务器不停组播用于设备升级的镜像文件,待升级的设备只需要上电, 即可通过接收组播服务器发送的镜像文件,并使该镜像文件生效,从而完成 本设备的升级。这样,只需要让组播服务器不停地循环组播用于升级的镜像 文件,即可完成大批量设备的升级。
组播服务器在组播升级批量设备的过程中,不断循环播放用于升级的镜 像文件,并按照指定的时间间隔,分段组播镜像文件。组播服务器在组播镜 像文件的报文中,间隔组播镜像文件的版本信息。待升级的设备只有接收到 版本信息后,才能获知本设备是否需要利用该组播的镜像文件进行升级。
在实现本发明的过程中,发明人发现现有方案中组播服务器批量升级 设备时,需要不断循环播放用于升级的镜像文件。如果只循环播放单个镜像 文件,就只能支持单系统的设备升级;如果循环播放多个镜像文件,无论是交叉播放多个镜像文件或者一个镜像文件循环组播多次后在进行其他镜像文件的组播,都会造成设备升级时间过长,因而难以实现多系统或多模块设备的组播升级。

发明内容
本发明各实施方式解决的技术问题在于提供一种组播升级的方法,使得组播服务器在实现组播升级单系统或单模块的设备的同时也能够实现组播升级多系统或多模块的设备,减少设备升级所需时间以及实时跟踪设备的升级状态。
本发明的各实施方式同时还提供了 一种组播升级的装置及系统。
为了实现上述目的,本发明各实施例提供了以下技术解决方案
本发明实施例的一种组播升级的方法,该方法包括
监听组播服务器的公共频道,所述公共频道中组播当前打包镜像文件的所有子文件的信息;
从公共频道的报文中获取本设备升级所需的子文件的信息,所述信息包括子文件所在的所述组纟番力1务器的子频道的地址;以及
根据所述升级所需的子文件所在子频道的地址,切换至子频道,接收所述子频道中组播的子文件,并使所述子文件生效。
本发明实施例的一种组播服务器,该组播服务器包括处理模块和组播模块,其中,
所述组播模块用于通过公共频道和子频道进行组播;
所述处理模块用于配置所述组播模块的公共频道和子频道组播的报文内容,其中配置所述公共频道组播当前打包镜像文件的所有子文件的信息;配置所述子频道组播子文件。本发明实施例的一种设备,该设备包括接收模块和处理模块,其中,所
述接收模块用于接收公共频道组播和子频道中的组播报文;所述处理模块用于,从所述公共频道的组播报文中获取所需子文件所在子频道的地址和端口;切换至子频道,并通过所述接收模块接收子频道中组播的组播报文;使所述接收的升级镜像文件生效。
本发明实施例的一种组播升级系统,该系统包括接收组播服务器组播报文的设备,其中,
所述设备用于监听组播服务器的公共频道;从公共频道的报文中获取本设备升级所需子文件的信息;根据所述子文件的信息切换至所述子文件所在的子频道;接收所述子频道中的子文件,并使所述子文件生效。
本发明实施例的另 一种组播升级系统,该系统包括向设备进行组播的组播服务器,其中,
所述组播服务器用于组播当前打包镜像文件,包括通过本组播服务器的公共频道组播当前打包镜像文件的所有子文件的信息以及通过本组播服务器的子频道组播所述子文件。
本发明实施例提供了一种组播升级的方法、装置及系统,各实施例通过组播服务器在公共频道中组播当前打包镜像文件所有子文件的信息和在子频道中组播各个子文件,使得多系统或多模块的设备可以在一个系统或者模块升级完成后,切换到其它子频道完成其它系统或者模块的升级,从而实现多系统或者多模块设备的组播升级。并且设备也可以监听公共频道后直接切换到组播升级子文件的子频道,从而实现单系统或者单模块的设备的组播升级。
且可以从任何时刻开始接收升级文件,所以可以减少设备升级所需要的时间。并且本发明实施例中的组播升级方法,通过设备向组播服务器的状态服务器上报状态信息,实现组播服务器能够实时跟踪设备的升级状态。
8


图1是本发明实施例中实现组播升级方法的流程图; 图2是本发明实施例中组播服务器的结构示意图; 图3是本发明实施例中设备的结构示意图; 图4是本发明实施例中组播升级系统的示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发 明作进 一 步地详细描述。
本发明提出了多个实施例,下面分别对这些实施例进行详细介绍。在本 发明实施例中,SRP协议(Status Report Protocol,状态上报协议)只是一个 示例,也可以是其他类似协议,例如为TCP/IP协议。
如附图l所示,本发明第一实施例的组播升级的方法可以实现组播升级 多系统或多模块的设备,并可靠了解设备的升级状态。本发明第一实施例中, 组播服务器通过公共频道组播当前打包镜像文件中所有子文件的信息,且通 过子频道组播各子文件。每个子频道中可以4又组播一个子文件,也可以组播 多个子文件。本发明第一实施例的方法包括
步骤IOI,设备监听組播服务器的公共频道。
通常情况下,设备只监听组播服务器的公共频道。设备也可以监听组播 服务器的其他子频道,如果监听其他子频道,则需要设备配备每个子频道的 地址。
设备通过监听所述公共频道可以获知当前打包镜像文件中所有子文件文件 总版本号、产品信息、SRP服务器地址、子文件个数、每个子文件的组播地 址以及组播端口、子文件类型、子文件长度以及子文件版本号等。其中所述 当前打包镜像文件由文件头和多个子文件组成。所述子文件例如为配置文 件、镜像文件、升级策略文件、资源文件以及厂商扩展文件等。组播服务器 的公共频道使用通用组播地址,该组播地址为所有设备公知的。当前打包镜 像文件的所有子文件的信息在公共频道中进行循环组播。
步骤102,获取子文件信息和状态服务器地址。
设备从公共频道的报文中获取所需的子文件信息和状态服务器的URL (Univeral Resource Location,统一资源定位)。设备根据乂^共频道的报文确 定本设备所需的升级镜像文件,以及这些镜像文件所在的子频道的地址和端状态。
在此步骤中,设备也可以不获取状态服务器的URL。因为,组播服务器 在不了解设备升级状态的情况下,也能够完成设备的升级。
步骤103,确定是否存在升级策略文件,如果存在,则进行步骤104, 如果不存在则进行步骤105。
设备根据公共频道中的报文确定当前的打包镜像文件中是否存在升级 策略文件。如果存在,则进行步骤104,如果不存在则进行步骤105。
另外,由于升级策略文件并不是必须存在的,并且,在没有升级策略文 件的情况下,或者存在升级策略文件而没有读取的情况下,设备也能够顺利 升级,所以,步骤103并不一定需要执行,可以在执行步骤102后直接执行 步骤105。但是,执行步骤103可以更灵活的对设备进行升级,例如可以规 定多系统设备中系统升级的顺序,或者可以规定此次暂且不升级的系统等。
步骤104,切换到升级策略文件所在的子频道,接收升级策略文件并执升级,即设备根据升k來^人1卞丫日,丌双顺
行该文件中的升级策略。
在存在升级策略文件时,设备可以通过公共频道的报文获知升级策略文 件所在的子频道的地址和端口 。设备根据升级策略文件所在子频道的地址和 端口,切换到该子频道,并接收该子频道中的升级策略文件。升级策略文件 也是循环且分段组播的。设备可以从任意时刻开始接收,当设备接收到完整 的升级策略文件后,执行该文件中的升级策略,例如为升级镜像文件的顺序、 需要升级的系统或者需要升级到的版本等。
步骤105,顺序切换子频道,接收所述子频道中的子文件,并使得所述 子文件生效。
如果经过了步骤104,设备按照升级策略文件中规定的升级的顺序进行
的待升级子文件所在子频道的地址和端口,顺序切换子频道。设备通过顺序 切换子频道,逐一接收所述子频道中组播的子文件,并使得所述子文件生效, 完成设备的升级。
如果没有经过步骤104,设备按照公共频道的报文中子频道的顺序,在 本设备所需的升级子文件所在的子频道之间顺序切换,逐一接收本设备所需 的升级子文件,并使该升级子文件生效,完成设备的升级。
利用本发明的第一实施例,可以对多系统或者多模块的设备进行组播升 级。此外,设备可以通过监听公共频道中组播的报文,获取升级镜像文件所 在的子频道的地址和端口,从而直接切换至该子频道,实现单系统或者单模 块的设备的组播升级。
现有技术中组播服务器只循环组播镜像文件,不能掌握设备的升级状
态,也就无法获知设备是否升级完毕,从而在批量升级设备的过程中,所有
设备均需等待很长时间,才能被认为是升级完毕而断电或进行其他操作,且
此时并无法确知断电的设备是否已经升级完毕。在执行本发明实施例的上述
ii步骤时,如果在步骤102中,设备获知了状态服务器的URL,那么设备可以 向状态服务器上报本设备的升级状态信息,使得组播服务器能够及时更新设 备的升级状态,实时了解设备最新的升级状态。可以通过SRP协议灵活的设 置设备向状态服务器上报升级状态的触发条件,例如,上报升级状态可以是 在开始升级前进行上报,且在所有系统升级完成以后再次上报;也可以是每 个系统升级完成后进行上报;或者是每隔一段时间进行上报等。
设备向状态服务器上报其升级状态也可以使组播服务器能够更好的进 行组播升级。在组播服务器获知所有设备已经完成升级的情况下,可以开始 组播其他文件或者停止组播。
在上述步骤中,所述组播服务器的每个子频道的组播报文组成结构可以 是相同的,即均由组播报文头和子文件数据组成。所述组播报文头例如包括 当前报文长度、CRC ( Checksum Redundancy Check,冗余校验)、当前报文 的序号、当前频道子文件总长度、文件类型以及产品信息等。因此,设备在 接收到子频道的组播报文后,根据该组播报文的报文头可以获知整个子文件 的长度以及当前报文的报文序号,从而可以计算偏移量,在相应位置填充当 前报文的数据,最终获得完整的子文件。所以,在子频道中接收子文件时, 设备不需要延时等待,就可以开始接收子文件,并完成升级。
根据上述实施例中的方法,设备可以通过顺序接收多个子频道中的子文 件,实现多系统或者多模块的升级。并且在升级完一个系统或者模块后,可 以立刻切换到下一个子频道开始接收其他的升级子文件,完成相应系统或者 模块的升级,而无须延时等待。此外,上述实施例中的方法还能够通过状态 服务器更新设备的升级状态,而实现可靠的实时跟踪每个设备的升级状态, 并可以在设备完成升级后进行其他操作或者关闭该设备的电源以节省能源。 综上所述,利用上述实施例中的方法可以实现多系统或多模块设备的升级、 可以减少升级所需的时间并明确掌握需升级设备的升级状态。上述实施例中的组播服务器如附图2所示,包括处理模块、组播模块和 状态模块。所述组播模块用于组播镜像文件及其他相应信息。所述组播模块 可以通过公共频道和子频道进行组播,其中,
公共频道用于组播当前打包镜像文件中所有子文件的信息,包括当前镜
像文件总版本号、产品信息、SRP服务器地址、子文件个数、每个子文件的 组播地址以及组播端口、子文件类型、子文件长度以及子文件版本号等;
子频道用于组播子文件,所述子文件例如包括组播l艮文头和子文件数 据,其中组播报文头例如包括,当前报文长度、CRC、序号、当前频道子文 件总长度、文件类型以及产品信息等。
所述打包镜像文件由文件头和多个子文件组成,其中子文件可以为配置 文件、镜像文件、升级策略文件、资源文件以及厂商扩展文件等。
所述处理模块用于配置组播模块子频道和公共频道中组播的报文内容 以及组播的频率和分段数等。由于所述组播模块的不同频道需要组播不同的 报文,每个报文需要分段播放,且整个报文需要循环播放,所述处理模块用 于配置所述组播模块中公共频道和子频道组播的内容、报文组播的频率和报 文的分段数等。例如,所述处理模块配置公共频道组播上述打包镜像文件中 所有子文件的信息,并配置每个子频道组播一个子文件,也可以配置每个子 频道组播多个子文件。
所述处理模块配置子文件所在的子频道时,可以通过解析配置文件,根 据配置文件对子频道播放的子文件进行配置。配置文件可以为通过操作界面 人工配置的或根据随机探测子频道是否可用自动生成的。所述处理模块配置 子文件所在的子频道时,也可以不依据配置文件,而是对所有的子频道进行 顺序或者随^L的选择,在选4奪过程中,如果选择的子频道地址和端口可用, 则将分配给该子频道一个子文件,如果选择的子频道地址或端口不可用,则 继续进行下一次选择。此外,在存在状态模块的情况下,所述处理模块还可以用于配置SRP协
议,以设置设备向状态服务器上报升级状态的触发条件。例如,上报升级状
态可以是在开始升级前进行上报,且在所有系统升级完成以后再次上报;也 可以是每个系统升级完成后进行上报;或者是每隔一段时间进行上报等。
所述状态模块用于跟踪设备的升级状态。所述状态模块根据接收的设备 上报的状态信息和其他设备信息,掌握升级设备的最新升级状态,而设备依 据SRP协议的规定上报升级的状态。
此外,所述处理模块还可以用于根据状态模块获取的设备的升级状态决 定开始组播其他文件或者停止组播。
上述实施例中的设备,如附图3所示,包括接收模块和处理模块。
所述接收模块用于接收公共频道组播和子频道中的组播报文。所述处理 模块用于,从所述公共频道的组播报文中获取所需子文件所在子频道的地址 和端口;判断是否存在升级策略文件;在存在升级策略文件时,切换到升级 策略文件所在的子频道,并通过所述接收模块接收该升级策略文件;执行升 级策略文件,顺序切换子频道,并通过所述接收^t块接收子频道中组播的组 播报文;使所述接收的升级镜像文件生效。
所述设备进一步包括发送模块,所述发送模块向组播服务器的状态服务 器发送本设备的升级状态。所述处理模块用于按照组播服务器的设置,通过 所述发送模块发送本设备的升级状态。
上述实施例中的系统,如附图3所示,包括组播服务器和设备。其中, 组播服务器用于将当前的打包镜像文件通过公共频道和子频道进行组播和掌 握升级设备的升级状态。
组播服务器用于通过公共频道组播当前打包镜像文件的所有子文件的 信息,例如包括当前镜像文件总版本号、产品信息、SRP服务器地址、子文 件个数、每个子文件的组播地址以及组播端口、子文件类型、子文件长度以
14及子文件版本号等。其中公共频道中的报文分段循环组播。
所述组播服务器还用于通过子频道组播当前打包镜像文件中的子文件, 所述子文件例如包括配置文件、镜像文件、升级策略文件、资源文件和厂商 扩展文件等。所述组播服务器通过子频道组播子文件时,每个子频道可以只 组播一个子文件,所述子文件由组播报文头和子文件数据组成,其中组播报
文头例如包括,当前报文长度、CRC、序号、当前频道子文件总长度、文件 类型以及产品信息等。其中子频道中的报文分段循环组播。
所述组播服务器还用于根据配置文件配置组播报文所在子频道;也可以 随机或者顺序配置组播报文所在子频道。所述组播服务器还用于配置组播的 频率和分段数。所述配置文件和随机或顺序配置的方法参照上述实施例。
所述组播服务器还用于通过设备上报的状态信息和其他设备信息,掌握 设备的升级状态。
所述组播服务器还用于配置SRP协议,以设置设备向状态服务器上报升 级状态的触发条件。例如,上报升级状态可以是在开始升级前进行上报,且 在所有系统升级完成以后再次上报;也可以是每个系统升级完成后进行上报; 或者是每隔一段时间进行上报等。
所述设备用于监听所述组播服务器的公共频道,并根据公共频道中的报 文获得相应的子文件信息,所述子文件信息包括当前打包镜像文件中包含的 所有子文件,以及所述子文件所在子频道的地址和端口 。所述设备还用于才艮 据组播服务器的公共频道中的报文确定当前打包镜像文件中是否存在升级策 略文件,如果存在则所述设备根据从公共频道的报文中获知的策略文件所在 的子频道的地址和端口切换至升级策略文件所在的子频道,并接收该升级策 略文件,执行所述升级策略文件中的升级策略;如果不存在,则按照公共频 道的报文中的顺序,在本设备需要升级的子文件所在的子频道间顺序切换。 所述设备还用于使接收的子文件生效,完成设备升级。此外,所述设备还用于在整个升级过程中,向服务器上报最新的升级状态,便于组播服务器更新 升级状态。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和 描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各 种改变,而不偏离本发明的精神和范围。
1权利要求
1.一种组播升级的方法,其特征在于,该方法包括监听组播服务器的公共频道,所述公共频道中组播当前打包镜像文件的所有子文件的信息;从公共频道的报文中获取本设备升级所需的子文件的信息,所述信息包括子文件所在的所述组播服务器的子频道的地址;以及根据所述升级所需的子文件所在子频道的地址,切换至子频道,接收所述子频道中组播的子文件,并使所述子文件生效。
2. 根据权利要求1所述的方法,其特征在于, 所述切换至子频道为在组播服务器只存在一个组播的子文件时,直接根据从公共频道中获取 的该子文件所在子频道的地址,切换至该子频道;根据所述公共频道的报文中子频道的顺序,在升级所需的子文件所在的子频 道间顺序切换。
3. 根据权利要求1所述的方法,其特征在于,在确定存在升级策略文件时,所述组播升级的方法进一步包括,根据所 述从公共频道的报文中获取的子文件的信息,切换到所述升级策略文件所在 的子频道,接收所述升级策略文件,并执行该文件中的升级策略;以及根据所述升级策略中的升级顺序,顺序切换子频道。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述方法 进一步包括,在从公共频道的报文中获取所述子文件的信息时,从所述公共 频道的报文中获取所述组播服务器的状态服务器地址。
5. 根据权利要求4所述的方法,其特征在于,所述方法进一步包括, 按照所述获取的状态服务器的地址,向所述状态服务器上报状态信息。
6. —种组播服务器,其特征在于,该组播服务器包括处理模块和组播 模块,其中,所述组播模块用于通过公共频道和子频道进行组播;所述处理模块用于配置所述组播模块的公共频道和子频道组播的报文 内容,其中配置所述^^共频道组播当前打包镜像文件的所有子文件的信息; 配置所述子频道组播子文件。
7. 根据权利要求6所述的组播服务器,其特征在于,所述处理模块用 于根据配置文件配置子频道组播的子文件,或者顺序或随机选择子频道组播 的子文件。
8. 根据权利要求6所述的组播服务器,其特征在于,所述处理模块进 一步用于配置所述组播模块组播的频率和/或分段数。
9. 根据权利要求6所述的组播服务器,其特征在于,该组播服务器进 一步包括状态模块,所述状态模块用于通过接收设备上报的状态信息,明确 设备的升级状态。
10. 根据权利要求9所述的组播服务器,其特征在于,所述处理模块进 一步用于设置设备向所述状态模块上报的触发条件,并通过所述组播模块进 行组播。
11. 根据权利要求9所述的组播服务器,其特征在于,所述处理模块进 一步用于根据所述状态模块获知的所述设备的升级状态,通过所述组播模块 组播后续组播报文或者停止组播。
12. —种设备,其特征在于,该设备包括接收模块和处理模块,其中, 所述接收模块用于接收公共频道组播和子频道中的组播报文;所述处理模块用于,从所述公共频道的组播报文中获取所需子文件所在子频道的地址和端口;切换至子频道,并通过所述接收模块接收子频道中组播的组播报文;使 所述接收的升级镜像文件生效。
13. 根据权利要求12所述的设备,其特征在于,所述处理模块用于在 仅存在一个组播的升级镜像文件时,直接切换至该升级镜像文件所在的子频 道;或者用于在不存在升级策略文件时,按照公共频道中组播的子频道的顺 序,顺序切换子频道。
14. 根据权利要求12所述的设备,其特征在于,所述处理模块进一步 用于确认存在升级策略文件,切换到升级策略文件所在的子频道,通过所述 接收模块接收该升级策略文件,并执行所述升级策略文件;以及根据所述升级策略文件中规定的顺序,顺序切换子频道。
15. 根据权利要求12所述的设备,其特征在于,该设备进一步包括发 送模块,所述发送模块向组播服务器的状态服务器发送本设备的升级状态; 以及所述处理模块进一步用于按照组播服务器的设置,通过所述发送模块发 送本设备的升级状态。
16. —种组播升级的系统,其特征在于,该系统包括接收组播服务器组 播报文的设备,其中,所述设备用于监听组播服务器的公共频道;从公共频道的报文中获取本 设备升级所需子文件的信息;根据所述子文件的信息切换至所述子文件所在 的子频道;接收所述子频道中的子文件,并使所述子文件生效。
17. —种组播升级的系统,其特征在于,该系统包括向设备进行组播的 组播服务器,其中,所述组播服务器用于组播当前打包镜像文件,包括通过本组播服务器的公共频道组播当前打包镜像文件的所有子文件的信息以及通过本组播服务 器的子频道组播所述子文件。
全文摘要
本发明公开了一种组播升级的方法,该方法包括监听组播服务器的公共频道,所述公共频道中组播当前打包镜像文件的所有子文件的信息;从公共频道的报文中获取本设备升级所需的子文件的信息,所述信息包括子文件所在的所述组播服务器的子频道的地址;以及根据所述升级所需的子文件所在子频道的地址,切换至子频道,接收所述子频道中组播的子文件,并使所述子文件生效。本发明同时还公开了一种组播升级的装置和系统。本发明可以实现组播升级多系统或多模块的设备,同时也适用于单系统或单模块的设备的组播升级,减少升级所需的时间,并能够实时跟踪设备的升级状态。
文档编号H04L12/18GK101686139SQ20081021630
公开日2010年3月31日 申请日期2008年9月22日 优先权日2008年9月22日
发明者张小田, 徐俊霞 申请人:深圳华为通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1