CN1652541A - 实现协议栈支持多种产品形态的方法 - Google Patents
实现协议栈支持多种产品形态的方法 Download PDFInfo
- Publication number
- CN1652541A CN1652541A CN 200410004113 CN200410004113A CN1652541A CN 1652541 A CN1652541 A CN 1652541A CN 200410004113 CN200410004113 CN 200410004113 CN 200410004113 A CN200410004113 A CN 200410004113A CN 1652541 A CN1652541 A CN 1652541A
- Authority
- CN
- China
- Prior art keywords
- protocol stack
- user
- index sign
- message
- subfunction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种实现协议栈支持多种产品形态的方法,所述方法包括:设定协议栈的最大子功能形态用户数;建立与设定的协议栈的最大子功能形态用户数对应的用户属性控制表;建立上层用户与用户属性控制表的对应关系;协议栈根据建立的上层用户与用户属性控制表的对应关系完成消息的发送和接收。利用本发明,可以使协议栈同时支持多种产品的应用形态和同一产品形态下不同的子功能形态,从而实现多种用户属性的物理聚合和逻辑分离,提高产品的使用效率。通过在设备运行过程中动态增删和修改用户形态,方便用户的操作,同时可以最大限度地利用物理设备现有硬件资源,提高设备的组网能力及网络资源的利用率,节省成本。
Description
技术领域
本发明涉及网络通讯技术领域,具体涉及一种实现协议栈支持多种产品形态的方法。
背景技术
当前IP网络发展日渐成熟并不断扩大规模,基于分组网络的语音协议也得到了广泛的应用,比如H323协议在IP电话网关、视频会议上已有大规模应用。作为分组语音协议之一的H323协议,也由众多公司推出了自己的协议栈软件产品,比如RADVision、Trillium等。通常业界推出的H323协议栈产品在具体应用时只应用于一种产品形态,比如在网守设备上应用,或者只在网关设备上应用。但有时实际情况却有更高要求:一种情况是在同一台设备上同时支持多种产品形态,例如有的设备制造商为了节约硬件资源或者共享IP地址,在同一台设备上同时支持网守和网关两种形态,或者在同一台物理设备上同时支持网守和MCU(多点控制单元)产品形态。另一种情况是要求在同一台设备上支持同一产品形态但实现不同子功能或者不同的业务流程,例如某运营商拥有一台H323网关设备,上面能够提供1000路的呼叫容量,但可能即时在线用户不会达到这么多,这时它可以采用端口出租策略,例如将当前300路呼叫容量出租给其他运营商,剩下700路留为己用。但两个运营商之间可能采用不同的H323业务处理流程,例如A运营商要求对所有呼叫支持快启功能,B运营商要求支持H323定制的T.38传真流程。此时两个运营商的应用运行在同一台物理设备上,但对外需要体现为不同的逻辑形态,两个用户之间是彼此透明的。
目前业界推出的协议栈产品中有些可以通过一个协议栈运行进程而支持多种产品形态的,其框架如图1所示。但这些产品的应用却存在如下的缺点,它要求必须在系统启动时预先通过静态配置,将协议栈支持的多种用户类或者产品形态配置好,例如在系统启动时预先将该物理设备配置成为同时支持GK(网守)和MCU。这样通过静态配置支持多种产品形态的方法缺少灵活性,例如在线应用物理设备开始只配置了2种产品形态,并预留了一些资源,在运行过程中准备再启动第三种产品形态,现有技术中采用静态配置的方法无法实现。而且现有技术也不支持同一产品形态下不同子功能形态的实现。
发明内容
本发明的目的是克服现有技术的上述缺点,提供一种实现协议栈支持多种产品形态的方法,以使用户灵活、方便地定制协议栈支持的多种产品应用形态以及同一产品形态下不同子功能形态。
本发明的目的是通过以下技术方案实现的:
一种实现协议栈支持多种产品形态的方法,包括:
A、设定协议栈的最大子功能形态用户数;
B、建立与所述设定的协议栈的最大子功能形态用户数对应的用户属性控制表;
C、建立上层用户与所述用户属性控制表的对应关系;
D、所述协议栈根据所述建立的上层用户与用户属性控制表的对应关系完成消息的发送和接收。
所述方法还包括:
在所述协议栈运行过程中,增加或删除子功能形态用户;
根据实际的子功能形态用户数修改所述上层用户与用户属性控制表的对应关系。
每个所述子功能形态用户对应于一个子功能逻辑实体。
所述步骤B包括:设定所述用户属性控制表的协议栈索引标识。
所述步骤C包括:
C1、设定上层用户索引标识;
C2、启动所述协议栈的子功能逻辑实体;
C3、根据所述启动的协议栈的子功能逻辑实体建立所述上层用户索引标识与所述协议栈索引标识的对应关系。
所述步骤C3包括:
C31、上层用户将所述设定的上层用户索引标识传送给所述协议栈;
C32、所述协议栈将对应于所述子功能逻辑实体的用户属性控制表的协议栈索引标识传送给所述上层用户;
C33、建立上层用户索引标识与协议栈索引标识的对应关系。
所述步骤D包括:
D1、根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,进行用户消息和业务流程处理,完成消息的发送;
D2、根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,进行协议栈内部消息和业务流程处理,完成消息的接收。
所述步骤D1包括:
根据所述上层用户建立的上层用户索引标识与协议栈索引标识的对应关系,获取与所述上层用户对应的协议栈索引标识;
根据所述协议栈索引标识对应的用户属性控制表定制所述协议栈运行属性,完成消息的发送。
所述步骤D2包括:
设定用户分类匹配方法;
所述协议栈将收到的消息中与用户分类相关的信息传送给上层用户;
所述上层用户根据所述设定的用户分类匹配方法确定所述消息对应的上层用户索引标识;
所述协议栈根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,获取与所述消息对应的协议栈索引标识;
根据所述协议栈索引标识对应的用户属性控制表完成消息的接收。
所述用户属性控制表包括:用户类别、产品形态、子功能形态。
由以上本发明提供的技术方案可以看出,本发明使协议栈方便地应用于多种不同情况:同一物理设备上仅一种产品形态,内部不区分不同子功能形态;同一物理设备上多种产品形态,各产品形态内部不区分子功能形态;同一物理设备上一种产品形态,内部区分多种子功能形态;同一物理上多种产品形态,每种产品形态视具体需要内部可以再区分子功能形态。从而可以实现多种用户属性的物理聚合和逻辑分离。通过在设备运行过程中动态增删和修改用户形态,方便了用户的操作,同时可以最大限度地利用物理设备现有硬件资源,提高了设备的组网能力及网络资源的利用率,节省成本。
附图说明
图1是现有技术中协议栈应用于不同产品形态时的效果示意图;
图2是本发明中协议栈支持多种产品形态时的效果示意图;
图3是本发明实现协议栈支持多种产品形态的方法的流程图;
图4是本发明方法中上层用户调用协议栈应用程序接口流程;
图5是本发明方法中协议栈收到消息后的处理流程;
图6是协议栈和上层逻辑用户实体间互相确认的对应关系示意图。
具体实施方式
本发明的核心在于利用协议栈支持多种产品的子功能形态以及同一种产品形态的不同子功能形态,使上层用户实现逻辑分离、物理统一;而且在运行过程中通过动态配置而产生新的形态应用而不影响已有运行中的应用。本发明的实现效果如图2所示,H323协议栈上层用户彼此透明,而且对上层用户可以进行动态的增删和修改。
为了使本技术领域的人员更好地理解本发明,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图3,图3是本发明实现协议栈支持多种产品形态的方法的流程图,包括以下步骤:
步骤301:设定协议栈的最大子功能形态用户数,使每个子功能形态用户对应于一个子功能逻辑实体。其中,子功能形态包括:不同用户形态、不同产品形态以及同一产品的不同子应用形态。在具体应用中表现为:同一物理设备上仅一种产品形态,内部不区分不同子功能形态;同一物理设备上多种产品形态,各产品形态内部不区分子功能形态;同一物理设备上一种产品形态,内部区分多种子功能形态;同一物理上多种产品形态,每种产品形态视具体需要内部可以再区分子功能形态。
步骤302:建立与设定的协议栈的最大子功能形态用户数对应的用户属性控制表,用以存储上层不同用户或者产品形态或者子功能形态的用户属性参数。此表包括:用户类别、产品形态、子功能形态。
步骤303:设定用户属性控制表的协议栈索引标识,以区分不同的子功能逻辑实体。
步骤304:设定上层用户索引标识。因为协议栈对上层用户体现为不同的逻辑实体,因此需要上层用户彼此透明,某一用户需要知道同一应用协议栈上的其它用户,在本发明中用上层用户索引标识来区分不同的用户。
步骤305:启动协议栈的子功能逻辑实体。当上层某一用户需要应用该协议栈时,需要向协议栈发出指令,启动一个新的子功能逻辑实体。
步骤306:根据启动的协议栈的子功能逻辑实体建立上层用户索引标识与协议栈索引标识的对应关系。
为了标识上层不同的用户,上层用户在启动新的子功能逻辑实体时(可以是在系统初始时,也可以是在系统运行过程中),传递给协议栈一个自己的唯一标识;为了让上层用户在使用协议栈时能够索引到协议栈内部对应该用户的用户属性控制表,协议栈将对应于所述子功能逻辑实体的用户属性控制表的协议栈索引标识传送给上层用户,供用户以后使用;同时协议栈也记录下系统应用层设置下传的上层用户索引标识。据此即可建立上层用户索引标识与协议栈索引标识的对应关系,进而可以建立上层用户与所述用户属性控制表的对应关系。该对应关系可由系统应用层和协议栈分别维护,也可只由系统应用层维护,当协议栈需要查询该对应关系时,将查询信息上报给系统应用层,再由系统应用层将查询结果返回给协议栈。
步骤307:根据建立的上层用户索引标识与协议栈索引标识的对应关系,进行用户消息和业务流程处理,完成消息的发送。
协议栈作为消息的发起方应用时,由于上层用户在启动该用户形态时已经得到协议栈分配的对应子功能逻辑实体的协议栈索引标识,上层用户根据获取的该协议栈索引标识查找到对应的用户属性控制表,通过该用户属性控制表定制所述协议栈运行属性,填充该用户消息和业务交互流程所需的属性字段,例如对端IP地址、控制参数等,完成消息的发送。
步骤308:根据建立的上层用户索引标识与协议栈索引标识的对应关系,进行协议栈内部消息和业务流程处理,完成消息的接收。具体可通过以下步骤实现:
首先设定用户分类匹配方法;
当协议栈收到消息后将收到的消息中与用户分类相关的信息传送给上层用户;
上层用户根据所述设定的用户分类匹配方法确定此消息对应的上层用户索引标识;
然后,协议栈根据已建立的上层用户索引标识与协议栈索引标识的对应关系,获取与收到的消息对应的协议栈索引标识;
根据协议栈索引标识对应的用户属性控制表完成消息的接收。
当收到外界物理设备来的新消息时,因为消息路径是先经过协议栈再到达上层用户,因此此时协议栈并不知道该消息该发送给上层哪个用户。所以协议栈作为消息的接收方应用时,可通过增加一个用户分类策略层来查找到协议栈接收消息对应的上层用户。
通过用户分类策略层查找协议栈接收消息对应的上层用户时,由上层用户在该策略层预先设定自己的匹配方法,比如,可以根据收发消息的地址或端口来判断,或者根据收发消息中携带的某一个特征字段来判断。当协议栈收到一个消息时先将消息解析完毕,再将该消息中与用户分类相关的信息(例如,发送消息的IP地址、端口、厂商标识、消息特征字段以及解析后的消息等)传送给上层的用户分类策略层,策略层根据预先设定的用户分类匹配方法,确定此消息对应的上层用户索引标识;进而根据已建立的上层用户索引标识与协议栈索引标识的对应关系,查找到与此消息对应的协议栈索引标识。然后由策略层将对应此消息的上层用户索引标识和协议栈索引标识通知协议栈,协议栈根据该索引标识查找到对应的用户属性控制表,然后,进行相应的协议栈内部消息和业务流程处理,完成消息的接收。
下面通过举例对上述协议栈发送和接收消息的过程作进一步的说明。
参照图4所示的上层用户调用协议栈应用程序接口流程:
假设H323协议栈上层有两个用户,A用户为GW(网关)产品形态,供运营商A使用;B用户同样为GW产品形态,供运营商B使用。当用户A和B分别调用协议栈的应用程序接口(API)时,协议栈提供不同的协议栈索引标识HSTACK_A、HSTACK_B给A、B用户,协议栈索引标识HSTACK_A、HSTACK_B分别对应于用户A属性控制表和用户B属性控制表;同时协议栈为了索引上层用户,也需要上层用户提供自己的不同索引标识HSUBSCRIBER_A,HSUBSCRIBER_B给协议栈。这样就建立了用户索引标识HSUBSCRIBER_A与协议栈索引标识HSTACK_A的对应关系,以及用户索引标识HSUBSCRIBER_B与协议栈索引标识HSTACK_B的对应关系。这样,用户A即可根据协议栈索引标识HSTACK_A对应的用户A属性控制表来填充该用户消息和业务交互流程所需的属性字段,例如对端IP地址、控制参数等,完成用户A网关的消息发送功能。而用户B则根据协议栈索引标识HSTACK_B对应的用户B属性控制表来填充该用户消息和业务交互流程所需的属性字段,完成用户B网关的消息发送功能。
再参照图5所示的协议栈收到消息后的处理流程:
H323协议栈收到消息1后,将该消息中与用户分类相关的信息传送给上层的用户分类策略层,策略层根据预先设定的用户分类匹配方法,确定此消息对应的上层用户索引标识HSUBSCRIBER_A;进而根据已建立的上层用户索引标识与协议栈索引标识的对应关系,查找到与消息1对应的协议栈索引标识HSTACK_A。然后由策略层将对应消息1的上层用户索引标识HSUBSCRIBER_A和协议栈索引标识HSTACK_A通知协议栈,协议栈根据索引标识HSTACK_A查找到对应的用户A属性控制表,然后,通过用户A属性控制表进行相应的协议栈内部消息和业务流程处理,将消息1传送给用户A。同样,协议栈收到消息2后,通过与消息1类似的处理过程,将消息2传送给用户B。
上面分别描述了协议栈作为消息发起方和接收方对不同子功能形态区分对待的详细过程。在这些过程中,协议栈和上层逻辑用户实体间互相确认的对应关系如图6所示。
为了方便用户的使用,本发明方法还支持在系统运行过程中动态增删和修改用户类的特性。在上面图3的步骤301中提到:设定协议栈的最大子功能形态用户数,使每个子功能形态用户对应于一个子功能逻辑实体。其中,子功能形态包括:不同用户形态、不同产品形态以及同一产品的不同子应用形态。
在系统开始应用时,使用者可能不会用到这样多的子功能形态,当在运行过程中突然需要增加一个子功能用户形态时,只要调用相应的应用程序函数接口获得空闲的协议栈索引标识,建立该上层用户与用户属性控制表的对应关系,再依次将该用户属性配置进用户属性控制表中,就可以根据自己需要同前面已经运行起来的用户一起共同使用协议栈,协议栈对新老用户的作用完全没有分别,各用户之间也可以实现逻辑分离,彼此透明。运行效果见图2所示。
当在运行过程中需要删除一个子功能用户形态时,只要删除已建立的该上层用户与用户属性控制表的对应关系,当协议栈收到新的消息时,因找不到对应于该消息的上层用户,表明已断开与该上层用户的连接。
虽然在本发明的实施例中,以H323协议栈为例对本发明方法作了详细描述,本领域技术人员应该知道,本发明方法并不局限于H323协议栈,稍加变化,即可将该方法应用于其它协议栈。因此任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
应用本发明提供的实现协议栈支持多种产品形态的方法,可以在当前实时操作系统下只运行一个协议栈进程而同时支持多种产品逻辑形态,同时协议栈也对外体现为不同的逻辑协议栈形态。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (10)
1、一种实现协议栈支持多种产品形态的方法,其特征在于,所述方法包括:
A、设定协议栈的最大子功能形态用户数;
B、建立与所述设定的协议栈的最大子功能形态用户数对应的用户属性控制表;
C、建立上层用户与所述用户属性控制表的对应关系;
D、所述协议栈根据所述建立的上层用户与用户属性控制表的对应关系完成消息的发送和接收。
2、如权利要求1所述的实现协议栈支持多种产品形态的方法,其特征在于,所述方法还包括:
在所述协议栈运行过程中,增加或删除子功能形态用户;
根据实际的子功能形态用户数修改所述上层用户与用户属性控制表的对应关系。
3、如权利要求1或2所述的实现协议栈支持多种产品形态的方法,其特征在于,每个所述子功能形态用户对应于一个子功能逻辑实体。
4、如权利要求1所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤B包括:设定所述用户属性控制表的协议栈索引标识。
5、如权利要求4所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤C包括:
C1、设定上层用户索引标识;
C2、启动所述协议栈的子功能逻辑实体;
C3、根据所述启动的协议栈的子功能逻辑实体建立所述上层用户索引标识与所述协议栈索引标识的对应关系。
6、如权利要求5所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤C3包括:
C31、上层用户将所述设定的上层用户索引标识传送给所述协议栈;
C32、所述协议栈将对应于所述子功能逻辑实体的用户属性控制表的协议栈索引标识传送给所述上层用户;
C33、建立上层用户索引标识与协议栈索引标识的对应关系。
7、如权利要求5或6所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤D包括:
D1、根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,进行用户消息和业务流程处理,完成消息的发送;
D2、根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,进行协议栈内部消息和业务流程处理,完成消息的接收。
8、如权利要求7所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤D1包括:
根据所述上层用户建立的上层用户索引标识与协议栈索引标识的对应关系,获取与所述上层用户对应的协议栈索引标识;
根据所述协议栈索引标识对应的用户属性控制表定制所述协议栈运行属性,完成消息的发送。
9、如权利要求7所述的实现协议栈支持多种产品形态的方法,其特征在于,所述步骤D2包括:
设定用户分类匹配方法;
所述协议栈将收到的消息中与用户分类相关的信息传送给上层用户;
所述上层用户根据所述设定的用户分类匹配方法确定所述消息对应的上层用户索引标识;
所述协议栈根据所述建立的上层用户索引标识与协议栈索引标识的对应关系,获取与所述消息对应的协议栈索引标识;
根据所述协议栈索引标识对应的用户属性控制表完成消息的接收。
10、如权利要求1所述的实现协议栈支持多种产品形态的方法,其特征在于,所述用户属性控制表包括:用户类别、产品形态、子功能形态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100041135A CN100490444C (zh) | 2004-02-07 | 2004-02-07 | 实现协议栈支持多种产品形态的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100041135A CN100490444C (zh) | 2004-02-07 | 2004-02-07 | 实现协议栈支持多种产品形态的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1652541A true CN1652541A (zh) | 2005-08-10 |
CN100490444C CN100490444C (zh) | 2009-05-20 |
Family
ID=34867621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100041135A Expired - Fee Related CN100490444C (zh) | 2004-02-07 | 2004-02-07 | 实现协议栈支持多种产品形态的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100490444C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872303A (zh) * | 2010-06-03 | 2010-10-27 | 深圳天源迪科信息技术股份有限公司 | 处理Diameter协议消息的方法 |
-
2004
- 2004-02-07 CN CNB2004100041135A patent/CN100490444C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101872303A (zh) * | 2010-06-03 | 2010-10-27 | 深圳天源迪科信息技术股份有限公司 | 处理Diameter协议消息的方法 |
CN101872303B (zh) * | 2010-06-03 | 2013-06-12 | 深圳天源迪科信息技术股份有限公司 | 处理Diameter协议消息的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100490444C (zh) | 2009-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1188983C (zh) | 通过网管设备修改网络设备ip地址的方法 | |
CN1404288A (zh) | 完成手机号码与即时通信号码捆绑和手机状态显示的方法 | |
CN1518311A (zh) | 利用公共软件平台执行公共呼叫处理管理的方法和设备 | |
CN1874236A (zh) | 进行对应场境信息的应用控制的网络系统 | |
CN101080000A (zh) | 视频会议中显示发言人的方法、系统、服务器和终端 | |
CN1390011A (zh) | 具有多媒体能力的网络中的呼叫方配置文件表示业务 | |
CN1674586A (zh) | 通信控制装置及通信控制装置中的筛选方法 | |
CN1299520C (zh) | 一键通业务系统及其业务实现方法 | |
CN1897622A (zh) | 一种检测及释放媒体网关异常实时传输协议资源的方法 | |
CN1553668A (zh) | 一种虚拟媒体网关之间互通的方法 | |
CN1725689A (zh) | 电信网络呼叫中心系统及其实现方法 | |
CN1266885C (zh) | 一种基于软交换实现监听的方法 | |
CN1177438C (zh) | 基于远程登录互联网协议的网络设备中继管理的实现方法 | |
CN1745592A (zh) | 在终端中选择通信网络专用架构的系统和方法 | |
CN1855931A (zh) | 下一代网络中媒体网关上报事件处理方法 | |
CN1898941A (zh) | VoIP网关装置及VoIP网关装置中呼叫的主叫与被叫控制方法 | |
CN1599398A (zh) | 实现电话向计算机网络即时通信终端发信息的装置和方法 | |
CN1689309A (zh) | 电话设备、多媒体终端和服务器 | |
CN100338924C (zh) | Ip网络中控制设备和业务设备互通提供业务的方法 | |
CN1652541A (zh) | 实现协议栈支持多种产品形态的方法 | |
CN1725851A (zh) | 一种视频会议的控制系统及控制方法 | |
CN1917481A (zh) | 消息过滤方法及其装置 | |
CN1295926C (zh) | 一种视频会议系统 | |
CN1283081C (zh) | 一种通过虚拟媒体网关实现呼叫处理的方法 | |
CN1859424A (zh) | 媒体资源的控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090520 Termination date: 20170207 |
|
CF01 | Termination of patent right due to non-payment of annual fee |