CN113986557A - 一种面向全流量采集的存储负载均衡方法及系统 - Google Patents

一种面向全流量采集的存储负载均衡方法及系统 Download PDF

Info

Publication number
CN113986557A
CN113986557A CN202111350457.1A CN202111350457A CN113986557A CN 113986557 A CN113986557 A CN 113986557A CN 202111350457 A CN202111350457 A CN 202111350457A CN 113986557 A CN113986557 A CN 113986557A
Authority
CN
China
Prior art keywords
storage
load balancing
data packet
load
data packets
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
CN202111350457.1A
Other languages
English (en)
Other versions
CN113986557B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202111350457.1A priority Critical patent/CN113986557B/zh
Publication of CN113986557A publication Critical patent/CN113986557A/zh
Application granted granted Critical
Publication of CN113986557B publication Critical patent/CN113986557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

本发明涉及一种面向全流量采集的存储负载均衡方法及系统,其方法包括:S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,将其发往负载均衡控制器;S2:负载均衡控制器根据存储负载信息,生成负载均衡策略及其相应的日志;S3:流量分发器执行负载均衡策略,将数据包分发至中间队列;S4:数据包合并器从中间队列获取多个数据包,并按预设阈值将其封装为封装数据包加入待存储缓存队列,发送到对应的存储节点;S5:流量重组器根据下游任务的请求,从存储节点获取封装数据包,对其中的数据包进行重组,将重组后的数据包返回给下游任务。本发明提供的方法解决分布式存储负载不均衡,数据进入待存储缓存队列开销大的问题。

Description

一种面向全流量采集的存储负载均衡方法及系统
技术领域
本发明涉及网络流量存储领域,具体涉及一种面向全流量采集的存储负载均衡方法及系统。
背景技术
全流量采集和存储,能够实现将链路上所有流量持久化到硬盘,是网络流量的离线处理和分析的基础。但随着网络通信量的迅速增长,网络主干的链路速率普遍超过了10Gbps,某些核心链路甚至能够达到100Gbps,全流量的采集和存储变得非常困难,其主要的瓶颈在于存储压力较大,硬盘难以完成存储任务,从而导致出现丢包,影响到离线分析和处理的准确性。
当前的流量存储方法主要分为充分发挥硬盘的读写性能、通过使用多块硬盘提升性能两种。充分发挥硬盘性能的方法利用了硬盘读写的原理,通过顺序读写减少寻道和旋转延迟的开销,提升读写速度;在使用多块硬盘的方法中又分为使用RAID技术和并行使用多块硬盘两类。RAID技术配置复杂,成本高昂,往往需要额外的硬件支持,在实际生产中不被使用;并行使用多块硬盘配置简单,但存在存储负载的均衡分配问题。
现阶段的主流存储框架大多使用分布式架构,使用多块硬盘进行并行存储,同时在将数据写入硬盘前,会将数据放入一个待存储缓存队列中,等待其数据量达到一定数值或者超过一定时间后才进行硬盘写入。以Apache Kakfa为例,Kafka可以使用多块硬盘进行数据存储,但数据具体写入哪块磁盘是由数据的特征决定的,通常使用流量的五元组计算的哈希值。但由于哈希冲突和网络流量的不均匀分布等问题,这种方法在实际的使用中会出现不同硬盘的存储负载不均衡的问题。另一方面,Kafka为待存储数据建立了待存储缓存队列,避免了对于每一个数据都进行一次硬盘读写、建立网络传输连接,从而减少了开销,但是将数据入队到缓存队列也有一定的开销,特别在进行大量网络数据包存储时,这个开销是非常巨大的。Kafka官方文档显示数据大小在10KB左右时,两种开销达到一个比较平衡的值,系统的存储能力最佳。但是单个网络数据包的大小往往远小于10KB,大量的入队操作会导致系统的存储能力大幅下降。因此,分布式存储负载不均衡,数据进入待存储缓存队列开销过大成为一个亟待解决的问题。
发明内容
为了解决上述技术问题,本发明提供一种面向全流量采集的存储负载均衡方法及系统。
本发明技术解决方案为:一种面向全流量采集的存储负载均衡方法,包括:
步骤S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器;
步骤S2:所述负载均衡控制器根据所述存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略及其相应的日志;
步骤S3:流量分发器根据所述负载均衡控制器的控制表,执行所述负载均衡策略,将数据包分发至中间队列;
步骤S4:数据包合并器从所述中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将所述封装数据包加入待存储缓存队列,发送到对应的所述存储节点;
步骤S5:流量重组器根据下游任务的请求,从所述存储节点获取所述封装数据包,通过时间戳和数据包中的标记,对所述封装数据包中的数据包进行重组,将重组后的数据包返回给所述下游任务。
本发明与现有技术相比,具有以下优点:
本发明公开了一种面向全流量采集的存储负载均衡方法,使用负载均衡控制器获取整个集群的存储负载状态信息,通过将部分存储负载重定向到存储压力较小的存储设备,解决全流量采集的存储负载不均衡问题。此外,本发明公开的方法对多个数据包进行封装,形成一个符合分布式存储框架最佳存储单元大小的数据包,减少了入队操作,提升了分布式存储集群的吞吐量。
附图说明
图1为本发明实施例中一种面向全流量采集的存储负载均衡方法的流程图;
图2为本发明实施例中负载均衡操作示意图;
图3为本发明实施例中负载均衡策略的流程示意图;
图4为本发明实施例中封装数据包的数据结构示意图;
图5为本发明实施例中面向全流量采集的存储负载均衡方法的整体流程示意图;
图6为本发明实施例中一种面向全流量采集的存储负载均衡系统的结构框图。
具体实施方式
本发明提供了一种面向全流量采集的存储负载均衡方法,以解决当前分布式存储负载不均衡,数据进入待存储缓存队列开销大的问题。
为了使本发明的目的、技术方案及优点更加清楚,以下通过具体实施,并结合附图,对本发明进一步详细说明。
实施例一
如图1所示,本发明实施例提供的一种面向全流量采集的存储负载均衡方法,包括下述步骤:
步骤S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器;
步骤S2:负载均衡控制器根据存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略及其相应的日志;
步骤S3:流量分发器根据负载均衡控制器的控制表,执行负载均衡策略,将数据包分发至中间队列;
步骤S4:数据包合并器从中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将封装数据包加入待存储缓存队列,发送到对应的存储节点;
步骤S5:流量重组器根据下游任务的请求,从存储节点获取封装数据包,通过时间戳和数据包中的标记,对封装数据包中的数据包进行重组,将重组后的数据包返回给下游任务。
在一个实施例中,上述步骤S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器,具体包括:
步骤S11:令{Namei,Utili}为存储设备的存储负载状态信息,其中,Namei为存储节点的第i个存储设备的名称,Utili为该存储设备的存储负载,即利用率;则存储节点的存储负载状态信息表示为矩阵
Figure BDA0003355566800000031
步骤S12:存储负载监控器周期性地获取各个存储设备的存储负载状态信息,并更新存储节点的存储负载状态信息,将其发往负载均衡控制器。
在本步骤中,在各个存储节点创建负载监控进程,存储负载监控器利用该进程采集存储节点上各个存储设备的存储负载状态信息后,发给负载均衡控制器。
在一个实施例中,上述步骤S2:负载均衡控制器根据存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略及其相应的日志,具体包括:
步骤S21:负载均衡控制器获取各个存储节点的存储负载状态信息,构建集群的存储拓扑;
负载均衡控制器与各个存储节点的负载监控进程建立连接,监听存储节点发来的信息,建立起整个系统的存储拓扑、记录各个存储设备的负载信息;
步骤S22:负载均衡控制器维护负载均衡控制表{ID,Targets,P},其中,ID表示存储设备的编号,Targets表示该存储设备的数据被重定向到的目标存储设备编号,P用于控制可被重定向到目标存储设备的数据的比例;
负载均衡控制器维护一个负载均衡控制表,该表包含字段{ID,Targets,P},其中ID表示存储设备的编号,Targets表示属于该设备的数据可以被重定向到的目标存储设备编号,可以存在多个目标存储设备,在不进行负载均衡时Targets为空,表示被默认情况下由该ID存储设备所储存的数据,不能被重定向到其它设备;P用于控制可被重定向到目标存储设备的数据的比例,只在每次进行负载均衡的最开始被设置;
如图2中所示的负载均衡控制表,存储设备0和2的Targets为空,表明其存储的数据不可被重定向,存储设备1的Targets为0和2,表明默认由存储设备1存储的数据可被重定向到存储设备0和2;
步骤S23:负载均衡控制器根据各个存储设备的存储负载状态信息,生成负载均衡策略:如果在连续三次更新负载均衡控制表时,存储设备的利用率均超过了阈值H,则向负载均衡控制表的对应Targets中添加当前负载最低的存储设备ID;如果在连续三次更新负载均衡控制表时,存储设备的利用率均低于阈值L,且该设备对应的Targets表项不为空,则在负载均衡控制表的对应Targets删除最后添加的存储设备ID,以减少对数据的重定向处理;
在本发明实施例中,阈值H和L分别取90%和70%,图3展示了负载均衡策略的流程示意图;
步骤S24:负载均衡控制器在生成负载均衡策略时,生成对应的日志{Timestamp,ID,Targets},其中,Timestamp为时间戳,ID为重定向的源存储设备编号,Targets为重定向的目标存储设备编号。
在一个实施例中,上述步骤S3:流量分发器根据负载均衡控制器的控制表,执行负载均衡策略,将数据包分发至中间队列,具体包括:
步骤S31:构建数据包五元组{srcip,dstip,srcport,dstport,protocol};其中,srcip为源存储设备IP地址,dstip为目的存储设备IP地址,srcport为源端口号,dstport为目的端口号,protocol为传输层协议;
步骤S32:使用toplitz哈希函数计算五元组哈希值作为存储设备编号ID0=toplitz(srcip,dstip,srcport,dstport,protocol)%N;其中,N为总的存储设备的数量;
步骤S33:根据ID0查询负载均衡控制表,找到对应的存储设备,如果该设备对应的Targets列表长度为0,那么数据包会被送到编号为ID0的中间队列;若Targets列表长度不为0,构造addHash函数,利用五元组的各个字符的ASCII码值计算目标存储设备编号ID1=addHash(srcip,dstip,srcport,dstport,protocol)%P,其中,P为所述负载均衡控制表中该存储设备对应的参数,则数据包被送到的编号为ID的中间队列,其计算公式如下所示:
Figure BDA0003355566800000051
其中,M为Targets列表的长度,Targets[ID1]表示取Targets列表中对应第ID1个元素的值。
举例来说,如图2所示的负载均衡操作示意图,经过toplitz哈希函数计算得到ID0,根据ID0在负载均衡控制表查询对应的存储设备编号ID,当ID0=0和2时,其对应的Targets列表为空,数据包被送到ID0对应的中间队列0和中间队列2中;当ID0为1时,Targets列表为[0、2],长度为2,即M=2,读取参数P为6,根据addHash函数计算ID1,如果ID1等于0,那么将数据包入队到Targets[0],即中间队列0;如果ID1等于1,那么将数据包存储到Targets[1],即中间队列2;其它情况下将数据包入队到ID0对应中间队列;
在一个实施例中,上述步骤S4:数据包合并器从中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将封装数据包加入待存储缓存队列,发送到对应的所述存储节点,具体包括:
步骤S41:流量重组器周期性地从中间队列中一次性读取多个数据包,将其封装为封装数据包,统计该次读取到的数据包数量;
步骤S42:当读取该次数据包时,且此时封装数据包的大小为0,则使用读取到多个数据包中的第一个数据包的时间戳填充封装数据包的time_base字段;
步骤S43:使用各个数据包的数据依次填充封装数据包offset、size和data字段,并持续检测封装数据包大小是否达到预定阈值,若超过预定周期,且封装数据包大小仍未达到预定阈值,说明此时中间队列未进新的数据包,则将封装数据包发送到对应存储节点后,清空封装数据包,转至步骤S41;若未超过预定周期,封装数据包大小已达到预定阈值,则将封装数据包发送到对应存储节点后,清空封装数据包,若在该次读取中仍有数据包没有被处理,转至步骤S42,否则转至步骤S41,继续处理中间队列中数据包。
如图4所示,为封装数据包的数据结构示意图。
在一个实施例中,上述步骤S5:流量重组器根据下游任务的请求,从存储节点获取封装数据包,通过时间戳和数据包中的标记,对封装数据包中的数据包进行重组,将重组后的数据包返回给下游任务,具体包括:
步骤S51:下游任务发出请求,在请求中指明存储设备ID和需要的流量的时间区间{TimestampStart,TimestampEnd},流量重组器根据请求,对负载均衡控制器的日志在该时段进行查询,得到结果矩阵,如下所示:
Figure BDA0003355566800000061
其中,timestampm是与TimestampStart最接近,但早于TimestampStart的日志,timestampn与TimestampEnd最接近,但晚于TimestampEnd的日志;tar gets为对应的存储设备;
步骤S52:依次遍历结果矩阵中的日志,从编号在targetsi中的存储设备和编号为ID的存储设备并行取timestampi到timestampi+1时间段内的封装数据包;
步骤S53:对从每个存储设备中取出的封装数据包进行解封装,得到原始数据包,丢弃其中存储设备ID不等于请求存储设备ID的数据包,按照时间戳的顺序对剩余数据包进行重组,将重组后的数据包返回给下游任务。
如图5所示,为面向全流量采集的存储负载均衡方法的整体流程示意图。
本发明公开了一种面向全流量采集的存储负载均衡方法,使用负载均衡控制器获取整个集群的存储负载状态信息,通过将部分存储负载重定向到存储压力较小的存储设备,解决全流量采集的存储负载不均衡问题。此外,本发明公开的方法对多个数据包进行封装,形成一个符合分布式存储框架最佳存储单元大小的数据包,减少了入队操作,提升了分布式存储集群的吞吐量。
实施例二
如图6所示,本发明实施例提供了一种面向全流量采集的存储负载均衡系统,包括下述模块:
获取存储负载状态信息模块61,存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器;
生成负载均衡策略模块62,负载均衡控制器根据存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略,并生成相应的日志;
流量分发模块63,流量分发器根据负载均衡控制器的控制表,执行负载均衡策略,将数据包分发至中间队列;
数据封装模块64,数据包合并器从中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将封装数据包加入待存储缓存队列,发送到对应的存储节点;
流量重组模块65,流量重组器根据下游任务的请求,从存储节点获取封装数据包,通过时间戳和数据包中的标记,对封装数据包中的数据包进行重组,将重组后的数据包返回给下游任务。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (7)

1.一种面向全流量采集的存储负载均衡方法,其特征在于,包括:
步骤S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器;
步骤S2:所述负载均衡控制器根据所述存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略及其相应的日志;
步骤S3:流量分发器根据所述负载均衡控制器的控制表,执行所述负载均衡策略,将数据包分发至中间队列;
步骤S4:数据包合并器从所述中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将所述封装数据包加入待存储缓存队列,发送到对应的所述存储节点;
步骤S5:流量重组器根据下游任务的请求,从所述存储节点获取所述封装数据包,通过时间戳和数据包中的标记,对所述封装数据包中的数据包进行重组,将重组后的数据包返回给所述下游任务。
2.根据权利要求1所述的面向全流量采集的存储负载均衡方法,其特征在于,所述步骤S1:存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器,具体包括:
步骤S11:令{Namei,Utili}为存储设备的存储负载状态信息,其中,Namei为所述存储节点的第i个存储设备的名称,Utili为该存储设备的存储负载,即利用率;则所述存储节点的存储负载状态信息表示为矩阵
Figure FDA0003355566790000011
步骤S12:存储负载监控器周期性地获取各个所述存储设备的存储负载状态信息,并更新所述存储节点的存储负载状态信息,将其发往负载均衡控制器。
3.根据权利要求1所述的面向全流量采集的存储负载均衡方法,其特征在于,所述步骤S2:所述负载均衡控制器根据所述存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略及其相应的日志,具体包括:
步骤S21:所述负载均衡控制器获取各个所述存储节点的存储负载状态信息,构建所述集群的存储拓扑;
步骤S22:所述负载均衡控制器维护负载均衡控制表{ID,Targets,P},其中,ID表示所述存储设备的编号,Targets表示该存储设备的数据被重定向到的目标存储设备编号,P用于控制可被重定向到所述目标存储设备的数据的比例;
步骤S23:所述负载均衡控制器根据各个所述存储设备的存储负载状态信息,生成负载均衡策略:如果在连续三次更新所述负载均衡控制表时,所述存储设备的利用率均超过了阈值H,则向所述负载均衡控制表的对应Targets中添加当前负载最低的存储设备ID;如果在连续三次更新所述负载均衡控制表时,所述存储设备的利用率均低于阈值L,且该设备对应的Targets表项不为空,则在所述负载均衡控制表的对应Targets删除最后添加的存储设备ID;
步骤S24:所述负载均衡控制器在生成所述负载均衡策略时,生成对应的日志{Timestamp,ID,Targets},其中,Timestamp为时间戳,ID为重定向的源存储设备编号,Targets为重定向的目标存储设备编号。
4.根据权利要求1所述的面向全流量采集的存储负载均衡方法,其特征在于,所述步骤S3:流量分发器根据所述负载均衡控制器的控制表,执行所述负载均衡策略,将数据包分发至中间队列,具体包括:
步骤S31:构建数据包五元组{srcip,dstip,srcport,dstport,protocol};其中,srcip为源存储设备IP地址,dstip为目的存储设备IP地址,srcport为源端口号,dstport为目的端口号,protocol为传输层协议;
步骤S32:使用toplitz哈希函数计算所述五元组哈希值作为存储设备编号ID0=toplitz(srcip,dstip,srcport,dstport,protocol)%N;其中,N为总的存储设备的数量;
步骤S33:根据ID0查询所述负载均衡控制表,找到对应的存储设备,如果该设备对应的Targets列表长度为0,那么所述数据包会被送到编号为ID0的中间队列;若Targets列表长度不为0,构造addHash函数,利用所述五元组的各个字符的ASCII码值计算目标存储设备编号ID1=addHash(srcip,dstip,srcport,dstport,protocol)%P,其中,P为所述负载均衡控制表中该存储设备对应的参数,则所述数据包被送到的编号为ID的中间队列,其计算公式如下所示:
Figure FDA0003355566790000021
其中,M为Targets列表的长度,Targets[ID1]表示取Targets列表中对应第ID1个元素的值。
5.根据权利要求1所述的面向全流量采集的存储负载均衡方法,其特征在于,所述步骤S4:数据包合并器从所述中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将所述封装数据包加入待存储缓存队列,发送到对应的所述存储节点,具体包括:
步骤S41:所述流量重组器周期性地从所述中间队列中一次性读取多个数据包,将其封装为封装数据包,统计该次读取到的数据包数量;
步骤S42:当读取该次数据包时,且此时所述封装数据包的大小为0,则使用读取到多个数据包中的第一个数据包的时间戳填充所述封装数据包的time_base字段;
步骤S43:使用各个数据包的数据依次填充所述封装数据包的offset、size和data字段,并持续检测所述封装数据包大小是否达到预定阈值,若超过预定周期,且所述封装数据包大小仍未达到预定阈值,说明此时所述中间队列未进新的数据包,则将所述封装数据包发送到对应存储节点后,清空所述封装数据包,转至步骤S41;若未超过预定周期,所述封装数据包大小已达到预定阈值,则将所述封装数据包发送到对应存储节点后,清空所述封装数据包,若在该次读取中仍有数据包没有被处理,转至步骤S42,否则转至步骤S41,继续处理所述中间队列中数据包。
6.根据权利要求1所述的面向全流量采集的存储负载均衡方法,其特征在于,所述步骤S5:流量重组器根据下游任务的请求,从所述存储节点获取所述封装数据包,通过时间戳和数据包中的标记,对所述封装数据包中的数据包进行重组,将重组后的数据包返回给所述下游任务,具体包括:
步骤S51:下游任务发出请求,在所述请求中指明存储设备ID和需要的流量的时间区间{TimestampStart,TimestampEnd},所述流量重组器根据所述请求,对负载均衡控制器的日志在该时段进行查询,得到结果矩阵,如下所示:
Figure FDA0003355566790000031
其中,timestampm是与TimestampStart最接近,但早于TimestampStart的日志,timestampn与TimestampEnd最接近,但晚于TimestampEnd的日志;targets为对应的存储设备;
步骤S52:依次遍历所述结果矩阵中的日志,从编号在targetsi中的存储设备和编号为ID的存储设备并行取timestampi到timestampi+1时间段内的所述封装数据包;
步骤S53:对从每个所述存储设备中取出的所述封装数据包进行解封装,得到原始数据包,丢弃其中存储设备ID不等于请求存储设备ID的数据包,按照时间戳的顺序对剩余数据包进行重组,将重组后的数据包返回给所述下游任务。
7.一种面向全流量采集的存储负载均衡系统,其特征在于,包括下述模块:
获取存储负载状态信息模块,存储负载监控器周期性地获取各个存储节点中存储设备的存储负载状态信息,更新存储节点的存储负载状态信息,将其发往负载均衡控制器;
生成负载均衡策略模块,所述负载均衡控制器根据存储负载状态信息,维护负载均衡控制器的控制表,生成负载均衡策略,并生成相应的日志;
流量分发模块,流量分发器根据所述负载均衡控制器的控制表,执行所述负载均衡策略,将数据包分发至中间队列;
数据封装模块,数据包合并器从所述中间队列上获取多个数据包,并按预设阈值将其封装为封装数据包,将所述封装数据包加入待存储缓存队列,发送到对应的所述存储节点;
流量重组模块,流量重组器根据下游任务的请求,从所述存储节点获取所述封装数据包,通过时间戳和数据包中的标记,对所述封装数据包中的数据包进行重组,将重组后的数据包返回给所述下游任务。
CN202111350457.1A 2021-11-15 2021-11-15 一种面向全流量采集的存储负载均衡方法及系统 Active CN113986557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111350457.1A CN113986557B (zh) 2021-11-15 2021-11-15 一种面向全流量采集的存储负载均衡方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111350457.1A CN113986557B (zh) 2021-11-15 2021-11-15 一种面向全流量采集的存储负载均衡方法及系统

Publications (2)

Publication Number Publication Date
CN113986557A true CN113986557A (zh) 2022-01-28
CN113986557B CN113986557B (zh) 2023-09-12

Family

ID=79748625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111350457.1A Active CN113986557B (zh) 2021-11-15 2021-11-15 一种面向全流量采集的存储负载均衡方法及系统

Country Status (1)

Country Link
CN (1) CN113986557B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
US7647329B1 (en) * 2005-12-29 2010-01-12 Amazon Technologies, Inc. Keymap service architecture for a distributed storage system
US20100157806A1 (en) * 2008-12-23 2010-06-24 Inventec Corporation Method for processing data packet load balancing and network equipment thereof
US20120020366A1 (en) * 2010-05-18 2012-01-26 Lsi Corporation Packet draining from a scheduling hierarchy in a traffic manager of a network processor
CN102541467A (zh) * 2011-12-06 2012-07-04 华中科技大学 一种对象数据服务器读写请求的调度方法
CN103023800A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 采用流表映射调度策略对多核网络处理器下的流量进行调度的方法
CN106533967A (zh) * 2016-12-08 2017-03-22 北京中安智达科技有限公司 一种可自定义负载均衡策略的数据传输方法
CN108632159A (zh) * 2017-03-16 2018-10-09 哈尔滨英赛克信息技术有限公司 一种基于预测的网络业务流量负载均衡方法
CN109104377A (zh) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 长连接负载均衡方法、设备、系统及计算机可读存储介质
WO2019174391A1 (zh) * 2018-03-16 2019-09-19 华为技术有限公司 控制存储设备中数据流的方法、装置、存储设备及存储介质
WO2020206705A1 (zh) * 2019-04-10 2020-10-15 山东科技大学 一种基于集群节点负载状态预测的作业调度方法
CN111913670A (zh) * 2020-08-07 2020-11-10 北京百度网讯科技有限公司 负载均衡的处理方法、装置、电子设备及存储介质
WO2021073083A1 (zh) * 2019-10-15 2021-04-22 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统
CN113518130A (zh) * 2021-08-19 2021-10-19 北京航空航天大学 一种基于多核处理器的分组突发负载均衡方法及系统

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
US7647329B1 (en) * 2005-12-29 2010-01-12 Amazon Technologies, Inc. Keymap service architecture for a distributed storage system
US20100157806A1 (en) * 2008-12-23 2010-06-24 Inventec Corporation Method for processing data packet load balancing and network equipment thereof
US20120020366A1 (en) * 2010-05-18 2012-01-26 Lsi Corporation Packet draining from a scheduling hierarchy in a traffic manager of a network processor
CN102541467A (zh) * 2011-12-06 2012-07-04 华中科技大学 一种对象数据服务器读写请求的调度方法
CN103023800A (zh) * 2012-11-29 2013-04-03 北京航空航天大学 采用流表映射调度策略对多核网络处理器下的流量进行调度的方法
CN106533967A (zh) * 2016-12-08 2017-03-22 北京中安智达科技有限公司 一种可自定义负载均衡策略的数据传输方法
CN108632159A (zh) * 2017-03-16 2018-10-09 哈尔滨英赛克信息技术有限公司 一种基于预测的网络业务流量负载均衡方法
WO2019174391A1 (zh) * 2018-03-16 2019-09-19 华为技术有限公司 控制存储设备中数据流的方法、装置、存储设备及存储介质
CN110275670A (zh) * 2018-03-16 2019-09-24 华为技术有限公司 控制存储设备中数据流的方法、装置、存储设备及存储介质
CN109104377A (zh) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 长连接负载均衡方法、设备、系统及计算机可读存储介质
WO2020206705A1 (zh) * 2019-04-10 2020-10-15 山东科技大学 一种基于集群节点负载状态预测的作业调度方法
WO2021073083A1 (zh) * 2019-10-15 2021-04-22 南京莱斯网信技术研究院有限公司 一种基于节点负载的数据动态分区系统
CN111913670A (zh) * 2020-08-07 2020-11-10 北京百度网讯科技有限公司 负载均衡的处理方法、装置、电子设备及存储介质
CN113518130A (zh) * 2021-08-19 2021-10-19 北京航空航天大学 一种基于多核处理器的分组突发负载均衡方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
李云春;秦先龙;王啸;: "网络处理器和通用处理器相结合的流量识别系统", 高技术通讯, no. 10 *
李国平;王勇;陶晓玲;: "面向并行网络流量分类的负载均衡算法", 计算机工程与设计, no. 12 *
胡凡玮;: "网络流量均衡负载策略的分析与简单控制技术", 科技广场, no. 09 *
郑奇英;叶猛;: "基于集群存储系统的动态负载均衡调度策略", 计算机与现代化, no. 01 *

Also Published As

Publication number Publication date
CN113986557B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
KR102337092B1 (ko) 트래픽 측정 방법, 장치, 및 시스템
US6246684B1 (en) Method and apparatus for re-ordering data packets in a network environment
US8995277B2 (en) Method for dynamic load balancing of network flows on LAG interfaces
EP2540042B1 (en) Communication transport optimized for data center environment
US20220300213A1 (en) High Speed Data Packet Flow Processing
CN106878092A (zh) 一种多源异构数据融合的网络运维实时监控与分析呈现平台
US20220303217A1 (en) Data Forwarding Method, Data Buffering Method, Apparatus, and Related Device
CN105978762B (zh) 冗余以太网数据传输设备、系统及方法
CN101841438B (zh) 一种访问存储海量并发tcp流的流记录的方法或系统
CN1795446A (zh) 计算机集群中的数据采集
CN110225074A (zh) 一种基于设备地址域的通讯报文分发系统及分发方法
US10419370B2 (en) Hierarchical packet buffer system
CN109412966B (zh) 一种大规模日志传输方法、装置及系统
CN102970242A (zh) 一种实现负载均衡的方法
WO2001005123A1 (en) Apparatus and method to minimize incoming data loss
CN112862111A (zh) 一种加速分布式机器学习梯度汇聚的方法和装置
CN107943802A (zh) 一种日志分析方法和系统
CN113364701B (zh) 基于rtt的结合比例积分微分控制的拥塞控制方法及设备
CN113986557A (zh) 一种面向全流量采集的存储负载均衡方法及系统
CN100466622C (zh) 一种网络上随机包间隔采样的方法和系统
CN107819697A (zh) 数据传输方法、交换机及数据中心
CN110995592B (zh) 一种新型待定兴趣表的自维护方法及路由转发方法
US11489765B2 (en) Data processing method and device, and computer readable storage medium
CN109842557B (zh) 管理流规则表的方法和交换器
CN117938750B (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