专利名称:一种rnc异常呼叫信令自动缓存跟踪方法
技术领域:
本发明涉及一种在3G无线接入网(UTRAN)的无线网络控制器(RNC)上自动保存 和上报异常呼叫信令的方法。本发明可以应用于RNC和无线网络侧设备,但其适用范围不 仅限于通信领域。该方法可以被应用在所有需要数据跟踪的设备。
背景技术:
RNC是UMTS网络中接入网部分的一个重要实体。它是无线侧协议栈最丰富的设备 实体。因此对RNC的信令跟踪,能够得到最全面的数据,而且能够定位基站、核心网和用户 终端等设备的接口问题。 传统的跟踪方法一般使用商用的信令跟踪仪器,或者使用设备厂商自带的信令跟 踪工具启动跟踪任务。商用的信令跟踪仪器一般价格昂贵,主要用于运营商入网资格测试 的第三方测试仪器,为每套设备配备一套信令仪显然不现实,因此此种方法很少用于研发 和维护。设备厂商自带的信令跟踪工具,对运营商一般只提供接口信令跟踪。这种方法需 要开启跟踪任务,然后实时查看跟踪数据。在没有启动跟踪任务之前的数据则无法查看,这 种方法一般适用于实验室环境,但是对于商用设备来说,实用性不高。 而且,无论是信令仪还是跟踪工具,都有一个无法避免的局限性。其跟踪的数据无 法自动甄别出正常和异常的数据,只能通过技术人员的经验来筛选数据,效率极低。如果用 于商用局,每天产生的大量数据,想从中筛选出异常的数据,更是犹如大海捞针。
发明内容
本发明设计了一种RNC异常呼叫信令自动缓存跟踪方法,本发明能够自动缓存呼
叫的信令和设备内部的私有消息,筛选出异常呼叫的数据。
技术方案步骤如下 1)、当UE接入时,将UE的信令数据分片保存在RNC的信令处理板上;
2)、根据UE是否发生异常,筛选异常呼叫数据,并上报异常呼叫的数据;
此外,该方案还可以包括以下步骤
3)、将上报异常呼叫的数据存储,进行离线分析。 此外,步骤1)中将UE的信令数据分片保存具体操作为,将一个UE的信令数据保 存在一个缓存分片中,并为每个缓存分片建立一个Hash索引。 此外,步骤l)中缓存分片还可以继续分成3段,第1段用于存放UE接入阶段的信 令数据,第2段用于存放UE释放阶段的数据,最后1段用于存放UE中间过程中周期上报的 信令数据 此外,所述3段内存分别采用线形队列、循环队列、循环队列来实现。
此外,所述循环队列为变长循环队列。 此外,步骤2)中的上报异常呼叫的数据是根据信令的完整性将数据打包上报。
此外,对于发生跨小区切换的UE, UE在其中任何一个单板异常后,主处理板先上报本板数据,然后通知各个从处理板上报数据。 采用本发明提出的技术方案,能够自动缓存呼叫的信令和设备内部的私有消息,筛选出异常呼叫的数据,并将数据保存下来。跟踪下来的数据有益于定位呼叫失败的原因,发现潜在问题,提高UTRAN的呼叫成功率。保存下来的信令和数据,不仅对于RNC很有价值,甚至对于基站和终端也有着重大的参考意义
图1示出了异常呼叫跟踪的整理流程; 图2示出了数据缓存的划分方法; 图3示出了数据的自动缓存流程; 图4示出了变长数据的循环队列的使用方法; 图5示出了跨板操作的方法;
具体实施例方式
数据自动缓存重点在于数据缓存的维护。当UE接入时,在RNC设备中为UE划分一块数据缓存。当RNC内的UE实例发生相关信令交互时,将标准信令和私有消息保存在数据缓存中。该部分的道理十分简单,但是实现起来难度巨大。 一个RNC中可以同时在线的UE数目巨大,而且UE接入时延是设备的重要指标。当大量UE发生大量信令交互时,分配内存并缓存数据,如何充分利用有限的内存空间,如何使用最快的速度寻址并缓存数据,是此部分重点考虑的内容。 首先,在RNC的每块信令处理板上开辟一大块内存作为数据缓存。然后,在每块信令处理板上按照其处理能力的最大容量,把数据缓存分片,一个UE的数据全部保存的一个缓存分片中。这里为了加快数据寻址,通过UE的标识,为每个内存分片建立一个Hash索引。由于UE进行不同的业务流程产生的信令容量也不相同,但主要包括接入流程、中间过程和释放流程,其中接入和释放对于定位问题最为重要。因此,对每个UE的内存分片继续分段,将其划分为3段。第一段用于存放接入阶段的信令数据,第二段用于存放释放阶段的数据,最后一段用于存放中间过程中周期上报的信令数据,如周期性测量报告等。其中第一段是一个线性队列,从UE接入后就开始记录,因此可以记录下接入阶段的数据;第二段是一个循环队列,当第一段缓存满后,开始记录第二段,由于其循环队列的特性,能够记录释放前一定数据的数据;第三段也是一个循环队列,记录释放前的一些周期性数据,辅助问题定位。这样3段内存构成了一个"线-环-环"结构。 为了加快内存操作速度,使用静态内存实现循环队列。 一般的方法是使用数组实现循环队列,但是由于每条信令长度不一,从几十个字节到最大4K不等,如果每条信令都使用4K定长来保存,显然对本已有限的内存造成了巨大的浪费。另外,考虑到RNC信令的处理速度要求,不能使用压縮处理,因此设计了一种变长数据的循环队列。这样对信令数据缓存,无论从时间还是空间上,都进行了最大限度的利用。 由于数据缓存按照不同的UE进行了分片,一旦UE发生了异常,就会在相应的内存分片上设置标志位,从而筛选异常呼叫。对于筛选出来的异常呼叫,数据会被立即上报。由于信令数据都是长度不等的小包数据,上报时将信令数据组成4K大小的数据包进行上报。考虑到UE实例处理的速度要求,另外跟踪功能作为操作维护功能不可以影响正常的业务功能,上报数据没有进行Qos处理,即没有传输应答。如果简单的将数据按4K分包,那么一旦中间丢掉一包,整个数据就无法解析而丢弃,造成极大浪费。因此组包时,不能简单的按4K分包,而是按照信令的完整性来将数据打包,即将多条信令组成一包。
另外,有些版本的设备会有跨板操作,即一个UE发生跨小区切换后,UE的实例数据会分布在不同的单板上。对于这样的实例,一般有主从数据处理板之分。UE在其中任何一个单板异常后,主处理板先上报本板数据,然后通知各个从处理板上报数据,这样能够得到异常UE的完整数据。 数据上报到主控板,或者日志服务器后,将数据存储在本地硬盘上。如果是主控
板,以文件格式存储在硬盘;如果是日志服务器,可以存储在数据库中。离线分析时,将上报
数据按照时间排列,根据UE全局标识进行筛选,同时可以将所有的记录跟踪错误类型和原
因等进行一些统计功能。下面结合附图来进行说明。 异常的总体流程如图1所示 Nl. 0010UE实例将信令数据分片保存。 Nl. 0020根据UE是否发生异常,筛选异常呼叫数据,并上报异常呼叫的数据。
Nl. 0030对数据进行汇总,用于离线分析。 那面将就每个步骤一一进行详解。在Nl. 0010中,UE数据分片保存,其内存的使用方式,如图2所示 N2. 0010将数据缓存按照UE的最大个数分片。 N2. 0020为了加快分片的索引,使用UE的全局GID建立Hash索引。对于没有全局GID的设备,可以使用UE的其他标识。这里,UE的标识ID必须保证一段时间不重复,否则离线浏览时不易区分不同UE的数据。 N2. 0030对于每个UE的内存分片,划分成"线_环_环"3段,分别对应于存储接入流程、释放流程和周期性信令。 具体内存的操作方法,即数据的自动缓存流程,如图3所示
N3. 0010捕获UE信令数据。 N3. 0020根据UE的全局ID,使用Hash方式,获取缓存分片的索引,将信令存储在指定分片中。 N3.0030存储时,判断信令是否为周期性信令,如果是周期性信令则执行N2. 0070,否则执行N2. 0040。 N3. 0040对于普通信令,判断第一段接入流程的线性队列是否已满,如果未满,则执行N2. 0050,否则执行N2. 0060。 N3. 0050将信令存储在接入流程的线性队列中。
N3. 0060将信令存储在释放流程的循环队列中。
N3. 0070将信令存储在周期性信令的循环队列中。 信令存储的循环队列采用静态内存,为了提高使用效率,设计了变长元素的循环队列。其使用方法如图4所示 N4. 0010队列内存空间需要4字节对齐,对于多出的冗余部分不予使用,即最多浪费3字节空间。队列中元素以4字节补齐,且元素以L-V结构存储,其中L占用4字节,V即
5元素的真正内容,以4字节补齐。 N4. 0020当发生循环时,L后面不一定是V的内容,而是需要根据缓存的连续剩余空间做判断,有可能L后面就是V的内容,也可能连续的直线空间不足,V存储在缓存的起始位置。为了保证循环队列的操作速度最快,这里所有元素必须存储在连续空间中。
在Nl. 0020中,当UE发生异常后,在UE的数据上设置异常标志,并上报异常的UE数据。上报数据时,将缓存数据中多条信令组包发送。但是当UE发生跨小区切换,且小区且好分布在不同的信令处理板上,则UE的缓存数据会分布在不同的处理板上。因此,需要进行跨板处理,如图5所示 N5. 0010UE的数据会分布在不同的处理板上,如果某板发生异常,则将异常汇总到主处理板上。这个步骤UE实例一般会自己实现。 N5.0020当主处理板知道UE发生异常后,触发自身上报异常数据,同时通知从处理板上报数据。 在Nl. 0030中,对不同处理板的数据进行汇总。对于同一个UE分布在不同处理板的数据,这样也能够进行汇总。汇总后的数据,可以通过UE的全局ID串联起来,形成完成的呼叫记录,用于离线分析定位问题。
权利要求
一种RNC异常呼叫信令自动缓存跟踪方法,其特征在于,包含如下处理步骤1)、当UE接入时,将UE的信令数据分片保存在RNC的信令处理板上;2)、根据UE是否发生异常,筛选异常呼叫数据,并上报异常呼叫的数据。
2. 如权利要求1所述的方法,其特征在于还包括以下步骤, 3) 、将上报异常呼叫的数据存储,进行离线分析。
3. 如权利要求1或2所述的方法,其特征在于步骤1)中将UE的信令数据分片保存具体操作为,将一个UE的信令数据保存在一个缓存分片中,并为每个缓存分片建立一个Hash索引。
4. 如权利要求3所述的方法,其特征在于把步骤1)中缓存分片继续分成3段,第1段用于存放UE接入阶段的信令数据,第2段用于存放UE释放阶段的数据,最后1段用于存放UE中间过程中周期上报的信令数据。
5. 如权利要求4所述的方法,其特征在于所述3段内存分别采用线形队列、循环队列、循环队列来实现。
6 如权利要求5所述的方法,其特征在于所述循环队列为变长循环队列。
7. 如权利要求6所述的方法,其特征在于步骤2)中的上报异常呼叫的数据是根据信令的完整性将数据打包上报。
8. 如权利要求7所述的方法,其特征在于对于发生跨小区切换的UE, UE在其中任何一个单板异常后,主处理板先上报本板数据,然后通知各个从处理板上报数据。
全文摘要
本发明公开了一种RNC异常呼叫信令自动缓存跟踪方法,包括1)当UE接入时,将UE的信令数据分片保存在RNC的信令处理板上;2)根据UE是否发生异常,筛选异常呼叫数据,并上报异常呼叫的数据;采用本发明提出的技术方案,能够自动缓存呼叫的信令和设备内部的私有消息,筛选出异常呼叫的数据,并将数据保存下来。跟踪下来的数据有益于定位呼叫失败的原因,发现潜在问题,提高UTRAN的呼叫成功率。保存下来的信令和数据,不仅对于RNC很有价值,甚至对于基站和终端也有着重大的参考意义。
文档编号H04W28/12GK101765093SQ20081019058
公开日2010年6月30日 申请日期2008年12月23日 优先权日2008年12月23日
发明者张洋 申请人:中兴通讯股份有限公司