掌桥专利:专业的专利平台
掌桥专利
首页

数据传输方法、装置、服务器和可读存储介质

文献发布时间:2024-04-18 20:01:23


数据传输方法、装置、服务器和可读存储介质

技术领域

本申请涉及通信技术领域,特别是涉及一种数据传输方法、装置、服务器和可读存储介质。

背景技术

随着互联网技术的发展,为了满足中型或大型网络的通信需求,通常在中型或大型网络中使用OSPF(Open Shortest Path First,开放式最短路径优先)的协议。

传统技术中,在中型或大型网络中,通过设置多组服务器、交换机或者路由器等物理设备实现OSPF,建立中型或大型网络的通信。

然而,现有的中型或大型网络存在传输性能差的问题。

发明内容

基于此,有必要针对上述技术问题,提供一种能够提高网络的传输性能的数据传输方法、装置、服务器和可读存储介质。

第一方面,本申请提供了一种数据传输方法,应用于服务器,服务器中创建有多个虚拟交换机,该方法包括:

多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含待传输数据包对应的传输路径;

在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

上述实施例中在传输数据包时,通过在一个服务器中创建的多个虚拟交换机来替代现有技术中的多组物理设备,在多个虚拟交换机中的目标交换机接收到待传输数据包,且服务器的数据库中不包括待传输数据包的传输数据后,目标虚拟交换机会根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定待传输数据包对应的传输路径,以基于传输路径完成对待传输数据包的传输。这样通过服务器中的多个虚拟交换机实现对待传输数据包的传输,与现有技术中的使用物理设备相比,无需设置多组服务器或交换机,能够降低成本;多个虚拟交换机之间不会存在兼容性的问题;且多个虚拟交换机之间的连接无需通过物理线缆,能够避免物理线缆传输产生的干扰,从而能够提高传输性能。

另外,多个虚拟交换机创建在一个服务器上,在进行迁移时,直接拷贝服务器中的数据完成迁移,无需搬迁大量的物理设备,非常便于迁移。

在其中一个实施例中,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,包括:

根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;

根据链路信息和待传输数据包,确定传输路径。

上述实施例,在服务器的数据库中不包含待传输数据包对应的传输路径时,目标虚拟交换机根据从与其相邻的虚拟交换机中获取的路由信息确定链路信息,根据链路信息确定待传输数据包对应的传输路径。这样确定传输路径的方法简单,容易实现。

在其中一个实施例中,根据链路信息和待传输数据包,确定传输路径,包括:

从待传输数据包中提取源地址和目标地址;

基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

上述实施例中,根据迪杰斯特拉算法、链路信息确定待传输数据包从源地址到目标地址的传输路径的方法,能够快速且准确的从链路信息中选择出待传输数据包对应的最优路径,从而能够提高传输性能。

在其中一个实施例中,确定服务器的数据库中是否包含待传输数据包对应的传输路径,包括:

基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含从源地址到目标地址的传输路径。

上述实施例,目标虚拟交换机直接根据待传输数据包对应的源地址和目标地址在服务器的数据库中查找传输路径,这样能够提高查找传输路径的效率,从而能够提高传输性能。

在其中一个实施例中,该方法还包括:

在服务器的数据库中包含待传输数据包对应的传输路径的情况下,基于传输路径传输待传输数据包。

上述实施例,在服务器的数据库中存储有待传输数据包对应的传输路径时,直接根据该传输路径传输待传输数据包,这样能够提高传输待传输数据包的效率,从而能够提高传输性能。

在其中一个实施例中,服务器中还构建有数据平面开发套件,在虚拟交换机接收待传输数据包之前,该方法还包括:

数据平面开发套件接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径;

若不包含,则将待传输数据包传输至目标虚拟交换机;

若包含,则基于传输路径传输待传输数据包。

上述实施例,在待传输数据包传输至目标虚拟交换机之前,先使用创建的DPDK接收待传输数据包,并在确定DPDK库中包含待传输数据包对应的传输路径后,直接根据该传输路径传输待传输数据包,无需再将待传输数据包传输至目标虚拟交换机,能够提高传输效率,从而能够提高传输性能。

在其中一个实施例中,该方法还包括:

目标虚拟交换机将确定的传输路径传输至数据平面开发套件,数据平面开发套件将传输路径存储于数据平面开发套件库中。

上述实施例,在目标虚拟交换机确定了传输路径后,目标虚拟交换机会将该传输路径传输至DPDK,DPDK将接收到的传输路径和与其对应的源地址和目标地址存储于DPDK库中,这样在DPDK下次接收到与该源地址和目标地址相同的数据包时,直接在DPDK库查找对应的传输路径进行传输,能够提高传输效率。

第二方面,本申请一个实施例提供一种数据传输装置,应用于服务器,服务器中创建有多个虚拟交换机,该装置包括:

接收模块,用于接收待传输数据包,并确定服务器的数据库中是否包含待传输数据包对应的传输路径;

传输模块,用于在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

第三方面,本申请一个实施例提供一种服务器,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上述第一方面提供的方法的步骤。

第四方面,本申请一个实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面提供的方法的步骤。

附图说明

图1为一个实施例中数据传输方法的应用环境示意图;

图2为一个实施例中数据传输方法的步骤流程示意图;

图3为另一个实施例中数据传输方法的步骤流程示意图;

图4为另一个实施例中数据传输方法的步骤流程示意图;

图5为另一个实施例中数据传输方法的步骤流程示意图;

图6为另一个实施例中数据传输方法的步骤流程示意图;

图7为一个实施例中服务器中多个虚拟交换机连接的结构示意图;

图8为一个实施例中数据传输装置的结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

首先,在具体介绍本申请的技术方案之前,先对本申请基于的技术背景或者技术演进脉络进行介绍。随着互联网技术的发展,为了满足中型或大型网络的通信需求,通常在网络中使用OSPF(Open Shortest Path First,开放式最短路径优先)的协议。在OSPF被配置好后,大部分路径将由该协议自行计算获得,不需要人工配置,即使是网络拓扑结构发生改变,该协议也可以自行计算。

传统技术中,在中型或大型网络中,通过设置多组服务器、交换机或者路由器等物理设备实现OSPF协议,建立中型或大型网络的通信。然而,现有的中型或大型网络使用多台物理设备,会存在传输性能差的问题。对此本申请提供一种能够提高传输性能的数据传输方法。

下面结合本申请所应用的场景,对本申请涉及的技术方案进行介绍。

本申请提供的数据传输方法,可以应用于服务器中,服务器中预先编译安装有多个虚拟交换机。服务器的内部结构可以如图1所示,该服务器包括通过系统总线连接的处理器、存储器、通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该服务器的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据传输方法。

在一个实施例中,如图2所示,提供了一种数据传输方法,本实施例以该方法应用于服务器进行举例说明。该方法包括以下步骤:

步骤200、多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含待传输数据包对应的传输路径。

目标虚拟交换机是多个虚拟交换机中的任意一个。待传输数据包对应的传输路径是指待传输数据包在传输时经过的各个节点。

待传输数据包中包括该数据对应的源地址(数据的来源)和目标地址(数据需要发送的目的地)。若该服务器中的多个目标虚拟交换机传输过与待传输数据包中源地址和目标地址相同的数据,则在服务器中的数据库中会存储有该数据包对应的传输路径。目标虚拟交换机从网卡接收到待传输数据包后,在服务器的数据库中查找,确定服务器的数据库中是否存储有待传输数据包对应的传输路径。

步骤210、在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输所述待传输数据包。

若目标虚拟交换机通过在服务器的数据库中查找,确定服务器的数据库中不包含待传输数据包对应的传输路径,即,该服务器为第一次接收该待传输数据包。此时,目标虚拟交换机会根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定待传输数据包对应的传输路径。路由信息包括:每个虚拟交换机的区域地址、路由地址、接口地址、邻居地址和端口号同步状态等。本实施例对路由信息的具体内容不作限制,只要能够实现其功能即可。

目标虚拟交换机在确定待传输数据包对应的传输路径后,根据传输路径传输待传输数据包。换句话说,目标虚拟交换机根据传输路径中待传输数据包经过目标虚拟交换机的下一个节点的地址,将待传输数据包传输至目标虚拟交换机的下一个节点。

在一个可选的实施例中,目标虚拟交换机基于预先设置的OSPF协议,根据多个虚拟交换机中其他虚拟交换机的路由信息计算待传输数据包对应的传输路径。

在一个可选的实施例中,目标虚拟交换机在将待传输数据包传输至下一个节点时,会通过一个转发平面(Open Flow)转发出去。

本申请实施例提供的数据传输方法应用于服务器,服务器中创建有多个虚拟交换机,该方法包括多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含待传输数据包对应的传输路径;在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。本实施例中在传输数据包时,通过在一个服务器中创建的多个虚拟交换机来替代现有技术中的多组物理设备,在多个虚拟交换机中的目标交换机接收到待传输数据包,且服务器的数据库中不包括待传输数据包的传输数据后,目标虚拟交换机会根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定待传输数据包对应的传输路径,以基于传输路径完成对待传输数据包的传输。这样通过服务器中的多个虚拟交换机实现对待传输数据包的传输,与现有技术中的使用物理设备相比,无需设置多组服务器或交换机,能够降低成本;多个虚拟交换机之间不会存在兼容性的问题;且多个虚拟交换机之间的连接无需通过物理线缆,能够避免物理线缆传输产生的干扰,从而能够提高传输性能。

另外,多个虚拟交换机创建在一个服务器上,在进行迁移时,直接拷贝服务器中的数据完成迁移,无需搬迁大量的物理设备,非常便于迁移。

请参见图3,在一个实施例中,涉及根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径的一种实现方式,该实现方式的步骤包括:

步骤300、根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息。

服务器中的多个虚拟交换机之间可以相互通信,目标虚拟交换机能够获取与其相邻的其他虚拟交换机中存储的路由信息;与目标虚拟交换机相邻的其他虚拟交换机能够获取与其相邻的虚拟交换机的路由信息,从而目标虚拟交换机能够获取到服务器中所有虚拟交换机的路由信息。每个虚拟交换机可以是实时获取多个虚拟交换机中其他虚拟交换机的路由信息的,也可以是按照预先设置的周期获取的。

在服务器的数据库中不包含待传输数据包对应的传输路径时,目标虚拟交换机会根据多个虚拟交换机中其他所有虚拟交换机的路由信息,得到链路信息。链路信息用于表征各虚拟交换机中的路由状态,比如,哪两个或多个虚拟交换机是依次连接,哪个虚拟交换机与对应的主机连接等。链路信息包括进程地址、区域地址、接口地址、数据种类、链路状态地址、通告路由地址、长度、序列号和度量值等。本实施例对链路信息的具体内容不作限制,只要能够实现其功能即可。

步骤310、根据链路信息和待传输数据包,确定传输路径。

目标虚拟交换机在获取链路信息后,根据链路信息以及待传输数据包能够确定待传输数据包对应的传输路径。待传输数据包中包括有待传输数据包对应的源地址和目标地址,目标虚拟交换机可以在链路信息中选择一条从源地址到目标地址的路径确定待传输数据包对应的传输路径。

在本实施例中,在服务器的数据库中不包含待传输数据包对应的传输路径时,目标虚拟交换机根据从与其相邻的虚拟交换机中获取的路由信息确定链路信息,根据链路信息确定待传输数据包对应的传输路径。这样确定传输路径的方法简单,容易实现。

请参见图4,在一个实施例中,涉及根据链路信息和待传输数据包,确定传输路径的一种实现方式,该实现方式的步骤包括:

步骤400、从待传输数据包中提取源地址和目标地址。

待传输数据包中包含该待传输数据包对应的源地址和目标地址。目标虚拟交换机在得到待传输数据包后,能够从待传输数据包中提取源地址和目标地址。

在一个可选的实施例中,目标虚拟交换机根据待传输数据包所在的工作层(例如,传输层和网络层)对应的协议对待传输数据包进行解析处理,得到待传输数据包对应的源地址和目标地址。

步骤410、基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

迪杰斯特拉算法是OSPF协议中确定路径的算法。目标虚拟交换机在得到链路信息和待传输数据包对应的源地址和目标地址后,基于迪杰斯特拉算法,计算出在待传输数据包传输过程中到达每个节点(虚拟交换机或外部通信设备)的结果,根据计算结果确定待传输数据包从源地址到目标地址的传输路径。

在本实施例中,根据迪杰斯特拉算法、链路信息确定待传输数据包从源地址到目标地址的传输路径的方法,能够快速且准确的从链路信息中选择出待传输数据包对应的最优路径,从而能够提高传输性能。

在一个实施例中,涉及确定服务器的数据库中是否包含待传输数据包对应的传输路径一种实现方式,该实现方式的步骤包括:

基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含从源地址到目标地址的传输路径。

服务器的数据库中存储有使用该服务器传输数据包时的多条传输路径,即服务器的数据库中存储有不同源地址和目标地址与传输路径之间的对应关系。目标虚拟交换机在服务器的数据库中查找待传输数据包对应的传输路径时,先从待传输数据包中提取待传输数据包对应的源地址和目标地址,根据提取的源地址和目标地址在服务器的数据库中查找,以确定服务器的数据库中是否包含待传输数据包对应的传输路径。

在一个可选的实施例中,目标虚拟交换机先在服务器的数据库中查找源地址和目标地址,再根据对应关系,确定源地址和目标地址对应的传输路径,即待传输数据包对应的传输路径。

在本实施例中,目标虚拟交换机直接根据待传输数据包对应的源地址和目标地址在服务器的数据库中查找传输路径,这样能够提高查找传输路径的效率,从而能够提高传输性能。

在一个实施例中,数据传输方法的步骤还包括:

若服务器的数据库中包含待传输数据包对应的传输路径,则基于传输路径传输待传输数据包。

若目标虚拟交换机通过在服务器的数据库查找,确定服务器的数据库中包含待传输数据包对应的传输路径,则目标虚拟交换机直接根据查找到的传输路径传输待传输数据包。换句话说,目标虚拟交换机根据查找到的传输路径中目标虚拟交换机的下一个节点的地址,将待传输数据包传输至目标虚拟交换机的下一个节点。

在本实施例中,在服务器的数据库中存储有待传输数据包对应的传输路径时,直接根据该传输路径传输待传输数据包,这样能够提高传输待传输数据包的效率,从而能够提高传输性能。

在一个实施例中,服务器中还构建有数据平面开发套件(Date PlaneDevelopment Kit,DPDK)。换句话说,在服务器上安装好系统(通常是Linux系统)后,使用支持DPDK的网卡,安装好的系统通过meson&ninja编译安装来构建DPDK环境,加载DPDK环境所需的UIO驱动,将网卡绑定到UIO驱动中,配置大页内存,以在服务器中构建好DPDK。DPDK是用于快速处理数据包的函数库与驱动的集合。DPDK通过创建EAL(EnvironmentAbstraction Layer,环境抽象层)来给不同的工作环境创建函数库。DPDK创建的函数库隐藏了底层环境的细节,可以适用于任何处理器。

请参见图5,在服务器中包括DPDK时,在虚拟交换机接收待传输数据包之前,该方法的步骤还包括:

步骤500、数据平面开发套件接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径。

通过网卡传输的待传输数据包会先传输至DPDK,DPDK中包括DPDK库。在DPDK接收到待传输数据包后,会先在DPDK库中查找,以确定数据DPDK库中是否包含待传输数据包对应的传输路径。

在一个可选的实施例中,DPDK库中存储有不同源地址和目标地址与传输路径之间的对应关系。DPDK在接收到待传输数据包后,提取待传输数据包中包含的源地址和目标地址;并根据提取的源地址和目标地址在DPDK库中查找,以确定DPDK库中是否包含有待传输数据包对应的传输路径。

步骤510、若不包含,则将待传输数据包传输至目标虚拟交换机。

若DPDK通过在DPDK库中查找,确定DPDK库中不包含待传输数据包对应的传输路径,则DPDK将该传输数据包传输至目标虚拟交换机,使得目标虚拟交换机确定待传输数据包对应的传输路径,并根据该确定的传输路径传输待传输数据包。

步骤520、若包含,则基于传输路径传输待传输数据包。

若DPDK通过在DPDK库中查找,确定DPDK库中包含待传输数据包对应的传输路径,则DPDK直接根据查找到的传输路径传输待传输数据包。

在本实施例中,在待传输数据包传输至目标虚拟交换机之前,先使用创建的DPDK接收待传输数据包,并在确定DPDK库中包含待传输数据包对应的传输路径后,直接根据该传输路径传输待传输数据包,无需再将待传输数据包传输至目标虚拟交换机,能够提高传输效率,从而能够提高传输性能。

在一个实施例中,数据传输方法的步骤还包括:

目标虚拟交换机将确定的传输路径传输至数据平面开发套件,数据平面开发套件将接收到的传输路径存储于数据平面开发套件库中。

在服务器中创建有DPDK,且DPDK库中不包含待传输数据包对应的传输路径,而服务器的数据库中包含待传输数据包对应的传输路径或者目标虚拟交换机根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径时,目标虚拟交换机会将该传输路径传输至DPDK,DPDK在接收到该传输路径后,会将该传输路径和与其对应的源地址和目标地址存储在DPDK库中。

在本实施例中,在目标虚拟交换机确定了传输路径后,目标虚拟交换机会将该传输路径传输至DPDK,DPDK将接收到的传输路径和与其对应的源地址和目标地址存储于DPDK库中,这样在DPDK下次接收到与该源地址和目标地址相同的数据包时,直接在DPDK库查找对应的传输路径进行传输,能够提高传输效率。

请参见图6,本申请一个实施例提供一种数据传输方法,该方法的步骤包括:

步骤600、在服务器上安装系统,使用支持DPDK的网卡,且安装好的系统通过meson&ninja编译安装来构建DPDK环境;

步骤610、加载DPDK环境所需的UIO驱动,将网卡绑定到UIO驱动中,配置大页内存,并在安装好的系统上编译安装多个虚拟交换机;

步骤620、DPDK接收待传输数据包,并确定DPDK库中是否包含待传输数据包对应的传输路径;

步骤630、若DPDK库中包含待传输数据包对应的传输路径,则基于传输路径传输待传输数据包;

步骤640、若DPDK库中不包含待传输数据包对应的传输路径,则将待传输数据包传输至目标虚拟交换机;

步骤650、目标虚拟交换机接收待传输数据包,并基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含待传输数据包对应的传输路径;

步骤660、在服务器的数据库中包含待传输数据包对应的传输路径,则基于传输路径传输待传输数据包;

步骤670、在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;

步骤680、从待传输数据包中提取源地址和目标地址;

步骤690、基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

步骤691、将传输路径传输至DPDK,DPDK将接收到的传输路径存储于DPDK库中。

在一个实施例中,如图7所示,假设服务器中创建有4个虚拟交换机,分别为R1、R2、R3和R4,与服务器连接的外部主机包括与R1连接的主机1,与R3连接的主机2,与R4连接的主机3。R4能够接收到R1的路由信息,R1能够接收到R2、R4和R3的路由信息,R3能够接收到R1的路由信息;R2能够接收到R1的路由信息。

若R4为目标虚拟交换机,则R4从主机3接收待传输数据包,该待传输数据包的源地址为主机3的地址,目标地址为主机2的地址。R4在接收到待传输数据包,确定服务器的数据库中是否包含待传输数据包对应的传输路径;若包含,该传输路径为从主机3到R4,从R4到R1,从R1到R3,从R3到主机2,则R4将待传输数据包传输至R1;若不包含,则R4会获取R1的路由信息,根据该路由信息确定链路信息,根据链路信息确定传输路径。

应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据传输方法的数据传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据传输装置实施例中的具体限定可以参见上文中对于数据传输方法的限定,在此不再赘述。

在一个实施例中,如图8所示,提供了一种数据传输装置10,包括:接收模块11和传输模块12,其中:

接收模块11,用于接收待传输数据包,并确定服务器的数据库中是否包含待传输数据包对应的传输路径。

传输模块12,用于在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

在一个实施例中,传输模块12包括第一确定单元和第二确定单元。第一确定单元用于根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;第二确定单元用于根据链路信息和待传输数据包,确定传输路径。

在一个实施例中,第二确定单元具体用于从待传输数据包中提取源地址和目标地址;基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

在一个实施例中,接收模块11具体用于基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含从源地址到目标地址的传输路径。

在一个实施例中,传输模块12还用于在服务器的数据库中包含待传输数据包对应的传输路径的情况下,基传输路径传输所述传输数据包。

在一个实施例中,数据传输装置10还包括确定模块,确定模块用于接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径;若不包含,则将待传输数据包传输至目标虚拟交换机;若包含,则基于传输路径传输待传输数据包。

在一个实施例中,传输模块12还用于将确定的传输路径传输至数据平面开发套件,数据平面开发套件将传输路径存储于数据平面开发套件库中。

上述数据传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图1所示。

本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含所述待传输数据包对应的传输路径;

在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;根据链路信息和待传输数据包,确定传输路径。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:从待传输数据包中提取源地址和目标地址;基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含源地址到所述标地址的传输路径。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:在服务器的数据库中包含待传输数据包对应的传输路径的情况下,基于传输路径传输待传输数据包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:数据平面开发套件接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径;若不包含,则将待传输数据包传输至目标虚拟交换机;若包含,则基于传输路径传输待传输数据包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:目标虚拟交换机将确定的传输路径传输至数据平面开发套件,数据平面开发套件将传输路径存储于数据平面开发套件库中。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含所述待传输数据包对应的传输路径;

在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;根据链路信息和待传输数据包,确定传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从待传输数据包中提取源地址和目标地址;基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含源地址到所述标地址的传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在服务器的数据库中包含待传输数据包对应的传输路径的情况下,基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:数据平面开发套件接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径;若不包含,则将待传输数据包传输至目标虚拟交换机;若包含,则基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:目标虚拟交换机将确定的传输路径传输至数据平面开发套件,数据平面开发套件将传输路径存储于数据平面开发套件库中。

在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:

多个虚拟交换机中的目标虚拟交换机接收待传输数据包,并确定服务器的数据库中是否包含所述待传输数据包对应的传输路径;

在服务器的数据库中不包含待传输数据包对应的传输路径的情况下,根据待传输数据包和多个虚拟交换机中其他虚拟交换机的路由信息确定传输路径,并基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据多个虚拟交换机中其他虚拟交换机的路由信息,确定链路信息;根据链路信息和待传输数据包,确定传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从待传输数据包中提取源地址和目标地址;基于迪杰斯特拉算法,根据链路信息,确定从源地址到目标地址的传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:基于待传输数据包对应的源地址和目标地址,在服务器的数据库中查找,以确定服务器的数据库中是否包含源地址到所述标地址的传输路径。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在服务器的数据库中包含待传输数据包对应的传输路径的情况下,基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:数据平面开发套件接收待传输数据包,并确定数据平面开发套件库中是否包含待传输数据包对应的传输路径;若不包含,则将待传输数据包传输至目标虚拟交换机;若包含,则基于传输路径传输待传输数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:目标虚拟交换机将确定的传输路径传输至数据平面开发套件,数据平面开发套件将传输路径存储于数据平面开发套件库中。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

相关技术
  • 一种用于焊接机组的升降焊接机构以及线漏焊接机组
  • 一种焊接机器人用焊接机构及焊接机器人
技术分类

06120116548896