CN108920110A - 一种基于内存计算模式的并行处理大数据存储***及方法 - Google Patents
一种基于内存计算模式的并行处理大数据存储***及方法 Download PDFInfo
- Publication number
- CN108920110A CN108920110A CN201810826423.7A CN201810826423A CN108920110A CN 108920110 A CN108920110 A CN 108920110A CN 201810826423 A CN201810826423 A CN 201810826423A CN 108920110 A CN108920110 A CN 108920110A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- vector
- big data
- parallel processing
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息检索及其数据库结构技术领域,公开了一种基于内存计算模式的并行处理大数据存储***及方法,本发明基于新型存储级内存和传统DRAM设计新型混合内存体系,在保持成本和能耗优势的前提下大幅提升内存容量,使计算不仅可以在DRAM内存上进行,也可以在SCM上进行,为大数据处理提供了一种基于混合内存架构的以数据为中心的处理模式,大幅度提升大数据处理的时效性。以新型非易失型存储设备为基础构建大容量混合内存体系以加速数据处理的模式,从而大幅度提升大数据处理的时效性,称为内存计算。从体系结构上来看,内存计算模式的出现为大数据处理提供强时效、高性能、高吞吐的体系结构支持带来了可能。
Description
技术领域
本发明属于信息检索及其数据库结构技术领域,尤其涉及一种基于内存计算模式的并行处理大数据存储***及方法。
背景技术
目前,业内常用的现有技术是这样的:大数据带来了4V的挑战:规模,数据量越来越大,从万亿字节级到千万亿字节级甚至到十万亿亿字节级别;种类,数据种类繁多,既包括传统的结构化数据又包括诸如文本、视频、图片和音频等非结构化数据,而且非结构化数据的比重在快速增加;价值,数据价值密度低,难以进行预测分析、运营智能、决策支持等计算;速度,大数据处理的速度问题愈发突出,时效性难以保证。总体来看,大数据处理的挑战实质上是由信息化设施的处理能力与数据处理的问题规模之间的矛盾引起的。大数据所表现出的增量速度快、时间局部性低等特点,客观上加剧了矛盾的演化,使得以计算为中心的传统模式面临着内存容量有限、输入/输出(I/O)压力大、缓存命中率低、数据处理的总体性能低等诸多挑战,难以取得性能、能耗与成本的最佳平衡,使得目前的计算机***无法有效处理PB级以上的大数据。在分布式***方面,人们面向大数据处理提出了以MapReduce(或Hadoop)架构等来解决这一难题。MapReduce通过提供Map和Reduce两个函数处理基于键值(key-value)方式存储的数据,能简单方便地在分布式***上获得很好的可扩展性和容错性。然而MapReduce需要从磁盘获取数据,再将中间结果数据写回磁盘,以磁盘为基础的设计使得其效率较低,I/O开销极大,不适用于具有在线和实时性需求的应用。通过多个节点同时处理数据虽然能够缓解大数据处理面临的挑战,但是其分布式***主要以粗粒度并行为基础,没有充分发挥现行计算单元的资源能力。由此可见,目前对大数据处理的优化都是基于传统的内存-磁盘访问模式,尽管采取了多种方式进行一定的优化,但是数据处理的关键“数据I/O瓶颈”一直存在。
综上所述,现有技术存在的问题是:
(1)目前的计算机***无法有效处理PB级以上的大数据。对于PB级数据,内存空间有限,需要不断从外存交换页面到内存,影响数据处理的效率。现在的大数据***,虽然通过分片、Mapper、Reducer等技术手段来分解大数据进行处理,但由于内存受限,在处理过程中,涉及数据要不断从外存读写,导致大数据处理在实时性方面大打折扣。
(2)MapReduce需要从磁盘获取数据,经过mapper计算产生的数据,不会直接写入磁盘,而是先写入内存,达到一定数量才会写入磁盘。亦即当处理的数据量过大时,就会将中间结果数据写回磁盘,以磁盘为基础的设计使得其效率较低,I/O开销极大,不适用于具有在线和实时性需求的应用。
解决上述技术问题的难度和意义:
1、如何协调新型存储SCM和DRAM的统一编址和应用。将它们看成一个整体后,如何进行寻址,
2、怎样将写操作频率不同的数据分别存放到SCM和DRAM中去。由于SCM仅读取速率跟DRAM相当,而写速度则相差10~100倍以上,且SCM在写几百万次时会造成永久失效。如何减少写的次数,扬长避短,成为该方案的难点。
3、在这种混合内存体系中,如何保证数据读取、写入的准确性。
通过设计新型内存SCM和DRAM混合内存计算体系,一方面增大内存容量,提高计算的效率,减少功耗,另一方面能避免数据掉电丢失,对数据具有保护作用。
发明内容
针对现有技术存在的问题,本发明提供了一种基于内存计算模式的并行处理大数据存储***及方法。
本发明是这样实现的,一种基于内存计算模式的并行处理大数据存储方法,所述基于内存计算模式的并行处理大数据存储方法将新型存储级内存SCM和DRAM横向混合在一块共同作为内存,SCM主要存储原始数据用于读操作,DRAM则用于存储频繁读写操作的数据;
所述基于内存计算模式的并行处理大数据存储方法包括:将新型内存SCM和DRAM统一编址,从外存读入的原始数据存储在SCM中,将程序运行过程中频繁读写的中间数据和校验数据存入DRAM中,写入的中间数据达到一定数量时再写入到SCM中;
所述基于内存计算模式的并行处理大数据存储方法的数据处理进一步包括:
(1)若任意由“0,1”确定的二进制***编码矩阵为Gr·m,Gr·m为由“0,1”构成的二进制矩阵,矩阵用于产生冗余数据,具体表示为:
(2)根据二进制编码矩阵的行向量l1,l2,…,lr·m中“1”的个数确定出根据该向量计算校验位时所需要的XOR计算次数,并计算任意两向量la,lb之间不相同的位数;
(3)若向量la中元素为“1”的位数为k,则***利用该向量进行产生冗余数据需要进行k-1次XOR运算。
进一步,所述基于内存计算模式的并行处理大数据存储方法针对整个编码矩阵Gr·m对原始文件进行编码计算的优化方法包括:
(1)根据编码矩阵中Gr·m的每一行向量中“1”的个数,确定出根据该行向量计算校验位所需要的XOR次数,行向量中“1”的个数用k来标记,则利用该行向量计算校验位所需要的XOR次数为(k-1)m,其中m为每个参与校验计算的原始数据块的大小;
(2)比较编码矩阵中任意两个行向量之间的元素相同位与元素不同位的个数,记为(e/d),其中e表示两个向量中元素相同的位个数;d表示两个向量中元素不同的位个数;
(3)若某一行向量li(1≤i≤r·m)所需要的XOR次数小于或等于步骤B中不同位数d,则直接根据该向量计算出该行所对应的校验数据块,并将该向量记为lj;
(4)利用(3)确定的向量lj,根据步骤B中相同位数与不同位数之比,确定下一个计算行向量,当某行向量lk与向量lj不同位数小于相同位数,且lk与向量lj不同位数与其余各个向量不同位数达到最小时,则根据向量lj已计算出的校验数据来计算由lk确定的校验数据;
(5)若仍有未计算校验位,则按照(4)计算规则,以lk为基础向量,寻找下一待计算向量,并返回(4);
(6)是否已确定全部校验位计算过程,若是,则保存校验位依次计算过程,若否,则按照原始对应关系进行计算。
进一步,所述检验数据的存储与索引处理方法包括:
(1)首先将每一行,即一条记录以主键作为rowkey的属性名作为列族名,所有列族都只有一个列,列名固定,属性值作为列值,存储到HBase中;将每一个属性存储到一个列族中,当校验规则涉及根据主键匹配某一属性值时,不相关的属性值被读入;
(2)再将校验规则涉及的属性字段值作为rowkey建立索引表.索引表的行键格式为{主表索引列值},索引表的值格式为{主表行键1,主表行键2,…};将每一个主表行键作为一个列名存储,当需要增加一个主表行键时,只需要增加一列,当校验规则涉及需要根据某个属性值匹配其他属性值时,快速查找到所有具有相同属性值的记录进行校验;
(3)基于时间戳的索引表,快速地查询固定时间间隔内的数据进行校验,行键为时间戳,键值为主键,全量数据处理是针对历史积累的大批量数据进行质量校验时的数据存储与索引处理过程,输入数据与增量数据处理相同.全量数据处理数据存储与索引处理过程是:除了按照增量数据存储和索引方法将数据和索引倒入HBase后,同时抽取全量校验规则相关的属性字段,存储到HDFS索引文件中。
进一步,所述存储频繁读写操作的复用查询方法包括:
数据仓库D={S1},加载目标表T前,根据Schema Matching()算法与Filter()算法,得到三元组M′;然后将M′的相关信息保存到RTable表中,最后条用Dataload_Reusing()算法,完成原始数据的装载;
(1)查询匹配,通过查询RTable表可知T中A′4无法找到复用信息,而A′1,A′2,A′3均能在S1中找到可重用数据;
(2)查询重写,首先应确保查询语句等价,Q1中对于A′1>const1;A′1=A11,即两列数据完全等价;选择条件无需改变,对于A′2>const2,A′2与A12的数据之间存在转换关系,选择条件是否需要改变取决于目标数据的来源;sum1,sum2分别为T和S1的记录总数;若sum1=sum2,A′2完全复用A12;根据f′原查询语句重写为Q′1;SELEC T A′1,A′2,A′3,A′4FROM TWHERE A′1>const1 AND A′2>(const2/0.1);反之当sum1>sum2时;数据来源于A12中的可重用数据集外部导入的数据;对于外部导入的数据,选择条件为A′2>const2,查Q1询语句不变,对于可重用数据查询重写为Q′1;
(3)查询执行,对于完全复用,直接执行Q1;查询按照数据来源的不同被分解为由<col′t,col′s>对应的blk_id_list中得到每个复用关系中两部分数据的起止数据块,对于可重用数据执行Q′1;对于外部导入的数据仍然执行Q1;
(4)结果整合,读取可重用数据中满足条件的数据项,根据col′t=f(col′s)分别进行转化,最后整合转换后的数据并输出最终结果。
本发明的另一目的在于提供一种实现所述基于内存计算模式的并行处理大数据存储方法的基于内存计算模式的并行处理大数据存储***,所述基于内存计算模式的并行处理大数据存储***包括:
用户程序模块,分别与多核模块、内存模块、磁盘模块连接,用于将处理的数据进行输出;
磁盘模块,与内存模块连接,内存模块从磁盘获取数据,即基于传统的内存-磁盘访问模式;
内存模块,与多核模块连接,用于将存储的数据经过多核模块进行处理。
本发明的另一目的在于提供一种实现所述基于内存计算模式的并行处理大数据存储方法的计算机程序。
本发明的另一目的在于提供一种实现所述基于内存计算模式的并行处理大数据存储方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的基于内存计算模式的并行处理大数据存储方法。
综上所述,本发明的优点及积极效果为:本发明基于新型存储级内存(StorageClass Memory,SCM)和传统DRAM设计新型混合内存体系,在保持成本和能耗优势的前提下大幅提升内存容量,使计算不仅可以在DRAM内存上进行,也可以在SCM上进行,为大数据处理提供了一种基于混合内存架构的以数据为中心的处理模式,大幅度提升大数据处理的时效性。基于新型存储器件和传统DRAM设计新型混合内存体系为大数据处理提供了一个有效的支撑技术;以新型非易失型存储设备为基础构建大容量混合内存体系以加速数据处理的模式,从而大幅度提升大数据处理的时效性,称为内存计算。从体系结构上来看,内存计算模式的出现为大数据处理提供强时效、高性能、高吞吐的体系结构支持带来了可能。基于内存计算模式的并行处理***主要面临着三个重大技术问题的挑战:异构协同、高效并行和自适应调度管理。异构协同是指在体系结构和操作***层面如何实现异构层次内存体系的协同管理、透明服务的数据处理支撑环境;高效并行是指在编程模型与并行处理层面,如何基于内存计算,实现大数据高效率的并行处理环境;自适应调度管理是指内存计算并行环境中如何根据计算节点结构与特性,以及应用数据处理的特点,可以动态地采用不同合适的资源调度管理策略,以实现大数据并行处理***的资源负载平衡和高效利用。
本发明与现有技术相比,优化了编码过程,能够实现编码过程计算量的降低。在存储***对数据进行编码存储时,能够根据编码矩阵中各个行向量的特点,改变原有校验数据块的计算次序,进而减少编码过程的计算次数;利用本发明提出的方法进行对编码矩阵的优化后的计算次序,可以存储在计算机中,在以后的每次计算中,都可以按照该优化后的规则进行计算;本发明提出的编码过程优化方法,能够适用于所有二进制矩阵,特别地,该方法可以适用于任何基于二进制矩阵进行计算的相关过程,不仅适用于数据存储时的编码过程,还适用于当数据块丢失时,利用二进制校验矩阵对丢失数据块进行数据重构的过程,具有推广使用的价值。
本发明的检验数据的处理方法对营销表与GIS的全量数据进行了基于HDFS索引和装入内存进行处理的单节点、单规则的校验实验,测试结果为42s,其中从HDFS将全部HDFS索引数据装入内存花费40s,在内存中扫描完成全量校验仅耗时2s;而现有的基于数据库的数据校验生产***在执行全量校验时,单规则将花费约40min;基于Hadoop平台的验证性***进行GIS与营销表全量数据单规则校验时,其性能可比现有的基于数据库的生产***提高约50多倍.如果置一定数量的Hadoop节点实现多规则全量数据校验的并行化执行,即使多规则执行时共享访问HDFS产生一定的性能下降,但预计总的全量数据校验时间将能比目前基于数据库的生产***至少提高一个数量级。
附图说明
图1是本发明实施例提供的基于内存计算模式的并行处理大数据存储***结构示意图;
图中:1、用户程序模块;2、多核模块;3、内存模块;4、磁盘模块。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明旨在解决目前的计算机***无法有效处理PB级以上的大数据;MapReduce需要从磁盘获取数据,再将中间结果数据写回磁盘,以磁盘为基础的设计使得其效率较低,I/O开销极大,不适用于具有在线和实时性需求的应用。本发明从体系结构上来看,内存计算模式的出现为大数据处理提供强时效、高性能、高吞吐的体系结构支持带来了可能。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的基于内存计算模式的并行处理大数据存储***包括:
用户程序模块1分别与多核模块2、内存模块3、磁盘模块4连接,用于将处理的数据进行输出。
磁盘模块4与内存模块3连接,内存模块3需要从磁盘获取数据,即基于传统的内存-磁盘访问模式。
内存模块3与多核模块2连接,用于将存储的数据经过多核模块2进行处理。
本发明的基于内存计算模式的并行处理大数据存储***的存储方法为:设计将新型存储级内存SCM和传统DRAM混合的新型内存体系。
本发明实施例提供的基于内存计算模式的并行处理大数据存储***及方法包括:将新型存储级内存SCM和DRAM横向混合在一块共同作为内存,SCM主要存储原始数据用于读操作,DRAM则用于存储频繁读写操作的数据;
所述基于内存计算模式的并行处理大数据存储方法包括:将新型内存SCM和DRAM统一编址,从外存读入的原始数据存储在SCM中,将程序运行过程中频繁读写的中间数据和校验数据存入DRAM中,写入的中间数据达到一定数量时再写入到SCM中,提升数据处理的效率。
所述基于内存计算模式的并行处理大数据存储方法的数据处理进一步包括:
(1)若任意由“0,1”确定的二进制***编码矩阵为Gr·m,Gr·m为由“0,1”构成的二进制矩阵,矩阵用于产生冗余数据,具体表示为:
(2)根据二进制编码矩阵的行向量l1,l2,…,lr·m中“1”的个数确定出根据该向量计算校验位时所需要的XOR计算次数,并计算任意两向量la,lb之间不相同的位数;
(3)若向量la中元素为“1”的位数为k,则***利用该向量进行产生冗余数据需要进行k-1次XOR运算。
进一步,所述基于内存计算模式的并行处理大数据存储方法针对整个编码矩阵Gr·m对原始文件进行编码计算的优化方法包括:
(1)根据编码矩阵中Gr·m的每一行向量中“1”的个数,确定出根据该行向量计算校验位所需要的XOR次数,行向量中“1”的个数用k来标记,则利用该行向量计算校验位所需要的XOR次数为(k-1)m,其中m为每个参与校验计算的原始数据块的大小;
(2)比较编码矩阵中任意两个行向量之间的元素相同位与元素不同位的个数,记为(e/d),其中e表示两个向量中元素相同的位个数;d表示两个向量中元素不同的位个数;
(3)若某一行向量li(1≤i≤r·m)所需要的XOR次数小于或等于步骤B中不同位数d,则直接根据该向量计算出该行所对应的校验数据块,并将该向量记为lj;
(4)利用(3)确定的向量lj,根据步骤B中相同位数与不同位数之比,确定下一个计算行向量,当某行向量lk与向量lj不同位数小于相同位数,且lk与向量lj不同位数与其余各个向量不同位数达到最小时,则根据向量lj已计算出的校验数据来计算由lk确定的校验数据;
(5)若仍有未计算校验位,则按照(4)计算规则,以lk为基础向量,寻找下一待计算向量,并返回(4);
(6)是否已确定全部校验位计算过程,若是,则保存校验位依次计算过程,若否,则按照原始对应关系进行计算。
进一步,所述检验数据的存储与索引处理方法包括:
(1)首先将每一行,即一条记录以主键作为rowkey的属性名作为列族名,所有列族都只有一个列,列名固定,属性值作为列值,存储到HBase中;将每一个属性存储到一个列族中,当校验规则涉及根据主键匹配某一属性值时,不相关的属性值被读入;
(2)再将校验规则涉及的属性字段值作为rowkey建立索引表.索引表的行键格式为{主表索引列值},索引表的值格式为{主表行键1,主表行键2,…};将每一个主表行键作为一个列名存储,当需要增加一个主表行键时,只需要增加一列,当校验规则涉及需要根据某个属性值匹配其他属性值时,快速查找到所有具有相同属性值的记录进行校验;
(3)基于时间戳的索引表,快速地查询固定时间间隔内的数据进行校验,行键为时间戳,键值为主键,全量数据处理是针对历史积累的大批量数据进行质量校验时的数据存储与索引处理过程,输入数据与增量数据处理相同.全量数据处理数据存储与索引处理过程是:除了按照增量数据存储和索引方法将数据和索引倒入HBase后,同时抽取全量校验规则相关的属性字段,存储到HDFS索引文件中。
进一步,所述存储频繁读写操作的复用查询方法包括:
数据仓库D={S1},加载目标表T前,根据Schema Matching()算法与Filter()算法,得到三元组M′;然后将M′的相关信息保存到RTable表中,最后条用Dataload_Reusing()算法,完成原始数据的装载;
(1)查询匹配,通过查询RTable表可知T中A′4无法找到复用信息,而A′1,A′2,A′3均能在S1中找到可重用数据;
(2)查询重写,首先应确保查询语句等价,Q1中对于A′1>const1;A′1=A11,即两列数据完全等价;选择条件无需改变,对于A′2>const2,A′2与A12的数据之间存在转换关系,选择条件是否需要改变取决于目标数据的来源;sum1,sum2分别为T和S1的记录总数;若sum1=sum2,A′2完全复用A12;根据f′原查询语句重写为Q′1;SELECT A′1,A′2,A′3,A′4FROM TWHERE A′1>const1 A ND A′2>(con st2/0.1);反之当sum1>sum2时;数据来源于A12中的可重用数据集外部导入的数据;对于外部导入的数据,选择条件为A′2>const2,查Q1询语句不变,对于可重用数据查询重写为Q′1;
(3)查询执行,对于完全复用,直接执行Q1;查询按照数据来源的不同被分解为由<col′t,col′s>对应的blk_id_list中得到每个复用关系中两部分数据的起止数据块,对于可重用数据执行Q′1;对于外部导入的数据仍然执行Q1;
(4)结果整合,读取可重用数据中满足条件的数据项,根据col′t=f(col′s)分别进行转化,最后整合转换后的数据并输出最终结果。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于内存计算模式的并行处理大数据存储方法,其特征在于,所述基于内存计算模式的并行处理大数据存储方法将新型存储级内存SCM和DRAM横向混合在一块共同作为内存,SCM主要存储原始数据用于读操作,DRAM则用于存储频繁读写操作的数据;
所述基于内存计算模式的并行处理大数据存储方法包括:将新型内存SCM和DRAM统一编址,从外存读入的原始数据存储在SCM中,将程序运行过程中频繁读写的中间数据和校验数据存入DRAM中,写入的中间数据达到一定数量时再写入到SCM中;
所述基于内存计算模式的并行处理大数据存储方法的数据处理进一步包括:
(1)若任意由“0,1”确定的二进制***编码矩阵为Gr·m,Gr·m为由“0,1”构成的二进制矩阵,矩阵用于产生冗余数据,具体表示为:
(2)根据二进制编码矩阵的行向量l1,l2,…,lr·m中“1”的个数确定出根据该向量计算校验位时所需要的XOR计算次数,并计算任意两向量la,lb之间不相同的位数;
(3)若向量la中元素为“1”的位数为k,则***利用该向量进行产生冗余数据需要进行k-1次XOR运算。
2.如权利要求1所述的基于内存计算模式的并行处理大数据存储方法,其特征在于,所述基于内存计算模式的并行处理大数据存储方法针对整个编码矩阵Gr·m对原始文件进行编码计算的优化方法包括:
(1)根据编码矩阵中Gr·m的每一行向量中“1”的个数,确定出根据该行向量计算校验位所需要的XOR次数,行向量中“1”的个数用k来标记,则利用该行向量计算校验位所需要的XOR次数为(k-1)m,其中m为每个参与校验计算的原始数据块的大小;
(2)比较编码矩阵中任意两个行向量之间的元素相同位与元素不同位的个数,记为(e/d),其中e表示两个向量中元素相同的位个数;d表示两个向量中元素不同的位个数;
(3)若某一行向量li(1≤i≤r·m)所需要的XOR次数小于或等于步骤B中不同位数d,则直接根据该向量计算出该行所对应的校验数据块,并将该向量记为lj;
(4)利用(3)确定的向量lj,根据步骤B中相同位数与不同位数之比,确定下一个计算行向量,当某行向量lk与向量lj不同位数小于相同位数,且lk与向量lj不同位数与其余各个向量不同位数达到最小时,则根据向量lj已计算出的校验数据来计算由lk确定的校验数据;
(5)若仍有未计算校验位,则按照(4)计算规则,以lk为基础向量,寻找下一待计算向量,并返回(4);
(6)是否已确定全部校验位计算过程,若是,则保存校验位依次计算过程,若否,则按照原始对应关系进行计算。
3.如权利要求2所述的基于内存计算模式的并行处理大数据存储方法,其特征在于,所述检验数据的存储与索引处理方法包括:
(1)首先将每一行,即一条记录以主键作为rowkey的属性名作为列族名,所有列族都只有一个列,列名固定,属性值作为列值,存储到HBase中;将每一个属性存储到一个列族中,当校验规则涉及根据主键匹配某一属性值时,不相关的属性值被读入;
(2)再将校验规则涉及的属性字段值作为rowkey建立索引表.索引表的行键格式为{主表索引列值},索引表的值格式为{主表行键1,主表行键2,…};将每一个主表行键作为一个列名存储,当需要增加一个主表行键时,只需要增加一列,当校验规则涉及需要根据某个属性值匹配其他属性值时,快速查找到所有具有相同属性值的记录进行校验;
(3)基于时间戳的索引表,快速地查询固定时间间隔内的数据进行校验,行键为时间戳,键值为主键,全量数据处理是针对历史积累的大批量数据进行质量校验时的数据存储与索引处理过程,输入数据与增量数据处理相同.全量数据处理数据存储与索引处理过程是:除了按照增量数据存储和索引方法将数据和索引倒入HBase后,同时抽取全量校验规则相关的属性字段,存储到HDFS索引文件中。
4.如权利要求2所述的基于内存计算模式的并行处理大数据存储方法,其特征在于,所述存储频繁读写操作的复用查询方法包括:
数据仓库D={S1},加载目标表T前,根据SchemaMatching()算法与Filter()算法,得到三元组M′;然后将M′的相关信息保存到RTable表中,最后条用Dataload_Reusing()算法,完成原始数据的装载;
(1)查询匹配,通过查询RTable表可知T中A′4无法找到复用信息,而A′1,A′2,A′3均能在S1中找到可重用数据;
(2)查询重写,首先应确保查询语句等价,Q1中对于A′1>const1;A′1=A11,即两列数据完全等价;选择条件无需改变,对于A′2>const2,A′2与A12的数据之间存在转换关系,选择条件是否需要改变取决于目标数据的来源;sum1,sum2分别为T和S1的记录总数;若sum1=sum2,A′2完全复用A12;根据f′原查询语句重写为Q′1;SELECT A′1,A′2,A′3,A′tFROM T WHEREA′1>const1 AND A′2>(const2/0.1);反之当sum1>sum2时;数据来源于A12中的可重用数据集外部导入的数据;对于外部导入的数据,选择条件为A′2>const2,查Q1询语句不变,对于可重用数据查询重写为Q′1;
(3)查询执行,对于完全复用,直接执行Q1;查询按照数据来源的不同被分解为由<col′t,col′s>对应的blk_id_list中得到每个复用关系中两部分数据的起止数据块,对于可重用数据执行Q′1;对于外部导入的数据仍然执行Q1;
(4)结果整合,读取可重用数据中满足条件的数据项,根据col′t=f(col′s)分别进行转化,最后整合转换后的数据并输出最终结果。
5.一种实现权利要求1所述基于内存计算模式的并行处理大数据存储方法的基于内存计算模式的并行处理大数据存储***,其特征在于,所述基于内存计算模式的并行处理大数据存储***包括:
用户程序模块,分别与多核模块、内存模块、磁盘模块连接,用于将处理的数据进行输出;
磁盘模块,与内存模块连接,内存模块从磁盘获取数据,即基于传统的内存-磁盘访问模式;
内存模块,与多核模块连接,用于将存储的数据经过多核模块进行处理。
6.一种实现权利要求1~4所述基于内存计算模式的并行处理大数据存储方法的计算机程序。
7.一种实现权利要求1~4所述基于内存计算模式的并行处理大数据存储方法的信息数据处理终端。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~4所述的基于内存计算模式的并行处理大数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826423.7A CN108920110A (zh) | 2018-07-25 | 2018-07-25 | 一种基于内存计算模式的并行处理大数据存储***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810826423.7A CN108920110A (zh) | 2018-07-25 | 2018-07-25 | 一种基于内存计算模式的并行处理大数据存储***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108920110A true CN108920110A (zh) | 2018-11-30 |
Family
ID=64416718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810826423.7A Pending CN108920110A (zh) | 2018-07-25 | 2018-07-25 | 一种基于内存计算模式的并行处理大数据存储***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920110A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968269A (zh) * | 2019-11-18 | 2020-04-07 | 华中科技大学 | 基于scm与ssd的键值存储***及读写请求处理方法 |
CN112308328A (zh) * | 2020-11-09 | 2021-02-02 | 中国科学院计算技术研究所 | 面向Top-Down网络测量***的并行测量任务的优化方法及*** |
WO2021169635A1 (zh) * | 2020-02-27 | 2021-09-02 | 华为技术有限公司 | 内存设备的数据处理方法、装置和*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6599132B1 (en) * | 1999-11-30 | 2003-07-29 | The Board Of Trustees Of The Leland Stanford Junior University | Scanning capacitance sample preparation technique |
CN101349979A (zh) * | 2008-09-05 | 2009-01-21 | 清华大学 | 大规模容错磁盘阵列存储***的双磁头用户数据更新方法 |
CN103838649A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院成都生物研究所 | 一种降低二进制编码存储***中计算量的方法 |
CN105446899A (zh) * | 2015-11-09 | 2016-03-30 | 上海交通大学 | 基于存储级内存的内存数据快速持久化的方法 |
CN105930356A (zh) * | 2016-04-08 | 2016-09-07 | 上海交通大学 | 日志型异构混合内存文件***的实现方法 |
CN105938458A (zh) * | 2016-04-13 | 2016-09-14 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
-
2018
- 2018-07-25 CN CN201810826423.7A patent/CN108920110A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6599132B1 (en) * | 1999-11-30 | 2003-07-29 | The Board Of Trustees Of The Leland Stanford Junior University | Scanning capacitance sample preparation technique |
CN101349979A (zh) * | 2008-09-05 | 2009-01-21 | 清华大学 | 大规模容错磁盘阵列存储***的双磁头用户数据更新方法 |
CN103838649A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院成都生物研究所 | 一种降低二进制编码存储***中计算量的方法 |
CN105446899A (zh) * | 2015-11-09 | 2016-03-30 | 上海交通大学 | 基于存储级内存的内存数据快速持久化的方法 |
CN105930356A (zh) * | 2016-04-08 | 2016-09-07 | 上海交通大学 | 日志型异构混合内存文件***的实现方法 |
CN105938458A (zh) * | 2016-04-13 | 2016-09-14 | 上海交通大学 | 软件定义的异构混合内存管理方法 |
Non-Patent Citations (3)
Title |
---|
张志亮 等: "基于Hadoop的电网数据质量校验方法与验证***", 《计算机研究与发展》 * |
王梅 等: "一种列存储数据仓库中的数据复用策略", 《计算机学报》 * |
罗乐 等: "内存计算技术研究综述", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110968269A (zh) * | 2019-11-18 | 2020-04-07 | 华中科技大学 | 基于scm与ssd的键值存储***及读写请求处理方法 |
WO2021169635A1 (zh) * | 2020-02-27 | 2021-09-02 | 华为技术有限公司 | 内存设备的数据处理方法、装置和*** |
CN112308328A (zh) * | 2020-11-09 | 2021-02-02 | 中国科学院计算技术研究所 | 面向Top-Down网络测量***的并行测量任务的优化方法及*** |
CN112308328B (zh) * | 2020-11-09 | 2023-06-06 | 中国科学院计算技术研究所 | 面向Top-Down网络测量***的并行测量任务的优化方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chambi et al. | Better bitmap performance with roaring bitmaps | |
Lemire et al. | Consistently faster and smaller compressed bitmaps with roaring | |
US10296498B2 (en) | Coordinated hash table indexes to facilitate reducing database reconfiguration time | |
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN103177027B (zh) | 获取动态Feed索引的方法和*** | |
Kepner et al. | Achieving 100,000,000 database inserts per second using Accumulo and D4M | |
CN103812939B (zh) | 一种大数据存储*** | |
Sethi et al. | RecShard: statistical feature-based memory optimization for industry-scale neural recommendation | |
CN112269792B (zh) | 数据查询方法、装置、设备及计算机可读存储介质 | |
CN108595664B (zh) | 一种hadoop环境下的农业数据监控方法 | |
Mizrahi et al. | Blockchain state sharding with space-aware representations | |
CN108920110A (zh) | 一种基于内存计算模式的并行处理大数据存储***及方法 | |
CN104036029A (zh) | 大数据一致性对比方法和*** | |
CN106570113B (zh) | 一种海量矢量切片数据云存储方法及*** | |
CN111104457A (zh) | 基于分布式数据库的海量时空数据管理方法 | |
CN110032470A (zh) | 一种基于哈夫曼树的异构部分重复码的构造方法 | |
Hashem et al. | An Integrative Modeling of BigData Processing. | |
CN110019299A (zh) | 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置 | |
Song et al. | Fachs: Adaptive hybrid storage strategy based on file access characteristics | |
Purdilă et al. | Single‐scan: a fast star‐join query processing algorithm | |
Choi et al. | OurRocks: offloading disk scan directly to GPU in write-optimized database system | |
Ma et al. | Blockchain retrieval model based on elastic bloom filter | |
Bai et al. | An efficient skyline query algorithm in the distributed environment | |
CN111260452A (zh) | 一种税务大数据模型的构建方法及*** | |
Song et al. | A distributed self-adaption cube building model based on query log |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181130 |