CN116886706B - 一种应用程序放置方法、装置、电子设备和存储介质 - Google Patents

一种应用程序放置方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN116886706B
CN116886706B CN202311146627.3A CN202311146627A CN116886706B CN 116886706 B CN116886706 B CN 116886706B CN 202311146627 A CN202311146627 A CN 202311146627A CN 116886706 B CN116886706 B CN 116886706B
Authority
CN
China
Prior art keywords
auction
equipment
application program
application
resource
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.)
Active
Application number
CN202311146627.3A
Other languages
English (en)
Other versions
CN116886706A (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.)
Dianji Network Technology Shanghai Co ltd
Original Assignee
Dianji Network Technology Shanghai Co ltd
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 Dianji Network Technology Shanghai Co ltd filed Critical Dianji Network Technology Shanghai Co ltd
Priority to CN202311146627.3A priority Critical patent/CN116886706B/zh
Publication of CN116886706A publication Critical patent/CN116886706A/zh
Application granted granted Critical
Publication of CN116886706B publication Critical patent/CN116886706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • 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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0611Request for offers or quotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1012Design facilitation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及一种应用程序放置方法、装置、电子设备和存储介质,该方法包括:收集边缘网络设备的信息数据,将边缘网络设备抽象为节点,分配与应用程序的距离较近的边缘网络设备为拍卖者;根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存Value的关系确定进行资源调度还是资源竞争;若确定进行资源竞争,根据边缘网络设备的信息数据向距离应用程序较近的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;若确定开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;当应用程序的所有子程序的竞拍都结束后,下发竞拍结果至边缘网络设备进行资源调度。

Description

一种应用程序放置方法、装置、电子设备和存储介质
技术领域
本申请涉及应用程序放置技术领域,特别是涉及一种应用程序放置方法、装置、设备和介质。
背景技术
随着移动互联网的发展和智能手机、相机、AR 眼镜等各种便携式电子设备的流程,互联网上的数据近年呈爆炸式增长。然而,大部分终端设备的资源有限,难以在终端设备本地处理数据。由于将数据从终端设备直接发送到云端可能会导致延迟和网络拥塞,因此,边缘计算的概念在近年来越来越流行。边缘计算的思路是将计算和数据存储功能放到离终端设备更近的位置,例如边缘服务器或物联网设备,进而利用边缘设备进行实时数据处理和分析,减少对云端的依赖,提高响应速度,并减少网络带宽的使用。边缘计算在许多领域都具有重要的应用,如智能城市、工业自动化、智能交通等。
在边缘计算中,应用程序组件可以放置在从云数据中心到网络边缘节点的一系列计算设备上,应用程序的放置直接影响了终端设备的延迟和资源利用率等。然而,目前的应用程序放置方法多是集中式的,由单个实体收集网络中各基础设施的信息,对应用程序的放置做出决定后再下发给各相关设备。这样的方式简单高效,但是可能面临单点故障,以及中心实体的伸缩性问题。
发明内容
基于上述问题,本申请提供一种应用程序放置方法、装置、电子设备和存储介质。
第一方面,本发明实施例提供一种应用程序放置方法,应用于包括:基础设施收集模块、应用程序调度策略缓存模块、资源竞争拍卖模块、应用程序放置模块的系统中,包括:
基础设施收集模块收集边缘网络设备的信息数据,提供通用资源接口,将边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,所述拍卖者根据所述边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到所述应用程序放置模块,所述应用程序放置模块下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值。
进一步地,上述一种应用程序放置方法,还包括:
应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源调度,应用程序调度策略缓存模块将应用程序不可再拆分的子程序所需资源调度到边缘设备网络节点中,并持续监控边缘设备网络节点的状态;
其中,应用程序调度策略缓存模块缓存了目前已成功调度并运行的应用程序申请的资源和资源对应的网络节点,所述应用程序调度策略缓存模块的缓存方式为LRU。
进一步地,上述一种应用程序放置方法中,根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争,包括:
判断申请子设备申请的资源与缓存Key的大小以及当前边缘设备网络节点可用资源与缓存 Value的大小;
当判断结果为申请子设备申请的资源小于等于缓存Key且当前边缘设备网络节点可用资源大于缓存 Value 时,进行资源调度;
当判断结果为申请子设备申请的资源大于缓存Key且当前边缘设备网络节点可用资源小于等于缓存 Value 时,进行资源竞争。
进一步地,上述一种应用程序放置方法中,根据竞价邀请的响应数确定是否开启拍卖,包括:
若响应数小于 1 ,资源竞争拍卖模块扩大邀请的网络距离范围到第二预设范围内,根据所述边缘网络设备的信息数据向第二预设距离范围内的边缘设备网络节点发起竞价邀请;
若响应数等于 1, 则指定对应的边缘网络设备为竞价者,开启拍卖;
若响应数大于 1 ,则开启拍卖。
进一步地,上述一种应用程序放置方法中,确定应用程序的每个子程序的竞拍结果中节点da竞拍子程序 ca 成功的条件至少包括:da不包含与子程序 ca 冲突的其他组件、da竞拍结束后仍有足够的计算能力和存储能力承载ca以及da不包含与子程序 ca 网络可达。
进一步地,上述一种应用程序放置方法,还应用于包括资源竞争竞价模块的系统中,还包括:
资源竞争竞价模块收到拍卖者的拍卖消息后,边缘网络设备节点检查自身的资源空间状态确定是否成为竞拍者;
若确定成为竞拍者且参与竞拍的竞拍者大于 1,竞拍者收到拍卖开始的信息,检查自身计算资源和存储资源是否满足应用程序运行的最低要求,并初始化自身出价。
进一步地,上述一种应用程序放置方法,还包括:
若资源调度失败,发送基础设施收集模块重新确定拍卖者开启竞争;
若资源调度成功,则向应用程序调度策略缓存模块发送请求更新缓存条目。
第二方面,本发明实施例还提供一种应用程序放置装置,包括:基础设施收集模块、应用程序调度策略缓存模块、资源竞争拍卖模块和应用程序放置模块,
基础设施收集模块用于收集边缘网络设备的信息数据,提供通用资源接口,将边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
应用程序调度策略缓存模块用于根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,拍卖者根据边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到所述应用程序放置模块,应用程序放置模块用于下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述的一种应用程序放置方法。
第四方面,本发明实施例还提供了一种确定机可读存储介质,所述确定机可读存储介质存储程序或指令,所述程序或指令使确定机执行如上所述任一项所述的一种应用程序放置方法。
本申请实施例的优点在于:本发明通过基础设施收集模块、资源竞争拍卖模块、资源竞争竞价模块、应用程序调度策略缓存模块、应用程序放置模块在边缘计算场景下实现去中心化的应用程序放置,基础设施收集模块提供通用接口,将不同厂商的设备抽象为共通的资源属性,并将应用程序拆分为不可分割的子程序作为竞价的基础;资源竞争竞价模块和资源竞争拍卖模块是去中心化算法的核心,这一过程每个边缘网络设备只需维护自己的资源并作为竞价者提出自身的资源报价,应用程序所需的资源可以被不同的边缘网络设备竞争,进而最大化资源利用率;应用程序调度策略缓存模块采用 LRU 的方式缓存资源竞争的结果,减少 IO请求次数;应用程序放置模块根据竞争结果对应用程序的资源进行分发。
附图说明
为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序放置方法示意图;
图2为本发明实施例提供的一种应用程序放置装置示意图;
图3是本发明实施例提供的一种电子设备的示意性框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵时做类似改进,因此本申请不受下面公开的具体实施的限制。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
图1为本申请实施例提供的一种应用程序放置方法示意图。
第一方面,本发明实施例提供一种应用程序放置方法,应用于包括:基础设施收集模块、应用程序调度策略缓存模块、资源竞争拍卖模块、应用程序放置模块的系统中,结合图1,包括S101至S105五个步骤:
S101:基础设施收集模块收集边缘网络设备的信息数据,提供通用资源接口,将边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者。
具体的,本发明实施例中,基础设施收集模块收集边缘网络设备的信息数据,并将这些边缘网络设备抽象为网络节点,应理解,将这些边缘网络设备抽象为网络节点限制可达网络的边界,限制参与竞争的节点数量,减少不必要的网络IO开销,与中心化的应用程序放置方法中的中心实体不同的是,基础设施收集模块不需要计算能力,其轻量化的功能使其更像一个裁判,将实际的计算和存储都交给边缘网络设备自身进行,基础设施收集模块提供了通用资源接口,将各网络中不同的设备进行抽象为节点,使节点在缓存和竞价时公平竞争,基础设施收集模块与应用程序网络距离较近的边缘网络设备通过网络请求分配其为拍卖者。
S102:应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争。
具体的,本发明实施例中,缓存的 Key 为子程序的计算和存储资源开销和应用程序的网络位置,Value 是资源实际占用的边缘设备网络节点,在实际匹配的过程中,应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争的方法下文详细介绍。
S103:若确定结果为进行资源竞争,拍卖者根据边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖。
具体的,本发明实施例中,第一预设范围可以是距离应用程序在几米以内的范围,根据竞价邀请的响应数确定是否开启拍卖的方法下文详细介绍。
应理解,资源竞争拍卖模块由拍卖者主导,拍卖者可以由任一边缘网络设备节点担任,负责计算出最佳的资源分配策略,计算的过程不集中上单一节点上,使计算热点分散。
S104:若确定结果为开启拍卖,拍卖者向竞价者发送开根据始消息、待拍卖组件的计算存储网络信息、以及当前最高出价。
具体的,本发明实施例中,在拍卖阶段,拍卖者会向竞价者发送开始消息,待拍卖组件 c 的计算存储网络信息,以及当前最高出价maxBid,最高出价是待拍卖组件 c 在竞价设备 d上的贡献值。
在一些实施例中,在拍卖过程中将通过如下公式计算子程序 c 放到边缘网络节点 d 时,对网络延迟的贡献,
time(a,c)和 time(c,a)分别表示程序 c 放置到节点 d 时和不同网络节点交互的实验,time(c)表示 c 在 d 上运行的时延。
S105:确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到应用程序放置模块,应用程序放置模块下发竞拍结果至边缘网络设备进行资源调度。
具体的,本发明实施例中,确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到应用程序放置模块,应用程序放置模块下发竞拍结果至边缘网络设备进行资源调度,并持续监控边缘网络设备节点的状态。
进一步地,上述一种应用程序放置方法,还包括:
应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源调度,应用程序调度策略缓存模块将应用程序不可再拆分的子程序所需资源调度到边缘设备网络节点中,并持续监控边缘设备网络节点的状态;
其中,应用程序调度策略缓存模块缓存了目前已成功调度并运行的应用程序申请的资源和资源对应的网络节点,应用程序调度策略缓存模块的缓存方式为LRU。
具体的,本发明实施例中,应用程序调度策略缓存模块的缓存采用 LRU 的方式,淘汰掉最长没有被命中的缓存条目,限制缓存条目数量,。
在一些实施例中,应用程序调度策略缓存模块采用 LRU 策略即Least RecentlyUsed,最近最少使用来减少与边缘网络设备的 IO 请求,复用已有调度策略,应用程序调度策略缓存模块可以减少资源竞争时产生的多次网络请求,并且减少应用程序的网络延迟。
进一步地,上述一种应用程序放置方法中,根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争,包括:
判断申请子设备申请的资源与缓存Key的大小以及当前边缘设备网络节点可用资源与缓存 Value的大小;
当判断结果为申请子设备申请的资源小于等于缓存Key且当前边缘设备网络节点可用资源大于缓存 Value 时,进行资源调度;
当判断结果为申请子设备申请的资源大于缓存Key且当前边缘设备网络节点可用资源小于等于缓存 Value 时,进行资源竞争。
进一步地,上述一种应用程序放置方法中,根据竞价邀请的响应数确定是否开启拍卖,包括:
若响应数小于 1 ,资源竞争拍卖模块扩大邀请的网络距离范围到第二预设范围内,根据边缘网络设备的信息数据向第二预设距离范围内的边缘设备网络节点发起竞价邀请;
若响应数等于 1, 则指定对应的边缘网络设备为竞价者,开启拍卖;
若响应数大于 1 ,则开启拍卖。
具体的,本发明实施例中的第二预设距离范围内大于第一预设距离范围。
进一步地,上述一种应用程序放置方法中,确定应用程序的每个子程序的竞拍结果中节点da竞拍子程序 ca 成功的条件至少包括:da不包含与子程序 ca 冲突的其他组件、da竞拍结束后仍有足够的计算能力和存储能力承载ca以及da不包含与子程序 ca 网络可达。
进一步地,上述一种应用程序放置方法,还应用于包括资源竞争竞价模块的系统中,还包括:
资源竞争竞价模块收到拍卖者的拍卖消息后,边缘网络设备节点检查自身的资源空间状态确定是否成为竞拍者;
若确定成为竞拍者且参与竞拍的竞拍者大于 1,竞拍者收到拍卖开始的信息,检查自身计算资源和存储资源是否满足应用程序运行的最低要求,并初始化自身出价。
初始化自身出价是通过如下公式初始化的:
)表示子程序 c 放到边缘网络节点 d 时,对网络延迟的贡献time(a,c) 和 time(c,a)分别表示程序 c 放置到节点 d 时和不同网络节点交互的实验,time(c)表 示 c 在 d 上运行的时延。
竞拍者 db在两种情况下可以成功竞拍到子程序ca
第一种情况:竞拍者db自身有足够的计算和存储资源运行 ca,并且出价最高,即竞拍者判断子程序ca在边缘设备网络节点db运行时,对整体网络程序运行最优。
第二种情况:尽管竞拍者db自身没有足够的计算和存储资源运行 ca,但是竞拍者db上同时已经竞拍得到其他的子程序cx,并且在不考虑cx占用资源的前提下竞拍者db满足ca的资源需求,db也可以参与竞拍,若此时竞拍者判断子程序ca在边缘设备网络节点db运行时,对整体网络程序运行最优,此时竞拍者db可以向拍卖者申请交易cx,并找到全局最优的时延方案。
若da有足够的资源可以运行 cx,则 db 可以将 da 交易给 da,但需要满足的是交易完成后,在 db 上运行 ca 得到的时延下降大于出价 cx 从 db 调整到 da 时带来的时延提升,通过上述方法可以做到局部的实延最小化和资源利用率最大化。
进一步地,上述一种应用程序放置方法,还包括:
若资源调度失败,发送基础设施收集模块重新确定拍卖者开启竞争;
若资源调度成功,则向应用程序调度策略缓存模块发送请求更新缓存条目。
具体的,本发明实施例中,若节点资源不可用或者网络不可达等原因导致调度失败,则发送基础设施收集模块重新挑选拍卖者开启竞争,若资源调度成功,则向应用程序调度策略缓存模块发送请求更新缓存条目,从而实现边缘计算的应用程序放置流程从集群式转变为去分布式,有效提升了边缘计算应用程序放置的可靠性。
图2为本发明实施例提供的一种应用程序放置装置示意图。
第二方面,本发明实施例还提供一种应用程序放置装置,结合图2,包括:基础设施收集模块201、应用程序调度策略缓存模块202、资源竞争拍卖模块203和应用程序放置模块204,
基础设施收集模块201用于收集边缘网络设备的信息数据,将边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
应用程序调度策略缓存模块202用于根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,资源竞争拍卖模块203用于根据边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块203将每个子程序的竞拍结果发送到所述应用程序放置模块,应用程序放置模块204用于下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值。
第三方面,本发明实施例还提供了一种电子设备,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述的一种应用程序放置方法。
第四方面,本发明实施例还提供了一种确定机可读存储介质,所述确定机可读存储介质存储程序或指令,所述程序或指令使确定机执行如上所述任一项所述的一种应用程序放置方法。
图3是本公开实施例提供的一种电子设备的示意性框图。
如图3所示,电子设备包括:至少一个处理器301、至少一个存储器302和至少一个通信接口303。电子设备中的各个组件通过总线系统304耦合在一起。通信接口303,用于与外部设备之间的信息传输。可理解,总线系统304用于实现这些组件之间的连接通信。总线系统304除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但为了清楚说明起见,在图3中将各种总线都标为总线系统304。
可以理解,本实施例中的存储器302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
在一些实施方式中,存储器302存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本申请实施例提供的一种应用程序放置方法中任一方法的程序可以包含在应用程序中。
在本申请实施例中,处理器301通过调用存储器302存储的程序或指令,具体的,可以是应用程序中存储的程序或指令,处理器301用于执行本申请实施例提供的一种应用程序放置方法各实施例的步骤。
基础设施收集模块收集边缘网络设备的信息数据,将边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,所述资源竞争拍卖模块根据所述边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到所述应用程序放置模块,所述应用程序放置模块下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值。
本申请实施例提供的一种应用程序放置方法中任一方法可以应用于处理器301中,或者由处理器301实现。处理器301可以是一种集成电路芯片,具有信号能力。在实现过程中,上述方法的各步骤可以通过处理器301中的硬件的集成逻辑电路或者软件形式的指令完成。上述处理器301可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规器等。
本申请实施例提供的一种应用程序放置方法中任一方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器302,处理器301读取存储器302中的信息,结合其硬件完成一种应用程序放置方法的步骤。
本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。
本领域的技术人员能够理解,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

Claims (9)

1.一种应用程序放置方法,应用于包括:基础设施收集模块、应用程序调度策略缓存模块、资源竞争拍卖模块、应用程序放置模块的系统中,其特征在于,包括:
所述基础设施收集模块收集边缘网络设备的信息数据,提供通用资源接口,将所述边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
所述应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,所述拍卖者根据所述边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到所述应用程序放置模块,所述应用程序放置模块下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值;
所述根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争,包括:
判断申请子设备申请的资源与缓存Key的大小以及当前边缘设备网络节点可用资源与缓存 Value的大小;
当判断结果为申请子设备申请的资源小于等于缓存Key且当前边缘设备网络节点可用资源大于缓存 Value 时,进行资源调度;
当判断结果为申请子设备申请的资源大于缓存Key且当前边缘设备网络节点可用资源小于等于缓存 Value 时,进行资源竞争;
缓存Key 为子程序的计算和存储资源开销和应用程序的网络位置,缓存Value 为资源实际占用的边缘设备网络节点。
2.根据权利要求1所述的一种应用程序放置方法,其特征在于,所述方法还包括:
应用程序调度策略缓存模块根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源调度,应用程序调度策略缓存模块将应用程序不可再拆分的子程序所需资源调度到边缘设备网络节点中,并持续监控边缘设备网络节点的状态;
其中,应用程序调度策略缓存模块缓存了目前已成功调度并运行的应用程序申请的资源和资源对应的网络节点,所述应用程序调度策略缓存模块的缓存方式为LRU。
3.根据权利要求1所述的一种应用程序放置方法,所述根据竞价邀请的响应数确定是否开启拍卖,包括:
若响应数小于 1 ,资源竞争拍卖模块扩大邀请的网络距离范围到第二预设范围内,根据所述边缘网络设备的信息数据向第二预设距离范围内的边缘设备网络节点发起竞价邀请;
若响应数等于 1, 则指定对应的边缘网络设备为竞价者,开启拍卖;
若响应数大于 1 ,则开启拍卖。
4.根据权利要求1所述的一种应用程序放置方法,确定应用程序的每个子程序的竞拍结果中节点da竞拍子程序 ca 成功的条件至少包括:da不包含与子程序 ca 冲突的其他组件、da竞拍结束后仍有足够的计算能力和存储能力承载ca以及da不包含与子程序 ca 网络可达。
5.根据权利要求1所述的一种应用程序放置方法,所述方法还应用于包括资源竞争竞价模块的系统中,其特征在于,所述方法还包括:
资源竞争竞价模块收到拍卖者的拍卖消息后,边缘网络设备节点检查自身的资源空间状态确定是否成为竞拍者;
若确定成为竞拍者且参与竞拍的竞拍者大于 1,竞拍者收到拍卖开始的信息,检查自身计算资源和存储资源是否满足应用程序运行的最低要求,并初始化自身出价。
6.根据权利要求1所述的一种应用程序放置方法,所述方法还包括:
若资源调度失败,发送基础设施收集模块重新确定拍卖者开启竞争;
若资源调度成功,则向应用程序调度策略缓存模块发送请求更新缓存条目。
7.一种应用程序放置装置,包括:基础设施收集模块、应用程序调度策略缓存模块、资源竞争拍卖模块和应用程序放置模块,
所述基础设施收集模块用于收集边缘网络设备的信息数据,提供通用资源接口,将所述边缘网络设备抽象为节点,通过网络请求分配与应用程序的距离在第一预设范围内的边缘网络设备为拍卖者;
所述应用程序调度策略缓存模块用于根据申请子设备申请的资源与缓存Key的关系以及当前边缘网络设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争;
若确定结果为进行资源竞争,所述拍卖者根据所述边缘网络设备的信息数据向距离应用程序在第一预设范围内的边缘网络设备节点发起竞价邀请,根据竞价邀请的响应数确定是否开启拍卖;
若确定结果为开启拍卖,拍卖者向竞价者发送开始消息、待拍卖组件的计算存储网络信息、以及当前最高出价;
确定应用程序的每个子程序的竞拍结果,当应用程序的所有子程序的竞拍都结束后,资源竞争拍卖模块将每个子程序的竞拍结果发送到所述应用程序放置模块,所述应用程序放置模块用于下发竞拍结果至边缘网络设备进行资源调度;
其中,最高出价是待拍卖组件在竞价设备上的贡献值;
所述根据申请子设备申请的资源与缓存Key的关系以及当前边缘设备网络节点可用资源与缓存 Value的关系确定进行资源调度还是资源竞争,包括:
判断申请子设备申请的资源与缓存Key的大小以及当前边缘设备网络节点可用资源与缓存 Value的大小;
当判断结果为申请子设备申请的资源小于等于缓存Key且当前边缘设备网络节点可用资源大于缓存 Value 时,进行资源调度;
当判断结果为申请子设备申请的资源大于缓存Key且当前边缘设备网络节点可用资源小于等于缓存 Value 时,进行资源竞争;
缓存Key 为子程序的计算和存储资源开销和应用程序的网络位置,缓存Value 为资源实际占用的边缘设备网络节点。
8.一种电子设备,其特征在于,包括:处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至6任一项所述一种应用程序放置方法。
9.一种确定机可读存储介质,其特征在于,所述确定机可读存储介质存储程序或指令,所述程序或指令使确定机执行如权利要求1至6任一项所述一种应用程序放置方法。
CN202311146627.3A 2023-09-07 2023-09-07 一种应用程序放置方法、装置、电子设备和存储介质 Active CN116886706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311146627.3A CN116886706B (zh) 2023-09-07 2023-09-07 一种应用程序放置方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311146627.3A CN116886706B (zh) 2023-09-07 2023-09-07 一种应用程序放置方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN116886706A CN116886706A (zh) 2023-10-13
CN116886706B true CN116886706B (zh) 2023-11-28

Family

ID=88272039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311146627.3A Active CN116886706B (zh) 2023-09-07 2023-09-07 一种应用程序放置方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN116886706B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110417872A (zh) * 2019-07-08 2019-11-05 深圳供电局有限公司 一种面向移动区块链的边缘网络资源分配方法
CN111343436A (zh) * 2020-03-26 2020-06-26 中国铁道科学研究院集团有限公司电子计算技术研究所 基于云边协同的轨道交通视频监控方法及系统
US10778755B1 (en) * 2019-04-30 2020-09-15 Verizon Patent And Licensing Inc. Methods and systems for multi-access edge selection based on performance metrics in a communication network
WO2021046777A1 (zh) * 2019-09-11 2021-03-18 阿里巴巴集团控股有限公司 资源调度、申请与定价方法、设备、系统及存储介质
CN114047971A (zh) * 2021-11-09 2022-02-15 北京中电飞华通信有限公司 边缘计算资源分配方法及装置
KR20220062823A (ko) * 2020-11-09 2022-05-17 한국과학기술원 에지 컴퓨팅 서버의 최적 자원할당 운영 방법
CN114727319A (zh) * 2022-04-12 2022-07-08 国网福建省电力有限公司电力科学研究院 基于vcg拍卖机制的5g mec计算任务卸载方法
EP4184864A1 (en) * 2021-11-23 2023-05-24 Nagravision Sàrl Access management system and associated computer-implemented methods

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160086270A1 (en) * 2014-09-24 2016-03-24 International Business Machines Corporation Dynamic storage bandwidth allocation
US10819776B2 (en) * 2016-08-28 2020-10-27 Vmware, Inc. Automated resource-price calibration and recalibration by an automated resource-exchange system
US10652092B2 (en) * 2016-08-28 2020-05-12 Vmware, Inc. Methods and systems that collect and manage latency data in an automated resource-exchange system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778755B1 (en) * 2019-04-30 2020-09-15 Verizon Patent And Licensing Inc. Methods and systems for multi-access edge selection based on performance metrics in a communication network
CN110417872A (zh) * 2019-07-08 2019-11-05 深圳供电局有限公司 一种面向移动区块链的边缘网络资源分配方法
WO2021046777A1 (zh) * 2019-09-11 2021-03-18 阿里巴巴集团控股有限公司 资源调度、申请与定价方法、设备、系统及存储介质
CN114072767A (zh) * 2019-09-11 2022-02-18 阿里巴巴集团控股有限公司 资源调度、申请与定价方法、设备、系统及存储介质
CN111343436A (zh) * 2020-03-26 2020-06-26 中国铁道科学研究院集团有限公司电子计算技术研究所 基于云边协同的轨道交通视频监控方法及系统
KR20220062823A (ko) * 2020-11-09 2022-05-17 한국과학기술원 에지 컴퓨팅 서버의 최적 자원할당 운영 방법
CN114047971A (zh) * 2021-11-09 2022-02-15 北京中电飞华通信有限公司 边缘计算资源分配方法及装置
EP4184864A1 (en) * 2021-11-23 2023-05-24 Nagravision Sàrl Access management system and associated computer-implemented methods
CN114727319A (zh) * 2022-04-12 2022-07-08 国网福建省电力有限公司电力科学研究院 基于vcg拍卖机制的5g mec计算任务卸载方法

Also Published As

Publication number Publication date
CN116886706A (zh) 2023-10-13

Similar Documents

Publication Publication Date Title
Li et al. An online incentive mechanism for collaborative task offloading in mobile edge computing
CN111010434B (zh) 一种基于网络时延和资源管理的优化任务卸载方法
CN109714797B (zh) 一种基于拍卖理论的移动边缘网络资源分配方法
CN112491964B (zh) 移动辅助边缘计算方法、装置、介质和设备
Du et al. Two-tier matching game in small cell networks for mobile edge computing
Ding et al. Service provider competition and cooperation in cloud-based software defined wireless networks
CN111949409A (zh) 一种电力无线异构网中计算任务卸载方法及系统
Zamzam et al. Resource management using machine learning in mobile edge computing: A survey
Li et al. Computation offloading and service allocation in mobile edge computing
Zhang et al. Mining task offloading in mobile edge computing empowered blockchain
Chen et al. From resource auction to service auction: An auction paradigm shift in wireless networks
CN116886706B (zh) 一种应用程序放置方法、装置、电子设备和存储介质
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
Huang et al. Platform profit maximization in d2d collaboration based multi-access edge computing
Bhooanusas et al. Satisfaction-based Dynamic Bandwidth Reallocation for multipath mobile data offloading
CN112948116A (zh) 一种基于在线激励的边缘计算合作计算资源分配方法
CN114189522B (zh) 一种车联网中基于优先级的区块链共识方法及系统
US11412061B1 (en) Mobile-assisted edge computing framework for emerging IoT applications
CN116939044A (zh) 一种基于区块链技术的算力路由规划方法和装置
CN114727319A (zh) 基于vcg拍卖机制的5g mec计算任务卸载方法
Ye et al. A game-based approach for cloudlet resource pricing for cloudlet federation
CN114443273A (zh) 一种边缘集群计算资源分配方法、装置和电子设备
CN109559024B (zh) 一种面向电力系统无服务器架构下的资源动态调度方法
You et al. Research on application of auction algorithm in internet of vehicles task scheduling under fog environment
Rahati-Quchani et al. An efficient mechanism for computation offloading in mobile-edge computing

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