CN112416552B - 主任务处理方法、装置、服务器和存储介质 - Google Patents
主任务处理方法、装置、服务器和存储介质 Download PDFInfo
- Publication number
- CN112416552B CN112416552B CN202011307444.1A CN202011307444A CN112416552B CN 112416552 B CN112416552 B CN 112416552B CN 202011307444 A CN202011307444 A CN 202011307444A CN 112416552 B CN112416552 B CN 112416552B
- Authority
- CN
- China
- Prior art keywords
- main task
- task
- target
- preamble
- state
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种主任务处理方法、装置、服务器和存储介质,通过若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性;其中,顺序属性为可间断执行属性或不可间断执行属性;根据目标主任务的顺序属性,对目标主任务进行处理,实现对有严格顺序依赖的主任务的处理,保证了主任务从预处理分发到最终执行完毕的整个过程的有序性,能够满足特殊场景下的使用需求,拓宽了主任务处理机制的适用范围。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种主任务处理方法、装置、服务器和存储介质。
背景技术
批处理任务,也叫做主任务,是指由一系列子任务按照一定规则组合后得到的一组适于批量处理的任务,由于批处理不需要人工干预,故具有资源利用率高、吞吐量大等优势,在大型银行等涉及对海量数据进行处理的业务场景中备受青睐。
现有技术中,通过主任务预处理巡检器通过结构化查询语言(structured querylanguage,SQL)语句筛选数据库主任务表得到符合条件的多个主任务,并批量修改这些主任务的阶段状态使其进入预处理阶段,实现主任务的分发。
然而,现有技术的方法会使多条主任务同时进入处理阶段,不能满足特殊场景下主任务的串行处理需求。
发明内容
本申请实施例提供一种主任务处理方法、装置、服务器和存储介质,实现了对主任务的串行处理,满足了特殊场景下的使用需求。
第一方面,本申请实施例提供一种主任务处理方法,包括:
若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性;
根据所述目标主任务的顺序属性,对所述目标主任务进行处理。
可选地,所述根据所述目标主任务的顺序属性,对所述目标主任务进行处理,包括:
若所述目标主任务的顺序属性为可间断执行属性,则将主任务参数表中最接近所述目标主任务的前序主任务作为第一前序主任务;
根据所述第一前序主任务的任务状态,对所述目标主任务进行处理。
可选地,所述根据所述目标主任务的顺序属性,对所述目标主任务进行处理,包括:
若所述目标主任务的顺序属性为不可间断执行属性,则将任务执行顺序规则中最接近所述目标主任务的前序主任务作为第二前序主任务;
确定主任务参数表中是否包括所述第二前序主任务;
根据确定结果,对所述目标主任务进行处理。
可选地,所述第一前序主任务的任务状态包括完成状态和未完成状态;所述根据所述第一前序主任务的任务状态,对所述目标主任务进行处理,包括:
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第一前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
可选地,所述采用延迟策略对所述目标主任务进行分发,包括:
延迟预设时长后,确定所述第一前序主任务的任务状态是否为完成状态;
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发。
可选地,所述采用即时策略对所述目标主任务进行分发,包括:
构建包括所述目标主任务的主任务消息;
将所述主任务消息发送给消息中间件或目标主任务执行节点。
可选地,所述根据确定结果,对所述目标主任务进行处理,包括:
若确定所述主任务参数表中不包括所述第二前序主任务,则更新所述目标主任务的失序次数;
确定所述失序次数是否达到告警阈值;
若所述失序次数达到所述告警阈值,则进行告警。
可选地,所述根据确定结果,对所述目标主任务进行处理,包括:
若确定所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
可选地,所述第二前序主任务的任务状态包括完成状态和未完成状态,所述根据所述第二前序主任务的任务状态,对所述目标主任务进行分发,包括:
若所述第二前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第二前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
可选地,所述方法还包括:
若所述失序次数未达到所述告警阈值,则延迟预设时长后,确定所述主任务参数表中是否包括所述第二前序主任务;
若所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
第二方面,本申请实施例提供一种主任务处理装置,包括:
第一处理模块,用于若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性;
第二处理模块,用于根据所述目标主任务的顺序属性,对所述目标主任务进行处理。
第三方面,本申请实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面所述的主任务处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的主任务处理方法。
本申请实施例提供的主任务处理方法、装置、服务器和存储介质,通过若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性;其中,顺序属性为可间断执行属性或不可间断执行属性;根据目标主任务的顺序属性,对目标主任务进行处理,实现对有严格顺序依赖的主任务的处理,保证了主任务从预处理分发到最终执行完毕的整个过程的有序性,能够满足特殊场景下的使用需求,拓宽了主任务处理机制的适用范围。
附图说明
图1为本申请实施例的应用场景示意图;
图2为本申请实施例一提供的主任务处理方法的流程示意图;
图3为本申请实施例一中S102的一种具体实现方式的流程示意图;
图4为本申请实施例一提供的主任务处理方法的一种执行逻辑示意图;
图5为本申请实施例三提供的主任务处理装置的结构示意图;
图6为本申请实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
本申请提供一种对主任务进行顺序处理的技术方案,主要应用于集群系统中,示例性地,图1为本申请实施例的应用场景示意图,如图1所示,以集群系统中包括三个节点:节点A、节点B和节点C为例,其中,任意一个节点都可作为本申请方法实施例的执行主体,缓存服务器D用于存储分布式锁,共享数据库用于存储需要处理的主任务和主任务参数表,消息中间件用于实现主任务的分发、认领及执行过程的解耦。
实施例一
图2为本申请实施例一提供的主任务处理方法的流程示意图,本实施例的方法可以由本申请实施例所提供的主任务处理装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器服务器中。如图2所示,本实施例的主任务处理方法包括:
S101、若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性。
本步骤中,为适应具有不同的顺序特点的主任务的处理需要,在确定出目标主任务为顺序执行类主任务后,会进一步确定目标主任务的顺序属性。
示例性地,在执行S101之前,可以通过网络的方式从共享数据库中获取主任务参数表,主任务参数表可以为共享数据库中一段时期内(如一天之内)接收到的主任务的任务清单,主任务参数表中还可以包括主任务的标识(编号、名称等)及其配置信息,配置信息中可以包括如主任务的任务类型、任务状态、顺序属性、顺序规则等。
其中,任务类型,用于描述对应主任务的处理方式,是需要快速并行处理,还是需要保序处理,可选地,本实施例中,任务类型分为顺序执行类和并行执行类两种。
任务状态,用于描述对应主任务的当前状态,与并行执行类主任务不同,顺序执行类主任务,通常只需要关注其是否为完成状态,可选地,本实施例中,主任务的任务状态分为完成状态和未完成状态两种。
顺序属性,用于描述对应主任务的顺序特点,即是否需要严格遵守顺序规则中规定的前后依赖关系,可选地,本实施例中,顺序属性分为可间断执行属性和不可间断执行属性两种。
顺序规则,用于描述具有前后依赖关系的多个主任务的执行顺序,如主任务a必须在主任务b之前执行等,通常通过顺序编号体现,顺序编号越小的主任务,其执行顺序越靠前。
相应地,本步骤中,可以根据目标主任务的标识,查询主任务参数表,从而根据主任务参数表中记录的主任务类型,确定目标主任务的类型是否为顺序执行类型。若为顺序执行类型,则进一步确定目标主任务的顺序属性,确定目标主任务的顺序属性的具体实现方式与确定目标主任务的任务类型的方式类似,即根据目标主任务的标识,通过查询主任务参数表的方式进行确定。
可以理解的是,当接收到新的主任务或主任务的任务状态等配置信息发生变化时,共享数据库都会对主任务参数表都会进行相应的更新,并将最新的主任务参数表发送给集群系统中的各个节点,相应地,各节点通过刷新主任务参数表的方式,就可以得到最新的主任务参数表,从而保证获取主任务参数表中信息的实效性和可用性。
S102、根据目标主任务的顺序属性,对目标主任务进行处理。
本步骤中,在S101之后,通过根据目标主任务的顺序属性的不同,采取不同的方式对目标主任务进行处理的方式,实现了对具有不同顺序特点的主任务的适应性处理,满足了不同场景下的使用需求,并提高主任务的分发效率。
在一种可能的实现方式中,图3为本申请实施例一中S102的一种具体实现方式的流程示意图,如图3所示,本实现方式中S102包括:
S1021、若目标主任务的顺序属性为可间断执行属性,则将主任务参数表中最接近目标主任务的前序主任务作为第一前序主任务。
S1022、根据第一前序主任务的任务状态,对目标主任务进行处理。
本实施例中,对于顺序执行类型的主任务,会为具体前后依赖关系的多个主任务进行编号,得到对应的顺序编号,可以理解的是,顺序编号越小的主任务,其执行顺序越靠前,并且在主任务参数表中通过顺序规则的方式记录其前后依赖关系,如主任务a必须在主任务b之前执行等。需要说明的是,顺序编号小于目标主任务的顺序编号的主任务,即为目标主任务的前序主任务,若目标主任务的顺序编号为xxxx_4,则顺序编号为xxxx_1、xxxx_2、xxxx_3的主任务均为目标主任务为的前序主任务,而顺序编号为xxxx_5、xxxx_6……的主任务就不能叫做目标主任务的前序主任务。
可以理解的是,本实现方式中,在确定目标主任务的顺序编号后,通过查询主任务参数表中记录的主任务编号,就可以确定主任务参数表中包括的目标主任务的前序主任务有哪些。
在S1021中,将包含在主任务参数表中且最接近目标主任务的前序主任务作为第一前序主任务,即第一前序主任务是主任务参数表中包括的顺序编号最接近目标主任务的顺序编号的前序主任务。示例性地,若目标主任务的编号为xxxx_4,而主任务参数表中还包括顺序编号为xxxx_1、xxxx_2的两个前序主任务(顺序编号为xxxx_3的主任务可能由于文件过大,尚未保存成功),则顺序编号为2的主任务即为第一前序主任务。
类似地,本步骤中同样可以根据第一前序主任务的标识,通过查询主任务参数表的方式,确定第一前序主任务的任务状态。
可选地,第一前序主任务的任务状态包括完成状态和未完成状态。相应地,本步骤中,在确定出第一前序主任务的任务状态后,若第一前序主任务的任务状态为完成状态,则采用即时策略对目标主任务进行分发,若第一前序主任务的任务状态为未完成状态,则采用延迟策略对目标主任务进行分发。
即时策略具体包括:通过构建包括目标主任务的主任务消息,将主任务消息发送给消息中间件或发送给目标主任务的执行节点,完成目标主任务的分发。在构建主任务消息时,具体地,可以通过从共享数据库中获取目标主任务,并为目标主任务添加分布式锁,再根据使用的消息协议,进行主任务消息的构建。
延迟策略具体包括:(1)延迟预设时长(delay_time)后,确定第一前序主任务的任务状态是否为完成状态,(2)若第一前序主任务的任务状态为完成状态,则采用前述的即时策略对目标主任务进行分发;若第一前序主任务的任务状态为未完成状态,则重复(1),直到第一前序主任务状态变为完成状态为止(即直到第一前序主任务执行完毕)。其中,预设时长(delay_time)是可以根据实际情况进行配置的,从而适应不同场景下的使用需求。
需要说明的是,在每次确定第一前序主任务的任务状态是否为完成状态之前,都会对主任务参数表进行刷新,以保证主任务参数表的时效性,从而保证操作的准确性。
本步骤中,对于可间断执行属性的目标主任务,采用根据主任务参数表中第一前序主任务的任务状态(即当前可执行的前序主任务的情况),对目标主任务进行分发,从而保证对目标主任务的分发效率。
S1023、若目标主任务的顺序属性为不可间断执行属性,则将任务执行顺序规则中最接近目标主任务的前序主任务作为第二前序主任务。
S1024、确定主任务参数表中是否包括第二前序主任务。
S1025、根据确定结果,对目标主任务进行处理。
在S1023,将任务执行顺序规则中确定的最接近目标主任务的前序主任务,作为第二前序主任务,第二前序主任务的确定与主任务参数表的无关,即第二前序主任务是顺序规则中限定的紧邻目标主任务的前序主任务。示例性地,若目标主任务的编号为xxxx_4,则xxxx_3即为第二前序主任务。为保证目标主任务的顺利执行和执行结果的准确性,本步骤中,根据主任务参数表中是否存在第二前序主任务,得到确定结果,并根据确定结果,对目标主任务进行处理。其中,确定结果包括主任务参数表中包括第二前序主任务和主任务参数表中不包括第二前序主任务两种,相应地:
若主任务参数表中不包括目标主任务(如顺序编号为xxxx_4)的第二前序主任务(如顺序编号为xxxx_3),则更新目标主任务的失序次数,并确定失序次数是否达到告警阈值,若失序次数达到所述告警阈值,则进行告警;若主任务参数表中包括目标主任务的第二前序主任务,则根据第二前序主任务的任务状态,对目标主任务进行分发。
可以理解的是,本步骤中,可以通过设置计数器的方式,对目标主任务的失序次数进行统计,计数器的初始值为0,每确定主任务参数表中不包括第二前序主任务一次,就将失序次数加1,并判断失序次数是否达到告警阈值,即允许的失序次数的最大值,若达到(失序次数大于或等于告警阈值),则进行告警,以通知到相关工作人员,进行问题的排查和解决等。
若未达到告警阈值(失序次数小于告警阈值),则延迟预设时长后,重复前序步骤,即再次确定主任务参数表中是否存在目标主任务的第二前序主任务,直到主任务参数表中出现第二前序主任务或失序次数达到告警阈值。
其中,告警阈值同样也可以根据实际的使用场景需求进行设定,对于告警阈值的具体取值,此处不做限制。
可选地,第二前序主任务的任务状态也可以包括完成状态和未完成状态,类似地,根据第二前序主任务的任务状态,对目标主任务进行分发,具体包括:若第二前序主任务的任务状态为完成状态,则采用即时策略对目标主任务进行分发;若第二前序主任务的任务状态为未完成状态,则采用延迟策略对目标主任务进行分发。其具体实现方式与根据第一前序主任务的任务状态,对目标主任务进行分发的具体实现方式类似,此处不再赘述。
需要说明的是,在每次确定主任务参数表中是否存在目标主任务的第二前序主任务之前,都会对主任务参数表进行刷新,以保证主任务参数表的时效性,从而保证操作的准确性。
示例性地,图4为本申请实施例一提供的主任务处理方法的一种执行逻辑示意图,在实际应用中,可通过图4所示执行逻辑实现对顺序执行类型的主任务的处理,具体地,在进行主任务分发前,需要先根据主任务参数表进行主任务的类型判断,若确定主任务的类型为并行执行类型,则按并行任务分发流程进行主任务的分发(即与其他符合要求的主任务一起构建主任务消息,并将主任务消息发送给消息中间件或主任务执行节点),若确定主任务的类型为顺序执行类型,则需要做进一步的分发判断,具体地,根据主任务参数表中记录的顺序属性,确定主任务是可间断执行属性还是不可间断执行属性。
若为可间断执行属性,进一步确定第一前序主任务(主任务参数表中包括的顺序编号最接近目标主任务的顺序编号的前序主任务)的任务状态是完成状态还是未完成状态,若为完成状态,则为主任务添加分布式锁,并在加锁成功后,进行主任务的分发(构建主任务消息,将主任务消息发送给消息中间件或主任务处理节点),若为未完成状态,则延迟第一预设时长后,再次判断第一前序主任务的任务状态是否为完成状态,若为完成状态,则为主任务添加分布式锁,并在加锁成功后,进行主任务的分发,若为未完成状态,继续延迟预设时长,即每确定第一前序主任务的任务状态为未完成状态一次,就延迟一个第一预设时长,直到确定第一前序主任务的任务状态为完成状态,完成对主任务的分发。
若为不可间断执行属性,则需要首先判断主任务参数表中是否存在第二前序主任务(顺序规则中限定的紧邻目标主任务的顺序编号的前序主任务),若存在第二前序主任务,则需要进一步判断第二前序主任务的任务状态,根据第二前序主任务的任务状态是完成状态还是未完成状态,采用不同的策略实现主任务的分发(与可间断执行属性中根据第一前序主任务的任务状态,进行主任务分发的具体实现方式类似);若主任务参数表中不存在第二前序主任务,则对失序次数进行累加,并判断失序次数是否超过告警阈值,若超过,则进行告警,若未超过,则延迟第二预设时长(与第一预设时长可以相同,也可以不同)后,再次判断主任务参数表中是否存在第二前序主任务,每判断主任务参数表中不存在第二前序主任务一次,失序次数就加一,直到确定主任务参数表中存在第二前序主任务或失序次数据达到告警阈值。
如图4所示,当加锁不成功时,需要延迟第三预设时长后,再次对主任务进行加锁,直到加锁成功,完成主任务的分发。其中,第三预设时长可以与第一预设时长或第二预设时长相同,也可以与第一预设时长及第二预设时长均不相同。需要说明的是,这里的分布式锁是针对某个特定的主任务进行添加的,因此,只有当该主任务执行完毕,才会释放对应的分布式锁。
可以理解的是,本实施例中的主任务分发均指预处理阶段的主任务分发,通过严格把控预处理阶段主任务的分发顺序,保证在前序主任务未完成的情况下,不进行后序主任务的预处理分发,从而有效保证了主任务从分发到执行整个过程的有序性。
本实施例中,通过若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性;其中,顺序属性为可间断执行属性或不可间断执行属性;根据目标主任务的顺序属性,对目标主任务进行处理,实现对有严格顺序依赖的主任务的处理,保证了主任务从预处理分发到最终执行完毕的整个过程的有序性,能够满足特殊场景下的使用需求,拓宽了主任务处理机制的适用范围。
实施例二
图5为本申请实施例三提供的主任务处理装置的结构示意图,如图5所示,本实施例中主任务处理装置10包括:
第一处理模块11和第二处理模块12。
第一处理模块11,用于若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性;
第二处理模块12,用于根据所述目标主任务的顺序属性,对所述目标主任务进行处理。
可选地,第二处理模块12具体用于:
若所述目标主任务的顺序属性为可间断执行属性,则将主任务参数表中最接近所述目标主任务的前序主任务作为第一前序主任务;
根据所述第一前序主任务的任务状态,对所述目标主任务进行处理。
可选地,第二处理模块12具体用于:
若所述目标主任务的顺序属性为不可间断执行属性,则将任务执行顺序规则中最接近所述目标主任务的前序主任务作为第二前序主任务;
确定主任务参数表中是否包括所述第二前序主任务;
根据确定结果,对所述目标主任务进行处理。
可选地,所述第一前序主任务的任务状态包括完成状态和未完成状态;第二处理模块12具体用于:
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第一前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
可选地,第二处理模块12具体用于:
延迟预设时长后,确定所述第一前序主任务的任务状态是否为完成状态;
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发。
可选地,第二处理模块12具体用于:
构建包括所述目标主任务的主任务消息;
将所述主任务消息发送给消息中间件或目标主任务执行节点。
可选地,第二处理模块12具体用于:
若确定所述主任务参数表中不包括所述第二前序主任务,则更新所述目标主任务的失序次数;
确定所述失序次数是否达到告警阈值;
若所述失序次数达到所述告警阈值,则进行告警。
可选地,第二处理模块12具体用于:
若确定所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
可选地,所述第二前序主任务的任务状态包括完成状态和未完成状态,第二处理模块12具体用于:
若所述第二前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第二前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
可选地,第二处理模块12还用于:
若所述失序次数未达到所述告警阈值,则延迟预设时长后,确定所述主任务参数表中是否包括所述第二前序主任务;
若所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
本实施例所提供的主任务处理装置可执行上述方法实施例所提供的主任务处理方法,具备执行方法相应的功能模块和有益效果。本实施例的实现原理和技术效果与上述方法实施例类似,此处不再一一赘述。
实施例三
图6为本申请实施例四提供的一种服务器的结构示意图,如图6所示,该服务器20包括存储器21、处理器22及存储在存储器上并可在处理器上运行的计算机程序;服务器2中0处理器22的数量可以是一个或多个,图6中以一个处理器22为例;服务器20中的处理器22、存储器21可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的第一处理模块11和第二处理模块12对应的程序指令/模块。处理器22通过运行存储在存储器21中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的主任务处理方法。
存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器22远程设置的存储器,这些远程存储器可以通过网格连接至服务器。上述网格的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例四
本申请实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在由计算机处理器执行时用于执行一种主任务处理方法,该方法包括:
若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性;
根据所述目标主任务的顺序属性,对所述目标主任务进行处理。
当然,本申请实施例所提供的一种包计算机可读存储介质,其计算机程序不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的主任务处理方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网格设备等)执行本申请各个实施例所述的方法。
值得注意的是,上述主任务处理装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (11)
1.一种主任务处理方法,其特征在于,包括:
若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性,所述顺序属性用于描述所述目标主任务的顺序特点;
根据所述目标主任务的顺序属性,对所述目标主任务进行处理;
其中,在所述若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性之前,包括:
从共享数据库中获取主任务参数表,其中,所述主任务参数表为共享数据库中预设时间内接收到的主任务的任务清单,所述主任务参数表包括所述主任务的标识及配置信息,所述配置信息中包括所述主任务的任务类型、任务状态、顺序属性和顺序规则,所述任务类型用于描述对应主任务的处理方式,所述任务类型分为顺序执行类和并行执行类;
根据所述目标主任务的标识,查询所述主任务参数表,根据所述主任务参数表中记录的所述主任务类型,确定所述目标主任务的类型是否为顺序执行类型;
其中,所述根据所述目标主任务的顺序属性,对所述目标主任务进行处理,包括:
若所述目标主任务的顺序属性为可间断执行属性,则将主任务参数表中最接近所述目标主任务的前序主任务作为第一前序主任务;
根据所述第一前序主任务的任务状态,对所述目标主任务进行处理;
若所述目标主任务的顺序属性为不可间断执行属性,则将所述主任务的标识紧邻所述目标主任务的标识的前序主任务作为第二前序主任务;
确定主任务参数表中是否包括所述第二前序主任务;
根据确定结果,对所述目标主任务进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一前序主任务的任务状态包括完成状态和未完成状态;所述根据所述第一前序主任务的任务状态,对所述目标主任务进行处理,包括:
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第一前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
3.根据权利要求2所述的方法,其特征在于,所述采用延迟策略对所述目标主任务进行分发,包括:
延迟预设时长后,确定所述第一前序主任务的任务状态是否为完成状态;
若所述第一前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发。
4.根据权利要求2或3所述的方法,其特征在于,所述采用即时策略对所述目标主任务进行分发,包括:
构建包括所述目标主任务的主任务消息;
将所述主任务消息发送给消息中间件或目标主任务执行节点。
5.根据权利要求1所述的方法,其特征在于,所述根据确定结果,对所述目标主任务进行处理,包括:
若确定所述主任务参数表中不包括所述第二前序主任务,则更新所述目标主任务的失序次数;
确定所述失序次数是否达到告警阈值;
若所述失序次数达到所述告警阈值,则进行告警。
6.根据权利要求1所述的方法,其特征在于,所述根据确定结果,对所述目标主任务进行处理,包括:
若确定所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
7.根据权利要求6所述的方法,其特征在于,所述第二前序主任务的任务状态包括完成状态和未完成状态,所述根据所述第二前序主任务的任务状态,对所述目标主任务进行分发,包括:
若所述第二前序主任务的任务状态为完成状态,则采用即时策略对所述目标主任务进行分发;
若所述第二前序主任务的任务状态为未完成状态,则采用延迟策略对所述目标主任务进行分发。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述失序次数未达到所述告警阈值,则延迟预设时长后,确定所述主任务参数表中是否包括所述第二前序主任务;
若所述主任务参数表中包括所述第二前序主任务,则根据所述第二前序主任务的任务状态,对所述目标主任务进行分发。
9.一种主任务处理装置,其特征在于,包括:
第一处理模块,用于若目标主任务属于顺序执行类主任务,则确定目标主任务的顺序属性;其中,所述顺序属性为可间断执行属性或不可间断执行属性,所述顺序属性用于描述所述目标主任务的顺序特点;
第二处理模块,用于根据所述目标主任务的顺序属性,对所述目标主任务进行处理;
其中,所述第一处理模块,还被配置为用于:
在所述若目标主任务属于顺序执行类主任务,则确定所述目标主任务的顺序属性之前,从共享数据库中获取主任务参数表,其中,所述主任务参数表为共享数据库中预设时间内接收到的主任务的任务清单,所述主任务参数表包括所述主任务的标识及配置信息,所述配置信息中包括所述主任务的任务类型、任务状态、顺序属性和顺序规则,所述任务类型用于描述对应主任务的处理方式,所述任务类型分为顺序执行类和并行执行类;
根据所述目标主任务的标识,查询所述主任务参数表,根据所述主任务参数表中记录的所述主任务类型,确定所述目标主任务的类型是否为顺序执行类型;
其中,所述第二处理模块,具体被配置为用于:
若所述目标主任务的顺序属性为可间断执行属性,则将主任务参数表中最接近所述目标主任务的前序主任务作为第一前序主任务;
根据所述第一前序主任务的任务状态,对所述目标主任务进行处理;
若所述目标主任务的顺序属性为不可间断执行属性,则将所述主任务的标识紧邻所述目标主任务的标识的前序主任务作为第二前序主任务;
确定主任务参数表中是否包括所述第二前序主任务;
根据确定结果,对所述目标主任务进行处理。
10.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一所述的主任务处理方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的主任务处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011307444.1A CN112416552B (zh) | 2020-11-19 | 2020-11-19 | 主任务处理方法、装置、服务器和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202011307444.1A CN112416552B (zh) | 2020-11-19 | 2020-11-19 | 主任务处理方法、装置、服务器和存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112416552A CN112416552A (zh) | 2021-02-26 |
| CN112416552B true CN112416552B (zh) | 2025-01-07 |
Family
ID=74773129
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202011307444.1A Active CN112416552B (zh) | 2020-11-19 | 2020-11-19 | 主任务处理方法、装置、服务器和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112416552B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119026735A (zh) * | 2024-08-05 | 2024-11-26 | 北京时空戳信息技术有限公司 | 一种生态修复数字化协同方法、装置及存储介质 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110472876A (zh) * | 2019-08-19 | 2019-11-19 | 北京首都在线科技股份有限公司 | 一种任务调度方法、装置及计算机可读存储介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| LU93299B1 (de) * | 2016-11-10 | 2018-06-13 | Phoenix Contact Gmbh & Co Kg Intellectual Property Licenses & Standards | Ablaufsteuerung von Programmmodulen |
| CN109144731B (zh) * | 2018-08-31 | 2024-08-09 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
| CN111338797B (zh) * | 2020-02-19 | 2023-09-05 | 望海康信(北京)科技股份公司 | 任务处理方法、装置、电子设备及计算机可读存储介质 |
| CN111752924A (zh) * | 2020-06-28 | 2020-10-09 | 平安科技(深圳)有限公司 | 一种数据库迁移方法、系统及存储介质 |
-
2020
- 2020-11-19 CN CN202011307444.1A patent/CN112416552B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110472876A (zh) * | 2019-08-19 | 2019-11-19 | 北京首都在线科技股份有限公司 | 一种任务调度方法、装置及计算机可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112416552A (zh) | 2021-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9426211B2 (en) | Scaling event processing in a network environment | |
| WO2017125015A1 (zh) | 分布式系统工作流处理方法和工作流引擎系统 | |
| US11736371B2 (en) | Heartbeat information sending method and apparatus, and heartbeat sending node | |
| US20050267951A1 (en) | Rolling upgrade of distributed software with automatic completion | |
| CN110445828A (zh) | 一种基于Redis的数据分布式处理方法及其相关设备 | |
| CN108459913B (zh) | 数据并行处理方法、装置及服务器 | |
| CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
| CN111580990A (zh) | 一种任务调度方法、调度节点、集中配置服务器及系统 | |
| CN104980515B (zh) | 一种云存储系统中消息分发处理方法和装置 | |
| US20240045985A1 (en) | Data query methods, apparatuses, and systems for multi-party secure database | |
| US20240311391A1 (en) | K-db database multi-node cluster scheduling method and system, device, and medium | |
| US9785697B2 (en) | Methods and apparatus for implementing a distributed database | |
| CN110781387A (zh) | 证券行情快照的推送方法、证券交易系统及存储介质 | |
| CN112416552B (zh) | 主任务处理方法、装置、服务器和存储介质 | |
| CN110471935B (zh) | 一种数据操作的执行方法、装置、设备和存储介质 | |
| CN108090056B (zh) | 数据查询方法、装置及系统 | |
| US10210200B2 (en) | Action-based routing of a transaction in an online transaction processing system | |
| CN112380030B (zh) | 主任务处理方法、装置、服务器和存储介质 | |
| CN113268327B (zh) | 事务请求的处理方法、装置和电子设备 | |
| CN109741180B (zh) | 区块链连续交易序号生成方法及装置、区块链网络节点 | |
| CN112448883A (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
| CN111176821A (zh) | 操作系统的多任务调度方法及装置 | |
| CN115952239B (zh) | 基于表达式的分布式分级计算系统、电子设备及存储介质 | |
| CN118353960A (zh) | 一种数据处理方法、装置、设备及介质 | |
| US20230388205A1 (en) | Cluster availability monitoring and alerting |
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 |