CN104536827B - 一种数据调度方法和装置 - Google Patents
一种数据调度方法和装置 Download PDFInfo
- Publication number
- CN104536827B CN104536827B CN201510041277.3A CN201510041277A CN104536827B CN 104536827 B CN104536827 B CN 104536827B CN 201510041277 A CN201510041277 A CN 201510041277A CN 104536827 B CN104536827 B CN 104536827B
- Authority
- CN
- China
- Prior art keywords
- task
- thread
- load
- degree
- priority
- 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
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000010586 diagram Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种数据调度方法和装置,包括:预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;任务调度线程确定来自原始线程的任务的优先级和执行线程的负载度;任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。通过本发明方法,能够实现多线程的负载均衡,提高系统的处理速度。
Description
技术领域
本发明涉及数据处理技术领域,尤指一种数据调度方法和装置。
背景技术
数据的存储向大数据(Big data)方向发展,大数据的爆炸式增长在大容量、多样性和高增速方面,全面考验着现代企业的数据处理和分析能力。随着微处理器和操作系统的发展,高性能的应用程序越来越成为经济社会发展的需要。应用程序可以使用多个线程来提高执行效率,这为系统的负载均衡带来了巨大挑战,例如,将线程与CPU核心绑定后,线程之间负载不均衡将会导致CPU核心的负载不均衡,整个系统无法达到最佳利用率,甚至影响系统的吞吐量。
多线程中每个线程的生命周期不同。一方面,对于多线程中生命周期不重叠的部分,当线程映射到CPU核心后,会导致一些CPU核心处于空闲状态,没有充分发挥CPU的资源利用率;另一方面,对于生命周期重叠的部分,各个线程所执行的任务负载也不一定相同,从而导致有的CPU核心在线程执行完后处于空闲状态,如此影响了系统的负载均衡,进而影响了系统的处理速度。
发明内容
为了解决上述技术问题,本发明提供了一种数据调度方法和装置,能够实现多线程的负载均衡,提高系统的处理速度。
为了达到本发明目的,本发明提供了一种数据调度方法,包括:预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;任务调度线程确定原始线程中的任务的优先级和执行线程的负载度;任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。
所述任务调度线程确定原始线程中的任务的优先级之前,还包括:所述原始线程获取任务请求中的任务,通过计算完成任务需要调用的每个函数在单个CPU上的时间来获得任务的预计完成时间,将包括任务的入口地址和预计完成时间的任务信息发送给所述任务调度线程;
所述任务调度线程确定原始线程中的任务的优先级,包括:所述任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,所述R与任务的批次相对应,R∈(0.5,1)。
所述任务调度线程确定执行线程的负载度之前,还包括:所述执行线程获取自身任务队列中的任务处理信息,所述任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间,并将任务处理信息提交给任务调度程序;
所述任务调度线程确定执行线程的负载度,包括:
所述任务调度线程根据所述任务处理信息计算执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,所述任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
所述预计完成时间为执行线程完成当前任务所需要的时间;
所述当前任务消耗时间为执行线程完成当前任务已消耗的时间;
所述任务平均时间为所有任务预计完成时间/任务数。
所述第一预设值为优先级最高,第二预设值为负载度最低;所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程,包括:所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程。
所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程,包括:所述任务调度线程根据任务的优先级和执行线程的负载度分别构建任务的优先级根堆和执行线程的负载度根堆,其中,所述优先级根堆中堆顶为优先级最高的任务,所述负载度根堆中堆顶为负载度最低的执行线程;所述任务调度线程将所述优先级根堆中堆顶的任务添加到所述负载度根堆中堆顶的执行线程的任务列表中。
所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程之后,还包括:所述任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;所述任务调度线程接收来自原始线程的任务,更新任务的优先级。
一种数据调度装置,至少包括:设置模块,用于预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;处理模块,用于通过任务调度线程确定原始线程中的任务的优先级和执行线程的负载度;调度模块,用于通过任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。
所述处理模块通过任务调度线程确定原始线程中的任务的优先级,具体为:通过所述原始线程获取任务请求中的任务,通过计算完成任务需要调用的每个函数在单个CPU上的时间来获得任务的预计完成时间,将包括任务的入口地址和预计完成时间的任务信息发送给任务调度线程;
通过所述任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,所述R与任务的批次相对应,R∈(0.5,1)。
所述处理模块通过任务调度线程确定执行线程的负载度,具体为:通过所述执行线程获取自身任务队列中的任务处理信息,所述任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间,并将任务处理信息提交给任务调度程序;
通过所述任务调度线程根据所述任务处理信息计算执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,所述任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
所述预计完成时间为执行线程完成当前任务所需要的时间;
所述当前任务消耗时间为执行线程完成当前任务已消耗的时间;
所述任务平均时间为所有任务预计完成时间/任务数。
所述第一预设值为优先级最高,第二预设值为负载度最低;所述调度模块,具体用于:通过所述任务调度线程根据任务的优先级和执行线程的负载度分别构建任务的优先级根堆和执行线程的负载度根堆,其中,所述优先级根堆中堆顶为优先级最高的任务,所述负载度根堆中堆顶为负载度最低的执行线程;通过所述任务调度线程将所述优先级根堆中堆顶的任务添加到所述负载度根堆中堆顶的执行线程的任务列表中。
还包括更新模块,用于:通过所述任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;通过所述任务调度线程接收来自原始线程的任务,更新任务的优先级。
与现有技术相比,本发明包括预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;任务调度线程确定来自原始线程的任务的优先级和执行线程的负载度;任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。通过本发明方法,原始线程接收到任务后,仅需要将任务提交给任务调度线程,任务调度线程根据任务的优先级和执行线程的负载度进行任务调度,将原始线程中优先级高的任务调度给负载度低的执行线程,从而实现了多线程间的负载均衡,提高了系统的处理速度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明数据调度方法的流程示意图。
图2是本发明线程池中每个执行线程任务队列的示意图。
图3是本发明进行数据调度的架构示意图。
图4是本发明数据调度装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是本发明数据调度方法的流程示意图。如图1所示,包括:
步骤11,预先设置原始线程、任务调度线程和线程池,该线程池包括至少一条执行线程。
在本步骤中,相对于现有技术,新增设置了任务调度线程和线程池,线程池通常包括多条执行线程,该执行线程以不超过系统承受量为宜,并且每条执行线程都具有任务队列。
如图2所示,线程池中每个执行线程任务队列包括N个任务结构体,每个任务结构体包括原始线程ID、执行线程ID、任务的预计完成时间、回调接口、任务到达的批次等信息。
具体如何设置线程属于本领域技术人员的惯用技术手段,其具体实现并不用于限定本发明的保护范围,这里不再赘述。
步骤12,任务调度线程确定原始线程中的任务的优先级和执行线程的负载度。
在本步骤之前,原始线程为接收任务请求的线程。原始线程获取任务请求中的任务,并计算任务的预计完成时间,其中预计完成时间通过计算完成任务需要调用的每个函数在单个CPU上的时间获得。原始线程将包括任务的入口地址和预计完成时间的任务信息发送给任务调度线程后,进入等待状态,即等待调度程序的唤醒。
在本步骤中,任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次来计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,可调系数R与任务的批次相对应,R∈(0.5,1)。具体地,任务的批次由执行线程最先完成的任务决定,任务调度线程将没有完成任务时所有的任务的批次设置为0批次,如果在0批次中有任务完成,新来的任务的批次加1,为1批次;如果在1批次中有任务完成,新来的任务的批次加1,为2批次等等。在本发明的具体实施方式中,0批次对应得可调系数R为1,1批次对应得可调系数R为0.9,2批次对应得可调系数R为0.8,衰减到0.5为止。
在本步骤之前,执行线程获取其任务队列中的任务处理信息,该任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间,并将任务处理信息提交给任务调度程序。
在本步骤中,任务调度线程根据任务处理信息中的执行线程的任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间计算该执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
预计完成时间为执行线程完成当前任务所需要的时间;
当前任务消耗时间为执行线程完成当前任务已消耗的时间;
任务平均时间为所有任务预计完成时间/任务数。
步骤13,任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。
在本步骤中,第一预设值为优先级最高,第二预设值为负载度最低,因此,任务调度线程将优先级最高的任务调度给线程池中负载度最低的执行线程。
在本发明的具体实施方式中,如图3所示,任务调度线程分别构建任务的优先级根堆和执行线程的负载度根堆。优先级根堆中堆顶为优先级最高的任务,负载度根堆中堆顶为负载度最低的执行线程。任务调度线程将优先级根堆中堆顶的任务添加到负载度根堆中堆顶执行线程的任务列表中。
步骤14,任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度,接收来自原始线程的任务信息,更新任务的优先级。
在本步骤中,执行线程每完成一个任务,将向调度线程发送任务完成信息,调度线程更新执行线程的负载度,并唤醒等待中的原始线程,则原始线程继续向调度线程提交任务,调度线程更新任务的优先级,然后进入下一轮的任务调度。
本发明相对现有技术,增加了任务调度线程和执行线程,原始线程接收到任务后,仅需要将任务提交给任务调度线程,任务调度线程根据任务的优先级和执行线程的负载度进行任务调度,将原始线程中优先级高的任务调度给负载度低的执行线程,从而实现了多线程间的负载均衡,提高了系统的处理速度。
图4是本发明数据调度装置的结构示意图。如图4所示,包括:
设置模块,用于预先设置原始线程、任务调度线程和线程池,该线程池包括至少一条执行线程。
处理模块,用于通过任务调度线程确定原始线程中的任务的优先级和执行线程的负载度。
具体地,处理模块通过任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次来计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,可调系数R与任务的批次相对应,R∈(0.5,1)。
处理模块通过任务调度线程获取执行线程的任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间,并根据上述时间计算该执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
预计完成时间为执行线程完成当前任务所需要的时间;
当前任务消耗时间为执行线程完成当前任务已消耗的时间;
任务平均时间为所有任务预计完成时间/任务数。
调度模块,用于通过任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程。
具体地,第一预设值为优先级最高,第二预设值为负载度最低,因此,调度模块通过任务调度线程将优先级最高的任务调度给负载度最低的执行线程。
在本发明的具体实施方式中,调度模块通过任务调度线程分别构建任务的优先级根堆和执行线程的负载度根堆。优先级根堆中堆顶为优先级最高的任务,负载度根堆中堆顶为负载度最低的执行线程。任务调度线程将优先级根堆中堆顶的任务添加到负载度根堆中堆顶执行线程的任务列表中。
更新模块,用于通过任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;通过任务调度线程接收来自原始线程的任务信息,更新任务的优先级。
具体地,执行线程每完成一个任务,将向调度线程发送任务完成信息,更新模块通过任务调度线程更新执行线程的负载度,并唤醒等待中的原始线程,则原始线程继续向调度线程提交任务,调度线程更新任务的优先级,然后进入下一轮的任务调度。
本发明的数据调度装置和数据调度方法对应,因此,数据调度装置具体的实现细节可参看数据调度方法,在此不赘述。
本发明中,原始线程接收到任务后,仅需要将任务提交给任务调度线程,任务调度线程根据任务的优先级和执行线程的负载度进行任务调度,将原始线程中优先级高的任务调度给负载度低的执行线程,从而实现了多线程间的负载均衡,提高了系统的处理速度。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种数据调度方法,其特征在于,包括:预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;
还包括:
原始线程获取任务请求中的任务,并计算任务的预计完成时间,将包括任务的入口地址和预计完成时间的任务信息发送给任务调度线程;其中,原始线程为接收任务请求的线程,原始线程将所述任务信息发送给任务调度线程后,进入等待状态;
执行线程获取其任务队列中的任务处理信息,并将所述任务处理信息提交给任务调度线程;
任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,以及根据执行线程提交的任务处理信息确定执行线程的负载度;
任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程;
所述第一预设值为优先级最高,第二预设值为负载度最低;
所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程,包括:
所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程。
2.根据权利要求1所述的数据调度方法,其特征在于,所述预计完成时间通过计算完成任务需要调用的每个函数在单个CPU上的时间获得;
所述任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,包括:
所述任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,所述R与任务的批次相对应,R∈(0.5,1)。
3.根据权利要求1所述的数据调度方法,其特征在于,
所述任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间;
所述任务调度线程根据执行线程提交的任务处理信息确定执行线程的负载度,包括:
所述任务调度线程根据所述任务处理信息计算执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,所述任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
所述预计完成时间为执行线程完成当前任务所需要的时间;
所述当前任务消耗时间为执行线程完成当前任务已消耗的时间;
所述任务平均时间为所有任务预计完成时间/任务数。
4.根据权利要求1所述的数据调度方法,其特征在于,所述任务调度线程将优先级最高的任务调度给负载度最低的执行线程,包括:
所述任务调度线程根据任务的优先级和执行线程的负载度分别构建任务的优先级根堆和执行线程的负载度根堆,其中,所述优先级根堆中堆顶为优先级最高的任务,所述负载度根堆中堆顶为负载度最低的执行线程;
所述任务调度线程将所述优先级根堆中堆顶的任务添加到所述负载度根堆中堆顶的执行线程的任务列表中。
5.根据权利要求1~4中任一项所述的数据调度方法,其特征在于,所述任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程之后,还包括:
所述任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;
所述任务调度线程接收来自原始线程的任务,更新任务的优先级。
6.一种数据调度装置,其特征在于,至少包括:
设置模块,用于预先设置原始线程、任务调度线程和线程池,所述线程池包括至少一条执行线程;
处理模块,用于通过原始线程获取任务请求中的任务,并计算任务的预计完成时间,将包括任务的入口地址和预计完成时间的任务信息发送给任务调度线程;其中,原始线程为接收任务请求的线程,原始线程将所述任务信息发送给任务调度线程后,进入等待状态;
通过执行线程获取其任务队列中的任务处理信息,并将所述任务处理信息提交给任务调度线程;
通过任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,以及根据执行线程提交的任务处理信息确定执行线程的负载度;
调度模块,用于通过任务调度线程将优先级为第一预设值的任务调度给负载度为第二预设值的执行线程;
所述第一预设值为优先级最高,第二预设值为负载度最低;
所述调度模块,具体用于:
通过所述任务调度线程根据任务的优先级和执行线程的负载度分别构建任务的优先级根堆和执行线程的负载度根堆,其中,所述优先级根堆中堆顶为优先级最高的任务,所述负载度根堆中堆顶为负载度最低的执行线程;
通过所述任务调度线程将所述优先级根堆中堆顶的任务添加到所述负载度根堆中堆顶的执行线程的任务列表中。
7.根据权利要求6所述的数据调度装置,其特征在于,所述预计完成时间通过计算完成任务需要调用的每个函数在单个CPU上的时间获得;
所述处理模块通过任务调度线程根据原始线程发送的任务信息确定原始线程中的任务的优先级,具体为:
通过所述任务调度线程接收来自原始线程的任务信息,确定任务的批次,并根据任务的预计完成时间和批次计算任务的优先级:
优先级=任务预计完成时间×可调系数R;
其中,所述R与任务的批次相对应,R∈(0.5,1)。
8.根据权利要求6所述的数据调度装置,其特征在于,所述任务处理信息包括任务队列总时间、预计完成时间、当前任务消耗时间和任务平均时间;
所述处理模块通过任务调度线程根据执行线程提交的任务处理信息确定执行线程的负载度,具体为:
通过所述任务调度线程根据所述任务处理信息计算执行线程的负载度:
负载度=任务队列总时间+(预计完成时间-当前任务消耗时间)/预计完成时间×任务平均时间,
其中,所述任务队列总时间为执行线程的任务队列中所有任务预计完成时间之和;
所述预计完成时间为执行线程完成当前任务所需要的时间;
所述当前任务消耗时间为执行线程完成当前任务已消耗的时间;
所述任务平均时间为所有任务预计完成时间/任务数。
9.根据权利要求6~8中任一项所述的数据调度装置,其特征在于,还包括更新模块,用于:
通过所述任务调度线程接收来自执行线程的任务完成信息,更新执行线程的负载度;
通过所述任务调度线程接收来自原始线程的任务,更新任务的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041277.3A CN104536827B (zh) | 2015-01-27 | 2015-01-27 | 一种数据调度方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510041277.3A CN104536827B (zh) | 2015-01-27 | 2015-01-27 | 一种数据调度方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104536827A CN104536827A (zh) | 2015-04-22 |
CN104536827B true CN104536827B (zh) | 2019-05-28 |
Family
ID=52852358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510041277.3A Active CN104536827B (zh) | 2015-01-27 | 2015-01-27 | 一种数据调度方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104536827B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106325981A (zh) * | 2015-06-19 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及装置 |
CN105120323B (zh) * | 2015-08-31 | 2018-04-13 | 暴风集团股份有限公司 | 一种分布式播放器任务调度的方法及系统 |
CN106201443B (zh) * | 2016-07-27 | 2019-01-18 | 福建富士通信息软件有限公司 | 一种基于Storm流式计算框架多并发写文件的方法及系统 |
CN106406821A (zh) * | 2016-08-15 | 2017-02-15 | 平安科技(深圳)有限公司 | 数据处理请求的排序方法及装置 |
CN106371903B (zh) * | 2016-08-23 | 2019-05-24 | 西安电子科技大学 | 飞机机载可信计算平台的任务调度方法 |
CN108874894A (zh) * | 2018-05-21 | 2018-11-23 | 平安科技(深圳)有限公司 | 交叉表导出方法、装置、计算机设备和存储介质 |
CN109361953B (zh) * | 2018-09-18 | 2022-04-08 | 武汉斗鱼网络科技有限公司 | 弹幕消息的动态分发方法、装置、设备和存储介质 |
CN109413598B (zh) * | 2018-11-26 | 2021-07-23 | 京信通信系统(中国)有限公司 | 一种资源分配与管理的方法及装置 |
CN110611707B (zh) * | 2019-09-05 | 2023-04-28 | 深圳前海微众银行股份有限公司 | 一种任务调度的方法及装置 |
CN111614758B (zh) * | 2020-05-20 | 2023-05-02 | 浩云科技股份有限公司 | 一种码流转发方法、装置、可读存储介质及计算设备 |
CN112905326B (zh) * | 2021-02-18 | 2023-04-11 | 上海哔哩哔哩科技有限公司 | 任务处理方法及装置 |
CN113467933B (zh) * | 2021-06-15 | 2024-02-27 | 济南浪潮数据技术有限公司 | 分布式文件系统线程池优化方法、系统、终端及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101004743B (zh) * | 2006-01-21 | 2010-05-26 | 鸿富锦精密工业(深圳)有限公司 | 分布式文档转换系统及方法 |
CN102122252B (zh) * | 2011-03-14 | 2013-06-19 | 华中科技大学 | 一种保证时间连续性的线程池设计方法 |
CN102207890A (zh) * | 2011-05-27 | 2011-10-05 | 苏州阔地网络科技有限公司 | 一种任务信息处理方法及调度控制处理装置 |
CN103927225B (zh) * | 2014-04-22 | 2018-04-10 | 浪潮电子信息产业股份有限公司 | 一种多核心架构的互联网信息处理优化方法 |
-
2015
- 2015-01-27 CN CN201510041277.3A patent/CN104536827B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739293A (zh) * | 2009-12-24 | 2010-06-16 | 航天恒星科技有限公司 | 一种基于多线程的卫星数据产品生产任务并行调度方法 |
CN102591721A (zh) * | 2011-12-30 | 2012-07-18 | 北京新媒传信科技有限公司 | 一种分配线程执行任务的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104536827A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536827B (zh) | 一种数据调度方法和装置 | |
US9880875B2 (en) | Apparatus and method for hardware-based task scheduling | |
US9858115B2 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium | |
US8615765B2 (en) | Dividing a computer job into micro-jobs | |
US8612986B2 (en) | Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value | |
US9448864B2 (en) | Method and apparatus for processing message between processors | |
US20130198758A1 (en) | Task distribution method and apparatus for multi-core system | |
US20150121387A1 (en) | Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium | |
CN102902589B (zh) | 一种集群mic作业的管理及调度方法 | |
US9104500B1 (en) | Lock-free job scheduler for multi-processor systems | |
CN103677999A (zh) | 计算环境内的资源的管理 | |
US10248456B2 (en) | Method and system for providing stack memory management in real-time operating systems | |
CN111026519B (zh) | 基于分布式的任务优先级调度方法和系统及存储介质 | |
US10310891B2 (en) | Hand-off scheduling | |
US20150113542A1 (en) | Knapsack-based sharing-aware scheduler for coprocessor-based compute clusters | |
WO2024021489A1 (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
US10083066B2 (en) | Processing data by using simultaneous multithreading | |
WO2020121292A1 (en) | Efficient data processing in a serverless environment | |
CN112162835A (zh) | 一种异构云环境下实时任务的调度优化方法 | |
CN111176806A (zh) | 一种业务处理方法、装置及计算机可读存储介质 | |
CN114579285A (zh) | 一种任务运行系统、方法及计算设备 | |
CN108563494A (zh) | 一种自适应动态调整的线程调度系统及方法 | |
CN112789593A (zh) | 一种基于多线程的指令处理方法及装置 | |
CN101349975B (zh) | 一种在嵌入式操作系统上实现中断底半部机制的方法及装置 | |
KR100953099B1 (ko) | 소형 저전력 임베디드 시스템 및 그의 선점 회피 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |