会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 商业智能 / 一种商业智能系统

一种商业智能系统

申请号 CN200810103312.X 申请日 2008-04-02 公开(公告)号 CN101271475A 公开(公告)日 2008-09-24
申请人 北京邮电大学; 发明人 宋梅; 马文静; 满毅; 王莉; 宋美娜;
摘要 本发明提供了一种商业智能系统,所述商业智能系统包括报表生成展现子系统、多维分析子系统和ETL数据转换子系统,所述商业智能系统还包括:建模单元,用于依据报表生成展现子系统、多维分析子系统和ETL数据转换子系统的接口配置参数,建立对应的PIM模型;映射单元,用于针对某个子系统的执行请求,调用所述PIM模型按照相应的转换规则生成对应子系统的配置文件。本发明可以提高商业智能系统的灵活性、通用性和可移植性。
权利要求

1、一种商业智能系统,其特征在于,所述商业智能系统包括报表生 成展现子系统、多维分析子系统和ETL数据转换子系统,所述商业智能 系统还包括:建模单元,用于依据报表生成展现子系统、多维分析子系统和ETL 数据转换子系统的接口配置参数,建立对应的PIM模型;

映射单元,用于针对某个子系统的执行请求,调用所述PIM模型按 照相应的转换规则生成对应子系统的配置文件。

2、如权利要求1所述的系统,其特征在于,所述映射单元包括:模板映射子单元,用于针对报表生成展现子系统,通过XML文件生 成器读取所述PIM模型,生成所述报表生成展现子系统的配置文件。

3、如权利要求2所述的系统,其特征在于,所述映射单元还包括:多参数映射子单元,用于针对多维分析子系统,读取所述PIM模型 中的通用参数、涉及XML文件结构定义的参数和具体数据信息,生成所 述多维分析子系统的配置文件。

4、如权利要求3所述的系统,其特征在于,所述映射单元还包括:XSLT映射子单元,用于针对ETL数据转换子系统,依据所述ETL 数据转换子系统的接口配置文件和PIM模型创建XSLT转换模板,并按 照所述模板转换生成所述ETL数据转换子系统的配置文件。

5、如权利要求1所述的系统,其特征在于,所述PIM模型在Rational Rose系统中建立。

6、如权利要求5所述的系统,其特征在于,所述PIM模型由UML 语言创建。

7、如权利要求5所述的系统,其特征在于,所述建模单元还包括:优先级设定子单元,用于根据通用参数、结构定义参数和实际数据类 型参数设定优先级;

模板填充子单元,用于在PIM模型建立时,依据所述优先级由高到 低将相应参数依次读入PIM模型的XML文件中。

说明书全文

技术领域

本发明涉及商业智能技术处理领域,特别是涉及一种商业智能系统。

背景技术

商业智能,又称商务智能,英文为Business Intelligence,简写为BI。 商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出 明智的业务经营决策的工具。所述的数据包括来自企业业务系统的订单、 库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据 以及来自企业所处的其他外部环境中的各种数据。可以认为,商业智能 是对商业信息的搜集、管理和分析过程,一般由数据仓库(Data Warehouse,DW)、联机分析处理(On-Line Analytical Processing,OLAP, 也称为多维分析)、用户查询和报表(Query & Reports)等部分组成。商业 智能的关键是从许多来自不同的企业运作系统的数据中提取出有用的数 据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换 (Transformation)和装载(Load),即ETL过程,合并到一个企业级的 数据仓库里,从而得到企业数据的一个全局视图,在此基础上利用合适 的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理, 这时信息变为辅助决策的知识,最后将知识呈现给管理者,为管理者的 决策过程提供支持。
在现有的BI系统中,存在有多个不同类型的XML接口配置和结构 定义文件,这些文件在开发时,与业务层面关联不大,无法明确表示用 户对系统的特定需求,需要开发人员手动写入,不具有灵活性;并且, 在连接BI系统中不同的数据库时,需要对相应的XML文档重新编写, 并对数据库连接重新调试,资源开销过大;再者,对于BI系统的不同部 分,对应XML文档的类型亦不同,因而通用性和可移植性差。以现有的 元模型到XML文档的映射生成过程为例,在初始化模板建立时,由于系 统中XML文档有着较为严格的数据结构,本身具备最基本的原子属性, 所以不能随意地扩充内容,所支持的结构定义灵活性过低;并且,对应 每一次任务的建立只能执行一条规则,若预置模板中包含了所有的映射 转换逻辑,那么当扩展用户的模板时,就只能通过覆盖整个模板来修改 用户的转换行为。

发明内容

本发明所要解决的技术问题是提供一种商业智能系统,用以提高商 业智能系统的灵活性、通用性和可移植性。
为了解决上述问题,本发明公开了一种商业智能系统,包括报表生成 展现子系统、多维分析子系统和ETL数据转换子系统,所述商业智能系 统还包括:
建模单元,用于依据报表生成展现子系统、多维分析子系统和ETL 数据转换子系统的接口配置参数,建立对应的PIM模型;
映射单元,用于针对某个子系统的执行请求,调用所述PIM模型按 照相应的转换规则生成对应子系统的配置文件。
优选的,所述映射单元包括:
模板映射子单元,用于针对报表生成展现子系统,通过XML文件生 成器读取所述PIM模型,生成所述报表生成展现子系统的配置文件。
优选的,所述映射单元还包括:
多参数映射子单元,用于针对多维分析子系统,读取所述PIM模型 中的通用参数、涉及XML文件结构定义的参数和具体数据信息,生成所 述多维分析子系统的配置文件。
优选的,所述映射单元还包括:
XSLT映射子单元,用于针对ETL数据转换子系统,依据所述ETL 数据转换子系统的接口配置文件和PIM模型创建XSLT转换模板,并按 照所述模板转换生成所述ETL数据转换子系统的配置文件。
优选的,所述PIM模型在Rational Rose系统中建立。
优选的,所述PIM模型由UML语言创建。
优选的,所述建模单元还包括:
优先级设定子单元,用于根据通用参数、结构定义参数和实际数据类 型参数设定优先级;
模板填充子单元,用于在PIM模型建立时,依据所述优先级由高到 低将相应参数依次读入PIM模型的XML文件中。
与现有技术相比,本发明具有以下优点:
本发明通过建立PIM模型,实现面向用户的图形化操作,然后根据 PIM模型,针对各个BI子系统的模型分别采用模板映射、多参数映射和 Xslt映射进行转换,得到各接口配置文件,统一在业务层面配置各个接口 和系统结构的XML文件,从而提高现有商业智能系统的灵活性、通用性; 并且,在各个子系统中所建立的映射库可以进行不同平台的移植,实现 较好的可移植性。

附图说明

图1是本发明的一种商业智能系统实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合 附图和具体实施方式对本发明作进一步详细的说明。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个 人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处 理器系统、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描 述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽 象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布 式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络 而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块 可以位于包括存储设备在内的本地和远程计算机存储介质中。
在实际中,BI系统一般由报表生成展现子系统、多维分析子系统和 ETL数据转换子系统组成。
具体地,报表生成展现子系统通常由商业智能插件BIRT实现。BIRT 具有报表系统的核心功能特征,如报表版面设计、支持数据库访问和简 单控制脚本等。它有两个组件:一个是基于Eclipse的报表设计器(report designer),一个是可以添加到应用服务器的运行组件(runtime component)。BIRT同时还提供一个图形报表制作引擎。一般的报表制作 过程为:
第一步、建立数据源,数据源即数据的来源或提供者,如XML数据 源、jdbc数据源等。
第二步、建立数据集,数据集即数据集合,它必须与数据源关联, 可以理解为查询的结果。
第三步、建立报表参数,也就是页面需要传递的参数,或者为,查 询参数的表现形式,使用它可以构建更灵活的报表。
第四步、设计界面,最常用的是数据表,数据表有页眉、详细内容 和页脚,数据集中的数据当然一般放在详细内容中的。
第五步、绑定参数。如运行参数:
frameset,以frameset的形式显示报表。这个界面包含一些frame, 如页面导航,报表主体在其中的一个frame中显示;
run,报表以一个单独的html页面或pdf显示,由于这种形式没有 frmaeset,因此使用者必须自己提供相应的参数,如报表参数,页号等。
通过以上步骤即可制作形成报表。可以理解的是,报表以及报表项, 报表可视为是针对一组数据集的表现形式,而报表项这是这个表现形式 的某个具体的单元。它们之间的关系,与窗体和控件的关系非常类似。 报表、数据集、数据源三者间的关系为:数据源——数据集——报表。运 行报表即可获得报表的展示。
例如,BIRT的GUI设计报表,生成一个后缀名为.rptdesign的XML 文件,该文件描述了报表的数据源,报表结构等信息。BIRT运行时则解 析这个XML文件,返回一个可视的报表(如一个JSP页面)。
多维分析子系统的主要功能为OLAP(Online Analytical Processing, 联机分析处理),用于对存储在数据库或数据仓库中的数据提供分析。 OLAP工具能快速提供复杂数据库查询的答案,并帮助用户分析多维数 据中的各维情况。通常OLAP应用于数据仓库中的数据处理过程,即所 谓的“数据挖掘”(Data Mining)。OLAP的主要组成部件是OLAP服务 器,它位于客户机和数据库管理系统(DBMS)之间。OLAP服务器清楚 数据如何被组织成数据库,并具有关于数据分析的特定功能。例如,OLAP 软件获取关系数据库的一个映像后,重新构建一个多维数据,然后便可 重新对此查询。一种典型的多维分析过程为:根据多维数据库的数据结 构定义相应的schema文件(schema是XML文件的一种类型,是OLAP 模型的逻辑表示,还可用作模型中所有元素的容器);MDX(多维表达式, 是一种语法,支持多维对象与数据的定义和操作)基于schema文件,在 界面上以图形化或文本形式输入进行查询;OLAP服务器通过JDBC(Java Data Base Connectivity,java数据库连接,是一种Java API,可以为多种 关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成) 与多维数据库进行连接,根据查询数据实现查询功能,向界面返回最终 结果。
ETL数据转换子系统的核心功能是数据抽取、清洗和转换,它是构 建数据仓库的重要环节。数据的抽取是从各个不同的数据源抽取到 ODS(OperationalDataStore,操作型数据存储)中,这个过程也可以做一些 数据的清洗和转换),在抽取的过程中需要挑选不同的抽取方法,尽可能 的提高ETL的运行效率。一般情况下,数据仓库分为ODS、DW两部分。 通常的做法是从业务系统到ODS做清洗,将脏数据和不完整数据过滤掉, 在从ODS到DW的过程中转换,进行一些业务规则的计算和聚合。因而, 数据清洗的任务是过滤那些不符合要求的数据,将过滤的结果交给业务 主管部门,确认是否过滤掉还是由业务单位修正之后再进行抽取。不符 合要求的数据主要是有不完整的数据、错误的数据、重复的数据三大类。 数据转换的任务主要进行不一致的数据转换、数据粒度的转换,以及一 些商务规则的计算。
以KETTLE实现ETL转换的过程为例,用户通过spoon设计ETL转 换过程(transformation),以XML文件形式存储于Kettle资源库中,在 transformation XML格式的文件中标签下是为用户预留需要 用户自行配置的主要内容,包括连接数据库的名称,域名地址,类型, 介入方法,端口,用户名以及为表数据所预留的空间属性等等; 标签下的内容为XML规定完成某一任务的具体实现,包含需要用户自行 配置的连接数据库名称和查询语句。Pan(transformation引擎,是后台执 行程序)基于所述Kettle资源库执行数据转换。Chef模块创建任务(Job), 通过允许每个转换,任务和脚本等,Kitchen允许批量使用由Chef设计的 任务(例如使用一个时间调度器),也是一个后台运行的程序,Spoon和 Kitchen分别通过JDBC连接到源数据库和目标数据库。
本发明实施例的核心构思之一基于以上BI子系统实现,主要在于, 通过建立PIM模型,实现面向用户的图形化操作,然后根据PIM模型, 针对各个BI子系统的模型分别采用模板映射、多参数映射和Xslt映射进 行转换,得到各接口配置文件,即统一在业务层面配置各个接口和系统 结构的XML文件,从而提高现有商业智能系统的灵活性、通用性;并且, 在各个子系统中所建立的映射库可以进行不同平台的移植,实现较好的 可移植性。
参考图1,示出了本发明的一种商业智能系统实施例的结构框图,可 以包括:
报表生成展现子系统101;
多维分析子系统102;
ETL数据转换子系统103;
建模单元104,用于依据报表生成展现子系统、多维分析子系统和 ETL数据转换子系统的接口配置参数,建立对应的PIM模型;
映射单元105,用于针对某个子系统的执行请求,调用所述PIM模 型按照相应的转换规则生成对应子系统的配置文件。
优选的,所述映射单元可以包括以下子单元:
模板映射子单元,用于针对报表生成展现子系统,通过XML文件生 成器读取所述PIM模型,生成所述报表生成展现子系统的配置文件;
和/或,多参数映射子单元,用于针对多维分析子系统,读取所述PIM 模型中的通用参数、涉及XML文件结构定义的参数和具体数据信息,生 成所述多维分析子系统的配置文件;
和/或,XSLT映射子单元,用于针对ETL数据转换子系统,依据所 述ETL数据转换子系统的接口配置文件和PIM模型创建XSLT转换模板, 并按照所述模板转换生成所述ETL数据转换子系统的配置文件。
在实际中,所述PIM(Platform-Independent Model,平台无关模型) 模型可以在Rational Rose系统中采用UML(Unified Modeling Language, 统一建模语言)语言建立,Rational Rose是一种面向对象的统一建模语 言软件设计工具,用于可视化建模和公司级水平软件应用的组件构造。 本发明的PIM模型面向用户层面设置,可以理解的是,本发明映射单元 的处理过程,类似于基于MDA(Model Driven Architecture,模型驱动架 构)处理从PIM到PSM(Platform Specific Model,平台相关模型)的变 换的过程,公知的是,PIM到PSM的变换是基于特定平台特性的。因此, 在建模过程中使用UML来描述平台的特性,如将一个逻辑的组件模型变 换到已有的业务组件模型(比如J2EE平台的EJB)就是一种PIM到PSM的 变换。在MDA的实际应用中,变换工具可以根据不同的变换规则将一个 PIM变换到多个不同的PSM,对于每种特定的技术平台都会生成独立的 PSM,并在这些PSM之间生成桥接器,在这些PSM之间建立联系。
基于上述原理,本发明可以由用户采用MDA方法进行PIM模型建 立,建立的依据为商业智能系统中各个子系统的相关接口配置参数,例 如,报表生成展现子系统的.rptdesign文件、多维分析子系统的Schema 文件、和ETL数据转换子系统的transformation文件。为解决实际中参数 类型不同的问题,在本实施例中,所述建模单元还可以包括以下子单元:
优先级设定子单元,用于根据通用参数、结构定义参数和实际数据 类型参数设定优先级;
模板填充子单元,用于在PIM模型建立时,依据所述优先级由高到 低将相应参数依次读入PIM模型的XML文件中。
其中,所述通用参数可以为数据库名,表名,连接端口等;结构定 义参数具体可以为涉及到XML文件结构定义的参数,如Schema文件的 dimension、hierarchy、level、measure参数等;实际数据类型可以为列描 述、各种维度、属性的参数描述等。当然,上述参数仅仅是作为示例, 本发明对此并不需要进行限定。
根据得到的相关接口配置参数,结合PIM建模生成的特定XML文 件,则可以进行多模板转换规则的建立及实现数据的匹配转换。例如 把.rptdesign、schema、transformation文件进行功能细分,确定要执行的 独立转换任务,然后根据每个独立的转换任务进行转换规则的建立。具 体可以为:
在报表生成展现子系统中,根据用户建立的PIM模型由模型转换工 具直接生成.rptdesign文件,优选的,所述模型转换工具可以为一个XML 文件生成器,它读取用户建立的模型,转换成可运行代码,即.rptdesign 文件。采用这个方法则可以减少现有技术中采用Birt插件的图形界面接 口(GUI)进行报表设计的步骤。更为优选的是,为简化模型转换工具的 设计,可以对用户设计报表的功能和灵活度作一定限制。例如,先从BIRT 定制生成的各种类报表的一般化.rptdesign文件作为模板,此时该文件只 包括最后要生成的报表文件的概要特征,如包括几张表,几张图,什么 类型的图等等。然后,这些模板将反应在建模语言里,即用户只能使用 模板的模型来建立报表。从而,模型转换的过程简化为,将用户建立的 模型中包含的生成.rptdesign文件所需要的关键信息填入模板文件的过 程。填好的模板文件即为完整的.rptdesign文件,可以由BIRT运行时直 接处理。
在多维分析子系统中,根据用户建立的PIM模型读取相关通用参数, 确定Schema文件的名称属性和Cube,Table名;由模型解析出Dimension、 Hierarchy、Level及measure的层次结构,确定Schema文件结构;在此 基础上针对Schema文件所需其它参数读入具体数据信息,完成Schema 文件编写。即通过预先设置特定模板即可实现查询。
在ETL数据转换子系统中,可以把.rptdesign、schema、transformation 文件进行功能细分,确定要执行的独立转换任务,根据每个独立的转换 任务进行映射规则的建立。具体地,可以创建一个用于描述数据的转换 过程的样式表,每个样式表存储为元素,保存了将要执行 的数据进行转换的一系列规则。表中的每一条规则都对应着在源XML文 档的每个节点上进行操作所相关的模式,即为模板。模板可以理解为映 射规则,是行为和覆盖的基本单元。
Xslt(一种基于XML的语言,用于将一类XML文档转换成另一种 XML文档)转换涉及源文件、含有模板规则的文件和目标文件。根据所 述ETL数据转换子系统的接口配置参数的XML文件和PIM模型的XML 文件,建立Xslt转换模板,其重点在于定义一系列的模板规则。具体地, 模板规则可以由xsl:template组件表示,并由match属性制定对比样式, 对比样式决定来源树中哪些节点要依次按照规则模板进行处理。即每当 XSLT所处理的源节点同规则的模式相匹配时,它就会将规则模板中所代 表的内容在结果树中构造出来。
Xslt转换模板以规则为定向的模板设计方式,使得各种组件类型在定 义其模板规则时,可以考虑或不考虑组件的层次结构,因此,相同组件 类型可以在不同结构层次重复使用,不需要重新改写Xsl模板,只要把新 的模板规则填补上即可。对于每个要执行的独立的转换任务建立相应的 模板,将它们按照映射规则组织起来;这样,当需要修改时,如果重新 利用一个合适的单独的模板越容易,则把它作为已经存在的转换模板来 覆盖也就越容易。
上述转换的基本处理流程为:首先,XML源文件被解析DOM树存 放在内存中,接着对文件进行分析,每一个DOM树中的节点都会与一个 模式相比较,当二者匹配时,就会按照模板中定义的规则进行转换,否 则继续往下匹配。如此循环,直至整个文件处理完毕,最终生成目标文 件。
以上对本发明所提供的一种商业智能系统进行了详细介绍,本文中应 用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说 明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的 一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会 有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。