CN117492999A - 数据开发平台的数据处理方法、装置及数据开发平台 - Google Patents

数据开发平台的数据处理方法、装置及数据开发平台 Download PDF

Info

Publication number
CN117492999A
CN117492999A CN202311487101.1A CN202311487101A CN117492999A CN 117492999 A CN117492999 A CN 117492999A CN 202311487101 A CN202311487101 A CN 202311487101A CN 117492999 A CN117492999 A CN 117492999A
Authority
CN
China
Prior art keywords
executed
tasks
task
data
development platform
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.)
Pending
Application number
CN202311487101.1A
Other languages
English (en)
Inventor
李明月
田丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GRG Banking IT Co Ltd
Original Assignee
GRG Banking IT Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GRG Banking IT Co Ltd filed Critical GRG Banking IT Co Ltd
Priority to CN202311487101.1A priority Critical patent/CN117492999A/zh
Publication of CN117492999A publication Critical patent/CN117492999A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种数据开发平台的数据处理方法、装置及数据开发平台,属于数据处理技术领域。方法包括:获取多个待执行任务执行所需的运行时长和运行资源;基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序;基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务。数据开发平台的数据处理方法通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。

Description

数据开发平台的数据处理方法、装置及数据开发平台
技术领域
本申请属于数据处理技术领域,尤其涉及一种数据开发平台的数据处理方法、装置及数据开发平台。
背景技术
数据开发平台采用前端微服务、分布式处理等开源技术,以数据库作为数据存储中间件,打造具有数据全生命周期的综合治理能力的一站式大数据开发平台,覆盖数据采集集成、数据清洗加工、数据标注、数据分析等场景,提供各类服务,实现数据通道互联、数据价值互享,助力政务数据资产超市构建,服务政企数字化转型升级。
随着企业业务系统增多以及数据增多,现有的数据开发平台,随着时间的积累,每天调度任务也会剧增,资源需求也增多,数据开发任务无法按时运行完成,就无法为客户高效地提供数据服务。
上述数据开发存在安排任务运行顺序和运行资源不合理和不灵活的问题。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种数据开发平台的数据处理方法、装置及数据开发平台,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
第一方面,本申请提供了一种数据开发平台的数据处理方法,该方法包括:
获取多个待执行任务执行所需的运行时长和运行资源;
基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序;
基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务。
根据本申请的数据开发平台的数据处理方法,通过对数据平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的目标执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
根据本申请的一个实施例,所述待执行任务的任务属性包括任务类型和生成时刻,所述基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序,包括:
基于所述多个待执行任务的任务类型,确定所述多个待执行任务的执行优先级;
基于所述执行优先级、所述生成时刻和所述运行时长,确定所述多个待执行任务的目标执行顺序。
根据本申请的一个实施例,所述基于所述执行优先级、所述生成时刻和所述运行时长,确定所述多个待执行任务的目标执行顺序,包括:
根据所述执行优先级,对所述多个待执行任务进行排序,确定每个所述待执行任务的优先级特征值;
根据所述生成时刻,确定所述每个所述待执行任务的进程特征值;
根据所述运行时长,对所述多个待执行任务进行时长排序,确定所述每个所述待执行任务的时长特征值;
根据所述优先级特征值、所述进程特征值和所述时长特征值,确定所述目标执行顺序。
根据本申请的一个实施例,所述根据所述优先级特征值、所述进程特征值和所述时长特征值,确定所述目标执行顺序,包括:
确定所述优先级特征值对应的第一权重值、所述进程特征值对应的第二权重值和所述时长特征值对应的第三权重值;
基于所述第一权重值、所述第二权重值和所述第三权重值,对所述优先级特征值、所述进程特征值和所述时长特征值进行加权求和,得到所述每个所述待执行任务的执行顺序特征;
对所述多个待执行任务的所述执行顺序特征进行排序,确定所述目标执行顺序。
根据本申请的一个实施例,所述获取多个待执行任务执行所需的运行时长和运行资源,包括:
根据所述多个待执行任务的数据量、任务节点数和最小资源,计算所述运行时长和所述运行资源。
根据本申请的一个实施例,所述基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务,包括:
根据所述多个待执行任务的数据量,确定所述多个待执行任务的任务复杂程度;
根据所述运行资源、所述任务复杂程度和所述任务属性,对所述多个待执行任务进行资源分配;
基于所述目标执行顺序和所述多个待执行任务的运行时长,确定每个所述待执行任务的开始执行时刻;
按照所述开始执行时刻,执行所述多个待执行任务。
第二方面,本申请提供了一种数据开发平台的数据处理装置,该装置包括:
获取模块,用于获取多个待执行任务执行所需的运行时长和运行资源;
第一处理模块,用于基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序;
第二处理模块,用于基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务。
根据本申请的数据开发平台的数据处理装置,通过对数据开发平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
第三方面,本申请提供了一种数据开发平台,该平台包括:
资源分配装置和任务调度装置,所述资源分配装置用于为多个待执行任务分配资源,所述任务调度装置用于调度所述多个待执行任务;
如第二方面所述的数据开发平台的数据处理装置,所述数据处理装置与所述资源分配装置以及所述任务调度装置连接。
根据本申请的数据开发平台,通过对数据开发平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
第四方面,本申请提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据开发平台的数据处理方法。
第五方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据开发平台的数据处理方法。
第六方面,本申请提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的数据开发平台的数据处理方法。
第七方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据开发平台的数据处理方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例提供的数据开发平台的数据处理方法的流程示意图之一;
图2是本申请实施例提供的数据开发平台的数据处理方法的流程示意图之二;
图3是本申请实施例提供的数据开发平台的数据处理方法的流程示意图之三;
图4是本申请实施例提供的数据开发平台的数据处理装置的结构示意图;
图5是本申请实施例提供的数据开发平台的结构示意图;
图6是本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
相关技术的数据开发平台将任务堆积到一个时间点,任务由于很长时间分配不到资源,无法运行,而有的资源节点一直空置无任务,存在资源浪费等情况问题。只有数据开发平台的任务及时、成功地运行,才可为企业其他应用提供数据服务。
而数据开发平台任务运行时间大多是人为设定,任务数量庞大的时候,人工设定很难合理安排任务调度时间,会导致任务排队堵塞、资源浪费;当依赖这些任务运行结果提供数据服务的系统获取不到数据,数据治理开发工程师需要逐一排查失败任务十分不友好,增加工作量,浪费时间。
针对相关技术中存在的问题,本申请提供的数据开发平台的数据处理方法,能够对数据开发平台中所有的待执行任务计算运行时长和运行资源,并根据每个待执行任务的运行时长和任务属性,合理安排每个待执行任务的目标执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排。
通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的数据开发平台的数据处理方法、数据开发平台的数据处理装置、数据开发平台、电子设备和可读存储介质进行详细地说明。
其中,数据开发平台的数据处理方法可应用于终端,具体可由,终端中的硬件或软件执行。
该终端包括但不限于具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话或平板电脑等便携式通信设备。还应当理解的是,在某些实施例中,该终端可以不是便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
以下各个实施例中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和控制杆的一个或多个其它物理用户接口设备。
本申请实施例提供的数据开发平台的数据处理方法,该数据开发平台的数据处理方法的执行主体可以为电子设备或者电子设备中能够实现该数据开发平台的数据处理方法的功能模块或功能实体,本申请实施例提及的电子设备包括但不限于手机、平板电脑、电脑、相机和可穿戴设备等,下面以数据开发平台作为执行主体为例对本申请实施例提供的数据开发平台方法进行说明。
如图1所示,该数据开发平台的数据处理方法包括:步骤110至步骤130。
步骤110、获取多个待执行任务执行所需的运行时长和运行资源。
其中,运行时长T是每个待执行任务从开始执行到执行结束的过程所耗费的时长。
运行资源C是每个待执行任务在数据开发平台上执行时,需要占用的数据开发平台的资源。
运行资源C可以根据待执行任务的类型、数据量和算法的复杂度等因素确定,运行资源C可以包括中央处理器(Central Processing Unit,CPU)资源、内存资源、存储资源、网络资源和图形处理器(Graphics Processing Unit,GPU)资源中的一个或多个。
在实际的执行中,对于每个待执行任务,可以通过测试或者历史数据来获取其运行时长T和运行资源C。这些数据可以记录在一个表格或者数据库中。
步骤120、基于多个待执行任务的任务属性和运行时长,确定多个待执行任务的目标执行顺序。
任务属性可以包括:任务类型、数据量、多个待执行任务之间的依赖关系、以及执行时段。
例如,如果多个待执行任务之间存在依赖关系,需要考虑这些待执行任务的先后顺序;如果多个待执行任务需要共享数据,在进行排序时,还需要考虑数据传输和同步等问题。
在实际的执行中,对每个待执行任务的运行时长,以及任务类型、数据量、多个待执行任务之间的依赖关系、以及执行时段等任务属性进行综合考虑,从而对多个待执行任务进行排序,得到目标执行顺序,最大程度地提高整体的执行效率和系统的性能。
步骤130、基于多个待执行任务的运行资源,按照目标执行顺序,为多个待执行任务分配资源,执行多个待执行任务。
在实际的执行中,可以将待执行任务分配给可用资源最多的节点或者集群,并按照目标执行顺序逐个执行待执行任务,在执行过程中,还可以监控待执行任务的状态和资源使用情况,及时调整资源分配策略。
根据本申请实施例提供的数据开发平台的数据处理方法,通过对数据开发平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的目标执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
在一些实施例中,获取多个待执行任务执行所需的运行时长和运行资源,包括:
根据多个待执行任务的数据量、任务节点数和最小资源,计算运行时长和运行资源。
数据量D是待执行任务所处理的数据量大小,数据量D的大小可以影响待执行任务的运行时长和运行资源,数据量D越大,待执行任务的运行时长和运行资源就越多。
任务节点数E是执行待执行任务所需要的并行计算节点数量,如果待执行任务可以并行执行,并且有多个计算节点可用,那么待执行任务的运行时长可以相应地减少。
最小资源F是执行待执行任务时,所需要的最低硬件资源配置,可以根据待执行任务的性质和要求确定。最小资源F可以包括:CPU核数、内存容量、存储空间等。
例如,对于不超过1000w条数据、且不超过10个节点的待执行任务,待执行任务需要资源最小包括:Driver核心数1个、Driver内存512M、Executor核心数2个、Executor数量2个、Executor内存数为2G,作为最小资源F。
在实际的执行中,统计出总的待执行任务的数量,并根据每个待执行任务的数据量D、任务节点数E和最小资源F,分别计算出每个待执行任务的运行时长T和运行资源C。
例如,可以根据每个待执行任务的数据量D和任务节点数E,结合历史数据或经验规则,建立一个预测模型来估计待执行任务的运行时长T,并根据每个待执行任务的资源需求和最小资源F,计算出每个待执行任务的运行资源C,作为待执行任务的资源设定建议。
其中,资源需求可以包括:计算需求、存储需求和通信需求。
在该实施例中,通过计算每个待执行任务的运行时长和运行资源,为待执行任务的合理安排提供基础。
在一些实施例中,待执行任务的任务属性包括任务类型和生成时刻,基于多个待执行任务的任务属性和运行时长,确定多个待执行任务的目标执行顺序,包括:
基于多个待执行任务的任务类型,确定多个待执行任务的执行优先级;
基于执行优先级、生成时刻和运行时长,确定多个待执行任务的目标执行顺序。
可以理解的是,按照任务类型的紧急程度或重要性,对待执行任务进行执行优先级划分。
例如,执行优先级按照任务类型划分为1-4,共计4个等级,在待执行任务的任务类型为消防、洪水等应急类型时,执行优先级最高,设置为4;在待执行任务的任务类型为车辆违章、交通拥堵等交通管理类型时,执行优先级次之,设置为3;在待执行任务的任务类型为社区管理、城市规划等城市管理类型时,执行优先级再次之,设置为2;在待执行任务的任务类型为生态宜居,绿色出行等环境管理类型时,执行优先级最低,设置为2。
在实际的执行中,确定待执行任务的目标执行顺序需要考虑多个因素,包括执行优先级、生成时刻和运行时长等。
通常,执行优先级较高的待执行任务会先被执行,以确保重要的待执行任务能够及时完成;若只考虑执行优先级的高低,会导致大部分执行优先级较低的待执行任务积压,或是等待时间过长,为避免这种情况的发生,需要考虑待执行任务的先后到达顺序。
此外,为避免一些待执行任务等待时间过长,可以考虑先执行运行时长较短的待执行任务,后执行运行时长较长的待执行任务,可以减少平均等待时间和平均周转时间。
还可以将CPU时间分成多个时间片,每个待执行任务在一个时间片内执行,时间片用完后切换到下一个待执行任务,可以避免运行时长较长的待执行任务的等待时间过长,同时保证所有待执行任务都能得到执行。
综上考虑,可以根据实际情况,对上述因素赋予相应的权重,并结合多个待执行任务之间的依赖关系和资源占用情况等因素,得到最终的多个待执行任务的目标执行顺序。
在该实施例中,通过综合考虑待执行任务的执行优先级、生成时刻和运行时长,对待执行任务进行排序,得到目标执行顺序,以确保待执行任务能够高效地执行,避免出现死锁或资源争用等问题。
在一些实施例中,基于执行优先级、生成时刻和运行时长,确定多个待执行任务的目标执行顺序,包括:
根据执行优先级,对多个待执行任务进行排序,确定每个待执行任务的优先级特征值;
根据生成时刻,确定每个待执行任务的进程特征值;
根据运行时长,对多个待执行任务进行时长排序,确定每个待执行任务的时长特征值;
根据优先级特征值、进程特征值和时长特征值,确定目标执行顺序。
在实际的执行中,结合优先级调度算法、先来先服务算法以及时间最短优先算法,并对每个算法分别设置权重,来分配待执行任务的目标执行顺序。
在优先级调度算法中,基于执行优先级越高先执行的原则,根据待执行任务的执行优先级,对待执行任务进行排序,进而根据排序结果,对每个待执行任务赋以优先级特征值M。
在先来先服务(First Come First Service,FCFS)算法中,基于先创建的任务先运行的原则,根据待执行任务的生成时刻,将每个待执行任务按照生成时刻由先到后排序,并按照排序对每个待执行任务赋以进程特征值N。
在时间最短优先算法中,基于运行时长更短的待执行服务先执行,追求最少的平均等待时间,根据待执行任务的运行时长,将每个待执行任务按照运行时长,进行由短到长的排序,并按照排序对每个待执行任务赋以时长特征值Q。
考虑每个待执行任务的优先级特征值M、进程特征值N和时长特征值Q,对每个待执行任务进行综合评分,再根据综合评分,进而对多个待执行任务进行排序,确定目标执行顺序。
其中,对于综合评分相同的待执行任务,可以再次根据运行时长进行排序,优先执行运行时长较短的待执行任务。
此外,如果某些待执行任务需要在其他待执行任务完成后才能开始执行,或者某些待执行任务可以并行执行而不会相互影响,需要根据这些因素来调整待执行任务的目标执行顺序。
在该实施例中,通过考虑多个因素,对待执行任务进行排序,最大程度地提高整体的执行效率和系统的性能。
在一些实施例中,根据优先级特征值、进程特征值和时长特征值,确定目标执行顺序,包括:
确定优先级特征值对应的第一权重值、进程特征值对应的第二权重值和时长特征值对应的第三权重值;
基于第一权重值、第二权重值和第三权重值,对优先级特征值、进程特征值和时长特征值进行加权求和,得到每个待执行任务的执行顺序特征;
对多个待执行任务的执行顺序特征进行排序,确定目标执行顺序。
将每个待执行任务的优先级特征值M、进程特征值N和时长特征值Q分别与第一权重值、第二权重值和第三权重值相乘并求和,得到每个待执行任务的因素加权和执行顺序特征P,再按照执行顺序特征P的数值大小进行排序。
其中,第一权重值、第二权重值和第三权重值可以根据待执行任务的特点和要求进行灵活调整,以确保各个因素的权重比例符合实际需求。
在一些实施例中,第一权重值的取值范围可以为40%-60%,第二权重值的取值范围可以为20%-30%,第三权重值的取值范围可以为20%-30%。
下面,以对3个待执行任务进行排序为例进行说明。
有3个待执行任务,分别为任务1、任务2和任务3。
任务1:创建时间10点、执行时间15点;执行优先级3;任务节点2个。
任务2:创建时间11点、执行时间15点;执行优先级1;任务节点4个。
任务3:创建时间12点、执行时间15点;执行优先级4;任务节点8个。
其中,执行优先级设定为1到4级,4级为最紧急,第一权重值设为40%、第二权重值设为30%、第三权重值设为30%。
基于越紧急越优先原则,将3个待执行任务按照执行优先级由高到低排序为:任务3、任务1、任务2,根据排序分别给每个任务赋予优先级特征值M,因此,任务1的优先级特征值M1=2,任务2的优先级特征值M2=3,任务3的优先级特征值M3=1。
基于先来先服务原则,3个待执行任务按照生成时刻排序为:任务1、任务2、任务3,根据生成时刻的排序,分别给每个任务赋予进程特征值N,因此,任务1的进程特征值N1=1,任务2的进程特征值N2=2,任务3的进程特征值N3=3。
由于任务节点越多,任务的运行时长越长,基于追求最少的平均等待时间原则,将3个待执行任务按照运行时长由短到长排序为:任务1、任务2、任务3,根据排序分别给每个任务赋予时长特征值Q,因此,任务1的时长特征值Q1=1,任务2的时长特征值Q2=2,任务3的时长特征值Q3=3。
接下来,根据每个待执行任务的优先级特征值M、进程特征值N和时长特征值Q,求得每个待执行任务的执行顺序特征P。
例如,优先级特征值M的第一权重值设置为40%,进程特征值N的第二权重值设置为30%,时长特征值Q的第三权重值设置为30%。
任务1的执行顺序特征P1计算如下:
P1=M1×40%+N1×30%+Q1×30%=2×40%+1×30%+1×30%=1.4
任务2的执行顺序特征P2计算如下:
P2=M2×40%+N2×30%+Q2×30%=3×40%+2×30%+2×30%=2.4
任务3的执行顺序特征P3计算如下:
P3=M3×40%+N3×30%+Q3×30%=1×40%+3×30%+3×30%=2.2
由于P1<P3<P2,因此,这3个待执行任务的目标执行顺序为:任务1、任务3和任务2。
在该实施例中,通过对优先级特征值、进程特征值和时长特征值计算执行顺序特征,能够自动设置待执行任务的目标执行顺序,节省开发时间,减少任务由于资源不足运行失败频率,提高效率。
在一些实施例中,基于多个待执行任务的运行资源,按照目标执行顺序,为多个待执行任务分配资源,执行多个待执行任务,包括:
根据多个待执行任务的数据量,确定多个待执行任务的任务复杂程度;
根据运行资源、任务复杂程度和任务属性,对多个待执行任务进行资源分配;
基于目标执行顺序和多个待执行任务的运行时长,确定每个待执行任务的开始执行时刻;
按照开始执行时刻,执行多个待执行任务。
其中,数据量越大,任务复杂程度越高。
可以理解的是,任务复杂程度可以根据待执行任务的数据量大小、计算量、算法复杂度或其他指标进行评估。
运行资源可以包括计算机的处理能力、存储空间、网络带宽等,资源分配的目标是合理分配资源,以满足任务的要求和性能需求。
资源分配可以根据任务的执行优先级、资源可用性、任务之间的依赖关系等因素进行决策,待执行任务的目标执行顺序可以根据依赖关系、截止时刻等因素来确定。
在实际的执行中,根据待执行任务的数据量大小,确定每个待执行任务的复杂程度,根据每个待执行任务的复杂程度、运行资源,以及每个待执行任务的依赖关系、截止时刻等因素,对多个待执行任务进行计算机的处理能力、存储空间、网络带宽等资源的分配,按照目标执行顺序和运行时长还需要考虑多个待执行任务之间的调度和并发执行,确定每个待执行任务的开始执行时刻,最大程度地提高系统的效率和性能,再将每个资源分配后的待执行任务按照开始执行时刻执行,并监控待执行任务的执行状态,包括启动任务、处理数据、计算结果等处理可能出现的异常情况,并确保任务按照预期顺利完成。
此外,还可以根据具体的应用场景、任务特点和需求考虑到实际的约束条件和优化目标,进行资源分配和任务调度的决策。
在该实施例中,通过对待执行任务的目标执行顺序,能够合理地自动设置每个待执行任务的运行开始时间,不需要人工设置任务运行时间,提高效率,还自动结合资源数量,合理分配任务,避免资源浪费。
下面介绍一个具体的实施例。
如图2所示,包括:
计算数据开发平台中待执行任务的总数。
计算每个待执行任务所需的运行时间(运行时长);
计算每个待执行任务的所需资源(运行资源);
任务分配装置(资源分配装置)根据运行时长和运行资源,结合三种算法(优先级调度算法、先来先服务算法和时间最短优先算法)计算待执行任务的目标执行顺序;
如图3所示,任务分配装置(资源分配装置)在分配任务时,对每个待执行任务设置因素值,根据执行优先级,设置因素一(优先级特征值),数值为M,根据先来先服务原则,设置因素二(进程特征值),数值为N,根据短时间优先原则,设置因素三(时长特征值),数值为Q。
其中,分别对每个待执行任务的因素一、因素二和因素三赋予相同的权重,因素一的权重(第一权重值)设置为M/(M+N+Q),因素二的权重(第二权重值)设置为N/(M+N+Q),因素三的权重(第三权重值)设置为Q/(M+N+Q),根据每个待执行任务的因素值和权重,计算每个待执行任务的执行顺序特征,并按照执行顺序特征的数值大小进行排序,从而确定每个待执行任务的目标执行顺序。
按照目标执行顺序,执行待执行任务。
在该实施例中,通过对每个待执行任务的运行时长、运行资源进行综合考量,能够自动设置待执行任务的目标执行顺序,节省开发时间,减少任务由于资源不足运行失败频率,提高效率。
本申请实施例提供的数据开发平台的数据处理方法,执行主体可以为数据开发平台的数据处理装置。本申请实施例中以数据开发平台的数据处理装置执行数据开发平台的数据处理方法为例,说明本申请实施例提供的数据开发平台的数据处理装置。
本申请实施例还提供一种数据开发平台的数据处理装置。
如图4所示,该数据开发平台的数据处理装置包括:获取模块410、第一处理模块420和第二处理模块430。
获取模块410,用于获取多个待执行任务执行所需的运行时长和运行资源;
第一处理模块420,用于基于多个待执行任务的任务属性和运行时长,确定多个待执行任务的目标执行顺序;
第二处理模块430,用于基于多个待执行任务的运行资源,按照目标执行顺序,为多个待执行任务分配资源,执行多个待执行任务。
根据本申请实施例提供的数据开发平台的数据处理装置,通过对数据开发平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的目标执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
在一些实施例中,待执行任务的任务属性包括任务类型和生成时刻,第一处理模块420,用于:
基于多个待执行任务的任务类型,确定多个待执行任务的执行优先级;
基于执行优先级、生成时刻和运行时长,确定多个待执行任务的目标执行顺序。
在一些实施例中,第一处理模块420,还用于:
根据执行优先级,对多个待执行任务进行排序,确定每个待执行任务的优先级特征值;
根据生成时刻,确定每个待执行任务的进程特征值;
根据运行时长,对多个待执行任务进行时长排序,确定每个待执行任务的时长特征值;
根据优先级特征值、进程特征值和时长特征值,确定目标执行顺序。
在一些实施例中,第一处理模块420,还用于:
确定优先级特征值对应的第一权重值、进程特征值对应的第二权重值和时长特征值对应的第三权重值;
基于第一权重值、第二权重值和第三权重值,对优先级特征值、进程特征值和时长特征值进行加权求和,得到每个待执行任务的执行顺序特征;
对多个待执行任务的执行顺序特征进行排序,确定目标执行顺序。
在一些实施例中,获取模块410,用于:
根据多个待执行任务的数据量,确定多个待执行任务的任务复杂程度;
根据运行资源、任务复杂程度和任务属性,对多个待执行任务进行资源分配;
基于目标执行顺序和多个待执行任务的运行时长,确定每个待执行任务的开始执行时刻;
按照开始执行时刻,执行多个待执行任务。
本申请实施例中的数据开发平台的数据处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据开发平台的数据处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为iOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据开发平台的数据处理装置能够实现图1至图3的数据开发平台的数据处理方法实施例实现的各个过程,为避免重复,这里不再赘述。
在一些实施例中,如图5所示,本申请实施例还提供一种数据开发平台500,包括:
资源分配装置510和任务调度装置520,资源分配装置510用于为多个待执行任务分配资源,任务调度装置520用于调度多个待执行任务;
如上述实施例的数据开发平台的数据处理装置,数据处理装置与资源分配装置510以及任务调度装置520连接。
在实际的执行中,数据处理装置调用资源分配装置510和任务调度装置520执行如上述数据开发平台的数据处理方法实施例的各个过程,且能达到相同的技术效果。
例如,数据处理装置调用资源分配装置510统计出总的待执行任务的数量,并根据每个待执行任务的数据量D、任务节点数E和最小资源F,分别计算出每个待执行任务的运行时长T和运行资源C。
数据处理装置还调用任务调度装置520对每个待执行任务的运行时长,以及任务类型、数据量、多个待执行任务之间的依赖关系、以及执行时段等任务属性进行综合考虑,从而对多个待执行任务进行排序,得到目标执行顺序。
其中,任务调度装置520结合优先级调度算法、先来先服务算法以及时间最短优先算法,并对每个算法分别设置权重,来分配待执行任务的目标执行顺序。
在执行优先级调度算法中,基于执行优先级越高先执行的原则,根据待执行任务的执行优先级,对待执行任务进行排序,进而根据排序结果,对每个待执行任务赋以优先级特征值M。
在先来先服务算法中,基于先创建的任务先运行的原则,根据待执行任务的生成时刻,将每个待执行任务按照生成时刻由先到后排序,并按照排序对每个待执行任务赋以进程特征值N。
在时间最短优先算法中,基于运行时长更短的待执行服务先执行,追求最少的平均等待时间,根据待执行任务的运行时长,将每个待执行任务按照运行时长,进行由短到长的排序,并按照排序对每个待执行任务赋以时长特征值Q。
考虑每个待执行任务的优先级特征值M、进程特征值N和时长特征值Q,对每个待执行任务进行综合评分,再根据综合评分,进而对多个待执行任务进行排序,确定目标执行顺序。
基于任务调度装置520可自动判断数据开发平台现有开发的待执行任务,灵活自主地安排任务运行开始时间,合理利用资源,降低成本,保证数据服务的高可用性。
资源分配装置510,可以将待执行任务分配给可用资源最多的节点或者集群,并按照目标执行顺序逐个执行待执行任务,在执行过程中,还可以监控待执行任务的状态和资源使用情况,及时调整资源分配策略。
由于不同的待执行任务运行所需要的资源影响其因素较多,资源分配装置510把大部分因素全部考虑进去,比如待执行任务的数据量、需要执行的不同时间段,任务之间的依赖关系、以及待执行任务的子任务等,在相关技术中,资源分配需要人工做相应的计算与处理,而资源分配装置510把这些繁琐的过程都封装在统一的资源分配装置510里,用户无需额外花时间比对,可快速计算运行资源。
数据处理装置调用资源分配装置510和任务调度装置520,以实现上述数据开发平台的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
根据本申请实施例提供的数据开发平台,通过对数据开发平台中所有的待执行任务计算运行时长和运行资源,合理安排每个待执行任务的目标执行顺序,并对应分配资源,实现对每个待执行任务的统筹安排,通过基于数据开发平台的任务自调度,灵活安排每个待执行任务的目标执行顺序,合理分配任务运行资源,避免浪费,同时还能减少任务运行队列阻塞,保证任务高效运行。
在一些实施例中,如图6所示,本申请实施例还提供一种电子设备600,包括处理器601、存储器602及存储在存储器602上并可在处理器601上运行的计算机程序,该程序被处理器601执行时实现上述数据开发平台的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
本申请实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述数据开发平台的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据开发平台的数据处理方法。
其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本申请实施例另提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述数据开发平台的数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的数据开发平台的数据处理方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

Claims (10)

1.一种数据开发平台的数据处理方法,其特征在于,包括:
获取多个待执行任务执行所需的运行时长和运行资源;
基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序;
基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务。
2.根据权利要求1所述的数据开发平台的数据处理方法,其特征在于,所述待执行任务的任务属性包括任务类型和生成时刻,所述基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序,包括:
基于所述多个待执行任务的任务类型,确定所述多个待执行任务的执行优先级;
基于所述执行优先级、所述生成时刻和所述运行时长,确定所述多个待执行任务的目标执行顺序。
3.根据权利要求2所述的数据开发平台的数据处理方法,其特征在于,所述基于所述执行优先级、所述生成时刻和所述运行时长,确定所述多个待执行任务的目标执行顺序,包括:
根据所述执行优先级,对所述多个待执行任务进行排序,确定每个所述待执行任务的优先级特征值;
根据所述生成时刻,确定所述每个所述待执行任务的进程特征值;
根据所述运行时长,对所述多个待执行任务进行时长排序,确定所述每个所述待执行任务的时长特征值;
根据所述优先级特征值、所述进程特征值和所述时长特征值,确定所述目标执行顺序。
4.根据权利要求3所述的数据开发平台的数据处理方法,其特征在于,所述根据所述优先级特征值、所述进程特征值和所述时长特征值,确定所述目标执行顺序,包括:
确定所述优先级特征值对应的第一权重值、所述进程特征值对应的第二权重值和所述时长特征值对应的第三权重值;
基于所述第一权重值、所述第二权重值和所述第三权重值,对所述优先级特征值、所述进程特征值和所述时长特征值进行加权求和,得到所述每个所述待执行任务的执行顺序特征;
对所述多个待执行任务的所述执行顺序特征进行排序,确定所述目标执行顺序。
5.根据权利要求1-4任一项所述的数据开发平台的数据处理方法,其特征在于,所述获取多个待执行任务执行所需的运行时长和运行资源,包括:
根据所述多个待执行任务的数据量、任务节点数和最小资源,计算所述运行时长和所述运行资源。
6.根据权利要求1-4任一项所述的数据开发平台的数据处理方法,其特征在于,所述基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务,包括:
根据所述多个待执行任务的数据量,确定所述多个待执行任务的任务复杂程度;
根据所述运行资源、所述任务复杂程度和所述任务属性,对所述多个待执行任务进行资源分配;
基于所述目标执行顺序和所述多个待执行任务的运行时长,确定每个所述待执行任务的开始执行时刻;
按照所述开始执行时刻,执行所述多个待执行任务。
7.一种数据开发平台的数据处理装置,其特征在于,包括:
获取模块,用于获取多个待执行任务执行所需的运行时长和运行资源;
第一处理模块,用于基于所述多个待执行任务的任务属性和所述运行时长,确定所述多个待执行任务的目标执行顺序;
第二处理模块,用于基于所述多个待执行任务的运行资源,按照所述目标执行顺序,为所述多个待执行任务分配资源,执行所述多个待执行任务。
8.一种数据开发平台,其特征在于,包括:
资源分配装置和任务调度装置,所述资源分配装置用于为多个待执行任务分配资源,所述任务调度装置用于调度所述多个待执行任务;
如权利要求7所述的数据开发平台的数据处理装置,所述数据处理装置与所述资源分配装置以及所述任务调度装置连接。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述数据开发平台的数据处理方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一项所述的数据开发平台的数据处理方法。
CN202311487101.1A 2023-11-08 2023-11-08 数据开发平台的数据处理方法、装置及数据开发平台 Pending CN117492999A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311487101.1A CN117492999A (zh) 2023-11-08 2023-11-08 数据开发平台的数据处理方法、装置及数据开发平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311487101.1A CN117492999A (zh) 2023-11-08 2023-11-08 数据开发平台的数据处理方法、装置及数据开发平台

Publications (1)

Publication Number Publication Date
CN117492999A true CN117492999A (zh) 2024-02-02

Family

ID=89679664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311487101.1A Pending CN117492999A (zh) 2023-11-08 2023-11-08 数据开发平台的数据处理方法、装置及数据开发平台

Country Status (1)

Country Link
CN (1) CN117492999A (zh)

Similar Documents

Publication Publication Date Title
CN111427679B (zh) 面向边缘计算的计算任务调度方法、系统、装置
Zhu et al. Scheduling stochastic multi-stage jobs to elastic hybrid cloud resources
US20160291885A1 (en) Two level qos scheduling for latency and queue depth control
US9973512B2 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
Nguyen et al. A hybrid scheduling algorithm for data intensive workloads in a mapreduce environment
Adabi et al. Bi-level fuzzy based advanced reservation of Cloud workflow applications on distributed Grid resources
KR20120082598A (ko) 클라우드 컴퓨팅에서 다중 워크플로우를 위한 비용기반 스케줄링 방법 및 그 시스템
CN106201681B (zh) Hadoop平台下基于预释放资源列表的任务调度方法
CN116708451B (zh) 一种边云协同调度方法及系统
CN111930493A (zh) 集群中NodeManager状态管理方法、装置及计算设备
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN116932201A (zh) 一种面向深度学习训练任务的多资源共享调度方法
CN111597044A (zh) 任务调度方法、装置、存储介质及电子设备
Stavrinides et al. Security and cost aware scheduling of real-time IoT workflows in a mist computing environment
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
Stavrinides et al. The impact of resource heterogeneity on the timeliness of hard real-time complex jobs
Shah et al. Agent based priority heuristic for job scheduling on computational grids
Hung et al. Task scheduling for optimizing recovery time in cloud computing
Parikh et al. Double level priority based optimization algorithm for task scheduling in cloud computing
Dubey et al. QoS driven task scheduling in cloud computing
CN112306642A (zh) 一种基于稳定匹配博弈理论的工作流调度方法
Wu et al. QoS oriented resource reservation in shared environments
Singh et al. Market-inspired dynamic resource allocation in many-core high performance computing systems

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