CN113485804A - 数据调度方法、装置、设备及存储介质 - Google Patents

数据调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113485804A
CN113485804A CN202110736074.1A CN202110736074A CN113485804A CN 113485804 A CN113485804 A CN 113485804A CN 202110736074 A CN202110736074 A CN 202110736074A CN 113485804 A CN113485804 A CN 113485804A
Authority
CN
China
Prior art keywords
scheduling
data scheduling
target
tasks
task
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
CN202110736074.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.)
Ping An Securities Co Ltd
Original Assignee
Ping An Securities 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 Ping An Securities Co Ltd filed Critical Ping An Securities Co Ltd
Priority to CN202110736074.1A priority Critical patent/CN113485804A/zh
Publication of CN113485804A publication Critical patent/CN113485804A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请适用于人工智能技术领域,尤其涉及一种数据调度方法、装置、设备及存储介质,其中方法包括:将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别;根据调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码;基于数据调度任务指令,获取数据调度任务指令对应的M个目标数据调度任务、M个目标数据调度任务间的调度依赖关系及M个目标数据调度任务对应的目标调度任务类别;基于目标调度任务类别,获取匹配的目标通用逻辑代码;基于调度依赖关系,通过目标通用逻辑代码,依次执行M个目标数据调度任务,提升操作适配性程度、兼容性程度及可操作性程度。

Description

数据调度方法、装置、设备及存储介质
技术领域
本申请属于人工智能技术领域,尤其涉及一种数据调度方法、装置、设备及存储介质。
背景技术
目前,大数据自动化调度已经是任务流控制的主要趋势。
在不同业务背景下往往需要修改其底层逻辑代码来实现相应的业务功能逻辑需求,以实现自动化调度工具在大数据系统中与任务流及其依赖关系的适配性配置,但是市面上现有的调度工具在任务及依赖关系配置上操作较为复杂,且在具体应用中,不同业务功能逻辑代码也需借助于不同的编程语言来实现,这对于一些业务人员或其他不熟悉编程语言的工作人员来讲则难以实现,使得调度工具在多样化的业务应用背景下的适配性程度、兼容性程度及可操作性程度不高。
发明内容
本申请实施例提供了一种数据调度方法、装置、设备及存储介质,以解决现有技术中调度工具在多样化的业务应用背景下的适配性程度、兼容性程度及可操作性程度不高的问题。
本申请实施例的第一方面提供了一种数据调度方法,应用于服务器,包括:
将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别,N为大于1的整数;
根据所述调度任务类别,生成与每一类别的所述共性调度逻辑对应的通用逻辑代码;
基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别,M为大于1的整数;
基于所述目标调度任务类别,获取与所述目标调度任务类别相匹配的目标通用逻辑代码;
基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务。
本申请实施例的第二方面提供了一种数据调度方法,应用于服务器,包括:
类别设定模块,用于将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别,N为大于1的整数;
生成模块,用于根据所述调度任务类别,生成与每一类别的所述共性调度逻辑对应的通用逻辑代码;
获取模块,用于基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别,M为大于1的整数;
匹配模块,用于基于所述目标调度任务类别,获取与所述目标调度任务类别相匹配的目标通用逻辑代码;
执行模块,用于基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务。
本申请实施例的第三方面提供了一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述方法的步骤。
本申请的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端上运行时,使得所述终端执行上述第一方面所述方法的步骤。
由上可见,本申请实施例,通过根据将N个数据调度任务依照数据调度任务之间的共性调度逻辑进行归类得到的调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码,基于数据调度任务指令,获取对应的M个目标数据调度任务、任务间的调度依赖关系及对应的目标调度任务类别,获取与目标调度任务类别相匹配的目标通用逻辑代码,并最终基于调度依赖关系,通过目标通用逻辑代码,依次执行该些目标数据调度任务,省去人为配置过程,提升数据调度工具在多样化的业务应用背景下的适配性程度、兼容性程度,提升可操作性程度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据调度方法的流程图一;
图2是本申请实施例提供的一种数据调度方法的流程图二;
图3是本申请实施例提供的一种数据调度装置的结构图;
图4是本申请实施例提供的一种计算机设备的结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本申请实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
参见图1,图1是本申请实施例提供的一种数据调度方法的流程图一。如图1所示,一种数据调度方法,该方法包括以下步骤:
步骤101,将N个数据调度任务依照数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别。
N为大于1的整数。
该N个数据调度任务具体可以是进行数据收集获取得到,该些数据调度任务可以是使用频次或使用数量较多的数据调度任务,或者是在设定时长内例如一个季度或者近一年内统计到的数据调度任务。
不同的数据调度任务对应有数据调度逻辑,数据调度逻辑例如为数据入库、数据迁移、数据查询等,当获取到N个数据调度任务时,可以基于该些数据调度任务各自对应的数据调度逻辑对其进行类别划分,将数据调度逻辑相同的数据调度任务划分至同一类别,即同一类别的调度任务之间具有共性调度逻辑。也即,该共性调度逻辑具体是指一些数据调度任务之间存在的相同的数据调度逻辑。
基于该些数据调度任务之间的共性调度逻辑进行归类。其中,数据调度任务例如是,将数据从用户界面存储至后台数据库、导入数据库表数据到分布式文件系统、导入数据到指定目录、创建数据表等等。
每个数据调度任务具有各自的数据调度逻辑。例如数据入库类的数据调度任务则数据调度逻辑相同,数据新建类的数据调度任务则数据调度逻辑相同。
例如,第一数据调度任务是,将一组新的数据写入数据库中,则该第一数据调度任务的数据调度逻辑为数据入库逻辑,第二数据调度任务是,将修改后的数据重新写入数据库中,则该第二数据调度任务的数据调度逻辑同样为数据入库逻辑。
则此时,可确定该两个数据调度任务具有共性调度逻辑,即数据入库逻辑。同时可以基于该共性调度逻辑,将该两个数据调度任务归类至同一个调度任务类别。
将该些数据调度任务依照共性调度逻辑进行归类,则可以得到若干调度任务类别,使归类后的同一类别的数据调度任务之间具有共性的数据调度逻辑。
步骤102,根据调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码。
在根据调度任务类别,生成通用逻辑代码时,可以采用与当前任务类别所对应的程序执行语言来生成。
不同的任务类别可以例如是包括:应用Shell语句来完成的数据调度任务、应用java语句来完成的数据调度任务、应用sql语句来完成的数据调度任务。即,不同的任务类别在执行时可以对应不同的程序执行语言。
例如应用sql语句生成用于进行数据入库任务的通用逻辑代码。
具体地,当一个调度任务类别的共性调度逻辑为数据入库逻辑时,则可以根据共性调度逻辑生成对应的sql语句代码,例如为:
INSERT INTO A VALUES B;
其中,A为数据库名或者数据表名,用于指示数据写入位置;B则用于表示所插入数据内容,例如为(值1,值2,....)。将该sql语句代码作为数据入库逻辑下的通用逻辑代码。
在对该通用逻辑代码进行应用时,当数据调度任务是将一组新的数据写入数据库1中时,则调取出该通用逻辑代码,将其中的A赋值为1,B赋值为该一组新的数据;数据调度任务是将修改后的数据重新写入数据库2中时,则同样地调取出该通用逻辑代码,将其中的A赋值为2,B赋值为该修改后的数据;最终通过执行数据代入后的通用逻辑代码,实现对数据调度任务的执行。
具体地,可以将具有共性的某类数据调度任务的数据调度逻辑通过一份通用的代码封装成一类自定义operator,实现将通用逻辑代码进行封装并存储至数据库中。
其中,通用逻辑代码存储于区块链中。
在本申请的所有实施例中,根据调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码,并将该通用逻辑代码上传至区块链可保证其安全性和对用户的公正透明性。用户设备可以从区块链中下载得该通用逻辑代码,以便查证通用逻辑代码是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤103,基于数据调度任务指令,获取数据调度任务指令对应的M个目标数据调度任务、M个目标数据调度任务间的调度依赖关系及M个目标数据调度任务对应的目标调度任务类别。
M为大于1的整数。
其中,一个数据调度任务指令对应于一个任务流,一个任务流中包含至少两个数据调度任务。
数据调度任务指令可以是由用户进行的触发,或者是设置的定时任务在设定时刻到达时进行的触发。
在获取到数据调度任务指令时,基于该数据调度任务指令获取到对应的任务流信息,该任务流信息中包括任务名、任务流中的数据调度任务、任务类型、调度脚本文件、调度时间及队列等信息。通过该任务流信息,可以识别出数据调度任务指令对应的M个目标数据调度任务,M个目标数据调度任务间的调度依赖关系及M个目标数据调度任务对应的目标调度任务类别。
其中,该调度依赖关系用于指示M个目标数据调度任务之间在任务执行上的关联关系,该关联关系例如包括:任务所属的任务流、多个数据调度任务间的上下游依赖关系、与该调度依赖关系对应的前置任务及后置任务,任务间的执行顺序等。
目标调度任务类别的确定具体可以基于数据调度任务指令对应的M个目标数据调度任务与事先归类得到的调度任务类别进行匹配,得到M个目标数据调度任务对应的目标调度任务类别。
其中,该M个目标数据调度任务可以是对应于同一个目标调度任务类别,或者,M个目标数据调度任务对应于不同的目标调度任务类别,或者M个目标数据调度任务中部分目标数据调度任务对应于不同的目标调度任务类别。
与数据调度任务指令对应的M个目标数据调度任务,在具体应用中,例如是:
数据调度任务指令为将数据从用户界面存储至后台数据库,则该数据调度任务指令对应的M个目标数据调度任务可能包括从用户界面的数据栏位中读取输入的数据、从输入的数据中选取关键字、利用关键字从数据库中查找对应的库表及将输入的数据在该库表中做入库操作等数据调度任务,该过程具体是一个数据从用户界面入库至后台数据库的数据调度逻辑;不同地,数据调度任务指令还例如是从后台数据库查询数据,将查询结果反馈至用户界面,则该数据调度任务指令对应的M个目标数据调度任务可能包括利用关键字从数据库中查找对应的库表、从库表中读取匹配到的数据及输出查询结果至用户界面等数据调度任务;或者,数据调度任务指令为在上游系统及下游系统之间进行数据推送或迁移,则该数据调度任务指令对应的M个目标数据调度任务为持续地进行数据推送或迁移的任务。
步骤104,基于目标调度任务类别,获取与目标调度任务类别相匹配的目标通用逻辑代码。
在确定出M个目标数据调度任务对应的目标调度任务类别之后,则可以依据调度任务类别与通用逻辑代码之间的对应关系,匹配得到对应的目标通用逻辑代码。
该过程中,针对数据调度任务指令对应的M个目标数据调度任务,加入对自定义operator的类型匹配与判断,实现利用预构建的通用逻辑代码,对数据调度任务指令对应的M个目标数据调度任务的代码自动化匹配,省去人为配置过程,提升数据调度工具在多样化的业务应用背景下的适配性程度、兼容性程度,提升可操作性程度。
步骤105,基于该调度依赖关系,通过目标通用逻辑代码,依次执行M个目标数据调度任务。
在匹配得到M个目标数据调度任务对应的目标通用逻辑代码后,则可以基于M个目标数据调度任务之间的调度依赖关系,确定各调度任务的前置任务、后置任务、执行顺序等。即可以依照该调度依赖关系,执行M个目标数据调度任务所对应的目标通用逻辑代码,实现M个目标数据调度任务对数据的调度。
具体地,作为一可选的实施方式,若M个目标数据调度任务对应于不同的目标调度任务类别,则基于调度依赖关系,通过目标通用逻辑代码,依次执行M个目标数据调度任务,包括:
基于该调度依赖关系,确定M个目标数据调度任务间的调度次序;基于该调度次序,确定M个目标数据调度任务各自对应的目标调度任务类别的目标通用逻辑代码的执行次序;依照该执行次序,通过目标通用逻辑代码依次执行M个目标数据调度任务。
当M个目标数据调度任务对应于不同的目标调度任务类别,则说明M个目标数据调度任务会对应有多个不同的目标通用逻辑代码,需要结合M个目标数据调度任务间的依赖关系所决定的调度次序(即任务执行次序)来确定多个不同的目标通用逻辑代码间的代码执行次序,依照该代码执行次序,执行该些目标通用逻辑代码,实现M个目标数据调度任务对数据的调度。
具体地,作为另一可选的实施方式,若M个目标数据调度任务对应于相同的目标调度任务类别,则基于调度依赖关系,通过目标通用逻辑代码,依次执行M个目标数据调度任务,包括:
基于调度依赖关系,确定M个目标数据调度任务间的调度次序;运行目标通用逻辑代码,依照调度次序依次执行M个目标数据调度任务。
若M个目标数据调度任务属于相同的调度任务类别,对应于相同的目标通用逻辑代码,则在执行M个目标数据调度任务时,按照M个目标数据调度任务的调度次序,对目标通用逻辑代码进行运行即可。
本申请实施例,通过根据将N个数据调度任务依照数据调度任务之间的共性调度逻辑进行归类得到的调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码,基于数据调度任务指令,获取对应的M个目标数据调度任务、任务间的调度依赖关系及对应的目标调度任务类别,获取与目标调度任务类别相匹配的目标通用逻辑代码,并最终基于调度依赖关系,通过目标通用逻辑代码,依次执行该些目标数据调度任务,省去人为配置过程,提升数据调度工具在多样化的业务应用背景下的适配性程度、兼容性程度,提升可操作性程度。
本申请实施例中还提供了数据调度方法的不同实施方式。
参见图2,图2是本申请实施例提供的一种数据调度方法的流程图二。如图2所示,一种数据调度方法,该方法包括以下步骤:
步骤201,获取前端界面中输入的任务配置信息。
该任务配置信息包括:设定组别的数据调度任务及每个组别中各个数据调度任务间的调度依赖关系。
步骤202,基于任务配置信息,在数据库建立第一表,将设定组别的数据调度任务写入第一表,并在数据库中建立第二表,将每个组别中各个数据调度任务间的调度依赖关系写入第二表。
将数据调度任务及任务间的调度依赖关系放入数据库表中,可对应在程序中改为从数据库的表读取相关配置信息,将配置细节脱离代码环境,有利于后续代码的维护及任务信息的管理。
其中,一个组别的数据调度任务对应于一个任务流,一个任务流对应于一个数据调度任务指令。该第一表中的数据调度任务及第二表中的任务间的调度依赖关系,为事先基于配置指令,配置好的信息。可以将数据调度任务指令所对应的任务流设置任务类型,具体地,不同的任务类型可以对应于不同的业务背景需求,通过任务流的任务类型,找到与当前一个数据调度任务的任务流相匹配的通用逻辑代码,直接通过该通用逻辑代码,结合在数据库中配置好的数据调度任务及任务间的调度依赖关系,实现对任务流中多个任务的执行。
将数据调度任务信息及任务间的调度依赖关系放入数据库表中,实现将其从底层逻辑代码中分离出来。一方面,可以适应不同业务背景需求,不需要修改底层逻辑代码,另一方面,在进行数据调度时,则可对应在程序中改为从数据库的表读取相关配置信息,直接从数据库中所存储的表中读取相关配置信息,将配置细节脱离代码环境,有利于后续代码的维护及任务信息的管理,增强任务调度工具在多样化的业务应用背景下的适配性程度、兼容性程度及可操作性程度。
步骤203,将N个数据调度任务依照数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别。
N为大于1的整数。
该步骤的实现过程与前述实施方式中的步骤101的实现过程相同,此处不再赘述。
步骤204,根据调度任务类别,生成与每一类别的共性调度逻辑对应的通用逻辑代码。
该步骤的实现过程与前述实施方式中的步骤102的实现过程相同,此处不再赘述。
步骤205,基于数据调度任务指令,从数据库的第一表中读取数据调度任务指令对应的M个目标数据调度任务,从数据库的第二表中读取M个目标数据调度任务间的调度依赖关系,及获取M个目标数据调度任务对应的目标调度任务类别。
M为大于1的整数。
其中,获取M个目标数据调度任务对应的目标调度任务类别的实现过程与前述实施方式中的步骤103的实现过程相同,此处不再赘述。
而关于数据调度任务指令对应的M个目标数据调度任务及M个目标数据调度任务间的调度依赖关系,则直接从已经构建好的数据库表中进行数据匹配及读取即可。
进一步地,作为一可选的实施方式,该第一表中还包括:用于标示数据调度任务的有效性的第一标志位;所述第二表中还包括:用于标识调度依赖关系的有效性的第二标志位。
在建立第一表时,在该表中配置用于标识任务的有效性的标志位字段,在建立第二表时,在该表中配置用于标识关系的有效性的标志位字段。
该标志位字段中可以进行取值设定,例如当数据调度任务为有效数据调度任务时,则将对应的标志位的取值设为1,当数据调度任务为无效数据调度任务时,则将对应的标志位的取值设为0;当调度依赖关系为有效关系时,则将对应的标志位的取值设为1,当调度依赖关系为无效关系时,则将对应的标志位的取值设为0。其中,标志位的取值可以是0、1等数值,也可以是“√”或“×”等设定的符号,或者是例如“Null”等标识字符,当有该标识字符时,认为标志数据调度任务或调度依赖关系为无效,当没有该字符时,则认为标志数据调度任务或调度依赖关系为有效。
对应地,在对一个数据调度任务或调度依赖关系的有效性进行判断时,通过对其标志位进行取值判断,则可以获知该数据调度任务或调度依赖关系的有效性,当数据调度任务或调度依赖关系为有效时,则可以对其执行后续操作,若数据调度任务或调度依赖关系为无效时,则跳过该数据调度任务或调度依赖关系,不对其执行后续操作。
在具体应用中,当面对多变的数据调度需求时,可以通过对该标志位的设置实现对一个任务流中当前要执行哪些数据调度任务进行调整,也可以通过标志位的数值设置实现对调整后的数据调度任务间的调度依赖关系进行调整,例如可以增加不同数据调度任务之间新的调度依赖关系通过其标志位将其设置为有效关系,也可以同时将旧的调度依赖关系通过其标志位将其设置为无效关系,改变数据调度任务的执行顺序、执行时刻等,适应复杂多变的数据调度需求,扩宽应用场景。
对应地,基于数据调度任务指令,从数据库的第一表中读取数据调度任务指令对应的M个目标数据调度任务,从数据库的第二表中读取M个目标数据调度任务间的调度依赖关系,包括:
基于数据调度任务指令,从数据库的第一表中确定数据调度任务指令指示的数据调度任务;从数据调度任务中筛选第一标志位为有效标志位的有效数据调度任务;从第二表中确定有效数据调度任务间的调度依赖关系;从有效数据调度任务间的调度依赖关系中筛选第二标志位为有效标志位的有效调度依赖关系;基于有效调度依赖关系,从有效数据调度任务中筛选出与有效调度依赖关系对应的数据调度任务,作为数据调度任务指令对应的M个目标数据调度任务;将有效调度依赖关系确定为M个目标数据调度任务间的调度依赖关系。
该过程中,两张表(第一表和第二表)中分别设置一个标志位字段,用来标识任务和任务间依赖关系的有效性,若标志位为有效值,则对应的任务和任务间依赖关系会被读取到调度工具中执行,反之则认为其无效,无需调度工具执行该任务。进一步实现了调度配置与代码环境的脱离,及配置读取过程的自动化识别。
进一步地,还可以通过标志位有效性设置指令对标志位的有效性进行设置,设置或调整其为有效标志位或无效标志位,或者对标志位字段的有效时间进行计时,使其在设定时长内保持有效,超出时长则由有效标志位调整为无效标志位。即,根据有效性设置指令,或者在有效时间时长计时到达时,将第一表中的目标任务的标志位字段中的字符设置为无效字符,和/或将第二表中的目标依赖关系的标志位字段中的字符设置为无效字符。
实现对数据调度任务及任务间的依赖关系的灵活有效调整,实现相关任务的便捷设置,增强任务调度工具在多样化的业务应用背景下的适配性程度、兼容性程度及可操作性程度。
步骤206,基于目标调度任务类别,获取与目标调度任务类别相匹配的目标通用逻辑代码。
该步骤的实现过程与前述实施方式中的步骤104的实现过程相同,此处不再赘述。
步骤207,基于调度依赖关系,通过目标通用逻辑代码,依次执行M个目标数据调度任务。
该步骤的实现过程与前述实施方式中的步骤105的实现过程相同,此处不再赘述。
本实施例中,上述各实施过程,通过配置化的方式来控制任务或作业流,可以实现配置与代码的分离,实现调度细节的可操控化和可调整性。在原有调度工具逻辑的基础上根据需求进行自定义修改,支持多种任务类型的定义及配置,调度工具可以根据数据库中的配置自动识别其任务类型而实现其逻辑,解决了原本较为单一的任务类型及调度方式。除此之外,改进之后的产品可以将其集成到自有的平台,从而实现了平台功能的完善性及专业性,改善平台使用者的体验。
参见图3,图3是本申请实施例提供的一种数据调度装置的结构图,为了便于说明,仅示出了与本申请实施例相关的部分。
该数据调度装置300包括:
类别设定模块301,用于将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别,N为大于1的整数;
生成模块302,用于根据所述调度任务类别,生成与每一类别的所述共性调度逻辑对应的通用逻辑代码;
获取模块303,用于基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别,M为大于1的整数;
匹配模块304,用于基于所述目标调度任务类别,获取与所述目标调度任务类别相匹配的目标通用逻辑代码;
执行模块305,用于基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务。
其中,获取模块,具体用于:
基于数据调度任务指令,从数据库的第一表中读取所述数据调度任务指令对应的M个目标数据调度任务,从所述数据库的第二表中读取M个所述目标数据调度任务间的调度依赖关系。
其中,所述第一表中还包括:用于标示数据调度任务的有效性的第一标志位;所述第二表中还包括:用于标识调度依赖关系的有效性的第二标志位。该获取模块,更具体用于:
基于数据调度任务指令,从数据库的第一表中确定所述数据调度任务指令指示的数据调度任务;从所述数据调度任务中筛选所述第一标志位为有效标志位的有效数据调度任务;
从所述第二表中确定所述有效数据调度任务间的调度依赖关系;从所述有效数据调度任务间的调度依赖关系中筛选所述第二标志位为有效标志位的有效调度依赖关系;
基于所述有效调度依赖关系,从所述有效数据调度任务中筛选出与所述有效调度依赖关系对应的数据调度任务,作为所述数据调度任务指令对应的M个目标数据调度任务;
将所述有效调度依赖关系确定为M个所述目标数据调度任务间的调度依赖关系。
其中,若M个所述目标数据调度任务对应于不同的目标调度任务类别,则执行模块,具体用于:
基于所述调度依赖关系,确定M个所述目标数据调度任务间的调度次序;
基于所述调度次序,确定M个所述目标数据调度任务各自对应的目标调度任务类别的目标通用逻辑代码的执行次序;
依照所述执行次序,通过所述目标通用逻辑代码依次执行M个所述目标数据调度任务。
其中,若M个所述目标数据调度任务对应于相同的目标调度任务类别,则执行模块,具体用于:
基于所述调度依赖关系,确定M个所述目标数据调度任务间的调度次序;
运行所述目标通用逻辑代码,依照所述调度次序依次执行M个所述目标数据调度任务。
该装置还包括:表创建模块,用于:
获取前端界面中输入的任务配置信息,所述任务配置信息包括:设定组别的数据调度任务及每个组别中各个所述数据调度任务间的调度依赖关系;
基于所述任务配置信息,在数据库建立第一表,将设定组别的所述数据调度任务写入所述第一表,并在所述数据库中建立第二表,将每个组别中各个所述数据调度任务间的调度依赖关系写入所述第二表。
其中,所述通用逻辑代码存储在区块链中。
本申请实施例提供的数据调度装置能够实现上述数据调度方法的实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
图4是本申请实施例提供的一种终端的结构图。如该图所示,该实施例的终端4包括:至少一个处理器40(图4中仅示出一个)、存储器41以及存储在所述存储器41中并可在所述至少一个处理器40上运行的计算机程序42,所述处理器40执行所述计算机程序42时实现上述任意各个方法实施例中的步骤。
所述终端4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端4的示例,并不构成对终端4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所述处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器41可以是所述终端4的内部存储单元,例如终端4的硬盘或内存。所述存储器41也可以是所述终端4的外部存储设备,例如所述终端4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器41还可以既包括所述终端4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序产品来实现,当计算机程序产品在终端上运行时,使得所述终端执行时实现可实现上述各个方法实施例中的步骤。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种数据调度方法,应用于服务器,其特征在于,包括:
将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别,N为大于1的整数;
根据所述调度任务类别,生成与每一类别的所述共性调度逻辑对应的通用逻辑代码;
基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别,M为大于1的整数;
基于所述目标调度任务类别,获取与所述目标调度任务类别相匹配的目标通用逻辑代码;
基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务。
2.根据权利要求1所述的数据调度方法,其特征在于,基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务及M个所述目标数据调度任务间的调度依赖关系,包括:
基于数据调度任务指令,从数据库的第一表中读取所述数据调度任务指令对应的M个目标数据调度任务,从所述数据库的第二表中读取M个所述目标数据调度任务间的调度依赖关系。
3.根据权利要求2所述的数据调度方法,其特征在于,所述第一表中还包括:用于标示数据调度任务的有效性的第一标志位;所述第二表中还包括:用于标识调度依赖关系的有效性的第二标志位;
所述基于数据调度任务指令,从数据库的第一表中读取所述数据调度任务指令对应的M个目标数据调度任务,从所述数据库的第二表中读取M个所述目标数据调度任务间的调度依赖关系,包括:
基于数据调度任务指令,从数据库的第一表中确定所述数据调度任务指令指示的数据调度任务;从所述数据调度任务中筛选所述第一标志位为有效标志位的有效数据调度任务;
从所述第二表中确定所述有效数据调度任务间的调度依赖关系;从所述有效数据调度任务间的调度依赖关系中筛选所述第二标志位为有效标志位的有效调度依赖关系;
基于所述有效调度依赖关系,从所述有效数据调度任务中筛选出与所述有效调度依赖关系对应的数据调度任务,作为所述数据调度任务指令对应的M个目标数据调度任务;
将所述有效调度依赖关系确定为M个所述目标数据调度任务间的调度依赖关系。
4.根据权利要求1所述的数据调度方法,其特征在于,若M个所述目标数据调度任务对应于不同的目标调度任务类别,则所述基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务,包括:
基于所述调度依赖关系,确定M个所述目标数据调度任务间的调度次序;
基于所述调度次序,确定M个所述目标数据调度任务各自对应的目标调度任务类别的目标通用逻辑代码的执行次序;
依照所述执行次序,通过所述目标通用逻辑代码依次执行M个所述目标数据调度任务。
5.根据权利要求1所述的数据调度方法,其特征在于,若M个所述目标数据调度任务对应于相同的目标调度任务类别,则所述基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务,包括:
基于所述调度依赖关系,确定M个所述目标数据调度任务间的调度次序;
运行所述目标通用逻辑代码,依照所述调度次序依次执行M个所述目标数据调度任务。
6.根据权利要求1所述的数据调度方法,其特征在于,所述基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别之前,还包括:
获取前端界面中输入的任务配置信息,所述任务配置信息包括:设定组别的数据调度任务及每个组别中各个所述数据调度任务间的调度依赖关系;
基于所述任务配置信息,在数据库建立第一表,将设定组别的所述数据调度任务写入所述第一表,并在所述数据库中建立第二表,将每个组别中各个所述数据调度任务间的调度依赖关系写入所述第二表。
7.根据权利要求1所述的数据调度方法,其特征在于,所述通用逻辑代码存储在区块链中。
8.一种数据调度装置,其特征在于,包括:
类别设定模块,用于将N个数据调度任务依照所述数据调度任务之间的共性调度逻辑进行归类,得到调度任务类别,N为大于1的整数;
生成模块,用于根据所述调度任务类别,生成与每一类别的所述共性调度逻辑对应的通用逻辑代码;
获取模块,用于基于数据调度任务指令,获取所述数据调度任务指令对应的M个目标数据调度任务、M个所述目标数据调度任务间的调度依赖关系及M个所述目标数据调度任务对应的目标调度任务类别,M为大于1的整数;
匹配模块,用于基于所述目标调度任务类别,获取与所述目标调度任务类别相匹配的目标通用逻辑代码;
执行模块,用于基于所述调度依赖关系,通过所述目标通用逻辑代码,依次执行M个所述目标数据调度任务。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN202110736074.1A 2021-06-30 2021-06-30 数据调度方法、装置、设备及存储介质 Pending CN113485804A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110736074.1A CN113485804A (zh) 2021-06-30 2021-06-30 数据调度方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110736074.1A CN113485804A (zh) 2021-06-30 2021-06-30 数据调度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113485804A true CN113485804A (zh) 2021-10-08

Family

ID=77937033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110736074.1A Pending CN113485804A (zh) 2021-06-30 2021-06-30 数据调度方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113485804A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800081A (zh) * 2018-12-14 2019-05-24 深圳壹账通智能科技有限公司 一种大数据任务的管理方法及相关设备
CN110222315A (zh) * 2019-06-11 2019-09-10 深圳市网心科技有限公司 一种数据统计方法、系统及电子设备和存储介质
CN110895484A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 任务调度方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110895484A (zh) * 2018-09-12 2020-03-20 北京奇虎科技有限公司 任务调度方法及装置
CN109800081A (zh) * 2018-12-14 2019-05-24 深圳壹账通智能科技有限公司 一种大数据任务的管理方法及相关设备
CN110222315A (zh) * 2019-06-11 2019-09-10 深圳市网心科技有限公司 一种数据统计方法、系统及电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN103064725B (zh) 处理特许事件的多个虚拟机监控器的使用
CN107451244B (zh) 文件夹命名方法、移动终端及计算机可读存储介质
CN112016312A (zh) 数据关系抽取方法、装置、电子设备及存储介质
CN107784063B (zh) 算法的生成方法及终端设备
CN107391561B (zh) 内容源页面中的广告处理方法、服务器及计算机可读介质
CN111523021B (zh) 一种信息处理系统及其执行的方法
WO2017157104A1 (zh) 信息复制系统、方法及电子设备和机器可读存储介质
CN112597182A (zh) 数据查询语句的优化方法、装置、终端及存储介质
CN112181386A (zh) 一种基于软件持续集成的代码构建方法、装置及终端
CN107679222B (zh) 图片处理方法、移动终端及计算机可读存储介质
CN109492249B (zh) 设计图的快速生成方法、装置及终端设备
CN113626576A (zh) 远程监督中关系特征抽取方法、装置、终端及存储介质
CN111597256A (zh) 一种交易异步处理方法
CN111814481A (zh) 购物意图识别方法、装置、终端设备及存储介质
CN113485804A (zh) 数据调度方法、装置、设备及存储介质
CN107609119B (zh) 文件处理方法、移动终端及计算机可读存储介质
CN107589962A (zh) 一种用户界面显示方法和装置
CN105354506A (zh) 隐藏文件的方法和装置
CN110018828B (zh) 源代码检查方法、装置及终端设备
CN113900956A (zh) 测试用例的生成方法、装置、计算机设备及存储介质
CN113157964A (zh) 一种语音搜索数据集的方法、装置及电子设备
CN114548040A (zh) 笔记处理方法、电子设备及存储介质
CN114491259A (zh) 一种数据推荐方法、装置、终端及存储介质
CN112596725A (zh) 编程作品的评分方法、评分装置、终端设备及存储介质
CN108595569B (zh) 文件路径复制方法、文件路径复制装置及移动终端

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