用于消息转换的装置和方法

文档序号:6418967阅读:216来源:国知局
专利名称:用于消息转换的装置和方法
技术领域
本发明涉及一种消息转换装置。进一步,本发明涉及一种软件处理设备以及一种用于消息转换的方法。
背景技术
在执行软件升级时,常常会对要升级系统的操作产生某些干扰。这种干扰包括从数小时到可能为数天的整个系统关机到仅可能为整个系统功能的某些限定部分的短时间中断,例如,中断几秒。可以想象,可能根本就不存在干扰,尽管这一般不是实际存在系统的情况。然而,对于象通信交换这样的系统,使任何干扰尽可能小和短是非常重要的。
为了在持久长时间执行软件模块时实现软件无干扰升级,通过使用来自旧的软件的所有必须数据升级新软件同时连续执行旧的软件是先决条件。当新软件的数据已达到与旧的软件数据的相同状态时,新软件接管执行。
升级软件的最简单方法是停止旧的软件的执行,加载新软件,并且最终启动新软件。使用该方法在旧的软件和新软件之间没有数据传送。进一步,在新软件加载和启动期间所有已建立的软件处理丢失并停止软件执行。一般地,例如,该方法用于工作站和个人计算机。
在“Remote upgrading and updating of AXE 10 software”page 66,67 Ericsson Review No.2,1996.中已经描述了一种用于通信系统的改进方法。这里,加载新软件同时旧的软件仍处理所建立的提供给用户的业务。在旧的软件和新软件之间传送数据。在所谓的数据变量信息中识别包含要传送的数据的数据变量并且这种数据变量可以是类型复制或转换中的任何一种。对于每个转换数据变量执行数据变量信息中规定的一个转换程序,以实现变换并将转换数据传送给新软件。然而,在已建立业务所必须的数据从旧的软件到新软件的传送期间,停止建立附加业务。
这样,当执行软件升级时一直存在对被升级系统的干扰。这种干扰包括从数小时和可能为几天的整个系统关机到仅为对系统的整个功能性的某些限定部分的短时间,例如,几秒的干扰。然而,特别对于象电信交换这样的系统,使任何干扰尽可能短相当重要,这是因为增加系统停机时间就意味着业务提供者的收益损失。
进一步,尽管在包含多个软件模块的系统内消息应免于系统升级,但是当前还不支持这一点。因此,消息的终止导致升级期间的加大的系统干扰。特别是,对于例如涉及保健或保险的确定服务在不允许软件升级的情况下将中断或取消服务。
发明概述考虑到上面的问题,本发明的目的是在基于系统的计算机内实现软件的平滑升级。
根据本发明的第一方面,通过一个消息转换装置实现这一目的,该装置包括一个接口装置和一个消息转换装置,接口装置用于描述在软件处理系统升级前和后可在该软件处理系统内交换的至少一个消息的消息转换信息,消息转换装置适用于将消息转换为符合消息转换信息给出的规定的用于升级的软件处理系统的新的表示。
因此,根据本发明,有可能根据一个升级系统转换消息。这就意味着不仅消息而且系统的软件单元内的数据免于系统升级,从而减少和最小化系统的干扰。此外,由于经一个相关的接口装置接收消息变化信息,消息转换装置的功能性将易于根据流行的要求进行修改。
根据本发明的优选实施例,当转变到升级的软件处理系统时启动消息转换装置。在消息在转换时已被转换的情况下,避免随后的升级软件单元的总启动时间。
根据本发明的另一个优选实施例当软件处理系统中的软件作业启动时启动消息转换装置。该方法便于系统的逐渐升级,使其有可能在旧的和新的软件模块之间进行双向通信,因为仅根据需要转换消息。
根据本发明的另一个优选实施例,消息控制信息处理装置转换分别包括消息访问,消息源软件单元,消息目标软件单元,以及消息等级中的至少一个的消息控制信息,以及消息数据处理装置转换消息数据段的至少一个数据段。进一步,消息控制信息处理装置和消息数据处理装置最好使用函数关系执行所接收消息的转换。
在消息被分为一个消息控制信息部分和一个数据部分的情况下,有可能进一步减少消息转换所必须的计算源,这是因为在单元控制信息部分被转换的情况下,仅必须处理非常少的数据。此外,该消息结构使用函数关系支持简单和有效的数据单元转换。
此外,根据本发明的第二方面通过一个具有升级功能性类型的软件处理设备实现上面列出的目的,该设备包括存储软件处理设备所处理的消息的至少一个消息缓冲器,处理存储在至少一个消息缓冲器的消息的至少一个应用程序单元,以及在根据本发明第一方面的至少一个应用程序单元的升级之后适合于将消息转换为新的表示的消息转换装置。
根据本发明的另一个优选实施例,软件处理设备是具有多个应用程序单元的分布类型设备,每个应用程序单元连接到转换装置。作为一种替换,软件处理设备是具有连接到单个转换装置的多个应用程序单元的分布类型设备或者包括两个连接到转换装置的逻辑部分。
因此,根据具体要求本发明能够实现各种软件处理设备。特别是在软件处理设备内提供多个应用程序单元的情况下允许同时执行旧的软件和系统升级。进一步,根据要转换的消息量,在软件处理设备内可以提供单个或者多个消息转换装置。
最后,根据本发明的第三方面通过一个用于具有至少两个逻辑部分的计算系统的系统升级方法实现上面列出的目的,该方法包括步骤将备用部分装置内的新软件状态升级为执行部分装置内的旧的软件的状态同时连续执行旧的软件,只要备用部分装置和执行部分装置取得相同的状态就切换到新软件的执行,并且在转变为接收软件的执行或请求接收软件的作业起动时将计算机系统内的不同软件模块之间发送的消息转换为适合于接收软件的格式。
这里,不仅旧的软件和其所涉及的数据被升级而且在这些软件单元之间交换的消息也被升级。完成所有这些步骤同时系统继续并行并且以对系统性能最小影响地操作旧的软件。
附图简述将参照附图描述本发明的优选实施例,其中

图1示出根据本发明的机器级软件单元的图示;图2示出根据本发明的消息等级的规定;图3示出根据本发明的机器级上的消息图示;图4示出功能级上的系统操作的规定;
图5示出将根据图4的功能级上的系统说明映射到一个旧的系统体系结构;图6示出通过根据本发明的系统说明升级的消息数据的修改;图7示出通过根据本发明的系统说明升级的消息数据的修改;图8示出根据本发明的消息转换单元的示意图;图9示出存储消息转换期间所包含的消息控制信息部分的表;图10示出总计根据本发明的不同消息转换情况的表;图11示出根据本发明的消息控制信息处理单元的示意图;图12示出根据本发明以专用方式将消息转换单元应用到不同的系统应用单元;图13示出以共享方式将根据本发明的消息转换单元应用到多个系统应用单元;图14示出将根据本发明的消息转换单元应用到具有包括两个操作部分的一个冗余结构的系统;图15示出根据本发明的用于系统升级期间的数据和消息转换的本发明方法的流程图;图16示出连接到根据作为本发明应用的一个典型实例的通信系统交换的消息缓冲器的中央处理单元的结构;图17示出作为本发明应用的进一步典型实例的一个广域网设备。
优选实施例说明下面,将参照上述附图并参照下面列出的术语解释本发明的优选
Message_reference MESSAGEx的机器级表示,例如可以为全局(例如,所有SU公用的消息编号)或局部的(例如,每个SU一个编号)的标号或某些机器级地址。在后者情况下特定消息等级的消息可以存储在消息缓冲器作为target_SU_reference.target_message_reference.source_…SU_reference.source_message_reference.data_1.data_2。下面,不但在高级别而且在机器级别表示,将消息假定为每个SU唯一。
DATAm 数据标号m;MESSAGEx用于规定MESSAGEx携带的数据标号mData_m DATAm的机器级表示根据本发明,通过由例如字母和数字序列构成的一个软件单元识别符SUID识别每个软件单元SU。如图1所示,这样的SUID的典型实例分别为Prog_a,Prog_b,以及Prog_c。如图1所示,在系统的实际操作期间,将引用软件单元SU_Reference的机器级表示,例如,作为存取存储软件单元机器级表示的存储器的程序或模块序号或地址。
如图2所示,为指定一个系统操作,不仅必须涉及软件单元SU而且涉及系统操作期间在不同软件单元之间交换的消息MESSAGEx。这里,MESSAGEx指定一个特定的消息等级。如图2所示,每个消息等级细分为一个控制信息部分和一个数据部分,这里DATAm和MESSAGEx一起使用以指定MESSAGEx携带的数据序号m。类似地,使用控制指定一个MESSAGEx携带的控制信息部分。将控制信息部分分为子部分,例如,一个标题部分和一个尾部部分。
图3示出属于图2所示的不同消息等级的不同消息的机器级表示。这里,每个控制信息部分由例如一个消息引用,消息源指示以及消息目标的指示组成。该控制信息部分还包括控制和保护消息流,例如,序号,检查和等的其他信息。
最后,指定给被该信息引用的一个特定消息的数据项作为一个数据元序列出现。这样,如图3所示的消息表示可以实现与一个特定消息相关的全部信息的访问。
图4示出如何使用一个有向图表示分别将图1和3所示的软件单元表示和消息用于描述功能级上的系统操作。如图4所示,对于这里的每个节点指定一个软件单元识别符SUID或具有相同意义的机器级引用SU_Reference。相应的选择将是否基于是在抽象级还是在机器级描述系统操作的事实。如上面所列出的,由该图节点所表示的不同软件单元通过该表示中的有向弧线所述的消息交换而相互交互。如图4所示,将message_reference指定给该图中的每个边。因此,在源软件单元Prog_a和目标软件单元Prog_b之间交换消息1。进一步,在源软件单元Prog_a和目标软件单元Prog_c,之间交换消息2,等等。
尽管图4示出功能级上的系统操作的解释,图5示出结构级上的相应描述。
如图5所示,一个系统一般细分为多个系统部件10,12,14。每个系统部件包括一个启动软件单元执行的应用程序单元16,18,20。如图5所示,将具有SU_Ref=1的软件单元Prog_a指定给应用程序单元16,将具有SU_Ref=3,4的软件单元Prog_c,d指定给应用程序单元18,以及将具有SU_Ref=2的软件单元Prog_b指定给应用程序单元20。
为实现消息交换每个系统部件10,12,14还包括一个消息缓冲器22,24,26,这里在消息被处理之前它们分别储存在相应的应用程序单元16,18,20内。对于系统部件10,12,14之间的实际消息交换,提供连接不同系统部件的连接28,30,32。
如图5所示,这些连接载有图4中的有向图边缘沿所示方向示出的不同消息。应该注意到,图5仅是清楚地给出了将一个功能级上的系统说明映象到旧的硬件结构的实例,以及基于实际要求的变型和修改将落入本发明的要点之内。
如上面所列出的,在系统升级期间不同应用程序单元内的软件单元与旧的软件单元的当前内部状态对应的数据一起被升级。然而,如图5所示不论该软件单元升级的效果都遗留下要考虑根据在升级之前的系统说明存储不同消息缓冲器22,24,26内的消息的任务。
因此,本发明一个重要的方面是提供一种除用于软件及其相关内部数据升级之外还用于这些消息升级的有效方法。如下面所示出的,这就允许降低升级处理期间的整个系统停机时间并进一步增加系统适用性和安全性。
图6示出在消息的机器级表示上升级的系统影响。特别是,图6左侧示出系统操作的功能性表示以及升级之前的消息的相关机器级表示,而图6的右侧示出其上升级处理的影响。
如图6所示,消息转换可以是由于发送软件单元的源代码或者是软件单元的目标代码或者二者都有的变化引起。
软件单元变化的第一个实例是将新消息等级例如由于协议变化指定给一个消息。根据图6所示表中第二行的下一个实例涉及目标软件单元的变化。这里,具有最初从左上节点指向左下节点的message_reference2的边缘被重新定向为从左上节点到右上节点。通过相关的机器级表示可以看出,特别是在第二行的第三列,控制信息部分的相应项从3被修改为2。如图6所示,根据图6所示表的第三和第四行消息还保持不变。
由于系统升级与软件单元目标码内的变化有关下一个消息转换类型根据图6示出表的第5行变化。
一个典型实例是在系统升级之后该消息具有相同识别符并且在相同的软件单元被接收,但是作为另一个消息引用和/或源/目标软件单元引用。因此,在右下节点从SU_Ref=4被修改为SU_Ref=10的情况下第5行的第2列内的相关项从4被修改为10。进一步,如果对消息的引用被修改为9,则相应的第一项从8被修改为9。
还应该注意到根据本发明上面解释的消息转换所必须的信息被概括为一个消息转换信息,在软件单元源代码变化的情况下该信息可以由负责系统升级的设计者提供或者在软件单元目标代码变化的情况下由设计工具自动生成。此外,考虑到消息转换重点在所接收的消息,这是因为在对其进行进一步处理之前转换是必须的。
如图7所示,消息转换不仅涉及控制信息转换而且涉及相关的数据元转换。
这里,使用一个以expr()指定的功能关系指定旧的和新的数据元之间的内部关系,其中expr()作为用于升级的系统说明部分并且,例如,可通过设计系统用于系统升级可利用。
进一步,将旧的数据元映象到新的数据元不需要一对一对应并且可以省去旧的数据元或者增加新的数据元。进一步的选项是数据元序列的反向以及用于不同数据元的数据类型的修改。
一般在图8所示的消息转换装置34中执行上面参照一个具体实例所列出的所有不同步骤。该消息转换装置34包括一个消息转换信息接口单元36以及一个消息转换单元。该消息转换单元细分为一个消息控制信息处理单元38以及一个消息数据处理单元40。
如图8所示,消息转换信息接口单元36接收描述由于软件处理系统升级所必须的至少一个消息转换的消息转换信息MCI。此外,将根据系统升级之前其机器级表示的消息提供到消息控制信息处理单元38以及消息数据处理单元40两者。正如下面详细描述的,系统升级还导致将新信息插入其内,因此消息转换装置34的全部输出不仅由转换消息而且由新初始化消息组成,如图8所示。
消息控制信息处理单元38转换上述的消息控制信息,并且由此分别修改,例如,message_reference,消息源软件单元,消息目标软件单元以及消息等级。此外,消息数据处理单元40转换要转换的消息数据段的至少一个数据元。
为启动消息转换装置34,一个选项是切换到升级软件的时间。这里,在稍后启动升级系统内的相关软件单元的情况下,由于消息已被转换则在时间上没有损失。尽管如此,根据在请求启动接收时间或目标软件单元的作业时进一步的选项是启动根据本发明的消息转换装置34,以便仅根据需要,即,当消息传送到接收软件单元时进行消息转换。
根据本发明,例如,使用下面列出的机器级表示上的转换信息执行不同消息转换的整体方案。根据本发明的一个可能的实现可以包含一个表,该表分别存储与识别消息类型,即,消息引用的SU引用相关的消息控制信息部分,以及与旧的和新的软件单元相关的信息一起。根据从旧的软件单元传送到新的软件单元或者反之亦然的可用于消息控制信息部分转换的一个这样的表可以如下构成
根据本发明,该表的内容可以由系统设计者指定或者以较高级别给出的编译器和链接器功能性处理信息自动指定。此外,根据本发明,在转换对于系统升级实际上是必要的情况下表中的项才有必要存在。
这里,应该注意到表中的两列可考虑表示根据方程(1)的左侧和右侧L.H.S.(新的)=R.H.S.(旧的)这里,并且在下面“=”字符应被解释为“等于”或“对应于”。
因此,根据本发明关于表中1行的类似L.H.S=R.H.S的陈述是一种转换情况的机器级表示。
一般地,当一步一步地执行软件升级时,保持一个升级列表以及还未升级的软件单元SU以确定对于每个消息是否有必要进行从旧的格式到新格式或者从新格式到旧的格式的转换。
在不限制本发明范围的情况下可以假定相同组合“SU reference.message_reference”不会出现在新的和旧的侧。迄今为止的原因是对于每个最终要转换的消息在表中应该仅存在一个单项,特别是如果同时执行新的和旧的软件单元。进一步,有可能增加一个“版本”作为消息转换的附加信息。在单独一个步骤执行切换到新软件单元的软件升级之后的情况下不需要该扩展,这是因为该情况下的消息转换仅沿单方向,即,从旧的到新的方向。
转换任务的一个典型实例是存在从旧的软件单元到新的软件单元的消息,这里将消息存储在消息缓冲器作为在消息传送时已经升级接收软件单元的情况下发送来自从还未升级的软件单元的消息的结果。进一步,可以存在从新的软件单元到旧的软件单元的消息。在该情况下将消息存储在消息缓冲器作为从已经升级的软件单元向在消息传送时还未升级的接收软件单元发送消息的结果。根据本发明,例如,在启动检查消息缓冲器内的消息的作业时。如果在消息控制信息和上面列出的表内的项的内容之间,即,基于缓冲的消息是新格式还是旧格式的事实的适当的一侧存在匹配,则这就意味着该消息应潜在地被转换。
在这样的情况下,根据本发明确定target_SU_reference并且接着检查该软件单元是否被升级以及是否新的或是否还未被升级和是否为旧的。当消息被传送到接收或目标软件单元时根据上面列出的表该询问的结果确定该格式应该为新格式还是旧的格式。
进一步,如果确定source_SU_reference并检查相关的软件单元是否是相同类型,即,新的或旧的类型,来作为目标软件单元。在这样的情况下转换不是必要的。然而,在源和目标软件单元是不同类型的情况下其间交换的消息应该被转换。这里,转换的方向,即,新的到旧的或旧的到新的,基于哪个软件单元是新的哪个软件单元是旧的事实。
图9使用图6所示的实例说明上面概述的一般原则,那里具有message_reference2的消息已被重新定向为从初始目标软件单元3到新的目标软件单元2。假定进一步转换相关消息控制信息保持不变,表示该消息控制信息的表内的项如图9所示。因此,该消息将在软件处理系统升级之前或之后被处理的情况下,相关项可以分别在该表的左侧或右侧找到,并且接着被用于执行特定消息转换,即,该特定情况下的target_SU_reference的修改。
进一步,可以将在旧的和新的源以及上述的目标软件单元之间进行转换的不同情况总结为如图10所示。这里,可以看出在源和目标软件单元分别为相同的新的以及旧的类型的两种情况下转换是不必要的。否则,在上面概述的意义上进行消息转换。
进一步,根据本发明从图10的一个选项是在转换时执行上面引用的步骤,因此仅有可能从旧的转换到新的。这里,被转换的新软件不处理按旧的格式的消息。因此,在所有新软件单元被同时转换的情况下一般不需要从新的到旧的格式的转换,这是因为没有软件单元保留处理按旧的格式的消息。在这样的情况下有可能在一个序列内转换消息缓冲器内的所有消息。
进一步,该方法还可以在消息缓冲器内消息和转换表之间的匹配的情况下与通配符一起使用。例如,在表的底部陈述“target SU reference7.target_message_reference7”一直对应“target SU reference8.target_message_reference8”以及“target SU reference9.target_message_reference9”一直对应“target SU reference10.target_message_reference10”,与其它信息无关,其它信息应该保持不变。用于描述转换的原则可以被概括为作为消息部分的任何信息。
更为复杂的转换,例如,包含算术和逻辑表达式最好不直接存储在该表内。相反,可以用一个到其它信息的引用,例如,描述复杂转换的一个转换程序补充该表。
下面,将解释较高级别的消息格式的表示。在高级别表示中与如何以处理该消息的应用的应用软件单元的应用程序的源码指定消息类似的方式指定格式和内容的差别。
根据本发明的一个实例是由某些唯一识别符指定一个消息,例如在名称在贯穿系统或消息名称和处理相同消息名称的软件单元处理识别符的组合是唯一的情况下的消息名称。下面,假定指定由SUID.MESSAGEx (2)给出的消息的唯一识别符的没有任何限定,这里SUID是一个程序的唯一识别符并且MESSAGEx是一个由该程序处理的消息的局部唯一(程序内)识别符。SUID和MESSAGEx一般是,但不是必须的,由一个字符串构成。
根据本发明一个编译器和链接器功能将例如由字符串构成的该表示转换为可以由目标系统内的转换功能更为有效处理的一个表示。一般地,可以将SUID转换为一个唯一程序号或某些其他唯一适合的地址。类似地,可以将一个消息名称MESSAGEx转换为一个消息序号或某些与机器有关的地址。
这里,这些机器级表示分别被称为SU_reference以及message_reference。
应该注意到某些情况下的编译器和链接器还产生不必由高级别表示明确给出的信息。例如,如果一个消息经常由一个特定程序发送和一个其他特定程序接收,高级别信息Target_SUID.MESSAGEx(3a)足以产生完全的低级别信息target SU reference.target_message_reference.
Source SU reference.source_message_reference(3b)这样,在这种情况下高级别语句New_Target_SUID.MESSAGEx=Old_Target_SUID.MESSAGEy(4a)可以产生完整的机器级表示New_target_SU_reference.new_target_message_reference.
New_source_SU_reference.new_source_message_reference=Old_target_SU_reference.old_target_message_reference.
old_source_SU_reference.old_source_message_reference.(4b)因此,根据本发明,在系统或相应软件单元变化导致软件引用和消息引用中的变化,即,通过增加系统内的新的软件单元或程序内的新消息,从而改变软件单元或消息的机器级标号的情况下,有可能也转换消息。这里,这种变化不必由设计者用高级别描述来明确描述,这是因为无论如何编译器和链接器功能都可以产生必要信息。
进一步,如果识别符MESSAGEx以及MESSAGEy相同,则根本不存在关于在相应软件单元的源码所看到的该消息等级的源码级差别。因此,除新的和旧的软件单元的软件单元Ids SUID的识别符之外在没有任何明确的高级别信息的情况下编译器和链接器功能可以产生任意必要的机器级信息。这里,根据本发明缺省可以是高级别表示上未改变的消息并不必由设计者描述以及这种情况下的编译器和链接器功能关注机器级表示上的任何变化。
如图11所示,图8所示的消息转换装置34的消息控制信息处理单元38基本上被细分为三个功能单元。第一个单元是存储不同消息的消息控制信息的转换相关部分的表存储单元42。第二,提供一个允许根据关于诸如消息引用之类消息,例如分别根据旧的和新的格式所提供的特定信息进行存取表存储单元42的信息存取单元44。第三,转换处理单元46根据通过信息存取单元44提供的表存储单元42中所存储的信息实现图10所示的不同转换类型。
下面,将描述通过消息转换单元34内的不同单元所执行的这样消息转换的的典型实例。在下面的实例假定升级程序是这样的,即,转换仅在旧的到新的格式进行,例如,不存在同时执行交换被转换的消息的旧的和新的软件处理单元的情况。然而,应该注意到,根据本发明使用上面列出的原则显然有可能包括从新的到旧的格式的方向。进一步,下面假定机器级消息控制信息包含下面部分target_SU_reference.target_message_reference.
Source_SU_reference.source_message_rference(5)然而,也可以使用包含较多或较少信息的替换实现,例如,只有target_SU_reference.target_message_reference(6)另外,根据该实例的变化还可以,例如,根据实例中未明确给出的消息名称以及消息数据是可组合的,以避免过长的重复。
第一个实例涉及根据如New_SUID.MESSAGEx=Old_SUID.MESSAGEy(7a)所示的高级别表达式表示的消息名称的变化。
因此,旧的软件单元内被称为MESSAGEy的消息在新的升级软件单元被称为MESSAGEx。因此消息缓冲器内的任何旧的MESSAGEy应被转换为新的MESSAGEx。这里,new_SUID以及old_SUID可以为target_SUIDs或source_SUIDs。进一步,由编译器和链接器从该高级别表示(7a)产生的机器级描述是new_SU_reference.new_message_rference=old_SU_reference.old_message_reference(7b)这里new_SU_reference和old_SU_reference可以为目标类型或源类型,但是与高级别描述中相同。在某些情况下,例如,通过一个唯一发送器或接收器有可能仅从一个单独类型不但产生目标而且产生源参数。
下一种情况涉及如New_SUID=Old_SUID(8a)所示的高级别描述中表达的软件单元引用的变化。
这里,将新识别符new_SUID分配给具有识别符old_SUID的旧的SU的新版本。这样,被具有识别符old_SUID的旧的软件单元发送或接收的消息缓冲器内的所有旧的消息必须分别具有从old_…转换为new_…的source_SU_rference或者target_SU_reference。
进一步,由编译器和链接器从高级别描述产生的机器级描述可以是按照new_source_SU_reference=old_source_SU_referencenew_target_SU_reference=old_target_SU_reference(8b)的两个语句。
下一个实例涉及如New_SUID=Old_SUID(9a)所示的高级别描述中表示的消息引用的变化。
在该实例如果旧的和新的软件单元内的消息识别符(例如,名称)相同并且编译器将识别哪个旧的消息对应于哪个新的消息,则不需要将该高级别描述映象到消息级。相反,消息可以改变引用,与识别符是相同的事实无关,这是因为转换识别符到引用还基于其他变化。这里,根据用于每个消息等级的两个语句new_source_SU_reference.new_source_message_reference=old_source_SU_reference.old_source_message_referencenew_target_SU_reference.new_target_message_reference=old_target_ SU_reference.old_target_message_reference(9b)可以表示由编译器和链接器从高级别描述中产生的机器级表示。
进一步,关于根据本发明的消息引用的变化,应该注意到在消息引用中存在任何变化的情况下仅需要产生基于等式(9b)的信息。然而,这是一个总的原则,即,如果在机器级表示中的旧的和新的参数之间无差异,则可以省去该步骤,这是因为不需要转换。在以前存在高级别表示内差异的情况下,例如,一个改变的消息识别符,这也甚至是真的。
第四个实例涉及如TERMINATE Old_SUID.MESSAGEx(10a)所示的高级别描述所表示的消息的尾端。
一般地,例如应从消息缓冲器除去在具有识别符old_SUID的旧的软件处理单元内称为MESSAGEx类型的任何消息,这是因为在新的软件处理单元不存在接收器。进一步,old_SUID可以是源或目标类型。由编译器和链接器根据等式(10a)从高级别描述产生的机器级描述是terminate old_SU_reference.old_message_reference(10b)。
这里,old_SU_reference可以是源或目标类型,但是与高级别表示一致。
下一种情况涉及消息尾端的反面,即,消息的初始值。这里,该高级别表示是INITIATE New_SUID.MESSAGEx[WITH data1,data2,…](11a)进一步,应将由携带识别符new_SUID的新的软件处理单元称为MESSAGEx类型的消息传送到新的软件处理单元。该消息可选地包括所定义的数据。在MESSAGEx具有多个发送器或接收器的情况下不但目标而且源SUID都必须被指定(未示出)。由编译器和链接器从高级别描述(11a)产生的机器级描述是initiatenew_SU_reference.new_message_reference[具有data_1,data_2,…](11b)最后,进一步的实例涉及根据高级别描述New_SUID.MESSAGEx.DATAm=Old SUID.MESSAGEx.
DATAi+Old SUID.MESSAGEx.DATAk(12a)的消息数据的变化。
这里,由在具有识别符new_SUID的新的软件处理单元内被称为MESSAGEx的新的格式消息载有的DATAm对应于DATAi和DATAk的和,两者由在具有识别符old_SUID的旧的软件处理单元内的旧的格式MESSAGEx所携带。通常,等式(12a)右侧上的表达式可以包括,例如,由旧的格式信息载有的一个或几个数据以及常数和算术与逻辑运算,即,SUIDx.MESSAGEy.DATAm=表达式(SUIDz.MESSAGEu.DATAi,SUIDv.MESSAGEw.DATAk,…,常数1,…)(12b)进一步,SUIDs可以是源或目标类型。
由编译器和链接器从高级别描述中产生的机器级描述是new_SU_reference.new_message_reference.data_m=old_SU_reference.old_message_reference.data_I+old_SU_reference.old_message_reference.data_k(12c)此外,SU_references可以是源或目标类型,但是必须符合高级别描述。
如上面所列出的,所有转换步骤基于功能关系,与执行时间无关。
尽管上面已经描述了根据本发明的消息转换装置的具体结构和功能性,下面将参照图12到图17描述其应用的典型实例。
如图12所示,第一个选项是将一个使得由每个单独的部件10,12,14分别处理消息转换的专用的消息转换装置分配给软件处理系统的每个部件10,12,14。
图13示出进一步的一个选项,其中如参照图5所解释的再次提供系统部件,但是不包含一个专用的消息转换装置。相反,它们共享一个公用的系统升级装置48。该系统升级装置48包括一个适用于在不同系统部件10,12,14安装新的软件单元的软件升级单元50。此外,在软件安装期间数据升级单元52用于修改存储在软件单元的内部数据结构的数据。只要新的软件单元在系统部件10,12,14上操作,就启动消息转换装置34以便使存储在消息缓冲器22,24,26内的消息适用于新的系统环境。
图14示出可以被分类为划分类型的另一个系统结构,其中每个部件以具有两个对称实现10-a,10-b,12-a,12-b,14-a,14-b的冗余方式实现。在该特定系统环境中在第一部分A和第二部分B之间提供升级装置48并且升级装置48包括与参照图13所列出相同的部件。
然而,还有可能在图12或图13意义上以A侧和B侧的冗余方式实现升级装置48。一般地,A侧和B侧的每个部分将具有基于图13的结构并且在另一侧的升级期间为完全可操作。因此,根据本发明有可能显著提高整个系统的适用性和安全性并且还可以提高软件升级期间的性能。
该特定结构可以很好地适用于所发明的用于软件以及相关数据升级的系统升级方法以及对应的消息,这些将参照图15进行描述。
如图15所示,本发明方法开始于准备步骤S1以加载新软件并完成其初始化。进一步,根据步骤S2在软件及其相关数据的整个升级期间继续旧的软件的执行。与步骤S2中旧的软件的执行同时在步骤S3升级新软件以及相关数据。不同步骤S2和S3的并发执行使得在所发明的升级处理期间的整个系统效率的显著提高。
如图15所示,一旦旧的软件和新软件在步骤S4被评价为一致,在步骤S5就执行转换到新软件。步骤S5可用于每个新的和旧的软件单元组或一个组内的所有软件单元。
进一步,在步骤S5期间根据上面列出的程序还转换图5和图12以及14所示的存储在不同消息缓冲器22,24,26内的消息。在转换期间立即转换这些消息的情况下,在新的软件单元内的作业启动时不会发生进一步的延迟。
在每个转换步骤S5之后是步骤S6以评价被相关软件或数据是否保留在系统内。如果是这种情况,则升级过程返回步骤S2以继续附加软件单元和相关数据的升级直到完成全部升级处理为止。在这种情况下,可能会有这样的情况,即,在相同系统内同时执行旧的和新的软件模块。这样,如上面所列出以及步骤S2所指示的转换新的和旧的软件之间通信的消息是必要的。该转换最好根据作业启动的要求而启动,刚好在接收软件处理单元内的单独的消息的处理开始之前。
另外,系统操作继续到步骤S7,那里仅在升级系统操作新的软件单元。这里,可能会出现这种情况,即,那里处于不转换由此接收的新的软件单元消息的作业启动,这将在步骤S8评价。在这样的情况下将根据步骤S9的要求启动本发明的消息转换装置34。在循环回步骤S7之后继续新软件的执行。
图16示出一个通信系统交换作为本发明应用的第一个实例,其中在Ericsson Revier No.3,1995描述了其基础结构。这里,中央处理器54处理相关事件呼叫以及通信系统内的其它数据通信处理。进一步,区域处理器56,58,60处理到和来自通信系统内的终端用户的信令。如图16所示,一个区域处理器管理器62协调区域处理器56,58,60和中央处理器54之间的信号交换。为处理时限事件,作业缓冲器64完成在上面列出意义上交换的消息的缓冲。
对于这样的通信系统在中央处理器54执行升级,中央处理器54可以是具有两部分的类型以支持升级处理。用于这样应用的本发明的一个特定效果是最小化系统升级期间的整个系统停机时间以避免系统提供者的任何收益损失。因此,与需要系统的全部停机时间的常规软件升级处理相比有可能灵活地更经常地升级通信系统。
图17示出一个分布通信系统作为本发明应用的第二个实例。这里,分布通信网络的组成部分分别是存取网络,本地电话网,以及长途网络。本地电话网和长途网络构成载体业务的传输网络。
该通信网络内的节点是网络节点或接入节点。长途网络使用中继线用于消息交换。进一步,在通信网络提供连接线路用于通过网络的信息交换。
从上面可以得出,使用本发明方法通过同时最小化通信网络的干扰可以升级驻留在网络节点,接入节点或终端的任何软件单元。
这种通信网络的典型实例是ATM网络,那里消息分别与ATM信元,与结构有关的呼叫中心,FDDI应用或帧延迟应用相关。此外,本发明显然可以应用于GSM基础结构或因特网,那里可以通过因特网业务提供者操作相关软件。
进一步,除网络节点内的软件升级之外,本发明还可以用于升级这样网络内的数据和信号的交换协议的情况。
识别符数字列表(10)系统部件(12)系统部件(14)系统部件(16)应用程序单元(18)应用程序单元(20)应用程序单元(22)消息缓冲器(24)消息缓冲器
(26)消息缓冲器(28)连接(30)连接(32)连接(34)消息转换装置(36)消息转换信息接口单元(38)消息控制信息处理单元(40)消息数据处理单元(42)表存储单元(44)信息存取单元(46)转换处理单元(48)系统升级装置(50)软件升级单元(52)数据升级单元(54)中央处理器(56)区域处理器(58)区域处理器(60)区域处理器(62)区域处理器管理器(64)作业缓冲器
权利要求
1.消息转换装置(34),包括a)接口装置(36),用于描述在软件处理系统升级前后在软件处理系统内交换的至少一个消息的消息转换信息(MCI),以及b)消息转换装置(38,40),适用于根据消息转换信息(MCI)给出的说明转换旧的和新的软件处理系统表示之间的消息。
2.如权利要求1所述的消息转换装置,其特征在于在转换到升级软件处理系统时启动消息转换装置(38,40)。
3.如权利要求1或2所述的消息转换装置,其特征在于当提出要求接收软件处理系统内的新软件的消息的作业启动时就启动消息转换装置(38,40)。
4.如权利要求1到3中的一个所述的消息转换装置,其特征在于当提出要求接收软件处理系统内的旧的软件的消息的作业启动时就启动消息转换装置(38,40)。
5.如权利要求1到4中的一个所述的消息转换装置,其特征在于消息转换装置(38,40)包括a)消息控制信息处理装置(38),用于转换分别包括至少一个消息引用,消息源软件单元,消息目标软件单元,以及一个消息等级的一个消息控制信息部分,和b)消息数据处理装置(40),用于转换消息数据段(DATA)的至少一个数据元。
6.如权利要求5所述的消息转换装置,其特征在于消息控制信息处理装置(38)细分为a)一个存储关于消息控制信息的转换相关部分的表存储装置(42),b)适用于根据关于被转换的消息所提供的信息存取存储在表存储装置(42)的信息的信息存取装置(44),c)适用于根据通过消息存取装置(44)提供的信息以及被转换的消息实现消息转换的转换处理装置(46)。
7.如权利要求5或6所述的消息转换装置,其特征在于消息控制信息处理装置(38)和消息数据处理装置(40)使用功能关系执行所接收消息的转换。
8.如权利要求5到7中的一个所述的消息转换装置,其特征在于消息控制信息处理装置(38)适合于根据New_SUID.MESSAGEx=Old_SUID.MESSAGEy(7a)转换消息识别符。
9.如权利要求5到8中的一个所述的消息转换装置,其特征在于消息控制信息处理装置(38)适合于根据New_SUID=Old_SUID(8a)转换SU_reference。
10.如权利要求5到9中的一个所述的消息转换装置,其特征在于消息控制信息处理装置(38)适合于根据New_SUID=Old_SUID(9a)转换消息引用。
11.如权利要求5到10中的一个所述的消息转换装置,其特征在于消息控制信息处理装置(38)适合于根据TERMINATE SUID.MESSAGEx(10a)终止一个消息。
12.如权利要求5到11中的一个所述的消息转换装置,其特征在于消息控制信息处理装置(38)适合于根据INITITATE SUID.MESSAGEx[WITH data1.data2....](11a)初始化一个消息。
13.如权利要求5到12中的一个所述的消息转换装置,其特征在于消息数据处理装置(40)适合于根据SUIDx.MESSAGEy.DATAm=表达式(SUIDz.MESSAGEu.DATAi,SUIDv.MESSAGEw.DATAk,…,常数1,常数2,…)(12a)改变消息数据,那里右侧表达式包括例如在特定数据变量和常数上运算的算术和逻辑类型的运算符。
14.一种具有升级功能性类型的软件处理系统,包括a)存储由软件处理系统处理的消息的至少一个消息缓冲器(22,24,26),b)处理存储在至少一个消息缓冲器的消息的至少一个应用程序单元(16,18,20),和c)适合于在根据权利要求1到13中的一个的至少一个应用程序单元(16,18,20)升级之后转换旧的和新的表示之间的消息的消息转换装置(34)。
15.如权利要求14所述的软件处理系统,其特征在于其是具有多个应用程序单元(16,18,20)的分布类型,每个应用程序单元连接到一个转换装置(34)。
16.如权利要求14所述的软件处理系统,其特征在于其是具有多个应用程序单元(16,18,20)的分布类型,每个应用程序单元连接到一个公共转换装置(34)。
17.如权利要求14所述的软件处理系统,其特征在于其包括两个连接到公共转换装置(34)的逻辑部分(10-a,10-b,12-a,12-b,14-a,14-b)。
18.如权利要求14所述的软件处理系统,其特征在于其包括两个逻辑部分(10-a,10-b,12-a,12-b,14-a,14-b),每个逻辑部分具有一个专用转换装置(34)。
19.一种用于具有至少两个逻辑部分的计算系统的系统升级方法,包括步骤a)将备用部分装置内的新软件状态升级到执行部分装置内的旧的软件的状态,同时继续旧的软件的执行,b)直到得到备用部分装置和执行部分装置的相同状态就转换到新软件的执行(S5),和c)在转换到接收新软件的执行或要求接收新软件的作业启动时将计算系统内不同软件模块之间传送的消息(S2,S5,S8)转换为适合于新接收软件的格式,或d)在转换到旧的接收软件的执行或要求旧的接收软件的作业启动时将计算系统内不同软件模块之间传送的消息(S2,S5,S8)转换为适合于旧的接收软件的格式。
20.如权利要求19所述的系统升级方法,其特征在于升级步骤c),d)被细分为e)经相关接口(36)读取消息转换信息(MCI)到消息转换装置(34),和f)根据消息转换信息(MCI)给出的说明将消息转换到新软件的新表示,或g)根据消息转换信息(MCI)给出的说明将消息转换到旧的软件的旧的表示。
21.如权利要求20所述的系统升级方法,其特征在于升级步骤f),g)被细分为h)如果未指定消息转换信息(MCI)则传送消息未变,和/或i)分别转换包括消息引用,消息源软件单元,消息目标软件单元,以及消息等级中的至少一个的消息控制信息,和/或j)转换消息数据段的至少一个数据段。
22.如权利要求21所述的系统升级方法,其特征在于使用功能关系执行接收消息的转换。
23.如权利要求19到21中的一个所述的系统升级方法,其特征在于并行执行转换步骤并且不影响执行部分装置内的旧的软件运行。
24.如权利要求19到23中的一个所述的系统升级方法,其特征在于重复执行转换步骤作为背景处理直到完成转换到新软件为止以保持跟踪执行部分装置内的变化状态。
25.如权利要求19到24中的一个所述的系统升级方法,其特征在于除转换步骤之外在转换到新软件启动时执行一个用于新消息数据元的特定初始化步骤。
26.如权利要求19到25中的一个所述的系统升级方法,其特征在于在转换到结束转换之前出现错误状态的情况下继续执行部分装置内的旧的软件的执行。
27.如权利要求19到26中的一个所述的系统升级方法,其特征在于执行一个转换返回步骤以便在转换后出现新软件执行期间的情况下具有旧的软件的执行部分再次成为执行部分装置。
全文摘要
为实现基于系统的计算机内软件的高效升级一个消息转换装置(34)包括一个用于消息转换信息(MCI)的接口单元(36),该信息描述在软件处理系统升级前后的软件处理系统内交换的至少一个消息。此外,提供一个消息转换装置(38,40)以根据消息转换信息(MCI)给出的说明转换升级软件处理系统内的旧的和新的表示之间的消息。因此,有可能使具有最小系统停机时间的基于计算机的系统内的软件升级免于干扰。
文档编号G06F9/46GK1300389SQ99806107
公开日2001年6月20日 申请日期1999年3月11日 优先权日1998年3月12日
发明者B·E·I·加德, L·-O·克林, S·E·约翰松 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1