CN111061554A - 一种智能任务调度方法、装置、计算机设备及存储介质 - Google Patents

一种智能任务调度方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111061554A
CN111061554A CN201911301471.5A CN201911301471A CN111061554A CN 111061554 A CN111061554 A CN 111061554A CN 201911301471 A CN201911301471 A CN 201911301471A CN 111061554 A CN111061554 A CN 111061554A
Authority
CN
China
Prior art keywords
task
records
state
executable
target
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.)
Granted
Application number
CN201911301471.5A
Other languages
English (en)
Other versions
CN111061554B (zh
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.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service 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 Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN201911301471.5A priority Critical patent/CN111061554B/zh
Publication of CN111061554A publication Critical patent/CN111061554A/zh
Application granted granted Critical
Publication of CN111061554B publication Critical patent/CN111061554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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

一种智能任务调度方法、装置、计算机设备及存储介质
技术领域
本发明涉及任务调度领域,尤其涉及一种智能任务调度方法、装置、计算机设备及存储介质。
背景技术
现有技术中,一般业务系统在接收重复任务时,都是基于任务内容的完全一致性或基于热数据的缓存机制来处理重复任务,如果是针对不同业务场景但业务规则一致(或不同业务接口但查询条件一致)的任务,会被当做不同任务处理,但实际上只需要处理一次即可,即现有技术中针对这种业务场景并没有很好的处理方式,导致任务重复处理,任务吞吐量低,真实需要处理的任务被延时。
鉴于现有技术存在的上述问题,因此有必要对现有技术进行优化和改进。
发明内容
本发明实施例提供了一种智能任务调度方法、装置、计算机设备及存储介质,旨在实现支持重复任务的批处理,从而有效提高任务处理的吞吐量,解决任务堵塞问题。
第一方面,本发明实施例提供一种支持批处理的智能任务调度方法,包括:
预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
优选的,所述执行失败状态包括执行失败且可重试状态和执行失败且不可重试状态。
优选的,所述当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型,包括:
获取目标业务条件过滤器;
对所述目标业务条件过滤器进行解析,获取其中的目标可选字段。
优选的,所述从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值,包括:
从所述可执行任务记录集合中依次取出任务记录;
获取所取出的任务记录中与所述目标可选字段对应的字段值。
优选的,所述可选字段包括公司名称和公司ID。
优选的,还包括:
若所述可执行任务记录集合为空,则间隔预定周期后返回继续在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录。
优选的,还包括:
若所述执行成功任务记录集合为空,则对所述可执行任务记录集合中的任务记录进行任务处理,并根据执行结果更新任务状态。
第二方面,本发明实施例提供一种支持批处理的智能任务调度装置,包括:
预设单元,用于预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
解析单元,用于当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
第一查询单元,用于在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
第一获取单元,用于从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
第二查询单元,用于在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
第二获取单元,用于从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
批量处理单元,用于在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的支持批处理的智能任务调度方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述支持批处理的智能任务调度方法。
本发明实施例提供了一种智能任务调度方法、装置、计算机设备及存储介质,其中,方法包括:预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。本发明实施例的方法支持重复任务的批处理,能够有效提高任务处理的吞吐量,解决任务堵塞问题。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的支持批处理的智能任务调度方法的流程示意图;
图2为本发明实施例提供的支持批处理的智能任务调度装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的一种支持批处理的智能任务调度方法的流程示意图,该方法可以包括:
S101、预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
此步骤是约定任务记录的数据结构明细,其中任务记录的数据结构包括:任务类型、任务状态和可选字段的键值对。
其中,所述任务类型(business)用于标识具体的接口类型,当接收到请求时,可以根据任务类型确认请求的接口类型。所述任务状态(state)用来表示任务记录的执行状态,可用于任务状态流的判断和转换。
上述任务类型和任务状态均为必选字段,本发明实施例中除了必选字段之外,还可以包含可选字段,所述可选字段可以包括企业名称、企业ID和任务记录创建时间中的一种或几种。这些可选字段可以与其他必选字段进行组合,从而作为重复任务的判断条件。
本发明实施例的任务记录的数据结构包括多个键值对,在键值对中上述任务类型、任务状态和可选字段为key,对应的值即为value。
例如某任务记录的数据结构明细为
Figure BDA0002321900760000051
在上述数据结构中,除了包括上述任务类型和任务状态的键值对之外,还包含企业名称、企业ID和任务记录创建时间的键值对。
本发明实施例可以预先设置任务状态的枚举值,用于状态流的控制,例如:
state=0表示可执行状态
state=2表示执行中状态
state=1表示执行成功状态
state=-1表示执行失败且可重试状态
state=-2表示执行失败且不可重试状态
其中,可执行状态表示对应任务记录未被执行,可理解为待执行任务队列;执行中状态表示任务记录正被执行;执行成功状态表示任务记录已被执行成功;执行失败且可重试状态表示任务记录的执行结果为失败,并且可以重新执行,可理解为待重试任务队列;执行失败且不可重试状态表示任务记录的执行结果为识别,并且不可用重新执行,可理解为终止任务队列。
S102、当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
本发明实施例中,在数据中存储有多个任务记录,各个任务记录是按照上述的数据结构进行存储的,这些任务记录可以记录各个任务的执行状况以及各个任务的其他信息。
此步骤中,当接收到任务调度请求时,需要先对接收到的任务调度请求进行解析,因为调度方在发起任务调度请求时,会输入目标任务类型,所以此时可以解析获取其中的目标任务类型。
S103、在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
此步骤中,可以依据前述步骤中解析到的目标任务类型,在数据库中查询同样任务类型的所有任务记录,并且这些任务记录的任务状态均为可执行状态。即查询时应设定两个条件:其中一个是任务类型为目标任务类型;另一个是任务状态为可执行状态,然后将查询到的所有任务记录构成可执行任务记录集合。
S104、从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
此步骤中,可以从前述的可执行任务记录集合中取出一条任务记录,然后获取取出的任务记录的可选字段的字段值,例如,获取该任务记录中企业名称的字段值。当然,也可以获取该任务记录中企业ID的字段值。
S105、在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
本步骤中,可以在数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,即查询时应设定两个条件:其中一个是任务类型为目标任务类型;另一个是任务状态为执行成功状态,最终查询出符合上述两个条件的所有任务记录。
然后还要继续从查询到的所有任务记录中进一步筛选出需要的任务记录。筛选的方式是根据前述步骤中获取的字段值进行筛选,即将查询到的所有任务记录的可选字段与前述步骤中获取的可选字段的字段值进行比较,若二者相同,则确定是需要的任务记录,这样最终筛选出的需要的任务记录,并构成执行成功任务记录集合。
上述筛选的过程实际上是筛选出重复任务,即判断此步骤中查询出的任务记录哪些是与步骤S105中取出的任务记录属于重复任务,这样可以方便进行后续获取其执行结果,方便进行批量更新。
S106、从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
此步骤可以从所述执行成功任务记录集合中选出任意一条任务记录,因为取出的任意一条任务记录的任务状态均为执行成功状态,所以所获取的执行结果可以代表执行成功后得到的结果。
S107、在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
本步骤中,查询的目标与前述步骤查询的目标有所不同,即查询时设定的条件同样有两个:其中一个是任务类型为目标任务类型;另一个是任务状态为可执行状态、执行中状态和执行失败状态,即会查询在所述目标任务类型下三种任务状态的所有任务记录。
在查询到任务记录后,还需要进一步筛选,即将查询到的所有任务记录的可选字段与前述步骤(步骤S104)中获取的可选字段的字段值进行比较,若二者相同,则确定是需要的任务记录,这样最终筛选出的需要的任务记录。然后将筛选出的任务记录的任务状态批量更新为执行成功状态,例如假如是可执行状态的任务记录,则将其任务状态更新为执行成功状态;假如是执行中状态的任务记录,则将其任务状态更新为执行成功状态;假如是执行失败状态的任务记录,则将其任务状态更新为执行成功状态。
同时,还需要更新所有筛选出的任务记录的执行结果,即更新至前述步骤(S106)获取到的执行结果。
本发明实施例中,通过上述方式,可以对重复任务进行批处理,只要其中一条任务记录的任务状态为执行成功状态,代表相应任务处理成功,其他未成功任务均可批量更新,获取处理成功任务的执行结果,同样进行批量更新。
在一实施例中,所述步骤S102包括:
获取目标业务条件过滤器;
对所述目标业务条件过滤器进行解析,获取其中的目标可选字段。
本实施例中,对所述任务调度请求进行解析时,不仅获取目标任务类型,还获取目标业务条件过滤器,其中的目标业务条件过滤器代表用户请求任务调度时判断重复任务的组合条件。
具体地,可以对所述目标业务条件过滤器进行解析,获取目标可选字段。
因为判断不同任务是否属于重复任务,可以有不同的方式,本发明实施例可以根据可选字段的字段值来判断不同任务是否属于重复任务。若不同任务记录中,相同可选字段下的字段值相同,则说明对应任务属于重复任务。当然这也需要结合前述的任务类型来进行组合判断,即是在相同任务类型的前提下进行判断。
在一实施例中,所述步骤S104包括:
从所述可执行任务记录集合中依次取出任务记录;
获取所取出的任务记录中与所述目标可选字段对应的字段值。
本实施例中,可以依次从所述可执行任务记录集合中取出一条任务记录,然后执行后续的步骤,即执行到步骤S107结束,再返回取出下一条任务记录,再重复执行,直至从所述可执行任务记录集合中取出所有的任务记录。
另外,本实施例中,在取出任务记录后,其需要获取与所述目标可选字段对应的字段值,例如假设目标可选字段为公司名称,那么本实施例需要获取所取出的任务记录中公司名称对应的字段值;假设目标可选字段为公司ID,那么本实施例需要获取所取出的任务记录中公司ID对应的字段值。
在一实施例中,所述的支持批处理的智能任务调度方法还包括:
若所述可执行任务记录集合为空,则间隔预定周期后返回继续在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录。
本实施例中,如果可执行任务记录集合为空,说明无可执行任务,所以可以间隔一段时间后返回继续查询,然后执行后续步骤。
在一实施例中,所述的支持批处理的智能任务调度方法还包括:
若所述执行成功任务记录集合为空,则对所述可执行任务记录集合中的任务记录进行任务处理,并根据执行结果更新任务状态。
在本实施例中,如果执行成功任务记录集合为空,说明无重复任务的执行成功记录,所以无法对按照后续步骤进行批量更新(批处理),故需要一条一条的对所述可执行任务记录集合中的任务记录进行任务处理。
此时,如果任务执行成功,更新任务状态为state=1(表示执行成功状态);如果任务执行失败,更新任务状态为state=-1(表示执行失败且可重试状态)。
一个具体实施例如下:business1(任务类型为目标任务类型)当前有10条任务记录,其中执行成功1条(state=1),执行失败1条(state=-1),待执行8条(state=0),目标业务条件过滤器包含company_name(企业名称)和company_id(企业ID),则执行步骤:
1、根据任务类型、任务状态查询可执行记录条数count,查询条件可理解为business=business1 and state=0,
查询结果为count=8;
2、取出一条可执行记录(任务状态为可执行状态的任务记录),可获取字段company_name的字段值company_name1、字段company_id的字段值company_id1,然后执行步骤3;
3、根据任务类型、任务状态、以及步骤2获取的company_name,company_id查询重复任务的执行成功记录条数count,查询条件可理解为
business=business1 and state=1
and filter={company_name:company_name1,company_id:company_id1}
查询结果为count=1;
4、取出一条重复任务的执行成功记录(任务状态为执行成功状态的任务记录),并获取其执行结果results;
5、根据任务类型、任务状态、以及步骤2获取的company_name,company_id、以及步骤4获取的results,批量更新所有可执行记录(任务状态为可执行状态的任务记录)、执行中记录(任务状态为执行中状态的任务记录)、执行失败记录(任务状态为执行失败状态的任务记录)的任务状态为state=1(表示执行成功状态)和执行结果results,查询条件可理解为
business=business1 and state in(0,-1,2,-2)
and filter={company_name:company_name1,company_id:company_id1}
6、完成一次批处理操作。
请参阅图2,图2为本发明实施例提供的一种支持批处理的智能任务调度装置200的示意性框图,该装置200可以包括:
预设单元201,用于预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
解析单元202,用于当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
第一查询单元203,用于在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
第一获取单元204,用于从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
第二查询单元205,用于在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
第二获取单元206,用于从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
批量处理单元207,用于在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
在一实施例中,所述执行失败状态包括执行失败且可重试状态和执行失败且不可重试状态。
在一实施例中,所述解析单元202包括:
过滤器获取单元,用于获取目标业务条件过滤器;
字段获取单元,用于对所述目标业务条件过滤器进行解析,获取其中的目标可选字段。
在一实施例中,所述第一获取单元204包括:
任务记录取出单元,用于从所述可执行任务记录集合中依次取出任务记录;
字段值获取单元,用于获取所取出的任务记录中与所述目标可选字段对应的字段值。
在一实施例中,所述可选字段包括公司名称和公司ID。
在一实施例中,所述的支持批处理的智能任务调度装置还包括:
返回查询单元,用于若所述可执行任务记录集合为空,则间隔预定周期后返回继续在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录。
在一实施例中,所述的支持批处理的智能任务调度装置还包括:
任务处理单元,用于若所述执行成功任务记录集合为空,则对所述可执行任务记录集合中的任务记录进行任务处理,并根据执行结果更新任务状态。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本发明还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被处理器执行时可以实现上述实施例所提供的方法。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明还提供了一种计算机设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的方法。当然所述计算机设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种支持批处理的智能任务调度方法,其特征在于,包括:
预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
2.根据权利要求1所述的支持批处理的智能任务调度方法,其特征在于,所述执行失败状态包括执行失败且可重试状态和执行失败且不可重试状态。
3.根据权利要求1所述的支持批处理的智能任务调度方法,其特征在于,所述当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型,包括:
获取目标业务条件过滤器;
对所述目标业务条件过滤器进行解析,获取其中的目标可选字段。
4.根据权利要求3所述的支持批处理的智能任务调度方法,其特征在于,所述从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值,包括:
从所述可执行任务记录集合中依次取出任务记录;
获取所取出的任务记录中与所述目标可选字段对应的字段值。
5.根据权利要求1所述的支持批处理的智能任务调度方法,其特征在于,所述可选字段包括公司名称和公司ID。
6.根据权利要求1所述的支持批处理的智能任务调度方法,其特征在于,还包括:
若所述可执行任务记录集合为空,则间隔预定周期后返回继续在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录。
7.根据权利要求1所述的支持批处理的智能任务调度方法,其特征在于,还包括:
若所述执行成功任务记录集合为空,则对所述可执行任务记录集合中的任务记录进行任务处理,并根据执行结果更新任务状态。
8.一种支持批处理的智能任务调度装置,其特征在于,包括:
预设单元,用于预先设置任务记录的数据结构,所述数据结构包括任务类型、任务状态和可选字段的键值对;
解析单元,用于当接收到任务调度请求时,对所述任务调度请求进行解析,获取其中的目标任务类型;
第一查询单元,用于在数据库中查询所述目标任务类型下任务状态为可执行状态的所有任务记录,并构成可执行任务记录集合;
第一获取单元,用于从所述可执行任务记录集合中依次取出任务记录,获取所取出的任务记录的可选字段的字段值;
第二查询单元,用于在所述数据库中查询所述目标任务类型下任务状态为执行成功状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,构成执行成功任务记录集合;
第二获取单元,用于从所述执行成功任务记录集合中选取任意一条任务记录,并获取其执行结果;
批量处理单元,用于在所述数据库中查询所述目标任务类型下任务状态为可执行状态、执行中状态和执行失败状态的所有任务记录,并从中筛选出与所述可选字段的字段值相同的任务记录,然后将所有筛选出的任务记录的任务状态批量更新为执行成功状态,并更新执行结果。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的支持批处理的智能任务调度方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述支持批处理的智能任务调度方法。
CN201911301471.5A 2019-12-17 2019-12-17 一种智能任务调度方法、装置、计算机设备及存储介质 Active CN111061554B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911301471.5A CN111061554B (zh) 2019-12-17 2019-12-17 一种智能任务调度方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911301471.5A CN111061554B (zh) 2019-12-17 2019-12-17 一种智能任务调度方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111061554A true CN111061554A (zh) 2020-04-24
CN111061554B CN111061554B (zh) 2023-01-17

Family

ID=70301970

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911301471.5A Active CN111061554B (zh) 2019-12-17 2019-12-17 一种智能任务调度方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111061554B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813845A (zh) * 2020-06-29 2020-10-23 平安国际智慧城市科技股份有限公司 基于etl任务的增量数据抽取方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178126A1 (en) * 2013-12-23 2015-06-25 International Business Machines Corporation Backfill scheduling for embarrassingly parallel jobs
CN106775985A (zh) * 2016-12-26 2017-05-31 中国建设银行股份有限公司 一种批处理任务调度方法及装置
CN106933875A (zh) * 2015-12-31 2017-07-07 北京城市网邻信息技术有限公司 数据查询方法及装置
CN109726983A (zh) * 2018-12-19 2019-05-07 平安国际融资租赁有限公司 审批任务分配方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150178126A1 (en) * 2013-12-23 2015-06-25 International Business Machines Corporation Backfill scheduling for embarrassingly parallel jobs
CN106933875A (zh) * 2015-12-31 2017-07-07 北京城市网邻信息技术有限公司 数据查询方法及装置
CN106775985A (zh) * 2016-12-26 2017-05-31 中国建设银行股份有限公司 一种批处理任务调度方法及装置
CN109726983A (zh) * 2018-12-19 2019-05-07 平安国际融资租赁有限公司 审批任务分配方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111813845A (zh) * 2020-06-29 2020-10-23 平安国际智慧城市科技股份有限公司 基于etl任务的增量数据抽取方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111061554B (zh) 2023-01-17

Similar Documents

Publication Publication Date Title
US11068323B2 (en) Automatic registration of empty pointers
US7721288B2 (en) Organizing transmission of repository data
US11726774B2 (en) Application programming interface for a registry
US8756593B2 (en) Map generator for representing interrelationships between app features forged by dynamic pointers
US11210072B2 (en) System for generating a map illustrating bindings
US9390176B2 (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
US20040230964A1 (en) System and method for managing source code and acquiring metrics in software development
US20130318496A1 (en) Detection of central-registry events influencing dynamic pointers and app feature dependencies
CN111176578B (zh) 一种对象聚合方法、装置、设备及可读存储介质
CN110795614A (zh) 一种索引自动优化方法及装置
CN106599167B (zh) 一种支持增量升级数据库的系统和方法
CN111061554B (zh) 一种智能任务调度方法、装置、计算机设备及存储介质
US7107290B2 (en) Method and system for automatically checking-out/in and replicating documents in databases
CN113625967B (zh) 数据存储方法、数据查询方法及服务器
CN106648550B (zh) 用于并发执行任务的方法与设备
JP2010152435A (ja) 情報処理装置及び情報処理方法及びプログラム
CN110221952B (zh) 业务数据的处理方法及装置、业务数据处理系统
CN112632132A (zh) 一种异常导入数据的处理方法、装置及设备
CN116091225A (zh) 交易行为监测方法、装置、设备及可读存储介质
JP2008009966A (ja) 業務プロセス設定装置及び業務プロセス設定方法
CN115509894A (zh) 一种基于集成测试工具自动提交缺陷的方法
CN113821501A (zh) 一种数据归档方法及装置
CN116431471A (zh) 一种测试方法、装置、电子设备和可读存储介质
CN115374097A (zh) 数据库清理方法、装置、设备及可读存储介质
CN113704284A (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
GR01 Patent grant
GR01 Patent grant