CN113010296B - 基于形式化模型的任务解析与资源分配方法及系统 - Google Patents
基于形式化模型的任务解析与资源分配方法及系统 Download PDFInfo
- Publication number
- CN113010296B CN113010296B CN202110356362.4A CN202110356362A CN113010296B CN 113010296 B CN113010296 B CN 113010296B CN 202110356362 A CN202110356362 A CN 202110356362A CN 113010296 B CN113010296 B CN 113010296B
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- model
- module
- tasks
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于形式化模型的任务解析与资源分配方法及系统,包括:步骤S1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;步骤S2:资源分配模块将形式化的任务工作流合并,得到合并后的任务工作流;步骤S3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;步骤S4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;步骤S5:移动终端设备根据调度匹配结果进行任务的执行。
Description
技术领域
本发明涉及计算机科学领域,具体地,涉及基于形式化模型的任务解析与资源分配方法及系统,更为具体地,涉及面向移动边缘计算场景的基于形式化模型的的任务解析与资源分配方法及系统。
背景技术
随着边缘计算的不断发展,它可以规避距离远、容量限制、多个网络跃点以及集中处理传统互联网架构中的负载等多方面问题。目前接入互联网的设备数量已经十分庞大,每天的数据量也在激增,传统的云计算模型是讲所有数据通过网络上传至云计算中心,利用云计算的超强计算能力来解决集中应用的计算需求问题,但是它有三点不足:一、万物互联的实时性需求。随着边缘设备数量的增加,设备产生的数据量每天也在激增,导致网络带宽逐渐成为了云计算的一个瓶颈,例如,移动边缘设备之间的带宽就不足以支持数据实时传输。二、数据安全与隐私。随着智能家居的普及,许多家庭在屋内安装网络摄像头,直接将摄像头收集的视频数据上传至云计算中心会增加泄露用户隐私数据的风险。三、能耗较大。随着在云服务器运行的用户应用程序越来越多,未来大规模数据中心对能耗的需求将难以满足,现有的关于云计算中心的能耗研究主要集中在如何提高能耗使用效率方面。针对上述这些问题,万物互联应用需求的发展催生出了边缘计算模型,该模型中边缘设备具有执行计算和数据分析处理的能力,将原有云计算模型执行的部分或全部计算任务迁移到网络边缘设备上,降低云服务器的计算负载,减缓网络带宽的压力。
边缘计算不是为了取代云,而是对云的补充。在云端接收到大量待运行的任务时,如何对这些任务进行调度是一个难点。边缘计算模型里的边缘节点性能远不如云端的服务集群,因此不同的任务到达时,如果简单地将任务随机给一个边缘节点,或者算法的效果不够好,那么就会出现任务完成率低下或者边缘节点的负载不均衡甚至任务失败的问题。对于这些问题,现在有许多的任务调度策略,这些策略是根据一定的资源使用规则,将资源在不同的资源使用者之间进行调整的过程,但是这些策略往往是在云计算中比较成熟,在边缘计算的场景中服务质量以及资源利用率都要受到边缘节点的影响。
本发明面向的是移动边缘计算应用场景,其中的移动边缘设备具有一定的计算能力,被当作边缘计算模型中的边缘节点。在移动边缘设备集群运作的过程中,在云端会连续不断地收到各种不同的任务需求,这些任务的类型和需求的资源都不尽相同,与此同时各个边缘节点的计算能力也各有千秋,因此本发明将提出一种合适此类场景的的任务解析与资源分配机制。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于形式化模型的任务解析与资源分配方法及系统。
根据本发明提供的一种基于形式化模型的任务解析与资源分配方法,包括:
步骤S1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
步骤S2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
步骤S3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
步骤S4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
步骤S5:移动终端设备根据调度匹配结果进行任务的执行。
优选地,所述步骤S1包括:
步骤S1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
步骤S1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
步骤S1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
步骤S1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
步骤S1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述。
优选地,所述步骤S2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
优选地,所述步骤S3包括:对移动终端设备的能力与状态采用形式化描述化描述的方法建立资源供给描述元模型。
优选地,所述步骤S4包括:利用启发式算法寻找NP-hard问题的一个近似解。
根据本发明提供的一种基于形式化模型的任务解析与资源分配系统,包括:
模块M1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
模块M2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
模块M3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
模块M4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
模块M5:移动终端设备根据调度匹配结果进行任务的执行。
优选地,所述模块M1包括:
模块M1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
模块M1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
模块M1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
模块M1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
模块M1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述。
优选地,所述模块M2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
优选地,所述模块M3包括:对移动终端设备的能力与状态采用形式化描述化描述的方法建立资源供给描述元模型。
优选地,所述模块M4包括:利用启发式算法寻找NP-hard问题的一个近似解。
与现有技术相比,本发明具有如下的有益效果:
1、对于资源和任务,定义了元模型,面对大规模的任务,先将需求提取出来,然后形式化表示为任务的工作流,与资源的元模型采用启发式算法进行匹配,该方法在解决移动边缘设备协同多任务分配问题时,能够在较少的迭代次数内获得较优的任务分配计划,且计划的评价指标水平随算法运行时间的增加而提升;
2、定义的元模型具有良好的可扩展性,可不断扩展至其他复杂或者多样的移动边缘设备资源或任务需求,特别是对跨域资源协作的场景,将不同类型的资源用同一类方式来表示,并且资源与资源之间有各种不同的组合关系;资源与设备都被抽象成了元模型,在进行资源-任务匹配时,根据元模型中的约束建立资源请求与资源之间的匹配关系,组合方法作为服务组合替换方法的底层支持;
3、对形式化的工作流中子任务进行合并,根据所需资源的条件约束方法,构建不同工作流之间子任务的可合并关系,之后对多工作流进行调度,从而对任务的执行时间、任务执行开销等指标进行优化;
4、任务的解析与资源的分配都是在云端进行,然后云端进行任务的下发,移动边缘设备节点只需要负责执行计划好的任务工作流,而不需要知晓任务的具体需求,只用将任务执行的结果传给云端即可;
5、元模型可以在一定程度上提高可扩展性,面对不同的任务需求与终端设备,都采用一种表示方法,不需要对不同类型的任务与设备进行单独处理,因此通过本系统,可以减少大量重复冗余的操作,只需要在使用时进行元模型的实例化即可进行任务的调度与下发,避免重复多次对相似的任务从头进行解析产生的巨大开销。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的系统架构图;
图2为工作流合并前的样例图;
图3为工作流合并后的样例图;
图4为执行启发式算法的流程图;
图5为本发明中任务匹配的具体流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明涉及移动边缘计算、任务需求形式化、任务的快速规划与资源分配策略,具体来讲是针对大规模的用户需求,物联网设备将其转发至云端,云端针对这些需求进行任务解析与资源分配,最终在物联网设备进行任务的执行。
实施例1
根据本发明提供的一种基于形式化模型的任务解析与资源分配方法,包括:
步骤S1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
步骤S2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
步骤S3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
步骤S4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
步骤S5:移动终端设备根据调度匹配结果进行任务的执行。
具体地,所述步骤S1包括:
步骤S1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
步骤S1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
步骤S1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
步骤S1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
步骤S1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述。
具体地,所述步骤S2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
具体地,所述步骤S3包括:对移动终端设备的能力与状态采用形式化描述化描述的方法建立资源供给描述元模型。
具体地,所述步骤S4包括:基于合并后的任务工作流以及在云端注册的服务,采用蚂蚁算法进行任务的调度匹配。
根据本发明提供的一种基于形式化模型的任务解析与资源分配系统,包括:
模块M1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
模块M2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
模块M3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
模块M4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
模块M5:移动终端设备根据调度匹配结果进行任务的执行。
具体地,所述模块M1包括:
模块M1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
模块M1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
模块M1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
模块M1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
模块M1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述。
具体地,所述模块M2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
具体地,所述模块M3包括:对移动终端设备的能力与状态采用形式化描述化描述的方法建立资源供给描述元模型。
具体地,所述模块M4包括:基于合并后的任务工作流以及在云端注册的服务,采用蚂蚁算法进行任务的调度匹配。
实施例2
实施例2是实施例1的优选例
本发明为了解决移动边缘计算中存在的任务与资源管理问题,提出了的一种针对跨域资源协作的基于形式化模型的任务解析与资源分配方法。该方法主要分为三个模块,任务解析模块、资源分配模块与移动物联网设备模块。
任务解析模块用于将一批任务抽象成资源需求描述元模型,移动物联网设备模块用于将设备提供资源的能力抽象成资源供给描述元模型以及进行任务的下发,资源分配模块是结合这两种模型来执行启发式算法来生成任务分配计划,用于任务的最终执行。这种方法可以减少任务重复解析产生的开销以及找到一个相对较优的任务分配计划来减少整个设备集合的资源开销。
任务解析模块将大规模的任务需求经过了需求描述提取、任务规约与映射以及任务工作流形式化表示这三个步骤,得到形式化的工作流结果。这一模块主要包括以下三点:
需求描述提取:采取自然语言处理中事件抽取的方法,由于本系统所接受的需求描述属于某个专属领域的自然语言,具有一定的针对性,因此采用中文事件抽取中的模式匹配和关键字抽取相结合的方法。
任务规约与映射:构建移动边缘设备和任务需求的语义描述模型,它为任务和资源的自动匹配提供数据依据。然后通过预先定义好的资源形式化描述中的资源能力与状态,根据需求-任务映射模板来进行任务映射,产生任务集。之后通过任务规约对任务集进行合并精简,最终给出精简后的任务集以及符合要求的资源需求描述元模型的资源需求描述。
任务工作流形式化表示:使用带有任务及其资源约束信息的有向无环图来进行描述。
资源分配模块将任务解析模块所产生的子任务工作流进行合并,然后根据启发式算法进行任务与服务的匹配,最后将任务发布到指定的移动物联网设备来执行。这一模块主要包括以下两点:
工作流子任务合并:任务工作流是采用形式化的方法来表示的,是带有任务及其资源约束信息的有向无环图。采用任务相关参数和所需资源的条件约束比较方法,在以工作流为基础的图上构建不同工作流之间子任务之间的可合并关系和可合并子任务集,比如可以计算该子任务在其他的工作流中与相邻两个子任务之间的权值,然后判断迁移节点后工作流总权值的变化来决定是否迁移。并通过子任务之间的约束和死锁冲突机智筛除可能性最小的合并关系,如排除截至时间相差太大的任务,并将当前可以确定的可合并任务进行合并。
服务-子任务匹配:通过各个任务的工作流的截至时间和子任务的预期执行时钟周期以及分配到匹配资源的概率,采用启发式算法,为每个子任务分配最晚开始执行时间,作为每次并行子任务截至时间的依据。
移动物联网设备与云端通过网络进行连接,不同的设备提供不同的服务,用以给云端提供服务支持。这一部分主要分为两个模块:
提供服务模块:对移动边缘设备资源的能力与状态采用形式化描述化描述的方法,建立资源供给描述元模型。
任务调度结果执行模块:云端任务调度结束后,用于执行分配来的任务。
实施例3
实施例3是实施例1和/或实施例2的优选例
下面结合具体得实现方法来对本发明内容进行详细说明。因为本发明主要保护的是基于移动边缘计算的任务匹配方法,而系统内部的各个模块有着各种不同的实现方法,因此只给出一种可行的策略。
如图1-5所示,本发明的系统架构分为三个部分:
任务解析模块:用于解析大规模的任务需求,并将任务工作流形式化表示;
资源分配模块:用于将形式化的工作流合并,然将服务与子任务匹配;
移动物联网设备模块:任务执行的载体;
具体来说,任务解析模块包含以下这些:
需求描述提取:在该部分中,外界以需求描述的形式向系统输入了大规模的任务请求,系统需要对需求描述进行语义分析。因为本系统所提及的需求描述是属于某个专属领域的自然语言,具有一定的针对性,因此本项目拟采用中文事件抽取中的模式匹配和关键字抽取相结合的方法,在抽取事件触发词的同时识别实体和事件元素,提升事件抽取的可靠性和准确性,并且通过实验中对事件抽取结果和预期结果的比对和统计,最后判断模型的可靠性和有效性。
任务规约与映射:该部分采用了元模型的方法,将需求的参数和约束条件以及任务的工作流和相关属性进行规约与映射。
任务工作流形式化表示:大规模的任务请求产生了多任务集,多任务集的工作流在任务调度模块中表现为多工作流,对于n个既有依赖关系的任务用一个DAG(DirectedAcyclic Graph)来表示其依赖关系,多个DAG之间不存在依赖关系,相互独立。一个DAG图G,G=(N,E),其中顶点集合N用来表示要被处理的任务集合,N={nij|1≤i≤m,1≤i≤ni},有向边集合E代表任务之间的依赖关系,E={eijk|1≤i≤m,1≤j≤ni,1≤k≤ni}。每一个eijk∈E都有一定权值,用cijk表示,代表任务nij到任务nik所消耗的资源量,例如两个任务之间在地理空间上存在差异,需要进行移动边缘设备的移动,则需要一定的行程量。主要模型参数如下所示:
通过这种方式,多个子任务被提取以加入任务调度和资源分配的步骤,在任务执行过程中形式化方法表示的工作流可以充分表达工作流模型和其子任务所需的资源、时限等约束,并在与资源分配模块协同作业中准确输出并行子任务。
资源分配模块包括以下这些:
工作流子任务合并优化对于每个DAG图中既有入度也有出度的子任务,即非开始的第一个任务也非结束的最后一个任务,如满足时序约束的限制,可以计算该任务在其他的工作流中与相邻两个子任务之间的权值,然后判断迁移节点后工作流总权值的变化来决定是否迁移。如下图,对两个工作流n1和n2,各有三个子任务,如图2所示:
计算得子任务n22与子任务n11的权重E1、与子任务n12的权重E2,判断子任务是否从工作流n2合并至工作流n1的公式如下所示:
n22合并入工作流n1,ifE1+E2+E3<e112+e212+e223
合并后工作流n1有4个子任务,工作流n2有2个子任务,如图3所示。
服务-子任务匹配:对于计算类型任务,只需要随机选定一台设备判断其剩余资源是否可以进行,如果所有设备都不行则拆分成多个小型任务后重发上述步骤即可。对于非计算类型任务,则是一个传统任务分配问题,它是NP-hard问题,可以采用启发式算法来得到一个近似解。多任务分配问题中,表示执行任务的移动边缘设备集合,Nv表示执行任务的移动边缘设备规模,为需要完成的任务类型集合,Ntype为任务类型数量,例如拍照、计算,即Mt={Photograph,Calculate}。设备Vi的任务分配计划为;
设备集合任务分配计划的资源消耗指标为:
其中T(Projecti)是设备Vi完成其任务分配计划所需的时间,vi为其行驶速度,Lmax(Vi)为Vi的最大航程限制L(Projecti)是设备Vi任务分配计划的飞行航程值。任务分配的目标是满足诸多约束条件的前提下,指定合理的任务分配计划,使得该分配计算的总资源消耗量J1最小化。
在经过了任务解析模块中的任务规约与映射和移动物联网设备的提供服务模块的处理之后,任务需求与移动物联网设备已经被元模板抽象成了一系列结构相似的数据类型,其中任务需求是一组DAG图,以资源需求描述元模型的形式来表示,在云端注册的服务以资源供给描述元模型的形式来表示,因此在执行蚁群算法之前需要将这两个元模型映射为该算法中的任务与蚁群,以元模型作为算法的输入,在执行完蚁群算法后输出最佳匹配结果。该部分的流程图如图2所示。
移动物联网设备上运行以下模块:
任务调度结果执行模块:移动物联网设备上部署了多个应用程序,这些应用以服务的形式在云端进行注册,用户在云端提交任务需求后,云端经过任务解析模块与资源分配模块,将任务按照匹配好的结果下发至指定移动物联网设备来进行任务的执行。当服务请求到达后,使用已经存在于存储设备里的应用程序来完成该任务。
提供服务模块:对移动物联网设备可提供的服务采用元模型的方法,定义资源的基本信息,包括资源名name、描述description、全局属性匹配方法match、全局属性比较方法compare和组合资源compare。系统首先将资源元模型实例化,然后将实例化后的资源元模型映射到相应的数据服务。
任务匹配的具体流程图如图5所示,这里将对其中每一个步骤的内容进行具体解释:
云端获取待执行任务需求:大量用户会提交不同的任务需求,系统会每隔一小段时间将这段时间内收集到的任务需求一起进行解析。
需求描述提取:采用中文时间抽取中的模式匹配和关键字抽取相结合的方法进行事件抽取。
任务规约与映射:构建任务需求的语义描述模型,然后根据需求-任务映射模板来进行任务映射,产生任务集。之后通过任务规约对任务集进行合并精简,最终给出精简后的任务集以及符合要求的资源需求描述元模型的资源需求描述。
是否为计算任务:对于移动边缘设备来讲,任务主要分为两种,计算类任务与非计算任务。前者包括拍照等需要移动边缘设备亲自去的任务,后者包括纯计算任务。对于两种不同的任务,需要用两种不同的方式去处理工作流。
任务工作流形式化表示:用形式化的方法去表示多任务,并产生多任务集。
工作流子任务合并:采用任务相关参数和所需资源的条件约束比较方法,在以工作流为基础的图上构建不同工作流之间子任务之间的可合并关系和可合并子任务集,并通过子任务之间的约束和死锁冲突机智筛除可能性最小的合并关系,将当前可以确定的可合并任务进行合并。
执行启发式算法:利用蚁群算法经过多次迭代产生一个效果比较好的解,用于进行服务-子任务匹配。
服务-子任务匹配:将在云端注册的服务与规划好的子任务匹配好,然后执行任务调度。
对于资源需求描述元模型,采用以下方式来表示。
为了将任务对不同资源的需求抽象出来,在资源元模型的基础上还有会衍生的资源。基本资源是最基本的,用户可以使用组合资源来对两个或者两个以上的基本资源有机结合而成,原始资源称为父资源,被组合的资源称为子资源,根据现实的信息模型情况,组合资源存在一对一、一对多、多对多的组合模式。
对于一对一的被组合对象,只需要将子资源的元数据放入父资源的composition中即可,这种组合方式中每一个父资源有且仅有一个子资源的实例,例如,在具体的应用场景中则是一部移动边缘设备只能有一个导航系统。
对于一对多的被组合对象,每个父资源有多个子资源,每个composition里可以存放多个子资源的元数据,例如,在具体的应用场景中则是一部移动边缘设备会有多个不同类型的摄像头。
对于多对多的被组合对象,一个父资源可以对应多个子资源,一个子资源也可以对应多个父资源,比如一部移动边缘设备可以利用GPS定位系统里各种不同的资源,GPS定位系统里的资源可以被多部移动边缘设备所使用。
对于资源供给描述元模型,采用以下方式来表示。
这是对移动物联网设备的资源能力的抽象,移动边缘设备所提供的能力主要分为两种,分别为计算类任务,即只需要计算传入的数据,不需要移动边缘设备亲自过去;另一种是非计算类任务,涉及地理位置的拍照等操作,它的流程往往比较复杂,需要被拆解成多个子任务,任务之间前后有时序、时间约束,形式化为工作流后,在ResourceMetaData中的Constraints里体现出时序与时间上的限制,然后在云端将任务和设备运用启发式算法进行匹配。移动边缘设备协同多任务分配的目标是满足协同多任务分配问题的诸多约束条件的前提下,使得任务完成率尽可能高,在执行启发式算法的过程中,如果当前迭代中产生的任务分配计划与全局最优任务分配计划进行比较后,如果更优,则将其更新为全局的否则进行下一次迭代。当达到最大迭代次数,算法执行流程结束。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (6)
1.一种基于形式化模型的任务解析与资源分配方法,其特征在于,包括:
步骤S1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
步骤S2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
步骤S3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
步骤S4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
步骤S5:移动终端设备根据调度匹配结果进行任务的执行;
所述步骤S1包括:
步骤S1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
步骤S1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
步骤S1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
步骤S1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
步骤S1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述;
所述步骤S2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
2.根据权利要求1所述的基于形式化模型的任务解析与资源分配方法,其特征在于,所述步骤S3包括:对移动终端设备的能力与状态采用形式化描述化的方法建立资源供给描述元模型。
3.根据权利要求1所述的基于形式化模型的任务解析与资源分配方法,其特征在于,所述步骤S4包括:利用启发式算法寻找NP-hard问题的一个近似解。
4.一种基于形式化模型的任务解析与资源分配系统,其特征在于,包括:
模块M1:任务解析模块解析任务需求,并将任务需求以任务工作流形式化表示;
模块M2:资源分配模块将形式化的任务工作流基于减少工作流消耗的总资源量进行合并,得到合并后的任务工作流;
模块M3:将移动终端设备的资源能力抽象成元模型,并在云端进行服务注册;
模块M4:基于合并后的任务工作流以及在云端注册的服务,采用启发式算法进行任务的调度匹配;
模块M5:移动终端设备根据调度匹配结果进行任务的执行;
所述模块M1包括:
模块M1.1:采用中文事件抽取中的模式匹配和关键字抽取相结合的方法对任务进行任务对资源的需求描述提取;
模块M1.2:构建任务需求的语义描述模型,得到资源需求描述元模型;
模块M1.3:根据资源的需求描述,将资源需求描述元模型中任务对各种不同类型资源的需求参数、任务约束条件、任务的工作流以及任务属性进行规约;
模块M1.4:基于预设的需求-任务映射模板将规约后的资源需求描述元模型与任务进行映射;
模块M1.5:使用带有任务及资源约束信息的有向无环图对映射后的资源需求元模型进行描述;
所述模块M2包括:基于任务对各种不同类型资源的需求参数和所需资源的条件约束,在以工作流为基础的有向无环图上构建不同工作流之间子任务之间的合并关系和合并子任务集,并通过子任务之间的约束和死锁冲突机制筛除可能性最小的合并关系,并将当前确定的合并任务进行合并。
5.根据权利要求4所述的基于形式化模型的任务解析与资源分配系统,其特征在于,所述模块M3包括:对移动终端设备的能力与状态采用形式化描述化的方法建立资源供给描述元模型。
6.根据权利要求4所述的基于形式化模型的任务解析与资源分配系统,其特征在于,所述模块M4包括:利用启发式算法寻找NP-hard问题的一个近似解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110356362.4A CN113010296B (zh) | 2021-04-01 | 2021-04-01 | 基于形式化模型的任务解析与资源分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110356362.4A CN113010296B (zh) | 2021-04-01 | 2021-04-01 | 基于形式化模型的任务解析与资源分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113010296A CN113010296A (zh) | 2021-06-22 |
CN113010296B true CN113010296B (zh) | 2022-07-26 |
Family
ID=76387721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110356362.4A Active CN113010296B (zh) | 2021-04-01 | 2021-04-01 | 基于形式化模型的任务解析与资源分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113010296B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113691840A (zh) * | 2021-08-31 | 2021-11-23 | 江苏赞奇科技股份有限公司 | 一种具有高可用率的视频流控制方法及系统 |
CN113805976A (zh) * | 2021-09-16 | 2021-12-17 | 上海商汤科技开发有限公司 | 数据处理方法及装置、电子设备及计算机可读存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7676539B2 (en) * | 2005-06-09 | 2010-03-09 | International Business Machines Corporation | Methods, apparatus and computer programs for automated problem solving in a distributed, collaborative environment |
CN101710285A (zh) * | 2009-11-24 | 2010-05-19 | 武汉大学 | 一种基于领域模型的服务需求获取与建模方法 |
CN101719933B (zh) * | 2009-11-25 | 2012-06-27 | 北京航空航天大学 | 一种支持语义的面向全生命周期的制造网格资源服务组合方法 |
CN102722601B (zh) * | 2012-05-04 | 2014-06-11 | 华南理工大学 | 数控系统的模型转换形式化语义集成框架的实现方法 |
US10042915B2 (en) * | 2015-09-28 | 2018-08-07 | International Business Machines Corporation | Semantic mapping of topic map meta-models identifying assets and events to include directionality |
CN107135094A (zh) * | 2017-03-28 | 2017-09-05 | 浙江工商大学 | 一种sdn架构中基于元模型的智能网络构造方法 |
CN108092800A (zh) * | 2017-11-29 | 2018-05-29 | 浙江工商大学 | 基于sdn元模型的工业实时智能网络体系架构模型 |
CN109144777A (zh) * | 2018-07-27 | 2019-01-04 | 北京友普信息技术有限公司 | 一种基于Docker的异构虚拟计算灾备的方法 |
CN110941612B (zh) * | 2019-11-19 | 2020-08-11 | 上海交通大学 | 基于关联数据的自治数据湖构建系统及方法 |
CN111311072B (zh) * | 2020-01-20 | 2024-03-22 | 南京大学 | 一种变粒度任务分解方法 |
CN111427681B (zh) * | 2020-02-19 | 2023-02-17 | 上海交通大学 | 边缘计算中基于资源监控的实时任务匹配调度系统和方法 |
-
2021
- 2021-04-01 CN CN202110356362.4A patent/CN113010296B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113010296A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lai et al. | Fedscale: Benchmarking model and system performance of federated learning at scale | |
WO2021213293A1 (zh) | 一种面向群智感知的泛在操作系统 | |
CN109933306B (zh) | 一种基于作业类型识别的自适应混合云计算框架生成方法 | |
CN103092683B (zh) | 用于数据分析的基于启发式的调度 | |
CN104050042B (zh) | Etl作业的资源分配方法及装置 | |
CN115543639B (zh) | 分布式执行深度学习任务的优化方法和分布式系统 | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN104915407A (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
CN113010296B (zh) | 基于形式化模型的任务解析与资源分配方法及系统 | |
CN105447088A (zh) | 一种基于志愿者计算的多租户专业云爬虫 | |
CN110740079B (zh) | 一种面向分布式调度系统的全链路基准测试系统 | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN114915629A (zh) | 信息处理方法、装置、系统、电子设备及存储介质 | |
CN103116525A (zh) | 一种Internet环境下MapReduce计算方法 | |
CN115037749A (zh) | 一种性能感知的大规模微服务智能多资源协同调度方法及系统 | |
Alves et al. | ML4IoT: A framework to orchestrate machine learning workflows on internet of things data | |
Tuli et al. | Splitplace: Ai augmented splitting and placement of large-scale neural networks in mobile edge environments | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
CN115543626A (zh) | 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法 | |
CN110119399A (zh) | 基于机器学习的业务流程优化方法 | |
Bu et al. | Task scheduling in the internet of things: challenges, solutions, and future trends | |
RU2411574C2 (ru) | Интеллектуальная грид-система для высокопроизводительной обработки данных | |
Li et al. | Mutation-driven and population grouping PRO algorithm for scheduling budget-constrained workflows in the cloud | |
Wang et al. | An Organizational Structure and Self-Adaptive Mechanism for Holonic Multi-Agent Systems | |
Li et al. | Energy-aware scheduling for spark job based on deep reinforcement learning in cloud |
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 |