CN111290860A - 数据通道调节方法、装置、设备及介质 - Google Patents

数据通道调节方法、装置、设备及介质 Download PDF

Info

Publication number
CN111290860A
CN111290860A CN201811506402.3A CN201811506402A CN111290860A CN 111290860 A CN111290860 A CN 111290860A CN 201811506402 A CN201811506402 A CN 201811506402A CN 111290860 A CN111290860 A CN 111290860A
Authority
CN
China
Prior art keywords
data
data channel
channel
speed
data channels
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
CN201811506402.3A
Other languages
English (en)
Other versions
CN111290860B (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Sichuan Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Sichuan 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 China Mobile Communications Group Co Ltd, China Mobile Group Sichuan Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811506402.3A priority Critical patent/CN111290860B/zh
Publication of CN111290860A publication Critical patent/CN111290860A/zh
Application granted granted Critical
Publication of CN111290860B publication Critical patent/CN111290860B/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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种数据通道调节方法、装置、设备及介质,该方法包括:获取数据通道被清除的速度和数据通道被写入的速度;根据数据通道被清除的速度和数据通道被写入的速度,判断是否需要增加数据通道的数量;根据判断结果,调节数据通道的数量,以保持数据通道的大小不变。根据本发明实施例提供的技术方案,可以调节数据通道的数量,保持数据通道的大小不变,防止数据通道填满导致的数据丢失。

Description

数据通道调节方法、装置、设备及介质
技术领域
本发明涉及通信技术领域,尤其涉及一种数据通道调节方法、装置、设备及介质。
背景技术
Flume是一个高可用、高可靠、分布式的海量日志采集、聚合及传输的***,它能将不同的海量数据收集,移动并存储到一个数据存储***中。Flume具有如下特点:轻量、配置简单、适用于各种日志收集存储分析,同时可以提供对数据进行简单处理,并支持写到各种数据接受方的能力。
Flume以Agent为最小的独立运行单位,一个Agent就是一个JVM(Java虚拟机)。
其中,单个Agent(代理)由source(数据源)、channel(数据通道)、sink(数据汇聚点)三大组件构成。
但是,Flume无现有的扩展方案,在上线时根据***的具体配置对flume做具体配置上的适当修改。
现有flume组件自动扩展技术主要存在以下缺陷:
1)如日志连接超时信息剧增,flume sink清理channel缓冲区不够快。
2)如日志并无超时信息,channel清除的速度够快,channel大小不断增加。
3)如agent失败,最终的目的地变得不可达,agent会在sink看到错误的位置写入数据,会存在sink连接失败、存储***的确认字符(ack,Acknowledgement)丢失、客户端应用程序接口(Application Programming Interface,API)抛出异常。表明数据可能没有被写入,sink利用channel回滚事物。因为传入的数据流并没有停止,这导致channel大小增加。如agent的channel被填满,source开始在channel的put(推送)操作得到channelexceptions异常,通过返回一个错误导致source回退到前一阶段。进而导致前一阶段的sink回滚得到事物,导致那个阶段的channel大小增长。失败会导致每一层都缓冲数据,直到channel填满,必须通过缓冲数据或删除数据进行处理,从而导致数据丢失。
综上所述,在大数据时代背景下,企业对数据的可用性、准确性及完整性的要求越来越高,上面几种方式所展现的缺点及弊端是不可接受的。
发明内容
本发明实施例提供了一种数据通道调节方法、装置、设备及介质,可以调节数据通道的数量,保持数据通道的大小不变,防止数据通道填满导致的数据丢失。
第一方面,本发明实施例提供了一种数据通道调节方法,方法包括:
获取数据通道被清除的速度和所述数据通道被写入的速度;
根据所述数据通道被清除的速度和所述数据通道被写入的速度,判断是否需要增加所述数据通道的数量;
根据判断结果,调节所述数据通道的数量,以保持所述数据通道的大小不变。
根据本发明所述的数据通道调节方法,当所述数据通道被清除的速度小于所述数据通道被写入的速度时,判断是否需要增加所述数据通道的数量;
其中,所述判断是否需要增加所述数据通道的数量,包括:
根据单个数据通道允许的最大容量和所述数据通道的数量,获取分布式数据采集聚合传输***允许的最大容量;
在所述分布式数据采集聚合传输***处于业务高峰期的预设时间段内,根据所述分布式数据采集聚合传输***允许的最大容量和所述预设时间段,获取单位时间内分布式数据采集聚合传输***允许的最大容量;
根据所述预设时间段内数据通道所占内存的增长量和所述预设时间段,获取单位时间内数据通道所占内存的增长量;
基于预设规则,根据所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量,以判断是否需要增加所述数据通道的数量,其中所述分布式数据采集聚合传输***包括数据源、所述数据通道和数据汇聚点。
根据本发明所述的数据通道调节方法,所述方法还包括:
获取所述单个数据通道允许的最大容量;
其中,根据主机内存在只运行所述分布式数据采集聚合传输***时的可配置容量和所述分布式数据采集聚合传输***本身所占的内存量,获取所述单个数据通道允许的最大容量。
根据本发明所述的数据通道调节方法,所述方法还包括:
获取所述分布式数据采集聚合传输***本身所占的内存量;
其中,根据启动前内存使用量和启动后内存使用量,获取所述分布式数据采集聚合传输***本身所占的内存量。
根据本发明所述的数据通道调节方法,所述方法还包括:
获取所述预设时间段内数据通道所占内存的增长量;
其中,根据所述预设时间段内单个数据通道所占内存的增长量和所述数据通道的数量,获取所述预设时间段内数据通道所占内存的增长量。
根据本发明所述的数据通道调节方法,所述方法还包括:
获取所述预设时间段内单个数据通道所占内存的增长量;
其中,根据所述预设时间段的开始时间点处数据通道所占内存和所述预设时间段的结束时间点处数据通道所占内存,获取所述预设时间段内单个数据通道所占内存的增长量。
根据本发明所述的数据通道调节方法,所述基于预设规则,根据所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量,包括:
根据3/4倍的所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量。
根据本发明所述的数据通道调节方法,所述方法还包括:
根据数据通道被清除的速度和所述数据通道被写入的速度、以及所述数据通道的大小是否发生变化,判断是否需要增加所述数据通道的数量,以保持所述数据通道的大小不变。
根据本发明所述的数据通道调节方法,所述根据数据通道被清除的速度和所述数据通道被写入的速度、以及所述数据通道的大小是否发生变化,判断是否需要增加所述数据通道的数量,以保持所述数据通道的大小不变,包括:
当所述数据通道被清除的速度小于所述数据通道被写入的速度,并且所述数据通道的大小发生变换时,则基于预设阈值,增加分布式数据采集聚合传输***代理的数量,以增加所述数据通道的数量,进而实现所述数据通道的大小保持不变。
根据本发明所述的数据通道调节方法,所述方法还包括:
根据无法将所述数据通道中的数据存入存储***的最大时间和在业务高峰时间段中所述数据通道被写入的速度,计算所述数据通道的容量;
其中,在所述最大时间中,应用程序产生并写入数据至所述数据通道。
第二方面,本发明实施例提供了一种数据通道调节装置,装置包括:
第一获取模块,用于获取数据通道被清除的速度和所述数据通道被写入的速度;
第一判断模块,用于根据所述数据通道被清除的速度和所述数据通道被写入的速度,判断是否需要增加所述数据通道的数量;
调节模块,用于根据判断结果,调节所述数据通道的数量,以保持所述数据通道的大小不变。
根据本发明所述的数据通道调节装置,第一判断模块,具体用于:
当所述数据通道被清除的速度小于所述数据通道被写入的速度时,判断是否需要增加所述数据通道的数量;
其中,所述第一判断模块包括:
第二获取模块,用于根据单个数据通道允许的最大容量和所述数据通道的数量,获取分布式数据采集聚合传输***允许的最大容量;
第三获取模块,用于在所述分布式数据采集聚合传输***处于业务高峰期的预设时间段内,根据所述分布式数据采集聚合传输***允许的最大容量和所述预设时间段,获取单位时间内分布式数据采集聚合传输***允许的最大容量;
第四获取模块,用于根据所述预设时间段内数据通道所占内存的增长量和所述预设时间段,获取单位时间内数据通道所占内存的增长量;
第五获取模块,用于基于预设规则,根据所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量,以判断是否需要增加所述数据通道的数量,其中所述分布式数据采集聚合传输***包括数据源、所述数据通道和数据汇聚点。
根据本发明所述的数据通道调节装置,装置还包括:
第六获取模块,用于获取所述单个数据通道允许的最大容量;
其中,根据主机内存在只运行所述分布式数据采集聚合传输***时的可配置容量和所述分布式数据采集聚合传输***本身所占的内存量,获取所述单个数据通道允许的最大容量。
根据本发明所述的数据通道调节装置,装置还包括:
第七获取模块,用于获取所述分布式数据采集聚合传输***本身所占的内存量;
其中,根据启动前内存使用量和启动后内存使用量,获取所述分布式数据采集聚合传输***本身所占的内存量。
根据本发明所述的数据通道调节装置,装置还包括:
第八获取模块,用于获取所述预设时间段内数据通道所占内存的增长量;
其中,根据所述预设时间段内单个数据通道所占内存的增长量和所述数据通道的数量,获取所述预设时间段内数据通道所占内存的增长量。
根据本发明所述的数据通道调节装置,装置还包括:
第九获取模块,用于获取所述预设时间段内单个数据通道所占内存的增长量;
其中,根据所述预设时间段的开始时间点处数据通道所占内存和所述预设时间段的结束时间点处数据通道所占内存,获取所述预设时间段内单个数据通道所占内存的增长量。
根据本发明所述的数据通道调节装置,第五获取模块具体用于:
根据3/4倍的所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量。
根据本发明所述的数据通道调节装置,装置还包括:
第二判断模块,根据数据通道被清除的速度和所述数据通道被写入的速度、以及所述数据通道的大小是否发生变化,判断是否需要增加所述数据通道的数量,以保持所述数据通道的大小不变。
根据本发明所述的数据通道调节装置,第二判断模块具体用于:
当所述数据通道被清除的速度小于所述数据通道被写入的速度,并且所述数据通道的大小发生变换时,则基于预设阈值,增加分布式数据采集聚合传输***代理的数量,以增加所述数据通道的数量,进而实现所述数据通道的大小保持不变。
根据本发明所述的数据通道调节装置,装置还包括:
计算模块,用于根据无法将所述数据通道中的数据存入存储***的最大时间和在业务高峰时间段中所述数据通道被写入的速度,计算所述数据通道的容量;
其中,在所述最大时间中,应用程序产生并写入数据至所述数据通道。
本发明实施例提供了一种数据通道调节设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
本发明实施例提供的数据通道调节方法、装置、设备及介质,可以调节数据通道的数量,保持数据通道的大小不变,防止数据通道填满导致的数据丢失。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一实施例的数据通道调节方法的流程示意图;
图2示出了本发明实施例的数据通道调节装置的结构示意图
图3示出了整个***的架构示意图;
图4示出了channel大小变化示意图;
图5示出了本发明另一实施例的数据通道调节方法的流程示意图;
图6示出了本发明实施例的新增agent后的架构示意图;
图7示出了本发明实施例提供的数据通道调节设备的硬件结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明一实施例可提供一种数据通道调节方法,参考图1,图1示出了本发明实施例的数据通道调节方法100的流程示意图,该方法包括:
S110,获取数据通道被清除的速度和数据通道被写入的速度;
S120,根据数据通道被清除的速度和数据通道被写入的速度,判断是否需要增加数据通道的数量;
S130,根据判断结果,调节数据通道的数量,以保持数据通道的大小不变。
利用本发明提供的上述方案,根据数据通道被清除的速度和数据通道被写入的速度,判断是否需要增加数据通道的数量,保持数据通道的大小不变,防止数据通道填满导致的数据丢失。
本发明实施例可提供一种数据通道调节装置,参考图2,图2示出了本发明实施例的数据通道调节装置200的结构示意图,该装置包括:
获取模块210,用于获取数据通道被清除的速度和数据通道被写入的速度;
判断模块220,用于根据数据通道被清除的速度和数据通道被写入的速度,判断是否需要增加数据通道的数量;
调节模块230,用于根据判断结果,调节数据通道的数量,以保持数据通道的大小不变。
利用本发明提供的上述方案,利用判断模块判断是否需要增加数据通道的数量,保持数据通道的大小不变,防止数据通道填满导致的数据丢失。
以下通过具体的实例,描述本发明实施例的可选的具体处理过程。需要说明的是,本发明的方案并不依赖于具体的软件方案,在实际应用中,可选用任何已知或未知的软件、算法、程序或其任意组合等来实现本发明的方案,只要是采用了本发明方案的实质思想,均落入本发明的保护范围。
本发明实施例提供一种数据通道调节方法,旨在实现程序自动处理source、channel及sink各组件之间实际运转需求,避免因组件之间出现性能瓶颈而影响数据处理的及时性。
为了方便描述,首先对整个***的架构进行介绍。
作为一个示例,参考图3,图3示出了整个***的架构示意图,主要涉及weblogic日志、tomcat日志、source、channel和sink三者之间的关联以及日志整体流向图。
以下对图3所示的各个部分的具体功能进行说明,具体如下:
weblogic日志:主要是提供weblogic中间件业务***日志来源。
tomcat日志:主要是提供tomcat中间件业务***日志来源。
source:将data(数据)转化为event(事件)写入到一个或多个channel中。
channel:作为event从source到sink传递的保留区。
sink:只从一个channel中接收event。
event:flume将数据表示为event,它是Flume的基本传输单位。它由0个或多个头与体组成。头是一些键值对,可用于路由判定或是承载其他结构化信息。体是字节数组,包含实际负载。每个event本质上是一个独立的记录。
参考图4,图4示出了channel大小变化示意图。
如图4所示,如agent失败,最终的目的地变得不可达,agent会在sink看到错误的位置写入数据,会存在sink连接失败、存储***的ack丢失、客户端API抛出异常。表明数据可能没有被写入,sink利用channel回滚事物。因为传入channel的数据流并没有停止,这导致channel大小增加。如agent的channel被填满,source开始在channel的put(推送)操作得到channel exceptions异常,通过返回一个错误导致source回退到前一阶段。进而导致前一阶段的sink回滚得到事物,导致那个阶段的channel大小增长。失败会导致每一层都缓冲数据,直到channel填满,必须通过缓冲数据或删除数据进行处理,从而导致数据丢失。
<实施例1-调节channel数量>
若channel添加的数量flume sink清理channel不够及时,则确定是否需要添加channel。
参考图5,图5示出了本发明另一实施例的数据通道调节方法500的流程示意图,该方法包括:
S510,当flume处于业务高峰期时通过取其中一段时间t,通过对主机的内存计算出单个channel允许的最大容量来与当前channel的个数求积,求出当前flume允许的最大容量,设定当超过3/4当前允许的最大容量时,增加channel来均衡负载当前flume;
S520,通过在t时间段内channel所占内存的增长量来除以时间段t求出单位时间内的增长量;
S530,通过前面求出来的flume允许的最大容量与时间段t,求出单位时间内允许最大容量,最后除以单位时间内的增长量,求出当前flume需求的channel个数。
以下对5所示的各个步骤进行详细介绍,具体如下:
S510,当flume处于业务高峰期时通过取其中一段时间t,通过对主机的内存计算出单个channel允许的最大容量来与当前channel的个数求积,求出当前flume允许的最大容量,设定当超过3/4当前允许的最大容量时,增加channel来均衡负载当前flume。
作为一个示例,通过主机内存配置当前flume JVM如下:
首先,JAVA_OPTS="-Xmx3g",例如主机内存4GB在只运行flume的情况下可配置诸如3GB,其中1GB=1024MB,1MB=1024KB,1KB=1024B(字节)。
其次,启动flume后通过配置的3GB减去flume本身所占的内存量,求出可用内存量。
再次,Flume本身所占内存量取决于启动前内存使用量,启动前内存使用量通过linux***命令free求出,启动free查看内存使用量,相减求出flume本身占用内存量。
例如,在启动前,参见表1,其中表1中各个数据的单位为(KB):
Shell>free
表1
在启动后,参加表2,其中表2中各个数据的单位为(KB):
Shell>free
表2
Figure BDA0001899555350000112
根据表1,可得启动前内存使用量为267688(KB);根据表2,可得启动后内存使用量为318812(KB),二者相减,可得Flume本身所占内存量,如公式(1)所示:
Flume本身所占内存量:318812-267688=51124(KB) (1)
接下来,根据启动flume后通过配置的3GB(3GB=3*1024*1024=3145728KB)减去flume本身所占的内存量,获取channel允许的最大容量,如公式(2)所示:
允许最大容量:3145728-51124=3094604(KB)=3022(MB) (2)
S520,通过在t时间段内channel所占内存的增长量来除以时间段t求出单位时间内的增长量.
作为一个示例,基于t时间段的开始时间点和结尾时间点,通过Java命令jmap–heap pid来查看内存的增加量。
Shell>jps
2343Application(应用程序)
2586Jps
Shell>jmap-heap 2343
根据t时间段的开始时间点和结尾时间点的used(内存使用量)的差值求出增长量。
其中,t时间段的开始时间点:
used=5580176KB(=5.3216705322265625MB)
used=1048576(=1.0MB)
used=0(=0.0MB)
used=5237400(=4.994773864746094MB)
将t时间段的开始时间点的所有used相加,得到t时间段的开始时间点的内存使用量,如公式(3)所示:
5.3216705322265625+1.0+0.0+4.994773864746094≈11(MB) (3)
此外,t时间段的结束时间点:
used=2525803176B(=2321.3216705322265625MB)
used=160428576B(=15.0MB)
used=0B(=0.0MB)
used=524537400B(=461.994773864746094MB)
将t时间段的结束时间点的所有used(内存使用量)相加,得到t时间段的结束时间点的内存使用量,如公式(4)所示:
2321.32167+15.0+0.0+461.994773864746094≈2797(MB) (4)
根据公式(3)和公式(4)所得结果,计算二者差值,获得单个channel的增长量,如公式(5)所示:
2797-11=2786(MB) (5)
S530,通过S510所得的flume允许的最大容量与时间段t求出单位时间内允许最大容量,最后被除以单位时间内的增长量,如公式(6)所示,求出当前flume需求的channel个数。
Figure BDA0001899555350000131
将前述步骤求出的值带入公式(6),计算求得结果为1.229,这说明当值大于1时该增加channel数量。
<实施例2-调节channel数量>
本发明又一实施例提供了一种数据通道调节方法,具体如下:
检查当前agent是否满足当前数据处理能力,根据处理能力实现agent分布负载。
作为一个示例,通过程序判断channel被清除的速度及channel大小是否变化,当所有sink结合起来清除channel速度不如source写到channel的速度快时,则从agent*N的flume agent(分布式数据采集聚合传输***代理)添加至当前agent*N+1的flume agent,实现agent分布负载,从而减少source写速率和sink清理速率之间的差值。确保channel大小保持一致,不再持续增长。
具体地,流程图如图6所示,图6示出了本发明实施例的新增agent后的架构示意图,如图6所示,新增agent后的架构包括四个agent,而未增加agent的架构所包含的agent的数量少于四个。
因此,通过增加agent的数量,以增加channel的数量,进而保持channel的大小不变,从而防止数据丢失。
<实施例3-调节channel容量>
在调节完channel数量的基础上,还可以调节channel容量。
作为一个示例,为了更好地避免channel被填满,flume channel容量在生产数据的应用程序和存储***之间提供了一个缓冲区。设定无法访问的存储***的最大时间等于Maxstr,相当于在Maxstr的时间里,当flume缓冲数据时,应用程序必须能生产和写入数据到flume,设定所有应用服务器事件的综合生产能力在高峰时间段的速度是每秒Pmax个事件,那么在该最大时间Maxstr期间,产生的事件总数可以表示为如公式(7)所示:
Tmax=Pmax*Maxstr (7)
计算出整个flume部署中的事件总数后,为flume集群添加一个额外的缓冲,例如额外增加25%的Tmax是一个合理的缓冲,所以在整个flume部署中的最优channel容量计算公式如公式(8)所示:
T=1.25*Tmax (8)
应该注意的是,上述实施例仅为示例性的,在其他实施例中,可以根据公式(7)调节channel容量。
综上,本发明一实施例通过当判定channel添加的数量使得flume sink清理channel不够及时时,则确定是否需要添加channel;
本发明另一实施例通过检查当前agent是否满足当前数据处理能力,根据处理能力实现agent分布负载;
本发明又一实施例通过调节channel的容量,防止channel大小发生变化。
因此,本发明实施例通过程序自动控制校验,实现对容量的合理调整,确保channel缓冲区数据正常流转,加强对source、channel和sink组件的调控,高效地保证了数据的正常收集与传输,对业务连续性提供可靠保障。
另外,结合图1描述的本发明实施例的数据通道调节方法可以由数据通道调节设备来实现。图7示出了本发明实施例提供的数据通道调节设备的硬件结构示意图。
数据通道调节设备可以包括处理器1003以及存储有计算机程序指令的存储器1004。
图7是示出能够实现根据本发明实施例的通信方法和网络服务器的计算设备的示例性硬件架构的结构图。如图7所示,计算设备1000包括输入设备1001、输入接口1002、处理器1003、存储器1004、输出接口1005、以及输出设备1006。
其中,输入接口1002、处理器1003、存储器1004、以及输出接口1005通过总线1010相互连接,输入设备1001和输出设备1006分别通过输入接口1002和输出接口1005与总线1010连接,进而与计算设备1000的其他组件连接。
具体地,输入设备1001接收来自外部的输入信息,并通过输入接口1002将输入信息传送到处理器1003;处理器1003基于存储器1004中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器1004中,然后通过输出接口1005将输出信息传送到输出设备1006;输出设备1006将输出信息输出到计算设备1000的外部供用户使用。
计算设备1000可以执行本申请上述的通信方法中的各步骤。
处理器1003可以是一个或多个中央处理器(英文:Central Processing Unit,CPU)。在处理器1003是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
存储器1004可以是但不限于随机存储存储器(RAM)、只读存储器(ROM),可擦除可编程只读存储器(EPROM)、光盘只读存储器(CD-ROM)、硬盘等中的一种或多种。存储器1004用于存储程序代码。
可以理解的是,在本申请实施例中,图2提供的获取模块至调节模块中任一模块或全部模块的功能可以用图7所示的中央处理器1003实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
本说明书的各个部分均采用递进的方式进行描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点介绍的都是与其他实施例不同之处。尤其,对于装置和***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。

Claims (13)

1.一种数据通道调节方法,包括:
获取数据通道被清除的速度和所述数据通道被写入的速度;
根据所述数据通道被清除的速度和所述数据通道被写入的速度,判断是否需要增加所述数据通道的数量;
根据判断结果,调节所述数据通道的数量,以保持所述数据通道的大小不变。
2.根据权利要求1所述的方法,其特征在于,
当所述数据通道被清除的速度小于所述数据通道被写入的速度时,判断是否需要增加所述数据通道的数量;
其中,所述判断是否需要增加所述数据通道的数量,包括:
根据单个数据通道允许的最大容量和所述数据通道的数量,获取分布式数据采集聚合传输***允许的最大容量;
在所述分布式数据采集聚合传输***处于业务高峰期的预设时间段内,根据所述分布式数据采集聚合传输***允许的最大容量和所述预设时间段,获取单位时间内分布式数据采集聚合传输***允许的最大容量;
根据所述预设时间段内数据通道所占内存的增长量和所述预设时间段,获取单位时间内数据通道所占内存的增长量;
基于预设规则,根据所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量,以判断是否需要增加所述数据通道的数量,其中所述分布式数据采集聚合传输***包括数据源、所述数据通道和数据汇聚点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述单个数据通道允许的最大容量;
其中,根据主机内存在只运行所述分布式数据采集聚合传输***时的可配置容量和所述分布式数据采集聚合传输***本身所占的内存量,获取所述单个数据通道允许的最大容量。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述分布式数据采集聚合传输***本身所占的内存量;
其中,根据启动前内存使用量和启动后内存使用量,获取所述分布式数据采集聚合传输***本身所占的内存量。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述预设时间段内数据通道所占内存的增长量;
其中,根据所述预设时间段内单个数据通道所占内存的增长量和所述数据通道的数量,获取所述预设时间段内数据通道所占内存的增长量。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述预设时间段内单个数据通道所占内存的增长量;
其中,根据所述预设时间段的开始时间点处数据通道所占内存和所述预设时间段的结束时间点处数据通道所占内存,获取所述预设时间段内单个数据通道所占内存的增长量。
7.根据权利要求2所述的方法,其特征在于,所述基于预设规则,根据所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量,包括:
根据3/4倍的所述单位时间内分布式数据采集聚合传输***允许的最大容量和所述单位时间内数据通道所占内存的增长量,获取所述分布式数据采集聚合传输***需求的数据通道数量。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据数据通道被清除的速度和所述数据通道被写入的速度、以及所述数据通道的大小是否发生变化,判断是否需要增加所述数据通道的数量,以保持所述数据通道的大小不变。
9.根据权利要求8所述的方法,其特征在于,所述根据数据通道被清除的速度和所述数据通道被写入的速度、以及所述数据通道的大小是否发生变化,判断是否需要增加所述数据通道的数量,以保持所述数据通道的大小不变,包括:
当所述数据通道被清除的速度小于所述数据通道被写入的速度,并且所述数据通道的大小发生变换时,则基于预设阈值,增加分布式数据采集聚合传输***代理的数量,以增加所述数据通道的数量,进而实现所述数据通道的大小保持不变。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据无法将所述数据通道中的数据存入存储***的最大时间和在业务高峰时间段中所述数据通道被写入的速度,计算所述数据通道的容量;
其中,在所述最大时间中,应用程序产生并写入数据至所述数据通道。
11.一种数据通道调节装置,其特征在于,所述装置包括:
获取模块,用于获取数据通道被清除的速度和所述数据通道被写入的速度;
判断模块,用于根据所述数据通道被清除的速度和所述数据通道被写入的速度,判断是否需要增加所述数据通道的数量;
调节模块,用于根据判断结果,调节所述数据通道的数量,以保持所述数据通道的大小不变。
12.一种数据通道调节设备,其特征在于,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现如权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-10中任一项所述的方法。
CN201811506402.3A 2018-12-10 2018-12-10 数据通道调节方法、装置、设备及介质 Active CN111290860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811506402.3A CN111290860B (zh) 2018-12-10 2018-12-10 数据通道调节方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811506402.3A CN111290860B (zh) 2018-12-10 2018-12-10 数据通道调节方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111290860A true CN111290860A (zh) 2020-06-16
CN111290860B CN111290860B (zh) 2023-08-15

Family

ID=71029856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811506402.3A Active CN111290860B (zh) 2018-12-10 2018-12-10 数据通道调节方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN111290860B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206873B1 (en) * 2003-11-13 2007-04-17 Storage Technology Corporation Throughput optimization by activation of selected parallel channels in a multichannel tape drive
CN103179171A (zh) * 2011-12-26 2013-06-26 ***通信集团山东有限公司 基于分布式***架构的文件传输方法及装置
CN105786945A (zh) * 2015-12-24 2016-07-20 北京科东电力控制***有限责任公司 一种基于数据通道的用电信息数据高效处理方法
CN107590182A (zh) * 2017-08-03 2018-01-16 华南理工大学 一种分布式日志收集方法
CN107833051A (zh) * 2017-10-19 2018-03-23 中国银行股份有限公司 一种数据统计方法以及***
CN107908367A (zh) * 2017-11-16 2018-04-13 郑州云海信息技术有限公司 存储***中数据存储的方法、装置、设备及存储介质
CN108615273A (zh) * 2016-12-08 2018-10-02 ***通信集团四川有限公司 数据处理方法、装置及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206873B1 (en) * 2003-11-13 2007-04-17 Storage Technology Corporation Throughput optimization by activation of selected parallel channels in a multichannel tape drive
CN103179171A (zh) * 2011-12-26 2013-06-26 ***通信集团山东有限公司 基于分布式***架构的文件传输方法及装置
CN105786945A (zh) * 2015-12-24 2016-07-20 北京科东电力控制***有限责任公司 一种基于数据通道的用电信息数据高效处理方法
CN108615273A (zh) * 2016-12-08 2018-10-02 ***通信集团四川有限公司 数据处理方法、装置及***
CN107590182A (zh) * 2017-08-03 2018-01-16 华南理工大学 一种分布式日志收集方法
CN107833051A (zh) * 2017-10-19 2018-03-23 中国银行股份有限公司 一种数据统计方法以及***
CN107908367A (zh) * 2017-11-16 2018-04-13 郑州云海信息技术有限公司 存储***中数据存储的方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YANG KUOJUN等: ""Algorithm based on TDC to estimate and calibrate delay between channels of high-speed data acquisition system"", pages 221 - 224 *
黄振豪: ""适配电商平台的分布式日志采集***关键技术研究和***实现"", no. 06, pages 138 - 986 *

Also Published As

Publication number Publication date
CN111290860B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
US11221975B2 (en) Management of shared resources in a software-defined storage environment
US10387202B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
US10534542B2 (en) Dynamic core allocation for consistent performance in a non-preemptive scheduling environment
US10169249B2 (en) Adjusting active cache size based on cache usage
US9020984B1 (en) Methods and apparatus for optimizing resource utilization in distributed storage systems
US9760392B1 (en) Adaptive throttling in hybrid storage environments
US20100161897A1 (en) Metadata server and disk volume selecting method thereof
KR20220084844A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US20220357870A1 (en) Object Tiering In A Distributed Storage System
CN113835616A (zh) 应用的数据管理方法、***和计算机设备
CN110750221B (zh) 卷克隆方法、装置、电子设备及机器可读存储介质
US11048631B2 (en) Maintaining cache hit ratios for insertion points into a cache list to optimize memory allocation to a cache
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
US20240103771A1 (en) Sharing ephemeral storage of a virtual machine for use as victim caches for use by virtual storage appliances in a cloud environment
US10776173B1 (en) Local placement of resource instances in a distributed system
CN106131118B (zh) 一种分布式缓存的方法、装置和***
CN111290860B (zh) 数据通道调节方法、装置、设备及介质
US10630602B1 (en) Resource allocation using restore credits
WO2023010948A1 (zh) 云桌面数据的迁移方法、业务节点、管理节点、服务器、电子设备和计算机可读存储介质
US6742019B1 (en) Sieved caching for increasing data rate capacity of a heterogeneous striping group
US10721181B1 (en) Network locality-based throttling for automated resource migration
CN117608867B (zh) 存储io请求处理方法、装置、电子设备及介质
JP6773755B2 (ja) ストレージ装置及びストレージ装置における構成管理リクエストの処理方法
US10908828B1 (en) Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup
KR20240092391A (ko) 스마트 네트워크 인터페이스 카드의 오프로딩을 통한 키 밸류 스토어 성능 향상 방법 및 장치

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