镜像流量控制方法及装置、电子设备及可读存储介质与流程

文档序号:33462479发布日期:2023-03-15 04:36阅读:42来源:国知局
镜像流量控制方法及装置、电子设备及可读存储介质与流程

1.本发明涉及通信技术领域,特别是涉及一种镜像流量控制方法及装置、电子设备及可读存储介质。


背景技术:

2.流量镜像(traffic mirroring),也称为流量影子(traffic shadowing),是一种强大的、无风险的测试应用版本的方法,它将实时流量的副本发送给被镜像的服务。采用这种方法,业务可以搭建一个与生产环境类似的环境以进行验收测试,从而提前发现问题。由于镜像流量存在于主服务关键请求路径带外,终端用户在测试全过程中不会受到影响。
3.测试验收环境并不需要全部的业务流量,只需要一定比例的流量做测试即可。对于同一个数据库配置的网关集群,由于数据库相同,因此集群所有的设备都会进行流量镜像,只能做到1:1的流量镜像。
4.现有技术中,如果生产环境业务流量很大,网关同时把全部流量转发到测试环境,会导致测试环境崩溃,并且影响生产业务流量,因此如何在网关上控制流量镜像的比例至关重要。


技术实现要素:

5.本发明实施例的目的在于提供一种镜像流量控制方法及装置、电子设备及可读存储介质,以实现在不改变现有网络架构的基础上,通过镜像配置将业务流量镜像到测试环境,实现了对流量镜像服务的控制。具体技术方案如下:
6.在本发明实施的第一方面,首先提供了一种镜像流量控制方法,应用于网关集群中的网关设备,所述网关集群包括多个所述网关设备,每个所述网关设备中存储有镜像配置,所述方法包括:根据业务请求确定镜像服务节点,其中,所述业务请求用于向业务服务器请求业务流量;若所述镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,其中,所述镜像配置用于控制所述网关集群中的部分网关设备进行镜像服务。
7.进一步地,在所述根据业务请求确定镜像服务节点之前,还包括:接收控制终端发送至各个所述网关设备的所述镜像配置;将所述镜像配置存储于所述网关设备中。
8.进一步地,在所述根据业务请求确定镜像服务节点之前,还包括:根据各个所述网关设备的流量负载,选取所述部分网关设备进行镜像服务。
9.进一步地,在所述根据业务请求确定镜像服务节点之前,还包括:根据各个所述网关设备的网络参数,选取所述部分网关设备进行镜像服务。
10.进一步地,还包括:若所述镜像配置不存在所述网关地址,将所述业务流量发送至用户终端。
11.进一步地,所述若镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,包括:若所述镜像配置中包括所述网关地址以及节点地址,则通过所述网关设备将所述业务流量发送至所述节点地址对应的目标镜像服务节点以及用户终端。
12.进一步地,所述若镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,包括:若所述网关地址以及所述业务流量的流量参数均位于所述镜像配置中,且所述业务流量的流量参数与所述镜像配置中的预设参数匹配,则通过所述网关设备所述业务流量发送至所述镜像服务节点以及用户终端。
13.在本发明实施的第二方面,还提供了一种镜像流量控制装置,所述装置应用于网关集群中的网关设备,所述网关集群包括多个所述网关设备,每个所述网关设备中存储有镜像配置,所述装置包括:确定模块,用于根据业务请求确定镜像服务节点,其中,所述业务请求用于向业务服务器请求业务流量;发送模块,用于若所述镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,其中,所述镜像配置用于控制所述网关集群中的部分网关设备进行镜像服务。
14.在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的镜像流量控制方法步骤。
15.在本发明实施的第四方面,还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一所述的镜像流量控制方法。
16.本发明实施例提供的镜像流量控制方法及装置,应用于网关集群中的网关设备,网关集群包括多个网关设备,每个网关设备中存储有镜像配置,根据业务请求确定镜像服务节点,其中,业务请求用于向业务服务器请求业务流量;若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,其中,镜像配置用于控制网关集群中的部分网关设备进行镜像服务。本发明实施例中,通过镜像配置来控制镜像流量的转发,实现了在不改变现有网络架构的基础上,通过镜像配置将业务流量镜像到测试环境,实现了对流量镜像服务的控制。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
18.图1为本发明实施例中一种镜像流量控制方法的流程示意图;
19.图2为本发明实施例中一种应用场景的示意图;
20.图3为本发明实施例中又一种镜像流量控制方法的流程示意图;
21.图4为本发明实施例中一种镜像流量控制装置的结构示意图;
22.图5为本发明实施例中一种电子设备的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
24.本发明实施例提供了一种镜像流量控制方法,如图1所示,该方法应用于网关集群中的网关设备,网关集群包括多个网关设备,每个网关设备中存储有镜像配置,该方法可以包括以下步骤:
25.s102,根据业务请求确定镜像服务节点,其中,业务请求用于向业务服务器请求业
务流量;
26.在本实施例中,网关设备接收用户终端发送的业务请求,根据业务请求确定对应的镜像服务节点以及业务服务器。例如,根据业务请求中携带的业务请求地址来确定业务服务器,根据业务请求的类型或者用户终端的编码来确定镜像服务节点。在确定业务服务器地址后,网关设备将来自用户终端的服务请求转发至业务服务器,并对业务服务器返回的业务流量进行转发。
27.需要说明的是,业务流量的转发对象可以是用户终端,也可以是用户终端以及镜像服务节点。本实施例中的网关集群包括多个网关设备,网关设备包括但不限于交换机、路由器等具备路由功能的通信设备。
28.在本实施例中,镜像服务节点是预先设定的数据接收节点,能够接收网关设备转发的业务流量,镜像服务节点能够接收并存储业务流量,对业务流量进行监测。
29.镜像服务节点可以是单独的终端,也可以是网关设备自身对应的镜像服务,例如,在网关设备中设立的虚拟镜像服务节点,例如虚拟主机等,本实施例中对此不做限定。
30.此外,本实施例中的业务服务器用于接收来自用户终端的业务请求,响应用户终端的业务请求,响应业务请求并向用户终端返回业务请求对应的业务流量。
31.s104,若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,其中,镜像配置用于控制业务流量的镜像服务。
32.在本实施例中,镜像配置是预先设定好的,用于控制业务流量的镜像服务。镜像配置包括但不限于用于进行镜像服务转发的网关设备的网关地址,例如,限定位于镜像配置中的网关设备可以将业务流量转发至镜像服务节点。在另一个例子中,镜像配置中还可以包括网关设备的网关地址以及镜像服务节点的节点地址,限定位于镜像配置中的网关设备可以将业务流量转发至位于镜像配置中的镜像服务节点。此外,镜像配置中还可以包括对业务流量的流量参数的限定。
33.在一个例子中,如图2所示,为本发明实施例的应用场景示意图,在本发明实施例的应用环境包括网关集群20、用户终端22、业务服务器24、镜像服务节点26以及控制终端28。网关集群20中包括多个网关设备200,网关集群20预先接收控制终端28下发的镜像配置,网关设备200中存储有镜像配置。当网关设备200接收到来自用户终端22发送的业务请求时,确定业务请求对应的镜像服务节点26,并将业务请求转发至业务服务器24。网关设备200接收业务服务器24发送的业务流量,若镜像配置中存在网关设备200的网关地址,则将业务流量发送至镜像服务节点26。
34.需要说明的是,通过本发明实施例,根据业务请求确定镜像服务节点,其中,业务请求用于向业务服务器请求业务流量;若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点。本实施例实现了在不改变现有网络架构的基础上,通过镜像配置将业务流量镜像到测试环境,实现了对流量镜像服务的控制。
35.可选地,在本实施例中,在根据业务请求确定镜像服务节点之前,还包括但不限于:接收控制终端发送至各个网关设备的镜像配置;将镜像配置存储于网关设备中。
36.具体地,在本实施例中,接收控制终端发送至网关集群的镜像配置,例如,通过控制终端向网关集群发送镜像配置,以实现将相同的镜像服务策略下发至网关集群中的每一个网关设备。
37.需要说明的是,在本实施例中,镜像配置设置的允许转发业务流量至镜像服务节点的网关设备,可以按照预设比例对网关集群中网关设备的数量进行选取,具体地选取方式可以根据ip地址、网关设备mac地址等进行随机选取,本实施例中对此不做具体限定。在网关设备接收到镜像配置后,将镜像配置保存在api的流量镜像配置中。
38.在一个例子中,同一个网关集群配置来自同一个数据库,因此网关集群中的每个网关设备的镜像配置都是相同的,在下发配置时,控制终端可以预先按比例随机选取网关设备的网关地址,并将地址列表配置在网关设备的api的流量镜像配置中。
39.例如,若镜像配置中"192.168.0.1,192.168.0.2,192.168.0.3"的网关设备为可以进行镜像服务的网关设备,则业务流量到达“"192.168.0.1”、“192.168.0.2”、“192.168.0.3”的网关设备时,网关设备将业务流量转发至指定的镜像服务节点。
40.通过上述示例,通过控制终端向网关集群中的网关设备发送镜像配置,实现了将镜像服务策略下发至每一个网关设备。
41.可选地,在本实施例中,在根据业务请求确定镜像服务节点之前,还包括:根据各个网关设备的流量负载,选取部分网关设备进行镜像服务。
42.具体地,镜像配置设置的允许转发业务流量至镜像服务节点的网关设备,可以是根据网关集群中各个网关设备的流量负载,来选取可以进行镜像服务的部分网关设备。
43.在一个例子中,网关集群中包括六个网关设备,选取流量负载最小的两个网关设备作为运行转发业务流量至镜像服务节点的部分网关设备。
44.通过上述示例,根据各个网关设备的流量负载,选取部分网关设备进行镜像服务,以降低进行镜像服务的网关设备的设备运行压力。
45.可选地,在本实施例中,在根据业务请求确定镜像服务节点之前,还包括但不限于:根据各个网关设备的网络参数,选取部分网关设备进行镜像服务。
46.具体地,镜像配置设置的允许转发业务流量至镜像服务节点的网关设备,可以是根据网关集群中各个网关设备的网络参数,来选取可以进行镜像服务的部分网关设备。其中,网络参数包括但不限于路由开销、丢包率或延时等。
47.在一个例子中,网关集群中包括多个网关设备,选取丢包率小于5%的网关设备作为运行转发业务流量至镜像服务节点的部分网关设备。
48.通过上述示例,根据各个网关设备的网络参数,选取部分网关设备进行镜像服务,保证了业务流量镜像的网络质量。
49.可选地,在本实施例中,还包括但不限于:若镜像配置不存在网关设备的网关地址,将业务流量发送至用户终端。
50.具体地,若镜像配置中不存在网关设备的网关地址,则表示该网关设备不被允许将业务服务器发送的业务流量转发至镜像服务节点,因此,网关设备则将业务流量发送至用户终端,不向镜像服务节点转发业务流量。
51.可选地,在本实施例中,若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,包括但不限于:若镜像配置中包括网关地址以及节点地址,则通过网关设备将业务流量发送至节点地址对应的目标镜像服务节点以及用户终端。
52.具体地,在本实施例中,若镜像配置同时限定了允许进行转发业务流量的网关设备,以及,进行镜像服务的镜像服务节点。则在网关设备的网关地址以及镜像服务节点的节
点地址均位于镜像配置中的情况下,才通过网关设备将流量发送至节点地址对应的镜像服务节点以及用户终端。
53.在一个例子中,网关设备在接收到业务服务器发送的业务流量后,若api镜像配置中包含网关地址以及节点地址,则在api镜像配置中的网关地址对应网关设备a,则通过网关设备a将业务流量发送至节点地址对应的镜像服务节点b,以及通过网关设备a将业务流量发送至请求业务流量的用户终端。
54.通过上述示例,实现了基于镜像配置通过网关地址对应的网关设备,将业务流量发送至节点地址对应的镜像服务节点,实现了对业务流量镜像服务的控制。
55.可选地,在本实施例中,若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,包括但不限于:若网关地址位于镜像配置中,且所述业务流量的流量参数与所述镜像配置中的预设参数匹配,则通过网关设备将业务流量发送至镜像服务节点以及用户终端。
56.在本实施例中,流量参数包括但不限于业务流量的数据类型、端口流量大小等。例如镜像配置中的预设参数为对视频数据/图像数据类型的业务流量进行镜像。
57.具体地,在本实施例中,若网关设备的网关地址位于镜像配置中,则表示当前网关地址的网关设备能够将业务流量发送至镜像服务节点。在业务流量的流量参数与镜像配置中的预设参数匹配的情况下,其中,预设参数为网关设备业务接口设置api的流量参数。然后,通过网关设备将业务流量发送至对应的镜像服务节点,以及通过网关设备将业务流量发送至请求业务流量的用户终端。
58.在一个例子中,在api配置中增加流量镜像参数镜像规则,网关设备从业务请求中获取流量参数时,若api的流量参数与预设参数匹配,则进行镜像流量转发,将业务流量转发至镜像服务节点。
59.通过上述实施例,基于镜像配置对应的业务接口设置的预设参数,通过网关设备对业务流量的镜像服务进行控制,实现了基于业务流量的流量特征的镜像服务。
60.在一个具体的实施例中,如图3所示,本实施例中镜像流量控制方法可以包括以下步骤:
61.s31,网关设备接收用户终端发送的业务请求;
62.具体地,网关设备根据业务请求确定镜像服务节点,并接收业务服务器返回的业务流量。
63.s32,网关设备查询镜像配置;
64.s33,判断网关地址是否位于镜像配置中;
65.具体的,若网关地址位于镜像配置中,则执行s34;否则,执行s38。
66.s34,获取业务流量的流量参数;
67.具体地,可以根据业务请求确定流量参数,也可以根据业务流量确定流量参数,本实施例对此不做限定。
68.s35,判断网关设备的镜像配置中是否存在流量参数配置;
69.具体地,若存在,则执行s36;否则,执行s37。
70.s36,判断请求参数是否在流量参数配置中;
71.具体地,若存在,则执行s37;否则,执行s38。
72.s37,将业务流量发送至镜像服务节点以及用户终端;
73.s38,将业务流量发送至用户终端。
74.通过本发明实施例,根据业务请求确定镜像服务节点,其中,业务请求用于向业务服务器请求业务流量;若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,其中,镜像配置用于控制网关集群中的部分网关设备进行镜像服务。本实施实现了在不改变现有网络架构的基础上,通过镜像配置将业务流量镜像到测试环境,实现了对流量镜像服务的控制。
75.本发明实施例还提供了一种镜像流量控制装置,该装置应用于网关集群中的网关设备,所述网关集群包括多个所述网关设备,每个所述网关设备中存储有镜像配置,如图4所示,所述装置包括:
76.1)确定模块40,用于根据业务请求确定镜像服务节点,其中,所述业务请求用于向业务服务器请求业务流量;
77.2)发送模块42,用于若所述镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,其中,所述镜像配置用于控制所述网关集群中的部分网关设备进行镜像服务。
78.通过本发明实施例,根据业务请求确定镜像服务节点,其中,业务请求用于向业务服务器请求业务流量;若镜像配置存在网关设备的网关地址,则将业务流量发送至镜像服务节点,其中,镜像配置用于控制网关集群中的部分网关设备进行镜像服务。本实施实现了在不改变现有网络架构的基础上,通过镜像配置将业务流量镜像到测试环境,实现了对流量镜像服务的控制。
79.本发明实施例还提供了一种电子设备,如图5所示,包括处理器51、通信接口52、存储器53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信,
80.存储器53,用于存放计算机程序;
81.处理器51,用于执行存储器53上所存放的程序时,实现如下步骤:
82.s1,根据业务请求确定镜像服务节点,其中,所述业务请求用于向业务服务器请求业务流量;
83.s2,若所述镜像配置存在网关设备的网关地址,则将业务流量发送至所述镜像服务节点,其中,所述镜像配置用于控制所述网关集群中的部分网关设备进行镜像服务。
84.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
85.通信接口用于上述终端与其他设备之间的通信。
86.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
87.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器
(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
88.在本发明提供的又一实施例中,还提供了一种可读存储介质,该可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的镜像流量控制方法。
89.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的镜像流量控制方法。
90.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
91.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
92.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
93.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1