基于数据立方体模型的数据处理系统及方法与流程

文档序号:16582289发布日期:2019-01-14 18:04阅读:253来源:国知局
基于数据立方体模型的数据处理系统及方法与流程

本发明涉及数据处理领域,尤其涉及一种基于数据立方体模型的数据处理系统及方法。



背景技术:

现在的市场瞬息万变,每一个企业想在激烈的市场竞争中脱颖而出就需要顺应潮流依赖信息科技对客户和市场的整体信息做出及时的响应,同时对自身的运营情况和业务能力做出全面的预测和分析。因此一个针对业务的分析系统显得尤为重要,它能帮助企业准确的预估自己的执行力和业务效率,增加自己的市场竞争力,同时也能在决策层面上分析企业的运营状况和经营成果,从而制定每一个季度的战略计划。

而且,通过分析系统可以将任务落实到业务流程的每一个环节和步骤,增加提醒和考核计划为企业的中高层干部提供员工业务能力的全面分析结果。

现有技术尚未能够将所有的业务信息全部整合归总,影响了工作效率。



技术实现要素:

(一)要解决的技术问题

本发明的目的在于提供一种基于数据立方体模型的数据处理系统及方法,以解决上述的至少一项技术问题。

(二)技术方案

本发明实施例的一方面,提供了一种基于数据立方体模型的数据处理系统,包括:

etl单元,用于对原始数据进行处理,确定处理后的数据,并根据所述处理后的数据建立数据立方体模型;

olap单元,用于对所述数据立方体模型进行操作,确定操作后的数据。

在本发明的一些实施例中,还包括:运算分析单元,用于结合业务场景对所述操作后的数据进行运算分析,确定分析结果。

在本发明的一些实施例中,所述系统还包括:

erp单元,用于存储所述原始数据;

显示单元,用于显示所述操作后的数据和/或分析结果。

在本发明的一些实施例中,etl单元对原始数据进行处理,具体指:所述etl单元对原始数据进行抽取、转换、清洗、过滤和装载。

在本发明的一些实施例中,etl单元根据所述处理后的数据建立数据立方体模型,指:etl单元采用维度建模的星座模式将处理后的数据划分为基于维度表和事实表的数据立方体模型;

所述数据立方体模型包括合同模块,所述维度表包括各业务节点所发生的时间、地点、客户关系和厂商,其中,所述事实表包括细节事实,所述细节事实包括合同基本信息、合同收付款明细、合同标注信息、合同详细信息、合同设备信息、合同附件信息、合同审批信息。

在本发明的一些实施例中,各事实表之间其实通过维度表连通,共享维度,且事实表与维度表内容通过各组的外键实现互相连接。

在本发明的一些实施例中,所述操作包括切片、切块、旋转、上钻、下钻和上卷。

在本发明的一些实施例中,所述数据立方体模型包括项目模块、合同模块、发票模块和结算模块,所述olap单元将事务表中的合同事实表、以及纬度表中的部门维度表、业务线维度表和时间维度表链接,确定一第数据立方体模型;并对其进行操作,确定第一矩阵;

所述olap单元还将事务表中的税率事实表、以及纬度表中的部门维度表、业务线维度表和时间维度表链接,确定一第二数据立方体模型;并对其进行操作,确定第二矩阵;

所述运算分析单元对所述第一矩阵和第二矩阵进行运算分析,确定分析结果。

本发明实施例的另一方面,还提供了一种基于数据立方体模型的数据处理方法,应用于前述的基于数据立方体模型的数据处理系统。

(三)有益效果

本发明的基于数据立方体模型的数据处理系统及方法,相较于现有技术,至少具有以下优点:

1、通过etl单元对原始数据进行处理,并建立数据立方体模型,并通过olap单元进行操作,能够将所有的业务信息全部整合归总,避免了各个业务线之间互相影响造成错综复杂产生重复工作和错误计算等影响效率的局面,提高了员工的实时性和业务效率,普适性高。

2、由于每一个业务环节之间都有关联,且通过数据立方体模型都有直观了解,因此一旦一个项目的其中某一个环节有进展都会第一时间邮件通知业务人员并在数据立方体模型上实时更新数据,提高了业务员工对自已所负责的项目的把控准确性减少需要人工记忆的部分。

3、由于权限级别的不同也会设定权限设置,因此各个等级的负责人负责监管其相应管理的最接近其等级的员工的所有业务,因此使得各个分公司和总部具有自己单独的业务管辖范围,能够满足集团企业的特殊要求;

4、将业务从报备、立项、合同、发票、结算的各个环节进行系统管理和分析,并对日常的附件、设备管理、资质借阅申请等相关资料建立数据立方体模型,有效的保证了项目审批执行的效率,同时体现了公司业务科学化、规范化、专业化的管理。

5、将企业的业务数据与分析系统很好的联系起来,定义灵活、人机交互界面友好,解决了企业管理者以灵活的方式从各个角度全方面的了解企业生产运营状况的需求,提高了其决策的效率,降低了分析的成本,反应了企业存在的问题,为今后企业的发展方向与领导的决策提供了准确的数据依据。

附图说明

图1为本发明实施例的基于数据立方体模型的数据处理系统的结构示意图;

图2为本发明具体实施例的数据处理的过程示意图;

图3为数据立方体模型的操作示意图;

图4为所述拆表后的er图;

图5(a)和图5(b)分别为图4搜索得到的数据立方体模型;

图6为第一数据立方体模型的示意图;

图7为第二数据立方体模型的示意图;

图8为第一和第二数据立方体模型对应的矩阵;

图9为图8的两个矩阵进行运算分析的示意图。

具体实施方式

现有技术尚未能够将所有的业务信息全部整合归总,影响了工作效率,有鉴于此,本发明提供了一种基于数据立方体模型(即数据仓库)的数据处理系统,通过etl单元对原始数据进行处理,并建立数据立方体模型,并通过olap单元进行操作,能够将所有的业务信息全部整合归总,避免了各个业务线之间互相影响造成错综复杂产生重复工作和错误计算等影响效率的局面,提高了员工的实时性和业务效率,普适性高。

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明实施例的一方面,提供了一种基于数据立方体模型的数据处理系统,如图1所示,该系统包括:

etl(数据提取、加载和转换)单元,用于对erp(企业资源计划)单元的原始数据进行处理(请参照图2,例如抽取、转换、清洗、过滤和装载),确定处理后的数据,并根据所述处理后的数据建立数据立方体模型。其中,主要采用维度建模的星座模式将处理后的数据划分为基于维度表和事实表的数据立方体模型;

olap(联机分析处理)单元,用于对所述数据立方体模型进行操作(请参照图2和图3,例如切片、切块、旋转、上钻、下钻和上卷),确定操作后的数据。

在本发明的一些实施例中,还可以对数据立方体模型进行运算分析,相应地,所述系统还可以包括:运算分析单元,用于结合业务场景对所述操作后的数据进行运算分析,确定分析结果。

为了能够使得用户能够更直观清楚地得到结果,该系统还可以包括显示单元,用于显示所述操作后的数据和/或分析结果。

所述数据立方体模型包括合同模块,所述维度表包括各业务节点所发生的时间、地点、客户关系和厂商,其中,所述事实表包括细节事实,所述细节事实包括合同基本信息、合同收付款明细、合同标注信息、合同详细信息、合同设备信息、合同附件信息、合同审批信息。

其中,各事实表之间其实通过维度表连通,共享维度,且事实表与维度表内容通过各组的外键实现互相连接。

举例来说,所述数据立方体模型可以包括项目模块、合同模块、发票模块和结算模块,所述olap单元将事务表中的合同事实表、以及纬度表中的部门维度表、业务线维度表和时间维度表链接,确定一第数据立方体模型;并对其进行操作,确定第一矩阵;

所述olap单元还将事务表中的税率事实表、以及纬度表中的部门维度表、业务线维度表和时间维度表链接,确定一第二数据立方体模型;并对其进行操作,确定第二矩阵;

所述运算分析单元对所述第一矩阵和第二矩阵进行运算分析,确定分析结果。

以下将结合图4至图9对本发明一具体实施例进行详细说明。

其中,数据立方体模型主要由项目模块、合同模块、发票模块、结算模块组成。现拿“合同”模块举例,并从“计算合同发票税金”的具体事例来描述如何进行olap数据分析。

首先是原始数据经etl过程分析,将合同表分解为:合同事实表,以及3个维度表:部门维度表,业务线维度表,时间维度表;其中合同事实表中拥有链接上述3个维度表的外键。此时,已经从数据库的层面构成了一个星座模型图,也即一个数据立方体模型。其次构建一个税率事实表,该表有和合同表相同的维度链接,此时税率事实表也构成了一个星形模型图,所述拆表后的er图如图4所示,再通过搜索条件获得数据立方体模型。

之后,通过java定时任务,或者oracle的存储过程,将原有的合同表按照上述业务将事实表与维度表插入逻辑上独立于业务系统的数据库中。这些据根据之前设定好的星座模型格式参数以事实主表,事实子表和各级维度表存放在数据立方体模型中以建立数据模型,也就是多维度的数据模型,这样的话,就可以基于海量的分析数据按照设定好的维度分析数据在模型框架的基础上进行多角度的数据查询分析。

在数据立方体模型已经建好的情况下,要对数据进行olap数据分析。olap数据分析所采用的算法有:切片,切块,旋转,上钻,下钻,上卷等操作。现用切片操作进行举例,在上面构建好的合同星型模型图中,合同事实表有3个维度表,也即有3个维度:部门,业务线,时间。通过书写sql语言确定“所切”维度。例如要获得的数据立方体模型是:北京分公司,上海分公司,广州分公司三个分公司的国贸业务,集成业务,大客户业务在2017年上半年的合同签订总额。则用sql在时间维度做限制,“切”出2017年一季度的数据(片)。

相应的sql语句应该是:

selectsum(fact.amount)

fromcontract_factfact

wherefact.dept_idin(a,b,c)

andfact.busi_idin(d,e,f)

andfact.invoice_time_idin(h,g)

--a,b,c分别部门维度的北京分公司,上海分公司,广州分公司的id

--d,e,f分别业务线的国贸业务,集成业务,大客户业务的id

--h,g是2017年上半年的id

即可得到一个三维立方体的一个平面。

得到了一个二维的平面。两个维度分别是部门,业务线。里面的内容为2017年上半年三个分公司,三个业务线的表,如图5(a)和图5(b)所示,“分公司-业务线(2017年一季度合同总额切面,即第一数据立方体模型)”。用相同的方法,我们可以得到“业务线具体税值(2017年,地税税值,即第二数据立方体模型)”是一条线,从而得到图6和图7所示的两个数据立方体模型。

在olap分析之后,我们可进行具体某些业务分析(拿“按不同条件统计合同发票税金”举例),如图8所示。将图8的数据读入内存之后是一个3*3的矩阵和一个1*3的矩阵。图8切片的矩阵内容含义是:2017年第一季度,北京分公司,上海分公司,广州分公司在国贸业务,集成业务,大客户业务的合同总金额;国贸业务,集成业务,大客户业务在2017年的地税值。如图9所示,使用图8的两个矩阵相乘得到的矩阵就是:北京分,上海分,广州分公司在2017年1季度地税总税金。

相比于原始数据库,通过etl和olap过程分析。即使在多维度,超大数据量的情况下,也能够快速查询到想要的数据。在维度较小的情况下,上述过程的优势并不明显。但是当维度增加的很多的情况下,数据量增加很多的情况下。上述过程的优势就大大体现出来了。例如,我再在上面第一个切面增加两个条件:1项目经理为小明,2客户为985的xx大学。如果要按照原来情况,还需要外连2个表,外连的本质是两个表做笛卡儿积。当数据量特别大的时候,会大大增加数据库系统运行的开支。但是新的情况还是一条语句就能够解决,增加维度和数据根本就和原来的查询速度一样。

因为业务系统的数据变化是实时更新的,会直接影响到分析系统的数据,因此分析系统除了反应任意一个历史时间节点上业务时局的情况外,必须实时更新最新的业务进展。并且将进展通过邮件的方式反馈给业务人员。

本发明的一些实施例中,业务数据的查询与分析其实是对所有指标在多维度模型上的一个展示。包括某个指标在同一个维度的不同层次的维成员上做“上卷”、“下钻”的查询操作、某个模块数据在某年度的指标值进行“同比”、“环比”的查询操作。此外,针对分析查询的结果,系统支持多维度报表的生成、打印等功能。

本发明的一些实施例中,由于分析系统数据存放在独立于业务系统数据的数据库中,拥有业务系统访问权限的用户可以禁止访问分析系统。功能可以通过基础数据中定义每一个不同角色的授权来控制访问、查询、新增、删除分析数据的权限,同时后台数据库也会每天做好同步数据备份并对后台存储的数据进行加密处理。

可见每一个事实主表的子键就是事实子表和维度表的主键,这样的一个结构可以保证事实表中存在所有维度的维度成员组合数据,将这些数据做一些基础整合就能获得普通的业务数据,同样也可以把事实表中的数据看作是各个维度表交叉上的值。

olap分析过程,当一个项目正式立项之后到结算时会产生一个时间差,这个时间维度就是整个业务流程的工作效率。并且,这个效率是直接影响到新的客户是否会选择该企业去进行合作的一个重要指标,因此缩短该时间差就是提高业务成功率的有效办法之一,而分析系统就可以有效的提高该效率。

本发明实施例的另一方面,还提供了一种基于数据立方体模型的数据处理方法,应用于前述的基于数据立方体模型的数据处理系统,其步骤大致为包括:

1.首先定义分析每一个模块的类别和相关属性,定义事实表。

2.然后根据这些相关属性寻找出统一公用的维度和维成员。

3.接着将这些维度和维成员分配给不同的模块加入子键。

4.定义权限与角色,并把权限与模块做出链接,再把权限指定给不同的角色,这里也是多对多的关系。

5.java定时任务,存储过程将原表的数据根据具体业务的具体数据插入上述的事实表与维度表中。

6.读入内存的时候进行olap算法,进行“切片”,“切线”操作。

7.对具体的业务进行数据分析。

除非有所知名为相反之意,本说明书及所附权利要求中的数值参数是近似值,能够根据通过本发明的内容所得的所需特性改变。具体而言,所有使用于说明书及权利要求中表示组成的含量、反应条件等等的数字,应理解为在所有情况中是受到“约”的用语所修饰。一般情况下,其表达的含义是指包含由特定数量在一些实施例中±10%的变化、在一些实施例中±5%的变化、在一些实施例中±1%的变化、在一些实施例中±0.5%的变化。

再者,“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的“一”或“一个”不排除存在多个这样的元件。

说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1