计算机系统应用  2019, Vol. 28 Issue (3): 185-190   PDF    
面向Web服务的动态可信性评估模型
王鹏, 李克文     
中国石油大学(华东) 计算机与通信工程学院, 青岛 266580
摘要:网络化软件是由分布在互联网上多源异构的Web服务构成, 但受其所处动态开放网络环境的影响, 服务可信性处在不断变化之中. 针对传统Web服务可信性难以适应动态评估的问题, 提出了一种基于信息熵权重和带修正指标的动态信任评估模型(Dynamic Trustworthy Evaluation based on Information Entropy and Correction Metrics, DTEIECM). 首先, 该模型充分挖掘模糊矩阵中的客观信息, 利用信息熵对易受人为因素影响的主观权重进行修正. 同时, 考虑到所处运行环境对当前服务可信性的影响, 增加了修正指标和受反馈影响的外部指标, 以提高评估模型的自适应性. 最后, 通过对一个商务订单管理系统中的地图服务进行实例分析, 结果表明DTMIECM模型在可信性度量中具有可行性, 而且能够适应多变的环境并重新配置服务组合, 有利于提高整个系统的可信度.
关键词: 可信性评估    Web服务    信息熵    动态可信性    
Dynamic Trustworthy Evaluation Model for Web Service
WANG Peng, LI Ke-Wen     
College of Computer & Communication Engineering, China University of Petroleum, Qingdao 266580, China
Foundation item: National Natural Science Foundation of China (61173181, 61363056); Natural Science Foundation of Shandong Province (ZR2013FL034)
Abstract: The networked software is composed of heterogeneous Web services which are distributed on the Internet. Service trustworthiness is in constant change under the influence of dynamic and open environment. To solve the problem that Web service trustworthy evaluation is difficult to adapt dynamic environment, this study developed a dynamic trustworthy evaluation based on information entropy and correction metrics. It mined deeply the objective information in fuzzy matrix and modified the subjective weights that are susceptible to human factors. Considering the impact of the running environment on the trustworthiness of the current service, it added correction metrics and external metrics affected by feedback to improve self-adaptability of the evaluation model. Finally, simulation experiments based on a map service show that the DTMIECM model possesses feasibility in trustworthy measurement. It can adapt to unstable environment and reconfigure service to improve trustworthiness of the whole system.
Key words: trustworthy evaluation     Web service     information entropy     dynamic trustworthiness    

随着云计算和企业网络服务近年来的不断发展, 对Web服务的使用愈发频繁. Web服务是在面向服务计算(Service-Oriented Computing, SOC)松散耦合环境中被描述、发布和定位的应用程序模块, 自身是一种自治、开放与平台无关的网络化构件. 作为当前面向服务架构(Service-Oriented Architecture, SOA)主流实现方式, 它使应用具有更好的灵活性、复用性及可增长性.

构建一个复杂应用时, 可能需要集合网络环境下多个服务, 选择满足用户需求的最佳服务, 构建Web服务可信性评估模型就至关重要. Web服务的可信是整个网络化软件可信的基础, 不同的背景下, 国内外众多学者对信任评估模型进行了广泛研究[1,2]. Bhargava[3]提出一个自组织对等网络信任模型. 在这个模型中, 对等点使用本地可用信息创建信任网络. 对于面向服务的移动社交网络, Liang[4]给出了一个通过收集和存储用户评论的模型. 在其基础之上, Ding[5]提出了CSTrust框架的概念, 通过结合客户满意度和QoS来预测云服务. 此外, 该作者[6]还提出了一种通过收集可信证据, 根据用户实际需求情况, 充分考虑缺失值预测及多属性分配不同属性权重的方法. Li[7]给出了基于实际可信证据基础之上的质量水平模型. Fernandez[8]提出了一种使用化学反应方程式促进分散工作流执行的方法. 然而, 该方法并未提供一个明确的机制来处理开放的环境, 以支持服务可以在任意时刻连接或离开. Liu[9]构建了带修正的主观可信性评估模型, 在标准SOA中融入信托管理模块, 把Web网络转变为一个基于可信任实体的小型网络. Sim[10] 提出了一种自组织多代理方法, 进行云环境中分散的服务组合, 用服务能力表来维护云服务实时信息, 但对其的过度依赖成为一个不可避免的问题. 为反映动态环境中时刻产生的变化, 服务能力表需要定期更新, 会限制其部署在高度动态环境下的适用性.

由于当前Web服务实体之间交互方式的复杂性、多样性[11], 难以构建一个长时间持续通用的评估模型. 多数静态和定性信任模型也不足以描述这种不断变化、高度动态的环境. 因此本文提出一种将模糊理论与信息熵相结合的综合可信性评估模型, 通过计算客观评价矩阵的信息熵, 对主观权重进行修正. 同时将可信性评估指标体系中属性分为标准指标和修正指标, 对反馈而来的信息进行有效处理, 改善了动态适应性不强的问题, 使评估结果更加客观合理.

1 基于信息熵的权重修正 1.1 信息熵

熵的概念源自热力学, 表示一个系统的混乱程度, 而在通信领域将其用来度量信源中信号的不确定性, 系统的不确定性与熵值成正比. 在模糊评判矩阵 $R = {({r_{ij}})_{n \times m}}$ 中, 如果缺陷评价因子 ${U_i}$ 隶属于评价等级集合不同等级的差异度越高, 信息熵就越小, 系统处于某种状态的不确定性就越小, 那么则表明该指标相对于其他指标对评估结果的重要性就越高, 因此通过计算模糊评判矩阵的信息熵来修正指标权重.

1.2 指标类型权重

在已确定主观权重的基础之上, 采用信息熵理论确定系统各类缺陷客观权重来修正评估因子权重, 步骤如下:

1) 将主观评价作为初始权重:

$w = ({w_1},{w_2}, \cdots , {w_n})$ (1)

2) 设模糊评判矩阵 $R$ , 利用信息熵来度量第 $i$ 个评估因子重要性:

${h_i} = - \mathop \sum \limits_{i = 1}^M {r_{ij}}{\rm{ln}}({r_{ij}})$ (2)

规定 ${r_{ij}} = 0$ 时, ${h_i} = 0$ . 差异度越小, 信息熵越大, 则最终可信性评估结果的不确定性越大.

3) 为了避免出现量纲不统一的情况, 对 ${h_i}$ 进行归一化处理:

${h_i}^\prime = - \mathop \sum \limits_{i = 1}^M {r_{ij}}{\rm{ln}}({r_{ij}})/{H_{\max}}$ (3)

当且仅当差异度完全相同时, 信息熵可取得最大值1.

4) 第 $i$ 个评价指标的权重系数为:

$\theta _i = \left( {1 - {h_i}^\prime } \right)/\mathop \sum \limits_{i = 1}^n \left( {1 - {h_i}^\prime } \right)$ (4)

得权重向量 $\theta = \left( {{\theta _1},{\theta _2}, \cdots ,{\theta _n}} \right)$ , 为避免 ${h_i}^\prime \to 1$ 时, $\theta i \to 0$ 而导致权重差别过大, 对式子进行以下处理:

$W_j = \mathop {\lim }\limits_{Pij \to 1} \dfrac{{{{\left( {1 - {h_i}^\prime } \right)}^{ - 1}}}}{{\mathop \sum \nolimits_{i = 1}^n {{\left( {1 - {h_i}^\prime } \right)}^{ - 1}}}}$ (5)

5) 利用客观权重系数对主观权重向量进行修正:

${w_i}^\prime = \frac{{{w_i} \times \theta _i}}{{\mathop \sum \nolimits_{i = 1}^n {w_i} \times \theta {{_i}}}}$ (6)

最终缺陷评估指标权重 $w' = ({w_1}',{w_2}' ,\cdots , {w_n}')$ . 主观权重赋值在根据属性本身权重方面有优势, 但可能存在评价差异较大, 准确性取决于真实有效的评价和诚实的服务的局限性. 客观权重修正信息来源于客观的模糊评价矩阵, 反映了属性值间的离散程度, 各属性的权重, 应为其在属性集中变异的程度以及对其他属性的影响. 在不考虑属性实际意义时, 深入研究各属性间的相互影响及联系, 降低了人为主观因素的不确定性和决策者的负担, 但依赖于实际的问题域, 无法体现决策者的重视程度. 因此合理的权重应兼顾经验决策及数据的内在规律, 信息熵的权重修正方法避免了大样本客观数据搜集, 根据经验进行重要性排序更加容易操作理解, 同时又充分发掘数据所包含信息, 依靠客观信息对主观性问题进行修正, 使可信评价指标权重随着客观数据动态更新, 具有更好的准确性、灵活性和适用性.

2 可信性评估模型

随着模糊计算、区间计算和概率论与数理统计等理论引入, 将证据理论与决策理论相结合, 可用于处理信息不精确、定性定量混合的决策问题和信息模糊性及不确定性的合成问题. 首先给出信任定义, 然后提出用于复合信任计算的多重策略, 最终提出一个可信条件下的评估模型来计算服务的复合信任值.

信任定义为取值在[0, 1]之间用来衡量服务按预期执行的可能性概率. 面向服务的应用程序需要通过服务声誉和执行历史来访问动态、可量化的复合信任方案. 信任方案必须捕捉到各种场景中服务间相互作用, 并计算其可信赖程度. 由于面向服务架构的复杂性, 当前多数研究采用的单一信任度量标准在可信证据数据上较为单一、收集复杂、可执行性低, 由此本文提出了三种不同类型度量指标, 从侧面获取Web服务生命周期各阶段数据对其进行归类分析, 再结合信息熵权重确定每种指标的可行权重, 最终构造可信评估度量模型.

2.1 可信指标分类

Web服务动态可信指标评估体系从静态特性和动态特性两方面对服务可信状态进行评估, 通过定制信任属性和信息熵权重, 实现服务可信评估体系的定制性和扩展性. 将可信特性解析分类, 以常规软件开发时期的模型分析、软件验证等服务自主可信性方法作为基础指标, 并增加变化的协作环境指标. 在系统运行过程中, 每个实体可信性能够动态评估, 以便于切换到更可信实体.

基础指标: 初步评估的可信指标, 由传统可信属性指标构成, 如功能性、可靠性、可用性、可维护性、可重用性等, 通过许多现有传统方法获得, 作为可信性初始评价.

内部修正指标: 为使评估更客观, 基础指标需通过一些与可信评估密切相关的因素进行修正, 因此对该服务提供者所开发的其他Web服务开发水平进行评估, 如编程规范性、项目文档完善性、开发人员研发经验、项目进度管理规范性、测试质量等进行评估, 是由统计量(即系统的训练数据)计算的校正度量. 没有单一策略适用于所有SOA场景, 必须选择基于应用领域和敏感性的对应策略. 例如, 较严格的策略适用于一些关键服务场景(军事、航天等), 而对于某些商业或不太敏感的场景, 同样的限制则显得有些苛刻[12].

外部指标: 主要强调服务在部署和运行时的稳定性和安全性. 若网络状况不佳, 在其上运行的程序也难以提供持续稳定服务, 因此在考虑服务本身相关可信性基础之上, 考虑服务所在动态开放、不可控的网络运行环境状况对当前可信性的影响, 如网络安全性是指在系统受到恶意攻击时, 安全策略可以保护系统敏感数据不被非法访问的概率. 稳定性是软件系统在正常情况和时间内完成所需功能的概率, 可以通过故障注入测试来评估. 此类指标在服务每次申请时, 需重新进行QoS计算, 即:

$Trustworthiness = (1 - {e^{ - \beta n}})\mathop \sum \limits_{i = 1}^n \dfrac{{{t_i} - {t_j}}}{{\mathop \sum \nolimits_{i = 1}^n \left( {{t_i} - {t_j}} \right)}}{T_i} + {e^{ - \beta n}}T*$ (7)

${T_1} \cdots {T_n}$ 为同一服务提供的调用后反馈值, $\beta $ 为设定系数, 决定修正作用影响程度, $T*$ 为服务提供者预设值, ${t_i} - {t_j}$ 为服务间隔时间. 该方法更多的考虑到服务提供商提供的某些属性值的可靠性, 提供一种修正反馈机制. 对于不诚实实体、恶意评价等方面的考虑更加完善, 建立用户需求与可信证据直接的关联, 使应用该方法面对多层次的证据来源时, 能够进行有效分析, 可操作性较高, 且以此获得的高可信性的服务更有利于满足用户的实际需求, 提高服务选择时的准确性和有效性.

2.2 可信指标计算

贝叶斯推理通过对概率分布和观测数据进行推理做出最优决策, 当假设前提正确, 每个训练数据集会适度调整预估概率. 贝叶斯网络通过指定一组条件独立假设和局部条件概率来表示一系列变量间的联合概率分布, 将先验知识与观测数据结合, 确定最终假设概率. 某时刻Web服务可信性被认为是个体能够满足可信条件下提供服务的修正后验概率, 即:

$\begin{array}{l} {P_{\rm{metrics}}} = \mathop \prod \limits_{i = 1}^n P_i\left( {T{\rm{|}}A} \right)P_i\left( {T{\rm{|}}{T_{\rm{dynamic}}}} \right) \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;= \mathop \prod \limits_{i = 1}^n \dfrac{{P_i\left( {AT} \right)}}{P_i{{\left( A \right)}}}P_i \left( {T{\rm{|}}{T_{\rm{dynamic}}}} \right) \!\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;=\! \dfrac{{P\left( {A{\rm{|}}T} \right)\mathop \prod \nolimits_{i = 1}^n P_i\left( T \right)}}{{P\left( A \right)}} Avg\left( {\displaystyle\sum Trustworthiness} \right) \end{array}$ (8)

$n$ 为评估指标类型的数量, 先验概率 $P_i\left( {A{\rm{|}}T} \right)$ 为服务单元可信条件下选取内部修正指标的条件概率, $P_i\left( A \right)$ 为所选取内部修正指标满足的给定条件概率, 通过获取某服务与其他服务交互历史信息, 然后可以计算先验概率下系统环境状态, $P_i\left( T \right)$ 为所有基础指标综合可信值, 是对可信性的先验评估概率; $P\left( {T{\rm{|}}{T_{\rm{dynamic}}}} \right)$ 为该服务该时刻动态因素可信时的可信值, 取网络环境安全性值 ${T_{\rm{internet}}}$ 、资源可信值 ${T_{\rm{resource}}}$ 、部署设备可信值 ${T_{\rm {hardware}}}$ 均值.

3 实验分析

对某企业订单管理系统中的地图服务使用DTMIECM可信性评估模型进行实验研究. 该系统由业务逻辑模块、内部组件和外部组件三部分组成, 企业对库存、供应商、订单等具有管理功能. 内部组件是被封装的公共服务, 可直接被其他模块调用, 这些组件是由应用程序开发人员为提高重用性、降低成本而开发, 通常为本地组件或Web服务, 外部组件则为第三方提供的开发良好的实体, 封装应用功能并作为服务通过Internet与系统交互.

内部组件中Web服务通过局域网与业务逻辑模块交互, 将第三方提供的聚合应用程序作为外部组件进行集成. 在Web开发中, 聚合程序是一种新型的、由来自两个或多个来源的数据集组合而成的应用程序. 越来越多Web应用发布了API, 使软件开发人员无需自行构建就能够集成数据和功能. 系统中本地模块, 如入站管理模块、外部管理模块、库存模块和供应商管理模块, 在同一个环境中开发和集成, 它们之间不存在接口兼容性问题, 可以看作是单一实体. 内部公共组件是用户开发的服务实体, 与其他模块兼容, 不存在结构依赖. 在图1中, 地图服务1和地图服务2只支持SOAP, 而地图服务3只支持REST. 在使用地图服务1和地图服务2时, 可以选择定位信息1和定位信息2作为基础服务. 同样, 当使用地图服务 3时, 只能选择定位信息3. 在构造结构依赖关系图后, 利用每个服务度量指标计算集成模块可信性, 从而选择最佳集成方法.

图 1 地图服务结构依赖图

首先以定位信息1服务为例, 计算了基础实体可信性. 根据上述算法, 通过传统方法并归一化, 功能性0.97, 可用性0.95, 可靠性0.95, 效率性0.94, 可维护性0.93, 可重用性0.90. 利用评估实体开发过程的因素作为内部修正度量, 获得实体可信性. 如表1所示, 当Web服务适用不同可信性评估策略时, 采用不同可信性修正指标. 数据来自于多个实际软件开发项目, 由于软件过程因素不同, 其各自可信性是不同的. 该表通过总结各种软件开发案例所得, 并在系统运行过程中不断完善.

表 1 可信性条件概率表

策略一: 选取全部修正指标, 其联合概率可以根据可信性条件概率表来计算, $P\left( A \right) = 0.25$ , 服务可信时, 修正指标联合概率 $P\left( {A{\rm{|}}T} \right) = 0.32$ . 同时, 由式(7)得该时刻网络环境安全性值 ${T_{\rm {internet}}}$ 、资源可信值 ${T_{\rm{resource}}}$ 、部署设备可信值 ${T_{\rm{hardware}}}$ 分别为0.978, 0.954, 0.988, 由式(8)可得该服务可信值:

$\begin{array}{l} {P_{\rm{metrics}}} \\ \;\;\;\;= \frac{{0.32 \times \left( {0.97 \times 0.95 \times 0.95 \times 0.94 \times 0.93 \times 0.90} \right)}}{{0.25}} \times \frac{{0.987 + 0.954 + 0.988}}{3} \\ \;\;\;\;= 0.860 \end{array}$

策略二: 修正指标选取测试质量、编程规范性、研发经验, 此时 $P\left( A \right) = 0.45$ , $P\left( {A{\rm{|}}T} \right) = 0.32$ , 服务可信值 ${P_{\rm{metrics}}} = 0.945$ .

策略三: 修正指标选取测试质量、编程规范性、文档完善程度、项目进度管理, 此时 $P\left( A \right) = 0.39$ , $P\left( {A{\rm{|}}T} \right) = 0.31$ , 服务可信值 ${P_{\rm {metrics}}} = 0.845$ .

策略四: 不选取此类中任何指标, 即不进行修正操作, 此时, $P\left( A \right) = 0.09$ , $P\left( {A{\rm{|}}T} \right) = 0.11$ , 服务可信值 ${P_{\rm {metrics}}} = 0.821$ .

在所有需要的底层服务通过以上方法计算完成后, 便为上层服务可信性计算提供了前提条件. 通常来讲, 一个上层服务会与下层多个冗余服务相连接, 当一个相对底层的服务因某些因素不可用时, 可以将其切换到另一个可信性较高的服务, 以此可显著提高系统可信性. 因此在这种中断冗余结构中, 影响上层服务可信性的因素即为所有下层服务都不可用的概率. 以定位信息1的上层服务, 也就是地图服务1可信性计算为例, 由以上计算可知与其存在依赖关系的定位信息1与定位信息2的可信性分别0.860与0.936.

$\begin{array}{l} {P_{\rm{mapService1}}} \times (1 - \mathop \prod \limits_{i = 1}^n (1 - {P_{{\rm {locatingInformation}}i}}))\\ \;\;\;\;= 0.961 \times \left( {1 - \left( {1 - 0.860} \right) \times \left( {1 - 0.936} \right)} \right) = 0.952 \end{array}$

通过上述实际案例验证及分析, 该模型能够清晰客观地评估服务的可信性, 结果符合平台用户和企业生产需求状况, 并通过与蔡斯博[13] 提出的支持资源的可信框架对比发现, 在正面收集证据信息, 度量可信属性难以避免地面临着现实中某些证据难以收集, 可行性低的问题. 而徐传运[14]收集的数据主要来自软件测评, 相对单一片面. DTEIECM方法在动态可信性评估中考虑众多影响因素, 从开发、三方测评、用户反馈等层面采用了不同评估指标, 数据跟为全面, 提高了度量过程中的准确性. 其中修正指标有一定主观影响, 主要是由于每个服务单元都是由不同的第三方开发的, 因此差异性也比较大. 同时, 对于某个时刻复杂软件系统进行动态可信评估时, 其所处网络环境、数据资源等因素对整体可信性影响也非常重要, 因此在对下一时刻可信性评估时, 需要重新评估这些因素的影响程度, 将服务可信值变化客观地反映到QoS信息中, 并以动态更新后的值作为服务选择依据, 针对网络环境下Web动态可信性评估所提出的集成评估方法具有有效性和可行性.

4 结束语

为解决软件系统动态演化特性, 本文提出了一种网络环境下的Web服务可信性动态评估模型, 综合对实体可信性方面的评估与修正, 从多项属性和证据中计算出最终可信性结果. 评价体系基于其特点, 以用户服务实体事实作为客观评估的依据, 而非单纯地依赖服务代理商提供的数据, 克服了常规主观赋权法不可避免地受人为因素影响的不足, 为每个服务可信性评估提供了良好基础. 评价指标既包含了开发时期的模型分析、验证和测试等保障指标, 又考虑了与质量控制措施相关的修正指标和结合反馈值的环境指标, 克服传统模型中仅依靠静态指标方法的局限性.

由于需要对不同类型的类型指标进行度量, 并采用模糊理论推导信息熵, 以及贝叶斯推理结合基础指标和修正指标等概率计算, 不可避免的会带来更高的运算复杂度. Web服务相关技术的不断发展使网络中服务数量快速增长, 且存在大量功能相似的服务, 因此对每个原子服务进行可信性评估时, 如何在提高准确度的同时尽可能的降低应用成本是下一步工作的研究重点, 亟待探究. 这对于更加全面有效地对网络环境下的Web服务可信性进行评估具有重要意义.

参考文献
[1]
Wahab OA, Bentahar J, Otrok H, et al. A survey on trust and reputation models for Web services: Single, composite, and communities. Decision Support Systems, 2015, 74: 121-134. DOI:10.1016/j.dss.2015.04.009
[2]
Viriyasitavat W, Martin A. A survey of trust in workflows and relevant contexts. IEEE Communications Surveys & Tutorials, 2012, 14(3): 911-940.
[3]
Can AB, Bhargava B. SORT: A Self-ORganizing trust model for peer-to-peer systems. IEEE Transactions on Dependable and Secure Computing, 2013, 10(1): 14-27. DOI:10.1109/TDSC.2012.74
[4]
Liang XH, Lin XD, Shen XS. Enabling trustworthy service evaluation in service-oriented mobile social networks. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(2): 310-320. DOI:10.1109/TPDS.2013.37
[5]
Ding S, Yang SL, Zhang YT, et al. Combining QoS prediction and customer satisfaction estimation to solve cloud service trustworthiness evaluation problems. Knowledge-Based Systems, 2014, 56: 216-225. DOI:10.1016/j.knosys.2013.11.014
[6]
Ding S, Xia CY, Zhou KL, et al. Decision support for personalized cloud service selection through multi-attribute trustworthiness evaluation. PLoS One, 2014, 9(6): e97762. DOI:10.1371/journal.pone.0097762
[7]
Li WH, Bao T, Han L, et al. Evidence-driven quality evaluation model of collaboration software trustworthiness. Proceedings of the 2014 IEEE 18th International Conference on Computer Supported Cooperative Work in Design. Hsinchu, China. 2014. 65–70.
[8]
Fernández H, Tedeschi C, Priol T. A chemistry-inspired workflow management system for decentralizing workflow execution. IEEE Transactions on Services Computing, 2016, 9(2): 213-226. DOI:10.1109/TSC.2013.27
[9]
Liu FM, Wang L, Gao L, et al. A web service trust evaluation model based on small-world networks. Knowledge-Based Systems, 2014, 57: 161-167. DOI:10.1016/j.knosys.2013.12.015
[10]
Sim KM. Agent-based cloud computing. IEEE Transactions on Services Computing, 2012, 5(4): 564-577. DOI:10.1109/TSC.2011.52
[11]
Chen L, Tang J. Dynamic reliability for software system based on monitoring. Computer Systems & Applications, 2014, 23(6): 179-182.
[12]
Azarmi M, Bhargava B. An end-to-end dynamic trust framework for service-oriented architecture. 2017 IEEE 10th International Conference on Cloud Computing. Honolulu, HI, USA. 2017. 568–575.
[13]
蔡斯博, 邹艳珍, 邵凌霜, 等. 一种支持软件资源可信评估的框架. 软件学报, 2010, 21(2): 359-372.
[14]
徐传运, 杨丹, 张杨. 缺陷驱动的Web服务可信性度量模型. 计算机应用研究, 2011, 28(7): 2723-2725, 2733. DOI:10.3969/j.issn.1001-3695.2011.07.092