CN112181498A - 并发控制方法、装置和设备 - Google Patents
并发控制方法、装置和设备 Download PDFInfo
- Publication number
- CN112181498A CN112181498A CN202011072070.XA CN202011072070A CN112181498A CN 112181498 A CN112181498 A CN 112181498A CN 202011072070 A CN202011072070 A CN 202011072070A CN 112181498 A CN112181498 A CN 112181498A
- Authority
- CN
- China
- Prior art keywords
- target
- concurrency
- data set
- job
- time point
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 12
- 230000003203 everyday effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 12
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013468 resource allocation Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000002354 daily effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
Abstract
本说明书实施例提供了一种并发控制方法、装置和设备,并发控制方法、装置和设备可用于金融领域或其他领域,其中,该方法包括:获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点;基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,所述并发配置数据用于表征所述目标系统中各个作业组的并发数。在本说明书实施例中,可以及时、高效地为目标系统制定合理的并发调整方案,以在系统性能条件、作业运行时间条件满足的情况下尽可能利用并发在最短时间运行完目标系统中的所有作业。
Description
技术领域
本说明书实施例涉及信息处理技术领域,特别涉及一种并发控制方法、装置和设备。需要说明的是,本申请公开的并发控制方法、装置和设备可用于金融领域,也可用于除金融领域之外的任意领域,本申请公开的并发控制方法、装置和设备的应用领域不做限定。
背景技术
大数据时代,对于大数据的存储,处理和分析已经成为各个领域的重中之重,尤其是有庞大客户群体并且需要对客服务的公司集团等,在数据处理时对于一部分数据通常是需要利用批量调度系统每天批量处理。批量调度系统是针对海量处理作业的一定调度调配系统,随着批量调度系统需要处理的数据越来越多,合理的并发控制就显的尤为重要。
现有技术中的并发控制方法通常是根据人为设定的阈值,按作业组或者作业固定分配并发,一般情况不会进行调整。可以为一个或多个作业组一起分配一个固定并发,将分配结果存储进数据库,批量作业运行前先读取数据库中的并发配置表。随着系统中资源的变化、作业数和作业组的增加以及时效要求变化等均都需要人工进行干预,耗费人力且效率低,不能做到资源最大化地合理利用,也不能及时应对突发情况。由此可见,采用现有技术中的并发控制方法无法高效地进行合理的并发控制,以在相同的资源分配下尽可能多且快的运行作业。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种并发控制方法、装置和设备,以解决现有技术中无法高效地进行合理的并发控制,以在相同的资源分配下尽可能多且快的处理数据的问题。
本说明书实施例提供了一种并发控制方法,包括:获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点;基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,所述并发配置数据用于表征所述目标系统中各个作业组的并发数。
本说明书实施例还提供了一种并发控制装置,包括:获取模块,用于获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;第一确定模块,用于根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点;第二确定模块,用于基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,所述并发配置数据用于表征所述目标系统中各个作业组的并发数。
本说明书实施例还提供了一种并发控制设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中任意一个方法实施例的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现本说明书实施例中任意一个方法实施例的步骤。
本说明书实施例提供了一种并发控制方法,可以获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集,以根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点。进一步的,可以基于作业运行数据集,确定各个并发调整时间点的并发配置数据,其中,上述并发配置数据用于表征目标系统中各个作业组的并发数。从而可以及时、高效地根据系统性能数据集和作业运行数据集为目标系统制定合理的并发调整方案,以在系统性能条件、作业运行时间条件满足的情况下尽可能利用并发在最短时间运行完目标系统中的所有作业,有效提高了目标系统的资源利用率,降低了运维成本。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,并不构成对本说明书实施例的限定。在附图中:
图1是根据本说明书实施例提供的并发控制系统的结构示意图;
图2是根据本说明书实施例提供的并发控制方法的步骤示意图;
图3是根据本说明书实施例提供的目标系统的结构示意图;
图4是根据本说明书实施例提供的并发控制装置的结构示意图;
图5是根据本说明书实施例提供的并发控制设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
在本申请的一个场景示例中提供了一种并发控制系统,如图1所示,可以包括:终端设备101、服务器102,用户可以通过终端设备101发起并发调整请求。服务器102可以响应于用户提交的并发调整请求,获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集,并根据上述系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点,以及各个并发调整时间点的并发配置数据,从而可以及时、高效地制定合理的并发调整方案,以在相同的资源分配下尽可能多且快的运行作业。在一些场景示例中,服务器102还可以将确定出的各个并发调整时间点的并发配置数据反馈至终端设备101。
上述终端设备101可以是用户操作使用的终端设备或者软件。具体的,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表或者其它可穿戴设备等终端设备,也可以是机器人设备等。当然,终端设备101也可以是能运行于上述终端设备中的软件。例如:系统应用、支付应用、浏览器、微信小程序等应用软件。
上述服务器102可以是单一的服务器,也可以是服务器集群,当然,服务器的功能也可以是通过云计算技术实现的。该服务器102可以与多个终端设备相连,也可以是具备一个强大的信息集库的服务器,可以基于用户提交的并发调整请求,获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集,并根据上述系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点,以及各个并发调整时间点的并发配置数据,从而可以及时、高效地制定合理的并发调整方案,以在相同的资源分配下尽可能多且快的运行作业。
请参阅图2,本实施方式可以提供一种并发控制方法。该并发控制方法可以用于根据历史系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点,以及各个并发调整时间点的并发配置数据,从而可以及时、高效地制定合理的并发调整方案,以在相同的资源分配下尽可能多且快的运行作业。上述并发控制方法可以包括以下步骤。
S201:获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集。
在本实施方式中,可以获取目标系统在目标时间点之前的系统性能数据集和作业运行数据集。其中,上述目标系统可以为批量调度系统,上述目标时间点可以为预先设置的需要调整并发配置数据的时间点,例如:每天晚上8点等,当然,目标时间点不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述系统性能数据集中可以包含用于表征目标系统的性能的数据,在一些实施例中,上述系统性能数据集中可以包括以下至少之一:CPU占比、IO情况等。其中,上述IO(输入/输出,Input/Output),分为IO设备和IO接口两个部分,IO情况可以用于反映系统执行的效率,进而反映系统的性能;上述CPU(中央处理器,Central ProcessingUnit)占比为CPU占用的比率,可以影响每个作业运行的时间,CPU占比越高则说明系统执行效率越低、系统性能越差。由此可见,上述系统性能数据集中的数据可以用于表征目标系统的性能,从而可以作为确定并发配置数据的约束条件,即同时运行的作业数量不能高于多少等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述系统性能数据集中可以包含目标时间点和目标时间点之前的用于表征目标系统的性能的数据。当然可以理解的是,在目标时间点之后的系统性能相对于目标时间点和目标时间点之前的系统性能发生变化的情况下,上述系统性能数据集中还可以包含在目标时间点之后预设时间段内的用于表征目标系统的性能的数据,从而可以更准确地进行并发控制。上述在目标时间点之后预设时间段内的用于表征目标系统的性能的数据可以为用户输入的,也可以是目标系统的系统性能发生变化时自动写入目标系统的预设数据库中的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述作业运行数据集中可以包含用于表征目标系统中作业运行情况的数据。在一些实施例中,上述作业运行数据集中可以包括以下至少之一:目标系统的作业平均历史运行的时长、作业运行的开始时间、目标系统中各个作业组每天运行的时间段等。当然可以理解的是,在一些实施例中上述作业运行数据集中还可以包含其它数据,例如:作业运行依赖关系、作业优先级、作业历史运行时间等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集的方式可以包括:从目标系统中的预设数据库中查询得到,或者,接收用户向输入的目标系统的系统性能数据集和在目标时间点之前的作业运行数据集。当然可以理解的是,还可以采用其它可能的方式获取上述目标系统的系统性能数据集和在目标时间点之前的作业运行数据集,例如,在目标系统所在服务器配置定时任务,以使目标系统所在服务器定时采集并发送系统性能数据和作业运行数据,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S202:根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点。
在本实施方式中,由于不同时间段需要运行的作业数量不同,并且系统可以提供的资源也可能不同,因此,可以根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点。其中,上述并发调整时间点可以为需要进行并发调整的时间点。
在本实施方式中,可以以系统性能数据集为约束条件,在该约束条件下基于在目标时间点之前的作业运行数据集将并发控制转换为并发时间段调整,从而确定出在目标时间点之后的多个需要调整并发的时间点,进而可以通过调整并发获得单位时间内最小的作业运行平均时长。
在本实施方式中,可以确定在目标时间点之后预设时间段之内的多个并发调整时间点,上述预设时间段可以为6小时、一天,也可以一个星期,当然也可以为其它任何可能的值,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S203:基于作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,并发配置数据用于表征目标系统中各个作业组的并发数。
在本实施方式中,由于上述作业运行数据集中可以包含用于表征目标系统中作业运行情况的数据,因此,可以基于作业运行数据集确定在各个并发调整时间点目标系统中各个作业组的并发数。
在本实施方式中,根据上述作业运行数据集可以确定目标系统中包含多少作业组、各个作业之间的优先级关系、各个作业历史执行的时间等与作业相关的信息。由于同一个批量调度系统执行的作业在较长时间内基本相同,但是每个作业不同时间执行的内容和数据量会存在差异,并且目标系统每天同一时间段能提供的资源(总并发数)是基本固定的,因此,可以基于作业运行数据集确定在各个并发调整时间点目标系统中各个作业组的并发数。
在本实施方式中,在确定出各个并发调整时间点的并发配置数据之后,可以将各个并发调整时间点的并发配置数据存储至目标系统的预设数据库中,以便目标系统在目标时间点之后运行时可以从预设数据库中获取并发配置数据并及时调整并发,从而可以通过调整并发获得单位时间内最小的作业运行平均时长。
在本实施方式中,上述并发配置数据可以按数据文件的形式存储,也可以按配置文件或文本等形式存储。当然,并发配置数据存储的方式不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述目标系统的结构可以如图3中所示,目标系统中的作业组一般可以按功能区分,每个作业组包含作业数不定,不同作业组之间不存在作业组粒度的依赖关系,依赖关系以作业为粒度。图3中可以包括多个作业组:GROUP1、GROUP2、……、GROUPN,其中,每个作业组可以包含多个作业,例如:JOB_A、JOB_B、……、JOB_N。图3中的箭头表示依赖关系,例如:JOB_E需要JOB_A、JOB_B都运行结束,才满足运行条件。图3中的PRIORITY2表示作业的优先级,一般整条链路的优先级一致,如果有作业被其他链路使用则该作业优先级按最小的配置。链路是指作业从最早开始运行的作业也就是没有前序依赖的作业,到最后的作业即为没有后续依赖的作业包含的所有作业。如果优先级没有配置的作业,则默认优先级最低。
在本实施方式中,随着作业量的增加,作业之间的依赖关系复杂度增加。每个作业运行的优先级不同,脚本复杂度也不同。此外作业之间除了依赖关系,还会存在相关关系:前一天作业没有完成,下一天的相关作业不能满足运行条件,例如:当天JOB_K运行完成后需要将运行结果发送给JOB_A,以便JOB_A第二天(next day)根据JOB_K的运行结果运行。其中,作业依赖关系、相关关系、优先级等数据可以存储在不同的配置表中,上述配置表可以存储在目标系统的预设数据库中。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:可以获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集,以根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点。进一步的,可以基于作业运行数据集,确定各个并发调整时间点的并发配置数据,其中,上述并发配置数据用于表征目标系统中各个作业组的并发数。从而可以及时、高效地根据系统性能数据集和作业运行数据集为目标系统制定合理的并发调整方案,以在系统性能条件、作业运行时间条件满足的情况下尽可能利用并发在最短时间运行完目标系统中的所有作业,提高了目标系统的资源利用率,降低了运维成本。
在一个实施方式中,根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点,可以包括:将目标时间点之后的预设时间段划分为n个阶段,可以确定各个阶段的特征数据集;其中,特征数据集中包括当前阶段的N个状态值。进一步的,可以根据系统性能数据集和作业运行数据集,利用指标函数确定各个阶段的最优状态值,并将各个阶段的最优状态值分别作为各个阶段的并发调整时间点。
在本实施方式中,为了提高确定出的多个并发调整时间点的有效性和准确性,上述多个并发调整时间点可以为在目标时间点之后预设时间段内的时间点。上述预设时间段可以为6小时、一天,也可以一个星期,当然也可以为其它任何可能的值,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,由于在整个预设时间段内确定多个并发调整时间点效率较低,因此,可以将目标时间点之后的预设时间段划分为n个阶段,n个阶段在时间上是连续的。上述n可以为大于0的正整数,例如:3、4、9等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个场景示例中,将目标时间点之后的预设时间段划分为n个阶段可以为:在上述目标时间点为0点、预设时间段为一天、n等于4的情况下,可以将预设时间段划分为4个阶段(0,3]、(3,9]、(9,18]、(18,24]。当然,预设时间段的划分方式不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,n的具体数值可以通过对在目标时间点之前的作业运行数据集进行统计分析确定,即可以根据历史的并发变化情况、作业数量的变化情况等确定。在一些实施例中,同一个目标系统的作业组之间的结构和作业的数量是相对固定的,因此,同一个目标系统可以采用相同的划分方式,可以直接根据预设数据库中记录的目标系统的划分方式确定。而不同的系统由于作业组的分布不同,可能阶段的划分方式上会存在差异。
在本实施方式中,上述各个阶段的特征数据集中可以包括当前阶段的N个状态值,上述状态值可以为各阶段可能的时间取值,也可以称为并发调整时间点的候选值。其中,N个状态值之间的间隔可以是相等的也可以是不等的,上述N可以为大于0的正整数,例如3、4等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,每个阶段均可以有多个状态值,例如:(0,3]阶段可以包括0、1、2、3这四个状态值,当然还可以按照其它间隔方式划分状态,例如:0.5、1、1.5、2、2.5、3等。当然,状态的划分方式不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,上述各个阶段的特征数据集中还可以包括当前阶段的N个决策变量,N个决策变量的值可以与N个状态值相等,决策变量可以为选择用于并发调整时间点的决策值。
在一个实施方式中,根据系统性能数据集和作业运行数据集,利用指标函数确定各个阶段的最优状态值,可以包括:将目标阶段的特征数据集中的N个状态值划分为多组,可以根据系统性能数据集和作业运行数据集,计算目标阶段中N个状态值对应的指标函数值。进一步的,可以根据目标阶段中N个状态值对应的指标函数值,分别确定各组的指标函数值的最小值。可以比较各组的指标函数值的最小值,确定目标阶段中指标函数值的最小值,并将目标阶段中指标函数值的最小值对应的状态值作为目标阶段的最优状态值。
在本实施方式中,上述指标函数值可以表征第i个阶段内所有作业运行的平均时长,从而可以用来衡量决策效果的优劣。指标函数值越小则说明利用该状态值可以达到更好的系统运行效果,因此,可以将一个阶段中指标函数值最小值对应的状态值作为该阶段的最优状态值,从而可以将该最优状态值作为该阶段对应的并发调整时间点。
在本实施方式中,由于需要对目标阶段的特征数据集中的N个状态值的指标函数值的大小进行比较,为了避免局部最优。因此,可以将目标阶段的特征数据集中的N个状态值划分为多组,分别确定各组的指标函数值的最小值,在将各组的指标函数值的最小值进行比较确定目标阶段的指标函数值的最小值,从而可以避免还未遍历目标阶段的特征数据集中的N个状态值的指标函数值就已结束的情况发生。
在一个实施方式中,按照以下公式,根据系统性能数据集和作业运行数据集,计算目标阶段中N个状态值对应的指标函数值:
其中,Jm为N个状态值中第m个状态值对应的指标函数值;k为目标阶段;Y为第i个阶段内的所有作业数;ty为作业y从第i个阶段的开始时间点至最优状态值之间的历史平均运行时长,在目标阶段ty为作业y从目标阶段的开始时间点至第m个状态值之间的历史平均运行时长;αy为作业y从第i个阶段的开始时间点至最优状态值之间的系统性能影响系数,在目标阶段αy为作业y从目标阶段的开始时间点至第m个状态值之间的系统性能影响系数。
在本实施方式中,上述m为大于0小于等于N的正整数,上述i为状态值个数的变量,k为大于0小于等于n的正整数,具体数值可以根据情况确定。
在本实施方式中,上述第i个阶段内的所有作业数、作业y从第i个阶段的开始时间点至最优状态值之间的历史平均运行时长可以根据在目标时间点之前的作业运行数据集确定。上述作业y从第i个阶段的开始时间点至最优状态值之间的系统性能影响系数可以为作业y从第i个阶段的开始时间点至最优状态值之间系统性能对作业时间的影响,上述影响系数可以根据系统性能数据集统计分析确定,例如:当CPU或者IO使用到80%系统性能开始对作业运行时间有影响,作业运行时长会增加20%。
在一个实施方式中,基于作业运行数据集,确定各个并发调整时间点的并发配置数据,可以包括:获取目标系统的总并发数,确定相邻的两个并发调整时间点之间目标系统中所有作业的运行时长。进一步的,可以确定相邻的两个并发调整时间点之间目标系统各个作业组的运行时长,并基于目标系统的总并发数和相邻的两个并发调整时间点之间目标系统中所有作业的运行时长、各个作业组的运行时长,确定目标系统中各个作业组的并发数。
在本实施方式中,上述目标系统在目标时间点的总并发数可以是根据在目标时间点之前的作业运行数据集中记录的数据确定的,当然可以理解的是,由于目标系统可能提供的总并发数在不同的时间可能是不同的,因此,在目标时间点的总并发数也可以是目标系统的运维人员输入的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,由于在某个阶段中每个作业组的运行时长可以表征每个作业组在该阶段中需要运行的作业量大小,因此,可以基于在某个阶段中各个作业组运行作业组中作业的运行时长,来确定各个作业组在该阶段可以分配的并发数。在一些实施例中,可以将相邻的两个并发调整时间点之间各个作业组的运行时长与目标系统中所有作业的运行时长比值乘以目标系统的总并发数得到的值分别作为各个作业组在相邻的两个并发调整时间点之间的并发数。
在一个场景示例中,目标时间点为0点、预设时间段为一天、n等于4、划分得到的4个阶段为(0,3]、(3,9]、(9,18]、(18,24],确定出的4个阶段的并发调整时间点可以为0、8、12、20,相邻的两个并发调整时间点可以包括:(0,8]、(8,12]、(12,20],可以理解的是还可以将并发调整时间点的首尾也作为一个时间段用于确定20点的并发数,即可以将(20,24]也作为一个时间段。假设在第一阶段中目标系统的总并发数为120、目标系统共包含4个作业组;在第一阶段中各个作业组的运行时长分别为130分钟、113分钟、178分钟、179分钟,在第一阶段中所有作业的运行时长为600分钟,对应的可以将的值分别作为在第一阶段中各个作业组的并发数。当然,上述描述仅是一种示例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在本实施方式中,还可以分别确定在某个阶段中各个作业组之间的并发比,在某个阶段中各个作业组之间的并发比可以等于在该阶段中各个作业组的运行时长的比值,从而可以根据在该阶段中各个作业组之间的并发比和目标系统的总并发数,确定出在该阶段中目标系统的各个作业组分配的并发数。
在一个实施方式中,为了提高确定出的并发配置数据的准确性,可以在确定各个并发调整时间点的并发配置数据之前接收目标系统的运维人员输入的约束条件,上述约束条件可以包括以下至少之一:运行完所有作业的时间约束条件(例如:设置每天下午6点前运行完所有作业)、系统性能约束条件、更新并发配置数据的时间点(例如可以设置每天更新一次、一周更新一次或者一天更新多次等),从而可以基于上述约束条件更新并发配置数据。当然,约束条件不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。
在一些实时方式中,对于一些有特殊要求的作业可以单独设置并发,例如:有些作业需要在下午3点前跑完,则可能需要一个状态在下午3点前跑完需要完成的作业。在某些特殊条件下,一些作业组运行时间段从早上2-7点变成早上4-10点,也可以作为特殊约束条件,以增加并发控制的灵活性。有些特殊作业,或特别重要的关键作业,只要条件满足就需要跑起来,可以不分时间段,单独设定少量并发。
基于同一发明构思,本说明书实施例中还提供了一种并发控制装置,如下面的实施例。由于并发控制装置解决问题的原理与并发控制方法相似,因此并发控制装置的实施可以参见并发控制方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本说明书实施例的并发控制装置的一种结构框图,如图4所示,可以包括:获取模块401、第一确定模块402、第二确定模块403,下面对该结构进行说明。
获取模块401,可以用于获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;
第一确定模块402,可以用于根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点;
第二确定模块403,可以用于基于作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,并发配置数据用于表征目标系统中各个作业组的并发数。
本说明书实施例实施方式还提供了一种电子设备,具体可以参阅图5所示的基于本说明书实施例提供的并发控制方法的电子设备组成结构示意图,电子设备具体可以包括输入设备51、处理器52、存储器53。其中,输入设备51具体可以用于输入目标系统的系统性能数据集和在目标时间点之前的作业运行数据集。处理器52具体可以用于获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点;基于作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,并发配置数据用于表征目标系统中各个作业组的并发数。存储器53具体可以用于存储各个并发调整时间点的并发配置数据等参数。
在本实施方式中,输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。输入设备还可以获取接收其他模块、单元、设备传输过来的数据。处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器具体可以是现代信息技术中用于保存信息的记忆设备。存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例实施方式中还提供了一种基于并发控制方法的计算机存储介质,计算机存储介质存储有计算机程序指令,在计算机程序指令被执行时可以实现:获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;根据系统性能数据集和作业运行数据集,确定在目标时间点之后的多个并发调整时间点;基于作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,并发配置数据用于表征目标系统中各个作业组的并发数。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
虽然本说明书实施例提供了如上述实施例或流程图的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本说明书实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书实施例的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书实施例的优选实施例而已,并不用于限制本说明书实施例,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (10)
1.一种并发控制方法,其特征在于,包括:
获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;
根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点;
基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,所述并发配置数据用于表征所述目标系统中各个作业组的并发数。
2.根据权利要求1所述的方法,其特征在于,根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点,包括:
将所述目标时间点之后的预设时间段划分为n个阶段;
确定各个阶段的特征数据集;其中,所述特征数据集中包括当前阶段的N个状态值;
根据所述系统性能数据集和作业运行数据集,利用指标函数确定所述各个阶段的最优状态值;
将所述各个阶段的最优状态值分别作为所述各个阶段的并发调整时间点。
3.根据权利要求2所述的方法,其特征在于,根据所述系统性能数据集和作业运行数据集,利用指标函数确定所述各个阶段的最优状态值,包括:
将目标阶段的特征数据集中的N个状态值划分为多组;
根据所述系统性能数据集和作业运行数据集,计算所述目标阶段中N个状态值对应的指标函数值;
根据所述目标阶段中N个状态值对应的指标函数值,分别确定各组的指标函数值的最小值;
比较所述各组的指标函数值的最小值,确定所述目标阶段中指标函数值的最小值;
将所述目标阶段中指标函数值的最小值对应的状态值作为所述目标阶段的最优状态值。
5.根据权利要求1所述的方法,其特征在于,基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据,包括:
获取所述目标系统的总并发数;
确定相邻的两个并发调整时间点之间所述目标系统中所有作业的运行时长;
确定所述相邻的两个并发调整时间点之间所述目标系统各个作业组的运行时长;
基于所述目标系统的总并发数和所述相邻的两个并发调整时间点之间所述目标系统中所有作业的运行时长、各个作业组的运行时长,确定所述目标系统中各个作业组的并发数。
6.根据权利要求1所述的方法,其特征在于,所述作业运行数据集中包括以下至少之一:所述目标系统的作业平均历史运行的时长、作业运行的开始时间、所述目标系统中各个作业组每天运行的时间段。
7.一种并发控制装置,其特征在于,包括:
获取模块,用于获取目标系统的系统性能数据集和在目标时间点之前的作业运行数据集;
第一确定模块,用于根据所述系统性能数据集和作业运行数据集,确定在所述目标时间点之后的多个并发调整时间点;
第二确定模块,用于基于所述作业运行数据集,确定各个并发调整时间点的并发配置数据;其中,所述并发配置数据用于表征所述目标系统中各个作业组的并发数。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块,包括:
划分单元,用于将所述目标时间点之后的预设时间段划分为n个阶段;
第一确定单元,用于确定各个阶段的特征数据集;其中,所述特征数据集中包括当前阶段的N个状态值;
第二确定单元,用于根据所述系统性能数据集和作业运行数据集,利用指标函数确定所述各个阶段的最优状态值;
处理单元,用于将所述各个阶段的最优状态值分别作为所述各个阶段的并发调整时间点。
9.一种并发控制设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011072070.XA CN112181498B (zh) | 2020-10-09 | 2020-10-09 | 并发控制方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011072070.XA CN112181498B (zh) | 2020-10-09 | 2020-10-09 | 并发控制方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181498A true CN112181498A (zh) | 2021-01-05 |
CN112181498B CN112181498B (zh) | 2024-01-30 |
Family
ID=73947913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011072070.XA Active CN112181498B (zh) | 2020-10-09 | 2020-10-09 | 并发控制方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181498B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
CN113821315A (zh) * | 2021-05-20 | 2021-12-21 | 中国工商银行股份有限公司 | 作业调度方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757214B1 (en) * | 2005-11-10 | 2010-07-13 | Symantec Operating Coporation | Automated concurrency configuration of multi-threaded programs |
JP2013140490A (ja) * | 2012-01-04 | 2013-07-18 | Fujitsu Ltd | 並列計算制御装置及び並列計算制御方法 |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
CN108633311A (zh) * | 2017-01-26 | 2018-10-09 | 华为技术有限公司 | 一种基于调用链的并发控制的方法、装置及控制节点 |
CN109597685A (zh) * | 2018-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务分配方法、装置和服务器 |
CN110764900A (zh) * | 2019-09-06 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 高并发下的数据分配测试方法、装置、终端及存储介质 |
-
2020
- 2020-10-09 CN CN202011072070.XA patent/CN112181498B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757214B1 (en) * | 2005-11-10 | 2010-07-13 | Symantec Operating Coporation | Automated concurrency configuration of multi-threaded programs |
JP2013140490A (ja) * | 2012-01-04 | 2013-07-18 | Fujitsu Ltd | 並列計算制御装置及び並列計算制御方法 |
CN103793455A (zh) * | 2012-10-30 | 2014-05-14 | 国际商业机器公司 | 用于减少服务器/数据库系统中锁定发生的方法和系统 |
CN108633311A (zh) * | 2017-01-26 | 2018-10-09 | 华为技术有限公司 | 一种基于调用链的并发控制的方法、装置及控制节点 |
CN109597685A (zh) * | 2018-09-30 | 2019-04-09 | 阿里巴巴集团控股有限公司 | 任务分配方法、装置和服务器 |
CN110764900A (zh) * | 2019-09-06 | 2020-02-07 | 深圳壹账通智能科技有限公司 | 高并发下的数据分配测试方法、装置、终端及存储介质 |
Non-Patent Citations (1)
Title |
---|
孟煜;张斌;郭军;闫永明: "云计算环境下云服务用户并发量的区间预测模型", 《计算机学报》, vol. 40, no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821315A (zh) * | 2021-05-20 | 2021-12-21 | 中国工商银行股份有限公司 | 作业调度方法、装置和电子设备 |
CN113722198A (zh) * | 2021-09-02 | 2021-11-30 | 中国建设银行股份有限公司 | 脚本作业提交控制方法及装置、存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112181498B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3553657A1 (en) | Method and device for allocating distributed system task | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN104915407B (zh) | 一种基于Hadoop多作业环境下的资源调度方法 | |
Wang et al. | Dominant resource fairness in cloud computing systems with heterogeneous servers | |
US9870269B1 (en) | Job allocation in a clustered environment | |
EP3468121B1 (en) | Adaptive resource allocation method and apparatus | |
EP4068090A1 (en) | Container scheduling method and apparatus, and non-volatile computer-readable storage medium | |
US10191779B2 (en) | Application execution controller and application execution method | |
CN105487930A (zh) | 一种基于Hadoop的任务优化调度方法 | |
CN101366012A (zh) | 用于多处理器系统中的中断分配的方法和系统 | |
CN112181498B (zh) | 并发控制方法、装置和设备 | |
CN110599148B (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN111026519A (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
US20120324466A1 (en) | Scheduling Execution Requests to Allow Partial Results | |
US20190138354A1 (en) | Method for scheduling jobs with idle resources | |
CN114265679A (zh) | 数据处理方法、装置和服务器 | |
CN112866136A (zh) | 业务数据处理方法和装置 | |
CN115237586A (zh) | 深度学习推理性能干扰感知的gpu资源配置方法 | |
CN113495779A (zh) | 一种任务调度方法和装置、任务执行系统 | |
CN108595251B (zh) | 动态图更新方法、装置、存储引擎接口和程序介质 | |
US20220413906A1 (en) | Method, device, and program product for managing multiple computing tasks based on batch | |
CN108536525B (zh) | 一种宿主机调度方法及装置 | |
CN113176944A (zh) | 集群计算存储资源分配方法和装置 | |
CN113391911A (zh) | 一种大数据资源动态调度方法、装置和设备 | |
CN112437015A (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 |