一种前台网元上报数据的接收方法

文档序号:7599584阅读:185来源:国知局
专利名称:一种前台网元上报数据的接收方法
技术领域
本发明涉及一种前台网元上报数据的接收方法,尤其涉及电信网管系统中后台接收前台网元上报数据的方法。
背景技术
性能管理是电信网管系统中一个重要的功能,主要功能是收集前台网元上报的性能对象数据,用于维护人员掌握系统的运行状态,分析,改善系统的运行性能。而快速接收网元上报的数据,高效处理数据的冗余,缺漏一直是性能管理的瓶颈之一。随着通信技术的发展,前台的网元设备越来越多,需要上报的性能对象也越来越多,对后台性能数据的接收压力也越来越大。一方面,可以通过提高机器的处理档次来解决这个矛盾,但机器的性能不能无限的提高,并且性能的提高也意味着成本的增加,不利于软件的推广;另一方面,应该考虑采用一种更高效的处理方法,来快速高效的接收、处理数据。
以CDMA技术为例,目前一个基站控制器(BSC)满配置时可接入1800个基站收发信机(BTS),假设每一个BTS有三个数据上报点,再加上BSC侧的数据上报点,对后台而言,在一个数据收集点内(业内一般多为30分钟),同时要处理5000多个节点的数据上报。传统的数据处理办法有两种一种是直接构造静态数组,在系统启动时按最大数量为所有上报点分配好内存。这种方法的优点是数据处理快,但内存消耗大,灵活性不够,比如说由于事先无法确定每一个BTS有多少个数据上报点,只能固定写死一个值,造成实际应用中内存的浪费。另一种数据处理方法是采用链表,使用链表来缓存接收到的每一个节点的数据,当收到一个新的数据包时,需遍历一遍链表,找到新包在链表上的节点位置,然后判断新包同节点上数据的关系,来决定新包是替换原节点的数据还是合入到原节点的数据中,当节点不存在时,只须在链表尾部添加一个新节点。这种方式最大的优点就是灵活,内存利用率高,但是每次操作数据时需遍历链表,随着节点的增多,包数据量的增大,其处理性能会呈几何级数下降。在早期的1X基站系统(BSS)中,由于BTS数目较少,每个BTS数据上报点也比较固定,所以后台网管软件均采用数组的方式来处理网元上报的数据。但对于未来的3G系统,每一个BSC可接入的BTS数目都是很庞大的,BTS数量的增加以及配置的灵活性导致无法使用数组来处理网元上报的数据。如果用链表来缓存数据、需要处理数据时遍历链表,对于性能管理这种需要处理多节点,大数据量的应用也不适合,因为链表处理效率的低下直接可导致性能管理后台在一个数据采集周期内无法完成数据的收集和入库工作。

发明内容
本发明提出了一种高效的前台网元上报数据接收方法,充分融合了数组和链表优点,很好的处理了数据缓存与数据处理之间的关系。
本发明所述的方法,包括以下处理过程第一步,把前台需要上报数据的节点分成多个不同的类,每一类节点上报的数据使用一个链表存储该类节点所有的上报数据;第二步,按节点分类的数目分配静态内存空间,分配后的静态空间用来存储各节点类别对应链表的头节点;第三步,当一个节点上报数据时,根据该节点的类别查找静态内存空间确定出对应链表的头节点,遍历对应链表将上报数据存储到对应链表中,完成上报数据的接收。
当查找静态内存空间发现对应链表的头节点信息为空时,动态申请一段内存空间保存数据,并把它作为头节点存储在查询到的静态内存空间中。
当遍历对应链表时,链表中存在与该上报数据节点相同的节点,判断上报数据与链表中相同节点上数据的关系,来决定上报数据是替换原节点的数据还是合并到相同节点的数据中。
当遍历对应链表时,链表中不存在与该上报数据节点相同的节点,在链表尾部添加一个新的节点并存储上报数据。
对于移动通讯系统,所述第一步中将上报数据的节点分成多个不同的类可采用以下方式将节点对应的BTS的系统号除以节点分类数目X的余数作为节点的类型编号,余数相同的节点属于同一类节点。
节点分类数目X取100。
采用本发明的前台网元上报数据接收方法,可以保证数据安全的前提下,高效地接收和处理数据,同时也大大提高了电信网管系统性能管理部分的性能。


图1是采用本发明方法节点上报数据的存储示意图;图2是采用本发明方法优选实施例中处理上报数据的流程图。
具体实施例方式
如图1所示,本发明是将前台需要上报数据的节点按一定的规律分类,同类节点上报的数据仍然采用链表的形式存储。在分配静态内存空间时,只需要按分类数目来分配空间,这些分配好的空间,只用来存储链表头节点,每个链表的大小仅为原来链表大小除以分类数目。当一个节点上报数据时,用一个简单的计算方法,将同数据上报点一一对应的关键字转换为事先分类好的类型,也就是找到该类节点链表的头节点,这样就可以搜索这个缩小了的链表,达到提高链表搜索速度的目的。
估算一下采用新方法比采用链表在处理速度上会提高多少。假设前台有M个节点需上报数据,每次上报的数据需拆成P个数据包,后台根据前台节点的规律,将前台节点分成N种类型,链表每一个节点搜索时间为t。
采用链表方式存储数据,完成所有节点数据上报总耗时,T1=(1+M)×M/2×P×t采用新方法存储数据,完成节点数据上报总耗时,T2=N×(1+M/N)×M/N/2×P×t采用新方法的总耗时约为原来的N分之一,T2/T1=(N+M)/(N×(1+M))≈1/N(M>>N)从上面的计算可以看出,优化后的数据存储方法的处理效率提高到原来的N分之一。但这只是一种理论上的计算,在实际应用中不可能达到这么好的效果。而且从计算结果看看,分类数越大处理数度越快,事实上当分类数等于数据上报的节点数时,就是用静态数组来存放数据了,它的处理速度是最快的。
影响本发明效率的关键因素有两个,一个是要选取合适的分类数目;另一个就是要使用合适的分类方法。分类方法首先要保证,与数据上报点相关联的关键字经过分类方法的处理后,能唯一对应一种分类类型,这种处理必须是高效的。分类类型要保证在绝大多数实际应用情况下,每一种分类所包含的数据上报节点数目大致相同,这样数据处理效率才能尽可能优化。这种想法有些类似负荷分担,在最坏的情况下,分类数和分类方法使得所有上报数据的节点都落在一个分类中,那它的处理效率就等同于链表。
目前市场上比较常见的商用局配置,大多数BSS系统所带的BTS数在100左右,或达到100的倍数,结合一些经验,初步可将分类数目定为100,编号从0-99。每一个BTS最多可有3-4个上报点,但实际应用中大部分BTS仅配置了一个数据上报点,这样的分类方法也基本上可以定为BTS的系统号除以100的余数作为数据上报点的类型编号,只要满足条件在同一个BTS内或系统号除以100余数相同BTS的数据上报点才存放在一个链表中。
如图2所示本发明的优选实施例中,处理上报数据的流程如下步骤101,程序启动后分配一个容量为100的数组,用来保存每种分类类型的头节点,数组的下标作为类型的编号,具体的分类方法指将节点对应的BTS的系统号除以节点分类数目X的余数作为节点的类型编号,余数相同的节点属于同一类节点;同一BTS内的节点,余数一定相同,所以属于同一类节点。
步骤102在等待数据状态,收到前台数据包,从数据包中提出上报节点的系统号,根据前面提到的分类方法,计算出数据包的类型编号。
步骤103将计算所得的类型编号作为数据下标,访问数组获取链表头节点。
步骤104判断头节点,也就是链表是否为空。为空,转到105;不为空,转到106。
步骤105链表为空时,动态申请一段内存保存上报数据,并作为头节点,将相关信息记录到数组中,完成后转到108。
步骤106链表不为空时,遍历链表查找与数据包相同上报点的节点。找到则转到107;没找到,在链表尾部添加一个节点保存数据,然后转到108。
步骤107将上报数据合并到查找到的节点的数据中。
步骤108数据接收完毕,将该节点的数据入库,同时清除节点中的数据,并转到102重新开始下一个采集周期的数据收集工作。
权利要求
1.一种前台网元上报数据的接收方法,其特征在于,所述方法包括以下处理步骤第一步,把前台需要上报数据的节点分成多个不同的类,每一类节点上报的数据使用一个链表存储该类节点所有的上报数据;第二步,按节点分类的数目分配静态内存空间,分配后的静态空间用来存储各节点类别对应链表的头节点;第三步,当一个节点上报数据时,根据该节点的类别查找静态内存空间确定出对应链表的头节点,遍历对应链表将上报数据存储到对应链表中,完成上报数据的接收。
2.如权利要求1所述的方法,其特征在于,所述第三步中,当查找静态内存空间发现对应链表的头节点信息为空时,动态申请一段内存空间保存数据,并把它作为头节点存储在查询到的静态内存空间中。
3.如权利要求1所述的方法,其特征在于,所述第三步中,当遍历对应链表时,链表中存在与该上报数据节点相同的节点,判断上报数据与链表中相同节点上数据的关系,来决定上报数据是替换原节点的数据还是合并到相同节点的数据中。
4.如权利要求1所述的方法,其特征在于,所述第三步中,当遍历对应链表时,链表中不存在与该上报数据节点相同的节点,在链表尾部添加一个新的节点并存储上报数据。
5.如权利要求1-4任一所述的方法,其特征在于,对于移动通讯系统,所述第一步中将上报数据的节点分成多个不同的类可采用以下方式将节点对应的BTS的系统号除以节点分类数目X的余数作为节点的类型编号,余数相同的节点属于同一类节点。
6.如权利要求5所述的方法,其特征在于,所述节点分类数目X取100。
全文摘要
本发明公开了一种前台网元上报数据的接收方法,包括以下处理过程第一步,把前台需要上报数据的节点分成多个不同的类,每一类节点上报的数据使用一个链表存储该类节点所有的上报数据;第二步,按节点分类的数目分配静态内存空间,分配后的静态空间用来存储各节点类别对应链表的头节点;第三步,当一个节点上报数据时,根据该节点的类别查找静态内存空间确定出对应链表的头节点,遍历对应链表将上报数据存储到对应链表中,完成上报数据的接收。采用本发明的前台网元上报数据接收方法,可以保证数据安全的前提下,高效地接收和处理数据,同时也大大提高了电信网管系统性能管理部分的性能。
文档编号H04L12/24GK1780228SQ200410091710
公开日2006年5月31日 申请日期2004年11月25日 优先权日2004年11月25日
发明者陈勇 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1