一种接入网关设备的收号方法

文档序号:6574488阅读:233来源:国知局
专利名称:一种接入网关设备的收号方法
技术领域
本发明涉及一种收号的方法,特别涉及一种接入网关设备的收号方法。
背景技术
收号的过程就是号码匹配的过程,是VoIP(Voice Over IP)技术中非常重要的一个环节。在传统的窄带交换网络中,收号是由窄带交换机完成的。在传统窄带网络向下一代网络(NGN)过渡后,软交换不再负责收号,改为由接入网关来完成收号动作。NGN是基于分组的网络,能够提供电信业务;利用多种宽带能力和QoS保证的传送技术;其业务相关功能与其传送技术相独立。NGN使用户可以自由接入到不同的业务提供商;NGN支持通用移动性。
软交换与网关设备通过H248/MGCP协议通讯,软交换为了控制网关收号会给网关下发号码匹配(Digit Matching,以下简称DM)表,再由网关根据DM表来收号。
传统的收号过程是这样的DM表以数组形式储存,假如用户新拨一个号码,用户每拨一个数字,系统就把用户已拨的全部号码(比如1370)作为一个完整的输入,去逐个匹配所有的二级DM表,每次匹配的结果都保存下来,直到所有二级DM都匹配一遍后,再从全部匹配结果里找出匹配度最高的匹配结果上报,这种收号方法虽然算法简单,但是匹配效率非常低。尤其随着NGN网络的扩大,网关设备容量的不断增加,号码匹配表变得更加复杂和冗长(甚至出现了4K长度的号码匹配表),传统的号码存储和匹配方法效率太低。
名词解释,以号码匹配表(114|168|588[2-5]xxx|FxxEx.F)为例
DM号码匹配表,详细信息可查阅H.248/MGCP协议。
一级DM指一个完整的号码匹配表(DM),如(114|168|588[2-5]xxx|FxxEx.F);二级DM指在一级DM里由竖线分割的每一个子匹配表,如′FxxEx.F′;常量二级DM指全部由常量组成的二级DM,如’114’;非常量二级DM非常量二级DM是指包含′.″x″[]′适配符的二级DM,如’588xxxx”;三级DM指二级DM里的每一位,如′x′/′1′/′.′/′[2-5]′;UM完全匹配不需要继续收号;FM完全匹配但可以继续收号;PM部分匹配,即只匹配前面部分;NULL不匹配;发明内容针对现有技术中存在的缺陷和不足,本发明的目的是提出一种接入网关设备的收号方法,能够提高接入网关设备的收号效率。
为了达到上述目的,本发明提出一种接入网关设备的收号方法,包括步骤1、将号码匹配表中的常量二级DM和非常量二级DM分别采用多叉树形式存储,以形成一常量多叉树和一非常量多叉树;步骤2、用户拨号时每拨一位号码,则将该号码在上述常量多叉树和非常量多叉树中进行匹配;步骤3、如果匹配结果为无匹配数据或完全匹配且不需要继续收号时,上报匹配结果,步骤结束;如果匹配结果为部分匹配或完全匹配且需要继续收号时,保存匹配结果,返回步骤2。
其中,上述步骤1具体为步骤11、将号码匹配表中的所有一级DM沿中间的竖线分割为多个二级DM;
步骤12、将所有的常量二级DM存储为一常量多叉树;步骤13、将所有的非常量二级DM存储为一非常量多叉树。
其中,上述步骤12中,当一个常量二级DM包含另一个常量二级DM的全部数字时,则被包含的常量二级DM不单独存储。
其中,上述步骤13中,预定义三级DM优先级,将优先级高的三级DM存储在非常量多叉树的左侧。
其中,步骤2具体为步骤21、在常量多叉树中,对用户输入的号码进行匹配,如果有匹配的节点则进入步骤3,否则进入步骤22;步骤22、遍历非常量多叉树,对用户输入的号码进行匹配,如果有匹配的则进入步骤3,否则上报匹配结果,步骤结束。
其中,上述步骤21具体为将用户输入的号码,使用哈希表搜索常量多叉树,如果有匹配的节点则进入步骤3,否则进入步骤22。
其中,上述步骤22具体为使用左序遍历方法,遍历非常量多叉树,对该非常量多叉树的每一节点内的掩码与当前用户输入的一位号码进行与操作,如果与操作结果为0则继续遍历,如果与操作结果为非0则进入步骤3。
本发明提出了一种接入网关设备的收号方法。对现有技术中DM表都采用数组形式存储,导致现有的收号方法中用户每输入一个号码,都要将用户已输入的所有号码作为输入在DM表中进行遍历,这种收号方法非常低效。本发明提出了一种接入网关设备的收号方法,将DM表采用多叉树形式存储,即将常量DM存储为一常量多叉树,将非常量DM存储为一非常量多叉树。当用户每输入一位号码,就将该号码在多叉树中进行匹配,并将匹配结果保存,当用户再输入一位号码时,直接将该位号码在上次保存结果中继续进行匹配,极大的提高了收号的效率。
下面结合附图,对本发明的具体实施方式
作进一步的详细说明。对于所属技术领域的技术人员而言,从对本发明的详细说明中,本发明的上述和其他目的、特征和优点将显而易见。


图1为本发明优选实施例中常量多叉树的结构示意图;图2为本发明优选实施例中非常量多叉树的结构示意图;图3为本发明优选实施例流程图。
具体实施例方式
下面结合附图对本发明做进一步说明。
本发明优选实施例流程如图3所示,包括A、将号码匹配表以多叉树形形式存储,即将号码匹配表中的所有一级DM沿中间的竖线分割为多个二级DM,并将这些二级DM分为常量二级DM和非常量二级DM,将所有的常量二级DM存储为一常量多叉树,其结构如图1所示;将所有的非常量二级DM存储为一非常量多叉树,其结构如图2所示。在建立非常量多叉树时,每次分叉都要考虑不同分支的优先级,根据分叉处三级DM的不同优先级来区别不同分支的优先级。以高优先级三级DM开头的分支是高优先级分支,放在左分支,以低优先级三级DM开头的分支是低优先级分支,放在右分支。预定义的三级DM优先级为常量三级DM>指定范围区间的三级DM>’x’对应的三级DM>’.’对应的三级DMB、用户输入一位号码时,首先将搜索常量多叉树,再搜索非常量多叉树。
C、如果当前匹配结果是UM/NULL,不需要保存匹配现场,因为收号过程已经结束;如果匹配结果是FM/PM,则需要保存当前匹配现场,因为需要等待后续位,返回步骤2,等待用户输入下一位号码。
当用户断点保存时应该保存最先匹配为FM/UM的那个树的节点信息,而不是最后一次匹配为FM/UM的节点。
由于用户拨号的动作是有时间间隔的,导致不可能等待用户拨完全部号码再匹配,而需要每拨一位都需要进行匹配操作一次。在当前匹配结束后应该保存现场,这样后续匹配可以在上次匹配的基础上继续。也就是说遍历树的操作应该是连续的,而不是每次都从根节点开始。因为非常量号码分析子的相互包含关系,我们的匹配是基于树的遍历的,所以断点保存就是保存树上某个节点的位置,这样下一位号码的匹配就可以在这个节点基础上进行。
其中,在步骤A中,如果当一个常量二级DM包含另一个常量二级DM的全部数字时,则被包含的常量二级DM不单独存储。比如[114|1145678],其中‘114’这个被包含的二级DM没有必要单独存储,只需要在存储′1145678′这个二级DM时将′4′对应的三级DM的匹配结果设置为FM,这样可以节省存储空间。
其中,上述的步骤B可以具体为步骤B1、对于常量多叉树可以采用哈希(HASH)表进行查找,用户每拨一个号码,只需进行一次HASH查找,如果查找结果为UM或FM,立即上报查找结果,进入步骤C;如果查找结果为PM或者NULL,则需要继续非常量多叉树,进入步骤A2;步骤B2、采用左序遍历方法,遍历非常量多叉树的每一节点,并用节点内的掩码与当前号码进行“与”操作,如果“与”操作的结果为0则表示不匹配,匹配结果为PM/NULL,需要继续遍历;如果结果非0则表示匹配,匹配结果为UM/FM,可以立即上报并进入步骤C。
其中,步骤B1中的HASH表可以以“二级DM在一级DM里的INDEX值+三级DM在二级DM里的INDEX值+当前拨的号码”作为输入来查找。
本发明采用了多叉树形式存储号码匹配表,用户每拨一位号码就进行一次匹配,并且将匹配结果保存,用户再拨一位时,则只需从上一次保存的结果处继续进行匹配,而不需要将用户每一次的输入都作为完整数组进行查找,极大的提高了收号的效率。
同时,由于预先定义了优先级,可以提高号码匹配的效率。
当然,本发明还可有其他实施例,在不背离本发明精神及其实质的情况下,所属技术领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
权利要求
1.一种接入网关设备的收号方法,包括步骤1、将号码匹配表中的常量二级DM和非常量二级DM分别采用多叉树形式存储,以形成一常量多叉树和一非常量多叉树;步骤2、用户拨号时每拨一位号码,则将该号码在上述常量多叉树和非常量多叉树中进行匹配;步骤3、如果匹配结果为无匹配数据或完全匹配且不需要继续收号时,上报匹配结果,步骤结束;如果匹配结果为部分匹配或完全匹配且需要继续收号时,保存匹配结果,返回步骤2。
2.根据权利要求1所述的一种接入网关设备的收号方法,其特征在于,上述步骤1具体为步骤11、将号码匹配表中的所有一级DM沿中间的竖线分割为多个二级DM;步骤12、将所有的常量二级DM存储为一常量多叉树;步骤13、将所有的非常量二级DM存储为一非常量多义树。
3.根据权利要求2所述的一种接入网关设备的收号方法,其特征在于,上述步骤12中,当一个常量二级DM包含另一个常量二级DM的全部数字时,则被包含的常量二级DM不单独存储。
4.根据权利要求2或3所述的一种接入网关设备的收号方法,其特征在于,上述步骤13中,预定义三级DM优先级,将优先级高的三级DM存储在非常量多叉树的左侧。
5.根据权利要求1所述的一种接入网关设备的收号方法,其特征在于,上述步骤2具体为步骤21、在常量多叉树中,对用户输入的号码进行匹配,如果有匹配的节点则进入步骤3,否则进入步骤22;步骤22、遍历非常量多叉树,对用户输入的号码进行匹配,如果有匹配的则进入步骤3,否则上报匹配结果,步骤结束。
6.根据权利要求5所述的一种接入网关设备的收号方法,其特征在于,上述步骤21具体为将用户输入的号码,使用哈希表搜索常量多叉树,如果有匹配的节点则进入步骤3,否则进入步骤22。
7.根据权利要求5或6所述的一种接入网关设备的收号方法,其特征在于,上述步骤22具体为使用左序遍历方法,遍历非常量多叉树,对该非常量多叉树的每一节点内的掩码与当前用户输入的一位号码进行与操作,如果与操作结果为0则继续遍历,如果与操作结果为非0则进入步骤3。
全文摘要
本发明提出一种接入网关设备的收号方法,针对现有技术中收号效率过低的问题而发明,包括1.将号码匹配表中的常量和非常量分别采用多叉树形式存储;2.用户拨号时每拨一位号码,则将该号码在上述常量多叉树和非常量多叉树中进行匹配;3.如果匹配结果为无匹配数据或完全匹配且不需要继续收号时,上报匹配结果,步骤结束;如果匹配结果为部分匹配或完全匹配且需要继续收号时,保存匹配结果,返回步骤2。本发明通过采用树形存储和断点保存,能够极大提高收号的效率。
文档编号G06F17/30GK101039287SQ20071008678
公开日2007年9月19日 申请日期2007年3月15日 优先权日2007年3月15日
发明者孙小伟, 梅森, 王俊刚 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1