CN107819697A - 数据传输方法、交换机及数据中心 - Google Patents
数据传输方法、交换机及数据中心 Download PDFInfo
- Publication number
- CN107819697A CN107819697A CN201711207551.5A CN201711207551A CN107819697A CN 107819697 A CN107819697 A CN 107819697A CN 201711207551 A CN201711207551 A CN 201711207551A CN 107819697 A CN107819697 A CN 107819697A
- Authority
- CN
- China
- Prior art keywords
- bitmap table
- information
- low discharge
- message
- table item
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种数据传输方法、交换机和数据中心。其中,方法包括:在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,所述小流量报文是字节数小于指定字节阈值的报文;根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备。本申请提出的方法可以有效减少小流量报文的丢包概率,降低网络延时。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据传输方法、交换机及数据中心。
背景技术
数据中心是全球协作的特定设备网络,用来在因特网网络基础设施上传递、加速、展示、计算、存储数据信息。随着数据中心技术的不断发展,数据中心的负载也越来越重,尤其是在采用传输控制协议(Transmission Control Protocol,TCP)的数据中心中。
在采用TCP的数据中心中,终端设备通过交换机与多个服务器连接,并通过交换机从多个服务器请求数据,交换机根据终端设备的数据请求从多个服务器获取数据并将所获取的数据发送给终端设备。在终端设备向服务器请求数据的过程中,会有一些请求报文、控制报文等小流量报文由服务器发往终端设备。当终端设备请求的数据量较大时,交换机与终端设备之间会出现瓶颈链路从而引发丢包现象。
其中,由服务器发往终端设备的请求报文、控制报文等小流量报文一般属于控制流,对整个数据中心的运行起着至关重要的作用,如果这些小流量报文有丢包现象,整个数据中心都会受到严重影响,因此需要解决小流量报文的丢包问题。
现有技术中,一般通过增加交换机端口的缓存空间以减少丢包,但是,这种方案只会暂时解决丢包的问题。当终端设备请求的数据量继续增大并超过增大后的缓冲空间的缓存能力时,新接收到的数据仍会被丢弃。现有的增加缓存空间的方法无法彻底解决数据中心中小流量报文被丢弃的问题。
发明内容
本申请的多个方面提供一种数据传输方法、交换机及数据中心,用以减少小流量报文的丢包概率。
本申请实施例提供一种数据传输方法,包括:
在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,所述小流量报文是字节数小于指定字节阈值的报文;
根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;
先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备。
在一可选实施方式中,根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文,包括:
获取所述交换机与所述服务器集群之间的原始位图表,所述原始位图表包括在当前传输周期内来自所述服务器集群的每个小流量报文对应的位图表信息项,所述位图表信息项包括路由信息以及关键字,同一路由信息对应相同关键字;
从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表;
将未对应于所述去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
在一可选实施方式中,所述路由信息包括源媒介控制访问MAC地址、所述交换机与所述服务器集群连接的各端口编号、所述交换机与所述服务器集群连接的各端口流量值和所述交换机连接的各服务器所在的局域网信息;
从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表,包括:
将所述原始位图表中包含相同的源MAC地址、相同的端口编号、相同的端口流量值或相同的局域网信息的位图表信息项划分到同一子集中,以得到多个子集;
在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,在所述多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表之前,包括:
统计所述多个子集包含的位图表信息项总数;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数相同,则在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数不同,则重新将原始位图表中的位图表信息项划分为多个子集,并在所述重新划分出的多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,在获取所述交换机与所述服务器集群之间的原始位图表之前,包括:
根据所述交换机与所述服务器集群的拓扑关系,构建所述原始位图表,并初始化为空;
监测所述交换机与所述服务器集群连接的各个端口的报文接收情况;
当监测到有端口接收到小流量报文时,在所述原始位图表中添加所述接收到的小流量报文对应的位图表信息项。
在一可选实施方式中,先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备,包括:
根据所述去重位图表中的位图表信息项,将对应的小流量报文发送给所述终端设备。
在一可选实施方式中,根据所述去重位图表中的位图表信息项,将对应的小流量报文发送给所述终端设备,包括:
每当删除周期到达时,判断所述去重位图表中当前已处理位图表信息项的数量是否与所述原始位图表中不同关键字对应的位图表信息项总数相同;
若判断结果为不相同,则获取所述去重位图表中尚未处理的位图表信息项,并将所述尚未处理的位图表信息项对应的小流量报文发送给所述终端设备,并等待下一删除周期到达;
若判断结果为相同,则将所述去重位图表中的位图表信息项删除。
在一可选实施方式中,从终端设备向服务器集群请求的数据流中识别小流量报文,包括:
在当前传输周期内,从终端设备向服务器集群请求的数据流中识别包含小流量报文的数据流片段;
判断所述原始位图表中各位图表信息项中的流量标识是否为第一值;
当所述原始位图表中各位图表信息项中的流量标识为第一值时,则对所述数据流片段进行报文切分以得到所述数据流片段中的小流量报文。
本申请实施例还提供一种交换机,包括:处理器以及与所述处理器连接的存储器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令,以用于:
在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,所述小流量报文是字节数小于指定字节阈值的报文;
根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;
先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备。
在一可选实施方式中,所述处理器具体用于:
获取所述交换机与所述服务器集群之间的原始位图表,所述原始位图表包括在当前传输周期内来自所述服务器集群的每个小流量报文对应的位图表信息项,所述位图表信息项包括路由信息以及关键字,同一路由信息对应相同关键字;
从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表;
将未对应于所述去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
在一可选实施方式中,所述路由信息包括源媒介控制访问MAC地址、所述交换机与所述服务器集群连接的各端口编号、所述交换机与所述服务器集群连接的各端口流量值和所述交换机连接的各服务器所在的局域网信息;
所述处理器具体用于:
将所述原始位图表中包含相同的源MAC地址、相同的端口编号、相同的端口流量值或相同的局域网信息的位图表信息项划分到同一子集中,以得到多个子集;
在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,所述处理器还用于:
统计所述多个子集包含的位图表信息项总数;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数相同,则在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数不同,则重新将原始位图表中的位图表信息项划分为多个子集,并在所述重新划分出的多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
本申请实施例还提供一种数据中心,包括上述实施例提供的交换机、与所述交换机连接的服务器集群以及与所述交换机连接的终端设备。
在本申请实施例中,先于非小流量报文,将来自不同路由信息的小流量报文优先发送至终端设备,即提高了小流量报文的发送优先级,不需要按照在交换机端口上形成的队列发送小流量报文,减小了小流量报文被非小流量报文挤掉的概率,减少了丢包率;另外,通过对小流量报文进行去重处理得到来自不同路由信息的小流量报文,可以避免相同业务的小流量报文重复发送,减少优先发送的小流量报文的数据量,可以降低优先发送小流量报文给非小流量报文造成的延时。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一实施例提供的数据中心的拓扑结构示意图;
图2为本申请一实施例提供的数据传输方法的流程示意图;
图3为本申请另一实施例提供的数据传输方法的流程示意图;
图4为本申请一实施例提供的删除去重位图表的流程示意图;
图5为本申请又一实施例提供的数据传输方法的流程示意图;
图6为本申请一实施例提供的交换机的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请一实施例提供的数据中心的拓扑结构示意图。该数据中心内共部署有交换机10、终端设备20和包括N台服务器的服务器集群30,分别为S1、S2、S3、S4…SN。其中,交换机10的上游端口分别与服务器集群30中的N台服务器连接,交换机10的下游端口与终端设备20连接。如此,服务器集群30、交换机10和终端设备20形成“多对一”形式的网络架构,在很多数据中心中都具有多对一的网络架构,例如Hadoop数据中心、Cisco、分布式云数据中心等。
一般情况下,终端设备20向服务器集群30请求的数据量比较大,这些数据会以数据块的形式分布存储在多个服务器上。终端设备20在请求服务器上的数据时,会向存储有终端设备20所需的数据的多个服务器发送请求报文。多个服务器在接收到请求报文后,将数据块以服务器请求单元(Server Request Unit,SRU)的形式同时发送至交换机10。交换机10再将接收到的SRU发送至终端设备20。其中,这些SRU都会经过交换机10与终端设备20之间的C链路传输,使得C链路成为瓶颈链路。
在发送SRU的过程,一个重要原则是终端设备20只有在接收完当前SRU后,才可以发送下一个请求。而且,随着同时向终端设备20发送SRU的服务器的数目的增长,所发送的SRU会导致瓶颈链路上的交换机的缓存溢出,从而导致丢包。除了SRU之外,服务器集群还会向终端设备20发送控制报文、管理报文等小流量报文。在交换机缓冲溢出之前,SRU等大流量报文会在交换机端口缓存中形成较长的队列,小流量报文不得不经历漫长的排队延迟,在交换机缓冲溢出时,小流量报文会由于竞争不过大流量报文而被挤掉。
如果大流量报文或小流量报文被丢弃,服务器会通过超时重传进行恢复,超时的时间通常至少要几百毫秒,需要超时重传的服务器会进入超时等待,由于服务器集群的同步模式,多个服务器可能会同时进入等待。在等待的这段时间内,服务器集群30与交换机10之间的通信链路几乎处于完全空闲状态,导致网络的吞吐量急剧下降,这种现象称为TCPIncast。一般来说,在多对一的网络架构,容易出现TCP Incast现象。当然,在多对多的网络架构中,例如多对二、多对三,也可能出现瓶颈链路,出现TCP Incast现象。
例如,在Hadoop数据中心运行映射回归(Map Reduce)模型的应用场景中,当Reduce过程开始时,作业追踪器(Job Tracker)会选择服务器集群S1、S2、S3、S4......SN中的一台服务器作为Reduce工作的主机,之后该作为主机的服务器会向做完Map工作的多个其他服务器请求临时中间数据。当存有临时中间数据的其他服务器向做Reduce工作的服务器发送临时中间数据时,会发生TCP incast现象。此时的流量特征为很多大流量报文充满瓶颈链路。
在Map过程进行中,运行在多个其他服务器上的任务追踪(Task Tracker)会向JobTracker每隔三秒发送心跳报文和控制报文、管理报文。当参与Map运算的多个其他服务器较多时,会发生TCP incast现象。此时的流量特征为很多小流量报文充满瓶颈链路。
基于上述分析,在整个Hadoop系统中,随着同时发送数据的服务器的数目的增长,所发送的数据会导致瓶颈链路上的交换机的缓存溢出,从而导致大流量报文和小流量报文随机丢包并连续的TCP重传,网络吞吐量会出现大幅下降。尤其对于控制报文、管理报文等对服务器集群的运行起重要作用的小流量报文来说,如果丢包或者时延较大,整个集群会受到严重影响。
为了解决现有的数据中心中小流量报文丢包的问题,本申请实施例提出一种数据传输方法,应用于各种应用协议的多对一的网络架构中以及出现瓶颈链路的多对多的网络架构中,例如,hadoop数据中心。本申请实施例提供的数据传输方法的主要思想是,交换机在从服务器集群接收的数据流中,识别小流量报文,并在多个小流量报文中去除路由信息相同的报文,以得到来自不同路由信息的报文。在向终端设备发送数据流时,优先发送这些来自不同路由信息的报文,再发送大流量报文。本申请实施例提供的数据传输方法提高了小流量报文的发送优先级,不需要按照在交换机端口上形成的队列发送小流量报文,减小了小流量报文被非小流量报文挤掉的概率,减少了丢包率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本申请一实施例提供的数据传输方法的流程示意图。该方法主要从交换机的角度进行描述,如图2所示,该方法包括:
101、在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,小流量报文是字节数小于指定字节阈值的报文。
102、根据报文的路由信息对小流量报文进行去重处理,以获得来自不同路由信息的小流量报文。
103、先于数据流中的非小流量报文,将来自不同路由信息的小流量报文发送给终端设备。
终端设备在向服务器集群请求数据时,会通过交换机向存储终端设备所请求数据的多个服务器发送请求报文。多个服务器响应于请求报文,将终端设备请求的数据流发送至交换机,交换机会将接收到的数据流转发至终端设备。
多个服务器发送的数据流包括小流量报文和非小流量报文(或者称为大流量数据)。其中,小流量报文指控制报文、管理报文等字节数小于指定字节阈值的报文。指定字节阈值可以是128字节。其中,小流量报文有多个。
非小流量报文主要包括多个服务器向终端设备发送的SRU,SRU的大小一般为32KB,所以非小流量报文的大小一般在32KB左右。
在本实施例中,交换机以传输周期为单位向终端设备传输数据。在每个传输周期内,交换机向终端设备传输数据的处理流程类似,本实施例以当前传输周期为例进行说明。
在步骤101处,在当前传输周期内,交换机会从来自服务器集群的数据流中,识别小流量报文。
在步骤102处,报文的路由信息包括指向特定网络地址的路径和路径的路由度量值,以及网络周边的拓扑信息。例如,表示发送报文的服务器的源介质访问控制(MediaAccess Control,MAC)地址、报文进入交换机的端口ID等。
一般来说,来自同一路由信息的小流量报文属于相同业务。基于此,可根据报文的路由信息对小流量报文进行去重,在来自同一路由信息的多个小流量报文中,保留其中任一个报文,以获得来自不同路由信息的小流量报文。
在步骤103处,将来自不同路由信息的小流量报文优先发送给终端设;待来自不同路由信息的小流量报文发送完成后,将数据流中的非小流量报文发送至终端设备。在下一个传输周期内,继续按照步骤101-103的方法,将下一个传输周期接收到的数据流中,来自不同路由信息的小流量报文优先发送至终端设备。
本实施例中,通过将当前传输周期内交换机接收到的小流量报文进行去重处理,以得到来自不同路由信息的小流量报文,从而去除了业务相同的报文,以免相同业务的报文重复发送,减少发送的数据量;通过先于非小流量报文,将来自不同路由信息的小流量报文优先发送至终端设备,即提高了小流量报文的发送优先级,不需要按照在交换机端口上形成的队列发送小流量报文,减小了小流量报文被非小流量报文挤掉的概率,减少了丢包率。
进一步地,由于非小流量报文在小流量报文之后发送,小流量报文的发送会引起非小流量报文的时延,甚至是丢包。基于此,通过对小流量报文进行去重,使得优先向终端设备发送的数据量减少了。对于非小流量报文而言,等待小流量报文发送完成的时间较短,能够降低由于优先发送小流量报文而对非小流量报文带来的时延,降低非小流量报文的丢包率。更进一步地,通过降低小流量报文的丢包率和非小流量报文的丢包率,也减少连续的TCP重传,提高交换机的吞吐量。
此外,交换机处于数据中心中的核心位置,是数据流收发的中心节点。本实施例通过在交换机上对数据流进行识别、去重、发送处理,能够在全局的角度,统一对接收的数据流进行处理,更加有效地降低数据中心中传输的数据量,提高数据中心的吞吐量。
在上述实施例或下述实施例中,可通过构建包含小流量报文的路由信息的原始位图表,并对原始位图表中相同的路由信息进行去重的方式,以对小流量报文进行去重处理。基于此,本申请另一实施例提供一种数据传输方法,如图3所示,包括以下步骤:
201、根据交换机与服务器集群的拓扑关系,构建原始位图表,并初始化为空。
202、监测交换机与服务器集群连接的各个端口的报文接收情况。
203、当监测到有端口接收到小流量报文时,在原始位图表中添加接收到的小流量报文对应的位图表信息项。
204、获取交换机与服务器集群之间的原始位图表。
205、从原始位图表中获取包含不同关键字的位图表信息项形成去重位图表。
206、将当前传输周期内识别到的未对应于去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
207、先于数据流中的非小流量报文,将来自不同路由信息的小流量报文发送给终端设备。
在步骤201处,可以在交换机的缓存空间中构建原始位图表,例如在图1中的Q位置构建原始位图表。其中,原始位图表包括标识路由信息的字段名和标识关键字的字段名。在原始位图表构建之初,路由信息和关键字为空。路由信息主要根据交换机与服务器集群的拓扑关系而定。
在步骤202和步骤203处,交换机包括多个上游端口,每个端口连接的服务器不同。交换机连接的多个服务器会将小流量报文和/或非小流量报文并行发送至交换机的各个端口。基于此,监测交换机与服务器集群连接的各个端口的报文接收情况,也就是从终端设备向服务器集群请求的数据流中识别小流量报文。可选地,可将交换机接收到的字节数小于指定字节阈值的报文识别为小流量报文。或者,将报文类型为控制报文或者管理报文的报文识别为小流量报文。当监测到有端口接收到小流量报文时或者识别到小流量报文时,在原始位图表中添加接收到的小流量报文对应的位图表信息项。
其中,位图表信息项包括路由信息以及关键字。路由信息包括源MAC地址、交换机与服务器集群连接的各端口编号(Port ID)、交换机与服务器集群连接的各端口流量值(Flow size)、交换机连接的各服务器所在的局域网的标识(VLAN ID)。
可选地,可以预先根据交换机与服务器集群的拓扑关系获取与交换机连接的各服务器的MAC地址,以及各服务器所在的VLAN ID。在监测到小流量报文时,通过报文首部的源端口获取对应小流量报文的源MAC地址。然后,根据源MAC地址,获取源MAC地址对应的服务器所在的VLAN ID。在当前传输周期结束时,采集交换机与服务器连接的各端口的流量值。
如果小流量报文的路由信息相同,则将小流量报文对应的关键字配置为相同的关键字;如果小流量报文的路由信息不同,则将该小流量报文对应的关键字配置为不同的关键字。其中,关键字可以用字段名Key标识。
本实施例中,在当前传输周期内,持续监测交换机与服务器集群连接的各个端口的报文接收情况,并将监测到的小流量报文的对应的位图表信息项一一添加到原始位图表中。基于此,原始位图表包括在当前传输周期内来自服务器集群的每个小流量报文对应的位图表信息项,且来自相同路由信息的小流量报文在原始位图表中的关键字相同,来自不同路由细心的小流量报文在原始位图表中的关键字不同。例如,在当前传输周期内,监测到5个小流量报文,5个小流量报文分别对应5条位图表信息项,这5条位图表信息项构成的原始位图表如表1所示。
表1
源MAC地址 | Port ID | Flow size | VLAN ID | Key |
8C-29-37-57-C2-11 | 1 | 60MB | VLAN 1 | 1 |
8C-29-37-57-C2-11 | 1 | 60MB | VLAN 1 | 1 |
00-e0-fc-12-34-56 | 2 | 80MB | VLAN 2 | 2 |
15-ab-23-e2-65-01 | 3 | 80MB | VLAN 2 | 3 |
12-e0-fc-12-34-56 | 4 | 80MB | VLAN 2 | 4 |
如表1所示,第一条位图表信息项和第二条位图表信息项包含的路由信息完全相同,则关键字均为1,第三条位图表信息项、第四条位图表信息项和第五条位图表信息项包含的路由信息不完全相同,则关键字互不相同,且与第一条位图表信息项和第二条位图表信息项包含的关键字不同。
接着,在步骤204和步骤205处,在原始位图表中包含相同关键字的位图表信息项中,保留任一个位图表信息项,并删除其他的位图表信息项,从而获得包含关键字不同的位图表信息项。
例如,以表1作为原始位图表,删除第一条位图表信息项或者第二条位图表信息项,并将剩余的位图表信息项形成去重位图表。去重位图表如表2所示。
表2
源MAC地址 | Port ID | Flow size | VLAN ID | Key |
8C-29-37-57-C2-11 | 1 | 60MB | VLAN 1 | 1 |
00-e0-fc-12-34-56 | 2 | 80MB | VLAN 2 | 2 |
15-ab-23-e2-65-01 | 3 | 80MB | VLAN 2 | 3 |
12-e0-fc-12-34-56 | 4 | 80MB | VLAN 2 | 4 |
步骤204和步骤205是对包含相同关键字的位图表信息项进行去重,也就是在逻辑上实现去重,并未改变小流量报文的物理信息,交换机的端口缓存中依然存在重复的小流量报文。基于此,在步骤207中,遍历去重位图表,将未对应于去重位图表中的位图表信息项的小流量报文去除,从而在交换机的端口缓存中存储不同的小流量报文。
本实施例中,通过将未对应于去重位图表中的位图表信息项的小流量报文去除,对业务相同的小流量报文进行选择性丢包,使得减少了待发送的数据量,释放部分交换机端口缓存空间;同时由于端口缓存空间扩大了,降低了小流量报文以及非下流量报文的丢包概率。
根据上述步骤,去重位图表中不包含关键字相同的位图表信息项,同时交换机的端口缓存中也不包含业务相同的小流量报文。接着,可以根据去重位图表中的位图表信息项,将对应的小流量报文发送给终端设备。
值得说明的是,若终端设备向指定目的MAC地址发送请求报文,则根据终端设备向服务器集群发送的请求报文中的目的MAC地址,从去重位图表中获取与请求报文的目的MAC地址匹配的源MAC地址,将包含该源MAC地址的位图表信息项对应的小流量报文发送至终端设备。若请求报文以广播的形式发送,即交换机向与其各端口连接的各服务器转发请求报文,则将去重位图表中的全部位图表信息项对应的小流量报文发送给终端设备。
在一可选实施方式中,在从原始位图表中获取包含不同关键字的位图表信息项形成去重位图表时,为了减少运算量,可将原始位图表中的位图表信息项划分为多个子集,并在多个子集中的每个子集中获取包含不同关键字的位图表信息项。其中,包含相同关键字的位图表信息项存在于同一子集中,多个子集之间不具有包含相同关键字的位图表信息项。基于此,可将原始位图表中包含相同的源MAC地址、相同的Port ID、相同的Flow size或相同的局域网信息的位图表信息项,划分到同一子集中,以得到多个子集;并在多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表。
例如,将表1中包含相同的局域网信息的位图表信息项划分到同一子集中,得到2个子集。第一个子集包括第一条位图表信息项和第二条位图表信息项,第二个子集包括第三条位图表信息项、第四条位图表信息项和第五条位图表信息项。然后,在第一个子集和第二个子集中分别比较位图表信息项的关键字是否相同,并获取包含不同关键字的位图表信息项,则在第一个子集中获取任一条位图表信息项,在第二个子集中获取全部的位图表信息项,形成去重位图表。又例如,将表1中包含相同的源MAC地址的位图表信息项划分到同一子集中,得到4个子集。第一个子集包括第一条位图表信息项和第二条位图表信息项,第二个子集包括第三条位图表信息项,第三个子集包括第四条位图表信息项,第四个子集包括第五条位图表信息项。然后,在四个子集中的每个子集中分别比较位图表信息项的关键字是否相同,并获取包含不同关键字的位图表信息项,则在第一个子集中获取任一条位图表信息项,在第二个子集中获取第三条位图表信息项,在第三个子集中获取第四条位图表信息项,在第四个子集中获取第五条位图表信息项,形成去重位图表。
原始位图表中位图表信息项对应的小流量报文是从终端设备向服务器集群请求的数据流中识别出的,都应进行去重处理。但是,当网络受到恶意攻击或出现故障时,可能未将原始位图表中全部的位图表信息项划分到子集中,导致有些位图表信息项未进行去重处理。因此,在在多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表之前,还应确定原始位图表中全部的位图表信息项都已被划分到子集中。基于此,统计多个子集包含的位图表信息项总数;若多个子集包含的位图表信息项总数与原始位图表包含的位图表信息项总数相同,在多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表。
例如,多个子集包括第一个子集和第二个子集,第一个子集包括2个位图表信息项,第二个子集包括3个位图表信息项,则多个子集共包括5个位图表信息项。原始位图表也包括5个位图表信息项,则执行在多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表的操作。
可选地,若多个子集包含的位图表信息项总数与原始位图表包含的位图表信息项总数不相同,则重新将原始位图表中的位图表信息项划分为多个子集,然后在所述重新划分出的多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,当去重位图表的位图表信息项对应的小流量报文全部发送给终端设备后,可将去重位图表中的位图表信息项删除。但是,在将小流量报文发送给终端设备的过程中,若网络受到攻击或者出现异常状况,可能会导致与去重位图表中的位图表信息项对应的小流量报文未发送完,此时删除去重位图表中的位图表信息项是不合适的。
基于上述分析,可以设定一删除周期,每当删除周期到达时,以原始位图表中不同关键字对应的位图表信息项总数为基准,判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中不同关键字对应的位图表信息项总数相同。其中,每发送一个小流量报文,就将该小流量报文对应的位图表信息项标记为已处理。去重位图表中当前已处理位图表信息项的数量也就是已发送的小流量报文的数量。本实施例中,原始位图表中不同关键字对应的位图表信息项总数指需要处理的位图表信息项总数。
若判断结果为不相同,说明当前已处理的位图表信息项的数量尚未等于需要处理的位图表信息项总数,即去重位图表中包含尚未处理的位图表信息项,交换机的端口缓存包含残留数据。进而,获取去重位图表中尚未处理的位图表信息项,并将尚未处理的位图表信息项对应的小流量报文发送给终端设备,并等待下一删除周期到达。
若判断结果为相同,说明需要处理的位图表信息项总数等于当前已处理的位图表信息项的数量,即去重位图表中不包含尚未处理的位图表信息项,交换机的端口缓存不包含残留数据。进而,将去重位图表中的位图表信息项删除或者将整个去重位图表删除。在一应用场景中,如图4所示,删除去重位图表的过程包括:
301、开始。
302、删除周期是否到达。若到达,跳转到步骤303;否则,继续等待。
303、判断去重位图表是否被标记为可删除状态。若被标记为可删除状态,跳转到步骤304;若未标记为可删除状态,跳转到步骤302。
304、判断去重位图表中关键值的个数是否为0。若为0,跳转到步骤306;若不为0,跳转到步骤305。
305、判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中不同关键字对应的位图表信息项总数相同。若相同,跳转到步骤306。若不相同,跳转到步骤302。
306、将去重位图表删除。
在将去重位图表中的全部位图表信息项对应的小流量报文发送至终端设备后,可将去重位图表标记为可删除状态。但是,当网络出现异常状态时,在尚未发送完全部位图表信息项对应的小流量报文时,去重位图表可能已被标记为可删除状态。基于此,若去重位图表被标记为可删除状态,进一步判断去重位图表中关键值的个数是否为0(即步骤304)。若是0,说明去重位图表中不包含位图表信息项,则将去重位图表删除(即步骤306)。若不是0,则说明去重位图表包含位图表信息项,进一步判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中不同关键字对应的位图表信息项总数相同(即步骤305)。若相同,则去重位图表中不包含尚未处理的位图表信息项,则将去重位图表中的位图表信息项删除,或者直接将去重位图表删除(即步骤306)。若不相同,则继续等待下一个删除周期的到达。在继续等待的过程中,获取去重位图表中尚未处理的位图表信息项,并将尚未处理的位图表信息项对应的小流量报文发送给终端设备。
值得说明的是,若去重位图表未标记为可删除状态,则等待下一个删除周期的到来。若等待指定数量的删除周期后,去重位图表仍未被标记为可删除状态,则说明去重位图表中的位图表信息项对应的小流量报文丢失,可直接删除去重位图表,并结束本次操作。
值得说明的是,若终端设备向指定目的MAC地址发送请求报文,则判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中对应不同关键字的、包含与请求报文的目的MAC地址相匹配的源MAC地址的位图表信息项总数相同。若请求报文以广播的形式发送,即交换机向与其各端口连接的各服务器转发请求报文,则判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中不同关键字对应的位图表信息项总数相同。
本实施例中,通过在去重位图表中当前已处理位图表信息项的数量与原始位图表中不同关键字对应的位图表信息项总数相同时,将去重位图表中的位图表信息项删除或者将整个去重位图表删除,使得能够将去重位图表中的残留数据处理完成,避免小流量报文意外丢失。并且,通过对去重位图表中位图表信息项的删除机制,可有效对去重位图表进行管理,避免在多个传输周期内位图表信息项过多或者混乱的情况。
在一可选实施方式中,当来自服务器集群的总流量较大时,可执行从终端设备向服务器集群请求的数据流中识别小流量报文的操作,进而对小流量报文进行去重;当来自服务器集群的总流量较小时,可不必识别小流量报文,直接将接收到的数据流依次发送至终端设备。基于此,本申请又一实施例提供一种数据传输方法,如图5所示,包括以下步骤:
401:统计来自服务器集群的总流量。
402:判断来自服务器集群的总流量是否大于或等于设定的流量阈值,若判断结果为是,则执行步骤403;若判断结果为否,则转入步骤404。
403、将原始位图表中各位图表信息项中的流量标识设置为第一值。
404:在当前传输周期内,从终端设备向服务器集群请求的数据流中识别包含小流量报文的数据流片段。
405:判断原始位图表中各位图表信息项中的流量标识是否为第一值;若为第一值,跳转到步骤406,若不为第一值,跳转到步骤407。
406:对数据流片段进行报文切分以得到数据流片段中的小流量报文,并继续执行步骤408。
407:直接将接收到的数据流依次发送至终端设备,并结束本次操作。
408:根据报文的路由信息对小流量报文进行去重处理,以获得来自不同路由信息的小流量报文,并继续执行步骤409。
409:先于数据流中的非小流量报文,将来自不同路由信息的小流量报文发送给终端设备,并结束本次操作。
在步骤401处,可以从原始位图表中提取交换机与多个服务器连接的各端口的流量值,即表1中的Flow size,并将交换机各端口的流量值累加得到来自服务器集群的总流量。这些从交换机各不同端口进入的流量会通过瓶颈链路到达终端设备,基于此,流量阈值可以设置为瓶颈链路所能够承载的流量阈值,或者瓶颈链路所能承载的流量阈值的百分比,例如80%。
若来自服务器集群的总流量大于或等于设定的流量阈值,则将原始位图表中各位图表信息项中的流量标识为第一值,例如将Flow size标识为H。反之,若来自服务器集群的总流量小于设定的流量阈值,则将原始位图表中各位图表信息项中的流量标识为第二值,例如将Flow size标识为L。
从服务器集群向交换机传输的数据流包括多个小流量报文串接成的数据流片段。基于此,在当前传输周期内,从终端设备向服务器集群请求的数据流中识别包含小流量报文的数据流片段。可选地,若数据流片段包含的字节数在64~128字节内,则认为该数据流片段是包含多个小流量报文的片段。
然后,判断原始位图表中各位图表信息项中的流量标识是否为第一值,若是,说明来自服务器集群的总流量较大,则依次执行步骤408和步骤409。其中,步骤408和步骤409与上述实施例中的步骤102和步骤103相同,此处不再赘述。
若原始位图表中各位图表信息项中的流量标识不为第一值,即来自服务器集群的总流量小于设定的流量阈值,说明来自服务器集群的总流量较小,则直接将接收到的数据流依次发送至终端设备。
值得说明的是,本实施例中先执行步骤404,再执行步骤405,即先识别包含小流量报文的数据流片段,再判断原始位图表中各位图表信息项中的流量标识是否为第一值,但不限于此。也可以先执行步骤405,再执行步骤404,即先判断原始位图表中各位图表信息项中的流量标识是否为第一值,若为第一值,则执行步骤404,并顺次执行步骤406、步骤408和步骤409。
本实施例中,通过在来自服务器集群的总流量较大时,也就是丢包概率较大时,将字节数小于指定字节阈值的报文识别为小流量报文,从而精准、快速命中需要处理的小流量报文,从而更加有效地降低小流量报文和非小流量报文的丢包率,降低传输延时。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本申请实施例还提供一种交换机,如图6所示,交换机包括存储器501和处理器502。
存储器501用于存储计算机程序,并可被配置为存储其它各种数据以支持在交换机上的操作。这些数据的示例包括用于在交换机上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器501可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器502可以与存储器501耦合,用于执行存储器501中的计算机程序,以用于:在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,小流量报文是字节数小于指定字节阈值的报文;根据报文的路由信息对小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;先于数据流中的非小流量报文,将来自不同路由信息的小流量报文发送给终端设备。
在一可选实施方式中,处理器502在根据报文的路由信息对小流量报文进行去重处理,以获得来自不同路由信息的小流量报文时,具体用于:
获取交换机与服务器集群之间的原始位图表,原始位图表包括在当前传输周期内来自服务器集群的每个小流量报文对应的位图表信息项,位图表信息项包括路由信息以及关键字,同一路由信息对应相同关键字;从原始位图表中获取包含不同关键字的位图表信息项形成去重位图表;将未对应于去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
在一可选实施方式中,路由信息包括源媒介控制访问MAC地址、交换机与服务器集群连接的各端口编号、交换机与服务器集群连接的各端口流量值和交换机连接的各服务器所在的局域网信息。基于此,处理器502在从原始位图表中获取包含不同关键字的位图表信息项形成去重位图表时,具体用于:
将原始位图表中包含相同的源MAC地址、相同的端口编号、相同的端口流量值或相同的局域网信息的位图表信息项划分到同一子集中,以得到多个子集;在多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,处理器502在多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表之前,还用于:
统计多个子集包含的位图表信息项总数;若多个子集包含的位图表信息项总数与原始位图表包含的位图表信息项总数相同,则在多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表;若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数不同,则重新将原始位图表中的位图表信息项划分为多个子集,并在所述重新划分出的多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
在一可选实施方式中,处理器502在获取交换机与服务器集群之间的原始位图表之前,还用于:
根据所述交换机与所述服务器集群的拓扑关系,构建原始位图表,并初始化为空;监测交换机与服务器集群连接的各个端口的报文接收情况;当监测到有端口接收到小流量报文时,在原始位图表中添加接收到的小流量报文对应的位图表信息项。
在一可选实施方式中,处理器502在先于数据流中的非小流量报文,将来自不同路由信息的小流量报文发送给终端设备时,具体用于:
根据去重位图表中的位图表信息项,将对应的小流量报文发送给终端设备。
在一可选实施方式中,处理器502在根据去重位图表中的位图表信息项,将对应的小流量报文发送给终端设备时,具体用于:
每当删除周期到达时,判断去重位图表中当前已处理位图表信息项的数量是否与原始位图表中不同关键字对应的位图表信息项总数相同;若判断结果为不相同,则获取去重位图表中尚未处理的位图表信息项,并将尚未处理的位图表信息项对应的小流量报文发送给终端设备,并等待下一删除周期到达;若判断结果为相同,则将去重位图表中的位图表信息项删除。
在一可选实施方式中,处理器502在从终端设备向服务器集群请求的数据流中识别小流量报文时,具体用于:在当前传输周期内,从终端设备向服务器集群请求的数据流中识别包含小流量报文的数据流片段;判断原始位图表中各位图表信息项中的流量标识是否为第一值;当原始位图表中各位图表信息项中的流量标识为第一值时,对数据流片段进行报文切分以得到数据流片段中的小流量报文。
在一可选实施方式中,处理器502在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文之前,还用于:
统计来自服务器集群的总流量;确定来自服务器集群的总流量大于或等于设定的流量阈值,并将原始位图表中各位图表信息项中的流量标识设置为第一值。
本实施例中,通过将当前传输周期内交换机接收到的小流量报文进行去重处理,以得到来自不同路由信息的小流量报文,从而去除了业务相同的报文,以免相同业务的报文重复发送,减少发送的数据量;通过先于非小流量报文,将来自不同路由信息的小流量报文优先发送至终端设备,即提高了小流量报文的发送优先级,不需要按照在交换机端口上形成的队列发送小流量报文,减小了小流量报文被非小流量报文挤掉的概率,减少了丢包率。
进一步地,由于非小流量报文在小流量报文之后发送,小流量报文的发送会引起非小流量报文的时延,甚至是丢包。基于此,通过对小流量报文进行去重,使得优先向终端设备发送的数据量减少了。对于非小流量报文而言,等待小流量报文发送完成的时间较短,能够降低由于优先发送小流量报文而对非小流量报文带来的时延,降低非小流量报文的丢包率。
更进一步地,通过降低小流量报文的丢包率和非小流量报文的丢包率,也减少连续的TCP重传,提高网络吞吐量。
本申请实施例还提供一种数据中心,如图1所示,包括上述任一项实施例提供的交换机10、与交换机10连接的服务器集群30以及与交换机10连接的终端设备20。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由交换机执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种数据传输方法,适用于交换机,其特征在于,所述方法包括:
在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,所述小流量报文是字节数小于指定字节阈值的报文;
根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;
先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备。
2.根据权利要求1所述的方法,其特征在于,根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文,包括:
获取所述交换机与所述服务器集群之间的原始位图表,所述原始位图表包括在所述当前传输周期内来自所述服务器集群的每个小流量报文对应的位图表信息项,所述位图表信息项包括路由信息以及关键字,同一路由信息对应相同关键字;
从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表;
将未对应于所述去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
3.根据权利要求2所述的方法,其特征在于,所述路由信息包括源媒介控制访问MAC地址、所述交换机与所述服务器集群连接的各端口编号、所述交换机与所述服务器集群连接的各端口流量值和所述交换机连接的各服务器所在的局域网信息;从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表,包括:
将所述原始位图表中包含相同的源MAC地址、相同的端口编号、相同的端口流量值或相同的局域网信息的位图表信息项划分到同一子集中,以得到多个子集;
在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
4.根据权利要求3所述的方法,其特征在于,在所述多个子集中的每个子集中,获取包含不同关键字的位图表信息项形成去重位图表之前,包括:
统计所述多个子集包含的位图表信息项总数;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数相同,则在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数不同,则重新将原始位图表中的位图表信息项划分为多个子集,并在所述重新划分出的多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
5.根据权利要求2所述的方法,其特征在于,在获取所述交换机与所述服务器集群之间的原始位图表之前,包括:
根据所述交换机与所述服务器集群的拓扑关系,构建所述原始位图表,并初始化为空;
监测所述交换机与所述服务器集群连接的各个端口的报文接收情况;
当监测到有端口接收到小流量报文时,在所述原始位图表中添加所述接收到的小流量报文对应的位图表信息项。
6.根据权利要求2所述的方法,其特征在于,先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备,包括:
根据所述去重位图表中的位图表信息项,将对应的小流量报文发送给所述终端设备。
7.根据权利要求6所述的方法,其特征在于,根据所述去重位图表中的位图表信息项,将对应的小流量报文发送给所述终端设备,包括:
每当删除周期到达时,判断所述去重位图表中当前已处理位图表信息项的数量是否与所述原始位图表中不同关键字对应的位图表信息项总数相同;
若判断结果为不相同,则获取所述去重位图表中尚未处理的位图表信息项,并将所述尚未处理的位图表信息项对应的小流量报文发送给所述终端设备,并等待下一删除周期到达;
若判断结果为相同,则将所述去重位图表中的位图表信息项删除。
8.根据权利要求2-7任一项所述的方法,其特征在于,从终端设备向服务器集群请求的数据流中识别小流量报文,包括:
在所述当前传输周期内,从终端设备向服务器集群请求的数据流中识别包含小流量报文的数据流片段;
判断所述原始位图表中各位图表信息项中的流量标识是否为第一值;
当所述原始位图表中各位图表信息项中的流量标识为第一值时,则对所述数据流片段进行报文切分以得到所述数据流片段中的小流量报文。
9.一种交换机,其特征在于,包括:处理器以及与所述处理器连接的存储器;
所述存储器,用于存储一条或多条计算机指令;
所述处理器,用于执行所述一条或多条计算机指令,以用于:
在当前传输周期内,从终端设备向服务器集群请求的数据流中识别小流量报文,所述小流量报文是字节数小于指定字节阈值的报文;
根据报文的路由信息对所述小流量报文进行去重处理,以获得来自不同路由信息的小流量报文;
先于所述数据流中的非小流量报文,将所述来自不同路由信息的小流量报文发送给所述终端设备。
10.根据权利要求9所述的交换机,其特征在于,所述处理器具体用于:
获取所述交换机与所述服务器集群之间的原始位图表,所述原始位图表包括在所述当前传输周期内来自所述服务器集群的每个小流量报文对应的位图表信息项,所述位图表信息项包括路由信息以及关键字,同一路由信息对应相同关键字;
从所述原始位图表中获取包含不同关键字的位图表信息项形成去重位图表;
将未对应于所述去重位图表中的位图表信息项的小流量报文去除,以获得不同路由信息对应的小流量报文。
11.根据权利要求10所述的交换机,其特征在于,所述路由信息包括源媒介控制访问MAC地址、所述交换机与所述服务器集群连接的各端口编号、所述交换机与所述服务器集群连接的各端口流量值和所述交换机连接的各服务器所在的局域网信息;
所述处理器具体用于:
将所述原始位图表中包含相同的源MAC地址、相同的端口编号、相同的端口流量值或相同的局域网信息的位图表信息项划分到同一子集中,以得到多个子集;
在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
12.根据权利要求11所述的交换机,其特征在于,所述处理器还用于:
统计所述多个子集包含的位图表信息项总数;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数相同,则在所述多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表;
若所述多个子集包含的位图表信息项总数与所述原始位图表包含的位图表信息项总数不同,则重新将原始位图表中的位图表信息项划分为多个子集,并在所述重新划分出的多个子集中的每个子集中获取包含不同关键字的位图表信息项形成去重位图表。
13.一种数据中心,其特征在于,包括权利要求9-12任一项所述的交换机、与所述交换机连接的服务器集群以及与所述交换机连接的终端设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711207551.5A CN107819697B (zh) | 2017-11-27 | 2017-11-27 | 数据传输方法、交换机及数据中心 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711207551.5A CN107819697B (zh) | 2017-11-27 | 2017-11-27 | 数据传输方法、交换机及数据中心 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107819697A true CN107819697A (zh) | 2018-03-20 |
CN107819697B CN107819697B (zh) | 2020-03-27 |
Family
ID=61610454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711207551.5A Active CN107819697B (zh) | 2017-11-27 | 2017-11-27 | 数据传输方法、交换机及数据中心 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107819697B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200558A (zh) * | 2018-11-19 | 2020-05-26 | 华为技术有限公司 | 一种flowlet负载分担方法及装置 |
CN112449751A (zh) * | 2019-06-28 | 2021-03-05 | 华为技术有限公司 | 一种数据传输方法、交换机及站点 |
CN113726486A (zh) * | 2021-11-03 | 2021-11-30 | 湖南麒麟信安科技股份有限公司 | 一种并行冗余网络中的报文去重方法、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103457861A (zh) * | 2013-08-23 | 2013-12-18 | 深圳市共进电子股份有限公司 | 一种ONU的基于VLAN的IGMP Snooping实现方法 |
CN104579962A (zh) * | 2015-01-23 | 2015-04-29 | 盛科网络(苏州)有限公司 | 一种区分不同报文的QoS策略的方法及装置 |
US20150180783A1 (en) * | 2013-12-20 | 2015-06-25 | Denis A. Crasta | Method and system for avoiding new flow packet flood from data plane to control plane of a network device |
US9077643B1 (en) * | 2011-03-25 | 2015-07-07 | Amazon Technologies, Inc. | Programmatically simulating system conditions |
CN105068757A (zh) * | 2015-07-23 | 2015-11-18 | 浙江大学 | 一种基于文件语义和系统实时状态的冗余数据去重方法 |
CN105591971A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种QoS的实现方法和装置 |
CN106330756A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 一种数据传输方法和设备 |
-
2017
- 2017-11-27 CN CN201711207551.5A patent/CN107819697B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9077643B1 (en) * | 2011-03-25 | 2015-07-07 | Amazon Technologies, Inc. | Programmatically simulating system conditions |
CN103457861A (zh) * | 2013-08-23 | 2013-12-18 | 深圳市共进电子股份有限公司 | 一种ONU的基于VLAN的IGMP Snooping实现方法 |
US20150180783A1 (en) * | 2013-12-20 | 2015-06-25 | Denis A. Crasta | Method and system for avoiding new flow packet flood from data plane to control plane of a network device |
CN104579962A (zh) * | 2015-01-23 | 2015-04-29 | 盛科网络(苏州)有限公司 | 一种区分不同报文的QoS策略的方法及装置 |
CN106330756A (zh) * | 2015-07-03 | 2017-01-11 | 华为技术有限公司 | 一种数据传输方法和设备 |
CN105068757A (zh) * | 2015-07-23 | 2015-11-18 | 浙江大学 | 一种基于文件语义和系统实时状态的冗余数据去重方法 |
CN105591971A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种QoS的实现方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200558A (zh) * | 2018-11-19 | 2020-05-26 | 华为技术有限公司 | 一种flowlet负载分担方法及装置 |
CN112449751A (zh) * | 2019-06-28 | 2021-03-05 | 华为技术有限公司 | 一种数据传输方法、交换机及站点 |
US11870701B2 (en) | 2019-06-28 | 2024-01-09 | Huawei Technologies Co., Ltd. | Data transmission method, switch, and site |
CN113726486A (zh) * | 2021-11-03 | 2021-11-30 | 湖南麒麟信安科技股份有限公司 | 一种并行冗余网络中的报文去重方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107819697B (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9888048B1 (en) | Supporting millions of parallel light weight data streams in a distributed system | |
CN109768939B (zh) | 一种支持优先级的标签化网络栈方法和系统 | |
CN105027506B (zh) | 用于执行网络中的拥塞管理的方法和系统 | |
US9185033B2 (en) | Communication path selection | |
CN104885422B (zh) | 在并行处理网络设备中维持分组顺序的方法和设备 | |
CN108476208A (zh) | 多路径传输设计 | |
CN1980198B (zh) | 用于在网络上分条消息有效载荷数据的方法和设备 | |
CN107634915A (zh) | 数据传输方法、装置及储存介质 | |
US20210029052A1 (en) | Methods and apparatuses for packet scheduling for software- defined networking in edge computing environment | |
CN104468401B (zh) | 一种报文处理方法和装置 | |
CN107566206A (zh) | 一种流量测量方法、设备及系统 | |
CN109547580A (zh) | 一种处理数据报文的方法和装置 | |
CN108881008A (zh) | 一种数据传输的方法、装置和系统 | |
CN106713182A (zh) | 一种处理流表的方法及装置 | |
CN102497322A (zh) | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 | |
CN110324198A (zh) | 丢包处理方法和丢包处理装置 | |
JP2007208963A (ja) | パケット処理装置及びパケット処理方法 | |
CN107819697A (zh) | 数据传输方法、交换机及数据中心 | |
CN109684269A (zh) | 一种pcie交换芯片内核及工作方法 | |
CN107181698A (zh) | 单队列多流业务整形的系统和方法 | |
CN107241305A (zh) | 一种基于多核处理器的网络协议分析系统及其分析方法 | |
CN103049240A (zh) | Pci-e设备及其接收数据重排序方法 | |
CN106357726A (zh) | 负载均衡方法及装置 | |
CN108123878A (zh) | 一种路由方法、装置及数据转发设备 | |
CN114584560A (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 |