一种业务工作流的流程识别方法.pdf

上传人:111****112 文档编号:1091000 上传时间:2018-03-30 格式:PDF 页数:23 大小:1.04MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910157312.2

申请日:

2009.07.24

公开号:

CN101610265A

公开日:

2009.12.23

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):H04L 29/06变更事项:专利权人变更前:深圳市永达电子股份有限公司变更后:深圳市永达电子信息股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区科技南十路深圳航天科技创新研究院D301-D309变更后:518057 广东省深圳市南山区科技南十路深圳航天科技创新研究院D301-D309|||授权|||实质审查的生效|||公开

IPC分类号:

H04L29/06; H04L12/24; G06Q10/00

主分类号:

H04L29/06

申请人:

深圳市永达电子股份有限公司

发明人:

戚建淮; 周文柱; 曾 干; 刘喜雨; 施 珉

地址:

518057广东省深圳市南山区科技南十路深圳航天科技创新研究院D301-D309

优先权:

专利代理机构:

北京英特普罗知识产权代理有限公司

代理人:

齐永红;段成云

PDF下载: PDF下载
内容摘要

本发明提供一种业务工作流的流程识别方法,包括以下步骤:流程识别规则的定义:根据工作流定义模块定义的工作流XML文件,建立流程识别树;解析上报的流程执行数据报文:接收业务客户端捕获的流程实际执行数据,解析该数据并将提取到的数据相转换为统一的节点数据格式;使用定义的识别规则对待识别流程进行流程识别:根据流程识别树对待识别的流程进行流程识别;保存流程识别结果:将已识别流程存储到可识别数据中,并将流程识别的结果保存在指定的文件中;非法流程告警:对识别日志中不能识别的流程,产生告警信息。本发明可防止业务工作流在执行的过程中的异常和被篡改。

权利要求书

1.  一种业务工作流的流程识别方法,其特征在于,包括以下步骤:
S11定义流程识别规则,根据预设的工作流XML文件,建立流程识别树;
S12解析上报的流程执行数据报文,接收业务客户端捕获的流程实际执行数据,解析该数据并将提取到的数据转换为统一的节点数据格式;
S13使用S11所预定义的识别规则识别待识别流程;
S14保存流程识别结果;
S15非法流程告警,对识别日志中不能识别的流程,产生告警信息。

2.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述步骤S11流程识别规则定义步骤中所建立的流程识别树,其中,所有的流程都有一个共同的虚拟根,由一个开始标志,至少一个流程步骤,一个或多个结束标志组成,所定义的流程识别规则以XML文件的格式存储在预设目录下。

3.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述步骤S12解析上报流程执行数据报文方法,其中,所述的解析过程是指,使用报文解析模板中的节点识别码,在当前的流程执行数据中做字符串匹配搜索,只有当上报的流程执行数据格式与报文解析模板所要求的格式完全匹配时,才认为解析成功;并将提取出来的数据项转换成统一的识别节点数据格式;最后将统一格式的节点数据保存到队列中,该队列自动依据客户端标识组成小队列,所有小队列的队首组成大队列。

4.
  根据权利要求3所述的业务工作流的流程识别方法,其特征在于,所述的解析上报的流程执行数据报文方法中,所使用的解析模板,是与具体业务工作流的具体执行步骤中与业务服务端交互的数据内容相关,并依据该交互数据报文的格式来定义的,且是满足LUA语法规范的正则表达式。

5.
  根据权利要求3所述的业务工作流的流程识别方法,其特征在于,所述的解析上报的流程执行数据报文方法中,所述的节点数据格式,至少包括URL地址,客户端IP地址,客户端MAC地址,客户端提交数据的最大长度,客户端cookie,和客户端接收数据的最大长度。

6.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述的解析上报的流程执行数据报文方法中,所接收的流程实际执行数据,是业务客户端的WEB浏览器所设置的代理服务器,利用Winpcap或Libpcap捕获浏览器的请求及响应数据报文后上报的数据。

7.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述步骤S13识别待识别流程,利用流程节点识别方法,将同一客户端的所述节点数据,同所述步骤S11所定义的流程识别树上的流程入口节点进行匹配,或该客户端的活动流程子树上活动节点的儿子节点进行匹配;
所述活动流程,是所述节点数据与流程识别树上的流程入口节点相匹配时,所述流程入口节点所确定的流程;所示活动节点,是当前匹配节点。

8.
  根据权利要求7所述的业务工作流的流程识别方法,其特征在于,所述流程节点识别,每一个节点使用一组节点内部的识别码进行识别匹配,当且仅当所述节点数据的所有识别码都和步骤S11所定义的流程识别树上的一个节点的识别码匹配一致时才认为节点匹配。

9.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述步骤S14保存流程识别结果,可以以文件或数据库的方式保存流程识别结果的详细信息,以便第三方应用使用,和/或用户事后审计。

10.
  根据权利要求1所述的业务工作流的流程识别方法,其特征在于,所述步骤S15非法流程告警,通过检索日志文件,针对不能解析,不能数据格式转换和流程不能识别的条目,产生告警信息,告警信息至少包括时间,终端IP,终端MAC和附加信息;管理员可以依据告警信息快速定位到客户端,并采取预防措施,如警告终端操作员、增加防火墙规则限制终端访问。

说明书

一种业务工作流的流程识别方法
技术领域
本发明涉及计算机信息安全技术领域,尤其涉及一种SOA业务工作流的流程识别方法。
背景技术
工作流管理技术是国际上新兴起的一项对工作流程进行控制和管理的技术,该技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、业务过程管理与集成,从而最终实现业务过程的自动化的核心技术。为了实现不同工作流产品之间的互操作,工作流管理联盟(Workflow Management Coalition,简称WfMC)在工作流管理系统的相关术语、体系结构及应用编程接口(WAPI)等方面制定了一系列标准。
WfMC提出的工作流管理系统体系结构模型由5个部分组成:1)过程定义工具:用来定义工作过程,是业务过程的计算机形式表示。(2)工作流执行服务:是工作流管理系统的核心,它借助一个或者多个工作流引擎,来激活并解释过程定义的全部或者部分,提供了过程实例执行的运行环境。(3)工作流客户应用:是指用户操作工作流管理系统分配的任务或者活动的功能。(4)工作流机直接调用的应用:是指工作流执行服务在过程实例的运行过程中调用的,用以对应用数据进行处理的应用程序。(5)工作流管理工具:其功能是对工作流管理系统{Wfms)中过程实例的状态进行监控与管理。
在这个工作流管理系统体系结构模型中,工作流管理工具的主要功能是监控与管理工作流的具体实现过程,现有的监控工具能够对工作流在整个组织内部的流动状况进行监视,并提供一系列的管理功能,实现了安全性、过程控制和授权操作等方面的管理。
现有的工作流管理系统自带的管理和监控功能,在监控工作流执行的过程中,只能保证预设的业务工作流程执行顺序不被更改,而无法确认业务工作流的每一个具体流程步骤是否真正安全和可靠的被执行,也无法保证业务工作流的具体流程在执行的过程中未被篡改。
发明内容
本发明的目的在于克服现有技术的缺点,提供一种保证SOA业务工作流执行可靠性和安全性的流程识别方法,对业务工作流的执行过程进行监控和管理,防止业务工作流在执行的过程中被篡改。
针对所要解决的技术问题,本发明所采用的技术方案是:
采用一种新的业务工作流的流程识别方法,,通过捕获用户信息系统中的操作报文,并依据预设的规则,与用户预先配置的工作流进行比较,由此实现对工作流的识别与检测。包括如下步骤:
第一步(S11):定义流程识别规则;
依据预先定义的工作流所定义的XML格式的流程文件,定义流程识别规则的定义所需要建立的流程识别规则树。
第二步(S12):解析上报的流程执行数据报文:
接收业务客户端在执行流程过程中,捕获该流程的实际执行数据,并上报到流程识别服务端;流程识别服务端利用预设的解析模板对上报的流程执行数据报文进行解析,包括,从解析模块集合中查找与该报文数据相匹配的解析模块,以及利用查找到的解析模块从该报文数据中提取数据,并将提取到的数据相转换为统一的节点数据格式。
所述解析模板,是与具体业务工作流的具体执行步骤中与业务服务端交互的数据内容相关,并依据该交互数据报文内容格式来定义的LUA正则表达式。
所述节点数据格式,至少包括统一资源位置(URL),客户端IP地址,客户端MAC地址,客户端提交数据的最大长度,客户端cookie,和客户端接收数据的最大长度。
第三步(S13):依据预定义的识别规则识别当前待识别流程;
根据步骤S11所预定义的流程识别规则,对待识别流程进行流程识别:根据流程识别树对待识别的流程进行流程识别;
识别已解析队列中待识别流程的节点数据,并将识别结果写入日志。
第四步(S14):保存流程识别结果;
将流程识别结果保存到文件或存储到数据库中,以供第三方应用使用,和/或管理员事后审计。
第五步(S15):非法流程告警;
检索识别过程中产生的日志信息,对识别日志中,如有不能识别的流程,则直接告警。
所述步骤S11流程识别规则定义步骤中所建立的流程识别树,其中,所有的流程都有一个共同的虚拟根,由一个开始标志,至少一个流程步骤,一个或多个结束标志组成,所定义的流程识别规则以XML文件的格式存储在预设目录下。
所述步骤S12解析上报流程执行数据报文方法,其中,所述的解析过程是指,使用报文解析模板中的节点识别码,在当前的流程执行数据中做字符串匹配搜索,只有当上报的流程执行数据格式与报文解析模板所要求的格式完全匹配时,才认为解析成功;并将提取出来的数据项转换成统一的识别节点数据格式;最后将统一格式的节点数据保存到队列中,该队列自动依据客户端标识组成小队列,所有小队列的队首组成大队列。
所述的解析上报的流程执行数据报文方法中,所使用的解析模板,是与具体业务工作流的具体执行步骤中与业务服务端交互的数据内容相关,并依据该交互数据报文的格式来定义的,且是满足LUA语法规范的正则表达式。
所述的解析上报的流程执行数据报文方法中,所述的节点数据格式,至少包括URL地址,客户端IP地址,客户端MAC地址,客户端提交数据的最大长度,客户端cookie,和客户端接收数据的最大长度。
所述的解析上报的流程执行数据报文方法中,所接收的流程实际执行数据,是业务客户端的WEB浏览器所设置的代理服务器,利用Winpcap或Libpcap捕获浏览器的请求及响应数据报文后上报的。
所述步骤S13识别待识别流程,利用流程节点识别方法,将同一客户端的所述节点数据,同所述步骤S11所定义的流程识别树上的流程入口节点进行匹配,或该客户端的活动流程子树上活动节点的儿子节点进行匹配;
所述活动流程,是所述节点数据与流程识别树上的流程入口节点相匹配时,所述流程入口节点所确定的流程;所示活动节点,是当前匹配节点。
所述流程节点识别,每一个节点使用一组节点内部的识别码进行识别匹配,当且仅当所述节点数据的所有识别码都和所述步骤S11所定义的流程识别树上的一个节点的识别码匹配一致时才认为节点匹配。
所述步骤S14保存流程识别结果,可以以文件或数据库的方式保存流程识别结果的详细信息,以便第三方应用使用,和/或用户事后审计。
所述步骤S15非法流程告警,通过检索日志文件,针对不能解析,不能数据格式转换和流程不能识别的条目,产生告警信息,告警信息至少包括时间,终端IP,终端MAC和附加信息;管理员可以依据告警信息快速定位到客户端,并采取预防措施,如警告终端操作员、增加防火墙规则限制终端访问等。
有益效果
本发明提供一种SOA业务工作流的流程识别方法,通过对客户信息系统交互数据进行安全控制分析,识别用户信息系统的真实数据的工作流,与用户配置的工作流是否存在差异,判断是否按照设计安全控制流程执行,由此分辨出用户的信息系统是否存在安全问题,同时对于不正确或者违背预先制定的安全流程规则的情况进行告警与记录,从而保证业务工作流执行过程的可靠性和安全性,通过对业务工作流的执行过程进行实时的监控和管理,防止业务工作流在执行的过程中的异常和被篡改。
附图说明
图1是本发明一种业务工作流流程识别方法的实施例的流程示意图;
图2是流程识别规则定义的流程识别树逻辑示意图;
图3是接收上报流程执行数据并解析的流程示意图;
图4是流程识别流程图;
图5是流程节点识别流程图。
具体实施方式
如图1所示,是本发明所述一种业务工作流流程识别方法的流程图。包括如下步骤:定义流程识别规则,解析接收到的待识别流程执行数据,对解析后的数据作格式转换处理,依据预定义的识别规则识别当前待识别流程,并保存流程识别结果以及非法流程示警。其具体描述如下:
步骤S11:定义流程识别规则;依据已预定义的XML格式的流程文件,定义流程识别所需要的流程识别规则树。
本实施例中,利用流程名称来标识流程,故流程名是唯一的,且流程内的每个节点都有唯一的名称。如果流程名称或流程节点名称相同,则认为是同一流程或是同一节点。
本实施例中,合法的工作流都保存为XML格式内容的文件,并直接利用所有已定义好的工作流的相应XML文件内容,建立流程识别树。所述流程识别树如图2所示,其描述了流程识别规则定义过程所产生的流程识别树的逻辑示意图。其中,在流程识别树中,第一层是所有的流程的一个共同的虚拟根,也就是流程识别时总入口。第二层是流程分支,每一个已定义好的具体流程都具有一个唯一对应的分支,是流程识别过程中特定流程的入口,第三层是具体流程内部的具体步骤,每个已定义好的流程由至少一个流程步骤,一个或多个结束标志组成。
在流程识别树中,具体流程内部的具体步骤等同于工作流XML文件中的节点。为了与该工作流XML文件保持一致,本实施例中使用统一格式对所有流程进行描述。流程识别树的XML格式样例如表一所示。
表一

<?xml version=″1.0″encoding=″UTF-8″?><RuleManager name=″流程识别规则″Path=″流程定义文件存储路径″><process name=″流程名称1″Filename=″流程定义文件名称1″LastTime=″文件最后编辑时间″></process><process name=″流程名称2″Filename=″流程定义文件名称2″LastTime=″文件最后编辑时间″></process><process name=″流程名称3″Filename=″流程定义文件名称3″LastTime=″文件最后编辑时间″>...</process></RuleManager>

在表一中,RuleManager的name描述规则管理名称,表示流程识别规则的名称,每个流程识别规则对应一个具体的业务流程的识别规则;Path描述流程文件的存储路径,表示流程识别文件的存储路径;Process的name描述流程的名称,表示一个具体流程的名称;Filename描述流程定义文件的名称,每个流程定义文件对应一个具体流程的执行规则,定义流程识别规则时,将根据该流程定义文件名称和流程定义文件存储路径,取得该流程的具体信息。
本步中所定义的流程识别规则将以XML文件的格式存储在预设目录下。
步骤S12:解析上报的流程执行数据报文。
解析过程是指,使用报文解析模板中的节点识别码,在当前的流程执行数据中做字符串匹配搜索,只有当上报的流程执行数据格式与报文解析模板所要求的格式完全匹配时,才认为解析成功;业务客户端在执行流程过程中,捕获该流程的实际执行数据,并上报到流程识别服务端;流程识别服务端利用预设的解析模板对上报的流程执行数据报文进行解析,包括,从解析模块集合中查找与该报文数据相匹配的解析模块,以及利用查找到的解析模块从该报文数据中提取数据,并将提取到的数据相转换为统一的节点数据格式;最后将统一格式的节点数据保存到队列中,该队列自动依据客户端标识组成小队列,所有小队列的队首组成大队列。
所述解析模板,是与具体业务工作流的具体执行步骤中与业务服务端交互的数据内容相关,并依据该交互数据报文的格式来定义的,且是满足LUA语法规范的正则表达式。
所述节点数据格式,包括URL地址,客户端IP地址,客户端MAC地址,客户端提交数据的最大长度Length,客户端cookie,客户端接收数据的最大长度content-length等用于识别流程执行的特征值的组合。
如图3所示,是接收并解析上报流程执行数据报文的流程图,该过程包括如下步骤:
步骤S301:接收上报数据,接收业务客户端上报的流程执行过程数据,并插入缓存队列中,业务客户端的WEB浏览器设置代理服务器,该代理服务器上利用Winpcap捕获浏览器的请求及响应数据报文后上报;或利用Libpcap捕获浏览器的请求及响应数据报文后上报;步骤S302:加载解析模板,将预定义的报文解析模板全部加载到内存中。解析模板是LUA正则表达式;
示例1:在字符串提取年,月,日的值。如日期字符串内容为:“17/7/1990”,定义正则表达式为“(%d+)/(%d+)/(%d+)”,则提取的值分别为:17 7  1990
示例2:在字符串提取“=”前面的名称和值。如″name=Anna″,定义其正则表达式为:“(%a+)%s*=%s*(%a+)”,则提取到的内容分别为:name Anna
示例3:针对一次工作流交互报文,其数据内容形如:
pair=
<pm version=″0.1″><mac>00:11:d8:32:7f:92,00:00:00:00:00:00</mac>
<ip>192.168.1.123</ip>                    <protocol>https</protocol>
<certid>abc00001</certid>
<request>GET http://192.168.1.2/           HTTP/1.0          Accept:
application/x-shockwave-flash,image/gif,image/x-xbitmap,image/jpeg,
image/pjpeg,application/vnd.ms-excel,application/vnd.ms-powerpoint,
application/msword,application/x-silverlight,  */*  Accept-Language:
zh-cn                                                          Cookie:
ASPSESSIONIDCASTQSDA=EIOBCAHADPCCHOHFLHAMCIKE;
</request>
<response>HTTP/1.1 200 OK Date:Sun,31 May 2009 03:45:36 GMT
Server:Microsoft-IIS/6.0 X-Powered-By:ASP.NET Content-Length:
5076 Content-Type:text/html Expires:Sun,31 May 2009 03:45:36 GMT
Cache-control:private</response></pm>
则需要定义针对不同域的正则表达式,如其MAC地址的正则表达式:“<mac>%s*(%a+)%s*</mac>”,则提取的内容为:00:11:d8:32:7f:92,00:00:00:00:00:00;再如其IP地址的正则表达式为:“<ip>%s*(%a+)%s*<ip>”,则提取的内容为:192.168.1.123
步骤S303:循环地从已接收的流程执行数据报文队列尾取数据包;
步骤S304:判断是否读取到数据,如果数据为空,转步骤S305;否则,转步骤S306;
步骤S305:定时延迟,数据队列已为空,无待处理数据,延迟之后转步骤S303,重新取数据;
步骤S306:根据解析模板解析读取到的信息体数据,依次使用所有报文解析模板集中的模板解析取得的流程执行数据,直到解析数据成功或全部模板匹配完毕。所述解析的过程是指,使用报文解析模板中的节点识别码,在当前的流程执行数据中做字符串匹配搜索,只有当上报的流程执行数据格式与报文解析模板所要求的格式完全匹配时,才认为解析成功;并将提取出来的数据项转换成统一的识别节点数据格式,例如<ProcessHttp label=″LABEL″url=″URL″method=″METHOD″form=″FORM″time=″TIME″week=″WEEK″date=″DATE″ip=″IP″mac=″MAC″Length=″LEN″cookie=″COOK″content-length=″LENG″name=″HTTP″></ProcessHttp>;
步骤S307:判断数据解析是否成功,如果为真,转步骤S310;否则,转步骤S308;
步骤S308:将数据标识为“无法解析”,并记入日志文件中,转步骤S309;
步骤S309:丢弃非法报文数据,转步骤S303;
步骤S310:判断数据包的包头是否合法;根据解析所得的数据包头域内容,与流程定义时规定的执行数据合法包头数据作比较,判断数据包是否合法,如果该数据包包头与规定的执行数据合法包头匹配,认为是合法数据包,转步骤S312;否则,转步骤S311;
步骤S311:将非法报文信息标记为“非法数据”,并记入日志文件;
步骤S312:将解析后的数据放入已解析队列中,该队列所保存的数据即为待识别流程的原始数据,转步骤S303;
步骤S13:使用预先定义的识别规则对已解析队列中的识别节点数据进行流程识别。
流程识别过程调用流程节点识别过程对流程的节点进行识别,每一个节点使用一组节点内部的识别码进行识别匹配,当且仅当节点数据的所有识别码都和步骤S11所定义的流程识别树上的一个节点的识别码匹配一致时才认为节点匹配。
具体实施时,将利用步骤S11所定义的识别规则对已解析队列中的识别节点数据进行识别前,需要确保已载入已定义好的流程识别规则数据,即步骤S11中所述的流程规则树数据。
如图4所示,是流程识别处理流程图。该流程识别包括如下步骤:
步骤S401:读取待识别节点数据,即取得已解析队列中的待识别节点数据,并取得上报数据的客户端IP;
步骤S402:判断客户端上下文是否存在,根据客户端IP,测试缓存区中是否有该客户端上下文,如果为真,转步骤S403,否则,转步骤S412;
步骤S403:从客户端IP所对应的上下文中取得活动流程指针、活动流程规则节点指针,所述活动流程指针指向客户端上一次执行所用的业务流程,所述活动流程规则节点指针指向客户端上一次执行的业务流程节点;
上下文缓存区分两大类型,分别为活动缓存区和非活动缓存区。活动缓存区保存了目前所有活动的客户端的流程执行信息,活动缓存区中的上下文空间将在该客户端的待识别节点数据队列为空后,搬迁到非活动缓存区;而非活动缓存区也保存了客户端的流程执行信息,但是,该客户端相关的待识别节点数据队列为空。非活动缓存区的上下文所占空间将在超时后自动回收,或在又有待识别节点数据时,搬迁到活动缓存区中。
步骤S404:调用流程节点识别方法,比较待识别节点数据与当前活动流程规则节点指针所确定节点的直接儿子节点是否匹配;
识别时,是从当前活动流程规则节点的最左边儿子节点比较,直到最右边的儿子节点,如果存在儿子节点与待识别节点匹配,则为匹配成功,不再比较右边的儿子节点;
步骤S405:判断比较结果是否匹配,如果为真,转步骤S406,否则,转步骤S413;
步骤S406:针对客户端上下文已存在时,保存当前流程规则指针到活动流程指针、保存当前流程规则节点指针到活动流程规则节点指针,并将该当前客户端上下文标识为“活动”;否则,从空闲的缓存区中申请客户端上下文空间,将当前流程规则指针保存到活动流程指针、将当前流程规则节点指针保存到活动流程规则节点指针,并将该当前客户端上下文标识为“活动”;
步骤S407:在当前活动流程指针所确定的流程规则树上查找当前活动流程规则节点指针所确定的节点的儿子节点,判断待识别流程是否已经结束,如果无儿子节点,则为真,转步骤S411,否则,转步骤S408;
步骤S408:测试该客户端报文队列是否为空,如果为真,转步骤S410,否则,转步骤S409;
步骤S409:读取下一个待识别节点数据,从当前客户端的已解析队列中读取下一个待识别节点数据,转步骤S404;
步骤S410:客户端没有新的业务流程操作,将该客户端上下文标识为“非活动”,并记日志;结束。
步骤S411:流程已识别,并记日志;结束。
步骤S412:依据步骤S11所定义的流程检测规则,调用流程节点识别方法,将当前待识别节点与流程规则树中的流程入口节点比较,转步骤S405;
步骤S413:测试是否为该IP所确定的客户端上报的首报文,如果为真,转步骤S415,否则,转步骤S414;
步骤S414:流程异常,并记日志;转步骤S415;
步骤S415:判断是否已比较完所有流程入口节点,如果为真,转步骤S416,否则,转步骤S412;
步骤S416:测试是否是首次处理该客户端的报文,如果为真,则本次流程识别过程结束,否则,转步骤S417;
步骤S417:流程不可识别,并记日志;结束。
需要注意的是,本实施例的流程识别流程图只表示了一个流程的识别过程,实际处理流程是循环过程。
流程识别处理中所采用的流程节点识别方法,具体描述如下:本实施例中,流程节点内部的识别码描述如表二。
表二
  识别顺序号  SerialNumber  节点识别码  SignCode  描述  1  url  URL  2  Method  包括POST,GET  3  Form  客户端提交的数据。例:  name=v&name1=v1&name2=v2  4  Time  时间范围,9-10,10-12  5  Week  周,1,3,4  6  Date  日期范围1-2,3-4,6-10  7  Ip  终端IP  8  Mac  终端MAC  9  Length  客户端提交数据的最大长度  10  Cookie  客户端cookie  11(=MaxStep)  content-length  客户端接收数据的最大长度

流程节点中的识别码都包含表二所述识别码的全部或部分。只有当待识别节点的所有识别码项和流程识别树中某个节点所要求的识别码项完全匹配时,才认为节点匹配。流程识别码的名称必须唯一。
在如表二所述节点识别码示例中,MaxStep描述最大的识别步骤,表示需要识别的节点识别码的个数,在进行节点识别时,最大识别步骤确定了识别码匹配识别的循环次数的上限,如本例中MaxStep=11;SerialNumber描述识别的顺序,从1开始到MaxStep结束,在进行节点识别时,识别顺序号确定了识别码匹配识别的前后顺序,如本例中,每一个特定的SignCode(识别码)属性都对应了不同的SerialNumber值;SignCode描述识别码,用于做识别匹配的特征指标,必须与流程定义中的相应属性名一致;识别规则的输入项是从被识别信息中提取到的与流程识别码相对应的数据,输出是True或False。
具体的节点识别法如图5所示,描述了流程节点识别流程图,在流程识别时,需要对流程内部的节点信息进行识别时,将启用本方法。步骤如下:
步骤S501:置节点识别顺序(SerialNumber)为1;在本节点识别码示例中,即从识别顺序为1所对应的节点识别码项url开始识别;
步骤S502:判断识别顺序(SerialNumber)是否不大于最大识别步骤(MaxStep),如果为真,说明节点内部识别未完成,转步骤S503;否则,说明节点内部识别已经完成,转步骤S512;
步骤S503:在节点识别顺序配置文件中读取与识别顺序(SerialNumber)相对应的识别码(SignCode);
步骤S504:依据识别码(SignCode)从待识别节点信息中提取与识别码相对应的信息域上的数据;
步骤S505:判断在待识别节点信息中提取的数据是否为空,如果为真,则置数据为空标志;无论提取的数据是否为空,继续执行步骤S506;
步骤S506:依据当前识别码(SignCode)从流程识别树上的当前待匹配节点信息中提取识别码所确定的信息域上的数据;
步骤S507:测试2次读取的数据;判断在流程识别树上的节点信息中提取的数据是否为空,如果在待识别节点信息和流程识别树上的节点信息中提取的数据都为空,转步骤S508;否则,如果在待识别节点信息中提取的数据不为空,而在流程识别树上的节点信息中提取的数据为空,或者相反,则该节点不匹配,转步骤S509;否则,在待识别节点信息和流程识别树上的节点信息中提取的数据都不为空,需要对提取到的数据作匹配识别,转步骤S510;
步骤S508:匹配成功,识别顺序(SerialNumber)增一,继续节点内部识别,转步骤S502;
步骤S509:匹配不成功,标识节点匹配不成功(False),结束;
步骤S510:数据匹配,测试在流程识别树上的节点信息中提取到的数据,其可能是一个或一组数据值,是否完全包含从待识别节点信息中提取的数据;
步骤S511:判断匹配结果,如果匹配成功,转步骤S508;否则,转步骤S509;
步骤S512:节点匹配成功,标识节点匹配成功(True);
步骤S513:待识别节点可识别,在待识别节点上标注匹配的流程节点名称;
步骤S514:将待识别信息存储在已识别数据中,结束;
步骤S14:保存流程识别结果:保存流程识别的结果,可以以文件或数据库的方式保存流程识别结果的详细信息,以便第三方应用使用,和/或用户事后审计;
本实施中,以文件或数据库的方式保存流程识别结果的详细信息。
当采用文件方式保存时,只支持XML文件格式:被识别的流程的识别结果以XML格式存储在预定的目录下。目录可以按日期或流程名称多级存储。流程识别结果的查询索引可以以XML格式,按日期或流程名称存放在指定位置。
针对按日期存放的日志文件的查询索引文件格式如表三所示,以供第三方应用和/或用户以日期为条件查询业务工作流的执行情况。
表三
  <?xml version=″1.0″encoding=″UTF-8″?><DateIndex>  <Date name=″yyyymmdd″>    <Process     Name=″″      FileName=″″ Time=″yyyy-mm-dd HH:MM:SS″/>    <Process     Name=″″      FileName=″″ Time=″yyyy-mm-dd HH:MM:SS″/>    <Process     Name=″″      FileName=″″ Time=″yyyy-mm-dd HH:MM:SS″/>    <Process     Name=″″      FileName=″″ Time=″yyyy-mm-dd HH:MM:SS″/>    </Date></DateIndex>

在表三中,Date的name描述流程识别的日期,记录了流程识别的具体日期;Process的Name描述与待识别流程匹配的流程名称,可以根据流程名称找到流程定义文件;Process的FileName描述待识别流程的存储位置,记录了待识别流程在硬盘上的存储位置;Process的Time描述流程识别的时间,记录了流程识别的具体时间。
针对按流程名称存放的日志文件的查询索引文件格式如表四所示。以供第三方应用和/或用户以具体流程名称为条件查询业务工作流的执行情况。
表四
        <?xml version=″1.0″encoding=″UTF-8″?><ProcessIndex>  <Process Name=″流程名称″>     <ProcessFile FileName=″″Time=″yyyy-mm-dd HH:MM:SS″/>     <ProcessFile FileName=″″Time=″yyyy-mm-dd HH:MM:SS″/>     <ProcessFile FileName=″″Time=″yyyy-mm-dd HH:MM:SS″/>     <ProcessFile FileName=″″Time=″yyyy-mm-dd HH:MM:SS″/>     </Process></ProcessIndex>

在表四中,Process Name描述与待识别流程匹配的流程名称,可以根据流程名称在流程定义文件中找到具体的工作流程规则;ProcessFile的FileName描述待识别流程的存储位置,记录了待识别流程在硬盘上的存储位置;ProcessFile的Time描述流程识别的时间,记录了流程识别的具体时间;
当采用数据库方式存储时,将识别结果,包括可识别流程的流程名称、流程识别的时间、流程执行信息、流程识别结果等保存到数据表中。
步骤S15:非法流程告警;
通过检索日志文件,针对不能解析,不能数据格式转换和流程不能识别的条目,产生告警信息,告警信息包括:时间、终端IP、终端MAC、URI(由URL和Form组成)、附加信息组成,管理员可以依据告警信息快速定位到客户端,并通过URI和附加信息判断该终端用户的错误操作,从而指导其采取预防措施,如警告终端操作员、增加防火墙规则限制终端访问等。
至此,流程识别方法结束。
本发明中的业务工作流识别方法优选通过计算机软件的形式集成于位于网络中的任意计算机系统中,其也可以通过计算机系统的形式存在。

一种业务工作流的流程识别方法.pdf_第1页
第1页 / 共23页
一种业务工作流的流程识别方法.pdf_第2页
第2页 / 共23页
一种业务工作流的流程识别方法.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《一种业务工作流的流程识别方法.pdf》由会员分享,可在线阅读,更多相关《一种业务工作流的流程识别方法.pdf(23页珍藏版)》请在专利查询网上搜索。

本发明提供一种业务工作流的流程识别方法,包括以下步骤:流程识别规则的定义:根据工作流定义模块定义的工作流XML文件,建立流程识别树;解析上报的流程执行数据报文:接收业务客户端捕获的流程实际执行数据,解析该数据并将提取到的数据相转换为统一的节点数据格式;使用定义的识别规则对待识别流程进行流程识别:根据流程识别树对待识别的流程进行流程识别;保存流程识别结果:将已识别流程存储到可识别数据中,并将流程识别。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1