一种采用双向索引来提高多维分析切片性能的方法技术

技术编号:16779520 阅读:56 留言:0更新日期:2017-12-12 23:51
本发明专利技术提供了一种采用双向索引来提高多维分析切片性能的方法。把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n‑1)、D(n)的维度排序,另一个数据集B按D(n)、D(n‑1)……D(2)、D(1)的维度排序;分别对两个数据集前一半维度创建索引;两个数据集里面的索引正好对应数据集里面全部的维度;然后对数据集进行数据切片,选择最优的索引所在的那个维,其它维度的条件靠遍历计算;通过这样的方法计算的记录都是按索引维度排序分布连续有序的,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太小,这样索引就能起到提高切片性能的作用。

A method to improve the performance of multidimensional analysis slices by using bi-directional index

The present invention provides a method for improving the performance of multidimensional analysis slices by using a two-way index. Copy a copy of the data into two data sets, a data set A by D (1), D (2)... D (n 1), D (n) dimension ranking, another data set by B D (n), D (n 1)...... D (2), D (1) dimension ranking; respectively on the two data sets before half dimension indexing; two data sets inside the index corresponds to the data set inside all dimensions; then the data sets are data slices, the dimension of selecting the optimal index where the calculation conditions on other dimensions, ergodic; by this method calculation records are indexed sorting dimension distribution of the continuous and orderly, in accordance with the first half dimension condition involves the calculation of the record is a piece, each piece is relatively not too small, this index can lift to the high performance of the section.

【技术实现步骤摘要】
一种采用双向索引来提高多维分析切片性能的方法
本专利技术涉及多维分析,更具体地来说,特别涉及一种采用双向索引来提高多维分析切片性能的方法。
技术介绍
多维分析是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(FastAnalysisofSharedMultidimensionalInformation),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部分,并以用户所希望的方式给出报告;M是多维性(Multidimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。多维分析展现在用户面前的是一幅幅多维视图。维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。切片和切块的逻辑概念:片是指在维上选定一个单个的值后,关心度量数据在剩余维上的分布。块是指很多片在维上选定多个值后,关心度量数据在剩余维上的分布。目前现有的切片技术是直接在数据集上遍历,缺点是性能较差,每次都要遍历所有数据。这里为什么不使用索引技术来提高性能呢?因为切片的结果集仍然不小,如果切片结果集在原数据集中呈碎片状分布,那么使用索引并不会提高性能。如果保证切片结果集在原数据集中连续存储,就需要在物理上针对每个维度将原数据集进行排序,导致占用大量空间(有N个维度就会将原数据集复制N倍),这在空间不是非常充裕的情况下是不能接受的。针对这些问题本专利技术提供了一种采用双向索引来提高多维分析切片性能的方法。
技术实现思路
为了克服前述问题,本专利技术的目的在于提供一种采用双向索引来提高多维分析切片性能的方法。一种采用双向索引来提高多维分析切片性能的方法,使用步骤为1.在业务数据系统中,把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n-1)、D(n)的维度排序,先由D(1)维度进行维度排序,然后在D(1)维度排序的基础下进行D(2)的维度排序,以此类推,到D(n)最后一个维度排序就只有一条记录,排序后数据集A里面的记录分布是连续有序的,记录由大片分布依次(D(1)>D(2)……>D(n))变小。另一个数据集B按D(n)、D(n-1)……D(2)、D(1)的维度排序,先由D(n)维度进行维度排序,然后在D(n)维度排序的基础下进行D(n-1)的维度排序,以此类推,到D(1)最后一个维度排序就只有一条记录,排序后数据集B里面的记录分布是连续有序的,记录由大片分布依次(D(n)>D(n-1)……>D(1))变小;其中D是维度;2.分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引;如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引;3.两个数据集里面的索引正好对应数据集里面全部的维度;一个数据集A里面的索引对应数据集A前半部分维度,另一个数据集B里面的索引对应数据集A后半部分维度,反之亦然;4.然后对数据集进行数据切片,如果提的条件的维落在数据集A的前半部分维度内,就去数据集A里面通过索引计算符合条件的记录;如果提的条件的维落在数据集B前半部分的维度内,就去数据集B里面通过索引计算符合条件的记录;如果提的条件是多维子集,并且有的维在数据集A的前半部分维度内,有的维在数据集B的前半部分维度内,选择最优的索引所在的那个维,这个维如果在数据集A的前半部分维度内,则选择数据集A的索引计算数据,这个维如果在数据集B的前半部分维度内,则选择数据集B的索引计算数据,其它维度的条件靠遍历计算;5.通过这样的方法计算的记录都是按索引维度排序分布连续有序的,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太小,这样索引就能起到提高切片性能的作用。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,把两个数据集里面的记录按维度排序以后,数据集里面的记录分布都是连续有序的,记录由大片分布依次(维度排列顺序)变小。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,两个数据集里面的索引正好对应数据集里面全部的维度。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,对数据集进行数据切片时,如果提的条件的维落在数据集A的前半部分维度内,就去数据集A里面通过索引计算符合条件的记录;如果提的条件的维落在数据集B前半部分的维度内,就去数据集B里面通过索引计算符合条件的记录。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,对数据集进行数据切片时,如果提的条件是多维子集,并且有的维在数据集A的前半部分维度内,有的维在数据集B的前半部分维度内,选择能降低数量级最大的那个维,这个维如果在数据集A的前半部分维度内,则选择数据集A的索引计算数据,这个维如果在数据集B的前半部分维度内,则选择数据集B的索引计算数据,其它维度条件靠遍历计算。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太小,这样索引就能起到提高切片性能的作用。如上所述的一种采用双向索引来提高多维分析切片性能的方法,其特征在于,所述方法适用于所有的系统、平台、软件、语言中。以上只是一个理论上的描述,实际实现过程中还会有各种优化的可能,但基本原理不会改变。本领域的技术人员可以对本专利技术进行各种改动和变型而不脱离本专利技术的保护范围。本专利技术的有益效果对数据集进行数据切片观察分析数据时,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太小,这样索引就能起到提高切片性能的作用。下面结合附图和实施例对本专利技术进一步说明。附图说明图1为本专利技术的流程图;具体实施方式在一家贷款公司工作人员对申请贷款客户的银行流水单信息(工作日期,入账日期,币种,对方账号,钞汇,交易代码,金额,终端号,余额,借贷,地区号,操作员)进行分析,主要对银行流水单信息数据集中的入账日期维和借贷维感兴趣,所以对入账日期维和借贷维进行数据切片分析,完全符合本专利技术专利的实施场景。首先把一份银行流水单信息数据集复制到两个数据集中,数据集A中按维度(工作日期,入账日期,币种,对方账号,钞汇,交易代码,终端号,借贷,地区号,操作员)排序,按工作日期进行维度排序,在工作日期维度排序的基础下进行入账日期维度排序,以此类推,到最后本文档来自技高网
...
一种采用双向索引来提高多维分析切片性能的方法

【技术保护点】
一种采用双向索引来提高多维分析切片性能的方法,步骤如下:a.在业务数据系统中,把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n‑1)、D(n)的维度排序,先由D(1)维度进行维度排序,然后在D(1)维度排序的基础下进行D(2)的维度排序,以此类推,到D(n)最后一个维度排序就只有一条记录,排序后数据集A里面的记录分布是连续有序的,记录由大片分布依次(D(1)>D(2)……>D(n))变小。另一个数据集B按D(n)、D(n‑1)……D(2)、D(1)的维度排序,先由D(n)维度进行维度排序,然后在D(n)维度排序的基础下进行D(n‑1)的维度排序,以此类推,到D(1)最后一个维度排序就只有一条记录,排序后数据集B里面的记录分布是连续有序的,记录由大片分布依次(D(n)>D(n‑1)……>D(1))变小;其中D是维度;b.分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引;如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引;c.两个数据集里面的索引正好对应数据集里面全部的维度;一个数据集A里面的索引对应数据集A前半部分维度,另一个数据集B里面的索引对应数据集A后半部分维度,反之亦然;d.然后对数据集进行数据切片,如果提的条件的维落在数据集A的前半部分维度内,就去数据集A里面通过索引计算符合条件的记录;如果提的条件的维落在数据集B前半部分的维度内,就去数据集B里面通过索引计算符合条件的记录;如果提的条件是多维子集,并且有的维在数据集A的前半部分维度内,有的维在数据集B的前半部分维度内,选择最优的索引所在的那个维,这个维如果在数据集A的前半部分维度内,则选择数据集A的索引计算数据,这个维如果在数据集B的前半部分维度内,则选择数据集B的索引计算数据,其它维度的条件靠遍历计算;e.通过这样的方法计算的记录都是按索引维度排序分布连续有序的,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太小,这样索引就能起到提高切片性能的作用。...

【技术特征摘要】
1.一种采用双向索引来提高多维分析切片性能的方法,步骤如下:a.在业务数据系统中,把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n-1)、D(n)的维度排序,先由D(1)维度进行维度排序,然后在D(1)维度排序的基础下进行D(2)的维度排序,以此类推,到D(n)最后一个维度排序就只有一条记录,排序后数据集A里面的记录分布是连续有序的,记录由大片分布依次(D(1)>D(2)……>D(n))变小。另一个数据集B按D(n)、D(n-1)……D(2)、D(1)的维度排序,先由D(n)维度进行维度排序,然后在D(n)维度排序的基础下进行D(n-1)的维度排序,以此类推,到D(1)最后一个维度排序就只有一条记录,排序后数据集B里面的记录分布是连续有序的,记录由大片分布依次(D(n)>D(n-1)……>D(1))变小;其中D是维度;b.分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引;如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引;c.两个数据集里面的索引正好对应数据集里面全部的维度;一个数据集A里面的索引对应数据集A前半部分维度,另一个数据集B里面的索引对应数据集A后半部分维度,反之亦然;d.然后对数据集进行数据切片,如果提的条件的维落在数据集A的前半部分维度内,就去数据集A里面通过索引计算符合条件的记录;如果提的条件的维落在数据集B前半部分的维度内,就去数据集B里面通过索引计算符合条件的记录;如果提的条件是多维子集,并且有的维在数据集A的前半部分维度内,有的维在数据集B的前半部分维度内,选择最优的索引所在的那个维,这个维如果在数据集A的前半部分维度内,则选择数据集A的索引计算数据,这个维如果在数据集B的前半部分维度内,则选择数据集B的索引计算数据,其它维度的条件靠遍历计算;e.通过这样的方法计算的记录都是按索引维度排序分布连续有序的,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太...

【专利技术属性】
技术研发人员:蒋步星
申请(专利权)人:北京润乾信息系统技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1