多维数据的处理方法和装置制造方法

文档序号:6537629阅读:160来源:国知局
多维数据的处理方法和装置制造方法
【专利摘要】本申请提供了一种多维数据的处理方法和装置,该方法包括:获取多维数据的第一维度数据的第一层数据;确定第一层数据中未满足预定条件的第一数据;获取第一维度数据的第二层数据中与第一数据相对应的数据,其中,第二层数据的数据量大于第一层数据的数据量;在第二层数据中与第一数据相对应的数据中确定未满足预定条件的第二数据;根据第二数据对多维数据进行分析。本申请能够提高多维数据的处理速度。
【专利说明】多维数据的处理方法和装置
【技术领域】
[0001]本申请涉及数据处理【技术领域】,特别是涉及一种多维数据的处理方法和装置。
【背景技术】
[0002]企业级通用商业智能开发平台主要应用于企业报表、信息查询、和在线分析处理(On-Line Analytical Processing, 0LAP)等,并能与第三方的企业资源规划系统(ERP)、客户资源管理系统(CRM)、供应链关系管理系统(SCM)、电子政务、电子商务、地理信息系统(Geographic Information System, GIS)等进行无缝连接。
[0003].企业级通用商业智能开发平台体系架构图。该平台遵循J2EE标准、采用XML语言和组件设计,具有开放的架构,可与其他企业应用软件实现无缝对接。同时,已成功的应用于金融、电信、电子政务等领域。
[0004]其中,在线分析处理的核心是提供能全面支持层次和多层次对数据分析的多维视图,这个视图由一些分类属性(产品和市场)和数据属性(销售和利润)组成。分类属性形成各个维,而数值属性形成多个维数据集的度量。维可以包含指定聚合层次的层次结构。通过应用一些数学函数,如求和、平均值和不同维属性组合,度量属性被聚合为不同层次的细节。多维视图突破了物理的三维概念,采用了上卷(roll up)、下钻(drill down)、切片和旋转等高维可视化技术,在屏幕上展示多维视图的结构,使用户直观地理解、分析数据,辅助决策。
[0005]上卷是立方体上的聚集动作。它通过一个维的概念分层向上攀升或通过维归约在数据立方体上进行聚集。当维归约进行上卷时,一个或多个维从给定的立方体中删除。
[0006]下钻是上卷的逆操作,它由不太详细的数据到更详细的数据。下钻可以通过沿维的概念分层向下或引入新的维来实现。
[0007]切片(Stice)操作是在给定的数据立方体的一个维上进行选择,导致一个子方。切块(dice)是通过对两个或多个维进行选择,定义子方。
[0008]旋转(pivot)操作改变一个报表或页面来显示维的方向。它转动数据的视角,提供数据的替代表示。使用户能根据需求从另外一个视图角度观察数据。
[0009]上述操作使得用户可以灵活的从不同角度观察多维模型中各个层次的数据,为用户探索多维模型中的数据提供了便利。
[0010]在现有技术中,当使用OLAP进行数据处理时,如果发现一个维度的第一层数据中存在异常,则获取该维度的所有下一层数据,对该异常进行定位分析。例如,先选取时间维度的第一层(年)数据,发现2013年的销售额满足预定条件,存在异常,则选取时间维度上的所有第二层数据,包括2012年的4个季度的销售额、2012年的4个季度的销售额、和2011年的4个季度的销售额等,采用这种方法,处理数据的速度较慢。
[0011]总之,需要本领域技术人员迫切解决的一个技术问题就是:如何提高多维数据的处理速度。
【发明内容】

[0012]本申请所要解决的技术问题是提供一种多维数据的处理方法和装置,能够提高多维数据的处理速度。
[0013]为了解决上述问题,本申请公开了一种多维数据的处理方法,包括:获取多维数据的第一维度数据的第一层数据;确定第一层数据中未满足预定条件的第一数据;获取第一维度数据的第二层数据中与第一数据相对应的数据,其中,第二层数据的数据量大于第一层数据的数据量;在第二层数据中与第一数据相对应的数据中确定未满足预定条件的第二数据;根据第二数据对多维数据进行分析。
[0014]优选地,确定第一层数据中未满足预定条件的第一数据包括:判断第一层数据中的数据与期望值之间的误差是否大于阈值;将第一层数据中与期望值之间的误差大于阈值的数据确定为第一数据。
[0015]优选地,在根据第二数据对多维数据进行分析之前,上述方法还包括:确定多维数据中的公共维度;将公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合;存储聚合后的结果。
[0016]优选地,根据第二数据对多维数据进行分析包括:从聚合后的结果中选取包含第一维度数据的第二层数据的聚合结果,聚合结果包括第一维度数据的第二层数据和第二维度数据;结合第二维度的数据对多维数据进行分析。
[0017]优选地,多维数据包括以下至少两个的任意组合:时间维度的数据、空间维度的数据、产品维度的数据。
[0018]为了解决上述问题,本申请公开了一种多维数据的处理装置,包括:第一获取模块,用于获取多维数据的第一维度数据的第一层数据;第一确定模块,用于确定第一层数据中未满足预定条件的第一数据;第二获取模块,用于获取第一维度数据的第二层数据中与第一数据相对应的数据,其中,第二层数据的数据量大于第一层数据的数据量;第二确定模块,用于在第二层数据中与第一数据相对应的数据中确定未满足预定条件的第二数据;分析模块,用于根据第二数据对多维数据进行分析。
[0019]优选地,第一确定模块用于:判断第一层数据中的数据与期望值之间的误差是否大于阈值;将第一层数据中与期望值之间的误差大于阈值的数据确定为第一数据。
[0020]优选地,上述装置还包括:第三确定模块,用于在根据第二数据对多维数据进行分析之前,确定多维数据中的公共维度;聚合模块,用于将公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合;存储模块,用于存储聚合后的结果。
[0021]优选地,分析模块还用于:从聚合后的结果中选取包含第一维度数据的第二层数据的聚合结果,聚合结果包括第一维度数据的第二层数据和第二维度数据;结合第二维度的数据对多维数据进行分析。
[0022]优选地,多维数据包括以下至少两个的任意组合:时间维度的数据、空间维度的数据、产品维度的数据。
[0023]与现有技术相比,本申请具有以下优点:
[0024]在现有技术中,当发现某一维度的第一层数据中的某一数据满足预定条件时,选取该维度所有的下一层数据进行分析,从而确定满足预定条件的具体位置。而在本申请中,当发现某一维度的第一层数据中的第一数据满足预定条件时,只需对第一数据对应的下层数据进行分析,无需分析与第一数据不对应的下层数据,因此,相对于现有技术,本申请减少了计算量,提高了数据处理速度。
【专利附图】

【附图说明】
[0025]图1是本申请一种多维数据的处理方法的流程图;
[0026]图2是本申请一种多维数据的处理装置的结构框图;
[0027]图3是本申请一种多维数据的处理装置的优选的结构框图;
[0028]图4是本申请一种多维数据的处理平台的处理流程的示意图。
【具体实施方式】
[0029]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0030]参照图1,示出了本申请一种多维数据的处理方法,包括:
[0031]步骤102,获取多维数据的第一维度数据的第一层数据;其中,多维数据包括以下至少两个的任意组合:时间维度的数据、空间维度的数据、产品维度的数据。需要说明的是,多维数据并不限于上述几种维度,也可以根据需要添加其他维度的数据。
[0032]步骤104,确定第一层数据中未满足预定条件的第一数据;
[0033]在具体实现时,判断第一层数据中的数据与期望值之间的误差是否大于阈值;将第一层数据中与期望值之间的误差大于阈值的数据确定为第一数据。其中,该误差可以是指第一层数据中的数据与期望值之间的差值,也可以是指第一层数据中的数据与期望值之间的差值与期望值之间的比例。例如,时间维度的第一层数据为每年对应的数据,2012年的期望值是100,2012年的实际销售额是40,此时二者的差值为60,假设当实际销售额和期望值之间的差值大于50时,表示满足预定条件,S卩,出现异常,在本例中,实际销售额和期望值之间的差值大于50,表示时间维度第一层数据中的2012年的数据出现异常。
[0034]步骤106,获取第一维度数据的第二层数据中与第一数据相对应的数据,其中,第二层数据的数据量大于第一层数据的数据量;
[0035]例如,时间维度的第一层数据为每一年对应的数据,例如年销售额,第二层数据为每一季度对应的数据,例如季度销售额,当确定时间维度第一层数据中的2012年的数据出现异常时,依据本实施例,获取时间维度第二层数据中2012年对应的季度的数据,S卩,2012年第1-4季度对应的数据。
[0036]步骤108,在第二层数据中与第一数据相对应的数据中确定未满足预定条件的第二数据;
[0037]在具体实现时,判断第二层数据中与第一数据相对应的数据与期望值之间的误差是否大于阈值;将误差大于阈值的数据确定为第二数据。其中,该误差可以是指第二层数据中与第一数据相对应的数据与期望值之间的差值,也可以是指该差值与期望值之间的比例。例如,时间维度的第二层数据为2012年第1-4季度对应的数据,2012年第一季度的期望值是20,2012年的实际销售额是8,此时二者的差值为12,假设当实际销售额和期望值之间的差值大于10时,表示满足预定条件,即,出现异常,在本例中,实际销售额和期望值之间的差值大于12,表示时间维度第二层数据中的2012年第I季度的数据出现异常。[0038]步骤110,根据第二数据对多维数据进行分析。
[0039]在具体实现中,可以采用多种分析方式,例如,分析出现异常的数据的趋势,结合其他维度对出现异常的数据进行分析,可以结合空间维度,分析哪些地区的销售额异常较为明显等。
[0040]在本发明实施例的一个优选实例中,在根据第二数据对多维数据进行分析之前,确定多维数据中的公共维度;将公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合;存储聚合后的结果。在实际操作过程中,由于时间维度与其他维度都相关,因此,可以将时间维度设置为公共维度,将时间维度的每一层数据和其他维度的每一层数据都进行聚合,这样,当选择时间维度的一层数据进行分析时,很容易将其和其他维度进行关联,全面地对多维数据进行分析。另外,也可以根据需要,将其他维度设置为公共维度。
[0041]在进行聚合之后,可以从聚合后的结果中选取包含第一维度数据的第二层数据的聚合结果,改聚合结果包括第一维度数据的第二层数据和第二维度数据;然后,结合第二维度的数据对多维数据进行分析。通过该方式,实现了对多维数据的综合分析。
[0042]在现有技术中,当发现某一维度的第一层数据中的某一数据满足预定条件时,选取该维度所有的下一层数据进行分析,从而确定满足预定条件的具体位置。而在本申请中,当发现某一维度的第一层数据中的第一数据满足预定条件时,只需对第一数据对应的下层数据进行分析,无需分析与第一数据不对应的下层数据,因此,相对于现有技术,本申请减少了计算量,提高了数据处理速度。
[0043]本申请还提供了一种多维数据的处理装置,该装置用于实现上述方法,如图2所示,该装置包括:
[0044]第一获取模块202,用于获取多维数据的第一维度数据的第一层数据;
[0045]第一确定模块204,用于确定第一层数据中未满足预定条件的第一数据;
[0046]第二获取模块206,用于获取第一维度数据的第二层数据中与第一数据相对应的数据,其中,第二层数据的数据量大于第一层数据的数据量;
[0047]第二确定模块208,用于在第二层数据中与第一数据相对应的数据中确定未满足预定条件的第二数据;
[0048]分析模块210,用于根据第二数据对多维数据进行分析。
[0049]在本发明实施例的一个优选实例中,第一确定模块204用于:判断第一层数据中的数据与期望值之间的误差是否大于阈值;将第一层数据中与期望值之间的误差大于阈值的数据确定为第一数据。
[0050]在本发明实施例的一个优选实例中,上述装置还包括:
[0051]第三确定模块302,用于在根据第二数据对多维数据进行分析之前,确定多维数据中的公共维度;
[0052]聚合模块304,用于将公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合;
[0053]存储模块306,用于存储聚合后的结果。
[0054]在本发明实施例的一个优选实例中,分析模块210还用于:从聚合后的结果中选取包含第一维度数据的第二层数据的聚合结果,聚合结果包括第一维度数据的第二层数据和第二维度数据;结合第二维度的数据对多维数据进行分析。[0055]在本发明实施例的一个优选实例中,多维数据包括以下至少两个的任意组合:时间维度的数据、空间维度的数据、产品维度的数据。
[0056]本申请还提供了一种使用上述方法或装置的平台。下面对该平台的产品环境进行说明。
[0057](I)图形界面开发环境
[0058]I)基于面向对象技术的对象浏览器
[0059]对象浏览器的技术,对于大多数开发环境来说都是必要的。它可以大大的简化用户操作的难度,同时提高用户对系统的认识程度。作为本实施例所述平台的基础开发环境的重要组成部分,对象浏览器全面的提升了系统的易用性。
[0060]2)方便易用的资源树
[0061]本实施例所述平台(B1-Pilot)是以项目作为开发组织结构的,与大多数集成开发环境类似,B1-Pilot提供工作空间-项目-条目(WorkSpace-Project-1tem)结构化的树状资源结构。这样的结构非常便于用户管理、使用资源,同时传统的界面和逻辑便于用户理解,降低了培训的难度。
[0062]3)便捷的可视化服务器维护界面
[0063]直观、方便的服务器配置界面,直接降低了系统维护的难度,提高了系统整体的易用性。
[0064]4)完善的数据库连接导引
[0065]为用户方便的使用各种数据源提供了简单易用的图形界面。用户不须编程即可完成数据的连接工作,连接导引将提供4种连接方式:J2EE连接(J2EE Connections),利用J2EE的连接池,提高了连接的效率;标准Java数据库连接(Java Database Connectivity,简称JDBC);非标准数据连接,通过JDBCAny连接;多维数据库连接。
[0066]5)直观的查询(Query)编辑器
[0067]数据查询的定义,对于大多数非专业的人员来说是不可逾越的障碍,甚至对很多专业人员来说也是非常头疼的事情。B1-Pilot提供的图形化Query编辑环境,大大降低了查询定义的门槛,并且整合了传统的关系型数据库查询和多维查询的界面,方便了用户。
[0068]根据上述连接的种类,相应地有两种查询对应:标准查询和多维查询。其中,标准查询应包含如下功能:复杂Join的定义功能,包括自联接、外联接等;复杂Where条件定义的功能;用户导入SQL语句功能;支持商店流程(StoreProcedure);参数(Parameter)替换功能;自定义列(Formula)功能;语义层的实现。其中多维查询应包含如下功能:Cube的选取;维度的选择;事实的再计算;语义层的实现。
[0069](2)编程环境
[0070]编程环境将提供面向程序员的函数/公式编辑器,由于B1-Pilot是一个集成开发环境,所以它将提供多种编程语言的编辑和编译调试环境。
[0071](3)强大的平台功能
[0072]I)所有描述文件均基于XML语言
[0073]XML语言作为描述语言拥有很好的,B1-Pilot使用XML作为描述语言体现了B1-Pilot在系统开放性上的决心。在未来的IT工业界,开放的才是有生命力的,开放才是标准诞生的基础。[0074]2)基于项目的多人协作界面
[0075]企业应用由于其复杂性,往往不是一两个优秀的程序员可以完成的,所以基于团队(Team)的协作在项目的开发中占有极其重要的地位。B1-Pilot作为企业级的开发环境,提供了多人协作的开发环境,大大降低了协作开发的难度,提高了效率。
[0076]3)功能强大的任务调度服务
[0077]作为企业应用的运行平台,B1-Pilot提供了灵活的任务调度功能,使得很多需要人工干预管理的工作得以自动的被触发运行,降低了系统的维护成本。
[0078]4)灵活的ACL控制及资源管理
[0079]B1-Pilot提供基于工业标准的ACL控制机制,灵活方便的资源管理对于企业复杂的应用是必不可少的。
[0080]5)国际化的开发环境
[0081 ] B1-PiIOt是国际化的产品,随着WTO的进入国内企业走出国门面向世界的要求越来越强烈,B1-Pilot提供的国际化的开发环境可以大大加速这一进程。
[0082]本实施例提供的平台能够提供报表查询方面的功能,下面对此进行详细说明。
[0083](I)查询功能
[0084]即席查询系统就是一整套直接面向业务部门的灵活查询平台。该平台构架于B1-Pilot智能报表产品基础上,以通用业务模型的方式构建查询模型,并将该模型以业务人员可以理解的语义层对象的形式展现给最终用户。业务人员作为最终用户直接在浏览器上访问该查询模型,并且可以将任意一个条目作为查询条件以限定查询范围,也可以将任意的条目作为查询的内容获得结果返回。
[0085]B1-Pilot使用类似于分析模型的定义手段来定义灵活、强大的查询模型。建立映射、维度以及条件维度等复杂的查询模型。
[0086]用户可以任意的组织查询资源树,不但可以利用数据库中的现有字段,还可以使用自定义的公式作为查询资源。在查询中,系统自动的根据查询要求生成优化的查询语句,保证产生高效的查询。
[0087]在后台,一旦定义了查询模型,系统会自动的定时更新查询缓存数据,保证数据的及时更新以及高效性。
[0088]在前台,系统提供了简单易用的查询界面,保证了一般的业务人员也可以轻松的使用。
[0089](2)报表功能
[0090]现代报表要求能实现非常复杂的逻辑、灵活的报表形式、强大的计算能力以及高度的可扩展能力。B1-Pilot报表引擎充分考虑到这些需求,以下就是其技术特色:
[0091]I)由于商业应用数据规模庞大,对JAVA的内存管理提出了苛刻的要求。B1-Pilot不再依赖于JAVA的内存管理机制来处理来自数据库的数据,采用文件分页智能缓存方式,实现了高度优化的管理模式,使B1-Pilot对系统资源的要求大大减低。同时由于大部分JAVA报表产品未采用这一机制,在测试中往往产生非线性的运行曲线(参见表I)。
[0092]表I
[0093]
【权利要求】
1.一种多维数据的处理方法,其特征在于,包括: 获取多维数据的第一维度数据的第一层数据; 确定所述第一层数据中未满足预定条件的第一数据; 获取所述第一维度数据的第二层数据中与所述第一数据相对应的数据,其中,所述第二层数据的数据量大于所述第一层数据的数据量; 在所述第二层数据中与所述第一数据相对应的数据中确定未满足所述预定条件的第二数据; 根据所述第二数据对所述多维数据进行分析。
2.如权利要求1所述的方法,其特征在于,确定所述第一层数据中未满足预定条件的第一数据包括: 判断所述第一层数据中的数据与期望值之间的误差是否大于阈值; 将所述第一层数据中与所述期望值之间的误差大于所述阈值的数据确定为所述第一数据。
3.如权利要求1所述的方法,其特征在于,在根据所述第二数据对所述多维数据进行分析之前,所述方法还包括: 确定所述多维数据中的公共维度; 将所述公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合; 存储聚合后的结果。·
4.如权利要求3所述的方法,其特征在于,根据所述第二数据对所述多维数据进行分析包括: 从聚合后的结果中选取包含所述第一维度数据的第二层数据的聚合结果,所述聚合结果包括所述第一维度数据的第二层数据和第二维度数据; 结合所述第二维度的数据对所述多维数据进行分析。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述多维数据包括以下至少两个的任意组合: 时间维度的数据、空间维度的数据、产品维度的数据。
6.一种多维数据的处理装置,其特征在于,包括: 第一获取模块,用于获取多维数据的第一维度数据的第一层数据; 第一确定模块,用于确定所述第一层数据中未满足预定条件的第一数据; 第二获取模块,用于获取所述第一维度数据的第二层数据中与所述第一数据相对应的数据,其中,所述第二层数据的数据量大于所述第一层数据的数据量; 第二确定模块,用于在所述第二层数据中与所述第一数据相对应的数据中确定未满足所述预定条件的第二数据; 分析模块,用于根据所述第二数据对所述多维数据进行分析。
7.如权利要求6所述的装置,其特征在于,所述第一确定模块用于: 判断所述第一层数据中的数据与期望值之间的误差是否大于阈值; 将所述第一层数据中与所述期望值之间的误差大于所述阈值的数据确定为所述第一数据。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:第三确定模块,用于在根据所述第二数据对所述多维数据进行分析之前,确定所述多维数据中的公共维度; 聚合模块,用于将所述公共维度的每一层数据与多维数据中的其他维度的每一层数据进行聚合; 存储模块,用于存储聚合后的结果。
9.如权利要求8所述的装置,其特征在于,所述分析模块还用于: 从聚合后的结果中选取包含所述第一维度数据的第二层数据的聚合结果,所述聚合结果包括所述第一维度数据的第二层数据和第二维度数据; 结合所述第二维度的数据对所述多维数据进行分析。
10.如权利要求6至9中任一项所述的装置,其特征在于,所述多维数据包括以下至少两个的任意组合: 时间维度的数据、空 间维度的数据、产品维度的数据。
【文档编号】G06F17/30GK103853818SQ201410049049
【公开日】2014年6月11日 申请日期:2014年2月12日 优先权日:2014年2月12日
【发明者】张科, 李 东 申请人:博易智软(北京)技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1