一种支持通讯系统核心网的用户键值分配方法

文档序号:7901954阅读:335来源:国知局
专利名称:一种支持通讯系统核心网的用户键值分配方法
技术领域
本发明涉及一种通讯系统核心网的用户键值分配方法,尤其涉及第三代移动通信(3G)网络的交换设备SGSN(Serving GPRS Support Node)和GGSN(GatewayGPRS SupportNode)中的用户键值分配方法。
背景技术
网络与通信是当今最热和发展最快的领域之一,为了应付日益繁忙的信息流,通讯网络设备的处理能力不断地提高,各种大容量节点设备不断出现,单CPU、集中处理的结构越来越不能适应市场的需求。如今,各制造商普遍采用分布式处理技术,将通讯业务的处理分散在多个模块、多个CPU上加以处理,第一是为了突破当前的软硬件技术极限,提供更高的性能;第二是提高系统的可靠性,不至于一个CPU故障导致整个设备的崩溃;第三,很重要的是提供了进行平滑扩容的基础,在设备投入运营的初期,由于业务的普及性不够,可能只有很小的业务量,而新业务得到大众的认可后往往会有雪崩式的急剧发展,如果采用分布式的系统,则可以在早期用很少的模块,很低的成本,应付较少的业务量,然后通过不断的增加模块来与业务的增加相适应,达到很高的性能,避免了运营商面临的在冒重复投资的风险和冒投资失误的风险中做出两难的选择,便于运营商做滚动式发展。例如3G核心网的GGSN设备就可以做成分布式的,每个模块支持20万用户,足以应付3G的初期市场,而10个模块就可以支持到200万用户,这是一个很大的规模。
分布式处理必然涉及到如何将业务量合理地分配到各个模块的问题,每一次事务,都要根据能够识别唯一用户的键值(如3G系统中的TEID,Tunnel EndpointIdentifier,隧道终点标识),分发到确定的模块,同一个用户的一系列事务都必须分配到一个模块上才能正确处理。一般大家常常使用的方法有两种,一是将键值按照模块的数目分段,每一段对应于一个模块,这样做的一个缺点是如果键值不是由自己分配的话,就很难保证分配的均匀性;另一是将键值按模块数取模,根据结果对应于不同模块,这样做的一个缺点是有些CPU不提供硬件除法器,做取模运算开销很大。对于通讯网络设备,这两种方法还有一个共同的缺点,就是很难做到不中断业务的扩容,特别是在容量发生多次变化的情况下,而不中断业务在通讯网络中是一个很重要的要求。

发明内容
本发明要解决的是现有分布式系统业务分配中业务分配不均匀和取模运算开销大的技术问题。
为了解决以上技术问题,本发明采取的技术方案是一种支持通讯系统核心网的用户键值分配方法,其特征是,包括以下步骤第一步根据估计的最终可能的模块总数,建立一张项目数为2的n次幂且足够大的查询表,n为整数,并对各模块进行标号,查询表的每一项只记录各模块的模块号;第二步配置查询表,使查询表的项目中各模块的模块号出现的次数相同或基本相同;第三步根据进入业务的用户键值的后n个比特值在查询表中查找对应的项目和该项目记录的模块号,将该业务分配到该模块号对应的模块中处理。
当核心网在线变更容量即模块数量发生增减时,所述的第二步进行时应以尽量少地改变原有查询表的项目为原则调整查询表,并在所有模块中查找变化涉及到的用户键值的业务,将其转移到新的模块或其它模块上。
当核心网在线变更容量即模块数量增加时,调整查询表的方法为从查询表中标记为原有模块号的项目中选取一部分改写为新增模块号;当核心网在线变更容量即模块数量减少时,调整查询表的方法为从查询表中标记为将要减去的模块号的项目平均地改为保留下来的模块号。
采用上述技术方案后,由于是根据进入业务的用户键值的后n个比特值进行模块分配和各模块在查询表项目中出现的次数相同或基本相同,因此,保证了业务分配的均匀性,由于不需要取模运算,因此开销也不大,另外,在处理模块数发生改变时能够相对快速地完成,减少对进行中的业务造成的影响,保持通讯网络的不中断的运行。


图1是3个模块时的查询表,以及一个业务查表被分配到模块1的示意图。
图2是扩容增加模块3后查询表的改变以及模块1上的一个用户转移到模块3的示意图。
图3是扩容后,另一个业务被分配到模块1的示意图。
图4是再次扩容增加模块4后的查询表,上述两个用户都不需要转移。
具体实施例方式
下面将结合附图,举例说明在3G系统中采用本发明提供的方法实现业务分发和系统扩容的一个实施方式。
1)系统目前有3个模块处理业务,他们是模块0、模块1和模块2。
2)创建一个16个表项的查询表,如图1所示初始化,表中指向模块0的有5格、指向模块1的有5格、指向模块2的有6格,各模块按5∶5∶6分担业务。
3)当一个业务到达,所带TEID最后4比特为9时,查表得到1,被分配到模块1处理,如图1。
4)如果有其他业务到达,同3)一样处理。
5)此时进行扩容,增加模块3,按照图2调整查询表,将第4项、第9项、第14项、第15项改为3,各模块查找本模块中被涉及的用户,将它们转移到新模块3上,此后各模块按1∶1∶1∶1分担业务。
6)扩容后有一个业务到达,所带TEID最后4比特为5,查表得到1,被分配到模块1处理如图3。
7)如果有其他业务到达,同6)一样处理。
8)此时再次扩容,增加模块3,按照图4调整查询表,将第3项、第8项、第13项改为4,各模块查找本模块中被涉及的用户,将它们转移到新模块3上,图中的两个用户都不需要转移,此后各模块按3∶3∶3∶3∶4分担业务。
9)如果是容量缩减,可以仿造上述例子实现。
本发明所提出的3G系统根据TEID查表实现分布式系统业务分配方法与通常的分配方法相比,具有处理开销小,分配均匀,特别的,在容量改变时(无论变大还是变小)和多次改变时,都只涉及到尽量少的用户,减小了对正常业务的影响。以上所述的实施例只是本发明方法在3G通讯系统中用TEID来标识用户一个实现性描述,而本发明方法所提出的分配思想可以用于任何以平滑扩容为目标的分布式系统的业务分配和资源分配。在不脱离本发明的精神和范围的情况下,所有的变化和修改都在本发明的范围之内。
权利要求
1.一种支持通讯系统核心网的用户键值分配方法,其特征是,包括以下步骤第一步根据估计的最终可能的模块总数,建立一张项目数为2的n次幂且足够大的查询表,n为整数,并对各模块进行标号,查询表的每一项只记录各模块的模块号;第二步配置查询表,使查询表的项目中各模块的模块号出现的次数相同或基本相同;第三步根据进入业务的用户键值的后n个比特值在查询表中查找对应的项目和该项目记录的模块号,将该业务分配到该模块号对应的模块中处理。
2.根据权利要求1所述的支持通讯系统核心网的用户键值分配方法,其特征是,当核心网在线变更容量即模块数量发生增减时,所述的第二步进行时应以尽量少地改变原有查询表的项目为原则调整查询表,并在所有模块中查找变化涉及到的用户键值的业务,将其转移到新的模块或其它模块上。
3.如权利要求2所述的支持通讯系统核心网的用户键值分配方法,其特征是,当核心网在线变更容量即模块数量增加时,调整查询表的方法为从查询表中标记为原有模块号的项目中选取一部分改写为新增模块号;当核心网在线变更容量即模块数量减少时,调整查询表的方法为从查询表中标记为将要减去的模块号的项目平均地改为保留下来的模块号。
全文摘要
本发明涉及一种通讯系统核心网的用户键值分配方法。包括以下步骤1.根据估计的最终可能的模块总数,建立一张项目数为2的n次幂且足够大的查询表,n为整数,并对各模块进行标号,查询表的每一项只记录各模块的模块号;2.配置查询表,使查询表的项目中各模块的模块号出现的次数相同或基本相同,当核心网在线变更容量即模块数量发生增减时,以尽量少地改变原有查询表的项目为原则调整查询表,并在所有模块中查找变化涉及到的隧道终点标志的业务,将其转移到新的模块或其它模块上;3.根据进入业务的用户键值的后n个比特值在查询表中查找对应的项目和该项目记录的模块号,将该业务分配到该模块号对应的模块中处理。保证了业务分配的均匀性、运算开销小,在模块数发生改变时能够保持通讯网络的不中断的运行。
文档编号H04W28/16GK1527619SQ0311572
公开日2004年9月8日 申请日期2003年3月4日 优先权日2003年3月4日
发明者张云翔 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1