一种码流数据的快速存储/读取方法及系统的制作方法

文档序号:8223305阅读:414来源:国知局
一种码流数据的快速存储/读取方法及系统的制作方法
【技术领域】
[0001]本发明属于数据存储领域,尤其涉及一种码流数据的快速存储/读取方法及系统。
【背景技术】
[0002]随着信息化建设的不断深入,企业级的信息管理平台已经完成了从信息化建设到数据积累的职能转变,在一些信息化起步较早、系统建设较规范的行业,如通信、金融、大型生产制造等领域,海量数据的存储、分析需求的迫切性日益明显。
[0003]以移动通信运营商为例,尤其是现在4G业务的不断发展,移动业务和用户规模的不断扩大,每天都产生海量的业务数据,然而庞大的数据量使得传统的数据采集与解码处理方式已经无法满足当然井喷式的数据量所带来的缓存压力。
[0004]为了保障海量通信XDR数据(External Data Representat1n,XDR数据是指基于全量码流数据进行处理后,生成的供信令监测平台和信令类应用使用的信令及业务的详细记录)的存储与读取,当前的主流做法均采用数据缓存的方式,将采集的不同码流数据包标注相应ID编码,并缓存在系统内存中,同时设定等待时间和内存占用,当等待时间截止或者系统内存占用到达设定值时将形成的XDR数据写入存储中。由于加载形成一条XDR数据的码流数据包是时间非连续的数据,且同时入库的XDR数据量达到了每秒GB级,海量且无序的数据需要海量的内存才能支持排序,由于这样对硬件设备的内存I/O消耗非常大,因此这也是当前码流数据存储最需要解决的问题,如何缓解系统I/O瓶颈呢?
[0005]现有码流数据存储方案如图1所示,在图中,在内存缓存中的XDR数据只有等待结束后被传输至原始码流存储进程中。由于海量数据同时入库的数据量每秒达到GB级别,利用现有码流存储方法系统内存缓存的数据量超大,对系统的内存I/O要求非常高,这也是制约整个码流存储的瓶颈。

【发明内容】

[0006]本发明所要解决的技术问题在于提供一种码流数据的快速存取方法,旨在解决海量数据存取占用内存大,对硬件设备内存I/o消耗大的问题。
[0007]本发明是这样实现的,一种码流数据包的快速存储方法,所述快速存储方法包括如下步骤:
[0008]步骤All,码流解析进程:采集原始码流数据包进行解析处理,生成可识别码流包;
[0009]步骤A12,码流合成进程:将归属于同一个XDR数据的所述可识别码流包打上相同的XDR ID,生成标注码流包;
[0010]步骤A13,码流存储进程:将所述标注码流包直接进行存储,存储时,对所述标注码流包均打上一位置偏移量信息,生成携带有所述位置偏移量信息和XDR ID的存储码流包后存储,并为最后一条所述存储码流包建立可直接查找的读取索引;每一条所述存储码流包的位置偏移量用于指示在其之前存储的某一存储码流包的实际存储位置地址。
[0011 ] 进一步地,每一条存储码流包的位置偏移量为同一 XDR数据中上一条存储码流包的实际存储位置地址。
[0012]进一步地,所述读取索引包含所述XDR ID和同一个XDR数据中最后一条所述存储码流包的实际存储位置地址。
[0013]进一步地,每一个XDR数据的XDR ID在一个采集解析合成存储的循环周期内唯一。
[0014]本发明还提供一种码流数据的快速存储系统,包括:
[0015]码流解析单元:用于采集原始码流数据包进行解析处理,生成可识别码流包并传输出去;
[0016]码流合成单元:用于接收所述可识别码流包,并将归属于同一个XDR数据的所述可识别码流包打上相同的XDR ID生成标注码流包;
[0017]码流存储单元:用于将所述标注码流包直接进行存储,存储时,对所述标注码流包均打上一位置偏移量信息,生成携带有所述位置偏移量信息和XDR ID的存储码流包后存储,并为最后一条所述存储码流包建立可直接查找的读取索引;每一条所述存储码流包的位置偏移量用于指示在其之前存储的某一存储码流包的实际存储位置地址。
[0018]进一步地,每一条存储码流包的位置偏移量为同一 XDR数据中上一条存储码流包的实际存储位置地址。
[0019]进一步地,所述读取索引包含所述XDR ID和同一个XDR数据中最后一条所述存储码流包的实际存储位置地址。
[0020]进一步地,每一个XDR数据的XDR ID在一个采集解析合成存储的循环周期内唯一。
[0021]本发明还提供一种码流数据的快速读取方法,所述快速读取方法包括如下步骤:
[0022]步骤A21,根据读取索引查找XDR数据的最后一条存储码流包的实际存储位置地址并读取,同时读取该最后一条存储码流包的位置偏移量;
[0023]步骤A22,根据最后一条存储码流包位置偏移量查找同一 XDR数据中记录的对应上一条存储码流包的实际位置地址并读取,同时再次读取上一条存储码流包的位置偏移量;
[0024]步骤A23,重复执行步骤A22,直至读取至无位置偏移量的存储码流包,则该条XDR数据读取完毕。
[0025]本发明还提供一种码流数据的快速读取系统,所述系统用于:
[0026]根据读取索引查找XDR数据的最后一条存储码流包的实际存储位置地址并读取,同时读取该最后一条存储码流包的位置偏移量;
[0027]根据最后一条存储码流包位置偏移量查找同一 XDR数据中记录的对应上一条存储码流包的实际位置地址并读取,同时再次读取上一条存储码流包的位置偏移量;
[0028]重复执行读取位置偏移量和实际存储位置地址动作,直至读取至无位置偏移量的存储码流包,则该条XDR数据读取完毕。
[0029]本发明与现有技术相比,有益效果在于:本发明相比现有的码流存储方法,通过给码流数据包打上一位置偏移量并直接送至存储单元进行存储,不需要长时间缓存在系统内存中,能够大大降低对系统内存的消耗,从而降低了硬件投入成本,提升系统对大数据的处理存储能力,能够面对海量数据并提升数据存储的速度,提升系统对大数据的处理存储能力,同时数据读取速度并不会受到明显影响。
【附图说明】
[0030]图1是现有技术提供的现有主流码流存储方法示意图。
[0031]图2是本发明实施例一提供的一种码流数据的快速存储方法的示意图
[0032]图3是本发明提供的一种码流数据的快速存储系统的示意图。
[0033]图4是本发明实施例二提供的一种码流数据的读取读取方法的示意图。
【具体实施方式】
[0034]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0035]本发明提供了一种码流数据的快速存储方法和系统,具体为:
[0036]步骤All,码流解析单元采集原始码流数据包进行解析处理,生成可识别码流包;
[0037]步骤A12,码流合成单元将归属于同一个XDR数据的所述可识别码流包打上相同的XDR ID,生成标注码流包;
[0038]步骤A13,码流存储单元将所述标注码流包直接进行存储,存储时,对所述标注码流包均打上一位置偏移量信息,生成携带有所述位置偏移量信
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1