(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 1848736 A
(43)申请公布日 2006.10.18
(21)申请号 CN200510038946.8
(22)申请日 2005.04.15
(71)申请人 中兴通讯股份有限公司
    地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦A座6层
(72)发明人 康玉东
(74)专利代理机构 北京律诚同业知识产权代理有限公司
    代理人 梁挥
(51)Int.CI
      H04L12/14
      G06F17/30
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
      一种通信系统中字符串定位方法
(57)摘要
      本发明公开了一种通信系统中字符串定位方法,其特征在于,包括如下步骤:预处理步骤,对系统中需查的模板字符串进行滑动跨度的预处理,求出滑动跨度;步骤二,配置滑动跨度,以设定方式将所述滑动跨度和模板字符串组成结构数组,并写入内存;及步骤三,查字符串,读取已配置的模板字符串和滑动跨度,在系统的被查的文本字符串中查所述模板字符串。本发明能充分利用系统资源,快速定位查字符串,节省了字符串查时间,提高了系统实时处理能力。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1、一种通信系统中字符串定位方法,其特征在于,包括如下步骤:
预处理步骤,对系统中需查的模板字符串进行滑动跨度的预处理,求出滑动跨度;
步骤二,配置滑动跨度,以设定方式将所述滑动跨度和模板字符串组成结构数组,并写入内存;及
步骤三,查字符串,读取已配置的模板字符串和滑动跨度,在系统的被查的文本字符串中查所述模板字符串。
2、根据权利要求1所述的通信系统字符串定位方法,其特征在于,所述预处理步骤又包括由
一中间数组统计所述模板字符串的步骤,用于计算所述滑动跨度。
3、根据权利要求2所述的通信系统字符串定位方法,其特征在于,所述中间数组为一整数数组,其元素个数比所述模板字符串的字符个数多一。
字符串长度怎么判断4、根据权利要求1所述的通信系统字符串定位方法,其特征在于,所述滑动跨度为一数组,且该数组的元素个数与所述模板字符串的字符个数相等;元素值为所述模板字符串中对应字符的滑动跨度值。
5、根据权利要求4所述的通信系统字符串定位方法,其特征在于,当所述模板字符串中的字符与被查的文本字符串不相匹配时,该字符的滑动跨度值为该字符在所述模板字符串中的下标索引。
6、根据权利要求4所述的通信系统字符串定位方法,其特征在于,还包括设定一字符跨度的步骤,该步骤又包括:对所述模板字符串中存在的任意字符,设定该字符的字符跨度为m-k;其中k为该字符在所述模板字符串中的位置,m为所述模板字符串的长度。
7、根据权利要求6所述的通信系统字符串定位方法,其特征在于,取所述字符跨度和滑动跨
度中较大者作为最优滑动跨度,用于查模板字符串。
8、根据权利要求1所述的通信系统字符串定位方法,其特征在于,还包括一字符串查的过程,包括:
步骤81,输入要查的模板字符串索引入参数减少;
步骤82,调用一模板字符串查模块查模板字符串;
步骤83,判断要查的模板字符串与被查的文本字符串是否匹配,若能够匹配,则执行步骤86,若不能够匹配,则执行步骤84;
步骤84,查静态配置的滑动跨度;
步骤85,根据滑动跨度判断向后滑动的字符数,然后执行步骤83;及
步骤86,命中,返回命中位置。
说  明  书
技术领域
本发明涉及一种在通信系统中字符串查或定位的方法,特别是涉及内容计费系统中或通信领域实时系统中的字符串快速定位问题。
背景技术
随着移动互联网的开展与成熟化,通过无线媒体传送的业务正朝着多样化发展。在3G系统到来后,这一现象将会更白热化。传统的基于时长或数据流量的计费方法已不足够解决移动互联网的计费需要。新一代的移动互联网计费解决方案将要求网络系统对于用户在移动系统上收发的应用业务作出区分和记录,也就是按照内容进行计费。
内容计费主要是通过对移动用户的上下行数据进行深层的数据包过滤和分析。运营商可以通过在网元上为APN配置不同的包过滤/分析规则。网元会根据这些规则,对用户数据包进行:
第三层过滤:源/目的地IP地址;
第四层过滤:端口号;
第七层过滤:URL通过第三层至七层的包过滤和分析,网元可以识别区分用户上下行数据传送的内容。网元区分用户数据包内容后,把属于相关内容的包流量标记在网元话单中。运营商的计费系统可以通过这些内容计费信息,对用户在移动网的数据使用量作出更灵活的计费处理。
在内容计费中,报文过滤的难点之一是对第七层URL的分析,要想提高分析效率可以采用底层机器语言提高分析的效率,但是底层如何对这些字符串进行处理呢?
如图1所示为BM方法原理图,该方法采用从右向左进行字符逐个比较,本发明称所要查的字符串为字符模板P,被查的字符串为文本字符T。那么逐个比较时,当模板字符P和文本字符T不匹配的时候就向后滑动。滑动的跨度由不匹配字符所对应的滑动跨度决定。而这个滑动跨度是由字符本身决定的,在进行滑动方法时事先运算得到的。也就是说,BM方法在进行查的时候,是将方法分为两部分,第一部分对特定查字符进行分析,求出每一个字符对应的滑动跨度;第二步,按照滑动原理进行滑动匹配。
现有方法主要有以下弊端:方法本身不适合查模板具有可知性的实时系统,实时系统更侧重于系统处理的快慢,如果系统查的模板字符已经很明了,就可以将方法进行改进,提高
方法的实时处理能力。
发明内容
本发明所要解决的技术问题在于提供一种通信系统中字符串定位方法,用于解决现有技术中系统资源利用率低,字符串定位查速度慢、系统实时处理能力有限等问题。
为了实现上述目的,本发明提供了一种通信系统中字符串定位方法,其特征在于,包括如下步骤:
预处理步骤,对系统中需查的模板字符串进行滑动跨度的预处理,求出滑动跨度;
步骤二,配置滑动跨度,以设定方式将所述滑动跨度和模板字符串组成结构数组,并写入内存;及

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。