一种面向个人的任务分派与处理方法转让专利

申请号 : CN201310389968.3

文献号 : CN103440165B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李向宁

申请人 : 西安电子科技大学

摘要 :

本发明公开了一种面向个人的任务分派与处理方法,包括任务发布与执行规则:1)用户申请成为注册用户,得到任务箱,同时得到任务设计工具;2)用户利用任务设计工具,通过任务检查器进行语义和语法检查,通过任务仿真器仿真任务流的执行;3)任务派发器解释任务流程定义,并把任务派发给任务执行客户端,任务执行客户端得到打包文件;4)任务执行客户端执行该任务,修改流程变量的值或与任务服务器进行消息交互;5)任务执行机通知任务服务器任务已执行完毕;6)任务派发器派发下一个任务给其他执行者,重复3)-6)。本发明基于互联网的、分布式任务派发执行方法,用户接受并执行安排或派发任务,任务之间有顺序、并发、互斥和循环关系。

权利要求 :

1.一种面向个人的任务分派与处理方法,其特征在于,包括任务发布与执行规则,步骤如下:第一步,用户向运营商申请服务,成为注册用户并得到一个具有一定容量的任务箱,同时得到包括任务流程设计器、任务检查器、任务仿真器和任务派发器在内的任务设计工具;

第二步,用户利用任务设计工具,设计一个任务流程定义,这个任务流程定义通过任务检查器进行语义和语法检查,通过任务仿真器仿真任务流的执行过程;

第三步,任务派发器解释用户设计的任务流程定义,并按照任务流程中定义的任务之间的逻辑关系把任务派发给相应的任务执行客户端,任务执行客户端得到一个打包的任务文件;

第四步,任务执行客户端通过任务执行机打开任务文件,与任务服务器建立连接并在任务执行客户端的参与下执行该任务,修改流程变量的值或与任务服务器进行消息交互;

第五步,任务执行机通知任务服务器该任务已执行完毕;

第六步,任务派发器根据任务相关变量当前值派发下一个任务给其他执行者,重复第三步到第六步;

所述任务派发器负责任务发布,所述任务服务器负责任务流程监控与修改规则,用户通过任务箱管理工具与任务服务器交互;所述任务执行客户端负责执行规则;

所述任务流程监控与修改规则步骤如下:

第一步,用户利用任务流程设计器,发布一个任务流程;

第二步,用户利用任务箱管理工具,向任务服务器提出查看任务流执行情况;

第三步,任务服务器通过检查任务流控制变量,任务流相关变量以及log信息,并将该查看的任务流执行情况返回至任务服务器;

第四步,用户利用任务箱管理工具,向任务服务器提出修改任务流请求;

第五步,任务服务器对将该任务流标记为“修改”;

第六步,任务执行机每次激活时,检查任务服务器,若所在任务流已经修改,则从任务服务器重新加载任务文件。

2.根据权利要求1所述的一种面向个人的任务分派与处理方法,其特征在于,所述任务执行机设置在任务执行客户端,它是基于web的agent方式。

3.根据权利要求1或2所述的一种面向个人的任务分派与处理方法,其特征在于,所述任务发布与执行能够使任务在网络传输中免受非法阻拦、窃取和篡改困扰。

4.根据权利要求1所述的一种面向个人的任务分派与处理方法,其特征在于,所述任务服务器完成辅助工作包括log、任务相关数据持久性支持、时间基准和状态监控支持。

5.根据权利要求1所述的一种面向个人的任务分派与处理方法,其特征在于,所述任务流程设计器通过服务原语产生的任务流程定义分别把任务派发给相应的任务执行客户端,服务原语分为管理原语和执行原语两类;

所述管理原语包括连接、断开连接、查看和删除四部分;

所述执行原语包括启动、暂停、恢复、取来、设值原语和消息原语。

说明书 :

一种面向个人的任务分派与处理方法

技术领域

[0001] 本发明属于软件技术应用开发领域,涉及一种面向个人的任务分派与处理方法,该技术能够解决现有工作流系统主要面向企业用户的问题,提供一种开放的,面向公众用户的任务分派与处理方法。

背景技术

[0002] 电子邮件是Internet上最古老也是最成功的应用之一。随着互联网的发展,越来越多的人将电子邮件其作为最主要的数据通信手段。邮件系统的性能和可靠性不断提高,邮箱的容量不断增大,内容可以包括文字,图形,声音,视频等。为了提高服务的多样性,邮件服务提供商推出了各种新的服务项目,如自动回复和短消息通知等。这些服务可以看作是一些预定义的任务处理过程,比如当一封邮件到达某个用户的邮箱后,系统根据规则自动回复或通过短信网关发送短消息通知用户。
[0003] 然而自动回复和短消息通知等任务过程的功能过于简单,并且由于是预定义的,用户无法进行扩展或加入其它功能。很多时候我们希望能够按照自己的要求处理逻辑关系更为复杂的任务过程。比如一位教师,他想要几个学生填一个表格以获取某些信息,然后把这些信息做一些统计处理。如果用电子邮件来完成这件事情,教师只能给每个学生发一封邮件,并附上一张表格,学生填写表格后,回复邮件给教师并附上填好的表格,教师接收到学生们的回复后,下载表格,拷贝其中的数据并进行统计处理。如果有这样一个系统,允许教师把学生填写表格设计为一个任务,然后把这个任务像邮件一样发送给学生。学生填写完毕把表格提交给系统,系统自动收集所有表格中的数据并执行一个统计处理的任务,最后把统计的结果发送给教师。我们称提供任务过程处理功能的系统为电子任务系统(Electronic Task System,简称E-Task或ET)。
[0004] 电子任务系统是一种基于互联网的,分布式任务派发,执行系统。通过ET系统,用户可以接受并执行别人安排的任务,也可以派发任务给其他人,这些任务可以是孤立的,也可以是有联系的。任务之间可以有顺序,并发,互斥,循环等关系。按照一定关系组织到一起的任务集合称为任务流程(Task process)。任务箱,是一个可访问的存储区域,用于存放任务定义,任务实例以及与任务有关的其它数据。任务箱为任务发布者所有,任务执行者不必拥有一个任务箱。任务流程定义,是任务流程的计算机表示。
[0005] 流程管理起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序的活动提出的一个概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。
[0006] 工作流系统就是利用计算机技术实现工作流引擎机制的软件技术平台,在这个平台上可以快速实施流程管理解决方案。日常工作的业务处理或协同工作能按预先定义好的规则和过程进行流动,并且这一过程能被跟踪和监控。现有工作流系统主要是面向企业用户。
[0007] 国内目前在面向个人的任务分派与处理领域的研究还比较欠缺,所以这方面的研究开发具有很好的工程应用价值。

发明内容

[0008] 本发明的目的是提供一种面向个人的任务分派与处理方法,本发明是基于互联网的、分布式任务派发执行系统,用户可以接受并执行安排的任务,也可派发任务,任务之间有顺序、并发、互斥和循环关系。本发明解决了现有工作流系统主要面向企业用户和面向用户群体单一的问题,为一种开放的、面向公众用户的方法。
[0009] 为了实现上述技术方案,本发明采取如下技术解决方案:
[0010] 一种面向个人的任务分派与处理方法,包括任务发布与执行规则,步骤如下:
[0011] 第一步,用户向运营商申请服务,成为注册用户并得到一个具有一定容量的任务箱,同时得到包括任务流程设计器、任务检查器、任务仿真器和任务派发器在内的任务设计工具;
[0012] 第二步,用户利用任务设计工具,设计一个任务流程定义,这个任务流程定义通过任务检查器进行语义和语法检查,通过任务仿真器仿真任务流的执行过程;
[0013] 第三步,任务派发器解释用户设计的任务流程定义,并按照任务流程中定义的任务之间的逻辑关系把任务派发给相应的任务执行客户端,任务执行客户端得到一个打包的任务文件;
[0014] 第四步,任务执行客户端通过任务执行机打开任务文件,与任务服务器建立连接并在任务执行客户端的参与下执行该任务,修改流程变量的值或与任务服务器进行消息交互;
[0015] 第五步,任务执行机通知任务服务器该任务已执行完毕;
[0016] 第六步,任务派发器根据任务相关变量当前值派发下一个任务给其他执行者,重复第三步到第六步。
[0017] 进一步,所述任务派发器负责任务发布,所述任务服务器负责任务流程监控与修改规则,用户通过任务箱管理工具与任务服务器交互;所述任务执行客户端负责执行规则。
[0018] 进一步地,所述任务流程监控与修改规则步骤如下:
[0019] 第一步,用户利用任务流程设计器,发布一个任务流程;
[0020] 第二步,用户利用任务箱管理工具,向任务服务器提出查看任务流执行情况;
[0021] 第三步,任务服务器通过检查任务流控制变量,任务流相关变量以及log信息,并将该查看的任务流执行情况返回至任务服务器;
[0022] 第四步,用户利用任务箱管理工具,向任务服务器提出修改任务流请求;
[0023] 第五步,任务服务器对将该任务流标记为“修改”;
[0024] 第六步,任务执行机每次激活时,检查任务服务器,若所在任务流已经修改,则从任务服务器重新加载任务文件。
[0025] 进一步地,所述任务执行机设置在任务执行客户端,它是基于web的agent方式。
[0026] 进一步地,所述任务发布与执行能够使任务在网络传输中免受非法阻拦、窃取和篡改困扰。
[0027] 进一步地,所述任务服务器完成辅助工作包括log、任务相关数据持久性支持、时间基准和状态监控支持。
[0028] 进一步地,所述任务流程设计器通过服务原语产生的任务流程定义分别把任务派发给相应的任务执行客户端,服务原语分为管理原语和执行原语两类;
[0029] 所述管理原语包括连接、断开连接、查看和删除四部分;
[0030] 所述执行原语包括启动、暂停、恢复、取来、设值原语和消息原语。
[0031] 本发明面向个人的任务分派与处理方法主要具有以下特点:
[0032] 1)任务派发器负责任务发布,任务服务器负责任务流程监控与修改规则,用户通过任务箱管理工具与任务服务器交互;任务执行客户端负责执行规则。
[0033] 2)在任务发布与执行规则中只有任务的发起者需要向运营商申请任务箱并安装任务定义软件。他可以派发任务到任何接受者而不管这些接受者是否是用户。他可以全局监控所发布的任务流,检查它的执行状态,取消或修改正在运行的任务流等。
[0034] 3)对于接收者而言,他们无需是面向个人的任务分派与处理用户亦可执行别人安排的任务;他们可以选择执行或拒绝执行一个任务,拒绝执行任务的结果将导致一个执行异常或超时,这将触发执行预先定义的事件处理代码。
[0035] 4)用户利用任务设计工具,设计一个任务流程定义,这个任务流程定义通过任务检查器进行语义和语法检查、通过任务仿真器仿真任务流的执行过程;
[0036] 5)执行者有一个任务执行机,它是基于web的agent方式;任务执行机每次激活时,检查任务服务器,若所在任务流已经修改,则从任务服务器重新加载任务文件。

附图说明

[0037] 图1是系统结构框图。

具体实施方式

[0038] 下面结合附图和具体实施方式对本发明进行详细说明。
[0039] 如图1所示,本发明的面向个人的任务分派与处理方法是通过系统组件进行的,系统按照功能划分为三类:定义端组件,服务端组件和客户端组件。这种划分是按照功能而非实现方式来划分的。系统的实现可以有多种选择,可以采用集中服务式的实现,也可以采用分布式实现,本系统采用分布式实现。
[0040] 本发明中的定义端组件包括任务流程设计器、任务检查器和任务仿真器;服务端组件包括任务派发器、任务服务器;客户端组件包括任务执行客户端;
[0041] 任务派发器按照功能划分属于服务端组件,但在系统实现时也可以在客户端工具中实现,也即分布式任务派发。实践表明,分布式任务派发是缓解性能压力的重要手段。
[0042] 其中,任务流程设计器,负责创建任务和任务流程,是一个图形化的工具,或是一个带有提示功能的文本编辑工具,任务流程设计器的输出结果为任务流程定义;
[0043] 任务检查器,负责对任务流程定义进行语法和语义检查;
[0044] 任务仿真器,负责仿真任务流的执行过程;
[0045] 任务派发器,按照任务流程中定义的任务之间的逻辑关系把任务派发给相应的执行者;
[0046] 任务服务器,负责完成任务流转过程中一些辅助工作,任务服务器是电子任务系统中唯一需要保持持久活动的组件;
[0047] 任务执行客户端,任务的执行环境,它通过客户端API与任务服务器交互,更新任务相关数据,向任务服务器登记log信息并监控执行中的任务流程实例;
[0048] 上述的任务流程设计器通过服务原语产生的任务流程定义分别连接任务仿真器、任务检查器和任务派发器,任务派发器通过任务相关数据连接任务执行客户端,任务相关数据通过任务箱连接任务服务器。
[0049] 在本发明系统中,任务服务器完成辅助工作包括log、任务相关数据持久性支持、时间基准和状态监控支持。
[0050] 面向个人的任务分派与处理系统在任务分发、流程控制等方面和工作流管理系统有很多相似的地方,但面向个人的任务分派与处理系统不是工作流管理系统,也不同于电子邮件系统。
[0051] 面向个人的任务分派与处理系统的服务原语分为管理原语和执行原语两类。管理原语包括连接、断开连接、查看和删除。执行原语包括启动、暂停、恢复、取来、设值原语和消息原语。
[0052] 管理原语包括:
[0053] 连接,连接原语以任务箱名称或注册名称,密码为参数,与任务服务器建立连接。连接将导致用户日志中增加一条连接记录。
[0054] 断开连接,断开连接原语以任务箱名称或注册名称为参数,断开当前与任务服务器的连接。断开连接将导致用户日志中增加一条断开连接记录。
[0055] 查看,接受不同的参数以查看当前任务箱内的对象状态。如正在运行的任务过程实例,某一任务流程当前执行情况等。
[0056] 删除,以任务流程实例编号为参数,删除正在执行的流程实例。删除任务流程实例将导致清除任务流程运行空间,流程变量,状态变量。正在执行中的任务对该实例的操作请求将被接受,但不执行任何动作。
[0057] 执行原语包括:
[0058] 启动,启动原语以任务流程定义为参数将任务流程定义上传至任务箱并开始任务流程的执行。
[0059] 暂停,暂停原语启动原语以任务流程定义为参数暂停任务流程实例的执行。此后正在执行中的任务对该实例的操作请求将被接受,并执行相应动作,但不进行新的任务派发。
[0060] 恢复,恢复原语恢复执行暂停的任务流程。此操作将导致新的任务被派发。
[0061] 取来,取来原语以流程编号,流程变量名为参数,获取变量当前值。
[0062] 设值原语,设值原语以流程编号、流程变量名、变量原值、设置值为参数和更新流程变量的值。如果参数提供的变量原值与服务端的变量当前值不符,服务器将返回错误信息(如304.1,变量原值已修改),此时客户端应重新读取并尝试再次进行设值。此机制确保了变量同步访问的一致性。
[0063] 消息原语,以任务实例编号、消息代码为参数向服务器发送消息。服务器收到消息将导致与消息代码对应的动作,如登记log记录、派发后续任务等。
[0064] 本发明面向个人的任务分派与处理方法如下:
[0065] 面向个人的任务分派与处理系统的运行规则:
[0066] 1.任务发布与执行规则:
[0067] 第一步,用户向运营商申请服务,成为注册用户并得到一个具有一定容量的任务箱,同时得到任务流程设计器、任务检查器和任务仿真器等任务设计工具;
[0068] 第二步,用户利用任务设计工具,设计一个任务流程定义,这个任务流程定义通过任务检查器进行语义和语法检查、通过任务仿真器仿真任务流的执行过程;
[0069] 第三步,任务派发器解释用户设计的任务流程定义,并按照任务流程中定义的任务之间的逻辑关系把任务派发给相应的任务执行客户端,任务执行客户端得到一个打包的任务文件;执行者有一个任务执行机,它是基于web的agent方式;
[0070] 第四步,任务执行客户端通过任务执行机打开任务文件,与任务服务器建立连接并在任务执行客户端的参与下执行该任务,修改流程变量的值或与任务服务器进行消息交互;
[0071] 第五步,任务执行机通知任务服务器该任务已执行完毕;
[0072] 第六步,任务派发器根据任务相关变量当前值派发下一个任务给其他执行者,重复第三步到第六步。
[0073] 任务派发器负责任务发布,任务服务器负责任务流程监控与修改规则,用户通过任务箱管理工具与任务服务器交互;任务执行客户端负责执行规则。
[0074] 在任务发布与执行规则中只有任务的发起者需要向运营商申请任务箱并安装任务定义软件。他可以派发任务到任何接受者而不管这些接受者是否是用户。他可以全局监控所发布的任务流,检查它的执行状态,取消或修改正在运行的任务流等。对于接收者而言,他们无需是面向个人的任务分派与处理用户亦可执行别人安排的任务;他们可以选择执行或拒绝执行一个任务,拒绝执行任务的结果将导致一个执行异常或超时,这将触发执行预先定义的事件处理代码。
[0075] 2.任务流程监控与修改规则:
[0076] 第一步,用户利用定义端工具任务流程设计器,发布一个任务流程;
[0077] 第二步,用户利用任务箱管理工具,向任务服务器提出查看任务流执行情况;
[0078] 第三步,任务服务器通过检查任务流控制变量,任务流相关变量以及log信息,并将该查看的任务流执行情况返回至任务服务器;
[0079] 第四步,用户利用任务箱管理工具,向任务服务器提出修改任务流请求;
[0080] 第五步,任务服务器对将该任务流标记为“修改”;
[0081] 第六步,任务执行机每次激活时,检查任务服务器,若所在任务流已经修改,则从任务服务器重新加载任务文件。
[0082] 面向个人的任务分派与处理系统在体系结构上对安全的考虑主要在以下几个方面:
[0083] 1)系统采用“任务通知”的方式进行任务发送。“任务通知”只是一个几十字节的连接串,真正的任务体保存在任务发布者的任务箱中,只有执行者接收任务时才从任务箱下载,执行者可以选择执行或拒绝执行该任务。这就杜绝了垃圾任务制造者随意发布垃圾任务的危害;
[0084] 2)为了防止任务发布者发送耗时的计算任务给执行者,系统不允许发布者发送自动任务给除自身以外的其它人。也就是说进行统计处理的自动任务,只能在任务发布者本地执行。此外系统指派给其它执行者的任务不允许有函数;
[0085] 3)任务执行客户端对流程数据的访问受到严格限制,用户只能访问与之权限相当的,且处于运行状态的任务数据。