CN114866548A - 一种基于移动雾计算的任务卸载方法 - Google Patents

一种基于移动雾计算的任务卸载方法 Download PDF

Info

Publication number
CN114866548A
CN114866548A CN202210448728.5A CN202210448728A CN114866548A CN 114866548 A CN114866548 A CN 114866548A CN 202210448728 A CN202210448728 A CN 202210448728A CN 114866548 A CN114866548 A CN 114866548A
Authority
CN
China
Prior art keywords
mfn
task
point
information
management module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210448728.5A
Other languages
English (en)
Other versions
CN114866548B (zh
Inventor
张永敏
向侃
吕丰
任炬
张尧学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202210448728.5A priority Critical patent/CN114866548B/zh
Publication of CN114866548A publication Critical patent/CN114866548A/zh
Application granted granted Critical
Publication of CN114866548B publication Critical patent/CN114866548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于移动雾计算的任务卸载方法,方案是构建由I个移动雾节点、一个基站、J个请求卸载任务的移动设备、一个云数据库服务器组成的任务卸载系统。基站作为部署任务卸载的第三方平台,移动设备和移动雾节点向基站提供信息。在考虑设备移动性约束以及用户服务质量对不同设备属性的偏好的情况下,将移动雾计算环境下任务卸载中的资源利用率最大化问题建模为二部图的最大加权匹配问题,通过KM算法求解出能够使得用户总体满意度最高的最优任务分配方案。基站根据最优任务分配方案通知请求卸载的移动设备将任务卸载到合适的移动雾节点,并通知对应的移动雾节点接受并执行任务。采用本发明能实现合理的任务分配,有效提高资源利用率。

Description

一种基于移动雾计算的任务卸载方法
技术领域
本发明涉及通信技术领域,特别涉及一种基于移动雾计算的任务卸载方法。
背景技术
随着处理器,存储器等硬件能力不断提高,网络技术不断发展,各种智能设备如移动智能手机获得了巨大的普及,成为我们日常生活中不可缺少的一部分。在此背景下,越来越多的手机应用如沉浸式游戏和电影、视频流、人机交互服务等相继涌现。这些新颖的应用通常需要消耗大量的计算、通信、能量等资源,对移动设备的计算、通信、存储等各方面能力提出了更高的要求,由于受到物理尺寸的限制,移动设备通常能力受限,具有有限的计算、通信资源和电池容量,难以满足所有应用的服务质量要求。
移动云计算最先被提出以解决这一问题,但云计算中云服务器距离任务和数据产生源头较远,难以满足任务的实时性要求,同时容易受到不稳定的无线连接(例如蜂窝信号不良)和广域网延迟的干扰,且用户需要支付较高的云服务费用。移动雾计算中移动雾节点(具有空闲资源、能够提供服务的其他移动设备,如移动用户周边的智能手机、智能平板、智能手表等)相比云服务器更靠近数据和任务产生源头,能为移动用户提供更低延迟的服务、数据在离设备端更近的移动雾节点上进行处理,传输也更高效,能够减少传输能耗。同时移动雾节点提供的资源更加多样化,例如传感器、摄像头等,能够支持执行的任务类型更多样,例如移动感知型任务等。
移动雾计算下的任务卸载是解决终端设备计算、通信、电池容量等资源受限问题的技术,具体来说,任务卸载通过将处于高负载状态或自身能力较弱的终端设备上的任务卸载到周边具有空闲资源或具有更强能力的其他移动用户设备上,通过利用其他设备更强的计算、通信、存储、感知等能力以及设备上的空闲资源来降低本地设备的负载压力,加快任务执行速度,节省终端设备能耗,提高用户获得的服务质量。
在进行任务卸载方法设计时,需要考虑到移动雾计算环境下任务卸载的特点:
(1)移动设备和移动雾节点间的连接不稳定,作为用户设备或移动雾节点的智能手机、智能平板、智能手表等具有移动性,而蓝牙、LTE-Direct、WIFI-Direct等D2D通信技术的通信范围有限,设备的移动性可能导致设备间的连接断开,进而导致任务数据传输失败,因此任务卸载方法需要考虑到设备移动性带来的影响。
(2)设备资源受限,设备间能建立的点到点连接数量受限,由于受到物理尺寸的限制,移动设备的资源高度受限,能够同时服务的任务数量有限。同时现有的移动设备支持的点到点通信技术数量大都不超过三种,一般的移动设备大都只支持蓝牙、NFC、WIFI-Direct、LTE-Direct中的一到三种,而NFC(Near Field ComMDnication,近场通信)技术所支持的通信范围太小,由于(1)的限制,不适合应用到移动雾计算的任务卸载中,因此移动设备能够同时建立的点到点连接数量有限。任务卸载方法必须考虑到这些特征。
(3)设备资源异构性,不同的移动智能设备例如智能手机、智能手表、平板电脑等配备了不同型号的处理器、通信芯片、感知器、存储器等,支持的操作系统也可能不同,因此不同设备在计算、通信、存储、感知、安全性等能力上具有差异性。例如智能手机都具备蜂窝通信能力,配备了多样的传感器、较为强大的处理器,有些处理器还具有超频功能,而许多智能手表只能通过蓝牙进行通信,同时计算能力相对受限。因此它们处理任务所需时间不同,提供的服务质量也不同。
(4)任务需求的异构性,不同类型的任务对设备属性的要求不同。例如大型在线游戏、AR、VR等计算密集型应用对实时性和设备计算能力有着较高的要求,用户偏向于将此类任务卸载到计算能力强例如配备了可超频CPU的设备上;而数据上传与下载此类传输密集型任务,用户则偏向于将其卸载到周边配备了5G芯片、网络环境良好的设备上;执行人脸识别此类涉及用户隐私的任务时,用户则偏好于将任务卸载到安全性高,能够提供隔离执行环境或能够有效防止恶意软件攻击的设备上。因此任务卸载方法需要根据任务的不同需求和设备的不同属性实现合理的任务分配。现有的针对移动雾计算下的任务卸载方法(如陈旭、章君山,"当D2D遇见云:雾计算中混合移动任务卸载,"-IEEE通信国际会议(ICC),2017,pp.1-6,,英文文献索引为X.Chen and J.Zhang,"When D2D meets cloud:Hybrid mobiletask offloadings in fog computing,"2017IEEE International Conference onCommunications(ICC),2017,pp.1-6;RazieRoostaei,Marzieh Sheikhi,ZeinabMovahedi,“支持D2D的MCC环境下针对优先级约束组件的计算卸载”,AdHoc Networks,2022,卷124,英文文献索引为Razie Roostaei,Marzieh Sheikhi,Zeinab Movahedi,"Computation offloading in D2D-enabled MCC for precedence-constrainedcomponents",AdHoc Networks,Volume 124,2022,AdHoc Networks为期刊名,RazieRoostaei,Marzieh Sheikhi,Zeinab Movahedi为人名)基本没有考虑移动设备移动性对任务卸载带来的影响,不能有效预防移动设备移动导致设备间连接断开,进而导致任务卸载失败的情况。另外现有的任务卸载方法通常只针对计算密集型任务,没有考虑任务对通信、安全、存储、感知等其他能力的需求,无法支持多种类型任务的卸载,资源利用率低。因此,在移动雾计算场景下如何对移动设备上的待处理任务进行任务卸载,解决目前移动雾计算环境下任务卸载方法存在的不能有效预防设备移动性导致任务卸载失败、无法支持卸载多种类型任务、资源利用率低的问题是本领域技术人员极为关注的技术问题。
发明内容
本发明要解决的技术问题是提供一种基于移动雾计算的任务卸载方法,该方法基于移动雾计算环境下任务卸载的特点,考虑设备移动性、设备资源受限性及异构性、任务需求异构性,能够有效预防因设备移动性导致的任务卸载失败问题、支持卸载多种类型任务,同时综合考虑设备异构性及任务需求异构性,以实现合理的任务分配,有效提高资源利用率。
本发明的技术方案是:将基站作为部署任务卸载的第三方平台,通信范围内请求卸载任务的移动设备(MD)向基站提供移动状态、待处理任务的需求及偏好、设备型号、设备名等信息,移动雾节点(MFN)则向基站提供移动状态、移动雾节点资源出售价格、设备型号、设备名等信息。在考虑设备移动性约束以及用户服务质量对不同设备属性的偏好的情况下,将移动雾计算环境下任务卸载中的资源利用率最大化问题建模为二部图的最大加权匹配问题,通过KM(Kuhn-Munkres)算法(Kuhn,H.W.,“分配问题的匈牙利方法”,2005.NavalResearch Logistics(NRL),52(1):7-21,英文文献索引为Kuhn,H.W.(2005).TheHungarian method for the assignment problem.Naval Research Logistics(NRL),52(1),7-21.)求解出能够使得用户总体满意度最高的最优任务分配方案。之后,基站根据最优任务分配方案向移动设备和移动雾节点发出卸载指令,通知请求卸载的移动设备将任务卸载到合适的移动雾节点上去,并通知对应的移动雾节点接受任务数据并执行任务。
本发明的具体技术方案是:
第一步,构建基于移动雾计算的任务卸载系统。基于移动雾计算的任务卸载系统由I个MFN(Mobile Fog Node,移动雾节点)、一个作为任务分配服务器的基站即BS(BaseStation)、J个请求卸载任务的移动设备MD(Mobile Device,由用户使用的移动设备)、一个用于查询设备信息的云数据库服务器CDS(Cloud Database Server)四类网络实体组成,其中I个MFN用M={MFN1,...,MFNii,...,MFNI}表示,I为MFN数量,I为正整数,MFNii表示第ii个MFN,1≤ii≤I;J个请求卸载任务的移动设备MD用D={MD1,...,MDjj,...MDJ}表示,J为MD数量,J为正整数,MDjj表示第jj个MD,1≤jj≤J。MD和MFN均与BS连接,通过蜂窝网络与BS通信;BS与CDS连接,从CDS的键值数据库中查询并读取设备信息。
BS中安装有设备信息管理模块、任务分配模块、任务卸载模块,其中设备信息管理模块负责收集并管理通信范围内的MD和MFN的设备信息(例如设备的移动状态信息以及设备的计算能力、通信能力等属性信息)、MD上待处理任务的相关信息(例如待处理任务对设备属性的最低要求、待处理任务对设备属性的服务质量偏好),并负责根据设备信息构建出描述设备间点到点链路关系的点到点链路图;任务分配模块基于设备信息管理模块提供的设备信息和点到点链路图构建加权二部图,采用KM算法对加权二部图进行处理,得到最优任务分配方案(任务分配方案包含MD集合D与MFN集合M间的匹配关系,匹配关系包含多条边,每条边连接一个MD和一个MFN,边指示MD将任务卸载到与其连接的MFN上),并将最优任务分配方案发送给任务卸载模块;任务卸载模块串行地遍历任务分配方案中存在的边,每找到一条边,就向这条边连接的MD和MFN发送对应的卸载指令,指示MD将任务卸载到与其连接的MFN上,指示MFN接收与其连接的MD上的任务数据,并执行任务。
MFN上安装有第一信息注册模块、第一任务卸载模块。第一信息注册模块负责向BS的设备信息管理模块注册其所属MFN的设备名、设备型号、设备资源出售价格以及移动状态信息;第一任务卸载模块负责接收BS发送的卸载指令,根据卸载指令接收对应MD的点到点连接请求,接收待处理任务的任务数据并执行从MD卸载过来的任务。
MD上安装有第二信息注册模块、第二任务卸载模块。第二信息注册模块负责向BS的设备信息管理模块注册所属MD的设备名、设备型号、移动状态信息以及任务信息,任务信息包括任务对设备属性的最低需求、任务对设备属性的服务质量偏好、用户为服务质量、价格分配的权重因子。第二任务卸载模块负责接收BS发送的卸载指令,根据卸载指令向对应MFN发送点到点连接请求,并在点到点连接建立后,将任务卸载到对应MFN上。
CDS中包含一个键值数据库,存储当今主流移动设备的设备型号及设备属性信息,以键值对形式<设备型号、设备属性信息>存储,设备属性信息包括设备在计算能力(CPU型号、CPU主频数、是否支持超频)、通信能力(是否配置5G芯片,具备5G通信能力)、存储能力(内存及硬盘存储空间的大小,内存、硬盘的型号)、感知能力(是否配备了陀螺仪、温度、湿度等传感器)、安全性(能否提供隔离化执行环境、操作系统重大漏洞数量)五个方面的量化得分,量化得分通过使用常用的基准测试程序(如STREAM、LMBENCH、Nessus)对设备的计算能力、存储能力、通信能力、感知能力、安全性进行测试得出,用非负浮点数表示,设备属性信息还包括设备所支持的点到点通信技术信息(是否支持蓝牙,LTE-Direct,WIFI-Direct,所支持点到点通信技术的通信范围)。
第二步,I个MFN通过第一信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中,J个MD通过第二信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中。BS的设备信息管理模块在注册时间T内等待接收来自MFN或MD的注册请求,接收到注册请求后,BS的设备信息管理模块将该注册请求加入待处理队列中,继续等待接收注册请求,直至注册时间超时。注册时间超时后,BS的设备信息管理模块开始处理待处理队列中的注册请求,处理完成后,根据注册情况判断是继续等待接收注册请求,还是进入第三步开始任务分配。方法是:
2.1BS的设备信息管理模块初始化MFN链表及MD链表为空,MFN链表用于组织MFN信息块,MFN信息块用于保存注册成功的MFN的设备信息;MD链表用于组织MD信息块,MD信息块用于保存注册成功的MD的设备信息;BS的设备信息管理模块初始化待处理队列为空,待处理队列用于保存来自MFN或MD的注册请求。
2.2I个MFN和J个MD通过GPS确定自己的当前移动状态信息,包括当前位置的二维坐标、移动方向、移动速度和状态记录时刻,I个MFN通过第一信息注册模块并行地向基站发起注册请求,J个MD通过第二信息注册模块并行地向基站发起注册请求,具体地,集合M中第ii个MFN即MFNii的注册请求用
Figure BDA0003616458520000041
Figure BDA0003616458520000042
表示,其中
Figure BDA0003616458520000043
分别表示MFNii的设备名、设备型号、移动状态信息以及设备资源出售价格。集合D中第jj个MD即MDjj的注册请求用
Figure BDA0003616458520000044
Figure BDA0003616458520000045
表示,其中
Figure BDA0003616458520000046
分别表示MDjj的设备名、设备型号、移动状态信息、MDjj所设定的待处理任务对设备属性的最低要求、MDjj所设定的待处理任务对设备属性的服务质量偏好、MDjj所设定的服务质量-价格权重因子。
Figure BDA0003616458520000051
为字符串类型;
Figure BDA0003616458520000052
为非负浮点数;
Figure BDA0003616458520000053
均为六行一列的浮点型数组,且数组中的每个元素均为非负浮点数;
Figure BDA0003616458520000054
均为五行一列的浮点型数组;
Figure BDA0003616458520000055
为取值在0到1之间的非负浮点数。
2.3BS的设备信息管理模块创建一个定时器,根据定时器是否超时确定是否继续等待接收注册请求,根据待处理队列状态确定是否开始处理注册请求。方法是:
2.3.1设定注册时间T(T为1~3s),设置定时器超时时间为T,启动定时器;
2.3.2判定定时器是否超时,若未超时,等待接收来自MFN或MD的注册请求,若接收到一个来自MFN或MD的注册请求,转2.3.3;若定时器超时,转2.3.4;
2.3.3BS的设备信息管理模块将该注册请求加入到待处理队列的尾端,转2.3.2;
2.3.4BS的设备信息管理模块判断待处理队列是否为空,若为空,转2.3.1重新开始接收注册请求;若不为空,转2.4。
2.4BS的设备信息管理模块取出位于待处理队列队头的注册请求,判断该注册请求类型,若注册请求中包含四个参数,则该请求为MFN的注册请求,转步骤2.5;若注册请求中包含六个参数,则该请求为MD的注册请求,转步骤2.6;若注册请求既不是四个参数,又不是六个参数,则注册请求非法,注册失败,BS的设备信息管理模块通知该设备注册失败,转2.11。
2.5BS的设备信息管理模块校验来自MFN的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型,设备资源出售价格是否为非负浮点数,移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MFN注册失败,转2.11;若符合格式要求,转2.7。
2.6BS的设备信息管理模块校验来自MD的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型;任务需求和偏好是否为六行一列的浮点型数组,且数组中的每个元素是否为非负浮点数;服务质量-价格权重因子是否为取值在0-1之间的非负浮点数;移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MD注册失败,转2.11;若符合格式要求,转2.7。
2.7BS的设备信息管理模块根据注册请求中包含的设备型号从CDS的键值数据库中查询并读取该设备型号的设备属性信息。若能够根据设备型号在键值数据库中查询到设备属性信息,则注册成功,转步骤2.8;否则注册失败,设备信息管理模块通知该设备注册失败,转2.11。
2.8BS的设备信息管理模块根据步骤2.4中判断的注册请求类型,将注册成功的设备分类为MFN和MD。若为MFN,转步骤2.9;若为MD,转步骤2.10。
2.9BS的设备信息管理模块为注册成功的MFN构建一个MFN信息块,MFN信息块由MFN设备名、MFN设备属性表、MFN点到点通信表、MFN移动状态表、MFN时间戳、设备资源出售价格六部分组成,具体构建过程如下:
2.9.1BS的设备信息管理模块读取MFN注册请求中的设备名,保存到MFN信息块的MFN设备名中,MFN设备名为字符串类型,用于标志该MFN信息块归属于哪个MFN。
2.9.2BS的设备信息管理模块将从键值数据库中读取到的MFN设备属性信息保存到MFN信息块的MFN设备属性表中,MFN设备属性表为五行一列的浮点型数组。具体地,MFNii的设备属性表可用
Figure BDA0003616458520000061
表示,其中
Figure BDA0003616458520000062
分别表示MFNii在计算能力、通信能力、存储能力、感知能力以及安全性上的量化得分,
Figure BDA0003616458520000063
均为非负浮点数;
2.9.3BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MFN信息块的MFN点到点通信表中,MFN点到点通信表为三行一列的浮点型数组。具体地,MFNii的点到点通信表用数组
Figure BDA0003616458520000064
表示,其中
Figure BDA0003616458520000065
分别代表MFNii所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用非负浮点数表示,单位为m,MFNii不支持第p类点到点通信技术时,则令
Figure BDA0003616458520000066
2.9.4BS的设备信息管理模块将MFN汇报的移动状态信息保存到MFN信息块的MFN移动状态表中,MFN移动状态表为五行一列的浮点型数组。具体地,MFNii的移动状态表用五行一列的浮点型数组
Figure BDA0003616458520000067
表示,其中
Figure BDA0003616458520000068
分别表示MFNii当前位置的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure BDA0003616458520000069
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MFNii当前的移动方向,
Figure BDA00036164585200000610
表示当前移动速度,单位为m/s;
Figure BDA00036164585200000611
表示该移动状态被记录的时刻,单位为s。
2.9.5BS的设备信息管理模块将MFN注册请求中汇报的设备资源出售价格保存到MFN信息块的设备资源出售价格中,设备资源出售价格为浮点数类型,具体地,MFNii的设备资源出售价格用
Figure BDA00036164585200000612
表示,为非负浮点数;至此,MFN信息块构建完毕。
2.9.6BS的设备信息管理模块将MFN信息块加入到MFN链表的尾端,转2.11。
2.10BS的设备信息管理模块为注册成功的MD构建一个MD信息块,MD信息块由MD设备名、MD点到点通信表、MD移动状态表、MD时间戳、任务信息块五部分组成,具体构建过程如下:
2.10.1BS的设备信息管理模块读取MD注册请求中汇报的设备名,并保存到MD信息块的MD设备名中,MD设备名为字符串类型,用于标志该MD信息块归属于哪个MD。
2.10.2BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MD信息块的MD点到点通信表表中,MD点到点通信表为三行一列的浮点型数组;具体地,MDjj的点到点通信表可用数组
Figure BDA00036164585200000613
表示,其中
Figure BDA00036164585200000614
分别代表MDjj所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用浮点数表示,单位为m,MDjj不支持第p类点到点通信技术时,
Figure BDA0003616458520000071
2.10.3BS的设备信息管理模块将MD所汇报的移动状态信息保存到MD信息块的MD移动状态表中,MD移动状态表为五行一列的浮点型数组;具体地,MDjj的移动状态表用五行一列的浮点型数组
Figure BDA0003616458520000072
表示,其中
Figure BDA0003616458520000073
分别表示MDjj当前的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure BDA0003616458520000074
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MDjj当前的移动方向,
Figure BDA0003616458520000075
表示当前移动速度,单位为m/s,
Figure BDA0003616458520000076
表示该移动状态被记录的时刻,单位为s;
2.10.4MD信息块的任务信息块由属性要求表、服务质量偏好表、服务质量-价格权重因子三部分组成,属性要求表和服务质量偏好表均为六行一列浮点型数组,服务质量-价格权重因子为取值在0-1之间的浮点数,设备信息管理模块将MD注册请求中的后三项参数req,pre,w分别保存到任务信息块的属性要求表、服务质量偏好表、服务质量-价格权重因子中;具体地,MDjj的MD信息块的任务信息块中的属性要求表用六行一列浮点型数组
Figure BDA0003616458520000077
表示,数组元素
Figure BDA0003616458520000078
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间的最低要求,由第jj个MD自主设定;MDjj的MD信息块的任务信息块中的服务质量偏好表用六行一列浮点型数组
Figure BDA0003616458520000079
表示,数组元素
Figure BDA00036164585200000710
Figure BDA00036164585200000711
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这6种设备属性的服务质量偏好,任务对第q种设备属性的服务质量偏好指执行任务设备的第q种属性值若增加1,任务能够获得的服务质量增益。服务质量偏好表由MDjj自主设定,0≤q≤5;MDjj的MD信息块的任务信息块中的服务质量-价格权重因子可用
Figure BDA00036164585200000712
表示,
Figure BDA00036164585200000713
为取值在0-1之间的浮点数,表示MDjj对服务质量和价格之间的权衡,由MDjj自主设定,用户可通过调节服务质量-价格权重因子满足自身对服务质量或价格的不同需求;
2.10.5MDjj的MD信息块构建完毕,BS的设备信息管理模块将MDjj的MD信息块加入到MD链表的尾端,转2.11。
2.11 BS的设备信息管理模块判断待处理队列是否为空,若不为空,说明待处理队列中还有注册请求尚未处理,转2.4;若为空,说明待处理队列中的注册请求已全部处理完毕,转2.12。
2.12 BS的设备信息管理模块判断MD链表是否为空,若不为空,说明存在注册成功的MD,转2.13;若为空,说明不存在注册成功的MD,没有任务可进行分配,转2.3继续等待接收注册请求。
2.13 BS的设备信息管理模块判断MFN链表是否为空,若不为空,说明同时存在注册成功的MFN和MD,可以尝试进行任务分配,进入第三步;若为空,说明不存在注册成功的MFN,没有可以执行任务的设备,转2.3继续等待接收注册请求。
第三步,将注册成功的MFN用集合M′表示,M′={MFN′1,MFN′2,...,MFN′i,...,MFN′I′}表示,其中I′为MFN链表中保存的MFN信息块总数即注册成功的MFN总数,为正整数,MFN′i为MFN链表中第i个MFN信息块所表示的MFN,1≤i≤I′。将注册成功的MD用集合D′表示,D′={MD′1,MD′2,...,MD′j,...,MD′J′},其中J′为MD链表中保存的MD信息块总数即注册成功的MD总数,为正整数,MD′j为MD链表中第j个MD信息块所表示的MD,1≤j≤J′。BS的设备信息管理模块读取MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,并将G保存到设备信息管理模块中。具体方法如下:
3.1 BS的设备信息管理模块初始化点到点链路图G,G={M′,D′,E},其中M′为MFN集合,D′为MD集合,边集E初始为空。
3.2获取基于移动雾计算的任务卸载系统当前时间tnow
3.3 BS的设备信息管理模块基于MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,方法为:
3.3.1初始化变量i为1。
3.3.2 BS的设备信息管理模块读取MFN链表中第i个MFN信息块(即MFN′i的MFN信息块)中保存的MFN移动状态表
Figure BDA0003616458520000081
和MFN点到点通信表
Figure BDA0003616458520000082
3.3.3根据公式(1)计算出MFN′i当前的横坐标
Figure BDA0003616458520000083
和MFN′i当前的纵坐标
Figure BDA0003616458520000084
计算公式如下:
Figure BDA0003616458520000085
其中
Figure BDA0003616458520000091
表示MFN′i移动状态信息的记录时刻,
Figure BDA0003616458520000092
分别表示MFN′i在记录时刻的横坐标和纵坐标,
Figure BDA0003616458520000093
分别表示MFN′i在记录时刻的移动方向、移动速度。
3.3.4 BS的设备信息管理模块读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出MFNi与J′个MD之间的通信范围半径和链路可维持时间,并在图G中,在顶点MFN′i和能够与MFN′i建立通信链路的MD顶点间添加无向边,边的权重值即为MFN′i和通过该边与MFN′i相连的MD之间的链路可维持时间。方法为:
3.3.4.1初始化j为1。
3.3.4.2 BS的设备信息管理模块读取MD链表中第j个MD信息块(即MD′j的MD信息块)中保存的MD移动状态表
Figure BDA0003616458520000094
和MD点到点通信表
Figure BDA0003616458520000095
3.3.4.3根据公式(2)计算出MFN′i与MD′j之间的通信范围半径R,若R=0,转3.3.4.6;若R≠0,转3.3.4.4。
Figure BDA0003616458520000096
其中
Figure BDA0003616458520000097
分别表示MFN′i所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure BDA0003616458520000098
分别表示MD′j所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure BDA0003616458520000099
表示当MFN′i与MD′j使用第p类点到点通信技术进行通信时的通信范围半径(例如当MFNi′与MDj′均使用蓝牙进行通信时,若MFNi′的蓝牙通信半径为3,MDj′的蓝牙通信半径为2,只有当MFNi′与MDj′均处于各自的蓝牙通信半径内,双方才可建立通信链路,因此MFNi′与MDj′之间的蓝牙通信范围半径应为MFNi′蓝牙通信半径、MDj′蓝牙通信半径中较小的那个),0≤p≤2。
3.3.4.4根据公式(3)计算出MD′j当前的横坐标
Figure BDA00036164585200000910
和MD′j当前的纵坐标
Figure BDA00036164585200000911
Figure BDA00036164585200000912
其中
Figure BDA00036164585200000913
表示MD′j移动状态信息的记录时刻,
Figure BDA00036164585200000914
分别表示MD′j在记录时刻的横坐标和纵坐标,
Figure BDA00036164585200000915
分别表示MD′j在记录时刻的移动方向、移动速度。
3.3.4.5为图G新增无向边e(MFN′i,MD′j),根据公式(4)计算e(MFN′i,MD′j)的权重|e(MFN′i,MD′j)|,权重|e(MFN′i,MD′j)|表示MFN′i与MD′j间的链路可维持时间。
Figure BDA0003616458520000101
其中a表示MFN′i与MD′j在横轴正向方向上的速度之差,b表示MFN′i与MD′j的横坐标之差,c表示MFN′i与MD′j在纵轴正向方向上的速度之差,d表示MFN′i与MD′j的纵坐标之差,R表示MFN′i与MD′j之间的通信范围半径。
3.3.4.6若j=J′,说明当前MD信息块已处于MD链表的末尾,完成了MFN′i与J′个MD之间的通信范围半径和链路可维持时间的计算,转3.3.5;否则令j=j+1,转步骤3.3.4.2。
3.3.5若i=I′,说明当前MFN信息块已处于MFN链表的末尾,点到点链路图G构建完毕,进入第四步;否则令i=i+1,转步骤3.3.2。
第四步,BS中的任务分配模块根据设备信息管理模块中保存的MFN链表和MD链表,以及第三步中得到的点到点链路图G构建M′与D′间的加权二部图T′,T′={M′,D′,E′},方法如下:
4.1 BS的任务分配模块构建初始二部图T′={M′,D′,E′},E'初始化为空集;
4.2基于MFN链表、MD链表、点到点链路图G计算出J′个MD到I′个MFN间的任务卸载满意度,构建加权二部图T′。方法为:
4.2.1初始化j为1;
4.2.2 BS的任务分配模块读取MD链表中第j个MD信息块(即MD′j的MD信息块)中的属性要求表
Figure BDA0003616458520000102
服务质量偏好表
Figure BDA0003616458520000103
服务质量-价格权重因子
Figure BDA0003616458520000104
4.2.3 BS的任务分配模块读取I′个MFN的设备属性表和设备资源出售价格,计算出MD′j到I′个MFN间的任务卸载满意度,并在图T′中,在顶点MDj′和I′个MFN间添加无向边,边的权重为MDj′将任务卸载到通过该边与其相连的MFN上的任务卸载满意度,方法为:
4.2.3.1初始化i为1;
4.2.3.2为图T′新增无向边e′(MFN′i,MD′j),将权重|e′(MFN′i,MD′j)|初始化为0;
4.2.3.3 BS的任务分配模块读取MFN链表中第i个MFN信息块(即MFN′i的MFN信息块)中的设备属性表
Figure BDA0003616458520000111
和设备资源出售价格
Figure BDA0003616458520000112
并根据步骤4.2.2读取到的
Figure BDA0003616458520000113
判断MFN′i的设备属性是否达到MD′j上待处理任务对设备属性的最低要求,具体地,MFN′i满足MD′j上待处理任务的最低要求需满足7个条件,即满足
Figure BDA0003616458520000114
Figure BDA0003616458520000115
Figure BDA0003616458520000116
Figure BDA0003616458520000117
Figure BDA0003616458520000118
Figure BDA0003616458520000119
(e(MFN′i,MD′j)∈G(M′,D′,E))
即MFN′i必须同时满足MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求(例如移动感知任务要求感知数据收集时间不少于2s,则执行该任务的MFN与卸载该任务的MD之间点到点通信的链路可维持时间至少不能少于2s,否则感知数据无法传回)并满足e(MFN′i,MD′j)∈G(M′,D′,E)。其中
Figure BDA00036164585200001110
分别表示MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求,
Figure BDA00036164585200001111
分别表示MFN′i在计算能力、通信能力、存储能力、感知能力、安全性这五个方面的量化得分,条件e(MFN′i,MD′j)∈G(M′,D′,E)表示MFN′i必须能够与MD′j建立点到点连接,|e(MFN′i,MD′j)|表示当MFN′i与MD′j建立点到点连接时,其通信链路能够维持的时间。若不能同时满足这7个条件,直接转步骤4.2.3.4;否则为边e′(MFN′i,MD′j)按公式(5)修改权重,再转步骤4.2.3.4,权重修改公式如下:
Figure BDA0003616458520000121
其中
Figure BDA0003616458520000122
表示MD′j设定的服务质量-价格权重因子,
Figure BDA0003616458520000123
表示MFN′i的设备资源出售价格,
Figure BDA0003616458520000124
表示MD′j将任务卸载到MFN′i上获得的预期服务质量,
Figure BDA0003616458520000125
的计算公式如下:
Figure BDA0003616458520000126
其中
Figure BDA00036164585200001211
为MD′j的服务质量偏好表的第k项,表示MD′j任务对第k种设备属性的服务质量偏好,0≤k≤5。
Figure BDA00036164585200001212
为MFNi′的设备属性表的第k项,表示MFNi′在第k种设备属性上的量化得分。
Figure BDA0003616458520000127
为MD′j的服务质量偏好表的第5项,即MD′j对链路可维持时间的服务质量偏好。
4.2.3.4若i=I′,说明当前MFN信息块已处于MFN链表的末尾,MD′j到I′个MFN间的任务卸载满意度计算完成,转步骤4.2.4;否则令i=i+1,返回步骤4.2.3.2。
4.2.4若j=J′,说明当前MD信息块已处于MD链表的末尾,加权二部图T′构建完毕,进入第五步;否则令j=j+1,返回步骤4.2.2。
第五步,BS的任务分配模块采用KM算法在多项式时间内确定在只存在有限个MFN的情况下,使用户获得最高总体满意度Sat的任务分配方案,该问题可用公式(7)定义:
Figure BDA0003616458520000128
约束1
Figure BDA0003616458520000129
约束2
Figure BDA00036164585200001210
其中xji为布尔变量,表示MD'j是否将任务卸载到MFN'i上,若是,则xji为1;否则xji为0;约束1表示一个任务只能卸载到一个MFN上执行;约束2表示一个MFN受移动性、点到点通信的约束,一次只能执行一个任务。因此求解Sat的问题转化为在加权二部图T'中寻找最大加权匹配问题,可通过KM算法在多项式时间内求解。本步骤中,BS的任务分配模块将图T′作KM算法的输入,以确定能够使得总体用户满意度最高的任务分配方案,具体步骤如下:
5.1为T′中存在的每个顶点设置初始顶标值,对于
Figure BDA0003616458520000131
其初始顶标值l′(MFN′i)为关联顶点MFN′i的边中具有最大权重的边的权重,即l′(MFN′i)=max{|e′(MFN′i,MD′j)||MD′j∈D‘},对于
Figure BDA0003616458520000132
令其初始顶标值l′(MD′j)=0。
5.2初始化图T′e=T′,T′e可用T′e={M‘,D′,E′e}表示,T′e=T′表示图T′e初始化后的顶点集、边集与图T′的顶点集、边集完全相同。
5.3使Te′成为T‘的相等子图,图T′的相等子图T′e指T′e包含了T′中的所有顶点,并且其边集E′e满足
Figure BDA0003616458520000136
即E′e中任意一条边的权重都等于其关联的两个顶点的顶标值之和,方法是:
5.3.1将图T′中满足条件的边(边关联的两个顶点的顶标值之和等于该边权重)加入到T′e中,遍历图T′的边集E',对于
Figure BDA0003616458520000133
如果l′(MFN′i)+l′(MD′j)=|e′(MFN′i,MD′j)|并且
Figure BDA0003616458520000134
将边e′(MFN′i,MD′j)添加到图T′e的边集E′e中,即令E′e=E′e∪e′(MFN′i,MD′j),遍历完成后,图T′e新增边完毕。
5.3.2删除图Te′中不满足条件的边(边关联的两个顶点的顶标值之和不等于该边权重),遍历T′e的边集E′e,对于
Figure BDA0003616458520000135
如果l′(MFN′i)+l′(MD′j)≠|e′(MFN′i,MD′j)|,即边e′(MFN′i,MD′j)的权重不等于其关联的两个顶点的顶标值之和,则从边集E'e中删除边e′(MFN′i,MD′j),遍历完成后,图T′e删除边完毕,T′e成为T‘的相等子图。
5.4求解最优的任务分配方案即图T′的最大加权匹配,在图T′的相等子图T′e中执行匈牙利算法(参见Edmonds,Jack,"路径、树和花."-加拿大数学杂志,1965,449-467,英文文献索引为Edmonds,J.(1965).“Paths,trees,and flowers.”Canadian Journal ofmathematics,17,449-467.),找到匹配O(O是T′e的子图,同时O边集中的任意两条边都不依附于同一个顶点,此时称O为T′e的一个匹配),若匹配O是T′e的完美匹配(即O包含了T′e中的所有顶点,且每个顶点都关联且仅关联一条边),则O就是图T′的最大加权匹配,可用O={M′,D′,EO}表示,O的边集Eo中包含的每条边都表示一个卸载决策,转第六步;否则按匈牙利算法生成集合L、B,其中L为M′的子集,B为D′的子集,L为匹配O的不饱和点(若顶点v不与O中的任意一条边相关联,则称顶点v是匹配O的不饱和点)集,B为O的饱和点(若O中存在一条边与顶点v相关联,则称顶点v是匹配O的饱和点)集,转步骤5.5。
5.5按如下公式更新T′e中各个顶点的顶标值:
Figure BDA0003616458520000141
δl=min{l′(MFN′i)+l′(MD′j)-|e′(MFN′i,MD′j)||MFN′i∈L,MD′j∈D‘-B} 公式(9)
其中l′(x)表示顶点x的顶标值,|e′(MFN′i,MD′j)|为图T′中边e′(MFN′i,MD′j)的权重,更新完毕后,由于顶标值的改变,T′e可能不再是图T′的相等子图,需要对图T′e进行处理,使其重新成为图T′的相等子图,转步骤5.3对图T′e进行处理;
第六步,BS的任务卸载模块根据第五步中获得的最优任务分配方案即最大加权匹配O进行任务卸载,具体地,如果e(MFN′i,MD′j)∈EO,且|e(MFN′i,MD′j)|>0,则边e(MFN′i,MD′j)表示MD′j上的任务应卸载给MFN′i进行处理。BS的任务卸载模块遍历EO中的每一条边,若边的权重大于0,向边相连的MD和MFN发送卸载指令,MD接收到BS发送的卸载指令后,根据卸载指令指示将任务卸载到与其相连的MFN上执行,MFN接收到BS发送的卸载指令后,根据卸载指令指示接收并执行与其相连的MD上的待处理任务,具体步骤如下:
6.1初始化s为1。
6.2 BS的任务卸载模块读取EO中的第s条边es,es关联的MFN用
Figure BDA0003616458520000142
表示,es关联的MD用
Figure BDA0003616458520000143
表示,若es的权重|es|>0,转6.3;若|es|=0,转6.7。
6.3 BS的任务卸载模块从MD链表中读取
Figure BDA0003616458520000144
的设备名,从MFN链表中读取
Figure BDA0003616458520000145
的设备名;
6.4 BS的任务卸载模块根据
Figure BDA0003616458520000146
的设备名与
Figure BDA0003616458520000147
建立通信,将
Figure BDA0003616458520000148
的设备名插入到卸载指令中后,发送卸载指令给
Figure BDA0003616458520000149
以通知
Figure BDA00036164585200001410
开始任务卸载并将任务卸载到
Figure BDA00036164585200001411
上;BS的任务卸载模块根据
Figure BDA00036164585200001412
的设备名与
Figure BDA00036164585200001413
建立通信,将
Figure BDA00036164585200001414
的设备名插入到卸载指令中,发送卸载指令给
Figure BDA00036164585200001415
以通知
Figure BDA00036164585200001416
准备接收
Figure BDA00036164585200001417
上待处理任务的数据并执行待处理任务。
6.5
Figure BDA0003616458520000151
上的第二任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名向
Figure BDA0003616458520000152
发起点到点连接请求;
Figure BDA0003616458520000153
上的第一任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名,监听并接收来自
Figure BDA0003616458520000154
的点到点连接请求。
6.6
Figure BDA0003616458520000155
Figure BDA0003616458520000156
的点到点连接建立后,
Figure BDA0003616458520000157
基于点到点通信将任务卸载到
Figure BDA0003616458520000158
上,
Figure BDA0003616458520000159
接收任务数据并执行任务。
6.7 BS的设备信息管理模块从MD链表中删除
Figure BDA00036164585200001510
所对应的MD信息块,从MFN链表中删除
Figure BDA00036164585200001511
所对应的信息块。
6.8若S<|EO|,|EO|表示集合EO包含的总边数,则令s=s+1,转6.2;若s=|Eo|,说明遍历EO结束,任务卸载模块已发送完所有任务卸载指令,本轮任务分配执行完毕,进入第七步。
第七步,BS的设备信息管理模块清除MD链表中已过时的MD信息块,清除MFN链表中已过时的MFN信息块,BS的设备信息管理模块和任务分配模块清除第三步到第六步中产生的中间数据,包括点到点链路图G、加权二部图T′、相等子图T′e、最大加权匹配O,转2.3开始下一轮任务分配,具体步骤如下:
7.1 BS的设备信息管理模块获取当前时间。
7.2 BS的设备信息管理模块判断MD链表是否为空,不为空,转7.3;为空转7.4;
7.3 BS的设备信息管理模块遍历MD链表,删除MD链表中移动状态信息已过时的MD信息块,方法如下:
7.3.1初始化j为1;
7.3.2 BS读取MD链表的第j个MD信息块的MD移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MD信息块中保存的移动状态信息已过时,转7.3.3;若记录时刻距离当前时间不超过5s,转7.3.4;
7.3.3若第j个MD信息块位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,转步骤7.4;若第j个MD信息块不是位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,删除后,该MD信息块的下一个MD信息块是MD链表中第j个MD信息块(从链表头到链表尾数),转7.3.2;
7.3.4若第j个MD信息块位于MD链表的尾端,转7.4,否则令j=j+1,转7.3.2;
7.4 BS的设备信息管理模块判断MFN链表是否为空,若不为空,转7.5;为空,转7.6;
7.5 BS的设备信息管理模块遍历MFN链表,删除MFN链表中移动状态信息已过时的MFN信息块,方法如下:
7.5.1初始化i为1;
7.5.2 BS读取MFN链表的第i个MFN信息块的MFN移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MFN信息块中保存的移动状态信息已过时,转7.5.3;若记录时刻距离当前时间不超过5s,转7.5.4;
7.5.3若第i个MFN信息块位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,转步骤7.6;若第i个MFN信息块不是位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,删除后,该MFN信息块的下一个MFN信息块是MFN链表中第i个MFN信息块(从链表头到链表尾数),转7.5.2;
7.5.4若第i个MFN信息块位于MFN链表的尾端,转7.6;否则令i=i+1,转7.5.2;
7.6 BS的设备信息管理模块删除点到点链路图G;
7.7 BS的任务分配模块删除加权二部图T′、相等子图T′e、最大加权匹配R;
7.8转2.3开始下一轮任务分配。
与现有技术相比,采用本发明可达到以下技术效果:
1.本发明第一步设计的基于移动雾计算的任务卸载系统将设备的计算能力、通信能力、存储能力、感知能力、安全性等多种设备属性考虑在内,与传统方法相比,本发明能够支持用户对多种类型任务的卸载。
2.本发明第三步将设备移动性考虑在内,构建了点到点链路可维持时间图G,并允许用户根据任务类型设定最低的连接时间要求,能够预防移动用户与卸载设备在给定时间要求内因移动性和点到点通信范围限制发生设备间通信中断进而导致任务卸载失败的情况。
3.本发明第五步采用基于KM算法的任务分配方法,能够在多项式时间内确定使得系统内用户整体满意度最高的最优任务分配方案,有效提高资源利用率,同时能够确保基站不会产生过量的能量消耗,并保证基站执行任务分配决策时不产生过量的时间开销。
附图说明
图1是本发明总体流程图;
图2是本发明第一步构建的基于移动雾计算的任务卸载系统逻辑结构图。
具体实施方式
图1为本发明的总体流程图;如图1所示,本发明包括以下步骤:
第一步,构建基于移动雾计算的任务卸载系统。基于移动雾计算的任务卸载系统如图2所示,由I个MFN、一个作为任务分配服务器的基站即BS、J个请求卸载任务的移动设备MD、一个用于查询设备信息的云数据库服务器CDS四类网络实体组成,其中I个MFN用M={MFN1,...,MFNii,...,MFNI}表示,I为MFN数量,I为正整数,MFNii表示第ii个MFN,1≤ii≤I;J个请求卸载任务的移动设备MD用D={MD1,...,MDjj,...MDJ}表示,J为MD数量,J为正整数,MDjj表示第jj个MD,1≤jj≤J。MD和MFN均与BS连接,通过蜂窝网络与BS通信;BS与CDS连接,从CDS的键值数据库中查询并读取设备信息。
BS中安装有设备信息管理模块、任务分配模块、任务卸载模块,其中设备信息管理模块负责收集并管理通信范围内的MD和MFN的设备信息(如设备的移动状态信息以及设备的计算能力、通信能力等属性信息)、MD上待处理任务的相关信息(如待处理任务对设备属性的最低要求、待处理任务对设备属性的服务质量偏好),并负责根据设备信息构建出描述设备间点到点链路关系的点到点链路图;任务分配模块基于设备信息管理模块提供的设备信息和点到点链路图构建加权二部图,采用KM算法对加权二部图进行处理,得到最优任务分配方案(任务分配方案包含MD集合D与MFN集合M间的匹配关系,匹配关系包含多条边,每条边连接一个MD和一个MFN,边指示MD将任务卸载到与其连接的MFN上),并将最优任务分配方案发送给任务卸载模块;任务卸载模块串行地遍历任务分配方案中存在的边,每找到一条边,就向这条边连接的MD和MFN发送对应的卸载指令,指示MD将任务卸载到与其连接的MFN上,指示MFN接收与其连接的MD上的任务数据,并执行任务。
MFN上安装有第一信息注册模块、第一任务卸载模块。第一信息注册模块负责向BS的设备信息管理模块注册其所属MFN的设备名、设备型号、设备资源出售价格以及移动状态信息;第一任务卸载模块负责接收BS发送的卸载指令,根据卸载指令接收对应MD的点到点连接请求,接收待处理任务的任务数据并执行从MD卸载过来的任务。
MD上安装有第二信息注册模块、第二任务卸载模块。第二信息注册模块负责向BS的设备信息管理模块注册所属MD的设备名、设备型号、移动状态信息以及任务信息,任务信息包括任务对设备属性的最低需求、任务对设备属性的服务质量偏好、用户为服务质量、价格分配的权重因子。第二任务卸载模块负责接收BS发送的卸载指令,根据卸载指令向对应MFN发送点到点连接请求,并在点到点连接建立后,将任务卸载到对应MFN上。
CDS中包含一个键值数据库,存储当今主流移动设备的设备型号及设备属性信息,以键值对形式<设备型号、设备属性信息>存储,设备属性信息包括设备在计算能力(CPU型号、CPU主频数、是否支持超频)、通信能力(是否配置5G芯片,具备5G通信能力)、存储能力(内存及硬盘存储空间的大小,内存、硬盘的型号)、感知能力(是否配备了陀螺仪、温度、湿度等传感器)、安全性(能否提供隔离化执行环境、操作系统重大漏洞数量)五个方面的量化得分,量化得分通过使用常用的基准测试程序(如STREAM(版本号5.10.1)、LMBENCH(版本号3.0-a9)、Nessus(版本号8.13.1))对设备的计算能力、存储能力、通信能力、感知能力、安全性进行测试得出,用非负浮点数表示,设备属性信息还包括设备所支持的点到点通信技术信息(是否支持蓝牙,LTE-Direct,WIFI-Direct,所支持点到点通信技术的通信范围)。
第二步,I个MFN通过第一信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中,J个MD通过第二信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中。BS的设备信息管理模块在注册时间T内等待接收来自MFN或MD的注册请求,接收到注册请求后,BS的设备信息管理模块将该注册请求加入待处理队列中,继续等待接收注册请求,直至注册时间超时。注册时间超时后,BS的设备信息管理模块开始处理待处理队列中的注册请求,处理完成后,根据注册情况判断是继续等待接收注册请求,还是进入第三步开始任务分配。方法是:
2.1 BS的设备信息管理模块初始化MFN链表及MD链表为空,MFN链表用于组织MFN信息块,MFN信息块用于保存注册成功的MFN的设备信息;MD链表用于组织MD信息块,MD信息块用于保存注册成功的MD的设备信息;BS的设备信息管理模块初始化待处理队列为空,待处理队列用于保存来自MFN或MD的注册请求。
2.2 I个MFN和J个MD通过GPS确定自己的当前移动状态信息,包括当前位置的二维坐标、移动方向、移动速度和状态记录时刻,I个MFN通过第一信息注册模块并行地向基站发起注册请求,J个MD通过第二信息注册模块并行地向基站发起注册请求,具体地,集合M中第ii个MFN即MFNii的注册请求用
Figure BDA0003616458520000181
Figure BDA0003616458520000182
表示,其中
Figure BDA0003616458520000183
分别表示MFNii的设备名、设备型号、移动状态信息以及设备资源出售价格。集合D中第jj个MD即MDjj的注册请求用
Figure BDA0003616458520000184
Figure BDA0003616458520000185
表示,其中
Figure BDA0003616458520000186
分别表示MDjj的设备名、设备型号、移动状态信息、MDjj所设定的待处理任务对设备属性的最低要求、MDjj所设定的待处理任务对设备属性的服务质量偏好、MDjj所设定的服务质量-价格权重因子。
Figure BDA0003616458520000187
为字符串类型;
Figure BDA0003616458520000188
为非负浮点数;
Figure BDA0003616458520000189
均为六行一列的浮点型数组,且数组中的每个元素均为非负浮点数;
Figure BDA00036164585200001810
均为五行一列的浮点型数组;
Figure BDA00036164585200001811
为取值在0到1之间的非负浮点数。
2.3 BS的设备信息管理模块创建一个定时器,根据定时器是否超时确定是否继续等待接收注册请求,根据待处理队列状态确定是否开始处理注册请求。方法是:
2.3.1设定注册时间T(T为1~3s),设置定时器超时时间为T,启动定时器;
2.3.2判定定时器是否超时,若未超时,等待接收来自MFN或MD的注册请求,若接收到一个来自MFN或MD的注册请求,转2.3.3;若定时器超时,转2.3.4;
2.3.3 BS的设备信息管理模块将该注册请求加入到待处理队列的尾端,转2.3.2;
2.3.4 BS的设备信息管理模块判断待处理队列是否为空,若为空,转2.3.1重新开始接收注册请求;若不为空,转2.4。
2.4 BS的设备信息管理模块取出位于待处理队列队头的注册请求,判断该注册请求类型,若注册请求中包含四个参数,则该请求为MFN的注册请求,转步骤2.5;若注册请求中包含六个参数,则该请求为MD的注册请求,转步骤2.6;若注册请求既不是四个参数,又不是六个参数,则注册请求非法,注册失败,BS的设备信息管理模块通知该设备注册失败,转2.11。
2.5 BS的设备信息管理模块校验来自MFN的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型,设备资源出售价格是否为非负浮点数,移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MFN注册失败,转2.11;若符合格式要求,转2.7。
2.6 BS的设备信息管理模块校验来自MD的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型;任务需求和偏好是否为六行一列的浮点型数组,且数组中的每个元素是否为非负浮点数;服务质量-价格权重因子是否为取值在0-1之间的非负浮点数;移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MD注册失败,转2.11;若符合格式要求,转2.7。
2.7 BS的设备信息管理模块根据注册请求中包含的设备型号从CDS的键值数据库中查询并读取该设备型号的设备属性信息。若能够根据设备型号在键值数据库中查询到设备属性信息,则注册成功,转步骤2.8;否则注册失败,设备信息管理模块通知该设备注册失败,转2.11。
2.8 BS的设备信息管理模块根据步骤2.4中判断的注册请求类型,将注册成功的设备分类为MFN和MD。若为MFN,转步骤2.9;若为MD,转步骤2.10。
2.9 BS的设备信息管理模块为注册成功的MFN构建一个MFN信息块,MFN信息块由MFN设备名、MFN设备属性表、MFN点到点通信表、MFN移动状态表、MFN时间戳、设备资源出售价格六部分组成,具体构建过程如下:
2.9.1 BS的设备信息管理模块读取MFN注册请求中的设备名,保存到MFN信息块的MFN设备名中,MFN设备名为字符串类型,用于标志该MFN信息块归属于哪个MFN。
2.9.2 BS的设备信息管理模块将从键值数据库中读取到的MFN设备属性信息保存到MFN信息块的MFN设备属性表中,MFN设备属性表为五行一列的浮点型数组。具体地,MFNii的设备属性表可用
Figure BDA0003616458520000191
表示,其中
Figure BDA0003616458520000192
分别表示MFNii在计算能力、通信能力、存储能力、感知能力以及安全性上的量化得分,
Figure BDA0003616458520000193
均为非负浮点数;
2.9.3BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MFN信息块的MFN点到点通信表中,MFN点到点通信表为三行一列的浮点型数组。具体地,MFNii的点到点通信表用数组
Figure BDA0003616458520000194
表示,其中
Figure BDA0003616458520000195
分别代表MFNii所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用非负浮点数表示,单位为m,MFNii不支持第p类点到点通信技术时,则令
Figure BDA0003616458520000198
2.9.4BS的设备信息管理模块将MFN汇报的移动状态信息保存到MFN信息块的MFN移动状态表中,MFN移动状态表为五行一列的浮点型数组。具体地,MFNii的移动状态表用五行一列的浮点型数组
Figure BDA0003616458520000196
表示,其中
Figure BDA0003616458520000197
分别表示MFNii当前位置的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure BDA0003616458520000201
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MFNii当前的移动方向,
Figure BDA0003616458520000202
表示当前移动速度,单位为m/s;
Figure BDA0003616458520000203
表示该移动状态被记录的时刻,单位为s。
2.9.5 BS的设备信息管理模块将MFN注册请求中汇报的设备资源出售价格保存到MFN信息块的设备资源出售价格中,设备资源出售价格为浮点数类型,具体地,MFNii的设备资源出售价格用
Figure BDA0003616458520000204
表示,为非负浮点数;至此,MFN信息块构建完毕。
2.9.6 BS的设备信息管理模块将MFN信息块加入到MFN链表的尾端,转2.11。
2.10 BS的设备信息管理模块为注册成功的MD构建一个MD信息块,MD信息块由MD设备名、MD点到点通信表、MD移动状态表、MD时间戳、任务信息块五部分组成,具体构建过程如下:
2.10.1 BS的设备信息管理模块读取MD注册请求中汇报的设备名,并保存到MD信息块的MD设备名中,MD设备名为字符串类型,用于标志该MD信息块归属于哪个MD。
2.10.2 BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MD信息块的MD点到点通信表表中,MD点到点通信表为三行一列的浮点型数组;具体地,MDjj的点到点通信表可用数组
Figure BDA0003616458520000205
表示,其中
Figure BDA0003616458520000206
分别代表MDjj所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用浮点数表示,单位为m,MDjj不支持第p类点到点通信技术时,
Figure BDA0003616458520000207
2.10.3 BS的设备信息管理模块将MD所汇报的移动状态信息保存到MD信息块的MD移动状态表中,MD移动状态表为五行一列的浮点型数组;具体地,MDjj的移动状态表用五行一列的浮点型数组
Figure BDA0003616458520000208
表示,其中
Figure BDA0003616458520000209
分别表示MDjj当前的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure BDA00036164585200002010
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MDjj当前的移动方向,
Figure BDA00036164585200002011
表示当前移动速度,单位为m/s,
Figure BDA00036164585200002012
表示该移动状态被记录的时刻,单位为s;
2.10.4 MD信息块的任务信息块由属性要求表、服务质量偏好表、服务质量-价格权重因子三部分组成,属性要求表和服务质量偏好表均为六行一列浮点型数组,服务质量-价格权重因子为取值在0-1之间的浮点数,设备信息管理模块将MD注册请求中的后三项参数req,pre,w分别保存到任务信息块的属性要求表、服务质量偏好表、服务质量-价格权重因子中;具体地,MDjj的MD信息块的任务信息块中的属性要求表用六行一列浮点型数组
Figure BDA0003616458520000211
表示,数组元素
Figure BDA0003616458520000212
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间的最低要求,由第jj个MD自主设定;MDjj的MD信息块的任务信息块中的服务质量偏好表用六行一列浮点型数组
Figure BDA0003616458520000213
表示,数组元素
Figure BDA0003616458520000214
Figure BDA0003616458520000215
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这6种设备属性的服务质量偏好,任务对第q种设备属性的服务质量偏好指执行任务设备的第q种属性值若增加1,任务能够获得的服务质量增益(例如对于执行移动感知任务的设备,移动感知任务要求其将每秒内收集到的感知数据传回给被服务设备,收集到的数据量越多,任务获得的服务质量越高,此时该设备与被服务设备间的链路持续时间每增加1s,实时传回的感知数据便多一份,任务完成时的服务质量增加k分,k为非负浮点数,此时该移动感知任务对于链路可维持时间的服务质量偏好即为k;又例如,若移动感知任务只要求执行该任务的设备收集和传输感知数据,该任务完成时获得的服务质量与执行任务设备的计算能力强弱无关,则该任务对计算能力的服务质量偏好为0)。服务质量偏好表由MDjj自主设定,0≤q≤5;MDjj的MD信息块的任务信息块中的服务质量-价格权重因子可用
Figure BDA0003616458520000216
表示,
Figure BDA0003616458520000217
为取值在0-1之间的浮点数,表示MDjj对服务质量和价格之间的权衡,由MDjj自主设定,用户可通过调节服务质量-价格权重因子满足自身对服务质量或价格的不同需求;
2.10.5 MDjj的MD信息块构建完毕,BS的设备信息管理模块将MDjj的MD信息块加入到MD链表的尾端,转2.11。
2.11 BS的设备信息管理模块判断待处理队列是否为空,若不为空,说明待处理队列中还有注册请求尚未处理,转2.4;若为空,说明待处理队列中的注册请求已全部处理完毕,转2.12。
2.12 BS的设备信息管理模块判断MD链表是否为空,若不为空,说明存在注册成功的MD,转2.13;若为空,说明不存在注册成功的MD,没有任务可进行分配,转2.3继续等待接收注册请求。
2.13 BS的设备信息管理模块判断MFN链表是否为空,若不为空,说明同时存在注册成功的MFN和MD,可以尝试进行任务分配,进入第三步;若为空,说明不存在注册成功的MFN,没有可以执行任务的设备,转2.3继续等待接收注册请求。
第三步,将注册成功的MFN用集合M′表示,M′={MFN′1,MFN′2,...,MFN′i,...,MFN′I′}表示,其中I′为MFN链表中保存的MFN信息块总数即注册成功的MFN总数,为正整数,MFN′i为MFN链表中第i个MFN信息块所表示的MFN,1≤i≤I′。将注册成功的MD用集合D′表示,D′={MD′1,MD′2,...,MD′j,...,MD′J′},其中J′为MD链表中保存的MD信息块总数即注册成功的MD总数,为正整数,MD′j为MD链表中第j个MD信息块所表示的MD,1≤j≤J′。BS的设备信息管理模块读取MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,并将G保存到设备信息管理模块中。具体方法如下:
3.1 BS的设备信息管理模块初始化点到点链路图G,G={M′,D′,E},其中M′为MFN集合,D′为MD集合,边集E初始为空。
3.2获取基于移动雾计算的任务卸载系统当前时间tnow
3.3 BS的设备信息管理模块基于MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,方法为:
3.3.1初始化变量i为1。
3.3.2 BS的设备信息管理模块读取MFN链表中第i个MFN信息块(即MFN′i的MFN信息块)中保存的MFN移动状态表
Figure BDA0003616458520000221
和MFN点到点通信表
Figure BDA0003616458520000222
3.3.3根据公式(1)计算出MFN′i当前的横坐标
Figure BDA0003616458520000223
和MFN′i当前的纵坐标
Figure BDA0003616458520000224
计算公式如下:
Figure BDA0003616458520000225
其中
Figure BDA0003616458520000226
表示MFN′i移动状态信息的记录时刻,
Figure BDA0003616458520000227
分别表示MFN′i在记录时刻的横坐标和纵坐标,
Figure BDA0003616458520000228
分别表示MFN′i在记录时刻的移动方向、移动速度。
3.3.4 BS的设备信息管理模块读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出MFNi′与J′个MD之间的通信范围半径和链路可维持时间,并在图G中,在顶点MFN′i和能够与MFN′i建立通信链路的MD顶点间添加无向边,边的权重值即为MFN′i和通过该边与MFN′i相连的MD之间的链路可维持时间。方法为:
3.3.4.1初始化j为1。
3.3.4.2 BS的设备信息管理模块读取MD链表中第j个MD信息块(即MD′j的MD信息块)中保存的MD移动状态表
Figure BDA0003616458520000231
和MD点到点通信表
Figure BDA0003616458520000232
3.3.4.3根据公式(2)计算出MFN′i与MD′j之间的通信范围半径R,若R=0,转3.3.4.6;若R≠0,转3.3.4.4。
Figure BDA0003616458520000233
其中
Figure BDA0003616458520000234
分别表示MFN′i所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure BDA0003616458520000235
分别表示MD′j所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure BDA0003616458520000236
表示当MFN′i与MD′j使用第p类点到点通信技术进行通信时的通信范围半径(例如当MFNi′与MDj′均使用蓝牙进行通信时,若MFNi′的蓝牙通信半径为3,MDj′的蓝牙通信半径为2,只有当MFNi′与MDj′均处于各自的蓝牙通信半径内,双方才可建立通信链路,因此MFNi′与MDj′之间的蓝牙通信范围半径应为MFNi′蓝牙通信半径、MDj′蓝牙通信半径中较小的那个),0≤p≤2。
3.3.4.4根据公式(3)计算出MD′j当前的横坐标
Figure BDA0003616458520000237
和MD′j当前的纵坐标
Figure BDA0003616458520000238
Figure BDA0003616458520000239
其中
Figure BDA00036164585200002310
表示MD′j移动状态信息的记录时刻,
Figure BDA00036164585200002311
分别表示MD′j在记录时刻的横坐标和纵坐标,
Figure BDA00036164585200002312
分别表示MD′j在记录时刻的移动方向、移动速度。
3.3.4.5为图G新增无向边e(MFN′i,MD′j),根据公式(4)计算e(MFN′i,MD′j)的权重|e(MFN′i,MD′j)|,权重|e(MFN′i,MD′j)|表示MFN′i与MD′j间的链路可维持时间。
Figure BDA00036164585200002313
其中a表示MFN′i与MD′j在横轴正向方向上的速度之差,b表示MFN′i与MD′j的横坐标之差,c表示MFN′i与MD′j在纵轴正向方向上的速度之差,d表示MFN′i与MD′j的纵坐标之差,R表示MFNi′与MDj′之间的通信范围半径。
3.3.4.6若j=J′,说明当前MD信息块已处于MD链表的末尾,完成了MFN′i与J′个MD之间的通信范围半径和链路可维持时间的计算,转3.3.5;否则令j=j+1,转步骤3.3.4.2。
3.3.5若i=I′,说明当前MFN信息块已处于MFN链表的末尾,点到点链路图G构建完毕,进入第四步;否则令i=i+1,转步骤3.3.2。
第四步,BS中的任务分配模块根据设备信息管理模块中保存的MFN链表和MD链表,以及第三步中得到的点到点链路图G构建M′与D′间的加权二部图T′,T′={M′,D′,E′},方法如下:
4.1 BS的任务分配模块构建初始二部图T′={M′,D′,E′},E'初始化为空集;
4.2基于MFN链表、MD链表、点到点链路图G计算出J′个MD到I′个MFN间的任务卸载满意度,构建加权二部图T′。方法为:
4.2.1初始化j为1;
4.2.2 BS的任务分配模块读取MD链表中第j个MD信息块(即MD′j的MD信息块)中的属性要求表
Figure BDA0003616458520000241
服务质量偏好表
Figure BDA0003616458520000242
服务质量-价格权重因子
Figure BDA0003616458520000243
4.2.3 BS的任务分配模块读取I′个MFN的设备属性表和设备资源出售价格,计算出MD′j到I′个MFN间的任务卸载满意度,并在图T′中,在顶点MDj′和I′个MFN间添加无向边,边的权重为MDj′将任务卸载到通过该边与其相连的MFN上的任务卸载满意度,方法为:
4.2.3.1初始化i为1;
4.2.3.2为图T′新增无向边e′(MFN′i,MD′j),将权重|e′(MFN′i,MD′j)|初始化为0;
4.2.3.3 BS的任务分配模块读取MFN链表中第i个MFN信息块(即MFN′i的MFN信息块)中的设备属性表
Figure BDA0003616458520000244
和设备资源出售价格
Figure BDA0003616458520000245
并根据步骤4.2.2读取到的
Figure BDA0003616458520000246
判断MFN′i的设备属性是否达到MD′j上待处理任务对设备属性的最低要求,具体地,MFN′i满足MD′j上待处理任务的最低要求需满足7个条件,即满足
Figure BDA0003616458520000247
Figure BDA0003616458520000251
Figure BDA0003616458520000252
Figure BDA0003616458520000253
Figure BDA0003616458520000254
Figure BDA0003616458520000255
(e(MFN′i,MD′j)∈G(M′,D′,E))
即MFN′i必须同时满足MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求(例如移动感知任务要求感知数据收集时间不少于2s,则执行该任务的MFN与卸载该任务的MD之间点到点通信的链路可维持时间至少不能少于2s,否则感知数据无法传回)并满足e(MFN′i,MD′j)∈G(M′,D′,E)。其中
Figure BDA0003616458520000256
分别表示MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求,
Figure BDA0003616458520000257
分别表示MFN′i在计算能力、通信能力、存储能力、感知能力、安全性这五个方面的量化得分,条件e(MFN′i,MD′j)∈G(M′,D′,E)表示MFN′i必须能够与MD′j建立点到点连接,|e(MFN′i,MD′j)|表示当MFN′i与MD′j建立点到点连接时,其通信链路能够维持的时间。若不能同时满足这7个条件,直接转步骤4.2.3.4;否则为边e′(MFN′i,MD′j)按公式(5)修改权重,再转步骤4.2.3.4,权重修改公式如下:
Figure BDA0003616458520000258
其中
Figure BDA0003616458520000259
表示MD′j设定的服务质量-价格权重因子,
Figure BDA00036164585200002510
表示MFN′i的设备资源出售价格,
Figure BDA00036164585200002511
表示MD′j将任务卸载到MFN′i上获得的预期服务质量,
Figure BDA00036164585200002512
的计算公式如下:
Figure BDA00036164585200002513
其中
Figure BDA00036164585200002514
为MD′j的服务质量偏好表的第k项,表示MD′j任务对第k种设备属性的服务质量偏好,0≤k≤5。
Figure BDA0003616458520000266
为MFNi′的设备属性表的第k项,表示MFNi′在第k种设备属性上的量化得分。
Figure BDA0003616458520000261
为MD′j的服务质量偏好表的第5项,即MD′j对链路可维持时间的服务质量偏好。
4.2.3.4若i=I′,说明当前MFN信息块已处于MFN链表的末尾,MD′j到I′个MFN间的任务卸载满意度计算完成,转步骤4.2.4;否则令i=i+1,返回步骤4.2.3.2。
4.2.4若j=J′,说明当前MD信息块已处于MD链表的末尾,加权二部图T′构建完毕,进入第五步;否则令j=j+1,返回步骤4.2.2。
第五步,BS的任务分配模块采用KM算法在多项式时间内确定在只存在有限个MFN的情况下,使用户获得最高总体满意度Sat的任务分配方案,该问题可用公式(7)定义:
Figure BDA0003616458520000262
约束1
Figure BDA0003616458520000263
约束2
Figure BDA0003616458520000264
其中xji为布尔变量,表示MD'j是否将任务卸载到MFN′i上,若是,则xji为1;否则xji为0;约束1表示一个任务只能卸载到一个MFN上执行;约束2表示一个MFN受移动性、点到点通信的约束,一次只能执行一个任务。因此求解Sat的问题转化为在加权二部图T'中寻找最大加权匹配问题,可通过KM算法在多项式时间内求解。本步骤中,BS的任务分配模块将图T′作KM算法的输入,以确定能够使得总体用户满意度最高的任务分配方案,具体步骤如下:
5.1为T′中存在的每个顶点设置初始顶标值,对于
Figure BDA0003616458520000267
其初始顶标值l′(MFN′i)为关联顶点MFN′i的边中具有最大权重的边的权重,即l′(MFN′i)=max{|e′(MFN′i,MD′j)||MD′j∈D‘},对于
Figure BDA0003616458520000268
令其初始顶标值l′(MD′j)=0。
5.2初始化图T′e=T′,T′e可用T′e={M‘,D′,E′e′}表示,T′e=T′表示图T′e初始化后的顶点集、边集与图T′的顶点集、边集完全相同。
5.3使Te′成为T‘的相等子图,图T′的相等子图T′e指T′e包含了T′中的所有顶点,并且其边集E′e满足
Figure BDA0003616458520000265
即E′e中任意一条边的权重都等于其关联的两个顶点的顶标值之和,方法是:
5.3.1将图T′中满足条件的边(边关联的两个顶点的顶标值之和等于该边权重)加入到T′e中,遍历图T′的边集E',对于
Figure BDA0003616458520000271
如果l′(MFN′i)+l′(MD′j)=|e′(MFN′i,MD′j)|并且
Figure BDA0003616458520000274
将边e′(MFN′i,MD′j)添加到图T′e的边集E′e中,即令E′e=E′e∪e′(MFN′i,MD′j),遍历完成后,图T′e新增边完毕。
5.3.2删除图Te′中不满足条件的边(边关联的两个顶点的顶标值之和不等于该边权重),遍历T′e的边集E′e,对于
Figure BDA0003616458520000272
如果l′(MFN′i)+l′(MD′j)≠|e′(MFN′i,MD′j)|,即边e′(MFN′i,MD′j)的权重不等于其关联的两个顶点的顶标值之和,则从边集E′e中删除边e′(MFN′i,MD′j),遍历完成后,图T′e删除边完毕,T′e成为T‘的相等子图。
5.4求解最优的任务分配方案即图T′的最大加权匹配,在图T′的相等子图T′e中执行匈牙利算法,找到匹配O,若匹配O是T′e的完美匹配,则O就是图T′的最大加权匹配,可用O={M′,D′,EO}表示,O的边集Eo中包含的每条边都表示一个卸载决策,转第六步;否则按匈牙利算法生成集合L、B,其中L为M′的子集,B为D′的子集,L为匹配O的不饱和点(若顶点v不与O中的任意一条边相关联,则称顶点v是匹配O的不饱和点)集,B为O的饱和点集,转步骤5.5。
5.5按如下公式更新T′e中各个顶点的顶标值:
Figure BDA0003616458520000273
δl=min{l′(MFN′i)+l′(MD′j)-|e′(MFN′i,MD′j)||MFN′i∈L,MD′j∈D‘-B} 公式(9)
其中l′(x)表示顶点x的顶标值,|e′(MFN′i,MD′j)|为图T′中边e′(MFN′i,MD′j)的权重,更新完毕后,由于顶标值的改变,T′e可能不再是图T′的相等子图,需要对图T′e进行处理,使其重新成为图T′的相等子图,转步骤5.3对图T′e进行处理;
第六步,BS的任务卸载模块根据第五步中获得的最优任务分配方案即最大加权匹配O进行任务卸载,具体地,如果e(MFN′i,MD′j)∈EO,且|e(MFN′i,MD′j)|>0,则边e(MFN′i,MD′j)表示MD′j上的任务应卸载给MFN′i进行处理。BS的任务卸载模块遍历EO中的每一条边,若边的权重大于0,向边相连的MD和MFN发送卸载指令,MD接收到BS发送的卸载指令后,根据卸载指令指示将任务卸载到与其相连的MFN上执行,MFN接收到BS发送的卸载指令后,根据卸载指令指示接收并执行与其相连的MD上的待处理任务,具体步骤如下:
6.1初始化s为1。
6.2BS的任务卸载模块读取EO中的第s条边es,es关联的MFN用
Figure BDA0003616458520000281
表示,es关联的MD用
Figure BDA0003616458520000282
表示,若es的权重|es|>0,转6.3;若|es|=0,转6.7。
6.3BS的任务卸载模块从MD链表中读取
Figure BDA0003616458520000283
的设备名,从MFN链表中读取
Figure BDA0003616458520000284
的设备名;
6.4BS的任务卸载模块根据
Figure BDA0003616458520000285
的设备名与
Figure BDA0003616458520000286
建立通信,将
Figure BDA0003616458520000287
的设备名插入到卸载指令中后,发送卸载指令给
Figure BDA0003616458520000288
以通知
Figure BDA0003616458520000289
开始任务卸载并将任务卸载到
Figure BDA00036164585200002810
上;BS的任务卸载模块根据
Figure BDA00036164585200002811
的设备名与
Figure BDA00036164585200002812
建立通信,将
Figure BDA00036164585200002813
的设备名插入到卸载指令中,发送卸载指令给
Figure BDA00036164585200002814
以通知
Figure BDA00036164585200002815
准备接收
Figure BDA00036164585200002816
上待处理任务的数据并执行待处理任务。
6.5
Figure BDA00036164585200002817
上的第二任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名向
Figure BDA00036164585200002818
发起点到点连接请求;
Figure BDA00036164585200002819
上的第一任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名,监听并接收来自
Figure BDA00036164585200002820
的点到点连接请求。
6.6
Figure BDA00036164585200002821
Figure BDA00036164585200002822
的点到点连接建立后,
Figure BDA00036164585200002823
基于点到点通信将任务卸载到
Figure BDA00036164585200002824
上,
Figure BDA00036164585200002825
接收任务数据并执行任务。
6.7 BS的设备信息管理模块从MD链表中删除
Figure BDA00036164585200002826
所对应的MD信息块,从MFN链表中删除
Figure BDA00036164585200002827
所对应的信息块。
6.8若s<|EO|,|Eo|表示集合EO包含的总边数,则令s=s+1,转6.2;若s=|Eo|,说明遍历Eo结束,任务卸载模块已发送完所有任务卸载指令,本轮任务分配执行完毕,进入第七步。
第七步,BS的设备信息管理模块清除MD链表中已过时的MD信息块,清除MFN链表中已过时的MFN信息块,BS的设备信息管理模块和任务分配模块清除第三步到第六步中产生的中间数据,包括点到点链路图G、加权二部图T′、相等子图T′e、最大加权匹配0,转2.3开始下一轮任务分配,具体步骤如下:
7.1BS的设备信息管理模块获取当前时间。
7.2 BS的设备信息管理模块判断MD链表是否为空,不为空,转7.3;为空转7.4;
7.3 BS的设备信息管理模块遍历MD链表,删除MD链表中移动状态信息已过时的MD信息块,方法如下:
7.3.1初始化j为1;
7.3.2 BS读取MD链表的第j个MD信息块的MD移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MD信息块中保存的移动状态信息已过时,转7.3.3;若记录时刻距离当前时间不超过5s,转7.3.4;
7.3.3若第j个MD信息块位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,转步骤7.4;若第j个MD信息块不是位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,删除后,该MD信息块的下一个MD信息块是MD链表中第j个MD信息块(从链表头到链表尾数),转7.3.2;
7.3.4若第j个MD信息块位于MD链表的尾端,转7.4,否则令j=j+1,转7.3.2;
7.4 BS的设备信息管理模块判断MFN链表是否为空,若不为空,转7.5;为空,转7.6;
7.5 BS的设备信息管理模块遍历MFN链表,删除MFN链表中移动状态信息已过时的MFN信息块,方法如下:
7.5.1初始化i为1;
7.5.2 BS读取MFN链表的第i个MFN信息块的MFN移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MFN信息块中保存的移动状态信息已过时,转7.5.3;若记录时刻距离当前时间不超过5s,转7.5.4;
7.5.3若第i个MFN信息块位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,转步骤7.6;若第i个MFN信息块不是位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,删除后,该MFN信息块的下一个MFN信息块是MFN链表中第i个MFN信息块(从链表头到链表尾数),转7.5.2;
7.5.4若第i个MFN信息块位于MFN链表的尾端,转7.6;否则令i=i+1,转7.5.2;
7.6 BS的设备信息管理模块删除点到点链路图G;
7.7 BS的任务分配模块删除加权二部图T′、相等子图T′e、最大加权匹配R;
7.8转2.3开始下一轮任务分配。
为了验证本发明的效果,做以下实验,如图2所示:
第一步,基于移动雾计算的任务卸载系统共包含I(I=4)个MFN和J(J=4)个MD,一个BS以及一个CDS,其中MD1上存在一个待处理的视频解码任务、MD2上存在一个待处理的移动感知任务、MD3上存在一个待处理的人脸图像处理任务、MDJ上存在一个待处理的视频上传任务。MFN1为智能手机,配备了5G芯片和各类传感器,具有较强的通信和感知能力。MFN2为智能手机,配备了强大且支持超频的CPU,具有较强的计算能力。MFN3为边缘服务器,能够提供隔离化的执行环境,计算能力和安全性最强。MFNI为智能运动手表,配备了各类传感器,感知能力强但计算、通信、存储、安全性等能力较弱。
第二步,MD1、MD2、MD3、MDJ由于本地资源受限或本身处于高负载状态,希望将待处理任务卸载到其他设备上执行,因此构建注册请求,并向BS发起注册请求。
其中,MD1的任务对设备属性的最低要求为<8,0,5,0,0,5>(视频解码任务为计算密集型任务,对设备的计算能力要求较高,同时视频的存储和传输对设备的存储能力、设备间的链路维持时间也有较高的要求)。MD1的服务质量偏好为<8,0,0,0,0,0>(视频解码任务的服务质量主要受视频解码速度的影响,即主要受设备计算能力的影响),MD1的服务质量-价格权重因子为0.7(相比于价格,用户MD1更看重服务质量)。
MD2的任务对设备属性的最低要求为<0,0,2,10,0,8>(移动感知任务要求设备尽可能多地收集并传回周围环境的感知数据,对设备的感知能力及链路可维持时间要求较高。)MD2的服务质量偏好为<0,0,0,9,0,7>(移动感知任务的服务质量主要受设备感知能力及链路可维持时间的影响)。MD2的服务质量-价格权重因子为0.5(用户MD2既看重服务质量也看重价格)。
MD3的任务对设备属性的最低要求为<8,0,2,0,10,3>(人脸图像处理任务要求快速处理人脸图像,其对设备的计算能力要求较高,同时由于其包含了用户的隐私信息,因此对设备的安全性要求也高,对存储和链路维持的时间则要求较低),MD3的服务质量偏好为<11,0,0,0,0,0>(人脸图像处理任务的服务质量主要受设备计算能力的影响),MD3的服务质量-价格权重因子为0.5(用户MD3即看重服务质量也看重价格)。
MDJ的任务对设备属性的最低要求为<0,8,5,0,0,5>(视频上传任务要求设备通过蜂窝或者无线网络将视频上传到云,为传输密集型任务,对设备的通信能力要求最高,同时视频的存储和传输对设备的存储能力及链路维持时间也有较高的要求),MDJ的服务质量偏好为<0,8,0,0,0,0>(视频上传任务的服务质量主要受设备通信能力的影响),MDJ的服务质量-价格权重因子为0.3(相比于服务质量,用户MDJ更看重价格,希望以较低的价格获得服务)。
MFN1、MFN2、MFN3、MFNI由于本地资源空闲,希望通过为其他设备执行任务获取收益,因此构建注册请求并向BS发起注册请求。MFN1、MFN2、MFN3、MFNI的设备资源出售价格分别为32、24、50、12。
BS在注册时间内等待接收注册请求,超时后,BS的设备信息管理模块开始处理注册请求,校验注册请求的合法性,由于在CDS中未查询到MD2的相关设备信息,因此MD2的注册请求被校验为非法,BS通知MD2注册失败,其余设备则注册成功。在CDS中查询到的MFN1的设备属性为<8,15,6,8,5>、MFN2的设备属性表为<10,5,6,4,5>、MFN3的设备属性为<18,10,15,0,12>、MFNI的设备属性为<2,3,2,9,2>。
第三步,BS的设备信息管理模块为注册成功的设备构建MD信息块或MFN信息块,并将注册请求中包含的移动状态、设备名等相关设备信息以及从CDS中读取到的设备属性信息保存到MD信息块或MFN信息块中。BS的设备信息管理模块基于MD设备的MD移动状态表、MD点到点通信表以及MFN设备的MFN移动状态表,MFN点到点通信表,计算各个MD与各个MFN间的链路可维持时间,并构建点到点链路图G,图G可用表1表示:
Figure BDA0003616458520000301
Figure BDA0003616458520000311
表1
表1中的数字表示对应的MD和MFN间的链路可维持时间,\表示对应的MD和MFN间不能建立通信链路,由于MD2注册失败,因此图G中不包含MD2。
第四步,BS的任务分配模块基于点到点链路图、各个MD的任务信息块、各个MFN的MFN设备属性表和设备资源出售价格计算出各个MD到各个MFN间的任务卸载满意度,首先构建出加权二部图。加权二部图可用表2表示:
MFN1 MFN2 MFN3 MFNI
MD1 0 48.8 85.8 0
MD3 0 0 74 0
MDJ 13.6 0 -11 0
表2
表2中的数字表示对应MD将任务卸载到对应MFN上的任务卸载满意度。由于MD2注册失败,因此加权二部图中不包含MD2。
第五步,采用KM算法在多项式时间内确定加权二部图中的最大加权匹配,即最优任务分配方案。得到能够使得用户总体满意度最高的任务分配方案为R={<MD1,MFN2>,<MD3,MFN3>,<MDJ,MFN1>},MFNI由于在设备属性上未达到MD1、MD3、MDJ的任务最低要求,在本轮未分配到任务执行。
第六步,BS的任务卸载模块基于最优任务分配方案发出卸载指令,向MD1、MD3、MDJ分别发出卸载指令,指示MD1将任务卸载到MFN2上,MD3将任务卸载到MFN3上,MDJ将任务卸载到MFN1上,向MFN1、MFN2、MFNI分别发出卸载指令,指示MFN2准备接收MD1的任务,MFN3准备接收MD3的任务上,MFN1准备接收MDJ的任务,并删除MD1、MD2、MDJ的MD信息块,删除MFN1、MFN2、MFNI的MFN信息块。
MFN2、MFN3、MFN1在接收到卸载指令后,分别等待接收来自MD1、MD3、MDJ的连接请求,MD1、MD3、MDJ在接收到卸载指令后,分别向MFN2、MFN3、MFN1发起连接请求,连接建立后,MD1、MD3、MDJ分别将任务卸载到MFN2、MFN3、MFN1上,MFN2、MFN3、MFN1分别接收并执行来自MD1、MD3、MDJ的任务。
第七步,本轮任务分配结束,BS的任务卸载模块删除加权二部图、点到点链路图、最优任务分配方案,同时更新MFN链表和MD链表,删除MFN链表中移动状态信息已过时的MFN信息块和MD链表中移动状态信息已过时的MD信息块。
开始下一轮任务分配,BS再次开始等待接收注册请求。
由上述示例中的第一步可知:
本发明第一步设计的基于移动雾计算的任务卸载系统将设备的计算能力、通信能力、存储能力、感知能力、安全性等多种设备属性考虑在内,与传统方法相比,本发明能够支持用户对多种类型任务的卸载。
由上述示例中的第三步可知:
本发明第三步将设备移动性考虑在内,构建了点到点链路可维持时间图G,并允许用户根据任务类型设定最低的链路维持时间要求,能够预防移动用户与卸载设备在给定时间要求内因移动性和点到点通信范围限制发生设备间通信中断进而导致任务卸载失败的情况。
如表2所示,MFN1满足MD1任务在计算能力、通信能力、存储能力、感知能力及安全性方面的最低要求,但由于其未达到MD1的最低链路维持时间要求,为了避免任务卸载失败,MD1到MFN1间的任务卸载满意度被赋值为0,最终的任务分配方案中即最大加权匹配中不会包含MD1到MFN1的边。
由上述示例中的第五步可知:
本发明第五步采用基于KM算法的任务分配方法,能够在多项式时间内确定使得系统内用户整体满意度最高的最优任务分配方案,有效提高资源利用率,同时能够确保基站不会产生过量的能量消耗,并保证基站执行任务分配决策时不产生过量的时间开销。

Claims (13)

1.一种基于移动雾计算的任务卸载方法,其特征在于包括以下步骤:
第一步,构建基于移动雾计算的任务卸载系统;基于移动雾计算的任务卸载系统由I个移动雾节点即MFN、一个作为任务分配服务器的基站即BS、J个请求卸载任务的移动设备即MD、一个用于查询设备信息的云数据库服务器CDS四类网络实体组成,其中I个MFN用M={MFN1,...,MFNii,...,MFNI}表示,I为MFN数量,I为正整数,MFNii表示第ii个MFN,1≤ii≤I;J个请求卸载任务的移动设备MD用D={MD1,...,MDjj,...MDJ}表示,J为MD数量,J为正整数,MDjj表示第jj个MD,1≤jj≤J;MD和MFN均与BS连接,通过蜂窝网络与BS通信;BS与CDS连接,从CDS的键值数据库中查询并读取设备信息;
BS中安装有设备信息管理模块、任务分配模块、任务卸载模块,其中设备信息管理模块负责收集并管理通信范围内的MD和MFN的设备信息、MD上待处理任务的相关信息,并负责根据设备信息构建出描述设备间点到点链路关系的点到点链路图;任务分配模块基于设备信息管理模块提供的设备信息和点到点链路图构建加权二部图,采用KM算法对加权二部图进行处理,得到最优任务分配方案,并将最优任务分配方案发送给任务卸载模块;任务卸载模块串行地遍历任务分配方案中存在的边,每找到一条边,就向这条边连接的MD和MFN发送对应的卸载指令,指示MD将任务卸载到与其连接的MFN上,指示MFN接收与其连接的MD上的任务数据,并执行任务;
MFN上安装有第一信息注册模块、第一任务卸载模块;第一信息注册模块负责向BS的设备信息管理模块注册其所属MFN的设备名、设备型号、设备资源出售价格以及移动状态信息;第一任务卸载模块负责接收BS发送的卸载指令,根据卸载指令接收对应MD的点到点连接请求,接收待处理任务的任务数据并执行从MD卸载过来的任务;
MD上安装有第二信息注册模块、第二任务卸载模块;第二信息注册模块负责向BS的设备信息管理模块注册所属MD的设备名、设备型号、移动状态信息以及任务信息,任务信息包括任务对设备属性的最低需求、任务对设备属性的服务质量偏好、用户为服务质量、价格分配的权重因子;第二任务卸载模块负责接收BS发送的卸载指令,根据卸载指令向对应MFN发送点到点连接请求,并在点到点连接建立后,将任务卸载到对应MFN上;
CDS中包含一个键值数据库,以键值对形式<设备型号、设备属性信息>存储移动设备的设备型号及设备属性信息,设备属性信息包括设备在计算能力、通信能力、存储能力、感知能力、安全性五个方面的量化得分和设备所支持的点到点通信技术信息;
第二步,I个MFN通过第一信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中,J个MD通过第二信息注册模块并行地向基站发起注册请求以加入到基于移动雾计算的任务卸载系统中;BS的设备信息管理模块在注册时间T内等待接收来自MFN或MD的注册请求,接收到注册请求后,BS的设备信息管理模块将该注册请求加入待处理队列中,继续等待接收注册请求,直至注册时间超时;注册时间超时后,BS的设备信息管理模块开始处理待处理队列中的注册请求,处理完成后,根据注册情况判断是继续等待接收注册请求,还是进入第三步开始任务分配;方法是:
2.1 BS的设备信息管理模块初始化MFN链表及MD链表为空,MFN链表用于组织MFN信息块,MFN信息块用于保存注册成功的MFN的设备信息;MD链表用于组织MD信息块,MD信息块用于保存注册成功的MD的设备信息;BS的设备信息管理模块初始化待处理队列为空,待处理队列用于保存来自MFN或MD的注册请求;
2.2I个MFN和J个MD通过GPS确定自己的当前移动状态信息,包括当前位置的二维坐标、移动方向、移动速度和状态记录时刻,I个MFN通过第一信息注册模块并行地向基站发起注册请求,J个MD通过第二信息注册模块并行地向基站发起注册请求,具体地,集合M中第ii个MFN即MFNii的注册请求用
Figure FDA0003616458510000021
表示,其中
Figure FDA0003616458510000022
分别表示MFNii的设备名、设备型号、移动状态信息以及设备资源出售价格;集合D中第jj个MD即MDjj的注册请求用
Figure FDA0003616458510000023
表示,其中
Figure FDA0003616458510000024
分别表示MDjj的设备名、设备型号、移动状态信息、MDjj所设定的待处理任务对设备属性的最低要求、MDjj所设定的待处理任务对设备属性的服务质量偏好、MDjj所设定的服务质量-价格权重因子;
Figure FDA0003616458510000031
为字符串类型;
Figure FDA0003616458510000032
为非负浮点数;
Figure FDA0003616458510000033
均为六行一列的浮点型数组,且数组中的每个元素均为非负浮点数;
Figure FDA0003616458510000034
均为五行一列的浮点型数组;
Figure FDA0003616458510000035
为取值在0到1之间的非负浮点数;
2.3 BS的设备信息管理模块创建一个定时器,根据定时器是否超时确定是否继续等待接收注册请求,若接收到注册请求将注册请求加入到待处理队列,若待处理队列为空,则转2.3重新接收注册请求;若不为空,转2.4;
2.4 BS的设备信息管理模块取出位于待处理队列队头的注册请求,判断该注册请求类型,若注册请求中包含四个参数,则该请求为MFN的注册请求,转步骤2.5;若注册请求中包含六个参数,则该请求为MD的注册请求,转步骤2.6;若注册请求既不是四个参数,又不是六个参数,则注册请求非法,注册失败,BS的设备信息管理模块通知该设备注册失败,转2.11;
2.5 BS的设备信息管理模块校验来自MFN的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型,设备资源出售价格是否为非负浮点数,移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MFN注册失败,转2.11;若符合格式要求,转2.7;
2.6 BS的设备信息管理模块校验来自MD的注册请求是否符合格式要求,检查注册请求中包含的设备名、设备型号是否为字符串类型;任务需求和偏好是否为六行一列的浮点型数组,且数组中的每个元素是否为非负浮点数;服务质量-价格权重因子是否为取值在0-1之间的非负浮点数;移动状态信息是否为五行一列浮点型数组,若不符合格式要求,则注册失败,设备信息管理模块通知该MD注册失败,转2.11;若符合格式要求,转2.7;
2.7 BS的设备信息管理模块根据注册请求中包含的设备型号从CDS的键值数据库中查询并读取该设备型号的设备属性信息;若能够根据设备型号在键值数据库中查询到设备属性信息,则注册成功,转步骤2.8;否则注册失败,设备信息管理模块通知该设备注册失败,转2.11;
2.8 BS的设备信息管理模块根据步骤2.4中判断的注册请求类型,将注册成功的设备分类为MFN和MD;若为MFN,转步骤2.9;若为MD,转步骤2.10;
2.9 BS的设备信息管理模块为注册成功的MFN构建一个MFN信息块并将MFN信息块加入到MFN链表的尾端,MFN信息块由MFN设备名、MFN设备属性表、MFN点到点通信表、MFN移动状态表、MFN时间戳、设备资源出售价格六部分组成,转2.11;
2.10 BS的设备信息管理模块为注册成功的MD构建一个MD信息块并将MDjj的MD信息块加入到MD链表的尾端,MD信息块由MD设备名、MD点到点通信表、MD移动状态表、MD时间戳、任务信息块五部分组成,所述任务信息块由属性要求表、服务质量偏好表、服务质量-价格权重因子三部分组成,转2.11;
2.11 BS的设备信息管理模块判断待处理队列是否为空,若不为空,说明待处理队列中还有注册请求尚未处理,转2.4;若为空,说明待处理队列中的注册请求已全部处理完毕,转2.12;
2.12 BS的设备信息管理模块判断MD链表是否为空,若不为空,说明存在注册成功的MD,转2.13;若为空,说明不存在注册成功的MD,没有任务可进行分配,转2.3继续等待接收注册请求;
2.13 BS的设备信息管理模块判断MFN链表是否为空,若不为空,说明同时存在注册成功的MFN和MD,进入第三步;若为空,说明不存在注册成功的MFN,没有可以执行任务的设备,转2.3继续等待接收注册请求;
第三步,将注册成功的MFN用集合M′表示,M′={MFN′1,MFN′2,...,MFN′i,...,MFN′I′}表示,其中I′为MFN链表中保存的MFN信息块总数即注册成功的MFN总数,为正整数,MFN′i为MFN链表中第i个MFN信息块所表示的MFN,1≤i≤I′;将注册成功的MD用集合D′表示,D′={MD′1,MD′2,…,MD′j,…,MD′j′},其中J′为MD链表中保存的MD信息块总数即注册成功的MD总数,为正整数,MD′j为MD链表中第j个MD信息块所表示的MD,1≤j≤J′;BS的设备信息管理模块读取MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,并将G保存到设备信息管理模块中;方法是:
3.1 BS的设备信息管理模块初始化点到点链路图G,G={M′,D′,E},其中M′为MFN集合,D′为MD集合,边集E初始为空;
3.2获取基于移动雾计算的任务卸载系统当前时间tnow
3.3 BS的设备信息管理模块基于MFN链表中保存的I′个MFN的MFN移动状态表、MFN点到点通信表,MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出I′个MFN和J′个MD之间的链路可维持时间,构建点到点链路图G,方法为:
3.3.1初始化变量i为1;
3.3.2 BS的设备信息管理模块读取MFN链表中MFN′i的MFN信息块中保存的MFN移动状态表
Figure FDA0003616458510000051
和MFN点到点通信表
Figure FDA0003616458510000052
3.3.3根据公式(1)计算出MFN′i当前的横坐标
Figure FDA0003616458510000053
和MFN′i当前的纵坐标
Figure FDA0003616458510000054
计算公式如下:
Figure FDA0003616458510000055
其中
Figure FDA0003616458510000056
表示MFN′i移动状态信息的记录时刻,
Figure FDA0003616458510000057
分别表示MFN′i在记录时刻的横坐标和纵坐标,
Figure FDA0003616458510000058
分别表示MFN′i在记录时刻的移动方向、移动速度;
3.3.4 BS的设备信息管理模块读取MD链表中保存的J′个MD的MD移动状态表、MD点到点通信表,计算出MFNi′与J′个MD之间的通信范围半径和链路可维持时间,并在图G中,在顶点MFN′i和能够与MFN′i建立通信链路的MD顶点间添加无向边,边的权重值即为MFN′i和通过该边与MFN′i相连的MD之间的链路可维持时间;
3.3.5若i=I′,说明当前MFN信息块已处于MFN链表的末尾,点到点链路图G构建完毕,进入第四步;否则令i=i+1,转步骤3.3.2;
第四步,BS中的任务分配模块根据设备信息管理模块中保存的MFN链表和MD链表,以及第三步中得到的点到点链路图G构建M′与D′间的加权二部图T′,T′={M′,D′,E′},方法是:
4.1 BS的任务分配模块构建初始二部图T′={M′,D′,E′},E′初始化为空集;
4.2基于MFN链表、MD链表、点到点链路图G计算出J′个MD到I′个MFN间的任务卸载满意度,构建加权二部图T′;方法为:
4.2.1初始化j为1;
4.2.2 BS的任务分配模块读取MD链表中MD′j的MD信息块中的属性要求表
Figure FDA0003616458510000061
服务质量偏好表
Figure FDA0003616458510000062
服务质量-价格权重因子
Figure FDA0003616458510000063
4.2.3 BS的任务分配模块读取I′个MFN的设备属性表和设备资源出售价格,计算出MD′j到I′个MFN间的任务卸载满意度,并在图T′中,在顶点MDj′和I′个MFN间添加无向边,边的权重为MDj′将任务卸载到通过该边与其相连的MFN上的任务卸载满意度;
4.2.4若j=J′,说明当前MD信息块已处于MD链表的末尾,加权二部图T′构建完毕,进入第五步;否则令j=j+1,返回步骤4.2.2;
第五步,BS的任务分配模块采用KM算法在多项式时间内确定在只存在有限个MFN的情况下,使用户获得最高总体满意度Sat的任务分配方案,该问题用公式(7)定义:
Figure FDA0003616458510000064
约束
Figure FDA0003616458510000065
约束
Figure FDA0003616458510000066
其中xji为布尔变量,表示MD′j是否将任务卸载到MFN′i上,若是,则xji为1;否则xij为0;约束1表示一个任务只能卸载到一个MFN上执行;约束2表示一个MFN受移动性、点到点通信的约束,一次只能执行一个任务;BS的任务分配模块将图T′作KM算法的输入,确定能够使得总体用户满意度最高的任务分配方案,方法是:
5.1为T′中存在的每个顶点设置初始顶标值,对于
Figure FDA0003616458510000071
其初始顶标值l′(MFN′i)为关联顶点MFN′i的边中具有最大权重的边的权重,即l′(MFN′i)=max{|e′(MFN′i,MD′j)||MD′j∈D‘},对于
Figure FDA0003616458510000072
令其初始顶标值l′(MD′j)=0;
5.2初始化图T′e=T′,T′e可用T′e={M‘,D′,E′e}表示,T′e=T′表示图T′e初始化后的顶点集、边集与图T′的顶点集、边集完全相同;
5.3使Te′成为T‘的相等子图,图T′的相等子图T′e指T′e包含了T′中的所有顶点,并且其边集E′e满足
Figure FDA0003616458510000073
l′(MFN′i)+l′(MD′j)=|e′(MFN′i,MD′j)|,即E′e中任意一条边的权重都等于其关联的两个顶点的顶标值之和;
5.4求解最优任务分配方案即图T′的最大加权匹配,在图T′的相等子图T′e中执行匈牙利算法,找到T′e的匹配O,O是T′e的子图,同时O边集中的任意两条边都不依附于同一个顶点,若匹配O是T′e的完美匹配即O包含了T′e中的所有顶点,且每个顶点都关联且仅关联一条边,则O就是图T′的最大加权匹配,用O={M′,D′,EO}表示,O的边集Eo中包含的每条边都表示一个卸载决策,即O包含D′与M′间的匹配关系,Eo的每条边连接一个MD和一个MFN,边指示MD将任务卸载到与其连接的MFN上,转第六步;否则按匈牙利算法生成集合L、B,其中L为M′的子集,B为D′的子集,L为匹配O的不饱和点集,B为O的饱和点集,转步骤5.5;
5.5按如下公式更新T′e中各个顶点的顶标值:
Figure FDA0003616458510000074
δl=min{l′(MFN′i)+l′(MD′j)-|e′(MFN′i,MD′j)||MFN′i∈L,MD′j∈D′-B} 公式(9)
其中l′(x)表示顶点x的顶标值,|e′(MFN′i,MD′j)|为图T′中边e′(MFN′i,MD′j)的权重,更新完毕后,转步骤5.3;
第六步,BS的任务卸载模块根据第五步中获得的最优任务分配方案即最大加权匹配O进行任务卸载,如果e(MFN′i,MD′j)∈EO,且|e(MFN′i,MD′j)|>0,则边e(MFN′i,MD′j)表示MD′j上的任务应卸载给MFN′i进行处理;BS的任务卸载模块遍历EO中的每一条边,若边的权重大于0,向边相连的MD和MFN发送卸载指令,MD接收到BS发送的卸载指令后,根据卸载指令指示将任务卸载到与其相连的MFN上执行,MFN接收到BS发送的卸载指令后,根据卸载指令指示接收并执行与其相连的MD上的待处理任务;
第七步,BS的设备信息管理模块清除MD链表中已过时的MD信息块,清除MFN链表中已过时的MFN信息块,BS的设备信息管理模块和任务分配模块清除第三步到第六步中产生的中间数据,包括点到点链路图G、加权二部图T′、相等子图T′e、最大加权匹配O,转2.3开始下一轮任务分配,具体步骤如下:
7.1 BS的设备信息管理模块获取当前时间;
7.2 BS的设备信息管理模块判断MD链表是否为空,不为空,转7.3;为空转7.4;
7.3 BS的设备信息管理模块遍历MD链表,删除MD链表中移动状态信息已过时的MD信息块;
7.4 BS的设备信息管理模块判断MFN链表是否为空,若不为空,转7.5;为空,转7.6;
7.5 BS的设备信息管理模块遍历MFN链表,删除MFN链表中移动状态信息已过时的MFN信息块;
7.6 BS的设备信息管理模块删除点到点链路图G;
7.7 BS的任务分配模块删除加权二部图T′、相等子图T′e、最大加权匹配R;
7.8转2.3开始下一轮任务分配。
2.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于所述键值数据库中设备在计算能力、通信能力、存储能力、感知能力、安全性五个方面的量化得分使用基准测试程序测试得出,用非负浮点数表示。
3.如权利要求2所述的一种基于移动雾计算的任务卸载方法,其特征在于所述基准测试程序包括STREAM要求版本号5.10.1、LMBENCH要求版本号3.0-a9、Nessus要求版本号8.13.1。
4.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于所述计算能力包括CPU型号、CPU主频数、是否支持超频;所述通信能力包括是否配置5G芯片并具备5G通信能力;所述存储能力包括内存及硬盘存储空间的大小,内存、硬盘的型号;所述感知能力包括是否配备了陀螺仪、温度、湿度传感器;所述安全性包括提供隔离化执行环境、操作系统重大漏洞数量;所述设备支持的点到点通信技术信息包括是否支持蓝牙,LTE-Direct,WIFI-Direct,所支持点到点通信技术的通信范围。
5.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于2.3步所述BS的设备信息管理模块根据待处理队列状态确定是否开始处理注册请求的方法是:
2.3.1设定注册时间T,T为1~3s,设置定时器超时时间为T,启动定时器;
2.3.2判定定时器是否超时,若未超时,等待接收来自MFN或MD的注册请求,若接收到一个来自MFN或MD的注册请求,转2.3.3;若定时器超时,转2.3.4;
2.3.3 BS的设备信息管理模块将该注册请求加入到待处理队列的尾端,转2.3.2;
2.3.4 BS的设备信息管理模块判断待处理队列是否为空,若为空,转2.3.1重新开始接收注册请求;若不为空,结束。
6.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于2.9步所述BS的设备信息管理模块为注册成功的MFN构建一个MFN信息块的方法是:
2.9.1 BS的设备信息管理模块读取MFN注册请求中的设备名,保存到MFN信息块的MFN设备名中,MFN设备名为字符串类型,用于标志该MFN信息块归属于哪个MFN;
2.9.2 BS的设备信息管理模块将从键值数据库中读取到的MFN设备属性信息保存到MFN信息块的MFN设备属性表中,MFN设备属性表为五行一列的浮点型数组;MFNii的设备属性表用
Figure FDA0003616458510000101
表示,其中
Figure FDA0003616458510000102
分别表示MFNii在计算能力、通信能力、存储能力、感知能力以及安全性上的量化得分,
Figure FDA0003616458510000103
均为非负浮点数;
2.9.3 BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MFN信息块的MFN点到点通信表中,MFN点到点通信表为三行一列的浮点型数组;MFNii的点到点通信表用数组
Figure FDA0003616458510000104
表示,其中
Figure FDA0003616458510000105
分别代表MFNii所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用非负浮点数表示,单位为m,MFNii不支持第p类点到点通信技术时,则令
Figure FDA0003616458510000106
2.9.4 BS的设备信息管理模块将MFN汇报的移动状态信息保存到MFN信息块的MFN移动状态表中,MFN移动状态表为五行一列的浮点型数组;MFNii的移动状态表用五行一列的浮点型数组
Figure FDA0003616458510000107
表示,其中
Figure FDA0003616458510000108
分别表示MFNii当前位置的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure FDA0003616458510000109
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MFNii当前的移动方向,
Figure FDA00036164585100001010
表示当前移动速度,单位为m/s;
Figure FDA00036164585100001011
表示该移动状态被记录的时刻,单位为s;
2.9.5 BS的设备信息管理模块将MFN注册请求中汇报的设备资源出售价格保存到MFN信息块的设备资源出售价格中,设备资源出售价格为浮点数类型,MFNii的设备资源出售价格用
Figure FDA00036164585100001012
表示,为非负浮点数;至此,MFN信息块构建完毕。
7.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于2.10步所述BS的设备信息管理模块为注册成功的MD构建一个MD信息块的方法是:
2.10.1 BS的设备信息管理模块读取MD注册请求中汇报的设备名,并保存到MD信息块的MD设备名中,MD设备名为字符串类型,用于标志该MD信息块归属于哪个MD;
2.10.2 BS的设备信息管理模块将从键值数据库中读取到的MFN设备所支持的点到点通信技术信息保存到MD信息块的MD点到点通信表表中,MD点到点通信表为三行一列的浮点型数组;MDjj的点到点通信表用数组
Figure FDA0003616458510000111
表示,其中
Figure FDA0003616458510000112
分别代表MDjj所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,用浮点数表示,单位为m,MDjj不支持第p类点到点通信技术时,
Figure FDA0003616458510000113
2.10.3 BS的设备信息管理模块将MD所汇报的移动状态信息保存到MD信息块的MD移动状态表中,MD移动状态表为五行一列的浮点型数组;MDij的移动状态表用五行一列的浮点型数组
Figure FDA0003616458510000114
表示,其中
Figure FDA0003616458510000115
分别表示MDjj当前的横坐标、纵坐标,横纵坐标轴刻度均为1,横纵坐标轴单位均为m,
Figure FDA0003616458510000116
为移动方向与横坐标轴正向之间的角度,在由GPS提供的平面直角坐标系中表示MDjj当前的移动方向,
Figure FDA0003616458510000117
表示当前移动速度,单位为m/s,
Figure FDA0003616458510000118
表示该移动状态被记录的时刻,单位为s;
2.10.4 MD信息块的任务信息块由属性要求表、服务质量偏好表、服务质量-价格权重因子三部分组成,属性要求表和服务质量偏好表均为六行一列浮点型数组,服务质量-价格权重因子为取值在0-1之间的浮点数,设备信息管理模块将MD注册请求中的后三项参数req,pre,w分别保存到任务信息块的属性要求表、服务质量偏好表、服务质量-价格权重因子中;MDjj的MD信息块的任务信息块中的属性要求表用六行一列浮点型数组
Figure FDA0003616458510000119
表示,数组元素
Figure FDA00036164585100001110
Figure FDA00036164585100001111
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间的最低要求,由第jj个MD自主设定;MDjj的MD信息块的任务信息块中的服务质量偏好表用六行一列浮点型数组
Figure FDA00036164585100001112
表示,数组元素
Figure FDA00036164585100001113
Figure FDA00036164585100001114
均为非负浮点数,分别表示MD任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这6种设备属性的服务质量偏好,任务对第q种设备属性的服务质量偏好指执行任务设备的第q种属性值若增加1,任务能够获得的服务质量增益;服务质量偏好表由MDjj自主设定,0≤q≤5;MDjj的MD信息块的任务信息块中的服务质量-价格权重因子可用
Figure FDA0003616458510000121
表示,
Figure FDA0003616458510000122
为取值在0-1之间的浮点数,表示MDjj对服务质量和价格之间的权衡,由MDjj自主设定,用户可通过调节服务质量-价格权重因子满足自身对服务质量或价格的不同需求;
2.10.5 MDjj的MD信息块构建完毕。
8.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于3.3.4步所述BS的设备信息管理模块在图G中,在顶点MFN′i和能够与MFN′i建立通信链路的MD顶点间添加无向边的方法是:
3.3.4.1初始化j为1;
3.3.4.2 BS的设备信息管理模块读取MD链表中MD′j的MD信息块中保存的MD移动状态表
Figure FDA0003616458510000123
和MD点到点通信表
Figure FDA0003616458510000124
3.3.4.3根据公式(2)计算出MFN′i与MD′j之间的通信范围半径R,若R=0,转3.3.4.6;若R≠0,转3.3.4.4。
Figure FDA0003616458510000125
其中
Figure FDA0003616458510000126
分别表示MFN′i所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure FDA0003616458510000127
分别表示MD′j所支持的蓝牙、LTE-Direct、WIFI-Direct的通信范围的半径,
Figure FDA0003616458510000128
表示当MFN′i与MD′j使用第p类点到点通信技术进行通信时的通信范围半径,0≤p≤2;
3.3.4.4根据公式(3)计算出MD′j当前的横坐标
Figure FDA0003616458510000129
和MD′j当前的纵坐标
Figure FDA00036164585100001210
Figure FDA00036164585100001211
其中
Figure FDA00036164585100001212
表示MD′j移动状态信息的记录时刻,
Figure FDA00036164585100001213
分别表示MD′j在记录时刻的横坐标和纵坐标,
Figure FDA0003616458510000131
分别表示MD′j在记录时刻的移动方向、移动速度;
3.3.4.5为图G新增无向边e(MFN′i,MD′j),根据公式(4)计算e(MFN′i,MD′j)的权重|e(MFN′i,MD′j)|,权重|e(MFN′i,MD′j)|表示MFN′i与MD′j间的链路可维持时间;
Figure FDA0003616458510000132
其中a表示MFN′i与MD′j在横轴正向方向上的速度之差,b表示MFN′i与MD′j的横坐标之差,c表示MFN′i与MD′j在纵轴正向方向上的速度之差,d表示MFN′i与MD′j的纵坐标之差,R表示MFN′i与MD′j之间的通信范围半径;
3.3.4.6若j=J′,说明当前MD信息块已处于MD链表的末尾,完成了MFN′i与J′个MD之间的通信范围半径和链路可维持时间的计算;否则令j=j+1,转步骤3.3.4.2。
9.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于4.2.3步所述BS的任务分配模块在图T′中,在顶点MDj′和I′个MFN间添加无向边的方法为:
4.2.3.1初始化i为1;
4.2.3.2为图T′新增无向边e′(MFN′i,MD′j),将权重|e′(MFN′i,MD′j)|初始化为0;
4.2.3.3 BS的任务分配模块读取MFN链表中MFN′i的MFN信息块中的设备属性表
Figure FDA0003616458510000133
和设备资源出售价格
Figure FDA0003616458510000134
并根据
Figure FDA0003616458510000135
判断MFN′i的设备属性是否达到MD′j上待处理任务对设备属性的最低要求,即满足
Figure FDA0003616458510000136
Figure FDA0003616458510000141
Figure FDA0003616458510000142
Figure FDA0003616458510000143
Figure FDA0003616458510000144
Figure FDA0003616458510000145
(e(MFN′i,MD′j)∈G(M′,D′,E))
即MFN′i必须同时满足MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求并满足e(MFN′i,MD′j)∈G(M′,D′,E);其中
Figure FDA0003616458510000146
分别表示MD′j任务对计算能力、通信能力、存储能力、感知能力、安全性、链路可维持时间这六个方面的最低要求,
Figure FDA0003616458510000147
分别表示MFN′i在计算能力、通信能力、存储能力、感知能力、安全性这五个方面的量化得分,条件e(MFN′i,MD′j)∈G(M′,D′,E)表示MFN′i必须能够与MD′j建立点到点连接,|e(MFN′i,MD′j)|表示当MFN′i与MD′j建立点到点连接时,其通信链路能够维持的时间;若不能同时满足这7个条件,直接转步骤4.2.3.4;否则为边e′(MFN′i,MD′j)按公式(5)修改权重,再转步骤4.2.3.4,权重修改公式如下:
Figure FDA0003616458510000148
其中
Figure FDA0003616458510000149
表示MD′j设定的服务质量-价格权重因子,
Figure FDA00036164585100001410
表示MFN′i的设备资源出售价格,
Figure FDA00036164585100001411
表示MD′j将任务卸载到MFN′i上获得的预期服务质量,
Figure FDA00036164585100001412
的计算公式如下:
Figure FDA00036164585100001413
其中
Figure FDA00036164585100001414
为MD′j的服务质量偏好表的第k项,表示MD′j任务对第k种设备属性的服务质量偏好,0≤k≤5;
Figure FDA0003616458510000151
为MFN′i的设备属性表的第k项,表示MFNi′在第k种设备属性上的量化得分;
Figure FDA0003616458510000152
为MD′j的服务质量偏好表的第5项,即MD′j对链路可维持时间的服务质量偏好;
4.2.3.4若i=I′,说明当前MFN信息块已处于MFN链表的末尾,MD′j到I′个MFN间的任务卸载满意度计算完成;否则令i=i+1,返回步骤4.2.3.2。
10.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于5.3步所述使Te′成为T‘的相等子图的方法是:
5.3.1将图T′中满足边关联的两个顶点的顶标值之和等于该边权重的边加入到T′e中,遍历图T′的边集E′,对于
Figure FDA0003616458510000153
如果l′(MFN′i)+l′(MD′j)=|e′(MFN′i,MD′j)|并且
Figure FDA0003616458510000154
将边e′(MFN′i,MD′j)添加到图T′e的边集E′e中,即令E′e=E′e∪e′(MFN′i,MD′j),遍历完成后,图T′e新增边完毕;
5.3.2删除图Te′中不满足边关联的两个顶点的顶标值之和不等于该边权重的边,遍历T′e的边集E′e,对于
Figure FDA0003616458510000155
如果l′(MFN′i)+l′(MD′j)≠|e′(MFN′i,MD′j)|,即边e′(MFN′i,MD′j)的权重不等于其关联的两个顶点的顶标值之和,则从边集E′e中删除边e′(MFN′i,MD′j),遍历完成后,图T′e删除边完毕,T′e成为T‘的相等子图。
11.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于第六步所述BS的任务卸载模块根据最大加权匹配O进行任务卸载的具体方法是:
6.1初始化s为1;
6.2 BS的任务卸载模块读取EO中的第s条边es,es关联的MFN用
Figure FDA0003616458510000156
表示,es关联的MD用
Figure FDA0003616458510000157
表示,若es的权重|es|>0,转6.3;若|es|=0,转6.7;
6.3 BS的任务卸载模块从MD链表中读取
Figure FDA0003616458510000158
的设备名,从MFN链表中读取
Figure FDA0003616458510000159
的设备名;
6.4 BS的任务卸载模块根据
Figure FDA0003616458510000161
的设备名与
Figure FDA0003616458510000162
建立通信,将
Figure FDA0003616458510000163
的设备名插入到卸载指令中后,发送卸载指令给
Figure FDA0003616458510000164
以通知
Figure FDA0003616458510000165
开始任务卸载并将任务卸载到
Figure FDA0003616458510000166
上;BS的任务卸载模块根据
Figure FDA0003616458510000167
的设备名与
Figure FDA0003616458510000168
建立通信,将
Figure FDA0003616458510000169
的设备名插入到卸载指令中,发送卸载指令给
Figure FDA00036164585100001610
以通知
Figure FDA00036164585100001611
准备接收
Figure FDA00036164585100001612
上待处理任务的数据并执行待处理任务;
6.5
Figure FDA00036164585100001613
上的第二任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名向
Figure FDA00036164585100001614
发起点到点连接请求;
Figure FDA00036164585100001615
上的第一任务卸载模块接收BS所发送的卸载指令,根据卸载指令中包含的设备名,监听并接收来自
Figure FDA00036164585100001616
的点到点连接请求;
6.6
Figure FDA00036164585100001617
Figure FDA00036164585100001618
的点到点连接建立后,
Figure FDA00036164585100001619
基于点到点通信将任务卸载到
Figure FDA00036164585100001620
上,
Figure FDA00036164585100001621
接收任务数据并执行任务;
6.7 BS的设备信息管理模块从MD链表中删除
Figure FDA00036164585100001622
所对应的MD信息块,从MFN链表中删除
Figure FDA00036164585100001623
所对应的信息块;
6.8若s<|EO|,|EO|表示集合EO包含的总边数,则令s=s+1,转6.2;若s=|Eo|,说明遍历EO结束,任务卸载模块已发送完所有任务卸载指令,本轮任务分配执行完毕。
12.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于7.3步所述BS的设备信息管理模块删除MD链表中移动状态信息已过时的MD信息块的方法是:
7.3.1初始化j为1;
7.3.2 BS读取MD链表的第j个MD信息块的MD移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MD信息块中保存的移动状态信息已过时,转7.3.3;若记录时刻距离当前时间不超过5s,转7.3.4;
7.3.3若第j个MD信息块位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,结束;若第j个MD信息块不是位于MD链表的尾端,设备信息管理模块从MD链表中删除该MD信息块,则该MD信息块的下一个MD信息块成为MD链表中第j个MD信息块,转7.3.2;
7.3.4若第j个MD信息块位于MD链表的尾端,结束;否则令j=j+1,转7.3.2。
13.如权利要求1所述的一种基于移动雾计算的任务卸载方法,其特征在于7.5步所述BS的设备信息管理模块删除MFN链表中移动状态信息已过时的MFN信息块的方法是:
7.5.1初始化i为1;
7.5.2 BS读取MFN链表的第i个MFN信息块的MFN移动状态表中保存的状态记录时刻,若记录时刻距离当前时间超过5s,则该MFN信息块中保存的移动状态信息已过时,转7.5.3;若记录时刻距离当前时间不超过5s,转7.5.4;
7.5.3若第i个MFN信息块位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,结束;若第i个MFN信息块不是位于MFN链表的尾端,设备信息管理模块从MFN链表中删除该MFN信息块,则该MFN信息块的下一个MFN信息块成为MFN链表中第i个MFN信息块,转7.5.2;
7.5.4若第i个MFN信息块位于MFN链表的尾端,结束;否则令i=i+1,转7.5.2。
CN202210448728.5A 2022-04-26 2022-04-26 一种基于移动雾计算的任务卸载方法 Active CN114866548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210448728.5A CN114866548B (zh) 2022-04-26 2022-04-26 一种基于移动雾计算的任务卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210448728.5A CN114866548B (zh) 2022-04-26 2022-04-26 一种基于移动雾计算的任务卸载方法

Publications (2)

Publication Number Publication Date
CN114866548A true CN114866548A (zh) 2022-08-05
CN114866548B CN114866548B (zh) 2022-12-23

Family

ID=82634136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210448728.5A Active CN114866548B (zh) 2022-04-26 2022-04-26 一种基于移动雾计算的任务卸载方法

Country Status (1)

Country Link
CN (1) CN114866548B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800495A (zh) * 2020-06-30 2020-10-20 华北电力大学 一种车辆雾计算中的任务卸载系统和方法
WO2020216135A1 (zh) * 2019-04-25 2020-10-29 南京邮电大学 基于边-端协同的多用户多mec任务卸载资源调度方法
CN113950066A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 移动边缘环境下单服务器部分计算卸载方法、系统、设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020216135A1 (zh) * 2019-04-25 2020-10-29 南京邮电大学 基于边-端协同的多用户多mec任务卸载资源调度方法
CN111800495A (zh) * 2020-06-30 2020-10-20 华北电力大学 一种车辆雾计算中的任务卸载系统和方法
CN113950066A (zh) * 2021-09-10 2022-01-18 西安电子科技大学 移动边缘环境下单服务器部分计算卸载方法、系统、设备

Also Published As

Publication number Publication date
CN114866548B (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
Wang et al. A survey on deploying mobile deep learning applications: A systemic and technical perspective
US11431817B2 (en) Method and apparatus for management of network based media processing functions
KR102326521B1 (ko) Mec 플랫폼, 그것을 갖는 디지털 트윈 서비스 시스템 및 그것의 동작 방법
CN108898171B (zh) 图像识别处理方法、系统及计算机可读存储介质
US11722867B2 (en) Systems and methods to determine mobile edge deployment of microservices
CN112346845B (zh) 编码任务的调度方法、装置、设备及存储介质
Harvey et al. Edos: Edge assisted offloading system for mobile devices
US20210141675A1 (en) Hotpluggable runtime
US11700187B2 (en) Systems and methods for configuring and deploying multi-access edge computing applications
CN114694226B (zh) 一种人脸识别方法、系统及存储介质
Hu et al. Deephome: Distributed inference with heterogeneous devices in the edge
Nguyen et al. A novel internet-of-drones and blockchain-based system architecture for search and rescue
CN112202829A (zh) 基于微服务的社交机器人调度系统和调度方法
US20200348865A1 (en) Data replication using active and passive data storage modes
CN114691372A (zh) 一种多媒体端边云系统的群体智能控制方法
KR102350195B1 (ko) 모바일 엣지 컴퓨팅을 활용하는 모바일 증강현실 서비스의 모바일 단말 에너지 최적화 방법 및 시스템
CN114866548B (zh) 一种基于移动雾计算的任务卸载方法
US20210319281A1 (en) Subtask Assignment for an Artificial Intelligence Task
US10419959B1 (en) Individual radio frequency configuration for user devices
US11747874B2 (en) Method for implementing power and/or heat generation control and electronic device therefor
CN116781532A (zh) 融合网络架构中服务功能链的优化映射方法及相关设备
Galanis et al. Edge computing and efficient resource management for integration of video devices in smart grid deployments
CN112637900B (zh) 一种基于社会感知的移动自组云终端簇构建及服务方法
CN113132445A (zh) 资源调度方法、设备、网络系统及存储介质
Yousefpour et al. All one needs to know about fog computing and related edge computing paradigms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant