3.2.3 服务抽象层

3.2.3 服务抽象层

当车载终端用户需要一个功能相对复杂的服务而VANETs环境中其他节点又无法直接满足时, 该客户节点就会发出服务组合请求。 服务抽象层通过解析、 拆分服务组合请求, 将其映射为满足功能及非功能需求的逻辑组合方案, 生成抽象的服务功能图。 服务抽象层所要考虑的问题就是, 应该把具备何种功能的服务组件组合到一起, 既能满足用户所需组合服务的QoS要求,又能实现服务组合功能需求。

首先我们将服务抽象层所涉及的相关内容给出如下形式化说明。

定义3.6(服务组合请求):

一个服务组合请求可以表达为一个二元组Re= 〈Gf,Qtarget〉。其中Gf为功能图,Qtarget表示用户的QoS需求。

定义3.7(功能图Gf):

功能图Gf包含一系列功能Gf= [f1,f2,…,fm],fi(1≤i≤m) 表示依据用户功能需求拆分的各服务组件功能,这里我们假定Gf为线性功能图,每个功能fi-1(1≤i≤m+1) 的输出作为后继功能fi的输入,其依赖关系可表达为f1→f2→,…→fm

定义3.8(用户QoS需求Qtarget):

用户对于组合服务非功能属性的需求,Qtarget=[q1target,q2target,…qmtarget],其中qitarget表示非功能属性中第i维QoS属性,如时延、价格、可靠性等等。

事实上, 功能图完成了从用户需求到服务组件逻辑组合方案的映射, 如图3.4所示, 抽象服务层解析用户的服务组合请求, 将其映射为满足用户功能与非功能需求的服务组件逻辑组合方案,即功能图Gf。由于实现某特定功能的服务组件不唯一, 可能存在多种满足用户QoS需求的服务组合方案, 而如何从中挑选出具体的服务组合执行方案, 需要映射到相应的服务覆盖层进行选择。

图3.4 用户需求与功能图映射关系