一种实现详细话单的快速存储和检索的方法及装置的制作方法

文档序号:6340704阅读:210来源:国知局
专利名称:一种实现详细话单的快速存储和检索的方法及装置的制作方法
技术领域
本发明涉及电信系统的话单处理技术,特别涉及一种实现详细话单的快速存储和检索的方法及装置。
背景技术
随着通信技术的迅速发展,电信业务开展越来越广泛,各种新业务层出不穷,各种业务话单也随之层出不穷。随着客户业务量的不断增长,用户的通话量也逐年递增,用户的详单日数量级往往突破亿。对大数据量的存储、检索已经成为电信运营商必须解决的问题。目前,运营商大都采用数据库方式或文件系统方式对用户的详细话单,以下简称详单,进行存储和检索,或者整合数据库技术、文件系统技术实现混合存储和检索。其中,数据库方式是将所有数据存储到数据库中,这种方式数据的存储和检索严重依赖于数据的性能。对后台数据的输入/输出(I/O)接口要求较高,往往采用分库、分区、 数据压缩、增加硬件配置等方法来提高数据的吞吐能力。因此,这种方式投资成本大,系统的后期维护要求高,造成维护费用的居高不下。文件系统方式是将话单文件以数据文件的方式按照一定的方式进行存储。大多采用号段、日期方式进行文件的存储和划分,并进行文件级索引,以实现文件的快速检索。但是该方法对于频繁变动的数据,例如,当天话单数据的无法实现文件索引,对这类数据的存储检索时延较长,往往比对不变化数据文件存储和检索的时延高出10倍以上,因此文件系统方式,对于频繁变动数据的存储检索的效率低下。

发明内容
本发明的主要目的在于提供一种实现详细话单的快速存储和检索的方法,以提高对详单数据的存储检索的效率。本发明的另一个主要目的在于提供一种实现详细话单的快速存储和检索的装置, 以提高对详单数据的存储检索的效率。为达到上述目的的第一个方面,本发明提供了一种实现详细话单的快速存储和检索的方法,该方法根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件,对于动态详单文件采用地址映射链表方式实现存储和检索,对于标准静态详单文件采用文件系统方式进行存储和检索,对于纯粹静态详单文件采用数据库方式进行存储和检索。为达到上述目的的第一个方面,本发明提供了一种实现详细话单的快速存储和检索的装置,该装置包含详细话单划分模块、动态详单文件存储和检索模块、标准静态详单文件存储和检索模块和纯粹静态详单文件存储和检索模块;所述详细话单划分模块,根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件;
5
所述动态详单文件存储和检索模块,采用地址映射链表方式对动态详单文件实现存储和检索;所述标准静态详单文件存储和检索模块,采用文件系统方式对标准静态详单文件进行存储和检索,纯粹静态详单文件存储和检索模块,采用数据库方式对纯粹静态详单文件进行存储和检索。由上述的技术方案可见,本发明的这种实现详细话单的快速存储和检索方法及装置,针对不同的详单文件采用不同的存储检索方式,分别利用了地址映射链表存储和检索速度快、效率高的优点,文件系统方式和数据库方式存储量大等优点,有效地避免了单一存储方式的固有缺陷和弱点,提高了存储和检索的效率,进而提高了系统性能。


图1为本发明一实施例中对动态详单文件进行写操作的流程示意图;图2为图1所示实施例中对动态详单文件进行检索的流程示意图;图3为图1所示实施例中文件状态之间转化示意图;图4为本发明实现详细话单的快速存储和检索装置的一实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,以下结合附图对本发明具体实施方式
进行详细说明。本发明的这种实现详细话单的快速存储和检索方法及装置,根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件,对于动态详单文件采用地址映射链表方式实现存储和检索,对于标准静态详单文件采用文件系统方式进行存储和检索,对于纯粹静态详单文件采用数据库方式进行存储和检索。一般情况下,当日的详单会频繁执行写操作,因此,将当日的详单文件确定为动态详单文件;当月除当日的详单一般不会再执行写操作,因此,将当月除当日的详单文件确定为标准静态详单文件;上月及之前的详单一般不会再执行修改操作,因此,将上月及之前的详单文件确定为纯粹静态详单文件。以下先对本发明一个实施例中动态详单文件的存储和检索进行详细说明。对于动态详单文件,一般指当天详单文件,由于需要不停地执行写入读出操作将消耗大量的系统1/0,以及导致对同一文件的频繁加锁解锁操作。因此本实施例中采用地址映射链表的方式进行详单的存储和检索。本实施例中,可以按照号段,对每一个号段建立一个地址映射链表,每个地址映射链表包括常驻在内存中的内存索引表和存储在磁盘中的对应的详单记录文件,该链表结构如表1所示内存索引表号码内存索引指针135135192465001351351776813513519247
详单记录文件
偏移量详单记录前向指针50013513519246...30040013513517768...30013513519246...10020013513519247...10013513519246...00表1可见,每个内存索引表中保存着系统处理的当日某一号段的每个号码的最近通话记录在详单记录文件中的内存索引指针。对应的每个详单记录文件则保存着当日同一号段的用户详单记录,每一条详单记录在其尾部包含一个指向该用户上一条详单记录的文件偏移量的前向指针。另外,本实施例中还在内存中为每个地址映射链表设置了文件信息区,并在磁盘上设置了内存索引交换区。其中文件信息区保存着每个详单记录文件的标识信息或称id 信息。该信息唯一标识了号码的详单记录存储于那个文件。例如目录+号段+日期的形式。其中,目录用来标识该详单记录文件所保存在磁盘中的目录,例如G:\2010\12。内存索引交换区则是用于在系统发生异常情况下,将所有的内存索引表写入该交换区,系统重新启动时,再将所有的内存索引表从内存索引交换区读出写入到内存中。这样,保证了所有的内存索引表在系统发生异常情况下不丢失。对上述动态详单文件的存储过程也就是写操作过程参见图1,图1为本发明一实施例中对动态详单文件进行写操作的流程示意图,该流程包括以下步骤步骤101,根据用户号码和通话时间及该地址映射链表的文件信息区的目录、号段及日期,找到详单记录文件,再根据号段信息定位内存索引表。步骤102,将新生成的详单记录添加到找到的详单记录文件中,并计算出该条记录的文件偏移量,该偏移量添加到该详单记录中;将新添加的详单记录中的前向指针指向该用户上一条详单记录。本步骤中,新生成的记录是按时间顺序添加到详单记录文件中的,因此,计算文件偏移量就是计算出该详单记录文件的字节长度。步骤103,到内存索引表中查找该用户号码的内存索引指针。步骤104,判断是否查找到该用户号码的内存索引指针,如果是,则执行步骤105, 否则执行步骤106步骤105,将该文件偏移量更新到该号码的内存索引指针中。完成详单写操作。以表1所示的地址映射链表,假如对于号码为13513517768的用户,生成了新的记录后,计算出的偏移量为600,则添加记录后的地址映射链表,如表2所示。内存索引表
权利要求
1.一种实现详细话单的快速存储和检索的方法,其特征在于根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件,对于动态详单文件采用地址映射链表方式实现存储和检索,对于标准静态详单文件采用文件系统方式进行存储和检索,对于纯粹静态详单文件采用数据库方式进行存储和检索。
2.如权利要求1所述的方法,其特征在于将当日的详单文件确定为动态详单文件;将当月除当日的详单文件确定为标准静态详单文件;将上月及之前的详单文件确定为纯粹静态详单文件。
3.如权利要求2所述的方法,其特征在于动态详单文件中,对每个号段建立一个地址映射链表;每个地址映射链表包括常驻在内存中的内存索引表和存储在磁盘中的对应的详单记录文件;每个内存索引表中保存着当日某一号段的每个号码的最近通话记录在详单记录文件中的内存索引指针;对应的每个详单记录文件保存着当日同一号段的用户详单记录,每一条详单记录在其尾部包含一个指向该用户上一条详单记录的文件偏移量的前向指针。
4.如权利要求3所述的方法,其特征在于该方法进一步在内存中为每个地址映射链表设置了保存着详单记录文件标识信息的文件信息区;动态详单文件的存储过程包括如下步骤A、根据文件信息区中的详单记录文件标识信息,查找到目标地址映射链表的详单记录文件和对应的内存索引表;B、将新生成的详单记录添加到找到的详单记录文件中,并计算出该条记录的文件偏移量,该偏移量添加到该详单记录中;将新添加的详单记录中的前向指针指向该用户上一条详单记录;C、如果内存索引表中有该号码的内存索引指针,则将该文件偏移量更新到该号码的内存索引指针;否则在内存索引表中,用该文件偏移量新插入该条详单记录的内存索引指针。
5.如权利要求4所述的方法,其特征在于动态详单文件的检索过程包括如下步骤Al、根据文件信息区中的详单记录文件标识信息,查找到目标地址映射链表的详单记录文件和对应的内存索引表;Bi、从内存索引表中查找出对应号码的内存索引指针;Cl、根据内存索引指针在详单记录文件中定位该号码用户的最新通话详单记录;D1、对定位到的详单记录进行操作;E1、取最新详单记录的前向指针在详单记录文件中定位次新通话详单记录;F1、返回执行步骤D1,直到详单记录的前向指针为空。
6.如权利要求4或5所述的方法,其特征在于文件信息区保存的详单记录文件标识信息包括用来标识该详单记录文件所保存在磁盘中的目录、该详单记录文件的号段及日期;所述根据文件信息区中的详单记录文件标识信息,查找到目标地址映射链表的内存索引表和对应的详单记录文件为根据用户号码和通话时间及该地址映射链表的文件信息区的目录、号段及日期,找到详单记录文件,再根据号段信息定位内存索引表。
7.如权利要求3、4或5所述的方法,其特征在于该方法进一步在磁盘上设置内存索引交换区;在系统发生异常情况下,将所有的内存索引表写入该交换区,系统重新启动时,再将所有的内存索引表从内存索引交换区读出写入到内存中。
8.如权利要求2所述的方法,其特征在于所述标准静态详单文件为动态详单文件执行如下归档化处理后获得在第一预定时间到时,按照动态文件中的号码按照号码,进行排序处理,并且生成索引文件。
9.如权利要求8所述的方法,其特征在于对于标准静态详单文件,在进行检索时,首先查找索引文件,取出待查找号码的偏移量与详单记录的长度;然后根据这些信息直接操作标准静态文件。
10.如权利要求2所述的方法,其特征在于所述纯粹静态详单文件为标准静态详单文件执行如下归档化处理后获得在第二预定时间到时,先对标准静态详单文件进行解码处理,将其中每个号码的详单记录按照业务解析成ascii码话单文件,再根据话单文件中的业务,将话单文件中的数据按照业务,写入到数据库中已经建立的业务表中。
11.一种实现详细话单的快速存储和检索的装置,其特征在于包含详细话单划分模块、动态详单文件存储和检索模块、标准静态详单文件存储和检索模块和纯粹静态详单文件存储和检索模块;所述详细话单划分模块,根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件;所述动态详单文件存储和检索模块,采用地址映射链表方式对动态详单文件实现存储和检索;所述标准静态详单文件存储和检索模块,采用文件系统方式对标准静态详单文件进行存储和检索,纯粹静态详单文件存储和检索模块,采用数据库方式对纯粹静态详单文件进行存储和检索。
12.如权利要求11所述的装置,其特征在于所述动态详单文件存储和检索模块包含地址映射链表建立单元、动态详单文件存储单元和动态详单文件检索单元;所述地址映射链表建立单元,对每个号段建立一个地址映射链表,每个地址映射链表包括常驻在内存中的内存索引表和存储在磁盘中的对应的详单记录文件,并在内存中为每个地址映射链表设置了保存着详单记录文件标识信息的文件信息区;所述动态详单文件存储单元,根据文件信息区保存的详单记录文件标识信息,查找详单记录文件,将新生成的详单记录添加到找到的详单记录文件中,并生成相应的内存索引表;所述动态详单文件检索单元,根据文件信息区保存的详单记录文件标识信息,查找详单记录文件和对应的内存索引表,按照内存索引表进行检索。
13.如权利要求11所述的装置,其特征在于所述标准静态详单文件存储和检索模块包含标准静态详单文件存储单元和标准静态详单文件检索单元;所述标准静态详单文件存储单元,在第一预定时间到时,按照动态文件中的号码按照号码,进行排序处理,并且生成索引文件;所述标准静态详单文件检索单元,在进行检索时,首先查找索引文件,取出待查找号码的偏移量与详单记录的长度;然后根据这些信息直接操作标准静态文件。
14.如权利要求11所述的装置,其特征在于所述纯粹静态详单文件存储和检索模块包含纯粹静态详单文件存储单元和纯粹静态详单文件检索单元;所述纯粹静态详单文件存储单元,在第二预定时间到时,先对标准静态详单文件进行解码处理,将其中每个号码的详单记录按照业务解析成ascii码话单文件,再根据话单文件中的业务,将话单文件中的数据按照业务,写入到数据库中已经建立的业务表中; 所述纯粹静态详单文件检索单元,对数据库中的业务表进行检索。
全文摘要
本发明提供了一种实现详细话单的快速存储和检索的方法及装置,该方法及装置根据执行写操作的频繁程度,将详细话单划分为三种状态的文件动态详单文件、标准静态详单文件和纯粹静态详单文件,对于动态详单文件采用地址映射链表方式实现存储和检索,对于标准静态详单文件采用文件系统方式进行存储和检索,对于纯粹静态详单文件采用数据库方式进行存储和检索。本发明针对不同的详单文件采用不同的存储检索方式,有效地避免了单一存储方式的固有缺陷和弱点,提高了存储和检索的效率,进而提高了系统性能。
文档编号G06F17/30GK102541925SQ201010614829
公开日2012年7月4日 申请日期2010年12月21日 优先权日2010年12月21日
发明者侯建卫, 刘浩熙, 朱壮军, 沈杰, 耿欣, 郭士沛, 陈海波 申请人:中国移动通信集团山西有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1