首页 > 范文大全 > 正文

基于工作流的录井生产指挥系统设计与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于工作流的录井生产指挥系统设计与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文介绍了基于工作流的录井生产指挥系统的设计和实现,系统利用工作流技术和.NET框架创建一个信息共享的平台,实现对录井生产工作流程的有效监督和控制,实时掌握油田基层的生产动态,降低生产成本,提高油田工作效率,具有较高的实用推广价值。

关键词:工作流;录井;三层体系结构

中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)16-3792-03

Design and Realization of Workflow-based Logging Production Command System

ZHANG Da-wei

(China University of Petroleum, Dongying 257061, China)

Abstract: The thesis introduces the design and realization of Workflow-based Logging Production Command System, using workflow and. NET framework, the system created a platform for information sharing, which achieved effective supervision and control over logging production workflow, and grasped oil primary production dynamics in real time, and lowered production costs, and improved the work efficiency of oil field, with high value of application and promotion.

Key words: workflow; logging; three layers structure

1 概述

工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念;目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。

录井技术是油气勘探开发活动中最基本的核心技术之一。录井的主要任务是在实时状态下连续取全取准各项数据资料,为油气田的勘探和开发提供可靠的第一手地质信息。目前,录井生产管理的信息化建设的现状是单条腿走路,录井下级单位把所有生产信息通过卫星、GPRS传输到后勤用户,但是后勤用户不能把动态指令、措施、技术支持等信息通过网络回传到一线录井队伍,信息是单向流动,不能形成网上即时互动。录井管理工作仍采用电话和跑井等传统手段,浪费成本而且传递的信息既不全面也不系统;更重要的是这种工作模式缺乏日常工作流程控制,随意性很大。总之,建立基于工作流的录井生产指挥系统,为录井生产管理提供一个统一的网络信息平台,加强对录井生产管理的监控和管理是势在必行。

2 录井生产指挥系统中工作流技术研究

工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组活动以及它们之间的顺序关系,过程及活动的启动和终止条件,以及对每个活动的描述。工作流管理系统指运行在一个或多个工作流引擎上,用于定义、实现和管理工作流运行的一套软件系统。它与工作流执行者(人、应用) 交互,推进工作流实例的执行,并监控工作流的运行状态。

由工作流管理体系结构图(图1)可看出,工作流管理系统由过程建模工具、工作流引擎 、任务表管理器、用户界面及其相关的应用和数据组成。工作流管理系统可以根据经营过程以及组成活动的复杂程度,采取多种实施方式。在不同实施方式中,所应用的信息技术、通信技术和支撑系统结构等则会有很大的差别。其实际运行环境可以在一个工作组内部,也可以在全企业所有的业务部门。

工作流管理系统一般分为三个阶段:即模型建立阶段、模型实例化阶段和模型执行阶段。在模型建立阶段,通过利用工作流建模工具,完成企业经营过程模型的建立,将企业的实际经营过程转化为计算机可处理的工作流模型。模型实例化阶段,给每个过程设定运行所需的参数,并为每个活动分配所需要的资源。模型执行阶段,完成经营过程的执行,主要是完成人机交互和应用的执行。

工作流管理的最大优点是将应用逻辑与过程逻辑分离,在不修改具体功能的情况下,通过修改过程模型改变系统功能,完成对生产经营部分过程或全过程的集成管理,可有效地把人、信息和应用工具合理地组织在一起,发挥系统的最大效能。

工作流管理系统通过流程定义模块、工作流引擎模块、工作流监控和管理模块的设计来实现工作流;系统涉及到的数据包括工作流控制数据、工作流相关数据和工作流应用数据。流程定义模块主要负责工作流程的定义,用图示化的方式进行过程建模,并且将图示化的流程自动转换成可由工作流引擎执行的流程模板文件。工作流引擎是工作流管理的核心调度模块,主要管理工作流过程及各活动步骤之间的状态转换;工作流引擎对流程定义进行解释,按照定义好的流程运行;包括可操作实例的创建和控制、工作人员间的工作自动传递、调用其他用户信息等。工作流监控主要负责监控工作流的运行状态;包括活动的执行状态、执行时间、所用资源、负责人等,并将执行状态反馈给用户。工作流管理是工作流执行中与任务承担者之间的交互接口。用户通过自己的工作项列表获取工作流引擎派发的任务。

在具体的系统应用中,必须选择合适的工作流模型,编写工作流引擎,定制各种需要的工作流。例如录井生产指挥系统中任务书电子工作流(包含井位测量任务书的录入、审核、批准和接收四项功能)以及录井过程(包括调度令、录井施工任务书、远程传输施工任务书、技术决策、生产综合信息、生产日报、勘探日报、生产报表、外部市场报表等十几个模块)工作流的设计与实现。

3 录井生产指挥系统分析设计与实现

结合油田实际情况,录井生产指挥系统要为录井生产管理提供一个统一的网络信息平台,必须采用Web方式,目前主流开发主要有J2EE和.Net平台开发的工作流应用。与J2EE相比,.Net能够充分利用Windows下的各种资源和工具,保持良好的向后兼容性;另外.Net运行速度快,开发与部署过程简单。.Net利用实现数据访问,不仅能够高效访问关系数据库和其它数据源(如XML、数据集等),同时还可以访问文件系统和目录,从而对工作流提供了良好的数据支持。提供了种类丰富、功能强大的Web控件,从而能够轻松开发基于Web的应用程序。经过大量调研及需求分析工作,决定基于工作流技术和.Net架构、IIS应用服务器、Oracle关系数据库、C#语言构建并开发录井生产指挥系统的信息共享平台。

3.1 系统框架结构设计及实现

利用.NET平台、IIS应用服务器、Oracle关系数据库,构建基于.Net录井生产指挥系统架构图如图2所示。系统应用模型采用纯B/S结构模型,即浏览器(Browser)/服务器(Server)。系统框架采用三层体系结构,即:用户表示层、业务逻辑层、数据层三个层次。各层次之间均采用标准的TCP/IP通信协议并提供设备无关的控制接口,可根据用户需要灵活选择系统配置和功能分布方式。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了业务逻辑层进行处理。

表示层位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

业务逻辑层无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,也将业务逻辑层称为领域层。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。

数据层也称为持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说就是实现对数据表的Select、Insert、Update、Delete的操作。如果要加入ORM的元素,那么就会包括对象和数据表之间的mapping、以及对象实体的持久化。

通常情况下,客户端不直接与数据层进行交互,而是通过COM/DCOM通讯与业务逻辑层建立连接,再经由业务逻辑层与数据层进行交互。

整个系统架构的具体实现按照网络、安全、数据库、系统软件四个方面设计。

系统网络硬件环境的建设,不仅要求内部数据库系统和应用系统平台的稳定、高效运转,保证生产管理的日常工作,同时要满足相关部门、相关单位能方便、快捷的实现数据查询与交互,还需要确保用户能快速、稳定的登陆到信息平台,保证信息处理的正常进行。

系统软件的安全体系可以划分为认证权限、功能权限和数据权限。认证权限用户登录的密码系统采用三层验证机制,同时利用用户登录的IP地址和时间进行动态加密,有效的抵御DOS攻击。数据权限按照数据(表)分类对用户进行权限检验。

数据库体系结构包括三个主要层次:认证数据库、平台数据库和应用数据库。认证数据库用来存储系统的认证数据,只有通过了认证数据库中数据的合法检验,才能进一步进行其他数据操作。平台数据库负责存储系统的配置信息、字典管理、工作流设置等。应用数据库用以存储地质录井生产管理数据信息。

系统软件设计实现参见3.2。

3.2 系统软件平台实现

工作流引擎和消息机制是工作流流转的驱动机制,负责整个工作流的应用调度和运行。工作流信息在系统内部以内部文件形式传递给各个工作流客户,内部文件信息存储与修改则通过事件机制和事务功能实现。

针对录井生产指挥系统的具体工作流转过程,可以分析抽象出如图3所示的通用工作流运行过程。根据油田录井生产的实际情况编写工作流引擎,定制工作流模块,设计系统数据结构模型,设计任务事件和存储过程、触发实现工作流程自动运转,实现录井生产工作流程的管理。

.Net开发框架包括主界面、菜单结构、界面样式表定义、用户界面皮肤、站点地图、表单母版页、基础控件包、应用示例代码、组织结构接口源代码、工作流引擎接口等等,通常利用COM组件实现工作流,事务支持和事件机制必须通过自行编程实现。系统可以满足用户所有工作流需求,诸如:申报、修改、审批、终止、超时提醒、警告提示、自动处理、自动启动流程等业务需求,具体实现由业务需求决定。

下面列出工作流实现的某些关键函数:

1)启动工作流实例:

Instantiation(UscrID,JobID,DepartlD,UserGrouplD,InstanceData)

Begin

GetGrantedWorkFlowList(UserlD,JoblD,DepartlD,UserGrouplD);

//获取用户被授权访问的流程.

GetStartNodelnfo(FlowlD);//获取流程开始节点信息

StartProcesslnstance(FlowID);//驱动流程实例开始执行

WriteInstance(FlowlD,TasklD,InstanceData);//将相关数据写入数据库

End

2)获取待办任务实例

即某个用户从工作项表中取出能够执行的工作项的过程。

GetUnsettledTaskList(UserlD)

Begin

CheckUser(UserlD);//对用户权限进行校验

ShowWorkltemsList(UserlD);//显示此用户可以执行的任务

End

3)执行任务

用户可以发出回退、撤销、任务提交等命令时,进行相应的处理。

ExcuteTask(ExcuteType)

Begin

If(ExcuteType==ExcuteType.RollBack)

RollBackTask(PreNodelD,ActivelD);//进行回退处理

Elself(ExcuteType==ExcuteType.Cancel)

CancelTask(FlowlD,NodelD,ActivelD);//任务撤销处理

Elself(ExcuteType==ExcuteType.Next)

ExeFlow(NodelD,FlowlD,ActivelD);//向下一步流程推送

End

4)工作流结束处理

结束工作流程,记录日志。

EndManage(NodeID,FlowlD,InstanceID)

Begin

If(GetFlowType(Flowld,InstanceID)==FlowType.SubFlow)//如果这个流程是子流程

FlowClass=GetFatherFlowInfo(FlowID,InstanceID);//得到FlowID对应的父流程的属性

TaskScheduler(FlowClass.NodelD,FlowClass,FlowID,FlowClass.InstanceID) ;

//调度父流程的任务调度处理模块

End If

SaveFlow(NodelD.FlowlD.lnstanceID);//保存此流程实例的相关信息

End

4 结束语

录井生产指挥系统利用工作流技术和.Net框架创建一个信息共享平台,实现对录井生产工作流程的有效监督和控制,实时掌握油田基层的生产动态,加快决策的实施速度,同时加强了数据资源的标准化,降低生产成本,提高油田工作效率。系统的应用标志着录井生产管理模式的一种重大转变,提升了油田勘探开发管理水平,具有较高的实用效益和推广价值。

参考文献:

[1] 罗海滨,范玉顺,吴澄.工作流技术综述[J].软件学报,2000,11(7):899-907.

[2] 史美林,杨光信,向勇,等.WFMS:工作流管理系统[J].计算机学报,1999,22(3):325-334.

[3] 刘原奇.基于.NET的工作流管理系统的设计与实现[D].北京:北京交通大学,2008.

[4] 李红信,范玉顺.工作流执行服务的实现与研究[J].清华大学国家CIMS工程研究中心,2003.

[5] 高扬.基于.NET 平台的三层架构软件框架的设计与实现[J].计算机技术与发展,2011(2).

[6] 郝雯,艾玲梅,王映辉.一种三层结构软件框架扩展点实现方法[J].计算机应用,2009,29(9):2541-2545.

[7] 郝雯,艾玲梅,王映辉.三层结构软件框架扩展点实现方法[J].计算机应用,2009,29(9):2541-2543.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文