CN109408514A - 一种基于封闭外壳片段立方体的水利普查数据挖掘方法 - Google Patents
一种基于封闭外壳片段立方体的水利普查数据挖掘方法 Download PDFInfo
- Publication number
- CN109408514A CN109408514A CN201811275645.0A CN201811275645A CN109408514A CN 109408514 A CN109408514 A CN 109408514A CN 201811275645 A CN201811275645 A CN 201811275645A CN 109408514 A CN109408514 A CN 109408514A
- Authority
- CN
- China
- Prior art keywords
- low
- dimensional data
- bitmap
- inquiry
- closure
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于封闭外壳片段立方体的水利普查数据挖掘方法,首先将高维数据分成低维片段,再计算各低维片段的封闭立方体;利用位图索引、倒排索引相结合,建立存储结构表,快速判断聚集单元的封闭性,用封闭查询位图来代替封闭单元进行存储,仅保留不重复的基本单元、封闭查询位图以及对应的TID‑List集合,在查询封闭外壳片段立方体时,利用查询位图和倒排索引进行查找,查找范围由原来的完全立方体所有数据单元缩小到所有基本单元,快速定位查询结果。本发明在保证查询效率的前提下,使高维数据立方体得到进一步压缩。
Description
技术领域
本发明属于数据挖掘技术领域,具体涉及一种基于封闭外壳片段立方体的水利普查数据挖掘方法。
背景技术
近年来,为了提高数据立方体生成和查询效率、减少数据立方体占用的存储空间,多种数据立方体计算方法被提出,如Iceberg Cube、Condensed Cube、Quotient Cube和QC-Trees等。但物化高维数据集时,数据立方体中的聚集单元数量将随着维度数量的增加呈指数级增长,导致十分昂贵的数据立方体物化代价。采用上述物化方法,并不能从根本上解决数据量爆炸的问题。
基于上述情况,必须采用部分物化的策略进行数据立方体的计算存储,即有选择地计算整个立方体的一些子集,在存储空间和查询时间之间寻求合理的平衡。外壳立方体(Shell Cube)就是应用在一些商业化数据仓库系统的一种常用的部分物化技术。该方法在计算数据立方体时,仅预计算少量维度的聚集单元及其度量聚集值。在用户提交查询条件时,若符合查询条件的聚集单元被物化,则返回已计算的度量聚集值;若未被物化,则实时计算符合条件的度量聚集值。但是该方法存在两点不足:(1)计算量仍较大;(2)超过外壳厚度的多维OLAP的响应效率较低。
针对外壳立方体存在的不足,Xiaolei Li等提出了外壳片段立方体方法。该方法的基本思想为:对于一个n维的高维数据集,按照维度属性不相交的原则划分为k个独立的低维数据片段,计算这k个独立低维数据片段的完全数据立方体,并记录每个聚集单元的倒排索引;对于度量,创建度量属性值索引表。该方法将高维数据集划分为多个低维数据集,将高维数据立方体计算转换为多个低维数据立方体计算,避免了聚集单元数量的爆炸式增长。
根据水利专家设计的300余项统计指标进行水利普查,得到的水利普查成果数据具有数据量大、维度基数高、部分维度具有概念分层等特点。以水利普查水利工程大类下的水闸工程对象为例,维度个数超过20,记录数达到105级别。能够合理高效的分析利用水利普查成果数据,挖掘其中蕴含的水资源信息具有重要的应用价值。但面对水利普查数据,外壳片段立方体方法存在运算速度慢,存储上冗余的问题。如何在避免高维水利普查数据立方体的爆炸式增长同时进一步压缩立方体体积,同时保证数据查询效率,是目前亟待解决的问题。
发明内容
为解决上述问题,本发明提出一种基于封闭外壳片段立方体的水利普查数据挖掘方法,在保证查询效率的前提下,使高维数据立方体得到进一步压缩。
本发明采用如下技术方案,一种基于封闭外壳片段立方体的水利普查数据挖掘方法,具体步骤如下:
1)生成封闭外壳片段立方体,具体为:
11)基于外壳片段立方体方法划分维片段,即将非层次维度属性的高维数据按照维度属性互不相交的原则划分为大小为F的k个低维数据片段;
12)依次对低维数据片段进行编号FID,基于基本事实表创建每个低维数据片段对应的维度属性值对照表和度量索引对照表,所述维度属性值对照表包括索引号TID以及对应的维度属性值,所述度量索引对照表包括索引号TID以及对应的度量属性值;
13)基于基本事实表构造每个维度属性值的倒排索引表;
14)对于非层次维度属性的高维数据的每条基本单元,均按照维度属性值对照表划分为k个低维数据基本单元,对任一低维数据片段,相应地生成每条低维数据基本单元各查询位图对应的倒排索引TID-List,同时进行查询位图的封闭性行判断;在当前的低维数据片段中,所有低维数据基本单元的各查询位图对应的倒排索引TID-List均生成后进行查询位图的封闭性列判断;仅保留封闭查询位图及对应的倒排索引TID-List,生成当前低维数据片段的低维数据基本单元-查询位图-倒排索引对照表,即为当前低维数据片段对应的封闭外壳片段;重复14)直至生成所有低维数据片段对应的封闭外壳片段;
15)按照各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表存储结构输出各个低维数据片段对应的封闭外壳片段;
2)查询封闭外壳片段立方体,具体为:
21)对于查询Q=<d1,…,di,…,dn>(1<i<n),根据维度属性值对照表将查询Q按照编号FID划分为大小为F的k个子查询{<d1,…,dF>,…<di,…,dF+i>,…},即每个子查询均对应维度属性值对照表的编号FID,其中di表示当前查询中第i维的维度属性值;
22)任一子查询<di,…,dF+i>,对应的查询位图Query-Bitmap=<B1,…,BF>,在对应编号FID的各个低维数据片段对应的封闭外壳片段的低维数据基本单元-查询位图-倒排索引对照表中,查询第一条匹配<di,…,dF+i>的低维数据基本单元以及对应的封闭查询位图;
23)基于步骤22)得到的低维数据基本单元,查找对应的封闭查询位图中以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,得到对应的倒排索引TID-List即为对应编号FID的低维数据片段的查询结果;
24)重复步骤22)和步骤23)直至得到所有低维数据片段的查询结果,对各个低维数据片段的查询结果求交集,根据度量索引对照表和给定的聚集函数计算出查询结果即为查询Q=<d1,…,di,…,dn>的结果。
优选地,所述步骤14)生成各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表的具体方法为:
141)低维数据基本单元-查询位图-倒排索引对照表的第一行为所有查询位图,按实例化的维度个数从大到小排序,第一列为低维数据基本单元,从第一条低维数据基本单元开始,当前行的低维数据基本单元与当前列的查询位图确定一个聚集单元,得到该聚集单元对应的倒排索引TID-List,判断当前行的低维数据基本单元对应的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中,若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
142)生成所有低维数据基本单元的的各查询位图对应的倒排索引TID-List后,判断每一列的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中;若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
143)按步骤141)和步骤142)确定所有低维数据片段的低维数据基本单元-查询位图-倒排索引对照表。
优选地,所述步骤14)中得到聚集单元对应的倒排索引TID-List的具体方法为:对聚集单元中的每个具体维度属性值,按照其对应的倒排索引表求交集得到聚集单元的倒排索引TID-List。
优选地,所述步骤14)中进行查询位图的封闭性判断的具体方法为利用低维数据基本单元和倒排索引TID-List,对各低维数据基本单元对应的查询位图进行封闭性的判断,包括查询位图的封闭性行判断和查询位图的封闭性列判断,其中,
所述查询位图的封闭性行判断为判断当前行的低维数据基本单元对应的查询位图的封闭性,对于每一条低维数据基本单元,按照查询位图从顶层到最底层的顺序,从第二层查询位图开始,判断当前层的查询位图对应的倒排索引TID-List是否与各上层查询位图对应的倒排索引TID-List相同,若存在相同的倒排索引TID-List,则当前层的查询位图非封闭,当前低维数据基本单元与当前层查询位图确定的聚集单元为非封闭单元;若不存在相同的倒排索引TID-List,则当前层的查询位图为封闭查询位图,当前低维数据基本单元与当前层查询位图确定的聚集单元为封闭单元;
所述查询位图的封闭性列判断为,在当前的低维数据片段中,判断每一列查询位图的封闭性,具体为:在生成所有低维数据基本单元的各查询位图对应的倒排索引TID-List后,对查询位图的封闭性行判断后得到的封闭单元再次进行进行封闭性判断,对各层查询位图所确定列的单元格,按照从上往下的顺序进行判断,若当前列存在多个单元格具有相同倒排索引TID-Listj,则该查询位图为第一个值为TID-Listj的单元格所对应的低维数据基本单元的封闭查询位图,对应的聚集单元为封闭单元,该查询位图不是当前列中其他值为TID-Listj的单元格对应的低维数据基本单元的封闭查询位图,舍弃当前列中其他值为TID-Listj的单元格;若当前列不存在具有相同倒排索引的单元格,则该查询位图为每条低维数据基本单元的封闭查询位图,对应的聚集单元均为封闭单元。
优选地,所述步骤15)具体为,每条低维数据基本单元按照查询位图的实例化维度个数从小到大的顺序,存储该低维数据基本单元所有封闭查询位图,形成每条低维数据基本单元的查询位图串以及对应的倒排索引TID-List集合;
所述步骤23)具体为,步骤22)得到的低维数据基本单元所对应的查询位图串Query-Bitmaps以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,记录偏移量p,该低维数据基本单元对应的倒排索引TID-List集合中偏移量为p的倒排索引TID-List即为当前对应编号FID的低维数据片段的查询结果。
优选地,所述步骤15)中输出各个低维数据片段对应的封闭外壳片段时,每条低维数据基本单元均舍弃各位为1的查询位图。
发明所达到的有益效果:本发明一种基于封闭外壳片段立方体的水利普查数据挖掘方法,在保证查询效率的前提下,使高维数据立方体得到进一步压缩。本发明结合外壳片段立方体的分段思想、倒排索引和封闭立方体的压缩思想,并且引入位图索引代替封闭单元存储以快速定位查询结果,节省了查询响应时间,提出封闭外壳片段立方体,用以压缩水利普查数据立方体体积,加快数据查询速度。本发明先将高维数据分成低维片段,再计算各低维片段的封闭立方体,以减少数据立方体占用存储空间;利用位图索引、倒排索引相结合,建立存储结构表,快速判断聚集单元的封闭性,用封闭查询位图来代替封闭单元进行存储,仅保留不重复的基本单元、封闭查询位图以及对应的TID-List集合,不保留传统外壳片段立方体中计算的聚集单元,虽然查询位图会占用一部分存储空间,但是相对完全立方体中聚集单元所占用的空间而言,其存储空间很小,能够减少立方体结果集大小,使查询响应效率得到提升。
附图说明
图1是本发明实施例的水闸工程星型模型图;
图2是本发明实施例的生成封闭外壳片段立方体的流程图;
图3是本发明实施例的水闸工程对象数据立方体片段划分图;
图4是本发明实施例的查询封闭外壳片段立方体的流程图;
图5是本发明实施例的不同外壳片段大小存储空间对比图;
图6是本发明实施例的不同外壳片段大小查询响应时间对比图。
具体实施方式
下面根据附图并结合实施例对本发明的技术方案作进一步阐述。
如图1所示,本实施例中的数据为第一次全国水利普查水闸对象部分数据和模拟数据,包括18个维度属性(水闸类型、主要建筑物级别、流域水系、防洪标准、工程规模、引水用途、年代分类、工程建设情况、水资源区划、行业部门、工程位置、管理单位隶属关系、水利管理单位类型、是否套闸、行政区划、是否引排双向闸、是否确权、是否划界)和5个度量属性(水闸数量(个)、过闸流量(立方米/秒)、引(进)水闸引水能力(万立方米)、橡胶坝坝高(米)、橡胶坝坝长(米)),模型数据量为5×105条。采用结构化查询语言(Structured QueryLanguage,SQL)在数据库中抽取所需要的水闸对象字段数据,并预先对各字段进行规范化处理。
本实施例对抽取的水闸对象数据进行数据清洗和转换,在形成数据仓库之前,对错误的、重复的、不一致的数据进行更正,保证数据正确性的操作称之为数据清洗。通过内建函数库、自定义脚本、表连接等方法将原始数据变为符合规范的目标数据称为数据转换,主要的数据转换方式包括:数据类型转换、数据拼接、数据汇总计算等。水利普查成果数据中存在的数据质量问题包括错报、重复、漏报、数据类型不符合标准、计量单位前后不一致、数据精度有误等。为保证水利普查数据的规范性、完整性、真实性以及有效性,在生成数据立方体之前对抽取的水闸对象数据进行核对、清洗和转换。需要说明的是,进行数据清洗和转换均为现有技术,此处不再赘述。
一种基于封闭外壳片段立方体的水利普查数据挖掘方法,包括以下步骤:
1)生成封闭外壳片段立方体,如图2所示,具体为:
11)基于外壳片段立方体方法划分维片段,即将非层次维度属性的高维数据按照维度属性互不相交的原则划分为大小为F的k个低维数据片段;
对于一个具有n个非层次维度属性的高维数据集,按照维度属性互不相交的原则,分割为k个低维数据片段。
如图3所示,将水闸工程对象数据所涉及的非层次维度按照互不相交的原则进行维片段的划分,得到具有3个层次维度属性和15个非层次维度属性的水闸工程对象数据,其中3个层次维(行政区划,水资源区划,流域水系)各为一个单独维片段,非层次维以3作为维片段大小,将15个非层次维(工程规模、水闸类型、主要建筑物级别、防洪标准、引水用途、年代分类、工程建设情况、行业部门、工程位置、管理单位隶属关系、水利管理单位类型、是否套闸、是否引排双向闸、是否确权、是否划界)划分为5个低维数据片段。根据需要确定将哪些维度划分到同一个维片段,最终确定水闸工程对象低维数据片段的划分。
12)依次对低维数据片段进行编号FID,基于基本事实表创建每个低维数据片段对应的维度属性值对照表(FID-Dimensions表)和度量索引对照表(TID-measure表),所述维度属性值对照表包括索引号TID以及对应的维度属性值,所述度量索引对照表包括索引号TID以及对应的度量属性值;
水闸工程基本事实表简表如表1所示,其中包含三个非层次维度属性:工程规模(GCGM)、水闸类型(SZLX)和防洪标准(FHBZ)和一个度量属性:过闸流量(GZLL)。
表1水闸工程基本事实表简表
TID | GCGM | SZLX | FHBZ | … | GZLL(m<sup>3</sup>/s) |
1 | 5 | 1 | 1 | … | 11.3 |
2 | 4 | 2 | 1 | … | 119.4 |
3 | 5 | 2 | 2 | … | 96.3 |
4 | 4 | 1 | 1 | … | 127.3 |
5 | 5 | 1 | 1 | … | 168.2 |
… | … | … | … | … | … |
表2是基于表1的度量索引对照表(TID-Measure表)。
表2度量索引对照表(TID-Measure表)
TID | GZLL(m<sup>3</sup>/s) | … |
1 | 11.3 | … |
2 | 119.4 | … |
3 | 96.3 | … |
4 | 127.3 | … |
5 | 168.2 | … |
… | … | … |
13)基于基本事实表构造每个维度属性值的倒排索引表;表3是水闸工程基本事实表简表(表1)的维度属性值倒排索引表。
表3维度属性值倒排索引表
14)对于非层次维度属性的高维数据的每条基本单元,均按照维度属性值对照表FID-Dimensions划分为k个低维数据基本单元,对任一低维数据片段,相应地生成每条低维数据基本单元各查询位图(Query-Bitmap)对应的倒排索引TID-List,同时进行查询位图的封闭性行判断;在当前的低维数据片段中,所有低维数据基本单元的各查询位图对应的倒排索引TID-List均生成后进行查询位图的封闭性列判断;仅保留封闭查询位图及对应的倒排索引TID-List,生成当前低维数据片段的低维数据基本单元-查询位图-倒排索引对照表(BUT/Query-Bitmaps/TID-Lists对照表),即为当前低维数据片段对应的封闭外壳片段;重复14)直至生成所有低维数据片段对应的封闭外壳片段;
生成各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表的具体方法为:
141)低维数据基本单元-查询位图-倒排索引对照表的第一行为所有查询位图,按实例化的维度个数从大到小排序,第一列为低维数据基本单元,从第一条低维数据基本单元开始,当前行的低维数据基本单元与当前列的查询位图确定一个聚集单元,得到该聚集单元对应的倒排索引TID-List,判断当前行的低维数据基本单元对应的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中,若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
142)生成所有低维数据基本单元的的各查询位图对应的倒排索引TID-List后,判断每一列的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中;若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
143)按步骤141)和步骤142)确定所有低维数据片段的低维数据基本单元-查询位图-倒排索引对照表。
得到聚集单元对应的倒排索引TID-List的具体方法为:对聚集单元中的每个具体维度属性值,按照其对应的倒排索引表求交集得到聚集单元的倒排索引TID-List。
进行查询位图的封闭性判断的具体方法为利用低维数据基本单元和倒排索引TID-List,对各低维数据基本单元对应的查询位图进行封闭性的判断,包括查询位图的封闭性行判断和查询位图的封闭性列判断,其中,
所述查询位图的封闭性行判断为判断当前行的低维数据基本单元对应的查询位图的封闭性,对于每一条低维数据基本单元,按照查询位图从顶层到最底层的顺序,从第二层查询位图开始,判断当前层的查询位图对应的倒排索引TID-List是否与各上层查询位图对应的倒排索引TID-List相同,若存在相同的倒排索引TID-List,则当前层的查询位图非封闭,当前低维数据基本单元与当前层查询位图确定的聚集单元为非封闭单元;若不存在相同的倒排索引TID-List,则当前层的查询位图为封闭查询位图,当前低维数据基本单元与当前层查询位图确定的聚集单元为封闭单元;
所述查询位图的封闭性列判断为,在当前的低维数据片段中,判断每一列查询位图的封闭性,具体为:在生成所有低维数据基本单元的各查询位图对应的倒排索引TID-List后,对查询位图的封闭性行判断后得到的封闭单元再次进行进行封闭性判断,对各层查询位图所确定列的单元格,按照从上往下的顺序进行判断,若当前列存在多个单元格具有相同倒排索引TID-Listj,则该查询位图为第一个值为TID-Listj的单元格所对应的低维数据基本单元的封闭查询位图,对应的聚集单元为封闭单元,该查询位图不是当前列中其他值为TID-Listj的单元格对应的低维数据基本单元的封闭查询位图,舍弃当前列中其他值为TID-Listj的单元格;若当前列不存在具有相同倒排索引的单元格,则该查询位图为每条低维数据基本单元的封闭查询位图,对应的聚集单元均为封闭单元。
根据封闭单元的定义,行判断可去除该低维数据基本单元产生的聚集单元中非封闭单元,通过列判断去除位于下面的低维数据基本单元组产生的聚集单元中的非封闭单元。
表4为基于水闸工程事实表简表(表1)构造的BUT/Query-Bitmaps/TID-Lists对照表,其中用斜线划掉的数据为非封闭单元对应的TID-List。现以表4为例对BUT/Query-Bitmaps/TID-Lists构造过程进行说明:首先,以水闸工程事实表简表(表1)中4条低维数据基本单元BUT作为构建基础,它们代表查询位图为111(Query-Bitmap=111)的聚集单元,在每条BUT与Query-Bitmap=111确定的单元格位置上存储BUT的TID-List。对于聚集单元(*,*,*),*表示取值为任意值,其TID-List为所有TID的集合,无需记录。然后,对第一条BUT=(5,1,1)进行处理,当Query-Bitmap=110时,对应聚集单元为(5,1,*),根据表2维度属性值倒排索引对照表,计算该聚集单元的TID-List=[1,5]。由于(5,1,*)的TID-List与其上层查询位图中Query-Bitmap=111对应单元格中的TID-List相同,因此Query-Bitmap=110为BUT=(5,1,1)的非封闭查询位图,故舍弃该TID-List,即表4中BUT=(5,1,1)与Query-Bitmap=110确定单元格的值用斜线划掉。当Query-Bitmap=011时,对应聚集单元为(*,1,1),根据查询位图判断方法对Query-Bitmap=011进行判断,Query-Bitmap=011为BUT=(5,1,1)的封闭查询位图,故将其TID-List存储到对应单元格中。重复上述步骤,完成BUT/Query-Bitmaps/TID-Lists的构造。
表4 BUT/Query-Bitmaps/TID-Lists对照表
15)按照各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表存储结构输出各个低维数据片段对应的封闭外壳片段;
BUT/Query-Bitmaps/TID-Lists对照表存储结构:由于BUT/Query-Bitmaps/TID-Lists对照表数据较为稀疏,保存在文件中将会浪费部分存储空间。因此,在输出各个低维数据片段对应的封闭外壳片段时,每条低维数据基本单元按照查询位图的实例化维度个数从小到大的顺序,存储该低维数据基本单元所有封闭查询位图,形成每条低维数据基本单元的查询位图串以及对应的倒排索引TID-List集合;
由于每条基本单元均具有查询位图各位取值均为1的记录,因此为节约存储空间,每条低维数据基本单元均舍弃各位均为1的查询位图。
表5 BUT/Query-Bitmaps/TID-Lists对照表存储结构
由表1生成的BUT/Query-Bitmaps/TID-Lists对照表的存储结构如表5所示(其中使用横线划掉的数据为查询位图111)。对于基本单元(5,1,1),其所有封闭查询位图按照实例化维度个数从小到大的顺序,顺序拼接并去掉查询位图111得到查询位图串Query-Bitmaps为:001100011,其对应的TID-List集合为:{[1,2,4,5],[1,3,5],[1,4,5],[1,5]}。
此处以河北省石家庄市水闸工程对象非层次维片段{工程规模,水闸类型,主要建筑物级别}为例再次进行阐述,其中包含方体{工程规模,ALL,ALL}、{ALL,水闸类型,ALL}、{ALL,ALL,主要建筑物级别}、{工程规模,水闸类型,ALL}、{工程规模,ALL,主要建筑物级别}、{ALL,水闸类型,主要建筑物级别}、{工程规模,水闸类型,主要建筑物级别}。其中方体{ALL,ALL,ALL}对应的查询结果为全集,因此不用存储此方体。{工程规模,水闸类型,主要建筑物级别}的封闭外壳片段如表6所示。其中工程规模有6种属性取值:“1”代表大(1)型水闸、“2”代表大(2)型水闸、“3”代表中型水闸、“4”代表小(1)型水闸、“5”代表小(2)型水闸、“-1”代表未知规模水闸(此处“-1”表示水利普查原始数据中工程规模维度取值为null的情况,特新增工程规模属性值“-1”代替null值);水闸类型有7种属性取值:“1”代表分(泄)洪闸、“2”代表节制闸、“3”代表排(退)水闸、“4”代表引(进)水闸、“5”代表挡潮闸、“6”代表橡胶坝、“-1”代表未知水闸分类;主要建筑物级别有6种属性取值:“1”代表建筑物级别1级、“2”代表建筑物级别2级、“3”代表建筑级别3级、“4”代表建筑物级别4级、“5”代表建筑物级别5级、“-1”代表未知建筑物级别。
表6{工程规模,水闸类型,主要建筑物级别}的封闭外壳片段
2)查询封闭外壳片段立方体,如图4所示,具体为:
21)对于查询Q=<d1,…,di,…,dn>(1<i<n),根据维度属性值对照表FID-Dimensions将查询Q按照编号FID划分为大小为F的k个子查询{<d1,…,dF>,…<di,…,dF+i>,…},即每个子查询均对应维度属性值对照表的编号FID,其中di表示当前查询中第i维的维度属性值;
22)任一子查询<di,…,dF+i>,对应的查询位图Query-Bitmap=<B1,…,BF>,在对应编号FID的各个低维数据片段对应的封闭外壳片段BUT/Query-Bitmaps/TID-Lists对照表中,查询第一条匹配<di,…,dF+i>的低维数据基本单元以及对应的封闭查询位图;
查找范围由原来的完全立方体所有数据单元缩小到所有基本单元,缩小了查询范围。
23)基于步骤22)得到的低维数据基本单元,查找对应的封闭查询位图中以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,得到对应的倒排索引TID-List即为对应编号FID的低维数据片段的查询结果;
步骤22)得到的低维数据基本单元所对应的查询位图串Query-Bitmaps以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,记录偏移量p,该低维数据基本单元对应的倒排索引TID-List集合中偏移量为p的倒排索引TID-List即为当前对应编号FID的低维数据片段的查询结果。若步骤15)中每条低维数据基本单元均舍弃各位均为1的查询位图,则低维数据基本单元所对应的查询位图串Query-Bitmaps以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,对于查找不到匹配的查询位图(即查询位图各位均为1)的情况,此时该低维数据基本单元对应的倒排索引TID-List集合中最后一个倒排索引TID-List即为当前对应编号FID的低维数据片段的查询结果。
用查询位图的方式快速定位查询结果,从而节省了查询响应时间。
24)重复步骤22)和步骤23)直至得到所有低维数据片段的查询结果,对各个低维数据片段的查询结果求交集,根据度量索引对照表TID-Measure和给定的聚集函数计算出查询结果即为查询Q=<d1,…,di,…,dn>的结果。
对于封闭外壳片段gcgm-szlx-fhbz(表5),查询Q=<4,*,1>,其Query-Bitmap=101。对照表中与<4,*,1>匹配的第一条记录为低维数据基本单元(4,2,1),对应的查询位图串Query-Bitmaps=010101,倒排索引集合TID-Lists={[2,3],[2,4],[2]}。由于该片段大小为3,因此在查询位图串中以3位为一个匹配单元,即在010101中匹配101,匹配到的记录偏移量为1。在倒排索引集合中偏移量为1的TID-List=[2,4],在TID-Measure表中根据倒排索引[2,4]取得对应的度量值,按照给定聚集函数进行计算得到的结果即为查询Q=<4,*,1>的结果。
对于步骤15中)每条低维数据基本单元均舍弃各位均为1的查询位图,查询Q=<4,2,1>,其Query-Bitmap=111。对照表中与<4,2,1>匹配的第一条记录为低维数据基本单元(4,2,1),对应的查询位图串Query-Bitmaps=010101,倒排索引集合TID-Lists={[2,3],[2,4],[2]}。由于该片段大小为3,因此在查询位图串中以3位为一个匹配单元,即在010101中匹配111,由于每条低维数据基本单元均舍弃各位均为1的查询位图,在倒排索引集合中对应的倒排索引为最后一个倒排索引,TID-List=[2],在TID-Measure表中根据倒排索引[2]取得对应的度量值,按照给定聚集函数进行计算得到的结果即为查询Q=<4,1,1>的结果。
分别选用大小为2到4的外壳片段,对本发明提出的封闭外壳片段立方体方法(CFSC)、传统外壳片段立方体方法(Frag-Shells Cube)以及采用传统封闭立方体计算每个外壳片段的方法(Closed Cube)在存储空间方面进行对比,如图5所示。
外壳片段越大,存储空间越大,因为每个片段需计算的聚集单元数量随着维度数量的增加而成倍增加,从而每个外壳片段的聚集结果集体积也随之增加;采用CFSC方法,仅保留不重复的基本单元、封闭查询位图以及对应的TID-List集合,不用保留传统外壳片段立方体中计算的聚集单元,虽然查询位图会占用一部分存储空间,但是对比起完全立方体中聚集单元所占用的空间,是非常少的。从图5可以看出,CFSC方法相对其他两种方法而言,占据的存储空间更少,特别是与每个外壳片段均采用传统封闭立方体计算的方法(ClosedCube)对比,使用封闭查询位图的方法代替封闭单元,能够减少立方体结果集大小。因此,CFSC方法在减少立方体所占存储空间方面具有一定的优势。
分别选用大小2到4的外壳片段,对本发明提出的封闭外壳片段立方体方法(CFSC)、传统外壳片段立方体方法(Frag-Shells Cube)以及采用传统封闭立方体计算每个外壳片段的方法(Closed Cube),在查询响应时间方面进行对比,结果如图6。
随着外壳片段大小的增加,查询响应时间减少,这是因为对TID-List求交集运算的次数减少;从图5可以看出,CFSC方法相对其他两种方法而言,占据的存储空间更少,特别是采用CFSC方法,查找范围由原来的完全立方体所有数据单元缩小到所有基本单元,且查询位图的方式快速定位查询结果,从而节省了查询响应时间。而采用传统封闭立方体计算每个外壳片段的方法(Closed Cube)需要进行覆盖查找,因此在响应查询方面较慢。
名词解释:
查询位图:一个n维查询Q=<d1,…di,…dn>(1<i<n)对应的查询位图为一个n维的位图向量<B1,…Bi,…Bn>,其中,di表示当前查询中第i维的维度属性值,若di取值为任意值(All),则对应的位图向量相应位Bi取值为0;若di取值为具体的某一维度属性值,则对应的位图向量相应位Bi取值为1;位图向量中取值为1的Bi的个数即为实例化的维度个数,实例化的维度个数最大的查询位图为顶层,实例化的维度个数最小的查询位图为最底层,即顶层:查询位图各位取值均为1,第二层:查询位图中有一位取值为0,第三层:查询位图中有两位取值为0,以此类推。
基本事实表:包含索引号TID的维度属性值和度量属性值的事实表。
封闭单元与封闭查询位图:基本单元与查询位图确定的聚集单元为封闭单元,则该查询位图为基本单元的一个封闭查询位图,基本单元与封闭查询位图所确定的聚集单元为封闭单元。
以上所述仅为本发明的优选实施方式,用以说明本发明的技术方案,而非对其限制;应当指出:对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,包括以下步骤:
1)生成封闭外壳片段立方体,具体为:
11)基于外壳片段立方体方法划分维片段,即将非层次维度属性的高维数据按照维度属性互不相交的原则划分为大小为F的k个低维数据片段;
12)依次对低维数据片段进行编号FID,基于基本事实表创建每个低维数据片段对应的维度属性值对照表和度量索引对照表,所述维度属性值对照表包括索引号TID以及对应的维度属性值,所述度量索引对照表包括索引号TID以及对应的度量属性值;
13)基于基本事实表构造每个维度属性值的倒排索引表;
14)对于非层次维度属性的高维数据的每条基本单元,均按照维度属性值对照表划分为k个低维数据基本单元,对任一低维数据片段,相应地生成每条低维数据基本单元各查询位图对应的倒排索引TID-List,同时进行查询位图的封闭性行判断;在当前的低维数据片段中,所有低维数据基本单元的各查询位图对应的倒排索引TID-List均生成后进行查询位图的封闭性列判断;仅保留封闭查询位图及对应的倒排索引TID-List,生成当前低维数据片段的低维数据基本单元-查询位图-倒排索引对照表,即为当前低维数据片段对应的封闭外壳片段;重复14)直至生成所有低维数据片段对应的封闭外壳片段;
15)按照各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表存储结构输出各个低维数据片段对应的封闭外壳片段;
2)查询封闭外壳片段立方体,具体为:
21)对于查询Q=<d1,…,di,…,dn>(1<i<n),根据维度属性值对照表将查询Q按照编号FID划分为大小为F的k个子查询{<d1,…,dF>,…<di,…,dF+i>,…},即每个子查询均对应维度属性值对照表的编号FID,其中di表示当前查询中第i维的维度属性值;
22)任一子查询<di,…,dF+i>,对应的查询位图Query-Bitmap=<B1,…,BF>,在对应编号FID的各个低维数据片段对应的封闭外壳片段的低维数据基本单元-查询位图-倒排索引对照表中,查询第一条匹配<di,…,dF+i>的低维数据基本单元以及对应的封闭查询位图;
23)基于步骤22)得到的低维数据基本单元,查找对应的封闭查询位图中以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,得到对应的倒排索引TID-List即为对应编号FID的低维数据片段的查询结果;
24)重复步骤22)和步骤23)直至得到所有低维数据片段的查询结果,对各个低维数据片段的查询结果求交集,根据度量索引对照表和给定的聚集函数计算出查询结果即为查询Q=<d1,…,di,…,dn>的结果。
2.根据权利要求1所述的一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,所述步骤14)生成各个低维数据片段的低维数据基本单元-查询位图-倒排索引对照表的具体方法为:
141)低维数据基本单元-查询位图-倒排索引对照表的第一行为所有查询位图,按实例化的维度个数从大到小排序,第一列为低维数据基本单元,从第一条低维数据基本单元开始,当前行的低维数据基本单元与当前列的查询位图确定一个聚集单元,得到该聚集单元对应的倒排索引TID-List,判断当前行的低维数据基本单元对应的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中,若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
142)生成所有低维数据基本单元的的各查询位图对应的倒排索引TID-List后,判断每一列的查询位图的封闭性,即判断前述确定的聚集单元的封闭性,若该聚集单元为封闭单元,则将该聚集单元对应的倒排索引TID-List存储在当前行的低维数据基本单元与当前列的查询位图确定的单元格中;若该聚集单元为非封闭单元,则舍弃对应的倒排索引TID-List;
143)按步骤141)和步骤142)确定所有低维数据片段的低维数据基本单元-查询位图-倒排索引对照表。
3.根据权利要求2所述的一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,所述步骤14)中得到聚集单元对应的倒排索引TID-List的具体方法为:对聚集单元中的每个具体维度属性值,按照其对应的倒排索引表求交集得到聚集单元的倒排索引TID-List。
4.根据权利要求2所述的一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,所述步骤14)中进行查询位图的封闭性判断的具体方法为利用低维数据基本单元和倒排索引TID-List,对各低维数据基本单元对应的查询位图进行封闭性的判断,包括查询位图的封闭性行判断和查询位图的封闭性列判断,其中,
所述查询位图的封闭性行判断为判断当前行的低维数据基本单元对应的查询位图的封闭性,对于每一条低维数据基本单元,按照查询位图从顶层到最底层的顺序,从第二层查询位图开始,判断当前层的查询位图对应的倒排索引TID-List是否与各上层查询位图对应的倒排索引TID-List相同,若存在相同的倒排索引TID-List,则当前层的查询位图非封闭,当前低维数据基本单元与当前层查询位图确定的聚集单元为非封闭单元;若不存在相同的倒排索引TID-List,则当前层的查询位图为封闭查询位图,当前低维数据基本单元与当前层查询位图确定的聚集单元为封闭单元;
所述查询位图的封闭性列判断为,在当前的低维数据片段中,判断每一列查询位图的封闭性,具体为:在生成所有低维数据基本单元的各查询位图对应的倒排索引TID-List后,对查询位图的封闭性行判断后得到的封闭单元再次进行进行封闭性判断,对各层查询位图所确定列的单元格,按照从上往下的顺序进行判断,若当前列存在多个单元格具有相同倒排索引TID-Listj,则该查询位图为第一个值为TID-Listj的单元格所对应的低维数据基本单元的封闭查询位图,对应的聚集单元为封闭单元,该查询位图不是当前列中其他值为TID-Listj的单元格对应的低维数据基本单元的封闭查询位图,舍弃当前列中其他值为TID-Listj的单元格;若当前列不存在具有相同倒排索引的单元格,则该查询位图为每条低维数据基本单元的封闭查询位图,对应的聚集单元均为封闭单元。
5.根据权利要求1所述的一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,所述步骤15)具体为,每条低维数据基本单元按照查询位图的实例化维度个数从小到大的顺序,存储该低维数据基本单元所有封闭查询位图,形成每条低维数据基本单元的查询位图串以及对应的倒排索引TID-List集合;
所述步骤23)具体为,步骤22)得到的低维数据基本单元所对应的查询位图串Query-Bitmaps以F位为一个匹配单元,查找匹配<B1,…,BF>的查询位图,记录偏移量p,该低维数据基本单元对应的倒排索引TID-List集合中偏移量为p的倒排索引TID-List即为当前对应编号FID的低维数据片段的查询结果。
6.根据权利要求1或5所述的一种基于封闭外壳片段立方体的水利普查数据挖掘方法,其特征在于,所述步骤15)中输出各个低维数据片段对应的封闭外壳片段时,每条低维数据基本单元均舍弃各位为1的查询位图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811275645.0A CN109408514A (zh) | 2018-10-30 | 2018-10-30 | 一种基于封闭外壳片段立方体的水利普查数据挖掘方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811275645.0A CN109408514A (zh) | 2018-10-30 | 2018-10-30 | 一种基于封闭外壳片段立方体的水利普查数据挖掘方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109408514A true CN109408514A (zh) | 2019-03-01 |
Family
ID=65469800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811275645.0A Withdrawn CN109408514A (zh) | 2018-10-30 | 2018-10-30 | 一种基于封闭外壳片段立方体的水利普查数据挖掘方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408514A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781245A (zh) * | 2019-09-12 | 2020-02-11 | 南宁师范大学 | 民族文化知识数据仓库的构建方法 |
WO2022016532A1 (en) * | 2020-07-24 | 2022-01-27 | Alibaba Group Holding Limited | Efficient scan through comprehensive bitmap-index over columnar storage format |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399926A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 水利普查数据多维分析服务系统及其封装和实现方法 |
US9141766B2 (en) * | 2010-09-28 | 2015-09-22 | Technische Universiteit Eindhoven | Perfusion scanning detects angiogenesis from similarity in evolution of local concentrations of contrast agent |
CN108846040A (zh) * | 2018-05-29 | 2018-11-20 | 东华大学 | 一种基于olap的处方笺多维分析方法及系统 |
-
2018
- 2018-10-30 CN CN201811275645.0A patent/CN109408514A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141766B2 (en) * | 2010-09-28 | 2015-09-22 | Technische Universiteit Eindhoven | Perfusion scanning detects angiogenesis from similarity in evolution of local concentrations of contrast agent |
CN103399926A (zh) * | 2013-08-05 | 2013-11-20 | 河海大学 | 水利普查数据多维分析服务系统及其封装和实现方法 |
CN108846040A (zh) * | 2018-05-29 | 2018-11-20 | 东华大学 | 一种基于olap的处方笺多维分析方法及系统 |
Non-Patent Citations (3)
Title |
---|
QUN ZHAO等: "-A Closed Frag-Shells Cubing Algorithm on High Dimensional and Non-Hierarchical Data Sets", 《PROCEEDINGS OF ACM IMCOM CONFERENCE 2018》 * |
唐珊珊等: "水利普查成果数据立方体并行计算方法研究", 《水利信息化》 * |
朱凯等: "水利普查成果分析中数据立方体计算研究", 《计算机与数字工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781245A (zh) * | 2019-09-12 | 2020-02-11 | 南宁师范大学 | 民族文化知识数据仓库的构建方法 |
WO2022016532A1 (en) * | 2020-07-24 | 2022-01-27 | Alibaba Group Holding Limited | Efficient scan through comprehensive bitmap-index over columnar storage format |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abbasifard et al. | A survey on nearest neighbor search methods | |
Goil et al. | A parallel scalable infrastructure for OLAP and data mining | |
CN102799682B (zh) | 一种海量数据预处理方法及其系统 | |
CN101504654B (zh) | 一种实现数据库模式自动匹配的方法 | |
US20020087567A1 (en) | Unified binary model and methodology for knowledge representation and for data and information mining | |
CN102609441A (zh) | 基于分布熵的局部敏感哈希高维索引方法 | |
CN103955542B (zh) | 文本词间完全加权正负关联模式挖掘方法及其挖掘系统 | |
CN104216874B (zh) | 基于相关系数的中文词间加权正负模式挖掘方法及系统 | |
CN109359172A (zh) | 一种基于图划分的实体对齐优化方法 | |
CN108009265B (zh) | 一种云计算环境下的空间数据索引方法 | |
CN106326475A (zh) | 一种高效的静态哈希表实现方法及系统 | |
CN102750286A (zh) | 一种处理缺失数据的新型决策树分类器方法 | |
CN106991141A (zh) | 一种基于深度剪枝策略的关联规则挖掘方法 | |
CN113434736A (zh) | 一种面向遥感大数据的多维混合索引方法及系统 | |
CN109408514A (zh) | 一种基于封闭外壳片段立方体的水利普查数据挖掘方法 | |
CN107180079A (zh) | 基于卷积神经网络以及树与哈希结合索引的图像检索方法 | |
CN106095951A (zh) | 基于负载均衡和查询日志的数据空间多维索引方法 | |
Chazelle et al. | An algorithm for generalized point location and its applications | |
CN110389932A (zh) | 电力文件自动分类方法及装置 | |
Paradies et al. | How to juggle columns: an entropy-based approach for table compression | |
CN108681577A (zh) | 一种新型的库结构数据索引方法 | |
CN106682173B (zh) | 一种社保大数据olap预处理方法及在线分析查询方法 | |
CN113254517A (zh) | 一种基于互联网大数据的服务提供方法 | |
CN110489448A (zh) | 基于Hadoop的大数据关联规则的挖掘方法 | |
Diop et al. | Trie-based Output Space Itemset Sampling |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190301 |