一种针对边缘端资源评估的方法、装置及计算机可读介质
文献发布时间:2023-06-19 10:38:35
技术领域
本发明涉及物联网技术领域,尤其涉及一种针对边缘端资源评估的方法、装置及计算机可读介质。
背景技术
物联网的边缘端能够对采集的数据进行实时运算。然而边缘端在运算过程中必然会占用硬件资源。通过评估边缘端在运算过程中对硬件资源的耗费能够有效选择合适的算法,从而对边缘端的执行操作实现有效控制。
在实际应用场景中,边缘端计算逻辑的开发与调试均是在上位机完成,而执行需要分发到属于硬件的边缘端,由此存在两个技术问题:第一个技术问题是由于开发与执行环境的分离导致边缘端在运算过程中硬件资源的耗费难以评估;第二个技术问题是当多个边缘端需要升级时,情况就比较复杂,需要做大量的调试工作。针对上述技术问题,现有的解决方案是对边缘端资源使用情况进行定性评估或者利用仿真环境进行评估。定性评估主要是根据上位机资源使用情况同比例推广到边缘端,确定边缘端资源的使用情况,然而该方法只能给出一个近似的评估结果,无法进行准确评估。利用仿真环境进行评估主要是在上位机中虚拟化一个与边缘端类似的运行环境,根据运行环境的资源占用估算边缘端的资源占用;然而构建虚拟运行环境受限于主机,因此导致边缘端资源评估结果不稳定,其次,因为边缘端环境复杂,构建过程繁琐,当边缘端环境变更,还需要重新构造边缘端仿真环境进行评估。
发明内容
为了解决上述现有技术存在的问题,本发明实施例提供一种针对边缘端资源评估的方法、装置及计算机可读介质,能够对边缘端的计算性能进行定量评估。
为实现上述目的,根据本发明实施例第一方面,提供一种针对边缘端资源评估的方法,所述方法包括:边缘端和容器,所述边缘端和所述容器建立通信连接;所述容器获取所述边缘端的目标线程的运行请求;所述容器响应于所述运行请求,对所述目标线程执行运行操作,并对运行的目标线程监控;所述容器根据监控结果确定所述边缘端的目标线程的资源消耗。
可选的,对所述目标线程执行运行操作,包括:所述容器响应于所述运行请求,对所述边缘端的目标线程执行绑定操作;所述容器利用程序对绑定的所述目标线程执行运行操作。
可选的,所述对所述边缘端的目标线程执行绑定操作,包括:所述容器创建新线程;所述容器将创建的新线程与所述边缘端的目标线程建立映射关系,以实现所述对所述边缘端的目标线程执行绑定操作。
可选的,所述容器利用程序对绑定的所述目标线程执行运行操作,包括:所述容器获取绑定的所述目标线程的目标数据;所述容器利用程序对所述目标数据执行运行操作。
可选的,所述容器根据监控结果确定所述边缘端的目标线程的资源消耗,包括:所述容器获取所述目标线程运行操作的完成请求;响应于所述完成请求,所述容器对所述目标线程停止监控操作;所述容器获取监控结果,并根据所述监控结果统计所述边缘端的目标线程的资源消耗。
可选的,所述容器获取所述目标线程运行操作的完成请求之前,还包括:所述容器对所述目标线程的运行变量进行检测;若检测结果表征所述运行变量满足预设阈值,则所述容器获取所述目标线程运行操作的完成请求。
可选的,所述根据所述监控结果统计所述边缘端的目标线程的资源消耗,包括:所述容器根据所述监控结果统计所述目标线程在运行过程中的资源消耗;将所统计的资源消耗确定为所述目标线程在边缘端运行的资源消耗。
为实现上述目的,根据本发明实施例第二方面,还提供一种针对边缘端资源评估的装置,所述装置包括:边缘端和容器,所述边缘端和所述容器建立通信连接;获取模块,用于所述容器获取所述边缘端的目标线程的运行请求;监控模块,用于所述容器响应于所述运行请求,对所述目标线程执行运行操作,并对运行的目标线程监控;统计模块,用于所述容器根据监控结果统计所述边缘端的目标线程的资源消耗。
可选的,所述监控模块包括:绑定单元,用于所述容器响应于所述运行请求,对所述边缘端的目标线程执行绑定操作;执行单元,用于所述容器利用程序对绑定的所述目标线程执行运行操作。
可选的,绑定单元包括:创建子单元,用于所述容器创建新线程;映射子单元,用于所述容器将创建的新线程与所述边缘端的目标线程建立映射关系,以实现所述对所述边缘端的目标线程执行绑定操作。
可选的,执行单元包括:获取子单元,用于所述容器获取绑定的所述目标线程的目标数据;执行子单元,用于所述容器利用程序对所述目标数据执行运行操作。
可选的,统计模块包括:获取单元,用于所述容器获取所述目标线程运行操作的完成请求;执行单元,用于响应于所述完成请求,所述容器对所述目标线程停止监控操作;统计单元,用于所述容器获取监控结果,并根据所述监控结果统计所述边缘端的目标线程的资源消耗。
可选的,统计模块还包括:检测单元,用于所述容器对所述目标线程的运行变量进行检测;获取单元,还用于若检测结果表征所述运行变量满足预设阈值,则所述容器获取所述目标线程运行操作的完成请求。
可选的,统计单元包括:统计子单元,用于所述容器根据所述监控结果统计所述目标线程在运行过程中的资源消耗;确定子单元,用于将所统计的资源消耗确定为所述目标线程在边缘端运行的资源消耗;发送子单元,用于所述容器向所述边缘端发送所述资源消耗。
为实现上述目的,根据本发明实施例第三方面,还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的针对边缘端资源评估的方法。
与现有技术相比,本发明实施例提供的一种针对边缘端资源评估的方法、装置及计算机可读介质,容器获取边缘端的目标线程的运行请求,并响应于运行请求,对目标线程执行运行操作;在运行过程中容器对运行的目标线程监控;之后根据监控结果确定边缘端目标线程的资源消耗。由此,通过容器对边缘端执行运行操作,并对运行过程进行监控,而后基于监控结果统计边缘端目标线程的资源消耗,从而对边缘的计算性能进行定量评估,进而能够对边缘端选取合适且有效的算法,保证边缘端运行是可控的。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明一实施例针对边缘端资源评估的方法的示意性流程图;
图2为本发明另一实施针对边缘端资源评估的方法的示意性流程图;
图3为本发明又一实施针对边缘端资源评估的方法的示意性流程图;
图4为本发明再一实施例针对边缘端资源评估的方法的示意性流程图;
图5为本发明一实施例针对边缘端资源评估的装置示意性框图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明一实施例针对边缘端资源评估的方法的示意性流程图。一种针对边缘端资源评估的方法,包括:边缘端和容器,边缘端和容器建立通信连接;该方法至少包括如下操作流程:S101,容器获取边缘端的目标线程的运行请求;S102,容器响应于运行请求,对目标线程执行运行操作,并对运行的目标线程监控;S103,容器根据监控结果确定边缘端的目标线程的资源消耗。
在S101中,基于目标线程在边缘端执行的触发请求,容器获取边缘端的目标线程的运行请求。边缘端的线程可以有多个,针对每个边缘端线程,均有与其对应的容器用于对边缘端线程的计算性能进行定量评估。
在S102中,容器响应于运行请求,对边缘端的目标线程进行绑定,之后容器获取绑定目标线程的目标数据,即是容器从绑定目标线程中获取业务数据,容器利用程序对目标数据执行运行操作。由此,能够避免非业务数据在边缘端运行时对边缘端目标数据运行所产生的影响,提高了容器对边缘端目标线程计算性能评估的准确性。通过程序对边缘端的目标数据执行运行操作,能够实现利用容器对边缘端目标线程的计算性能进行准确评估,从而能够针对边缘端目标线程选取合适的程序,保证边缘端运行是可控的。
容器获取到程序对目标数据执行运行操作的触发请求,容器响应于触发请求,对程序运行目标数据的过程进行监控。程序对目标数据执行运行操作,生成运行变量,之后容器对运行变量进行监控。由于运行变量与程序对目标数据运行的长度呈线性关系,因此通过监控运行变量的变化能够实现对目标数据运行过程进行监控。采用该监控方法不仅能够实现有效监控,而且操作简单,从而能够提高监控结果统计的准确性。在这里,运行变量可以是CPU时间片与内存占用大小,也可以是其他能够反映目标数据运行过程中资源消耗的参数。
在S103中,容器获取监控结果,基于监控结果,利用算法对监控结果进行统计;根据统计结果确定容器中程序在对目标数据运行过程中所消耗的CPU时间片与内存占用大小。将容器消耗的CPU时间片与内存占用大小确定为目标线程在边缘端运行的资源消耗。
本发明实施例容器获取边缘端的目标线程的运行请求,且响应于运行请求,对目标线程执行绑定操作,并从绑定的目标线程中获取目标数据,之后利用程序对目标数据执行运行操作,并在运行操作的过程中对目标线程监控,最后基于监控结果确定边缘端的目标线程的资源消耗;由此通过利用程序对边缘端目标数据执行运行操作,从而能够实现利用容器对边缘端目标线程的计算性能进行定量评估,解决了现有技术中在对边缘端计算性能进行评估时由于需要构建边缘端虚拟环境所导致的评估结果不稳定的问题,提高了边缘端目标线程计算性能评估的准确性;进而能够针对边缘端目标线程选取合适的程序,保证边缘端运行是可控的。
需要说明的是,在本实施例中,容器对边缘端的目标线程进行绑定的方式有多种,这里不做限定,只要能够实现容器从目标线程中获取到目标数据即可。还需要说明的是,程序可以是容器从目标线程中获取的与业务数据对应的执行程序,也可以是容器中预设的执行程序。
如图2所示,本发明另一实施例针对边缘端资源评估的方法的示意性流程图。本实施例是在前述实施例的基础上进一步优化得到的。一种针对边缘端资源评估的方法,包括:边缘端和容器,边缘端和容器建立通信连接;该方法至少包括如下操作流程:S201,容器获取边缘端的目标线程的运行请求;S202,容器响应于运行请求,创建新线程;S203,容器将创建的新线程与边缘端的目标线程建立映射关系,以实现对边缘端的目标线程执行绑定操作;S204,容器利用程序对绑定的目标线程执行运行操作,并对运行的目标线程监控;S205,容器根据监控结果确定边缘端的目标线程的资源消耗。
其中,S201和S205的具体实现过程与图1所示实施例中S101以及S103的具体实现过程相类似,这里不再赘述。
在S202中,容器响应于运行请求,创建新线程;这里新线程是空的线程,既没有边缘端业务对应的目标数据,也没有用于对目标数据运行的程序。
在S203中,边缘端获取到容器创建新线程的触发操作;边缘端响应于触发操作,向容器发送目标线程的编号信息;容器基于目标线程的编号信息,将新线程与目标线程建立映射关系。容器将新线程与边缘端目标线程建立映射关系,即是将边缘端目标线程的运行环境映射到容器的新线程中,使得容器和边缘端具有相同的执行环境,从而将边缘端运行环境中其他因素对边缘端目标线程计算性能的影响纳入考虑范畴内,使得边缘端目标线程的执行情况能在容器中重现。之后容器获取绑定目标线程的目标数据,即是容器从绑定的执行环境中获取业务数据,容器利用程序在相同执行环境中对业务数据执行运行操作。通过对程序运行目标数据过程中所产生的运行变量进行监控;由此,对边缘端的目标线程实现了有效监控,从而能够对边缘目标线程的计算性能实现准确定量的评估。
本实施例容器获取边缘端目标线程的运行请求,基于运行请求创建新线程,并将创建的新线程与边缘端目标线程建立映射关系,由此能够通过容器对边缘端的目标线程进行绑定;之后从绑定的目标线程中获取目标数据,并利用已有的程序或者是从目标线程中获取的程序对目标数据执行运行操作;而且在运行过程进行监控,并基于监控结果确定程序对目标数据运行过程中的资源消耗,并将统计的资源消耗确定为边缘端目标线程在计算过程的资源消耗,由此能够利用容器对边缘端目标线程的计算能力进行定量评估,提高了边缘端目标线程计算性能评估的准确性;从而能够针对边缘端选取合适的程序,保证边缘端运行是可控的。
如图3所示,本发明又一实施例针对边缘端资源评估的方法的示意性流程图。本实施例是在前述实施例的基础上进一步优化得到的。一种针对边缘端资源评估的方法,包括:边缘端和容器,边缘端和容器建立通信连接;该方法至少包括如下操作流程:S301,容器获取边缘端的目标线程的运行请求;S302,容器响应于运行请求,创建新线程;S303,容器将创建的新线程与边缘端的目标线程建立映射关系,以实现对边缘端的目标线程执行绑定操作;S304,容器利用程序对绑定的目标线程执行运行操作,并对运行的目标线程监控;S305,容器获取目标线程运行操作的完成请求;S306,响应于完成请求,容器对目标线程停止监控操作;S307,容器获取监控结果,并根据监控结果统计边缘端的目标线程的资源消耗。
其中,S301、S302、S303、S304和S307的具体实现过程与S201、S202、S203、S204和S205的具体实现过程相类似,这里不再赘述。
在S305中,容器获取目标线程运行完成请求的实现方式有多种,例如,基于边缘端目标线程执行完成的触发指令,容器获取目标线程运行操作的完成请求。再例如,容器对目标线程的运行变量进行检测;根据检测结果判断运行变量是否满足预设阈值;若是,则容器获取目标线程运行操作的完成请求;若否,则容器对目标线程的运行变量继续进行监控。在这里,运行变量也可以理解成监控变量,即用于对目标线程的运行过程中所产生的主要变量进行监控,由此,能够对目标线程的运行情况实现有效监控。
在S306中,当完成请求是基于边缘端目标线程执行完成的触发指令而获取的,则容器响应于完成请求,停止对目标线程的运行操作和监控操作。当完成请求是基于边缘端目标线程的运行变量满足预设阈值而获得的,则容器响应于完成请求,停止对目标线程的监控,但是该过程不一定要停止对目标线程的运行;例如,在有些情况下,针对边缘端目标线程计算性能的评估主要是针对边缘端目标线程在特定时间段的运行而进行评估的。为此,容器可以通过创建跟踪器运行锁,用于在目标线程运行中侦听容器监控停止的控制信息,并停止对目标线程的监控。
本发明实施例容器在利用程序对目标数据开始执行运行操作的同时,也对该运行操作过程中的运行变量启动监控;并在监控过程中对运行变量进行实时检测,当检测结果表征运行变量满足预设阈值,则确定运行变量的监控结果,由此通过对容器中运行变量的检测,能够准确确定目标线程运行过程中的监控终点。从而能够对边缘端目标线程资源消耗实现有效监控,进而能够准确定量地评估边缘端目标线程的计算性能,并针对边缘端的目标线程选取合适的程序,保证边缘端运行是可控的。
如图4所示,本发明再一实施例针对边缘端资源评估的方法的示意性流程图。本实施例是在前述实施例的基础上进一步优化得到的。一种针对边缘端资源评估的方法,包括:边缘端和容器,容器包括第一容器和第二容器;第一容器、第二容器和边缘端之间均建立通信连接;该方法至少包括如下操作流程:S401,边缘端向第一容器发送边缘端目标线程开始执行的触发指令;S402,第一容器响应于触发指令,对目标线程执行运行操作,生成运行指令;S403,第一容器向第二容器发送生成的运行指令;S404,第二容器响应于运行指令,对运行的目标线程监控;S405,第二容器根据监控结果统计目标线程在运行过程中的资源消耗;S406,第二容器将统计的资源消耗发送至边缘端。
其中,S401、S402、S403、S404和S405的具体实现过程与图1所示实施例中S101、S102、S103的具体实现过程相类似,这里不再赘述。
需要说明的是,第一容器和第二容器可以是边缘端的两个执行模块,也可以是独立于边缘端的容器中的两个不同执行模块;第二容器还可以是独立于边缘端的第一容器的子容器。
应理解,在本发明的各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在的逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
下面结合应用场景对上述实施例进行详细说明。例如,通常在边缘端有多个运行设备;每一个运行设备对应一个线程;假设边缘端的目标线程为边缘端的图像采集设备。图像采集设备除了采集图像数据外,还要对采集的图像数据进行运算,本方案就是针对图像采集设备对图像数据运算时的计算性能进行评估。采集的图像数据可以理解成上述实施例提到的目标数据。首先第一容器获取图像采集设备对目标数据执行运算的操作指令,基于该操作指令,第一容器创建新线程,并将创建的新线程与图像采集设备中建立映射关系,该过程可以通过第一容器对创建的新线程进行初始化来实现。由此将图像采集设备的运行环境与第一容器的运行环境建立了映射关系,从而在图像采集设备对图像数据处理过程中,能够避免由于一些非处理过程对图像采集设备处理图像数据的计算性能的影响。第一容器获取图像采集设备采集的图像数据以及与图像数据对应的程序,并利用程序对图像数据执行运行操作,生成运行指令;将运行指令发送至第二容器;第二容器根据运行指令,针对第一容器运行过程中的资源消耗启动监控功能;并将启动监控的操作反馈至第一容器,第一容器对第一容器运行过程中所消耗的CPU时间片与内存占用大小进行检测;若检测结果表征第一容器所消耗的CPU时间片与内存占用大小均满足预设条件,则第一容器向第二容器发送结束监控的停止指令,基于停止指令,第二容器对第一容器的运行停止监控;并统计监控结果;第二容器将监控结果发送至图像采集设备。将第一容器在运行过程中的资源消耗确定为图像采集设备对目标数据进行计算时的资源消耗,由此能够利用第一容器和第二容器对边缘端图像采集设备的计算性能进行定量评估。
本发明实施例将容器作为载体,利用边缘端目标线程中运行的程序对目标线程中的目标数据进行计算,从而实现对边缘端目标线程运行的程序进行定量评估,进而能够针对边缘端目标线程选取合适的程序,保证边缘端运行是可控的。
如图5所示,为本发明一实施例针对边缘端资源评估的装置示意性框图。一种针对边缘端资源评估的装置,所述装置500包括:边缘端和容器,所述边缘端和所述容器建立通信连接;获取模块501,用于所述容器获取所述边缘端的目标线程的运行请求;监控模块502,用于所述容器响应于所述运行请求,对所述目标线程执行运行操作,并对运行的目标线程监控;统计模块503,用于所述容器根据监控结果统计所述边缘端的目标线程的资源消耗。
在可选的实施例中,所述监控模块502包括:绑定单元,用于所述容器响应于所述运行请求,对所述边缘端的目标线程执行绑定操作;执行单元,用于所述容器利用程序对绑定的所述目标线程执行运行操作。
在可选的实施例中,绑定单元包括:创建子单元,用于所述容器创建新线程;映射子单元,用于所述容器将创建的新线程与所述边缘端的目标线程建立映射关系,以实现所述对所述边缘端的目标线程执行绑定操作。
在可选的实施例中,执行单元包括:获取子单元,用于所述容器获取绑定的所述目标线程的目标数据;执行子单元,用于所述容器利用程序对所述目标数据执行运行操作。
在可选的实施例中,统计模块503包括:获取单元,用于所述容器获取所述目标线程运行操作的完成请求;执行单元,用于响应于所述完成请求,所述容器对所述目标线程停止监控操作;统计单元,用于所述容器获取监控结果,并根据所述监控结果统计所述边缘端的目标线程的资源消耗。
在可选的实施例中,统计模块503还包括:检测单元,用于所述容器对所述目标线程的运行变量进行检测;获取单元,还用于若检测结果表征所述运行变量满足预设阈值,则所述容器获取所述目标线程运行操作的完成请求。
在可选的实施例中,统计单元包括:统计子单元,用于所述容器根据所述监控结果统计所述目标线程在运行过程中的资源消耗;确定子单元,用于将所统计的资源消耗确定为所述目标线程在边缘端运行的资源消耗;发送子单元,用于所述容器向所述边缘端发送所述资源消耗。
上述装置可执行本发明一实施例所提供的针对边缘端资源评估的方法,具备执行针对边缘端资源评估的方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的针对边缘端资源评估的方法。
本发明实施例另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,使得所述处理器至少执行如下所述的操作步骤:S101,容器获取边缘端的目标线程的运行请求;S102,容器响应于运行请求,对目标线程执行运行操作,并对运行的目标线程监控;S103,容器根据监控结果确定边缘端的目标线程的资源消耗。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
- 一种针对边缘端资源评估的方法、装置及计算机可读介质
- 边缘计算控制方法、装置、边缘计算机和可读存储介质