发明名称 面向高维服务数据的混合可视化方法
摘要 面向高维服务数据的混合可视化方法,包括:从WSDL和BPEL语言层次考察服务组合,对WSDL和BPEL文档提供的信息进行解析;定义服务组合SC的服务集{S1,S2,…,Sn}由若干个服务S组成;对服务组合SC的服务集{S1,S2,…,Sn}中三维以上的维空间,用树结构来对多维空间进行降维;把服务实例Si将作为一个时间轴上某个变量值对应的单个事件;将服务集{S1,S2,…,Sn}的服务实例Si用一系列相互平行的坐标轴来表示;用一种改进型的平行坐标视图来表示服务间的相互关系;通过点阵来可视化服务内部数据及服务间的关联信息,点阵由节点-链接图和矩阵组成。
申请公布号 CN103268327A 申请公布日期 2013.08.28
申请号 CN201310157775.5 申请日期 2013.04.28
申请人 浙江工业大学 发明人 陆佳炜;徐俊;张元鸣;肖刚;高飞;吴利群
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州天正专利事务所有限公司 33201 代理人 王兵;黄美娟
主权项 1.面向高维服务数据的混合可视化方法,其技术方案是:第一步:从WSDL(Web Services Description Language)和BPEL(Business Process Execution Language)语言层次考察服务组合,对WSDL和BPEL文档提供的信息进行解析。1.1、根据WSDL的Schema,把Web服务抽象划分为一个二元组s=(n,P),其中,n为服务的名称(即服务在UDDI(Universal Description Discovery and Integration)注册的服务名),P为该服务的操作集合。操作是Web服务的基本功能实体,Web服务组合最终体现在服务间操作的组合。操作可以表示为一个二元组P=(I,O),I表示该操作接收的输入对象集合,O为操作产生的输出对象集合。1.2、CPU读取场景中服务资源库的WSDL文件基本信息,提取服务名称n、所提供的操作P和相应输入对象I,输出对象O,以及对象的类型E、服务所封装的端口类型信息PT。1.3、输出对象集合O是执行服务后用户最终得到的数据。作为服务提供的数据资源,输入对象集合I是一种条件数据,作为取得服务数据的先决条件之一。1.4、解析BPEL文件,所解析的元素构成的xml文件结构如下:<img file="FDA00003121909600011.GIF" wi="1382" he="1012" /><img file="FDA00003121909600021.GIF" wi="1323" he="1741" />第二步:定义服务组合SC的服务集{S<sub>1</sub>,S<sub>2</sub>,···,S<sub>n</sub>}由若干个服务S组成,服务S又包含数据集{D<sub>1</sub>,D<sub>2</sub>,···,D<sub>n</sub>},将每一个服务作为一个维度,通过构造不同的维空间来展示服务组织结构的动态变化。当SC={S<sub>1</sub>}时,得到单个服务的一维空间分布。当SC={S<sub>1</sub>,S<sub>2</sub>}时,代表S<sub>1</sub>和S<sub>2</sub>组合后最终产生的服务数据分散在一个二维的平面区域内。当SC={S<sub>1</sub>,S<sub>2</sub>,S<sub>3</sub>}时,该服务组合产生的服务数据散布在立体区域内。每一个服务组合的集合都是步骤1.1-1.4中解析WSDL和BPEL文件后,根据BPEL中调用WSDL的服务映射而来。第三步:对服务组合SC的服务集{S<sub>1</sub>,S<sub>2</sub>,···,S<sub>n</sub>}中三维以上的维空间,用树结构来对多维空间进行降维,树结构每一层级对应于每一维度的映射,每一个树节点包含了该节点服务能产生的服务数据,树结构的每一个分支结构代表了一条服务组合路径,以此来实现数据从高维空间到低维空间的映射。第四步:把服务实例S<sub>i</sub>将作为一个时间轴上某个变量值对应的单个事件,对应的数据集{D<sub>i1</sub>,D<sub>i2</sub>,···,D<sub>in</sub>}将集中在一个有出发点并定义从过去到将来的数据元素的线性时域内,以有向环结构来表达服务数据,环中的箭头代表服务的流向,服务的流向由服务集{S<sub>1</sub>,S<sub>2</sub>,···,S<sub>n</sub>}的服务交互顺序决定,每个环内的区域代表服务自身提供数据集{D<sub>i1</sub>,D<sub>i2</sub>,···,D<sub>in</sub>},环与环之间的交集代表服务间彼此能进行组合。第五步:将服务集{S<sub>1</sub>,S<sub>2</sub>,···,S<sub>n</sub>}的服务实例S<sub>i</sub>用一系列相互平行的坐标轴来表示,每一个坐标轴对应一个服务实例。根据步骤1.4中解析BPEL得到的服务组合顺序,将描述不同维度的数据集{D<sub>i1</sub>,D<sub>i2</sub>,···,D<sub>in</sub>}对应各点连接成折线,代表一个数据的一条折线在平行的坐标轴上的投影就反映了变化趋势和各个变量维度间的相互关系。第六步:用一种改进型的平行坐标视图来表示服务间的相互关系。6.1、对服务资源库内提取的BPEL信息进行计算,找出已有的服务组合中最长的路径,设最长路径XM初始值为0,搜索BPEL的&lt;sequenc&gt;元素,计算单个BPEL参与服务的个数为M,XM和M的计算规则如下:6.1.1、单次搜索过程中对搜索到的receive子元素,M=M++;对搜索到的reply子元素,M=M++;对搜索到的from和to成对子元素,M=M++;对搜索到的query子元素,M=M--;6.1.2、单次搜索结束后如果XM&lt;M,则XM=M;否则进入下一个BPEL文件的搜索6.2、把服务组合最长的路径设置为平行坐标的最大维度数,维度代表了服务组合的路径深度,维度上的数据用服务来代替,折线代表了一个服务组合的路径。第七步:通过点阵来可视化服务内部数据及服务间的关联信息,点阵由节点-链接图和矩阵组成。7.1、将服务实例S<sub>i</sub>包含的数据集{D<sub>i1</sub>,D<sub>i2</sub>,···,D<sub>in</sub>}中每一种数据的数据类型按照XML Scheme规范划分为简单类型和复杂类型两大类,其中复杂类型则由简单类型和/或其他复杂类型构造而成。7.2、采用矩阵来表示服务实例S<sub>i</sub>的数据结构,矩阵的标题行为数据的名称,标题列为数据的类型。另外,一个服务的基本信息也是必须包含的,这些信息包括服务名称、URI、数据所属的操作,该类信息用一个矩形附加在矩阵上表示。7.3、对服务与服务间的组合关系用节点-链接图进行标识,如果服务与服务之间两两发生组合关系,通过直线连接相应的服务,箭头代表服务的数据流动方法。服务间交互的数据细节则通过矩阵中数据所在的行引出的箭头来表明。7.4、在点阵中加入弹性层次机制,对于S<sub>i</sub>中包含的复杂类型数据,在矩阵视图中增加节点“+”,当该节点被点击后,视图会提取出该数据的结构并用一个新的矩阵进行显示。在服务矩阵视图上方增加节点“+”/“-”,使之可以展开或闭合相关服务,来有效利用空间,减少链接之间在可视化时的交叉和覆盖。在节点-链接图上加入节点“+”/“-”,来开启或闭合服务与服务间的交互数据细节。
地址 310014 浙江省杭州市下城区潮王路18号