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文件格式缓存。
【技术特征摘要】
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.一种海量数据高速缓存的...
【专利技术属性】
技术研发人员:林健武,李倬,杨波,凌宗平,
申请(专利权)人:深圳市国泰安信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。