CN113849364B - 一种边缘应用管理方法、装置、设备及可读存储介质 - Google Patents
一种边缘应用管理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113849364B CN113849364B CN202110866747.5A CN202110866747A CN113849364B CN 113849364 B CN113849364 B CN 113849364B CN 202110866747 A CN202110866747 A CN 202110866747A CN 113849364 B CN113849364 B CN 113849364B
- Authority
- CN
- China
- Prior art keywords
- edge
- edge application
- application
- node
- autonomous information
- 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
- 238000007726 management method Methods 0.000 title claims description 119
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000007689 inspection Methods 0.000 claims abstract description 20
- 230000002159 abnormal effect Effects 0.000 claims description 40
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004083 survival effect Effects 0.000 claims description 7
- 230000001419 dependent effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 8
- 239000003795 chemical substances by application Substances 0.000 description 21
- 238000012545 processing Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000036541 health Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000012423 maintenance Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000003112 inhibitor Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种边缘应用管理方法、装置、设备及可读存储介质,涉及通信技术领域,该方法包括以下步骤:部署边缘应用的运行环境;在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用,本发明实现快速处理和获取边缘应用的异常状态。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种边缘应用管理方法、装置、设备及可读存储介质。
背景技术
随着物联网、视频智能分析、人工智能等新兴技术的产生,以及5G的商用落地进程不断加速,推动了边缘计算的兴起。在此背景下,未来将产生海量新应用,新应用的不断成熟对网络能力提出更高要求,而边缘计算通过在接近接入网的机房增加算力,能够大幅降低网络时延、降低传输网带宽压力和传输成本,并且提高内容传输速率,提升用户体验。
边缘应用的大量使用导致管理这些边缘应用会产生巨大的运营成本,以往的中心云管理方式,一般采用在中心云部署一个监控系统来监控应用产生的告警,日志和运行状态等。现在边缘节点会大量存在,每个边缘节点又会部署大量的边缘应用,采用一个监控系统来监控应用的手段已经完全不适合了,一个监控系统已经没有能力管理部署在更大更广地域的边缘节点。如果一个边缘节点就要安装一套监控系统,这样的管理方式产生大量的人力,资源的浪费,使得网络的开销较大;此外,如果边缘应用产生了一些不需处理或无效的状态,也需要部署在中心云的监控系统进行一一甄别,加大了中心云系统的压力和负荷,并且无法动态感知边缘应用的状态,处理时间也会大大加长。
发明内容
本发明提供一种边缘应用管理方法、装置、设备及可读存储介质,用以解决现有技术中维护成本高的缺陷,实现快速处理和获取边缘应用的异常状态。
本发明提供一种边缘应用管理方法,包括以下步骤:
部署边缘应用的运行环境;
在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用。
根据本发明提供的一种边缘应用管理方法,所述边缘应用通过以下步骤生成:
确定轮询管理的检查方式,并根据所述检查方式确定所述自治信息;其中,所述检查方式包括执行命令方式、检查统一资源定位系统方式和传输控制协议存活检查方式;
根据所述自治信息,生成所述边缘应用。
根据本发明提供的一种边缘应用管理方法,所述在所述运行环境中加载边缘应用步骤之后,该方法还包括以下步骤:
检测所述边缘应用是否满足应用要求;其中,所述应用要求包括安全性要求和完整性要求;
当所述边缘应用满足所述应用要求时,会被实例化,当所述边缘应用不满足所述应用要求时,重新生成所述边缘应用并加载至所述运行环境中。
根据本发明提供的一种边缘应用管理方法,所述部署边缘应用的运行环境,具体包括以下步骤:
在边缘节点部署所述边缘应用的部署环境;其中,所述部署环境用于获取实例化的所述边缘应用;
在中心云节点部署管理组件;其中,所述管理组件用于加载所述边缘应用,所述管理组件与边缘节点连接,用于将中心云节点已加载的边缘应用上传至边缘节点。
根据本发明提供的一种边缘应用管理方法,所述在边缘节点部署所述边缘应用的部署环境,具体包括以下步骤:
在边缘节点搭建至少两种部署环境;
将一种所述部署环境确定为待部署环境,并部署所述待部署环境,并在部署完毕的所述部署环境中加载依赖组件。
根据本发明提供的一种边缘应用管理方法,所述获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用,具体包括以下步骤:
获取所述自治信息,并注册至边缘节点的代理程序中;
根据所述依赖组件中存储的信息按序监测边缘节点部署的所述边缘应用,得到每个所述边缘应用对应的查询结果,直至按预设次数轮询监测该边缘节点所有的所述边缘应用。
根据本发明提供的一种边缘应用管理方法,该方法还包括以下步骤:
当所述边缘应用对应的查询结果为不正常时,生成携带异常信息的异常指令,并将所述异常指令发送至中心云节点;
中心云节点基于所述自治信息,判断根据所述异常指令能否被所述边缘应用处理;
若能被处理,根据所述自治信息修复查询结果为不正常的所述边缘应用;
若修复后的所述边缘应用按预设次数轮询监测后的查询结果依旧为不正常时,重启该所述边缘应用。
本发明还提供一种边缘应用管理装置,包括:
部署模块,用于部署边缘应用的运行环境;
加载模块,用于在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
实例化模块,用于实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
自我管理模块,用于获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述边缘应用管理方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述边缘应用管理方法的步骤。
本发明提供的边缘应用管理方法、装置、设备及可读存储介质,通过部署相应的运行环境,并通过加载并实例化携带有自治信息的边缘应用,实例化的边缘应用在已经启动的情况下,根据携带的自治信息可以进行自我管理,进行健康检查,并记录日志事件,监控并通知中心云节点。各个边缘节点通过预先设置在边缘应用的自治信息,定期轮询部署在边缘节点的边缘应用的健康状态,对所有的边缘应用进行健康检查。本发明的边缘应用管理方法是在边缘环境进行边缘应用自治的一种方法,可以减少人工参与边缘应用管理,减少的人力成本。并且可以减少维护边缘应用的系统建设。并且,由于可以大量的使用了开源软件,并没有增加使用者购买中间件的资金成本,使得原来边缘应用恢复正常的时间大大缩短,可以做到普通故障秒级恢复,重大问题也可以做到分钟级别的恢复。使用本发明的边缘应用管理方法不但可以降低运维的成本而且也降低了故障处理时间,也提升了系统的稳定性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的边缘应用管理方法的流程示意图之一;
图2是本发明提供的边缘应用管理方法的中心侧和边缘侧部署时的示意图;
图3是本发明提供的边缘应用管理方法中边缘应用生成时的流程示意图;
图4是本发明提供的边缘应用管理方法中边缘应用的序列图;
图5是本发明提供的边缘应用管理方法的流程示意图之二;
图6是本发明提供的边缘应用管理方法中步骤S100具体的流程示意图;
图7是本发明提供的边缘应用管理方法中步骤S110具体的流程示意图;
图8是本发明提供的边缘应用管理方法中步骤S600具体的流程示意图之一;
图9是本发明提供的边缘应用管理方法中步骤S600具体的流程示意图之二;
图10是本发明提供的边缘应用管理方法中步骤S600的逻辑示意图;
图11是本发明提供的边缘应用管理装置的结构示意图之一;
图12是本发明提供的边缘应用管理装置中边缘应用生成时的结构示意图;
图13是本发明提供的边缘应用管理装置的结构示意图之二;
图14是本发明提供的边缘应用管理装置中部署模块具体的结构示意图;
图15是本发明提供的边缘应用管理装置中第一部署单元具体的结构示意图;
图16是本发明提供的边缘应用管理装置中自我管理模块具体的结构示意图之一;
图17是本发明提供的边缘应用管理装置中自我管理模块具体的结构示意图之二;
图18是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1和图2描述本发明的边缘应用管理方法,该方法包括以下步骤:
S100、部署边缘应用的运行环境。
S200、在运行环境中加载边缘应用。其中,边缘应用中携带有自治信息。
下面结合图3描述本发明的边缘应用管理方法,在该方法中,边缘应用通过以下步骤生成:
A100、确定轮询管理的检查方式,并根据检查方式确定自治信息。其中,自治信息包括身份标识号(Identity document,ID)、命令、统一资源定位系统(Uniform ResourceLocator,URL)和检查方式等,检查方式包括执行命令方式、检查URL方式和传输控制协议(Transmission Control Protocol,TCP)存活检查方式等。
具体的,在执行命令方式下,需要编辑边缘应用在运行状态下可以执行的命令,还需要编辑间隔时间和超时时间,间隔时间代表边缘应用应用多长时间执行一次命令,超时时间则代表如果执行命令后没有在该时间返回结果则代表该边缘应用出现异常,应用会进入异常状态并启动自我修复;
在检查URL方式下,需要编辑在边缘应用在运行状态下可以执行的URL,该URL往往是边缘应用本身对外提供的检测接口,如/health等等,并同时要加入该URL的请求头中的key和value,如果该URL无法访问或是访问的返回结果不是期盼的结果,则该边缘应用进入自我修复,并也要加入间隔时间和超时时间;
在TCP存活检测方式只需提供边缘应用可以对外访问的端口号,通过端口的可访问行,如使用telnet指令来访问这个端口,就可以判断该边缘应用是否存活,如果无法访问通则会要求该边缘应用进入自我修复阶段。
A200、根据已确定的自治信息,生成边缘应用。
在该方法中,需要编写和生成需要用于进行自治的边缘应用,优选的,边缘应用为压缩格式文件,压缩包的内容请参阅表1。
表1边缘应用内容
其中,APPD.zip是边缘应用的核心内容,主要内容有:
APPD.zip边缘应用的安装脚本:install-script.yaml;
边缘应用的插件脚本:plugin.yaml;
边缘应用的描述文件:APPD.yaml。
边缘应用的描述文件记录了应用的描述文件,具体内容请参阅图4。不同的边缘应用可以编辑不同的自治信息,并写入yaml格式文件中。
当边缘应用部署在边缘节点(node)后,边缘节点进行自我管理时执行的命令或是方式,同时可以编辑该边缘应用在异常情况下可以执行的命令来进行边缘应用的恢复。
当边缘应用生成完毕后要上传到文件服务器中,或是minio(一种开源的分布式存储系统)中。保证边缘应用的存储服务器与边缘节点的网络是互通的即可。
边缘应用的上传和管理包含以下字段应用名称、边缘应用名称、应用版本、应用类型、可用状态、上传时间、操作,上传边缘应用时,需要把生成的边缘应用上传到文件服务器中,并填入以上信息。
在加载边缘应用的过程中,需要选择该边缘应用需要加载的边缘节点。边缘节点的数据已经预先存储到关系型数据库,并且要对已经加载过的边缘节点做去重处理。在此过程中,会读取上传过程中边缘应用保存的文件地址,把边缘应用从中心侧上传到边缘侧。调用运行环境(具体的,是调用中心侧的管理组件,例如Cloudify组件的“/api/version/blueprints”接口),加载的返回结果中包含成功或是失败标识,如果成功则在关系型数据库中增加该边缘应用的状态,如果失败则进行提示失败信息。在把边缘应用加载到中心侧的管理组件的过程中,同时要解析边缘应用中的“SwImageDesc.json”文件,例如:
[{"name":"centos1804_nginx",
"version":"7.4",
"containerFormat":"bare",
"diskFormat":"qcow2",
"minDisk":10,
"size":2048,
"swImage":"http://ip:port/OS-IMG/centos1804_nginx.raw"
}]
“SwImageDesc.json”文件中记录了边缘应用中的镜像信息,比如镜像的名称,版本,格式,存储信息,镜像地址等,由于镜像占用空间比较大,不会把镜像直接放到边缘应用中,而是需要把以上文件进行解析,直接上传到边缘节点上的部署环境(例如后述的openstatck或是kubernetes)中。根据上传的镜像的大小,占用的时间有所不同,边缘应用有可能是达到GB级别,上传的时间会比较长,所以这个过程一般采用异步的方式。在把边缘应用上传到中心侧的管理组件同时保证镜像也上传到了边缘侧的部署环境(例如后述的openstatck或是kubernetes)中,这样边缘应用的状态会变成加载完成状态。
S500、实例化边缘应用至运行环境,在边缘节点上部署边缘应用。
S600、获取实例化的边缘应用的自治信息,边缘节点基于自治信息,轮询管理部署在该边缘节点的边缘应用。
本发明的边缘应用管理方法,通过步骤S100部署相应的运行环境,并通过步骤S200和步骤S500加载并实例化携带有自治信息的边缘应用,再通过步骤S600,实例化的边缘应用在已经启动的情况下,根据携带的自治信息可以进行自我管理,进行健康检查,并记录日志事件,监控并通知中心云节点。各个边缘节点通过预先设置在边缘应用的自治信息,定期轮询部署在边缘节点的边缘应用的健康状态,对所有的边缘应用进行健康检查。本发明的边缘应用管理方法是在边缘环境进行边缘应用自治的一种方法,可以减少人工参与边缘应用管理,减少的人力成本。并且可以减少维护边缘应用的系统建设。并且,由于可以大量的使用了开源软件,并没有增加使用者购买中间件的资金成本,使得原来边缘应用恢复正常的时间大大缩短,可以做到普通故障秒级恢复,重大问题也可以做到分钟级别的恢复。使用本发明的边缘应用管理方法不但可以降低运维的成本而且也降低了故障处理时间,也提升了系统的稳定性。
下面结合图5描述本发明的边缘应用管理方法,在步骤S200之后,该方法还包括以下步骤:
S300、检测边缘应用是否满足应用要求。其中,应用要求包括安全性要求和完整性要求。
S400、当边缘应用满足应用要求时,会被实例化,当边缘应用不满足应用要求时,重新生成边缘应用并加载至运行环境中。之后按顺序执行步骤S300及之后的步骤。
在步骤S200加载完边缘应用后,需要对边缘应用进行完整性和安全性的检测,步骤S300的目的是保证上传的边缘应用符合标准。
完整性检测主要是检测边缘应用内是否所有的文件已经存在,首先会加载边缘应用的说明文件,说明文件中记录了边缘应用内所有文件的位置和文件名以及其他信息。
说明文件中的Source记录了边缘应用所有文件的存储位置和文件名,然后通过Source的数据来检测这个文件是否真实存在,如果所有的Source路径下的文件真实存在,则通过了完整性检测。
安全性检测主要是检测边缘应用是否被非法修改,主要检查方式也是通过说明文件中Algorithm和Hash值,读取Souce目录下的文件并使用Algorithm这个标识的算法,来计算说明文件的Hash值,如果和描述文件一致,则代表说明文件没有被非法篡改,之后对描述文件中所有的source进行迭代处理,保证每个文件都得到计算和验证。
下面结合图6描述本发明的边缘应用管理方法,步骤S100具体包括以下步骤:
S110、在边缘节点部署边缘应用的部署环境。其中,部署环境用于获取实例化的边缘应用。
S120、在中心云节点部署管理组件。其中,管理组件用于加载边缘应用,管理组件与边缘节点连接,用于将中心云节点已加载的边缘应用上传至边缘节点。
在步骤S120中,在本实施例中,管理组件采用Cloudify组件,在中心侧即中心云节点安装Cloudify社区版本,Cloudify组件是一个开源的云编排框架。Cloudify组件使能够为应用程序和服务建模并自动化其整个生命周期,包括在任何云或数据中心环境中部署,监控已部署应用程序的所有方面,检测问题和故障,手动或自动修复此类问题以及执行持续维护任务。
因此,在步骤S500中,实例化边缘应用是经过步骤S200至步骤S400的已经加载到中心侧的Cloudify组件的边缘应用,并且这些边缘应用已经完成了安全性和完整性检测,在步骤S500即是把这些边缘应用实例化到边缘侧的openstack或是kubernetes部署环境的过程。是这些边缘应用最终是否启动并且进入自治状态(自我管理)的关键。
实例化时,除了使用边缘应用中的描述信息,还可以支持手动输入。动态修改应用包中的信息,并增加一些应用包中没有保存的信息。如:可以添加改应用的域名系统(Domain Name System,DNS)规则、traffic规则、计算资源、网络端口、镜像和环境变量等,以及openstack的鉴权URL、管理用户名、租户用户名、管理密码、项目ID等。保证启动边缘应用是可以通过外部控制和其灵活性,实例化应用是调用Cloudify组件的“api/version/deployments/”接口进行部署。
实例化结束后会进入边缘应用自治过程,此时会获取各个边缘应用的自治信息,包括边缘应用的健康检查方式、命令、URL、端口等注册到边缘节点即边缘侧的agent代理中,也就是代理程序中。agent代理专门负责注册和监控部署在边缘节点附近的边缘应用。所有的自治信息都是通过agent代理存储到部署在边缘侧的etcd数据库中,每个etcd数据库服务于一个agent代理。在agent代理中会暴露出注册和取消注册的接口,提供给边缘应用使用。当边缘应用实例化时,会调用agent代理中的注册接口,然后agent代理会把这个边缘应用的自治信息保存到部署在边缘侧的etcd数据库中,主要保存的信息是边缘应用的实例ID和相关自治信息,并且,当该边缘应用下线的时候,需要调用agent代理的取消注册接口,会把这个边缘应用所有的信息从边缘节点中,也就是从etcd数据库中删除,然后通过Cloudify组件的接口删除掉部署在边缘节点的该边缘应用。
下面结合图7描述本发明的边缘应用管理方法,步骤S110具体包括以下步骤:
S111、在边缘节点搭建至少两种边缘应用的部署环境。
S112、将一种部署环境确定为待部署环境,并部署待部署环境,并在部署完毕的部署环境中加载依赖组件。
边缘应用的管理依赖于边缘应用的部署环境,在本实施例中,部署环境采用Openstatck或是Kubernetes部署环境。因此,在步骤S111中首先在边缘节点上搭建以上两种部署环境,并根据环境要求,在步骤S112只需部署其中一种就可以,Openstatck或是Kubernetes这两种软件都属于开源软件。
在步骤S112中,同时会在部署环境即Openstack或是Kubernetes中安装依赖组件,在本实施例中,依赖组件包括开源组件etcd数据库。etcd数据库是一种开源数据库软件,etcd数据库的目标是构建一个高可用的分布式键值(key-value)数据库,etcd数据库内部采用raft协议作为一致性算法,且etcd数据库基于Go语言实现。
下面结合图8描述本发明的边缘应用管理方法,步骤S600具体包括以下步骤:
S610、获取自治信息,并注册至边缘节点的代理程序(agent代理)中。
S620、根据依赖组件中存储的信息按序监测边缘节点部署的边缘应用,得到每个边缘应用对应的查询结果,直至按预设次数轮询监测该边缘节点所有的边缘应用。
在步骤S610中,agent代理除了负责注册和取消注册应用自治信息,同时还需要监控和控制一个边缘节点上部署的所有边缘应用。在步骤S620中,agent代理会定时轮询这些边缘应用,查询etcd数据库,找出所有边缘应用存储的自治信息,包括ID、命令、URL、检查方式等,并根据不同的检查方式,agent代理会使用不同的逻辑进行处理。如果检查通过即查询结果为正常,则继续轮询下一个边缘应用,如果检查没有通过则进入异常处理流程。
下面结合图9和图10描述本发明的边缘应用管理方法,该方法还包括以下步骤:
S630、当边缘应用对应的查询结果为不正常时,生成携带异常信息的异常指令,并将异常指令发送至中心云节点。
S640、中心云节点基于自治信息,判断根据异常指令能否被边缘应用处理。
S650、若能被处理,根据自治信息修复查询结果为不正常的边缘应用。
S660、若修复后的边缘应用按预设次数轮询监测后的查询结果依旧为不正常时,重启该边缘应用。
步骤S630至步骤S660即为上述的异常处理流程。
在步骤S630中如果发现边缘应用出现异常,则首先需要进行记录异常信息,agent代理会把异常信息通过异常指令的形式把异常信息返回给中心云节点进行记录,在步骤S640中同时判断该异常信息是否可以通过自治信息中录入的命令进行处理,这个命令是在编辑边缘应用的时候已经实现录入的,之后在步骤S650中进行边缘应用的修复。在执行完步骤S650的修复后则把相关的处理信息记录到日志中,并返回给中心云节点进行记录。这时agent代理会继续轮询所有的边缘应用,如果轮询预设次数(例如3次)以后发现边缘应用还是处在异常状态,则说明边缘应用自恢复无效,则边缘应用进入重启状态,边缘应用进入重启状态前也要进行日志的发送和记录。
重启时,要判断边缘环境是否正常,也就是openstack或是kubernetes是否已近进入启动状态,如果是启动状态,则对应用进行重启。会调用Coudify组件中的“/api/version/excutions”接口,重启成功或是失败都会记录相关的日志信息。
下面对本发明提供的边缘应用管理装置进行描述,下文描述的边缘应用管理装置与上文描述的边缘应用管理方法可相互对应参照。
下面结合图11描述本发明的边缘应用管理装置,该装置包括:
部署模块100,用于部署边缘应用的运行环境。
加载模块200,用于在运行环境中加载边缘应用。其中,边缘应用中携带有自治信息。
下面结合图12描述本发明的边缘应用管理方法,在该装置中,边缘应用通过以下模块生成:
信息确定模块A100,用于确定轮询管理的检查方式,并根据检查方式确定自治信息。其中,自治信息包括ID、命令、URL和检查方式等,检查方式包括执行命令方式、检查URL方式和传输控制协议TCP存活检查方式等。
具体的,在执行命令方式下,需要编辑边缘应用在运行状态下可以执行的命令,还需要编辑间隔时间和超时时间,间隔时间代表边缘应用应用多长时间执行一次命令,超时时间则代表如果执行命令后没有在该时间返回结果则代表该边缘应用出现异常,应用会进入异常状态并启动自我修复;
在检查URL方式下,需要编辑在边缘应用在运行状态下可以执行的URL,该URL往往是边缘应用本身对外提供的检测接口,如/health等等,并同时要加入该URL的请求头中的key和value,如果该URL无法访问或是访问的返回结果不是期盼的结果,则该边缘应用进入自我修复,并也要加入间隔时间和超时时间;
在TCP存活检测方式只需提供边缘应用可以对外访问的端口号,通过端口的可访问行,如使用telnet指令来访问这个端口,就可以判断该边缘应用是否存活,如果无法访问通则会要求该边缘应用进入自我修复阶段。
应用生成模块A200,用于根据已确定的自治信息,生成边缘应用。
实例化模块500,用于实例化边缘应用至运行环境,在边缘节点上部署边缘应用。
自我管理模块600,用于获取实例化的边缘应用的自治信息,边缘节点基于自治信息,轮询管理部署在该边缘节点的边缘应用。
本发明的边缘应用管理装置,通过部署模块100部署相应的运行环境,并通过加载模块200和实例化模块500加载并实例化携带有自治信息的边缘应用,再通过自我管理模块600,实例化的边缘应用在已经启动的情况下,根据携带的自治信息可以进行自我管理,进行健康检查,并记录日志事件,监控并通知中心云节点。各个边缘节点通过预先设置在边缘应用的自治信息,定期轮询部署在边缘节点的边缘应用的健康状态,对所有的边缘应用进行健康检查。本发明的边缘应用管理装置是在边缘环境进行边缘应用自治的一种装置,可以减少人工参与边缘应用管理,减少的人力成本。并且可以减少维护边缘应用的系统建设。并且,由于可以大量的使用了开源软件,并没有增加使用者购买中间件的资金成本,使得原来边缘应用恢复正常的时间大大缩短,可以做到普通故障秒级恢复,重大问题也可以做到分钟级别的恢复。使用本发明的边缘应用管理装置不但可以降低运维的成本而且也降低了故障处理时间,也提升了系统的稳定性。
下面结合图13描述本发明的边缘应用管理装置,该装置还包括:
第一检测模块300,用于检测边缘应用是否满足应用要求。其中,应用要求包括安全性要求和完整性要求。
第二检测模块400,用于当边缘应用满足应用要求时,会被实例化,当边缘应用不满足应用要求时,重新生成边缘应用并加载至运行环境中。之后按顺序执行第一检测模块300及之后的模块。
在加载模块200加载完边缘应用后,需要对边缘应用进行完整性和安全性的检测,第一检测模块300的目的是保证上传的边缘应用符合标准。
完整性检测主要是检测边缘应用内是否所有的文件已经存在,首先会加载边缘应用的说明文件,说明文件中记录了边缘应用内所有文件的位置和文件名以及其他信息。
下面结合图14描述本发明的边缘应用管理装置,部署模块100具体包括:
第一部署单元110,用于在边缘节点部署边缘应用的部署环境。其中,部署环境用于获取实例化的边缘应用。
第二部署单元120,用于在中心云节点部署管理组件。其中,管理组件用于加载边缘应用,管理组件与边缘节点连接,用于将中心云节点已加载的边缘应用上传至边缘节点。
在第二部署单元120中,在本实施例中,管理组件采用Cloudify组件,在中心侧即中心云节点安装Cloudify社区版本,Cloudify组件是一个开源的云编排框架。Cloudify组件使能够为应用程序和服务建模并自动化其整个生命周期,包括在任何云或数据中心环境中部署,监控已部署应用程序的所有方面,检测问题和故障,手动或自动修复此类问题以及执行持续维护任务。
下面结合图15描述本发明的边缘应用管理装置,第一部署单元110具体包括:
搭建单元111,用于在边缘节点搭建至少两种边缘应用的部署环境。
部署确定单元112,用于将一种部署环境确定为待部署环境,并部署待部署环境,并在部署完毕的部署环境中加载依赖组件。
下面结合图16描述本发明的边缘应用管理方法,自我管理模块600具体包括:
注册单元610,用于获取自治信息,并注册至边缘节点的代理程序(agent代理)中。
查询单元620,用于根据依赖组件中存储的信息按序监测边缘节点部署的边缘应用,得到每个边缘应用对应的查询结果,直至按预设次数轮询监测该边缘节点所有的边缘应用。
在注册单元610中,agent代理除了负责注册和取消注册应用自治信息,同时还需要监控和控制一个边缘节点上部署的所有边缘应用。在查询单元620中,agent代理会定时轮询这些边缘应用,查询etcd数据库,找出所有边缘应用存储的自治信息,包括ID、命令、URL、检查方式等,并根据不同的检查方式,agent代理会使用不同的逻辑进行处理。如果检查通过即查询结果为正常,则继续轮询下一个边缘应用,如果检查没有通过则进入异常处理流程。
下面结合图17描述本发明的边缘应用管理方法,自我管理模块600具体包括还包括:
第一处理单元630,用于当边缘应用对应的查询结果为不正常时,生成携带异常信息的异常指令,并将异常指令发送至中心云节点。
判断单元640,用于中心云节点基于自治信息,判断根据异常指令能否被边缘应用处理。
第二处理单元650,用于若能被处理,根据自治信息修复查询结果为不正常的边缘应用。
第三处理单元660,用于若修复后的边缘应用按预设次数轮询监测后的查询结果依旧为不正常时,重启该边缘应用。
第一处理单元630至第三处理单元660即为上述的异常处理流程。
在第一处理单元630中如果发现边缘应用出现异常,则首先需要进行记录异常信息,agent代理会把异常信息通过异常指令的形式把异常信息返回给中心云节点进行记录,在判断单元640中同时判断该异常信息是否可以通过自治信息中录入的命令进行处理,这个命令是在编辑边缘应用的时候已经实现录入的,之后在第二处理单元650中进行边缘应用的修复。在执行完第二处理单元650的修复后则把相关的处理信息记录到日志中,并返回给中心云节点进行记录。这时agent代理会继续轮询所有的边缘应用,如果轮询预设次数(例如3次)以后发现边缘应用还是处在异常状态,则说明边缘应用自恢复无效,则边缘应用进入重启状态,边缘应用进入重启状态前也要进行日志的发送和记录。
重启时,要判断边缘环境是否正常,也就是openstack或是kubernetes是否已近进入启动状态,如果是启动状态,则对应用进行重启。会调用Coudify组件中的“/api/version/excutions”接口,重启成功或是失败都会记录相关的日志信息。
图18示例了一种电子设备的实体结构示意图,如图18所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行边缘应用管理方法,该方法包括以下步骤:
S100、部署边缘应用的运行环境;
S200、在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
S500、实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
S600、获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用。
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的边缘应用管理方法,该方法包括以下步骤:
S100、部署边缘应用的运行环境;
S200、在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
S500、实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
S600、获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的边缘应用管理方法,该方法包括以下步骤:
S100、部署边缘应用的运行环境;
S200、在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
S500、实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
S600、获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种边缘应用管理方法,其特征在于,包括以下步骤:
部署边缘应用的运行环境;
在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用;
所述边缘应用通过以下步骤生成:
确定轮询管理的检查方式,并根据所述检查方式确定所述自治信息;其中,所述检查方式包括执行命令方式、检查统一资源定位系统方式和传输控制协议存活检查方式;
根据所述自治信息,生成所述边缘应用。
2.根据权利要求1所述的边缘应用管理方法,其特征在于,所述在所述运行环境中加载边缘应用步骤之后,该方法还包括以下步骤:
检测所述边缘应用是否满足应用要求;其中,所述应用要求包括安全性要求和完整性要求;
当所述边缘应用满足所述应用要求时,会被实例化,当所述边缘应用不满足所述应用要求时,重新生成所述边缘应用并加载至所述运行环境中。
3.根据权利要求1所述的边缘应用管理方法,其特征在于,所述部署边缘应用的运行环境,具体包括以下步骤:
在边缘节点部署所述边缘应用的部署环境;其中,所述部署环境用于获取实例化的所述边缘应用;
在中心云节点部署管理组件;其中,所述管理组件用于加载所述边缘应用,所述管理组件与边缘节点连接,用于将中心云节点已加载的边缘应用上传至边缘节点。
4.根据权利要求3所述的边缘应用管理方法,其特征在于,所述在边缘节点部署所述边缘应用的部署环境,具体包括以下步骤:
在边缘节点搭建至少两种部署环境;
将一种所述部署环境确定为待部署环境,并部署所述待部署环境,并在部署完毕的所述部署环境中加载依赖组件。
5.根据权利要求4所述的边缘应用管理方法,其特征在于,所述获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用,具体包括以下步骤:
获取所述自治信息,并注册至边缘节点的代理程序中;
根据所述依赖组件中存储的信息按序监测边缘节点部署的所述边缘应用,得到每个所述边缘应用对应的查询结果,直至按预设次数轮询监测该边缘节点所有的所述边缘应用。
6.根据权利要求5所述的边缘应用管理方法,其特征在于,该方法还包括以下步骤:
当所述边缘应用对应的查询结果为不正常时,生成携带异常信息的异常指令,并将所述异常指令发送至中心云节点;
中心云节点基于所述自治信息,判断根据所述异常指令能否被所述边缘应用处理;
若能被处理,根据所述自治信息修复查询结果为不正常的所述边缘应用;
若修复后的所述边缘应用按预设次数轮询监测后的查询结果依旧为不正常时,重启该所述边缘应用。
7.一种边缘应用管理装置,其特征在于,包括:
部署模块(100),用于部署边缘应用的运行环境;
加载模块(200),用于在所述运行环境中加载所述边缘应用;其中,所述边缘应用中携带有自治信息,所述自治信息包括身份标识号、命令、统一资源定位系统和检查方式;
实例化模块(500),用于实例化所述边缘应用至所述运行环境,在边缘节点上部署所述边缘应用;
自我管理模块(600),用于获取实例化的所述边缘应用的自治信息,边缘节点基于所述自治信息,轮询管理部署在该边缘节点的所述边缘应用;
边缘应用生成模块,用于确定轮询管理的检查方式,并根据所述检查方式确定所述自治信息;其中,所述检查方式包括执行命令方式、检查统一资源定位系统方式和传输控制协议存活检查方式;根据所述自治信息,生成所述边缘应用。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述边缘应用管理方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述边缘应用管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866747.5A CN113849364B (zh) | 2021-07-29 | 2021-07-29 | 一种边缘应用管理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866747.5A CN113849364B (zh) | 2021-07-29 | 2021-07-29 | 一种边缘应用管理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849364A CN113849364A (zh) | 2021-12-28 |
CN113849364B true CN113849364B (zh) | 2023-12-26 |
Family
ID=78975263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866747.5A Active CN113849364B (zh) | 2021-07-29 | 2021-07-29 | 一种边缘应用管理方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849364B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737442A (zh) * | 2019-09-24 | 2020-01-31 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
CN111416731A (zh) * | 2020-02-12 | 2020-07-14 | 杭州电子科技大学 | 一种基于云端协同边缘节点自适应配置部署的报警系统及方法 |
WO2020185132A1 (en) * | 2019-03-12 | 2020-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and current edge cloud manager for controlling resources |
CN112003924A (zh) * | 2020-08-20 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种面向工业互联网的边缘云平台搭建方法及系统 |
CN112346750A (zh) * | 2020-11-16 | 2021-02-09 | 珠海格力电器股份有限公司 | 组态软件控制方法、系统和存储介质 |
CN112817818A (zh) * | 2021-01-26 | 2021-05-18 | 北京交通大学 | 边缘安全节点对云上部署运行程序进行时间监视的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11228497B2 (en) * | 2014-09-30 | 2022-01-18 | Micro Focus Llc | Topology based management with stage and version policies |
-
2021
- 2021-07-29 CN CN202110866747.5A patent/CN113849364B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020185132A1 (en) * | 2019-03-12 | 2020-09-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and current edge cloud manager for controlling resources |
CN110737442A (zh) * | 2019-09-24 | 2020-01-31 | 厦门网宿有限公司 | 一种边缘应用管理方法及系统 |
CN111416731A (zh) * | 2020-02-12 | 2020-07-14 | 杭州电子科技大学 | 一种基于云端协同边缘节点自适应配置部署的报警系统及方法 |
CN112003924A (zh) * | 2020-08-20 | 2020-11-27 | 浪潮云信息技术股份公司 | 一种面向工业互联网的边缘云平台搭建方法及系统 |
CN112346750A (zh) * | 2020-11-16 | 2021-02-09 | 珠海格力电器股份有限公司 | 组态软件控制方法、系统和存储介质 |
CN112817818A (zh) * | 2021-01-26 | 2021-05-18 | 北京交通大学 | 边缘安全节点对云上部署运行程序进行时间监视的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113849364A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269718B1 (en) | Root cause detection and corrective action diagnosis system | |
CN107026760B (zh) | 一种故障修复方法及监控节点 | |
US10474521B2 (en) | Service directory and fault injection management systems and methods | |
US20140130036A1 (en) | Methods and Systems for Automated Deployment of Software Applications on Heterogeneous Cloud Environments | |
US8225142B2 (en) | Method and system for tracepoint-based fault diagnosis and recovery | |
CN107800783B (zh) | 远程监控服务器的方法及装置 | |
CN110088744A (zh) | 一种数据库维护方法及其系统 | |
CN112506702A (zh) | 数据中心容灾方法、装置、设备及存储介质 | |
CN111813495A (zh) | 节点测试方法和装置、存储介质和电子装置 | |
CN111897697A (zh) | 服务器硬件故障修复方法和装置 | |
CN112363907A (zh) | Dubbo接口的测试方法、装置、电子装置和存储介质 | |
CN110275793B (zh) | 一种用于MongoDB数据分片集群的检测方法及设备 | |
CN110198222B (zh) | 一种配电自动化终端即插即用测试方法及测试主站 | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN113849364B (zh) | 一种边缘应用管理方法、装置、设备及可读存储介质 | |
CN112068935A (zh) | kubernetes程序部署监控方法、装置以及设备 | |
CN115168236A (zh) | 自动化测试方法及电子设备、存储介质 | |
JP2010009127A (ja) | 管理プログラムおよび管理装置 | |
CN114650211A (zh) | 故障修复方法、装置、电子设备和计算机可读存储介质 | |
CN113608932A (zh) | 数据库演练方法、装置、设备及存储介质 | |
CN109039770B (zh) | 一种服务器cmc的刷新方法、装置及相关设备 | |
CN114785673B (zh) | 主备倒换时获取异常信息的方法和装置 | |
CN115994098B (zh) | 一种基于人工智能的软件运行异常的分析方法和系统 | |
CN117931247B (zh) | 基于泛终端os的智能家电交互方法 | |
CN115473793B (zh) | 一种集群ei主机环境自动恢复方法、装置、终端及介质 |
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 |