CN111078409A - 流式计算资源控制方法、装置、电子设备及可读存储介质 - Google Patents

流式计算资源控制方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111078409A
CN111078409A CN201911267173.9A CN201911267173A CN111078409A CN 111078409 A CN111078409 A CN 111078409A CN 201911267173 A CN201911267173 A CN 201911267173A CN 111078409 A CN111078409 A CN 111078409A
Authority
CN
China
Prior art keywords
target
resource
average value
total data
resources
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
CN201911267173.9A
Other languages
English (en)
Other versions
CN111078409B (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.)
Shanghai Second Picket Network Technology Co ltd
Original Assignee
Shanghai Fengzhi Technology 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 Shanghai Fengzhi Technology Co Ltd filed Critical Shanghai Fengzhi Technology Co Ltd
Priority to CN201911267173.9A priority Critical patent/CN111078409B/zh
Publication of CN111078409A publication Critical patent/CN111078409A/zh
Application granted granted Critical
Publication of CN111078409B publication Critical patent/CN111078409B/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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提出一种流式计算资源控制方法、装置、电子设备及可读存储介质。首先获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长。然后根据预设时间段的各目标时刻的数据总接收量及待处理数据总量,对目标流式任务的资源进行调整。由此,可根据目标流式任务所对应实际的数据量,对目标流式任务的资源进行增加或减少,从而避免浪费资源或缺少资源,实现资源的合理利用。

Description

流式计算资源控制方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种流式计算资源控制方法、装置、电子设备及可读存储介质。
背景技术
随着互联网技术的发展,数据量呈爆炸式增长。大数据的计算模式主要分为批量计算、流式计算、交互计算等。其中,流式计算是一种主要的大数据计算模式,流式计算是一个常在服务,用于对数据流进行实时处理。数据流是指在时间分布和数量上无限的一系列动态数据集合体。比如,利用流式计算对Kafka系统中的日志数据进行处理。目前,一个流式任务的资源一般都是固定不变的,在此情况下,一般会导致资源浪费或流式任务由于资源不足而不能及时处理数据。
发明内容
有鉴于此,本申请的目的在于提供一种流式计算资源控制方法、装置、电子设备及可读存储介质。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种流式计算资源控制方法,所述方法包括:
获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长;
根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
在可选的实施方式中,所述根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整,包括:
根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值;
根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值,其中,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值;
根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式;
根据确定的所述调整方式对所述目标流式任务的资源进行调整。
在可选的实施方式中,所述根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式,包括:
判断所述第一平均值是否大于第一预设值;
若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
在可选的实施方式中,所述根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式,还包括:
若所述第一平均值不大于所述第一预设值,判断所述第一平均值是否小于第二预设值,并判断所述第二平均值是否小于第三预设值,其中,所述第一预设值大于所述第二预设值;
若所述第一平均值小于所述第二预设值、且所述第二平均值小于所述第三预设值,则确定所述调整方式为减少所述目标流式任务的资源;
若所述第一平均值不小于所述第二预设值,和/或,所述第二平均值不小于所述第三预设值,确定不调整所述目标流式任务的资源。
在可选的实施方式中,所述根据确定的所述调整方式对所述目标流式任务的资源进行调整,包括:
在所述调整方式为减少所述目标流式任务的资源时,判断所述目标流式任务的当前资源档位是否是最低资源档位;在是时,不减少所述目标流式任务的资源;在否时,根据所述目标流式任务的当前资源档位的资源量及所述当前资源档位的下一资源档位的资源量确定资源减少量,并根据所述资源减少量减少所述目标流式任务的资源,其中,所述当前资源档位的资源量大于所述当前资源档位的下一资源档位的资源量;
在所述调整方式为增加所述目标流式任务的资源时,判断所述目标流式任务的当前资源档位是否是最高资源档位;在是时,不增加所述目标流式任务的资源;在否时,根据所述目标流式任务的当前资源档位的资源量及所述当前资源档位的上一资源档位的资源量确定资源增加量,并根据所述资源增加量增加所述目标流式任务的资源,其中,所述当前资源档位的资源量小于所述当前资源档位的上一资源档位的资源量。
第二方面,本申请实施例提供一种流式计算资源控制装置,所述装置包括:
数据量监控模块,用于获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长;
调整模块,用于根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
在可选的实施方式中,所述调整模块具体用于:
根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值;
根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值,其中,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值;
根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式;
根据确定的所述调整方式对所述目标流式任务的资源进行调整。
在可选的实施方式中,所述调整模块具体用于:
判断所述第一平均值是否大于第一预设值;
若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式中任一项所述的流式计算资源控制方法。
第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的流式计算资源控制方法。
本申请实施例提供的流式计算资源控制方法、装置、电子设备及可读存储介质,首先获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长。然后根据预设时间段的各目标时刻的数据总接收量及待处理数据总量,对目标流式任务的资源进行调整。由此,可根据目标流式任务所对应实际的数据量,对目标流式任务的资源进行增加或减少,从而避免浪费资源或缺少资源,实现资源的合理利用。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的电子设备的方框示意图;
图2是本申请实施例提供的流式计算资源控制方法的流程示意图;
图3是本申请实施例提供的包括最新生产的offset的表格格式示意图;
图4是本申请实施例提供的包括最新处理的offset的表格格式示意图;
图5是本申请实施例提供的包括数据总接收量的表格格式示意图;
图6是本申请实施例提供的包括数据总处理量的表格格式示意图;
图7是本申请实施例提供的包括待处理数据总量的表格格式示意图;
图8是图2中步骤S120包括的子步骤的流程示意图;
图9是图8中子步骤S123包括的子步骤的流程示意图;
图10是本申请实施例提供的目标流式任务的资源档位记录示意图;
图11是本申请实施例提供的流式计算资源控制装置的方框示意图。
图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-流式计算资源控制装置;210-数据量监控模块;220-调整模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参照图1,图1是本申请实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,服务器。所述电子设备100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有流式计算资源控制装置200,所述流式计算资源控制装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本申请实施例中的流式计算资源控制装置200,从而执行各种功能应用以及数据处理,即实现本申请实施例中的流式计算资源控制方法。
通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2是本申请实施例提供的流式计算资源控制方法的流程示意图。所述方法应用于所述电子设备100。所述方法可应用于电子设备100中的每个流式任务,每个流式任务可依次作为目标流式任务。下面以一个流式任务为例,对流式计算资源控制方法的具体流程进行详细阐述。
步骤S110,获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量。
步骤S120,根据所述预设时间段的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
在本实施例中,可预先设置好目标流式任务和数据的对应关系。若一数据由目标流式任务处理,则可以认为该目标流式任务和该数据之间存在对应关系,该数据是该目标流式任务对应的数据。可根据目标流式任务和数据的对应关系,首先获得目标流式任务在预设时间段内各目标时刻的数据总接收量和数据总处理量。其中,所述预设时间段内可以包括当前时刻,当前时刻也可以是一个目标时刻。当然可以理解的是,也可以通过其他方式获得目标流式任务在各目标时刻的数据总接收量和数据总处理量。
一个目标时刻的数据总接收量,表示截止该目标时刻,所有接收到的需要该目标流式任务处理的数据的总量。一个目标时刻的数据总处理量,表示截止该目标时刻,该目标流式任务已处理的数据的总量。
其中,相邻目标时刻之间的时间差为一预设时长。所述预设时长、预设时间段的时长可以根据实际需要设置。比如,所述预设时长为5min,所述预设时间段为10min,由此,可获得目标流式任务在10min内每间隔5min的数据总接收量及待处理数据总量。假设当前时刻为12:10:00,当前也是一个目标时刻,则可获得目标流式任务在12:00:00、12:05:00、12:10:00的数据总接收量及待处理数据总量。
在实际获得某个目标时刻的数据总接收量和数据总处理量时,可能获得数据的实际时刻并不相同,此时可将该实际时刻最接近的目标时刻作为该数据对应的目标时刻。比如,需要分别获得目标流式任务在12:00:00、12:05:00这两个目标时刻的数据总接收量及待处理数据总量,若一个数据总接收量的实际获得时刻为12:00:10,一个待处理数据总量的实际获得时刻为12:00:12,则确定该数据总接收量及该待处理数据总量对应的目标时刻是12:00:00,上述两个数据是目标流式任务在目标时刻12:00:00时的数据总接收量及该待处理数据总量。
也可以划分时刻范围,每个时刻范围对应一个目标时刻。若一个数据的实际获得时刻在某个时刻范围内,则该数据对应的目标时刻,为该时刻范围对应的目标时刻。
数据流是指在时间分布和数量上无限的一系列动态数据集合体,因此,随着时刻的增加,数据总接收量和数据总处理量也会逐渐增大。比如,在距离当前时刻的5分钟处,数据总接收量为a1,数据总处理量为b1;在当前时刻,数据总接收量为a2,数据总处理量为b2;在此情况下,有:a2≥a1,b2≥b1。
根据目标流式任务在一个目标时刻时的数据总接收量和数据总处理量,通过将该数据总接收量减去该数据总处理量,可得到目标流式任务子在该目标时刻的待处理数据总量。重复该处理,可得到目标流式任务在各目标时刻的待处理数据总量。比如,目标流式任务在距离当前时刻的5分钟处,数据总接收量为a1,数据总处理量为b1;在当前时刻,数据总接收量为a2,数据总处理量为b2;通过将各目标时刻的数据总接收量减去该数据总处理量,可得到:在距离当前时刻的5分钟处,待处理数据总量为a1-b1;在当前时刻,待处理数据总量为a2-b2。根据各目标时刻的待处理数据总量,可获得待处理数据的数量的变化情况。
然后可根据目标流式任务在各目标时刻的数据总接收量、待处理数据总量,对目标流式任务的资源进行调整。由此,可根据目标流式任务对应的数据的接收情况及待处理情况,对该目标流式任务的资源进行增加或减少的调整,以保证在由于数据量大而需要的处理资源比较多时,能够及时添加处理资源,在由于数据量少而不需要较多处理资源时,能够释放多余的处理资源,从而实现资源的合理利用,减少资源浪费。对电子设备100中的每个流式任务执行上述处理,可对每个流式任务的资源进行合理控制,实现资源的合理利用。
下面以该方法应用于Kafka系统为例,结合图3~图7,对如何获得流式任务的一个目标时刻的数据总接收量、数据总处理量、待处理数据总量进行举例说明。
首先介绍在一个流式任务仅对应一个topic(主题)时,如何获得该流式任务的数据总接收量、数据总处理量、待处理数据总量。
Kafka提供了获取全部topic(主题)最新生产的offset(偏移量)接口,可每间隔5min请求获取一次。每获取一次后,可得到至少一个格式如图3所示的与最新生产的offset相关的表格。该表格中可以包括一个最新offset对应的topic标识、该最新offset所在的partition(分片)的信息、该最新offset、该最新offset对应的时间等。其中,该最新offset对应的时间,可以是获得该最新offset的实际时刻最接近的目标时刻,或者是获得该最新offset的实际时刻所在的时刻范围对应的目标时刻。
其中,在该流式任务对应的topic包括多个partition,获得的与最新生产的offset相关的表格也为多个。对应的topic包括的partition数量和与最新生产的offset相关的表格的数量相同。在多个最新offset的实际获得时刻不同时,可将与各最新offset的实际获得时刻最接近的目标时刻,作为各最新offset对应的时间,并保存在图3所示表格格式的表格中。
比如,假设该流式任务对应的topic包括三个partition,目标时刻有12:00:00、12:05:00,针对每个目标时刻会获得3个最新offset。若最新offset1的实际获得时刻为12:00:08,最新offset2的实际获得时刻为12:00:09,offset1的实际获得时刻为12:00:10,由于上述三个最新offset的实际获得时刻最接近的目标时刻为12:00:00,因此可将目标时刻12:00:00作为上述三个最新offset各自对应的时间。
还可以每间隔5min获得每个流式任务在当前(指目标时刻)消费到的offset。可选地,可通过给每一个Streaming job(流式任务)增加监控代码,从而得到最新处理的offset。每获取一次后,可得到至少一个如格式如图4所示的与最新处理的offset相关的表格。该表格中可以包括一个最新处理的offset对应的topic标识、该最新offset所在的partition(分片)的信息、该最新offset、该最新offset对应的流式任务的标识(比如,流式任务的名称,即job_name)、该最新offset对应的时间等。其中,最新处理的offset对应的时间,可以是获得该最新处理的offset的实际时刻最接近的目标时刻,或者是获得该最新处理的offset的实际时刻所在的时刻范围对应的目标时刻。关于最新处理的offset对应的时间的描述,可参照上文关于最新生产的offset对应的时间的描述,在此不再赘述。
由此,可获得该流式任务在某个目标时刻的各最新生产的offset及各最新处理的offset。
由于Kafka的一个topic下有多个partition,可通过对同一个topic的不同partition的最新生产的offset进行求和,从而得到每个topic在该目标时刻对应的数据总接收量。由此,可得到各流式任务在该目标时刻的数据总接收量。其中,经求和运算后,可得到格式如图5所示的与一个topic的数据总接收量相关的表格,该表格中可以包括topic标识、producer_offset(上述topic中的不同partiton的最新生产的offset求和后的offset,即上述topic对应的数据总接收量)、该producer_offset对应的时间等。其中,该producer_offset对应的时间,可以是计算得到该producer_offset时使用的最新生产的offset对应的时间(即最新生产的offset对应的目标时刻)。
还可将一个流式任务对应的一个topic的不同partition的最新处理的offset进行求和,从而得到该流式任务在该目标时刻对应的数据总处理量。其中,经求和运算后,可得到格式如图6所示的与一个流式任务的数据总处理量相关的表格,该表格中可以包括该流式任务对应的topic的topic标识、该流式任务的标识(比如,流式任务的名称,job_name)、consumer_offset(上述topic中的不同partiton的最新处理的offset求和后的offset,即上述流式任务对应的数据总处理量)、该consumer_offset对应的时间等。其中,该consumer_offset对应的时间,可以是计算得到该consumer_offset时使用的最新处理的offset对应的时间(即最新处理的offset对应的目标时刻)。
将同一个流式任务在同一个目标时刻的数据总接收量producer_offset减去数据总处理量consumer_offset,可得到该流式任务在该目标时刻的待处理数据总量offset_delta。其中,经减法计算可得到格式如图7所示的与一个流式任务的待处理数据总量相关的表格,该表格中可以包括该流式任务的标识(比如,流式任务的名称,job_name)、producer_offset(上述流式任务在某目标时刻的数据总接收量)、offset_delta(表示在该目标时刻还有多少数据未处理)、该待处理数据总量对应的时间(上述producer_offset对应的目标时刻)、该流式任务对应的topic标识等。
若一个流式任务对应多个topic(主题),则可将该多个topic的所有最新生产的offset之和,作为该流式任务在该目标时刻的数据总接收量。比如,若一个流式任务对应topic1、topic2,topic1中包括partition1~partition3,topic2中包括partition4~partition6,topic1在该目标时刻的数据总接收量与topic2在该目标时刻的数据总接收量之和,则为该流式任务在该目标时刻的数据总接收量,即partition1~partition6的最新生产的offset之和为该流式任务的数据总接收量。
在一个流式任务对应多个topic时,可将该流式任务对应的各topic的所有最新处理的offset进行求和,从而得到该流式任务在该目标时刻对应的数据总处理量。比如,若一个流式任务对应topic1、topic2,topic1对应的数据总处理量为C,topic2对应的数据总处理量为D,topic1在该目标时刻的数据总处理量C与topic2在该目标时刻的数据总处理量D之和C+D,则为该流式任务在该目标时刻的数据总处理量。
由此,可获得在一个流式任务对应多个topic时,该流式任务在该目标时刻对应的数据总接收量和数据总处理量,将数据总接收量减去数据总处理量,即可得到该流式任务在该目标时刻的待处理数据总量。
若将该方法应该于其他系统(比如,RabitMQ、RocketMQ)时,可通过类似方式获得每个流式任务在各目标时刻的数据总接收量、数据总处理量、待处理数据总量。
请参照图8,图8是图2中步骤S120包括的子步骤的流程示意图。步骤S120可以包括子步骤S1231~子步骤S1234。
子步骤S1231,根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值。
子步骤S1232,根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值。
子步骤S1233,根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式。
子步骤S1234,根据确定的所述调整方式对所述目标流式任务的资源进行调整。
在本实施例中,在获得目标流式任务在各目标时刻的数据总接收量及待处理数据总量后,可计算在所述预设时间段内的该多个目标时刻的待处理数据总量的平均值,以获得所述第一平均值。并根据所述预设时间段内的该多个目标时刻的数据总接收量,计算得到相邻目标时刻的数据总接收量的差值,然后计算该预设时间段对应的该差值的平均值,以获得所述第二平均值。即,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值。
所述第一平均值体现了数据的积累情况,若第一平均值为0,表示该目标流式任务的处理能力够强;若第一平均值为正,表示生产出来的数据没有被全部消费掉。所述第二平均值体现了新数据的到来情况,若第二平均值为0,表示没有新数据来。接着,可根据该第一平均值及第二平均值,确定该目标流式任务的资源的调整方式,然后根据确定的调整方式进行资源调整,从而避免浪费资源或缺少资源,实现资源的合理利用。
可选地,请参照图9,图9是图8中子步骤S123包括的子步骤的流程示意图。子步骤S123可以包括子步骤S1231及子步骤S1232。
子步骤S1231,判断所述第一平均值是否大于第一预设值。
子步骤S1232,若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
在本实施例中,可首先将所述第一平均值与第一预设值进行比较。若所述第一平均值大于所述第一预设值,表示生产出来的很多数据没有被消费掉,需要增加该目标流式任务的资源。若所述第一平均值不大于所述第一预设值,表示生产出来的数据大多数都被消费掉了,此时不需要增加目标流式任务的资源。其中,所述第一预设值可根据实际需求设置。
请再次参照图9,子步骤S123还可以包括子步骤S1233~子步骤S1236。在所述第一平均值不大于所述第一预设值时,可执行子步骤S1233~子步骤S1236。
子步骤S1233,判断所述第一平均值是否小于第二预设值。
子步骤S1234,判断所述第二平均值是否小于第三预设值。
在所述第一平均值小于所述第二预设值、且所述第二平均值小于所述第三预设值时,执行子步骤S1235。
子步骤S1235,确定所述调整方式为减少所述目标流式任务的资源。
在所述第一平均值不小于所述第二预设值,和/或,所述第二平均值不小于所述第三预设值时,执行子步骤S1236。
子步骤S1236,确定不调整所述目标流式任务的资源。
在本实施例中,在所述第一平均值不大于所述第一预设值时,可将所述第一平均值与所述第二预设值、所述第二平均值与所述第三预设值分别进行比较。其中,所述第二预设值小于所述第一预设值。若所述第一平均值小于所述第二预设值、且所述第二平均值小于所述第三预设值,可确定此时目标流式任务的处理能力够,且此时并没有很多新数据到来,因此可确定此时的调整方式为减少目标流式任务的资源。反之,若出现所述第一平均值不小于所述第二预设值、所述第二平均值不小于所述第三预设值中的至少一种情况,可确定此时不需要调整目标流式任务的资源。由此,可对目标流式任务的资源实现快升慢降的控制,以用于处理在红包裂变分享等情形下的具有数据平时基本没有、数据一旦出现就是爆炸式增长的数据特征的数据。
在确定出调整方式,可根据该调整方式对目标流式任务的资源进行相应调整。
可选地,在所述调整方式为减少所述目标流式任务的资源时,可首先判断所述目标流式任务的当前资源档位是否是最低资源档位。若是,则不减少该目标流式任务的资源,即,使目标流式任务的资源保持不变。若否,可将目标流式任务的当前资源档位减少一个档位,确定出当前资源档位的下一资源档位,并将当前资源档位的资源量与当前资源档位的下一资源档位的资源量的差值,作为资源减少量。最后根据该资源减少量,减少所述目标流式任务的资源。其中,所述当前资源档位的资源量大于当前资源档位的下一资源档位的资源量。
在所述调整方式为增加所述目标流式任务的资源时,可首先判断所述目标流式任务的当前资源档位是否是最高资源档位。若是,则不增加目标流式任务的资源量,即,使目标流式任务的资源保持不变。若否,可将目标流式任务的当前资源档位调高一个档位,确定出当前资源档位的上一资源档位,并将当前资源档位的上一资源档位的资源量与当前资源档位的资源量的差值,作为资源增加量。最后根据该资源增加量,增加所述目标流式任务的资源。其中,所述当前资源档位的资源量小于所述当前资源档位的上一资源档位的资源量。
可选地,在本实施例的一种实施方式中,所述电子设备100中可预先存储有资源档位表及资源档位记录表,所述资源档位表中可以包括不同的资源档位及对应的资源量,所述资源档位记录表中可包括不同流式任务的当前资源档位。该资源档位记录表包括多个表,每个表的格式可如图10所示,表中包括流式任务的标识(如流式任务名称job_name)、当前资源档位、设置当前资源档位的时间等。
可根据该资源档位记录表获得目标流式任务的当前资源档位,在需要增加资源时,可将目标流式任务的当前资源档位调高一个档位;在需要减少资源时,可将目标流式任务的当前资源档位减少一个档位;然后根据所述资源档位表确定出资源增加量或资源较少量,进而对目标流式任务的资源进行增加或减少的调整。
可选地,所述第三预设值可小于
Figure BDA0002313182860000161
其中,A表示目标流式任务在资源档位为最低资源档位时,在所述预设时长内的消费的数据量。所述预设时刻为相邻目标时刻之间的时间差。
在本实施例的一种实施方式中,所述第二预设值及第三预设值可均为0,从而使得在数据无积累、且无新数据到来的情况下,减少所述目标流式任务的资源。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种流式计算资源控制装置200的实现方式,可选地,该流式计算资源控制装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参阅图11,图11是本申请实施例提供的流式计算资源控制装置200的方框示意图。需要说明的是,本实施例所提供的流式计算资源控制装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该流式计算资源控制装置200可以包括:数据量监控模块210及调整模块220。
所述数据量监控模块210,用于获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量。其中,相邻目标时刻之间的时间差为预设时长。
所述调整模块220,用于根据所述预设时间段的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
可选地,在本实施例中,所述调整模块220具体用于:根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值;根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值,其中,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值;根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式;根据确定的所述调整方式对所述目标流式任务的资源进行调整。
可选地,在本实施例中,所述调整模块220具体用于:判断所述第一平均值是否大于第一预设值;若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
可选地,在本实施例中,所述调整模块220还具体用于:若所述第一平均值不大于所述第一预设值,判断所述第一平均值是否小于第二预设值,并判断所述第二平均值是否小于第三预设值,其中,所述第一预设值大于所述第二预设值;若所述第一平均值小于所述第二预设值、且所述第二平均值小于所述第三预设值,则确定所述调整方式为减少所述目标流式任务的资源;若所述第一平均值不小于所述第二预设值,和/或,所述第二平均值不小于所述第三预设值,确定不调整所述目标流式任务的资源。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储器110中或固化于该电子设备100的操作系统(Operating System,OS)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的流式计算资源控制方法。
综上所述,本申请实施例提供一种流式计算资源控制方法、装置、电子设备及可读存储介质。首先获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长。然后根据预设时间段的各目标时刻的数据总接收量及待处理数据总量,对目标流式任务的资源进行调整。由此,可根据目标流式任务所对应实际的数据量,对目标流式任务的资源进行增加或减少,从而避免浪费资源或缺少资源,实现资源的合理利用。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种流式计算资源控制方法,其特征在于,所述方法包括:
获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长;
根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整,包括:
根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值;
根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值,其中,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值;
根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式;
根据确定的所述调整方式对所述目标流式任务的资源进行调整。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式,包括:
判断所述第一平均值是否大于第一预设值;
若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式,还包括:
若所述第一平均值不大于所述第一预设值,判断所述第一平均值是否小于第二预设值,并判断所述第二平均值是否小于第三预设值,其中,所述第一预设值大于所述第二预设值;
若所述第一平均值小于所述第二预设值、且所述第二平均值小于所述第三预设值,则确定所述调整方式为减少所述目标流式任务的资源;
若所述第一平均值不小于所述第二预设值,和/或,所述第二平均值不小于所述第三预设值,确定不调整所述目标流式任务的资源。
5.根据权利要求2-4中任意一项所述的方法,其特征在于,所述根据确定的所述调整方式对所述目标流式任务的资源进行调整,包括:
在所述调整方式为减少所述目标流式任务的资源时,判断所述目标流式任务的当前资源档位是否是最低资源档位;在是时,不减少所述目标流式任务的资源;在否时,根据所述目标流式任务的当前资源档位的资源量及所述当前资源档位的下一资源档位的资源量确定资源减少量,并根据所述资源减少量减少所述目标流式任务的资源,其中,所述当前资源档位的资源量大于所述当前资源档位的下一资源档位的资源量;
在所述调整方式为增加所述目标流式任务的资源时,判断所述目标流式任务的当前资源档位是否是最高资源档位;在是时,不增加所述目标流式任务的资源;在否时,根据所述目标流式任务的当前资源档位的资源量及所述当前资源档位的上一资源档位的资源量确定资源增加量,并根据所述资源增加量增加所述目标流式任务的资源,其中,所述当前资源档位的资源量小于所述当前资源档位的上一资源档位的资源量。
6.一种流式计算资源控制装置,其特征在于,所述装置包括:
数据量监控模块,用于获得目标流式任务在预设时间段内的各目标时刻的数据总接收量和数据总处理量,并根据各目标时刻的数据总接收量和数据总处理量计算得到各目标时刻的待处理数据总量,其中,相邻目标时刻之间的时间差为预设时长;
调整模块,用于根据所述预设时间段内的各目标时刻的数据总接收量及待处理数据总量,对所述目标流式任务的资源进行调整。
7.根据权利要求6所述的装置,其特征在于,所述调整模块具体用于:
根据所述预设时间段内的各目标时刻的待处理数据总量,计算得到第一平均值;
根据所述预设时间段内的各目标时刻的数据总接收量,计算得到第二平均值,其中,所述第二平均值为相邻目标时刻的数据总接收量的差值的平均值;
根据所述第一平均值、第二平均值确定所述目标流式任务的资源的调整方式;
根据确定的所述调整方式对所述目标流式任务的资源进行调整。
8.根据权利要求7所述的装置,其特征在于,所述调整模块具体用于:
判断所述第一平均值是否大于第一预设值;
若所述第一平均值大于所述第一预设值,则确定所述调整方式为增加所述目标流式任务的资源。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-5中任一项所述的流式计算资源控制方法。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的流式计算资源控制方法。
CN201911267173.9A 2019-12-11 2019-12-11 流式计算资源控制方法、装置、电子设备及可读存储介质 Active CN111078409B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911267173.9A CN111078409B (zh) 2019-12-11 2019-12-11 流式计算资源控制方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911267173.9A CN111078409B (zh) 2019-12-11 2019-12-11 流式计算资源控制方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111078409A true CN111078409A (zh) 2020-04-28
CN111078409B CN111078409B (zh) 2023-08-25

Family

ID=70313870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911267173.9A Active CN111078409B (zh) 2019-12-11 2019-12-11 流式计算资源控制方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111078409B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101939946A (zh) * 2008-01-07 2011-01-05 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
CN103190129A (zh) * 2009-11-25 2013-07-03 安全第一公司 对移动中数据进行保护的系统和方法
CN103229165A (zh) * 2010-08-12 2013-07-31 安全第一公司 用于数据的安全远程存储的系统和方法
CN103650440A (zh) * 2011-06-22 2014-03-19 赛格纳斯广播公司 用于在通信网络中优先化并调度数据包的检测系统和方法
US20180248771A1 (en) * 2017-02-24 2018-08-30 Ciena Corporation Monitoring and auto-correction systems and methods for microservices
US20190147430A1 (en) * 2017-11-10 2019-05-16 Apple Inc. Customizing payment sessions with machine learning models
CN110221917A (zh) * 2019-05-23 2019-09-10 阿里巴巴集团控股有限公司 用于分配流式数据的方法及装置
US20190370080A1 (en) * 2018-05-31 2019-12-05 Salesforce.Com, Inc. Streaming traffic pattern for public cloud auto scaling

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101939946A (zh) * 2008-01-07 2011-01-05 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
CN103190129A (zh) * 2009-11-25 2013-07-03 安全第一公司 对移动中数据进行保护的系统和方法
CN103229165A (zh) * 2010-08-12 2013-07-31 安全第一公司 用于数据的安全远程存储的系统和方法
CN103650440A (zh) * 2011-06-22 2014-03-19 赛格纳斯广播公司 用于在通信网络中优先化并调度数据包的检测系统和方法
US20180248771A1 (en) * 2017-02-24 2018-08-30 Ciena Corporation Monitoring and auto-correction systems and methods for microservices
US20190147430A1 (en) * 2017-11-10 2019-05-16 Apple Inc. Customizing payment sessions with machine learning models
US20190370080A1 (en) * 2018-05-31 2019-12-05 Salesforce.Com, Inc. Streaming traffic pattern for public cloud auto scaling
CN110221917A (zh) * 2019-05-23 2019-09-10 阿里巴巴集团控股有限公司 用于分配流式数据的方法及装置

Also Published As

Publication number Publication date
CN111078409B (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
US11755452B2 (en) Log data collection method based on log data generated by container in application container environment, log data collection device, storage medium, and log data collection system
CN109962856B (zh) 资源分配方法、装置以及计算机可读存储介质
US8782659B2 (en) Allocation of processing tasks between processing resources
CN103019853A (zh) 一种作业任务的调度方法和装置
CN111026553B (zh) 离线混部作业的资源调度方法及服务器系统
CN103309946A (zh) 多媒体文件处理方法、装置及系统
CN112579304A (zh) 基于分布式平台的资源调度方法、装置、设备及介质
CN110795284B (zh) 一种数据恢复方法、装置、设备及可读存储介质
CN115277566B (zh) 数据访问的负载均衡方法、装置、计算机设备及介质
CN114185675A (zh) 资源管理方法、装置、电子设备及存储介质
CN115794342A (zh) 流水线任务剩余时间估算方法、装置及电子设备
CN115421930A (zh) 任务处理方法、系统、装置、设备及计算机可读存储介质
CN115211092A (zh) 一种消息拉取方法、装置以及计算机存储介质
CN113595773B (zh) 信息处理方法、装置、电子设备和存储介质
CN106933673B (zh) 调整组件逻辑线程数量的方法及装置
CN112367384B (zh) 基于Kafka集群的动态限速方法、装置以及计算机设备
CN111078409A (zh) 流式计算资源控制方法、装置、电子设备及可读存储介质
CN105045873A (zh) 一种数据文件的推送方法、装置及系统
CN112416568A (zh) 音视频转码任务的时长预估方法和时长预估装置
CN112565391A (zh) 调整工业互联网平台中实例的方法、装置、设备和介质
JP4526774B2 (ja) コンピューターシステムの構成装置の性能バランス評価とサイジングを行う装置と方法
CN114490078A (zh) 一种微服务的动态缩扩容方法、装置及设备
CN112416888B (zh) 用于分布式文件系统的动态负载均衡方法及系统
US20140025810A1 (en) Collecting Processor Usage Statistics
CN114138453A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231130

Address after: 200,030 Unit 5B03, Floor 5, Building 2, No. 277, Longlan Road, Xuhui District, Shanghai

Patentee after: SHANGHAI SECOND PICKET NETWORK TECHNOLOGY CO.,LTD.

Address before: 200000 floors 4, 5 and 6, No. 3 Lane 1473, Zhenguang Road, Putuo District, Shanghai

Patentee before: Shanghai Fengzhi Technology Co.,Ltd.