一种分布式访问位置寄存器VLR的实现方法
技术领域
本发明涉及实现移动通信领域的交换技术,尤其涉及一种分布式VLR(Visitor Location Register,拜访位置寄存器)的实现方法。
背景技术
VLR是移动通信系统中的一个重要部分,负责存储MSC(Moblie SwitchCenter,移动交换中心)所管辖区域中移动用户的相关数据,包括:用户号码、移动台的位置区信息、用户状态和用户可获得的服务等用户业务参数。VLR是一个动态用户数据库,用户数据会由于其移动和呼叫不断的发生着变化。
随着移动通信系统的发展,各交换局下的移动用户在大量增长,而现有的VLR是将一个交换局下的所有移动用户数据存储在一个模块的VLR数据库内,导致系统的内存难以满足要求,因此,需要将移动用户数据分布在几个模块的VLR数据库中。
发明内容
本发明所要解决的技术问题是提供一种将一个交换局内的移动用户数据分布在多个模块的VLR数据库中的方法,以优化系统资源。
为了实现上述目的,本发明提供了一种分布式访问位置寄存器VLR的实现方法,包括如下步骤:
步骤一,设置国际移动用户标识IMSI与存储模块的对应关系表;
步骤二,设置移动台漫游号码MSRN与存储模块的对应关系表;
步骤三,根据用户标识国际移动用户标识IMSI和/或移动台漫游号码MSRN将用户数据库分片,每个访问位置寄存器VLR保存预定号码范围的用户数据。
上述的实现方法,其中,所述步骤三,进一步包括:根据用户标识查询保存该用户的存储模块号;判断是否查找到,如果查找到,则保存用户数据到相应存储模块的访问位置寄存器VLR数据库。
上述的实现方法,其中,选择国际移动用户标识IMSI的末两位与所述存储模块的模块号建立对应关系。
上述的实现方法,其中,所述移动台漫游号码MSRN由所属访问位置寄存器VLR分配,保证同一访问位置寄存器VLR的各存储模块分配移动台漫游号码MSRN不重复,并且模块处理器MP依据移动台漫游号码MSRN分发消息时同一用户在同一模块中处理。
上述的实现方法,其中,设置临时移动用户识别码TMSI/本地移动台识别码LMSI的末几位与该用户的国际移动用户标识IMSI的末两位相同。
上述的实现方法,其中,还包括移动台国家ISDN号码MSISDN的资源分段步骤;当模块处理器MP依据移动台国家ISDN号码MSISDN分发用户时,先向各个存储模块广播,若在其中某个存储模块中找到该用户,则就在该存储模块处理该用户,若在全部存储模块中都未找到该用户,则返回未找到消息或任意找个存储模块处理。
本发明还有一个目的是提供一种利用访问位置寄存器存储移动用户数据的方法,在尽可能利用现有资源的情况下来满足移动用户大量增长的需求。
为此,本发明还提供了一种利用访问位置寄存器存储移动用户数据的方法,其特征在于,根据移动用户标识将一个移动局内的移动用户数据分布在多个存储模块的访问位置寄存器VLR中。
上述的存储移动用户数据的方法,其中,所述移动用户标识为:国际移动用户标识IMSI、移动台漫游号码MSRN、临时移动用户识别码TMSI或本地移动台识别码LMSI。
上述的存储移动用户数据的方法,其中,移动交换中心MSC与所述访问位置寄存器VLR共存于同一个模块处理器MP中,每个模块处理器只处理本访问位置寄存器VLR控制的用户相关业务。
采用上述方法后,可根据用户标识进行数据分片,将数据分布在几个VLR中,解决了将所有数据存储在一个VLR中,系统内存难以满足要求的问题。另外,由于用户标识和存储模块的对应关系可以配置,这样灵活地增加整个系统的处理能力。为了减少模块间的通讯量和加快处理时间,MSC与VLR共存于同一个MP(Module Processor,模块处理器)中,每个MP只处理本VLR控制的用户相关业务。由于用户分散的概率平等性,当用户数量达到一定规模时(10万级),根据大数定理,每个分片VLR的用户总数近似相等。由于用户使用业务的离散性,大量用户间的负荷总数应近似相等。因此MP的负荷比较均衡。
下面结合附图进一步详细说明本发明的具体实施例。
附图说明
图1是本发明实现步骤的流程图。
图2是本发明所示方法的IMSI资源分配示意图。
图3是本发明所示方法的MSRN资源分配示意图。
具体实施方式
由于VLR保存的数据是用户数据,用户数据通常以用户标识为索引,用户标识有IMSI,TMSI(Temporary Mobile Subscriber Identity,临时移动用户识别码),LMSI(Local Mobile Station Identity,本地移动台识别码),MSRN、MSISDN(Mobile Station International ISDN Number,移动台国家ISDN号码)等标识,因此可以根据用户标识将用户数据库分片,每个VLR保存一定号码范围的用户数据。用户的IMSI一般由MCC(Mobile CountryCode,移动国家码)+MNC(Mobile Network Code,移动网络号码)+MSIN(Mobile Station Identity Number,移动台标识号码)构成。MSIN的前几位被运营商划分区间使用的可能性比较大,但后几位划分区间使用可能性较小。因此可采取取标识的后几位为分片依据的分片原则。
在图1中,本发明的具体的实施步骤如下:
步骤S100,设置IMSI(International Mobile Subscriber Identity,国际移动用户标识)与存储模块的对应关系表。其中,IMSI与模块号的对应关系可用表r_imsicfg来表示,其描述的信息见下表。
字段名 |
类型 |
长度 |
说明 |
Remainder |
BYTE |
1 |
IMS末两位对100取模,值范围00~99 |
Module |
BYTE |
1 |
VLR实际模块号 |
Status |
BYTE |
1 |
是否在扩容标志:1:表示在扩容中;0:表示正常状态,即非扩容状态。 |
步骤S200,设置MSRN(Mobile Station Roaming Number,移动台漫游号码)与存储模块的对应关系表。MSRN分段与模块号的对应关系可用表r_msrncfg来表示,其描述的信息见下表。
字段名 |
类型 |
长度 |
说明 |
SeqNo |
BYTE |
1 |
序号 |
Msrn_start |
WORD |
2 |
最小Msrn分段粒度起始值 |
Msrn_end |
WORD |
2 |
最小Msrn分段粒度终止值 |
Module |
BYTE |
1 |
VLR实际模块号 |
Status |
BYTE |
1 |
是否在扩容标志:1:表示在扩容中;0:表示正常状态,即非扩容状态。 |
步骤S300,根据用户标识查询保存该用户的模块号;
步骤S400,判断是否查找到,如果是则执行S500,否则结束;
步骤S500,保存用户数据到相应模块的VLR数据库。
在上述实施例中,本发明是根据用户标识IMSI或者MSRN来将用户数据库分片,每个VLR保存预定号码范围的用户数据。下面进一步说明根据用户标识,确定用户MP处理模块号,如何将移动用户数据分布在了几个存储模块上。其具体分配方法如下:
1、IMSI及MSRN资源分段
图2为IMSI资源分配示意图,用IMSI的后两位与模块号相对应,后两位不同的IMSI对应的模块号可以相同。运营商对IMSI的末几位划分区间使用可能性较小,这样,末两位出现的概率是相同的,所以把用户的IMSI对应到VLR的模块号的算法可以这样做:先取IMSI末两位,然后,由末两位对应到某个VLR模块。
图3为MSRN资源分配示意图,MSRN号段对应一个模块号,不同的号段可以对应相同的模块号。MSRN号是由VLR分配的,要保证同一VLR的各模块分配MSRN不重复,同时,MP依据MSRN分发消息时也要保证同一用户在同一模块中处理。这样,VLR各个模块分配的MSRN与它们所属的模块号有一定的对应关系。把MSRN资源进行分段。
2、TMSI/LMSI资源分段
用户标识除了IMSI、MSRN之外,还有TMSI、LMSI,MP中也要根据TMSI、LMSI分发用户到相应的模块中。TMSI/LMSI也是VLR分配的,在本VLR范围内有效。为保证同一用户在同一模块中处理,可把TMSI/LMSI的末几位与该用户的IMSI末两位相同,这样可通过对TMSI/LMSI的末几位进行适当的运算,再对照表r_imsicfg,可得到处理该用户的模块号。
3、MSISDN资源分段
为保证同一用户在同一模块中处理,MP中应有数据表记录用户的MSISDN与IMSI之间的对应关系,而VLR是面向全球移动用户的,所以这是不可能的。解决这问题的方法可以是:当MP要依据MSISDN分发用户时向VLR各个模块广播,这样,若在某个VLR模块中找到了该用户,则就在该模块处理该用户;若在VLR全部模块中都未找到该用户,则返回未找到消息或任意找个VLR模块处理。
上述内容仅为本发明的最佳实施方案,其并非用来限制本发明的具体实施方式,凡根据本方法的主要发明构思而进行的修改和变动,均应属于本发明权利要求书所要求的保护范围。