一种通过消息实现实体间控制的方法

文档序号:7616301阅读:150来源:国知局
专利名称:一种通过消息实现实体间控制的方法
技术领域
本发明涉及通信系统中功能实体间的通信技术,尤其是一种实现实体间操作控制的通信方法。
背景技术
在通信网络中,两种网络实体之间通常会存在控制与被控制的关系,亦即操作发起与操作执行的关系。在操作发起与操作执行的过程中,操作的发起者向执行者发送命令消息,消息的内容通常包含命令字和相关参数,执行者接收到消息后,根据消息中命令字和参数约定的含义执行特定的操作,执行结束后向发起者发送消息,报告执行的结果。同样,在一个网络实体或一个计算机系统内部有不同的功能实体,这些功能实体之间也存在操作发起与操作执行的关系,发起者向执行者发送命令消息,触发后者执行特定的操作,执行者在操作结束后向发起者发送消息,报告执行的结果。
现有技术中,一种解决实体间控制的通信方法为为使功能实体实现特定的功能,在该功能实现过程中,操作的发起者向执行者多次发送命令消息,每个命令消息触发执行者执行一个特定的操作,发起者收到执行者返回的执行结果后,根据执行结果再向执行者发送消息触发下一步的操作,上一步不同的执行结果可能导致不同的下一步操作。该方法所带来的缺陷是为了实现特定的功能,可能需要在操作发起者和执行者之间进行多次消息交互,这些消息交互造成时间上的较大开销,使得整个功能的实现过程需要较长的时间;除此之外,如果操作的发起者和执行者之间通信带宽较小,则为了等待消息发送,还会造成一些更多的时间开销和消息缓发的存储开销。
现有技术中,在上述通信方法的基础上,为减少消息交互,操作发起者向执行者发出的一条命令消息中包含了多条操作命令,这些操作命令被分成若干个组,组间的操作可以并行执行,每个组内包含若干个相互之间顺序执行的操作命令。该方法的缺陷是如果某个操作的执行结果将影响到下一步所要进行的操作时,则导致操作发起者无法将该操作命令和它的后续操作命令放在同一条命令消息中发送给执行者,如果当这种情况经常出现,则操作发起者和执行者之间的消息交互次数不能有效地减少。

发明内容
本发明要解决的问题是提供一种实现实体间控制的通信方法,该方法能够减少操作的发起者和执行者之间的消息交互次数,进而减少多次消息交互造成的时间开销,减少实现特定功能所需的时间。
为解决上述技术问题,本发明提供了一种通过操作控制消息实现实体间控制的方法,用于实现操作的发起者控制操作执行者完成一定的功能特性,其具体方法为发起者确定操作命令及所述操作命令的执行逻辑,所述执行逻辑在执行每一个操作步骤之后,根据所有可能的结果指定下一个操作;发起者向执行者发送包含所述操作命令和所述执行逻辑的命令消息;执行者按照命令消息中的执行逻辑执行所述的操作命令,以完成特定的功能。
上述方法中,还包括执行者向发起者报告所述命令消息最终执行结果的步骤,并且,执行者还可以向发起者报告执行命令消息过程中执行的操作命令及该操作命令的执行结果。
上述方法进一步可实现为发起者确定操作命令及所述操作命令的执行逻辑,并将操作命令进行分组,使同一命令组中包含相互间具有执行逻辑的操作命令,命令组间的操作命令不具有执行逻辑;发起者向执行者发送包含所述操作命令和所述执行逻辑的命令消息;执行者接收到所述命令消息后,按照执行逻辑并行执行不同命令组的操作命令,并且按照所述的执行逻辑执行组内操作命令。
在上述的方法中,所述执行者执行消息命令的具体过程为执行者首先执行所述命令消息中指定的第一步骤的操作命令,并且在每执行完一个操作命令后,保存当前操作的执行结果,按照所述消息中的执行逻辑进行下一步操作。
本发明所述的方法更加适用于于下一代网络(NGN)系统中,则在本发明中,所述操作发起者具体可为下一代网络系统中的媒体网关控制器,并且所述执行者为下一代网络系统中的媒体网关。
由以上技术方案可以看出,本方法中,操作发起者首先制定具有执行逻辑的命令消息并将该消息发送给操作执行者,操作的执行者在每一步操作执行后,可以根据执行结果和命令消息中规定的执行逻辑,决定下一步应该做什么样的操作,而不必立即将结果发送给操作发起者,并由发起者决定后续的操作,因此,该方法可以有效地减少操作发起者和执行者之间的消息交互次数,避免多次消息交互带来的时间开销;进一步,由于操作发起者还将操作命令按照预制的执行逻辑进行分组,使得操作执行者可以并行执行命令消息中的操作命令,因而提高了命令消息执行效率,减少了实现功能特性所需的时间。综上所述,由于本方法减少了操作的发起者和执行者之间消息交互的次数,亦即减少了操作发起者在操作执行过程中对执行者的干预次数,从而降低了操作执行者的处理复杂度。
当本发明应用于下一代网络(NGN)中,可以减少媒体网关和媒体网关控制器之间的资源访问消息交互次数,缩短呼叫接续的时间。


图1为本发明所述方法的一般原理图。
具体实施例方式
本发明提供了一种通过消息实现实体间控制的方法,该方法的核心思想是操作发起者向操作执行者发出一条命令消息,其中包含多条操作命令,这些操作命令可被分成若干个组,组间的操作可以并行执行,在每一个组内,除了列有若干操作命令外,还有关于这些操作命令的执行逻辑说明,即操作命令执行的顺序、选择、反复等时序关系的说明,进而,操作执行者就可以在每一步操作执行后,根据前一步的执行结果和消息中规定的执行逻辑,自行决定下一步所需要进行的操作,当操作执行者的操作到达执行逻辑中所规定的执行终点为时,执行者即将所有的执行结果发送给操作发起者。
本发明涉及通信系统中功能实体间的通信技术,尤其是实现实体间操作控制的通信方法,该方法适用于所有在实现某个功能时存在实体间操作控制的情况,而具体系统中的各功能实体可实现何种功能操作非本发明所要解决的问题,因而无需进行限定。依据上文阐述的本发明的核心思想,参照图1,本发明的通过消息实现实体间控制的一般实施方式为1)对于操作发起者,在命令消息中提出操作执行逻辑的说明。
在操作发起者的命令消息中,指定操作执行者第一步要执行的操作,并指定该操作所需的相关参数。
所述逻辑说明为在执行每一个操作步骤之后,对所有可能的执行结果,指定下一个操作动作。所述下一个操作动作可以是按指定的参数执行某个指定操作,所述参数可以依赖于此前某些操作步骤的执行结果,也可以在执行逻辑中预置;所述下一个操作动作可以是依据前面某些步骤的执行结果,返回到已经执行过的某个步骤重复地执行操作,或进行循环操作;所述下一个操作动作可以是消息命令中操作执行的终点,若操作执行到达执行终点,则需操作执行者向操作发起者发送所有的操作结果。
2)操作发起者依据操作命令中的命令执行逻辑对操作命令进行分组(或者看作将命令消息中包含的命令加以区分),将具有操作逻辑关系的命令分到一个命令组中,即在命令消息中,不同命令组中的操作命令不具有操作逻辑关系,使得在操作执行者,命令组间的操作能够并行执行,而在某个命令组中,执行者可以按照预先制定的执行逻辑进行命令操作。
所述执行逻辑通常可理解为在操作发起者发送给操作执行者的命令消息中,包含若干操作命令,其中某些命令通常以其他命令的执行结果或操作过程中的其他因素作为该命令的执行条件,则这些命令间可看作存在执行逻辑。
3)操作发起者将所述包含操作命令及执行逻辑的命令消息发送给操作执行者。
4)对于操作执行者,读取并理解命令消息中的操作执行逻辑,以所述执行逻辑为依据执行操作。
执行者收到所述命令消息后,根据命令消息中指定的第一步操作和该操作的相关参数,执行第一步操作步骤;每一步操作步骤结束后,操作执行者保存该步骤的执行结果,并按照所述命令消息中执行逻辑的要求进行下一个步骤的操作。
5)操作执行者向操作发起者返回操作执行结果,其中还包括消息命令执行过程中的各步骤操作动作的执行结果。
如本领域技术人员所知,由于步骤2)中操作发起者对操作命令进行分组处理,为执行者并行执行命令消息中的操作命令创造了可能,因而有助于提高命令消息的执行效率,进而有助于缩短实现特定功能所需的时间。然而,在不同的应用环境下,并非所有实体间的命令消息中一定包含可并行执行的操作命令,使得在该命令消息中,发起者无需对操作命令进行分组,因此,对操作命令进行分组并非本发明中所必不可少的部分。
通常情况下,为实现特定的功能,操作的发起者会根据执行者所返回的上一条命令消息的执行结果为执行者制定新的操作命令,或根据所述的执行结果确认命令消息被操作执行者正确的执行,因而通常情况下,将命令消息的执行结果返回给发起者是十分必要的,然而,本发明中并不排除无需操作执行者将命令消息执行结果返回给操作发起者的情况。综上所述,上述一般实施方式为本发明一较完整的实施方法,以下进一步介绍本发明的具体实施例。
操作发起者发送如下命令消息给操作执行者Operation Request{Execute{Operation1(Parameter1,Parameter2)}Result1;IfResult1 IS 10Then Execute{Operation2(Parameter3,Parameter4)}Result2;Else Execute{Operation3(Parameter5)}Result3;}上述操作具体步骤为Operation Request为操作发起者发送给操作执行者的一条命令消息,该命令中定义了三个操作步骤,即Operation1、Operation2和Operation3。首先,操作执行者收到上述命令消息后,执行上述第命令消息中要求的第一步骤的操作Operation1,进行Operation1时使用的参数为Parameter1和Parameter2,执行得到结果为Result1;步骤1执行结束后,操作执行者依据命令消息中的执行逻辑进行判断,即判断Result1的值是否为10,若Result1的值为10,则执行Operation2,否则执行Operation3;假设本实施例中Result1的执行结果为9,根据这一执行结果和命令消息中的判断条件,操作执行者应执行操作Operation3;其中所使用的参数为Parameter5,该步骤的执行结果为Result3;至此,操作执行者将命令消息中所要求的操作执行完成,并向操作发起者发送执行结果消息,消息内容包括先后执行的各个操作及其结果OperationResult{Operation1Result1,Operation3Result3}。
采用本方法,操作执行者可以在每一步操作执行后,根据执行结果和命令消息中规定的执行逻辑,自行决定下一步所应做得操作步骤;而不必立即将结果发送给操作发起者,并由发起者决定下一步的操作。这样可以有效地减少操作发起者和执行者之间的消息交互次数,避免多次消息交互带来的时间开销,从而减少实现功能特性所需的时间;同时,该方法可以减少操作发起者在操作执行过程中对执行者的干预次数,从而降低操作执行者的处理复杂度。
基于上述一般实施例,本发明可以应用于下一代网络(NGN),实现NGN中媒体网关控制器和媒体网关之间操作控制。
媒体网关控制器向媒体网关发送如下命令消息Transaction Request{TransactionId{ContexID.Command1(parameters)result1;(result1 IS 10)->ContexID.Command2(parameters)result2;
(result1 IS NOT 10)->ContexID.Command3(parameters)result3}}上述操作具体步骤为Transaction Request为媒体网关控制器发送给媒体网关的一条命令消息,该消息中定义了三个操作。媒体网关收到该命令消息后,首先执行命令消息中的第一个操作步骤ContexID.Command1,执行得到结果result1,记录此步骤进行得操作,并保存执行该操作得到的结果result1,若该执行结果result1为9,则根据该执行结果和命令消息中的判断条件,即当result1不为10时,执行操作ContexID.Command3,该操作执行得到结果result3;至此,媒体网关将命令消息中所要求的操作执行完成,并向媒体网关控制器发送执行结果消息,该消息内容包括先后执行的各个操作及其结果TransactionReply{TransactionId{ContexID.Command1:result1;ContexID.Command3:result3}}其中,TransactionReply为媒体网关向媒体网关控制器发送的一条执行结果消息,消息中记载了媒体网关进行的第一步骤操作ContexID.Command1及相应的结果result1,和第二步骤操作(即最后执行的操作命令)ContexID.Command3及相应的操作结果result3。
由上述实施例可知,在NGN网络中采用本发明,可以减少媒体网关和媒体网关控制器之间的资源访问消息交互次数,缩短呼叫接续的时间。
如上述实施例所体现的,本方法中,操作的执行者应首先执行逻辑中指定的第一个操作命令,进而按照命令消息中的执行逻辑继续执行操作。
在上述一般实施例及本发明在NGN系统的实施例中,重点对命令消息中包含执行逻辑的核心思想进行了说明,即在操作的发起者发送给执行者的命令消息中,包含若干相互具有执行逻辑关系的命令,这些命令通常以其他命令的执行结果或操作过程中的其他因素作为该命令的执行条件,由于命令间存在这种执行逻辑关系,进而在命令消息中对这种执行逻辑关系加以说明和限定,以使执行者依据该执行逻辑执行命令操作。
在此基础上,正如上文本发明的一般实施方式中所述,在操作发起者发送给执行者的命令消息中,并非所有的操作命令之间均存在执行逻辑关系,则在上述具体实施例中,可将命令消息中的若干命令进行分组,即将具有执行逻辑关系的命令分为一个操作命令组,不同命令组中的操作命令不具有操作逻辑关系,操作发起者将由这些操作命令组构成的命令消息发送给操作执行者,进而使得操作命令组间操作能够并行执行,并且在每个操作命令组中,执行者按照操作命令得执行逻辑关系执行操作命令。
以上对本发明所提供的一种通过消息实现实体间控制的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种通过操作控制消息实现实体间控制的方法,该方法用于实现操作的发起者控制操作执行者实现特定的功能,其特征在于1)发起者确定操作命令及所述操作命令的执行逻辑,所述执行逻辑在执行每一个操作步骤之后,根据所有可能的结果指定下一个操作;2)发起者向执行者发送包含所述操作命令和所述执行逻辑的命令消息;3)执行者按照命令消息中的执行逻辑执行所述的操作命令。
2.如权利要求1所述的通过操作控制消息实现实体间控制的方法,其特征在于,所述方法还包括步骤4)执行者向发起者报告所述命令消息最终的执行结果。
3.如权利要求2所述的通过操作控制消息实现实体间控制的方法,其特征在于步骤4)还包括执行者向发起者报告执行命令消息过程中所执行的操作命令及该操作命令的执行结果。
4.如权利要求1所述的通过操作控制消息实现实体间控制的方法,其特征在于,步骤1)中还包括将操作命令进行分组,使同一命令组中包含相互间具有执行逻辑的操作命令,命令组间的操作命令不具有执行逻辑。
5.如权利要求4所述的通过操作控制消息实现实体间控制的方法,其特征在于,步骤3)所述执行操作命令的过程具体为执行者并行执行不同命令组的操作命令,并且按照所述的执行逻辑执行组内操作命令。
6.如权利要求1所述的通过操作控制消息实现实体间控制的方法,其特征在于所述操作发起者为下一代网络系统中的媒体网关控制器,所述执行者为下一代网络系统中的媒体网关。
全文摘要
本发明涉及一种通过消息实现实体间控制的方法,该方法具体为发起者确定操作命令及所述操作命令的执行逻辑,所述执行逻辑在执行每一个操作步骤之后,根据所有可能的结果指定下一个操作;发起者向执行者发送包含所述操作命令和所述执行逻辑的命令消息;执行者按照命令消息中的执行逻辑执行所述的操作命令,实现特定功能。本发明可以有效地减少操作发起者和执行者之间的消息交互次数,避免多次消息交互带来的时间开销;进而,由于本方法减少了操作发起者在操作执行过程中对执行者的干预次数,从而降低了操作执行者的处理复杂度。
文档编号H04L29/06GK1835502SQ20051005549
公开日2006年9月20日 申请日期2005年3月18日 优先权日2005年3月18日
发明者陈宇 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1