[发明专利]一种海量不完整数据存储及操作方法在审
申请号: | 201611081152.4 | 申请日: | 2016-11-30 |
公开(公告)号: | CN106599112A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 王妍;杨钧;李俊;吴阳;宋宝燕 | 申请(专利权)人: | 辽宁大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 沈阳杰克知识产权代理有限公司21207 | 代理人: | 罗莹 |
地址: | 110000 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种海量不完整数据存储及操作方法,该方法首先根据完整数据和不完整数据的特点采用不同的处理策略,然后对不完整数据的属性缺失字段进行标记并建立对应索引;根据属性划分对索引文件再次压缩以节省存储空间,通过编码字典来完成无解压查询,在查询的基础上实现了海量不完整数据的删除,修改及插入。该方法越过数据清洗直接对海量不完整数据进行操作,可以大幅度地减少存储空间,快速定位不完整数据的压缩位置,保证查询的快速性,删除的准确性,修改结果的完整性及插入的高效性。本方法能够节省存储空间,快速定位不完整数据的压缩位置,保证查询的快速性,删除的准确性,修改结果的完整性及插入的高效性。 | ||
搜索关键词: | 一种 海量 完整 数据 存储 操作方法 | ||
【主权项】:
一种海量不完整数据存储及操作方法,其特征在于,包括如下步骤:(1)在海量不完整数据存储时,对完整数据和不完整数据分别进行压缩存储,其实现步骤如下:(1.1)对于一个海量数据库系统,经过统计后获得频繁使用的数据操作语句,即查询语句中WHERE后出现的谓词,将这些谓词分为确定性谓词Def_Val和不确定谓词Undef_val;(1.2)获得所有确定性谓词和不确定谓词后,在压缩存储时将每一条元组所满足的不确定谓词的属性值和确定性谓词作为索引存储于数据中,同时将元组存放到相应的待压缩缓存块中;当某一缓存块装满后,将其按顺序进行压缩存储,并在数据库中存储元组所在压缩文件地址;索引表包括如下字段属性:Id、Tp_Id、Undef_val_I……Undef_val_i、Def_Val、Block_Id、Delet_Flag、Com_Flag;其中Id为索引序号;Tp_Id为元组序号;字段Undef_Val_i为当前元组第i个不确定谓词的属性值;字段Def_Val以位编码形式存储当前元组所满足的确定性谓词;Block_Id为当前元组所在缓存块的序号;Delet_Flag为删除标志位,数据需要删除则置为1,否则为0;Com_Flag为数据元组完整性标志位,元组时完整的则置为1,否则为0;压缩文件地址表包括如下字段属性:Block_Id、Address;其中,Block_Id为当前元组所在缓存块的序号,字段Address为缓存块压缩后对应的压缩文件;对于n个确定性谓词Q1,Q2,。。。,Qn,设当前元组的字段Def_Val的位编码为B1B2……Bn,若当前元组满足条件Qi,则Bi=1,否则Bi=0;若数据需要删除,则令Delet_Flag=1,否则置为0;对m个谓词Q1,Q2,……,Qm,若Qi的值都存在,则Com_Flag=1;否则Com_Flag=0;(1.3)通过将索引表和压缩文件地址表在属性Block_Id上的连接能够得到完整的索引文件;不同Def_Val值对应不同的缓存块,也就对应不同的压缩文件地址;当某一缓存块压缩存储后,将为Block_Id赋一个新的值,相同的Def_Val值可以对应不同的缓存块和压缩文件地址;(1.4)海量不完整数据D*,假设D*包含m条元组,n个属性;进行压缩处理后,得到索引文件和压缩数据;假设索引文件包含i条元组j个属性,则i≥m且j≤n;对于D*的每一条元组t,首先计算t所满足的确定性谓词的Def_Val值和Com_Flag的值,将t写入为该Def_Val分配的待压缩缓存块BlockDef_Val,com_Flag中,将t的不确定查询条件的属性值Undef_vals,Def_Val,Block_IdDef_Val,Com_Flag,,Delet_Flag=0,Com_Flag插入索引表;如果Blockdef_Query,Com_Flag满足指定元组数,采取一种压缩算法将Blockdef_Query,Com_Flag进行压缩;将Block_IdDef_Query,Com_Flag和AddressDef_Query,Com_Flag写入地址表;对索引文件采用K‑OF‑N进行编码,最后可以得到压缩数据K,压缩索引文件T和编码字典M;采用K‑OF‑N编码对索引文件进行压缩;(2)基于海量不完整数据的压缩存储,完成海量不完整数据的查询操作,其实现步骤如下:(2.1)首先需通过查询条件来生成查询索引:查询索引的生成规则是:将查询语句用Undef_Query和Def_Query来表示;(2.2)①若查询索引中只存在Def_Query,则直接在压缩索引文件中根据Def_Query进行选择操作;②若查询索引中存在Undef_Query,则需要根据Undef_Query在编码字典中找到对应的编码;(2.3)在压缩索引文件中进行选择和投影操作;(2.4)解压查询结果;(3)基于海量不完整数据的压缩存储,完成海量不完整数据的删除操作,其实现步骤如下:(3.1)将删除解析成删除索引;(3.2)①如果不确定谓词存在,则在编码字典中找其对应编码,接着对压缩索引文件T删除标志位等于0,完整性标志位等于1的元组进行选择操作,然后把删除标志位置为1,对选择结果在Address进行投影,解压缩对应的Address压缩包,按删除语句进行元组删除,将未删除的元组导入压缩缓存,完成后进行压缩;②如果确定性谓词存在和不确定谓词不存在,按Def_Val值对T中完整性标志位等于1的元组进行选择操作,然后删除标志位置为1,对选择结果在Address上进行投影,对Address所对应的压缩包直接删除;当删除标志位等于1的元组超过一个界限,整体删除,接着删除对应的编码字典,得到结果;(4)基于海量不完整数据的压缩存储,完成海量不完整数据的修改操作,其实现步骤如下:(4.1)首先利用查询算法查询到需要修改的Address_Set;(4.2)将相对应的压缩包解压后导入数据库,进行修改操作,获得操作元组Tp_ID_SET集合;(4.3)将没有操作的元组导回之前的压缩包;将操作的元组导入其Update_BufferDef_Query,Com_Flag,到达一定数量后压缩,通常为150个;(4.4)索引文件T中Tp_ID属于Tp_ID_SET的元组进行修改,包括Def_Query,Com_Flag,Undef_Query,Block_ID;(4.5)修改编码字典;(5)基于海量不完整数据的压缩存储,完成海量不完整数据的插入操作,其实现步骤如下:(5.1)对于每一个需要插入的元组,首先计算其Def_Query,Com_Flag;(5.2)①如果是完整的,将t写入待压缩缓存块BlockDef_Query,Com_Flag;②如果是不完整的,则将将t写入多个待压缩缓BlockDef_Query,Com_Flag;(5.3)缓存块满后整体进行压缩,得到Block_IdDef_Query,Com_Flag和AddressDef_Query,Com_Flag;(5.4)在原来的编码字典中插入该元组的信息;(5.5)根据编码字典在压缩索引文件中插入新的元组。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辽宁大学,未经辽宁大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201611081152.4/,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置