一种数据转发方法、装置、电子设备及可读存储介质与流程



1.本发明涉及数据处理技术领域,特别是涉及一种数据转发方法、装置、电子设备及可读存储介质。


背景技术:



2.目前,随着应用程序的不断发展,各应用后台对于引流回放技术的需求不断增强,引流回放技术可以将应用的线上真实流量数据复制给测试服务器,以用于测试服务器完成多种测试任务。目前,完成流量数据复制的功能模块位于网关,基于7层网络协议对流量数据进行复制转发,这会加重网关的负载,性能消耗大。
3.因此,目前对于流量数据的复制和转发存在成本较高而且效率低的问题。


技术实现要素:



4.本发明实施例的目的在于提供一种数据转发方法、装置、电子设备及可读存储介质,能够提升对流量数据的复制和转发的效率并且节约成本。具体技术方案如下:
5.在本发明实施的第一方面,首先提供了一种数据转发方法,包括:
6.接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据;
7.调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器与网关网络连接;
8.通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
9.在本发明实施的第二方面,还提供了一种数据转发装置,包括:
10.接收模块,用于接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据;
11.复制模块,用于调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器设置在网关上;
12.转发模块,用于通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
13.在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的数据转发方法或数据测试方法。
14.在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的数据转发方法或数据测试方法。
15.本发明实施例提供的数据转发方法,通过调用设置于流量控制器的注入点的扩展过滤器复制源服务器发送的初始流量数据,得到第一数据包,这里,省去了与传输控制协议建立连接的过程,旁路了内核协议栈,因此,通过扩展过滤器复制初始流量数据,可以高效
的得到第一数据包,并且减轻网关负载;然后通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。这样,解决了目前存在的对于流量数据的复制和转发存在成本较高而且效率低的问题,减轻了网关负载,由此,能够提升对流量数据的复制和转发的效率并且节约成本。
附图说明
16.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
17.图1是本发明实施例提供的一种实现数据转发的结构示意图;
18.图2是本发明实施例提供的一种数据转发方法的流程图;
19.图3是本发明实施例提供的一种数据测试方法的流程图;
20.图4是本发明实施例提供的一种数据转发装置结构示意图;
21.图5是本发明实施例提供的一种数据测试装置结构示意图;
22.图6是本发明实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
24.本发明实施例提供的数据转发方法至少可以应用于下述应用场景中,下面进行说明。
25.目前,随着应用程序的不断发展,各应用对于引流回放技术的需求不断增强,引流回放技术是将业务线上真实流量复制到测试服务器的技术。以用于完成多种测试任务,如a/b测试和压力测试等功能。其中,a/b测试,是为同一个目标制定两个方案(比如两个页面),让一部分用户使用a方案,另一部分用户使用b方案,记录下用户的使用情况,由此确定哪个方案更符合设计目标。这些测试任务是为了优化应用性能。
26.在完成这些测试任务之前,复制线上的真实流量数据是实现上述测试的前提,这一过程要对线上业务无影响并且性能消耗尽可能低。
27.目前,完成流量数据复制的功能模块位于网关,由于网关本身负载很重,在进行流量数据的复制和转发的过程中,需要基于7层的开放式系统互联通信参考模型(open system interconnection reference model,osi)进行复制转发,在该过程中,会产生建立连接的开销、上下文切换开销、用户态内核态复制开销等,无疑会加重网关的负载。其中,osi是一个开放性的通信系统互连参考模型,它是一个有7层结构的协议规范。从上(第7层)到下(第1层)分别是应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。其中,高层(即7、6、5、4层)定义了应用程序的功能;下面3层(即3、2、1层)主要面向通过网络的端到端,点到点的数据流。
28.因此,目前复制线上的流量数据存在成本较高而且效率低的问题。
29.基于上述应用场景,下面对本发明实施例提供的数据转发方法进行详细说明。
30.本发明实施例提出了一种基于扩展过滤器(ebpf)数据转发方法。
31.如图1所示,应用程序接口网关(application programming interface gateway,api网关)是一个服务器集,api网关封装了应用程序的系统内部架构。首先,在网关发包
的过程中,先通过套接字接口将初始流量数据转化成传输控制协议(transmission control protocol,tcp)数据包,再转化成网络互连协议(internet protocol,ip)数据包,再通过网卡传输出去,异步并发传输至业务后端服务器或者测试服务器。其中,异步并发是指多个异步请求,同时获得最终结果。
32.网关发出的包括初始流量数据的数据包会进入内核协议栈,在传递到网卡之前,ebpf程序根据预设规则选择是否复制当前存储有初始流量数据的数据包并转发。其中,ebpf是在流量控制器的注入点处注入的一段程序,流量控制器与网关网络连接,即流量控制器可以与网关互相通信。ebpf在网关发数据包的流程中注入的位置如图1所示。
33.其中,用户态代理提供远程过程调用的接收和复制任务,并把该任务插入扩展过滤器的规则中。由于流量控制器是在应用程序接口网关的输出端口处进行流量控制。因此,在数据包经过输出端口时,设置于流量控制器的注入点的扩展过滤器可以检测到该数据包。在确定对当前存储有初始流量数据的数据包复制和转发的情况下,将通过调用设置于流量控制器的注入点的扩展过滤器复制初始流量数据,得到第一数据包,这里,省去了与传输控制协议建立连接的过程,旁路了内核协议栈,因此,通过扩展过滤器复制初始流量数据,可以高效的得到第一数据包,并且减轻网关负载。然后通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
34.这样,解决了目前存在的对于流量数据的复制和转发存在成本较高而且效率低的问题,减轻了网关负载,由此,能够提升对流量数据的复制和转发的效率并且节约成本。
35.对于测试服务器来说,通过对网关发送的第一数据包进行解析操作得到测试流量数据,并根据测试流量数据对预设业务进行测试,能够基于真实的线上流量数据得到的测试流量数据进行有根据的测试,真实性更强,由此能够提升业务性能。
36.下面结合图2,对本发明实施例提供的数据转发方法进行详细说明。
37.图2是本发明实施例提供的一种数据转发方法的流程图;
38.如图2所示,该数据转发方法可以包括步骤210-步骤230,应用于网关,具体如下所示:
39.步骤210,接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据。
40.步骤220,调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器与网关网络连接。
41.步骤230,通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
42.综上,在本发明实施例中,通过调用设置于流量控制器的注入点的扩展过滤器复制源服务器发送的初始流量数据,得到第一数据包,这里,省去了与传输控制协议建立连接的过程,旁路了内核协议栈,因此,通过扩展过滤器复制初始流量数据,可以高效的得到第一数据包,并且减轻网关负载;然后通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。这样,解决了目前存在的对于流量数据的复制和转发存在成本较高而且效率低的问题,减轻了网关负载,由此,能够提升对流量数据的复制和转发的效率并且节约成本。
43.下面介绍上述各个步骤的具体实现方式。
44.首先涉及步骤210。
45.步骤210,接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据。
46.本发明实施例的目标是是把业务线上的真实流量复制一份并转发出去,因此首先需要接收源服务器发送的初始流量数据。
47.其次涉及步骤220。
48.步骤220,调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点。
49.需要提示的是,本发明实施例的过程发生在网关发包的过程中,步骤220之前,已经完成了7层负载均衡,到了匹配的用于数据发送的网关规则。
50.其中,网络负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,借此提供快速获取重要数据,解决大量并发访问服务问题。
51.其中,扩展过滤器设置于流量控制器的注入点。下面对流量控制器进行简单说明:
52.流量控制器(traffic control,tc)用于linux内核的流量控制,主要是通过在输出端口处建立一个队列来实现流量控制。流量控制最终是在内核中完成的,tc根据不同算法对网络设备上的流量进行控制。
53.下面对扩展过滤器进行简单说明:
54.扩展过滤器(extend bpf,ebpf),是一种扩展的bpf。ebpf是一种类汇编语言,能编写运行在内核的、安全的程序。ebpf程序能附着到内核中的若干注入点。一个ebpf程序会附加到指定的内核代码路径中,当执行该代码路径时,会执行对应的ebpf程序。
55.最初的伯克利包过滤器(berkeley packet filter,bpf)是为捕捉和过滤符合特定规则的网络包而设计的,过滤器为运行在基于寄存器的虚拟机上的程序,提供原始链路层封包的收发。
56.示例性地,网关发出的包括初始流量数据的数据包会进入内核协议栈,借助一种流量控制器中的排队规则,将ebpf程序可以注入流量控制器的出口(tc egress)规则。此时数据包已经通过了协议栈并进入设备层。
57.由此,基于ebpf的三层转发旁路了内核协议栈,无需经过以往的由上层协议到底层协议的层层传递过程,也省去了与传输控制协议建立连接的过程,因此,通过扩展过滤器复制初始流量数据,可以高效的得到第一数据包,并且减轻网关负载。其中,旁路,即完全内核旁路(full kernel bypass),用户空间网络栈技术的目的,是为了绕过内核,然后直接从用户空间的进程使用网络硬件。
58.其中,内核协议栈,内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。
59.协议栈是指网络中各层协议的总和,其反映了一个网络中数据传输的过程:由上
层协议到底层协议,再由底层协议到上层协议。如一个超文本传输协议(hyper text transfer protocol,http)请求,先转化成tcp数据包,再转化成ip数据包,http-》tcp-》ip,再通过网卡传输出去;接收方通过网卡接收到ip数据包,去掉ip数据头,检测到是一个tcp数据包,就把tcp数据包传到tcp协议处理层,去掉tcp数据头,检测到是一个http数据包,就把http数据包传到http协议处理层。
60.其中,tcp,是一种面向连接的、可靠的、基于字节流的传输层通信协议。tcp旨在适应支持多网络应用的分层协议层次结构。
61.http,是一个简单的请求响应协议,它通常运行在tcp之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
62.ip,网络互连协议是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。
63.所有的网络数据都是通过这样一层层的堆叠起来的协议来传送的,像栈一样,所以叫协议栈。
64.其中,步骤220中,具体可以包括以下步骤:
65.调用扩展过滤器,以使得扩展过滤器根据预先设置的过滤规则,从初始流量数据中确定测试流量数据;
66.复制测试流量数据,得到第一数据包。
67.具体地,调用ebpf程序,根据预先设置的map机制中的过滤规则,从初始流量数据中确定测试流量数据,并复制从初始流量数据中命中的测试流量数据,得到第一数据包。
68.其中,map可以是用户内核定义的规则,存在形式可以为哈希表。
69.示例性地,根据map中保存的过滤信息(如,dst-ip)复制从初始流量数据中命中的测试流量数据,其中,dst-ip,是这个依据目的ip地址。只要目的地址是x就走路径x。
70.其中,上述涉及到的复制测试流量数据,得到第一数据包的步骤中,具体可以包括以下步骤:
71.获取预设数据结构,预设数据结构包括:结构参数和协议头;
72.其中,协议头用于存储各层协议的协议头信息,以用于第二数据包在各层协议之间传输;
73.基于结构参数,存储测试流量数据和协议头信息,得到第一数据包。
74.其中,当存储有测试流量数据的第一数据包在各层协议之间传输的过程中,每一层协议的报文头将插入到用户数据(即测试流量数据)之前。相应的,在预设数据结构中描述协议头信息的地址指针会被赋值。协议头信息用于第一数据包在各层协议之间传输。结构参数用于管理和控制数据包的相关信息,比如地址信息。
75.其中,上述涉及到的预设数据结构可以为套接字缓存(socket buffer,sk_buff)。
76.套接字缓存结构是网络代码中重要的数据结构,它管理和控制接收或发送数据包的信息。它代表一个要发送或处理的报文,并贯穿于整个协议栈。
77.套接字缓存由报文数据和管理数据组成:
78.其中,报文数据,保存了实际在网络中传输的数据,即本发明中涉及的测试流量数据。
79.其中,管理数据,是供内核处理报文的额外数据,这些数据构成了协议之间交换的控制信息。包括:结构参数和协议头。
80.其中,上述涉及到的调用扩展过滤器,以使得扩展过滤器根据预先设置的过滤规则,从初始流量数据中确定测试流量数据的步骤中,具体可以包括以下步骤:
81.调用扩展过滤器中存储的过滤函数,以用于过滤函数执行预先设置的过滤规则,从初始流量数据中确定测试流量数据。
82.由于,ebpf程序不可以随意调用内核函数,所以需要调用扩展过滤器中存储的过滤函数(如:bpf helper函数)根据过滤规则复制初始流量数据中的测试流量数据。
83.最后涉及步骤230。
84.步骤230,通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
85.其中,ip隧道技术,是路由器把一种网络层协议封装到另一个协议中以跨过网络传送到另一个路由器的处理过程。它可以将原始ip包(其报头包含原始发送者和最终目的地)封装在另一个数据包(称为封装的ip包)的数据净荷中进行传输。
86.目前的ip隧道技术分别是:ip in ip(ipip)、最小封装以及通用路由封装。
87.ip隧道包括:传输通道、封装部件和解封部件,传输通道负责传输数据包,封装部件负责发送数据包,解封部件负责接收数据包。这里,ip隧道负责将第一数据包转发至测试服务器。
88.在一种可能的实施例中,在步骤230之前,还可以包括以下步骤:
89.根据ip隧道的隧道标识信息,对第一数据包进行封装,得到第二数据包;
90.相应地,步骤230中,具体可以包括以下步骤:
91.将第二数据包通过ip隧道转发至测试服务器。
92.其中,当过滤函数(如:bpf helper函数)复制套接字缓存数据结构时,仅仅复制元数据,原包共享一个底层数据,因此无法修改包的数据,也就无法通过路由转发。这里的通过ipiptunnel,根据ip隧道的隧道标识信息,将第一数据包封装为第二数据包,封装后直接发给对端的测试服务器。
93.不需要拷贝数据,唯一的开销是复制sk_buff结构体并进行ipip封装,tcp组包的负载也不在网关上,减轻了网关的负载,提升了转发效率。
94.其中,上述涉及到的根据ip隧道的隧道标识信息,对第一数据包进行封装,得到第二数据包的步骤中,具体可以包括以下步骤:根据ip隧道的隧道标识信息确定包头,隧道标识信息用于标识ip隧道;根据包头对第一数据包进行封装,生成第二数据包。
95.其中,为第一数据包封装ip隧道对应的头部结构,生成第二数据包,这可以使得目标为一个ip地址的数据报文能被封装和转发到另一个ip地址。
96.tcp/ip网络数据以流的方式传输,数据流是由包组成,如何判定接收方收到的包是否是一个完整的包就要在发送时对包进行处理,这就是封包技术,将包处理成包头和包体。包头(即头部结构)是包的开始标记,整个包的大小就是包的结束标记。接收方只要按同样的方式解包即可。
97.综上,本发明实施例,调用设置于流量控制器的注入点的扩展过滤器复制源服务器发送的初始流量数据,得到第一数据包,这里,省去了与传输控制协议建立连接的过程,
旁路了内核协议栈,因此,通过扩展过滤器复制初始流量数据,可以高效的得到第一数据包,并且减轻网关负载;然后通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。这样,解决了目前存在的对于流量数据的复制和转发存在成本较高而且效率低的问题,减轻了网关负载,由此,能够提升对流量数据的复制和转发的效率并且节约成本。
98.下面结合图3,对本发明实施例提供的数据测试方法进行详细说明。
99.图3是本发明实施例提供的一种数据测试方法的流程图;
100.如图3所示,该数据转发方法可以包括步骤310-步骤330,应用于测试服务器,具体如下所示:
101.步骤310,接收网关发送的第二数据包。
102.网关将第二数据包转发至ipip隧道,ipip隧道对端,即测试服务器接收第二数据包。
103.步骤320,对第二数据包进行解析操作,得到测试流量数据。
104.测试服务器收到后会进行tcp解包,不完整的包会丢弃,完整的http请求可以被解析出来,最终得到http包,即测试流量数据。
105.步骤330,根据测试流量数据对预设业务进行测试。
106.最后就可以根据测试流量数据完成多种多样的预设业务测试。
107.综上,本发明实施例,通过对网关发送的第二数据包进行解析操作得到测试流量数据,并根据测试流量数据对预设业务进行测试,能够基于真实的线上流量数据得到的测试流量数据进行有根据的测试,真实性更强,由此能够提升业务性能。
108.基于上述图2所示的数据转发方法,本发明实施例还提供一种数据转发装置,如图4所示,该数据转发装置400可以包括:
109.接收模块410,用于接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据。
110.复制模块420,用于调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器设置在网关上。
111.转发模块430,用于通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
112.在一种可能的实施例中,该数据转发装置400还可以包括:
113.封装模块,用于根据ip隧道的隧道标识信息,对第一数据包进行封装,得到第二数据包。
114.转发模块430,具体用于将第二数据包通过ip隧道转发至测试服务器。
115.在一种可能的实施例中,复制模块420,具体用于:
116.调用扩展过滤器,以使得扩展过滤器根据预先设置的过滤规则,从初始流量数据中确定测试流量数据;
117.复制测试流量数据,得到第一数据包。
118.在一种可能的实施例中,复制模块420,具体用于:
119.获取预设数据结构,预设数据结构包括:结构参数和协议头;其中,协议头用于存储各层协议的协议头信息,以用于第一数据包在各层协议之间传输;
120.基于结构参数,存储测试流量数据和协议头信息,得到第一数据包。
121.在一种可能的实施例中,复制模块420,具体用于:
122.调用扩展过滤器中存储的过滤函数,以用于过滤函数执行预先设置的过滤规则,从初始流量数据中确定测试流量数据。
123.综上,在本发明实施例中,通过调用设置于流量控制器的注入点的扩展过滤器复制源服务器发送的初始流量数据,得到第一数据包,这里,省去了与传输控制协议建立连接的过程,旁路了内核协议栈,因此,通过扩展过滤器复制初始流量数据,可以高效的得到第一数据包,并且减轻网关负载;然后通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。这样,解决了目前存在的对于流量数据的复制和转发存在成本较高而且效率低的问题,减轻了网关负载,由此,能够提升对流量数据的复制和转发的效率并且节约成本。
124.基于上述图3所示的数据测试方法,本发明实施例还提供一种数据测试装置,如图5所示,该数据测试装置500可以包括:
125.接收模块510,用于接收网关发送的第二数据包。
126.解析模块520,用于对第二数据包进行解析操作,得到测试流量数据。
127.测试模块530,用于根据测试流量数据对预设业务进行测试。
128.综上,在本发明实施例中,通过对网关发送的第二数据包进行解析操作得到测试流量数据,并根据测试流量数据对预设业务进行测试,能够基于真实的线上流量数据得到的测试流量数据进行有根据的测试,真实性更强,由此能够提升业务性能。
129.本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
130.存储器603,用于存放计算机程序;
131.处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
132.接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据;
133.调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器与网关网络连接;
134.通过网际互连协议ip隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。
135.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
136.通信接口用于上述终端与其他设备之间的通信。
137.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
138.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,
简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
139.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法或数据测试方法。
140.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据转发方法或数据测试方法。
141.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
142.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
143.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
144.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

技术特征:


1.一种数据转发方法,其特征在于,应用于网关,所述方法包括:接收源服务器发送的初始流量数据,所述初始流量数据为所述源服务器从用户终端采集的数据;调用扩展过滤器复制所述初始流量数据,得到第一数据包,所述扩展过滤器设置于流量控制器的注入点,所述流量控制器与所述网关网络连接;通过网际互连协议ip隧道将所述第一数据包转发至测试服务器,以使所述测试服务器基于所述第一数据包中的测试流量数据对预设业务进行测试。2.根据权利要求1所述的方法,在所述通过网际互连协议ip隧道将所述第一数据包转发至测试服务器之前,所述方法还包括:根据所述ip隧道的隧道标识信息,对所述第一数据包进行封装,得到第二数据包;所述通过网际互连协议ip隧道将所述第一数据包转发至测试服务器,包括:将所述第二数据包通过所述ip隧道转发至所述测试服务器。3.根据权利要求1所述的方法,所述调用扩展过滤器复制所述初始流量数据,得到第一数据包,包括:调用所述扩展过滤器,以使得所述扩展过滤器根据预先设置的过滤规则,从所述初始流量数据中确定所述测试流量数据;复制所述测试流量数据,得到所述第一数据包。4.根据权利要求3所述的方法,所述复制所述测试流量数据,得到所述第一数据包,包括:获取预设数据结构,所述预设数据结构包括:结构参数和协议头;其中,所述协议头用于存储各层协议的协议头信息,以用于所述第一数据包在各层协议之间传输;基于所述结构参数,存储所述测试流量数据和所述协议头信息,得到所述第一数据包。5.根据权利要求3所述的方法,所述调用所述扩展过滤器,以使得所述扩展过滤器根据预先设置的过滤规则,从所述初始流量数据中确定所述测试流量数据,包括:调用所述扩展过滤器中存储的过滤函数,以用于所述过滤函数执行所述预先设置的过滤规则,从所述初始流量数据中确定所述测试流量数据。6.一种数据转发装置,其特征在于,应用于网关,所述装置包括:接收模块,用于接收源服务器发送的初始流量数据,所述初始流量数据为所述源服务器从用户终端采集的数据;复制模块,用于调用扩展过滤器复制所述初始流量数据,得到第一数据包,所述扩展过滤器设置于流量控制器的注入点,所述流量控制器设置在网关上;转发模块,用于通过网际互连协议ip隧道将所述第一数据包转发至测试服务器,以使所述测试服务器基于所述第一数据包中的测试流量数据对预设业务进行测试。7.根据权利要求6所述的装置,所述装置还包括:封装模块,用于根据所述ip隧道的隧道标识信息,对所述第一数据包进行封装,得到第二数据包;所述转发模块,具体用于将所述第二数据包通过所述ip隧道转发至所述测试服务器。8.一种电子设备,其特征在于,包括:至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一项所述的方法。

技术总结


本发明实施例提供了一种数据转发方法、装置、电子设备及可读存储介质,该方法包括:接收源服务器发送的初始流量数据,初始流量数据为源服务器从用户终端采集的数据;调用扩展过滤器复制初始流量数据,得到第一数据包,扩展过滤器设置于流量控制器的注入点,流量控制器与网关网络连接;通过网际互连协议IP隧道将第一数据包转发至测试服务器,以使测试服务器基于第一数据包中的测试流量数据对预设业务进行测试。根据本发明的实施例,能够提升数据转发效率。效率。效率。


技术研发人员:

吕逸凡

受保护的技术使用者:

北京奇艺世纪科技有限公司

技术研发日:

2022.05.25

技术公布日:

2023/2/2

本文发布于:2024-09-24 02:28:23,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/54420.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   流量   所述   测试
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议