CN107332751B - 数据传输方法、电子设备和服务器集群 - Google Patents

数据传输方法、电子设备和服务器集群 Download PDF

Info

Publication number
CN107332751B
CN107332751B CN201710522377.7A CN201710522377A CN107332751B CN 107332751 B CN107332751 B CN 107332751B CN 201710522377 A CN201710522377 A CN 201710522377A CN 107332751 B CN107332751 B CN 107332751B
Authority
CN
China
Prior art keywords
bandwidth
computing node
tunnel
data
reserved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710522377.7A
Other languages
English (en)
Other versions
CN107332751A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710522377.7A priority Critical patent/CN107332751B/zh
Publication of CN107332751A publication Critical patent/CN107332751A/zh
Application granted granted Critical
Publication of CN107332751B publication Critical patent/CN107332751B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了一种数据传输方法,应用于数据交换设备,所述数据交换设备用于第一计算节点与第二计算节点之间的数据交换,所述方法包括,从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件,从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道,从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽,以及通过所述隧道,将所述待传输数据发送至所述第二计算节点。本公开还提供了一种电子设备以及一种服务器集群。

Description

数据传输方法、电子设备和服务器集群
技术领域
本公开涉及一种数据传输方法、电子设备和服务器集群。
背景技术
在大规模云计算系统中,基于VxLAN技术进行虚拟机网络组建较为常见,该技术不仅可以大大提升租户数量,而且在租户内部可以跨越任意IP网络,支持虚拟机的任意迁移,组网方式非常灵活。
但是,在实现本发明过程中,发明人发现现有技术中至少存在如下问题,由于VxLAN技术针对网络内报文的处理全部局限在一个队列中,没有QoS的保障机制,一旦网络发生拥塞,所有的数据包都将有可能被丢弃,严重影响租户网络的正常使用。并且,当租户提出不同网络服务质量的需求时,现有的VxLAN技术无法满足。
发明内容
本公开的一个方面提供了一种数据传输方法,应用于数据交换设备,所述数据交换设备用于第一计算节点与第二计算节点之间的数据交换,所述方法包括,从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件,从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道,从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽,以及通过所述隧道,将所述待传输数据发送至所述第二计算节点。
可选地,所述方法还包括在所述隧道中不存在数据传输的情况下,删除所述隧道的预留带宽设置。
可选地,所述基于所述带宽预留值,设置所述隧道的预留带宽包括,获取所述数据交换设备的可用带宽,判断所述可用带宽是否小于所述带宽预留值,以及若所述可用带宽不小于所述带宽预留值,将所述隧道的带宽预留值作为所述预留带宽。
可选地,所述方法还包括若所述可用带宽小于所述带宽预留值,将所述可用带宽作为所述预留带宽,以及在检测到可用带宽增加时,扩展所述预留带宽。
可选地,所述第一计算节点包括至少一个物理设备,所述至少一个物理设备上运行有虚拟设备,所述方法还包括,在所述可用带宽小于所述带宽预留值的情况下,发送所述隧道的预留带宽至所述第一计算节点,使所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同。
可选地,所述至少一个头文件还包括带宽设置类型字段,用于标识带宽设置类型,所述方法还包括若所述可用带宽小于所述带宽预留值,则在所述带宽设置类型字段标识带宽设置类型是第一带宽设置类型时,迁移所述第一虚拟设备,以使迁移后的可用带宽不小于所述带宽预留值。
本公开的另一个方面提供了一种数据传输方法,应用于第二计算节点,所述方法包括,通过数据交换设备接收来自第一计算节点的经过至少一个头文件封装的待传输数据,从所述至少一个头文件中获取所述带宽预留值,以及基于所述带宽预留值,设置所述第二计算节点的预留带宽。
可选地,所述方法还包括接收所述第一计算节点与所述第二计算节点之间的数据传输隧道的预留带宽,以及基于所述预留带宽,设置所述第一计算节点的预留带宽。
本公开的另一个方面提供了一种数据传输方法,应用于第二计算节点,所述方法包括,通过数据交换设备接收来自第一计算节点的经过至少一个头文件封装的待传输数据,从所述至少一个头文件中获取所述带宽预留值,以及基于所述带宽预留值,设置所述第二计算节点的预留带宽。
本公开的另一个方面提供了一种电子设备,包括处理器以及存储器。存储器上存储有计算机可读指令,所述指令被所述处理器执行时,使所述处理器执行如上所述的方法。
本公开的另一方面提供了一种服务器集群,包括至少一个处理器以及至少一个存储器。所述至少一个存储器上存储有计算机可读指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器通过至少一个头文件对数据进行封装,其中,所述至少一个头文件至少包括第二计算节点地址字段和带宽预留值字段,以及通过交换设备将封装后的数据发送至所述第二计算节点。
本公开的另一方面提供了一种数据传输系统,用于第一计算节点与第二计算节点之间的数据交换,所述系统包括第一接收模块、第一解封模块、第一设置模块以及第一发送模块。第一接收模块,用于从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件。第一解封模块,用于从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道。第一设置模块,用于从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽。第一发送模块,用于通过所述隧道,将所述待传输数据发送至所述第二计算节点。
可选地,所述系统还包括删除模块,用于在所述隧道中不存在数据传输的情况下,删除所述隧道的预留带宽设置。
可选地,所述第一设置模块包括获取子模块、判断子模块以及第一设置子模块。获取子模块,用于获取所述数据交换设备的可用带宽。判断子模块,用于判断所述可用带宽是否小于所述带宽预留值。第一设置子模块,用于在所述可用带宽不小于所述带宽预留值的情况下,将所述隧道的带宽预留值作为所述预留带宽。
可选地,所述第一设置模块还包括第二设置子模块和扩展子模块。第二设置子模块,用于在所述可用带宽小于所述带宽预留值的情况下,将所述可用带宽作为所述预留带宽。扩展子模块,用于在检测到可用带宽增加时,扩展所述预留带宽。
可选地,所述第一计算节点包括至少一个物理设备,所述至少一个物理设备上运行有虚拟设备,所述系统还包括第二发送模块,用于在所述可用带宽小于所述带宽预留值的情况下,发送所述隧道的预留带宽至所述第一计算节点,使所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同。
可选地,所述至少一个头文件还包括带宽设置类型字段,用于标识带宽设置类型,所述第一设置模块还包括迁移子模块,用于在所述可用带宽小于所述带宽预留值的情况下,在所述带宽设置类型字段标识带宽设置类型是第一带宽设置类型时,迁移所述第一虚拟设备,以使迁移后的可用带宽不小于所述带宽预留值。
本公开的另一方面提供了一种数据传输系统,包括封装模块以及第三发送模块。封装模块,用于通过至少一个头文件对待传输数据进行封装,其中,所述至少一个头文件至少包括第二计算节点的地址字段和带宽预留值字段。第三发送模块,用于通过数据交换设备将封装后的数据发送至所述第二计算节点。
可选地,所述系统还包括第二接收模块以及第二设置模块。第二接收模块,用于接收所述第一计算节点与所述第二计算节点之间的数据传输隧道的预留带宽。第二设置模块,用于基于所述预留带宽,设置所述第一计算节点的预留带宽。
本公开的另一方面提供了一种数据传输系统,包括第三接收模块、第二解封模块以及第三设置模块。第三接收模块,用于通过数据交换设备接收来自第一计算节点的经过至少一个头文件封装的待传输数据。第二解封模块,用于从所述至少一个头文件中获取所述带宽预留值。第三设置模块,用于基于所述带宽预留值,设置所述第二计算节点的预留带宽。
本公开的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的可以应用数据传输方法的示例性系统架构;
图2示意性示出了根据本公开实施例的数据传输方法的流程图;
图3示意性示出了根据本公开实施例的设置隧道预留带宽的流程图;
图4示意性示出了根据本公开另一实施例的设置隧道预留带宽的流程图;
图5示意性示出了根据本公开另一实施例的设置隧道预留带宽的流程图;
图6示意性示出了根据本公开实施例的数据传输方法的时序图;
图7示意性示出了根据本公开实施例的数据传输系统的框图;
图8示意性示出了根据本公开实施例的第一设置模块的框图;
图9示意性示出了根据本公开另一实施例的第一设置模块的框图;
图10示意性示出了根据本公开另一实施例的数据传输系统的框图;
图11示意性示出了根据本公开另一实施例的数据传输系统的框图;
图12示意性示出了根据本公开另一实施例的数据传输系统的框图;以及
图13示意性示出了根据本公开实施例的适于实现数据传输方法和系统的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本公开的实施例提供了一种数据传输方法和系统,可以为不同的传输任务的通道设置预留带宽,以保证重要任务可以享有必要的资源。本公开实施例的数据处理方法在数据封装时,加入带宽预留值字段,使得在经过的各个节点可以根据该带宽预留值字段,为该任务预留带宽。
图1示意性示出了根据本公开实施例的可以应用数据传输方法的示例性系统架构。
如图1所示,根据该实施例的系统架构可以包括数据交换设备100、计算节点201~206以及将其相连的网络。网络用以在计算节点201~206和数据交换设备100之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
当一个计算节点(例如计算节点201,但不限于此)需要发送一批数据至另外一个计算节点(例如计算节点202,但不限于此)时,首先将数据发送至数据交换设备100,数据交换设备根据数据头文件中的目标计算节点(计算节点202)的地址信息,将数据转发至目标计算节点,生成第一计算节点201至第二计算节点202之间的数据传输隧道。
在同一时刻,该系统架构中可能存在多个数据传输隧道,共享该系统的计算资源和网络资源。如果多个数据传输隧道所需要的资源不能被满足,那么部分数据可能会丢失。由于丢失的数据也是不确定的,所以,所有的数据都将面临丢失的风险。尤其是不同的数据传输任务的重要性不同时,应当首先保证重要的任务能够正确地完成。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的数据传输方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件。
在操作S220,从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道。
在操作S230,从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽。
在操作S240,通过所述隧道,将所述待传输数据发送至所述第二计算节点。
该方法通过在数据封装时,加入带宽预留值字段,使得在经过的各个节点可以根据该带宽预留值字段,为该任务预留带宽,以保证重要任务的资源需求得到满足。
根据本公开实施例,数据传输可以通过各种协议完成,例如VxLAN协议,其标准的头文件长度为64位,并且其中定义了24位VNI值以及1位Flag,剩余39位为功能可扩展的预留位。
根据本公开实施例,可以定义其中一部分为带宽预留值,例如定义其中16位作为带宽预留值,该字段表示需要设置的带宽值。
在数据传输过程中,还需要不同层级的其他协议配合传输,在其他协议的头文件中,记载了目标计算节点的地址信息。因此,在操作S220,在接收待传输的数据后,可以获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道。并在操作S230,从所述至少一个头文件中获取所述隧道的带宽预留值。获得带宽预留值之后,基于所述带宽预留值,设置所述隧道的预留带宽。在操作S240,通过所述隧道,将所述待传输数据发送至所述第二计算节点。
根据本公开实施例,所述方法还包括在所述隧道中不存在数据传输的情况下,删除所述隧道的预留带宽设置。在同一时刻,系统中可能存在多条隧道,该方法通过监视各个设置了预留带宽的隧道,如果某一个预留带宽的隧道中没有数据在传输,则删除该隧道的预留带宽设置,解放占用的资源。
图3示意性示出了根据本公开实施例的设置隧道预留带宽的流程图。
如图3所示,该方法包括操作S231~S233。
在操作S231,获取所述数据交换设备的可用带宽。
在操作S232,判断所述可用带宽是否小于所述带宽预留值。
在操作S233,若所述可用带宽不小于所述带宽预留值,将所述隧道的带宽预留值作为所述预留带宽。
根据本公开实施例,如图3所示,该方法还可以包括操作S234和S235。
在操作S234,若所述可用带宽小于所述带宽预留值,将所述可用带宽作为所述预留带宽。
在操作S235,在检测到可用带宽增加时,扩展所述预留带宽。
根据本公开实施例,在可用带宽小于带宽预设值时,将剩余的所有可用带宽作为预留带宽,最大限度地为该任务提供网络资源。同时,如果监测到可用带宽增加,例如其他设置了预留带宽的隧道中因无数据传输而被解除占用,则扩展本隧道的预留带宽,直至达到带宽预设值。
图4示意性示出了根据本公开另一实施例的设置隧道预留带宽的流程图。
如图4所示,该方法包括操作S231、S232以及S236,其中S231和S232参考图3所描述的操作,此处不再赘述。
根据本公开实施例,第一计算节点201包括至少一个物理设备,所述至少一个物理设备上运行有虚拟设备。
在操作S236,在所述可用带宽小于所述带宽预留值的情况下,发送所述隧道的预留带宽至所述第一计算节点,使所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同。根据本公开实施例,在执行操作S232之后,若所述可用带宽小于所述带宽预留值,则可以在执行参考图3所描述的操作S234之外,独立地执行S236。
图5示意性示出了根据本公开另一实施例的设置隧道预留带宽的流程图。
如图5所示,该方法包括操作S231、S232以及S237,其中S231和S232参考图3所描述的操作,此处不再赘述。
在操作S237,在所述带宽设置类型字段标识带宽设置类型是第一带宽设置类型时,迁移所述第一虚拟设备,以使迁移后的可用带宽不小于所述带宽预留值。根据本公开实施例,在执行操作S232之后,首先判断是否满足执行操作S237的条件,若满足,则执行S237,否则执行操作S234,或者执行S234和S236。
在一些特殊任务中,例如集群心跳网络报文等,当网络资源不足以满足这些任务的需求时,将可用带宽全部预留给该任务也达不到预期的效果。那么,为这类数据设置一个带宽设置类型字段,当该字段标识为第一带宽设置类型状态时,表示该带宽预留值为强制的。例如,在头文件中的一个未定义的位作为表示带宽设置类型字段的位,“1”为强制预留,“0”为尽可能预留。
由于现有的资源不能满足强制的带宽预留值,根据本公开实施例,将第一计算节点的虚拟设备迁移到其他物理设备上,使迁移后的可用带宽不小于所述带宽预留值。
图6示意性示出了根据本公开实施例的数据传输方法的时序图。
如图6所示,该方法包括S610~S650。
在操作S610,第一计算节点201通过至少一个头文件对待传输数据进行封装,其中,所述至少一个头文件至少包括第二计算节点的地址字段和带宽预留值字段。
在操作S620,第一计算节点201将封装后的数据发送至数据交换设备100。
在操作S630,数据交换设备100解封所述至少一个头文件,获取所述第二计算节点的地址以及带宽预留值。
在操作S640,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道,并基于所述带宽预留值,设置所述隧道的预留带宽。
在操作S650,通过所述隧道,将所述待传输数据发送至所述第二计算节点202。
根据本公开实施例,该方法还包括S660~S690。
在操作S660,数据交换设备100将设置的预留带宽发送至第一计算节点201。
在操作S670,第一计算节点201基于在操作S660接收到的预留带宽,设置第一计算节点201的预留带宽。
在操作S680,第二计算节点202在接收到数据后,解封所述至少一个头文件,获取带宽预留值。
在操作S690,第二计算节点202基于带宽预留值,设置第二计算节点202的预留带宽。
根据本公开实施例,在隧道的预留带宽小于带宽预留值时,数据交换设备100还可以将实际预留带宽发送给第二计算节点202,使之设置第二计算节点202的预留带宽。在隧道的预留带宽扩展时,也可以将扩展信息或扩展后的预留带宽发送给第二计算节点202,使之调整第二计算节点202的预留带宽。
图7示意性示出了根据本公开实施例的数据传输系统700的框图。
如图7所示,数据传输系统700包括第一接收模块710、第一解封模块720、第一设置模块730以及第一发送模块740。
第一接收模块710,例如执行上文参考图2描述的操作S210,用于从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件。
第一解封模块720,例如执行上文参考图2描述的操作S220,用于从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道。
第一设置模块730,例如执行上文参考图2描述的操作S230,用于从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽。
第一发送模块740,例如执行上文参考图2描述的操作S240,用于通过所述隧道,将所述待传输数据发送至所述第二计算节点。
该数据传输系统700例如可以实现上文参考图1描述的数据交换设备100。
根据本公开实施例,数据传输系统还可以包括删除模块,用于在所述隧道中不存在数据传输的情况下,删除所述隧道的预留带宽设置。
图8示意性示出了根据本公开实施例的第一设置模块730的框图。
如图8所示,第一设置模块730包括获取子模块731、判断子模块732以及第一设置子模块733。
获取子模块731,例如执行上文参考图3描述的操作S231,用于获取所述数据交换设备的可用带宽。
判断子模块732,例如执行上文参考图3描述的操作S232,用于判断所述可用带宽是否小于所述带宽预留值。
第一设置子模块733,例如执行上文参考图3描述的操作S233,用于在所述可用带宽不小于所述带宽预留值的情况下,将所述隧道的带宽预留值作为所述预留带宽。
根据本公开实施例,第一设置模块730还可以包括第二设置子模块734,例如执行上文参考图3描述的操作S234,用于在所述可用带宽小于所述带宽预留值的情况下,将所述可用带宽作为所述预留带宽。
根据本公开实施例,第一设置模块730还可以包括扩展子模块735,例如执行上文参考图3描述的操作S235,用于在检测到可用带宽增加时,扩展所述预留带宽。
图9示意性示出了根据本公开另一实施例的第一设置模块730的框图。
如图9所示,第一设置模块730还包括第二发送模块736,例如执行上文参考图4描述的操作S236,用于在所述可用带宽小于所述带宽预留值的情况下,发送所述隧道的预留带宽至所述第一计算节点,使所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同。
根据本公开实施例,第一设置模块730还包括迁移子模块737,例如执行上文参考图5描述的操作S237,用于在所述可用带宽小于所述带宽预留值的情况下,在所述带宽设置类型字段标识带宽设置类型是第一带宽设置类型时,迁移所述第一虚拟设备,以使迁移后的可用带宽不小于所述带宽预留值。
图10示意性示出了根据本公开另一实施例的数据传输系统1000的框图。
如图10所示,数据传输系统1000包括封装模块1010以及第三发送模块1020。
封装模块1010,例如执行上文参考图6描述的操作S610,用于通过至少一个头文件对待传输数据进行封装,其中,所述至少一个头文件至少包括第二计算节点的地址字段和带宽预留值字段。
第三发送模块1020,例如执行上文参考图6描述的操作S620,用于通过数据交换设备将封装后的数据发送至所述第二计算节点。
该数据传输系统1000例如可以实现上文参考图1描述的一个计算节点(例如计算节点201),用于向另一个计算节点(例如计算节点202)传输数据。
图11示意性示出了根据本公开另一实施例的数据传输系统1100的框图。
如图11所示,数据传输系统1100包括封装模块1010、第三发送模块1020、第二接收模块1030以及第二设置模块1040。
第二接收模块1030,例如执行上文参考图6描述的操作S660,用于接收所述第一计算节点与所述第二计算节点之间的数据传输隧道的预留带宽;以及
第二设置模块1040,例如执行上文参考图6描述的操作S670,用于基于所述预留带宽,设置所述第一计算节点的预留带宽。
该数据传输系统1100例如可以实现上文参考图1描述的一个计算节点(例如计算节点201),用于向另一个计算节点(例如计算节点202)传输数据。
图12示意性示出了根据本公开另一实施例的数据传输系统1200的框图。
如图12所示,数据传输系统1200包括第三接收模块1210、第二解封模块1220以及第三设置模块1230。
第三接收模块1210,例如执行上文参考图6描述的操作S650,用于通过数据交换设备接收来自第一计算节点的经过至少一个头文件封装的待传输数据;
第二解封模块1220,例如执行上文参考图6描述的操作S680,用于从所述至少一个头文件中获取所述带宽预留值;以及
第三设置模块1230,例如执行上文参考图6描述的操作S690,用于基于所述带宽预留值,设置所述第二计算节点的预留带宽。
该数据传输系统1200例如可以实现上文参考图1描述的一个计算节点(例如计算节点202),用于接收另一个计算节点(例如计算节点201)发出的数据。
可以理解的是,上文所述各个模块如第一接收模块710、第一解封模块720、第一设置模块730以及第一发送模块740等可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,上文所述各个模块中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,上文所述各个模块中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图13示意性示出了根据本公开实施例的适于实现数据传输方法和系统的计算机系统1300的框图。
如图13所示,计算机系统1300包括处理器1310和存储器1320。该计算机系统1300例如可以实现上文参考图1描述的计算节点(例如上文参考图1描述的计算节点201、202……)或者数据交换设备(例如上文参考图1描述的数据交换设备100)。该计算机系统1300可以执行上面参考图2~图6描述的方法,以实现多个计算节点之间的数据传输。
具体地,处理器1310例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1310还可以包括用于缓存用途的板载存储器。处理器1310可以是用于执行参考图2~图6描述的根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
存储器1320,例如可以是能够包含、存储、传送、传播或传输指令的任意可读存储介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);半导体存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
存储器1320可以包括计算机程序1321,该计算机程序1321可以包括代码/计算机可执行指令,其在由处理器1310执行时使得处理器1310执行例如上面结合图2~图6所描述的方法流程及其任何变形。
计算机程序1321可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1321中的代码可以包括一个或多个程序模块,例如包括1321A、模块1321B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1310执行时,使得处理器1310可以执行例如上面结合图2~图6所描述的方法流程及其任何变形。
根据本公开的实施例,上文所述各个模块中的至少一个可以实现为参考图13描述的计算机程序模块,其在被处理器1310执行时,可以实现上面描述的相应操作。
本公开实施例还提供了一种服务器集群,包括至少一个计算节点(例如上文参考图1描述的计算节点201、202……)和至少一个数据交换设备(例如上文参考图1描述的数据交换设备100)。根据本公开实施例,计算节点或数据交换设备可以实现为如上所述的计算机系统1300,包括至少一个处理器1310,以及至少一个存储器1320。服务器集群可以执行上面参考图2~图6描述的方法,以实现多个计算节点之间的数据传输。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (6)

1.一种数据传输方法,应用于数据交换设备,所述数据交换设备用于第一计算节点与第二计算节点之间的数据交换,所述第一计算节点包括至少一个物理设备,所述至少一个物理设备上运行有虚拟设备,所述方法包括:
从所述第一计算节点接收待传输数据,所述待传输数据包括至少一个头文件;
从所述至少一个头文件中获取所述第二计算节点的地址,生成所述第一计算节点与所述第二计算节点之间的数据传输隧道;
从所述至少一个头文件中获取所述隧道的带宽预留值,并基于所述带宽预留值,设置所述隧道的预留带宽;
在可用带宽小于所述带宽预留值的情况下,发送所述隧道的预留带宽至所述第一计算节点,使所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同;以及
通过所述隧道,将所述待传输数据发送至所述第二计算节点。
2.根据权利要求1所述的方法,其中,所述基于所述带宽预留值,设置所述隧道的预留带宽包括:
获取所述数据交换设备的可用带宽;
判断所述可用带宽是否小于所述带宽预留值;以及
若所述可用带宽不小于所述带宽预留值,将所述隧道的预留带宽设置为所述隧道的带宽预留值。
3.根据权利要求2所述的方法,还包括:
若所述可用带宽小于所述带宽预留值,将所述隧道的预留带宽设置为所述可用带宽;以及
在检测到可用带宽增加时,扩展所述预留带宽。
4.根据权利要求1所述的方法,其中,所述至少一个头文件还包括带宽设置类型字段,用于标识带宽设置类型,所述方法还包括:
若所述可用带宽小于所述带宽预留值,则在所述带宽设置类型字段标识带宽设置类型是第一带宽设置类型时,迁移所述虚拟设备,以使迁移后的可用带宽不小于所述带宽预留值。
5.一种数据传输方法,应用于第一计算节点,所述第一计算节点包括至少一个物理设备,所述至少一个物理设备上运行有虚拟设备,所述方法包括:
通过至少一个头文件对待传输数据进行封装,其中,所述至少一个头文件至少包括第二计算节点的地址字段和带宽预留值字段;
接收所述第一计算节点与所述第二计算节点之间的数据传输隧道的预留带宽;
基于所述预留带宽,所述虚拟设备将所述第一计算节点的预留带宽设置为与隧道的预留带宽相同;以及
通过数据交换设备将封装后的数据发送至所述第二计算节点。
6.一种电子设备,包括:
处理器;以及
存储器,其上存储有计算机可读指令,所述指令被所述处理器执行时,使所述处理器执行如权利要求1-5中任意一项所述的方法。
CN201710522377.7A 2017-06-30 2017-06-30 数据传输方法、电子设备和服务器集群 Active CN107332751B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710522377.7A CN107332751B (zh) 2017-06-30 2017-06-30 数据传输方法、电子设备和服务器集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710522377.7A CN107332751B (zh) 2017-06-30 2017-06-30 数据传输方法、电子设备和服务器集群

Publications (2)

Publication Number Publication Date
CN107332751A CN107332751A (zh) 2017-11-07
CN107332751B true CN107332751B (zh) 2020-10-27

Family

ID=60199389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710522377.7A Active CN107332751B (zh) 2017-06-30 2017-06-30 数据传输方法、电子设备和服务器集群

Country Status (1)

Country Link
CN (1) CN107332751B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249973A2 (en) * 2001-02-23 2002-10-16 Nippon Telegraph and Telephone Corporation Bandwidth management apparatus and method, program therefor and recording medium with the program recorded thereon
CN102223299A (zh) * 2011-06-08 2011-10-19 中兴通讯股份有限公司 隧道间带宽资源的管理方法和系统
CN104301256A (zh) * 2014-10-31 2015-01-21 杭州华三通信技术有限公司 一种sdn网络动态预留带宽的方法及控制器
CN104753823A (zh) * 2013-12-31 2015-07-01 华为技术有限公司 建立服务质量预留的方法及节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1249973A2 (en) * 2001-02-23 2002-10-16 Nippon Telegraph and Telephone Corporation Bandwidth management apparatus and method, program therefor and recording medium with the program recorded thereon
CN102223299A (zh) * 2011-06-08 2011-10-19 中兴通讯股份有限公司 隧道间带宽资源的管理方法和系统
CN104753823A (zh) * 2013-12-31 2015-07-01 华为技术有限公司 建立服务质量预留的方法及节点
CN104301256A (zh) * 2014-10-31 2015-01-21 杭州华三通信技术有限公司 一种sdn网络动态预留带宽的方法及控制器

Also Published As

Publication number Publication date
CN107332751A (zh) 2017-11-07

Similar Documents

Publication Publication Date Title
WO2020156591A1 (zh) 一种多链路数据传输方法及装置和存储介质
WO2020007202A1 (zh) 一种数据传输方法、装置及系统
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
JP6517934B2 (ja) スイッチ内のデータをバッファリングするための装置および方法
CN111050361B (zh) 一种报文传送方法、装置及系统
US10291482B2 (en) ECU for transmitting large data in HiL test environment, system including the same and method thereof
CN112039796B (zh) 数据包传输方法和装置、存储介质和电子设备
CN108377213A (zh) 用于在内核空间内传播正在进行中的分组的元数据的系统和方法
CN105610730B (zh) Cpu与网络设备之间的消息交互方法及系统
CN111108710A (zh) Harq编号确定方法、网络设备、终端和计算机存储介质
CN111382115B (zh) 一种用于片上网络的路径创建方法、装置及电子设备
CN110326262B (zh) 将无线设备抽象为虚拟以太网接口
CN105763463B (zh) 一种链路探测报文的传输方法和装置
US20170063675A1 (en) Flow switch, controller and relay apparatus
CN107332751B (zh) 数据传输方法、电子设备和服务器集群
CN115150383A (zh) 文件发送方法、设备及计算机可读存储介质
US20160378714A1 (en) Communication apparatus and control method thereof
CN108616453B (zh) 一种用于网络设备的方法、装置和系统
CN115622954B (zh) 数据传输方法、装置、电子设备及存储介质
US9985886B2 (en) Technologies for network packet pacing during segmentation operations
US20160261719A1 (en) Information processing system, control program, and control method
CN107948105B (zh) 控制设备的端口状态的方法和系统
CN114338477A (zh) 一种通信链路监控方法、装置、设备及存储介质
US20140237136A1 (en) Communication system, communication controller, communication control method, and medium
US10165468B2 (en) Method for authorising transmission requests

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