[发明专利]一种内存话单剔重方法无效
申请号: | 201110097351.5 | 申请日: | 2011-04-18 |
公开(公告)号: | CN102156744A | 公开(公告)日: | 2011-08-17 |
发明(设计)人: | 卓才华 | 申请(专利权)人: | 北京神州数码思特奇信息技术股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 话单剔重 方法 | ||
技术领域
本发明涉及一种话单记录的剔重方式,特别是在电信系统内部解决海量级文件的内存级排重的方法。
背景技术
随着电信运营商不断的发展,业务扩展越来越广,各种新业务层出不穷;随着资费的越来越便宜,用户不断的增长,同时用户的通话量也逐年递增,用户的详单量越来越大。原有的剔重针越来越海量的数据话单,压力越来越大,系统升级势在必行。当前大多的电信运营商都采用以下几种方式数据库方式、内存方式和文件系统方式,现有这些方法实现的剔重产品,在海量数据处理进或多或少在性能和IO方面有缺陷。
数据库方式:数据库剔重一般做法就是建一系列表,使用唯一索引或者主键进行唯一性的判定。这种策略最大的优点就是开发比较容易,因为很多工作交给数据库做了;缺点非常明显,浪费空间,效率低下。因为数据库中表数据和索引数据要占用双份空间,就算表数据只有关键字段,也要浪费一倍的空间,因为写双份数据,因此效率也就要低一倍。
传统文件系统方式:在话单预处理过程中,每天建立一个重单检查比较文件。对每条经过预处理后生成的标准话单,取出字段(字符串),根据条件打开相应的重单检查文件,利用HASH算法和匹配函数在重单检查文件中进行快速查找,如果匹配成功,该话单属于重单,则进行相应的重单处理。如果匹配不成功,该活单不是重单,该话单中上述三个字符率添加到对应的重单检查文件中,用于对后续话单的重单检查。 为了减少HASH算法的匹配查找的时间,重单检查文件也应该越小越好。这种方法要在全文件中查找和性能和文件的大小相关,话单量不大性能还可能,量大了IO操作会加大对性能会有影响。
纯内存方式:将重单检查文件放在内存中运行,该方法不依赖数据库所提供的功能,处理速度快,但是重单检查文件数量较多,除了要占用一部分硬盘存储资源以外,还需要系统有较大的内存资源,在处理海量话单对主机内存有比较严格要求。
发明内容
本发明所要解决的技术问题是提供一种新的话单剔重方法,实现使用相对较小的内存空间较快的进行话单剔重处理,并使得话单的剔重处理性能与话单的数据量无关。
本发明解决上述技术问题的技术方案如下:一种内存话单剔重方法,包括如下步骤:
步骤1:将话单文件读入内存;
步骤2:从所述话单文件中读取一条话单记录;
步骤3:根据所述话单记录中的关键信息,找到内存中与所述话单记录相对应的索引表;
步骤4:对所述话单记录中的字段内容拼成一个字符串,并求MD5值作为该话单记录的索引;
步骤5:将所述MD5值插入到所述索引表中,若插入成功,则将所述话单记录写入正常话单文件中,若插入失败,则将所述话单记录写入重单文件;
步骤6:重复步骤2至步骤5,直到遍历完所述话单文件中的所有话单记录。
本发明的有益效果是:在内存中利用索引表并采用MD5值进行剔重,相比于传统的数据库方式和文件系统方式,本发明的速度更快;相比于传统的纯内存方式,由于本发明采用了MD5值的方式,无需对话单记录中的每个字段内容进行比较排重,节省了时间;采用直接将MD5值插入索引表中的方式进行剔重,比查询比较的速度更快;本发明的方法,仅需要在内存中与所述话单记录相对应的索引表进行操作,因此不必将所有的索引表全部载入内存,对内存的需求也比传统的方式更低;本发明实现了使用相对较小的内存空间较快的进行话单剔重处理,并使得话单的剔重处理性能与话单的数据量无关。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述索引表采用T-tree索引。
采用上述进一步方案的有益效果是,遍历查找的速度快,该T-tree索引也是内存数据库中最主要的一种索引方式。
进一步,所述话单记录中的关键信息为号段和/或日期。
采用上述进一步方案的有益效果是,采用号段和/或日期作为关键信息,可以对话单进行较好的分类,比如将某个号段的所有话单在某天的某个小时所有记录放在一张表中,每天这个号段就有24张表,对应的索引表也有24张,这样将便于对记录的管理、查找和剔重等。
进一步,所述索引表中仅有一个char(32)型字段,记录有话单文件中的所有非重单记录的MD5值。
采用上述进一步方案的有益效果是,使得索引表的占用空间小,查询速度快,加载卸载速度快,操作灵活。
进一步,步骤3中,若内存中不存在与所述话单记录相对应的索引表,则将所述索引表从其所保存的存储器中加载到内存中;若所述内存和存储器中均不存在与所述话单记录相对应的索引表,则在内存中新建索引表作为与所述话单记录相对应的索引表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京神州数码思特奇信息技术股份有限公司,未经北京神州数码思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110097351.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:晶圆参数的检测方法
- 下一篇:一种基于数据库事务处理的业务方法执行方法及装置