一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据镜像的方法、装置、电子设备及交换机集群与流程

2022-07-31 06:20:40 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及数据镜像技术领域。


背景技术:

2.现有的方案中,在进行idc流量分析审计时,镜像策略较为简单,通常会将待分析流量镜像多份后再均衡分发到多个分析集群中,导致分析集群可能接收到大量不感兴趣的流量数据。


技术实现要素:

3.本公开提供了一种用于数据镜像的方法、装置、电子设备及交换机集群。
4.根据本公开的一方面,提供了一种数据镜像的方法,适用于交换机集群中的任一交换机中,包括:接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口。
5.根据本公开的另一方面,提供了一种数据镜像的方法,适用于交换机集群中的任一交换机中,包括:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中。
6.根据本公开的另一方面,提供了一种数据镜像的装置,适用于交换机集群中的任一交换机中,包括:接收模块,被配置为接收目标数据;检索模块,被配置为从交换机集群中确定目标数据的目标设备,其中,目标设备用于将目标数据镜像并发送到用于分析目标数据的分析服务器;处理模块,被配置为确定目标设备中与目标数据对应的目标端口,其中,目标设备包括至少一个端口,目标端口与用于分析目标数据的分析服务器连接;发送模块,被配置为将目标数据镜像到目标端口。
7.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行数据镜像的方法。
8.根据本公开的另一方面,提供了一种交换机集群,包括:第一交换机;以及与第一交换机互联的第二交换机;其中,第一交换机用于执行数据镜像的方法,第二交换机用于执行数据镜像的方法。
9.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行数据镜像的方法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现数据镜像的方法。
11.在本公开中,采用接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口的方式,通过确定分析集群中用于镜像目标数据的目标设备,并进一步确定目标设备中用于发送镜像数据到用于分析目标数据的数据处理设备,实现了只将镜像数据发送到用于分析目标数据的数据处理设备,而不分析目标数据的镜像设备则不会接收到镜像数据。
12.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
13.附图用于更好地理解本方案,不构成对本公开的限定。其中:
14.图1是根据本公开实施例的数据镜像的方法的流程示意图;
15.图2是根据本公开实施例的另一种数据镜像的方法的流程示意图;
16.图3是根据本公开实施例的数据镜像的方法的场景图;
17.图4是根据本公开实施例的数据镜像装置的框图;
18.图5是用来实现本公开实施例的交换机集群的框图;
19.图6是用来实现本公开实施例的数据镜像方法的电视设备的框图;
具体实施方式
20.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
21.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.目前互联网数据中心(idc,internet data center)是当前互联网服务的基础,承载由云计算、大数据、人工智能等高新技术衍生的各种互联网服务,互联网数据分析审计规模也日益增长。为满足idc流量分析审计需求,可以在idc内使用交换机,将流量镜像多份后基于hash一致性均衡分发到多组分析集群。而单台交换机接入的接入带宽有限,难以满足更多组及更多检测设备接入。为此可以通过多台交换机互联的方式,扩展系统整体的检测能力,同时实现每组镜像的hash分发。
23.但是相关技术中交换机镜像策略比较简单,分析集群可能会接收到大量不感兴趣的数据;并且相关技术中在跨设备镜像时,通常需要先将数据包镜像多份后再发送到互联
交换机中,占用了过多的系统带宽。另外现有的交换机中通常分配给镜像任务的算力有限,导致现有的交换机支持的镜像分组较少。
24.为了解决上述问题,根据本公开实施例,提供了一种数据镜像方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
25.图1是根据本公开实施例的数据镜像的方法。如图1所示,该方法包括如下步骤:
26.步骤s101,接收目标数据;
27.在本公开的上述步骤s01提供的技术方案中,接收目标数据的设备可以为交换机集群中的任意一台交换机,目标数据可以为互联网数据中心(idc,internet data center)中生成的需要被分析审计的数据。
28.可选地,当上述目标数据流经上述交换机集群中的交换机时,交换机除了将目标数据发送给对应的数据接收方之外,还可以将目标数据镜像一份并存储在本地,用于执行后续步骤,其中,数据接收方指的是在一次数据通信过程中通过交换机集群接收目标数据设备,可以为终端设备或者服务器。
29.步骤s102,从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;
30.在本公开的上述步骤s102提供的技术方案中,上述目标设备为交换机集群中的交换机,并且目标设备中的端口与需要分析目标数据的数据处理设备连接,这样目标设备便可以通过端口将待分析的目标数据的镜像数据发送到对应的数据处理设备中。
31.步骤s103,确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;
32.本公开的上述步骤s103所提供的技术方案可以应用至对idc中的数据进行分析的场景中,在该情况下,上述数据处理设备可以为数据分析集群中的设备,其中,该数据分析集群为用于对目标数据进行分析的设备组成的集群,并且不同的数据分析集群所需的目标数据类型和对应的分析任务也不同。
33.步骤s104,将镜像数据发送到目标端口。
34.通过上述步骤s101-步骤s104所提供的技术方案,实现了将目标数据只发送给需要对该目标数据进行分析的数据处理集群,从而避免了分析集群接收到大量不感兴趣的数据,提高了分析集群的工作效率,同时由于与相关技术相比,避免了在分析集群和交换机集群之间传递无效数据,从而减少了分析集群和交换机集群之间的带宽占用率。其中,无效数据指的是被发送到不需要对目标数据进行分析的分析集群的目标数据。
35.对于上述步骤s102而言,可以通过多种方式来从交换机集群中确定目标设备:
36.例如,可以根据目标数据的数据类型来从交换机集群中确定目标设备。具体而言,目标数据的数据类型对应着不同的分析任务,并且不同的分析任务分别由对应的分析集群来执行。这样,通过目标数据的数据类型,便可以确定需要对目标数据进行分析审计的分析集群,进而通过查询该分析集群所连接的交换机,并确定与该分析集群连接的交换机为目标设备。
37.需要说明的是,上述目标数据的数据类型也可以称为目标数据的数据类别,指的
是产生该目标数据的通信流程对应的业务类型,其中业务类型包括在线即时聊天,多媒体信息传输等。
38.又例如,还可以基于目标数据本身的特征信息来确定目标数据对应的目标设备。具体地,在基于目标数据本身的特征信息确定目标设备的过程中,可以先按照预设映射规则对特征信息进行映射,得到目标数据对应的第三映射值,之后可以通过第三映射值来获取目标设备表,其中,目标设备表中包含了各个目标设备的标识信息。这样通过目标数据的特征信息确定第三映射值,再通过第三映射值确定对应的目标设备,实现了将目标数据的镜像数据准确发送到目标设备中,同时避免了将目标数据发送到不需要接收目标数据的其他交换机中,不但可以让需要对目标数据进行分析的分析集群接收到目标数据,还避免了无效数据在交换机之间的传输,节省了交换机集群的内部带宽,提高了交换机集群的工作效率。其中,无效数据指的是被发送到不需要接收目标数据的交换机的目标数据。
39.可选地,上述特征信息中可以包括五元组信息,即利用五元组信息确定相应的映射值,例如,计算五元组信息的哈希值,将哈希值作为第三映射值,其中,目标数据的五元组信息包括目标数据的源ip,源端口,目标ip,目标端口和传输层协议。需要说明的是,在计算确定上述映射值的过程中,除了考虑五元组信息之外,上述特征信息还可以包括交换机端口id信息,其中,交换机端口id信息可以为目标分析集群所连接的交换机的端口id信息,目标分析集群为对目标数据进行分析审计的分析集群。通过在计算第三映射值时同时考虑五元组信息和端口id信息,可以在两个设备之间同时发生多种类型的通信过程时,将每种类型的通信过程所产生的目标数据发送到对应的分析集群中。
40.对于上述步骤s103而言,在确定目标设备中与目标数据对应的目标端口的过程中,由于在一次数据镜像过程中,目标设备中不同的端口各自对应于一个确定的镜像组,因此,可以先确定目标数据所对应的目的镜像组,再依据目的镜像组来确定目标端口。具体地,确定目标设备中与目标数据对应的目标端口的步骤包括:确定目标数据对应的目的镜像组列表,其中,目的镜像组列表中包括与目标数据对应的目的镜像组的目的镜像组标识信息;确定目的镜像组列表中的每个目的镜像组标识信息对应的目标设备,其中,目的镜像组标识信息对应的目标设备为包含有数据端口的目标设备,数据端口为与目的镜像组关联的端口;确定目标设备中与目的镜像组关联的数据端口集合,并从数据端口集合中确定目标端口。
41.需要说明的是,在确定目标设备中与目标数据对应的目标端口的过程中,还可以通过目的镜像组对应的数据端口,和分析集群对应的目的端口来建立分析集群和镜像组之间的对应关系。具体地,存在上述对应关系的分析集群和镜像组可以对应相同的数据端口。这样可以通过先确定目标数据的镜像数据对应的目的镜像组,再依据对应关系和目的镜像组确定对应的数据处理设备,从而实现了只将目标数据发送给需要对目标数据进行分析的数据处理设备。
42.另外,通过确定目标数据对应的目的镜像组列表,再依次确定列表中每个标识信息对应的目的镜像组所关联的目标设备,然后再确定目标设备中与目的镜像关联的数据端口集合,最后从数据端口集合中选择一个数据端口作为目标端口,不但确保了所有需要对目标数据进行分析的数据分析集群均可接收到目标数据的镜像数据,并且保证了在一次镜像过程中,同一镜像组接收到的镜像数据均从同一目标端口转发到分析集群中,确保镜像
数据被目标端口连接的分析集群全量提取。
43.在步骤103中,在从多个数据端口中确定目标端口时,也可以通过目标数据的五元组确定,例如,可以先确定目标数据对应的第一映射值,其中,第一映射值是基于目标数据的特征信息得到的,特征信息中可以包括目标数据的五元组信息,还可以包括目标数据对应的交换机端口id信息;再确定数据端口集合中各个数据端口对应的第二映射值;最后确定第二映射值等于第一映射值的数据端口为目标端口。这样通过第一映射值和第二映射值匹配与目标数据对应的目标端口,可以实现在镜像过程中,对于一个分析集群而言,接收到的镜像数据都是从同一个端口发送过来的。例如,某个icp连接的入向数据包(1.1.1.1:2333-》2.2.2.2:80)和出向数据包(2.2.2.2:80-》1.1.1.1:2333)都会镜像到同一个目标端口,并通过该目标端口传递到对应的数据分析集群中。
44.在本公开实施例所提供的数据镜像的方法中,目标数据的镜像数据不但可以发送到与本地交换机(本地交换机指的是目标数据直接流入的交换机)连接的数据分析集群中,也可以发送到不与本地交换机连接的数据分析集群中,也就是说本公开所提供的数据镜像的方法可以实现跨设备镜像。因此,上述目标设备可以包括接收到目标数据的第一目标设备,以及和第一目标设备连接的第二目标设备。需要说明的是,第一目标设备和第二目标设备均为上述交换机集群中的交换机,并且第一目标设备接收到目标数据指的是第一目标设备是目标数据直接流入的交换机。
45.具体地,在确定目的镜像组列表中的每个目的镜像组所对应的目标设备的过程中,如果确定目标设备为第二目标设备,则可以将第一目的镜像组的标识信息添加到预设镜像列表中,其中,第一目的镜像组为与第二目标设备关联且对应的标识信息被目的镜像组列表包含的镜像组;然后基于预设镜像列表和目标数据,生成聚合数据,其中,聚合数据中至少包括目标数据和预设镜像列表的列表信息,列表信息用于确定预设镜像列表对应的全部第一目的镜像组;最后发送聚合数据至第二目标设备。
46.另外,在确定目的镜像组列表中的每个目的镜像组标识信息对应的目标设备时,可依次检索目的镜像组列表中的每个标识信息,并在检索每个标识信息时,检索目标信息对应的目标设备列表,并基于目标设备列表确定该标识信息所标识的目的镜像组对应的目标设备是第一目标设备还是第二目标设备。当确定目的镜像组对应的目标设备为第一目标设备时,可以直接对目标数据进行镜像,然后将镜像数据发送到目的镜像组对应的端口中。当确定目的镜像组对应的目标设备为第二目标设备时,则将该目的镜像组的标识信息添加到与第二目标设备对应的预设表格中。需要注意的是,由于第二目标设备可能有多个,因此预设表格也有多个,并且预设表格和第二目标设备之间是一一对应的关系。在遍历完目的镜像组列表中的全部标识信息后,再将体现预设表格中包含的全部第一目的镜像组的相关信息的列表信息和目标信息合并成一份聚合数据,再将该聚合数据发送给第二目标设备。
47.可以看出,采用本公开所提供的数据镜像的方法,当目标设备为第二目标设备,也就是在进行跨设备镜像时,本地设备不会直接将第二目标设备所需要的镜像数据全部镜像出来,而是只镜像一份目标数据的镜像数据,并发送一份包含该镜像数据和列表信息的聚合数据到第二目标设备,由第二目标设备来依据列表信息完成后续的镜像及转发任务。由于本公开中在夸设备镜像时只会向第二目标设备发送一份聚合数据,并且该聚合数据中也仅包含一份目标数据的镜像数据,以及列表信息,因此和传统的由本地设备镜像多份镜像
数据再转发给第二目标设备相比,在很大程度上减少了交换机之间的带宽的占用率。
48.具体地,在确定目的镜像组列表中的标识信息对应的目标设备时,可以采用如下步骤:确定所述目标设备对应的本地镜像组列表,其中,所述本地镜像组列表中包括与所述目标设备对应的本地镜像组的本地镜像组标识信息;遍历所述本地镜像组列表;在确定所述本地镜像组列表中存在所述每个所述目的镜像组的标识信息的情况下,确定所述目标设备为与所述每个所述目的镜像组标识信息对应的所述目标设备。
49.由于交换机集群中的每个镜像组对应的标识信息是唯一的,这样通过基于匹配目的镜像组和本地镜像组的镜像组标识信息来确定目的镜像组标识信息对应的目标设备,可以避免遗漏问题,从而提高了镜像过程的准确率。
50.需要说明的是,目标数据和目标数据的镜像数据可以以数据包的形式在不同的设备之间传送,这样在生成聚合数据时,可以直接将列表信息写入到镜像数据的数据包包头中,从而得到聚合数据。具体地,列表信息可以用一串预设长度的字符串,例如,十六位的二进制字符串来表示。其中,字符串中的字符可用于表示与第二目标设备关联的第一目的镜像组的相关信息。
51.具体地,字符串中的字符与镜像组之间的对应关系可以为字符的位数与对应的镜像组的标识信息相同,此时镜像组的标识信息可以为镜像组的序号,而字符本身则用于指示对应的镜像组是否为第一目的镜像组,以及是否存在与字符对应的镜像组。
52.以字符串为二进制字符串为例,可让字符串由低到高的每一位字符均表示该位字符对应的镜像组是否为第一目的镜像组,其中,当该位字符对应的镜像组为第一目的镜像组时,可以设置该位字符为1,而对于对应的镜像组不是第一目的镜像组的字符,或者第二目标设备中不存在与字符对应的镜像组时,则可设置该位字符为0。可以理解地,也可以在该位字符对应的镜像组为第一目的镜像组时,设置该位字符为0,而在该位字符没有对应一个第一目的镜像组时,设置该位字符为1。这样通过在数据包的包头中写入列表信息,让第二目标设备可以在接收到聚合信息后依据列表信息确定目标数据需要镜像到的镜像组,从而实现了在跨设备镜像时,不同设备之间只需要传递一份聚合数据,而不需要传递多份目标数据的镜像数据。
53.作为一种可选的实施方式,为了实现在数据包的包头中写入列表信息,可以在初始报文中插入ether_type为0x9001,和一个16bit的mirror_group_ids自定义二层字段,其余内容保持不变。mirror_group_ids从低到高,每一个bit表示对应镜像组是否使能,最低bit表示第一组,以此类推。
54.具体地,可定义数据包的格式如下:
55.bit《48》ether_dst
56.bit《48》ether_src
57.bit《16》ether_type=0x9001
58.bit《16》mirror_group_ids
59.payload
60.为了便于理解图1中的数据镜像方法,下面结合一个在交换机集群中应用本方法来对普通入向流量进行数据镜像的具体例子来对上述方法做进一步的解释说明:
61.第一步,从报文中提取策略镜像需要的条件字段,如交换机端口id,五元组信息
等;
62.第二步,使用提取的条件字段,匹配每组镜像的策略表(由控制面生成),得到mirror_enable[]数组(镜像使能数组),确定每组镜像是否转发;
[0063]
第三步,对数据包五元组进行对称哈希计算,得到hash_key(也就是对数据包的五元组进行对称哈希计算得到的哈希值);
[0064]
第四步,用hash_key查询镜像目的设备表(由控制面根据部署状况生成),得到每组镜像的目的设备,即mirror_dev[](镜像目的数组);
[0065]
第五步,同时遍历mirror_dev与对应的mirror_enable,即for(group_id,dev,enable)in(mirror_dev[],mirror_enable[]),其中group_id为镜像分组编号
[0066]
第六步,如果enable为false,不执行镜像,继续遍历;
[0067]
第七步,如果dev为本机设备,哈希镜像到本地的第group_id组,即mirror_to_local(group_id,hash_key),继续遍历;
[0068]
第八步,如果dev非本机设备,将当前镜像组group_id添加到dev对应的镜像列表(dev_map{})中,即dev_map[dev].push(group_id),继续遍历;
[0069]
第九步,在对mirror_dev的遍历过程结束后,遍历dev_map,即for(dev,group_id_list)in dev_map,其中group_id_list为镜像分组列表;
[0070]
第十步,根据group_id_list生成16位宽的group_ids,从低到高每一bit表示该组是否镜像,最低比特表示第一组。将group_ids作为自定义二层字段更新到包头中,生成互联包;
[0071]
第十一步,复制转发修改后的互联包到dev设备,即copy_forward_to(dev),并继续遍历dev_map,直到dev_map中的全部元素被处理。
[0072]
根据本公开实施例,提供了另一种数据镜像方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0073]
图2是根据本公开实施例的数据镜像的方法。如图2所示,该方法包括如下步骤:
[0074]
步骤s201,接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;
[0075]
步骤s202,确定目的镜像组信息所指示的目的镜像组;
[0076]
步骤s203,确定目的镜像组中的每个目的镜像组对应的目标端口;
[0077]
步骤s204,镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;
[0078]
步骤s205,将每份镜像数据分别发送至目标端口中。
[0079]
在本公开的一些实施例中,为了便于理解图2中的数据镜像方法,下面结合一个在交换机集群中应用本方法来对普通入向流量进行数据镜像的具体例子来对上述方法做进一步的解释说明:
[0080]
第一步,从报文中提取自定义二层字段group_ids,通用五元组信息;
[0081]
第二步,由groups_ids(列表信息)生成group_id_list(第一目的镜像组列表);
[0082]
第三步,根据数据包五元组计算对称哈希,得到hash_key;
[0083]
第四步,遍历group_id_list(第一目的镜像组列表),即for group_id in group_id_list
[0084]
第五步,将目标数据的镜像数据哈希镜像到本地的第group_id组,即mirror_to_local(group_id,hash_key),并继续遍历第一目的镜像组列表,直到所有的第一目的镜像组均完成哈希镜像。其中,哈希镜像值得时基于哈希值确定第一目的镜像组对应的多个数据端口中的目标端口,并将镜像数据镜像复制后发送到该目标端口中。
[0085]
图3示出了在交换机集群中采用本公开所提供的数据镜像方法时的实际场景。从图3中可以看出,该交换机集群由两台可编程交换机通过互联口(link)组成一个整体,整个交换机集群中总共配置五组镜像转发,并且每组均覆盖两台设备。当某一数据包(pkt)从左边设备的普通业务口进入时,匹配镜像策略后,使能第一,二,三,五组的镜像。在通过数据包五元组hash,判断第一,二组镜像到本地,第三,五组镜像到外部设备后,由于第三,五组镜像的目的设备相同,所以仅复制一份互联数据包(pkt_link)到互联口。右边设备收到互联数据包后,根据自定义二层字段,将数据包镜像到第三,五组。
[0086]
图4是根据本公开实施例的数据镜像装置的框图。如图4所示,该数据镜像的装置适用于交换机集群中的任一交换机中,包括:接收模块40,被配置为接收目标数据;检索模块41,被配置为从所述交换机集群中确定目标数据的目标设备,其中,所述目标设备用于将所述目标数据镜像并发送到用于分析所述目标数据的分析服务器;处理模块42,被配置为确定所述目标设备中与所述目标数据对应的目标端口,其中,所述目标设备包括至少一个端口,所述目标端口与用于分析所述目标数据的分析服务器连接;发送模块43,被配置为将所述目标数据镜像到所述目标端口。
[0087]
在本公开的一些实施例中,处理模块42确定目标设备中与目标数据对应的目标端口的步骤包括:确定目标数据对应的目的镜像组列表,其中,目的镜像组列表中包括与目标数据对应的目的镜像组的目的镜像组标识信息;确定目的镜像组列表中的每个目的镜像组标识信息对应的目标设备,其中,目的镜像组标识信息对应的目标设备为包含有数据端口的目标设备,数据端口为与目的镜像组关联的端口;确定目标设备中与目的镜像组关联的数据端口集合,并从数据端口集合中确定目标端口。
[0088]
在本公开的一些实施例中,目标设备包括第一目标设备和第二目标设备,第一目标设备为接收目标数据的交换机,第二目标设备为与第一目标设备连接的其他交换机。
[0089]
在本公开的一些实施例中,处理模块42确定目的镜像组列表中的每个目的镜像组标识信息对应的目标设备的步骤包括:在确定目标设备为第二目标设备的情况下,将第一目的镜像组的标识信息添加到预设镜像列表中,其中,第一目的镜像组为与第二目标设备关联且对应的标识信息被目的镜像组列表包含的镜像组;基于预设镜像列表和目标数据,生成聚合数据,其中,聚合数据中至少包括目标数据和预设镜像列表的列表信息,列表信息用于确定预设镜像列表对应的全部第一目的镜像组;发送聚合数据至第二目标设备。
[0090]
在本公开的一些实施例中,列表信息为预设长度的字符串,字符串中的字符用于指示第二目标设备关联的多个本地镜像组中的任意一个本地镜像组是否为目的镜像组。
[0091]
在本公开的一些实施例中,处理模块42从数据端口集合中确定目标端口的步骤包括:确定目标数据对应的第一映射值,其中,第一映射值是基于目标数据的特征信息得到的,特征信息至少包括目标数据的五元组信息;确定数据端口集合中各个数据端口对应的
第二映射值;确定第二映射值等于第一映射值的数据端口为目标端口。
[0092]
在本公开的一些实施例中,处理模块42确定目的镜像组列表中的每个目的镜像组标识信息对应的目标设备的步骤包括:确定目标设备对应的本地镜像组列表,其中,本地镜像组列表中包括与目标设备对应的本地镜像组的本地镜像组标识信息;遍历本地镜像组列表;在确定本地镜像组列表中存在每个目的镜像组的标识信息的情况下,确定目标设备为与每个目的镜像组标识信息对应的目标设备。
[0093]
在本公开的一些实施例中,检索模块43从交换机集群中确定目标数据的目标设备的步骤包括:确定目标数据对应的第三映射值,其中,第三映射值是基于目标数据的特征信息得到的,特征信息至少包括目标数据的五元组信息;基于第三映射值,获取目标设备的目标设备表,其中,目标设备表中包含各个目标设备的标识信息。
[0094]
需要说明的是,由于图4中所示的装置可用于执行图1中所示的数据镜像的方法,因此,对图1中所示的数据镜像的方法的相关解释说明也适用于图4中所示的数据镜像的装置中,在此不再赘述。
[0095]
图5是根据本公开实施例提供的一种交换机集群的框图,从图5中可以看出,该交换机集群中包括第一交换机50;以及与第一交换机50互联的第二交换机51;其中,第一交换机50用于执行如下数据镜像的方法:接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口。第二交换机51用于如下数据镜像的方法:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中。
[0096]
在本公开的一些实施例中,第一交换机50和第二交换机51均为可编程交换机,并且第一交换机50和第二交换机51在接收到目标对象发送的算力分配指示信息时,均可基于所述算力分配指示信息将自身算力分配到不同任务中。
[0097]
这样通过对交换机的算力分配情况进行自定义,可以将更多的算力分配给镜像任务,从而使得交换机集群中可以配置更多的镜像组,并且可以提高镜像任务的效率。
[0098]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0099]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0100]
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0101]
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中
的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0102]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0103]
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如如下所示的数据镜像方法:接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口。或如下所示的另一种数据镜像方法:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中。例如,在一些实施例中,如下所示的数据镜像方法:接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口;或如下所示的另一种数据镜像方法:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的如下所示的数据镜像方法:接收目标数据;从交换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口;或如下所示的另一种数据镜像方法:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行如下所示的数据镜像方法:接收目标数据;从交
换机集群中确定目标数据的目标设备,其中,目标设备用于对目标数据进行镜像,得到目标数据的镜像数据;确定目标设备中与目标数据对应的目标端口,其中,目标端口用于将上述镜像数据发送到数据处理设备;将镜像数据发送到目标端口。或如下所示的另一种数据镜像方法:接收交换机集群中的交换机发送的聚合数据,其中,聚合数据包括目标数据和目的镜像组信息;确定目的镜像组信息所指示的目的镜像组;确定目的镜像组中的每个目的镜像组对应的目标端口;镜像目标数据,得到目标数据的镜像数据,其中,镜像数据的数量与目的镜像组的数量相同;将每份镜像数据分别发送至目标端口中。
[0104]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0105]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0106]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0107]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0108]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0109]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0110]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0111]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献