一种联机分析处理系统中多维数据读写的方法和装置制造方法及图纸

技术编号:2843369 阅读:314 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种联机分析处理系统中多维数据读写的方法和装置,涉及计算机技术领域,本发明专利技术的方法包括:预先设定内存中存储多维数据量的阈值,从数据源中获取初始数据,设定初始数据中各个维度中成员的任意组合,将所述组合和其相对应初始数据中的度量值数据存储到内存中;如果超出所述内存阈值,则将所述超出内存阈值的各个组合划分到至少一个以上的集合中,生成与所述集合相对应的标识存储到内存中,将所述超出内存阈值的各个组合和其相对应初始数据中的度量值数据、及所述集合相对应的标识存储到磁盘中,利用所述组合从内存、或利用所述组合和所述标识从磁盘中读取相应的度量值数据。本发明专利技术还公开了一种联机分析处理系统中多维数据读写的装置。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是指一种联机分析处理系统中多维数据读写的方法和装置
技术介绍
在科技快速发展的今天,社会各个领域中的需要统计的数据都飞速增长,海量数据的记录、查询为计算机技术带来新的发展方向,提供新的技术课题。企业资源计划(ERP,Enterprise Recourse Planning)系统为企业的带来新的数据管理方式。通过ERP系统,企业能更加高效的运用、管理企业的各类资源。ERP数据库中存储大量的数据,从分析处理过程来看,分析一般需要多表操作、较长的运行时间,若直接利用ERP业务系统的数据库中现有的数据进行决策的分析和推理、将影响ERP系统的效率,并造成繁忙的网络数据传输。因此需要结合联机分析处理系统(OLAP,Online Analytic Processing)。管理决策人员通过OLAP从不同的角度、快速灵活地对数据仓库中的数据进行多维分析处理。OLAP系统主要包括多维联机分析处理系统MOLAP(Multidimensional OLAP)和关系联机分析处理系统ROLAP(Relational OLAP)。从逻辑上看,OLAP抽象模型包括结构模型和查询模型,结构模型表示多维数据集的各种对象,查询模型表示在这些对象上面的查询。实现时将结构模型和查询模型映射为物理实现模型。OLAP结构模型中,核心是多维数据集立方体,即立方体(Cube)。Cube中含有大量的发生数据和聚合数据,聚合数据是由维度层级结构决定的,维度个数、维度成员数以及层级结构的复杂度决定了聚合数据的数据量。其中,维度是人们观察数据的特定角度,如时间维度、地理维度等。用户在某个维度上观察数据时还可以存在细节程度不同层次的各个描述方面。如,时间维度包括日期、月份、季度、年。维度中包括的成员时维度上的取值,是数据在某个维度中位置的描述。如,“某年某月某日”是在时间维度上位置的描述。通过各个不同的维度,能够更加灵活的观测数据。Cube中的每个数据均对应于各个维度中的一个成员,通过各个维度中成员的组合即可查询到相应的数据。对于多维的数据结构,OLAP服务器在数据的存储和查询上有不同的实现方式,但大都应用于海量数据,处理时,OLAP服务器预先存储有来自数据源中的海量数据,并生成Cube数据,用户通过OLAP服务器从不同维度进行数据分析时,将OLAP服务器中生成的海量Cube数据划分为多个部分数据,每次将一部分数据读入到内存中建立报表数据,再将内存中建立的报表数据组合成完整的报表后,显示到用户的终端上。上述进行OLAP数据分析时,主要是应用于海量数据的查询、分析,且查询的Cube数据是已经在OLAP服务器中生成的。对于小数据量的存储和查询,如果仍采用OLAP服务器生成Cube数据,再通过OLAP服务器进行Cube数据的查询、分析,将会对OLAP服务器利用效率上产生较大的浪费。而目前对于小数据量的多维数据查询、分析,还没有完整的解决方案。
技术实现思路
有鉴于此,本专利技术在于提供一种联机分析处理系统中多维数据读写的方法和装置,以解决上述小数据量的多维数据存储和查询的问题。为解决上述问题,本专利技术提供一种联机分析处理系统中多维数据读写的方法包括预先设定内存中存储多维数据量的阈值,从数据源中获取初始数据,设定初始数据中各个维度中成员的任意组合,将所述组合和其相对应初始数据中的度量值数据存储到内存中;如果超出所述内存阈值,则将所述超出内存阈值的各个组合划分到至少一个以上的集合中,生成与所述集合相对应的标识存储到内存中,将所述超出内存阈值的各个组合和其相对应初始数据中的度量值数据、及所述集合相对应的标识存储到磁盘中,利用所述组合从内存、或利用所述组合和所述标识从磁盘中读取相应的度量值数据。其中,生成与所述集合相对应的标识包括利用各个维度中的成员生成树形数据结构,将所述组合中所有成员父节点的组合作为所述标识。其中,生成与所述集合相对应的标识存储到内存中包括在内存中创建索引列表,将所述标识存储到列表中。其中,所述存储到磁盘中进一步包括利用所述生成标识判断索引列表中是否存在相同的标识,如果存在,则将所述组合和其相对应多维数据中的度量值数据存储在磁盘中该标识对应的集合中。其中,所述从磁盘中读取相应的度量值数据包括利用所述组合从内存中读取相应的度量值数据,如果内存中没有所述组合,则生成所述标识并判断索引列表中是否存在相同的标识,如果存在,则判断磁盘中该标识对应的集合中是否存在所述组合,如果存在,则返回所述组合对应的度量值数据;否则返回空。本专利技术还提供一种联机分析处理系统中多维数据读写的装置,包括数据获取单元,用于从数据源中获取初始数据,并发送至组合生成单元;组合生成单元,用于设定接收到的多维数据中各个维度中成员的任意组合,并将组合后的信息发送至数据读写单元和集合划分单元;阈值判断单元,用于存储预先设定的内存存储多维数据量的阈值,并在数据读写单元执行每次写入前,判断此次写入内存后,内存中存储的多维数据量是否会超出预定阈值,将判断结果发送至数据读写单元和集合划分单元;集合划分单元,用于在接收到超出预定阈值的判断结果后,利用接收到的组合信息,将各个组合划分到至少一个以上的集合中,生成与所述集合相对应的标识发送至数据读写单元;数据读写单元,用于在执行每次写入前,将本次写入的信息发送至阈值判断单元,接收到阈值判断单元的判断结果后,将所述组合和其相对应多维数据中的度量值数据、及所述集合相对应的标识存储到内存或磁盘中,利用所述组合及所述标识从磁盘中读取相应的度量值数据。其中,所述集合划分单元,用于利用各个维度中的成员生成树形数据结构,将所述组合中所有成员父节点的组合作为所述标识。其中,所述数据读写单元,用于在内存中创建索引列表,将所述标识存储到列表中。其中,所述装置还包括标识判别单元,用于从集合划分单元获取生成标识,利用所述生成标识判断索引列表中是否存在相同的标识,如果存在,则通知数据读写单元;数据读写单元,还用于在接收到标识判别单元的通知后,将所述组合和其相对应多维数据中的度量值数据存储在磁盘中该标识对应的集合中。其中,所述数据读写单元,用于在接收到标识判别单元的通知后,从磁盘中该标识对应的集合中读取与所述组合对应的度量值数据。本专利技术的方法和装置,解决了小数据量的OLAP存储和查询,将小数据量的OLAP的存储和查询在内存中处理,并设定内存的阈值,当内存中处理负荷较大时,将多维数据的存储以集合的结构存储在磁盘中,并通过集合的标识进行读取,通过集合标识和成员组合进行度量值的读取,不会对终端的系统性能产生瓶颈,将成员组合的父节点组合作为块的标识,能够减少硬盘的读取次数,提高度量值数据的读写效率,完美地解决了基于内存和磁盘的小数据量OLAP存储和查询。附图说明图1是本专利技术方法的流程图; 图2是本专利技术实施例中维度成员关系的数据结构图;图3是本专利技术实施例中维度成员与数据的对应关系图;图4是本专利技术实施例的流程图;图5是本专利技术装置的结构图。具体实施例方式全球经济快速发展的今天,无论是跨国公司、企业还是政府机关,每天都会有大量的数据需要处理,这些数据包括各个类别,如生产、销售、日常办公等。决策者通过对生成的大量数据进行分析,对市场销售、生产进度进行决策。但对于有些小本文档来自技高网
...

【技术保护点】
一种联机分析处理系统中多维数据读写的方法,其特征在于,包括:预先设定内存中存储多维数据量的阈值,从数据源中获取初始数据,设定初始数据中各个维度中成员的任意组合,将所述组合和其相对应初始数据中的度量值数据存储到内存中;如果超出 所述内存阈值,则将所述超出内存阈值的各个组合划分到至少一个以上的集合中,生成与所述集合相对应的标识存储到内存中,将所述超出内存阈值的各个组合和其相对应初始数据中的度量值数据、及所述集合相对应的标识存储到磁盘中,利用所述组合从内存、或利用所述组合和所述标识从磁盘中读取相应的度量值数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:林志贤
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:94[中国|深圳]

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

1