[发明专利]一种计费网关重启恢复工作的方法有效
申请号: | 200910244139.X | 申请日: | 2009-12-29 |
公开(公告)号: | CN101778367A | 公开(公告)日: | 2010-07-14 |
发明(设计)人: | 李振;熊志勇;李学春 | 申请(专利权)人: | 北京首信科技股份有限公司 |
主分类号: | H04W4/24 | 分类号: | H04W4/24;H04W88/16 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 夏宪富 |
地址: | 10001*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计费 网关 恢复 工作 方法 | ||
1.一种计费网关CG重启恢复工作的方法,其特征在于:在CG出现故障 并重新启动后,CG根据故障发生前在工作区存储的信息,判断故障发生时的 不同状况,并分别执行相应操作;在不能通过GPRS服务节点SGSN或GPRS 网关节点GGSN与CG之间容错机制恢复工作的情况下,先合理选定从故障发 生的时间起始的回溯分析时间,再对CG本地存储的原始话单、即多个部分话 单和最终话单进行回溯对比分析,发现未合并的部分话单和删除已合并的部分 话单,然后重新构建原始话单哈希表,恢复CG的正常工作。
2.根据权利要求1所述的方法,其特征在于,所述方法包括下列操作步骤:
(1)故障重启:在故障重启过程中,CG重新执行初始化,内存中的数据 不予保留,硬盘上存储的工作区文件则维持原状,以供后续处理;
(2)判断故障类型:CG根据原始话单original_cdr参数和最终话单final_cdr 参数的存储信息内容判断不同故障类型后,酌情执行后续步骤或结束该方法全 部流程;
(3)分析部分话单:CG先读取故障发生时间点以前设定回溯时间内的所 有最终话单文件并形成链表,再读取设定回溯时间内的所有部分话单文件,并 将其与所述链表的内容进行对比分析,提取其中未完成合并的部分话单和形成 部分话单链表,以供后续处理,防止发生丢单和避免出现重复话单;
(4)重构哈希表:CG读取部分话单链表中的部分话单,用线性链表将域 参数相同的部分话单链接起来,再根据部分话单的域参数值得到其哈希值后, 将该部分话单链表插入到重新构建的原始话单哈希表中;当该部分话单都已读 取并插入于该原始话单哈希表后,即完成原始哈希表的重构;
(5)恢复正常工作:CG通知SGSN或GGSN发送下一个GPRS隧道协议 GTP数据包,表明CG已完成重启恢复,重新开始正常工作。
3.根据权利要求2所述的方法,其特征在于:所述故障重启步骤包括系统 自动判断重启或维护人员启动重启。
4.根据权利要求2所述的方法,其特征在于:所述步骤(3)进一步包括 下列操作内容:
(31)先设定回溯时间,并分析当前工作目录内的文件,确定最近的原始 话单文件保存时间作为故障发生时间点;
(32)读取距离该故障发生时间点为设定回溯时间内的所有最终话单文件, 形成参数redo_final_cdr_list的最终话单链表;
(33)读取距离该故障发生时间点为设定回溯时间内的所有原始话单文件, 再重新进行解析:提取其中未合并的部分话单形成参数redo_part_cdr_list的部 分话单链表。
5.根据权利要求4所述的方法,其特征在于:所述步骤(33)包括下列操 作内容:
在将部分话单插入参数redo_part_cdr_list的部分话单链表时,要将该部分 话单的域参数charging_id与参数redo_final_cdr_list的最终话单链表中的最终话 单的域参数charging_id进行比较;
若两者相等,表明该部分话单已经被合并形成了最终话单,不需再进行合 并处理,即该部分话单不要插入到redo_part_cdr_list链表中;
若两者不等,则将该部分话单插入到redo_part_cdr_list链表中,供后续进 行合并处理。
6.根据权利要求4所述的方法,其特征在于:所述回溯时间是采用人为设 定的固定值。
7.根据权利要求6所述的方法,其特征在于:所述固定值为1小时。
8.根据权利要求4所述的方法,其特征在于:所述回溯时间根据需要进行 调整。
9.根据权利要求2所述的方法,其特征在于:所述步骤(4)中,将部分 话单链表插入到重新构建的原始话单哈希表中的操作包括下列内容:
(41)设定哈希值hasn_key的计算方式为:hash_key=charging_id%255, 式中,%表示取模操作,255为哈希表的长度;
(42)采用链表式结构处理哈希表冲突:CG按hash_key将部分话单链表 保存到原始话单哈希表中;若域参数charging_id不同的部分话单链表具有相同 的hash_key值而发生冲突时,将hash_key相同的部分话单链表再用链表链接起 来,而访问时通过charging_id来区分该部分话单的归属;
(43)当CG读取到标识为最后一个部分话单的数据包后,执行话单的合 并,即将对应会话连接的所有部分话单执行合并处理,得到最终话单后,将其 存入到最终话单final_cdr参数的本地存储空间;同时,从哈希表和原始话单 original_cdr参数中删除该会话连接的所有部分话单链表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京首信科技股份有限公司,未经北京首信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910244139.X/1.html,转载请声明来源钻瓜专利网。