一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于分布式任务管理和资源调度的无线电监测方法及系统与流程

2023-01-17 12:57:04 来源:中国专利 TAG:


1.本发明涉及无线电监测技术领域,尤其涉及一种基于分布式任务管理和资源调度的无线电监测方法及系统。


背景技术:

2.随着5g通信、wifi通信、卫星通信等为代表的新一代无线电通信技术加速向城市的经济建设、社会发展等领域渗透,城市的电磁环境日趋复杂,各类无线电干扰事件时有发生,“黑广播”、“伪基站”等违法设台日益增多,无线电管理部门实时监测空中电磁环境,有效管理空中电波秩序的任务越来越复杂、繁琐。近年来,全国各省市无线电管理部门积极推动无线电监测一体化平台建设,按照《超短波监测管理一体化平台技术规范》对现有监测网络内的各类监测设备进行改造,形成无线电监测一体化平台以实现统一管理与调度控制,有力的支撑了空中电波秩序的管理。
3.目前,各省市已建的无线电监测一体化平台已初步实现了全网监测设备的统一接入与调度管理,然而无线电监测一体化平台主要是集中式部署,所有监测任务调度、设备数据接入、数据外理的压力都集中在中心平台,容易形成业务瓶颈;其次,若中心平台出现单点故障,会造成整个无线电监测应用系统不可用。因此,如何利用分布式处理、资源虚拟化等技术对电磁感知任务进行分解和下发,统一调度全网的虚拟化资源是目前亟需解决的技术问题。


技术实现要素:

4.本发明的目的在于克服现有技术的问题,提供基于分布式任务管理和资源调度的无线电监测方法及系统。
5.本发明的目的是通过以下技术方案来实现的:一种基于分布式任务管理和资源调度的无线电监测方法,方法包括以下步骤:将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册至对应边缘计算节点,并同步各边缘计算节点的服务资源注册数据,实现服务注册信息的全局共享;接收感知任务,根据感知任务的优先级和/或等待时间和/或预计执行时间和/或感知资源当前的资源占用情况确定资源调度策略;对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射;根据感知子任务与设备资源的映射关系,将本任务执行节点执行的感知子任务下发至本任务执行节点感知任务管理模块进行执行,同时将需要其他任务执行节点协同处理的感知子任务通过分布式消息中间件分发至对应的其他协同任务执行节点;任务执行节点中的脚本执行引擎执行与当前感知子任务匹配的任务执行脚本。
6.在一示例中,同步服务资源注册数据包括设备资源的虚拟化以及服务资源的虚拟
化,设备资源的虚拟化包括:将监测设备进行接口抽象和归一化处理,映射为虚拟设备;所述监测设备为各类监测设备;通过对虚拟设备对象的实例化建立相应的虚拟设备对象;将实例化后的虚拟设备实例描述信息进行全网同步,形成一个全局虚拟设备对象资源池;服务资源的虚拟化包括:将监测设备所执行的业务功能按最小颗粒度进行原子化服务封装,并与虚拟设备对象进行绑定。
7.在一示例中,所述对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射包括以下子步骤:根据感知任务的任务类型,确定执行感知任务的设备类型作为候选设备资源;根据感知任务要求的空间域范围和/或能力域范围和/或时间域范围筛选候选设备资源;根据感知任务的任务要求分析筛选出的多个候选设备资源执行感知任务的监测效果,以监测效果最优原则对感知任务进行分解,实现感知子任务与设备资源的映射,进而得到感知子任务清单以及为各感知子任务进行服务资源分配的服务资源清单。
8.在一示例中,所述任务执行节点中的脚本执行引擎执行与当前感知子任务匹配的任务执行脚本包括:导入脚本模块;获取模块匹配方法信息;转换输入参数;调用匹配方法;转换方法的返回结果。
9.在一示例中,所述方法还包括感知任务运行管理步骤:任务优先级管理:根据任务优先级进行任务执行调度,优先级高的任务优先获得执行权;和/或,任务切换管理:根据任务优先级和/或服务资源的任务执行状态对任务进行切换管理;和/或,任务状态管理:获取所有节点中各感知任务的执行状态,若在预定时间内某节点未更新感知任务的执行状态,判定该节点故障,选择新节点执行故障节点的感知任务。
10.在一示例中,所述方法还包括感知任务动态迁移步骤:采集各边缘计算节点所接入的资源状态信息,并根据资源状态信息计算各边缘计算节点的负载信息;基于当前全网所有的电磁感知任务信息以及所有边缘计算节点的负载信息,最后按资源利用率最优原则计算电磁感知任务的动态迁移策略,并为其分配相应的设备资源以及服务资源;根据动态迁移策略,将电磁感知任务动态调配到相应的边缘计算节点执行。
11.在一示例中,触发计算所述动态迁移策略的情形包括:
当分布式系统中有任务优先级更高的电磁感知任务获得分配给当前电磁感知任务中相关资源后,为当前电磁感知任务重新计算动态迁移策略,选择满足要求的资源继续进行任务的执行;当分配给当前电磁感知任务的资源出现故障时,为当前电磁感知任务重新计算动态迁移策略,选择满足要求的资源继续进行任务的执行。
12.需要进一步说明的是,上述方法各示例对应的技术特征可以相互组合或替换构成新的技术方案。
13.本发明还包括一种基于分布式任务管理和资源调度的无线电监测系统,与上述任一示例或多个示例组合形成的分布式任务管理和资源调度的无线电监测方法具有相同的发明构思,所述系统包括边缘计算节点,与边缘计算节点连接的监测设备、云平台、用户端(前端管理页面)以及分布式消息中间件,且分布式消息中间件与云平台连接;监测设备与边缘计算节点、各边缘计算节点之间均通过分布式服务总线连接,进而将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册至对应边缘计算节点,并同步各边缘计算节点的服务资源注册数据;用户端用于接收感知任务并传输至边缘计算节点;边缘计算节点包括服务资源调度管理模块、感知任务分解模块、感知任务管理模块以及脚本执行引擎;服务资源调度管理模块用于根据感知任务的优先级和/或等待时间和/或预计执行时间和/或感知资源当前的资源占用情况确定资源调度策略;感知任务分解模块与服务资源调度管理模块连接,用于对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射;感知任务管理模块与感知任务分解模块连接,用于根据感知子任务与设备资源的映射关系,将本任务执行节点执行的感知子任务下发至本任务执行节点感知任务管理模块进行执行,同时将需要其他任务执行节点协同处理的感知子任务依次通过分布式消息中间件、云平台分发至对应的其他协同任务执行节点;脚本执行引擎与感知任务管理模块连接,用于执行与当前感知子任务匹配的任务执行脚本。
14.在一示例中,所述边缘计算节点还包括任务脚本生成模块,用于通过可视化的感知任务脚本编辑工具,按照电磁感知任务的工作流程进行可视化编辑,通过选择控制流程类型和服务功能操作进行业务流程编排,进而根据不同电磁感知任务的类型形成相对应的python(计算机编程语言)执行脚本文件。
15.在一示例中,所述系统还包括感知任务分解规则库、调度策略库以及任务脚本模板库;感知任务分解规则库与感知任务分解模块连接,用于存储感知任务分解规则;调度策略库与服务资源调度管理模块连接,用于存储资源调度策略;任务脚本模板库与任务脚本生成模块连接,用于根据不同电磁感知任务的类型定义不同的任务执行脚本。
16.需要进一步说明的是,上述系统各示例对应的技术特征可以相互组合或替换构成新的技术方案。
17.与现有技术相比,本发明有益效果是:1.在一示例中,采用分布式服务总线架构,所有设备(监测设备和边缘计算节点)资源和服务资源都在分布式服务总线上注册,进而形成一个全局共享的虚拟化资源池,当某一边缘计算节点故障,服务资源分配与访问能够由其他任意边缘计算节点响应,在保证高效算力的同时,能够大大提升任务管理与资源调度的可靠性;同时,通过分布式任务协同、任务分解策略结合服务资源调度策略,实现了感知任务的灵活定制以及自动分解和下发执行,在整个任务的自动分解和执行过程中可根据全网服务资源的使用情况进行科学调度和动态优化,提升了整个无线电监测的自动化、智能化水平。
18.2.在一示例中,对边缘计算节点设备及运行在其上的数据处理类服务、统计分析类服务进行了资源虚拟化,形成了一个范围更广、能力更加齐备的虚拟化资源池,更有利于电磁感知任务的编排和资源调度。
19.3.在一示例中,针对感知任务具体要求并结合设备资源、服务资源状态信息,从空间维度、能力维度、时间维度进行全局分析和动态规划,筛选出最优的设备资源执行相应的感知任务,提高了感知任务与设备的匹配度,进一步提升了资源使用效能。
20.4.在一示例中,引入感知任务的优先级管理、切换管理、状态管理,能够实时、全面把控任务的执行状态,进而积极为各感知任务调配服务资源,保证任务高效、顺利执行,可靠性高。
21.5.在一示例中,本发明按资源利用率最优原则计算电磁感知任务的动态迁移策略,根据服务资源的使用情况进而科学、有效地进行资源服务的调度以及动态优化,进一步提升了资源的使用效能。
22.6.在一示例中,根据不同电磁感知任务的类型定义不同的任务执行脚本,实现灵活定义电磁感知任务的执行脚本,自动从任务脚本模板库找到与所述当前电磁感知任务匹配的当前任务执行脚本,实现自动化匹配,以此保证计算效率;同时,采用脚本编排的的方式,进行流程修改调整后只需保存更新对应的脚本文件即可,在脚本执行过程中,可通过脚本执行引擎控制任务的暂停、继续、终止等操作,使得任务流程编排则更加灵活方便。
附图说明
23.下面结合附图对本发明的具体实施方式作进一步详细的说明,此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。
24.图1为本发明一示例中的方法流程图;图2为本发明一示例中的系统架构图;图3为本发明一示例中的物理部署图。
具体实施方式
25.下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述的方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,使用序数词 (例如,“第一和第二”、“第一至第四”等 )是为了对物体进行区分,并不限于该顺序,而不能理解为指示或暗示相对重要性。
27.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
28.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
29.在一示例中,如图1所示,基于分布式任务管理和资源调度的无线电监测方法,具体包括以下步骤:s1:将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册至对应边缘计算节点,并同步各边缘计算节点的服务资源注册数据,实现服务注册信息的全局共享;s2:接收感知任务,根据感知任务的优先级和/或等待时间和/或预计执行时间和/或感知资源当前的资源占用情况确定资源调度策略;其中,感知任务(以下也称任务)为无线电监测任务,包括对无线电使用频率、发射带宽、信号场强、频率偏差、调制方式、杂散发射等进行监测。
30.s3:对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射;s4:根据感知子任务与设备资源的映射关系,遍历感知任务子清单,将本任务执行节点执行的感知子任务下发至本任务执行节点感知任务管理模块进行执行,同时将需要其他任务执行节点协同处理的感知子任务通过分布式消息中间件分发至对应的其他协同任务执行节点;s5:任务执行节点中的脚本执行引擎执行与当前感知子任务匹配的任务执行脚本。
31.当然,也可先对感知任务进行分解得到感知子任务,再根据感知任务的优先级、等待时间、执行时间确定资源调度策略,或者两者同时执行。
32.具体地,步骤s2中优选根据感知任务的优先级、等待时间、执行时间确定资源调度策略,具体包括:s21:优先级最高优先策略:根据感知任务的优先级进行服务资源调度,优先级最高的感知任务优先获得服务资源的使用权;s22:等待时间最高优先策略:根据感知任务的等待时间进行服务资源调度,等待时间最长的感知任务优先获得服务资源的使用权;s23:执行时间最短优先策略:根据感知任务的执行时间进行服务资源调度,执行
时间最短的感知任务优先获得服务资源的使用权;s24:资源占用最少优先策略:根据感知任务的资源占用情况进行服务资源调度,执行任务资源占用最少的感知任务优先获得服务资源的使用权;s25:综合评定策略:根据感知任务的优先级、等待时间、执行时间、资源占用情况按权值进行综合评定打分,评分最高的感知任务优先获得服务资源的使用权。
33.进一步地,步骤s3中,对感知任务进行分解即根据感知任务的任务参数信息,包括不限于任务类型、任务区域信息、任务频段信息、任务执行时间段等将感知任务分解为多个感知子任务,感知子任务相较于感知任务进一步细化了任务要求,此时结合资源调度策略将感知子任务与设备资源进行映射,能够大大提高感知子任务与设备资源的匹配度。
34.进一步地,步骤s4中,任务执行节点即边缘计算节点,具有独立的数据处理能力,多个边缘计算节点间经分布式总线实现互联。
35.本发明采用分布式服务总线架构,所有设备(监测设备和边缘计算节点)资源和服务资源都在分布式服务总线上注册,进而形成一个全局共享的虚拟化资源池,当某一边缘计算节点故障,服务资源分配与访问能够由其他任意边缘计算节点响应,在保证高效算力的同时能够大大提升任务管理与资源调度的可靠性;同时,通过分布式任务协同、任务分解策略结合服务资源调度策略,实现了感知任务的灵活定制以及自动分解和下发执行,在整个任务的自动分解和执行过程中可根据全网服务资源的使用情况进行科学调度和动态优化,提升了整个无线电监测的自动化、智能化水平。
36.在一示例中,步骤s1同步服务资源注册数据具体包括:s11:在所有边缘计算节点上部署分布式服务总线;s12:按就近原则将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册到相应的边缘计算节点上的分布式总线上,分布式总线将各个边缘计算节点上的感知服务资源注册数据进行全局同步。具体地,在感知前端,通过增加专用计算设备或利用现有监测设备的控制计算机发布、注册前端监测设备的原子服务。在边缘计算端,采用算力强的工控机作为边缘计算节点。按就近原则接入多个监测设备所注册的原子服务;同时各个边缘计算节点本身也可以作为服务资源的提供者,将各类算法模型、数据处理模块、统计分析模块封装为服务进行发布、注册,并利用分布式服务总线的数据同步能力,将各个边缘计算节点所注册的服务信息进行全局同步,从而形成一个可“单点接入、全局访问”的虚拟化服务资源池。边缘计算节点和监测设备的控制计算机(或新增的专用计算设备)为各类服务资源的运行提供硬件支撑平台,其中边缘计算节点作为感知任务的执行节点,可根据任务要求调用虚拟资源池的各类服务资源。本示例中在脚本编排前对业务功能进行服务化封装,将所有的监测设备控制、数据处理、统计分析等业务功能按最小颗粒度进行原子化服务封装,统一注册至分布式服务总线,利用分布式服务总线的数据同步机制进行所有服务注册信息的全局同步。其中,原子化服务封装是在《超短波监测管理服务接口规范》标准基础上进行扩展,将完成电磁感知任务的各个基础业务功能模块按照web services(基于可编程的web的应用程序)接口标准进行原子化服务封装,主要的原子化服务类型包括:(1)设备控制功能原子化服务:按对监测设备的各类控制功能进行原子化服务接口封装,接口标准遵循《超短波监测管理服务接口规范》。
37.(2)数据处理功能原子化服务:在《超短波监测管理服务接口规范》标准基础上进
行扩展,对边缘计算节点进行的各类监测数据处理功能进行原子化服务接口封装,如数据融合处理、信号识别处理、交会定位计算处理等。
38.(3)统计分析功能原子化服务:在《超短波监测管理服务接口规范》标准基础上进行扩展,对边缘计算节点进行的各类监测数据统计分析功能进行原子化服务接口封装,如概率最大示向度统计、频段占用度统计、信道占用度统计等。
39.传统的服务总线产品部署环境要求高,一般是部署于云端或服务器集群,而本发明的分布式服务总线为轻量级产品,可部署于云端、前端边缘计算节点,以及具有控制计算机的监测设备上,并且通过分布式服务总线的服务信息全局同步及路由能力,进而具备“单点接入、全局访问”的资源访问能力。
40.进一步地,原子化服务注册及信息全局同步包括:通过服务自动注册接口或服务信息管理界面人工录入两种方式进行各类原子化服务信息进行注册,服务注册信息主要包括服务所属监测设施id、服务所属设备id(或边缘计算节点id)、服务编号、服务版本、服务中文名称、服务英文名称、传输协议、报文格式、安全认证方式、服务类别、服务描述、服务调用地址、wsdl(web服务描述语言)地址等。其中,注册的方式包括人工注册或自动注册。
41.服务注册可在任意一个分布式节点(边缘计算节点)上进行,服务注册信息保存于分布式目录服务zookeeper中,借助zookeeper的分布式数据同步能力,实现各个分布式节点之间的服务注册信息全局同步。
42.进一步地,在原子化服务封装和注册的基础上,可根据所注册服务的接口描述信息(wsdl),自动生成原子化服务调用的python功能组件,保存至python功能组件库中。
43.现有无线电监测一体化平台主要基于监测设备原子化服务进行统一接入与调度管理,本发明不仅以原子服务的方式接入各类监测设备原子服务,同时还将在边缘计算节点上进行的数据处理、统计分析等软件功能模块进行原子服务化封装和注册接入,方便实现跨节点的计算调用和计算迁移。
44.在一示例中,同步服务资源注册数据具体包括设备资源的虚拟化以及服务资源的虚拟化,设备资源的虚拟化包括:s111:将监测设备进行接口抽象和归一化处理,映射为虚拟设备;s112:通过对虚拟设备对象的实例化建立相应的虚拟设备对象;s113:将实例化后的虚拟设备实例描述信息进行全网同步,形成一个全局虚拟设备对象资源池;进一步地,服务资源的虚拟化包括:s121:将监测设备所执行的业务功能按最小颗粒度进行原子化服务封装,并与虚拟设备对象进行绑定。具体地,服务资源的虚拟化则是在设备资源的虚拟化的基础上,将在监测设备或边缘计算节点上所执行监测设备控制、数据处理、统计分析等业务功能按最小颗粒度进行原子化服务封装,并与虚拟化设备对象进行绑定,最后将服务资源信息统一注册至分布式服务总线,利用分布式服务总线的数据同步机制进行全系统所有服务注册信息的全局同步,形成一个可供全系统访问的虚拟服务资源池。
45.在一示例中,对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射包括以下子步骤:
s31:根据感知任务的任务类型,确定执行感知任务的设备类型作为候选设备资源;s32:根据感知任务要求的空间域范围和/或能力域范围和/或时间域范围筛选候选设备资源;s33:根据感知任务的任务要求分析筛选出的多个候选设备资源执行感知任务的监测效果,以监测效果最优原则对感知任务进行分解,实现感知子任务与设备资源的映射,进而得到感知子任务清单以及为各感知子任务进行服务资源分配的服务资源清单。
46.具体地,步骤s31中,感知任务的任务类型包括不限于电磁环境采集任务、协同定位任务、异常告警任务、信号干扰任务等。其中,电磁环境采集任务是通过选择调用具有频谱监测能力的设备,对指定监测区域进行频段扫描监测,并对信号进行识别,最后将所采集该电磁频谱数据和识别的电磁信号数据保存至电磁背景库中;协同定位任务是针对所监测的电磁信号,协同调度监测区域内具有测向能力的监测站点进行同时测向,并通过交会定位算法计算所监测电磁信号的位置信息;异常告警任务是通过选择调用具有频谱监测能力的设备,对指定监测区域进行频段扫描监测,将发现的信号与电磁背景库进行比对,出现异常信号时进行告警;信号干扰任务是针对目标信号的参数特征,选择调用具有信号干扰能力的设备,通过选择干扰样式和设置干扰参数进行下发,实现对指定目标的电磁信号进行干扰。进一步地,根据上述任务类型,选择能够有效执行上述任务的候选设备资源(监测设备)。
47.步骤s32中优选根据感知任务要求的空间域范围、能力域范围、时间域范围筛选候选设备资源,对应地步骤s33中根据监测设备的性能指标、监测覆盖范围等进行综合评判确定最优监测效果。本示例中,针对感知任务具体要求并结合设备资源、服务资源状态信息,从空间维度、能力维度、时间维度进行全局分析和动态规划,筛选出最优的设备资源执行相应的感知任务,提高了感知任务与设备的匹配度,进一步提升了资源使用效能。
48.在一示例中,根据感知任务要求的空间域范围、能力域范围、时间域范围筛选候选设备资源包括以下子步骤:s321:空间域分析:根据所执行感知任务覆盖的监测区域范围,结合该监测区域范围内监测设备资源的空间分布信息、监测覆盖范围进行分析,筛选满足感知任务空间域的候选设备资源;具体地,根据监测设备位置信息、设备工作参数信息(包括监测起始频率、终止频率、接收机噪声系数、接收机灵敏度、接收机信噪比等)、天线信息(包括天线架高、极化方式、天线方向图等)等,并结合地形地貌信息(主要为高程信息),调用电波传播计算模型(如自由传播模型、不规则地面模型longley-rice等),计算该获得设备对不同频段电磁信号的监测覆盖范围信息;在单个监测设备监测范围区域计算的基础上,将感知任务空间范围区域与各监测设备的覆盖范围区域进行空间匹配计算,筛选出可满足感知任务空间范围的候选设备资源。
49.s322:能力域分析:在空间域分析的基础上,根据感知任务要求的频段范围、监测能力对候选设备资源进行分析,确定满足感知任务能力域的候选设备资源;监测能力为频谱监测、测向、tdoa定位(到达时间差定位)、信号识别中任意一种或多种。
50.s323:时间域分析:在空间域、能力域分析的基础上,根据候选设备资源的忙闲状态以及当前执行任务的时间段(如设备当前是否正在工作)进行分析,筛选能够满足感知任
务执行时间范围的候选设备资源。
51.在一示例中,在执行上述任一示例或多个示例组合形成的电磁感知任务自动分解与资源分配方法前,还包括感知任务分解规则建立步骤,即基于步骤s3相同技术构思建立感知任务分解规则。作为另一选项,本发明方法还包括感知任务规则定义与流程编排步骤,包括以下子步骤:s01:提供规则定义可视化编辑界面;s02:通过可视化编辑界面进行资源分配规则编辑;s03:通过可视化编辑界面编辑感知子任务分解规则s04:通过可视化编辑界面进行感知任务资源调度分配流程编排;s05:通过可视化编辑界面进行感知任务分解流程编排。
52.进一步地,步骤s01包括:(1)在规则定义编辑界面中可定义规则名称、规则类别、规则优先级、条件、动作等。其中动作即支持简单的赋值操作、选择操作等,同时支持自定义的基础功能组件;(2)通过界面定义的规则,在后台以python(计算机编程语言)脚本的格式进行存储,统一保存到规则库中,由规则引擎加载并进行匹配;(3)可对已建立的规则,通过人工输入“事实”数据,对规则引擎匹配执行结果进行测试验证,如输入多个不同级别感知任务,验证是否能对各感知任务优先级进行排序。
53.进一步地,步骤s02资源分配规则编辑包括:(1)任务频域匹配规则编辑:输入任务的频段条件信息,匹配具备该频段监测能力的设备及服务资源;(2)任务空间域匹配规则:输入感知任务的空间域条件信息,匹配监测覆盖范围满足该感知任务空间域要求的设备及服务资源;(3)任务能力域匹配规则:输入任务类型或任务的能力域条件信息(如频谱监测、测向、tdoa定位、信号识别等),匹配满足监测能力要求的设备及服务资源;(4)任务时间域域匹配规则:输入任务的时间域条件信息,匹配可满足任务执行时间要求的设备及服务资源。
54.进一步地,步骤s03编辑感知子任务分解规则包括:输入感知任务类型条件信息,匹配能够完成该类型感知任务的感知子任务清单。作为一选项,本步骤还包括感知子任务执行脚本规则编辑:输入感知子任务类型条件信息,匹配能够该类型感知子任务的执行脚本。
55.进一步地,步骤s04感知任务资源调度分配流程编排包括:(1)通过界面自定义资源筛选功能组件:(a)频域资源筛选功能组件:输入频段信息后,由规则引擎自动匹配规则,筛选出满足要求的设备及服务资源;(b)空间域的资源筛选功能组件:输入空间信息后,由规则引擎自动匹配规则,筛选出满足要求的设备及服务资源;(c)能力域的资源筛选功能组件:输入任务类型或任务的能力域信息条件后,由规则引擎自动匹配规则,筛选出满足要求的设备及服务资源;(d)时间域的资源筛选功能组件:输入任务时间段信息后,由规则引擎自动匹配规则,筛选出满足要求的设备及服务资源。
56.(2)通过界面进行感知任务资源调度分配流程编排:(a)获得输入参数:包括任务类型、任务区域信息、任务频段信息、任务执行时间段等;(b)根据感知任务资源分配流程,将已创建功能组件按逻辑流程(如顺序、分支)进行编排,确定功能组件的执行顺序及每个功能组件的输入/输出关系。
57.(3)感知任务资源分配流程保存:将通过界面编排的感知任务资源分配流程转换为python脚本并保存为相应的功能组件。
58.进一步地,步骤s05感知任务资源调度分配流程编排包括:(1)通过界面自定义功能组件:(a)感知子任务分解功能组件:输入感知任务类型信息后,由规则引擎自动匹配规则,获得能够完成该感知任务的感知子任务清单;(b)感知子任务资源分配组件:输入感知子任务类型信息后,由规则引擎自动匹配规则,获得该感知子任务的资源分配流程。
59.(2)通过界面进行感知任务分解流程编排:(a)获得输入参数,主要为任务类型;(b)将自定义功能组件按感知任务分解逻辑流程进行编排,确定功能组件的执行顺序及每个功能组件的输入/输出关系。具体地,首先顺序执行感知子任务分解功能组件获得感知子任务清单,再循环执行感知子任务分解功能组件,为每一个感知子任务分配资源。
60.(3)感知任务分解流程保存:将通过界面编排的感知任务分解流程转换为python脚本并保存为相应的功能组件。
61.作为一选项,本感知任务规则定义与流程编排步骤还包括:s06:通过可视化编辑界面进行感知任务执行流程编排,具体包括:(1)通过界面自定义功能组件:服务资源调用功能组件:根据原子服务接口规范,编写原子服务的python调用功能组件;服务资源动态调度组件:任务执行过程中,当出现资源重新调度时,通过输入任务类型,由规则引擎自动匹配规则,进行服务资源再次分配。
62.(2)通过界面进行感知任务执行流程编排:(a)获得输入参数,主要为任务类型;(b)将自定义功能组件按感知任务执行流程进行编排,确定功能组件的执行顺序及每个功能组件的输入/输出关系。
63.(3)感知任务执行流程保存:将通过界面编排的感知任务执行流程转换为python脚本并保存为相应的功能组件。
64.在一示例中,方法还包括感知任务运行管理步骤,包括任务优先级管理和/或任务切换管理和/或任务状态管理,优选包括上述三种任务管理,且此时三种任务管理策略同时执行,包括以下子步骤:任务优先级管理:下发任务首先加入到待执行任务队列,根据任务优先级进行任务执行调度,优先级高的任务优先获得执行权;任务切换管理:根据任务优先级和/或服务资源的任务执行状态对任务进行切换管理;其中,根据任务优先级对任务进行切换管理为:多任务并发执行时,当待执行任务对列中有任务优先级更高的感知任务获得执行权后,启动任务切换步骤。根据服务资源的任务执行状态对任务进行切换管理为:多任务并发执行时,当前执行任务因所分配的设备或服务资源被其他节点执行的任务优先级更高的任务所抢占,而且不能获得其他设备或服务资源,造成当前任务不能继续执行时,启动任务切换步骤,从待执行任务队列中选择优先级最高的任务执行。进一步地,任务切换步骤包括:(1)记录当前执行任务现场信息;(2)暂停当前执行任务,将其加入到待执行任务队列;(3)将优先级高的任务从待执行任务队列取出,修改其运行状态为“执行中”,python脚本执行引擎下发启动任务执行指令。
65.任务状态管理:获取所有节点中各感知任务的执行状态,若在预定时间内某节点未更新感知任务的执行状态,判定该节点故障,选择新节点执行故障节点的感知任务,避免
了计算节点故障导致任务无法有效执行的问题。
66.在一示例中,执行与当前感知子任务匹配的任务执行脚本具体包括以下步骤:建立任务脚本模板库:根据不同电磁感知任务的类型定义不同的任务执行脚本,并为不同的任务执行脚本分配相应边缘计算节点的感知服务资源;电磁感知任务执行脚本的自动匹配:接入当前电磁感知任务,并从任务脚本模板库找到与当前电磁感知任务匹配的当前任务执行脚本;电磁感知任务执行:下发当前任务执行脚本至相应边缘计算节点的脚本执行引擎,由脚本执行引擎自动执行当前任务执行脚本。
67.具体地,根据不同电磁感知任务的类型定义不同的任务执行脚本,并为不同的任务执行脚本分配相应边缘计算节点的感知服务资源,实现灵活定义电磁感知任务的执行脚本,自动从任务脚本模板库找到与当前电磁感知任务匹配的当前任务执行脚本,实现自动化匹配;然后下发当前任务执行脚本至相应边缘计算节点的脚本执行引擎,由脚本执行引擎自动执行当前任务执行脚本,实现相应的业务功能。采用脚本编排的的方式,进行流程修改调整后只需保存更新对应的脚本文件即可,在脚本执行过程中,可通过脚本执行引擎控制任务的暂停、继续、终止等操作,使得任务流程编排则更加灵活方便。
68.进一步地,根据不同电磁感知任务的类型定义不同的任务执行脚本,包括:通过可视化的感知任务脚本编辑工具,按照电磁感知任务的工作流程进行可视化编辑,通过选择控制流程类型和服务功能操作进行业务流程编排,形成相对应的python执行脚本文件。具体地,基于具体的无线电监测管理业务需求,通过可视化的电磁感知任务脚本编辑工具,灵活定义任务执行脚本。
69.首先选择服务资源,任务脚本可视化编辑工具通过访问后台服务注册信息库,获得分布式边缘计算节点和监测设备资源信息,以及边缘计算节点和监测设备所提供的原子服务信息,在编辑工具界面上以目录树的方式进行显示。用户可任意选择各个边缘计算节点或监测设备所提供的服务资源,并通过拖拽方式将服务资源放置于电磁感知任务流程编辑区作为功能节点。
70.然后进行任务流程编排,在电磁感知任务流程编辑区对所选择功能节点的执行顺序和执行条件进行编排,生成电磁感知任务执行流程链(由一系统连接功能节点的边组成),可支持顺序执行、条件执行、循环执行三种基本的任务流程链。
71.其次,生成任务执行脚本,根据任务脚本映射生成规则对电磁感知任务流程编辑区功能节点及其任务执行流程链等界面元素进行映射转换,生成对应的python任务脚本文件。将生成的电磁感知任务的任务执行脚本文件保存至任务脚本模板库,保存信息主要包括任务模板名称、任务类型、任务脚本文件内容、模板创建时间等。
72.进一步地,接收上级或协同节点下发的电磁感知任务信息,根据任务类型查找任务脚本模板库,获取对应任务类型的任务执行脚本文件,下发任务执行脚本文件至相应节点的脚本执行引擎,由脚本执行引擎自动执行任务执行脚本,按相应的业务逻辑实现相应的业务功能。其中,脚本执行引擎采用c 和python混合编程方式,通过c 宿主程序中嵌入python执行引擎及相关的功能组件。由python实现需要动态变化的感知任务分解、资源调度等功能。引擎统一了脚本入口函数scriptmain(),任何工作流启动都从该函数开始执行。其中,通过c 开发可执行python脚本的引擎框架,并服务资源动态迁移用python脚本
实现感知任务的具体执行逻辑和部分数据处理功能,从而实现感知任务工作流程的灵活定制。python脚本工作流引擎具体实现方式为:在c 宿主程序中内嵌python虚拟机,并集成python二次开发包。c 宿主程序将python虚拟机初始化后,就能够调用python脚本。多语言开发涉及两部分:对性能要求高、复杂的数据处理由c 完成并导出接口供python调用;对灵活性、性能要求不高的部分用python实现,由c 宿主程序调用内嵌python虚拟机执行python任务脚本完成整个工作流运行。
73.在一示例中,脚本执行引擎自动执行当前任务执行脚本包括:使用pyimport_importmodule(导入代码)导入脚本模块;使用pyobject_getattrstring(目标获取代码)获取模块匹配方法信息;使用py_vabuildvalue(转换代码)转换输入参数;使用pyobject_callobject(调用代码)调用匹配方法;使用pyarg_parse(转换代码)转换方法的返回结果。
74.在一示例中,本发明方法还包括任务执行状态上报步骤:对当前任务执行脚本的执行状态进行日志记录和上报,主要上报内容任务当前所执行功能组件所对应的序列号和执行状态,在任务执行脚本的执行过程中,可通过脚本执行引擎控制任务的暂停、继续、终止等。
75.在一示例中,任务执行节点根据任务优先级进行资源控制权分配,被抢夺了控制权的任务自动切换至挂起状态,并通过资源调度重新获得服务资源后下发至相应的任务执行节点恢复执行,从而实现计算动态迁移。其中任务挂起时需要保存任务上下文信息(包括任务脚本的当前执行脚本的行号、输入参数、局部变量值等),任务经重新调度分配资源后恢复执行时自动根据任务上下文信息进行现场恢复,确保任务执行的同步和数据的同步。
76.本示例中,感知任务动态迁移包括以下子步骤:采集各边缘计算节点所接入的资源状态信息(包括设备的工作状态、服务的运行状态、网络带宽的占用状态等),并根据资源状态信息计算各边缘计算节点的负载信息;基于当前全网所有的电磁感知任务信息以及所有边缘计算节点的负载信息,最后按资源利用率最优原则计算电磁感知任务的动态迁移策略,并为其分配相应的设备资源以及服务资源;其中节点负载信息通过对计算资源(cpu)占用情况、存储资源(内存、硬盘等)的占用情况,网络负载情况、设备和服务的接入调用情况等进行加权计算获得。
77.根据动态迁移策略,将电磁感知任务动态调配到相应的边缘计算节点执行。
78.具体地,本发明将所有设备资源以及服务资源进行虚拟化后,统一注册到分布式服务总线上,实现整个系统资源的虚拟化管理,可实现无线电上层应用软件从任意节点接入便可直接访问全系统的服务资源,有效地避免了集中式平台单点故障造成系统不可用的问题,极大的提升了整个无线电监测管理应用系统的可用性和易用性。同时,按资源利用率最优原则计算电磁感知任务的动态迁移策略,并为其分配相应的设备资源以及服务资源,提升了监测效能和设备利用率,一定程序上提高了系统的智能化、自动化水平。
79.进一步地,资源状态信息采集以边缘计算节点为单位进行,采集本节点所接入资源的状态信息,资源状态信息包括设备资源状态信息、网络资源状态信息、动环状态信息以及服务接口状态信息。
80.其中,设备资源状态信息采集包括监测设备状态采集和边缘计算节点状态采集,
监测设备状态采集的主要通过与监测设备上运行设备控制软件接口,采集信息包括:设备工作状态(工作、空闲)、故障状态(正常、故障)、当前执行的监测任务(空闲状态为空)等;边缘计算节点状态采集主要通过操作系统(windows或linux)提供的系统信息获取接口获取边缘计算节点的软硬件运行状态信息,主要信息包括cpu使用率、内存使用率、当前运行进程数\线程数、剩余磁盘容量、当前磁盘io读写量、当前网络流量等信息。
81.网络资源状态信息采集是通过标准snmp协议接口,与系统中的路由器、交换机接口,采集信息包括:端口的连接状态和数据流量大小、路由可达信息等。
82.动环状态信息采集是与环境监控设备控制软件接口,采集设备供电端口开关状态和电压/电流信息。
83.服务接口状态信息采集是与原子服务软件接口,采集服务接口的可用状态和服务的占用状态。
84.进一步地,根据采集的资源状态信息进行资源状态信息综合,资源状态信息综合包括各分布式节点资源状态信息综合和整系统资源状态信息综合。其中,根据资源状态信息计算各边缘计算节点的负载信息,包括:各边缘计算节点上部署的分布式服务总线将本节点所采集到的各类资源状态信息进行综合,形成本节点的虚拟设备资源和虚拟服务资源的状态汇总信息。其中虚拟设备资源汇总是将所采集的设备状态信息、网络状态信息和动环状态信息进行关联和整合,获得虚拟设备资源汇总信息。汇总信息分为监测设备虚拟资源汇总信息和边缘计算节点虚拟资源汇总信息两类。其中虚拟监测设备资源汇总信息主要包括:设备工作状态、故障状态、当前执行的监测任务信息、设备供电状态信息、设备网络流量信息。边缘计算节点虚拟资源汇总信息主要包括:设备工作状态、故障状态、当前负载信息(包括cpu使用率、内存使用率、当前运行进程数\线程数、剩余磁盘容量、当前磁盘io读写量等)、设备供电状态信息、设备网络流量信息。
85.虚拟服务资源汇总则是在虚拟设备资源汇总信息的基础上,根据虚拟服务资源与虚拟设备资源的绑定关系,结合所采集的服务接口的可用状态和服务占用状态进行汇总,计算并判断承载服务运行的设备资源是能否服务运行的安全机制qos(服务质量,)指标要求,最终确定服务资源的可用性。虚拟服务资源的汇总信息服务可用状态、服务占用状态、服务执行所依赖的虚拟设备资源、服务当前的qos指标值。
86.全系统资源状态信息综合包括:将各边缘计算节点部署的分布式服务总线,通过分布式消息中间件,将各节点综合分析获得的虚拟设备资源状态信息和虚拟服务资源状态信息进行数据同步,实现全系统资源状态信息的综合共享。在此基础上结合各节点上报网络状态信息和路由信息,形成整个系统的实时网络拓扑,获得节点之间的可达性及路由信息,可为后续的资源调度分配提供决策支撑。
87.现有无线电监测一体化平台主要针对监测设备及监测原子化服务进行了资源虚拟化管理和调度,本发明在此基础上,同时还对边缘计算节点设备及运行在其上的数据处理类服务、统计分析类服务进行了资源虚拟化,形成了一个范围更广、能力更加齐备的虚拟化资源池,更有利于电磁感知任务的编排和资源调度。
88.在一示例中,按资源利用率最优原则计算电磁感知任务的动态迁移策略,包括:获取电磁感知任务信息;
根据电磁感知任务的任务类型、任务参数和任务优先级,进行对空域、频域、时域、能力域的匹配计算;初步筛选出满足任务执行要求的虚拟设备资源和虚拟服务资源候选清单;按照监测效果最优或设备利用效率最优选择确定最终为电磁感知任务分配的资源。
89.具体地,以某个节点为例,首先接收电磁感知任务,接收上级或协同节点下发的电磁感知任务信息,获取任务类型和任务参数。其中任务类型主要包括:电磁环境采集任务、协同定位任务、异常告警任务、信号干扰任务等。任务参数主要包括:监测频段范围参数、监测地理区域参数、监测任务执行时间段参数、能务要求参数(如频段扫描、信号识别、信号测向等)。
90.然后进行资源筛选,根据所接收电磁感知任务类型、任务参数和任务优先级,进行对空域、频域、时域、能力域的匹配计算,先初步筛选出满足任务执行要求的虚拟设备资源和虚拟服务资源候选清单,在此基础上再按照监测效果最优或设备利用效率最优选择确定最终的分配资源,具体步骤如下:s61:监测设备资源初步筛选;s611:空间域筛选:先查询出所有部署在任务规定监测空间区域范围内所有监测设备资源候选清单;s612:频率域筛选:在空间域分析的基础上,根据所执行感知任务所涉及的频段范围进一步筛选出满足感知任务监测能力要求的候选监测设备资源。其中可支持监测设备资源组合,即单个监测设备资源不能覆盖监测任务频段范围,但通过多个设备组合可满足监测任务频段范围;s613:能力域筛选:在空间域筛选、频率域筛选的基础上,按照监测任务的能力要求,进一步的筛选出可提供相应原子服务资源的设备资源;s614:时间域筛选:在上述筛选的基础上,根据任务的执行时间段要求,并结合任务的优先级,候选设备资源进行进一步的筛选,获得可满足任务执行时间要求的设备资源。
91.s62:监测设备资源二次筛选:采用监测效果最优筛选或监测设备使用效率最优筛选对候选设备资源进行再次筛选,确定分配给感知任务的设备资源。
92.s621:监测效果最优筛选:遍历初步筛选获得的候选监测设备资源(或监测设备组合资源)清单,按监测设备的覆盖范围、扫描速度、测向精度等技术指标进行加权计分,最后进行排序对比,筛选出监测效果最优的监测设备资源;s622:监测设备利用率最优筛选:遍历初步筛选获得的候选监测设备资源(或监测设备组合资源)清单,根据监测设备的当前执行任务信息、待执行任务清单等信息,结合本任务执行时间段要求,计算候选监测设备资源在不同分配方案中的利用率,以所有候选监测设备综合获得的设备利用率最优为原则,确定分配给本感知任务的感知设备资源及执行任务的时间段。
93.s623:计算节点设备资源筛选:在监测设备资源策选分配完成的基础上,对电磁感知任务执行的计算节点设备资源进行筛选。具体步骤如下:s631:能力域筛选:根据电磁感知任务的功能要求、任务优先级信息以及各节点提供服务的可用状态,对满足任务计算处理、统计分析功能服务要求的计算节点设备(或计算
节点设备组合)进行筛选,获得可满足感知任务计算处理能力要求的初步候选计算设备资源;s632:服务qos指标计算:根据电磁感知任务对计算处理服务和统计分析服务的qos指标要求,遍历初步筛选获得的候选计算设备资源(或计算设备组合资源)清单,计算获得各计算设备资源所提供服务当前的qos指标,进一步筛选出可满足服务qos指标要求计算节点设备资源;s633:服务质量最优筛选:在上述计算设备资源筛选的基础上,按不同的服务类别分别对计算设备资源进行服务qos指标排序,筛选出每一类服务中服务qos指标最高的计算节点设备资源做为该服务的执行节点。本发明方法在资源的分配管理中采用了监测效果最优、设备使用率最优等智能化调度分配算法,提升了系统的监测效能和设备利用率,一定程序上提高了系统的智能化、自动化水平。
94.在一示例中,触发计算所述动态迁移策略的情形包括:当分布式系统中有任务优先级更高的电磁感知任务获得分配给当前电磁感知任务中相关资源后,为当前电磁感知任务重新计算动态迁移策略,因任务原占有的设备或服务资源被其他优先级更高的任务抢占,任务通过资源调度获得了新的设备或服务资源,进行虚拟资源的动态迁移。
95.当分配给当前电磁感知任务的资源出现故障时,造成当前电磁感知任务不能继续执行,任务调度程序需启动重新选择设备资源和服务资源,为当前电磁感知任务重新计算动态迁移策略,选择满足要求的资源继续进行任务的执行;当执行电磁感知任务的边缘节点当前负载过大(超过阈值)时,为当前电磁感知任务重新计算动态迁移策略,选择部分子任务迁移到负载较小的节点继续执行。
96.进一步地,根据动态迁移策略,将电磁感知任务动态调配到相应的边缘计算节点执行,包括:向分配的设备资源下发控制权获取指令,获取设备资源及对应服务资源的控制权。具体地,在选好资源之后,进行资源的控制权获取,向分配的设备资源下发控制权获取指令,获取设备资源及对应服务资源的控制权。如果设备资源当前是空闲资源,则电磁感知任务直接获取到设备资源及对应服务资源的控制权;如果设备资源当前正在执行其他任务,因为资源筛选时已经对比过任务优先级,则电磁感知任务直接抢夺设备资源及对应服务资源的控制权,同时触发被抢夺资源任务的计算动态迁移流程。
97.最后,将电磁感知任务脚本和所分配的感知资源清单下发给任务脚本执行引擎,任务脚本执行引擎对任务脚本进行解释,并按任务脚本流程调用相应的服务资源执行任务的执行。具体地,本发明预先根据不同电磁感知任务的类型定义不同的任务执行脚本,并为不同的任务执行脚本分配相应边缘计算节点的感知服务资源,实现灵活定义电磁感知任务的执行脚本,自动从任务脚本模板库找到与当前电磁感知任务匹配的当前任务执行脚本,实现自动化匹配;然后下发当前任务执行脚本至相应边缘计算节点的脚本执行引擎,由脚本执行引擎自动执行当前任务执行脚本,实现相应的业务功能。采用脚本编排的的方式,进行流程修改调整后只需保存更新对应的脚本文件即可,在脚本执行过程中,可通过脚本执行引擎控制任务的暂停、继续、终止等操作,使得任务流程编排则更加灵活方便。
98.进一步地,当任务执行过程中,任务执行节点的计算、存储、io等资源达到设置阀
值时,由资源调度获得了新的执行节点资源,将任务自动切换至新的执行节点进行运行。
99.进一步地,对于被中断的电磁感知任务的计算动态迁移的执行过程如下:(1)电磁感知任务中断:任务调度程序通知任务脚本引擎中断电磁感知任务的执行,并记录当前所执行电磁感知任务的上下文信息(包括当前执行脚本行数、变量值等);(2)任务资源需求分析:分析当前执行电磁感知任务被中断的原因及相关资源需求,形成电磁感知任务资源需求清单上报任务调度程序;(3)调度分配:任务调度程序向资源调度分配程序下发电磁感知任务资源需求清单,启动资源分配并获取所分配资源的控制权;(4)任务恢复:任务调度程序向任务脚本引擎下发任务恢复执行通知消息,任务脚本引擎恢复被中断任务的现场信息;(5)任务恢复:任务脚本引擎从任务脚本中被中断的位置开始继续执行电磁感知任务,调度重新分配的设备资源执行相应的控制和计算服务,从而实现任务执行过程中的计算动态迁移。
100.本发明在电磁感知任务执行过程中,能够结合全网感知任务执行情况及全网资源动态变化情况进行资源分配的动态规划,极大的提升了全系统各类资源的使用效率;同时通过计算动态迁移可方便实现整个系统的弹性扩展,提升系统的健状性。
101.在一示例中,方法还包括感知任务运行状态采集与上报步骤:采集本任务执行节点所执行的感知子任务运行状态信息;本任务执行节点将执行的协同感知子任务的运行状态信息经分布式消息中间件发送至对应任务执行节点,同时接收协同任务执行节点分发的协同感知子任务的运行状态信息;各任务执行节点对感知子任务运行状态信息进行汇总处理,进而获得感知任务的总体运行状态信息,并通过分布式消息中间件分发感知任务的总体运行状态信息,从而实现感知任务状态信息全局共享。
102.在一示例中,本发明还包括反馈修正步骤:采集感知任务执行过程信息,包括设备服务调用成功率、设备运行故障率、设备资源利用率;对过程信息进行加权计算,进而对感知任务分解和/或资源调度策略进行修正。本示例中,基于感知任务执行过程信息,对感知任务分解和/或资源调度策略进行反馈修正,进而降低外部干扰因素对任务执行的干扰,进一步提高了任务执行的可靠性。
103.在一示例中,本发明还包括任务审批步骤:采用私钥对任务概要信息进行加密,生成任务摘要,附加在下发的感知任务数据包中;其中,任务概要信息包括任务id、任务类型、任务参数、任务执行时间、任务优先级等。
104.计算节点收到下发的任务后,通过公钥对任务数据包中的私钥进行解密,验证任务下发者的身份,同时验证下发任务的合法性和可执行性,防止任务传输过程中被篡改。
105.将上述示例进行组合,得到本发明优选方法,包括以下步骤:s0’: 将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册至对应边缘计算节点,并同步各边缘计算节点的服务资源注册数据;s1’:感知任务规则定义与流程编排,同时形成调度策略库以及任务脚本模板库;
s2’:接收感知任务,根据感知任务的优先级、等待时间、执行时间、感知资源当前的资源占用情况确定资源调度策略;s3’:对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射;s4’:根据感知子任务与设备资源的映射关系,将感知子任务发送至对应的任务执行节点;s5’:任务执行节点中的脚本执行引擎执行与当前感知子任务匹配的任务执行脚本;s6’:进行感知任务运行管理、动态迁移管理,并实时采集感知子任务运行状态信息以及感知任务执行过程信息;其中,感知任务执行过程信息包括设备服务调用成功率、设备运行故障率、设备资源利用率;s7’:对过程信息进行加权计算,进而为感知任务分解、资源调度策略修正提供数据参考。
106.本技术还包括一种存储介质,与上述任一示例或多个示例组成的基于分布式任务管理和资源调度的无线电监测方法具有相同的发明构思,其上存储有计算机指令,所述计算机指令运行时执行上述基于分布式任务管理和资源调度的无线电监测方法的步骤。
107.基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
108.本技术还包括一种终端,与上述任一示例或多个示例组成的基于分布式任务管理和资源调度的无线电监测方法具有相同的发明构思,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述基于分布式任务管理和资源调度的无线电监测方法的步骤。处理器可以是单核或者多核中央处理单元或者特定的集成电路,或者配置成实施本发明的一个或者多个集成电路。
109.在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
110.本发明还包括一种基于分布式任务管理和资源调度的无线电监测系统,如图2、图3所示,其中图2为系统的架构图,图3为系统的物理部署图。该系统包括边缘计算节点,与边缘计算节点连接的(电磁频谱)监测设备、云平台、用户端以及分布式消息中间件,且分布式消息中间件与云平台连接;其中,用户端可以为前端应用程序或者前端管理页面;边缘计算节点可以为算力强的工控机;监测设备的原子服务可采用新增加专用计算设备或利用现有监测设备的控制计算机作为硬件运行平台方式进行发布、注册。
111.监测设备的控制计算机(或专用计算设备)与边缘计算节点、各边缘计算节点之间均通过分布式服务总线连接,进而将监测设备的原子服务和边缘计算节点的计算、数据处理、统计分析服务注册至对应边缘计算节点,并同步各边缘计算节点的服务资源注册数据;用户端用于接收感知任务并传输至边缘计算节点;
边缘计算节点包括服务资源调度管理模块、感知任务分解模块、感知任务管理模块以及脚本执行引擎;服务资源调度管理模块用于根据感知任务的优先级和/或等待时间和/或预计执行时间和/或感知资源当前的资源占用情况确定资源调度策略;感知任务分解模块与服务资源调度管理模块连接,用于对感知任务进行分解得到感知子任务,结合资源调度策略将感知子任务与设备资源进行映射;感知任务管理模块与感知任务分解模块连接,用于根据感知子任务与设备资源的映射关系,将本任务执行节点执行的感知子任务下发至本任务执行节点感知任务管理模块进行执行,同时将需要其他任务执行节点协同处理的感知子任务依次通过分布式消息中间件、云平台分发至对应的其他协同任务执行节点;脚本执行引擎与感知任务管理模块连接,用于执行与当前感知子任务匹配的任务执行脚本。
112.在一示例中,边缘计算节点还包括任务脚本生成模块,用于通过可视化的感知任务脚本编辑工具,按照电磁感知任务的工作流程进行可视化编辑,通过选择控制流程类型和服务功能操作进行业务流程编排,进而根据不同电磁感知任务的类型形成相对应的python执行脚本文件。
113.在一示例中,系统还包括感知任务分解规则库、调度策略库以及任务脚本模板库;感知任务分解规则库与感知任务分解模块连接,用于存储感知任务分解规则,具体根据感知任务具体任务要求及选择的候选设备资源,按监测效果最优为原则形成分解规则;调度策略库与服务资源调度管理模块连接,用于存储基于感知任务的优先级和/或等待时间和/或执行时间形成的资源调度策略;任务脚本模板库与任务脚本生成模块连接,用于根据不同电磁感知任务的类型定义不同的任务执行脚本。
114.感知任务管理模块还包括任务优先级管理单元、任务切换管理单元以及任务状态管理单元。其中,任务优先级管理单元用于根据任务优先级进行任务执行调度,优先级高的任务优先获得执行权;任务切换管理单元用于根据任务优先级和/或服务资源的任务执行状态对任务进行切换管理;任务状态管理单元用于获取所有节点中各感知任务的执行状态,若在预定时间内某节点未更新感知任务的执行状态,判定该节点故障,选择新节点执行故障节点的感知任务。作为一选项,本发明感知任务管理模块还包括任务动态迁移管理单元,用于实现服务资源动态迁移以及计算节点资源动态迁移。
115.在一示例中,系统还包括反馈修正单元,用于采集感知任务执行过程信息,包括设备服务调用成功率、设备运行故障率、设备资源利用率,进而对过程信息进行加权计算,进而对感知任务的分解和/或资源调度策略进行修正。
116.在一示例中,系统还包括可视化编辑界面,用于实现感知任务规则定义与流程编排,包括资源分配规则编辑、感知子任务分解规则编辑、感知任务资源调度分配流程编排、感知任务分解流程编排以及感知任务执行流程编排。
117.在一示例中,系统还包括感知子任务的自动化执行引擎,具体为python脚本执行引擎以及规则引擎。其中,python脚本执行引擎采用c 和python混合编程方式,通过c 宿主程序中嵌入python执行引擎及相关的功能组件,由python实现需要动态变化的感知任务分解、资源调度等功能;引擎统一了脚本入口函数scriptmain(),任何工作流启动都从该
函数开始执行。进一步地,根据感知子任务的类型,由规则引擎自动匹配规则任务执行脚本,并下发给脚本执行引擎进行执行,引擎执行脚本主要步骤:(a)使用pyimport_importmodule导入脚本模块;(b)使用pyobject_getattrstring获取模块匹配方法信息;(c)使用py_vabuildvalue转换输入参数;(d)使用pyobject_callobject调用匹配方法;(e)使用pyarg_parse转换方法的返回结果;(4)任务运行状态记录与上报。对当前任务执行状态进行日志记录和上报,主要上报内容任务当前所执行功能组件所对应的序列号和执行状态。
118.进一步地,规则引擎采用python脚本对规则进行描述,通过调用python脚本执行引擎进行规则逻辑判断以及业务活动的执行,且规则保存至规则库中,自动根据输入事实进行规则的匹配及冲突的处理。
119.将上述系统对应的示例进行组合,得到本发明优选系统,此时系统采用分布式服务总线架构,所有设备(监测设备和边缘计算节点)资源和服务资源都在分布式服务总线上注册,注册信息包括设施id、设备id、设备服务地址(含ip、端口、功能服务名等)。所有注册信息数据通过分布式数据同步实现全局共享,形成一个全局共享的虚拟化资源池,可实现任意一个节点接入,访问全系统的设备资源。
120.当某一边缘计算节点故障,服务资源分配与访问可由系统中其他任意可用边缘计算节点接入并路由至相应的设备服务;当监测设备故障时,该设备提供的服务资源状态更改为不可用,并通过分布式服务总线将服务状态同步至所有分布式节点。各分布式节点上的资源调度软件会实时动态采集服务资源状态,当发现当前节点所执行任务的占用服务资源出现不可用时,启动任务的自动迁移,调度满足任务要求的其他可用设备服务资源,继续进行任务的执行。
121.感知任务管理同样采用分布式体系架构,感知任务从创建、分解、下发、执行、结束五个阶段中所生成的任务描述信息和任务状态信息均通过分布式数据库或分布式消息中间件进行全局共享,同时感知任务执行状态会定时(30秒)进行刷新和全局同步。当执行感知任务的边缘计算节点出现故障导致任务不能停止刷新,所执行的感知任务状态就停止了刷新,感知任务管理模块定时检测全系统中感知任务的执行状态,当发现感知任务的状态更新时间间隔超过了预设的阀值,则判断该任务执行节点故障或通信故障,系统重新调度选择新边缘计算节点进行任务分解和下发执行,以此保证系统稳定、可靠的运行。
122.以上具体实施方式是对本发明的详细说明,不能认定本发明的具体实施方式只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替代,都应当视为属于本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献