- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内存鉴重技术方案
东软软件股份有限公司
二零零五年四月
目 录
1. 鉴重机制概述 1
2. 实现方式 1
2.1 鉴重的时间范围 1
2.2 进程的处理方式 2
2.3 数据的存储管理 3
2.4 内存中数据的组织层次 3
2.5 内存中索引键值的生成 4
2.6 内存数据的保存和读取 4
2.7 超出常规处理范围的记录的鉴重 5
3. 现有的可复用的技术 6
鉴重机制概述
我们现有的各个模块对于话单等数据的重复记录的分拣基本上都是通过数据库的唯一索引来实现的。在鉴重数据量大、重单量多的情况下,不适合采用数据库鉴重的模式。而且,数据库鉴重依赖于数据库的处理能力,鉴重的处理速度受数据库IO瓶颈的限制,无法满足高速鉴重的应用需求。
内存鉴重技术就是通过一定的机制,把需要鉴重的数据在内存中进行重复记录的检测,把重复的记录过滤出来。内存鉴重技术受可用内存容量的限制,对鉴重数据的范围是有限制的,需要将内存鉴重的数据采用类似磁盘缓存的技术保存在磁盘上,通过动态加载的模式来实现对超大容量数据的内存鉴重。或者可以考虑采用内存鉴重和数据库鉴重、文件鉴重相结合的模式,来实现超出内存容量部分数据的鉴重,从而实现高效、长时间范围内的重复记录的检查。
实现方式
程序的总体实现方式是在内存中通过建立树的方式来存储各个记录的索引信息,可以采用按照城市、通话日期、号段等多种方式来建立树,总的原则就是把数据尽可能的分散开,减少冗余数据的存储,减少单棵树的数据量,加快查询速度。
树的索引节点,要能够唯一标识一条数据记录,索引节点可以是数据库的索引字段,也可能只是索引字段的一部分,或者是经过数据变换得到的一个值,索引信息要尽可能的小,以减少数据的存储量。
鉴重的时间范围
首先要根据可用内存的容量限制,确定在内存中存储的数据的时间范围,比如要进行最近的一个月内的话单数据的鉴重,那么可以在内存中按天来维护索引信息,当第31天来到的时候,把内存中的最前面的一天的索引数据删除,然后建立第31天的数据的索引,这样内存中就总是维持着最新的30天的鉴重索引数据,这个时间范围的确定需要根据内存的容量和鉴重的索引节点的大小以及鉴重的记录总量来确定。对于超出时间范围的记录鉴重,需要将最早一天的数据交换到磁盘上,写入同内存的树相对应的磁盘镜像文件,以便以后用到。
以河南的CDMA、GSM业务为例,就以下面的一组统计数字来计算。
GSM CDMA 武汉710 680228 343544 合计用户 3307462 997824 04年10月详单记录数 370754051 101237204 平均每月每用户详单数(包括短信) 112 101 树的算法采用T树的方式来实现,如果一个进程所管理的数据内存的空间在2.5G以下,可以采用32位的编译方式(HP上是2.5G以下,Sun和IBM应当小于2G),对于超过这个范围,则只能采用64位编译方式。32位和64位两种编译方式,对于指针的大小是不同的,32位编译方式的指针占用的是4字节,64位编译方式的指针占用的是8字节,同时这个指针在索引节点中占用的空间,也影响内存的占用。对于所采用T树算法,平均一个数据节点要占用0.06个指针,因此32位和64位的编译模式,对空间占用的总量影响不大。为彻底摆脱内存限制,推荐采用64位的编译模式。如果采用32位的编译方式,可以采用多个进程处理的方式来分别处理不同城市、业务的数据,使一个进程所处理数据的空间限制在操作系统允许的范围内。
以GSM业务为例,它的唯一的索引信息包括主叫号码、通话时间、通话类型,经过数据的处理,可以得到一个12字节长度的唯一索引,再加上平均每个数据需要的约为0.1字节大小的指针等辅助字节,则1亿条话单需要的空间为:
1,0000,0000*(12+0.1) = 12,1000,0000字节 ,约为1.2G内存。
河南CDMA、GSM用户一个月约5亿条话单,则如果在内存中存储一个月的索引数据大约需要1.2G×5=6G的内存,这还是没有包括IVPN话单数据的情况。如果数据量比较大,需要采用64位的编译模式,则1亿条话单需要的空间为:1,0000,0000*(12+0.2) = 12,2000,0000字节。
具体实现时,可以根据内存的大小来决定要在内存中存储的数据索引的天数,同时采用动态加载鉴重镜像的方式来提高鉴重的时间范围。
进程的处理方式
由于不存在数据的共享以及数据的并发处理,所以不必采用共享内存,只采用普通内存即可,一个进程可以负责处理一个业务中一个或多个城市的数据的鉴重任务,所有的数据的索引建立在普通的内存中,并通过配置来限定一个进程处理的数据量,使各个进程的处理负荷均匀。
对于数据分进程处理的策略,要结合具体的应用来划分进程,以及需要的进程数,比如可以按照
您可能关注的文档
- 南通大学生文献信息检索综合.doc
- 梁模板(扣件式,梁板立柱共用)计算书1800.doc
- 2016年餐饮行业未来发展趋势探讨.docx
- 2016年成人高考专升本政治模拟及1.docx
- 2016年初级康复医学技士专业实践能力.docx
- 南通市、扬州市、泰州市2016届高三第二次调研测试历史.doc
- 物联网的安全与管理.ppt
- :2015年大同杯初赛.doc
- 2016年初级药士考试大纲——相关专业知识.docx
- 粮油交易中心标准化储备仓建设项目施工组织设计.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)