CN109062677A - 一种无人机***计算迁移方法 - Google Patents

一种无人机***计算迁移方法 Download PDF

Info

Publication number
CN109062677A
CN109062677A CN201810750302.9A CN201810750302A CN109062677A CN 109062677 A CN109062677 A CN 109062677A CN 201810750302 A CN201810750302 A CN 201810750302A CN 109062677 A CN109062677 A CN 109062677A
Authority
CN
China
Prior art keywords
task
layer
migration
function
calculating task
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
CN201810750302.9A
Other languages
English (en)
Other versions
CN109062677B (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.)
Xidian University
National University of Defense Technology
Original Assignee
Xidian University
National University of Defense Technology
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 Xidian University, National University of Defense Technology filed Critical Xidian University
Priority to CN201810750302.9A priority Critical patent/CN109062677B/zh
Publication of CN109062677A publication Critical patent/CN109062677A/zh
Application granted granted Critical
Publication of CN109062677B publication Critical patent/CN109062677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/185Space-based or airborne stations; Stations for satellite systems
    • H04B7/18502Airborne stations
    • H04B7/18506Communications with or from aircraft, i.e. aeronautical mobile service
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Astronomy & Astrophysics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Traffic Control Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种无人机***计算迁移方法及服务器,该方法包括:接收来自于无人机的计算任务;对计算任务内部的函数进行识别,获得函数依赖关系;据此将函数分为本地依赖和可迁移;并对计算任务进行分层建立层次化模型;通过迭代运算在模型运行所耗资源最小时获得最佳划分点,输出划分点给无人机;接收来自于无人机的迁移任务;迁移任务为位于划分点之后的节点包含的计算任务;在迁移任务内部的函数为可迁移时,根据当前信道稳定性和服务器负载状况选择执行或拒绝迁移任务。该方案解决了组件关系复杂、难以划分粒度、受宽带动态影响的问题,实现了根据实时变化的无线信道环境,划分计算迁移点,提高无人机执行计算任务实时处理和续航能力。

Description

一种无人机***计算迁移方法
技术领域
本发明涉及无人机移动通信技术领域,尤其是一种无人机***计算迁移方法。
背景技术
无人机作为现代高科技装备之一,其在军事和民用中被广泛用于目标跟踪、灾后探测等任务,无人机在飞行高度、飞行距离、飞行时间和任务载荷等方面具有无可比拟的优越性,但是无人机续航能力较差,无法有效支撑敏感型计算任务,如视频处理、图片识别等。因此需要合理的方法来扩展无人机计算资源和提高无人机计算任务的执行续航能力。
目前的主要方法是将计算任务进行迁移,无人机计算任务的迁移的常见方法是将部分计算任务迁移到远端服务器,由服务器完成全部或部分计算任务,并将计算结果和指令返回给无人机。
计算迁移是通过将计算任务从无人机迁移到拥有强大计算能力和存储能力的远端服务器,以增强无人机资源功能的技术。
对于将全部计算任务迁移到远端服务器的方法,***将输入数据全部发送到远端服务器,由远端服务器完成全部计算任务,这种方法由于输入数据量较大,无人机与远端服务器之间的数据传输会产生大量的延迟和能耗。而将部分计算任务迁移到远端服务器的方法,***对计算任务进行分解,将其中一部分计算量大的任务迁移到远端服务器执行,由于没有对计算任务进行合理的粒度划分,迁移的部分计算任务与其他计算任务之间存在大量依赖关系和交互数据,同样会产生大量的数据传输交互延迟和能耗。由于环境的复杂性,无人机在空中执行任务过程中,无线环境的信道质量在不断变化,当信道质量不佳时,无人机与远端服务器之间的数据传输会产生大量的延迟和能耗,对***总体的性能影响较大。
对比文件1(CN106909449A),名称为“一种移动终端程序的计算迁移方法与装置”的中国专利,公开了一种移动终端程序的计算迁移方法与装置包括:将移动终端程序分割为多个组件,并剔除不支持计算迁移的组件;根据剩余组件以及剩余组件之间的数据交互关系,构建组件关系无向图;根据组件关系无向图与当前带宽迭代扩大可迁移单元,直到迁移计算权重比满足当前带宽的最小值;在当前带宽稳定时,继续迭代扩大可迁移单元并在时延允许范围内进行计算迁移;在当前带宽不稳定时,立即在时延允许范围内进行计算迁移。
对比文件1能够实现移动终端程序的计算迁移,降低终端的能耗与时耗。但存在以下不足之处:将移动终端程序分割为多个组件,剔除不支持计算迁移的组件是困难的,程序内部各组件有复杂的交互关系,并不能对程序进行合理的粒度划分,受动态带宽的变化影响较大,无法实现最佳的计算迁移。
发明内容
本发明提供一种无人机***计算迁移方法及服务器,用于克服现有技术中组件关系复杂、难以划分粒度、受宽带动态影响较大等缺陷,能扩展无人机计算资源,并根据实时变化的无线信道环境,划分计算迁移点,从而提高无人机执行计算任务的实时处理能力和续航能力。
为实现上述目的,本发明提出一种为实现上述目的,本发明提供的一种无人机***计算迁移方法,包括:
步骤1,接收来自于无人机的计算任务;
步骤2,对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移;
步骤3,根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
步骤4,接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
步骤5,在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
为实现发明目的,本发明还提供一种无人机***计算迁移方法,包括:
步骤1,发出计算任务给服务器;
步骤2,接收服务器根据所述计算任务反馈的最佳划分点的数据;
步骤3,将最佳所述划分点之后的节点包含的计算任务作为迁移任务,并输出给所述服务器;
步骤4,执行所述划分点之前的节点包含的计算任务;
步骤5,在执行到迁移任务时,根据服务器的反馈选择是否执行所述迁移任务。
为实现发明目的,本发明还提供一种服务器,包括:
接收模块,用于接收来自于无人机的计算任务;
识别模块,用于对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移;
迁移点获取模块,用于根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
迁移任务获取模块,用于接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
迁移模块,用于在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
本发明提供的无人机***计算迁移方法及服务器,首先通过对计算任务内部的函数的识别,根据依赖关系将计算任务划分为只能在无人机端执行的本地依赖任务和可以在服务器端执行的可迁移任务;通过函数之间的依赖关系优化无人机计算任务的层次划分,对计算任务进行分解,并根据各函数之间的依赖关系建立层次化模型,通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,把划分点之后的节点包含的计算认为作为计算任务迁移层,并根据动态信道质量、宽带稳定性以及远端服务器负载情况对计算任务进行动态迁移,将部分计算任务迁移到远端服务器,远端服务器为无人机提供克隆环境,可在远端服务器继续执行需要迁移的计算任务,并将最终的计算结果和克隆环境的缓存区数据返回给无人机,有效的扩展了无人机资源并提高了无人机执行计算任务的实时处理能力和无人机续航能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例提供的一种无人机***计算迁移方法的流程图;
图2是本发明实施例提供的一种无人机***计算迁移方法的离线数据处理流程图;
图3是本发明实施例提供的一种无人机***计算迁移方法的图像识别任务各计算层;
图4是本发明实施例提供的一种无人机***计算迁移方法的总能耗和总延迟。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接、无线连接、物理连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提出一种无人机***计算迁移方法及服务器。
实施例一
请参照图1,在服务器侧,本发明实施例提供一种无人机***计算迁移方法,包括以下步骤:
步骤1,接收来自于无人机的计算任务;
参见图1中的S1,当无人机执行任务时,首先对任务进行预处理,即无人机向服务器发送计算任务分析请求,服务器接收来自无人机计算任务的请求。
步骤2,对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移;
当服务器接收来自无人机计算任务的请求时,通过函数分解,将计算任务分解为具体的函数,并对函数进行识别,通过函数的输入参数和调用关系确定函数之间的依赖关系;一些函数使用到了一些只能在无人机上才能获取的特殊资源,比如摄像头硬件设备或特殊本地文件,倘若这些函数被迁移到服务器上执行,它们会因找不到所需要的资源而造成执行错误,这类函数必须留在无人机上执行,将这类函数归为本地依赖函数,这些函数之外的其他函数都被归为可迁移类型。由于图像识别任务首先需要调用图像采集设备获取图像数据,需要本地硬件设备的依赖,所以图像采集部分的函数被标记为本地依赖函数,而本发明的实施例AlexNet神经网络部分的函数没有限制,因此被标记为可迁移函数。
步骤3,根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
参见图2,为了使计算迁移方法能够真正提高计算任务的性能,我们必须避免函数频繁网络调用所带来的负面影响,因为网络调用通常极为耗时,若过于频繁则反而会影响计算任务性能的提高,如此,我们需要把相互间调用频繁并有依赖关系的函数进行聚类,合并成同一计算层,每个计算层包含3个特征参数:输入数据量iin、输出数据量iout和计算复杂度Vi,并根据得到的计算层之间的数据传递关系,以各计算层为节点建立计算任务层次化模型G=(V,E);通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,所述所耗资源包括时间消耗与能源消耗,此时进行无人机计算任务迁移将有效的减少无人机计算任务的总能耗与总时耗,最后服务器将最佳划分点的分析数据返回到所述无人机。
步骤4,接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
无人机在接收到最佳划分点的数据后,执行最佳划分点之前的节点包含的计算任务,将最佳划分点之后的节点包含的任务转移至服务器侧执行;
步骤5,在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
当计算任务在所述无人机上执行到计算迁移点时,根据当前信道带宽和服务器负载情况确定是否进行计算迁移,当检测到服务器负载较高或检测到带宽不稳定,不能支持无人机申请的计算任务迁移时,取消计算迁移点,任务在无人机上执行,当信道质量良好且带宽稳定的情况下,有利于无人机与服务器之间的数据传输,当服务器负载较低时,可以加速计算任务迁移的执行速度时,执行计算任务迁移。
本发明实施例实现了无人机***计算任务的动态迁移,优化了无人机计算任务划分粒度,根据计算任务划分为计算单元并根据各计算单元的依赖关系等建立层次化模型,对应用程序进行合理分层划分,并根据建立的层次化模型和动态信道质量对计算任务进行动态迁移,找到最佳的计算任务迁移划分点,将部分计算任务迁移到远端服务器,远端服务器为无人机提供克隆环境,可在服务器端继续执行需要迁移的计算任务并返回结果。
下面以无人机执行基于AlexNet神经网络的图像识别任务为例对以下步骤进行说明:
所述步骤2包括:
步骤21,对计算任务内部的函数代码予以标记,实现对计算任务内部的各函数进行识别,方便确定函数所述的计算复杂度、数据传输量、所述函数之间的依赖关系;
首先是离线分析阶段,该阶段的任务是通过离线分析图像识别任务函数代码,得到各函数计算复杂度、数据传输量和依赖关系,将函数合并成多个计算层,建立层次化模型并找到最佳计算迁移点;
首先对计算任务内部函数代码特征信息预标记,对各个函数预先标记其代码量、算法复杂度、输入输出参数和调用的函数。***可以通过读取标记信息获取各个函数的具体特征信息,实现对图像识别任务内部各函数进行识别;
步骤22,通过函数的代码量和采用的算法确定函数的所述计算复杂度,通过输入参数和输出参数确定所述数据传输量,通过函数的输入参数、静态字段和调用关系确定函数的所述依赖关系,方便计算任务的分层以及构建层次换模型;
步骤23,根据所述函数之间的依赖关系,在所述函数依赖于只能在无人机端获取的数据时,将所述函数定义为本地依赖;其余函数定义为可迁移。一些函数使用到了一些只能在无人机上才能获取的特殊资源,比如摄像头硬件设备或特殊本地文件,倘若这些函数被迁移到服务器上执行,它们会因找不到所需要的资源而造成执行错误,这类函数必须留在无人机上执行,将这类函数归为本地依赖函数,这些函数之外的其他函数都被归为可迁移类型。由于图像识别任务首先需要调用图像采集设备获取图像数据,需要本地硬件设备的依赖,所以图像采集部分的函数被标记为本地依赖函数,而本发明的实施例AlexNet神经网络部分的函数没有限制,因此被标记为可迁移函数。
步骤3包括:
步骤31,根据所述函数之间的调用频率和依赖关系对所述计算任务进行分层,为了使计算迁移方法能够真正提高计算任务的性能,我们必须避免函数频繁网络调用所带来的负面影响,因为网络调用通常极为耗时,若过于频繁则反而会影响计算任务性能的提高,如此,我们需要把相互间调用频繁并有依赖关系的函数进行聚类,合并成同一计算层。
步骤32,根据各层之间的数据传递关系建立计算任务层次化模型,通过分析AlexNet神经网络的特点,将其中相互间调用频繁并有依赖关系的函数进行聚类,合并成同一计算层,基于AlexNet的图像识别任务最终被分为25层,每个计算层包含3个特征参数:输入数据量iin、输出数据量iout和计算复杂度Vi,参见图3所示,初始输入数据为计算任务的输入数据,最终输出数据为计算任务结果,对于每一层来说,上一层的输出数据即为这一层的输入数据,所以这里只显示了输出数据量和计算复杂度。
步骤33,根据无人机的计算能力和各层参数评估运行各层所需的计算资源,所述计算资源包括时间消耗和能源消耗。
步骤34,以各层V={vi,i=1,2...n}为节点,各层之间的数据传输关系E={(vi,vj)|vi,vj∈V}作为边,各层之间传输的数据量作为边的权值,对所述计算任务层次化模型G=(V,E)进行迭代计算,获得时间消耗和能源消耗最小时划分点,并输出所述划分点的数据给所述无人机,通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,所述所耗资源包括时间消耗与能源消耗,此时进行无人机计算任务迁移将有效的减少无人机计算任务的总能耗与总时耗,最后将服务器的分析数据返回到所述无人机。
所述步骤31还包括:
所述层参数包含初始输入数据量iin、输出数据量iout和计算复杂度Vi
所述步骤32还包括:根据初始输入数据量iin、最终输出数据量iout获得各层之间的数据传递关系,根据各层之间的数据传递关系建立计算任务层次化模型G=(V,E),每层V={vi,i=1,2...n};
所述步骤33包括:
步骤331,对于任一层v∈V,根据有向图G中各层的计算复杂度Vi、无人机计算性能IC、服务器计算性能IS,获得各层在无人机执行计算任务时的时耗各层在服务器执行计算任务时的时耗根据首个层的输入数据量iin、输出数据量iout和当前带宽B稳定性预测将该层进行迁移后,无人机与服务器之间传输数据时耗:运行各层所需的总时间消耗为:
T=∑ts(v)+∑tc(v)+tb (1)
无人机在执行计算任务状态下的功耗为:QC,预测各层的能量消耗:PC(v)=QC×tC(v);根据无人机传输数据时的功耗为:Qb,无人机传输数据的能量消耗为:Pb=Qb×tb;运行各层所需的总能量消耗为:
P=∑Pc(v)+Pb (2)
本发明实施例,设定无人机计算性能IC=2GHz、服务器计算性能IS=100GHz。
具体运算过程如下:根据得到的计算层之间的数据传递关系,建立计算任务层次化模型G=(V,E),各计算层作为节点V={vi,i=1,2...n},各层之间的数据传输关系作为边E={(vi,vj)|vi,vj∈V},层之间传输的数据量作为边的权值,初始输入数据为无人机采集的图像数据,最终输出数据为图像识别结果,对于每一层来说,上一层的输出数据即为这一层的输入数据。
根据无人机计算能力和计算层参数评估运行各计算层所需的计算资源,计算资源主要考虑时间消耗和能源消耗。无人机计算性能IC=2GHz,服务器端计算性能IS=100GHz,对于任一层v∈V,根据有向图G中各层的计算复杂度vi,来求得各计算层在不同位置的计算时耗延迟。计算层在无人机执行时时耗计算层在服务器执行时的时耗
定义无人机在执行计算任务状态下的功耗为QC,无人机在传输数据状态下的功耗为Qb,根据各计算层在无人机端执行的时耗和执行计算任务状态下的功耗QC,可以预测各计算层的能量消耗PC(v)=QC×tC(v);
当对计算任务进行迁移时,需要传输的数据量包括进行迁移的首个计算层的输入数据量iin和最后一个计算层的输出数据量iout,根据输入输出数据量和当前带宽B可以预测将计算层进行迁移后无人机与远端服务器传输数据时耗根据无人机传输数据时的功耗Qb可以预测无人机传输数据的能量消耗Pb=Qb*tb
根据传输数据时耗和计算时耗可以求得无人机计算任务的总时间消耗:
T=∑ts(v)+∑tc(v)+tb (1)
根据各层的能量消耗和传输数据的能量消耗可以求得无人机计算任务的总能源消耗:
P=∑PC(v)+Pb (2)
通过不断迭代计算,找到最优的划分点位置为第16层和第17层之间,划分点之前的计算层在无人机运行,划分点之后的层迁移到远端服务器执行,最终可实现无人机全部执行该程序的能耗大于执行计算迁移所需要的能耗,且计算迁移能耗最少,同时无人机全部执行该程序的时耗大于执行计算迁移所需要的时耗。
所述步骤5包括:
步骤51,接收来自于无人机的迁移请求,参见图1中的S2,当在无人机上执行计算任务时,无人机运行环境会加载离线分析组件生成的分析结果和计算任务代码,并在计算任务执行期间跟踪和分析各计算层,当计算任务执行到计算迁移点时,无人机向服务器发送计算任务迁移请求,服务器根据当前信道带宽和服务器负载情况确定是否进行计算迁移。
步骤52,在信道质量不好且带宽不稳定且服务器负载高的情况下,取消该迁移层的迁移,输出拒绝请求给无人机,在当信道质量良好、带宽稳定且服务器负载低较低时,输出迁移命令给无人机,读取迁移层的位置信息,在迁移层的计算任务运行完成后,执行该迁移层的迁移,将最终的计算结果和克隆环境的缓存区数据反馈给无人机。
本发明实施例,参见图4所示,当计算任务执行到计算迁移点时,计算迁移模块获取到当前信道质量良好且带宽稳定,且服务器负载较低,满足计算任务动态迁移的条件,第16层以及之后的计算层确定将被迁移,计算任务将被运行时迁移组件拦截,然后利用相应的分析结果来确定计算层的输入数据和无人机缓冲区的数据,将这些数据通过数据传输发送到服务器,服务器的克隆环境用于构建计算层运行所需的环境,并根据接受的数据继续执行计算任务,第16层以及之后的计算层由服务器在克隆环境中完成执行,当迁移的计算层运行完成,服务器将最终的计算结果和克隆环境中的缓存区数据返回给无人机,无人机接收到服务器的返回结果,继续执行计算任务直到任务完成。
实施例二
在无人机侧,本发明实施例还提供一种无人机***计算迁移方法,还包括:
步骤1,发出计算任务给服务器,无人机发出计算任务给服务器,服务器对计算任务进行分析。
步骤2,接收服务器根据所述计算任务反馈的最佳划分点的数据,无人机接收服务器的反馈数据,确定最佳划分点。
步骤3,将最佳所述划分点之后的节点包含的计算任务作为迁移任务,并输出给所述服务器,降低无人机执行任务所耗资源。
步骤4,执行所述划分点之前的节点包含的计算任务,无人机上执行所述划分点之前的节点包含的计算任务。
步骤5,在执行到迁移任务时,根据当前信道带宽和服务器负载情况的反馈确定是否进行计算迁移。
所述步骤5包括:
步骤51,向服务器发送计算迁移请求,所述请求信息包括迁移任务中各迁移层位置产生的数据及各迁移层位置信息。
步骤52,进入等待状态,当无人机进行计算迁移时,无人机首先执行计算任务划分点之前的节点,当任务运行到计算划分点时,无人机将划分点位置产生的数据、划分点位置信息和缓存区数据发送给服务器,并进入等待状态。
步骤53,在时间超过时限Tlimit=tb+∑ts(v)没有接收到服务器的返回结果时,无人机继续执行迁移层,独立完成计算任务;在时间小于或等于时限Tlimit=tb+∑ts(v)接收到服务器的接受计算迁移时,接收服务器最终的计算结果和克隆环境的缓存区数据,时限定义为传输时耗和计算层在服务器端的执行时间的总和。
当在无人机上执行计算任务时,无人机运行环境会加载离线分析组件生成的分析结果和计算任务代码,并在计算任务执行期间跟踪和分析各计算层。当计算任务执行到计算迁移点时,计算迁移模块获取到当前信道质量良好且带宽稳定,且远端服务器负载较低,满足计算任务动态迁移的条件。第17以及之后的计算层确定将被迁移,计算任务将被运行时迁移组件拦截,然后利用相应的分析结果来确定计算层的输入数据和无人机缓冲区的数据。将这些数据通过数据传输发送到远端服务器,远端服务器的克隆环境用于构建计算层运行所需的环境,并根据接受的数据继续执行计算任务,第17层以及之后的计算层由远端服务器在克隆环境中完成执行。当迁移的计算层运行完成,远端服务器将最终的计算结果和克隆环境中的缓存区数据返回给无人机。无人机接收到远端服务器的返回结果,继续执行计算任务直到任务完成。
例如,无人机进行实时航路规划任务。
无人机实时航路规划的目的是无人机具有对复杂任务进行快速规划或重规划的能力,其中快速而有效的重规划尤其重要。在无人机飞行任务执行过程中,无人机需要根据局部地形、地貌、障碍、威胁等信息以及飞机本身机动能力的限制,实时地计算出飞行航路,并跟踪该航路完成飞行任务。
无人机航路规划算法分为传统优化算法和现代智能算法,传统优化算法主要包括动态规划法、导数相关法、最优控制法、最速下降法、Voronoi图法;现代智能算法主要包括遗传算法,人工神经网络,蚁群算法,粒子群算法等。但这些算法都存在各种各样的优缺点,有的需要存储的信息量大,有的在迭代过程中速度较慢,难以在短时间内得到最优解。因此,为了提高无人机在航路规划的求解速度,使用无人机***计算迁移方法,来提高算法的收敛速度。
无人机进行实时航路规划任务时,需要经过获取环境信息、地形建模、约束条件、航路求解几个过程。首先经过离线分析阶段,通过对航路规划计算任务进行分解,实现对计算任务内部各函数进行识别,得到各函数计算复杂度、数据传输量和依赖关系。将相互间调用频繁并有依赖关系的函数进行聚类,合并成计算层。将实时航路规划计算任务分为7层,主要有图片数字形态处理、生成等高线、建立数字地形模型、获取约束条件、定义威胁代价函数、建立航路规划模型和航路迭代求解。根据得到的计算层之间的数据传递关系,建立计算任务层次化模型G=(V,E)。
根据有向图G中各层的计算复杂度vi,求得各计算层在不同位置的计算时耗延迟。根据传输数据时耗和计算时耗可以求得无人机计算任务的总时间消耗T=∑ts(v)+∑tc(v)+tb。根据各层的能量消耗和传输数据的能量消耗可以求得无人机计算任务的总能源消耗P=∑PC(v)+Pb
通过不断迭代计算,找到最优的划分点位置为第6层和第7层之间,划分点之前的计算层在无人机运行,划分点之后的层迁移到远端服务器执行。最终可实现无人机进行***计算迁移后执行任务的时耗最小,同时无人机全部执行该程序的能耗大于执行计算迁移所需要的能耗。
任务执行到计算迁移点时,获取当前信道带宽B和服务器负载情况,确定是否进行计算迁移。如果因外界环境或无人机位置等因素导致当前信道质量较差且带宽不稳定,当前带宽远小于离线分析阶段的信道带宽,无人机与远端服务器之间进行数据传输会消耗大量的时间,不利于航路规划任务的完成,无人机取消计算迁移点的标记,计算任务继续在本地执行。如果当前信道质量良好且带宽稳定,无人机与远端服务器之间能够进行稳定且快速的数据传输,无人机会获取远端服务器负载情况,服务器当前CPU和内存等计算资源负载较低,可以加速计算任务迁移的执行速度,无人机确定满足以上约束条件,会在计算迁移点执行计算任务迁移。
实施例三
与实施例一提供的方法对应地,本发明实施例还提供一种服务器,包括:
接收模块,用于接收来自于无人机的计算任务。
识别模块,用于对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移。
迁移点获取模块,用于根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
迁移任务获取模块,用于接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
迁移模块,用于在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
所述识别模块包括:
识别模块,用于对计算任务内部的函数代码予以标记,实现对计算任务内部的各函数进行识别;
参数获取模块,用于通过函数的代码量和采用的算法确定函数的计算复杂度,通过输入参数和输出参数确述数据传输量,通过函数的输入参数、静态字段和调用关系确定函数的所述依赖关系;
函数划分模块,用于根据所述函数之间的依赖关系,在所述函数依赖于只能在无人机端获取的数据时,将所述函数定义为本地依赖;其余函数定义为可迁移。
所述迁移点获取模块包括:
分层模块,用于根据所述函数之间的调用频率和依赖关系对所述计算任务进行分层;
建模模块,用于根据各层之间的数据传递关系建立计算任务层次化模型;
评估模块,用于根据无人机的计算能力和各层参数评估运行各层所需的计算资源,所述计算资源包括时间消耗和能源消耗;
迭代模块,用于以各层为节点,各层之间的数据传输关系作为边,各层之间传输的数据量作为边的权值,对所述计算任务层次化模型进行迭代计算,获得时间消耗和能源消耗最小时划分点,并输出所述划分点的数据给所述无人机。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

Claims (10)

1.一种无人机***计算迁移方法,其特征在于,包括:
步骤1,接收来自于无人机的计算任务;
步骤2,对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移;
步骤3,根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
步骤4,接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
步骤5,在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
2.根据权利要求1所述的无人机***计算迁移方法,其特征在于,所述步骤2包括:
步骤21,对计算任务内部的函数代码予以标记,实现对计算任务内部的各函数进行识别;
步骤22,通过函数的代码量和采用的算法确定函数的所述计算复杂度,通过输入参数和输出参数确定所述数据传输量,通过函数的输入参数、静态字段和调用关系确定函数的所述依赖关系;
步骤23,根据所述函数之间的依赖关系,在所述函数依赖于只能在无人机端获取的数据时,将所述函数定义为本地依赖;其余函数定义为可迁移。
3.根据权利要求1所述的无人机***计算迁移方法,其特征在于,所述步骤3包括:
步骤31,根据所述函数之间的调用频率和依赖关系对所述计算任务进行分层;
步骤32,根据各层之间的数据传递关系建立计算任务层次化模型;
步骤33,根据无人机的计算能力和各层参数评估运行各层所需的计算资源,所述计算资源包括时间消耗和能源消耗;
步骤34,以各层为节点,各层之间的数据传输关系作为边,各层之间传输的数据量作为边的权值,对所述计算任务层次化模型进行迭代计算,获得时间消耗和能源消耗最小时划分点,并输出所述划分点的数据给所述无人机。
4.根据权利要求3所述的无人机***计算迁移方法,其特征在于,所述步骤31还包括:
所述层参数包含输入数据量iin、输出数据量iout和计算复杂度Vi
所述步骤32还包括:根据每层的输入数据量iin、输出数据量iout获得各层之间的数据传递关系,根据各层之间的数据传递关系建立计算任务层次化模型G=(V,E),每层V={vi,i=1,2...n};
所述步骤33包括:
步骤331,对于任一层v∈V,根据有向图G中各层的计算复杂度Vi、无人机计算性能Ic、服务器计算性能Is,获得各层在无人机执行计算任务时的时耗各层在服务器执行计算任务时的时耗根据首个层的输入数据量iin、最后一个层的输出数据量iout和当前带宽B稳定性预测将该层进行迁移后,无人机与服务器之间传输数据时耗:运行各层所需的总时间消耗为:
T=∑ts(v)+∑tc(v)+tb (1)
无人机在执行计算任务状态下的功耗为Qc,预测各层的能量消耗:PC(v)=QC×tC(v);根据无人机传输数据时的功耗为:Qb,无人机传输数据的能量消耗为:Pb=Qb×tb;运行各层所需的总能量消耗为:
P=∑Pc(v)+Pb (2)
5.根据权利要求1~4任一项所述的无人机***计算迁移方法,其特征在于,所述步骤5包括:
步骤51,接收来自于无人机的迁移请求;
步骤52,在信道质量不好且带宽不稳定且远端服务器负载高的情况下,取消该迁移层的迁移,输出拒绝请求给无人机;
在当信道质量良好、带宽稳定且远端服务器负载低较低时,输出迁移命令给无人机;
读取迁移层的位置信息,在迁移层的计算任务运行完成后,执行该迁移层的迁移,将最终的计算结果和克隆环境的缓存区数据反馈给无人机。
6.一种无人机***计算迁移方法,其特征在于,包括:
步骤1,发出计算任务给服务器;
步骤2,接收服务器根据所述计算任务反馈的最佳划分点的数据;
步骤3,将最佳所述划分点之后的节点包含的计算任务作为迁移任务,并输出给所述服务器;
步骤4,执行所述划分点之前的节点包含的计算任务;
步骤5,在执行到迁移任务时,根据服务器的反馈选择是否执行所述迁移任务。
7.根据权利要求6所述的无人机***计算迁移方法,其特征在于,所述步骤5包括:
步骤51,向服务器发送计算迁移请求,所述请求信息包括迁移任务中各迁移层位置产生的数据及各迁移层位置信息;
步骤52,进入等待状态;
步骤53,在时间超过时限Tlimit=tb+∑ts(v)没有接收到服务器的返回结果时,无人机继续执行迁移层,独立完成计算任务;
在时间小于或等于时限Tlimit=tb+∑ts(v)接收到服务器的接受计算迁移时,接收服务器最终的计算结果和克隆环境的缓存区数据。
8.一种服务器,其特征在于,包括:
接收模块,用于接收来自于无人机的计算任务;
识别模块,用于对所述计算任务内部的函数进行识别,获得函数的依赖关系;根据所述函数之间的依赖关系将所述函数分为本地依赖和可迁移;
迁移点获取模块,用于根据所述函数之间的依赖关系对所述计算任务进行分层并建立计算任务层次化模型;通过迭代运算在所述计算任务层次化模型运行所耗资源最小时获得最佳划分点,输出所述划分点的数据给所述无人机;
迁移任务获取模块,用于接收来自于所述无人机的迁移任务;所述迁移任务为位于所述划分点之后的节点包含的计算任务;
迁移模块,用于在所述迁移任务包含的计算任务内部的函数为可迁移时,根据当前信道的稳定性和服务器的负载状况选择执行所述迁移任务或拒绝执行所述迁移任务。
9.根据权利要求8所述的服务器,其特征在于,所述识别模块包括:
识别模块,用于对计算任务内部的函数代码予以标记,实现对计算任务内部的各函数进行识别;
参数获取模块,用于通过函数的代码量和采用的算法确定函数的计算复杂度,通过输入参数和输出参数确述数据传输量,通过函数的输入参数、静态字段和调用关系确定函数的所述依赖关系;
函数划分模块,用于根据所述函数之间的依赖关系,在所述函数依赖于只能在无人机端获取的数据时,将所述函数定义为本地依赖;其余函数定义为可迁移。
10.根据权利要求8或9所述的服务器,其特征在于,所述迁移点获取模块包括:
分层模块,用于根据所述函数之间的调用频率和依赖关系对所述计算任务进行分层;
建模模块,用于根据各层之间的数据传递关系建立计算任务层次化模型;
评估模块,用于根据无人机的计算能力和各层参数评估运行各层所需的计算资源,所述计算资源包括时间消耗和能源消耗;
迭代模块,用于以各层为节点,各层之间的数据传输关系作为边,各层之间传输的数据量作为边的权值,对所述计算任务层次化模型进行迭代计算,获得时间消耗和能源消耗最小时划分点,并输出所述划分点的数据给所述无人机。
CN201810750302.9A 2018-07-10 2018-07-10 一种无人机***计算迁移方法 Active CN109062677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810750302.9A CN109062677B (zh) 2018-07-10 2018-07-10 一种无人机***计算迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810750302.9A CN109062677B (zh) 2018-07-10 2018-07-10 一种无人机***计算迁移方法

Publications (2)

Publication Number Publication Date
CN109062677A true CN109062677A (zh) 2018-12-21
CN109062677B CN109062677B (zh) 2020-07-31

Family

ID=64819354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810750302.9A Active CN109062677B (zh) 2018-07-10 2018-07-10 一种无人机***计算迁移方法

Country Status (1)

Country Link
CN (1) CN109062677B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922137A (zh) * 2019-01-28 2019-06-21 中国人民解放军国防科技大学 无人机协助的计算迁移方法
CN112969157A (zh) * 2021-02-22 2021-06-15 重庆邮电大学 一种无人机网络负载均衡方法
CN116166341A (zh) * 2023-04-25 2023-05-26 中国人民解放军军事科学院***工程研究院 一种基于深度学习的静态云边协同架构函数计算卸载方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009648A (zh) * 2006-12-27 2007-08-01 北京航空航天大学 多服务器的分层迭代负载平衡方法
WO2011127059A1 (en) * 2010-04-05 2011-10-13 Huawei Technologies Co., Ltd. Method for dynamic migration of a process or services from one control plane processor to another
US20120017219A1 (en) * 2010-07-16 2012-01-19 Mstar Semiconductor, Inc. Multi-CPU Domain Mobile Electronic Device and Operation Method Thereof
CN105812461A (zh) * 2016-03-09 2016-07-27 福州大学 一种移动云环境情景感知计算迁移方法
CN106909449A (zh) * 2017-01-11 2017-06-30 西可通信技术设备(河源)有限公司 一种移动终端程序的计算迁移方法与装置
CN107786963A (zh) * 2017-10-26 2018-03-09 北京邮电大学 一种自组织网络中计算任务的迁移策略

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009648A (zh) * 2006-12-27 2007-08-01 北京航空航天大学 多服务器的分层迭代负载平衡方法
WO2011127059A1 (en) * 2010-04-05 2011-10-13 Huawei Technologies Co., Ltd. Method for dynamic migration of a process or services from one control plane processor to another
US20120017219A1 (en) * 2010-07-16 2012-01-19 Mstar Semiconductor, Inc. Multi-CPU Domain Mobile Electronic Device and Operation Method Thereof
CN105812461A (zh) * 2016-03-09 2016-07-27 福州大学 一种移动云环境情景感知计算迁移方法
CN106909449A (zh) * 2017-01-11 2017-06-30 西可通信技术设备(河源)有限公司 一种移动终端程序的计算迁移方法与装置
CN107786963A (zh) * 2017-10-26 2018-03-09 北京邮电大学 一种自组织网络中计算任务的迁移策略

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109922137A (zh) * 2019-01-28 2019-06-21 中国人民解放军国防科技大学 无人机协助的计算迁移方法
CN109922137B (zh) * 2019-01-28 2021-06-25 中国人民解放军国防科技大学 无人机协助的计算迁移方法
CN112969157A (zh) * 2021-02-22 2021-06-15 重庆邮电大学 一种无人机网络负载均衡方法
CN112969157B (zh) * 2021-02-22 2022-10-18 重庆邮电大学 一种无人机网络负载均衡方法
CN116166341A (zh) * 2023-04-25 2023-05-26 中国人民解放军军事科学院***工程研究院 一种基于深度学习的静态云边协同架构函数计算卸载方法

Also Published As

Publication number Publication date
CN109062677B (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN106502266B (zh) 一种多机协同作业指挥控制***
CN113282368B (zh) 一种用于变电站巡视的边缘计算资源调度方法
Pinto et al. A framework for analyzing fog‐cloud computing cooperation applied to information processing of UAVs
Tang et al. Dynamic reallocation model of multiple unmanned aerial vehicle tasks in emergent adjustment scenarios
Wu et al. Multi UAV cluster control method based on virtual core in improved artificial potential field
CN113395679B (zh) 一种无人机边缘服务器的资源和任务分配优化***
CN113435472A (zh) 车载算力网络用户需求预测方法、***、设备、介质
CN112732450B (zh) 端-边-云协同框架下的机器人知识图谱生成***及方法
CN110515732A (zh) 一种基于资源受限机器人深度学习推理的任务分配方法
CN109062677A (zh) 一种无人机***计算迁移方法
Tang et al. A joint global and local path planning optimization for UAV task scheduling towards crowd air monitoring
Peng et al. Constrained multi-objective optimization for UAV-enabled mobile edge computing: Offloading optimization and path planning
CN113422803B (zh) 一种基于端边云协同的无人机智能巡检任务无缝迁移方法
Chen et al. Multi-user edge-assisted video analytics task offloading game based on deep reinforcement learning
Ebrahim et al. A deep learning approach for task offloading in multi-UAV aided mobile edge computing
Rahbari et al. Fast and fair computation offloading management in a swarm of drones using a rating-based federated learning approach
Li et al. Sustainable CNN for robotic: An offloading game in the 3D vision computation
Zhang et al. Dynamic DNN decomposition for lossless synergistic inference
CN111770133B (zh) 一种多体慧联云控平台
CN117333807A (zh) 空地一体化无人机群云边协同目标锁定***
Baig et al. Machine learning and AI approach to improve UAV communication and networking
Yang et al. Intelli-eye: An UAV tracking system with optimized machine learning tasks offloading
CN116436980A (zh) 一种实时视频任务端网边协同调度方法及装置
Wang et al. C3Meta: a context-aware cloud-edge-end collaboration framework toward green metaverse
CN115270404A (zh) 一种天基信息体系效能仿真架构设计***及方法

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