一种利用计费标识进行通信计费的方法

文档序号:7904120阅读:247来源:国知局
专利名称:一种利用计费标识进行通信计费的方法
技术领域
本发明涉及数据通信计费技术,特别涉及一种在无线数据通信系统中利用计费标识进行通信计费的方法。
背景技术
在无线数据通信系统中,需要为每个上下文分配一个计费标识(ChargeID),该Charge ID为每个上下文的唯一标识,对于一个通用分组无线业务网关支持节点(GGSN)来说,Charge ID在一段时间内不能重复,通常采用累加的方法生成Charge ID,基于该Charge ID进行通信计费操作。
如图1所示,图1为现有技术生成Charge ID的流程图,其具体步骤为步骤100,在无线数据通信系统中设置一个n位的基准值和一个32-n位的累加值,该基准值保存在主信令板的闪存(FLASH)中,如果无线数据通信系统复位,该基准值在系统复位时自动加1,然后再次保存在主信令板的FLASH中,以备下次复位后读出;如果无线数据通信系统正常运行,则该基准值保持不变;步骤102、103,在无线数据通信系统正常运行时,基准值作为高n位,把累加值作为低32-n位,组成32位的Charge ID,该Charge ID为每次分配给上下文的值,Charge ID中的累加值是在无线数据通信系统正常运行期间从0开始累加得到的,在实际的无线数据通信系统中,通常n的二进制位数为4,累加值的二进制位数为28位。
为了保证在主备信令板倒换时Charge ID不发生重复,在进行备份时,将基准值加1后备份到备板上,该加1后的基准值保存到备板的FLASH中,如步骤101所示,当主备信令板倒换时,以倒换后的主板上的基准值生成Charge ID。
当主备信令板倒换后,采用倒换后的主板上的基准值生成Charge ID的方法虽然避免了Charge ID当前分配重复的问题,但却存在以下问题,第一个问题为该方法用Charge ID的高n位作为单板重启计数值(Recovery),而对端节点是根据Recovery的值判断GGSN是否重启,当主备信令板倒换时,对应Charge ID高n位的基准值会发生变化,从而导致Recovery值也会发生改变,在此情况下,当GGSN发消息给对端节点时,对端节点根据所收到的Recovery值判断出GGSN发生重启,对端节点就会去活所有与Recovery改变前相关的上下文,造成所有通过该GGSN上网的用户的业务数据的全部中断;第二个问题为备份倒换完成后,系统再重启时,如果GGSN从新的主信令板FLASH中读出的基准值,此时仍存在Charge ID分配重复的问题。
更进一步的,由于生成Charge ID的过程是从0开始计数的,因此0也就作为合法的Charge ID,但是协议中明确规定0应保留而不分配。

发明内容
有鉴于此,本发明提供了一种利用计费标识进行通信计费的方法,该方法不仅有效防止了Charge ID分配重复的问题,而且解决了现有技术中由于无线数据通信系统基准值发生变化而导致不该出现的GGSN上下文去活问题。
根据上述目的,本发明提供一种利用计费标识进行通信计费的方法,适用于无线数据通信系统中,该方法包括A、分别设置基准值、累加值和重启计数值(Recovery),其中,基准值和重启计数值存储于主板的闪存(FLASH)上;B、将步骤A设置的基准值备份到备板,并将步骤A设置的基准值加2后保存在备板的FLASH中;同时,将步骤A设置的Recovery值备份到备板,并将步骤A设置的Recovery值加1后保存在备板的FLASH中;C、在通用分组无线业务网关支持节点(GGSN)向对端节点发送消息时,先获取当前基准值作为高位,当前累加值作为低位,生成当前计费标识(ChargeID),并获取当前的Recovery值;然后GGSN向对端节点发送携带有当前ChargeID和当前Recovery值的消息,对端节点收到该消息后,根据消息中的Recovery值确定当前无线数据通信系统是重启还是主备倒换,并根据消息中的Charge ID进行通信计费。
当无线数据通信系统进行主备倒换时,所述步骤C包括C11.将倒换后主板备份的基准值加1作为当前基准值,该当前基准值作为Charge ID的高位,当前累加值作为Charge ID的低位,生成当前Charge ID;C12.读出倒换后主板备份的Recovery值作为当前Recovery值,将当前基准值备份到备板,当前基准值加2后保存在备板FLASH中;同时,将当前Recovery值备份到备板,Recovery值加1后保存在备板FLASH中;C13.向对端节点发送带有当前Charge ID和当前Recovery值的消息,对端节点根据所收消息中Recovery的值判断无线数据通信系统未重启,两端节点根据消息中的Charge ID进行正常通信计费。
当无线数据通信系统重启或信令板复位时,所述步骤C包括C21.从主板FLASH中读出基准值作为当前基准值,该当前基准值作为Charge ID的高位,将当前累加值重新归0作为Charge ID的低位,生成当前Charge ID;C22.从主板FLASH中读出Recovery值作为当前Recovery值,将当前基准值备份到备板,将当前基准值加2后保存在备板FLASH中;同时,将当前Recovery值备份到备板,当前Recovery值加1后保存在备板FLASH中;C23.GGSN向对端节点发送带有当前Charge ID和当前Recovery值的消息,对端节点根据所收消息中Recovery的值判断无线数据通信系统已重启或复位,则去活所有与Recovery值未改变前相关的GGSN上下文。
上述方案中,所述累加值是无线数据通信系统在正常运行时由无线数据通信系统分配的。所述基准值和累加值不同时为0。
所述Charge ID和Recovery值分别由32位二进制数和8位二进制数组成。所述基准值和累加值分别由4位二进制数和28位二进制数组成。
本发明提供的方法,一方面通过将Charge ID的高n位即基准值与单板重启计数值分离的方案,解决了主备信令板进行倒换时系统Recovery值产生变化的问题,从而解决了主备板倒换后系统基准值变化导致的GGSN中上下文去活的问题;另一方面,改变了主备板中对基准值,即Charge ID的高n位进行备份的处理方法,使无线数据通信系统中的Charge ID不会因主备倒换时基准值发生重复而出现重复的现象,进而避免了计费信息出错。


图1为现有技术中生成Charge ID的流程图。
图2为本发明生成Charge ID的实施例流程图。
具体实施例方式
为了使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
由于Charge ID的基准值与单板重启计数值没有必然的联系,因此本发明是将这两个变量进行分离设置,并对基准值和重启计数值的备份分别进行特定的处理,以避免出现重复。
当无线数据通信系统进行批量备份时,如图2所示,图2为本发明生成Charge ID的实施例流程图,其具体过程为步骤200,在无线数据通信系统中,分别设置一个由n位二进制数组成的基准值、一个由m位二进制数组成的累加值和一个重启计数值(Recovery),基准值和重启计数值存储于主板的闪存(FLASH)中,且基准值与累加值不同时为0。
步骤201,在进行备份时,将基准值备份到备板,将基准值加2后保存在备信令板的FLASH中,同时将Recovery的值备份到备板,将Recovery加1后的值保存在备板的FLASH中。
步骤202,进行主备倒换时,将倒换后的主板基准值加1作为新的基准值,新的基准值作为Charge ID的高位,即Charge ID的高位发生改变,并将当前累加值作为Charge ID的低位,形成Charge ID,读出倒换后备板中的Recovery值,即Recovery值保持不变,将基准值备份到备板,将基准值加2后保存在备信令板的FLASH中,同时将Recovery的值备份到备板,将Recovery加1后的值保存在备板的FLASH中;向对端节点发送消息时,对端节点根据所收消息中Recovery的值判断无线数据通信系统未重启,两端节点正常通信。
步骤203,当无线数据通信系统重启或复位时,将从主板FLASH中读出的基准值作为Charge ID的高位,并将当前累加值重新归0作为Charge ID的低位,形成Charge ID;从主板FLASH中读出Recovery值,此时基准值和Recovery值都发生了变化,将基准值备份到备板,将基准值加2后保存在备信令板的FLASH中,同时将Recovery的值备份到备板,将Recovery加1后的值保存在备板的FLASH中,在向对端节点发送消息时,对端节点根据所收消息中Recovery的值判断无线数据通信系统已重启或复位,则去活所有与Recovery未改变前相关的GGSN上下文。
由此可知,主备信令板进行倒换时,Charge ID的高n位,即基准值发生变化,但是系统重启值保持不变,只有当系统重启时,系统的重启值才会发生变化。
在无线通信系统中,一般采用32位二进制数组成的Charge ID,其中高4位二进制数为基准值,低28位二进制数为累加值,且基准值与累加值不同时为0。
采用该方法,如果无线数据通信系统倒换时,GGSN发给对端节点消息中的在无线数据通信系统重启计数值将保留不变,对端节点就不会去活GGSN的上下文;如果备份倒换完毕后,无线数据通信系统再重启,GGSN的Charge ID分配也不会重复。
上述方法的Charge ID倒换前的分配可以通过编程语言实现,比如设置变量ulChargeId表示当前分配的Charge ID,ulChargeId值为0时不用;g_ucChargeIdUpper4为全局变量,即基准值保存ChargeId高四位的值;g_ulChargeIdCount为全局变量,即累加值保存单板正常运行期间累计分配的Charge ID计数,复位、倒换后从0开始累加计数;那么,其具体的描述为g_ulChargeIdCount++;ulChargeId=(g_ucChargeIdUpper4<<28)|(gulChargeIdCount & 0x0fffffff);if(ulChargeId==0){ulChargeId++;g_ulChargeIdCount++;}分配Charge ID时,把g_ucChargeIdUpper4做为本次分配的Charge ID高4位,每次分配后累加的g_ulChargeIdCount做为低28位,这样就组成了新分配的Charge ID,其中g_ucChargeIdUpper4和g_ulChargeIdCount不同时为0。
综上所述,采用该方法有效防止了Charge ID分配重复的问题,解决了当Charge ID重复使用时计费信息出错的问题,而且解决了倒换后系统基准值变化导致的GGSN中上下文去活的问题,取得了很好的效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种利用计费标识进行通信计费的方法,适用于无线数据通信系统中,其特征在于该方法包括A、分别设置基准值、累加值和重启计数值(Recovery),其中,基准值和重启计数值存储于主板的闪存(FLASH)上;B、将步骤A设置的基准值备份到备板,并将步骤A设置的基准值加2后保存在备板的FLASH中;同时,将步骤A设置的Recovery值备份到备板,并将步骤A设置的Recovery值加1后保存在备板的FLASH中;C、在通用分组无线业务网关支持节点(GGSN)向对端节点发送消息时,先获取当前基准值作为高位,当前累加值作为低位,生成当前计费标识(ChargeID),并获取当前的Recovery值;然后GGSN向对端节点发送携带有当前ChargeID和当前Recovery值的消息,对端节点收到该消息后,根据消息中的Recovery值确定当前无线数据通信系统是重启还是主备倒换,并根据消息中的Charge ID进行通信计费。
2.如权利要求1所述的方法,其特征在于,无线数据通信系统进行主备倒换时,所述步骤C包括C11.将倒换后主板备份的基准值加1作为当前基准值,该当前基准值作为Charge ID的高位,当前累加值作为Charge ID的低位,生成当前Charge ID;C12.读出倒换后主板备份的Recovery值作为当前Recovery值,将当前基准值备份到备板,当前基准值加2后保存在备板FLASH中;同时,将当前Recovery值备份到备板,Recovery值加1后保存在备板FLASH中;C13.向对端节点发送带有当前Charge ID和当前Recovery值的消息,对端节点根据所收消息中Recovery的值判断无线数据通信系统未重启,两端节点根据消息中的Charge ID进行正常通信计费。
3.如权利要求1所述的方法,其特征在于,当无线数据通信系统重启或信令板复位时,所述步骤C包括C21.从主板FLASH中读出基准值作为当前基准值,该当前基准值作为Charge ID的高位,将当前累加值重新归0作为Charge ID的低位,生成当前Charge ID;C22.从主板FLASH中读出Recovery值作为当前Recovery值,将当前基准值备份到备板,将当前基准值加2后保存在备板FLASH中;同时,将当前Recovery值备份到备板,当前Recovery值加1后保存在备板FLASH中;C23.GGSN向对端节点发送带有当前Charge ID和当前Recovery值的消息,对端节点根据所收消息中Recovery的值判断无线数据通信系统已重启或复位,则去活所有与Recovery值未改变前相关的GGSN上下文。
4.如权利要求1所述的方法,其特征在于,所述累加值是无线数据通信系统在正常运行时由无线数据通信系统分配的。
5.如权利要求1或2所述的方法,其特征在于,所述基准值和累加值不同时为0。
6.如权利要求1所述的方法,其特征在于,所述Charge ID和Recovery值分别由32位二进制数和8位二进制数组成。
7.如权利要求7所述的方法,其特征在于,所述基准值和累加值分别由4位二进制数和28位二进制数组成。
全文摘要
本发明公开了一种利用计费标识进行通信计费的方法,包括A)在无线数据通信系统中分别设置基准值、累加值和重启计数值(Recovery),该基准值和Recovery值存储于主板的闪存(FLASH)上;B)将步骤A设置的基准值备份到备板,将该基准值加2保存在备板FLASH中;同时将步骤A设置的Recovery值备份到备板,将该Recovery值加1保存在备板FLASH中;C)通用分组无线业务网关支持节点(GGSN)向对端节点发消息时,先获取当前基准值作为高位,当前累加值作为低位,生成当前计费标识(Charge ID),并获取当前Recovery值;然后GGSN向对端节点发送带有当前Charge ID和当前Recovery值的消息,对端节点根据所收消息中的Recovery值判断无线数据通信系统是否重启。该方法解决了由Charge ID重复使用引起的计费信息出错问题。
文档编号H04L12/14GK1531249SQ0311954
公开日2004年9月22日 申请日期2003年3月10日 优先权日2003年3月10日
发明者杨文 , 杨 文 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1