一种松散耦合的业务流程管理系统的制作方法

文档序号:13910357阅读:175来源:国知局
一种松散耦合的业务流程管理系统的制作方法

本发明涉及高性能计算技术领域,特别涉及一种松散耦合的业务流程管理系统。



背景技术:

目前我国石油消费量仅次于美国,成为世界第二大石油消费国,地震勘探是现代石油勘探方法中使用最为广泛的一种。准确、全面的实现地震数据处理迫在眉睫。然而,在我国,面向地震数据处理的业务流程管理仍然处于起步和摸索阶段。

因此,如何准确、全面的实现地震数据的处理是本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明的目的是提供一种松散耦合的业务流程管理系统,可准确、全面的实现地震数据的处理。

为解决上述技术问题,本发明提供了一种松散耦合的业务流程管理系统,所述系统包括:

客户端,用于生成业务流程,提交所述业务流程以及所述业务流程的执行请求,并显示作业的执行状态与结果;

业务流程管理器,用于接收所述业务流程以及所述业务流程的执行请求,根据所述业务流程的相关信息生成所述作业,并监控所述作业的执行状态与结果,将所述作业的执行状态与结果反馈给所述客户端;

资源管理器,用于执行所述作业。

优选的,所述业务流程管理器包括:

web服务器,用于接收所述业务流程以及所述业务流程的执行请求;

业务集成平台,用于解析所述业务流程,根据解析结果,形成脚本指令,提交所述脚本指令,生成所述作业,获取所述作业的执行状态与结果,并将所述作业的执行状态与结果反馈给所述客户端;

业务流程管理数据库,用于存储所述业务流程的相关信息;

共享存储器,用于存储所述作业的结果。

优选的,所述业务集成平台包括:

参数管理模块,用于管理功能模块的相关参数;

脚本管理模块,用于根据所述功能模块的相关参数生成所述作业;

状态监控管理模块,用于通过轮询的方式获取所述作业的执行状态与结果,并将所述作业的状态与结果反馈给所述客户端。

优选的,所述业务集成平台还包括:

文件管理模块,用于为文件资源的存贮路径建立索引;

用户管理模块,用于对用户的账户、密码以及权限进行管理。

优选的,所述资源管理器包括:

磁盘存储模块,用于存储各工具软件的磁盘空间;

资源调度模块,用于调度所述磁盘空间,执行所述作业。

优选的,所述系统还包括:

插件处理模块,用于配置插件的配置文件;其中,所述插件的配置文件包括插件资源id、插件名称、插件路径、插件参数;

插件加载引擎,用于读取所述插件的配置文件,并加载相应的插件;

插件显示模块,用于通过菜单或工具条的形式显示所述插件。

优选的,所述系统还包括:

可视化远程交互模块,用于通过互联网远程监控与管理所述作业。

优选的,所述系统还包括:

接口设置模块,用于设置所述系统与系统组件之间以及所述系统与外部组件的接口。

优选的,所述接口设置模块包括:

业务流程交互子模块,用于实现多个业务平台的数据交互与衔接。

优选的,所述接口设置模块还包括:

系统与功能模块接口设置子模块,用于实现所述系统对各所述功能模块的管理;

系统与资源管理器接口设置子模块,用于新增资源管理器;

系统与数据库接口设置子模块,用于实现所述系统对数据库的管理;

远程可视化接口设置子模块,用于实现所述系统的远程可视化操作;

系统与geoeast接口设置子模块,用于实现所述系统与geoeast的衔接。

本发明所提供的松散耦合的业务流程管理系统,包括:客户端,用于生成业务流程,提交所述业务流程以及所述业务流程的执行请求,并显示作业的执行状态与结果;业务流程管理器,用于接收所述业务流程以及所述业务流程的执行请求,根据所述业务流程的相关信息生成所述作业,并监控所述作业的执行状态与结果,将所述作业的执行状态与结果反馈给所述客户端;资源管理器,用于执行所述作业。

本发明所提供的松散耦合的业务流程管理系统,针对地震学数据的特点,支持地震学数据的高性能处理。通过系统中各组件协调处理业务流程,实现了准确、全面地处理地震学数据的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种松散耦合的业务流程管理系统的示意图;

图2为本发明实施例提供的状态监控界面示意图;

图3为本发明实施例提供的插件加载示意图;

图4为本发明实施例提供的用户提交远程桌面服务请求的流程示意图;

图5为本发明实施例提供的系统响应用户请求并返回远程桌面的流程示意图;

图6为本发明实施例提供的资源管理器的基类包含示意图。

具体实施方式

本发明的核心是提供一种松散耦合的业务流程管理系统,该系统可以实现对地震学数据进行准确、全面地处理。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例提供的一种松散耦合的业务流程管理系统的示意图,参考该示意图可知,该业务流程管理系统可以包括:

客户端100,用于生成业务流程,提交业务流程以及业务流程的执行请求,并显示作业的执行状态与结果;

具体的,在编辑模式下,各功能模块可以从编辑界面的列表中添加到业务流程中。其中,通过gui(graphicaluserinterface,图形用户界面)定义的业务流程、工具软件以及相关参数可以保存在工作流程管理数据库中。用户可以通过拖放,创建各功能模块之间的依赖关系,以实现业务流程中各功能模块串行或并行运行。即用户可以通过对功能模块的拖放而编辑生成业务流程,并可以对业务流程中的各功能模块的参数进行配置。生成的业务流程以xml(extensiblemarkuplanguage,可扩展标记语言)工程文件的形式进行提交,以及提交业务流程的执行请求。其中,功能模块是构成业务流程的基本单元,功能模块的调用由业务流程控制。功能模块既可以是可执行应用程序,也可以是自定义脚本。

进一步,当接收到业务流程管理器反馈的作业的执行状态与结果后,可以将作业的执行状态与结果显示在状态监控界面上;如图2所示,图2为本发明实施例提供的状态监控界面示意图;通过状态监控界面可以获知作业的状态,例如,可以获知作业1的执行状态为运行;作业2的执行状态为退出;作业3的执行状态为搁置;作业4的执行状态为作业在排队过程中被挂起。

业务流程管理器200,用于接收业务流程以及业务流程的执行请求,根据业务流程生成作业,并监控作业的执行状态与结果,将作业的执行状态与结果反馈给客户端100;

优选的,业务流程管理器200包括:

web服务器,用于接收业务流程以及业务流程的执行请求;

业务集成平台,用于解析业务流程,根据解析结果,形成脚本指令,提交脚本指令,生成作业,获取作业的执行状态与结果,并将作业的执行状态与结果反馈给客户端;

业务流程管理数据库,用于存储业务流程的相关信息;

共享存储器,用于存储作业的结果。

具体的,业务流程执行请求经web服务器发送给业务集成平台,在运行模式下,业务集成平台可以利用业务流程引擎解析客户端100提交的业务流程,根据业务流程中各功能模块的程序以及参数,形成作业脚本,提交后的作业脚本成为作业,由资源管理器接收并进行资源调度和作业执行。在监控模式下,对已提交的作业脚本即作业的运行状态进行监控,并将作业的执行状态与结果返回给客户端。

业务流程管理数据库存储业务流程的相关信息,此外还可以存储作业以及用户的详细信息;同时,业务流程管理数据库还可以存储资源管理器的配置数据。其中,业务流程管理数据库可以包含业务流程表单、功能模块与参数表单、脚本指令表单、状态表单、文件表单、用户表单。其中,以业务流程表单为中心,其他各表单与业务流程表单相互关联,为业务集成平台提供支持。

共享存储器存储作业的结果,包括作业的中间结果与最终结果。通过共享存储器可以实现网路上不同的节点、不同的操作系统能够彼此分享数据,可以让应用程序通过网络访问服务器磁盘中的数据,实现应用程序和用户数据的共享。

优选的,业务集成平台包括:

参数管理模块,用于管理功能模块的相关参数;

脚本管理模块,用于根据功能模块的相关参数生成作业;

状态监控管理模块,用于通过轮询的方式获取所述作业的执行状态与结果,并将所述作业的状态与结果反馈给所述客户端。

具体的,参数管理模块管理功能模块的相关参数,为功能模块的输入、输出、功能模块之间提供参数配置接口。其中,各功能模块需要提供详细信息,包括需要从终端运行功能模块或脚本的命令、命令采用的参数、由资源管理器分配给功能模块的资源、以及功能模块将生成的预期输出。所有功能模块的参数通过web浏览器界面输入到系统中,并存储在数据库。

脚本管理模块根据功能模块的相关参数生成作业。其中,作业涉及的资源请求包括所需的内存、内核数以及要分配给作业的时长。为生成作业,所调用的功能模块的参数以及涉及的输入、输出文件信息等需完整可用。

状态监控管理模块对已提交的作业运行状态进行监控,并将作业的执行状态与结果反馈给客户端。状态监控管理模块对作业的实时监控通过与资源管理器300交互来完成,使用资源管理器300的命令工具检查作业的更新状态。通过持续轮询以更新作业详细信息。返回的作业的数据被解析并存储在业务流程管理数据库中,以保留作业的状态记录。

优选的,业务集成平台还包括:

文件管理模块,用于为文件资源的存贮路径建立索引;

用户管理模块,用于对用户的账户、密码以及权限进行管理。

具体的,文件管理模块为文件资源的存贮路径建立索引;负责对所使用的文件资源、作业的输入和输出以及作业的工作目录进行管理。文件资源被存储在由系统管理的目录层次结构中。作业执行成功后,用户可以访问作业的结果。

用户管理模块对用户的账户、密码以及权限进行管理;根据用户权限为用户提供作业管理功能。监控作业状态、删除作业、取消正在运行的作业、暂停或保留作业、更改作业等这些操作为不同权限的用户提供不同的处理响应。

资源管理器300,用于执行作业。

具体的,资源管理器300调用相应的功能模块,根据调度策略执行作业,并在用户通过参数设置的指定位置输出作业的中间结果与最终结果。此外,资源管理器300还负责负载信息的收集、资源管理、负载均衡。

优选的,资源管理器300包括:

磁盘存储模块,用于存储各工具软件的磁盘空间;

资源调度模块,用于调度所述磁盘空间,执行作业。

综上所述,本发明所提供的松散耦合的业务流程管理系统,包括客户端100,用于生成业务流程,提交业务流程以及业务流程的执行请求,并显示作业的执行状态与结果;业务流程管理器200,用于接收业务流程以及业务流程的执行请求,根据业务流程的相关信息生成作业,并监控作业的执行状态与结果,将作业的执行状态与结果反馈给客户端100;资源管理器300,用于执行作业。

本发明所提供的松散耦合的业务流程管理系统,针对地震学数据的特点,支持地震学数据的高性能处理。通过系统中各组件协调处理业务流程,实现了对地震学数据进行准确、全面地处理。

在上述实施例的基础上:

作为一种优选的实施例,该系统还包括:

插件处理模块,用于配置插件的配置文件;其中,插件的配置文件包括插件资源id、插件名称、插件路径、插件参数;

插件加载引擎,用于读取插件的配置文件,并加载相应的插件;

插件显示模块,用于通过菜单或工具条的形式显示插件。

具体的,为实现功能扩展,可利用插件配置文件和插件加载引擎协同配合完成。通过插件配置文件说明插件的资源id、名称、位置等信息。插件加载引擎则负责加载插件。在业务集成平台启动时,插件加载引擎读取插件配置文件,并加载相应的插件。其中,加载的插件可以以菜单或工具条的形式显示。

可以参考图3,图3为本发明实施例提供的插件加载示意图;参考该示意图可知,插件加载可以包括以下步骤:

启动业务集成平台即图3中的启动集成平台;

读取插件的配置文件即图3中的读取插件配置文件;

加载插件;

显示插件菜单。

其中,插件的配置文件描述每个插件的资源id、名称、插件路径和对应事件等信息。业务集成平台通过在配置文件中设置相应的开关,决定插件的启用与否。业务集成平台运行时,检查配置文件并加载插件。插件的配置文件以xml形式存储和解析,可扩展,也可局部修改。

该优选实施例,建立了基于插件的功能扩展机制,可以将第三方的功能模块加载到业务集成平台中,进而扩展业务集成平台的功能。

在上述实施例的基础上:

作为一种优选的实施例,该系统还包括:

可视化远程交互模块,用于通过互联网远程监控与管理作业。

具体的,在远程交互模式下,可视化远程交互模块,负责接收用户输入。用户可以通过web浏览器界面远程监控和管理作业。为了使系统与各业务集成平台之间保持松耦合,可以采用远程桌面技术实现远程可视化。可参考图4和图5,其中,图4为本发明实施例提供的用户提交远程桌面服务请求的流程示意图,图5为本发明实施例提供的系统响应用户请求并返回远程桌面的流程示意图。通过图形交互界面显示业务流程的详细状态信息,用户可以在互联网实时监测业务流程的状态,包括作业运行状态、当前正在运行或等待运行的作业数、在线/离线节点数、在整个集群中使用的处理器的比例、仍然可用的磁盘空间等。用户可以通过图形交互界面检查集群中每个节点的状态以及被提交的作业所在的当前队列。

进一步,可视化远程交互模块采用b/s(browser/server,浏览器/服务器)模式,用户在远程客户端通过web浏览器与业务集成平台进行交互。

该优选实施例,通过可视化远程交互模块,实现远程客户端对服务器上业务流程执行状态的监控和操作,实现业务流程处理结果的展示。同时,b/s结构利用web浏览器,结合脚本语言和组件技术,实现客户端功能,可以达到系统的无缝升级、减小系统维护开销、实现跨平台操作的目的。

在上述实施例的基础上:

作为一种优选的实施例,该系统还包括:

接口设置模块,用于设置系统与系统组件之间以及系统与外部组件的接口。

优选的,接口设置模块包括:

业务流程交互子模块,用于实现多个业务平台的数据交互与衔接。

具体的,为实现多个业务平台的交互与衔接,可以合理定义工程文件,兼顾与geoeast的兼容性,完成业务流程的协作处理。xml数据交换可以使用自定义的标签。在两个业务平台间可以通过xml工程文件传递业务流程信息。通过为数据文件建立文件索引的方式,为不同业务平台间的数据交互建立衔接。前一个业务平台的处理结果通过文件路径索引传递给后一个业务平台。作业的中间结果和最终结果数据可以被保存在共享存储器上,为多个业务平台所共享。

优选的,接口设置模块还包括:

系统与功能模块接口设置子模块,用于实现系统对各功能模块的管理;

系统与资源管理器接口设置子模块,用于新增资源管理器;

系统与数据库接口设置子模块,用于实现系统对数据库的管理;

远程可视化接口设置子模块,用于实现系统的远程可视化操作;

系统与geoeast接口设置子模块,用于实现系统与geoeast的衔接。

具体的,新的功能模块在添加时需要为系统提供相应的参数信息。这些信息由业务流程管理数据库加以保存、更新和维护。系统进行模块调用时,将从业务流程管理数据库的相应表单获取相应信息。同时,该业务流程管理数据库为每个新增模块维护输入配置文件,输入配置文件为模块或业务流程给出一组默认输入。由模块表单、参数表单、工作流表单以及其他相关表单共同维护工具软件、参数及工作流程的相关信息。每个新增工具软件需要向系统提供详细参数说明、输入输出文件以及默认的参数值。对工具软件和工作流程的修改只影响相关表单数据。

进一步,建立资源管理器300接口的目的是为支持新增资源管理器300,而不是将固定资源管理器300与系统绑定。为了支持业务流程管理器200对资源管理器300的扩展能力,资源管理器300接口使用脚本包装器。首先为资源管理器300建立基类,参考图6,图6为本发明实施例提供的资源管理器的基类包含示意图。其次,新增的资源管理器300可以根据基类编写派生类。派生类可以遵循如下规则:

派生类从资源管理器300基类继承。基类提供业务流程管理器200所需的一些重要功能,需要派生类来覆盖一些未实现的函数;

派生类用来自资源管理器300的数据覆盖基本函数的输出,并将它们返回到业务流程管理器200。这样,业务流程管理器200接收并知道如何处理对象或对象的列表。资源管理器300的对象内容可能不同,所以对象可以包含它们持有哪种类型数据的元数据描述,以便业务流程管理器200调整其接口以适应数据。

派生类保存到业务流程管理器200能找到的特定文件夹中。使用派生类,可在业务流程管理器200的配置文件中指定派生类名称。

进一步,使用对象关系映射机制,在关系型数据库和业务实体对象之间作一个映射。这样,通过操作对象的属性和方法来操作业务对象,避免复杂的sql(structuredquerylanguage,结构化查询语言)语句。使用对象关系映射机制,使得数据库迁移成本降低。不受具体数据库实现的限制,在变更数据库时无需修改系统代码。

进一步,系统采用远程桌面技术实现远程可视化。应用部署在远程服务器,通过远程桌面服务器管理多用户的linux环境桌面。同时建立基于web的远程桌面客户端,用户通过客户端请求获取远程桌面,启动远程桌面的单一应用,实现远程应用的显示与交互。通过采用远程桌面技术,可以最大程度的保持原有程序的独立性。

进一步,为了最大程度地保持geoeast的独立性,可以通过以下方式实现与geoeast的交互:

在业务集成平台中为geoeast建立新的geoeast模块,并指定相关参数,指定该geoeast模块运行时所需的.job文件位置;

在远程交互模式下,运行jsfconsole平台,编辑业务流程,将业务流程在指定位置处保存为.job文件;

提交业务流程,业务集成平台下的geoeast模块生成相应的脚本命令行sjobxxxx.job,由geoeast执行控制程序接收脚本;

调用jsf(javaserverfaces,一种用于构建javaweb应用程序的标准框架)的作业查询命令,获取geoeast的作业的执行状态。

此外,为了实现系统与geoeast的衔接,可以设置相关接口以实现对geoeast的数据库访问,访问geoeast的输出结果,读取处理结果文件;调用jsf作业的状态轮询的命令,获取geoeast内部jsf的作业的执行状态;启动

jsfconsole,远程交互编辑业务流程;以geoeast的用户登陆,使业务集成平台用户成为geoeast的合法用户。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的松散耦合的业务流程管理系统进行了详细的介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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