在蜂窝基站系统中处理消息的方法 发明的背景
1.发明的领域
本发明一般涉及蜂窝移动通信系统,具体地说,是涉及一种处理在组成基站系统的子系统间交换的消息的方法。
2.相关技术的描述
蜂窝移动通信系统把其整个服务区域分为多个基站区域、叫“小区”,并且利用移动交换中心集中地控制各个基站,使得移动用户即使从一个小区移动到另一个小区时也能维持通话。
图1说明一般蜂窝基站系统的结构。参照图1,基站收发信机子系统10-14把无线信道连接到相关小区内的各个移动台(没有画出),而基站控制器20-22控制与之相联系地基站收发信机子系统10-14。基站管理器30控制整个基站系统。
在这种基站系统中,为了以预定的格式相互交换消息,各个子系统必须以恰当的软件程序版本运作,此软件程序能够支持这种消息格式。因此,假如软件更新(或升级)到一种新版本,则每一个子系统必须下载更新的软件版本,并安装下载的软件。
参照图1详细介绍传统的软件更新程序。基站管理器30禁止使用当前运行的软件版本N-1的每一软件块(即每一个提供移动通信服务的块),接着,安装一种新软件版本N。基站控制器20-22顺序地从基站管理器30下载这一新版本N,并按同样的程序安装下载的新版本N。同样的,基站收发信机子系统10-14也从相关的基站控制器20-22下载这一新软件版本N并安装它。如上所述,基站管理器、基站控制器和基站收发信机子系统在更新软件前暂停(或中断)移动通信服务的运行。这是因为使用当前运行的版本的软件块不能处理来自使用更新版本的软件块的消息。
图2说明根据先有技术的基站系统处理消息的方法。参照图2,当基站系统中某一子系统在步骤S110从另一子系统收到消息时,子系统在步骤S120用当前运行版本软件分析收到的消息,来确认收到的消息是否属于可由当前运行版本软件处理的标准格式。假如收到的消息属于标准格式,则子系统在步骤S130正常处理收到的消息。否则,假如收到的消息属非标准格式,则子系统会把收到的消息以错误消息处理,并在步骤S140丢弃收到的消息。
图3A和3B说明在通常软件更新程序中消息格式的改进。如图中所示,更新版本N的消息格式与以前版本N-1的消息格式相比多包括新信息组‘eee’。因按以前软件版本N-1运行的子系统不能识别这一新的信息组‘eee’,所以把此消息当作错误消息处理。实际上,在多数情况下,软件稍微更新,使得修改后的消息格式增加一个或多个新信息组。在这种情况下,虽然使用以前软件版本的子系统可以识别除新增信息组以外的其它信息组,它也会无条件的把所述消息作为错误消息处理。
因此,使用不同软件版本的子系统间不能互相通信,以致必须暂停移动通信服务直至软件更新程序完成。除此之外,假如某一子系统在软件更新程序时更新软件失败,其它已安装了新版本的子系统必须复位到原版本,这样引起了暂停(中断)服务时间的增加。发明的概要
因此,本发明的目的是提供一种使使用不同软件程序版本的子系统可以相互通信的方法。
本发明的另一目的是提供一种可以使子系统利用一种指示软件版本的信息组的消息来检测另一子系统的软件版本的方法。
为了实现上述和其它目的,这里提供了一种在包括多个子系统的蜂窝基站系统中处理消息的方法。在各子系统使用的软件程序的更新过程中,把至少一个信息组加到在各子系统之间交换的消息格式中。源子系统产生一消息标题,它包括具有源当前运行版本值的接口版本信息组,通过汇集已产生的消息标题和至少一个信息组而产生一消息并把此消息发送到目标子系统。然后,目标子系统比较收到消息标题中的接口版本信息组的值与目标当前运行版本值;假如源当前运行版本值与目标当前运行版本值相等,则子系统处理收到的包括增加的信息组在内的消息;假如源当前运行版本值与目标当前运行版本值不相等,则子系统处理收到的不包括增加的信息组在内的消息。附图简介
从以下结合附图所进行的详细说明,将更加明白本发明的上述和其它目的、特征和优点,附图中:
图1说明了一般蜂窝基站系统的结构;
图2为说明基站系统中传统的处理消息的方法的流程图;
图3A和3B为说明通过传统软件更新程序修改的消息格式的示意图;
图4为说明根据本发明的实施例发送消息的程序的流程图;
图5A和5B为说明根据本发明的实施例修改的消息格式的示意图;以及
图6为说明根据本发明的实施例接收消息的程序的流程图。最佳实施例的详细描述
下面结合附图详细介绍本发明的最佳实施例。为避免使此发明不够明了,以下未对熟知的功能或结构做详细阐述。
图4说明按本发明的实施例发送消息的程序。
参照图4,假如在步骤S210有消息要传输,则在步骤S220源子系统产生一消息标题,它包括具有所述软件的源当前运行版本(SCRV)值的接口版本信息组(I/F-VER)。假如软件的当前运行版本是版本N,则源当前运行版本值设置为N。在步骤S230,源子系统通过汇集已产生的消息标题和至少一个信息组而产生一消息。在步骤S240,源子系统通过通信链路发送已产生的消息到目标子系统。
子系统在下载软件时同时从上级子系统下载接口版本信息组。在软件更新程序中,接口版本信息组用来判定软件是否已更新。在本发明的实施例中,在子系统之间交换的消息包括源子系统的源当前运行版本值。
图5A和5B说明根据本发明的实施例修改的消息格式。如图所示,未更新的消息(版本N-1)和已更新的消息(版本N)的每一个标题包括源子系统使用的指示源当前运行版本值的接口版本信息组(I/F-VER)。为了在子系统间通信,基站系统中各个子系统具有传输/接收缓冲器,其容量设置为规定最大值,此容量足以容纳增加的信息组。这样就把带有增加的信息组的消息存储在缓冲器中而未丢失它。
图6说明按照本发明的实施例接收消息的程序。
参照图6,在步骤S310,在基站系统中,当目标子系统收到来自源子系统的消息时,目标子系统在步骤S320利用软件的当前运行版本分析收到的消息并把消息标题中的源当前运行版本值和它的软件版本值相比较,以便在步骤S330确认源子系统使用的软件版本是否为已更新的版本。假如源当前运行版本值比目标子系统中运行的软件版本的目标当前运行版本值大或相等,则目标子系统判定源子系统的软件版本为已更新版本。
假如源当前运行版本值判定为与目标当前运行版本值相等,则目标子系统处理包括在步骤S340软件更新过程中增加的信息组在内的已收到消息。即,目标子系统处理接收到的消息的所有信息组‘aaa’,‘bbb’,‘ccc’,‘ddd’,‘eee’。否则,假如判定源当前运行版本值与目标当前运行版本值不相等,则目标子系统在步骤S350处理不包括增加的信息组在内的已收到消息。即,目标子系统只认为接收到的消息的信息组‘aaa’,‘bbb’,‘ccc’,‘ddd’是有效的,于是只处理这些信息组。在子系统间按照预先设计的协议(或软件)处理消息段的程序在现有技术中是众所周知的。因此不做详细介绍。
以下参照具体实例对此发明的操作做详细阐述。
在组成基站系统的多个子系统中,假定某些子系统使用软件版本1,而其它子系统使用在软件更新过程中下载的软件版本2。
实例1,某一使用软件版本1的源子系统把传输消息中消息标题的接口版本信息组设置为源当前运行版本值等于1(即I/F-VER=1)。在接收由源子系统发送的消息时,假如使用软件版本2的目标子系统检测到消息标题中的源当前运行版本值为1,则目标子系统只处理软件版本1可以分析的信息组(即图5A所示的信息组‘aaa’到‘ddd’)。在此情况下,即使收到的消息不含有增加的版本2的信息组‘eee’,目标子系统也不会把收到的消息作为错误消息处理。
实例2,某一使用软件版本2的源子系统把传输消息中消息标题的接口版本信息组设置为源当前运行版本值等于2(即I/F-VER=2)。在接收由源子系统传输的消息时,假如使用软件版本1的目标子系统检测到消息标题中的源当前运行版本值为2,则目标子系统只处理软件版本1可以分析的信息组(即图5B所示的信息组‘aaa’到‘ddd’)。在这种情况下,目标子系统丢弃了收到消息中所包含的增加的信息组‘eee’。
就是说,使用以前软件版本的子系统只考虑由以前软件版本表示(或定义)的消息格式,而使用已更新软件版本的子系统可以既考虑以前版本的消息格式又考虑已更新版本的消息格式。
作为本发明的一种应用,当控制整个基站系统软件更新过程的基站管理器更新软件时,基站系统管理器可以存储以前版本软件以做备用而不删除它。然后,当低层子系统重新启动和下载软件时,它们可以下载从软件的以前版本和更新版本中选择的一种并安装下载的软件。
按照本发明处理消息的方法有以下优点。如上所述,这一新方法保证软件不同版本间的相容性。因此,包括多个子系统的基站系统可以把因软件更新过程引起的服务暂停时间减至最小。因而,有可能提高运做的工作效率和系统的可靠性。
虽然已经参照本发明的一些实施例对其进行了说明,但是,本专业的技术人员会明白,可以在不脱离后附的权利要求书定义的本发明的精神和范围的情况在形式和细节上对其进行各种改变。