CN103891237B - 一种网络存储的方法、交换设备和控制器 - Google Patents
一种网络存储的方法、交换设备和控制器 Download PDFInfo
- Publication number
- CN103891237B CN103891237B CN201280001751.4A CN201280001751A CN103891237B CN 103891237 B CN103891237 B CN 103891237B CN 201280001751 A CN201280001751 A CN 201280001751A CN 103891237 B CN103891237 B CN 103891237B
- Authority
- CN
- China
- Prior art keywords
- switching equipment
- data message
- data
- message
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000000875 corresponding effect Effects 0.000 claims description 298
- 230000005540 biological transmission Effects 0.000 claims description 8
- 241001269238 Data Species 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0055—Transmission or use of information for re-establishing the radio link
- H04W36/0066—Transmission or use of information for re-establishing the radio link of control information between different types of networks in order to establish a new radio link in the target network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
- H04W76/34—Selective release of ongoing connections
- H04W76/36—Selective release of ongoing connections for reassigning the resources associated with the released connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/02—Buffering or recovering information during reselection ; Modification of the traffic flow during hand-off
- H04W36/023—Buffering or recovering information during reselection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供了一种网络存储的方法、交换设备和控制器,能够提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。该方法包括:控制器确定将第一数据报文所请求的数据缓存到第一交换设备中;所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。本发明实施例适用于通信技术领域。
Description
技术领域
本发明涉及通信领域,尤其涉及一种网络存储的方法、交换设备和控制器。
背景技术
在过去的几十年里,互联网的规模迅速膨胀,网络成为人们日常生活中必不可少的环节。
在现有的网络结构下,用户发起访问服务请求后,用户的服务请求报文需要通过分布在网络上的众多路由器的转接,到达该服务请求对应的服务器。但是每一次的路由转接都会造成一定的延迟,在网络规模越来越大的情况下,这种延迟会越来越明显。
现有技术中,为了减小用户访问服务器的延迟时间,很多内容服务商会在用户访问密集区域的服务器上设置专用缓存服务器,该缓存服务器用来缓存用户需要的网页、文件等信息。由于设置了专用的缓存服务器,用户在该访问密集区域可以减小路由转接的次数,减小网络的交换量,从而可以减小用户的访问延迟时间。
然而由于大量用户访问该访问密集区域,有可能加重网络的负载,造成网络堵塞。同时该访问密集区域的服务器只是内容服务商设置的内容节点,该内容节点无法获知网络的拓扑结构和负载状况,使得用户在访问该访问密集区域的服务器时,路由的选择灵活度的较低。
发明内容
本发明的实施例提供一种基于OpenFlow的网络存储方法与交换设备和控制器,能够提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种网络存储的方法,该方法应用于基于OpenFlow协议的控制器,该方法包括:
所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备;
所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
在第一种可能的实现方式中,根据第一方面,在所述控制器确定将所述第一数据报文所请求的数据缓存到所述第一交换设备之前,该方法还包括:
所述控制器接收所述第一交换设备转发的所述第一数据报文;
所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备,包括:
所述控制器根据所述第一数据报文对应的缓存策略确定将所述第一数据报文所请求的数据缓存到所述第一交换设备,其中,所述缓存策略是预先配置在所述控制器上的或者是从策略与计费控制PCC设备获取的。
在第二种可能的实现方式中,根据第一方面或第一种可能的实现方式,该方法还包括:
所述控制器接收第二交换设备转发的第二数据报文;
若所述第二数据报文所请求的数据与所述第一数据报文所请求的数据相同,所述控制器通知所述第二交换设备转发所述第二数据报文至所述第一交换设备。
在第三种可能的实现方式中,根据第二种可能的实现方式,所述控制器接收第二交换设备转发的第二数据报文后,还包括:
所述控制器通知所述第二交换设备缓存所述第二数据报文所请求的数据,以及通知所述第二交换设备根据下发的所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第二流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据。
第二方面,提供了另一种网络存储的方法,该方法应用于基于OpenFlow协议的第一交换设备,该方法包括:
所述第一交换设备接收控制器的第一通知,所述第一通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据;
所述第一交换设备根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项;
所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元;
所述第一交换设备接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据;
所述第一交换设备缓存接收到的所述第一数据报文对应的数据。
在第一种可能的实现方式中,根据第二方面,在所述第一交换设备接收所述控制器的第一通知之前,还包括:
所述第一交换设备接收所述第一数据报文;
若所述第一交换设备上不存在所述第一数据报文对应的流表项,所述第一交换设备转发所述第一数据报文至所述控制器。
在第二种可能的实现方式中,根据第二方面或第一种可能的实现方式,还包括:
若所述第一交换设备上存在所述第二数据报文对应的流表项,所述第一交换设备转发缓存的所述第一数据报文对应的数据至所述网络设备。
在第三种可能的实现方式中,根据第二种可能的实现方式,在所述第一交换设备接收网络设备发送的第二报文后,还包括:
若所述第一交换设备上不存在所述第二数据报文对应的流表项,所述第一交换设备发送所述第二数据报文至所述控制器;
所述第一交换设备接收所述控制器的第二通知,所述第二通知用于指示所述第一交换设备转发所述第二数据报文至第二交换设备,其中所述第二交换设备缓存有所述第二数据报文对应的数据;
所述第一交换设备根据所述第二通知发送所述第二数据报文至所述第二交换设备;
所述第一交换设备接收所述第二交换设备发送的第二数据报文对应的数据;
所述第一交换设备转发接收到的所述第二数据报文对应的数据至所述网络设备。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述第二通知还用于指示所述第一交换设备缓存所述第二数据报文所请求的数据以及根据所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据;
在所述第一交换设备接收所述第二交换设备发送的第二数据报文对应的数据后,还包括:
所述第一交换设备缓存所述第二数据报文对应的数据。
第三方面,提供了一种控制器,所述控制器包括:处理器和发送器;
所述处理器,用于确定将第一数据报文所请求的数据缓存到第一交换设备,并将确定的将第一数据报文所请求的数据缓存到第一交换设备的消息发送给所述发送器;
所述发送器,用于接收所述处理器发送的将第一数据报文所请求的数据缓存到第一交换设备的消息,并通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
在第一种可能的实现方式中,根据第三方面,所述控制器还包括接收器;
所述接收器,用于在所述控制器确定将所述第一数据报文所请求的数据缓存到所述第一交换设备之前,接收所述第一交换设备转发的所述第一数据报文,并将所述第一数据报文发送给所述处理器;
所述处理器确定将所述第一数据报文所请求的数据缓存到第一交换设备包括:
所述控制器根据所述第一数据报文对应的缓存策略确定将所述第一数据报文所请求的数据缓存到所述第一交换设备,其中,所述缓存策略是预先配置在所述控制器上的或者是从策略与计费控制PCC设备获取的。
在第二种可能的实现方式中,根据第三方面或第一种可能的实现方式,所述接收器,还用于接收第二交换设备转发的第二数据报文;
所述发送器,还用于若所述第二数据报文所请求的数据与所述第一数据报文所请求的数据相同,通知所述第二交换设备转发所述第二数据报文至所述第一交换设备。
在第三种可能的实现方式中,根据第二种可能的实现方式,所述发送器,还用于在所述接收器接收所述第二交换设备转发的第二数据报文后,通知所述第二交换设备缓存所述第二数据报文所请求的数据,以及通知所述第二交换设备根据下发的所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第二流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据。
第四方面,提供了一种交换设备,该交换设备基于OpenFlow协议,所述第一交换设备包括:接收器、处理器、发送器和存储器;
所述接收器,用于接收控制器的第一通知,并将所述第一通知发送给所述处理器,所述通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据;
所述处理器,用于接收所述接收器发送的第一通知,并根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项;
所述发送器,用于转发所述第一数据报文至所述第一数据报文对应的目标网元;
所述接收器,还用于接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据,并将所述第一数据报文对应的数据发送给所述存储器;
所述存储器,用于接收所述第一数据报文对应的数据,并缓存接收到的所述第一数据报文对应的数据。
在第一种可能的实现方式中,根据第四方面,所述接收器,还用于在所述接收器接收所述控制器的第一通知之前,接收所述第一数据报文;
所述发送器,还用于若所述第一交换设备上不存在所述第一数据报文对应的流表项,转发所述第一数据报文至所述控制器。
在第二种可能的实现方式中,根据第四方面或第一种可能的实现方式,所述接收器,还用于接收网络设备发送的第二数据报文;
所述发送器,还用于若所述第一交换设备上存在所述第二数据报文对应的流表项,转发缓存的所述第二数据报文对应的数据至所述网络设备。
在第三种可能的实现方式中,根据第二种可能的实现方式,所述发送器,还用于在所述接收器接收网络设备发送的第二报文后,若所述第一交换设备上不存在所述第二数据报文对应的流表项,发送所述第二数据报文至所述控制器;
所述接收器,还用于接收所述控制器的第二通知,并将所述第二通知发送给所述发送器,所述第二通知用于指示所述第一交换设备转发所述第二数据报文至第二交换设备,其中所述第二交换设备缓存有所述第二数据报文对应的数据;
所述发送器,还用于接收所述接收器发送的第二通知,并根据所述第二通知发送所述第二数据报文至所述第二交换设备;
所述接收器,还用于接收所述第二交换设备发送的第二数据报文对应的数据,并将所述第二报文对应的数据发送给所述发送器;
所述发送器,还用于接收所述接收器发送的第二报文对应的数据,并转发接收到的所述第二数据报文对应的数据至所述网络设备。
在第四种可能的实现方式中,根据第三种可能的实现方式,所述第二通知还用于指示所述第一交换设备缓存所述第二数据报文所请求的数据以及根据所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据;
所述存储器,还用于在所述接收器接收到所述第二交换设备发送的第二数据报文对应的数据后,缓存所述第二数据报文对应的数据。
本发明实施例提供的一种网络存储的方法、控制器和交换设备,该方法包括在所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备中后,所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,这样所述第一交换设备接收到所述控制器的通知后,根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,同时所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元,所述目标网元将第一数据报文对应的数据发送给第一交换设备后,第一交换设备将接收到的所述第一数据报文对应的数据进行缓存。这样由于在第一交换设备中缓存了第一数据报文对应的数据,当用户请求该第一数据报文对应的数据时,第一交换设备可以直接将该数据发送给用户,而不需要通过多次路由从所述第一数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络存储的方法流程示意图;
图2为本发明实施例提供的另一种网络存储的方法流程示意图;
图3为本发明实施例提供的又一种网络存储的方法流程示意图;
图4为本发明实施例提供的再一种网络存储的方法流程示意图;
图5为本发明实施例提供的一种控制器的结构示意图;
图6为本发明实施例提供的另一种控制器的结构示意图;
图7为本发明实施例提供的一种第一交换设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
OpenFlow协议将传统的固定的物理硬件组成的网络改造成动态可变的软件可定义网络(SDN,Software Defined Network),是一套具有开放接口的协议,能够实现控制面与转发面的分离。
基于OpenFlow协议组成的网络***包括基于OpenFlow协议的控制器和基于OpenFlow协议的交换设备。其中,该控制器对与其连接的交换设备进行管理,如管理交换设备的建立新流表、更新、删除和查找流表等。该交换设备用于对网络中的数据包进行路由转发。
基于OpenFlow协议的交换设备的协议部分包括:流表、安全通道和OpenFlow协议。其中,交换设备通过该安全通道与控制器连接。所述流表是所述交换设备进行转发策略控制的核心数据结构,交换芯片通过查找所述流表来决策对进入交换机的网络流量所采取的行为。所述流表包括匹配域、计数器和动作集,不同厂商可以根据自身的需求设计功能各异的流表。流表的计数器统计流量的信息,例如流表的活动表项、查找次数、发送包次数等,可以针对每张流表、每个流、每个端口、每个队列进行维护。流表的动作集为流表可以执行的动作,具体如将数据流转发到指定端口等。
首先,需要说明的是,本发明实施例中提到的第一交换设备、第一域名不具有具体的含义,只是为了表述方便,其可以代表任一交换设备和任一域名。
实施例一、
本发明实施例提供了一种网络存储的方法,该方法应用于基于OpenFlow协议的控制器,具体如图1所示,该方法包括:
101、所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备中。
其中,所述控制器根据既定的缓存策略确定是否将第一数据报文所请求的数据缓存到第一交换设备,所述缓存策略是预先配置在所述控制器上的或者是从策略与计费控制PCC设备获取的。例如,当用户通过第一交换设备多次请求访问某一域名对应的数据的报文时,第一交换设备将该报文发送给控制器后,控制器判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该控制器可以根据控制器管理的交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,控制器的既定的缓存策略不同,例如,控制器也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于控制器根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
102、所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
其中,所述控制器可以向所述第一交换设备发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,和指示所述第一交换设备缓存所述第一数据报文所请求的数据。
所述控制器也可以向所述第一交换设备发送第一指示信息,用于指示所述第一交换设备缓存所述第一数据报文所请求的数据,以及发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
在所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备后,所述控制器与第一交换设备如何交互,本实施例具体不做限定,交互的最终结果为建立流表项和指示第一交换设备缓存所述第一数据报文所请求的数据。这样网络设备可以直接从第一交换设备获取第一数据报文对应的数据。
本发明实施例还提供了一种网络存储的方法,该方法应用于基于OpenFlow协议的第一交换设备,具体如图2所示,该方法包括:
201、所述第一交换设备接收控制器的第一通知,所述第一通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
在所述控制器根据既定的缓存策略确定将所述第一数据报文所请求的数据缓存在第一交换设备中时,所述第一交换设备会接收到所述控制器发送的第一通知。
例如,当用户通过第一交换设备多次请求访问第一数据报文对应的数据时,第一交换设备将该报文发送给控制器后,控制器判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该控制器可以根据第一交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,控制器的既定的缓存策略不同,例如,控制器也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于控制器根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
需要说明的是,第一通知仅是区别于第二通知的一个指代,仅说明第一通知和第二通知是控制器下发的不同通知。
202、所述第一交换设备根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
203、所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元。
所述目标网元中存储了所述第一数据报文所请求的数据,该目标网元可以是用户服务器,也可以是控制器所管理的的其它交换设备,本发明实施例对此不做具体限定。
204、所述第一交换设备接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据。
205、所述第一交换设备缓存接收到的所述第一数据报文对应的数据。
所述第一交换设备缓存接收到的所述第一数据报文对应的数据,这样网络设备可以直接从所述第一交换设备获取第一数据报文对应的数据,从而提高用户访问网络的速度,减少网络堵塞。
本发明实施例提供的一种网络存储的方法,该方法包括在所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备中后,所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,这样所述第一交换设备接收到所述控制器的通知后,根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,同时所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元,所述目标网元将第一数据报文对应的数据发送给第一交换设备后,第一交换设备将接收到的所述第一数据报文对应的数据进行缓存。这样由于在第一交换设备中缓存了第一数据报文对应的数据,当用户请求该第一数据报文对应的数据时,第一交换设备可以直接将该数据发送给用户,而不需要通过多次路由从所述第一数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
实施例二、
本发明实施例提供了一种网络存储的方法,该方法应用于基于OpenFlow协议的控制器和与其连接的基于OpenFlow协议的第一交换设备,具体如图3所示,该方法包括:
301、所述第一交换设备接收网络设备发起的第一数据报文。
第一交换设备接收到网络设备发起的第一数据报文后,将第一数据报文与所述流表项的匹配域进行匹配,若有匹配信息,说明第一交换设备上存在所述第一数据报文对应的流表项,此时可以直接将第一交换设备中所述第一数据报文所请求的数据发送给所述网络设备;
若没有匹配信息,说明第一交换设备上不存在所述第一数据报文对应的流表项,此时执行步骤302。
302、若所述第一交换设备上不存在所述第一数据报文对应的流表项,所述第一交换设备转发所述第一数据报文至所述控制器。
由于所述第一交换设备上不存在所述第一数据报文对应的流表项,所述第一交换设备转发所述第一数据报文至所述控制器,以使得所述控制器对该数据报文进行处理,例如是否为该数据请求报文选择合适的路由路径,或确定是否将该第一数据报文所请求的数据缓存到第一交换设备。
303、所述控制器接收所述第一交换设备转发的第一数据报文。
304、所述控制器确定将所述第一数据报文所请求的数据缓存到第一交换设备。
其中,在所述控制器接收所述第一交换设备转发的第一数据报文后,所述控制器根据既定的缓存策略确定是否将第一数据报文所请求的数据缓存到第一交换设备,所述缓存策略是预先配置在所述控制器上的或者是从策略与计费控制PCC设备获取的。例如,当用户通过第一交换设备多次请求访问某一域名对应的数据的报文时,第一交换设备将该报文发送给控制器后,控制器判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该控制器可以根据控制器管理的交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,控制器的既定的缓存策略不同,例如,控制器也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于控制器根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
305、所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
其中,所述控制器可以向所述第一交换设备发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,和指示所述第一交换设备缓存所述第一数据报文所请求的数据。
所述控制器也可以向所述第一交换设备发送第一指示信息,用于指示所述第一交换设备缓存所述第一数据报文所请求的数据,以及发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
在所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备后,所述控制器与第一交换设备进行何种交互,本实施例具体不做限定,交互的最终结果为建立流表项和指示第一交换设备缓存所述第一数据报文所请求的数据。这样网络设备可以直接从第一交换设备获取第一数据报文对应的数据。
306、所述第一交换设备接收所述控制器的第一通知。
在所述控制器根据既定的缓存策略确定将所述第一数据报文所请求的数据缓存在第一交换设备中时,所述第一交换设备会接收到所述控制器发送的第一通知,所述第一通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
需要说明的是,第一通知仅是区别于第二通知的一个指代,仅说明第一通知和第二通知是控制器下发的不同通知。
307、所述第一交换设备根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
308、所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元。
309、所述第一交换设备接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据。
所述目标网元中存储了所述第一数据报文所请求的数据,该目标网元可以是用户服务器,也可以是控制器所管理的其它交换设备,本发明实施例对此不作具体限定。
310、所述第一交换设备缓存接收到的所述第一数据报文对应的数据。
311、所述第一交换设备转发缓存的所述第一数据报文对应的数据至所述网络设备。
所述第一交换设备缓存接收到的所述第一数据报文对应的数据,这样网络设备可以直接从所述第一交换设备获取第一数据报文对应的数据,从而提高用户访问网络的速度,减少网络堵塞。
进一步的,所述目标网元可以具体为所述控制器管理的某一交换设备,这种情况下,当所述第一交换设备接收到第二数据报文后,由于所述第一交换设备中不存在所述第二数据报文所请求的数据,所述第一交换设备将所述第二数据报文转发给所述控制器后,所述控制器向所述第一交换设备发送的通知中还包括指示第一交换设备发送所述第二数据报文至第二交换设备,其中所述第二交换设备缓存了所述第二数据报文所请求的数据。具体的该过程如图4所示,包括:
401、所述第一交换设备接收网络设备发起的第二数据报文。
402、若所述第一交换设备上不存在所述第二数据报文对应的流表项,所述第一交换设备转发所述第二数据报文至所述控制器。
403、所述控制器接收所述第一交换设备转发的第二数据报文。
404、所述控制器确定将所述第二数据报文所请求的数据缓存到第一交换设备。
405、所述控制器通知所述第一交换设备转发所述数据报文至所述第二交换设备,以及通知所述第一交换设备缓存所述第二数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第二数据报文所请求的数据。
406、所述第一交换设备接收所述控制器的第二通知。
407、所述第一交换设备根据所述控制器下发的所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立所述第三流表项。
408、所述第一交换设备根据所述第二通知转发所述第二数据报文至所述第二交换设备。
409、所述第一交换设备接收所述第二交换设备返回的所述第二数据报文对应的数据。
410、所述第一交换设备缓存接收到的所述第二数据报文对应的数据。
411、所述第一交换设备转发缓存的所述第二数据报文对应的数据至所述网络设备。
图4所示的过程与图3所示的过程的区别在于,图4是将图3中的目标网元具体化为控制器管理的第二交换设备,第一交换设备接收到的数据报文是第二数据报文,控制器在确定将第二数据报文请求的数据缓存在第一交换设备后,控制器还通知第一交换设备转发第二数据报文至第二交换设备。其中,第一数据报文和第二数据报文均指代接收到的数据报文,第一、第二只是为了区别是不同的数据报文,因此步骤401-411的详细描述过程可参考步骤301-311。
这样控制器向所述第一交换设备提供了更优化的路由路径,使得网络设备访问该数据的速度提高。并且由于在第一交换设备中缓存了第二数据报文对应的数据,当网络设备请求该第二数据报文对应的数据时,第一交换设备可以直接将该数据发送给网络设备,而不需要通过多次路由从所述第二数据报文对应的服务器获得,进而提高了用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
当然,在上述过程中,第一交换设备也可以根据控制器的缓存策略决定不缓存第二数据报文所请求的数据,这样步骤404修改为确定不在第一交换设备上缓存第二数据报文所请求的数据,405中所述控制器只向所述第一交换设备通知第一交换设备转发第二数据报文至所述第二交换设备,相应的没有步骤407中建立第三流表项的过程,没有步骤410中缓存第一数据报文对应的数据的过程,而是在第一交换设备接收到第二交换设备发送的第二数据报文对应的数据后,直接将所述第二数据报文对应的数据转发给所述网络设备。
第一交换设备上是否存储第二数据报文对应的数据根据控制器的缓存策略来决定,本实施例对此不作具体限定。
本发明实施例提供的一种网络存储的方法,该方法包括在所述控制器确定将第一数据报文所请求的数据缓存到第一交换设备中后,所述控制器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,这样所述第一交换设备接收到所述控制器的通知后,根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,同时所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元,所述目标网元将第一数据报文对应的数据发送给第一交换设备后,第一交换设备将接收到的所述第一数据报文对应的数据进行缓存。这样由于在第一交换设备中缓存了第一数据报文对应的数据,当用户请求该第一数据报文对应的数据时,第一交换设备可以直接将该数据发送给用户,而不需要通过多次路由从所述第一数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
实施例三、
本发明实施例还提供了一种控制器50,所述控制器50基于OpenFlow协议,具体如图5所示,该控制器50包括:处理器51和发送器52。
所述处理器51,用于确定将第一数据报文所请求的数据缓存到第一交换设备,并将确定的将第一数据报文所请求的数据缓存到第一交换设备的消息发送给所述发送器52。
其中,所述处理器51根据既定的缓存策略确定是否将第一数据报文所请求的数据缓存到第一交换设备,所述缓存策略是预先配置在所述处理器上的,或者是从策略与计费控制PCC设备获取的。例如,当用户通过第一交换设备多次请求访问某一域名对应的数据的报文时,第一交换设备将该报文发送给控制器50的处理器51后,处理器51判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该处理器51可以根据控制器管理的交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,处理器51的既定的缓存策略不同,例如,处理器51也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于处理器51根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
所述发送器52,用于接收所述处理器51发送的将第一数据报文所请求的数据缓存到第一交换设备的消息,并通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
其中,所述发送器52可以向所述第一交换设备发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,和指示所述第一交换设备缓存所述第一数据报文所请求的数据。
所述发送器52也可以向所述第一交换设备发送第一指示信息,用于指示所述第一交换设备缓存所述第一数据报文所请求的数据,以及发送流表建立指示消息,所述流表建立指示消息用于指示所述第一交换设备根据所述流表建立指示消息携带的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
在所述处理器51确定将第一数据报文所请求的数据缓存到第一交换设备后,所述控制器50与第一交换设备如何交互,本实施例对此不作具体限定,交互的最终结果为建立流表项和指示第一交换设备缓存所述第一数据报文所请求的数据。这样网络设备可以直接从第一交换设备获取第一数据报文对应的数据。
可选的,如图6所示,所述控制器50还包括接收器53。
所述接收器53,用于在所述处理器51确定将所述第一数据报文所请求的数据缓存到所述第一交换设备之前,接收所述第一交换设备转发的所述第一数据报文,并将所述第一数据报文发送给所述处理器51。
所述处理器51确定将所述第一数据报文所请求的数据缓存到第一交换设备包括:
所述处理器51根据所述第一数据报文对应的缓存策略确定将所述第一数据报文所请求的数据缓存到所述第一交换设备,其中,所述缓存策略是预先配置在所述控制器上的或者是从策略与计费控制PCC设备获取的。
例如,当用户通过第一交换设备多次请求访问某一域名对应的数据的报文时,第一交换设备将该报文发送给控制器后,处理器51判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该处理器51可以根据控制器管理的交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,处理器51的既定的缓存策略不同,例如,处理器51也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于处理器51根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
可选的,所述接收器53,还用于接收第二交换设备转发的第二数据报文。
所述发送器52,还用于若所述第二数据报文所请求的数据与所述第一数据报文所请求的数据相同,通知所述第二交换设备转发所述第二数据报文至所述第一交换设备。
这样所述第一交换设备接收到所述第二交换设备发送的第二数据报文后,可以直接将所述第二数据报文所请求的数据发送给第二交换设备,从而控制器50向第一交换设备提供了更优化的路由路径,使得网络设备访问该数据的速度提高。
可选的,所述发送器52,还用于在所述接收器接收所述第二交换设备转发的第二数据报文后,通知所述第二交换设备缓存所述第二数据报文所请求的数据,以及通知所述第二交换设备根据下发的所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第二流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据。
由于在第二交换设备中缓存了第二数据报文对应的数据,当网络设备向第二交换设备请求该第二数据报文对应的数据时,第二交换设备可以直接将该数据发送给网络设备,而不需要通过多次路由从所述第二数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
基于上述实施例的描述,本发明实施例提供了一种控制器,所述控制器包括处理器和发送器。所述处理器确定将第一数据报文所请求的数据缓存到第一交换设备中,所述发送器通知所述第一交换设备缓存所述第一数据报文所请求的数据,以及通知所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项。
这样所述第一交换设备接收到所述控制器的通知后,根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,同时所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元,所述目标网元将第一数据报文对应的数据发送给第一交换设备后,第一交换设备将接收到的所述第一数据报文对应的数据进行缓存。由于在第一交换设备中缓存了第一数据报文对应的数据,当用户请求该第一数据报文对应的数据时,第一交换设备可以直接将该数据发送给用户,而不需要通过多次路由从所述第一数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
实施例四、
本发明实施例还提供了一种第一交换设备70,所述第一交换设备70基于OpenFlow协议,所述第一交换设备70包括:接收器71、处理器72发送器73和存储器74。
所述接收器71,用于接收控制器的第一通知,并将所述第一通知发送给所述处理72,所述第一通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据。
在所述控制器根据既定的缓存策略确定将所述第一数据报文所请求的数据缓存在第一交换设备70中时,所述第一交换设备70的接收器71会接收到所述控制器发送的第一通知。
例如,当用户通过第一交换设备70多次请求访问第一数据报文对应的数据时,第一交换设备70将该报文发送给控制器后,控制器判断该第一域名对应的数据为热点数据,为了避免重复从网络侧获取该第一域名对应的数据,该控制器可以根据第一交换设备的缓存数据类型和特性,确定将第一域名对应的数据缓存到该第一交换设备上。
当然,在不同情况下,控制器的既定的缓存策略不同,例如,控制器也可以根据内容服务提供商的要求,决定将第一域名对应的数据缓存在第一交换设备上。对于控制器根据哪种策略决定将第一域名对应的数据缓存在第一交换设备上,本发明实施例对此不作具体限定。
需要说明的是,第一通知仅是区别于第二通知的一个指代,仅说明第一通知和第二通知是控制器下发的不同通知。
所述处理器72,用于接收所述接收器71发送的第一通知,并根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项。
所述发送器73,用于转发所述第一数据报文至所述第一数据报文对应的目标网元。
所述目标网元中存储了所述第一数据报文所请求的数据,该目标网元可以是用户服务器,也可以是控制器所管理的的其它交换设备,本发明实施例对此不作具体限定。
所述接收器71,还用于接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据,并将所述第一数据报文对应的数据发送给所述存储器74。
所述存储器74,用于接收所述接收器71发送的所述第一数据报文对应的数据,并缓存接收到的所述第一数据报文对应的数据。
所述存储器74缓存接收到的所述第一数据报文对应的数据,这样网络设备可以直接从所述第一交换设备获取第一数据报文对应的数据,从而提高用户访问网络的速度,减少网络堵塞。
可选的,所述接收器71,还用于在接收所述控制器的第一通知之前,接收所述第一数据报文。
第一交换设备70接收到网络设备发起的第一数据报文后,将第一数据报文与所述流表项的匹配域进行匹配,若有匹配信息,说明第一交换设备上存在所述第一数据报文对应的流表项,此时可以直接将第一交换设备70中所述第一数据报文所请求的数据发送给所述网络设备;
若没有匹配信息,说明第一交换设备上不存在所述第一数据报文对应的流表项,则需要从其他目标网元获取所需的数据。
所述发送器73,还用于若所述第一交换设备上不存在所述第一数据报文对应的流表项,转发所述第一数据报文至所述控制器。
由于所述第一交换设备70上不存在所述第一数据报文对应的流表项,所述发送器73转发所述第一数据报文至所述控制器,以使得所述控制器对该数据报文进行处理,例如是否为该数据请求报文选择合适的路由路径,或确定是否将该第一数据报文所请求的数据缓存到第一交换设备。
可选的,所述接收器71,还用于接收网络设备发送的第二数据报文。
所述发送器73,还用于若所述第一交换设备上存在所述第二数据报文对应的流表项,转发缓存的所述第二数据报文对应的数据至所述网络设备。
可选的,所述发送器73,还用于在所述接收器接收网络设备发送的第二报文后,若所述第一交换设备上不存在所述第二数据报文对应的流表项,发送所述第二数据报文至所述控制器。
因为第一交换设备70上不存在所述第二数据报文对应的流表项,所以此时第一交换设备70应发送所述第二数据报文至所述控制器,由所述控制器决定所述第二数据报文所请求的数据的来源和是否在第一交换设备70上缓存所述第二数据报文所请求的数据,若所述控制器管理的某一交换设备上存在所述第二数据报文对应的数据,则第一交换设备70向该交换设备请求所述第二数据报文对应的数据,如果控制器管理的所有交换设备上都没有所述第二数据报文所请求的数据,则所述第一交换设备70向相应的服务器请求所需的数据。当所述控制器管理的第二交换设备缓存所述第二数据报文所请求的数据时,并且所述控制器没有决定在第一交换设备70上缓存所述第二数据报文所请求的数据时,具体的:
所述接收器71,还用于接收所述控制器的第二通知,并将所述第二通知发送给所述发送器73,所述第二通知用于指示所述第一交换设备转发所述第二数据报文至第二交换设备,其中所述第二交换设备缓存有所述第二数据报文对应的数据。
所述发送器73,还用于接收所述接收器71发送的第二通知,并根据所述第二通知发送所述第二数据报文至所述第二交换设备。
所述接收器71,还用于接收所述第二交换设备发送的第二数据报文对应的数据,并将所述第二报文对应的数据发送给所述发送器73。
所述发送器73,还用于接收所述接收器71发送的第二报文对应的数据,并转发接收到的所述第二数据报文对应的数据至所述网络设备。
可选的,所述第二通知还用于指示所述第一交换设备缓存所述第二数据报文所请求的数据以及根据所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据。
所述存储器74,还用于在所述接收器71接收到所述第二交换设备发送的第二数据报文对应的数据后,缓存所述第二数据报文对应的数据。
所述控制器可以根据缓存策略决定在第一交换设备70上缓存第二数据报文所请求的数据,这样当有第二访问请求访问第一交换设备70时,第一交换设备70可以直接将该数据发送给网络设备,而不需要通过多次路由从所述第二数据报文对应的服务器获得,从而提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
基于上述实施例的描述,本发明实施例提供了一种第一交换设备,所述第一交换设备包括接收器、处理器、发送器和存储器。由于控制器根据既定策略确定将第一数据报文所请求的数据缓存在所述第一交换设备中,在所述接收器接收控制器的第一通知后,所述处理器根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项,同时所述发送器转发所述第一数据报文至所述第一数据报文对应的网元,所述接收器接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据,所述存储器缓存接收到的所述第一数据报文对应的数据。这样若网络设备通过第一交换设备请求访问第一数据报文对应的数据时,处理器匹配到所述第一域名对应的流表后,所述发送器可以直接将所述第一数据报文对应的数据转发给所述网络设备,避免了将该数据请求报文通过多次路由发送给服务器,故能够提高用户访问网络数据的速度,同时可以在一定程度上防止网络堵塞。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种网络存储的方法,该方法应用于基于OpenFlow协议的第一交换设备,其特征在于,该方法包括:
所述第一交换设备接收网络设备发起的第一数据报文;
若所述第一交换设备上不存在所述第一数据报文对应的流表项,所述第一交换设备转发所述第一数据报文至控制器;
所述第一交换设备接收所述控制器的第一通知,所述第一通知用于指示所述第一交换设备缓存所述第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据;
所述第一交换设备根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项;
所述第一交换设备转发所述第一数据报文至所述第一数据报文对应的目标网元;
所述第一交换设备接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据;
所述第一交换设备缓存接收到的所述第一数据报文对应的数据。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一交换设备接收网络设备发送的第二数据报文;
若所述第一交换设备上存在所述第二数据报文对应的流表项,所述第一交换设备转发缓存的所述第二数据报文对应的数据至所述网络设备。
3.根据权利要求2所述的方法,其特征在于,在所述第一交换设备接收网络设备发送的第二报文后,还包括:
若所述第一交换设备上不存在所述第二数据报文对应的流表项,所述第一交换设备发送所述第二数据报文至所述控制器;
所述第一交换设备接收所述控制器的第二通知,所述第二通知用于指示所述第一交换设备转发所述第二数据报文至第二交换设备,其中所述第二交换设备缓存有所述第二数据报文对应的数据;
所述第一交换设备根据所述第二通知发送所述第二数据报文至所述第二交换设备;
所述第一交换设备接收所述第二交换设备发送的第二数据报文对应的数据;
所述第一交换设备转发接收到的所述第二数据报文对应的数据至所述网络设备。
4.根据权利要求3所述的方法,其特征在于,所述第二通知还用于指示所述第一交换设备缓存所述第二数据报文所请求的数据以及根据所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据;
在所述第一交换设备接收所述第二交换设备发送的第二数据报文对应的数据后,还包括:
所述第一交换设备缓存所述第二数据报文对应的数据。
5.一种第一交换设备,所述第一交换设备基于OpenFlow协议,其特征在于,所述第一交换设备包括:接收器、处理器、发送器和存储器;
所述第一交换设备接收网络设备发起的第一数据报文;
若所述第一交换设备上不存在所述第一数据报文对应的流表项,所述第一交换设备转发所述第一数据报文至控制器;
所述接收器,用于接收所述控制器的第一通知,并将所述第一通知发送给所述处理器,所述第一通知用于指示所述第一交换设备缓存第一数据报文所请求的数据,以及指示所述第一交换设备根据下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立第一流表项,其中,所述第一数据报文对应的动作指示信息用于指示所述第一交换设备转发所述第一交换设备上缓存的所述第一数据报文所请求的数据;
所述处理器,用于接收所述接收器发送的第一通知,并根据所述控制器下发的所述第一数据报文对应的匹配信息和所述第一数据报文对应的动作指示信息建立所述第一流表项;
所述发送器,用于转发所述第一数据报文至所述第一数据报文对应的目标网元;
所述接收器,还用于接收所述第一数据报文对应的目标网元返回的所述第一数据报文对应的数据,并将所述第一数据报文对应的数据发送给所述存储器;
所述存储器,用于接收所述第一数据报文对应的数据,并缓存接收到的所述第一数据报文对应的数据。
6.根据权利要求5所述的第一交换设备,其特征在于,
所述接收器,还用于接收网络设备发送的第二数据报文;
所述发送器,还用于若所述第一交换设备上存在所述第二数据报文对应的流表项,转发缓存的所述第二数据报文对应的数据至所述网络设备。
7.根据权利要求6所述的第一交换设备,其特征在于,
所述发送器,还用于在所述接收器接收网络设备发送的第二报文后,若所述第一交换设备上不存在所述第二数据报文对应的流表项,发送所述第二数据报文至所述控制器;
所述接收器,还用于接收所述控制器的第二通知,并将所述第二通知发送给所述发送器,所述第二通知用于指示所述第一交换设备转发所述第二数据报文至第二交换设备,其中所述第二交换设备缓存有所述第二数据报文对应的数据;
所述发送器,还用于接收所述接收器发送的第二通知,并根据所述第二通知发送所述第二数据报文至所述第二交换设备;
所述接收器,还用于接收所述第二交换设备发送的第二数据报文对应的数据,并将所述第二报文对应的数据发送给所述发送器;
所述发送器,还用于接收所述接收器发送的第二报文对应的数据,并转发接收到的所述第二数据报文对应的数据至所述网络设备。
8.根据权利要求7所述的第一交换设备,其特征在于,
所述第二通知还用于指示所述第一交换设备根据所述第二数据报文对应的匹配信息和所述第二数据报文对应的动作指示信息建立第三流表项,其中,所述第二数据报文对应的动作指示信息用于指示所述第二交换设备转发所述第二交换设备上缓存的所述第二数据报文所请求的数据;
所述存储器,还用于在所述接收器接收到所述第二交换设备发送的第二数据报文对应的数据后,缓存所述第二数据报文对应的数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/082504 WO2014047951A1 (zh) | 2012-09-29 | 2012-09-29 | 一种网络存储的方法、交换设备和控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103891237A CN103891237A (zh) | 2014-06-25 |
CN103891237B true CN103891237B (zh) | 2017-12-05 |
Family
ID=50386912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280001751.4A Active CN103891237B (zh) | 2012-09-29 | 2012-09-29 | 一种网络存储的方法、交换设备和控制器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9686724B2 (zh) |
EP (2) | EP3258665B1 (zh) |
CN (1) | CN103891237B (zh) |
WO (1) | WO2014047951A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101581674B1 (ko) * | 2009-05-15 | 2015-12-31 | 삼성전자주식회사 | 통합메시징 서비스 시스템에서 사용자의 요청에 따라 컨버세이션을 저장하기 위한 방법 및 그 시스템 |
CN105554179B (zh) * | 2016-01-08 | 2018-11-30 | 中国联合网络通信集团有限公司 | 局域网内dns解析方法、*** |
CN105847337A (zh) * | 2016-03-18 | 2016-08-10 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的文件分发方法和*** |
CN108574587B (zh) * | 2017-03-09 | 2020-07-24 | 华为技术有限公司 | 分布式设备的容量更新方法及装置 |
US20220369192A1 (en) * | 2021-05-13 | 2022-11-17 | Mediatek Inc. | Session continuity for 3gpp and non-3gpp interworking |
CN115617862A (zh) * | 2021-07-15 | 2023-01-17 | 华为技术有限公司 | 优化数据访问性能的方法和中间设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956448A (zh) * | 2005-10-28 | 2007-05-02 | 中兴通讯股份有限公司 | 一种基于外部条件触发节点动作的内容分发方法 |
CN102349268A (zh) * | 2009-03-09 | 2012-02-08 | 日本电气株式会社 | OpenFlow通信***和OpenFlow通信方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1723551A1 (en) * | 2004-03-12 | 2006-11-22 | THOMSON Licensing | System and method for scheduling downloading in a cached network environment |
CN101257485A (zh) * | 2007-03-02 | 2008-09-03 | 华为技术有限公司 | web应用***及方法 |
US9083609B2 (en) * | 2007-09-26 | 2015-07-14 | Nicira, Inc. | Network operating system for managing and securing networks |
WO2011043416A1 (ja) * | 2009-10-07 | 2011-04-14 | 日本電気株式会社 | 情報システム、制御サーバ、仮想ネットワーク管理方法およびプログラム |
EP2493128A1 (en) * | 2009-10-19 | 2012-08-29 | Nec Corporation | Communication system, flow control apparatus, flow table updating method and program |
ES2424859T3 (es) * | 2010-04-09 | 2013-10-09 | Nec Europe Ltd. | Encaminamiento teniendo en cuenta la eficiencia energética |
US8504718B2 (en) * | 2010-04-28 | 2013-08-06 | Futurewei Technologies, Inc. | System and method for a context layer switch |
CN101860550B (zh) * | 2010-06-25 | 2013-02-27 | 复旦大学 | 一种基于路由器缓存的流媒体***加速方法 |
US8873398B2 (en) * | 2011-05-23 | 2014-10-28 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing EPC in a cloud computer with openflow data plane |
US8804490B2 (en) * | 2011-07-29 | 2014-08-12 | Telefonaktiebolaget L M Ericsson (Publ) | Controller placement for fast failover in the split architecture |
-
2012
- 2012-09-29 CN CN201280001751.4A patent/CN103891237B/zh active Active
- 2012-09-29 EP EP17166286.9A patent/EP3258665B1/en not_active Not-in-force
- 2012-09-29 EP EP12885280.3A patent/EP2903233B1/en active Active
- 2012-09-29 WO PCT/CN2012/082504 patent/WO2014047951A1/zh active Application Filing
-
2015
- 2015-03-26 US US14/670,062 patent/US9686724B2/en active Active
-
2017
- 2017-04-03 US US15/477,917 patent/US10117140B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1956448A (zh) * | 2005-10-28 | 2007-05-02 | 中兴通讯股份有限公司 | 一种基于外部条件触发节点动作的内容分发方法 |
CN102349268A (zh) * | 2009-03-09 | 2012-02-08 | 日本电气株式会社 | OpenFlow通信***和OpenFlow通信方法 |
Non-Patent Citations (1)
Title |
---|
Simulation Studies of OpenFlow-Based In-Network Caching Strategies;Li T, Van Vorst N, Rong R, et al;《Proceedings of the 15th Communications and Networking Simulation Symposium. Society for Computer Simulation International》;20120331;1-3 * |
Also Published As
Publication number | Publication date |
---|---|
EP3258665B1 (en) | 2019-03-20 |
US20150208292A1 (en) | 2015-07-23 |
US10117140B2 (en) | 2018-10-30 |
EP2903233B1 (en) | 2017-07-26 |
EP2903233A4 (en) | 2015-09-30 |
US9686724B2 (en) | 2017-06-20 |
CN103891237A (zh) | 2014-06-25 |
WO2014047951A1 (zh) | 2014-04-03 |
EP3258665A1 (en) | 2017-12-20 |
US20170208001A1 (en) | 2017-07-20 |
EP2903233A1 (en) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103891237B (zh) | 一种网络存储的方法、交换设备和控制器 | |
CN104158755B (zh) | 传输报文的方法、装置和*** | |
CN103597787B (zh) | 终端、控制装置、通信方法、通信***、通信模块以及信息处理装置 | |
CN104756449B (zh) | 从内容中心网络中的节点和内容拥有者发送包的方法 | |
CN104429038B (zh) | 路由转发方法、装置及*** | |
CN105407055B (zh) | 一种内容中心网络的能耗控制方法 | |
CN101610296B (zh) | 一种网络地址转换出接口均衡方法和装置 | |
CN103747274B (zh) | 一种增设缓存集群的视频数据中心及其缓存资源调度方法 | |
CN108259237A (zh) | 网络访问加速方法、云dns服务器、ce和云ip加速网络*** | |
CN104660507B (zh) | 数据流转发路由的控制方法及装置 | |
CN103607312B (zh) | 用于服务器***的数据请求处理方法及*** | |
CN108366089B (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
CN103581765B (zh) | 一种报文转发的方法和设备 | |
CN105099944B (zh) | 一种缓存数据的方法及转发设备 | |
CN107786620A (zh) | 一种获取资源的方法、终端及服务器 | |
CN103607386B (zh) | 一种P2P Cache***中的协作缓存方法 | |
CN105208553B (zh) | Ccmanet请求节点检索隐私的保护方法及*** | |
CN108965479B (zh) | 一种基于内容中心网络的域协同缓存方法及装置 | |
CN107872478A (zh) | 一种内容缓存方法、装置和*** | |
CN108347379A (zh) | 基于区域集中存储的内容中心网络路由方法 | |
CN108769252A (zh) | 一种基于请求内容关联性的icn网络预缓存方法 | |
CN104170342A (zh) | 内容处理的方法和网络侧设备 | |
Zhang et al. | DA&FD–deadline-aware and flow duration-based rate control for mixed flows in DCNs | |
CN104838624B (zh) | 一种控制业务数据在虚拟网络中转发的方法、装置及*** | |
CN107948223A (zh) | 用于缓存***的流量处理方法、服务策略设备和缓存*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |