一种网关控制方法、网关设备、电子设备及存储介质与流程

专利2022-06-29  70


本发明属于网络技术领域,特别是涉及一种网关控制方法、网关设备、电子设备及存储介质。



背景技术:

nat(networkaddresstranslation,网络地址转换)技术是通过在专用网连接到因特网的网关安装nat软件,在专用网主机与因特网通信时,将数据包上的专用网ip(internetprotocol,互联网协议地址)切换为因特网ip,在因特网向专用网主机发送数据包时,可通过snat(sourcenetworkaddresstranslation,源网络地址转换)以及dnat(destinationnetworkaddresstranslation,目的网络地址转换)技术等技术实现反向代理,从而实现专用网内部的主机与因特网的主机之间的相互通信。从网络结构上看,nat网关设备连接有两个不同的网络,因此nat网关设备很容易成为网络通信系统的瓶颈。

现有技术中,通常是在nat网关设备中设置转发表,cpu(centralprocessingunit,中央处理器)会根据该转发表将所接收到的数据包加入到相应发送队列中进行转发,目前的转发表有两种形式:第一种是全局转发表,即所有的cpu访问同一转发表,这种转发表需要使用加锁的方式保护全局转发表在被多个cpu访问时不被破坏;第二种是每个cpu的转发表,即将全局转发表在每个cpu上复制一份,转发时各cpu可直接使用本地的转发表。

上述的第一种形式的转发表虽然可以保护全局转发表不被破坏,但是cpu对锁的竞争会随着cpu的核数的增加而增加,nat网关设备的性能也会随之而下降;而第二种形式的转发表虽然可以避免cpu对锁对nat网关设备性能的影响,但是转发表每次发生变更时需要nat网关设备将变更的转发表同步到所有cpu上,占用过多的nat网关设备的数据处理资源,使得nat网关设备的性能下降。



技术实现要素:

有鉴于此,本发明提供一种网关控制方法、网关设备、电子设备及存储介质,以便解决现有技术中维护转发表占用过多数据处理资源,导致nat网关设备性能下降的问题。

依据本发明的第一方面,提供了一种网关控制方法,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:

获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;

查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;

通过所述第二接口将所述第一请求信息发送给第二设备;

在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

可选的,所述确定与所述第一接口相对应的第二接口的步骤,包括:

在所述目标转发表中存在与所述第一接口相对应的目标接口的情况下,将所述目标接口确认为第二接口;

在所述目标转发表中不存在与所述第一接口相对应的目标接口的情况下,根据预设分配策略给所述第一接口分配相对应的第二接口。

可选的,所述根据预设分配策略给所述第一接口分配相对应的第二接口的步骤,包括:

从与所述目标处理器相对应的接口列表中选取空闲接口,作为与所述第一接口相对应的第二接口,所述接口列表中包含与所述目标处理器相互绑定的接口。

可选的,根据预设分配策略给所述第一接口分配相对应的第二接口的步骤,包括:

根据预设格式规则,从所述目标处理器相对应的接口列表中选取与所述第一接口的地址格式相对应的接口,作为与所述第一接口相对应的第二接口。

可选的,所述查询与所述目标处理器对应的目标转发表的步骤,包括:

将所述第一请求信息添加到第一接口对应的第一接收队列,所述第一接收队列与所述目标处理器相互绑定;

从所述第一接收队列中提取所述第一请求信息,并将所述第一请求信息转发给所述目标处理器;

根据所述第一请求信息查询目标处理器对应的目标转发表。

可选的,所述通过所述第二接口将所述第一请求信息发送给第二设备的步骤,包括:

将所述第一请求信息添加到所述第二接口对应的第一发送队列,以通过所述第二接口将所述第一请求信息发送给所述第二设备,所述第一发送队列与所述目标处理器相互绑定。

可选的,所述通过所述第一接口将所述第一响应信息发送给所述第一设备的步骤之前,还包括:

将所述第一响应信息添加到第二接口对应的第二接收队列,所述第二接收队列与所述目标处理器相互绑定。

可选的,所述通过所述第一接口将所述第一响应信息发送给所述第一设备的步骤,包括:

将所述第一响应信息添加到所述第一接口对应的第二发送队列,以通过所述第二接口将所述第一响应信息发送给所述第一设备,所述第二发送队列与所述目标处理器相互绑定。

依据本发明的第二方面,提供了一种网关设备,所述网关设备包括多个处理器,包括:

获取模块,用于获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;

确定模块,用于查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;

发送模块,用于通过所述第二接口将所述第一请求信息发送给第二设备;

返回模块,用于在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

可选的,所述确定模块,包括:

第一确定子模块,用于在所述目标转发表中存在与所述第一接口相对应的目标接口的情况下,将所述目标接口确认为第二接口;

第二确定子模块,用于在所述目标转发表中不存在与所述第一接口相对应的目标接口的情况下,根据预设分配策略给所述第一接口分配相对应的第二接口。

可选的,所述第二确定子模块,包括:

第一确定单元,用于从与所述目标处理器相对应的接口列表中选取空闲接口,作为与所述第一接口相对应的第二接口,所述接口列表中包含与所述目标处理器相互绑定的接口。

可选的,所述第二确定子模块,包括:

第二确定单元,用于根据预设格式规则,从所述目标处理器相对应的接口列表中选取与所述第一接口的地址格式相对应的接口,作为与所述第一接口相对应的第二接口。

可选的,所述确定模块,包括:

第一添加子模块,用于将所述第一请求信息添加到第一接口对应的第一接收队列,所述第一接收队列与所述目标处理器相互绑定;

第一提取子模块,用于从所述第一接收队列中提取所述第一请求信息,并将所述第一请求信息转发给所述目标处理器;

查询子模块,用于根据所述第一请求信息查询目标处理器对应的目标转发表。

可选的,所述发送模块,包括:

发送子模块,用于将所述第一请求信息添加到所述第二接口对应的第一发送队列,以通过所述第二接口将所述第一请求信息发送给所述第二设备,所述第一发送队列与所述目标处理器相互绑定。

可选的,所述装置,还包括:

第二添加子模块,用于将所述第一响应信息添加到第二接口对应的第二接收队列,所述第二接收队列与所述目标处理器相互绑定。

可选的,所述返回模块,包括:

返回子模块,用于将所述第一响应信息添加到所述第一接口对应的第二发送队列,以通过所述第二接口将所述第一响应信息发送给所述第一设备,所述第二发送队列与所述目标处理器相互绑定。

依据本发明第三方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述的网关控制方法。

依据本发明第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的网关控制方法。

针对现有技术,本发明具备如下优点:

本发明提供了一种网关控制方法、网关设备、电子设备及存储介质,所述方法包括:应用于网关设备,所述网关设备包括多个处理器,获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;通过所述第二接口将所述第一请求信息发送给第二设备;在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。通过给网关设备中的各处理器设置仅包含与其绑定接口的关联关系的转发表,实现了同一会话的转发流均由同一处理器处理,节省了维护转发表所需的数据处理资源,提升了网关设备的性能。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明实施例提供的第一种网关控制方法的步骤流程图;

图2是本发明实施例提供的一种网关控制方法的数据传输示意图;

图3是本发明实施例提供的第二种网关控制方法的步骤流程图;

图4是本发明实施例提供的一种网关设备的结构框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

图1是本发明实施例提供的第一种网关控制方法,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:

步骤101,获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定。

在本发明实施例中,所述网关设备用于连通两个不同网络,两个网络之间的通信流量均需通过该网关设备。所述第一设备是指用户侧具有数据传输功能的电子设备,是一次会话的发起方,可通过所述网关设备实现与其他网络中的设备进行通信,或与外部网络(例如:互联网)中的设备进行通信。

每个网关设备的转发流在工作时刻将拆分为两种连接:用户侧连接及服务侧连接,用户侧连接通过sip(sourceipaddress,源ip地址)/sport(sourceport,源端口)与vip(virtualipaddress,虚拟ip地址)/vport(virtualport,虚拟端口,用于网关设备和第一设备之间的通信)构成,服务侧连接通过lip(localipaddress,本地ip地址)/lport(localport,本地端口,用于网关设备和第二设备之间的通信)与dip(destinationipaddress,目标ip地址)/dport(destinationport,目标端口,最终的服务地址)构成。

所述第一接口是指第一设备连接到网关设备上的vport,即用户访问的目标端口,对于一个特定服务来说该第一接口是固定的。所述网关设备将各第一接口预先与各处理器进行绑定,且一个第一接口只能与一个处理器建立绑定关系。若所述处理器支持多核,则可进一步将分配给处理器的第一接口分配到处理器的各核,下述说明中的处理器均指单核处理器,可以想到,若处理器支持多核,则该多核处理器的每个核相当于一个单核处理器。

所述网关设备在接收到第一设备发送的第一请求信息后,将所述第一请求信息放到所述第一接口所对应网卡的接收队列中,供所述第一接口所绑定的目标处理器提取。

步骤102,查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定。

在本发明实施例中,所述目标处理器在网关设备的内存分配有一区域用于存储与其一一对应的目标转发表,不同与现有技术中的全量转发表中包含有所有接口的对应关系,本发明实施例中的所述目标转发表中只存储有与所述目标处理器相互绑定的第一接口与第二接口之间的关联关系,相对应的目标处理器仅需要维护该与其绑定的第一接口与第二接口的关联关系即可。可以理解,所述目标转发表中存储的第一接口和第二接口的关联关系实际是一个四元组的形式。因为所述第一接口vport是第一设备与网关设备所连接的接口,其还对应有第一设备侧的sport源接口,而第二接口lport是第一请求信息所需访问的第二设备与网关设备所连接的接口,其还对应有第二设备侧的dport目标接口,因此所述目标转发表在所存储的关联关系实际是sport、vport与lport、dport之间的四元组关联关系。

所述目标处理器从网关设备网卡的接收队列中提取第一接口接收的第一请求信息,并在所对应的目标转发表中查询与所述第一接口相关联的第二接口。由于各个处理器所对应的转发表中仅包含与其绑定的接口之间的关联关系,使得网关设备无需设置且维护包含有所接口关联关系的全量转发表,不仅节省了网关设备的处理资源,同时也避免了仅在内存中设置一共用的全量转发表时,由于各处理器间调用该全量转发表需要进行对锁的竞争,使得网关设备性能下降的问题。

步骤103,通过所述第二接口将所述第一请求信息发送给第二设备。

在本发明实施例中,所述网关设备中的目标处理器在从目标转发表中查询到与所述第一接口相关联的第二接口后,采用rss(receivesidescaling,一种基于哈希算法的网卡流分类技术)技术或fdir(flowdirector,一种可标记网卡流分类技术)技术通过将所述第一请求信息放到第二接口所对应网卡的发送队列中,以将变更后的第一请求信息通过第二接口发送给第二设备。

若所述第二设备与所述第一设备均属于同一内部网络,还可对所述第一请求信息中的目标接口地址进行变更,所述第二接口地址与第一接口地址均为内部网络的接口地址格式,上述内部网络是指用户自行部署和管理的局域网;而若所述第二设备为互联网中的设备,所述第一请求信息中的目标接口地址是由该第二设备决定的,无法通过网关设备进行变更,所述第二接口地址需要是互联网格式的接口地址,以将所述第一请求信息通过互联网发送给所述第二设备。

可以理解,当所述第一请求信息通过该网关设备发送给第二设备后,确定已建立所述第一设备与第二设备本次会话的转发流,所述网关设备会在将该会话的转发流根据第一接口与第二接口与目标处理器之间的绑定关系,均分配给同一处理器进行处理。

所述rss技术是一种能够在多处理器系统下使接收报文在多个处理器之间高效分发的网卡驱动技术,根据对网络数据包的二层、三层、四层信息做哈希运算的结果将接收到数据包送达不同的网卡队列中。所述fdir技术是通过定制的过滤器实现比rss技术更精准的流控,比如我们可以设置flowdirector规则过滤器,让该网卡上收到的特定目标地址的目标端口的数据包送达到特定的网卡队列中,需要说明的是,fdir功能不是所有网卡都支持的,而且即使支持,不同类型的网卡fdir的支撑程度和使用方法均有差异。

步骤104,在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

在本方实施例中,所述第二设备在接收到所述变更后的第一请求信息后会向所述网关设备的第二接口返回相应的第一响应信息,这里是由于变更后第一请求信息的源接口地址为第二接口,因此该第一响应信息的目标接口地址也为第二接口。

所述网关设备采用rss逆向运算技术或fdir技术将该第一响应信息放入到第二接口所对应网卡的的接收队列中,以供第二接口对应的目标处理器提取所述第一响应信息。网关设备的目标处理器提取所述第一响应信息后,查询所述所对应的目标转发表确认所述第二接口对应的第一接口,并将所述第一响应信息的源接口地址修改为所述第二接口,将目标接口地址变更为所述与网关设备的第一设备的sip/sport用户侧接口地址,然后将变更后的第一响应信息添加到第一接口所对应的发送队列中,从而将所述第一响应数据返回给第一设备,所述第一设备在接收到所述第一响应信息后可以进行下一轮通信或结束本次会话。

示例性的,参照图2示出本申请的一种网关控制方法的数据传输示意图,其中网卡a11与网卡a12部署于网关设备a1中,网卡a11负责通过其包括的第一接口与第一设备a2的连接,网卡a12负责通过包括的第二接口与第二设备a3的连接。

当第一设备a2需要向第二设备a3发起一次会话时,第一设备a2向网卡a11的第一接口将第一请求信息发送给网关设备a1后,网卡a11会将该第一请求信息放到第一接收队列中,然后通过rss技术或fdir将该第一请求信息分配至其在处理器a4中所对应的的cpu1。

该cpu1通过查询其在内存中对应的目标转发表,从而确定与该第一接口相对应的第二接口,并通过rss技术或fdir技术将该第一请求信息添加到该第二接口所在的网卡a12中的第一发送队列,从而将该第一请求信息通过该第二接口发送给第二设备a3。

第二设备a3在接收到该第一请求信息后将向网关设备a1的第二接口返回相应的第一响应信息,网关设备a1通过rss逆向运算技术或fdir技术将该第一响应信息添加到第二接口所在网卡a12的第二接收队列,以供cup1提取。

该cpu1通过查询内存中与其相互绑定的目标转发表确定与该第二接口相关联的第一接口,并rss逆向运算技术或fdir技术将所述第一响应信息添加到该第一接口所在第一网卡a11的第二发送队列中,以通过第一接口将该第一响应信息发送给第一设备a2。

其中所述第一接收队列与所述第一发送队列组成第一转发流,第二接收队列与所述第二发送队列组成第二转发流,所述第一转发流与所述第二转发流均在所述处理器cpu1上进行处理。当然,此处是为了便于说明,若所述第一设备a2与第二设备a3在同一网络环境中,所述网卡a11与网卡a12可以为同一物理网卡,反之则a11与a12为不同的两个网卡。

本发明提供的第一种网关控制方法,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;通过所述第二接口将所述第一请求信息发送给第二设备;在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。通过给网关设备中的各处理器设置仅包含与其绑定接口的关联关系的转发表,实现了同一会话的转发流均由同一处理器处理,节省了维护转发表所需的数据处理资源,提升了网关设备的性能。

图3是本发明实施例提供的第二种网关控制方法,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:

步骤201,获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定。

该步骤可参照步骤101的详细描述,此处不再赘述。

步骤202,将所述第一请求信息添加到第一接口对应的第一接收队列,所述第一接收队列与所述目标处理器相互绑定。

在本发明实施例中,所述第一接口设置在网关设备的网卡上,所述网卡设置有第一接收队列,所述第一接收队列负责存放所述第一接口接收到的请求信息,并供相绑定的目标处理器提取所述接收到的请求信息。

步骤203,从所述第一接收队列中提取所述第一请求信息,并将所述第一请求信息转发给所述目标处理器。

在本发明实施例中,根据第一接收队列的处理顺序,将所述第一请求信息转存在所述目标处理器对应的内存中,以供所述目标处理器进行后续处理。

步骤204,根据所述第一请求信息查询目标处理器对应的目标转发表。

在本发明实施例中,所述目标处理器将查询内存中与其相对应的目标转发表,在所述目标转发表中查询与所述第一接口相对应的第二接口。

步骤205,在所述目标转发表中存在与所述第一接口相对应的目标接口的情况下,将所述目标接口确认为第二接口。

在本发明实施例中,遍历所述目标转发表,确认与所述第一接口相对应的第二接口。

步骤206,在所述目标转发表中不存在与所述第一接口相对应的目标接口的情况下,从与所述目标处理器相对应的接口列表中选取空闲接口,作为与所述第一接口相对应的第二接口,所述接口列表中包含与所述目标处理器相互绑定的接口。

在本发明实施例中,rss逆向技术采用了缓存队列的实现方式,网关设备中各处理器均关联有相对应的接口列表,该接口列表中包含有可用的第二接口,若所述目标转发表中不存在与所述第一接口相对应的第二接口,则从所述接口列表中通过试凑的方式选取一空闲接口作为所述第一接口相对应的第二接口,以建立所述第一设备与第二设备之间的会话连接。进一步的,若所述目标转发表中第一接口与第二接口之间的连接超时,则所述目标处理器将取消所述第一接口与第二接口之间的绑定关系,并将所述第二接口回收到所述接口列表中,从而方便该目标处理器上后续快速建立其他会话的连接。所述试凑的方式是指将第一接口与第二接口进行随机匹配,若所述第一接口与第二接口不匹配时,利用剩余的第二接口继续随机与第一接口进行配置,直至所述第一接口匹配到合适的第二接口,即空闲接口。

步骤207,根据预设格式规则,从所述目标处理器相对应的接口列表中选取与所述第一接口的地址格式相对应的接口,作为与所述第一接口相对应的第二接口。

在本发明实施例中,当采用fdir技术时,可提前将所述网关设备所包含第二接口按照处理器数量等分,给各处理器分配相对应的接口列表,使得每个处理器对应有第二接口的连续地址段,并配置适应于fdir的预设格式规则,所述预设格式规则可以是根据第一接口与第二接口的接口地址的格式进行匹配,以建立第一接口和第二接口之间关联关系。例如:接口地址的末位为0的第一接口与接口地址的末位为9的第二接口相互匹配,接口地址的末位为1的第一接口与接口地址的末位为8的第二接口相互匹配,接口地址的末位为2的第一接口与接口地址的末位为7的第二接口相互匹配,依次类推,上述仅为预设格式规则的示例性描述,具体可根据实际需求确定,此处不做限定。通过这种适用于fdir技术的预设格式规则,区别于传统过于复杂的fdir技术是应用过程中的分配规则,无需在连接建立时在给第一接口分配相对应的第二接口,而是将分配过程调整到了目标转发表初始化的时候,从而优化了连接建立的效率。

步骤208,将所述第一请求信息添加到所述第二接口对应的第一发送队列,以通过所述第二接口将所述第一请求信息发送给所述第二设备,所述第一发送队列与所述目标处理器相互绑定。

在本发明实施例中,所处网关设备中目标处理器将所述第一请求信息的源接口地址变更为所述第二接口的接口地址,并将变更后的第一请求信息添加到所述第二接口对应的第一发送队列中,以将变更后的第一请求信息转发给第二设备。

步骤209,当接收到所述第二设备根据所述第一请求信息返回的第一响应信息时,将所述第一响应信息添加到第二接口对应的第二接收队列,所述第二接收队列与所述目标处理器相互绑定。

在本发明实施例中,所述网关设备将所述第二设备发送的第一响应信息添加到第二接口对应的接口队列中,以供目标处理器提取所述第二响应信息。

步骤210,将所述第一响应信息添加到所述第一接口对应的第二发送队列,以通过所述第二接口将所述第一响应信息发送给所述第一设备,所述第二发送队列与所述目标处理器相互绑定。

在本发明实施例中,所述网关设备中的目标处理器通过查询所对应目标转发表确认与所述第二接口对应的第一接口,并将所述第一响应信息的源接口地址变更为所述第一接口,将目标接口地址变更为所述第一设备侧与所述网关设备连接的接口地址,以将变更后的第一响应信息发送给所述第一设备。

本发明提供的第二种网关控制方法,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;通过所述第二接口将所述第一请求信息发送给第二设备;在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。通过给网关设备中的各处理器设置仅包含与其绑定接口的关联关系的转发表,实现了同一会话的转发流均由同一处理器处理,节省了维护转发表所需的数据处理资源,提升了网关设备的性能。

图4是本发明实施例提供的一种网关设备30,所述网关设备30包括多个处理器,包括:

获取模块301,用于获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定。

确定模块302,用于查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定。

发送模块303,用于通过所述第二接口将所述第一请求信息发送给第二设备。

返回模块304,用于在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

可选的,所述确定模块302,包括:

第一确定子模块3021,用于在所述目标转发表中存在与所述第一接口相对应的目标接口的情况下,将所述目标接口确认为第二接口。

第二确定子模块3022,用于在所述目标转发表中不存在与所述第一接口相对应的目标接口的情况下,根据预设分配策略给所述第一接口分配相对应的第二接口。

可选的,所述第二确定子模块3022,包括:

第一确定单元30221,用于从与所述目标处理器相对应的接口列表中选取空闲接口,作为与所述第一接口相对应的第二接口,所述接口列表中包含与所述目标处理器相互绑定的接口。

可选的,所述第二确定子模块3022,包括:

第二确定单元30222,用于根据预设格式规则,从所述目标处理器相对应的接口列表中选取与所述第一接口的地址格式相对应的接口,作为与所述第一接口相对应的第二接口。

可选的,所述确定模块302,包括:

添加子模块3023,用于将所述第一请求信息添加到第一接口对应的第一接收队列,所述第一接收队列与所述目标处理器相互绑定。

第一提取子模块3024,用于从所述第一接收队列中提取所述第一请求信息,并将所述第一请求信息转发给所述目标处理器。

查询子模块3025,用于根据所述第一请求信息查询目标处理器对应的目标转发表。

可选的,所述发送模块303,包括:

发送子模块3031,用于将所述第一请求信息添加到所述第二接口对应的第一发送队列,以通过所述第二接口将所述第一请求信息发送给所述第二设备,所述第一发送队列与所述目标处理器相互绑定。

可选的,所述装置,还包括:

添加模块305,用于将所述第一响应信息添加到第二接口对应的第二接收队列,所述第二接收队列与所述目标处理器相互绑定。

可选的,所述返回模块304,包括:

返回子模块3041,用于将所述第一响应信息添加到所述第一接口对应的第二发送队列,以通过所述第二接口将所述第一响应信息发送给所述第一设备,所述第二发送队列与所述目标处理器相互绑定。

本发明提供的一种网关设备,所述网关设备包括多个处理器,包括:获取模块,用于获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;确定模块,用于查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;发送模块,用于通过所述第二接口将所述第一请求信息发送给第二设备;返回模块,用于在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。通过给网关设备中的各处理器设置仅包含与其绑定接口的关联关系的转发表,实现了同一会话的转发流均由同一处理器处理,节省了维护转发表所需的数据处理资源,提升了网关设备的性能。

对于上述网关设备实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

另外,本发明实施例还提供一种电子设备,包括处理器,存储器,存储在存储器上并可在处理上运行的计算机程序,该计算机程序被处理器执行时实现上述一种网关控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述一种网关控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,可以为只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。

在此提供的一种网关控制方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一种网关控制方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者网关设备程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干网关设备的单元权利要求中,这些网关设备中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。


技术特征:

1.一种网关控制方法,其特征在于,应用于网关设备,所述网关设备包括多个处理器,所述方法包括:

获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;

查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;

通过所述第二接口将所述第一请求信息发送给第二设备;

在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

2.根据权利要求1所述的方法,其特征在于,所述确定与所述第一接口相对应的第二接口的步骤,包括:

在所述目标转发表中存在与所述第一接口相对应的第二接口的情况下,确定所述第二接口,所述目标转发表包括所述第一接口与所述第二接口之间的对应关系;

在所述目标转发表中不存在与所述第一接口相对应的第二接口的情况下,根据预设分配策略给所述第一接口分配相对应的第二接口。

3.根据权利要求2所述的方法,其特征在于,所述根据预设分配策略给所述第一接口分配相对应的第二接口的步骤,包括:

从与所述目标处理器相对应的接口列表中选取空闲接口,作为与所述第一接口相对应的第二接口,所述接口列表中包含与所述目标处理器相互绑定的接口。

4.根据权利要求2所述的方法,其特征在于,所述根据预设分配策略给所述第一接口分配相对应的第二接口的步骤,包括:

根据预设格式规则,从所述目标处理器相对应的接口列表中选取与所述第一接口的地址格式相对应的接口,作为与所述第一接口相对应的第二接口。

5.根据权利要求1所述的方法,其特征在于,所述查询与所述目标处理器对应的目标转发表的步骤,包括:

将所述第一请求信息添加到第一接口对应的第一接收队列,所述第一接收队列与所述目标处理器相互绑定;

从所述第一接收队列中提取所述第一请求信息,并将所述第一请求信息转发给所述目标处理器;

根据所述第一请求信息查询目标处理器对应的目标转发表。

6.根据权利要求1所述的方法,其特征在于,所述通过所述第二接口将所述第一请求信息发送给第二设备的步骤,包括:

将所述第一请求信息添加到所述第二接口对应的第一发送队列,以通过所述第二接口将所述第一请求信息发送给所述第二设备,所述第一发送队列与所述目标处理器相互绑定。

7.根据权利要求1所述的方法,其特征在于,所述通过所述第一接口将所述第一响应信息发送给所述第一设备的步骤之前,还包括:

将所述第一响应信息添加到第二接口对应的第二接收队列,所述第二接收队列与所述目标处理器相互绑定。

8.根据权利要求1所述的方法,其特征在于,所述通过所述第一接口将所述第一响应信息发送给所述第一设备的步骤,包括:

将所述第一响应信息添加到所述第一接口对应的第二发送队列,以通过所述第二接口将所述第一响应信息发送给所述第一设备,所述第二发送队列与所述目标处理器相互绑定。

9.一种网关设备,其特征在于,所述网关设备包括多个处理器,包括:

获取模块,用于获取第一设备发送的第一请求信息,所述第一请求信息是通过第一接口接收的,所述第一接口与所述处理器中的一个目标处理器相互绑定;

确定模块,用于查询与所述目标处理器对应的目标转发表,以确定与所述第一接口相对应的第二接口,所述第二接口与所述目标处理器相互绑定;

发送模块,用于通过所述第二接口将所述第一请求信息发送给第二设备;

返回模块,用于在接收到所述第二设备根据所述第一请求信息返回的第一响应信息的情况下,通过所述第一接口将所述第一响应信息发送给所述第一设备。

10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一所述的网关控制方法。

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一所述的网关控制方法。

技术总结
本发明提供了一种网关控制方法、网关设备、电子设备及存储介质,所述方法包括:获取第一设备发送的第一请求信息,第一请求信息是通过第一接口接收的,第一接口与处理器中的一个目标处理器相互绑定;查询与目标处理器对应的目标转发表,以确定与第一接口相对应的第二接口,第二接口与目标处理器相互绑定;通过第二接口将第一请求信息发送给第二设备;在接收到第二设备根据第一请求信息返回的第一响应信息的情况下,通过第一接口将第一响应信息发送给第一设备。通过给网关设备中的各处理器设置仅包含与其绑定接口的关联关系的转发表,实现了同一会话的转发流均由同一处理器处理,节省了维护转发表所需的数据处理资源,提升了网关设备的性能。

技术研发人员:于文超
受保护的技术使用者:北京奇艺世纪科技有限公司
技术研发日:2020.01.13
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20007.html

最新回复(0)