一种数据交换方法及系统的制作方法

文档序号:9767681阅读:773来源:国知局
一种数据交换方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种数据交换方法及系统。
【背景技术】
[0002]系统虚拟化技术的核心思想是使用虚拟化软件在一台物理机上虚拟出一台或多台虚拟机(Virtual Machine,VM),所谓虚拟机是指使用系统虚拟化技术运行在一个隔离环境中,且具有完整硬件功能的逻辑计算机系统;系统虚拟化技术因具有提高服务器的资源利用率、且提高系统的可靠性的优势,被广泛应用于计算机网络中的服务器。
[0003]目前,服务器采用系统虚拟化技术能够配置多个虚拟机,虚拟机之间需要通过具有数据交换功能的网络进行通信,但由于各个虚拟机的网络接口是虚拟的,因此,不能直接通过具有数据交换功能的硬件实体设备进行互联。
[0004]现有服务器中的虚拟机之间进行数据交换,通常采用如下两种方式实现:
[0005]方式一、参考虚拟机的实现方式,将具有数据交换功能的硬件实体设备也虚拟化,即:在服务器中配置虚拟交换机,这样,虚拟机之间进行通信时,虚拟机的网络接口可以不需要经过硬件实体设备,直接在服务器内部通过虚拟交换机进行互联,如图1所示,虚拟机11和虚拟机12之间的通信就直接通过服务器中配置的虚拟交换机13完成。
[0006]方式二、电气和电子工程师协会(Instituteof Electrical and ElectronicsEngineers, IEEE)提出了一种新的技术标准(Edge Virtual Bridging, EVB),如图 3 所示,EVB技术的基本思路是:所有来自于虚拟机的流量都会被转发到邻近的物理接入交换机23,即使同一服务器内各个虚拟机之间的流量,如虚拟机21和虚拟机22之间的流量,也要交给物理接入交换机23查表处理,之后再掉头返回给服务器20,流量做了一个180度的转向,形成了所谓的“发卡弯”模式。这种方式通过物理接入交换机23实现以虚拟机为目标的感知、控制和数据交换,可以支持大规模虚拟计算服务的自动化运营。
[0007]发明人在实现本发明的过程中,发现现有虚拟机之间的数据交换方案至少存在以下缺陷:
[0008]方式一、采用虚拟交换机实现虚拟机之间的数据交换,模糊了主机和网络管理界限,占用了服务器的处理器和内存资源,网络规模管理的可扩展性较低;
[0009]方式二、采用边缘网络设备实现虚拟机之间的数据交换,由于网络流量被从服务器上引入到外部网络,因此,随着服务器上虚拟机规模的增长,边缘网络设备需要处理的网络流量会成倍的增加,对边缘网络设备的交换能力和查找表容量造成很大的压力。
[0010]另外,上述方式一与方式二中,用户均无法对服务器中的虚拟机网络进行控制与管理。

【发明内容】

[0011]有鉴于此,本发明实施例期望提供一种数据交换方法及系统,不仅能对数据交换进行实时且动态地控制与管理,还能满足大规模虚拟机网络中的数据交换性能需求。
[0012]为达到上述目的,本发明的技术方案是这样实现的:
[0013]本发明实施例提供了一种数据交换方法,根据用户需求实时配置网络管理控制信息;该方法还包括:
[0014]确定源主机需要传输数据时,获取目标主机的地址信息;
[0015]根据获取的地址信息及所述网络管理控制信息,经由服务器中预设的数据交换硬件子系统进行数据传输。
[0016]上述方案中,所述根据用户需求实时配置网络管理控制信息,包括:
[0017]通过预设的应用获取用户根据需求输入的网络管理控制信息;
[0018]将所述网络管理控制信息转换为机器可执行代码,得到转换后的网络管理控制信肩、O
[0019]上述方案中,所述根据获取的地址信息及所述网络管理控制信息,经由服务器中预设的数据交换硬件子系统进行数据传输,包括:
[0020]根据获取的地址信息确定源主机与目标主机是否处于相同硬件平台;
[0021]确定处于相同硬件平台时,根据获取的地址信息及所述网络管理控制信息,经由服务器中预设的数据交换硬件子系统直接将数据传输到服务器内部的目标主机;
[0022]确定处于不同硬件平台时,根据获取的地址信息及所述网络管理控制信息,经由服务器中预设的数据交换硬件子系统和邻接网桥将数据传输到服务器外部的目标主机。
[0023]上述方案中,所述网络管理控制信息包括虚拟机的数据交换方式、网络管理参数。
[0024]基于上述方法,本发明实施例还提供了一种数据交换系统,该系统包括:管理控制子系统、数据交换硬件子系统;其中,
[0025]所述管理控制子系统,用于根据用户需求实时配置网络管理控制信息,并在确定源主机需要传输数据时,获取目标主机的地址信息;
[0026]所述数据交换硬件子系统,用于根据获取的地址信息及所述网络管理控制信息,进行数据传输。
[0027]上述方案中,所述管理控制子系统具体用于:
[0028]通过预设的应用获取用户根据需求输入的网络管理控制信息;
[0029]将所述网络管理控制信息转换为机器可执行代码,得到转换后的网络管理控制信肩、O
[0030]上述方案中,所述数据交换硬件子系统具体用于:
[0031]根据获取的地址信息确定源主机与目标主机是否处于相同硬件平台;
[0032]确定处于相同硬件平台时,根据获取的地址信息及所述网络管理控制信息,直接将数据传输到服务器内部的目标主机;
[0033]确定处于不同硬件平台时,根据所述地址信息及所述网络管理控制信息,并通过邻接网桥将数据传输到服务器外部的目标主机。
[0034]上述方案中,所述网络管理控制信息包括虚拟机的数据交换方式、网络管理参数。
[0035]上述方案中,所述数据交换硬件子系统为具备数据交换功能的硬件实体设备。
[0036]上述方案中,所述数据交换子系统为现场可编程门阵列FPGA或复杂可编程逻辑器件CPLD。
[0037]本发明实施例所提供的数据交换方法及系统,与现有技术相比,取得了如下进I K
少:
[0038]I)本发明实施例根据用户需求实时配置网络管理控制信息,能够对数据交换进行实时且动态地控制与管理,从而提高用户使用的灵活性。
[0039]2)本发明实施例采用具备数据交换功能的硬件实体设备实现数据交换,能够将网络流量限制在服务器中,方便用户控制与管理,并能够满足大规模虚拟机网络中的数据交换性能需求。
【附图说明】
[0040]图1为现有技术中采用方式一实现的服务器的组成结构示意图;
[0041]图2为现有技术中采用方式二实现的服务器的组成结构示意图;
[0042]图3为本发明实施例数据交换系统的组成结构示意图;
[0043]图4为本发明实施例数据交换方法实现流程示意图;
[0044]图5为本发明实施例一中的服务器的组成结构示意图。
【具体实施方式】
[0045]本发明实施例提供的数据交换系统应用于服务器中,所述服务器通常配置多个虚拟机,每个VM可以如真实主机一般运行,所述服务器中配置的所有虚拟机均处于同一硬件平台,可以使用或共享同一硬件平台资源,从而提高所述服务器的资源利用率;所述服务器可以采用所述数据交换系统作为辅助平台,控制所述服务器中虚拟机之间进行数据传输或所述服务器中的虚拟机与外部网络之间进行数据传输。
[0046]下面结合附图对本发明的【具体实施方式】进行说明。
[0047]图3为本发明实施例中提供的数据交换系统的组成结构示意图,如图3所示,该系统包括:管理控制子系统300、数据交换硬件子系统301 ;其中,
[0048]所述管理控制子系统300,用于根据用户需求实时配置网络管理控制信息,并在确定源主机需要传输数据时,获取目标主机的地址信息;
[0049]这里,所述源主机发送的数据报文中可以携带目的主机的地址信息,相应的,所述获取目标主机的地址信息可以从源主机发送的数据报文中获取;
[0050]所述数据交换硬件子系统301,用于根据获取的地址信息及所述网络管理控制信息进行数据传输。
[0051]这里,所述源主机为服务器中的虚拟机;所述目的主机可以为与所述源主机处于相同硬件平台的虚拟机,也可以为与所述源主机处于不同硬件平台的真实主机或虚拟机。
[0052]在实际应用中,所述管理控制子系统300相当于服务器中的解释器;所述数据交换硬件子系统301由具备数据交换功能的硬件实体设备实现,例如,现场可编程门阵列(Field Programmable Gate Array, FPGA)、复杂可编程逻辑器件(Complex ProgrammableLogic Device, CPLD)、可编程逻辑器件(Programmable Logic Device, PLD)等硬件实体设备实现;在本发明具体实施例中,所述数据交换硬件子系统可采用FPGA或CPLD
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1