一种车载边缘计算应用缓存方法、装置及系统与流程

文档序号:21038666发布日期:2020-06-09 20:33阅读:435来源:国知局
一种车载边缘计算应用缓存方法、装置及系统与流程

本发明涉及一种车载边缘计算应用缓存方法、装置及系统。



背景技术:

随着网络通信和移动车载应用的日益发展,人们对移动车载应用的服务质量提出了更高要求,尤其是在低响应延时方面。为应对移动车载应用的计算服务需求,出现了车载边缘计算(vehicleedgecomputing,vec),即在车载自组织网络(vanet)中加入移动边缘计算(mec)技术,边缘服务器将计算和存储资源扩展到车载网络边缘来满足车载应用对延迟敏感的需求[4]。随着vec的到来,移动车辆可直接在网络边缘获得计算和存储资源,车载应用可获得更好的用户体验。

车载边缘计算中,使用边缘缓存技术将热点内容存储在边缘服务器(vec服务器)上,不仅可以快速满足后续车辆用户的需求,还能大大减少数据传输量,显著降低检索内容的传输延迟,提高用户的体验质量(qualityofexperience,qoe)。目前,车载内容缓存方面有两方面的研究工作,一方面是如何在基站和移动设备上缓存内容以供车辆用户使用;在该方面已有的研究工作中,缓存内容都是由内容服务商提供;由于缓存内容由服务商提供,一般情况下是预先放置在服务器中,是静态的,难于实现车辆之间诸如当地天气、交通状况、驾驶体验、新闻等实时信息的共享与交换。另一方面是车辆在本地缓存热点内容,利用设备到设备(device-to-device,d2d)通信框架实现车辆与车辆(vehicle-to-vehicle,v2v)之间的实时信息共享[5]。然而,该方面大多数已有研究工作主要是基于adhoc或ieee802.11串行标准开发的,忽略了d2d协作车载网络的移动性问题。由于缓存节点是高速移动的车辆,无法保证内容的可靠传输,很难保证车载移动应用服务获得较好的用户体验。

实际生活中,大量车辆对车载应用有类似的需求,因而有一些应用得到了广泛使用,例如交通新闻、车辆导航、天气预报等应用,这些热点应用如果缓存在道路附近的边缘服务器上,过往车辆将可以得到快速、低成本、高质量的边缘计算服务。为获取车载应用服务需要的实时信息,同时保证可靠传输,文献[1、2]设计了一种用户和边缘云基于任务兴趣分组的聚类方法,以及一种分布式匈牙利算法来解决资源匹配的问题,边缘服务器基于用户计算请求来主动缓存计算结果,从而减少边缘服务器的计算负担和降低传输时延。从车载边缘计算的应用缓存入手,通过车辆用户将应用卸载至边缘服务器,边缘服务器缓存其计算结果,并以此为后续的有需求车辆用户提供服务。车辆用户成为了内容的提供者,保证了车载应用服务所需信息的实时性。边缘服务器成了缓存节点,并为邻近的车辆用户提供可靠的内容传送服务。但是,这些研究工作假设网络经历了很长的训练周期,边缘服务器已经缓存了可以覆盖用户可能请求的所有计算任务数据,在实际情况下,受制于边缘服务器的有限存储,相关方法是不可行的。同时,这些研究工作没有考虑到用户在卸载应用时会关注计算服务费和隐私泄露问题,往往不愿成为“第一用户”(对于某项车载应用,第一用户即首次向边缘服务器请求将该项车载应用的计算任务卸载至边缘服务器的车辆用户),从而导致没有足够的内容的提供者,无法保证边缘服务器存储资源的动态更新,车载应用服务所需信息具有非常高的实时性,无法充分降低车载应用的服务的响应延时。

为此,有必要设计一种新的车载边缘计算应用缓存方法及系统来解决这一问题,该机制不仅需要考虑到提供内容的车辆用户方的利益,还需要考虑到边缘服务器方的利益,以保证有足够的内容的提供者,从而保证边缘服务器存储的资源的动态更新,保证车载应用服务所需信息具有较高的实时性,进一步降低车载应用的服务的响应延时。

[1]lix,wanj.proactivecachingforedgecomputing-enabledindustrialmobilewirelessnetworks[j].futuregenerationcomputersystems,2018:89-97.

[2]zhuk,zhiw,chenx,etal.sociallymotivateddatacachinginultra-densesmallcellnetworks[j].ieeenetwork,2017,31(4):42-48.



技术实现要素:

本发明所解决的技术问题是,针对现有技术的不足,提供了一种车载边缘计算应用缓存方法、装置及系统,将计算卸载和边缘缓存相结合,降低了车载应用服务的响应延时。

本发明所提供的技术方案为:

一方面,提供一种车载边缘计算应用缓存方法,设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i请求将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户请求卸载的车载应用的计算任务,按计算任务的数据量向相应的车辆用户收费;完成计算任务得到计算结果后,将计算结果反馈给相应的车辆用户,并且选择性地缓存车辆用户卸载的车载应用的计算任务相关数据,包括其计算结果(缓存车辆用户卸载的热点应用及相关数据);若后续有其它车辆用户请求卸载的车载应用的计算任务在本地有缓存,则边缘服务器直接将相应的计算结果反馈给相应的车辆用户,从而降低了这些车载应用服务的响应延时。

上述技术方案中,将车辆将计算卸载和边缘缓存相结合,即利用边缘服务器缓存车辆用户卸载的热点应用及相关数据,以快速满足后续对热点应用有需求的车辆用户,降低了响应延迟,提高了服务质量。

进一步地,构建车辆用户i的效用函数为:

通过最大化车辆用户i的效用函数值,获得车辆用户i的最佳策略,即车辆用户i的最佳卸载数据量为:

其中,ri为车辆用户i的信誉值,为根据车辆用户i过去的平均卸载数据量,p为边缘服务器提供给车辆用户使用的单位资源价格,qj为当前车辆用户j的卸载数据量;fi为当前车载用户i卸载的车载应用的热度(根据请求该车载应用的车辆用户数量来衡量)。

进一步地,车辆用户i的信誉值ri根据以下方式更新:

对于某项车载应用,定义首次向边缘服务器请求将该项车载应用的计算任务卸载至边缘服务器的车辆用户为第一用户,其它车辆用户为非第一用户;

初始化ri=0;

若车辆用户i作为非第一用户请求已经缓存在边缘服务器上的车载应用,则判断是否有ri>r0,其中r0为最低阀值(人为设定的经验参数);若是,则令ri=ri-βfi,其中β为调整信誉值变化幅度的参数,β∈[0,1],为经验参数;否则令ri=ri;

若车辆用户i作为第一用户卸载应用,即向边缘服务器请求将某项车载应用的计算任务卸载至边缘服务器,则令ri=ri+cifi,其中ci为车辆用户i当前的贡献系数,di为车辆用户i在过去的时间里作为第一用户卸载至边缘服务器的车载应用的计算任务个数,λ>0,为经验参数。

上述技术方案中,实际上提供了一种信誉激励机制,即车辆用户做出贡献行为,则其信誉值增加,同时其效用也随着信誉值增加,由此能有效激励车辆用户作为第一用户贡献自己的应用数据,有效解决了场景中车辆用户自私性和服务器资源的有限性问题。

进一步地,以边缘服务器的效用函数为适应度函数,通过遗传算法求边缘服务器提供给车辆用户使用的单位资源价格p的最优解。

进一步地,边缘服务器的效用函数ue(p)为:

ue(p)=pqtotal-[c1qtotal+c2εqtotal+c3(εqtotal-m)]

其中,qtotal为当前时刻所有车辆用户的卸载数据量之和;c1和c2分别表示边缘服务器计算和缓存单位数据量的成本,c3为边缘服务器租用的其他服务器的单位资源成本;ε为权重因子,根据所有卸载至边缘服务器的车载应用的计算任务数据量中,热点应用的计算任务数据量所占的比率确定;m表示边缘服务器的总缓存资源量大小。

进一步地,通过遗传算法求边缘服务器提供给车辆用户使用的单位资源价格p的最优解包括以下步骤:

步骤1、初始化一个种群pop,其中包括随机产生的num个个体,每个个体是一个长度为l的二进制串,设置最大遗传代数mt,交叉概率pa,变异概率pb和代沟ggap;初始化遗传代数it=1;

步骤2、将种群pop中各个个体分别作为p的取值,代入边缘服务器的效用函数,计算相应的ue(p)值,相应的ue(p)值即各个个体的适应度;

记录当代种群pop中适应度最高的个体;

步骤3、基于计算得到的种群pop中各个个体的适应度,利用轮盘赌选择法从种群pop中选出num*ggap个个体,记为种群p;

步骤4、根据交叉概率pa对种群p进行交叉操作,具体地:将种群p中所有个体两两配对,得到多组个体;对每一组个体,先产生一个[0,1]之间的随机数,判断产生的随机数是否小于交叉概率pa,若是,则这一组个体不需要进行交叉操作,这一组两个个体保持不变;否则这一组个体需要进行交叉操作;对于需要进行交叉操作的每一组个体,随机产生一个交叉点,将该组两个个体在交叉点后的子串对调,产生两个新的个体;

步骤5、根据变异概率pb对经过交叉操作后的种群p进行变异操作,得到新的种群p,具体地:根据变异概率pb计算进行变异操作的个体数量num1,num1=num*l*pb;在经过交叉操作后的种群p随机选取num1个个体进行变异操作,即0-1互换操作,产生新的个体;

步骤6、调用reins函数将子代p重插入到父代,即用新的种群p中的个体替换掉种群pop中适应度最小的num*ggap个个体,由新的种群p中的num*ggap个个体与种群pop中适应度最大的num*(1-ggap)个个体构成新的种群pop;

步骤7、判断是否有it=mt,若是,则将历史种群pop中适应度最高的个体转换成十进制数value,将其作为最优解,赋值给p*,否则令it=it+1,返回步骤2。

进一步地,所述步骤2中,将作为qi,代入边缘服务器的效用函数,计算相应的ue(p)值。

上述技术方案中,边缘服务器的效用综合了各车辆用户的卸载数据量,以及边缘服务器提供给车辆用户使用的单位资源价格p,实际上利用了博弈论建模,不仅考虑到了车辆与边缘服务器之间的博弈,还同时考虑了车辆用户之间的竞争。

另一方面,提供一种车载边缘计算应用缓存装置,包括车载自组织网络的边缘服务器;

设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i请求将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户请求卸载的车载应用的计算任务,按计算任务的数据量向相应的车辆用户收费;完成计算任务得到计算结果后,将计算结果反馈给相应的车辆用户,并且选择性地缓存车辆用户卸载的车载应用的计算任务相关数据,包括其计算结果(缓存车辆用户卸载的热点应用及相关数据);若后续有其它车辆用户请求卸载的车载应用的计算任务在本地有缓存,则边缘服务器直接将相应的计算结果反馈给相应的车辆用户。

本方案中车辆用户i的最佳卸载数据量的计算、车辆用户i信誉值ri的更新、边缘服务器提供给车辆用户使用的单位资源价格p的求解可采用上述车载边缘计算应用缓存方法中的方案。

另一方面,提供一种车载边缘计算应用缓存系统,包括车载自组织网络的边缘服务器和车辆用户;

设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i请求将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户请求卸载的车载应用的计算任务,按计算任务的数据量向相应的车辆用户收费;完成计算任务得到计算结果后,将计算结果反馈给相应的车辆用户,并且选择性地缓存车辆用户卸载的车载应用的计算任务相关数据,包括其计算结果(缓存车辆用户卸载的热点应用及相关数据);若后续有其它车辆用户请求卸载的车载应用的计算任务在本地有缓存,则边缘服务器直接将相应的计算结果反馈给相应的车辆用户。

本方案中车辆用户i的最佳卸载数据量的计算、车辆用户i信誉值ri的更新、边缘服务器提供给车辆用户使用的单位资源价格p的求解可采用上述车载边缘计算应用缓存方法中的方案。

有益效果:

本发明为了降低车辆用户使用移动车载应用的时延,提高车载应用服务的体验质量,提出了计算卸载和边缘缓存相结合的车载边缘计算应用缓存方案,在所述方案中,由移动车辆用户贡献热点应用,卸载到边缘服务器,边缘服务器缓存车辆用户卸载的热点应用及相关数据,以快速满足后续对热点应用有服务需求的车辆用户;进一步地,为了解决了场景中车辆用户自私性和服务器资源的有限性问题,使该框架下做出贡献的车辆用户和边缘服务器同时达到最大化利益,设计了一个动态高效的信誉更新机制和一个基于斯坦克尔伯格博弈模型的智能优化策略求解算法,所提出的车载边缘计算应用缓存方案可以激励车辆用户将高热度应用卸载至边缘服务器,从而边缘服务器能够将实时信息共享给其他车辆,仿真实验结果表明,与其他边缘缓存方案相比,本发明所提出的车载边缘计算应用缓存方案可以降低用户获取车载应用服务的平均时延,提高车载应用用户的体验质量,具有实用性和有效性。

附图说明

图1为本发明实施例中车载边缘计算应用缓存场景

图2为本发明实施例中车辆用户的计算卸载和边缘服务器选择性缓存过程;2(a)为移动车辆用户的计算卸载过程;图2(b)为边缘服务器选择性缓存过程;

图3为本发明实施例中无信誉激励和有信誉激励下车辆用户的信誉值分布;3(a)为无信誉激励下车辆用户的信誉值分布;图3(b)为有信誉激励下车辆用户的信誉值分布;

图4为本发明实施例中边缘服务器的最优单位资源价格;

图5为本发明实施例中边缘服务器的效用与价格的关系;

图6为本发明实施例中车辆最优策略及效用与价格的关系;6(a)为车辆最优策略与价格的关系;图6(b)为车辆效用与价格的关系;

图7为本发明实施例中车辆用户1和2的最优策略;

图8为本发明实施例中减少的时延与缓存比率的关系。

具体实施方式

以下结合附图和具体实施例对本发明进行进一步具体说明。

实施例1:

本实施例提供一种车载边缘计算应用缓存方法,设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户卸载的车载应用的计算任务,并选择性地缓存车辆用户卸载的车载应用及相关数据,作为共享资源按一定价格p提供给其它车辆用户使用。

以下对本实施例进行具体说明。

1.1本实施例应用场景

一般热点应用分布在车辆较密集的区域,譬如十字路口、机场、停车场等,本实施例以ar辅助驾驶作为应用场景。假设场景中有n辆汽车,即n个车辆用户,其索引集合为n={1,2,3,…,n}。每辆汽车都可以发起ar辅助驾驶应用的请求。对于车载应用,边缘服务器可用请求数量来衡量其热度,同时,每个应用还有数据量、计算能力等运行条件的要求。每个车辆用户可以将车载应用的计算任务卸载至边缘服务器,假设车辆用户i(i∈n)卸载到边缘服务器车载应用的计算任务的数据量(后面简称卸载数据量)为qi,所有车辆用户卸载数据量集合为q={q1,q2,…,qi,…,qn}。边缘服务器收集其所覆盖范围内的车辆用户卸载的车载应用的计算任务,并把部分有价值的热点应用缓存下来,作为共享资源提供给其它车辆用户使用。整个系统如图1所示,包括:边缘服务器、路侧设施(roadsideunit,rsu)、车辆用户和认证中心。

车辆用户可通过与rsu进行交互,获得附近边缘服务器的服务。边缘服务器具备计算和存储资源,在完成车辆用户请求的车载应用的计算任务后,会通过rsu将计算结果反馈给车辆。另外,所有车辆、边缘服务器和路侧设施都需要向认证中心注册合法身份,它作为网络中所有实体共同信任的组织,起到了网络管理的作用。每个车辆用户具有信誉值,由认证中心唯一记录和更新,边缘服务器可从认证中心处获取车辆的信誉值。

1.2本实施例中信誉更新机制

定义车辆用户i(i∈n)当前的信誉值为ri,用于衡量该车辆用户所做出的贡献,信誉值动态变化,其更新机制描述如下:

定义1.车辆贡献系数

假设车辆用户i作为“第一用户”在过去的时间里(从起始时刻至当前时刻)作为“第一用户”贡献的车载应用的计算任务个数为di,由于车辆用户贡献的车载应用的计算任务越多,其贡献系数越大,定义车辆用户i当前的贡献系数ci为:

其中,λ为调整贡献系数的参数,λ>0,为经验参数;

定义2.车辆用户信誉值更新机制

车辆用户i作为“第一用户”卸载车载应用的计算任务,做出贡献行为后,信誉值的增量为其中fi为车载用户i所当前卸载的计算任务所属的车载应用的热度,该热度由边缘服务器统计分析得出。如果车辆用户i作为“非第一用户”请求已经缓存在边缘服务器上的车载应用,其信誉值减少β为调整信誉值变化幅度的参数,β∈[0,1],为经验参数。为了惩罚只享用系统资源不贡献重要应用(搭便车)的车辆用户,当车辆用户i的信誉值ri小于r0时,即车辆用户i的信誉值低于系统给定的最低阀值r0,将进入到惩罚阶段,此时车辆用户i从边缘服务器获得的服务将受到限制,其获得的车载应用服务质量受到影响,但可通过重新做出贡献回到正常状态,如作为“第一用户”贡献数据从而提高自身的信誉值。车辆用户i卸载应用和请求应用后的信誉值更新公式如下:

车辆用户信誉值更新算法如下:

步骤1、初始化时间片序号t=0,每个车辆用户的信誉值{r1,r2,…,ri,…rn}=0;

步骤2、对于每个车辆用户i,根据其在第t个时间片内的行为,更新其当前的信誉值ri,具体地:

若其作为“非第一用户”请求已经缓存在边缘服务器上的应用,则判断是否有ri>r0,其中r0为最低阀值;若是,则令ri=ri-βfi;否则令ri=ri;

若其作为“第一用户”卸载应用,则令ri=ri+cifi,其中ci为车辆用户i当前的贡献系数,di为车辆用户i作为“第一用户”在过去的时间里贡献的应用任务个数,λ>0;fi为当前车辆用户i所卸载应用的热度;

步骤3、判断是否满足t=t,其中t为当前时刻所处的时间片序号,若不满足,则令t=t+1,返回步骤1;若满足,则结束,返回此时的{r1,r2,…,ri,…,rn}。

1.3本实施例中通信模型

车辆用户卸载车载应用的计算任务的过程的时间延迟需要考虑网络通信因素,本实施例参考文献[24]给出车载无线通信的时延计算方法。假设车辆用户在边缘服务器上的上行数据速率为ru,可表示为:

ru=blog2(1+γ)(3)

其中γ表示信道噪声比,b表示信道带宽。

1.4本实施例中计算模型

假设车辆用户i(i∈n)的卸载数据量为qi,边缘服务器分配给车辆用户i的计算资源为wi,那么,卸载计算消耗的时间包括两部分,一为车辆用户卸载应用的网络传输时间消耗,假设所卸载的应用与数据的传输持续时间为二为边缘服务器处理计算任务的时间,假设计算任务处理的持续时间为因此,车辆用户i卸载数据量为qi到的车载应用的计算任务到边缘服务器,然后从边缘服务器获得计算结果,总花费时间为:

由于返回结果的数据量远小于任务输入数据量,由于忽略返回结果从边缘服务器到车辆用户的传输时间。

1.5本实施例中应用缓存模型

边缘服务器处理完车辆用户卸载的某一车载应用的计算任务后,可根据该车载应用的热度有选择地缓存该车载应用及其相关数据。当其他用户申请相同车载应用和计算任务时,可直接反馈,实现对车辆用户请求的快速响应,提高车载应用服务的用户体验质量(降低相应延时)。例如,在ar辅助驾驶场景下,车辆用户首先向边缘服务器请求将ar辅助驾驶的某项车载应用的计算任务卸载至边缘服务器,边缘服务器收到请求后对该车载应用进行检索,若发现该车载应用的计算任务有相应的计算结果缓存,则直接把计算结果返回给请求方;如果该车载应用没有缓存,边缘服务器会告知该车辆用户,若该用户继续卸载项车载应用的计算任务,边缘服务器处理完该计算任务并将计算结果返回,同时,边缘服务器根据该车载应用的热度确定是否将该车载应用和及其相关数据进行缓存。在应用缓存场景下,车辆用户与边缘服务器之间存在利益博弈关系,本实施例提出的信誉激励机制不仅可以激励自私车辆用户贡献出自己的应用和数据,成为“第一用户”,而且可以减少重复传输,提高边缘服务器对后续车辆用户请求的响应速度,进而提高整体车辆用户的体验质量,此外,边缘服务器也从中获得相应的收益,使车辆用户与边缘服务器达到合作共赢。

2本实施例中问题描述

在前述的应用缓存模型下,车辆用户与边缘服务器之间存在两个问题,一是车辆用户卸载多少车载应用的计算任务的数据量是最划算的,二是边缘服务器根据车辆用户的卸载数据量制定什么样的价格是最大收益的,通过解决这两个问题使车辆用户与边缘服务器达到合作共赢,从而提高边缘服务器对车辆用户请求的响应速度,进而提高整体车辆用户的体验质量。针对这两问题,本文基于斯坦克尔伯格博弈模型对车辆用户与边缘服务器的行为进行分析,设计效用函数,通过向后归纳法分别求解得到车辆用户的最优卸载数据量qi和边缘服务器的最优服务价格p。图2(a)和图2(b)分别说明了车载用户的计算卸载过程和边缘服务器的服务缓存过程。

2.1本实施例中车辆用户的效用函数

由于边缘服务器针对每个车辆用户统一报价,因此每个车辆用户有相同的效用函数。车辆用户的效用函数可以表示为车辆用户体验质量的满意度与成本(支付给边缘服务器的费用)之差。如下所示:

其中si(qi)和ci(qi)分别是车辆用户i的满意度函数和成本函数。满意度函数基于车辆用户获取内容的延迟,延迟较低时,车辆用户可以获得更高的体验质量。换句话说,由于边缘服务器上的存储空间有限,车辆用户的满意度函数是自身卸载数据量qi的增函数,是同一时刻其他车辆用户卸载的数据量的减函数。其中,车辆用户的信誉值ri作为满意度参数,与当前该用户的贡献记录有关。除了以上因素以外,用户卸载的任务内容的热度也对满意度函数有影响。满意度函数可表示为:

分别表示车辆用户从远程云服务器和从边缘服务器中获取任务处理结果(计算结果)的平均时延,车辆用户从边缘服务器获取内容的时延和能耗由公式(4)得到,本实施例只考虑车辆用户的平均时延。则是车辆用户卸载qi数据量的计算任务至边缘服务器相比卸载至远程云而减少的时延。为根据车辆用户i过去的记录得到的平均卸载数据量。为因除了车辆用户i以外其他车辆用户的卸载数据量而减少的平均时延。即:

当其他车辆用户的卸载数据量增加时,车辆用户i的满意度会降低。此外,当车辆应用的热度更大,用户也会有更好的满意度。

由于边缘服务器为周边车辆用户提供计算资源,因此所有的使用了计算资源的车辆用户要共同承担边缘服务器的收费。因此本实施例定义车辆用户i卸载qi数据量的车载应用的计算任务至边缘服务器需要支付的费用为:

其中p表示边缘服务器单位资源价格,这个价格由边缘服务器决定。因此将公式(2)(6)(7)(8)加入到(5),可以得到车辆用户i的效用函数为:

2.2本实施例中边缘服务器的效用函数

边缘服务器的计算力和存储力是需要成本的,因此需要向车辆用户收取服务费用得到补偿。边缘服务器的效用函数可表示为收入和成本之差,即:

ue(p)=se(p)-ce(qtotal)(10)

其中p是边缘服务器的单位资源价格,se(p)是边缘服务器向车辆用户提供服务的收入,qtotal是当前时刻所有车辆用户的卸载数据量之和,是计算与缓存资源的成本。

边缘服务器为车辆用户提供服务而获得收入,处理的数据量越大,其所获得的收入就越大,因此是车辆用户卸载数据量的增函数。边缘服务器的收入可表示为:

se(p)=pqtotal(11)

边缘服务器根据内容的请求次数计算其热度,若当前应用频繁被车辆用户请求,则判断其为热点内容。边缘服务器的成本费用与其是否将用户申请的应用进行服务缓存有关。如果当前的计算任务为热点内容,边缘服务器将其缓存并分享给后续请求相同任务的车辆。边缘服务器的成本函数可分为两部分,即计算和缓存所需要的成本:

ce(qtotal)=c1qtotal+(c2εqtotal+c3θ)(12)

由于边缘服务器资源量存在上限,因此当资源不足时,可以向周边的边缘服务器租用资源。其中c1和c2分别表示边缘服务器计算和缓存单位数据量的成本,c3为边缘服务器租用的其他服务器的单位资源成本。而θ表示边缘服务器的总缓存资源量与当前所有车辆用户卸载任务所需的服务缓存资源之差,即:

θ=εqtotal-m(13)

其中ε(0<ε<1)为权重因子,根据在所有卸载至边缘服务器的车载应用的计算任务数据量中,热点应用的计算任务数据量所占的比率确定,m表示边缘服务器的总缓存资源量大小。当然,也存在边缘服务器资源有剩余的情况,那么剩余部分则用来外租获得收入,这时θ为负数。

将公式(11-13)加入到式(10)中,可以得到边缘服务器的效用函数为:

ue(p)=pqtotal-[c1qtotal+c2εqtotal+c3(εqtotal-m)]

(14)

2.3本实施例中博弈过程

在信誉激励机制的奖励下,有些车辆用户乐意成为“第一用户”,这里假设车辆用户i为“第一用户”。边缘服务器收集到所有车辆用户的请求后,根据请求数据量制定每单位资源的价格。由于车辆用户共同承担边缘服务器的收费,车辆用户关于选择卸载多少数据量这个问题上存在着竞争关系。

由于车辆用户和边缘服务器在选择策略时有时间先后,于是本文将单个车辆用户和边缘服务器之间的交互行为作为序贯博弈进行建模,并基于他们的效用函数求解所有参与者(即多个车辆用户和边缘服务器)的最优策略,使双方利益最大化。斯塔克尔伯格博弈是典型的两阶段序贯博弈,由一个领导者和多个追随者组成。

在斯塔克尔伯格博弈中,边缘服务器是领导者,它首先确定单位资源的价格p。根据提出的价格,车辆用户确定卸载数据量qi,以最大化自身的效用。由于所有卸载了计算任务的车辆用户共同承担对边缘服务器的支付,因此采用非合作博弈来模拟车辆用户之间的竞争。

在博弈中,本实施例假设参与者双方都是理性且自私的,每一方的行为都是为了将自身效用最大化,博弈过程如下:

(1)博弈第一阶段

博弈第一阶段是边缘服务器最佳策略的制定。在博弈中,边缘服务器的目的是最大化公式(14)中的效用。对于车辆用户来说,在斯塔克尔伯格博弈下,制定的卸载数据量是价格p的函数。每个车辆用户的卸载数据量取决于边缘服务器制定的价格。因此边缘服务器需要找到最优价格来最大化其效用,这个优化问题可以概括为如下:

问题1:最大化边缘服务器效用的优化问题可以表示为如下:

maxue(p)(15)

s.t.p≥0,(16)

(2)博弈第二阶段

博弈第二阶段是车辆用户的优化策略制定。根据公式(9)中每个移动用户的效用,一旦确定了价格p,车辆用户i的效用就取决于卸载数据量qi。考虑到所有车辆用户之间存在竞争,并不是卸载数据量越大效用就越大,因此车辆用户也需要找到最优数据量策略来最大化其效用。

问题2:最大化车辆用户i的效用的优化问题如下:

s.t.qi≥0,(18)

针对问题1和问题2,形成一个斯塔克尔伯格博弈,博弈的目的是找到斯塔克尔伯格均衡(stackelbergequilibrium,se),使领导者和追随者都能获得最大收益。

4.4斯塔克尔伯格均衡

上述博弈的斯塔克伯格均衡可定义如下。

定义3.设p*为问题1的解,为问题2的解,对任意的p和qi,如果不等式(19)和(20)均成立,那么点是斯塔克尔伯格博弈的se。

斯塔克尔伯格均衡可通过求解子博弈精炼纳什均衡来得到[25]。由于所有的车辆用户要相互竞争资源,并共同向边缘服务器付费,所以他们之间的博弈为非合作博弈。对于一个非合作博弈,纳什均衡定义为没有参与者通过单方面改变策略来提高效用的最佳点。由于在本文的斯塔克尔伯格博弈模型中只考虑一个边缘服务器,所以只需要通过解决问题1来获得纳什均衡的最佳策略。为了实现斯塔科尔伯格均衡,我们首先应该找到阶段二中车辆用户的最佳响应函数,在此基础上我们可以解决第一阶段边缘服务器的最优策略。因此,在我们的博弈中,首先用固定价格p解决问题2。然后,通过不同车辆用户的最优策略,解决问题1以获得设定价格p的最优策略。

3本实施例中博弈分析

本文应用逆向归纳法首先分析博弈第二阶段中车辆用户的策略,然后,边缘服务器根据确定的车辆用户策略来制定自身的最佳策略,即单位资源的价格,以确保边缘服务器方的利益最大化。

3.1博弈第二阶段分析

博弈第二阶段是车辆用户的优化策略制定。在第二阶段博弈中,车辆用户之间相互竞争、相互影响,由于所有车辆用户相互不交换计算卸载信息,相互之间的博弈是非合作博弈。假设博弈第一阶段已确定边缘服务器的单位资源价格,车辆用户根据给定价格,视自身成本确定最优的卸载数据量。由于每个车辆用户的决策都受到其他人的影响,本文采用非合作博弈来模拟不同车辆用户之间的竞争,当博弈处于纳什均衡状态,车辆用户的策略为最佳。当其他车辆用户的策略确定后,我们定义公式(18)最优化问题的解为车辆用户i的最佳反应,即:

为上述非合作博弈的纳什均衡,其中分别表示当期车辆用户与其他用户的最优策略。对于车辆用户i,必须满足以下条件:

从公式(9),我们可以得到效用函数ui(qi)一阶导数为:

当其他车辆用户的最佳策略被给出时,我们可以通过求解来获得车辆用户i的最佳策略,即车辆用户i最优的卸载数据量,由此可得:

对纳什均衡存在性和唯一性,有以下定理。

定理1:车辆用户博弈中存在且唯一存在一个纳什均衡。

证明:对于效用函数ui(qi),我们知道ui(qi)关于qi的一阶导数是(24),二阶导数是:

那么,可以证明在其他车辆用户策略给定的情况下,车辆用户的效用函数ui(qi)相对于变量qi是严格凸函数。对于场景内所有向边缘服务器申请应用的车辆用户,该属性都成立,因此所有车辆用户卸载应用是一个严格凸型多人非合作博弈,存在一个纳什均衡。

3.2博弈第一阶段分析

博弈第一阶段是边缘服务器最佳策略的制定。当车辆用户的策略确定后,边缘服务器的最佳反应,即公式(15)最优化问题的解为:

为博弈的斯塔科尔伯格均衡。对于边缘服务器,必须满足以下条件:

对于公式(14),我们可以得到效用函数ue(p)的一阶导数为:

定理2:边缘服务器和车辆用户之间的斯坦克尔伯格(se)博弈中存在且唯一存在一个纳什均衡。

证明:对于效用函数ue(p),我们知道ue(p)关于p的一阶导数是(28),二阶导数是

证得边缘服务器的效用函数ue(p)是严格凸函数,最大化边缘服务器效用的优化问题存在一个最优策略,即边缘服务器与车辆用户之间的斯坦克尔伯格博弈中存在且唯一。

基于信誉更新机制,我们设计了基于信誉激励与贡献匹配的算法。根据算法1(如表所示)的动态更新,得到不同车辆用户的信誉值后。在得到边缘服务器与车辆用户之间斯坦克尔伯格博弈的纳什均衡过程中,边缘服务器的效用函数(14)本应该相对于p来区分。然而效用函数(14)在不同决定因素与价格之间存在许多相互关系,导致边缘服务器效用函数的一阶导数(28)无法直接求得最优策略。通过研究,我们发现遗传算法是人工智能领域中用于解决最优化的一种搜索启发式算法。通过遗传算法可以降低复杂程度,在短时间内减少迭代次数以求得最优解。因此我们设计了基于遗传算法的算法2(如表2所示)来得到边缘服务器和车辆用户两个参与者的最优策略,使双方效用最大化。

那么根据定义3,由于优化问题1和2都存在一个最优解,那么边缘服务器与车辆用户之间的两阶段斯塔科尔伯格博弈的斯塔科尔伯格均衡(se)可以求得。

本实施例中基于斯坦克尔伯格博弈的遗传智能寻优算法如下:

步骤1、初始化一个种群pop,其中包括随机产生的num个个体,每个个体是一个长度为l(本实施例设置l=20)的二进制串,设置最大遗传代数mt,交叉概率pa,变异概率pb和代沟ggap(本实施例设置ggap=0.95);初始化遗传代数it=1;

步骤2、将种群pop中各个个体分别作为p的取值,代入以下边缘服务器的效用函数,计算相应的ue(p)值,相应的ue(p)值即各个个体的适应度;

ue(p)=pqtotal*-[c1qtotal*+c2εqtotal*+c3(εqtotal*-m)]

其中,为当前时刻所有车辆用户最优的卸载数据量之和,为车辆用户i的最佳策略,即车辆用户i最优的卸载数据量;

记录当代种群pop中适应度最高的个体;

步骤3、基于计算得到的种群pop中各个个体的适应度,利用轮盘赌选择法从种群pop中选出num*ggap个个体,记为种群p;

步骤4、根据交叉概率pa对种群p进行交叉操作,具体地:将种群p中所有个体两两配对,得到多组个体;对每一组个体,先产生一个[0,1]之间的随机数,判断产生的随机数是否小于交叉概率pa,若是,则这一组个体不需要进行交叉操作,这一组两个个体保持不变;否则这一组个体需要进行交叉操作;对于需要进行交叉操作的每一组个体,随机产生一个交叉点,将该组两个个体在交叉点后的子串对调,产生两个新的个体;

步骤5、根据变异概率pb对经过交叉操作后的种群p进行变异操作,得到新的种群p,具体地:根据变异概率pb计算进行变异操作的个体数量num1,num1=num*l*pb;在经过交叉操作后的种群p随机选取num1个个体进行变异操作,即0-1互换操作,产生新的个体;

步骤6、调用reins函数将子代p重插入到父代,即用新的种群p中的个体替换掉种群pop中适应度最小的num*ggap个个体,由新的种群p中的num*ggap个个体与种群pop中适应度最大的num*(1-ggap)个个体构成新的种群pop;

步骤7、判断是否有it=mt,若是,则将历史种群pop中适应度最高的个体转换成十进制数value,将其作为最优解,赋值给p*,输出斯坦克尔伯格博弈的纳什均衡否则令it=it+1,返回步骤2。

本实施例提出了计算卸载和边缘缓存相结合的车载边缘计算应用缓存方案,在所述方案中,由移动车辆用户贡献热点应用,卸载到边缘服务器,边缘服务器缓存车辆用户卸载的热点应用及相关数据,以快速满足后续对热点应用有服务需求的车辆用户。

与之前的研究工作不同,应用缓存内容基于车辆用户的计算请求实时调整,不是预先放置在服务器的静态内容。例如,边缘服务器可以缓存ar服务的计算任务场景,满足大量车辆用户请求应用数据的需要,从而减少网络传输与计算处理的开销,满足车载应用对延迟敏感的需求。事实上,车辆用户与边缘服务器之间存在三方面的利益联系:(1)车辆用户在使用某些应用时,限于本身资源不足,需要把计算任务卸载到边缘服务器,边缘服务器提供计算服务从车辆用户处获得收益;(2)对于热度高的应用,车辆用户在卸载计算任务的同时,也把应用程序和自身的重要数据提供给了边缘服务器,边缘服务器可作为有价值的应用缓存下来,车辆用户以提供热点应用程序和重要数据的方式从边缘服务器处获得收益;(3)车辆用户在请求热点应用程序或者内容时,如果边缘服务器缓存中存在请求的资源,则边缘服务器可从该应用或内容提供服务中获得来自车辆用户的收益。可见,车辆用户与边缘服务器之间存在着利益博弈。同时,作为“第一用户”,不仅需要向边缘服务器支付计算服务费,还需要把自己的应用程序或者数据贡献出来,因此车辆用户想成为“第一用户”的意愿不强,需要建立有效的激励机制。此外,边缘服务器不仅从向“第一用户”提供计算服务中获得收益,还可基于缓存热点内容从后续的订购车辆用户中获得收益,边缘服务器可适当让利给“第一用户”,即付出一定代价以激励车辆用户贡献出热点应用和私有数据,以便可以从后续有服务需求的车辆用户中获得收益,达到双方合作共赢。为此,一方面边缘服务器需要付出代价以激励车辆用户贡献出热点应用和私有数据,另一方面边缘服务器可从后续对热点应用有需求的车辆用户中获得收益。

由于车辆用户与边缘服务器的决策过程是一个交互行为,相互影响,本实施例中针对车辆用户与边缘服务器双方利益最大化问题,把边缘服务器与车辆用户的博弈模型化为一个两阶段“领导者—追随者”的斯塔克尔伯格博弈模型,基于斯坦克尔伯格博弈模型将车辆用户与边缘服务器之间的博弈转化为一个非线性整数规划问题,把博弈过程分解为两阶段博弈,应用向后归纳法分析边缘服务器与车辆用户的博弈行为,求解博弈参与各方的最佳策略。设计了车辆用户信誉值更新机制,针对用确定性的方法难于求解最佳策略问题,提出了基于遗传算法的博弈双方最佳策略求解算法,能快速获得博弈双方的最优策略,使双方都获得最大收益,达到合作共赢。仿真实验结果表明,与其他边缘缓存方案相比,本实施例所提出的车载边缘计算应用缓存方案可以激励车辆用户提供缓存内容,降低用户获取车载应用服务的平均时延,提高车载应用用户的体验质量。

实施例2:

本实施例提供一种车载边缘计算应用缓存装置,包括车载自组织网络的边缘服务器;

设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i请求将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户请求卸载的车载应用的计算任务,按计算任务的数据量向相应的车辆用户收费;完成计算任务得到计算结果后,将计算结果反馈给相应的车辆用户,并且选择性地缓存车辆用户卸载的车载应用的计算任务相关数据,包括其计算结果(缓存车辆用户卸载的热点应用及相关数据);若后续有其它车辆用户请求卸载的车载应用的计算任务在本地有缓存,则边缘服务器直接将相应的计算结果反馈给相应的车辆用户

本实施例中车辆用户i的最佳卸载数据量的计算、车辆用户i信誉值ri的更新、边缘服务器提供给车辆用户使用的单位资源价格p的求解采用上述实施例1中的方案。

实施例3:

本实施例提供一种车载边缘计算应用缓存系统,包括车载自组织网络的边缘服务器和车辆用户;

设某一车载自组织网络的边缘服务器覆盖范围内有n个车辆用户,记这n个车辆用户索引集合为n;

每个车辆用户i请求将数据量为qi车载应用的计算任务卸载至该边缘服务器,i∈n;

该边缘服务器收集其覆盖范围内的车辆用户请求卸载的车载应用的计算任务,按计算任务的数据量向相应的车辆用户收费;完成计算任务得到计算结果后,将计算结果反馈给相应的车辆用户,并且选择性地缓存车辆用户卸载的车载应用的计算任务相关数据,包括其计算结果(缓存车辆用户卸载的热点应用及相关数据);若后续有其它车辆用户请求卸载的车载应用的计算任务在本地有缓存,则边缘服务器直接将相应的计算结果反馈给相应的车辆用户

实施例中车辆用户i的最佳卸载数据量的计算、车辆用户i信誉值ri的更新、边缘服务器提供给车辆用户使用的单位资源价格p的求解采用上述实施例1中的方案。

性能评估

本部分进行了大量的模拟实验,以评估上述实施例中所提方案的有效性。

参数设置:

模拟实验在matlabr2018a中实现。初始化设置需要申请辅助驾驶应用概率为75%和25%的车辆用户分别为50个。这些车辆随机分布在边缘服务器附近10km*10km范围内。仿真时间为3600s,重复实验1000次取其平均值,获得100个节点的信誉值,从中选取2个信誉值分别为100和120的用户与一个边缘服务器进行模拟实验。将这两个车辆用户分别命名为车辆1和车辆2,平均卸载数据量分别为16mb和20mb。假设这两个车辆卸载的任务数据量分别为20mb和30mb。至于任务的热度我们基于zipf建模[26]得到。模拟中的其他参数如表3所示。

表1仿真参数及数值列表

数值结果:

图3(a)和图3(b)分别表示了在无信誉激励和有信誉激励的车载边缘计算系统中,无私用户(经常成为第一用户的车辆)和自私用户(偶尔成为第一用户的车辆)的信誉值分布。由于在无信誉激励的情况下,无私用户和自私用户并没有被区别对待,因此他们的信誉值分布并没有太大差别。将图3(b)和图3(a)进行比较可以看出,采用了信誉激励机制可以使无私用户的信誉值集中分布在[100,200]之间,而自私用户的信誉值集中分布在[0,50]之间。实验结果表明,在我们设计的信誉激励机制下,经常成为“第一用户”的信誉值会明显高于其他用户。

图4表示了边缘服务器通过基于斯坦科尔伯格博弈的遗传智能寻优算法调整价格至稳定的过程。从图4可以看出,边缘服务器的单位资源价格策略通过50次迭代步骤收敛到最优价格。在调整过程中,价格会产生波动,从最初的p=3.873下降至p=3.083,最终调整至最优价格3.3166并趋于稳定。实验快速地帮助边缘服务器找到了最优价格策略,使边缘服务器在与车辆用户交互中也能利益最大化。

图5是边缘服务器的收益表示成其价格的函数。在p=3.3166之前,边缘服务器的收益随着价格的升高而升高。因为越高的价格意味着车辆用户方付给边缘服务器的费用越高,边缘服务器的收益上升。在p=3.3166之后,边缘服务器的收益随着价格增加而减少,因为边缘服务器资源的有限性,车辆用户的支付价格无法弥补边缘服务器提供优质服务的成本。

图6(a)和图6(b)分别展示了车辆用户的信誉值对他们的最优策略和效用的影响。纵向比较,当边缘服务器的价格一定时,图6(a)车辆户1,2选择上传的数据量依次递增,同时图6(b)车辆用户1,2的效用值也相应地递增。我们可以这样解释这个现象,在我们设计的方案中,车辆对服务体验质量的满意度函数与信誉值正相关,因此信誉值高的用户会倾向于选择更高质量的服务,从而让获得更高的满意度。在我们的信誉激励下,尽管可能需要支付更多的费用,但车辆为获得更高的信誉值,会自愿贡献高流行度的任务。

图7展示了车辆用户1和2的最优策略。在价格p=2和3的情况下,两个车辆的最优反应函数都在某一点交叉。这意味着在这一点上车辆1和2都选择了最优反应策略,是纳什均衡点。车辆1的纳什均衡策略q1低于车辆2的那是均衡策略q2,由于车辆1的信誉值低于车辆2的信誉值。当边缘服务器的价格升高时,纳什均衡下车辆1和2的策略都降低。这是因为当车辆需要支付更多给边缘服务器时,他们会选择降低对服务的需求来保证自身的利益最大化。

由于资源的有限性,边缘服务器不可能缓存所有的计算任务。为了测试本方案的性能,本文通过实验研究了缓存比率变化的影响,并且将本文提出的方案与传统的随机缓存方案(randomcacheschemercs)和平均缓存方案(averagecacheschemeacs)进行比较。随机缓存方案是指随机地分配缓存空间给不同的计算任务,而平均缓存方案是指将缓存空间平均地分配给每个计算任务。实验中,我们将缓存比率从10%上升至50%。从图8可见,本文方案比平均分配方案具有更低的时延,比随机分配方案更加稳定。本文方案基于应用的热度,相比随机和平均分配更加符合人们的实际需求。

上述实验结果验证了边缘服务器与车辆用户之间博弈的斯塔克尔伯格均衡(stackelbergequilibrium,se)的存在唯一性。整个系统在降低用户获取车载服务时延的同时,保证了博弈双方效用的最大化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1