海量数据高速缓存的方法及装置制造方法及图纸

技术编号:9618093 阅读:112 留言:0更新日期:2014-01-30 05:48
本发明专利技术适用于数据处理技术领域,提供了一种海量数据高速缓存的方法及装置,该方法包括:将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;若否,利用统计模型算法,从所述数据库中获取缺失的数据;将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户;将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。通过本发明专利技术,可大量减少数据存储冗余,提高数据存储和读取的效率。

Mass data cache method and device

The invention is applicable to the technical field of data processing and provides a method and device for data cache, the method includes: the original data in the database to get into the matrix standard format of data, and data will be converted to mat file format in the cache; the user receives a data request information whether all of the data, information corresponding to the data request to judge the cached mat file; if not, the use of statistical model algorithm, obtain missing from the data in the database; the lack of the data into a standard format of the data matrix after filling in the mat file. And the mat file after filling in with the data request information corresponding to the data feedback to the user; the data missing data into a standard format of the matrix Cache later in the mat file format. The invention can greatly reduce the data storage redundancy and improve the efficiency of data storage and reading.

【技术实现步骤摘要】
海量数据高速缓存的方法及装置
本专利技术属于数据处理
,尤其涉及海量数据高速缓存的方法及装置。
技术介绍
随着大数据时代的来临,对海量数据的处理及存储的需求越来越大。目前主要采用关系型数据库来存储和处理海量数据。然而,由于关系型数据库存储的是记录型数据,容易存在大量的数据冗余,在统计分析时需要进行数据转换才可以使用,很不方便。而且,关系型数据库请求不同的数据需要关联不同的表,单独做查询接口,获取数据效率较低。另外,虽然关系型数据库提供了内存级别的缓存功能,在数据请求时会在服务器的内存中将数据缓存起来,下次相同的请求速度会加快很多。但是这种内存缓存会受到服务器内存大小的限制,存在缓存容量的瓶颈。
技术实现思路
本专利技术实施例提供一种海量数据高速缓存的方法,以解决现有技术采用关系型数据库来存储和处理海量数据,容易存在大量的数据冗余,且不适合统计分析平台进行数据处理的问题。本专利技术实施例的第一方面,提供一种海量数据高速缓存的方法,所述方法包括:将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;若否,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据;将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件;将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。本专利技术实施例的第二方面,一种海量数据高速缓存的装置,所述装置包括:第一缓存单元,用于将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;判断单元,用于在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;数据获取单元,用于在所述判断单元判断结果为否时,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据;数据填充单元,用于将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件;所述第一缓存单元,还用于将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。本专利技术实施例与现有技术相比存在的有益效果是:本专利技术实施例将数据库中的记录型数据转换成标准矩阵格式使用和存储,可大量减少记录型数据中的描述性冗余数据。而且将标准的矩阵数据缓存到mat文件,省去了数据转换的过程,从而可以和统计分析平台之间进行数据交互,大幅提升数据存储和读取的效率。另外,基于mat文件形式的数据缓存功能,可将缓存文件存储到硬盘,形成缓存文件管理系统,突破了内存缓存的容量限制。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的海量数据高速缓存方法的实现流程图;图2是本专利技术实施例二提供的海量数据高速缓存装置的架构示例图;图3是本专利技术实施例三提供的海量数据高速缓存装置的组成结构图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图1示出了本专利技术第一实施例提供的海量数据高速缓存方法的实现流程,其过程详述如下:在步骤S101中,将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存。在本实施例中,所述标准化的矩阵格式的数据为matlab标准矩阵数据。所述mat文件是matlab数据存储的标准格式。mat文件是标准的二进制文件,可以以ASCII码形式保存和加载。其中,将数据库中获取的原始数据转换成标准化的矩阵格式的数据具体包括:从数据库中获取cell格式的数据;具体的可以是,通过多个数据适配器从数据库中获取原始数据,所述原始数据从数据库中获取到matlab平台是cell矩阵格式,每一行表示一条记录,每一列表示一个字段。根据获取的所述数据生成行列索引;具体的是,根据所述cell矩阵中行列所表示的业务含义生成行列索引,示例性的,所述行索引可以为证券代码列表,列索引可以为时间点列表,通过所述行列索引可以定位到所需要的数据在矩阵中的位置。根据所述行列索引将所述cell格式的数据转换成标准化的数值矩阵,并根据所述行列索引对获取的所述数据进行定位,即每条数据在所述数值矩阵中的行列坐标。根据所述定位,将获取的所述数据批量插入到所述数值矩阵的相应位置。对所述数值矩阵中空缺的位置进行数据填充、插值或标记。本实施例将记录型数据转换为矩阵数据后,免去了很多描述性的重复数据存储,矩阵中只存储核心的业务数据,从而可大大减少数据冗余。另外,一般情况下,在matlab平台下直接连接数据库获取到的数据是cell格式,进行科学计算和时间序列分析非常不方便。本实施例通过将获取到的cell格式数据转换成标准化的矩阵格式数据后,可以在matlab平台上非常方便的使用,从而大大降低用户处理和转换数据的时间,提高数据处理和转换的效率。进一步的,本实施例还提供了基于mat文件形式的数据缓存功能,将缓存文件存储到硬盘,形成缓存文件管理系统,突破了内存缓存的容量限制。而且,将标准的矩阵数据缓存到mat文件,减少了数据加工转换的过程,节省了数据计算和存储的资源,大幅提升使用效率。在步骤S102中,在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据,如果判断结果为“是”,则执行步骤S103;如果判断结果为“否”,则执行步骤S104。在本实施例中,从缓存的mat文件中提取数据时,如果所请求的数据都不存在所述缓存中,则全部从数据库中获取。如果所请求的数据部分存在于所述缓存中,则需要从数据库中提取所缺失的数据。其中,所述接收用户的数据请求信息包括:接收用户通过统一接口发送的数据请求信息,所述统一接口通过多个数据适配器和数据接口路由实现,所述数据适配器用于对从所述数据库中获取的不同的原始数据进行处理(包括数据的提取、转换等),其中每一个数据适配器处理一类数据,所述数据接口路由用于将不同的数据请求信息发送至相应的数据适配器。为了解决现有数据库请求不同的数据需要关联不同的表,单独做查询接口,获取数据效率较低的问题。本实施例提供了基于统计分析平台的统一接口获取数据,即各种类型的数据都可以通过所述统一接口获本文档来自技高网...
海量数据高速缓存的方法及装置

【技术保护点】
一种海量数据高速缓存的方法,其特征在于,所述方法包括:将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;若否,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据;将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件;将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。

【技术特征摘要】
1.一种海量数据高速缓存的方法,其特征在于,所述方法包括:将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;若否,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据;将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件;将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存;从所述数据库中获取缺失的数据包括:以最大化命中率和完成率为目标函数,并通过聚类的方式获得最大化目标函数,根据所述最大化目标函数确定搜索的次数以及每次搜索的行列索引,并根据所述搜索的次数以及每次搜索的行列索引对所述数据库进行搜索以获取所述缺失的数据。2.如权利要求1所述的方法,其特征在于,所述将数据转换成标准化的矩阵格式的数据包括:从数据库中获取cell格式的数据;根据获取的所述数据生成行列索引;根据所述行列索引将所述cell格式的数据转换成标准化的数值矩阵,并根据所述行列索引对获取的所述数据进行定位,即每条数据在所述数值矩阵中的行列坐标;根据所述定位,将获取的所述数据批量插入到所述数值矩阵的相应位置;对所述数值矩阵中空缺的位置进行数据填充、插值或标记。3.如权利要求1所述的方法,其特征在于,所述以最大化命中率和完成率为目标函数,并通过聚类的方式获得最大化目标函数,根据所述最大化目标函数确定搜索的次数以及每次搜索的行列索引,并根据所述搜索的次数以及每次搜索的行列索引对所述数据库进行搜索以获取所述缺失的数据包括:A、将与所述数据请求信息相对应的mat文件中标准化的矩阵按列进行分段;B、统计每个列区间缺失数据的数量,并按照所述缺失数据的数量对列区间进行排序;C、从缺失数据数量最多或最少的列区间开始,进行行变换,并与其相连的列区间进行相同缺失数据行的合并,计算合并后列区间待获取子矩阵的命中率和完成率,其中所述子矩阵的命中率=子矩阵中缺失数据的数量/子矩阵大小,所述子矩阵的完成率=子矩阵中缺失数据的数量/矩阵缺失数据的总数;D、以所述子矩阵的命中率和完成率为目标函数进行列区间的搜索合并,以获得最大化目标函数的合并方式,并根据所述最大化目标函数的合并方式对所述数据库进行搜索以获取所述列区间缺失的数据;E、迭代进行A、B、C、D步骤,直到所述矩阵中所有缺失的数据都被获取。4.如权利要求1所述的方法,其特征在于,所述接收用户的数据请求信息包括:接收用户通过统一接口发送的数据请求信息,所述统一接口通过多个数据适配器和数据接口路由实现,所述数据适配器用于对从所述数据库中获取的不同的原始数据进行处理,其中每一个数据适配器处理一类数据,所述数据接口路由用于将不同的数据请求信息发送至相应的数据适配器。5.一种海量数据高速缓存的...

【专利技术属性】
技术研发人员:林健武李倬杨波凌宗平
申请(专利权)人:深圳市国泰安信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1