主权项 |
一种基于流程编排的服务组合路径推导方法,其特征在于,具体步骤如下:步骤一、针对某段BPEL源文档,提取BPEL源文档中的元素并分别进行编号;BPEL源文档中的元素分为基本活动元素以及结构化活动元素,首先将对基本活动元素按序进行编号,然后,继续顺次对结构化活动元素按序进行编号;并记录基本活动元素的最后一个编号作为分界编号;步骤二、按BPEL语法标准将该BPEL源文档划分为正常处理程序和异常处理程序;步骤三、分别对正常处理程序和异常处理程序提取出BPEL路径信息;步骤四、将所有层提取的BPEL路径信息形成中间XML文档;步骤五、对中间XML文档,去除冗余元素,得到描述路径的XML文档;具体去除方法为:针对两条BPEL不同的路径:当第一条路径中的to属性与第二条路径中的from属性中采用的编号值相同,且该编号大于分界编号时,删除该编号,将两条路径合并为一条路径;当两条路径的condition属性中至少有一个为valid,则合并condition属性为valid;当两条路径的flow属性至少有一个为true,则合并flow属性为true;步骤六、利用XML解析工具读取描述路径的XML文档中的边以及节点;步骤七、利用边和节点建立服务组合路径的邻接矩阵以及并行节点集合;邻接矩阵为边和点的连接有向图;并行节点集合为一维向量,用来存储邻接矩阵中具有并行分支路径的开始节点;每个开始节点向下一个节点相连边的flow属性均为true;并行节点用于记录并行路径信息;步骤八、结合深度优先搜索算法,得到所有的服务组合路径;步骤九、将所有的服务组合路径,在路径执行条件下输出;路径执行条件是指每条边上condition属性中的valid条件。 |