CN106933673B - 调整组件逻辑线程数量的方法及装置 - Google Patents

调整组件逻辑线程数量的方法及装置 Download PDF

Info

Publication number
CN106933673B
CN106933673B CN201511021180.2A CN201511021180A CN106933673B CN 106933673 B CN106933673 B CN 106933673B CN 201511021180 A CN201511021180 A CN 201511021180A CN 106933673 B CN106933673 B CN 106933673B
Authority
CN
China
Prior art keywords
logic
threads
component
thread
logical
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
Application number
CN201511021180.2A
Other languages
English (en)
Other versions
CN106933673A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201511021180.2A priority Critical patent/CN106933673B/zh
Priority to PCT/CN2016/110251 priority patent/WO2017114180A1/zh
Priority to JP2018534546A priority patent/JP2019500700A/ja
Priority to EP16880970.5A priority patent/EP3399413B1/en
Publication of CN106933673A publication Critical patent/CN106933673A/zh
Priority to US16/024,539 priority patent/US10783005B2/en
Application granted granted Critical
Publication of CN106933673B publication Critical patent/CN106933673B/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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability

Abstract

本申请实施例公开了一种调整组件逻辑线程数量的方法及装置,所述方法包括:获取一组件能够调用的多个逻辑线程;根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;如果需要,根据判断结果调整所述组件逻辑线程的数量;采用本申请所公开的方法及装置,可在保证数据实时计算的前提下,提高资源的利用率。

Description

调整组件逻辑线程数量的方法及装置
技术领域
本申请涉及互联网的领域,特别涉及一种调整组件逻辑线程数量的方法及装置。
背景技术
在分布式实时计算系统中,通常会设置一计算机集群,利用所述计算机集群可实现数据的实时计算。在所述集群内,一般会设置一个主设备和多个从设备,主设备内存储有实时计算程序,当有数据需处理时(即当分布式实时计算系统输入外部数据时),主设备内的实时计算程序将调用从设备内的资源,对数据进行计算。
在实际应用中,实时计算程序由多个组件组成,且每个组件执行特定的任务;而从设备可提供多个逻辑线程资源供主设备调用。因此,通常主设备预先为实时计算程序中的每个组件分配固定的逻辑线程资源,而当有数据需处理时,实时计算程序中的每个组件将调用预先分配的逻辑线程资源,执行任务,完成对数据的计算。
由于在实时计算系统中,外部输入数据的数据量并不固定,而为每个组件所分配的逻辑线程资源为固定的,那么,当外部输入数据的数据量较大时,每个组件的任务量较大,而如果此时预先为一组件所分配的逻辑线程资源较少,那么会造成该组件的执行效率低下,影响数据的实时计算;同理,如果外部输入数据的数据量较小,而预先为一组件所分配的逻辑线程资源较多,那么会造成资源的浪费。因此,在现有技术中,亟需一种调整组件逻辑线程数量的方法及装置,以在保证数据实时计算的前提下,提高资源的利用率。
申请内容
本申请实施例中提供了一种调整组件逻辑线程数量的方法及装置,以在保证数据实时计算的前提下,提高资源的利用率。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一方面,本申请公开了一种调整组件逻辑线程数量的方法,包括:
获取一组件能够调用的多个逻辑线程;
根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;
如果需要,根据判断结果调整所述组件逻辑线程的数量。
可选的,所述根据判断结果调整所述组件逻辑线程的数量,包括:
将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
可选的,所述异常负载状态包括高负载状态和低负载状态,所述利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间;所述根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,包括:
判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;
如果大于第一预设阈值,确定所述逻辑线程为高负载状态;
如果不大于第一预设阈值,判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值;
如果小于第二预设阈值,确定所述逻辑线程为低负载状态。
可选的,根据所述组件中所有逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量,包括:
分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
判断所述组件的高负载概率和低负载概率中的至少一者,是否大于所述第三预设阈值;
如果所述高负载概率和低负载概率中的至少一者,大于所述第三预设阈值,确定所述组件需调整逻辑线程数量。
可选的,所述逻辑线程运行于操作进程内,所述方法还包括:
根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
如果需增加逻辑线程,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;
如果能,在所述相关联的操作进程内,增加逻辑线程;
如果不能,确定需增加操作进程的数量;
如果需删除逻辑线程,在所述操作进程中,删除相应的逻辑线程。
可选的,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程,包括:
确定当前逻辑线程相关联的多个操作进程;
根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程运行逻辑线程的数量;
统计所有相关联的操作进程,能够增加逻辑线程的总数量;
判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量;
如果能够增加逻辑线程的总数量大于等于所述组件需增加逻辑线程的数量,确定在相关联操作进程内,能够增加逻辑线程。
可选的,所述确定需增加操作进程的数量,包括:
获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
利用操作进程计算公式,计算需增加操作进程的数量,所述操作进程计算公式为:增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
可选的,所述方法还包括:
每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
可选的,所述方法还包括:
依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
如果不存在,删除该操作进程。
另一方面,本申请还公开一种调整组件逻辑线程数量的装置,包括:
获取模块,用于获取一组件能够调用的多个逻辑线程;
第一确定模块,用于根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
第一判断模块,用于根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;
调整模块,用于当需要调整逻辑线程数量时,根据判断结果调整所述组件逻辑线程的数量。
可选的,所述调整模块包括:
调整单元,用于将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
可选的,所述异常负载状态包括高负载状态和低负载状态,所述利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间;所述确定模块,包括:
第一判断单元,用于判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;
高负载状态确定单元,用于当所述利用率大于第一预设阈值时,确定所述逻辑线程为高负载状态;
第二判断单元,用于当所述利用率小于等于第一预设阈值时,判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值;
低负载状态确定单元,用于当所述利用率小于第二预设阈值,确定所述逻辑线程为低负载状态。
可选的,所述判断模块包括:
第一统计单元,用于分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
第一计算单元,用于分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
第三判断单元,用于判断所述组件的高负载概率和低负载概率中的至少一者,是否大于所述第三预设阈值;
第一确定单元,用于当所述高负载概率和低负载概率中的至少一者,大于所述第三预设阈值时,确定所述组件需调整逻辑线程数量。
可选的,所述装置还包括:
第二确定模块,用于根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
第二判断模块,用于当需增加逻辑线程时,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;
增加模块,用于当能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,在所述相关联的操作进程内,增加逻辑线程;
第三确定模块,用于当不能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,确定需增加操作进程的数量;
删除模块,用于当需删除逻辑线程时,在所述操作进程中,删除相应的逻辑线程。
可选的,第二判断模块包括:
第二确定单元,用于确定当前逻辑线程相关联的多个操作进程;
第三确定单元,用于根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程所运行逻辑线程的数量;
第二统计单元,用于统计所有相关联的操作进程,能够增加逻辑线程的总数量;
第四判断单元,用于判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量;
第三确定单元,用于当能够增加逻辑线程的总数量大于等于所述组件需增加逻辑线程的数量,确定在相关联操作进程内,能够增加逻辑线程。
可选的,第三确定单元包括:
获取子单元,用于获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
计算子单元,用于利用操作进程计算公式,计算增加操作进程的数量,所述操作进程计算公式为:增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
可选的,所述装置还包括:
第四确定模块,用于每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立模块,用于建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
可选的,所述装置还包括:
第三判断模块,用于依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
删除模块,用于当所述操作进程内不存在逻辑线程时,删除该操作进程。
由以上技术方案可见,在本申请实施例中,首先根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,且所述负载状态包括正常负载状态和异常负载状态;然后,根据组件逻辑线程的负载状态,确定组件是否需调整逻辑线程的数量;最后,如果需要,根据判断结果调整所述组件逻辑线程的数量;由于在本申请实施例中,可根据逻辑线程的负载状态,调节一组件可调用逻辑线程的数量,从而可避免一组件可调用逻辑线程的数量过多,或过少,进而可在保证数据实时处理的前提下,提高逻辑线程资源的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图2为本申请实施例所公开的数据处理队列的示意图;
图3为本申请实施例所公开的逻辑线程的示意图;
图4为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图5为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图6为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图7为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图8为本申请实施例所公开的调整组件逻辑线程数量的方法的一流程示意图;
图9为本申请实施例所公开的调整组件逻辑线程数量的装置的一模块示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请公开了一种调整组件逻辑线程数量的方法,如图1所示,该方法至少包括:
步骤S11:获取一组件能够调用的多个逻辑线程;
步骤S12:根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
在本申请实施例中,每个逻辑线程内部均设有一数据处理队列,所述数据处理队列用于存储相应逻辑线程需处理的数据;在本申请实施例中,所述数据处理队列可具体如图2所示,且阴影部分表示该处理队列所存储数据已占用的空间。
在本申请实施例,消息队列的利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间,而根据消息队列的利用率,即可确定对应逻辑线程的负载状态,即正常负载状态和异常负载状态;而异常负载状态可具体包括利用率过高的高负载状态和利用率过低的低负载状态;且在高负载状态下,逻辑线程不能保证对数据的实时处理,低负载状态下,将浪费为组件分配的逻辑线程资源。
步骤S13:根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;如果需要,执行步骤S14,否则,结束流程;
在本申请实施例中,可具体根据一组件可调用逻辑线程中,正常负载状态或异常负载状态的逻辑线程占所有逻辑线程的比例,来确定该组件是否需调整逻辑线程数量。比如,一组件可调用逻辑线程中,正常负载状态的逻辑线程占80%的比例,那么可确定该组件无需调整逻辑线程数量;而若异常负载状态的逻辑线程占80%的比例,那么确定该组件需调整逻辑线程数量。
步骤S14:根据判断结果调整所述组件逻辑线程的数量;
在本申请实施例中,可具体将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
在本申请实施例中,实时计算程序,一般由Spout(消息源)组件和Blot(消息处理)组件组成,而多个组件可迭代处理数据,如图3所示,比如一实时计算程序由一Spout组件和2个Bolt组件组成,且2个Blot组件分别为第一Blot组件和第二Blot组件。在本申请实施例中,Spout组件可接收从消息源发送的数据,并调用预设分配的逻辑线程处理数据,且处理完成后,Spout组件作为上游组件,发送数据至作为下游组件的第一Blot组件,同理,第一Blot组件对数据处理完成后,将作为上游组件发送数据至作为下游组件的第二Blot组件。在本申请实施例中,如果当前组件为Spout组件,那么所述发送装置可为消息源设备,而如果当前组件为Blot组件,那么发送装置为所述组件的上游组件。
由以上技术方案可见,在本申请实施例中,首先根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,且所述负载状态包括正常负载状态和异常负载状态;然后,根据组件逻辑线程的负载状态,确定组件是否需调整逻辑线程的数量;最后,如果需要,根据判断结果调整所述组件逻辑线程的数量;由于在本申请实施例中,可根据逻辑线程的负载状态,调节一组件可调用逻辑线程的数量,从而可避免一组件可调用逻辑线程的数量过多,或过少,进而可在保证数据实时处理的前提下,提高逻辑线程资源的利用率。
在本申请的另一可行实施例中,如图4所示,上述所有实施例中的步骤S12,可包括:
步骤S41:判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;如果大于,执行步骤S42;否则,执行步骤S43;
在本申请实施例中,用户可根据自身需求自行设定第一预设阈值的大小,在一较佳实施例中,第一预设阈值为80%。
步骤S42:确定所述逻辑线程为高负载状态;
在本申请实施例中,当一逻辑线程对应数据处理队列的利用率,大于第一预设阈值时,说明该逻辑线程有较多数据待处理,未能实时处理数据,确定该逻辑线程为高负载状态;
步骤S43:判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值,如果小于,执行步骤S44;否则,执行步骤S45;
在本申请实施例中,用户亦可根据自身需求自行设定第二预设阈值的大小,在一较佳实施例中,第一预设阈值为20%。
步骤S44:确定所述逻辑线程为低负载状态;
在本申请实施例中,可当一逻辑线程对应数据处理队列的利用率,小于第二预设阈值时,说明该逻辑线程较空闲,较浪费资源,确定该逻辑线程为低负载状态。
步骤S45:确定所述逻辑线程为正常负载状态;
在本申请实施例中,,可当一逻辑线程对应数据处理队列的利用率,大于等于第二预设阈值,小于等于第一预设阈值时,说明该逻辑线程可正常处理数据,即能保证数据的实时处理,又未浪费资源,确定该逻辑线程为正常负载状态。
由上可见,采用本申请实施例中的方法,可确定一逻辑线程的负载状态,进而可确定组件可调用所有逻辑线程的负载状态。
在本申请的另一可行实施例中,如图5所示,上述所有实施例中的步骤S13可包括:
步骤S51:分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
步骤S52:分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
在本申请实施例中,为了提高准确性,可每隔预设时间,采集一次当前组件中所有逻辑线程的负载状态;在采集预设次数之后,统计高负载状态逻辑线程的数量和低负载状态逻辑线线程的数量,然后计算利用下述公式,计算所述组件的高负载概率以及低负载概率,高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量*预设次数,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量*预设次数。
步骤S53:判断所述组件的高负载概率和低负载概率中的至少一者,是否大于所述第三预设阈值;如果大于,执行步骤S54;否则,执行步骤S55;
在本申请实施例中,用户可根据自身需求,自身设定第三预设阈值的大小,在一个较佳实施例中,可设置第三预设阈值为80%。
在本申请实施例中,可当所述组件的高负载概率大于第三预设阈值时,执行步骤S54;也可当所述组件的低负载概率大于第三预设阈值时,执行步骤S54;亦可当所述组件的高负载概率和低负载概率均大于第三预设阈值时,执行步骤S54。
步骤S54:确定所述组件需调整逻辑线程数量;
步骤S55:确定所述组件无需调整逻辑线程数量。
由上可见,在本申请实施例中,可确定一组件是否需调整逻辑线程数量。
在本申请的另一可行实施例中,上述所有实施例中的逻辑线程均运行于操作进程内,如图6所示,上述所有实施例中的方法,还可包括:
步骤S61:根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
在本申请实施例中,假设通过上述方法,计算出需将一组件逻辑线程的数量调整为3,而所述组件当前逻辑线程的数量为5,那么可确定当前组件需删除2逻辑线程。
步骤S62:如果需增加逻辑线程,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;如果能,执行步骤S63;否则,执行步骤S64;
在本申请实施例中,当前逻辑线程相关联的操作进程为当前逻辑线程所在计算机集内中的所有操作进程。
步骤S63:在相关联的操作进程内,增加逻辑线程;
步骤S64:确定需增加操作进程的数量;
步骤S65:如果需删除逻辑线程,在所述操作进程中,删除相应的逻辑线程。
由于在本申请实施例中,一组件所有逻辑线程的级别均相同,因此,在本申请实施例中,可根据组件当前逻辑线程数量与调整逻辑线程数量的差值,确定需删除逻辑线程的数量,然后,在当前组件中任意删除相应数量的逻辑线程即可。
在上可见,在本申请实施例中,可具体增加当前组件的逻辑线程或删除当前组件的逻辑线程。
在本申请的另一可行实施例中,如图7所示,上述所有实施例中的步骤S62可包括:
步骤S71:确定当前逻辑线程相关联的多个操作进程;
在本申请实施例中,前已述及,相关联的多个操作进程为所述组件所在计算机集群内的所有操作进程。
步骤S72:根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程所运行逻辑线程的数量;
在本申请实施例中,操作进程的预分配总资源可为预先为操作进程分配的CPU资源或存储空间,而操作进程运行逻辑线程所占用的资源可为操作进程运行逻辑线程所占用的CPU资源或存储空间;
在本申请实施例中,用户可根据自身需求,自身设定第三预设阈值的大小,在一个较佳实施例中,可设置第三预设阈值为80%。
步骤S73:统计所有相关联的操作进程,能够增加逻辑线程的总数量;
在本申请实施例中,假设当前组件所在计算机集群中存在3个操作进程,分别为第一操作进程、第二操作进程以及第三操作进程,且通过上述步骤S72所提供的方法,确定第一操作进程可增加逻辑线程2个,第二操作进程可增加逻辑线程3个,第三操作进程可增加逻辑线程3个,那么整个计算机集群能够增加的逻辑线程总数量为8=2+3+3。
步骤S74:判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量,如果是,执行步骤S75;否则,执行步骤S76;
步骤S75:确定在相关联的操作进程内,能够增加逻辑线程;
步骤S76:确定在相关联的操作进程内,不能够增加逻辑线程。
由上可见,在本申请实施例中,可确定在当前组件相关联的操作进程内,是否增加当前组件需增加的逻辑线程。
在本申请的又一可行实施例中,如图8所示,上述所有实施例中的步骤S64,可包括:
步骤S81:获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
在本申请实施例中,所述预设负载阈值可具体为操作进程负载极限的80%。
步骤S82:利用操作进程计算公式,计算需增加操作进程的数量,所述操作进程计算公式为:增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
由上可见,采用上述方法,可确定需增加操作进程的数量。
在本申请的又一可行实施例中,当第一组件与第二组件传输数据时,上述所有实施例中的方法还可包括:
每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
前已论述,一组件可包括上游组件和下游组件,而采用本申请实施例中的方法,每个组件可调用的逻辑线程的数量为变化的,采用本申请所公开的方法,可确定上下游组件间逻辑线程的正常数据传输。
在本申请的又一可行实施例中,上述所有实施例中的方法,还可包括:
依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
如果不存在,删除该操作进程。
在本申请实施例中,当执行删除逻辑线程的操作时,可能会导致某操作进程内不存在逻辑线程,此时该操作进程并不执行任何任务,而采用本申请所公开的方法,可及时释放该操作进程所占用的资源。
通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
与本申请提供的调整组件逻辑线程数量的方法实施例相对应,本申请还提供了一种调整组件逻辑线程数量的装置,如图9所示,所述装置包括:
获取模块91,用于获取一组件能够调用的多个逻辑线程;
第一确定模块92,用于根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
第一判断模块93,用于根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;
调整模块94,用于当需要调整逻辑线程数量时,根据判断结果调整所述组件逻辑线程的数量。
在本申请实施例中,调整模块94的功能可具体由调整单元实现,所述调整单元,用于将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
由以上技术方案可见,在本申请实施例中,首先根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,且所述负载状态包括正常负载状态和异常负载状态;然后,根据组件逻辑线程的负载状态,确定组件是否需调整逻辑线程的数量;最后,如果需要,根据判断结果调整所述组件逻辑线程的数量;由于在本申请实施例中,可根据逻辑线程的负载状态,调节一组件可调用逻辑线程的数量,从而可避免一组件可调用逻辑线程的数量过多,或过少,进而可在保证数据实时处理的前提下,提高逻辑线程资源的利用率。
在本申请的另一可行实施例中,上述所有实施例中的异常负载状态包括高负载状态和低负载状态,所述利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间;所述确定模块,包括:
第一判断单元,用于判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;
高负载状态确定单元,用于当所述利用率大于第一预设阈值时,确定所述逻辑线程为高负载状态;
第二判断单元,用于当所述利用率小于等于第一预设阈值时,判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值;
低负载状态确定单元,用于当所述利用率小于第二预设阈值,确定所述逻辑线程为低负载状态。
由上可见,在本申请实施例中,可确定一逻辑线程的负载状态。
在本申请的又一可行实施例中,上述所有实施例中的判断模块包括:
第一统计单元,用于分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
第一计算单元,用于分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
第三判断单元,用于判断所述组件的高负载概率和低负载概率中的至少一者,是否大于所述第三预设阈值;
第一确定单元,用于当所述高负载概率和低负载概率中的至少一者,大于所述第三预设阈值时,确定所述组件需调整逻辑线程数量。
由上可见,在本申请实施例中,可确定一组件是否需调整逻辑线程数量。
在本申请的又一可行实施例中,上述所有实施例中的装置还可包括:
第二确定模块,用于根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
第二判断模块,用于当需增加逻辑线程时,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;
增加模块,用于当能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,在所述相关联的操作进程内,增加逻辑线程;
第三确定模块,用于当不能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,确定需增加操作进程的数量;
删除模块,用于当需删除逻辑线程时,在所述操作进程中,删除相应的逻辑线程。
由上可见,在本申请实施例中,能够增加或删除逻辑线程。
在本申请的另一可行实施例中,上述所有实施例中的第二判断模块包括:
第二确定单元,用于确定当前逻辑线程相关联的多个操作进程;
第三确定单元,用于根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程所运行逻辑线程的数量;
第二统计单元,用于统计所有相关联的操作进程,能够增加逻辑线程的总数量;
第四判断单元,用于判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量;
第三确定单元,用于当能够增加逻辑线程的总数量大于等于所述组件需增加逻辑线程的数量,确定在相关联操作进程内,能够增加逻辑线程。
由上可见,在本申请实施例中,可确定在在相关联操作进程内,能否增加逻辑线程。
在本申请的另一可行实施例中,上述所有实施例中的第三确定单元包括:
获取子单元,用于获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
计算子单元元,用于利用操作进程计算公式,计算增加操作进程的数量,增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
由上可见,在本申请实施例中,可确定新增操作进程的数量。
在本申请的另一可行实施例中,上述所有实施例中的装置还包括:
第四确定模块,用于每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立模块,用于建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
由上可见,在本申请实施例中,可保证上下游组件的正常通信。
在本申请的另一可行实施例中,上述所有实施例中的装置还包括:
第三判断模块,用于依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
删除模块,用于当所述操作进程内不存在逻辑线程时,删除该操作进程。
由上可见,在本申请实施例中,可删除空的操作进程。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (16)

1.一种调整组件逻辑线程数量的方法,其特征在于,包括:
获取一组件能够调用的多个逻辑线程;
根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;
如果需要,根据判断结果调整所述组件逻辑线程的数量;
所述根据判断结果调整所述组件逻辑线程的数量,包括:
将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
2.根据权利要求1所述的方法,其特征在于,所述异常负载状态包括高负载状态和低负载状态,所述利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间;所述根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,包括:
判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;
如果大于第一预设阈值,确定所述逻辑线程为高负载状态;
如果不大于第一预设阈值,判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值;
如果小于第二预设阈值,确定所述逻辑线程为低负载状态。
3.根据权利要求2所述的方法,其特征在于,根据所述组件中所有逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量,包括:
分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
判断所述组件的高负载概率和低负载概率中的至少一者,是否大于第三预设阈值;
如果所述高负载概率和低负载概率中的至少一者,大于所述第三预设阈值,确定所述组件需调整逻辑线程数量。
4.根据权利要求1、3任一项所述的方法,其特征在于,所述逻辑线程运行于操作进程内,所述方法还包括:
根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
如果需增加逻辑线程,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;
如果能,在所述相关联的操作进程内,增加逻辑线程;
如果不能,确定需增加操作进程的数量;
如果需删除逻辑线程,在所述操作进程中,删除相应的逻辑线程。
5.根据权利要求4所述的方法,其特征在于,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程,包括:
确定当前逻辑线程相关联的多个操作进程;
根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程运行逻辑线程的数量;
统计所有相关联的操作进程,能够增加逻辑线程的总数量;
判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量;
如果能够增加逻辑线程的总数量大于等于所述组件需增加逻辑线程的数量,确定在相关联操作进程内,能够增加逻辑线程。
6.根据权利要求5所述的方法,其特征在于,所述确定需增加操作进程的数量,包括:
获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
利用操作进程计算公式,计算需增加操作进程的数量,所述操作进程计算公式为:增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
7.根据权利要求1、3、5、6任一项所述的方法,其特征在于,所述方法还包括:
每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
8.根据权利要求1、3、5、6任一项所述的方法,其特征在于,所述方法还包括:
依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
如果不存在,删除该操作进程。
9.一种调整组件逻辑线程数量的装置,其特征在于,包括:
获取模块,用于获取一组件能够调用的多个逻辑线程;
第一确定模块,用于根据每个逻辑线程对应数据处理队列的利用率,确定每个逻辑线程的负载状态,所述负载状态包括正常负载状态和异常负载状态;
第一判断模块,用于根据所述组件逻辑线程的负载状态,判断所述组件是否需调整逻辑线程数量;
调整模块,用于当需要调整逻辑线程数量时,根据判断结果调整所述组件逻辑线程的数量;
所述调整模块包括:
调整单元,用于将所述组件的逻辑线程数量调整为:所述组件当前逻辑线程数量*发送装置每秒发送数据的数据量/所述组件每秒接收数据的数据量,所述发送装置为发送数据至所述组件的装置。
10.根据权利要求9所述的装置,其特征在于,所述异常负载状态包括高负载状态和低负载状态,所述利用率=消息队列中存储数据占用的空间/消息队列的预分配存储空间;所述确定模块,包括:
第一判断单元,用于判断一逻辑线程对应数据处理队列的利用率,是否大于第一预设阈值;
高负载状态确定单元,用于当所述利用率大于第一预设阈值时,确定所述逻辑线程为高负载状态;
第二判断单元,用于当所述利用率小于等于第一预设阈值时,判断当前逻辑线程对应数据处理队列的利用率,是否小于第二预设阈值;
低负载状态确定单元,用于当所述利用率小于第二预设阈值,确定所述逻辑线程为低负载状态。
11.根据权利要求10所述的装置,其特征在于,所述判断模块包括:
第一统计单元,用于分别统计所述组件能够调用的所有逻辑线程中,高负载状态逻辑线程的数量和低负载状态逻辑线程的数量;
第一计算单元,用于分别利用高负载概率计算公式和低负载概率计算公式,计算所述组件的高负载概率和低负载概率,所述高负载概率计算公式=高负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量,所述低负载概率计算公式=低负载状态逻辑线程的数量/当前组件所有能够调用逻辑线程的数量;
第三判断单元,用于判断所述组件的高负载概率和低负载概率中的至少一者,是否大于第三预设阈值;
第一确定单元,用于当所述高负载概率和低负载概率中的至少一者,大于所述第三预设阈值时,确定所述组件需调整逻辑线程数量。
12.根据权利要求9、11任一项所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述组件需调整逻辑线程的数量与当前逻辑线程的数量,确定所述组件需增加逻辑线程或需删除逻辑线程;
第二判断模块,用于当需增加逻辑线程时,判断能否在当前逻辑线程相关联的操作进程内,增加逻辑线程;
增加模块,用于当能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,在所述相关联的操作进程内,增加逻辑线程;
第三确定模块,用于当不能够在当前逻辑线程相关联的操作进程内增加逻辑线程时,确定需增加操作进程的数量;
删除模块,用于当需删除逻辑线程时,在所述操作进程中,删除相应的逻辑线程。
13.根据权利要求12所述的装置,其特征在于,第二判断模块包括:
第二确定单元,用于确定当前逻辑线程相关联的多个操作进程;
第三确定单元,用于根据预设的增加公式,确定每个操作进程能够增加逻辑线程的数量,所述增加公式为:操作进程能够增加逻辑线程的数量=(操作进程的预分配总资源/操作进程运行逻辑线程所占用的资源*第四预设值-1)*当前操作进程所运行逻辑线程的数量;
第二统计单元,用于统计所有相关联的操作进程,能够增加逻辑线程的总数量;
第四判断单元,用于判断能够增加逻辑线程的总数量是否大于等于所述组件需增加逻辑线程的数量;
第三确定单元,用于当能够增加逻辑线程的总数量大于等于所述组件需增加逻辑线程的数量,确定在相关联操作进程内,能够增加逻辑线程。
14.根据权利要求13所述的装置,其特征在于,第三确定单元包括:
获取子单元,用于获取相关联操作进程在预设负载阈值内,能够运行逻辑线程的数量Q;
计算子单元,用于利用操作进程计算公式,计算增加操作进程的数量,所述操作进程计算公式为:增加操作进程的数量=(N-T)/Q+1,所述N为所述组件需增加逻辑线程的数量,所述T为相关联操作进程能够增加逻辑线程的数量,所述T、N以及Q均为正整数。
15.根据权利要求9、11、13、14任一项所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于每隔预设时间,确定一组件的上游组件能够调用的第一逻辑线程和下游组件能够调用的第二逻辑线程;
建立模块,用于建立当前组件能够调用的第三逻辑线程与第一逻辑线程,以及第三逻辑线程和第二逻辑线程的通信连接。
16.根据权利要求9、11、13、14任一项所述的装置,其特征在于,所述装置还包括:
第三判断模块,用于依次判断当前组件相关联的每个操作进程内,是否存在逻辑线程;
删除模块,用于当所述操作进程内不存在逻辑线程时,删除该操作进程。
CN201511021180.2A 2015-12-30 2015-12-30 调整组件逻辑线程数量的方法及装置 Active CN106933673B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201511021180.2A CN106933673B (zh) 2015-12-30 2015-12-30 调整组件逻辑线程数量的方法及装置
PCT/CN2016/110251 WO2017114180A1 (zh) 2015-12-30 2016-12-16 调整组件逻辑线程数量的方法及装置
JP2018534546A JP2019500700A (ja) 2015-12-30 2016-12-16 コンポーネント論理スレッド量の調節方法及びデバイス
EP16880970.5A EP3399413B1 (en) 2015-12-30 2016-12-16 Component logical threads quantity adjustment method and device
US16/024,539 US10783005B2 (en) 2015-12-30 2018-06-29 Component logical threads quantity adjustment method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511021180.2A CN106933673B (zh) 2015-12-30 2015-12-30 调整组件逻辑线程数量的方法及装置

Publications (2)

Publication Number Publication Date
CN106933673A CN106933673A (zh) 2017-07-07
CN106933673B true CN106933673B (zh) 2020-11-27

Family

ID=59225931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511021180.2A Active CN106933673B (zh) 2015-12-30 2015-12-30 调整组件逻辑线程数量的方法及装置

Country Status (5)

Country Link
US (1) US10783005B2 (zh)
EP (1) EP3399413B1 (zh)
JP (1) JP2019500700A (zh)
CN (1) CN106933673B (zh)
WO (1) WO2017114180A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108897876A (zh) * 2018-06-29 2018-11-27 中科鼎富(北京)科技发展有限公司 一种数据接入方法及装置
CN113138772B (zh) * 2020-01-19 2023-12-05 北京京东振世信息技术有限公司 数据处理平台的构建方法、装置、电子设备和存储介质
US11467877B2 (en) * 2020-01-31 2022-10-11 Salesforce, Inc. Throttling and limiting thread resources of service computing platform
KR102307641B1 (ko) * 2021-04-30 2021-10-01 나무기술 주식회사 클라우드 운영 데이터 분석을 위한 병렬 처리 제어 시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237242B2 (en) * 2002-12-31 2007-06-26 International Business Machines Corporation Dynamic thread pool tuning techniques
US7162571B2 (en) * 2003-12-09 2007-01-09 Emc Corporation Methods and apparatus for parsing a content address to facilitate selection of a physical storage location in a data storage system
US7681196B2 (en) * 2004-11-18 2010-03-16 Oracle International Corporation Providing optimal number of threads to applications performing multi-tasking using threads
CA2620337C (en) * 2008-02-04 2012-11-27 Omnivex Corporation Digital signage network
CN100562854C (zh) * 2008-03-11 2009-11-25 浙江大学 多核处理器操作系统负载均衡的实现方法
US8631415B1 (en) * 2009-08-25 2014-01-14 Netapp, Inc. Adjustment of threads for execution based on over-utilization of a domain in a multi-processor system by sub-dividing parallizable group of threads to sub-domains
JP5531679B2 (ja) * 2010-03-04 2014-06-25 日本電気株式会社 Smt対応cpuを有する情報処理装置の消費電力低減方法、消費電力低減装置及び消費電力低減プログラム
JP5843459B2 (ja) * 2011-03-30 2016-01-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理システム、情報処理装置、スケーリング方法、プログラムおよび記録媒体
CN102591721A (zh) * 2011-12-30 2012-07-18 北京新媒传信科技有限公司 一种分配线程执行任务的方法和系统
CN102866922B (zh) * 2012-08-31 2014-10-22 河海大学 一种海量数据多线程并行处理中的负载均衡方法
CN103677997B (zh) * 2012-09-21 2017-04-12 宏达国际电子股份有限公司 多核心装置以及其多线程调度方法
WO2015069222A1 (en) * 2013-11-05 2015-05-14 Hewlett Packard Development Company, L.P. Forum inspection based on correlation rating of response poster
WO2015071008A1 (en) * 2013-11-14 2015-05-21 Alcatel Lucent Distributed computing unit, system and respective method
JP6237318B2 (ja) * 2014-02-19 2017-11-29 富士通株式会社 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム
US9722945B2 (en) * 2014-03-31 2017-08-01 Microsoft Technology Licensing, Llc Dynamically identifying target capacity when scaling cloud resources

Also Published As

Publication number Publication date
WO2017114180A1 (zh) 2017-07-06
EP3399413A4 (en) 2019-08-07
US10783005B2 (en) 2020-09-22
EP3399413B1 (en) 2021-05-05
JP2019500700A (ja) 2019-01-10
US20180307536A1 (en) 2018-10-25
CN106933673A (zh) 2017-07-07
EP3399413A1 (en) 2018-11-07

Similar Documents

Publication Publication Date Title
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN106933673B (zh) 调整组件逻辑线程数量的方法及装置
CN109800204B (zh) 数据分配方法及相关产品
CN112579304A (zh) 基于分布式平台的资源调度方法、装置、设备及介质
CN110716800B (zh) 任务调度方法及装置、存储介质及电子设备
CN111277640B (zh) 用户请求处理方法、装置、系统、计算机设备和存储介质
CN115277566B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
CN103942197A (zh) 数据监控处理方法及设备
CN110096339B (zh) 一种基于系统负载实现的扩缩容配置推荐系统及方法
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
WO2020098266A1 (zh) 一种异常响应的方法及设备
CN110347477B (zh) 一种云环境下服务自适应部署方法和装置
CN112286623B (zh) 一种信息处理方法及装置、存储介质
CN112260962A (zh) 一种带宽控制方法及装置
CN109445863B (zh) 一种基于fpga的数据处理方法、装置、设备及介质
CN116627615A (zh) 一种任务处理方法、装置、电子设备和存储介质
CN112530074A (zh) 排队叫号提醒方法、装置、设备及存储介质
EP3641260A1 (en) Method and device for improving data storage security
CN114138452A (zh) 一种边缘计算中高能效的计算节点选择方法及装置
CN111090627B (zh) 基于池化的日志存储方法、装置、计算机设备及存储介质
CN109901931B (zh) 一种归约函数数量确定方法、装置及系统
TWI735520B (zh) 調整元件邏輯執行緒數量的方法及裝置
CN113360321A (zh) 微服务重试调用方法、装置、电子设备及存储介质
CN111767188A (zh) 一种训练任务监控方法及装置
CN112114972B (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