掌桥专利:专业的专利平台
掌桥专利
首页

自动化任务排程方法、电子设备及存储介质

文献发布时间:2023-06-19 18:32:25


自动化任务排程方法、电子设备及存储介质

技术领域

本申请涉及数据分析领域,尤其涉及一种自动化任务排程方法、电子设备及存储介质。

背景技术

目前的边缘运算架构,多数依赖于云端进行无隐私的数据运算,边缘运算装置仅能进行数据收集或简单的数据前处理。对于有数据隐私考虑的企业或单位,数据云并不可行。此外,若自行搭建整套私有云,建构维护成本又太高。因此,产生了搭载图形处理器(Graphic Processing Unit,GPU)等具有较高运算资源的边缘计算装置,但是目前缺乏一个充分且能有效利用资源的架构。现有的平台需具备足够的数据科学领域知识的人员才能操作,因此局限了其他领域的人员对数据进行自动分析。

发明内容

鉴于以上内容,有必要提供一种自动化任务排程方法、电子设备及存储介质,能提高任务排程的效率。

本申请提供一种自动化任务排程方法,所述方法包括:获取数据处理任务及数据源;根据所述数据处理任务生成作业队列;从所述作业队列中依次提取作业任务;根据提取到的作业任务分配计算资源;基于所述数据源,通过预先训练完成的模型得到数据处理任务结果。

在一种可能的实现方式中,所述获取数据源包括以下一种或多种的组合:接收通过服务器接口发送的数据源;接收通过客户端接口发送的数据源;接收通过档案储存协议发送的数据源。

在一种可能的实现方式中,所述根据所述数据处理任务生成作业队列包括:拆分所述数据处理任务为所述作业任务;为所述作业任务建立逻辑依赖关系;设置每个所述作业任务的执行频率;根据所述作业任务、所述逻辑依赖关系和所述执行频率生成所述作业队列。

在一种可能的实现方式中,所述从所述作业队列中依次提取所述作业任务包括:根据所述逻辑依赖关系确定作业顺序;根据所述作业顺序从所述作业队列中依次提取所述作业任务。

在一种可能的实现方式中,所述根据提取到的作业任务分配计算资源包括:获取每个所述作业任务的资源用量;基于所述资源用量,获取资源许可时间点;在所述资源许可时间点将所述计算资源分配给所述提取到的作业任务。

在一种可能的实现方式中,所述在所述资源许可时间点将所述计算资源分配给所述提取到的作业任务包括:在所述资源许可时间点将静态资源分配给所述提取到的作业任务;或在所述资源许可时间点将动态资源分配给所述提取到的作业任务。

在一种可能的实现方式中,所述方法还包括:确定所述作业任务所需的模型;通过边缘端从云端的模型储存库获取最新的模型列表,并且下载每个所述作业任务所需的模型到边缘计算设备上。

在一种可能的实现方式中,所述基于所述数据源,通过预先训练完成的模型得到数据处理任务结果包括:基于提取到的第一个作业任务,将所述数据源输入至预先训练完成的第一模型,得到第一作业任务结果;基于提取到的第二个作业任务,将所述第一作业任务结果输入至预先训练完成的第二模型,得到第二作业任务结果;继续执行下一作业任务,将上一个作业任务结果输入至预先训练完成的下一作业任务对应的模型,得到所述下一个作业任务的作业任务结果,直至最后一个作业任务执行完毕;将所述最后一个作业任务的作业任务结果作为所述数据处理任务结果。

本申请还提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的自动化任务排程方法。

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的自动化任务排程方法。

本申请公开的自动化任务排程方法及相关设备,通过利用有限的计算资源进行任务排程提升了资源使用率,并结合自动化的数据收集,用户只需提供数据源,即可进行持续的数据分析。

附图说明

图1是本申请实施例提供的一种自动化任务排程方法的电子设备的结构示意图。

图2是本申请实施例提供的一种自动化任务排程方法的流程图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

请参阅图1,图1为本申请一实施例的电子设备的示意图。参阅图1所示,所述电子设备1包括,但不仅限于,存储器11和至少一个处理器12上述元件之间可以通过通讯总线13连接,也可以直接连接。

所述电子设备1可以是计算机、手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等安装有应用程序的设备。本领域技术人员可以理解,所述示意图1仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

如图2所示,是本申请自动化任务排程方法的较佳实施例的流程图。所述自动化任务排程方法应用在所述电子设备1中。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。在本实施方式中,所述自动化任务排程方法包括:

S21、获取数据处理任务及数据源。

一个具备任务排程及数据收集能力的自动化数据分析引擎架构,可自动安排任务进行以降低资源空闲时间,并针对数据进行自动化的收集,令用户透过熟悉的数据储存方式,即可进行数据分析。为了实现自动化任务排程,需要收集数据处理任务和数据源。

在本申请的一个实施例中,可以通过客户端收集用户发布的数据处理任务,也可以直接通过所述电子设备收集数据处理任务。并将收集到的数据处理任务存储在所述电子设备中。所述数据处理任务包括以下一种或多种的组合:与外界进行交互,读取各种文件(txt,csv,doc)和数据库中的数据准备;对数据进行加工处理,清洗、变形等以便以后进行数据分析转换;做一些数学和统计的计算,产生一个新的数据集;建模和计算,将数据应用到统计模型、机器学习或其他计算工具中展示;生成图表、图片、文字摘要等。例如,所述数据处理任务为检测目标图像中的人脸。

在本申请的一个实施例中,所述数据源为进行数据处理时需要用到的基础数据。例如,当所述数据处理任务为检测目标图像中的人脸时,所述数据源为所述目标图像。

在本申请的一个实施例中,所述获取数据源包括以下一种或多种的组合:接收用户通过服务器接口发送的数据源;接收用户通过客户端接口发送的数据源;接收用户通过档案储存协议发送的数据源。

S22、根据所述数据处理任务生成作业队列。

为了高效有序的对数据源执行数据处理任务,需要将所述数据处理任务拆分成多个作业任务,再根据所述作业任务生成所述作业队列。

在本申请的一个实施例中,所述根据所述数据处理任务生成作业队列包括:

(1)拆分所述数据处理任务为所述作业任务。具体实施时,按照所述数据处理任务的执行步骤将所述数据处理任务拆分为多个作业任务。例如,当所述数据处理任务为检测目标图像中的人脸时,将所述数据处理任务拆分为:对目标图像进行预处理,包括归一化处理,伽马校正;将处理完成的目标图像输入至预先训练完成的检测模型;获得人脸检测结果。

(2)为所述作业任务建立逻辑依赖关系。由于所述作业任务之间具有先后顺序关系,因此需要建立逻辑依赖关系。例如,当所述数据处理任务为检测目标图像中的人脸时,所述作业任务为:作业一:对目标图像进行预处理,包括归一化处理,伽马校正;作业二:将处理完成的目标图像输入至预先训练完成的检测模型;作业三:获得人脸检测结果。作业二要在作业一完成后进行,作业三要在作业二完成后进行,因此,所述作业任务按照逻辑依赖关系排列为:作业一,作业二,作业三。

(3)设置每个所述作业任务的执行频率。例如,每个周期执行两次。

(4)根据所述作业任务、所述逻辑依赖关系和所述执行频率生成所述作业队列。例如,当所述数据处理任务为检测目标图像中的人脸时,生成作业队列为:作业一(对目标图像进行预处理):执行频率2次;作业二(将处理完成的目标图像输入至预先训练完成的检测模型),执行频率1次;作业三(获得人脸检测结果),执行频率1次。

S23、从所述作业队列中依次提取作业任务。

在本申请的一个实施例中,所述从所述作业队列中依次提取所述作业任务包括:根据所述逻辑依赖关系确定作业顺序;根据所述作业顺序从所述作业队列中依次提取所述作业任务。

具体实施时,将所述步骤S22中的逻辑依赖关系确定为所述作业顺序。

作为一种可选的实施方式,所述方法还包括:设置所述数据处理任务的执行时间段。例如,设置所述执行时间段为12:00-13:00,表示所述电子设备在时间段12:00-13:00内执行所述数据处理任务。

通过设置所述执行时间段,合理分配数据处理任务,减轻同一时间下服务器的工作负荷,从而可以提高数据处理的效率。

所述步骤S22之后,所述方法还包括:确定所述作业任务所需的模型;从云端的模型储存库获取最新的模型列表,并下载每个所述作业任务所需的模型到电子设备上。

具体实施时,确定所述作业任务所需的模型之后,通过边缘端口从云端的模型储存库获取最新的模型列表,并从所述模型列表中下载所述模型至当前创建所述数据处理任务的电子设备。当所述边缘端口由堵塞状态向转发状态迁移时,所述边缘端口可以实现快速迁移,而无需等待延迟时间。

S24、根据提取到的作业任务分配计算资源。

为了在有限的计算资源中提升资源的使用率,需要为所述任务作业分配计算资源。

在本申请的一个实施例中,所述计算资源包括:CPU资源、内存资源、硬盘资源和网络资源。当所述电子设备在进行作业任务时,需要申请所述计算资源。当申请到足够的所述计算资源时,才可以执行作业任务。

在本申请的一个实施例中,所述根据提取到的作业任务分配计算资源包括:获取每个所述作业任务的资源用量;基于所述资源用量,获取资源许可时间点;在所述资源许可时间点将所述计算资源分配给所述提取到的作业任务。

在本申请的一个实施例中,所述在所述资源许可时间点将所述计算资源分配给所述提取到的作业任务包括:在所述资源许可时间点将静态资源分配给所述提取到的作业任务;或在所述资源许可时间点将动态资源分配给所述提取到的作业任务。

具体实施时,所述电子设备自动计算每个所述作业任务的资源用量。当执行到所述作业任务时,所述电子设备同步获取当前电子设备的计算资源,当所述资源用量小于所述计算资源时,将所述计算资源分配给所述作业任务,并将所述作业任务加入作业列表。例如,所述数据处理任务包含作业一和作业二,所述作业一的资源用量为1,所述作业二的资源用量为2。获取当前所述电子设备的计算资源为2,可以将作业一加入作业执行列表进行作业执行,作业一执行完成之后,获取所述电子设备的计算资源为1,所述电子设备预测所述作业二的资源许可时间点,当达到所述资源许可时间点时,可以将作业二加入作业执行列表进行作业执行。

通过对所述计算资源进行分配,降低了资源空闲时间,提高了数据处理效率。

S25、基于所述数据源,通过预先训练完成的模型得到数据处理任务结果。

在对数据进行处理时,需要使用训练完成的模型对数据进行分析。

在本申请的一个实施例中,所述通过预先训练完成的模型基于所述数据源,得到数据处理任务结果包括:基于提取到的第一个作业任务,将所述数据源输入至预先训练完成的第一模型,得到第一作业任务结果;基于提取到的第二个作业任务,将所述第一作业任务结果输入至预先训练完成的第二模型,得到第二作业任务结果;继续执行下一作业任务,将上一个作业任务结果输入至预先训练完成的下一作业任务对应的模型,得到所述下一个作业任务的作业任务结果,直至最后一个作业任务执行完毕;将所述最后一个作业任务的作业任务结果作为所述数据处理任务结果。

实际应用时,当所述电子设备执行所述数据处理任务时,根据所述作业队列,从所述作业队列中提取排在第一位的作业任务,当所述计算资源满足所述排在第一位的作业任务的资源用量时,执行所述作业任务,并将所述数据源输入至预先训练完成的第一模型,得到第一作业任务结果。接着提取排在第二位的作业任务,当所述计算资源满足所述排在第二位的作业任务的资源用量时,执行所述作业任务,并将所述第一作业任务结果输入至预先训练完成的第二模型,得到第二作业任务结果。继续提取排在下一位的作业任务,当所述计算资源满足所述排在下一位的作业任务的资源用量时,执行所述作业任务,并将上一个作业任务结果输入至预先训练完成的下一作业任务对应的模型,得到下一作业任务对应的作业任务结果。直至最后一个作业任务执行完毕,将所述最后一个作业任务的作业任务结果作为所述数据处理任务结果。

具体实施时,模型的训练过程包括:获取训练数据;将所述训练数据输入至预先搭建的神经网络框架中进行训练,得到所述模型;获取测试数据;使用所述测试数据测试所述模型并获取测试通过率;当所述测试通过率大于预设通过率阈值时,将所述模型作为所述训练完成的模型。

通过利用有限的计算资源进行任务排程提升了资源使用率,并结合自动化的数据收集,用户只需提供数据源,即可进行持续的数据分析。

请继续参阅图1,本实施例中,所述存储器11可以是电子设备1的内部存储器,即内置于所述电子设备1的存储器。在其他实施例中,所述存储器11也可以是电子设备1的外部存储器,即外接于所述电子设备1的存储器。

在一些实施例中,所述存储器11用于存储程序代码和各种数据,并在电子设备1的运行过程中实现高速、自动地完成程序或数据的存取。

所述存储器11可以包括随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在一实施例中,所述处理器12可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器也可以是其它任何常规的处理器等。

所述存储器11中的程序代码和各种数据如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,例如自动化任务排程的方法,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)等。

可以理解的是,以上所描述的模块划分,为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在相同处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

相关技术
  • 一种任务调度方法、装置、电子设备及存储介质
  • 任务提示方法、装置、电子设备及计算机可读存储介质
  • 任务执行方法、装置、电子设备及计算机可读存储介质
  • 任务处理方法、装置、电子设备及计算机可读存储介质
  • 任务价格预测方法、装置、电子设备及计算机存储介质
  • 风机集群的运维排程方法、装置、电子设备及存储介质
  • 一种基于订单分配的生产排程方法、系统、电子设备及存储介质
技术分类

06120115603557