发明内容
本发明实施例提供了一种增大空口寻呼处理能力的方法及基站,以克服现有寻呼实现算法会降低系统寻呼能力的缺陷。
本发明实施例提供了一种增大空口寻呼处理能力的方法,该方法包括:
基站扫描整个寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;
所述基站发送所述寻呼请求消息。
优选地,所述基站扫描整个寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息,包括:
所述基站扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;或者
所述基站扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;然后逐个扫描重发寻呼缓冲队列,分别按消息类型的优先级由高到低的顺序生成寻呼请求消息。
优选地,所述基站扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息,包括:
所述基站确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为IMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列中读取出第二个有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出一个有效的TMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的寻呼元素,则生成类型1寻呼请求消息;或者
所述基站确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为TMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列读取出另外三个有效的TMSI,则生成类型3寻呼请求消息;若从所述原发寻呼缓冲队列中读取出另外两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出两个有效的TMSI和一个有效的IMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出一个TMSI和一个IMSI,则生成类型1寻呼请求消息。
优选地,所述基站逐个扫描重发寻呼缓冲队列,分别按消息类型的优先级由高到低的顺序生成寻呼请求消息包括:
若从所述原发寻呼缓冲队列共读取出一个有效的IMSI和一个有效的TMSI,则从当前重发寻呼缓冲队列中继续寻找另外一个有效的TMSI,若读取出一个有效的TMSI,则生成类型2寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出一个有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,若共读取出两个有效的IMSI,则生成类型1寻呼请求消息,若未读取出有效的IMSI,则继续从所述当前重发寻呼缓冲队列中寻找有效的TMSI,若读取出两个有效的TMSI,则生成类型2寻呼请求消息,若读取出零个或一个有效的TMSI,则生成类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出三个有效的TMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型3寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若共读取出四个,则生成类型3寻呼请求消息;若共读取出三个,则生成类型2寻呼请求消息;若共读取出的有效的TMSI的个数小于3,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,根据读取出的有效的IMSI个数生成类型2或类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出了一个TMSI和一个IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型2寻呼请求消息。
优选地,所述整个寻呼缓冲队列中的所述寻呼元素通过新增加的第一标志位表示自己是否有效;通过新增加的第二标志位表示自己在对应队列中的相对位置。
本发明实施例还提供了一种基站,该基站包括:
生成模块,用于扫描整个寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;
发送模块,用于发送所述寻呼请求消息。
优选地,所述生成模块,具体用于:
扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;或者
扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;然后逐个扫描重发寻呼缓冲队列,分别按消息类型的优先级由高到低的顺序生成寻呼请求消息。
优选地,所述生成模块,具体用于:
确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为IMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列中读取出第二个有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出一个有效的TMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的寻呼元素,则生成类型1寻呼请求消息;或者
确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为TMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列读取出另外三个有效的TMSI,则生成类型3寻呼请求消息;若从所述原发寻呼缓冲队列中读取出另外两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出两个有效的TMSI和一个有效的IMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出一个TMSI和一个IMSI,则生成类型1寻呼请求消息。
优选地,所述生成模块,具体用于:
若从所述原发寻呼缓冲队列共读取出一个有效的IMSI和一个有效的TMSI,则从当前重发寻呼缓冲队列中继续寻找另外一个有效的TMSI,若读取出,则生成类型2寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出一个有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,若共读取出两个有效的IMSI,则生成类型1寻呼请求消息,若未读取出有效的IMSI,则继续从所述当前重发寻呼缓冲队列中寻找有效的TMSI,若读取出两个有效的TMSI,则生成类型2寻呼请求消息,若读取出零个或一个有效的TMSI,则生成类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出三个有效的TMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型3寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若共读取出四个,则生成类型3寻呼请求消息;若共读取出三个,则生成类型2寻呼请求消息;若共读取出的有效的TMSI的个数小于3,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,根据读取出的有效的IMSI个数生成类型2或类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出了一个TMSI和一个IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型2寻呼请求消息。
优选地,所述整个寻呼缓冲队列中的所述寻呼元素通过新增加的第一标志位表示自己是否有效;通过新增加的第二标志位表示自己在对应队列中的相对位置。
上述增大空口寻呼处理能力的方法及基站,通过扫描整个寻呼缓冲队列,并尽量按Type3、Type2、Type1的优先级顺序组成寻呼请求消息,有效提高了系统寻呼能力。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
为了进一步提高寻呼消息的空口发送速率,对现有寻呼消息实现算法进行了优化,本发明实施例与现有技术的区别在于:基站在生成寻呼请求消息时,不再是顺序读取,而是扫描整个寻呼缓冲队列,并尽量按Type3、Type2、Type1的优先级顺序组成寻呼请求报文,可以在发送时刻发出更多的寻呼,以便提高系统的寻呼能力。分析协议可以得出,寻呼消息类型最好是2个IMSI组合成Type1,或者4个TMSI组合成Type3;IMSI和TMSI组合成Type1是很浪费的。
本发明实施例提供了一种增大空口寻呼处理能力的方法,该方法包括:
步骤一、基站扫描整个寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;
该整个寻呼缓冲队列包括单队列(即只包括原发队列)和多队列(包括原发队列和重发队列)的情况;
步骤二、基站发送所述寻呼请求消息。
实施本发明实施例的前提是:寻呼缓冲队列里的第一个寻呼元素一定要发下去,因为这条寻呼写入队列的时间最早,资历最老。在寻呼缓冲队列的每个寻呼元素中增加一个标志位,表示该元素是否有效,如果该条寻呼发送过了则该字段设为无效,扫描寻呼缓冲队列时,遇到无效的寻呼元素就跳过,检索到有效的寻呼元素时再进行读取。因为不再是顺序读取,所以寻呼元素增加另一个字段记录该元素在队列中的相对位置,方便更好地索引到该元素。重发的寻呼缓冲队列与原发的寻呼缓冲队列是彼此独立的,如果原发寻呼缓冲队列已经读空,再去按优先级顺序读取第1重发缓冲队列中的寻呼元素,如果该队列也读空,再去读取第2重发缓冲队列中的寻呼元素,依次类推,重发缓冲队列也是按照本发明实施例的算法,尽量按Type3、Type2、Type1的优先级顺序组成寻呼请求报文。
因为不再是顺序读取队列寻呼元素,队头(get读指针)与队尾(put写指针)中间既包含无效的读过的寻呼元素,也包含有效的未读的寻呼元素,所以寻呼缓冲队列空间扩大为原来的2倍,但在缓冲队列中存储的有效未读的寻呼个数最大依然是10个,这样既可以保证寻呼消息处理的时效性,又保证了该队列中保存的寻呼数量与优化前的一致性。
只有CS寻呼,并且没有开启寻呼重发的条件下,会出现单队列的情况,如图1所示,该过程包括:
步骤101、判断从队列中取出的第一个寻呼元素是否是IMSI,若是,则在队列中依次向后寻找未读的IMSI,执行步骤102-105,若不是,则在队列中依次向后寻找未读的TMSI,执行步骤106-110;
其中,未读的IMSI为有效的IMSI,同样,未读的TMSI为有效的TMSI;
步骤102、如果读取出第2个IMSI寻呼,则合并为Type1,停止检索并立即下发,将第一个IMSI寻呼元素以及刚发送的另一个IMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个IMSI寻呼移到指向最近的一个未读的寻呼元素为止;
步骤103、若没有寻找到其它的IMSI,则和后面最近的2个未读的TMSI合并为Type2并立即下发,并将第一个IMSI寻呼元素以及后面的2个刚发送的TMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个IMSI寻呼移到指向最近的一个未读的寻呼元素为止;
步骤104、若没有寻找到其它的IMSI寻呼并且队列中只剩一个未读的TMSI,也就是取出来的寻呼个数是1个TMSI,1个IMSI,就合并为Type1并立即下发,调整队头(get读指针),此时因为可读的寻呼个数为0,所以队头与队尾(put写指针)重合;
步骤105、若队列中只有第一个未读IMSI,因不存在其它的寻呼队列,就将这个IMSI单独放在Type1里并立即下发,调整队头与队尾重合,此时可读的寻呼个数为0;
步骤106、此时取出的第一个寻呼消息是TMSI,在队列中依次向后寻找未读的其它3个TMSI寻呼,如果读取出其它3个TMSI寻呼就合并为Type3,停止检索并立即下发,将第一个TMSI寻呼元素以及刚发送的其它3个TMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个TMSI寻呼移到指向最近的一个未读的寻呼元素为止;
步骤107、若没找到足够的TMSI,一共取出了3个TMSI,就合并为Type2并立即下发,将第一个TMSI寻呼元素以及刚发送的其它2个TMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个TMSI寻呼移到指向最近的一个未读的寻呼元素为止;
步骤108、若没找到足够的TMSI,队列中又没有未读的IMSI,一共取出了1个或2个TMSI,因不存在其它的寻呼队列,就将这1个或2个TMSI放在Type1里并立即下发,调整队头(get读指针),此时因为可读的寻呼个数为0,所以队头与队尾(put写指针)重合;
步骤109、若没找到足够的TMSI,一共取出了2个TMSI,就从队头开始找第1个未读的IMSI,找到就合并成Type2并立即下发,并将发送的这2个TMSI寻呼元素以及1个IMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个TMSI寻呼移到指向最近的一个未读的寻呼元素为止;
步骤110、若没找到足够的TMSI,一共取出了1个TMSI,就从队头开始找第1个未读的IMSI,找到就合并成Type1并立即下发,并将第一个TMSI寻呼元素以及刚发送的1个IMSI寻呼标志位分别置为无效,并调整队头(get读指针),从指向第一个TMSI寻呼移到指向最近的一个未读的寻呼元素为止。
CS寻呼并开启了寻呼重发的条件下,会出现多队列的情况,如图2所示,该过程包括:
步骤201、判断取出的第一个寻呼消息是否是IMSI,若是,则在队列中依次向后寻找未读的IMSI,执行步骤202-205,若不是,则在队列中依次向后寻找未读的TMSI,执行步骤206-210;
步骤202-203与步骤102-103相同,本队列中就读取出足够的寻呼元素并组成不同的寻呼请求消息Tpye1或Type2下发至空口;
步骤204、若没有寻找到其它的IMSI并且本队列中只有1个未读的TMSI,也就是取出来的寻呼个数是1个TMSI,1个IMSI,则到后续的重发队列中继续寻找最后1个TMSI,找到就合并成Type2并立即下发;若后续队列中无TMSI,就和图1中的步骤104情况一致,组成Type1并下发;
步骤205、若本队列中只有取出的这个IMSI,就到后续的重发队列中继续寻找其它有效的IMSI寻呼;这种情况下,若找到其它有效的IMSI寻呼就组成Type1并下发;若没有IMSI寻呼,就在重发队列中寻找未读的TMSI,找到2个TMSI就组成Type2下发;没有找到未读的TMSI或找到1个TMSI就组成Type1下发;
步骤206、该步骤与图1中的步骤106相同,本队列中就读取出足够的寻呼并组成寻呼请求消息Type3下发至空口;
步骤207、若没找到足够的TMSI,本队列一共取出了3个TMSI,就到后续的重发队列中继续寻找有效的最后1个TMSI寻呼,找到就组成Type3下发;若后续重发队列中无TMSI寻呼,就和图1中的步骤107情况一致,组成Type2下发;若本队列无未读的IMSI并只取出了1个或2个TMSI,就到后续的重发队列中继续寻找有效的TMSI寻呼,一共取出4个TMSI就组成Type3下发;一共取出3个TMSI就组成Type2下发;若后续队列TMSI个数也不足,就在后续重发队列中寻找一个有效的IMSI寻呼,根据取出的寻呼个数,组成Type1或Type2下发;若后续重发队列无任何有效的TMSI或IMSI寻呼,就与图1的步骤108情况一致,组成Type1下发;
步骤208、若没找到足够的TMSI,本队列一共取出了2个TMSI,从队头开始找第1个未读的IMSI,找到就合并成Type2并下发,与图1的步骤109情况一致;
步骤209、若没找到足够的TMSI,一共取出了1个TMSI,并在本队列中找到1个未读的IMSI,接着到后续的重发队列中继续寻找最后1个TMSI,找到就合并成Type2并下发;若后续队列中没有可读的TMSI,就和图1中的步骤110情况一致,组成Type1并下发。
为了验证上述增大空口寻呼处理能力的方法在不同话务模型下的效果,系统参数采用目前GSM商用网络典型配置,一个寻呼周期内配置了M个寻呼组。一共设置了3个不同的话务模型,第一个话务模型如表1所示,在每个寻呼组内一个IMSI,一个TMSI间隔着发,并在M个寻呼组内均匀发送,基站控制器BSC与基站BTS之间(ABIS接口)的立即指派发送速率为25条/s,基站控制器BSC与移动业务交换中心MSC之间(A接口)的寻呼消息发送速率是变化的,可以看到在各种寻呼消息的发送速率下,原发的寻呼消息数都是明显多于优化前的指标,空口寻呼消息的处理能力最大提高幅度达到19.654%,立即指派在空口的流量在优化前后并没有变化,也就是说寻呼优化之后对立即指派消息在空口发送并无影响。
表1 一个IMSI一个TMSI模型的空口寻呼流量比较
第二个话务模型如表2所示,在每个寻呼组内两个TMSI,一个IMSI间隔着发,立即指派发送速率仍然为25条/s,各种寻呼速率下,优化后的空口寻呼消息数也是明显多于优化前的指标,空口寻呼消息的处理能力最大提高幅度达到6.122%。
表2 两个TMSI一个IMSI模型的空口寻呼流量比较
第三个话务模型如表3所示,在每个寻呼组内三个TMSI,一个IMSI间隔着发,立即指派发送速率为25条/s,优化后的空口寻呼消息的处理能力最大提高幅度达到2.897%。
表3 三个TMSI一个IMSI模型的空口寻呼流量比较
如图3所示,为本发明基站实施例的结构示意图,该基站包括生成模块31和发送模块32,其中:
生成模块,用于扫描整个寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;
发送模块,用于发送所述寻呼请求消息。
其中,所述生成模块,具体用于:扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;或者,扫描原发寻呼缓冲队列,按消息类型的优先级由高到低的顺序生成寻呼请求消息;然后逐个扫描重发寻呼缓冲队列,分别按消息类型的优先级由高到低的顺序生成寻呼请求消息。
另外,所述生成模块,具体用于:确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为IMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列中读取出第二个有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的IMSI且从所述原发寻呼缓冲队列读取出一个有效的TMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中未读取出其他有效的寻呼元素,则生成类型1寻呼请求消息;或者,确认从所述原发寻呼缓冲队列中读取出的第一个寻呼元素为TMSI,则继续扫描所述原发寻呼缓冲队列,若从所述原发寻呼缓冲队列读取出另外三个有效的TMSI,则生成类型3寻呼请求消息;若从所述原发寻呼缓冲队列中读取出另外两个有效的TMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则生成类型1寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出两个有效的TMSI和一个有效的IMSI,则生成类型2寻呼请求消息;若从所述原发寻呼缓冲队列中共读取出一个TMSI和一个IMSI,则生成类型1寻呼请求消息。
进一步地,所述生成模块,具体用于:若从所述原发寻呼缓冲队列共读取出一个有效的IMSI和一个有效的TMSI,则从当前重发寻呼缓冲队列中继续寻找另外一个有效的TMSI,若读取出,则生成类型2寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出一个有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,若共读取出两个有效的IMSI,则生成类型1寻呼请求消息,若未读取出有效的IMSI,则继续从所述当前重发寻呼缓冲队列中寻找有效的TMSI,若读取出两个有效的TMSI,则生成类型2寻呼请求消息,若读取出零个或一个有效的TMSI,则生成类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出三个有效的TMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型3寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出的有效的TMSI的个数小于3且没有读取出有效的IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若共读取出四个,则生成类型3寻呼请求消息;若共读取出三个,则生成类型2寻呼请求消息;若共读取出的有效的TMSI的个数小于3,则从所述当前重发寻呼缓冲队列中继续寻找有效的IMSI,根据读取出的有效的IMSI个数生成类型2或类型1寻呼请求消息;
若从所述原发寻呼缓冲队列中共读取出了一个TMSI和一个IMSI,则从所述当前重发寻呼缓冲队列中继续寻找有效的TMSI,若读取出一个,则生成类型2寻呼请求消息。
其中,所述整个寻呼缓冲队列中的所述寻呼元素通过新增加的第一标志位表示自己是否有效;通过新增加的第二标志位表示自己在对应队列中的相对位置。
上述基站实现寻呼的过程可参见图1和图2,此处不再赘述。
上述基站,通过扫描整个寻呼缓冲队列,并尽量按Type3、Type2、Type1的优先级顺序组成寻呼请求消息,有效提高了系统寻呼能力。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。