移动边缘计算中基于用户移动性的QoS预测

部署运行你感兴趣的模型镜像

移动边缘计算中服务推荐的QoS预测

摘要

移动边缘计算是一种新兴技术,通过在每个边缘服务器部署的边缘服务器,为移动用户就近提供服务。移动边缘计算平台使应用开发者和内容提供商能够利用实时无线接入网络信息提供上下文感知服务(如服务推荐)。在服务推荐系统中,当移动设备或用户希望调用满足其服务质量(QoS)需求的服务时,服务质量(QoS)预测起着重要作用。然而,用户移动性(例如从一个边缘服务器转移到另一个边缘服务器)常常导致传统移动网络中的服务QoS预测值偏离实际值。遗憾的是,许多现有的服务推荐方法未能考虑用户移动性。本文提出了一种基于协同过滤并结合用户移动性的服务推荐方法。该方法首先计算用户或边缘服务器相似度,选择Top-K最相似邻居,进行服务QoS预测,进而实现服务推荐。我们基于上海电信数据集进行了实验以验证所提方法。实验结果表明,我们的方法能够显著提高移动边缘计算环境下服务推荐的准确性。

关键词 —移动边缘计算, 服务质量, 服务推荐, 边缘服务器相似性

1. 引言

移动边缘计算是一种新兴技术,可在移动用户附近提供Web与云服务。传统的电信网络运营商执行流量控制(数据包的转发和过滤),而在移动边缘计算中,边缘服务器也被部署在每个边缘节点上。它还使应用开发者和内容提供商能够利用实时无线接入网络信息,基于用户上下文信息提供QoS感知的服务推荐[1],[2]。在移动边缘计算环境中,边缘服务器部署在移动客户端与服务器之间,靠近移动设备的位置。例如,当移动Web浏览器发送请求访问一个URL页面时,服务器的响应首先被边缘服务器拦截,因为它可以获取设备信息并分析用户行为,从而改进服务[1]。随着移动设备的普及,大量运行在移动设备上的移动服务被开发出来,并且经常由访问移动边缘计算中边缘服务器的用户调用[3]。因此,了解哪些移动服务具有更好的QoS值对于性能优化至关重要。那么,如何预测QoS值在移动边缘计算中,服务被调用前准确预测是服务推荐的一个非常重要的问题。

众所周知,服务的QoS数据波动性显著,且移动设备经常在移动环境中漫游[4],[5]。由于移动设备的移动性,当移动设备移动到另一个边缘服务器时,其在原边缘服务器上的移动服务历史QoS数据将失效,而新边缘服务器中的服务QoS数据为空。为了便于解释移动用户所连接边缘服务器的变化,我们提出了两种边缘服务器的定义:

定义1:旧边缘服务器 – 这指的是活跃用户在移出其无线覆盖范围之前,从中采用服务的边缘服务器。

定义2:新边缘服务器 – 这指的是活跃用户从旧边缘服务器的无线覆盖范围移动后所连接的当前边缘服务器。活跃用户通过访问此新边缘服务器来调用服务。

尽管在传统互联网环境中已提出了许多服务质量感知的服务推荐方法[6],[7],[8],但由于存在两个会降低服务推荐准确性的问 题,这些方法在移动边缘计算中往往无法实现准确的服务推荐:

1) 服务质量数据的波动性 。一个活跃用户多次调用同一服务,每次的QoS值都可能不同。例如,一个名为萨姆的活跃用户在其手机上观看电影;由于QoS数据的波动性,电影有时播放流畅,有时却会卡顿。上述现象在现实生活中十分常见。

2) 活跃用户的移动性 。活跃用户经常移动,在移动边缘计算中,边缘服务器会根据活跃用户的位置而变化[9]。假设萨姆经常从旧边缘服务器使用服务。当他在手机上使用某个视频服务时,如果运行该服务的主机服务器部署在旧边缘服务器上,则其平均响应时间为100毫秒。当萨姆漫游到新边缘服务器时,如果该视频服务仍然被调用,传统的服务推荐方法通常会监控其在旧边缘服务器上的历史QoS数据,得到的响应时间仍为100毫秒。然而,由于萨姆的位置发生了变化,其实际响应时间将会不同。

基于对现有服务推荐方法(如 [10], [11], [8],和 [12], [13], )的研究和实验,我们发现由于用户移动性,这些方法在移动边缘计算中导致了较大的误差。用户移动性导致用户位置变化和数据波动性。这些较大误差的具体引入原因如下:

1) 用户位置的移动性 。在移动边缘计算中,用户根据其动态变化的位置通过访问不同的边缘服务器来调用服务。由于用户移动性,边缘服务器切换将频繁发生[4],[5]。因此,当用户位置发生显著变化时,用户在旧边缘服务器上的历史QoS数据可能失效,而在新边缘服务器上的用户QoS数据则缺失。因此,应考虑用户的移动性,并且学习如何从新边缘服务器预测用户QoS数据显得尤为重要。

2) 移动网络的不稳定性 。由于移动环境的波动性,若仅使用一次调用相同服务的QoS数据,所得到的QoS预测值无法反映QoS的实际状况。因此,基于单次QoS数据的服务QoS预测值将产生较大的误差。

3) 同一服务在不同调用时间的不稳定性 。同一用户在不同时间调用相同服务所产生的QoS数据具有波动性。基于原始QoS数据计算用户之间的相似度并不可靠。如果不对接原始QoS数据进行预处理,在计算用户之间的相似度时将会导致较大的误差。

与传统的服务推荐方法不同,我们首先通过降低上述三个因素的影响来预测QoS值,然后基于协同过滤进行QoS预测,并结合用户移动性做出服务推荐。我们的方法受到以下两个案例的启发:即当用户在新边缘服务器漫游时,如果该新边缘服务器中存在调用该服务的用户,则我们可以基于这些用户的历史数据预测QoS值;否则,我们将使用其他边缘服务器上用户调用该服务的历史数据进行预测。最后,我们在真实环境中进行了多个实验,以验证我们的预测准确率。

本文的其余部分组织如下:第2节展示我们的相关工作,第3节介绍一个动机场景。第4节提出基于用户相似性和边缘服务器相似性的我们的服务推荐方法。第5节描述实验实现和性能比较。第6节给出我们论文的结论。

2. 相关工作

我们回顾了许多基于协同过滤算法的Web服务推荐研究,例如[14],[8],[15],[16],[7],和[17]。该领域存在一些经典的研究,包括[11]和[18]。例如,Shao等人[11]提出了一种基于协同过滤的方法,通过相似性挖掘并根据用户的历史体验进行预测。该方法包含两个步骤:首先,他们利用用户的历史QoS数据计算每两个消费者之间的相似度;然后,基于用户相似性预测消费者对未使用服务的QoS。他们提出了一种综合考虑用户相似性和用户历史服务QoS体验的用户相似性预测方法,这对后续工作非常重要。

关于QoS预测的研究。郑等人[18]提出了一种名为WSRec的Web服务推荐系统,用于从真实环境中收集Web服务QoS信息。基于WSRec收集的QoS数据,他们提出了一种有效且新颖的混合协同过滤算法来预测Web服务QoS值。该方法在预测QoS值时同时考虑了用户相似性和项目相似性,以提高预测准确率。上述研究提出了多种方法[10],[19],[20],[15]。这些研究具有重要意义,并在提升服务推荐准确性方面投入了大量努力。然而,这些方法仅适用于预测传统互联网环境中的QoS,在移动边缘计算中会导致较大偏差或失效。

为了解决上述问题,许多研究已在传统移动网络中展开。这些研究考虑了移动位置[12],[8],[21], [22],[23],[21], [24], [25],[26],[27]移动服务或移动网络,以适应移动互联网环境。针对移动位置,陈等人[12]提出了一种基于位置的Web服务推荐方法,该方法利用Web服务的历史QoS值和用户位置进行个性化QoS预测。在他们的论文中,提出了“相似区域”的概念,并通过用户的IP地址检索近似的用户位置。他们选择最相似的区域来预测QoS值,但相似区域较少,且该方法无法很好地适应移动互联网环境。对于移动推荐,郑等人[21]采用张量表示对用户位置‐活动关系进行建模,并提出一种正则化张量和矩阵分解方法,以解决稀疏数据问题,从而适应移动信息检索。他们获取大量用户的数据,并应用协同过滤来发现不同位置下的志趣相投的用户和模式相似的活动,但该方法仅考虑了用户的位置,未考虑服务的位置。桑巴等人[27]提出了一种基于机器学习的方法,利用与用户上下文相关的数据(如无线信道质量、速度和与边缘服务器的距离等)来预测吞吐量。该方法考虑了移动网络,但并未给出QoS预测的具体算法。

上述提到的有用方法将能够在传统互联网上为Web服务提供准确的服务推荐。然而,在移动边缘计算中,这些方法会产生较大偏差或失效。为解决此问题,我们提出了一种考虑用户位置和数据波动性的移动边缘计算方法。

3. 动机

假设萨姆经常通过访问边缘服务器b1,在平均响应时间(例如,一个QoS属性)为100毫秒的情况下,在手机上使用一项服务。如图1所示,萨姆现在移动到另一个边缘服务器b2,并希望使用相同的服务。那么,通过访问边缘服务器b2来预测该服务的QoS值就成为一个重要的问题。如果预测值小于100毫秒,则表示萨姆仍可继续使用该服务;否则该服务将被迁移到边缘服务器b2或推荐其他服务。

示意图0

为了解决该问题,传统方法[11],[18],[10],[15],[28],[29]通常会监控萨姆的边缘服务器b1的历史QoS数据,获得的响应时间将保持在100毫秒。然而,萨姆访问的边缘服务器以及支持萨姆的移动网络已经发生变化。如图1所示,萨姆通过访问边缘服务器b2而不是边缘服务器b1来调用服务;因此,响应时间必然不同。

我们认识到,某些QoS属性(如响应时间和吞吐量)与用户所在位置附近的边缘服务器的网络环境密切相关[12],[27]。在边缘服务器b2上,许多其他人会调用服务,萨姆可以向那些调用与其相同服务的人询问以获取响应时间。然而,如果没有人调用过相同的服务,我们该如何为萨姆预测QoS值?

我们提出的问题动机是在移动边缘计算中进行更准确的QoS预测以实现服务推荐。

为实现这一目标,必须解决若干挑战:1)在考虑边缘服务器信息的情况下,如何重新定义协同过滤(collaborative filtering)算法以适应QoS预测?2)如何在移动边缘计算中进行服务推荐?

4. 我们的方法

受上述分析的启发,我们提出了一种基于协同过滤(CF)算法的方法,通过减弱QoS数据的波动性并考虑用户移动性来预测用户的QoS数据。在我们的方法中,基于归一化后的QoS数据,我们首先计算用户或边缘服务器的相似度。如果活跃用户调用的服务存在于新边缘服务器的QoS数据中,则计算用户之间的相似性;否则,应为该活跃用户寻找其他相似的边缘服务器,因此我们提出了一种利用皮尔逊相关系数(PCC)计算边缘服务器之间相似度的算法。然后,我们选择Top-K的用户或边缘服务器。最后,基于我们的方法预测活跃用户的QoS值,以实现服务推荐。

示意图1

如图2所示,我们提出的方法包含以下三个步骤:
1) 相似度计算 。此步骤包含用户和边缘服务器相似度计算,用于计算活跃用户与其他用户之间的相似度,或计算边缘服务器与其他边缘服务器的相似性,从而为活跃用户获得相似用户或相似边缘服务器集合。
2) QoS预测 。通过相似度邻居选择筛选出相似用户或边缘服务器后,我们可以预测QoS值。
3) 服务推荐 。基于预测的QoS值,我们进行服务推荐以满足用户需求。

4.1 相似度计算

随着4G/5G网络的发展,越来越多的边缘服务器被建立,用户在移动网络环境中移动[30]。因此,当我们预测活跃用户调用服务的QoS数据时,必须考虑活跃用户当前所处的边缘服务器。基于活跃用户调用服务的情况,我们可以将情形分为以下两种:

情况1 . 活跃用户u调用的服务s在新边缘服务器中具有历史QoS数据,即处于新边缘服务器控制下的用户已采用与活跃用户u相同的服务s;因此,服务s的历史QoS数据已存储在新边缘服务器中。

情况2 . 活跃用户u调用的服务s在新边缘服务器中没有历史QoS数据,即新边缘服务器控制下的用户未采用与活跃用户u相同的服务s;因此,新边缘服务器中不存在关于服务s的历史QoS数据。

许多推荐系统[31],[32]已使用皮尔逊相关系数[33],[34]来计算相似度,因为皮尔逊相关系数易于实现且能实现高准确率。在下一节中,我们将使用皮尔逊相关系数来计算两个用户以及两个边缘服务器之间的相似度。

4.1.1 用户相似度计算

在本文中,设 $t_{u,s,q}$ 表示用户第 $t$ 次(=1,2,3,…)重复调用服务 $s$(=1,2,3,…)时的历史QoS值,$q’_{t,u,s}$ 表示经过最小‐最大归一化后的QoS值[35]。

对于情况1所述的情况,活跃用户在旧边缘服务器中的服务质量历史记录无效,无法用于用户相似性计算。然而,我们可以使用活跃用户u采用的同一服务的历史QoS数据。我们基于皮尔逊相关系数(PCC),利用以下公式计算在新边缘服务器控制下的活跃用户与其他用户的相似度:

$$
\text{sim} {u,v} = \frac{\sum {t=1}^{T} (q’ {t,u,s} - E {u,s})(q’ {t,v,s} - E {v,s})}{\sqrt{\sum_{t=1}^{T} (q’ {t,u,s} - E {u,s})^2} \sqrt{\sum_{t=1}^{T} (q’ {t,v,s} - E {v,s})^2}}
$$

$$
E_{u,s} = \frac{1}{T} \sum_{t=1}^{T} q’_{t,u,s}
$$

$$
q’ {t,u,s} = \frac{q {t,u,s} - Q_{\text{min},u,s}}{Q_{\text{max},u,s} - Q_{\text{min},u,s}}
$$

其中 $\text{sim} {u,v}$ 表示用户 $u$ 与用户 $v$ 在相同服务($u,v \in S_u \cap S_v$)上的相似度,该服务被用户 $u$ 和用户 $v$ 共同调用。$S$ 为相同调用服务总数,$E {u,s}$ 为用户 $u$ 调用服务 $s$ 的平均值。$q’ {t,u,s}$ 是对历史QoS值进行最小最大归一化后的QoS值。我们使用 $Q {u,s} = (q_{1,u,s}, q_{2,u,s}, …, q_{n,u,s})$ 表示用户 $u$ 调用服务 $s$ $n$ 次的表示。$Q_{\text{min},u,s}$ 和 $Q_{\text{max},u,s}$ 分别表示 $Q_{u,s}$ 的最小和最大QoS值。

4.1.2 边缘服务器相似度计算

对于情况2中描述的情形,即活跃用户调用的服务在新边缘服务器中没有历史QoS数据时,我们必须寻找与旧边缘服务器相似的边缘服务器。

基于皮尔逊相关系数(PCC),我们提出了一种算法,用于为活跃用户访问的新边缘服务器寻找相似的边缘服务器。该算法类似于用户相似度计算,不同之处在于边缘服务器相似度计算使用的是边缘服务器之间的相似性,而非服务用户之间的相似性。边缘服务器 $b_1$ 与边缘服务器 $b_2$ 之间的相似度计算可通过以下公式进行:

$$
\text{sim} {b_1,b_2} = \frac{\sum {u=1}^{U} (P_{u,b_1,s} - E_{b_1,s})(P_{u,b_2,s} - E_{b_2,s})}{\sqrt{\sum_{u=1}^{U} (P_{u,b_1,s} - E_{b_1,s})^2} \sqrt{\sum_{u=1}^{U} (P_{u,b_2,s} - E_{b_2,s})^2}}
$$

$$
P_{u,b,s} = \frac{1}{T} \sum_{t=1}^{T} q’_{t,u,s}
$$

$$
E_{b,s} = \frac{1}{U} \sum_{u=1}^{U} P_{u,b,s}
$$

其中 $\text{sim} {b_1,b_2}$ 是边缘服务器 $b_1$ 与边缘服务器 $b_2$ 之间的相似度。$P {u,b,s}$ 表示活跃用户 $u$ 在边缘服务器 $b$ 中调用服务 $s$ 的平均QoS值。$E_{b,s}$ 表示在边缘服务器中调用的服务的平均QoS值,其中 $S$ 表示在边缘服务器 $b_1$ 和 $b_2$ 中调用的相同服务总数。

4.1.3 显著性加权

如果两个用户或边缘服务器在少数相同调用的服务上具有相似的服务质量(QoS)历史,则使用皮尔逊相关系数(PCC)会高估服务用户或边缘服务器的相似度[10],[36]。为解决此问题,我们引入显著性权重,以降低少量相似调用服务对相似度的影响。以下是定义的不同服务用户之间相似度计算的增强型皮尔逊相关系数(PCC)公式:

$$
\text{sim}’ {u,v} = \text{sim} {u,v} \times \frac{2 \times |S_u \cap S_v|}{|S_u| + |S_v|}
$$

其中 $\text{sim}’_{u,v}$ 表示新的相似度值,$|S_u \cap S_v|$ 表示两个用户共同调用的服务数量,而 $|S_u|$ 和 $|S_v|$ 分别表示用户 $u$ 和用户 $v$ 调用的服务数量。

类似于用户相似度计算,不同边缘服务器之间的增强型皮尔逊相关系数定义如下:

$$
\text{sim}’ {b_1,b_2} = \text{sim} {b_1,b_2} \times \frac{2 \times |S_{b_1} \cap S_{b_2}|}{|S_{b_1}| + |S_{b_2}|}
$$

其中 $|S_{b_1} \cap S_{b_2}|$ 表示在边缘服务器 $b_1$ 和边缘服务器 $b_2$ 上均被调用的相同调用服务总数,而 $|S_{b_1}|$ 和 $|S_{b_2}|$ 分别表示在边缘服务器 $b_1$ 和边缘服务器 $b_2$ 上调用的服务数量。

4.2 QoS预测

基于上述用户和边缘服务器相似度计算,我们分别提出了一种基于用户的相似性选择和基于距离的相似性选择方法。然后,我们预测活跃用户的服务QoS值。

4.2.1 相似邻居选择

准确预测QoS值的一个重要步骤是选择相似邻居,因为不相似的邻居会降低预测准确率。我们将分别介绍情况1和情况2的两种算法。

1) 基于用户的相似性选择

对于活跃用户在情况1中的情形,我们必须为用户选择Top-K个最相似的用户。我们使用增强型Top-K算法根据皮尔逊相关系数相似性对用户进行排序,并选取Top-K个最相似的用户来进行QoS值预测。与传统的Top-K算法不同,增强型Top-K算法会排除皮尔逊相关系数相似性小于或等于0的用户。

用户的前K个相似用户集是

$$
S(u) = {u_1, u_2, …, u_i, …, u_K}, \quad i = 1,2,…,K
$$

其中 $u_i$ 表示用户的相似用户的序号。增强的基于用户的Top-K集合可通过以下公式求得:

$$
S’(u) = {u_i \in S(u), \text{sim}’_{u,u_i} > 0, u_i \neq u}
$$

2) 基于距离的相似性选择

对于活跃用户处于情况2的情形,我们应该为活跃用户所访问的新边缘服务器寻找相似的边缘服务器。每个边缘服务器都有一个无线覆盖区域,距离不能过大,否则生成的区域可能包含噪声,从而降低预测性能。

受此情况的启发,我们提出了一种基于距离的增强型Top-K选择策略。该策略(即公式11)考虑了周围的边缘服务器分布密度。我们定义一个参数 $\lambda$,用于表示其他边缘服务器与之之间的距离,并在距离 $\lambda$ 范围内为选择相似的边缘服务器。

根据上述分析,可以通过以下公式找到基于距离的相似边缘服务器集合:

$$
S(b) = {b_1, b_2, …, b_i, …, b_B}, \quad d(b, b_i) < \lambda
$$

其中,$b_i$ 表示边缘服务器 $b$ 的相似边缘服务器的序号,$B$ 表示在 $\lambda$ 范围内边缘服务器 $b$ 的总数,相关内容将在第4.5节中详细分析。$d(b, b_i)$ 表示基于半正矢[37]计算的大圆距离得到的边缘服务器 $b$ 与 $b_i$ 之间的距离。我们使用典型的地理距离算法[38]来计算该距离,其中边缘服务器 $b$ 与 $b_i$ 之间的距离 $d(b, b_i)$ 由其(纬度,经度)坐标 $(\alpha_1, \sigma_1)$ 和 $(\alpha_2, \sigma_2)$ 确定。

$$
d(b, b_i) = 2R \arctan\left(\sqrt{\theta}\right)
$$

$$
\theta = \sin^2\left(\frac{\sigma_2 - \sigma_1}{2}\right) + \cos(\alpha_1)\cos(\alpha_2)\sin^2\left(\frac{\sigma_2 - \sigma_1}{2}\right)
$$

其中 $\theta$ 是两个边缘服务器之间的中心角,$R$ 为地球半径,我们假设为6371公里。

基于上述内容,我们为选择Top-K最相似边缘服务器。类似于基于用户的方法,$b$ 的Top-K相似边缘服务器集合可通过以下公式获得:

$$
S’(b) = {b_i \in S(b), \text{sim}’_{b,b_i} > 0, b_i \neq b}
$$

因此,具有负相关性的不相似邻居以及交集为空的邻居将从相似邻居集合中剔除。

4.2.2 活跃用户的QoS预测

基于每对用户与边缘服务器之间的相似性以及最相似的用户或边缘服务器,我们最终使用算法1预测活跃用户的QoS值。

算法1:QoS预测算法

输入:用户 $u$;服务 $s$;边缘服务器 $b$;QoS数据 $ds$

输出:预测QoS值

BEGIN:

  1. 将边缘服务器 $b$ 来自 $ds$ 的QoS数据记为 $b_ds$
  2. //将情况划分为情况1和情况2
  3. 服务是否存在 == false;
  4. WHILE $i < b_ds$.length()
  5. IF 服务(i) == $s$;
  6. 服务是否存在 = true;
  7. BREAK;
  8. $i$++;
  9. RETURN 服务是否存在;
  10. //为用户 $u$ 寻找相似用户
  11. 情况1:IF 服务是否存在 == true;
  12. 相似用户集 = null;
  13. WHILE $i < b_ds$.length()
  14. IF 用户(i)通过 $b$ 调用了 $s$
  15. 相似用户集.add(用户(i));
  16. $i$++;
  17. Top_K(相似用户集);
  18. RETURN 预测QoS值;
  19. //为 $b$ 寻找相似的边缘服务器
  20. 情况2:IF 服务是否存在 == false;
  21. 相似的边缘服务器 == null;
  22. WHILE $i < ds$.length
  23. IF 任意用户通过 $b(i)$ 调用了 $s$
  24. 相似的边缘服务器集.add($b(i)$);
  25. $i$++;
  26. 最佳边缘服务器集 == null;
  27. WHILE $i <$ 相似的边缘服务器集.length()
  28. //在距离范围内的条件下寻找最佳的相似边缘服务器。IF 距离($b$, 相似的边缘服务器集(i)) < $\lambda$
  29. 最佳边缘服务器集.add(相似的边缘服务器集(i));
  30. $i$++;
  31. Top_K(边缘服务器集);
  32. RETURN 预测QoS值;
    END

基于算法1,无论活跃用户调用的服务是否存在新边缘服务器的QoS历史数据中,我们都按如下方式预测活跃用户的服务质量:

a) 基于用户相似性 ,我们使用以下公式预测活跃用户 $u$ 的QoS值:

$$
\text{pred} {\text{user}}(u,s) = E_u + \frac{\sum {u_i \in S’(u)} \text{sim}’ {u,u_i} (E {u_i} - \bar{E} {u_i})}{\sum {u_i \in S’(u)} |\text{sim}’_{u,u_i}|}
$$

$$
E_u = \frac{1}{S} \sum_{s=1}^{S} q_{u,s}
$$

其中 $E_u$ 是活跃用户 $u$ 调用的不同服务的QoS值的平均值。$\bar{E}_{u_i}$ 表示相似用户 $u_i$ 调用的不同服务的平均QoS值,而 $S$ 是用户 $u_i$ 调用的服务总数。

b) 基于边缘服务器相似性 ,活跃用户调用的边缘服务器没有历史QoS数据。因此,我们为新边缘服务器找到Top-K相似边缘服务器。由于活跃用户在旧边缘服务器中的历史QoS值无法用于预测,基于Top-K相似边缘服务器,我们提出一种方法来预测活跃用户调用服务的QoS值,具体如下:

$$
\text{pred} {\text{server}}(u,s) = \frac{\sum {b_i \in S’(b)} \text{sim}’ {b,b_i} E {b_i,s}}{\sum_{b_i \in S’(b)} |\text{sim}’_{b,b_i}|}
$$

$$
E_{b_i,s} = \frac{1}{U} \sum_{u=1}^{U} P_{u,b_i,s}
$$

其中 $E_{b_i,s}$ 表示在边缘服务器 $b_i$ 上调用的服务的服务质量期望。

4.3 服务推荐

基于活跃用户上述预测的服务QoS值,当服务能够满足该活跃用户的QoS要求时,移动边缘计算平台建议该活跃用户仍可从旧边缘服务器使用该服务;否则,平台建议该活跃用户使用其他服务或将服务迁移到新边缘服务器。

5. 实验

在本节中,我们进行了实验以验证我们方法的性能,并将结果与其他协同过滤方法进行比较。我们的实验旨在:1)验证我们所提出方法的合理性;2)将我们的方法与其他协同过滤方法进行比较;3)分析我们方法的参数以实现最佳性能。

5.1 实验设置

我们采用服务质量数据集来验证我们的预测方法,并使用eclipse 4.5和JDK 1.8进行实验。基于先前的研究工作,我们的实验主要包含两部分:1)将我们的方法与其他已知方法进行比较;2)研究参数 $\lambda$ 的最优值以及参数Top-K在我们的方法中的影响。

5.2 数据集

5.2.1 数据集描述

在我们的实验中,采用了一个混合数据集,该数据集是上海电信和WSDream数据集的结合[10]。上海电信数据集包含了3233个基站上6357次服务调用的互联网信息。请注意,在后续实验中我们将基站称为边缘服务器。图3清晰地展示了上海电信边缘服务器的分布情况。WSDream数据集描述了真实世界中的QoS评估结果,包括142个用户对4500个Web服务在64次调用中获得的响应时间和吞吐量值,这些数据以142×4500用户‐服务矩阵的形式呈现。

示意图2

图3显示了3233个边缘服务器的分布。数字表示红色圆圈范围内的边缘服务器数量。图3表明,上海的边缘服务器分布密集。

对于调用次数T S T 数据集,Ta 1以用户27的互联网信息为例。对于边缘服务器106,用户27调用了服务211次。然而,用户27在边缘服务器214仅调用服务1次。用户27总共在18个边缘服务器上调用了服务。表1显示,一个用户通过访问不同的边缘服务器来调用服务,并且在同一边缘服务器上多次调用服务。

用户ID 27
边缘服务器ID 211 212 152 107 230 227 106 214 215 222 223 97 199 221 224 108 152 121
调用次数 2 9 2 3 2 2 211 1 1 1 13 3 1 126 2 2 8 2

表1. 用户27的上海电信互联网信息

用户的访问情况表明,边缘服务器之间的切换非常频繁。

接下来,我们通过考虑WSDream数据集和上海电信数据集的特征,将这两个数据集进行混合,即使用WSDream数据集中的真实响应时间作为用户通过访问边缘服务器调用服务时的响应时间 上海电信数据集中的服务器。

5.2.2 数据集混合

由于用户移动性,我们必须考虑活跃用户所访问的边缘服务器位置。为了适应移动网络环境,我们需要一个通过用户访问边缘服务器获得的服务QoS数据的数据集。然而,目前没有数据集能满足我们的要求;如果数据集是通过模拟实验获取的,则无法适应真实世界的移动网络环境。

继许多关于数据融合 [39],[40],[41] 的研究之后,本文在本节中提出了一种将QoS数据与边缘服务器数据进行混合的方法。QoS数据来自WSDream数据集[10],并已进行归一化以降低波动性。边缘服务器数据来源于上海电信,包含6358名用户和3233个边缘服务器。每位用户都有一个唯一ID和多个边缘服务器;每个边缘服务器都有详细位置。

基于对两个数据集的上述分析,我们按照以下规则将QoS数据填充到边缘服务器数据中:

1) 在上海电信数据集中,同一用户ID对应一个边缘服务器的情况。我们从WSDream数据集中选取一位用户对相同服务的QoS数据;
2) 若边缘服务器发生变化,则从WSDream数据集中选取同一位用户对另一项服务的QoS数据;
3) 若用户ID发生变化,则从WSDream数据集中选取另一位用户的QoS数据。

根据上述数据混合规则,我们获得了一个新的混合数据集,该数据集包含QoS数据和边缘服务器位置。

5.3 准确性指标

Mean绝对误差(MAE)和均方根误差(RMSE)通常用于衡量模型或估计器预测值与真实值之间的差异。我们采用平均绝对误差和均方根误差来衡量预测准确性,并通过与其他方法进行比较,评估我们方法的准确性。平均绝对误差定义如下:

$$
\text{MAE} = \frac{\sum |P_{u,s} - P’_{u,s}|}{N}
$$

其中,$P_{u,s}$ 是预测的QoS值,而 $P’_{u,s}$ 表示活跃用户 $u$ 调用的服务 $s$ 的真实QoS值。

均方根误差定义如下:

$$
\text{RMSE} = \sqrt{\frac{\sum (P_{u,s} - P’_{u,s})^2}{N}}
$$

其中 $N$ 为预测值数量。平均绝对误差和均方根误差的值越小,预测越准确。

5.4 性能比较

我们将我们的方法与其他方法的性能进行比较。其他方法如下:

1) UMEAN :采用当前服务用户在其他Web服务上的平均QoS性能;
2) IMEAN :采用其他服务用户观察到的Web服务的平均QoS性能;
3) UPCC :基于用户的PCC预测算法;利用相似用户进行服务推荐 [42],[11];
4) IPCC :基于项目的PCC预测算法;利用相似Web服务进行服务推荐 [31];
5) WSRec :WSRec [10] 结合基于用户和基于项目的方法来预测QoS值以实现服务推荐。

在本实验中,我们从数据集中随机选择一个活跃用户,根据响应时间进行服务推荐,并将我们的方法与其他方法进行比较。实验结果如表2所示。

表2显示,随着用户‐服务矩阵密度从10%增加到50%,我们方法的平均绝对误差和均方根误差值逐渐减小,这是因为随着数据量的增加,用户或边缘服务器之间的相似性变得更加稳定。当矩阵密度设置为10%或20%时,我们方法的平均绝对误差和均方根误差值略小于其他方法。因此,当矩阵密度较稀疏时,我们方法的准确性会下降。

当矩阵密度增加到50%时,平均绝对误差和均方根误差的值小于其他方法,表明通过增加矩阵密度可以提高预测准确率。因此,我们的方法在响应时间方面比所有其他方法更准确,因为其他方法无法考虑波动性和移动性,而这些都是适应移动边缘计算环境所必需的。

方法 矩阵密度=10% MAE / RMSE 矩阵密度=20% MAE / RMSE 矩阵密度=50% MAE / RMSE
响应时间用户均值 0.8783 / 1.8531 0.8699 / 1.8642 0.8433 / 1.8478
项目均值 0.7004 / 1.5593 0.6805 / 1.5305 0.6625 / 1.5165
UPCC 0.5866 / 1.3580 0.5197 / 1.2751 0.3995 / 1.1554
IPCC 0.6403 / 1.3766 0.5189 / 1.2669 0.3680 / 1.1913
WSRec 0.5431 / 1.2351 0.4987 / 1.1254 0.4885 / 1.0993
本文方法 0.5213 / 1.1896 0.4826 / 1.0247 0.3556 / 0.9783

表2. 准确性比较

5.5 参数 $\lambda$ 的影响

5.5.1 更小的 $\lambda$ 是否更好?

在本节中,我们使用谷歌地图API(即EasyMapMaker)来展示边缘服务器分布密度,以分析相似边缘服务器之间的更优拟合距离。EasyMapMaker可将Excel或其他电子表格数据映射到谷歌地图上,避免了手动在地图上标出多个位置的繁琐过程。我们将列表中的所有边缘服务器数据应用到地图上。图4展示了边缘服务器分布密度基于边缘服务器之间不同距离的边缘服务器。

我们必须定义边界以选择相似的边缘服务器,因为最大或最小距离都不合适。从图4可以看出,$\lambda$ 并非越小越好;我们可以通过分析边缘服务器分布密度来找到更合适的边界。为了计算最优的 $\lambda$,我们设计了以下实验。

(a) 边缘服务器分布密度(比例尺:1.5:1000)。地图比例尺为1.5:1000(即地图上1.5厘米代表地面1000米),由于距离较大,分布更密集。然而,较大的距离可以利用相似度较低的边缘服务器进行预测。因此,我们可以将1公里视为上边界。

(b) 边缘服务器分布密度(比例尺:1.5:500)。地图比例尺为1.5:500。分布变得稀疏,但我们仍能明显发现类似的边缘服务器集群。因此,我们将500米视为参数分析的中间边界。

(c) 边缘服务器分布密度比例尺(scale: 1.5:200)。地图比例尺为1.5:200。我们可以根据边缘服务器之间的距离找到附近的边缘服务器。

(d) 边缘服务器分布密度比例尺(比例尺:1.5:100)。地图比例尺为1.5:100。我们可以发现少数附近的边缘服务器。因此,我们将200米视为较低的边界。

示意图3

5.5.2 $\lambda$ 参数的最优设置

为了研究情况2中参数 $\lambda$ 的最优值,即提供相对准确推荐所需的相似边缘服务器数量,我们一次针对一个活跃用户的单个边缘服务器进行研究。

我们推测最优的 $\lambda$ 与相似边缘服务器密度分布相关。因此,在给出推荐之前,我们首先研究活跃用户的相似边缘服务器分布情况,并观察相似边缘服务器与该活跃用户所在边缘服务器之间的距离。表3展示了从数据集中随机选取的三位活跃用户的结果。每位活跃用户均处于某个边缘服务器的覆盖范围内,表3中的用户ID表示混合数据集中的id。对于三个活跃用户中的每一个,我们计算在不同距离范围内存在多少个相似的边缘服务器。

用户ID 相似边缘服务器之间的距离范围(公里)
5
7 267
29 613
132 653

表3. 相似边缘服务器密度分布

表3显示,距离范围越大,相似的边缘服务器数量越多。同样,较小的距离范围意味着更少的站点。当距离范围小于0.2公里时,相似的边缘服务器数量少于2个。使用不相似或最少的相似边缘服务器来预测缺失值将显著降低预测准确率。因此,我们针对一个活跃用户在0.2公里至1公里范围内进行预测,以考察哪个距离范围能提供最准确的服务推荐。

从图5a和图5d可以看出,用户7最准确的预测来自 $\lambda = 900$ m。当距离小于1公里时,用户7有12个相似边缘服务器。因此,用户7的相似边缘服务器数量少于12个,这有助于提高预测准确率。

从图5b和图5e可以看出,用户29最准确的预测来自 $\lambda = 600$ m。用户29有29个相似的边缘服务器,当距离小于1公里时涉及1公里;当距离小于0.5公里时,涉及9个边缘服务器。因此,对预测准确率有贡献的相似边缘服务器数量略大于9。

当距离小于1公里时,用户132有25个相似的边缘服务器,最准确的预测来自 $\lambda = 300$ m(见图5c和图5f)。

结合表3和图5,我们可以得到一个近似值,小于10。

示意图4

图5和表3表明,最优距离由相似边缘服务器密度分布决定。如果分布更密集,则距离会更小。对于不同的活跃用户,最优 $\lambda$ 值也不同。在我们的混合数据集中,将 $\lambda$ 设置为包含约10个相似边缘服务器时,可实现高性能。

5.6 增强的Top-K的影响

我们研究了增强的Top-K在情况1中的影响,即使用增强型Top-K算法时,将Top-K相似邻居中具有负PCC值的不相似用户排除。

我们对随机选择的三位活跃用户的两个版本进行了实验,其中一个版本采用了增强的Top-K,而另一个版本没有采用。例如,图6显示,随着服务用户数量(即给定数量)的增加,我们采用增强的Top-K的方法在响应时间上优于未采用增强的Top-K的方法。

我们的实验将Top-K设置为10。图6显示,用户19、用户56和用户176在没有使用增强的Top-K时的预测值波动较大,因为它们可能包含负相似用户来进行预测,这将大大降低预测准确率。

图6a显示,当给定数量增加时,两个版本在平均绝对误差上的差异减小;当给定数量设置为35时,两个版本几乎重叠。

图6b和图6c显示了与图6a相同的趋势。然而,当用户56的给定数量设置为25,用户176的给定数量设置为35时,两个版本之间的差异减少到0。因此,在我们的方法中,可以根据不同的活跃用户将Top-K设置为较大的值以获得最优性能。

示意图5

6. 结论与未来工作

与基于QoS预测的传统服务推荐不同,我们的方法考虑了用户移动性和数据波动性,以适应移动边缘计算环境。基于一个真实世界的混合数据集,我们的实验结果表明,在移动边缘计算中,预测准确率优于其他方法。

在本文中,我们的方法首先根据用户位置的变化计算用户或边缘服务器相似性,选择Top-K最相似邻居以降低数据波动性,最后基于QoS预测进行服务推荐。

尽管我们的方法提高了移动边缘计算中的服务推荐准确性,但仍存在一些局限性:1)当矩阵密度低于10%时,我们方法的预测准确率会下降。2)当边缘服务器的分布密度较稀疏时,边缘服务器之间的相似度计算可能会产生较大误差。因此,我们的未来工作将致力于解决这两个局限性。我们将考虑与用户移动性预测相关的预见性网络模型[43]。例如,在未来工作中,将预测性迁移模型引入预见性网络中,可能提高整个网络中服务推荐的适应程度。

为了进一步揭示服务质量以及物理移动数据与电信数据之间的关联,我们的未来工作将基于交通和公共交通数据,研究用户在边缘站点之间迁移的转移模式统计。另一个值得深入研究的方向是服务推荐的认知方面[13],例如在进入新的边缘站点后推荐服务的时间对用户的影响,以及用户对服务推荐产生理性与非理性反应的模式和概率。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的Koopman算子的递归神经网络模型线性化”展开,旨在研究纳米定位系统的预测控制问题,并提供完整的Matlab代码实现。文章结合数据驱动方法与Koopman算子理论,利用递归神经网络(RNN)对非线性系统进行建模与线性化处理,从而提升纳米级定位系统的精度与动态响应性能。该方法通过提取系统隐含动态特征,构建近似线性模型,便于后续模型预测控制(MPC)的设计与优化,适用于高精度自动化控制场景。文中还展示了相关实验验证与仿真结果,证明了该方法的有效性和先进性。; 适合人群:具备一定控制理论基础和Matlab编程能力,从事精密控制、智能制造、自动化或相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能控制设计;②为非线性系统建模与线性化提供一种结合深度学习与现代控制理论的新思路;③帮助读者掌握Koopman算子、RNN建模与模型预测控制的综合应用。; 阅读建议:建议读者结合提供的Matlab代码逐段理解算法实现流程,重点关注数据预处理、RNN结构设计、Koopman观测矩阵构建及MPC控制器集成等关键环节,并可通过更换实际系统数据进行迁移验证,深化对方法泛化能力的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值