一种数据处理方法和相关装置
文献发布时间:2024-01-17 01:13:28
技术领域
本申请涉及数据处理技术领域,特别是涉及一种数据处理方法和相关装置。
背景技术
通常,设备之间可以基于发送网络流量的方式实现网络通信,网络流量中可以携带有网络通信所需的信息等。以第一设备和第二设备之间实现网络通信为例,第一设备和第二设备可以基于网络建立通信连接,建立通信连接后,第一设备和第二设备可以利用发送网络流量实现网络通信。
在网络通信中,出于保障网络安全等目的,通常会对传输的网络流量进行检测,以便及时发现异常情况,例如异常的网络流量、流量突发位置等,基于此,有利于保障网络安全。同时,基于对网络流量的检测,可以分析网络通信过程中的资源占用情况(例如带宽占用情况)等,及时发现资源占用过高等,有效避免因资源占用过高造成网络运行不稳定的情况,有利于保障网络正常稳定的运行。
相关技术中,对传输的网络流量直接进行检测,然而,这种方式所需的带宽成本较高。
发明内容
为了解决上述技术问题,本申请提供了一种数据处理方法和相关装置,在实现对网络流量进行检测的基础上,能够降低带宽成本。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种数据处理方法,所述方法包括:
获取待测网络流量;
对所述待测网络流量进行信息提取,得到所述待测网络流量对应的目标信息;所述目标信息的数据量小于所述待测网络流量的数据量;
向流量检测设备发送所述目标信息;所述流量检测设备用于对所述目标信息进行检测,得到所述待测网络流量对应的检测结果。
又一方面,本申请实施例提供一种数据处理方法,所述方法包括:
获取多个待测网络流量;
对所述多个待测网络流量进行聚合,将所述多个待测网络流量封装为一个检测流量;
向流量检测设备发送所述检测流量;所述流量检测设备用于对所述检测流量进行检测,得到所述多个待测网络流量分别对应的检测结果。
又一方面,本申请实施例提供一种数据处理装置,所述装置包括获取单元、提取单元和发送单元:
所述获取单元,用于获取待测网络流量;
所述提取单元,用于对所述待测网络流量进行信息提取,得到所述待测网络流量对应的目标信息;所述目标信息的数据量小于所述待测网络流量的数据量;
所述发送单元,用于向流量检测设备发送所述目标信息;所述流量检测设备用于对所述目标信息进行检测,得到所述待测网络流量对应的检测结果。
又一方面,本申请实施例提供一种数据处理装置,所述装置包括获取单元、聚合单元和发送单元:
所述获取单元,用于获取多个待测网络流量;
所述聚合单元,用于对所述多个待测网络流量进行聚合,将所述多个待测网络流量封装为一个检测流量;
所述发送单元,用于向流量检测设备发送所述检测流量;所述流量检测设备用于对所述检测流量进行检测,得到所述多个待测网络流量分别对应的检测结果。
另一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器以及存储器:
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行前述任一方面所述的方法。
另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被计算机设备运行时,使得所述计算机设备执行前述任一方面所述的方法。
另一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,当其在计算机设备上运行时,使得所述计算机设备执行前述任一方面所述的方法。
由上述技术方案可以看出,在网络通信中需对网络流量进行检测时,首先可以获取待测网络流量,待测网络流量可以是指用于检测的网络流量。接着,可以对待测网络流量进行信息提取,得到待测网络流量对应的目标信息。其中,目标信息可以是指对待测网络流量进行检测时所需的信息,即,目标信息是对于检测而言的有效信息,因此,得到目标信息后,可以向流量检测设备发送目标信息,该流量检测设备可以对目标信息进行检测,得到待测网络流量对应的检测结果,从而达到检测的目的。由于目标信息的数据量小于待测网络流量的数据量,使得向流量检测设备发送目标信息所需的带宽成本小于发送待测网络流量所需的带宽成本,从而在实现对网络流量进行检测的基础上,能够降低带宽成本。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种网络流量检测场景的示意图;
图2为本申请实施例提供的一种数据处理方法的应用场景示意图;
图3为本申请实施例提供的一种数据处理方法的流程图;
图4为一种微突发场景的示意图;
图5为一种非微突发场景的示意图;
图6为本申请实施例提供的一种二叉树的结构示意图;
图7为本申请实施例提供的一种网络流量检测的系统架构示意图;
图8为本申请实施例提供的一种两次镜像的处理逻辑示意图;
图9为本申请实施例提供的一种组播复制结合一次镜像的处理逻辑示意图;
图10为本申请实施例提供的又一种数据处理方法的流程图;
图11为本申请实施例提供的一种数据处理装置的结构图;
图12为本申请实施例提供的又一种数据处理装置的结构图;
图13为本申请实施例提供的一种终端的结构图;
图14为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在实际应用中,设备之间可以基于发送网络流量的方式进行网络通信,网络流量中可以携带有网络通信所需的信息等,例如,网络流量可以是报文。在进行网络通信的过程中,出于保障网络安全等目的,会对传输的网络流量进行检测,以便及时发现异常情况,例如异常的网络流量、流量突发位置等,针对异常情况及时进行处理等以保障网络安全。其中,异常的网络流量可以是指会对网络安全造成影响的攻击网络流量。基于网络流量检测,可以及时发现异常流量、定位攻击网络流量的源头等,有利于保障网络安全。
以第一设备和第二设备为例,第一设备和第二设备可以基于网络建立通信连接,建立通信连接后,第一设备和第二设备可以利用发送网络流量实现网络通信。在第一设备和第二设备进行网络通信的过程中,可以对传输的网络流量进行检测,即为网络通信中的网络流量检测场景。对于第一设备和第二设备,本申请不做任何限定,在实际应用中,在不同的网络流量检测场景中,第一设备和第二设备可以不同。例如,针对电信级网络中的网络流量检测场景,第一设备可以是数据访问端(如用户终端),第二设备可以是业务处理端(如网络业务提供商)。
为了更好地理解,针对网络流量检测场景,可以参见图1,图1为本申请实施例提供的一种网络流量检测场景的示意图。需要说明的是,图1中以对第一设备向第二设备发送的网络流量进行检测为例,并不进行任何限定,在实际应用中,也可以是对第二设备向第一设备发送的网络流量进行检测。第一设备和第二设备之间可以基于网络建立通信连接,在实际应用中,第一设备向第二设备发送的网络流量可以经由交换机进行分发到第二设备,同样的,对于需要检测的网络流量,可以经由交换机发送到流量检测设备,流量检测设备可以对接收到的网络流量进行检测,具体可以是通过对网络流量中携带的信息进行分析,完成检测。其中,第一设备与交换机之间可以基于网络建立通信连接,第二设备与交换机之间可以基于网络建立通信连接,基于此,第一设备与第二设备之间的通信连接可以是通过交换机建立的间接连接,同样的,流量检测设备与交换机之间可以基于网络建立通信连接。
相关技术中,在进行网络流量检测时,交换机会将需要检测的网络流量全量发送到流量检测设备,即,将网络流量所携带的信息全部发送到流量检测设备。可以理解的是,向流量检测设备传输网络流量是需要消耗一定带宽的。由于对于网络流量检测而言,流量检测设备可以利用网络流量中所携带的部分信息即可完成对网络流量的检测,以确定是否存在异常等。也就是说,网络流量中所携带的信息中仅有部分信息对于网络流量检测而言的有效信息。可见,对于网络流量检测而言,相关技术中所采用的方式所需的带宽成本较高。
为此,本申请实施例提供了一种数据处理方法和相关装置,针对网络流量检测场景,在向流量检测设备传输网络流量之前,提取对于网络流量检测而言的有效信息,进而可以只需向流量检测设备发送有效信息即可。由于有效信息是网络流量检测时所需的信息,因此,流量检测设备可以通过对有效信息进行检测,从而达到检测的目的。同时,由于有效信息的数据量小于网络流量的数据量,使得向流量检测设备发送有效信息所需的带宽成本小于发送网络流量所需的带宽成本,从而在实现对网络流量进行检测的基础上,能够降低带宽成本。
本申请实施例所提供的数据处理方法可以通过计算机设备实施,该计算机设备可以是终端或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端包括但不限于智能手机、电脑、智能语音交互设备、智能家电、车载终端等。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、音视频、辅助驾驶等。本申请实施例具体可以应用于各种网络流量检测场景,例如,电信级网络中的网络流量检测场景、企业网络中的网络流量检测场景等。
需要说明的是,在本申请的具体实施方式中,进行数据处理的过程中有可能会涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户单独同意或者单独许可,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本申请实施例提供的方法可以涉及人工智能技术,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。例如,本申请实施例可以是利用人工智能实现本申请的数据处理方法的自动化执行。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。在本申请实施例中主要可以涉及机器学习,例如,针对获取到的待测网络流量,可以利用机器学习自动化进行信息提取,以及可以自动化向流量检测设备发送信息提取得到的目标信息,基于此,有利于提高数据处理的效率。
云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为基础设施即服务(Infrastructure as a Service,IaaS)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。例如,在本申请实施例中,“云”中的资源可以是网络流量,通过发送网络流量实现网络通信,以及通过获取网络流量,可以进行检测以便及时发现异常情况。
图2示出了本申请实施例提供的数据处理方法的应用场景示意,在图2所示的场景中,可以包括交换机100和流量检测设备200,其中,交换机100和流量检测设备200之间为通信连接。需要说明的是,图2中示出的100和流量检测设备200仅为示例,并不对其进行任何限定。下面将结合图2所示的场景,以交换机100作为前述计算机设备的示例进行说明:
在需对网络流量进行检测时,交换机100可以获取待测网络流量,待测网络流量可以是指用于检测的网络流量。在实际应用中,以前述的第一设备向第二设备发送网络流量时的网络流量检测场景为例,待测网络流量可以是基于第一设备向第二设备发送的网络流量确定的,基于对待测网络流量的检测可以完成对第一设备向第二设备发送的网络流量的检测。
针对获取到的待测网络流量,交换机100可以对待测网络流量进行信息提取,得到待测网络流量对应的目标信息。其中,目标信息可以是指对待测网络流量进行检测时所需的信息,即,目标信息是对于检测而言的有效信息。
得到目标信息后,交换机100可以向流量检测设备200发送目标信息,流量检测设备200可以对目标信息进行检测。由于目标信息是对于检测而言的有效信息,因此,流量检测设备200对目标信息进行检测即可得到待测网络流量对应的检测结果,从而达到检测的目的。
其中,目标信息的数据量小于待测网络流量的数据量,也就是说,通过信息提取可以使得网络流量的数据量减小,使得交换机100向流量检测设备200发送目标信息所需的带宽成本小于发送待测网络流量所需的带宽成本,且目标信息是对于检测而言的有效信息,因此可以在实现对网络流量进行检测的基础上,能够降低带宽成本。
需要说明的是,对于交换机100的配置,本申请不做任何限定。在实际应用中,为了便于实施本申请提供的数据处理方法,可以配置交换机100为可编程交换机。其中,可编程交换机在实现对网络流量进行转发处理的同时,具有可编程的特点,基于可编程的特点,可以自定义对网络流量进行处理的流程,有利于实施本申请提供的数据处理方法。
图3为本申请实施例提供的一种数据处理方法的流程图,以交换机作为前述计算机设备的示例进行说明,所述方法包括S301-S303:
S301:获取待测网络流量。
在需对网络流量进行检测时,交换机可以获取待测网络流量,待测网络流量可以是指用于检测的网络流量。在实际应用中,以前述的第一设备向第二设备发送网络流量时的网络流量检测场景为例,待测网络流量可以是基于第一设备向第二设备发送的网络流量确定的,可以基于对待测网络流量的检测可以完成对第一设备向第二设备发送的网络流量的检测。
需要说明的是,针对待测网络流量,本申请不做任何限定。为了便于理解,本申请将从以下三方面对待测网络流量进行说明:
一方面,针对待测网络流量与设备之间发送的网络流量之间的关系,不做任何限定。其中,待测网络流量可以是指用于检测的网络流量,检测的目的在于保障网络安全等,设备之间发送的网络流量可以是指用于网络通信的网络流量,发送网络流量的目的在于进行网络通信。可以理解的是,网络流量所携带的信息发生改变会影响网络通信,因此,为了避免因网络流量检测对网络通信造成影响,网络流量检测通常是在用于网络通信的网络流量进行复制得到的网络流量的基础上进行的,也就是说,待测网络流量可以是基于用于网络通信的网络流量进行复制得到的,用于网络通信的网络流量可以是指设备之间进行网络通信时所发送的网络流量。例如,待测网络流量可以是指基于第一设备向第二设备发送的网络流量进行复制得到的,基于此,使得检测不会对第一设备向第二设备发送的网络流量造成改变,从而避免对网络通信造成影响。
又一方面,针对待测网络流量的类型,不做任何限定。例如,在实际的网络通信中,以设备之间发送的网络流量是报文为例,对应的,待测网络流量的类型也可以是报文这种形式。
又一方面,针对待测网络流量的数量,不做任何限定。在实际的网络流量检测场景中,设备之间发送的网络流量的体量是非常巨大的,对应的,待测网络流量的数量也可以是多个。
S302:对待测网络流量进行信息提取,得到待测网络流量对应的目标信息。
在获取到待测网络流量后,交换机可以对待测网络流量进行信息提取,得到待测网络流量对应的目标信息,目标信息可以是指对待测网络流量进行检测时所需的信息,即,目标信息是对于检测而言的有效信息。其中,目标信息的数据量小于待测网络流量的数据量,基于此,通过信息提取,能够降低数据量。
需要说明的是,针对如何进行信息提取的方式,本申请不做任何限定。在实际应用中,待测网络流量的类型不同,进行信息提取的方式可能有所不同。为了便于理解,本申请实施例以待测网络流量的类型是报文这种形式为例,提供以下方式作为示例:
待测网络流量的类型是报文这种形式时,待测网络流量可以称为待测报文。通常,待测报文中可以包括多个字段,不同字段可以携带不同信息。因此,在一种可能的实现方式中,进行信息提取的方式可以是提取待测报文中携带有效信息的相关字段,从而实现提取有效信息的目的。例如,待测报文的多个字段可以携带有报文五元组信息、报文长度信息、报文版本信息等。其中,报文五元组信息可以包括待测报文的源互联网协议地址(InternetProtocol Address,IP地址)、目的IP地址、源端口号、目的端口号以及协议类型,具体的,以第一设备向第二设备发送网络流量为例,源IP地址可以是指第一设备的IP地址,目的IP地址可以是指第二设备的IP地址,源端口号可以是指第一设备的设备端口号,目的端口号可以是指第二设备的设备端口号,协议类型可以是指待测报文所采用的协议,例如,所采用的协议可以是传输控制协议(Transmission Control Protocol,TCP)、用户数据报协议(UserDatagram Protocol,UDP)等。报文长度信息可以标识待测报文的长度,报文版本信息可以标识待测报文的版本。对于检测而言,报文五元组信息以及报文长度信息能够用于检测IP地址是否合法有效、检测待测报文长度是否异常,从而评估待测报文是否异常(如IP地址非法无效,表明可能是前述的攻击网络流量),因此,在实际应用中,可以将报文五元组信息以及报文长度信息确定为有效信息,在进行信息提取时,可以提取携带报文五元组信息以及报文长度信息的相关字段。
可以理解的是,对应于待测网络流量为待测报文的情况,为了便于后续发送目标信息,在提取到报文五元组信息以及报文长度信息之后,可以对这些信息进行重组,使得有效信息的类型仍符合报文这种形式,便于后续的发送等。
还需说明的是,针对数据量的形式,本申请不做任何限定。数据量可以用于表征数据大小,如目标信息的数据量用于表征目标信息的数据大小,待测网络流量的数据量用于表征待测网络流量的数据大小。在实际应用中,数据量可以是数据长度这种形式,其单位可以是字节(Byte,B)、千字节(Kilobyte,KB)等,能够直观表征数据大小。例如,待测网络流量的数据量可以是512B,有效信息是其中40B的信息,相应的,目标信息的数据量可以是40B。
S303:向流量检测设备发送目标信息。
得到目标信息后,交换机可以向流量检测设备发送目标信息,流量检测设备可以用于对目标信息进行检测,由于目标信息时对于检测而言的有效信息,因此,流量检测设备对目标信息进行检测即可得到待测网络流量对应的检测结果,从而达到检测的目的。由于目标信息的数据量小于待测网络流量的数据量,数据量越小,在设备之间发送时所需的带宽成本越低,因此,通过信息提取使得数据量减小,使得交换机向流量检测设备发送目标信息所需的带宽成本小于发送待测网络流量所需的带宽成本,同时,信息提取所提取的是对于检测而言的有效信息,故可以在实现检测的基础上,降低带宽成本。以前述的待测网络流量为待测报文为例,基于信息提取保留了携带有效信息的相关字段,过滤了其他字段,从而减小了报文的字段长度,降低带宽成本。
需要说明的是,针对如何向流量检测设备发送目标信息的方式,本申请不做任何限定。在多数网络流量检测场景中,设备之间发送的网络流量的体量是非常巨大的,对应的,待测网络流量的数量也可以是多个。为了更好地理解,本申请实施例将以待测网络流量可以包括n个待测网络流量为例,n为大于1的整数,提供以下方式作为示例:
在实际的网络流量检测场景中,针对n个待测网络流量分别对应的目标信息,在一种可能的实现方式中,交换机可以直接向流量检测设备发送n个待测网络流量分别对应的目标信息。对应这种方式,流量检测设备可以接收到n个待测网络流量分别对应的n个目标信息,相应的,流量检测设备可以分别对n个目标信息进行检测,得到n个待测网络流量分别对应的检测结果。基于此,流量检测设备可以通过检测n次的方式实现对n个待测网络流量的检测,得到每个待测网络流量对应的检测结果。这种方式中,得到的检测结果通常也可以是n个,更为直观。这种直接向流量检测设备发送n个待测网络流量分别对应的目标信息的方式,交换机并未对n个目标信息做其他处理,而是直接向流量检测设备发送,因此,也可以称为是一种基于非聚合模式(Normal Mirror)的发送方式。
可以理解的是,流量检测设备对目标信息进行检测需要消耗流量检测设备的设备性能,在实际应用中,更多次的检测对流量检测设备的设备性能的需求更大。因此,在又一种可能的实现方式中,针对n个待测网络流量分别对应的目标信息,交换机可以在发送之前,先进行聚合,聚合可以是一种将多个目标信息聚合到一个聚合信息中的处理方式,如此一来,交换机可以向流量检测设备发送聚合得到的聚合信息,实现向流量检测设备发送多个目标信息的目的。相应的,流量检测设备可以对聚合信息进行检测,实现对多个目标信息的检测。基于此,可以通过一次检测完成对多个待测网络流量的检测,减少检测次数,有利于降低对流量检测设备的设备性能的损耗。在具体实施时,交换机可以对n个待测网络流量分别对应的目标信息进行聚合,然后,交换机可以向流量检测设备发送聚合得到的聚合信息,对应的,流量检测设备可以用于对接收到的聚合信息进行检测得到检测结果。基于此,通过聚合,能够有效减少流量检测设备的检测次数,从而降低对流量检测设备的设备性能的损耗。
这种先聚合再发送聚合得到的聚合信息的方式,也可以称为是一种基于聚合模式(Collescing Mirror)的发送方式。采用基于聚合模式的发送方式时,本申请实施例提供的数据处理方法可以认为是一种基于信息提取压缩数据量,以及基于聚合将多个目标信息聚合到一个聚合信息,从而降低检测次数,尤其针对网络流量的体量非常巨大的网络流量检测场景,能够极大地降低带宽成本以及降低对流量检测设备的设备性能的损耗,是一种高性能的网络流量检测技术。以前述的待测网络流量为报文为例,目标信息也可以是报文形式,聚合信息也可以是报文信息,采用本申请后,可以认为是将多个报文压缩、聚合到同一个报文中进行检测。
在基于聚合模式的发送方式中,需要说明的是,针对如何对n个待测网络流量分别对应的目标信息进行聚合的方式,本申请不做任何限定。在实际应用中,聚合的目的在于将多个目标信息确定为一个聚合信息,因此,在一种可能的实现方式中,聚合的具体方式可以是拼接,即,可以是将多个目标信息拼接在一起,即可得到一个聚合信息。以及在实际应用中,还可以灵活设置将具体多少个目标信息聚合到一个聚合信息中,相应的,在对n个待测网络流量分别对应的目标信息进行聚合时,可以是每生成足够数量的目标信息,便可以进行聚合得到一个聚合信息,也就是说,可以将n个待测网络流量分别对应的目标信息聚合得到多个聚合信息。
对应于基于聚合模式的发送方式,是将多个目标信息聚合为一个聚合信息,为了便于聚合,还可以先对n个待测网络流量分别对应的目标信息进行缓存存储,然后再进行后续的聚合等。在实际应用中,可以通过在交换机中配置缓存地址,缓存地址可以是指具有缓存存储能力的存储空间,在交换机中,缓存地址可以是会话控制对象(session),利用缓存地址可以对n个待测网络流量分别对应的目标信息进行缓存存储。在具体实施时,在对n个待测网络流量分别对应的目标信息进行聚合之前,交换机可以将n个待测网络流量分别对应的目标信息写入缓存地址,基于此,实现对n个待测网络流量分别对应的目标信息进行缓存存储的目的。对应的,前述的对n个待测网络流量分别对应的目标信息进行聚合的具体实施方式可以包括,交换机可以对写入缓存地址的n个待测网络流量分别对应的目标信息进行聚合,以及,前述的向流量检测设备发送聚合得到的聚合信息的具体实施方式可以包括,交换机可以从缓存地址读取聚合得到的聚合信息,然后向流量检测设备发送读取到的聚合信息。基于此,可以利用缓存地址对多个待测网络流量分别对应的目标信息进行缓存存储,然后再进行聚合、发送等。
需要说明的是,针对将n个待测网络流量分别对应的目标信息写入缓存地址的方式,本申请不做任何限定。可以理解的是,写入缓存地址的方式不同,对写入缓存地址的n个待测网络流量分别对应的目标信息进行聚合的方式也可能不同。在实际应用中,前述的缓存地址可以包括多个缓存地址,如此可以利用多个缓存地址对前述的n个目标信息进行缓存存储。为了便于理解,下面将以缓存地址包括多个缓存地址为例,进行说明:
在实际应用中,交换机的功能之一是可以对接收到的信息进行转发,为了便于转发,相关技术中提供了一种数据发包方式,具体是利用缓存地址对接收到的信息进行缓存存储,然后从缓存地址中读取信息并进行转发。通常,可以包括信息队列、缓存队列和出端口队列,其中,信息队列可以包括接收到的信息,缓存队列可以包括多个缓存地址,出端口队列可以包括从缓存地址中读取到的信息,可以经由交换机的出端口对读取到的信息进行转发。
可以理解的是,对于多个缓存地址中的任一缓存地址,均可以包括写入与读取两个方向的处理,在实际应用中,通常可以利用缓存写入速率表示将信息队列中的信息写入缓存地址的速率,利用缓存读取速率表示将缓存队列中的信息读取到出端口队列的速率,缓存读取速率可以取决于出端口队列的处理速率。若缓存写入速率大于缓存读取速率,可能将会出现缓存写入持续堆积的情况,例如,缓存地址已经存满的情况下,缓存写入速率大于缓存读取速率,将出现持续堆积的情况,此种情况也可以称为微突发场景,可以参见图4所示。图4示出了一种微突发场景的示意图,具体可以包括前述的信息队列、缓存队列和出端口队列,以多个缓存地址中的第一个缓存地址为例,缓存写入速率可以认为是单位时间写入2个,缓存读取速率可以认为是单位时间读区1个,由于第一个缓存地址没有足够的缓存空间,将导致信息丢包。即,产生微突发之后,由于缓存不足将产生丢包的问题。若缓存写入速率等于缓存读取速率,则不会出现前述的缓存写入持续堆积的情况,也就是说没有微突发产生。针对这种情况,可以参见图5所示,图5示出了一种非微突发场景的示意图,缓存写入速率等于缓存读取速率,故不会发生微突发的情况。
若采用相关技术提供的数据发包方式,对本申请中的n个目标信息写入缓存地址。首先,可能出现图4所示的微突发的情况,以及在实际应用中,由于交换机的芯片的缓存空间普遍都比较小,相应的,交换机中分配给单个缓存地址的缓存空间通常比较小,单个缓存地址对应一条缓存流水线,多个缓存地址可以对应多条缓存流水线。例如,可编程交换机的芯片可以是集成电路(Application Specific Integrated Circuit,ASIC)芯片,对应分配给单个缓存地址的缓存空间可以是122KB。缓存空间小更容易出现微突发的情况,往往会因缓存不足导致目标信息的丢包,如此将会降低检测准确性。
其次,即使没有微突发的情况,也就是图5所示的情况,由于本申请中将n个目标信息写入缓存地址的主要目的在于便于将多个目标信息聚合在一个聚合信息中,以任一缓存地址而言,需要写入足够数量的目标信息后才能满足聚合得到一个聚合信息的目的,后续才能读取到聚合信息进行发送,若未能写入足够数量的目标信息,则不能实现聚合得到一个聚合信息的目的。采用相关技术中的方式,多个缓存地址几乎是同时满足写入足够数量的目标信息,在满足之前,任一缓存地址都存在缓存占用,但都未能得到聚合信息,导致聚合性能较低。
可见,无论是否有微突发的情况发生,相关技术中的数据发包方式无法满足高性能地聚合,以及检测准确性还会受微突发影响。
为此,本申请实施例提供了又一种数据发包方式,针对n个目标信息,首先可以持续向多个缓存地址中的一个缓存地址写入目标信息,直到这个缓存地址无法继续写入时,再向下一个缓存地址写入目标信息,直至完成将n个目标信息写入缓存地址。基于此,可以使得一个缓存地址优先写入足够数量的目标信息,便可进行聚合得到一个聚合信息,有利于提高聚合性能。同时,由于是优先向一个缓存地址写入,直到这个缓存地址无法继续写入时,再向下一个缓存地址写入,故可以减少缓存占用。在实际应用中,无法继续写入当前这个缓存地址的原因通常是当前这个缓存地址剩余的缓存能力不足以存储这个目标信息,基于此,可以保证不会向缓存不足的缓存地址写入,从而避免发生微突发,避免丢包的问题,有利于保障检测准确性。具体实施时,针对n个目标信息中的每个目标信息,可以依次判断是继续写入当前这个缓存地址,还是写入下一个缓存地址。
在实际应用中,对于多个缓存地址中的任一缓存地址,其缓存能力可以表示能够存储的数据量,为了便于判断当前这个缓存地址剩余的缓存能力是否足以存储目标信息,以数据量为前述的数据长度为例进行说明,可以利用剩余缓存长度可以表示这个缓存地址剩余的缓存能力。相应的,在写入缓存地址的过程中,针对判断继续写入当前这个缓存地址,还是写入下一个缓存地址的具体实施方式,可以是基于目标信息的数据量对应的数据长度与当前这个缓存地址的剩余缓存长度进行比较确定的。具体的,若剩余缓存长度大于或等于目标信息的数据量对应的数据长度,表明这个缓存地址剩余的缓存能力能够存储该目标信息,此时可以将该目标信息继续写入当前这个缓存地址。对应的,若剩余缓存长度小于目标信息的数据量对应的数据长度,表明这个缓存地址剩余的缓存能力不足以存储该目标信息,此时可以将该目标信息写入下一个缓存地址。
对应的,前述的对写入缓存地址的n个待测网络流量分别对应的目标信息进行聚合的具体实施方式,可以是在当前这个缓存地址不足以继续存储目标信息时,认为当前这个缓存地址的存储达到上限(如存满),此时,可以开始对当前这个缓存地址中所存储的那些目标信息进行聚合,并将聚合得到的聚合信息发送到流量检测设备进行检测,直至完成对n个待测网络流量分别对应的目标信息进行聚合。基于此,写入和检测可以是同时进行的,效率更高。
为了更好地理解,本申请实施例将以多个缓存地址可以包括两个缓存地址为例,具体可以包括第一缓存地址和第二缓存地址,以及以数据量为前述的数据长度为例进行说明:
在实际应用中,目标信息是对于检测而言的有效信息,通常,目标信息的数据量可以是固定的,目标信息的数据量可以是预设数据长度,预设数据长度例如可以是前述的40B。在写入缓存地址时,第一缓存地址可以是指前述的当前这个缓存地址,第二缓存地址可以是指前述的下一个缓存地址。具体实施时,针对n个待测网络流量中第i个待测网络流量对应的第i个目标信息,若确定第一缓存地址的剩余缓存长度大于或等于预设数据长度,表明第一缓存地址足以存储第i个目标信息,此时,可以将第i个目标信息写入第一缓存地址。其中,i为大于或等于2且小于或等于n的整数,由于第一缓存地址可以是当前这个缓存地址,也就是说,因此,第一缓存地址中可以存储有n个待测网络流量中第i-1个待测网络流量对应的第i-1个目标信息。若确定第一缓存地址的剩余缓存长度小于预设数据长度,表明第一缓存地址不足以存储第i个目标信息,此时,可以将第i个目标信息写入第二缓存地址。依次进行,直至完成将n个待测网络流量对应的n个目标信息写入缓存地址。基于此,通过先向第一缓存地址写入,当第一缓存地址无法继续写入时,再向第二缓存地址写入,能够更快满足存储到足够数量的目标信息,以便聚合得到一个聚合信息,有利于减少缓存占用以及提高聚合性能。同时,不会向缓存不足的缓存地址写入目标信息,能够避免微突发的发生,减免丢包,有利于保障检测准确性。
需要说明的是,针对如何确定第一缓存地址的剩余缓存长度的方式,本申请不做任何限定。在实际应用中,对于任一缓存地址,其缓存能力存在上限,即,最大能够存储多少的数据量,通常可以利用缓存地址的最大缓存长度表示。缓存地址在存储信息的过程中,还可以利用历史缓存长度表示缓存地址已经存储的信息的数据长度之和。此种方式中,可以利用最大缓存长度与历史缓存长度之差确定出剩余缓存长度。对应于第一缓存地址,其剩余缓存长度可以是第一缓存地址的最大缓存长度与历史缓存长度之差。
为了更好地理解前述的对写入缓存地址的n个待测网络流量分别对应的目标信息进行聚合的具体实施方式,仍以第一缓存地址和第二缓存地址为例进行说明:
在实际应用中,从缓存地址中开始读取信息的时机可以是当缓存地址存满之后进行的,也就是说,存满之前可以暂不进行读取,存满之后才进行读取。因此,在利用第一缓存地址和第二缓存地址存储n个目标信息时,为使能够存满,第一缓存地址的最大缓存长度可以包括m个预设数据长度,m为大于1的整数,即,第一缓存地址中刚好可以存储m个目标信息,第二缓存地址同理,通常,第一缓存地址和第二缓存地址可以配置有相同的最大缓存长度。相应的,当确定第一缓存地址无法继续存储时,可以认为第一缓存地址已存满,此时可以对第一缓存地址中存储的m个目标信息进行聚合,并将聚合得到的聚合信息从第一缓存地址读取出来,以便向流量检测设备发送读取到的聚合信息。同时,可以向第二缓存地址写入目标信息。当第二缓存地址存满之后,同样可以对第二缓存地址中存储的m个目标信息进行聚合,并将聚合得到的聚合信息从第二缓存地址读取出来,以便向流量检测设备发送读取到的聚合信息。依次类推,直至完成对n个待测流量分别对应的目标信息的聚合。
在具体实施时,交换机可以在将n个待测网络流量写入缓存地址的过程中,将第一缓存地址和第二缓存地址中存储有m个目标信息的缓存地址确定为目标缓存地址,也就是说,将已存满的缓存地址确定为目标缓存地址,目标缓存地址是已存满的,故可以进行读取,此时,可以基于目标缓存地址中存储的m个目标信息进行聚合,以及可以从目标缓存地址读取聚合得到的聚合信息,并向流量检测设备发送聚合得到的聚合信息,便于检测。可以理解的是,读取出聚合信息之后,目标缓存地址便可以从已存满变为未存满,后续可以继续写入目标信息。依次类推,直至完成针对n个待测流量分别对应的目标信息的聚合。
还需说明的是,针对判断第一缓存地址的剩余缓存长度与预设数据长度的大小关系的方式,本申请不做任何限定。为了便于理解,本申请实施例以第一缓存地址的最大缓存长度可以包括m个预设数据长度,m为大于1的整数为例,提供以下方式作为示例:
由于第一缓存地址中刚好可以存储m个目标信息,因此,在一种可能的实现方式中,可以基于存储个数进行判断。具体实施时,若i≤m,表明第一缓存地址中还未存储够m个目标信息,故可以确定第一缓存地址的剩余缓存长度大于或等于预设数据长度。若i>m,表明第一缓存地址中已经存储够m个目标信息了,故可以确定第一缓存地址的剩余缓存长度小于预设数据长度。基于此,可以基于存储个数进行判断,较为简单。
在实际应用中,判断继续写入第一缓存地址还是写入第二缓存地址的问题可以抽象为二叉树的结构,在二叉树中,每一个父节点可以对应有两个子节点,两个子节点分别对应于两个缓存地址,父节点在接收到目标信息后,通过控制利用哪个子节点发送目标信息的方式即可将目标信息写入该子节点对应的缓存地址。因此,在又一种可能的实现方式中,可以采用二叉树的结构实现判断以及写入。首先,在二叉树中,第一缓存地址可以对应于第一子节点,第二缓存地址可以对应于第二子节点,第一子节点和第二子节点对应于同一父节点,该父节点可以是二叉树所包括的节点中接收到第i个目标信息的节点。其次,在二叉树中,可以利用第一子节点的最大缓存长度表示可以父节点可以通过第一子节点发送的目标信息的长度上限,可以利用父节点通过第一子节点发送的历史信息长度表示父节点已经通过第一子节点发送的目标信息的长度,第二子节点同理。需要说明的是,第一子节点的最大缓存长度可以是根据父节点在二叉树中的层数与第一缓存地址的最大缓存长度确定的,因此,可以通过第一子节点发送的目标信息的长度上限是与第一缓存地址的最大缓存长度相匹配的,通过第一子节点发送的历史信息长度可以反映第一缓存地址已经存储的长度,故可以利用第一子节点的最大缓存长度以及第一子节点的历史信息长度之间的大小关系实现判断。且第一缓存地址的最大缓存长度可以包括m个预设数据长度,m为大于1的整数,故可以利用第一子节点的最大缓存长度以及第一子节点的历史信息长度之间的大小关系判断对应于第一子节点的第一缓存地址是否存储满m个目标信息。在实际应用中,由于第一子节点的最大缓存长度可以包括整数个预设数据长度,具体数量可以基于父节点在二叉树中的层数与m确定,可以是m的整数倍。
具体的,若父节点通过第一子节点发送的历史信息长度小于第一子节点的最大缓存长度,表明还可以继续通过第一子节点发送目标信息,第一缓存地址未存满,可以继续存储目标信息,此时可以确定第一缓存地址的剩余缓存长度大于或等于预设数据长度。接着,可以利用父节点向第一子节点发送第i个目标信息,通过第一子节第i个目标信息写入所述第一缓存地址。对应的,若父节点通过第一子节点发送的历史信息长度等于第一子节点的最大缓存长度,表明已达上限,第一缓存地址已经存满,此时可以确定第一缓存地址的剩余缓存长度小于预设数据长度。接着,可以利用父节点向第二子节点发送第i个目标信息,通过第二子节点将第i个目标信息写入第二缓存地址。基于此,利用二叉树的结构即可实现将目标信息写入缓存地址的目的。在二叉树中,为了便于判断,每个父节点可以记录有分别利用两个子节点发送的历史信息长度,如此可以快速判断当前的这个目标信息是走哪个子节点,走不同子节点,则对应写入的缓存地址不同。
基于二叉树的结构,父节点不会利用已达上限的子节点发送目标信息,从而保障不会向已经存满的缓存地址写入目标信息,避免产生微突发。同时,在子节点未达上限之前,会持续利用该子节点发送目标信息,从而优先向同一个缓存地址写入目标信息,较少缓存占用以及提高聚合性能。
需要说明的是,针对如何实现二叉树的结构的方式,本申请不做任何限定。在实际应用中,交换机中的寄存器可以用于控制将信息发送到指定的缓存地址,故,可以利用交换机中的寄存器实现二叉树的结构。由于二叉树的结构中存在父节点、子节点等多个层,故具体实施时,可以利用交换机中的多级寄存器控制实现二叉树的结构。
在二叉树的结构中,二叉树的深度可以是指二叉树中所包括的所有节点中最深的节点所在的层数,也可以是指根节点所在的层数。在实际应用中,缓存地址的数量不同,二叉树的深度将有所不同。具体的,二叉树的深度与缓存地址的数量之间的关系可以通过如下公式表示:
A=log
其中,A可以表示二叉树的深度,B可以表示缓存地址的数量。
例如,仍以前述的缓存地址的数量为两个,具体包括第一缓存地址和第二缓存地址为例,二叉树的深度则为1,即根节点在二叉树中的层数为1。
为了便于理解,本申请实施例以缓存地址为前述的session为例,以及以缓存地址的数量多于两个,具体包括8个为例,提供了一种二叉树的结构,可以参见图6所示。图6示出了一种二叉树的结构示意图,具体的,8个缓存地址分别可以是session
为了更好地理解,可以将每个session的最大缓存长度记作max_buffer,max_buffer可以等于m个预设数据长度。基于图6所示的二叉树的结构,可知节点4-1的最大缓存长度可以等于max_buffer,节点4-2、……、4-7以及4-8分别对应的最大缓存长度均可以等于max_buffer。节点3-1的最大缓存长度可以是其对应的子节点4-1与4-2的最大缓存长度之和,具体可以等于2*max_buffer,节点3-2、3-3以及3-4同理。节点2-1的最大缓存长度可以是其对应的子节点3-1与3-2的最大缓存长度之和,具体可以等于4*max_buffer,节点2-2同理。节点1的最大缓存长度可以是其对应的子节点2-1与2-2的最大缓存长度之和,具体可以等于8*max_buffer,由于节点1是根节点,也就是说,对于任一目标信息,均需要先到节点1,经由节点1进行发送。
可见,基于图6所示的二叉树的结构,对于任一子节点的最大缓存长度,可以是根据该子节点对应的父节点在二叉树中的层数与该子节点对应的session的最大缓存长度确定的。具体的,可以通过如下公式表示:
max_node=2
其中,max_node可以表示任一子节点的最大缓存长度,a可以表示该子节点对应的父节点在二叉树中的层数,max_buffer可以表示该子节点对应的session的最大缓存长度。
采用本申请提供的数据发包方式,由于不会向存满的session写入目标信息,故能够保障不会有微突发场景发生,从而可以不受微突发的影响。同时,能够降低缓存占用。具体的,若采用相关技术中的数据发包方式,多个session几乎同时写满,此时才可读取聚合信息,在得到聚合信息之前不会读取,从而造成缓存占用,且占用的缓存大于或等于session的数量乘以一个聚合信息的数据长度。而采用本申请提供的数据发包方式后,优先将一个session写满后再向下一个session写入,如此可以更快满足写满,然后聚合并读取聚合信息等,减少缓存占用。
通过以上实施例,对本申请实施例提供的数据处理方法进行了详细说明。需要说明的是,在以上实施例中,针对如何获取待测网络流量的方式,即,针对前述S301的具体实施方式,本申请不做任何限定。为了便于理解,本申请实施例以待测网络流量是复制得到的为例,提供以下方式作为示例:
在具体应用时,交换机可以对进入的传输网络流量进行判断,传输网络流量可以是指交换机需要进行转发处理的网络流量,判断具体可以是指判断传输网络流量是否是复制得到的,如果是复制得到的,可以认为传输网络流量是用于检测的网络流量,便可以将其确定为待测网络流量进行后续处理并向流量检测设备转发,实现检测。如果不是复制得到的,表明传输网络流量是用于网络通信的网络流量,便无需将其确定为待测网络流量,保障网络通信。因此,在一种可能的实现方式中,前述的S301在具体实施时,交换机可以首先获取传输网络流量,并对传输网络流量进行判断,当判断确定是复制得到的时,可以将传输网络流量确定为待测网络流量。相应的,当判断确定不是复制得到的时,无需将其确定为待测网络流量,以保障网络通信。
需要说明的是,针对交换机如何对传输网络流量进行判断的方式,本申请不做任何限定。在实际应用中,网络流量可以携带有类型标识,类型标识可以用于表征网络流量是否是复制得到的,因此,在一种可能的实现方式中,交换机可以利用类型标识对传输网络流量进行判断。在具体实施时,类型标识可以包括复制标识和业务标识,复制标识可以用于表征网络流量是复制得到的,是用于检测的网络流量,业务标识可以用于表征网络流量不是复制得到的,是用于网络通信的网络流量。对应这种方式,前述的S301在具体实施时,交换机可以首先获取传输网络流量,传输网络流量可以是指交换机需要进行转发处理的网络流量。接着,交换机可以对传输网络流量进行解析,得到传输网络流量的类型标识,传输网络流量的类型标识可以用于表征传输网络流量是否是复制得到的。若类型标识为复制标识,表明传输网络流量是复制得到的,此时,交换机可以将传输网络流量确定为待测网络流量。相应的,若类型标识为业务标识,表明传输网络流量不是复制得到的,而是用于网络通信的网络流量,故无需将其确定为待测网络流量。基于此,可以通过类型标识的方式,实现对传输网络流量的判断。
需要说明的是,针对如何获取传输网络流量的方式,本申请不做任何限定。首先,传输网络流量可以是指交换机需要进行转发处理的网络流量,而在实际应用中,用于网络通信的网络流量是经由交换机进行转发的,用于检测的网络流量也是经由交换机进行转发的。可见,传输网络流量既可以包括用于检测的网络流量,也可以包括用于网络通信的网络流量。其中,用于检测的网络流量是基于用于网络通信的网络流量进行复制得到的,进行复制的方式不同,获取传输网络流量的方式可能有所不同。为了便于理解,本申请实施例提供以下两种方式作为示例:
在实际应用中,交换机可以首先获取初始网络流量,初始网络流量可以是指用于网络通信的网络流量,对应的,初始网络流量的类型标识为业务标识。在一种可能实现方式中,在获取到初始网络流量之后,交换机可以直接对初始网络流量进行组播复制,得到复制网络流量,复制网络流量的类型标识为复制标识。接着,交换机可以将初始网络流量和复制网络流量分别确定为传输网络流量。其中,组播复制是一种灵活的复制方式,可以灵活控制复制的数量,采用组播复制的方式,有利于提高实施本申请所提供方法的灵活性。基于此,先对初始网络流量进行复制,可以认为是一种复制前置的方式,使得传输网络流量既包括初始网络流量,同时又包括复制网络流量,采用复制前置的方式,在收到传输网络流量之后便可以接着进行检测,有利于提高检测效率。
区别于上述复制前置的方式,在又一种可能实现方式中,还可以采用复制后置的方式,即,针对获取到的初始网络流量,交换机暂不复制,而是在后续判断之后,再进行复制以进行后续检测。在具体实施时,交换机可以首先获取初始网络流量,并将获取到的初始网络流量确定为传输网络流量,初始网络流量的类型标识为业务标识。基于此,交换机所收到的传输网络流量首先可以是初始网络流量。接着,在确定传输网络流量的类型标识为业务标识之后,为了实现检测且不对网络通信造成影响,此时交换机可以对传输网络流量进行复制,并将复制得到的复制网络流量确定为传输网络流量,复制网络流量的类型标识为复制标识。相应的,交换机后续收到的传输网络流量可以是复制网络流量,可以用于后续检测。基于此,通过复制后置的方式,使得传输网络流量首先可以是初始网络流量,后续可以是复制网络流量,既可以保障网络通信,又能实现检测。采用复制后置的方式,可以是在判断之后再进行复制,更加灵活。
需要说明的是,对于如何获取初始网络流量的方式,本申请不做任何限定。在实际应用中,初始网络流量可以是指用于网络通信的网络流量,具体可以是指设备之间发送的网络流量。以前述的第一设备向第二设备发送网络流量为例,交换机可以在第一设备向第二设备发送网络流量的过程中,从发送的网络流量中获取初始网络流量。在实际应用中,第一设备可以以设备接口为基本单元向第二设备发送网络流量,对应的,交换机可以从第一设备的设备接口获取初始网络流量,基于此,检测也可以认为是一种以设备接口为基本单元的网络流量检测,有利于定位存在异常的设备接口等。此外,还可以根据检测需求对第一设备向第二设备发送网络流量进行分类,基于分类区分发送的网络流量是否需要检测,筛选出需要检测的网络流量确定为初始网络流量,进行后续检测,无需检测的网络流量直接转发到第二设备即可。
在网络流量检测中,主要可以从检测准确性以及所需的带宽成本两个维度对网络流量检测进行评估。可以理解的是,对发送的网络流量进行检测的比例越高,越有利于保障检测准确性,对发送的网络流量进行检测的比例越低,越有利于降低所需的带宽成本。对发送的网络流量进行检测的比例不同,也就是指从发送的网络流量中获取初始网络流量的比例不同。可以理解的是,不同的网络流量检测场景,对应的检测需求可能不同,如有些网络流量检测场景更加关注检测准确性,有些网络流量检测场景更加关注带宽成本。因此,可以通过调节获取初始网络流量的比例,使得检测能够灵活适用于各种网络流量检测场景。
在实际应用中,可以通过设置采样比例的方式调节获取初始网络流量的比例。具体实施时,在第一设备向第二设备发送网络流量的过程中,交换机可以根据采样比例对发送的网络流量进行采样,得到初始网络流量。其中,采样比例可以是指从发送的网络流量中获取初始网络流量的比例,具体可以是指发送的网络流量的数量与初始网络流量的数量之比。在实际应用中,可以利用互联网标准的征求意见稿(Request For Comments,RFC)所支持的sFlow网络流量检测技术,根据采样比例对发送的网络流量进行采样。基于此,可以通过设置采样比例的方式,实现对检测比例的调节,从而使得检测更加符合实际的检测需求。
需要说明的是,对于采样比例的设置,本申请不做任何限定。为了便于理解,本申请实施例提供以下方式作为示例:
为了保障检测准确性,在一种可能的实现方式中,可以设置采样比例为1:1,也就是说,发送的网络流量的数量与初始网络流量的数量之比为1:1。基于此,可以对发送的网络流量均进行检测。如此一来,实现全面检测,可以对网络流量进行精细化地检测与分析,有效减免遗漏有状态的网络流量(即异常的网络流量),从而保障检测准确性。需要说明的是,针对采样比例为1:1的这种采样方式,若采用相关技术中全量发送到流量检测设备的方式,虽然能够保障检测准确性,但是,所需的带宽成本较高。相较于相关技术,在采用本申请提供的方法之后,只需向流量检测设备发送目标信息(即有效信息),因此,在保障检测准确性的同时,能够降低带宽成本。尤其针对网络流量的体量是非常巨大的网络流量检测场景,采用本申请之后,能够在保障检测准确性的基础上,极大地降低网络流量检测的带宽成本。在实际应用中,同一网络流量检测场景中,针对初始网络流量相同且初始网络流量的数量也相同的情况,采用本申请所需的带宽成本为原来的8%左右,降低了92%左右,极大地降低网络流量检测的带宽成本。
在实际应用中,出于带宽成本的考虑,还可以设置采样比例为N:1,N为大于1的整数,也就是说,发送的网络流量的数量与初始网络流量的数量之比为N:1。在具体实施时,可以每发送N个网络流量,采样一个初始网络流量。基于此,可以有效降低进行检测的比例,有利于降低带宽成本。需要说明的是,针对采样比例为N:1的这种采样方式,若采用相关技术中全量发送到流量检测设备的方式,通过减少数量的方式,在一定程度上能够降低所需的带宽成本。相较于相关技术,在采用本申请提供的方法之后,由于只需向流量检测设备发送目标信息(即有效信息),因此,能够更进一步地降低所需的带宽成本。也就是说,在N相同的情况下,采用本申请所需的带宽成本更低,在消耗的带宽成本相同的情况下,采用本申请可以设置N为更小的取值,增大进行检测的网络流量的占比,检测准确性更高。
通过以上实施例对本申请进行了详细介绍,为了更好地理解本申请所提供方法的实施,下面以交换机为前述的可编程交换机为例,对第一设备向第二设备发送网络流量的场景进行检测。对应可以参见图7所示,图7示出了一种网络流量检测的系统架构示意图,具体可以包括第一设备、第二设备、可编程交换机以及流量检测设备。本申请实施例提供的数据处理方法可以由可编程交换机进行执行,具体的,可编程交换机可以包括分类单元、复制单元、重组单元、聚合单元以及业务单元:
分类单元,可以用于对第一设备向第二设备发送的网络流量进行分类筛选需要检测的网络流量以及按照采样比例进行采样,得到初始网络流量。在实际应用中,分类单元的执行逻辑可以称为入向处理逻辑,可以基于可编程交换机的可编程性进行编写入向处理逻辑。
复制单元,可以用于对初始网络流量进行复制。需要说明的是,复制单元对对初始网络流量进行复制的时机不同,复制单元输出的传输网络流量会有所差异。在实际应用中,可以利用可编程交换机的复制引擎(Packet Replication Engine,PRE)对需要进行复制的网络流量进行复制。
重组单元,可以用于对传输网络流量进行解析,确定类型标识,区分出复制网络流量确定为待测网络流量,并对待测网络流量进行信息提取,得到目标信息。相应的,可以将区分出的初始网络流量发送到业务单元。在实际应用中,可以在重组单元配置出向处理逻辑,基于出向处理逻辑实现区分复制网络流量以及初始网络流量的目的,以及可以对区分出的复制网络流量进行修改,保留有效信息,即目标信息。以网络流量为报文为例,还可以对提取出的携带有效信息的报文字段进行重组以得到同为报文形式的目标信息。
其中,重组单元中的出向处理逻辑的执行语句可以如下:
If packet is mirrored:
进行修改,保留有效信息;
Else:
不进行修改。
其中,packet可以是指传输网络流量。
在重组单元中,得到目标信息后,若对应于前述的非聚合模式,重组单元可以将得到的目标信息发送到流量检测设备,具体可以是通过可编程交换机的端口向流量检测设备发送目标信息。对应于前述的聚合模式,重组单元可以将得到的目标信息发送到聚合单元。在实际应用中,基于信息提取得到目标信息的过程也可以认为是从待测网络流量中复制目标信息的过程,具体可以先对待测网络流量进行修改,保留有效信息,而后可以使用可编程交换机的可编程交换芯片的Collescing Mirror的底层能力,将已经修改好的待测网络流量的内容原样的复制一份得到目标信息。同时可以将被修改的待测网络流量丢弃。在实际应用中,重组单元中可以包括镜像逻辑,基于镜像逻辑可以对采用的模式进行判断,对应不同模式,以不同的发送流程发送目标信息,以及可以将区分出的初始网络流量发送到业务单元。镜像逻辑的执行语句可以如下:
If mode is collescing mirror:
将目标信息写入缓存地址;
If mode is normal mirror:
将目标信息发送到业务单元;
Else:
将初始网络流量发送到业务单元。
其中,mode可以是指当前采用的处理模式,具体可以是前述的聚合模式,即modeis collescing mirror,也可以是前述的非聚合模式,即mode is normal mirror。其他情况,可以是指针对未进行修改的初始网络流量,可以将初始网络流量发送到业务单元。
聚合单元,可以用于对接收到的目标信息进行聚合,将多个目标信息聚合到一个聚合信息后,向流量检测设备发送聚合信息,具体可以是通过可编程交换机的端口向流量检测设备发送聚合信息。在聚合单元中,可以包括发包和缓存两个部分,其中,发包部分可以用于控制将多个目标信息发送到对应的缓存地址中发送方式,发包部分可以采用前述的二叉树的结构进行,具体可以是基于可编程交换机的多级寄存器实现的,能够降低缓存占用,提高缓存使用率。缓存部分可以是指将目标信息写入对应的缓存地址中,等到缓存地址写满之后,可以从中读取指定长度的聚合信息进行发送。对应于重组单元利用可编程交换芯片的Collescing Mirror的底层能力复制得到目标信息,聚合单元可以将目标信息写入可编程交换芯片的Collescing Mirror对应的缓存地址中,如可以是可编程交换芯片的片上存储,具体可以是静态随机存取存储器(Static Random-Access Memory,SRAM)。如此,等到聚合达到指定长度之后,可以将存储的SARM信息读出,具体可以是读取指定长度的聚合信息,同时释放这块缓存空间。
业务单元,用于向第二设备发送分类单元输出的无需检测的网络流量以及重组单元输出的初始网络流量,具体可以是通过可编程交换机的端口向第二设备发送这些网络流量,以实现转发,保障网络通信。
对应于前述的复制后置以及复制前置两种不同的方式,对此,本申请实施例分别提供了两种方式对应的处理逻辑示意图。具体如下:
针对复制后置的方式,将结合图8进行说明,图8示出了一种两次镜像的处理逻辑示意图。在图8中,首先,经过入向处理逻辑处理后得到的初始网络流量进入队列调度(如图中①所示),队列调度可以用于对网络流量进行调度,基于队列调度可以确定利用哪个端口发送网络流量。在实际应用中,调度处理可以是流量管理器(Traffic Manager)。具体的,基于队列调度可以调度传输网络流量进入出向处理逻辑(如图中②所示),基于出向处理逻辑判断传输网络流量的类型标识为业务标识,故不进行修改。为了进行检测,接着,可以进入镜像逻辑(如图中③所示),基于镜像逻辑对传输网络流量进行复制,并将复制得到的复制网络流量确定为传输网络流量进入调度单元(如图中④所示)。队列调度将此时的传输网络流量调度进入出向处理逻辑(如图中⑤所示),经出向处理逻辑判断可以确定传输网络流量是复制得到的,此时可以进行修改,基于修改保留有效信息,即目标信息。接着,进入镜像逻辑(如图中⑥所示),若判断采用的是聚合模式,则可以利用Collescing Mirror的底层能力对修改后保留的内容原样复制一份,再发送到聚合单元。聚合单元可以将目标信息写入缓存地址(如图中⑦所示),当写满或者聚合到指定长度时,可以从缓存地址中读取指定长度的聚合信息(如图中⑧所示)。可以理解的是,还可以对读取到的聚合信息进行外层封装,主要可以是将流量检测设备的地址与聚合信息封装在一起。由于聚合信息是需要发送到流量检测设备的,故可以将读取到的聚合信息进入队列调度,通过队列调度确定后续利用交换机对应的端口,便于向流量检测设备发送。在实际应用中,可以通过编程出向处理逻辑的方式实现外层封装,相应的,经过队列调度的聚合信息可以进入出向处理逻辑(如图中⑨所示),基于出向处理逻辑的处理完成外层封装,完成封装后的聚合信息可以进入端口(如图中⑩所示)。最后,可以利用端口向对应的流量检测设备发送聚合信息。若判断采用的是非聚合模式,则将目标信息推到可编程交换机的端口。同样的,对于基于类型标识为业务标识的传输网络流量,也就是初始网络流量,基于镜像逻辑判断确定后推到端口。这种复制后置方式中,在出向处理逻辑判断之后进行了两次复制,第一次复制如图中④所示,第二次复制如图中⑦所示,两次复制可以称为是两次镜像,故也可以称为是一种两次镜像的方式。
需要说明的是,在图8中,为了便于区分,利用虚线箭头表示复制得到的相关信息的流程(如复制得到的复制网络流量,又如复制得到的目标信息等),利用实线箭头表示初始网络流量的流程。
针对复制前置的方式,将结合图9进行说明,图9示出了一种组播复制结合一次镜像的处理逻辑示意图。在图9中,首先,经过入向处理逻辑处理后得到的初始网络流量进入组播复制(如图中①所示),即通过复制单元直接对初始网络流量进行组播复制,得到对应的复制网络流量,组播复制可以是利用复制单元基于PRE完成的。接着,可以将初始网络流量和复制网络流量分别确定为传输网络流量进入队列调度(如图中②所示)。由于此时的传输网络流量既包括初始网络流量,又包括复制网络流量,故在队列调度进入出向处理逻辑以及后续处理中,为了便于区分,与图8类似,在图9中示出了实线箭头和虚线箭头,利用实线箭头表示初始网络流量的流程,利用虚线箭头表示复制得到的相关信息的流程。接着,传输网络流量进入出向处理逻辑(如图中③所示),基于出向处理逻辑对传输网络流量进行判断处理,判断类型标识为业务标识,不进行修改,若判断类型标识为复制标识,进行修改,基于修改保留有效信息,即目标信息。接着,传输网络流量中未被修改的网络流量以及修改后的网络流量进入镜像逻辑(如图中④所示),若判断采用的是聚合模式,则可以利用Collescing Mirror的底层能力对修改后保留的内容原样复制一份,再发送到聚合单元。聚合单元可以将目标信息写入缓存地址(如图中⑤所示),当写满或者聚合到指定长度时,可以从缓存地址中读取指定长度的聚合信息(如图中⑥所示)。可以理解的是,还可以对读取到的聚合信息进行外层封装,主要可以是将流量检测设备的地址与聚合信息封装在一起。由于聚合信息是需要发送到流量检测设备的,故可以将读取到的聚合信息进入队列调度,通过队列调度确定后续利用交换机对应的端口,便于向流量检测设备发送。在实际应用中,可以通过编程出向处理逻辑的方式实现外层封装,相应的,经过队列调度的聚合信息可以进入出向处理逻辑(如图中⑦所示),基于出向处理逻辑的处理完成外层封装,完成封装后的聚合信息可以进入端口(如图中⑧所示)。最后,可以利用端口向对应的流量检测设备发送聚合信息。若判断采用的是非聚合模式,则将目标信息推到可编程交换机的端口。同样的,对于基于类型标识为业务标识的传输网络流量,也就是初始网络流量,基于镜像逻辑判断后推到端口。这种复制前置方式中,在出向处理逻辑之前进行了组播复制(如图中②所示),在出向处理逻辑之后仅需进行一次复制(如图中⑤所示),故可以称为组播复制结合一次镜像的方式。
由上述技术方案可以看出,在网络通信中需对网络流量进行检测时,首先可以获取待测网络流量,待测网络流量可以是指用于检测的网络流量。接着,可以对待测网络流量进行信息提取,得到待测网络流量对应的目标信息。其中,目标信息可以是指对待测网络流量进行检测时所需的信息,即,目标信息是对于检测而言的有效信息,因此,得到目标信息后,可以向流量检测设备发送目标信息,该流量检测设备可以对目标信息进行检测,得到待测网络流量对应的检测结果,从而达到检测的目的。由于目标信息的数据量小于待测网络流量的数据量,使得向流量检测设备发送目标信息所需的带宽成本小于发送待测网络流量所需的带宽成本,从而在实现对网络流量进行检测的基础上,能够降低带宽成本。
在实际的网络流量检测场景中,交换机在将接收到的网络流量转发到流量检测设备时,会先对网络流量进行封装,封装通常可以是将其他相关信息与网络流量封装在一起,例如,可以是将网络流量接收端的IP地址(如流量检测设备的IP地址)与网络流量封装在一起,如此,便可以基于封装后携带的IP地址进行发送。相关技术中,针对每个网络流量,均进行封装。在网络流量体量十分巨大的网络流量检测场景,需要检测的网络流量的数量较多,采用相关技术中的封装方式,对每个需要检测的网络流量进行封装,然后发送,每个需要检测的网络流量均需要发送一次,且每个发送的网络流量中均携带有封装的IP地址等,如此,会占用较多的发送资源以及所需的带宽成本较高。
对此,本申请实施例还提供了一种数据处理方式,可以应用于交换机,交换机可以对需要检测的多个网络流量进行聚合,基于聚合将多个网络流量封装为一个检测流量,封装得到的这个检测流量可以包括多个网络流量的,故交换机可以向流量检测设备发送检测流量,以便进行检测。由于封装可以将多个网络流量封装在一个检测流量中,只需封装一次,对应的,多个网络流量可以只封装一个IP地址,且这一个检测流量中包含有多个网络流量,故发送这一个检测流量即可实现发送多个网络流量的目的,能够降低所需的带宽成本。
对应的,图10为本申请实施例提供的一种数据处理方法的流程图,以交换机作为前述计算机设备的示例进行说明,所述方法包括S1001-S1003:
S1001:获取多个待测网络流量。
在需对网络流量进行检测时,交换机可以获取多个待测网络流量,待测网络流量可以是指用于检测的网络流量。在实际应用中,交换机可以从网络流量的发送设备(如前述的第一设备)的端口获取待测网络流量。针对获取多个待测网络流量的方式,具体可以参见前述S301的实施方式,此处不再赘述。
S1002:对多个待测网络流量进行聚合,将多个待测网络流量封装为一个检测流量。
针对获取到的多个待测网络流量,交换机可以对多个待测网络流量进行聚合,将多个待测网络流量封装为一个检测流量,该检测流量可以包含多个待测网络流量,以及检测流量的数量为一个,即,针对多个待测网络流量仅需封装一次即可,有利于降低所需的带宽成本。
需要说明的是,针对如何进行聚合、封装为一个检测流量的方式,本申请不做任何限定。在实际应用中,不同的聚合、封装方式,得到的一个检测流量可能不同,检测流量的不同具体可以是指检测流量的内容不同。而检测流量的内容与检测结果直接相关,不同内容的检测流量可以得到不同的检测结果。为了便于理解,本申请实施例提供以下方式作为示例:
在实际应用中,交换机作为网络流量的转发设备,相较于网络流量的发送设备与接收设备而言,是中间设备。在网络流量检测场景中,作为中间设备的一个交换机往往会负责对来自多个发送设备的网络流量进行转发与检测,即,前述的多个待测网络流量可以是来自多个来源的待测网络流量。检测的主要目的之一便是定位异常的源头,为了保障能够基于检测结果定位异常的源头等,可以将各个待测网络流量的来源聚合封装在检测流量中。其中,待测网络流量的来源可以用于指示待测网络流量是来自设备的哪个端口、来自哪个设备等,在实际应用中,针对多个待测网络流量,可以首先对多个待测网络流量分别进行处理,确定各个待测网络流量的来源。接着,可以基于聚合封装得到一个检测流量,基于聚合封装将各个待测网络流量的来源封装在一个检测流量中。基于此,得到的这一个检测流量可以反映各个待测网络流量的来源,如此,在对检测流量进行检测后,一旦检测出存在异常,能够基于来源定位异常的是哪个端口、哪个设备等。
此外,还可以聚合来自同一来源的待测网络流量的数量,对应的,将各个来源的待测网络流量的数量可以封装在这个检测流量中,基于此得到的这一个检测流量还可以反映来自同一来源的待测网络流量的数量。如此,在对检测流量进行检测后,还可以利用同一来源的待测网络流量的异常比例来评估多个来源的网络安全情况。例如,某一来源的异常比例越高,表明该来源的网络越不安全。
S1003:向流量检测设备发送检测流量。
其中,流量检测设备可以用于对检测流量进行检测,得到多个待测网络流量分别对应的检测结果。基于此,完成检测,且由于封装可以将多个网络流量封装在一个检测流量中,只需封装一次,对应的,多个网络流量可以只封装一个IP地址,且这一个检测流量中包含有多个网络流量,故发送这一个检测流量即可实现发送多个网络流量的目的,能够在实现检测的基础上降低进行检测所需的带宽成本。
为了更好地理解,以交换机为前述的可编程交换机为例。为了便于对多个待测网络流量进行聚合、封装为一个检测流量,可以利用可编程交换机的可编程交换芯片的Collescing Mirror的底层能力,将多个待测网络流量写入可编程交换芯片对应的缓存地址。基于此,可以利用缓存地址实现对多个待测网络流量的缓存存储,通常,缓存地址存满之后便可以进行聚合、封装得到对应的一个检测流量,有利于节省交换机的硬件性能。例如,可以是节省可编程交换机的可编程交换芯片的性能。
由上述技术方案可以看出,在网络通信中需对网络流量进行检测时,可以将多个待测网络流量进行聚合、封装为一个检测流量,这一个检测流量可以包含多个待测网络流量,故基于对这一个检测流量进行检测的方式能够保障实现对多个待测网络流量的检测。同时,由于是将多个待测网络流量封装为一个检测流量,即只需封装一次。在实际应用中,以封装IP地址为例,采用本申请后,多个待测网络流量可以只封装一个IP地址,故发送这一个检测流量即可实现发送多个网络流量的目的,能够在实现检测的基础上降低进行检测所需的带宽成本。
需要说明的是,本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
基于图3对应实施例提供的数据处理方法,本申请实施例还提供一种数据处理装置1100,所述数据处理装置1100包括获取单元1101、提取单元1102和发送单元1103:
所述获取单元1101,用于获取待测网络流量;
所述提取单元1102,用于对所述待测网络流量进行信息提取,得到所述待测网络流量对应的目标信息;所述目标信息的数据量小于所述待测网络流量的数据量;
所述发送单元1103,用于向流量检测设备发送所述目标信息;所述流量检测设备用于对所述目标信息进行检测,得到所述待测网络流量对应的检测结果。
在一种可能的实现方式中,所述待测网络流量包括n个待测网络流量,n为大于1的整数,所述发送单元还用于:
对所述n个待测网络流量分别对应的目标信息进行聚合;
向所述流量检测设备发送聚合得到的聚合信息;所述流量检测设备用于对接收到的聚合信息进行检测得到检测结果。
在一种可能的实现方式中,所述装置还包括写入单元:
所述写入单元,用于将所述n个待测网络流量分别对应的目标信息写入缓存地址;
所述发送单元还用于:
对写入所述缓存地址的所述n个待测网络流量分别对应的目标信息进行聚合;
从所述缓存地址读取聚合得到的聚合信息,向所述流量检测设备发送读取到的聚合信息。
在一种可能的实现方式中,所述缓存地址包括第一缓存地址和第二缓存地址,所述目标信息的数据量为预设数据长度,所述写入单元还用于:
针对所述n个待测网络流量中第i个待测网络流量对应的第i个目标信息,若确定所述第一缓存地址的剩余缓存长度大于或等于所述预设数据长度,将所述第i个目标信息写入所述第一缓存地址;i为大于或等于2且小于或等于n的整数,所述第一缓存地址中存储有所述n个待测网络流量中第i-1个待测网络流量对应的第i-1个目标信息;
若确定所述第一缓存地址的剩余缓存长度小于所述预设数据长度,将所述第i个目标信息写入所述第二缓存地址;
直至完成将所述n个待测网络流量对应的n个目标信息写入缓存地址。
在一种可能的实现方式中,所述第一缓存地址的最大缓存长度包括m个所述预设数据长度,m为大于1的整数,所述写入单元还用于:
若i≤m,确定所述第一缓存地址的剩余缓存长度大于或等于所述预设数据长度;
若i>m,确定所述第一缓存地址的剩余缓存长度小于所述预设数据长度。
在一种可能的实现方式中,所述第一缓存地址对应于第一子节点,所述第二缓存地址对应于第二子节点,所述第一子节点和所述第二子节点对应于同一父节点,所述父节点为二叉树所包括的节点中接收到所述第i个目标信息的节点,所述写入单元还用于:
若所述父节点通过所述第一子节点发送的历史信息长度小于所述第一子节点的最大缓存长度,确定所述第一缓存地址的剩余缓存长度大于或等于所述预设数据长度;所述第一子节点的最大缓存长度是根据所述父节点在所述二叉树中的层数与所述第一缓存地址的最大缓存长度确定的,所述第一缓存地址的最大缓存长度包括m个所述预设数据长度,m为大于1的整数;
利用所述父节点向所述第一子节点发送所述第i个目标信息,通过所述第一子节点将所述第i个目标信息写入所述第一缓存地址;
若所述父节点通过所述第一子节点发送的历史信息长度等于所述第一子节点的最大缓存长度,确定所述第一缓存地址的剩余缓存长度小于所述预设数据长度;
利用所述父节点向所述第二子节点发送所述第i个目标信息,通过所述第二子节点将所述第i个目标信息写入所述第二缓存地址。
在一种可能的实现方式中,所述发送单元还用于:
在将所述n个待测网络流量写入缓存地址的过程中,将所述第一缓存地址和所述第二缓存地址中存储有m个目标信息的缓存地址确定为目标缓存地址;
基于所述目标缓存地址中存储的m个目标信息进行聚合;
直至完成针对所述n个待测流量分别对应的目标信息的聚合。
在一种可能的实现方式中,所述获取单元还用于:
获取传输网络流量;
对所述传输网络流量进行解析,得到所述传输网络流量的类型标识;
若所述类型标识为复制标识,将所述传输网络流量确定为所述待测网络流量。
在一种可能的实现方式中,所述获取单元还用于:
获取初始网络流量;所述初始网络流量的类型标识为业务标识;
对所述初始网络流量进行组播复制,得到复制网络流量;所述复制网络流量的类型标识为所述复制标识;
将所述初始网络流量和所述复制网络流量分别确定为所述传输网络流量。
在一种可能的实现方式中,所述获取单元还用于:
获取初始网络流量,将获取到的所述初始网络流量确定为所述传输网络流量;所述初始网络流量的类型标识为业务标识;
在确定所述传输网络流量的类型标识为所述业务标识之后,对所述传输网络流量进行复制,将复制得到的复制网络流量确定为所述传输网络流量;所述复制网络流量的类型标识为所述复制标识。
在一种可能的实现方式中,所述获取单元还用于:
在第一设备向第二设备发送网络流量的过程中,根据采样比例对发送的网络流量进行采样,得到所述初始网络流量。
由上述技术方案可以看出,在网络通信中需对网络流量进行检测时,首先可以获取待测网络流量,待测网络流量可以是指用于检测的网络流量。接着,可以对待测网络流量进行信息提取,得到待测网络流量对应的目标信息。其中,目标信息可以是指对待测网络流量进行检测时所需的信息,即,目标信息是对于检测而言的有效信息,因此,得到目标信息后,可以向流量检测设备发送目标信息,该流量检测设备可以对目标信息进行检测,得到待测网络流量对应的检测结果,从而达到检测的目的。由于目标信息的数据量小于待测网络流量的数据量,使得向流量检测设备发送目标信息所需的带宽成本小于发送待测网络流量所需的带宽成本,从而在实现对网络流量进行检测的基础上,能够降低带宽成本。
基于图10对应实施例提供的数据处理方法,本申请实施例还提供又一种数据处理装置1200,所述数据处理装置1200包括获取单元1201、聚合单元1202和发送单元1203:
所述获取单元1201,用于获取多个待测网络流量;
所述聚合单元1202,用于对所述多个待测网络流量进行聚合,将所述多个待测网络流量封装为一个检测流量;
所述发送单元1203,用于向流量检测设备发送所述检测流量;所述流量检测设备用于对所述检测流量进行检测,得到所述多个待测网络流量分别对应的检测结果。
由上述技术方案可以看出,在网络通信中需对网络流量进行检测时,可以将多个待测网络流量进行聚合、封装为一个检测流量,这一个检测流量可以包含多个待测网络流量,故基于对这一个检测流量进行检测的方式能够保障实现对多个待测网络流量的检测。同时,由于是将多个待测网络流量封装为一个检测流量,即只需封装一次。在实际应用中,以封装IP地址为例,采用本申请后,多个待测网络流量可以只封装一个IP地址,故发送这一个检测流量即可实现发送多个网络流量的目的,能够在实现检测的基础上降低进行检测所需的带宽成本。
本申请实施例还提供了一种计算机设备,该计算机设备可以是终端,以终端为智能手机为例:
图13示出的是与本申请实施例提供的智能手机的部分结构的框图。参考图13,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1310、存储器1320、输入单元1330、显示单元1340、传感器1350、音频电路1360、无线保真(英文缩写:WiFi)模块1370、处理器1380、以及电源1390等部件。输入单元1330可包括触控面板1331以及其他输入设备1332,显示单元1340可包括显示面板1341,音频电路1360可以包括扬声器1361和传声器1362。本领域技术人员可以理解,图13中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1320可用于存储软件程序以及模块,处理器1380通过运行存储在存储器1320的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1380是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1320内的软件程序和/或模块,以及调用存储在存储器1320内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1380可包括一个或多个处理单元;优选的,处理器1380可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1380中。
在本实施例中,由智能手机中的处理器1380执行的步骤可以基于图13所示的结构实现。
本申请实施例提供的计算机设备还可以是服务器,请参见图14所示,图14为本申请实施例提供的服务器1400的结构图,服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器,例如中央处理器(Central Processing Units,简称CPU)1422,以及存储器1432,一个或一个以上存储应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作系统1441,例如Windows Server,Mac OS X,Unix, Linux,FreeBSD等等。
在基于图3提供的数据处理方法实施例中,服务器1400中的中央处理器1422可以执行以下步骤:
获取待测网络流量;
对所述待测网络流量进行信息提取,得到所述待测网络流量对应的目标信息;所述目标信息的数据量小于所述待测网络流量的数据量;
向流量检测设备发送所述目标信息;所述流量检测设备用于对所述目标信息进行检测,得到所述待测网络流量对应的检测结果。
在基于图10提供的数据处理方法实施例中,服务器1400中的中央处理器1422可以执行以下步骤:
获取多个待测网络流量;
对所述多个待测网络流量进行聚合,将所述多个待测网络流量封装为一个检测流量;
向流量检测设备发送所述检测流量;所述流量检测设备用于对所述检测流量进行检测,得到所述多个待测网络流量分别对应的检测结果。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被计算机设备运行时,使得所述计算机设备执行前述各个实施例所述的数据处理方法。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
- 一种SDH数据处理方法、系统及相关装置
- 一种技术评审数据处理方法及相关装置
- 一种数据库的审计日志处理方法及相关装置
- 一种数据处理方法以及相关装置
- 一种数据处理方法、装置和用于数据处理的装置
- 通过显示接口传送/接收压缩相关指示信息的数据处理装置与相关数据处理方法
- 发送/接收图片的压缩的像素数据组和像素数据分组设定的指示信息的数据处理装置以及相关数据处理方法