基于HASH算法内存和文件系统混合排重方法.pdf

上传人:62****3 文档编号:970863 上传时间:2018-03-22 格式:PDF 页数:8 大小:433.41KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910028103.8

申请日:

2009.01.09

公开号:

CN101493835A

公开日:

2009.07.29

当前法律状态:

授权

有效性:

有权

法律详情:

专利实施许可合同备案的生效IPC(主分类):G06F 17/30合同备案号:2016320000023让与人:南京联创科技集团股份有限公司受让人:南京信通科技有限责任公司发明名称:基于HASH算法内存和文件系统混合排重方法申请日:20090109申请公布日:20090729授权公告日:20110921许可种类:普通许可备案日期:20160219|||授权|||实质审查的生效|||公开

IPC分类号:

G06F17/30(2009.01)I; H04M15/00; H04M17/00; H04W4/24(2009.01)I

主分类号:

G06F17/30

申请人:

南京联创科技股份有限公司

发明人:

张有根; 高将飞; 梁 斌; 李 华; 顾恺宇; 陈 杰; 刘 星; 张晓乐

地址:

210013江苏省南京市定淮门12号16楼

优先权:

专利代理机构:

南京天翼专利代理有限责任公司

代理人:

汤志武;王鹏翔

PDF下载: PDF下载
内容摘要

一种基于HASH算法内存和文件系统混合排重的实现方法,采用内存排重和文件系统排重相结合,从而达到数据存储使用空间和处理效率的双赢结果。其过程是将一定时间内的排重信息加载到内存中,采用内存排重,在此时间之外的采用文件排重。主要包括以下几个步骤:步骤1:加载排重配置信息(记录格式信息、排重类型等)到内存中。步骤2:将一定时间(可配置)内的排重信息加载到私有内存中。步骤3:内存排重:根据内存中的过滤信息进行剔重处理。步骤4:文件排重:根据文件中的历史过滤信息进行剔重处理。排重信息在内存中的存储结构,具备HASH列表和时间窗两大特征。

权利要求书

1、  基于HASH算法内存和文件系统混合排重的实现方法,其特征是采用内存排重和文件系统排重相结合,从而达到数据存储使用空间和处理效率的双赢结果;其过程是将一定时间内的排重信息加载到内存中,采用内存排重,在此时间之外的采用文件排重;需要排重的记录绝大部分是准实时的,为了提高排重效率,在较大的程度采用内存方式排重;故先将最近一段时间内的过滤的记录在内存中的存储,同时为了提高内存排重的效率,存储方式采用哈希链表和时间窗表的结构来存储在内存中的过滤信息;
存储结构中:设有各个Hash桶列表:按照过滤信息Fid排序的列表和按照时间窗排序的列表均对应于各节点;在内存创建了两个索引:基于排重信息的HASH索引和时间窗索引;
内存中HASH索引结构提供以下功能接口,方便对内存数据的访问和操作:
1)提供插入排重信息;2)提供根据哈希值删除对应的节点;3)提供根据LIST节点删除有对应节点;4)提供根据哈希节点删除对应节点;5)提供删除指定时间前的节点;6)提供删除指定时间前的指定节点;7)提供按时间顺序来删除指定数目的节点;8)提供根据字段信息查找对应节点;
还有一部分记录是延迟或回收的,排重的记录在文件中的存储,为了提高文件排重的效率,存储方式采用三部分结构:固定大小文件头、有序的指向对应的数据节点的偏移量的索引部分和排重信息数据;
文件头信息包括:文件状态信息、文件大小、最大记录数、有效记录数、索引位置信息;
索引部分:记录的数据采用记录排重信息在文件中的偏移位置方式记录,并按照所标识的排重信息从小到大的顺序存放;包括以下几个步骤:
步骤1:加载排重配置记录格式信息、排重类型信息到内存中;
步骤2:将可配置时间窗内的排重信息加载到内存中;
步骤3:内存排重:根据内存中的过滤信息进行剔重处理;
步骤4:文件排重:根据文件中的历史过滤信息进行剔重处理;

2、
  根据权利要求1所述的基于HASH算法内存和文件系统混合排重的实现方法,其特征是排重信息数据在文件中是以队列方式存放的,按照存储时间先后顺序存放;
文件中排重信息管理模块提供以下查询指定位置的节点数据、判断指定的排重信息是否重单和插入一条排重信息的功能接口,方便对文件中数据的访问和操作。

说明书

基于HASH算法内存和文件系统混合排重方法
一、技术领域
本发明涉及电信行业的计费系统中的排重处理领域,特别涉及一种基于HASH算法内存和文件系统混合的排重技术。
二、背景技术
随着电信行业业务量的急剧增加,排重这一部分作为整个计费系统流程的一个重要组成部分,其性能的高低势必会影响整个计费系统的性能。如何才能最大限度的提高排重模块的性能已经是迫不及待要解决的问题。排重的目的是剔除文件内重单(重复的记录);本申请人提出过CN200610038375基于过滤片的话单内存排重方法和CN200610085767基于内存的海量话单快速交叉排重方法,但排重效率仍有提高的必要。
在以前的计费系统中排重模块这一部分采用的是数据库内排重,排重信息存放在数据库中,文件内的排重是将排重信息存储到缓存中,先进行缓存排重,剔除文件内重单,然后将排重信息插入数据库中的临时表,判断是不是重单,插入成功,则表示不是重单,否则表示是重单。最后把临时表中的数据插入到排重信息表中。由于对数据库频繁的操作,效率上必然会受到数据库性能的影响。
三、发明内容
本发明目的:提出“基于HASH算法内存和文件系统混合排重方法”做为排重模块的核心实现方法。解决以前排重模块效率较低的问题。解决数据库资源效率大、对数据库系统依赖性强的问题;解决处理效率低下问题;增强排重功能;提高通用性。
本发明的技术方案是:基于HASH算法内存和文件系统混合排重的实现方法,其特征是采用内存排重和文件系统排重相结合,从而达到数据存储使用空间和处理效率的双赢结果;其过程是将一定时间内的排重信息加载到内存中,采用内存排重,在此时间之外的采用文件排重;需要排重的记录绝大部分是准实时的,为了提高排重效率,在较大的程度采用内存方式排重;故先将最近一段时间内的过滤的记录(信息)在内存中的存储,同时为了提高内存排重的效率,存储方式采用哈希链表和时间窗表的结构来存储在内存中的过滤信息;
存储结构中:设有各个Hash桶列表:按照过滤信息Fid排序的列表和按照时间窗排序的列表均对应于各节点;在内存创建了两个索引:基于排重信息的HASH索引和时间窗索引;
内存中HASH索引结构提供以下功能接口,方便对内存数据的访问和操作:
1)提供插入排重信息;2)提供根据哈希值删除对应的节点;3)提供根据LIST节点删除有对应节点;4)提供根据哈希节点删除对应节点;5)提供删除指定时间前的节点;6)提供删除指定时间前的指定节点;7)提供按时间顺序来删除指定数目的节点;8)提供根据字段信息查找对应节点;
还有一部分记录是延迟或回收的,排重记录(信息)在文件中的存储,为了提高文件排重的效率,存储方式采用三部分结构:文件头(固定大小)、索引部分(有序的指向对应的数据节点的偏移量)、排重信息数据;
文件头信息包括:文件状态信息(未满、已满)、文件大小、最大记录数、有效记录数、索引位置信息等。
索引部分:记录的数据采用记录排重信息在文件中的偏移位置方式记录,并按照所标识的排重信息从小到大的顺序存放;包括以下几个步骤:
步骤1:加载排重配置信息(记录格式信息、排重类型等)到内存中;
步骤2:将一定时间(时间窗,可配置)内的排重信息加载到内存中;
步骤3:内存排重:根据内存中的过滤信息进行剔重处理;
步骤4:文件排重:根据文件中的历史过滤信息进行剔重处理;
排重信息数据在文件中是以队列方式存放的,按照存储时间先后顺序存放。
文件中排重信息管理模块提供以下功能接口,方便对文件中数据的访问和操作:
功能1提供查询指定位置的节点数据。
功能2提供判断指定的排重信息是否重单。
功能3提供插入一条排重信息。
本发明为解决对数据库的依赖和资源消耗问题,采用脱离数据库系统环的库外排重方式。解决数据库和文件系统处理效率低下的问题,采用内存和文件方式向结合的排重方式。
但由于内存资源相对于海量的记录数据而言是非常有限的,为了仅可能的提高处理效率。采用将一定时间窗内的排重信息保留在内存中,提高内存排重命中率,从而提高排重效率。另外,由于内存中保留的是一定时间窗内的,所以内存资源的需求量也是可控的。
在提供内存排重命中率的同时,也需要提高文件排重的效率(毕竟有一定比例的记录是采用文件方式排重的)。利用“图2”所示的存储方式,在文件采用二分法算法来提供排重效率。
通过在新的排重系统中增加交叉排重功能来完善。而交叉排重的功能在“基于数据库”排重系统中正是难以高效实现的。
通过将业务的特殊性参数化(比如话单格式、时间窗大小等),从而提高系统的通用性。
将一定时间内的排重信息从文件中加载到内存中,采用哈希(HASH)链表的结构来存储排重信息。对于要进行排重的记录先在内存中排重,看是否属于内存重单,然后再在文件中查询看是不是属于重单。
本发明有益效果:本发明解决了电信行业计费系统“基于物理数据库”排重模块在排重效率和功能上的缺陷:交叉排重功能缺失、处理效率低下、数据库资源消耗大、对数据库系统依赖性强等。提出一个能够提供排重功能齐全、提高通用性通用统一,且在处理效率、资源消耗等方面能够得到显著提高的新的排重方法。
1.排重功能:增加了交叉排重、不排重等排重方式。解决了电信业务不同交换机间系统时间不一致,难以排重的问题。
2.排重效率:处理效率比“基于数据库”排重,提高了一倍。基于数据库的性能通常只有1000条/秒左右,但基于HASH算法内存和文件系统混合的排重效率可高达2500条/秒以上。
3.内存使用情况:一般一个进程的占用情况可控制在200M内。而采用全内存方式,一个进程至少需要6G以上(40天的过滤信息)。
4.资源消耗:完全取消了数据库资源的消耗,而对文件系统的消耗也不大。基于数据库方式的排重,系统忙时将导致数据库资源十分忙碌,导致同一数据库上的其他工作难以正常进行。
四、附图说明
图1为排重信息在内存中的存储方式。
图2为排重信息在文件中的存储结构。
图3为排重系统模型图。
图4为配置结构图。
图5为实现类图。
五、具体实施方式
下面结合附图和实施例对本发明进一步说明。基于内存和文件系统的排重作为计费系统中的一个独立模块,其标准的软件模型如图3所示
具体实施步骤为:
●配置信息
步骤1配置信息,根据各个业务的排重业务需求,配置排重类型(完全排重、交叉排重、不排重)和过滤信息获取方式。
步骤2规划并创建文件目录,用于存放过滤信息的文件。
步骤3根据业务的实时程度和内存大小,设置内存保存的时间窗参数。
●实施过程中,排重系统的配置参数均采用XML格式保存在文件中。按照功能模块分为以下三种配置信息(如图3所示)
配置结构实例(如图4所示)
该配置信息定义各种业务的排重信息提取方式、排重方式、时间窗大小(典型的时间窗可能选择在一小时至二小时)等信息。
●实现类图(如图5所示)
■过滤信息管理类
FilterInfoMgr类负责提供排重信息操作的所有接口。
MemFilterInfoMgr类为内存中排重信息的管理类,实现内存中排重信息的操作接口。
BusiFidInfoMgr类提供一个业务对应的排重信息管理接口。
HashList类定义一个业务的排重信息在内存中的存放方式,并提供操作接口。
FileFilterInfoMgr类负责对文件中排重信息的管理。
HisFileInfoMgr类封装了对排重信息文件的一些基本操作。

基于HASH算法内存和文件系统混合排重方法.pdf_第1页
第1页 / 共8页
基于HASH算法内存和文件系统混合排重方法.pdf_第2页
第2页 / 共8页
基于HASH算法内存和文件系统混合排重方法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《基于HASH算法内存和文件系统混合排重方法.pdf》由会员分享,可在线阅读,更多相关《基于HASH算法内存和文件系统混合排重方法.pdf(8页珍藏版)》请在专利查询网上搜索。

一种基于HASH算法内存和文件系统混合排重的实现方法,采用内存排重和文件系统排重相结合,从而达到数据存储使用空间和处理效率的双赢结果。其过程是将一定时间内的排重信息加载到内存中,采用内存排重,在此时间之外的采用文件排重。主要包括以下几个步骤:步骤1:加载排重配置信息(记录格式信息、排重类型等)到内存中。步骤2:将一定时间(可配置)内的排重信息加载到私有内存中。步骤3:内存排重:根据内存中的过滤信息。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1