开放流流表间信息传递的方法、控制器、交换机及系统与流程

文档序号:15907302发布日期:2018-11-13 19:52阅读:159来源:国知局
开放流流表间信息传递的方法、控制器、交换机及系统与流程
本发明涉及无线通信
技术领域
,特别涉及一种开放流流表间信息传递的方法、控制器、交换机及系统。
背景技术
:随着无线通信技术的发展,SDN(SoftwareDefinedNetworking,软件定义网络)由于可定制的网络能力等优势逐渐成为移动网络的发展方向。SDN处理数据报文的方式为:开放流控制器通过开放流交换机中各级流表的各个流表项控制开放流交换机通过由各级流表组成的流水线处理数据报文。其中,任一级流表的每个流表项均描述了该级流表处理数据报文的一种处理逻辑。数据报文在通过流表处理时,若产生传递至下级流表的流表间信息,开放流控制器会在该级流表的流表项中包含流表间信息,以便控制开放流交换机进行将流表项中包含的流表间信息传递至下级流表的开放流流表间信息传递。因此,开放流控制器如何通过包含流表间信息的流表项控制开放流交换机进行开放流流表间信息传递,成为处理数据报文的关键。目前,由于流表间信息的具体内容随着处理的数据报文的不同而改变,因此,开放流控制器预先根据需要传递流表间信息的各级流表产生流表间信息的各种具体内容生成多个包含流表间信息的流表项,其中每个包含流表间信息的流表项包含流表间信息的一种具体内容,并将各个包含流表间信息的流表项发送给开放流交换机。开放流交换机获得数据报文后,使数据报文依次通过各级流表,且在通过任一级流表时,获取开放流控制器发送的该级流表的所有流表项,根据各个流表项处理数据报文。在根据某级流表的各个流表项处理数据报文时,若产生流表间信息的一种具体内容,则从该级流表的多个包含流表间信息的流表项中确定与产生的具体内容的流表间信息匹配的包含流表间信息的流表项,根据匹配的包含流表间信息的流表项将产生的具体内容写入元数据中,并将元数据传递至下级流表,完成开放流流表间信息传递。由于每个包含流表间信息的流表项包含流表间信息的一种具体内容,使得开放流控制器发送的包含流表间信息的流表项的数量与流表间信息的具体内容的数量相同。例如:流表间信息为12比特的虚拟局域网标识,其具体内容可以有212种,则开放流控制器发送的包含流表间信息的流表项的数量为212个。大数量包含流表间信息的流表项的发送不仅为开放流交换机与开放流控制器连接的接口带来沉重的信令负担,而且会消耗开放流交换机中大量的资源存储和处理包含流表间信息的流表项,进而降低开放流交换机处理数据报文的效率。技术实现要素:为了解决现有技术的问题,本发明实施例提供了一种开放流流表间信息传递的方法、控制器、交换机及系统。所述技术方案如下:第一方面,提供了一种开放流流表间信息传递的方法,所述方法包括:开放流控制器生成流表项,所述流表项包括指示信息,所述指示信息用于指示获取传递信息的方法;其中,所述传递信息为需传递至下级流表的信息;所述开放流控制器将所述流表项发送至开放流交换机,以使所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。结合第一方面,在第一方面的第一种可能的实现方式中,所述指示信息包括数据源信息和数据源位置信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源位置信息用于指示所述传递信息在所述数据源中的位置,所述指示信息用于指示根据所述传递信息在所述数据源中的位置,从所述数据源获取所述传递信息。结合第一方面,在第一方面的第二种可能的实现方式中,所述指示信息包括数据源信息和数据源操作信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指令,所述指示信息用于指示根据从所述数据源获取所述传递信息的操作指令,从所述数据源获取所述传递信息。第二方面,提供了一种开放流控制器,所述开放流控制器包括:生成模块,用于生成流表项,所述流表项包括指示信息,所述指示信息用于指示获取传递信息的方法;其中,所述传递信息为需传递至下级流表的信息;发送模块,用于将所述生成模块生成的流表项发送至开放流交换机,以使所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。结合第二方面,在第二方面的第一种可能的实现方式中,所述生成模块生成的流表项中包括的指示信息包括数据源信息和数据源位置信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源位置信息用于指示所述传递信息在所述数据源中的位置,所述指示信息用于指示根据所述传递信息在所述数据源中的位置,从所述数据源获取所述传递信息。结合第二方面,在第二方面的第二种可能的实现方式中,所述生成模块生成的流表项中包括的指示信息包括数据源信息和数据源操作信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指令,所述指示信息用于指示根据从所述数据源获取所述传递信息的操作指令,从所述数据源获取所述传递信息。第三方面,提供了一种开放流流表间信息传递的方法,所述方法包括:开放流交换机接收数据报文;所述开放流交换机根据所述数据报文,获取与所述数据报文匹配的流表项;其中,所述流表项包括指示信息,所述指示信息用于指示获取传递信息的方法,所述传递信息为需传递至下级流表的信息;所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息。结合第三方面,在第三方面的第一种可能的实现方式中,所述开放流交换机根据所述指示信息为所述下级流表获取所述传递信息包括:所述开放流交换机根据所述指示信息获取所述传递信息,并传递所述传递信息至所述下级流表;或者,所述开放流交换机传递所述指示信息至所述下级流表,并在处理所述下级流表时根据所述指示信息获取所述传递信息。结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述指示信息包括数据源信息和数据源位置信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源位置信息用于指示所述传递信息在所述数据源中的位置;所述开放流交换机根据所述指示信息获取所述传递信息包括:所述开放流交换机根据所述传递信息在所述数据源中的位置,从所述数据源获取所述传递信息。结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式中,所述指示信息包括数据源信息和数据源操作信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指令;所述开放流交换机根据所述指示信息获取所述传递信息包括:所述开放流交换机根据从所述数据源获取所述传递信息的操作指令,从所述数据源获取所述传递信息。第四方面,提供了一种开放流交换机,所述开放流交换机包括:接收模块,用于接收数据报文;第一获取模块,用于根据所述接收模块接收到的数据报文,获取与所述数据报文匹配的流表项;其中,所述流表项包括指示信息,所述指示信息用于指示获取传递信息的方法,所述传递信息为需传递至下级流表的信息;第二获取模块,用于根据所述第一获取模块获取到的流表项中的指示信息为所述下级流表获取所述传递信息。结合第四方面,在第四方面的第一种可能的实现方式中,所述第二获取模块,用于根据所述指示信息获取所述传递信息;传递所述传递信息至所述下级流表;或者,所述第二获取模块,用于传递所述指示信息至所述下级流表;在处理所述下级流表时根据所述指示信息获取所述传递信息。结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第二获取模块,用于根据所述指示信息获取所述传递信息;传递所述传递信息至所述下级流表;或者,所述第二获取模块,用于传递所述指示信息至所述下级流表;在处理所述下级流表时根据所述指示信息获取所述传递信息。结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第三种可能的实现方式中,所述第一获取模块获取到的流表项中的指示信息包括数据源信息和数据源操作信息,所述数据源信息用于指示包括所述传递信息的数据源,所述数据源操作信息用于指示从所述数据源获取所述传递信息的操作指令;所述第二获取模块,用于根据从所述数据源获取所述传递信息的操作指令,从所述数据源获取所述传递信息。第五方面,提供了一种开放流流表间信息传递的系统,所述系统包括:开放流控制器及开放流交换机;所述开放流控制器,如上述第二方面提供的开放流控制器;所述开放流交换机,如上述第四方面提供的开放流交换机。本发明实施例提供的技术方案的有益效果是:通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1是本发明实施例提供的一种开放流流表间信息传递的方法的实施环境结构示意图;图2是本发明实施例提供的一种数据报文依次通过各级流表的示意图;图3是本发明另一实施例提供的第一种开放流流表间信息传递的方法流程图;图4是本发明另一实施例提供的第二种开放流流表间信息传递的方法流程图;图5是本发明另一实施例提供的第三种开放流流表间信息传递的方法流程图;图6是本发明另一实施例提供的第四种开放流流表间信息传递的方法流程图;图7是本发明另一实施例提供的一种开放流控制器的结构示意图;图8是本发明另一实施例提供的一种开放流交换机的结构示意图;图9是本发明另一实施例提供的一种开放流流表间信息传递的系统的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明实施例提供了一种开放流流表间信息传递的方法,请参考图1,其展示出了本发明实施例提供的开放流流表间信息传递的方法所涉及的实施环境的结构示意图。该实施环境包括开放流控制器101和开放流交换机102。其中,开放流控制器101如下述实施例所述的开放流控制器,开放流交换机102如下述实施例所述的开放流交换机。开放流控制器101生成包括指示信息的流表项,将流表项发送给开放流交换机102,以使开放流交换机102根据指示信息为下级流表获取传递信息。开放流交换机102接收数据报文后,使数据报文依次通过如图2所示的各级流表,其中,数据报文进入开放流交换机102后,会先被送到0级流表进行处理,处理完成后再跳转到0级流表处理结果中指示的下一级流表n1级流表继续进行处理,该n1级流表可以是1级流表,也可以是其他级流表;n1级流表处理完成后再跳转到n1级流表处理结果中指示的下一级流表继续进行处理;以此类推,直至处理数据报文被送到处理该数据报文的最后一级流表nn级流表进行处理后输出处理后的数据报文,该nn级流表可以是开放流交换机102中最后一级流表,也可以是开放流交换机102中其他级流表。在通过需要传递开放流流表间信息的任一流表时,获取与数据报文匹配的流表项,根据流表项中包括的指示信息为下级流表获取传递信息。结合上述实施环境,本发明一实施例提供了一种开放流流表间信息传递的方法,参见图3,本实施例提供的方法流程具体如下:301:开放流控制器生成流表项,流表项包括指示信息,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;302:开放流控制器将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息。可选地,指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置,指示信息用于指示根据传递信息在数据源中的位置,从数据源获取传递信息。可选地,指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令,指示信息用于指示根据从数据源获取传递信息的操作指令,从数据源获取传递信息。该实施例提供了另一种开放流流表间信息传递的方法,参见图4,本实施例提供的方法流程具体如下:401:开放流交换机接收数据报文;402:开放流交换机根据数据报文,获取与数据报文匹配的流表项;其中,流表项包括指示信息,指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息;403:开放流交换机根据指示信息为下级流表获取传递信息。可选地,开放流交换机根据指示信息为下级流表获取传递信息包括:开放流交换机根据指示信息获取传递信息,并传递传递信息至下级流表;或者,开放流交换机传递指示信息至下级流表,并在处理下级流表时根据指示信息获取传递信息。可选地,指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置;开放流交换机根据指示信息获取传递信息包括:开放流交换机根据传递信息在数据源中的位置,从数据源获取传递信息。可选地,指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令;开放流交换机根据指示信息获取传递信息包括:开放流交换机根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本发明实施例提供的方法,通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。为了更加清楚地阐述上述实施例提供的一种开放流流表间信息传递的方法,结合上述图3或图4所示的实施例及实施背景的内容,以如下实施例,对一种开放流流表间信息传递的方法进行详细说明,详见如下实施例:本发明另一实施例还提供了一种开放流流表间信息传递的方法,结合上述图3或图4所示的实施例及实施背景的内容,对本实施例提供的方法进行说明。参见图5,本实施例提供的方法流程包括:501:开放流控制器生成流表项;其中,流表项包括指示信息,指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息。另外,指示信息可以包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置,指示信息用于指示根据传递信息在数据源中的位置,从数据源获取传递信息。指示信息还可以包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令,指示信息用于指示根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例不对指示信息包括的具体内容进行限定。此外,本实施例不对生成流表项的具体方法进行限定。包括但不限于:确定各级流表提取的流表间信息的具体内容的来源类型,并确定各级流表提取的流表间信息的具体内容的位置属性,流表间信息为至少一个,每个流表间信息对应一种具体内容;根据各级流表提取的流表间信息的具体内容的来源类型及位置属性生成各级流表提取的流表间信息对应的第一二元组,并将第一二元组作为指示信息。502:开放流控制器将流表项发送至开放流交换机;503:开放流交换机接收数据报文,根据数据报文获取与数据报文匹配的流表项;本实施例不对根据数据报文获取与数据报文匹配的流表项的具体方法进行限定。例如:若开放流交换机接收到的流表项中包括的指示信息为第一二元组,则开放流交换机根据数据报文获取与数据报文匹配的第一二元组。504:开放流交换机根据指示信息为下级流表获取传递信息。本实施例不对开放流交换机根据指示信息为下级流表获取传递信息的具体方法进行限定。例如:开放流交换机根据指示信息获取传递信息,并传递传递信息至下级流表;或者,开放流交换机传递指示信息至下级流表,并在处理下级流表时根据指示信息获取传递信息。其中,若指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置,则开放流交换机根据指示信息获取传递信息的具体实施方法可以为:开放流交换机根据传递信息在数据源中的位置,从数据源获取传递信息。若指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令,则开放流交换机根据指示信息获取传递信息的具体实施方法可以为:开放流交换机根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例不对开放流交换机根据指示信息获取传递信息的具体方法进行限定。本发明另一实施例还提供了一种开放流流表间信息传递的方法,结合上述图5所示的实施例,以开放流交换机中需要传递流表间信息的流表为第0级流表,且第0级流表需要传递5个流表间信息,分别为流表间信息1、流表间信息2、流表间信息3、流表间信息4和流表间信息5为例,对本实施例提供的方法进行说明。参见图6,本实施例提供的方法流程包括:601:开放流控制器确定各级流表提取的流表间信息的具体内容的来源类型;其中,流表间信息为至少一个,每个流表间信息对应一种具体内容。本实施例不对各级流表提取的流表间信息的具体内容的具体来源类型进行限定,包括但不限于如下四种来源类型。第一种来源类型:数据报文的头域或者数据报文的payload区域;第二种来源类型:数据区域;其中,数据区域为内存区域,或者缓存区域,或者其他区域,本实施例不对代表数据区域的具体区域进行限定。第三种来源类型:数据库;第四种来源类型:除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型。另外,由于开放流控制器控制开放流交换机中各级流表对应的各种处理逻辑,因此,开放流控制器预先获知开放流交换机所有流表中哪些级流表需要传递流表间信息,同时开放流控制器也预先获知开放流交换机中需要传递流表间信息的各级流表提取流表间信息的具体内容的存储区域。因此,开放流控制器可根据已知的开放流交换机中需要传递流表间信息的各级流表提取流表间信息的具体内容的存储区域确定各级流表提取的流表间信息的具体内容的来源类型。本实施例不对开放流控制器确定各级流表提取的流表间信息的具体内容的来源类型的具体方法进行限定。例如,开放流控制器预先获知开放流交换机2级流表中第0级流表需要传递5个流表间信息,且流表间信息1的存储区域为当前数据报文的头域,流表间信息2的存储区域为内存区域,流表间信息3的存储区域为缓存区域,流表间信息4的存储区域为数据库,流表间信息5的存储区域为非数据报文的头域、数据报文的payload区域、数据区域及数据库的A区域。则开放流控制器根据存储流表间信息1的数据报文的头域确定流表间信息1的来源类型为第一种来源类型:数据报文的头域或者数据报文的payload区域;开放流控制器根据存储流表间信息2的内存区域确定流表间信息2的来源类型为第二种来源类型:数据区域;开放流控制器根据存储流表间信息3的缓存区域确定流表间信息3的来源类型为第二种来源类型:数据区域;开放流控制器根据存储流表间信息4的数据库确定流表间信息4的来源类型为第三种来源类型:数据库;开放流控制器根据存储流表间信息5的非数据报文的头域、数据报文的payload区域及数据区域的A区域确定流表间信息5的来源类型为第四种来源类型:除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型。当然,各个流表间信息的存储区域还可以为其他区域,本实施例不对各个流表间信息的具体存储区域进行限定。602:开放流控制器确定各级流表提取的流表间信息的具体内容的位置属性;如果开放流控制器预先确定各个来源类型对应的位置属性,并存储各个来源类型与位置属性之间的对应关系,则开放流控制器根确定各级流表提取的流表间信息的具体内容的位置属性的具体方法包括但不限于:开放流控制器根据预先存储的各个来源类型与位置属性之间的对应关系确定各级流表提取的流表间信息的具体内容的来源类型对应的位置属性,并将各级流表提取的流表间信息的具体内容的来源类型对应的位置属性作为各级流表提取的流表间信息的具体内容的位置属性。其中,本实施例不对开放流控制器确定各个来源类型对应的位置属性的具体方法进行限定。例如:若任一来源类型为数据报文的头域或者数据报文的payload区域,则确定该来源类型对应的位置属性包括:偏移量、连续取值长度及取值掩码。又例如:若任一来源类型为数据区域,则确定该来源类型对应的位置属性包括:开始地址、连续取值长度及取值掩码。或者,确定该来源类型对应的位置属性包括:开始地址、偏移量、连续取值长度及取值掩码。又例如:若任一来源类型为数据库,则确定任一来源类型对应的位置属性包括取值语句及取值掩码。再例如:若任一来源类型为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型,则确定该来源类型对应的位置属性包括信息值。此外,在确定各个来源类型对应的位置属性后,本实施例不对开放流控制器存储各个来源类型与位置属性之间的对应关系的具体方法进行限定。例如以表1所示的方式存储各个来源类型与位置属性之间的对应关系。表1以流表间信息1的来源类型为数据报文的头域或者数据报文的payload区域;流表间信息2的来源类型为数据区域;流表间信息3的来源类型为数据区域;流表间信息4的来源类型为数据库;流表间信息5的来源类型为除数据报文的头域、数据报文的payload区域及数据区域外的类型,表1所示的形式存储的各个来源类型与位置属性之间的对应关系为例,则开放流控制器根据表1确定流表间信息1的来源类型对应的位置属性为:偏移量、连续取值长度及取值掩码,并将偏移量、连续取值长度及取值掩码作为流表间信息1的位置属性。确定流表间信息2的来源类型对应的位置属性为:开始地址、连续取值长度及取值掩码,并将开始地址、连续取值长度及取值掩码作为流表间信息2的位置属性。确定流表间信息3的来源类型对应的位置属性为:开始地址、偏移量、连续取值长度及取值掩码,并将开始地址、偏移量、连续取值长度及取值掩码作为流表间信息3的位置属性。确定流表间信息4的来源类型对应的位置属性为:取值语句及取值掩码,并将取值语句及取值掩码作为流表间信息4的位置属性。确定流表间信息5的来源类型对应的位置属性为:信息值,并将信息值作为流表间信息5的位置属性。当然,流表间信息2的来源类型对应的位置属性还可以为开始地址、偏移量、连续取值长度及取值掩码,流表间信息3的来源类型对应的位置属性还可以为开始地址、连续取值长度及取值掩码,本实施例不对流表间信息2的来源类型对应的具体位置属性及流表间信息3的来源类型对应的具体位置属性进行限定。除此之外,开放流控制器还可以通过其他方法确定各级流表提取的流表间信息的具体内容的位置属性,本实施例不对开放流控制器确定各级流表提取的流表间信息的具体内容的位置属性的具体方法进行限定。603:开放流控制器根据各级流表提取的流表间信息的具体内容的来源类型及位置属性生成各级流表提取的流表间信息对应的第一二元组;其中,每个第一二元组包括流表间信息的具体内容的来源类型及位置属性。例如:流表间信息1的来源类型为数据报文的头域或者数据报文的payload区域,流表间信息1的位置属性为偏移量、连续取值长度及取值掩码,则生成流表间信息1对应的第一二元组1为[Packet,[offset,length,mask]]。其中,Packet代表来源类型为数据报文的头域或者数据报文的payload区域,offset代表偏移量,length代表连续取值长度,mask代表取值掩码。流表间信息2的来源类型为数据区域,流表间信息2的位置属性为开始地址、连续取值长度及取值掩码,则由于流表间信息2的数据区域具体为内存区域,因此,生成流表间信息2对应的第一二元组2为[Data_area1,[start,length,mask]]。其中,Data_area1代表来源类型为数据区域,且具体为内存区域,start代表开始地址。流表间信息3的来源类型为数据区域,流表间信息3的位置属性为开始地址、偏移量、连续取值长度及取值掩码,则由于流表间信息3的数据区域具体为缓存区域,因此,生成流表间信息3对应的第一二元组3为[Data_area3,[start,offset,length,mask]]。其中,Data_area3代表来源类型为数据区域,且具体为缓存区域。流表间信息4的来源类型为数据库,流表间信息4的位置属性为取值语句及取值掩码,则由于流表间信息4的数据区域具体为数据库,因此,生成流表间信息4对应的第一二元组4为[Data_area2,[SelectCommand,mask]]。其中,Data_area2代表来源类型为数据库,SelectCommand代表取值语句。流表间信息5的来源类型为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型,流表间信息5的位置属性为信息值,且信息值为1,则生成流表间信息5对应的第一二元组5为[Constant,1]。其中,Constant代表来源类型为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型。当然,信息值还可以为其他数值,本实施例不对信息值的具体值进行限定。604:开放流控制器根据各级流表提取的流表间信息对应的第一二元组生成与各级流表对应的包含通用信息的流表项,并将各级流表对应的包含通用信息的流表项发送给开放流交换机;其中,每个包含通用信息的流表项包括至少一个第一二元组。本实施例不对开放流控制器根据各级流表提取的流表间信息对应的第一二元组生成与各级流表对应的包含通用信息的流表项的具体方法进行限定,包括但不限于依据各个流表间信息使用场景,将各级流表提取的流表间信息对应的第一二元组放入包含流表间信息的流表项模板中对应的位置,生成与各级流表对应的包含通用信息的流表项。例如,包含流表间信息的流表项模板为表2所示,若第0级流表的流表间信息1和流表间信息2的使用场景为:对输入流表0的数据报文进行匹配的时候使用,则将流表间信息1对应的第一二元组1和流表间信息2对应的第一二元组2放入匹配域中;若流表间信息3、流表间信息4和流表间信息5的使用场景为:对输入流表0的数据报文进行匹配后执行对应操作的时候使用,则将流表间信息3对应的第一二元组3和流表间信息4对应的第一二元组4放入指令域中;生成与如表3所示第0级流表对应的包含通用信息的流表项。表2匹配域优先权计数指令域超时Cookie表3当然,流表间信息1、流表间信息2、流表间信息3、流表间信息4和流表间信息5的使用场景还可以为其他使用场景,本实施例不对流表间信息1、流表间信息2、流表间信息3、流表间信息4和流表间信息5的具体使用场景进行限定。包含流表间信息的流表项模板还可以为其他样式,本实施例不对包含流表间信息的流表项模板具体样式进行限定。生成的第0级流表对应的包含通用信息的流表项中除包含流表间信息1、流表间信息2、流表间信息3、流表间信息4和流表间信息5对应的第一二元组之外还可以包含其他内容,本实施例不对生成的第0级流表对应的包含通用信息的流表项中包含的具体内容进行限定。需要说明的是,在执行本实施例提供的方法时,开放流控制器为了更好的控制开放流交换机,开放流控制器执行步骤601至步骤604之后,若确定开放流交换机中需要传递流表间信息的各级流表发生改变,或者需要传递流表间信息的各级流表提取的流表间信息的具体内容发生改变,或者每隔预设时间,可以重新执行步骤601至步骤604,以各级流表对应的包含通用信息的流表项进行更新。预设时间可以为任意时间长度,本实施例不对预设时间的具体值进行限定,本实施例同样不对触发重新执行步骤601至步骤604的具体条件进行限定。605:开放流交换机接收需要传递流表间信息的各级流表对应的包含通用信息的流表项,并根据各级流表对应的包含通用信息的流表项中包括的各个第一二元组确定各级流表对应的各个流表间信息的具体内容;其中,每个包含通用信息的流表项包括至少一个第一二元组,每个第一二元组包括流表间信息的具体内容的来源类型及位置属性;本实施例不对根据各级流表对应的包含通用信息的流表项中包括的各个第一二元组确定各级流表对应的各个流表间信息的具体内容的具体方法进行限定。例如:获取各级流表对应的包含通用信息的流表项中包括的各个第一二元组中流表间信息的具体内容的来源类型及位置属性;根据各级流表对应的包含通用信息的流表项中包括的各个第一二元组中流表间信息的具体内容的来源类型及位置属性提取各级流表对应的各个第一二元组中流表间信息的具体内容。在具体实施时,本实施例不对根据各级流表对应的包含通用信息的流表项中包括的各个第一二元组中流表间信息的具体内容的来源类型及位置属性提取各级流表对应的各个第一二元组中流表间信息的具体内容的具体方法进行限定,包括但不限于通过如下四种实现方式中的一种实现。第一种实现方式:当各级流表中的任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据报文的头域或者数据报文的payload区域,且任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括偏移量、连续取值长度及取值掩码时,根据任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型,确定任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域;从任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域的最前端地址偏移偏移量后的地址开始提取长度为连续取值长度的内容,并将连续取值长度的内容作为第一内容;根据取值掩码获取第一内容中的第二内容,并将第二内容确定为任一级流表对应的任一第一二元组中流表间信息的具体内容。对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实施例不进行限定,包括但不限于:根据取值掩码从第一内容中获取子内容;将子内容逻辑移位后的内容确定为第二内容。以第0级流表对应的包含通用信息的流表项中包括的第一二元组1为[Packet,[offset,length,mask]]为例,根据第0级流表对应的包含通用信息的流表项中包括的第一二元组1中流表间信息1的来源类型Packet,确定第0级流表提取第一二元组1中流表间信息1的存储区域为数据报文的头域或者数据报文的payload区域;从数据报文的头域或者数据报文的payload区域的最前端地址偏移offset后的地址开始提取长度为length的内容:10110,其中,第0比特位为1,第1比特位为0,第2比特位为1,第3比特位为1,第4比特位为0,且第0比特位为最低比特位,并将10110作为第一内容;若根据mask获取第一内容10110中的子内容为第2比特位的1,第3比特位的1和第4比特位的0,并将第2比特位的1,第3比特位的1和第4比特位的0逻辑移位至最低比特位,即将第2比特位的1逻辑移位至第0比特位,第3比特位的1逻辑移位至第1比特位,将第4比特位的0逻辑移位至第2比特位,得到逻辑移位后的内容110,将110确定为第二内容,并将第二内容110确定为第0级流表对应的第一二元组1中流表间信息1的具体内容。当然,从数据报文的头域或者数据报文的payload区域的最前端地址偏移offset后的地址开始提取长度为length的内容还可以为其他内容,根据mask获取的子内容还可以为其他内容,本实施例不对从数据报文的头域或者数据报文的payload区域的最前端地址偏移offset后的地址开始提取长度为length的具体内容以及根据mask获取的具体子内容进行限定。需要说明的是,为了保证根据取值掩码获取第一内容中的第二内容有效,可选地,根据取值掩码获取第一内容中的第二内容之后,还可以对第二内容的有效性进行校验,若对第二内容进行校验的校验结果为通过,则执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。若对第二内容进行校验的校验结果为不通过,则不执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤,而执行其他与对第二内容进行校验的校验结果为不通过相对应的操作。对第二内容的有效性进行校验的具体内容本实施例不进行具体限定。例如:验证第二内容是否合法,或者验证第二容是否符合约束条件,或者既验证第二内容是否合法又验证第二内容是否符合约束条件。本实施例也不对第二内容是否合法的具体判断标准进行限定。例如:若第二内容唯一,则认为第二内容合法。本实施例也不对第二内容是否符合约束条件的具体判断标准进行限定。例如:第二内容位于某个合理的值域空间,则认为第二内容符合约束条件。另外,对第二内容进行校验的校验结果为不通过时,本实施例不对该校验结果对应的操作进行具体限定。例如:当校验结果为不通过时,可以采取的操作为放弃第二内容,或者将第二内容设定为预设值,或者向开放流控制器发送对第二内容进行校验的校验结果为不通过的报告。第二种实现方式:当各级流表中的任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据区域,且任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括开始地址、连续取值长度及取值掩码时,根据任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型,确定任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域;根据开始地址确定任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域的取值起始地址,从任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域的取值起始地址开始提取长度为连续取值长度的内容,并将所述连续取值长度的内容作为第一内容;根据取值掩码获取第一内容中的第二内容,并将第二内容确定为任一级流表对应的任一第一二元组中流表间信息的具体内容。根据开始地址确定任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域的取值起始地址的具体实施方式随任一流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性是否还包括偏移量而变化。具体的,若任一流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性不包括偏移量,则将开始地址确定为任一流表提取任一第一二元组中流表间信息的具体内容的存储区域的取值起始地址;若任一流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性还包括偏移量,则将任一流表提取任一第一二元组中流表间信息的具体内容的存储区域的开始地址偏移偏移量后的地址确定为任一流表提取任一第一二元组中流表间信息的具体内容的存储区域的取值起始地址。对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实施例不进行限定,包括但不限于:根据取值掩码从第一内容中获取子内容;将子内容逻辑移位后的内容确定为第二内容。以第0级流表对应的包含通用信息的流表项中包括的第一二元组2为[Data_area1,[start,length,mask]]为例,根据第0级流表对应的包含通用信息的流表项中包括的第一二元组2中流表间信息2的来源类型Data_area1,确定第0级流表提取第一二元组2中流表间信息2的存储区域为内存区域;将start确定为第0级流表提取第一二元组2中流表间信息2的内存区域的取值起始地址,从第0级流表提取第一二元组2中流表间信息2的内存区域的start开始提取长度为length的内容:10110,并将10110作为第一内容;若根据mask获取第一内容10110中的子内容为第2比特位的1,第3比特位的1和第4比特位的0,并将第2比特位的1,第3比特位的1和第4比特位的0逻辑移位至最低比特位,即将第2比特位的1逻辑移位至第0比特位,第3比特位的1逻辑移位至第1比特位,将第4比特位的0逻辑移位至第2比特位,得到逻辑移位后的内容110,将110确定为第二内容,并将第二内容110确定为第0级流表对应的第一二元组2中流表间信息2的具体内容。再以第0级流表对应的包含通用信息的流表项中包括的第一二元组3为[Data_area3,[start,offset,length,mask]]为例,根据第0级流表对应的通用流表项中包括的第一二元组3中流表间信息3的来源类型Data_area3,确定第0级流表提取第一二元组3中流表间信息3的存储区域为缓存区域;将第0级流表提取第一二元组3中流表间信息3的缓存区域的start偏移start后的地址确定为第0级流表提取第一二元组3中流表间信息3的缓存区域的取值起始地址,从第0级流表提取第一二元组3中流表间信息3的缓存区域的start偏移start后的地址开始提取长度为length的内容:10110,并将10110作为第一内容;若根据mask获取第一内容10110中的子内容为第2比特位的1,第3比特位的1和第4比特位的0,并将第2比特位的1,第3比特位的1和第4比特位的0逻辑移位至最低比特位,即将第2比特位的1逻辑移位至第0比特位,第3比特位的1逻辑移位至第1比特位,将第4比特位的0逻辑移位至第2比特位,得到逻辑移位后的内容110,将110确定为第二内容,并将第二内容110确定为第0级流表对应的第一二元组3中流表间信息3的具体内容。当然,从第0级流表提取第一二元组2中流表间信息2的内存区域的start开始提取长度为length的内容还可以为其他内容,从第0级流表提取第一二元组3中流表间信息3的缓存区域的start偏移start后的地址开始提取长度为length的内容还可以为其他内容,本实施例不对从第0级流表提取第一二元组2中流表间信息2的内存区域的start开始提取长度为length的具体内容进行限定,本实施例也不对从第0级流表提取第一二元组3中流表间信息3的缓存区域的start偏移start后的地址开始提取长度为length的具体内容进行限定。需要说明的是,为了保证根据取值掩码获取第一内容中的第二内容有效,可选地,根据取值掩码获取第一内容中的第二内容之后,还可以对第二内容的有效性进行校验,若对第二内容进行校验的校验结果为通过,则执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。若对第二内容进行校验的校验结果为不通过,则不执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤,而执行其他与对第二内容进行校验的校验结果为不通过相对应的操作。第三种实现方式:当各级流表中的任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型为数据库,且任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括取值语句及取值掩码时,根据任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型,确定任一级流表提取任一第一二元组中流表间信息的具体内容的存储区域;从存储区域中提取取值语句对应的内容,并将取值语句对应的内容作为第一内容;根据取值掩码获取第一内容中的第二内容,并将第二内容确定为任一级流表对应的任一第一二元组中流表间信息的具体内容。对于根据取值掩码获取第一内容中的第二内容步骤的具体实现方式本实施例不进行限定,包括但不限于:根据取值掩码从第一内容中获取子内容;将子内容逻辑移位后的内容确定为第二内容。以第0级流表对应的包含通用信息的流表项中包括的第一二元组4为[Data_area2,[SelectCommand,mask]]为例,根据第0级流表对应的包含通用信息的流表项中包括的第一二元组4中流表间信息4的来源类型Data_area2,确定第0级流表提取第一二元组4中流表间信息4的存储区域为数据库;若从数据库中提取取值语句对应的内容为:10110,则将10110作为第一内容;若根据mask获取第一内容10110中的子内容为第2比特位的1,第3比特位的1和第4比特位的0,并将第2比特位的1,第3比特位的1和第4比特位的0逻辑移位至最低比特位,即将第2比特位的1逻辑移位至第0比特位,第3比特位的1逻辑移位至第1比特位,将第4比特位的0逻辑移位至第2比特位,得到逻辑移位后的内容110,将110确定为第二内容,并将第二内容110确定为第0级流表对应的第一二元组4中流表间信息4的具体内容。当然,从数据库中提取取值语句对应的内容还可以为其他内容,本实施例不对从数据库中提取取值语句对应的具体内容进行限定。需要说明的是,为了保证根据取值掩码获取第一内容中的第二内容有效,可选地,根据取值掩码获取第一内容中的第二内容之后,还可以对第二内容的有效性进行校验,若对第二内容进行校验的校验结果为通过,则执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤。若对第二内容进行校验的校验结果为不通过,则不执行将第二内容确定为任一流表对应的任一第一二元组中流表间信息的具体内容的步骤,而执行其他与对第二内容进行校验的校验结果为不通过相对应的操作。第四种实现方式:当各级流表中的任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的来源类型为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型,且任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括信息值时,提取任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括的信息值,并将提取出的信息值确定为任一级流表对应的任一第一二元组中流表间信息的具体内容。以第0级流表对应的包含通用信息的流表项中包括的第一二元组5为[Constant,1]为例,根据第0级流表对应的通用流表项中包括的第一二元组5中流表间信息5的来源类型Constant,确定第0级流表提取第一二元组5中流表间信息5的存储区域为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型;提取第0级流表对应的包含通用信息的流表项中包括的第一二元组5中流表间信息5的位置属性包括的1,并将提取出的1确定为第0级流表对应的第一二元组5中流表间信息5的具体内容。需要说明的是,为了保证提取出的信息值有效,可选地,提取任一级流表对应的包含通用信息的流表项中包括的任一第一二元组中流表间信息的具体内容的位置属性包括的信息值之后,还可以对提取出的信息值的有效性进行校验,若对提取出的信息值进行校验的校验结果为通过,则执行将提取出的信息值确定为任一级流表对应的任一第一二元组中流表间信息的具体内容的步骤。若对提取出的信息值进行校验的校验结果为不通过,则不执行将提取出的信息值确定为任一级流表对应的任一第一二元组中流表间信息的具体内容的步骤,而执行其他与对提取出的信息值进行校验的校验结果为不通过相对应的操作。606:开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内容的相关信息。本实施例不对开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内容的相关信息的具体方法进行限定。包括但不限于,对于任一个流表对应的流表间信息的具体内容,向下一级流表传递任一个流表对应的流表间信息的具体内容;或者,向下一级流表传递用于确定任一个流表对应的流表间信息的具体内容的第一二元组。具体的,将各个流表对应的流表间信息的具体内容的相关信息(对于任一流表对应的流表间信息的具体内容的相关信息为:流表间信息的具体内容,或者,用于确定该流表间信息的具体内容的第一二元组)放入元数据中,通过元数据向下一级流表传递流表间信息的具体内容的相关信息。本实施例也不对将各个流表对应的流表间信息的具体内容的相关信息放入元数据中的具体方法进行限定。包括但不限于,如果开放流控制器发送各个流表对应的包含通用信息的流表项中还包含用于指示如何将任一级流表对应的任一流表间信息具体内容的相关信息放入元数据的写入掩码,则根据各个流表间信息对应的写入掩码将各个流表对应的流表间信息的具体内容的相关信息放入元数据中。本实施例不对根据各个流表间信息对应的写入掩码将各个流表对应的流表间信息的具体内容的相关信息放入元数据中的具体方法进行限定。包括但不限于通过如下方式将各个流表对应的流表间信息的具体内容的相关信息放入元数据中。更新的元数据=(元数据&~流表间信息对应的写入掩码)&((流表间信息具体内容的相关信息<<m)&流表间信息对应的写入掩码。其中,&为逻辑与操作,~为逻辑非操作,<<为逻辑移位操作,m为流表间信息对应的写入掩码中数值为1的最低位置。以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内容的相关信息的具体方法为:向下一级流表传递用于确定任一个流表对应的流表间信息的具体内容的第一二元组为例,根据流表间信息1对应的写入掩码1将用于确定流表间信息1的具体内容的第一二元组1放入子区域1中,根据流表间信息2对应的写入掩码2将用于确定流表间信息2的具体内容的第一二元组2放入子区域2中,根据流表间信息3对应的写入掩码3将用于确定流表间信息3的具体内容的第一二元组3放入子区域3中,根据流表间信息4对应的写入掩码4将用于确定流表间信息4的具体内容的第一二元组4放入子区域4中,根据流表间信息5对应的写入掩码5将用于确定流表间信息5的具体内容的第一二元组5放入子区域5中,详见表4。表4以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内容的相关信息的具体方法为:向下一级流表传递任一个流表对应的流表间信息的具体内容为例,根据流表间信息1对应的写入掩码1将第0级流表对应的流表间信息1的具体内容放入子区域1中,根据流表间信息2对应的写入掩码2将第0级流表对应的流表间信息2的具体内容放入子区域2中,根据流表间信息3对应的写入掩码3将第0级流表对应的流表间信息3的具体内容放入子区域3中,根据流表间信息4对应的写入掩码4将第0级流表对应的流表间信息4的具体内容放入子区域4中,根据流表间信息5对应的写入掩码5将第0级流表对应的流表间信息5的具体内容放入子区域5中,详见表5。表5……子区域5子区域4子区域3子区域2子区域100110110110110110以开放流交换机向下一级流表传递各个流表对应的流表间信息的具体内容的相关信息的具体方法为:对于流表间信息1和流表间信息2的具体内容,向下一级流表传递流表间信息1和流表间信息2的具体内容;对于流表间信息3、流表间信息4和流表间信息5的具体内容,向下一级流表传递用于确定流表间信息3、流表间信息4和流表间信息5的具体内容的第一二元组为例,根据流表间信息1对应的写入掩码1将第0级流表对应的流表间信息1的具体内容放入子区域1中,根据流表间信息2对应的写入掩码2将第0级流表对应的流表间信息2的具体内容放入子区域2中,根据流表间信息3对应的写入掩码3将用于确定流表间信息3的具体内容的第一二元组3放入子区域3中,根据流表间信息4对应的写入掩码4将用于确定流表间信息4的具体内容的第一二元组4放入子区域4中,根据流表间信息5对应的写入掩码5将用于确定流表间信息5的具体内容的第一二元组5放入子区域5中,详见表6。表6需要说明的是,一个第一二元组代表一个数值,而非数值的变形,例如移位后的数值。为了保证通过开放流控制器发送的各级流表对应的包含通用信息的流表项中包括的任一个第一二元组中流表间信息的具体内容的来源类型及位置属性提取出的任一第一二元组中流表间信息唯一,还可以对通过开放流控制器发送的各级流表对应的包含通用信息的流表项中包括的任一个第一二元组中流表间信息的具体内容的来源类型及位置属性提取出的任一第一二元组中流表间信息进行唯一化。例如,通过SQL(StructuredQueryLanguage,结构化查询语言)中对于唯一性进行约束的相关语句对提取出的任一第一二元组中流表间信息进行处理,得到唯一一个流表间信息。另外,开放流交换机在通过某一级流表处理数据报文前,若接收到上一级流表执行步骤606传递的至少一个流表间信息的具体内容的相关信息,若传递的任一个流表间信息具体内容的相关信息为上一级流表用于确定该任一个流表间信息的具体内容的第二二元组,此时某一级流表可以通过如下方式获取第二二元组对应的流表间信息的具体内容:根据第二二元组确定任一流表间信息的具体内容的相关信息描述的流表间信息的具体内容,第二二元组包括流表间信息的具体内容的来源类型及位置属性。对于根据第二二元组确定任一流表间信息的具体内容的相关信息描述的流表间信息的具体内容的具体实现方式本实施例不进行限定。例如:获取第二二元组中流表间信息的具体内容的来源类型及位置属性;根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。本实施例不对根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的具体方式进行限定。例如第一种提取方式:若第二二元组中流表间信息的具体内容的来源类型为数据报文的头域或者数据报文的payload区域,且第二二元组中流表间信息的具体内容的位置属性包括偏移量、连续取值长度及取值掩码,则根据第二二元组中流表间信息的具体内容的来源类型,确定提取第二二元组中流表间信息的具体内容的存储区域;从提取第二二元组中流表间信息的具体内容的存储区域的最前端地址偏移偏移量后的地址开始提取长度为连续取值长度的内容,并将连续取值长度的内容作为第三内容;根据取值掩码获取第三内容中的第四内容,并将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定,例如:根据取值掩码从第三内容中获取子内容;将子内容逻辑移位后的内容确定为第四内容。另外,为了保证根据取值掩码获取第三内容中的第四内容有效,可选地,根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进行校验,若对第四内容进行校验的校验结果为通过,则执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。若对第四内容进行校验的校验结果为不通过,则不执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤,而执行其他与对第四内容进行校验的校验结果为不通过相对应的操作。对第四内容的有效性进行校验的具体内容本实施例不进行具体限定。例如:验证第四内容是否合法,或者验证第四容是否符合约束条件,或者既验证第四内容是否合法又验证第四内容是否符合约束条件。本实施例也不对第四内容是否合法的具体判断标准进行限定。例如:若第四内容唯一,则认为第四内容合法。本实施例也不对第四内容是否符合约束条件的具体判断标准进行限定。例如:第四内容位于某个合理的值域空间,则认为第四内容符合约束条件。此外,对第四内容进行校验的校验结果为不通过时,本实施例不对该校验结果对应的操作进行具体限定。例如:当校验结果为不通过时,可以采取的操作为放弃第四内容,或者将第四内容设定为预设值,或者向开放流控制器发送对第四内容进行校验的校验结果为不通过的报告。除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的第一种提取方式之外,根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的提取方式还可以为下述第二种提取方式:若第二二元组中流表间信息的具体内容的来源类型为数据区域,且第二二元组中流表间信息的具体内容的位置属性包括开始地址、连续取值长度及取值掩码,则根据第二二元组中流表间信息的具体内容的来源类型,确定提取第二二元组中流表间信息的具体内容的存储区域;根据开始地址确定提取第二二元组中流表间信息的具体内容的存储区域的取值起始地址,从提取第二二元组中流表间信息的具体内容的存储区域的取值起始地址开始提取长度为连续取值长度的内容,并将连续取值长度的内容作为第三内容;根据取值掩码获取第三内容中的第四内容,并将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。对于根据开始地址确定提取第二二元组中流表间信息的具体内容的存储区域的取值起始地址的具体实施方式本实施例不进行限定,包括但不限于:将开始地址确定为提取第二二元组中流表间信息的具体内容的存储区域的取值起始地址。或者,当第二二元组中流表间信息的具体内容的位置属性还包括偏移量时,将提取第二二元组中流表间信息的具体内容的存储区域的开始地址偏移偏移量后的地址确定为提取第二二元组中流表间信息的具体内容的存储区域的取值起始地址。本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定,例如:根据取值掩码从第三内容中获取子内容;将子内容逻辑移位后的内容确定为第四内容。另外,为了保证根据取值掩码获取第三内容中的第四内容有效,可选地,根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进行校验,若对第四内容进行校验的校验结果为通过,则执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。若对第四内容进行校验的校验结果为不通过,则不执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤,而执行其他与对第四内容进行校验的校验结果为不通过相对应的操作。除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的第一种、第二种提取方式之外,根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的提取方式还可以为下述第三种提取方式:若第二二元组中流表间信息的具体内容的来源类型为数据库,且第二二元组中流表间信息的具体内容的位置属性包括取值语句及取值掩码,则根据第二二元组中流表间信息的具体内容的来源类型,确定提取第二二元组中流表间信息的具体内容的存储区域;从存储区域中提取取值语句对应的内容,并将取值语句对应的内容作为第三内容;根据取值掩码获取第三内容中的第四内容,并将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。本实施例不对根据取值掩码获取第三内容中的第四内容的方法进行限定,例如:根据取值掩码从第三内容中获取子内容;将子内容逻辑移位后的内容确定为第四内容。另外,为了保证根据取值掩码获取第三内容中的第四内容有效,可选地,根据取值掩码获取第三内容中的第四内容之后,还可以对第四内容的有效性进行校验,若对第四内容进行校验的校验结果为通过,则执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。若对第四内容进行校验的校验结果为不通过,则不执行将第四内容确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤,而执行其他与对第四内容进行校验的校验结果为不通过相对应的操作。除了上述根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的第一种、第二种、第三种提取方式之外,根据第二二元组中流表间信息的具体内容的来源类型及位置属性提取任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的提取方式还可以为下述第四种提取方式:若第二二元组中流表间信息的具体内容的来源类型为除数据报文的头域、数据报文的payload区域、数据区域及数据库外的类型,且第二二元组中流表间信息的具体内容的位置属性包括信息值,则提取第二二元组中流表间信息的具体内容的位置属性包括的信息值,并将提取出的信息值确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容。为了保证提取出的信息值有效,可选地,提取第二二元组中流表间信息的具体内容的位置属性包括的信息值之后,还可以对提取出的信息值的有效性进行校验,若对提取出的信息值进行校验的校验结果为通过,则执行将提取出的信息值确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤。若对提取出的信息值进行校验的校验结果为不通过,则不执行将提取出的信息值确定为任一描述流表间信息具体内容的信息描述的流表间信息的具体内容的步骤,而执行其他与对提取出的信息值进行校验的校验结果为不通过相对应的操作。此外,为了更清晰地体现本实施例提供的方法在减少流表项的数量方面的优势,本实施例以需要传递的流表间信息为1比特的标识为例,将现有技术与本实施例提供的方法进行对比。现有技术中,由于1比特的标识的具体内容有两种,一种为0,一种为1,开放流控制器针对1比特的标识的两种具体内容生成包含流表间信息的流表项1和包含流表间信息的流表项2,并将包含流表间信息的流表项1、包含流表间信息的流表项2发送给开放流交换机,其中,包含流表间信息的流表项1描述了产生的1比特的标识为0时,将0写入元数据,并将元数据传递至下级流表的处理逻辑;包含流表间信息的流表项2描述了产生的1比特的标识为1时,将1写入元数据,并将元数据传递至下级流表的处理逻辑。交互机若产生为1的1比特的标识后,从开放流控制器发送的包含流表间信息的流表项1及包含流表间信息的流表项2中确定匹配的包含流表间信息的流表项2,并根据包含流表间信息的流表项2将1写入元数据中,将元数据传递至下一级流表;若产生为0的1比特的标识后,从开放流控制器发送的包含流表间信息的流表项1及包含流表间信息的流表项2中确定匹配的包含流表间信息的流表项1,并根据包含流表间信息的流表项1将1写入元数据中,将元数据传递至下一级流表,从而实现无论开放流交换机实际产生何种具体内容的1比特标识,均能将该具体内容传递至下级流表。本实施例提供的方法,根据1比特的标识的具体内容的存储区域确定1比特的标识的具体内容的来源类型,并根据1比特的标识的具体内容的来源类型确定1比特的标识的具体内容的位置属性;根据1比特的标识的具体内容的来源类型及位置属性生成1比特的标识对应的第一二元组,并根据1比特的标识对应的第一二元组生成一个包含通用信息的流表项;将该包含通用信息的流表项发送给开放流交换机。开放流交换机产生1比特的标识的具体内容后,由于1比特标识的具体内容存储在存储区域中,此时根据该包含通用信息的流表项中包括的第一二元组即可确定1比特标识的具体内容的存储区域,并从存储区域中获取1比特的标识的具体内容,向下一级流表传递1比特的标识具体内容的相关信息。若产生为1的1比特标识,根据该包含通用信息的流表项中包括的第一二元组获取到的具体内容即为1,并从存储区域中获取1,向下一级流表传递1比特的标识具体内容为1的相关信息;若产生为0的1比特标识,根据该包含通用信息的流表项中包括的第一二元组获取到的具体内容即为0,并从存储区域中获取0,向下一级流表传递1比特的标识具体内容为0的相关信息,从而实现无论开放流交换机实际产生何种具体内容的1比特标识,均能将该具体内容传递至下级流表。由此可见,本实施例提供的方法通过一个包含通用信息的流表项实现了现有技术中2个包含流表间信息的流表项才实现的功能,减少了包含流表间信息的流表项的数量。本发明实施例提供的方法,通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。本发明另一实施例提供了一种开放流控制器,该开放流控制器用于执行上述图5所示实施例所提供的开放流流表间信息传递的方法中开放流控制器所执行的功能。参见图7,该开放流控制器包括:生成模块701,用于生成流表项,流表项包括指示信息,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;发送模块702,用于将生成模块701生成的流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息。可选地,生成模块701生成的流表项中包括的指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置,指示信息用于指示根据传递信息在数据源中的位置,从数据源获取传递信息。可选地,生成模块701生成的流表项中包括的指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令,指示信息用于指示根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例提供的开放流控制器,通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。本发明另一实施例提供了一种开放流流表间信息传递的设备,该设备包括:处理器和发射器;其中,控制器,用于生成流表项,流表项包括指示信息,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;其中,发射器用于将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息。其中,控制器生成的指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置,指示信息用于指示根据传递信息在数据源中的位置,从数据源获取传递信息。其中,控制器生成的指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令,指示信息用于指示根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例提供的设备,通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。本发明另一实施例提供了一种开放流交换机,该开放流交换机用于执行上述图5所示实施例所提供的开放流流表间信息传递的方法中开放流交换机所执行的功能。参见图8,该开放流交换机包括:接收模块801,用于接收数据报文;第一获取模块802,用于根据接收模块801接收到的数据报文,获取与数据报文匹配的流表项;其中,流表项包括指示信息,指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息;第二获取模块803,用于根据第一获取模块802获取到的流表项中的指示信息为下级流表获取传递信息。其中,第二获取模块803,用于根据指示信息获取传递信息;传递传递信息至下级流表;或者,第二获取模块803,用于传递指示信息至下级流表;在处理下级流表时根据指示信息获取传递信息。可选地,第一获取模块802获取到的流表项中的指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置;第二获取模块803,用于根据传递信息在数据源中的位置,从数据源获取传递信息。可选地,第一获取模块802获取到的流表项中的指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令;第二获取模块803,用于根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例提供的开放流交换机,通过根据数据报文,获取与数据报文匹配的包括指示信息的流表项;其中指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息;根据指示信息为下级流表获取传递信息,减少了接收到的流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。本发明另一实施例提供了一种开放流流表间信息传递的设备,该设备包括:接收器和处理器;其中,接收器,用于接收数据报文;其中,处理器,用于根据数据报文,获取与数据报文匹配的流表项;其中,流表项包括指示信息,指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息;其中,处理器,用于根据指示信息为下级流表获取传递信息。其中,处理器,用于根据指示信息获取传递信息,并传递传递信息至下级流表;或者,传递指示信息至下级流表,并在处理下级流表时根据指示信息获取传递信息。其中,指示信息包括数据源信息和数据源位置信息,数据源信息用于指示包括传递信息的数据源,数据源位置信息用于指示传递信息在数据源中的位置;处理器,用于开放流交换机根据传递信息在数据源中的位置,从数据源获取传递信息。其中,指示信息包括数据源信息和数据源操作信息,数据源信息用于指示包括传递信息的数据源,数据源操作信息用于指示从数据源获取传递信息的操作指令;其中,处理器,用于根据从数据源获取传递信息的操作指令,从数据源获取传递信息。本实施例提供的设备,通过根据数据报文,获取与数据报文匹配的包括指示信息的流表项;其中指示信息用于指示获取传递信息的方法,传递信息为需传递至下级流表的信息;根据指示信息为下级流表获取传递信息,减少了接收到的流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。本发明另一实施例提供了一种开放流流表间信息传递的系统,该系统用于执行上述图5所示实施例所提供的开放流流表间信息传递的方法。参见图9,该系统包括:开放流控制器901和开放流交换机902;其中,开放流控制器901如上述图7所示实施例提供的开放流控制器,详见上述实施例;开放流交换机902如上述图8所示实施例提供的开放流交换机,详见上述实施例。综上所述,本实施例提供的系统,通过生成包括指示信息的流表项,指示信息用于指示获取传递信息的方法;其中,传递信息为需传递至下级流表的信息;将流表项发送至开放流交换机,以使开放流交换机根据指示信息为下级流表获取传递信息,减少了流表项的数量,进而减少了用于存储和处理流表项的资源,提高了处理数据报文的效率。需要说明的是,上述实施例提供的开放流控制器及开放流交换机在开放流流表间信息传递过程中,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将开放流控制器及开放流交换机的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的开放流控制器及开放流交换机与开放流流表间信息传递的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1