• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 12
    • 下载费用:30 金币  

    熊猫2018重庆时时彩: 流程驱动方法及装置.pdf

    关 键 词:
    流程 驱动 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010180046.8

    申请日:

    2010.05.20

    公开号:

    CN102254233A

    公开日:

    2011.11.23

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 9/445变更事项:专利权人变更前:深圳市金蝶中间件有限公司变更后:深圳市金蝶天燕中间件股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区高新区中区麻雀岭工业区M-6栋第二层1、3、4区变更后:518057 广东省深圳市南山区粤海街道高新技术产业园南区科技南十二路2号金蝶软件园A栋2层南座|||授权|||实质审查的生效IPC(主分类):G06Q 10/00申请日:20100520|||公开
    IPC分类号: G06Q10/00 主分类号: G06Q10/00
    申请人: 深圳市金蝶中间件有限公司
    发明人: 陈乜云
    地址: 518057 广东省深圳市南山区高新区中区麻雀岭工业区M-6栋第二层1、3、4区
    优先权:
    专利代理机构: 北京三高永信知识产权代理有限责任公司 11138 代理人: 何文彬
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010180046.8

    授权公告号:

    |||102254233B||||||

    法律状态公告日:

    2017.01.18|||2014.04.23|||2012.01.04|||2011.11.23

    法律状态类型:

    专利权人的姓名或者名称、地址的变更|||授权|||实质审查的生效|||公开

    摘要

    本发明公开了一种流程驱动方法及装置,属于计算机领域。该方法包括:确定待驱动流程的流程元素,及所述流程元素对应的流程行为;将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为装配到所述对应的执行对象中;在外部调用所述执行对象时启动所述执行对象的执行过程。本发明通过将流程元素映射到对应的执行对象中,并在外部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语言的行为特征,实现对流程的驱动,不仅可以支持块状及图状等流程语言,提高了流程驱动的扩展性;又由于不与任何特定的数据存储层技术及IOC容器绑定,因此,又可以提高流程驱动的可移植性。

    权利要求书

    1.一种流程驱动方法,其特征在于,所述方法包括:
    确定待驱动流程的流程元素,及所述流程元素对应的流程行为;
    将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为
    装配到所述对应的执行对象中;
    在外部调用所述执行对象时启动所述执行对象的执行过程。
    2.根据权利要求1所述的方法,其特征在于,所述在外部调用所述执行对
    象时启动所述执行对象的执行过程,具体包括:
    判断是否可触发所述执行对象所对应的业务逻辑;
    如果是,则执行所述业务逻辑,并在执行结束之后指示下一步操作。
    3.根据权利要求2所述的方法,其特征在于,所述执行所述业务逻辑,具
    体包括:
    调用执行进程执行所述业务逻辑,并在执行所述业务逻辑结束后,调用结
    束进程;
    如果需要长时间执行所述业务逻辑,则将所述执行对象的状态保存在存储
    介质中,直至执行所述业务逻辑结束,调用唤醒进程进行数据恢复,并在数据
    恢复后调用结束进程。
    4.根据权利要求1所述的方法,其特征在于,所述执行对象分为网,节点
    和??;
    其中,每个网包含多个互相连接的节点和??;每个节点包含多个输入弧和
    多个输出??;每个弧至少包含一个输入节点和一个输出节点。
    5.一种流程驱动装置,其特征在于,所述装置包括:
    确定???,用于确定待驱动流程的流程元素,及所述流程元素对应的流程
    行为;
    映射???,用于将所述流程元素映射到对应的执行对象中,并将所述流程
    元素的流程行为装配到所述对应的执行对象中;
    驱动???,用于在外部调用所述执行对象时启动所述执行对象的执行过程。
    6.根据权利要求5所述的装置,其特征在于,所述驱动???,具体包括:
    判断单元,用于在外部调用所述执行对象时,判断是否可触发所述执行对
    象所对应的业务逻辑;
    执行单元,用于在所述判断单元判断可触发所述业务逻辑时,执行所述业
    务逻辑;
    指示单元,用于在所述执行单元执行所述业务逻辑结束后,指示下一步操
    作。
    7.根据权利要求6所述的装置,其特征在于,所述执行单元,具体包括:
    第一调用子单元,用于调用执行进程执行所述业务逻辑;
    第二调用子单元,用于在所述第一调用子单元调用的执行进程执行所述业
    务逻辑结束后,调用结束进程;
    第三调用子单元,用于在所述第一调用子单元调用的执行进程需要长时间
    执行所述业务逻辑时,将所述执行对象的状态保存在存储介质中,直至执行所
    述业务逻辑结束,调用唤醒进程进行数据恢复,并在数据恢复后调用结束进程。

    说明书

    流程驱动方法及装置

    技术领域

    本发明涉及计算机领域,特别涉及一种流程驱动方法及装置。

    背景技术

    随着计算机技术的日益发展,流程语言的种类也越来越多。尽管流程语言
    的语法与格式各不相同,但要解决的问题却是大体相同的,流转行为是一致的。
    设计一个适应各种流程语言的通用驱动系统,有利于提高BPM(Business?Process
    Management,业务流程管理系统)引擎的开发效率;可以使得BPM产品线具有高
    度的扩展性;也可以满足在一个系统中同时支持多种流程语言的特殊需求。

    现有技术一提供的驱动系统,首先提出了PVM(Process?Virtual?Machine,
    流程虚拟机)这个概念,并利用该PVM成功驱动了BPEL(Business?Process
    Execution?Language,业务流程执行语言)和JPDL(Java?business?process
    management?Process?Definition?Language,业务流程管理过程定义语言)。
    现有技术二则开发了Windows?Workflow?Foundation(工作流框架)系统,虽然
    没有取名“PVM”,但是该系统的设计目标和PVM是一致的,该系统可驱动各种
    与BPEL语言类似的流程语言。

    在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:

    现有技术一提供的PVM在运行时严重依赖开放源代码的对象关系映射框架
    (Hibernate),该PVM还具有IOC(Inversion?of?Control,控制反转)容器
    等组件,这些组件本质上与PVM无关,反而导致该产品无法与其他产品集成,导
    致移植性差;现有技术二对于图状流程语言,如BPMN(Business?Process
    Modeling?Notation,业务流程建模标注)等则较难胜任,尤其对于有自由跳
    转、取回、加签等需求的业务流程;另外,由于严重依赖于.Net?Framework,
    导致扩展性也较差。

    发明内容

    为了提高流程驱动的扩展性及可移植性,进而提高流程驱动的实用性能,
    本发明实施例提供了一种流程驱动方法及装置。所述技术方案如下:

    一方面,提供了一种流程驱动方法,所述方法包括:

    确定待驱动流程的流程元素,及所述流程元素对应的流程行为;

    将所述流程元素映射到对应的执行对象中,并将所述流程元素的流程行为
    装配到所述对应的执行对象中;

    在外部调用所述执行对象时启动所述执行对象的执行过程。

    另一方面,提供了一种流程驱动装置,所述装置包括:

    确定???,用于确定待驱动流程的流程元素,及所述流程元素对应的流程
    行为;

    映射???,用于将所述流程元素映射到对应的执行对象中,并将所述流程
    元素的流程行为装配到所述对应的执行对象中;

    驱动???,用于在外部调用所述执行对象时启动所述执行对象的执行过程。

    本发明实施例提供的技术方案的有益效果是:

    通过将流程元素映射到对应的执行对象中,并在外部调用该执行对象时启
    动执行对象的执行过程,即以执行对象概括各种流程语言的行为特征,实现对
    流程的驱动,不仅可以支持块状流程语言,也可以很好地支持图状流程语言,
    从而提高了流程驱动的扩展性;另外,由于本发明实施例提供的技术方案不与
    任何特定的数据存储层技术及IOC容器进行绑定,因此,具有很高的可移植性。

    附图说明

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

    图1是本发明实施例一提供的流程驱动方法流程图;

    图2是本发明实施例二提供的BPMN2.0与流程驱动装置的关系示意图;

    图3是本发明实施例二提供的流程驱动方法流程图;

    图4是本发明实施例二提供的BPMN2.0的流程元素示意图;

    图5是本发明实施例二提供的BPMN2.0的流程元素的流程行为示意图;

    图6是本发明实施例二提供的各种执行对象示意图;

    图7是本发明实施例二提供的各种执行对象之间的关系示意图;

    图8是本发明实施例二提供的执行对象结构示意图;

    图9是本发明实施例三提供的流程驱动装置结构示意图;

    图10是本发明实施例三提供的驱动??榻峁故疽馔?;

    图11是本发明实施例三提供的执行单元结构示意图。

    具体实施方式

    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明
    实施方式作进一步地详细描述。

    实施例一

    参见图1,本实施例提供了一种流程驱动方法,该方法流程具体如下:

    101:确定待驱动流程的流程元素,及该流程元素对应的流程行为;

    102:将该流程元素映射到对应的执行对象中,并将该流程元素的流程行为
    装配到对应的执行对象中;

    103:在外部调用该执行对象时启动该执行对象的执行过程。

    本实施例提供的方法,通过将流程元素映射到对应的执行对象中,并在外
    部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语
    言的行为特征,实现对流程的驱动,不仅可以支持块状流程语言,也可以很好
    地支持图状流程语言,从而提高了流程驱动的扩展性;另外,由于本发明实施
    例提供的技术方案不与任何特定的数据存储层技术及IOC容器绑定,因此,具
    有很高的可移植性。

    实施例二

    本实施例提供了一种流程驱动方法,该方法通过将流程元素映射到对应的
    执行对象中,以执行对象概括各种流程语言的行为特征,实现对流程的驱动。
    为了便于说明,本实施例以BPMN2.0流程语言为例进行说明,图2为该BPMN2.0
    流程引擎与流程驱动装置之间的关系示意图。参见图3,本实施例提供的方法流
    程具体如下:

    301:确定待驱动流程的流程元素,及该流程元素对应的流程行为;

    针对该步骤,每个特定的流程语言都包含了各种流程元素,关于如何确定
    待驱动流程的流程元素及对应的流程行为,本实施例不做具体限定。以BPMN2.0
    流程语言为例,其流程元素如图4所示,包含了Process,Activity,Event,
    SequnceFlow等流程元素,对应的流程行为可如图5所示。

    302:为该流程元素选择对应的执行对象;

    具体地,本实施例以Executable?Object表示执行对象,将其看作是一个具
    有特定行为的Java?Bean,并定义了三种进程,即执行进程execute()、唤醒进
    程awaken()和结束进程complete()。其中,execute()用于执行业务逻辑,该
    业务逻辑即为映射到该执行对象中的流程所承载的业务逻辑;awaken()用于唤
    醒执行对象,实际应用时,通过进行数据恢复唤醒执行对象;complete()则在
    execute()执行业务逻辑结束后被调用。

    虽然每个执行对象都有execute(),awaken(),complete()三个进程,但这
    些进程的具体实现方式不一定完全相同。参见图6,根据进程实现方式的不同,
    可以将执行对象分为网(NetInstance),节点(NodeInstance)和弧
    (ArcInstance)三种类型。其中,一个网可以包含若干个互相连接的节点和??;
    节点可以有若干个输入弧和若干个输出弧,每个弧必须有一个输入节点和一个
    输出节点;另外,一个网可以包含子网,各种执行对象之间的关系可如图7所
    示。

    关于如何为流程元素选择对应的执行对象,本实施例不对具体的选择方式
    进行限定,仍以BPMN2.0中的流程元素为例,可以选择将Process流程元素映射
    到Net类型的执行对象中,Activity、Event等流程元素映射到Node类型的执行
    对象中,而将SequnceFlow等流程元素映射到Arc类型的执行对象中。

    303:将该流程元素映射到对应的执行对象中,并将该流程元素的流程行为
    装配到对应的执行对象中;

    其中,将该流程元素的流程行为装配到对应的执行对象中之后,可以将所
    有执行对象装配到内核管理器,由该内核管理器负责管理一系列有互相关系的
    执行对象,在外部调用执行对象时,通过该内核管理器负责调用执行对象的执
    行过程。

    304:在外部调用该执行对象时启动该执行对象的执行过程。

    针对该步骤,由于不同的流程定义语言表达所承载的业务逻辑的方式不一
    样,ExecutableObject不可能将所有的情况预先硬编码到流程驱动装置架构中。
    因此,本实施例提供的方法采用扩展点的设计思想来满足这个需求:为每个
    ExecutableObject装配了3个扩展点,即引用3个固定的接口:IncomingLogic,
    BusinessLogic,LeavingLogic,如图8所示。

    其中,IncomingLogic接口中设置有canBeFired()对象,用于判断业务逻辑
    是否满足了执行条件;BusinessLogic中设置有perform()对象,用于执行真正
    的业务逻辑;LeavingLogic中设置有determineLeavingStragegy()对象,用于
    在业务逻辑结束时指示下一步操作,下一步操作可能是执行一个新的
    ExecuteObject,也可能是返回上一级ExecuteObject,并调用其complete()方
    法。

    则启动执行对象的执行过程时,首先调用IncomingLogic接口中设置的
    canBeFired()对象,再调用BusinessLogic中设置的perform()对象,最后调用
    LeavingLogic中设置的determineLeavingStragegy()对象,也就是说,启动执
    行对象的执行过程时,具体包括:

    判断是否可触发执行对象所对应的业务逻辑;

    如果是,则执行业务逻辑,并在执行结束之后指示下一步操作。

    其中,执行业务逻辑,具体包括:

    调用执行进程execute()执行业务逻辑,并在执行业务逻辑结束后,调用结
    束进程complete();

    如果需要长时间执行业务逻辑,则将执行对象的状态保存在存储介质中,
    直至执行业务逻辑结束,调用唤醒进程awaken()进行数据恢复,并在数据恢复
    后调用结束进程complete()。

    本实施例提供的方法,通过将流程元素映射到对应的执行对象中,并在外
    部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语
    言的行为特征,实现对流程的驱动,不仅可以支持块状流程语言,也可以很好
    地支持图状流程语言,从而提高了流程驱动的扩展性;另外,由于本发明实施
    例提供的技术方案不与任何特定的数据存储层技术及IOC容器绑定,因此,具
    有很高的可移植性。

    实施例三

    参见图9,本实施例提供了一种流程驱动装置,该装置包括:

    确定???01,用于确定待驱动流程的流程元素,及流程元素对应的流程行
    为;

    映射???02,用于将流程元素映射到对应的执行对象中,并将流程元素的
    流程行为装配到对应的执行对象中;

    驱动???03,用于在外部调用执行对象时启动执行对象的执行过程。

    具体地,参见图10,驱动???03,具体包括:

    判断单元9031,用于在外部调用执行对象时,判断是否可触发执行对象所
    对应的业务逻辑;

    执行单元9032,用于在判断单元9031判断可触发业务逻辑时,执行业务逻
    辑;

    指示单元9033,用于在执行单元9032执行业务逻辑结束后,指示下一步操
    作。

    进一步地,参见图11,执行单元9032,具体包括:

    第一调用子单元9032a,用于调用执行进程执行业务逻辑;

    第二调用子单元9032b,用于在第一调用子单元9032a调用的执行进程执行
    业务逻辑结束后,调用结束进程;

    第三调用子单元9032c,用于在第一调用子单元9032a调用的执行进程需要
    长时间执行业务逻辑时,将执行对象的状态保存在存储介质中,直至执行业务
    逻辑结束,调用唤醒进程进行数据恢复,并在数据恢复后调用结束进程。

    本实施例提供的装置,通过将流程元素映射到对应的执行对象中,并在外
    部调用该执行对象时启动执行对象的执行过程,即以执行对象概括各种流程语
    言的行为特征,实现对流程的驱动,不仅可以支持块状流程语言,也可以很好
    地支持图状流程语言,从而提高了流程驱动的扩展性;另外,由于本发明实施
    例提供的技术方案不与任何特定的数据存储层技术及IOC容器绑定,因此,具
    有很高的可移植性。

    需要说明的是:上述实施例提供的流程驱动装置在驱动流程时,仅以上述
    各功能??榈幕纸芯倮得?,实际应用中,可以根据需要而将上述功能分
    配由不同的功能??橥瓿?,即将设备的内部结构划分成不同的功能???,以完
    成以上描述的全部或者部分功能。另外,上述实施例提供的流程驱动装置与流
    程驱动方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再
    赘述。

    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

    本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序
    可以存储在可读取的存储介质中,如光盘或硬盘等。

    以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的
    精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的
    ?;し段е?。

    关于本文
    本文标题:流程驱动方法及装置.pdf
    链接地址://www.4mum.com.cn/p-5878334.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 澳客公益彩票网 双色球开奖时间 江西老时时 排列三稳赚投注技巧 北京pk10走势 51pk10计划人工在线计划 买北京pk10技巧 大乐透预测大乐透开奖 暗网黑客接中国的单吗 l分快三计划软件下载 长期买六肖的方法天涯 6个号码三中三有多少组 重庆时时直播网址多少 安徽时时计划软件qq 近30期双色球走势 pk10滚7码