CN103543959A - 海量数据高速缓存的方法及装置 - Google Patents

海量数据高速缓存的方法及装置 Download PDF

Info

Publication number
CN103543959A
CN103543959A CN201310467372.0A CN201310467372A CN103543959A CN 103543959 A CN103543959 A CN 103543959A CN 201310467372 A CN201310467372 A CN 201310467372A CN 103543959 A CN103543959 A CN 103543959A
Authority
CN
China
Prior art keywords
data
request
search
matrix
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310467372.0A
Other languages
English (en)
Other versions
CN103543959B (zh
Inventor
林健武
李倬
杨波
凌宗平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen xishima Data Technology Co.,Ltd.
Original Assignee
SHENZHEN GTA INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN GTA INFORMATION TECHNOLOGY Co Ltd filed Critical SHENZHEN GTA INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310467372.0A priority Critical patent/CN103543959B/zh
Publication of CN103543959A publication Critical patent/CN103543959A/zh
Application granted granted Critical
Publication of CN103543959B publication Critical patent/CN103543959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

海量数据高速缓存的方法及装置
技术领域
本发明属于数据处理技术领域,尤其涉及海量数据高速缓存的方法及装置。
背景技术
随着大数据时代的来临,对海量数据的处理及存储的需求越来越大。目前主要采用关系型数据库来存储和处理海量数据。然而,由于关系型数据库存储的是记录型数据,容易存在大量的数据冗余,在统计分析时需要进行数据转换才可以使用,很不方便。而且,关系型数据库请求不同的数据需要关联不同的表,单独做查询接口,获取数据效率较低。另外,虽然关系型数据库提供了内存级别的缓存功能,在数据请求时会在服务器的内存中将数据缓存起来,下次相同的请求速度会加快很多。但是这种内存缓存会受到服务器内存大小的限制,存在缓存容量的瓶颈。
发明内容
本发明实施例提供一种海量数据高速缓存的方法,以解决现有技术采用关系型数据库来存储和处理海量数据,容易存在大量的数据冗余,且不适合统计分析平台进行数据处理的问题。
本发明实施例的第一方面,提供一种海量数据高速缓存的方法,所述方法包括:
将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以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文件中提取数据时,如果所请求的数据都不存在所述缓存中,则全部从数据库中获取。如果所请求的数据部分存在于所述缓存中,则需要从数据库中提取所缺失的数据。
其中,所述接收用户的数据请求信息包括:
接收用户通过统一接口发送的数据请求信息,所述统一接口通过多个数据适配器和数据接口路由实现,所述数据适配器用于对从所述数据库中获取的不同的原始数据进行处理(包括数据的提取、转换等),其中每一个数据适配器处理一类数据,所述数据接口路由用于将不同的数据请求信息发送至相应的数据适配器。
为了解决现有数据库请求不同的数据需要关联不同的表,单独做查询接口,获取数据效率较低的问题。本实施例提供了基于统计分析平台的统一接口获取数据,即各种类型的数据都可以通过所述统一接口获取,并以标准的矩阵数据格式返回给用户。
在步骤S103中,将所述数据请求信息相对应的数据返回给用户。示例性的,可以以数值矩阵的方式将所述数据返回给用户。
在步骤S104中,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据。
在本实施例中,当从所述数据库中获取数据时,需要向数据库发送数据请求信息。如果需要尽可能少的数据请求次数,极限的做法是只请求一次,不管缓存中是否存在,全部从数据库中获取,这种做法必然造成大量数据的重复提取,也使得mat缓存失去其价值。如果需要尽可能减少数据的重复提取,极限的做法是缓存中已存在的数据都不会向数据库重新请求,这种做法当缺失的数据很零散的存在时,需要较多的数据请求次数,会影响到数据获取的效率。因此,为了尽可能少的数据请求次数,又不能重复提取过多的已缓存数据,本实施例优选的是:以最大化命中率和完成率为目标函数,并通过聚类的方式获得最大化目标函数,根据所述最大化目标函数确定搜索的次数以及每次搜索的行列索引,并根据所述搜索的次数以及每次搜索的行列索引对所述数据库进行搜索以获取所述缺失的数据。其中,命中率保证每次数据请求中包含尽可能少的已缓存数据,完成率保证尽可能少的数据请求次数。
其具体实现过程如下:
A、将与所述数据请求信息相对应的mat文件中标准化的矩阵按列进行分段;
B、统计每个列区间缺失数据的数量,并按照所述缺失数据的数量对列区间进行排序;
C、从缺失数据数量最多或最少的列区间开始,进行行变换,并与其相连的列区间进行相同缺失数据行的合并,计算合并后列区间待获取子矩阵的命中率和完成率,其中所述子矩阵的命中率=(等于)子矩阵中缺失数据的数量/(除以)子矩阵大小,所述子矩阵的完成率=子矩阵中缺失数据的数量/矩阵缺失数据的总数;
D、以所述子矩阵的命中率和所述子矩阵的完成率为目标函数进行列区间的搜索合并,以获得最大化目标函数的合并方式,并根据所述最大化目标函数的合并方式对所述数据库进行搜索以获取所述列区间缺失的数据;
E、迭代进行A、B、C、D步骤,直到所述矩阵中所有缺失的数据都被获取。
在步骤S105中,将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件。
在本实施例中,当所述矩阵中所缺失的数据都被填充后,将所述矩阵格式的数据发送给所述数据请求的用户。填充后的所述mat文件中包含了所有与所述数据请求信息相对应的数据。
在步骤S106中,将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。
在本实施例中,mat文件是matlab标准化的数据存储格式,适合矩阵式数据的存储,通过mat文件可以和matlab平台方便的进行数据传递,实现数据的快速存储和读取。
另外,mat文件基于matlab内嵌的matfile类进行封装,以支持更大规模,更高效的数据存取。实现的接口有保存数据,提取数据,插入行,插入列,可以方便的进行大规模数据分文件存取,保证存储文件的稳定性和存取性能。
实施例二:
图2示出了本发明第二实施例提供的海量数据高速缓存装置的架构示例,如图2所示,该海量数据高速缓存装置架构从下到上依次包括数据库层、适配器层、数据接口路由层、数据提取及缓存调度层以及图形用户交互层,各层的具体应用如下:
1)数据库层
数据库层主要通过数据库存储原始数据,并通过一系列存储过程提取所述原始数据。
2)适配器层
适配器层主要是从所述数据库中提取原始数据,并将提取的所述原始数据转换成matlab标准矩阵数据。所述适配器层包括多个数据适配器,每个数据适配器处理一类数据。
适配器层的具体应用如下:首先从所述数据库中提取原始数据。所述原始数据从数据库中取到matlab平台是cell矩阵格式,每一行是一条记录,每一列是一个字段。然后将cell矩阵按照预定的行索引(如证券代码)和列索引(时间点)转换成数值矩阵,使得一个数值矩阵表示一个字段,每一行表示一只证券,每一列表示一个时间点。转成数值矩阵后,有些因子需要对矩阵进行再计算,计算后返回给上一层(如计算买卖价差因子,需要先提取委买价和委买价的因子矩阵,然后将两个矩阵相减,最终得到的矩阵返回给上一层),不需计算的就直接返回给上一层。
3)数据接口路由层
数据接口路由层主要功能是将用户不同的数据请求路由到相应的数据适配器,以对应的获取到所需的数值矩阵。具体实现时,是通过建立字段名称、频率和数据适配器间的映射表,每次接收到新的数据请求时(所述数据请求中携带有请求数据的字段名称),数据接口路由在所述映射表中定位到请求的字段名称和频率后,将所述数据请求发送给对应的数据适配器。
4)数据提取及缓存调度层
数据提取及缓存调度层主要功能是处理用户的数据请求,在本地mat文件缓存和数据库之间进行调度。具体是,在接收到用户的数据请求时,判断本地缓存的mat文件中是否存在与所述数据请求相对应的全部数据,若否,则通过调度算法从所述数据库中提取缺失的数据,向用户返回最终完整的数据,并将提取的所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式补充缓存至本地。其中通过调度算法从所述数据库中提取缺失的数据的具体过程如实施例所述,在此不再赘述。
5)图形用户交互层
图形用户交互层提供了基于统计分析平台的统一接口获取数据,使得各种类型的数据都可以通过所述统一接口获取,并以标准的矩阵数据格式返回给用户。
所述统一接口统一了高频数据,财务数据,因子仓库,风险控制模型等多个数据源的数据。通过所述统一接口返回相同的数据格式,极大减少了用户提取并处理数据的时间成本。同时,通过所述统一接口隔离了用户与交互型数据库的直接交互,可以实现交互型数据库的无缝切换,提高了系统的安全性和稳定性。
本实施例通过mat文件缓存的机制,突破了内存缓存受内存大小限制的瓶颈,只要硬盘容量支持,可以实现大规模数据的本地缓存,且可以实现高速的文件存取操作。为了更好的体现mat文件缓存的实用性,本实施例以收盘价字段为例,展示提取不同频率,不同股票数量时,有mat文件缓存和无mat文件缓存情况的性能测试报告,如表1所示:
Figure BDA0000392278640000091
表1
从表1可以看出,有mat文件缓存时,数据的读取时间明显快于无mat文件缓存。
实施例三:
图3示出了本发明第三实施例提供的海量数据高速缓存装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该海量数据高速缓存装置可以是运行于终端设备内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到所述终端设备中或者运行于所述终端设备的应用系统中。
该海量数据高速缓存装置包括第一缓存单元31、判断单元32、数据获取单元33以及数据填充单元34。其中,各单元的具体功能如下:
第一缓存单元31,用于将数据库中获取的原始数据转换成标准化的矩阵格式的数据,并将转换后的数据以mat文件格式缓存;
判断单元32,用于在接收到用户的数据请求信息时,判断所缓存的mat文件中是否存在与所述数据请求信息相对应的全部数据;
数据获取单元33,用于在所述判断单元32判断结果为否时,从所述数据库中获取缺失的数据,所述缺失的数据为所缓存的mat文件中缺失的与所述数据请求信息相对应的数据;
数据填充单元34,用于将所述缺失的数据转换成标准化的矩阵格式的数据后填充到所述mat文件中,并将填充后的所述mat文件中与所述数据请求信息相对应的数据反馈给所述用户,所述mat文件为与所述数据请求信息相对应的文件;
所述第一缓存单元31,还用于将所述缺失的数据转换成标准化的矩阵格式的数据后以mat文件格式缓存。
进一步的,所述第一缓存单元31包括:
数据获取模块311,用于从数据库中获取cell格式的数据;
生成模块312,用于根据获取的所述数据生成行列索引;
定位模块313,用于根据所述行列索引将所述cell格式的数据转换成标准化的数值矩阵,并根据所述行列索引对获取的所述数据进行定位,即每条数据在所述数值矩阵中的行列坐标;
数据插入模块314,用于根据所述定位,将获取的所述数据批量插入到所述数值矩阵的相应位置;
处理模块315,用于对所述数值矩阵中空缺的位置进行数据填充、插值或标记。
进一步的,所述数据获取单元33用于:
以最大化命中率和完成率为目标函数,并通过聚类的方式获得最大化目标函数,根据所述最大化目标函数确定搜索的次数以及每次搜索的行列索引,并根据所述搜索的次数以及每次搜索的行列索引对所述数据库进行搜索以获取所述缺失的数据。
更进一步,所述数据获取单元33包括:
分段模块331,用于将与所述数据请求信息相对应的mat文件中标准化的矩阵按列进行分段;
统计模块332,用于统计每个列区间缺失数据的数量,并按照所述缺失数据的数量对列区间进行排序;
处理模块333,用于从缺失数据数量最多或最少的列区间开始,进行行变换,并与其相连的列区间进行相同缺失数据行的合并,计算合并后列区间待获取子矩阵的命中率和完成率,其中所述子矩阵的命中率=子矩阵中缺失数据的数量/子矩阵大小,所述子矩阵的完成率=子矩阵中缺失数据的数量/矩阵缺失数据的总数;
数据获取模块334,用于以所述子矩阵的命中率和完成率为目标函数进行列区间的搜索合并,以获得最大化目标函数的合并方式,并根据所述最大化目标函数的合并方式对所述数据库进行搜索以获取所述列区间缺失的数据;
控制模块335,用于控制分段模块、统计模块、处理模块以及数据获取模块的迭代处理,直到所述矩阵中所有缺失的数据都被获取。
进一步的,所述判断单元32包括:
数据请求接收模块321,用于接收用户通过统一接口发送的数据请求信息,所述统一接口通过多个数据适配器和数据接口路由实现,所述数据适配器用于对从所述数据库中获取的不同的原始数据进行处理,其中每一个数据适配器处理一类数据,所述数据接口路由用于将不同的数据请求信息发送至相应的数据适配器。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例一、二中的对应过程,在此不再赘述。
综上所述,本发明实施例将数据库中的记录型数据转换成标准矩阵格式使用和存储,可大量减少记录型数据中的描述性冗余数据,大量减少缓存与数据库的交互查询次数,大幅提高数据存储和读取的效率。而且将标准的矩阵数据缓存到mat文件,省去了数据转换的过程,从而可以和统计分析平台之间进行数据交互,大幅提升数据存储和读取的效率。另外,基于mat文件形式的数据缓存功能,可将缓存文件存储到硬盘,形成缓存文件管理系统,突破了内存缓存的容量限制。进一步的,为了解决现有数据库请求不同的数据需要关联不同的表,单独做查询接口,获取数据效率较低的问题。本发明实施例还提供了基于统计分析平台的统一接口获取数据,使得各种类型的数据都可以通过所述统一接口获取,并以标准的矩阵数据格式返回给用户。综上本发明实施例具有较强的易用性和实用性。
在本发明实施例所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310467372.0A CN103543959B (zh) 2013-10-08 2013-10-08 海量数据高速缓存的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310467372.0A CN103543959B (zh) 2013-10-08 2013-10-08 海量数据高速缓存的方法及装置

Publications (2)

Publication Number Publication Date
CN103543959A true CN103543959A (zh) 2014-01-29
CN103543959B CN103543959B (zh) 2016-12-07

Family

ID=49967457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310467372.0A Active CN103543959B (zh) 2013-10-08 2013-10-08 海量数据高速缓存的方法及装置

Country Status (1)

Country Link
CN (1) CN103543959B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929002A (zh) * 2018-09-03 2020-03-27 广州神马移动信息科技有限公司 相似文章去重的方法、装置、终端及计算机可读存储介质
CN112506423A (zh) * 2020-11-02 2021-03-16 北京迅达云成科技有限公司 一种云储存系统中动态接入存储设备的方法及装置
CN112988871A (zh) * 2021-03-23 2021-06-18 重庆飞唐网景科技有限公司 针对大数据中mpi数据接口的信息压缩传输方法
CN113127065A (zh) * 2021-04-19 2021-07-16 之江实验室 一种基于纯缺失检测方法的存算一体程序划分方法及装置
CN113742650A (zh) * 2021-08-16 2021-12-03 国网河南省电力公司电力科学研究院 一种分布式传感数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232838A (ja) * 1996-11-05 1998-09-02 Hitachi Ltd ディスク記憶システム
CN101441655A (zh) * 2008-12-24 2009-05-27 深圳市迅雷网络技术有限公司 读取数据的方法及装置
CN102323889A (zh) * 2011-08-11 2012-01-18 西北工业大学 Matlab与数据库应用中基于内存的文件加载方法
CN102495710A (zh) * 2011-10-25 2012-06-13 曙光信息产业(北京)有限公司 一种处理数据只读访问请求的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10232838A (ja) * 1996-11-05 1998-09-02 Hitachi Ltd ディスク記憶システム
CN101441655A (zh) * 2008-12-24 2009-05-27 深圳市迅雷网络技术有限公司 读取数据的方法及装置
CN102323889A (zh) * 2011-08-11 2012-01-18 西北工业大学 Matlab与数据库应用中基于内存的文件加载方法
CN102495710A (zh) * 2011-10-25 2012-06-13 曙光信息产业(北京)有限公司 一种处理数据只读访问请求的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929002A (zh) * 2018-09-03 2020-03-27 广州神马移动信息科技有限公司 相似文章去重的方法、装置、终端及计算机可读存储介质
CN112506423A (zh) * 2020-11-02 2021-03-16 北京迅达云成科技有限公司 一种云储存系统中动态接入存储设备的方法及装置
CN112506423B (zh) * 2020-11-02 2021-07-20 北京迅达云成科技有限公司 一种云储存系统中动态接入存储设备的方法及装置
CN112988871A (zh) * 2021-03-23 2021-06-18 重庆飞唐网景科技有限公司 针对大数据中mpi数据接口的信息压缩传输方法
CN112988871B (zh) * 2021-03-23 2021-11-16 山东和同信息科技股份有限公司 针对大数据中mpi数据接口的信息压缩传输方法
CN113127065A (zh) * 2021-04-19 2021-07-16 之江实验室 一种基于纯缺失检测方法的存算一体程序划分方法及装置
CN113127065B (zh) * 2021-04-19 2022-07-08 之江实验室 一种基于纯缺失检测方法的存算一体程序划分方法及装置
CN113742650A (zh) * 2021-08-16 2021-12-03 国网河南省电力公司电力科学研究院 一种分布式传感数据处理方法及装置

Also Published As

Publication number Publication date
CN103543959B (zh) 2016-12-07

Similar Documents

Publication Publication Date Title
CN103543959A (zh) 海量数据高速缓存的方法及装置
CN104361018B (zh) 电子档案信息整编方法及装置
CN101375241A (zh) 集群文件系统中的有效数据管理
CN103268336A (zh) 一种快数据和大数据结合的数据处理方法及其系统
CN102308297A (zh) 一种数据迁移方法、数据迁移装置及数据迁移系统
CN105653524A (zh) 一种数据存储方法、装置和系统
CN104731896A (zh) 一种数据处理方法及系统
CN104484131B (zh) 多磁盘服务器的数据处理装置及对应的处理方法
CN104090901A (zh) 一种对数据进行处理的方法、装置及服务器
CN105760236A (zh) 一种分布式计算机集群下的数据采集方法及系统
CN106055678A (zh) 一种基于hadoop的全景大数据分布式存储方法
CN110389942A (zh) 一种无垃圾回收的键值分离存储方法和系统
CN103136244A (zh) 基于云计算平台的并行数据挖掘方法及系统
CN103294413A (zh) 支持海量采集终端的分布式内存实时存储装置及方法
CN104346458A (zh) 数据存储方法和存储设备
CN106960011A (zh) 分布式文件系统元数据管理系统及方法
CN112380302A (zh) 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质
CN100410945C (zh) 一种实现论坛的方法及系统
CN206021244U (zh) 一种分布式计算机集群下的数据采集系统
CN102724301B (zh) 云数据库系统以及云数据读写处理方法、设备
CN104035522A (zh) 大数据库一体机
CN108763562A (zh) 一种基于大数据技术提升数据交换效率的构建方法
CN102479211A (zh) 基于数据库的海量数据处理系统及方法
CN105574124A (zh) 一种基于产品信息的数据存储系统
CN204102026U (zh) 大数据库一体机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 518000 Guangdong city of Shenzhen province Nanshan District two road Nantou checkpoint Gateway Industrial Park 30 building 3 floor forward hot electrons

Applicant after: GTA INFORMATION TECHNOLOGY CO., LTD. (GTA)

Address before: 518000 Guangdong city of Shenzhen province Nanshan District two road Nantou checkpoint Gateway Industrial Park 30 building 3 floor forward hot electrons

Applicant before: Shenzhen GTA Information Technology Co., Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SHENZHEN GTA INFORMATION TECHNOLOGY CO., LTD. TO: SHENZHEN GUOTAIAN EDUCATION TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 518000 12th Floor, Building A4, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Guotaian Educational Technology Co., Ltd.

Address before: 518000 Checkpoint, Nantou, Shenzhen, Guangdong Province, 30 Building 3, Zhiheng Industrial Park, Gate 2, Nanshan District, Shenzhen

Patentee before: GTA INFORMATION TECHNOLOGY CO., LTD. (GTA)

CP03 Change of name, title or address
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200615

Address after: 518000, 1201, Building A4, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen xishima Data Technology Co.,Ltd.

Address before: 518000 12/F, Building A4, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN GTA EDUCATION TECH Ltd.