软件定义网络中识别攻击流的方法、装置以及设备与流程

文档序号:16818368发布日期:2019-02-10 22:33阅读:232来源:国知局
本申请涉及通信领域,特别是涉及一种软件定义网络中识别攻击流的方法、装置以及设备。
背景技术
::软件定义网络(SoftwareDefinedNetwork,SDN)是一种新型网络架构,与传统网络所采用的查找IP路由相比,SDN能够实现网络流量的灵活控制,为核心网络及应用的创新提供良好的平台,是今后网络架构发展的方向。如图1所示,SDN通常包括控制器110以及交换机120两部分。控制器110分别与网络中的每一个交换机120连接,网络中的交换机120之间拓扑连接。网络中的交换机120可以连接用户设备130和服务器140。当用户设备130需要与服务器140之间进行数据通信时,控制器110计算出用户设备130至服务器140之间的合适的转发路径,并向转发路径上的交换机120发送流表项,使得接收到流表项的交换机120能够按照流表项进行数据转发,从而完成用户设备130与服务器140之间的数据通信。如果网络受到非法攻击时,交换机120会接收到大量攻击报文,控制器110无法计算出合适的转发路径,所以,攻击报文无法与交换机120内的任何流表项进行匹配。按照现行协议的约定,交换机120收到无法与流表项匹配的报文时,需要向控制器110发送Packetin消息以令控制器110为无法与流表项匹配的报文寻找转发路径。比如非法目的IP地址攻击中,由于这些攻击报文的目的地址在该控制器110所控制的网络当中并不存在,因此控制器110是无法为这些报文找到其转发路径的。所以,控制器110会向发出Packetin消息的交换机120发送Packetout消息,Packetout消息中包含了地址解析协议(AddressResolutionProtocol,ARP)数据包。交换机120收到ARP数据包后,将ARP数据包通过各个端口(除了攻击报文进入的那个端口)向与这些端口连接的交换机120发送,与这些端口连接的交换机120接收到ARP数据包后,会与自己内部的流表项进行匹配,由于攻击报文的目标地址是虚构的,所以ARP数据包同样没法与流表项进行匹配,于是,按照现行协议的约定,这些交换机120会向控制器110发送Packetin消息以令控制器110为无法与流表项匹配的报文寻找转发路径,控制器110再返回Packetout消息。这样循环往复,由于交换机120的拓扑连接关系比较复杂,交换机120可能会通过多个端口分别接收到其它交换机120转发的ARP数据包,造成多次查询流表项,极大地浪费了交换机120的资源。以及,由于每台交换机120通过一个端口接收到ARP数据包时,都会向控制器110发送一次Packetin消息,所以如果每台交换机120通过多个端口接收到ARP数据包时,就会向控制器110发送多次Packetin消息,网络中的多台交换机120都通过多个端口接收到ARP数据包时,就会造成放大效应,大量地发送Packetin消息,甚至最终会导致广播风暴,极大地浪费了控制器110的计算资源和交换机120的带宽资源。技术实现要素:本申请提供一种软件定义网络中识别攻击流的方法、装置以及设备,能够防止攻击流引起的广播风暴,减少控制器以及交换机的资源的浪费。本申请第一方面提供一种软件定义网络中识别攻击流的方法,所述软件定义网络包括交换机和控制器,所述交换机中存储有非法流过滤表,所述识别攻击流的方法包括以下步骤:所述交换机接收数据流的数据包,并根据所述数据包的特征值在所述非法流过滤表中查找与所述数据流对应的过滤表项的状态字段;当所述状态字段为疑似攻击流状态或者非攻击流状态时,所述交换机向控制器发送上报消息;所述交换机确定向所述控制器发送所述上报消息的速率值,将所述速率值填充在所述过滤表项的速率字段;当所述速率值大于预设的速率阈值时,所述交换机将所述过滤表项的状态字段修改为攻击流状态。结合第一方面,本申请第一方面的第一种可能的实施方式中,所述过滤表项是所述交换机接收到所述数据流的第一个数据包时创建的,所述第一个数据包的特征值填充在所述过滤表项的匹配域字段,所述特征值用于识别属于所述数据流的其他数据包。结合第一方面或第一方面的第一种可能的实施方式,本申请第一方面的第二种可能的实施方式中,所述方法还包括如下步骤:所述交换机确定向所述控制器发送所述上报消息的持续时间值,将所述持续时间值填充在所述过滤表项的持续时间字段;当所述速率值小于或等于所述速率阈值时,所述交换机判断所述持续时间值是否大于预设的最大持续时间值;当所述持续时间大于所述预设的最大持续时间时,所述交换机将所述过滤表项的状态字段修改为疑似攻击流状态。结合第一方面的第二种可能的实施方式,本申请第一方面的第三种可能的实施方式中,所述方法还包括:所述交换机确定向所述控制器发送所述上报消息的流量值,将所述流量值填充在所述过滤表项的流量字段;当所述持续时间小于或者等于所述预设的最大持续时间时,所述交换机判断所述流量值是否大于预设的流量阈值;如果所述流量值大于所述预设的流量阈值,所述交换机将所述过滤表项的状态字段修改为疑似攻击流状态;如果所述流量值小于或者等于所述预设的流量阈值,所述交换机将所述过滤表项的状态字段修改为非攻击流状态。结合第一方面的第二种或第三种可能的实施方式,本申请第一方面的第四种可能的实施方式中,所述方法还包括:当所述过滤表项的状态字段修改为疑似攻击流状态时,所述交换机将所述疑似攻击流状态发送给所述控制器;所述交换机接收所述控制器返回的判定结果,并根据所述判定结果确认是否修改所述过滤表项的状态字段。结合第一方面的第二种至第四种任一种可能的实施方式,本申请第一方面的第五种可能的实施方式中,所述方法还包括:当所述过滤表项的状态字段为疑似攻击流状态时,所述交换机降低向所述控制器发送所述上报消息的速率。结合第一方面,本申请第一方面的第六种可能的实施方式中,所述方法还包括:当所述状态字段为攻击流状态时,所述交换机丢弃所述数据流的后续数据包。本申请第二方面提供一种软件定义网络中识别攻击流的装置,所述装置包括接收模块、发送模块、填充模块以及修改模块,所述接收模块用于接收数据流的数据包,并根据所述数据包的特征值在所述非法流过滤表中查找与所述数据流对应的过滤表项的状态字段,所述接收模块将所述状态字段发送给所述发送模块;所述发送模块用于接收所述状态字段,当所述状态字段为疑似攻击流状态或者非攻击流状态时,向控制器发送上报消息;所述填充模块用于确定向所述控制器发送所述上报消息的速率值,将所述速率值填充在所述过滤表项的速率字段,所述填充模块将所述速率值发送给所述修改模块;所述修改模块用于接收所述速率值,当所述速率值大于预设的速率阈值时,将所述过滤表项的状态字段修改为攻击流状态。结合第二方面,本申请第二方面的第一种可能的实施方式中,所述过滤表项是所述交换机接收到所述数据流的第一个数据包时创建的,所述第一个数据包的特征值填充在所述过滤表项的匹配域字段,所述特征值用于识别属于所述数据流的其他数据包。结合第二方面或第二方面的第一种可能的实施方式,本申请第二方面的第二种可能的实施方式中,所述装置还包括判断模块,所述填充模块还用于确定向所述控制器发送所述上报消息的持续时间值,将所述持续时间值填充在所述过滤表项的持续时间字段;所述判断模块用于在所述速率值小于或等于所述速率阈值时,判断所述持续时间值是否大于预设的最大持续时间值;所述修改模块还用于在所述持续时间大于所述预设的最大持续时间时,将所述过滤表项的状态字段修改为疑似攻击流状态。结合第二方面的第二种可能的实施方式,本申请第二方面的第三种可能的实施方式中,所述装置还包括判断模块,所述填充模块还用于确定向所述控制器发送所述上报消息的流量值,将所述流量值填充在所述过滤表项的流量字段;所述判断模块用于当所述持续时间小于或者等于所述预设的最大持续时间时,判断所述流量值是否大于预设的流量阈值,所述判断模块将判断结果发送给所述修改模块;所述修改模块还用于接收所述判断结果,在所述流量值小于或者等于所述预设的流量阈值时,将所述过滤表项的状态字段修改为非攻击流状态。结合第二方面的第二种或第三种可能的实施方式,本申请第二方面的第四种可能的实施方式中,所述发送模块还用于在所述过滤表项的状态字段修改为疑似攻击流状态时,将所述疑似攻击流状态发送给所述控制器;所述接收模块还用于接收所述控制器返回的判定结果,并根据所述判定结果确认是否修改所述过滤表项的状态字段。结合第二方面的第二种至第四种任一种可能的实施方式,本申请第二方面的第五种可能的实施方式中,所述装置还包括降低模块,所述降低模块用于在所述过滤表项的状态字段为疑似攻击流状态时,降低向所述控制器发送所述上报消息的速率。结合第二方面,本申请第二方面的第六种可能的实施方式中,所述装置还包括丢弃模块,所述丢弃模块用于在所述状态字段为攻击流状态时,丢弃所述数据流的后续数据包。本申请第三方面提供一种交换机,包括接收器、发送器以及处理器,所述接收器用于接收数据流的数据包,并根据所述数据包的特征值在所述非法流过滤表中查找与所述数据流对应的过滤表项的状态字段;所述发送器用于在所述状态字段为疑似攻击流状态或者非攻击流状态时,向控制器发送上报消息;所述处理器中存储有非法流过滤表,用于确定向所述控制器发送所述上报消息的速率值,将所述速率值填充在所述过滤表项的速率字段,并在所述速率值大于预设的速率阈值时,将所述过滤表项的状态字段修改为攻击流状态。结合第三方面,本申请第三方面的第一种可能的实施方式中,所述过滤表项是所述交换机接收到所述数据流的第一个数据包时创建的,所述第一个数据包的特征值填充在所述过滤表项的匹配域字段,所述特征值用于识别属于所述数据流的其他数据包。结合第三方面或第三方面的第一种可能的实施方式,本申请第三方面的第二种可能的实施方式中,所述处理器还用于确定向所述控制器发送所述上报消息的持续时间值,将所述持续时间值填充在所述过滤表项的持续时间字段,在所述速率值小于或等于所述速率阈值时,判断所述持续时间值是否大于预设的最大持续时间值,在所述持续时间大于所述预设的最大持续时间时,所述交换机将所述过滤表项的状态字段修改为疑似攻击流状态。结合第三方面的第二种可能的实施方式,本申请第三方面的第三种可能的实施方式中,所述处理器还用于确定向所述控制器发送所述上报消息的流量值,将所述流量值填充在所述过滤表项的流量字段,在所述持续时间小于或者等于所述预设的最大持续时间时,判断所述流量值是否大于预设的流量阈值,在所述流量值大于所述预设的流量阈值时,将所述过滤表项的状态字段修改为疑似攻击流状态,在所述流量值小于或者等于所述预设的流量阈值时,将所述过滤表项的状态字段修改为非攻击流状态。结合第三方面的第二种或第三种可能的实施方式,本申请第三方面的第四种可能的实施方式中,所述发送器还用于在所述过滤表项的状态字段修改为疑似攻击流状态时,将所述疑似攻击流状态发送给所述控制器;所述接收器还用于接收所述控制器返回的判定结果;所述处理器还用于根据所述判定结果确认是否修改所述过滤表项的状态字段。结合第三方面的第二种至第四种任一种可能的实施方式,本申请第三方面的第五种可能的实施方式中,所述处理器还用于在所述过滤表项的状态字段为疑似攻击流状态时,降低向所述控制器发送所述上报消息的速率。结合第三方面,本申请第三方面的第六种可能的实施方式中,所述处理器还用于在所述状态字段为攻击流状态时,丢弃所述数据流的后续数据包。上述方案中,交换机接收到数据流的数据包后,在非法流过滤表中查找与数据流对应的过滤表项的状态字段,并只有在状态字段为疑似攻击流状态或者非攻击流状态时,交换机向控制器发送上报消息,如果状态字段为攻击流状态时,则交换机不向控制器发送上报消息。从而防止了攻击流引起的广播风暴,减少控制器以及交换机的资源的浪费。【附图说明】为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例。图1是现有技术软件定义网络一实施方式的结构示意图;图2是本申请软件定义网络中识别攻击流的系统一实施方式的结构示意图;图3是本申请软件定义网络中识别攻击流的方法第一实施方式的流程图;图4是图3所示的软件定义网络中识别攻击流的方法的部分细化流程图;图5是本申请软件定义网络中识别攻击流的方法第二实施方式的流程图;图6是本申请软件定义网络中识别攻击流的方法第三实施方式的流程图;图7是本申请软件定义网络中识别攻击流的方法第四实施方式的流程图;图8是本申请软件定义网络中识别攻击流的装置一实施方式的结构示意图;图9是本申请交换机一实施方式的结构示意图。【具体实施方式】以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。参阅图2,图2是本申请软件定义网络中识别攻击流的系统一实施方式的结构示意图。本实施方式的软件定义网络中识别攻击流的系统包括控制器210以及交换机220。控制器210分别与网络中的每一台交换机220相连接,网络中的交换机220之间拓扑连接。网络中的交换机220可以连接用户设备230和服务器240。当用户设备230需要与服务器240之间进行通信时,控制器210计算出用户设备230至服务器之间的合适的转发路径,并向转发路径上的交换机220发送流表项,使得接收到的流表项的交换机220能够按照流表项进行数据转发,从而完成用户设备230与服务器240之间的数据通信。为了能够在数据传输通道建立之前识别出攻击流,交换机220设置一张非法流过滤表。非法流过滤表包括匹配域字段、速率值字段、流量值字段、当前持续时间字段以及状态字段。其中,如表1所示,匹配域字段用于填充接收到的数据流的特征值,例如,IP地址,端口值等等。速率值字段用于填充交换机220向控制器110发送上报消息的当前速率。流量值字段用于填充交换机220向控制器110发送上报消息的当前流量值。当前持续时间字段用于填充交换机220向控制器110发送上报消息的当前持续时间。状态字段用于填充数据流的状态,包括疑似攻击流状态、攻击流状态和非攻击流状态。每行为一个数据流的过滤表项。表1非法流过滤表交换机220接收到数据流的第一个数据包后,提取第一数据包中的特征值,然后,根据提取出的特征值在非法流过滤表中新建过滤表项,并将提取出的特征值填充到新建的过滤表项的匹配域字段中。交换机220中设置有速率阈值、流量阈值以及最大持续时间。其中,最大持续时间为交换机220持续向控制器110发送上报消息的持续时间阈值。特别地,速率阈值、流量阈值以及最大持续时间可设置在非法流过滤表中的第一行。交换机220将数据第一个数据包封装在上报消息中发送给控制器110,统计并在非法流过滤表对应的过滤表项中记录发送所述上报消息的当前速率值、当前流量值和当前的持续时间,根据记录的当前速率值、当前流量值和当前的持续时间判断所述数据流是否是攻击报文,并将判断结果填写在所述过滤表项的状态字段中。具体的判断过程与所述数据流的后续报文的判断方法相同,下文将进行详细的说明。当交换机220接收到所述数据流的其它报文时,交换机220首先查看非法流过滤表中该数据流所对应的过滤表项的状态字段。如果状态字段为疑似攻击流状态或者非攻击流状态时,交换机220向控制器210发送上报消息,并检测交换机220向控制器210发送上报消息的速率值。然后,将检测到的上报消息的速率值填充在过滤表项的速率值字段中。交换机220将向控制器210发送上报消息的速率值与非法流过滤表中的速率阈值进行比较,以确定是否为攻击流。如果发送上述上报消息的速率值大于速率阈值,则该数据流为攻击流,交换机220将非法流过滤表中与数据流对应的过滤表项中的状态字段更改为攻击流状态。之后,交换机220再收到该数据流的其他报文时,交换机220可以直接将报文丢弃而不再发送上报给控制器210,从而防止攻击流形成的广播风暴。如果上述发送上报消息的速率值大于速率阈值,数据流也可以确认为疑似攻击流状态,交换机220将非法流过滤表中与数据流对应的过滤表项中的状态字段更改为疑似攻击流状态,并将疑似攻击流的状态发送给控制210器,等待控制器210回复决策结果。在一实施方式中,可将疑似攻击流状态封装到Packetin消息中以发送给控制器。如表2所示:ofp-headerofp-matchtable-idreason……表2Packetin消息格式其中,可以设置reason字段的标识为3,标识3用于表示疑似攻击流状态。如果发送上报消息的速率值小于或者等于速率阈值,交换机220确定向控制器210发送上报消息的持续时间值以及流量值,将持续时间值填充在过滤表项的持续时间字段,将流量值填充在过滤表项的流量字段。再判断在所述持续时间内交换机220向控制器210发送上报消息的流量值是否超过了流量阈值。如果在所述持续时间内发送上报消息的流量没有超过流量阈值,但发送上报消息的持续时间超过了最大持续时间,则该数据流可能为攻击流,也可能为非攻击流。所以,在所述持续时间内发送上报消息的流量没有超过流量阈值,但发送上报消息的持续时间超过最大持续时间后,交换机220将非法流过滤表中与数据流对应的过滤表项中的状态字段更改为疑似攻击流状态,将疑似攻击流状态发送给所述控制器210,并降低向所述控制器210发送上报消息的速率。如果在所述持续时间内,交换机220向控制器210发送上报消息的流量大于流量阈值,则该数据流可能为攻击流,也可能为非攻击流,交换机在最大持续时间内继续对流量进行监控,并在超过最大持续时间后,交换机220将非法流过滤表中与数据流对应的过滤表项中的状态字段设置为疑似攻击流状态,并将数据流的疑似攻击流状态发送给控制器210,然后,等待控制器210的决策结果,交换机还可以将向控制器210发送上报消息的速率降低后再向控制器210发送上报消息,既能防止数据流确实为攻击流时维持原上报速率所带来的不良影响,也能防止数据流确实为非攻击流时因被禁止上报而误伤。控制器210接收交换机220发送的数据流的疑似攻击流状态后,对数据流是否为攻击流做出判断并得到决策结果,并将决策结果返回给交换机220。其中,决策结果可能为确定数据流为攻击流、确定数据流为非攻击流、或者依然不能确定数据流为攻击流还是非攻击流。交换机220接收到控制器210的决策结果后,根据决策结果对疑似攻击流进行下一步处理。如果决策结果为确定数据流为攻击流,交换机220将数据流所对应的状态字段从疑似攻击流状态修改为攻击流状态。之后,交换机220再收到该攻击流的其它报文,直接丢弃这些报文而不再进行上报。如果决策结果确定数据流为非攻击流,则将数据流所对应的状态字段从疑似攻击流的状态修改为非攻击流状态,交换机220在接收到上述数据流的其他报文后,查看状态字段为非攻击流状态时,将报文上报给控制器210,不再对这个数据流的其他报文进行检测。如果决策结果为不能确定数据流为攻击流还是非攻击流,则可继续发送上报消息以重复进行决策直到得到确定决策结果或者超时而放弃。参阅图3,图3是本申请软件定义网络中识别攻击流的方法第一实施方式的流程图。本实施方式的软件定义网络中识别攻击流的方法包括如下步骤:301:交换机提取数据流中的第一个数据包的特征值,并根据特征值在非法流过滤表中新建过滤表项。为了能够在数据传输通道建立之前识别出攻击流,交换机设置一张非法流过滤表。非法流过滤表包括了匹配域字段、速率值字段、流量值字段、当前持续时间字段以及状态字段。其中,匹配域字段用于填充接收到的数据流的特征值,例如,IP地址,端口值等等。速率值字段用于填充交换机向控制器发送上报消息的当前速率。流量值字段用于填充交换机向控制器发送上报消息的当前流量值。当前持续时间字段用于填充交换机向控制器发送上报消息的当前持续时间。状态字段用于填充数据流的状态,包括疑似攻击流状态、攻击流状态和非攻击流状态。每行为一个数据流的过滤表项。具体请参阅表1。以上字段的种类皆可由控制器或者交换机进行设置,并且上述字段只是对非法流过滤表字段的举例,而并非限制,在其他实施方式中还可以包括其他字段。具体地,当交换机接收到数据流的第一个数据包后,提取数据流中的第一数据包的特征值,然后,根据提取到的特征值在非法流过滤表中新建过滤表项,并将提取出的特征值填充到新建的过滤表项的匹配域字段中。交换机中还设置有速率阈值、流量阈值以及最大持续时间。其中,最大持续时间为交换机持续向控制器发送上报消息的持续时间阈值。特别地,速率阈值、流量阈值以及最大持续时间可设置在非法流过滤表中的第一行中。302:交换机向控制器发送上报消息的速率进行检测。当交换机接收到所述数据流的其它报文时,交换机首先查看非法流过滤表中该数据流所对应的过滤表项的状态字段。如果状态字段为疑似攻击流状态或者非攻击流状态时,交换机向控制器发送上报消息,并检测交换机向控制器发送上报消息的速率值。然后,将检测到的发送上报消息的速率值填充在过滤表项的速率字段中。交换机将向控制器发送上报消息的速率值与非法流过滤表中的速率阈值进行比较,以确定是否为攻击流。如果通过检测结果确定交换机向控制器发送上报消息的速率值大于速率阈值,则执行步骤303。如果通过检测结果确定交换机向控制器发送上报消息的速率值小于或者等于所述速率阈值时执行步骤304。303:将状态字段设置为攻击流状态。只要检测到交换机向控制器发送上报消息的速率值大于速率阈值,确定此数据流为攻击流,并将非法流过滤表与上述数据流对应的过滤表项中的状态字段更改为攻击流状态。之后,交换机再收到该数据流的其它报文时,交换机可以直接将报文丢弃而不再进行发送上报消息给控制器,从而防止攻击流形成广播风暴。304:判断在最大持续时间内交换机应向控制器发送上报消息的流量是否超过所述流量阈值或者交换机持续向控制器发送上报消息的时间是否超过最大持续时间。如果交换机向控制器发送上报消息的速率值小于或者等于预先设置的速率阈值,由于存在交换机为其向控制器发送上报消息的速率相对较大但是又小于速率阈值并且持续发送的情况,对上传速率进行判断的时候不能将这种数据流确定为攻击流,因而在确定交换机向交换机发送上报消息的速率小于或等于速率阈值后,交换机还需进一步地确定在预先设置的最大持续时间内交换机为数据流向控制器上报的消息的流量是否超过了预先设置的流量阈值或者交换机持续向控制器发送上报消息的时间是否超过最大持续时间。305:在超过最大持续时间后,将状态字段设置为疑似攻击流状态,并将交换机向控制器发送上报消息的速率降低。如果在最大持续时间内尽管没有超过流量阈值,但发送上报消息的持续的时间超过了最大持续时间,则该数据流可能为攻击流,也可能为非攻击流,所以,在超过最大持续时间后,将状态字段设置为疑似攻击流状态,将疑似攻击流状态发送给控制器,并将交换机向控制器发送上报消息的速率降低。尽管交换机向控制器发送上报消息的速率值小于或者等于速率阈值,但是在最大持续时间内,交换机向控制器发送上报消息的流量大于流量阈值,也有可能为攻击流。因此,交换机在最大持续时间内继续对流量进行监控,并且当交换机检测到该向控制器发送上报消息的时间超过最大持续时间后,将非法流过滤表与上述数据流对应的过滤表项中的状态字段设置为疑似攻击流状态。又由于在软件定义网络中,只有控制器能够确定数据流是否为攻击流,因此,在确定数据流为疑似攻击流以后,交换机将数据流的疑似攻击流状态发送给控制器,等待控制器返回决策结果。在等待的过程中继续向控制器发送上报消息。在一实施方式中,可将疑似攻击流状态封装到Packetin消息中以发送给控制器。由于此时交换机不确定数据流是否为攻击流,如果最终数据流确实为攻击流,继续采用原来的上报速率可能会造成交换机资源的浪费,如果最终数据流确实为非攻击流,交换机不再发送上报消息则会导致用户体验很差,所以将交换机向控制器发送上报消息的速率降低后再向控制器上报,则既防止了数据流确实为攻击流维持原上报速率所带来的不良影响,也能防止数据流确实为非攻击流时因被限制上报消息而误伤。306:接收控制器所返回的决策结果。在控制器对疑似攻击流经过判断得出决策结果并向交换机返回决策结果后,交换机接收上述决策结果,并根据决策结果对疑似攻击流进行下一步处理,请参阅图4。如图4所示,图4是图3所示的软件定义网络中识别攻击流的方法的部分细化流程图。即图4是对图3步骤306的进一步细化说明。如果交换机接收到的决策结果为确认数据流为攻击流,则执行步骤401。如果交换机接收到的决策结果为确认数据流为非攻击流,则执行步骤402。如果决策结果为不能确定数据流为攻击流还是非攻击流,则执行步骤403。401:将所述状态字段从所述疑似攻击流状态修改为攻击流状态。交换机可以直接将数据流丢弃而不再发送上报消息,从而防止攻击流形成广播风暴。402:将所述状态字段从所述疑似攻击流状态修改为非攻击流状态。则交换机在接收到上述数据流的其它报文时,不再对这个数据流的其它报文进行监控。403:继续发送上报消息以重复进行决策直到得到确定决策结果或者超时而放弃。区别于现有技术,本实施方式通过在交换机内建立一个非法流过滤表,如果对于某个数据流,交换机发送上报消息的速率值大于速率阈值时,将所述数据流对应的状态字段设置为攻击流状态,交换机接收到该数据流的其它报文时,则可以直接将报文丢弃而不发送上报消息,从而防止攻击流引起的广播风暴。在发送上报消息的速率小于或等于速率阈值时,进一步判断在最大持续时间内所述交换机向所述控制器发送上报消息的流量是否超过所述流量阈值,如果判断结果为在最大持续时间内交换机应向控制器发送上报消息的流量超过流量阈值或者尽管在最大持续时间内流量没有超过流量阈值但是发送上报消息的时间超过了最大持续时间,则在超过最大持续时间后,将状态字段设置为疑似攻击流状态,并将交换机向控制器发送上报消息的速率降低,从而减少放大效应的影响。而且,交换机将疑似攻击流状态发送给控制器后,如果控制器返回的决策结果为确认为攻击流状态,则将状态字段从疑似攻击流状态修改为攻击流状态,交换机接收到该数据流的其它报文时,则可以直接将报文丢弃而不发送上报消息,从而防止了攻击流引起的广播风暴;如果控制器返回的决策结果为确认为非攻击流状态,将状态字段从疑似攻击流状态修改为非攻击流状态,交换机接收到该数据流的其它报文时,不需要再对这个数据流进行监控,从而提高处理的效率至正常速率。在另一个实施方式中,如图5所示,图5是本申请软件定义网络中识别攻击流的方法第二实施方式的流程图。本实施方式的步骤501和503分别与上一实施方式中的步骤301和步骤304相同,此处不展开描述。而本实施方式与上一个实施方式的区别点在于,如果步骤502的检测结果为所述交换机向所述控制器发送上报消息的速率值大于所述速率阈值,则执行步骤504:将所述状态字段设置为疑似攻击流状态,并将所述疑似攻击流状态发送给所述控制器。然后,等待控制器返回决策结果,继续为上述数据流向控制器发送上报消息,并将所述交换机向所述控制器发送上报消息的速率降低。与前一个实施方式相比,本实施方式在检测交换机向控制器发送上报消息的速率值大于速率阈值时,将数据流的状态字段设置为疑似攻击流状态,能够避免部分非攻击流由于短暂的大速率传输而被误认为攻击流的现象,使判断结果更加精确。参阅图6,图6是本申请软件定义网络中识别攻击流的方法第三实施方式的流程图。所述方法包括如下步骤:601:交换机提取数据流中的第一个数据包的特征值,并根据特征值在非法流过滤表中新建过滤表项。为实现对攻击流进行识别,交换机设置一张非法流过滤表。非法流过滤表中定义了匹配域字段、速率值字段、流量值字段、当前持续时间字段以及状态字段。其中,匹配域字段用于填充接收到的数据流的特征值,例如,IP多元组,端口值等等。速率值字段用于填充上报消息的当前速率。流量值字段用于填充数据流的当前流量值。当前持续时间字段用于填充数据流的当前持续时间。状态字段用于填充数据流的状态,包括疑似攻击流状态、攻击流状态和非攻击流状态,在初始时,所有状态字段默认设置为非攻击流状态。以上字段的种类皆可由控制器或者交换机进行设置,并且上述字段只是对非法流过滤表字段的举例,而并非限制,在其他实施方式中还可以包括其他字段。具体地,当交换机接收到数据流的第一个数据包后,在将该数据流的第一个数据包上报给控制器之前,提取数据流中的第一数据包的特征值,然后,根据提取到的特征值在非法流过滤表中新建过滤表项,并将提取出的特征值填充到新建的过滤表项的匹配域字段中。交换机中还设置有速率阈值、流量阈值以及最大持续时间。其中,最大持续时间为交换机持续发送上报消息的时间阈值。特别地,速率阈值、流量阈值以及最大持续时间可设置在非法流过滤表中的第一行中。602:交换机向控制器发送上报消息的速率进行检测。当交换机接收到数据流的其它报文时,交换机检测非法流过滤表中该数据流所对应的状态字段。如果状态字段为疑似攻击流状态或者非攻击流状态时,交换机向控制器发送上报消息,并检测交换机向控制器发送上报消息的速率值。然后,将检测到的发送上报消息的速率值填充在过滤表项的速率字段中。交换机将向控制器发送上报消息的速率值与非法流过滤表中的速率阈值进行比较,以确定是否为攻击流。如果通过检测结果确定交换机向控制器发送上报消息的速率值大于速率阈值,则执行步骤603。如果通过检测结果确定交换机向控制器发送上报消息的速率值小于或者等于所述速率阈值时执行步骤604。在另一个实施方式中,如果上述发送上报消息的速率值大于速度阈值,也可以判断数据流为疑似攻击流状态,将非法流过滤表中与数据流对应的过滤表项中的状态字段设置为疑似攻击流状态,并将疑似攻击流的状态发送给控制器,等待控制器回复决策结果。603:将状态字段设置为攻击流状态。只要检测到交换机向控制器发送上报消息的速率值大于速率阈值,即确定此数据流为攻击流,并将非法流过滤表与上述数据流对应的过滤表项中的状态字段设置为攻击流状态。之后,交换机再收到该攻击流的其他报文时,交换机可以直接将报文丢弃而不再发送上报消息,从而防止攻击流形成广播风暴。604:判断在最大持续时间内交换机为数据流应向控制器发送上报消息的流量是否超过流量阈值。如果交换机向控制器发送上报消息的速率小于或者等于预先设置的速率阈值,由于存在交换机为其向控制器发送上报消息的速率相对较大但是又小于速率阈值并且持续发送的情况,对上传速率进行判断的时候不能将这种数据流确定为攻击流,因而在确定交换机向交换机发送上报消息的速率小于或等于速率阈值后,交换机还需进一步地确定在预先设置的最大持续时间内交换机为数据流向控制器上报的消息的流量是否超过了预先设置的流量阈值。如果交换机通过判断确定其为上述数据流在最大持续时间内向控制器发送上报消息的流量不超过流量阈值,则执行步骤606。如果交换机通过判断确定其在最大持续时间内向控制器发送上报消息的流量超过了流量阈值,则执行步骤605。605:在最大持续时间内交换机向控制器发送上报消息的流量超过流量阈值,立即将交换机向控制器发送上报消息的速率降低。如果交换机通过判断确定为上述数据流的流量已经超过流量阈值,但是上传时间没有达到最大持续时间,即在最大持续时间内已经超过流量阈值。则在流量超过流量阈值后,上传时间没有达到最大持续时间之前的这段时间内,交换机不确定数据流是否为攻击流,如果最终数据流确实为攻击流,继续采用原来的上报速率可能会造成交换机资源的浪费,如果最终数据流确实为非攻击流,不允许交换机发送上报消息则会导致用户体验很差,所以降低交换机向控制器发送上报消息的速率。然后,进入步骤606。606:判断交换机持续向控制器发送上报消息的时间是否超过最大持续时间。如果发送上报消息的流量不超过流量阈值,但是发送上报消息的持续时间超过了最大持续时间,该数据流也可能是攻击流。所以,必须判断交换机持续向控制器发送上报消息的时间是否超过最大持续时间。然后,进入步骤607。另一方面,即使在最大持续时间内,交换机向控制器发送上报消息的流量超过了流量阈值,也必须等待到超过最大持续时间后,才进入步骤607。607:将状态字段设置为疑似攻击流状态,将疑似攻击流状态发送给控制器。尽管交换机向控制器发送上报消息的速率值小于或者等于速率阈值,但是在最大持续时间内,交换机向控制器发送上报消息的流量大于流量阈值,则该数据流也有可能为攻击流。因此,交换机在最大持续时间内继续对流量进行监控,并且交换机向控制器发送上报消息的时间超过最大持续时间后,将非法流过滤表与上述数据流对应的过滤表项中的状态字段设置为疑似攻击流状态。尽管在最大持续时间内没有超过流量阈值,但发送上报消息的持续时间值超过了最大持续时间,则该数据流也可能为攻击流,所以,在超过所述最大持续时间后,将所述状态字段设置为疑似攻击流状态,将所述疑似攻击流状态发送给控制器,并将交换机向控制器发送上报消息的速率降低。又由于在软件定义网络中,只有控制器能够确定数据流是否为攻击流,因此,在确定数据流为疑似攻击流以后,交换机将数据流的疑似攻击流状态发送给控制器,等待控制器返回决策结果,并继续向控制器发送上报消息。608:接收控制器所返回的决策结果。在控制器对疑似攻击流经过判断,得出决策结果并向交换机返回决策结果后,交换机接收上述决策结果,并根据决策结果对疑似攻击流进行下一步处理。如果交换机接收到的决策结果为确认数据流为攻击流,则将所述状态字段从所述疑似攻击流状态修改为攻击流状态。交换机可以直接将确定为攻击流的数据流丢弃而不再发送上报消息,从而防止攻击流形成广播风暴。如果交换机接收到的决策结果为确认数据流为非攻击流,则将所述状态字段从所述疑似攻击流状态修改为非攻击流状态,则交换机在接收到上述数据流的其它报文时,不再对这个数据流的其它报文进行监控。如果决策结果为不能确定数据流为攻击流还是非攻击流,则继续发送上报消息以重复进行决策直到得到确定决策结果或者超时而放弃。上述方案中,交换机接收到数据流的数据包后,在非法流过滤表中查找与数据流对应的过滤表项的状态字段,并只有在状态字段为疑似攻击流状态或者非攻击流状态时,交换机向控制器发送上报消息,如果状态字段为攻击流状态时,则交换机不向控制器发送上报消息。从而防止了攻击流引起的广播风暴,减少控制器以及交换机的资源的浪费。在另一个实施方式中,如图7所示,图7是本申请软件定义网络中识别攻击流的方法第四实施方式的流程图。本实施方式的软件定义网络中识别攻击流的方法的步骤701至步骤705分别与图3所示的实施方式的步骤301至步骤305的步骤相同,而与图3所示的实施方式不同之处在于交换机向控制器发送上报消息的持续时间超过所述最大持续时间,将所述状态字段设置为疑似攻击流状态,并将上述疑似攻击流状态发送给控制器的步骤705之后还包括如下步骤:706:交换机判断在循环规定次数内控制器是否返回决策结果。交换机再向控制器发送数据流的疑似攻击流状态以后,由于一些攻击流可能是控制器不能识别的,或者由于攻击流的攻击目标为控制器本身或者其他原因导致控制器不能快速返回确认信息或者控制器不能返回控制信息时,为了防止扩大效应,需要对交换机等待控制器返回决策结果的时间进行限定,如果在规定时间内确定控制器向交换机返回了决策结果,则执行步骤707。如果在规定时间内,交换机没有接收到控制器发送的决策结果,则返回步骤704以判断向控制器发送上报消息的流量是否超过流量阈值或者持续发送上报消息的时间是否超过最大持续时间。重复执行上述过程,直到在预设设置的循环次数内接收到了控制器返回的决策结果或者超过循环次数后,将非法流过滤表与数据流对应的过滤表项中的状态字段从疑似攻击流状态重新设置为攻击流状态。707:接收控制器所返回的决策结果。如果交换机接收到的决策结果为确认数据流为攻击流,则将所述状态字段从所述疑似攻击流状态修改为攻击流状态。交换机可以直接将数据流丢弃而不再发送上报消息,从而防止攻击流形成广播风暴。如果交换机接收到的决策结果为确认数据流为非攻击流,则将所述状态字段从所述疑似攻击流状态修改为非攻击流状态。则交换机在接收到上述数据流的其它报文时,不再对这个数据流的其它报文进行监控。如果决策结果为不能确定数据流为攻击流还是非攻击流,则继续发送上报消息以重复进行决策直到得到确定决策结果或者超时而放弃。本实施方式与图3所示的实施方式的区别在于,在向控制器发送数据流的疑似攻击流状态并且规定时间内没有接收到控制器的决策结果后,重复执行判断在最大持续时间内交换机向控制器发送上报消息的流量值是否超过了流量阈值或者交换机持续向交换机发送上报消息是否超过最大持续时间,如果在最大持续时间交换机向控制器发送上报消息的流量值不超过流量阈值并且交换机持续向交换机发送上报消息的持续时间不超过最大持续时间,则将数据流的状态修改为非攻击流状态,交换机接收到该数据流的其它报文时,不需要再对这个数据流进行监控,从而提高处理的效率。如果流量值超过了流量阈值或者持续时间超过了最大持续时间,则保持数据流疑似攻击流的状态并且交换机继续执行向控制器上报,而后再等待控制器的决策结果,重复执行上述过程,如果在规定循环次数内交换机接收到了控制器的决策结果,则根据决策结果对数据流进行下一步的处理,如果重复次数超过了规定循环次数仍然没有收到控制器的决策结果,则将数据流的状态修改为攻击流状态,直接丢弃,节约控制器和交换机的资源,避免攻击流形成广播风暴。如图8所示,图8为本申请软件定义网络中识别攻击流的装置一实施方式的结构示意图。本实施方式的软件定义网络中识别攻击流的装置包括接收模块810、发送模块820、填充模块830以及修改模块840,判断模块850、降低模块860以及丢弃模块870。接收模块810用于接收数据流的数据包,并根据所述数据包的特征值在所述非法流过滤表中查找与所述数据流对应的过滤表项的状态字段,所述接收模块810将所述状态字段发送给所述发送模块820。所述发送模块820用于接收所述状态字段,当所述状态字段为疑似攻击流状态或者非攻击流状态时,向控制器发送上报消息。所述填充模块830用于确定向所述控制器发送所述上报消息的速率值,将所述速率值填充在所述过滤表项的速率字段,所述填充模块830将所述速率值发送给所述修改模块840。所述修改模块840用于接收所述速率值,当所述速率值大于预设的速率阈值时,将所述过滤表项的状态字段修改为攻击流状态。可选地,所述过滤表项是所述交换机接收到所述数据流的第一个数据包时创建的,所述第一个数据包的特征值填充在所述过滤表项的匹配域字段,所述特征值用于识别属于所述数据流的其他数据包。可选地,所述填充模块830还用于确定向所述控制器发送所述上报消息的持续时间值,将所述持续时间值填充在所述过滤表项的持续时间字段。所述判断模块850用于在所述速率值小于或等于所述速率阈值时,判断所述持续时间值是否大于预设的最大持续时间值。所述修改模块840还用于在所述持续时间大于所述预设的最大持续时间时,将所述过滤表项的状态字段修改为疑似攻击流状态。可选地,所述填充模块830还用于确定向所述控制器发送所述上报消息的流量值,将所述流量值填充在所述过滤表项的流量字段;所述判断模块850还用于在所述持续时间小于或者等于所述预设的最大持续时间时,判断所述流量值是否大于预设的流量阈值,所述判断模块850将判断结果发送给所述修改模块840;所述修改模块840还用于接收所述判断结果,在所述流量值小于或者等于所述预设的流量阈值时,将所述过滤表项的状态字段修改为非攻击流状态。可选地,所述发送模块820还用于在所述过滤表项的状态字段修改为疑似攻击流状态时,将所述疑似攻击流状态发送给所述控制器;所述接收模块810还用于接收所述控制器返回的判定结果,并根据所述判定结果确认是否修改所述过滤表项的状态字段。可选地,所述降低模块860用于在所述过滤表项的状态字段为疑似攻击流状态时,降低向所述控制器发送所述上报消息的速率。可选地,所述丢弃模块870用于在所述状态字段为攻击流状态时,丢弃所述数据流的后续数据包。可以理解,图8所示的装置可以执行图3、图5、图6、图7对应的实施例中的各个步骤。区别于现有技术,本实施方式通过在交换机内建立一个非法流过滤表,如果对于某个数据流,交换机发送上报消息的速率值大于所述数据流速率阈值时,将所述数据流对应的状态字段设置为攻击流状态,交换机接收到该数据流的其它攻击报文时,则可以直接将攻击报文丢弃而不发送上报消息,从而防止攻击流引起的广播风暴。在发送上报消息的速率值小于或等于速率阈值时,进一步判断在最大持续时间内所述交换机向所述控制器发送上报消息的流量是否超过所述流量阈值,如果判断结果为在最大持续时间内交换机应向控制器发送上报消息的流量超过流量阈值或者尽管在最大持续时间内流量没有超过流量阈值但是发送上报消息的时间超过了最大持续时间,则在超过最大持续时间后,将状态字段设置为疑似攻击流状态,并将交换机向控制器发送上报消息的速率降低,从而减少放大效应的影响。而且,交换机将疑似攻击流状态发送给控制器后,如果控制器返回的决策结果为确认为攻击流状态,则将状态字段从疑似攻击流状态修改为攻击流状态,交换机接收到该数据流的其它攻击报文时,则可以直接将攻击报文丢弃而不发送上报消息,从而防止了攻击流引起的广播风暴;如果控制器返回的决策结果为确认为非攻击流状态,将状态字段从疑似攻击流状态修改为非攻击流状态,交换机接收到该数据流的其它报文时,不需要再对这个数据流进行监控,从而提高处理的效率至正常速率。如图9所示,图9为本申请交换机一实施方式结构示意图。本实施方式交换机900包括接收器901、处理器902、发送器903。所述接收器901用于接收数据流的数据包,并根据所述数据包的特征值在所述非法流过滤表中查找与所述数据流对应的过滤表项的状态字段;所述发送器903用于在所述状态字段为疑似攻击流状态或者非攻击流状态时,向控制器发送上报消息;处理器902中存储有非法流过滤表,用于确定向所述控制器发送所述上报消息的速率值,将所述速率值填充在所述过滤表项的速率字段,并在所述速率值大于预设的速率阈值时,将所述过滤表项的状态字段修改为攻击流状态。本实施方式中的交换机还包括存储器904,存储器904可以包括只读存储器和随机存取存储器,并向处理器902提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器(NVRAM)。存储器904存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:操作指令:包括各种操作指令,用于实现各种操作。操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。在本发明实施例中,处理器902通过调用存储器904存储的操作指令(该操作指令可存储在操作系统中),来执行上述操作。处理器902还可以称为CPU(CentralProcessingUnit,中央处理单元)。存储器904可以包括只读存储器和随机存取存储器,并向处理器1002提供指令和数据。存储器904的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,控制器的各个组件通过总线系统905耦合在一起,其中总线系统905除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统905。上述本发明实施例揭示的方法可以应用于处理器902中,或者由处理器902实现。处理器902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器902可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器904,处理器902读取存储器904中的信息,结合其硬件完成上述方法的步骤。可选地,所述过滤表项是所述交换机接收到所述数据流的第一个数据包时创建的,所述第一个数据包的特征值填充在所述过滤表项的匹配域字段,所述特征值用于识别属于所述数据流的其他数据包。可选地,所述处理器902还用于确定向所述控制器发送所述上报消息的持续时间值,将所述持续时间值填充在所述过滤表项的持续时间字段,在所述速率值小于或等于所述速率阈值时,判断所述持续时间值是否大于预设的最大持续时间值,在所述持续时间大于所述预设的最大持续时间时,所述交换机将所述过滤表项的状态字段修改为疑似攻击流状态。可选地,所述处理器902还用于确定向所述控制器发送所述上报消息的流量值,将所述流量值填充在所述过滤表项的流量字段,在所述持续时间小于或者等于所述预设的最大持续时间时,判断所述流量值是否大于预设的流量阈值,在所述流量值大于所述预设的流量阈值时,将所述过滤表项的状态字段修改为疑似攻击流状态,在所述流量值小于或者等于所述预设的流量阈值时,将所述过滤表项的状态字段修改为非攻击流状态。可选地,所述发送器903还用于在所述过滤表项的状态字段修改为疑似攻击流状态时,将所述疑似攻击流状态发送给所述控制器;所述接收器901还用于接收所述控制器返回的判定结果;所述处理器902还用于根据所述判定结果确认是否修改所述过滤表项的状态字段。可选地,所述处理器902还用于在所述过滤表项的状态字段为疑似攻击流状态时,降低向所述控制器发送所述上报消息的速率。可选地,所述处理器902还用于在所述状态字段为攻击流状态时,丢弃所述数据流的后续数据包。区别于现有技术,本实施方式通过在交换机内建立一个非法流过滤表,如果对于某个数据流,交换机发送上报消息的速率值大于所述数据流的速率阈值时,将所述数据流对应的状态字段设置为攻击流状态,交换机接收到该数据流的其它攻击报文时,则可以直接将攻击报文丢弃而不发送上报消息,从而防止攻击流引起的广播风暴。在发送上报消息的速率值小于或等于速率阈值时,进一步判断在最大持续时间内所述交换机向所述控制器发送上报消息的流量是否超过所述流量阈值,如果判断结果为在最大持续时间内交换机应向控制器发送上报消息的流量超过流量阈值或者尽管在最大持续时间内流量没有超过流量阈值但是发送上报消息的时间超过了最大持续时间,则在超过最大持续时间后,将状态字段设置为疑似攻击流状态,并将交换机向控制器发送上报消息的速率降低,从而减少放大效应的影响。而且,交换机将疑似攻击流状态发送给控制器后,如果控制器返回的决策结果为确认为攻击流状态,则将状态字段从疑似攻击流状态修改为攻击流状态,交换机接收到该数据流的其它攻击报文时,则可以直接将攻击报文丢弃而不发送上报消息,从而防止了攻击流引起的广播风暴;如果控制器返回的决策结果为确认为非攻击流状态,将状态字段从疑似攻击流状态修改为非攻击流状态,交换机接收到该数据流的其它报文时,不需要再对这个数据流进行监控,从而提高处理的效率至正常速率。在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1