一种用于商务智能分析平台的工作流程实现方法技术

技术编号:11788111 阅读:101 留言:0更新日期:2015-07-29 12:20
本发明专利技术提出了一种商务智能平台中的工作流程实现方法,根据业务逻辑功能的相似性,将商务智能平台中的工作流程引擎拆分,形成几个相互独立的松耦合数据处理子引擎以及一个用于管理流程的主引擎,用以降低工作流程中数据处理模块之间的耦合性,提高了工作流程的可重用性,其中主引擎通过jBPM来实现对工作流程的管理和调度。同时,借鉴了OSGi规范中的插件思想和包共享思想,将各引擎模块设计为符合OSGi规范的插件来保持模块的独立性,实现了模块的热插拔和动态更新,提高了工作流程的可扩展性;同时通过包共享机制来实现模块之间的交互,使各模块协同合作实现一个完整的工作流程。

【技术实现步骤摘要】

本专利技术属于商务智能分析平台子技术,主要用于商务智能分析平台中的工作流程 的实现。
技术介绍
公知技术 籲商务智能分析平台 商务智能,英文为BusinessIntelligence,简写为BI。商业智能通常被理解为将 企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。 商业智能分析平台的工作流程由一系列的数据处理模块组成,包括:数据挖掘、 ETL、联机分析处理等部分。 ?OSGi OSGi技术是面向Java的动态模型系统。OSGi技术提供允许应用程序使用精炼、 可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。组件 代表一组独立的功能模块,它是一个高内聚,低耦合的系统,封装了功能的实现细节,仅仅 暴露了外部可调用的接口,这归功于OSGi的独立类加载器隔离了外部系统对组件细节的 访问。 ?jBPM jBPM是一个开源的、纯Java的、轻量级的支持多种可执行流程语言的商业流程管 理(BPM)工作流引擎,同时还提供了开发工作流、部署工作流、执行工作流、管理工作流任 务、监控工作流等功能,为执行引擎控制多个子任务提供了技术支持。 现有技术方案 现有的商业分析平台中,对于简单的业务逻辑,工作流程一般只是简单的算法的 调用过程;对于复杂的业务逻辑,现有的工作流程一般采用分而治之的办法:将一个完整 的流程根据业务能力的相似性,划分为一些模块,如:数据预处理模块、数据的报表展现模 块等。将各模块按照数据的处理顺序简单串接起来,上一个模块的输出作为下一个模块的 输入,模块共同协作实现一个完整的工作流程。 从以上技术方案可以看出,在现有的商业分析平台的工作流程中,存在以下两大 缺点: 1.数据处理模块之间的耦合性较高,数据处理过程只对特定场景或者特定数据适 用。当数据改变或场景变化时,需要对执行引擎做较大改动,重复开发和测试,工作量大。 2.当要添加新的子能力工作流程时,需要修改整个总工作流程,重新开发,能力扩 展性差。
技术实现思路
本专利技术是针对现有商务智能平台中工作流程存在的缺点提出的。本专利技术通过降低 数据处理模块之间的耦合性,使工作流程对场景的依赖小,以增强工作流程在不同场景中 的通用性。采用本专利技术可以增强工作流程的可扩展性,实现数据处理模块的动态添加和卸 载。当有新的数据处理能力加入时,只需添加相应的子流程模块和自身声明;当旧的模块不 再使用时,只需将模块卸载,而不影响其他模块的正常运行。 本专利技术通过以下技术方案实现:根据业务逻辑功能的相似性,将商务智能平台中 的工作流程引擎拆分,形成多个相互独立的松耦合数据处理子引擎模块以及一个用于管理 流程的主引擎模块,所述的主引擎模块通过jBPM来实现对工作流程的管理和调度,所述的 子引擎模块设计为符合OSGi规范的插件来保持模块的独立性,实现了模块的热插拔和动 态更新,通过包共享机制来实现模块之间的交互,使各模块协同合作实现一个完整的工作 流程。 本专利技术的优选方案是:所述的主引擎模块为一个独立的bundle,在bundle工程中 加入jBPM的方法包,这样就可以调用jBPM提供的API进行流程的解析和执行等,使主引擎 模块具有管理和执行流程的能力,主流程管理模块还设计有通信部分,通过网络或数据库 或其他方式获取流程定义,接口部分用于与其他的子流程模块bundle进行交互。 本专利技术的另一优选方案是:所述的子流程模块为一个独立的bundle,在OSGi规 范中,服务中心是一个所有bundle都可以向其中注册服务的类,注册服务以后,只要注册 该服务的bundle处于激活状态,其他bundle均可使用该服务,通过0SGI框架的包共享机 制,在子引擎中引入主引擎外露的接口,并通过java的implement方式实现该接口,让每个 子流程实现该接口,并将自己的服务以接口名称的方式注册到上述的OSGi服务中心,其他 bundle即可使用此服务来处理数据,实现了将服务与实现分离。 本专利技术的具体实现包含以下工作步骤: 1.集成了jBPM的主引擎模块的设计。 在OSGi规范中,将独立的模块称做bundle。bundle代表一组独立的功能模块,它 是一个高内聚,低耦合的系统,封装了功能的实现细节,仅仅暴露了外部可调用的接口。在 本专利技术中将主流程管理模块设计成一个独立的bundle,在bundle工程中加入jBPM的方法 包,这样就可以调用jBPM提供的API进行流程的解析和执行等,使主引擎模块具有管理和 执行流程的能力。同时,主模块还设计有通信部分,可以通过网络或数据库或其他方式获取 流程定义,支持多种方式;接口部分则用于与其他的子流程模块bundle进行交互。此模块 的设计又分为以下几步: 1)主引擎模块bundle的设计:首先实现bundle中Activator类中的start和 stop方法,分别为bundle启动和停止时调用的方法;然后修改bundle的manifest文件指 定bundle的名称和版本等信息。 2)jBPM的集成:将jBPM的工程jar包,加入到刚才设计的主引擎bundle的依赖 中,即可调用jBPM的流程处理API来对流程进行管理。 3)接口的设计:定义一个engineservice接口,并在其中定义一个空的run方法, 将包含engineservice接口的包加入到bundle的导出包中,使接口外露可以被其他bundle 调用和实现。 4)通信部分的设计:通过servlet从网络获取流程定义,或者通过JDBC从数据库 中获取流程定义。 2.数据处理子流程模块的设计。 子流程模块是真正的具备数据处理能力的模块,各个子流程模块具备不同的数据 处理能力。各个子流程模块分别设计为一个独立的bundle。 在OSGi规范中,服务中心是一个所有bundle都可以向其中注册服务的类,注册服 务以后,只要注册该服务的bundle处于激活状态,其他bundle均可使用该服务。本专利技术定 义了一个统一的接口,让每个子流程实现该接口,并将自己的服务以接口名称的方式注册 到上述的OSGi服务中心,其他bundle即可使用此服务来处理数据,实现了将服务与实现分 离。当需要新增子流程时,也将其设计为一个bundle,并实现之前定义的接口,将服务注册 到服务中心即可。实现了能力子流程的动态添加,提高了可扩展性。数据处理子流程模块 的设计分为以下几部分: 1)子引擎模块bundle的设计:与主引擎bundle相同,也要实现start和stop类 并添加和修改manifest文件。 2)服务的注册:在Activator类中的start方法中通过OSGi框架的 registerServiceAPI进行服务注册,注册名称为主当前第1页1 2 本文档来自技高网
...

【技术保护点】
一种用于商务智能分析平台的工作流程实现方法,其特征在于:将商务智能平台中的工作流程引擎拆分,形成多个相互独立的松耦合数据处理子引擎模块以及一个用于管理流程的主引擎模块,所述的主引擎模块通过jBPM来实现对工作流程的管理和调度,所述的子引擎模块设计为符合OSGi规范的插件来保持模块的独立性,实现了模块的热插拔和动态更新,通过包共享机制来实现模块之间的交互,使各模块协同合作实现一个完整的工作流程。

【技术特征摘要】

【专利技术属性】
技术研发人员:江志雄陆春阳杨娟吴斌傅宇翔刘志健
申请(专利权)人:北京中油瑞飞信息技术有限公司北京邮电大学
类型:发明
国别省市:北京;11

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

1