一种存储跨网络的小区系统信息的方法
技术领域
本发明涉及移动通讯终端领域,更具体地说,涉及一种在第三代移动通信系统中,在用户终端切换到不同网络的情况下,存储多个跨网络的小区系统信息的方法。
背景技术
UTRAN(Universal Terrestrial Radio Access Network,通用移动电信系统陆地接入网)中的RRC(Radio Resource Control,无线资源管理)将系统信息消息广播给UE(用户终端)。系统信息消息由信息单元构成,携带着接入层和非接入层的信息。
所述非接入层的信息包括:运营商信息、CN域信息等;所述接入层信息包括:位置登记区信息、小区信息、信道信息、小区选择和重选信息等。这些系统信息单元以系统信息块的方式被广播,每个系统信息块包含有一个或多个系统信息单元。系统信息块有MIB(主系统信息块)、SB(调度块)和普通SIB(普通系统信息块)三种类型。不同的系统信息块有不同的特征,如重传次数不同,或者要求UE重新读取SIB,已更新相关的系统消息的频率也不同等。MIB提供SIB的参考和调度信息,并且提供一个或两个SB的参考和调度信息。SB也提供SIB的参考和调度信息。而每一个SIB的调度信息只能包含在MIB或者SB中。MIB、SB和SIB的关系与联系成树状的数据结构:MIB是根节点,SB是中间节点,SIB是叶子。
MIB、SB和SIB经由BCH(广播信道)循环广播,在一组系统信息消息中传送。当UE开机后第一次选定一个适合的小区时,它从BCH上读取该小区所有的系统信息消息。UE可以存储该小区的系统信息消息,所以当UE移动到另一个小区的覆盖范围内,然后又返回到原先驻扎的小区时,UE可以使用它存储的系统信息消息,而不必再从BCH上读取。
根据系统信息块的值标记(VT)的有效适用范围可以将SIB分为两类:在PLMN(公共陆地移动网)内有效和在小区内有效。UE对这两类SIB分别进行如下处理:
1、对于区域范围为小区的SIB:该SIB只在本小区内有效。如果UE在此之前已经存储了该小区的系统信息块,那么UE将会检查它从小区得到的系统信息块的值标记和存储的值标记是否相同。如果两者相同,那么UE就不重复读取系统信息块。反之,如果两者不同,UE需要重读该系统信息块。
2、对于区域范围为PLMN或等效PLMN的SIB:该SIB在本PLMN或等效PLMN内有效。UE在选择一个新小区时会检查新小区广播的系统信息块的值标记。如果新小区系统信息块的值标记与UE中存储的不同,UE将重读并更新为新小区的系统信息块。
SIB15.2、15.3和16可能会多次出现。每次出现的系统信息块有自己的值标记。如果本次出现的系统信息块的值标记和UE中存储的不同,UE将重读并更新该系统信息块。
由于系统信息分为非接入层和接入层的信息,又分为多个类型,从SIB1到SIB18,有些SIB(类型15.2,15.3和16)还会多次出现,因此如何在时间上(便于查找)和空间上(节省内存)高效地存储各个小区的系统信息成为了当前我们需要解决的问题。
在一般情况下,可以按树状的组织结构存储小区的系统信息,保留SIB之间的参考关系;但是链表的数据结构不利于快速查找和定位SIB,使得访问特定SIB的时间大大加长,降低了小区驻留过程的性能。
发明内容
本发明所解决的技术问题在于提供一种存储跨网络的小区系统信息的方法,以解决现有技术中系统信息占用的存储空间较大、而且不便于查找的问题。
为了解决上述问题,本发明提供了一种存储跨网络的小区系统信息的方法,包括以下步骤:
(1)根据频点和小区物理层标识作为索引关键字来标识小区表;
(2)检查收到的主系统信息块的值标记或调度块的值标记,与存储的值标记是否相同,如果两者不同,在小区表中存储主系统信息块或调度块中的关于其他普通系统信息块的调度信息,更新主系统信息块值标记,根据主系统信息块中的公共陆地移动网标识信息建立所述小区表与公共陆地移动网表之间的指向联系;
(3)根据当前普通系统信息块的有效范围和类型标识在所述小区表或公共陆地移动网表中查找定位指定的普通系统信息块。
本发明所述的方法,其中,所述步骤(3)进一步包括:
当查找定位的指针为空则表示该普通系统信息块不存在。
本发明所述的方法,其中,所述步骤(2)进一步包括:
检查收到的小区型普通系统信息块的值标记和存储在所述小区表中的值标记是否相同:如果两者不同,在所述小区表中动态申请内存存储该普通系统信息块,更新小区表中该普通系统信息块的值标记。
其中,所述步骤(2)进一步包括:
检查收到的公共陆地移动网型普通系统信息块的值标记和存储在所述公共陆地移动网表中的值标记是否相同:如果两者不同,在所述公共陆地移动网表中动态申请内存存储该普通系统信息块,同时更新该公共陆地移动网表和小区表中该普通系统信息块的值标记。
其中,所述公共陆地移动网型普通系统信息块,包括:普通系统信息块1、普通系统信息块15.3和普通系统信息块16。
与现有技术相比,本发明实现了的节省内存、查找方便的存储方案,减少了访问SIB的时间,加速了小区驻留过程。
附图说明
图1是本发明实施例所述的一种存储跨网络的小区系统信息的方法流程图。
具体实施方式
本发明在这里提供了一种存储跨网络的小区系统信息的方法,以解决现有技术中系统信息占用的存储空间较大、而且不便于查找的问题。以下对具体实施方式进行详细描述,但不作为对本发明的限定。
本发明目的大致思路是通过下述技术方案予以实现:所有SIB按照有效范围分别存储在小区表和PLMN(公共陆地移动网)表中,一个小区只能属于一个PLMN,一个PLMN可以包含多个小区,所以由小区所属PLMN为小区表和PLMN表建立联系;
所述小区表以频点和小区物理层标识作为索引关键字,这2个参数的组合可以在网络间唯一标识一个小区,(SIB3中也有小区标识的信元,但是该标识只能在一个PLMN内有效识别一个小区,在网络间可能存在复用冲突,因此不适合作为小区表的索引关键字);
每个小区上广播的SIB类型和个数都是不确定的,某些SIB还会多次出现,将多次出现的SIB展开,每次出现视为一个独立的SIB类型,为每个小区维护最大SIB个数的指针,当收到某个具体的SIB时,才为该SIB动态申请存储结构体或者码流的内存,指针为NULL(空)表示该SIB不存在;
同时,解析MIB和SB中的调度信息,而不再单独存储这两种系统信息块,调度信息按SIB类型存储,并将参考关系记录到调度信息中,保存系统信息块之间的联系,同样为每个小区维护最大SIB个数的调度信息。
所述PLMN表以PLMN标识作为索引关键字,这个参数可以唯一识别一个网络;在PLMN内有效的SIB包括SIB1、SIB15.3和SIB16,其中,SIB15.3和SIB16多次出现,对每次出现视为一个独立的SIB类型;PLMN型的SIB内容保存在PLMN表中,使得在PLMN和等效PLMN内有效的SIB只保存一份记录,而无须在每个小区内保留一份副本;PLMN型的SIB的调度信息仍保存在小区表中,只在PLMN表内存储值标记这一个参数,用来支持在网内不同小区都有效的SIB的更新机制。
如图1所示,为了使本发明的目的、技术方案和优点更清楚,下面结合具体实施方式对本发明所述的方法作进一步描述:
步骤101,根据频点和小区物理层标识作为索引关键字来标识小区表;
步骤102,检查收到的MIB的值标记和存储的值标记是否相同:如果两者不同,在小区表中存储MIB中的关于其他SIB的调度信息,更新MIB值标记,根据MIB中的PLMN标识信息建立小区表与PLMN表的指向联系;
检查收到的SB的值标记和存储的值标记是否相同:如果两者不同,在小区表中存储SB中的关于其他SIB的调度信息;
其中,进一步还包括:检查收到的小区型SIB的值标记和存储在小区表中的值标记是否相同:如果两者不同,在小区表中动态申请内存存储该SIB,更新小区表中该SIB的值标记;
检查收到的PLMN型SIB的值标记和存储在PLMN表中的值标记是否相同:如果两者不同,在PLMN表中动态申请内存存储该SIB,同时更新PLMN表和小区表中该SIB的值标记。
步骤103,根据当前SIB的有效范围和类型标识在所述小区表或PLMN表中查找定位指定的SIB,并实现一次定位指定SIB,当指针为空则表示该SIB不存在。
与现有技术相比,本发明实施例所提供的跨网络的小区系统信息存储方法通过区分SIB的有效范围,分别按照小区和PLMN进行存储,使得在PLMN和等价PLMN内有效的SIB只在PLMN表内保存一份记录,而无需在每个小区表内保存副本;为每个小区和PLMN维护最大SIB个数的指针,当收到某个具体SIB时才为该SIB动态申请存储结构体或者码流的内存,以SIB类型作为索引关键字,从而使本发明实现了的节省内存、查找方便的存储方案,减少了访问SIB的时间,加速了小区驻留过程。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。