本申請涉及通信領域,尤其涉及一種軟件定義網絡(softwaredefinednetwork,sdn)連接判斷方法、設備和系統
背景技術:
sdn技術將控制平面從網絡設備中分離出來,將全網的控制、管理功能集中到sdn控制器中,網絡設備專注于業(yè)務數據轉發(fā),逐步標準化后形成開放流(openflow)交換機。sdn控制器與openflow交換機通過openflow協議進行通信,具體實現中,sdn控制器與openflow交換機之間,既可以通過獨立的帶外網絡進行openflow協議通信,也可以使用與業(yè)務數據轉發(fā)相同的通信通道(帶內網絡)進行openflow協議通信。
實際組網應用中,選擇帶內網絡或帶外網絡進行openflow協議通信取決于網絡實際情況,當sdn控制器與openflow交換機物理距離很遠,且不便于提供單獨的控制通信網絡時通常選擇帶內通信模式,以便降低網絡建設成本,簡化網絡維護管理復雜度。通過帶內通信模式,sdn控制器與openflow交換機間完成控制通信通道建立后,依據openflow交換機與sdn控制器間連接關系的不同,可以分為直連交換機和非直連交換機?,F有技術中,sdn控制器與openflow交換機之間的連接關系需要手動配置,當網絡結構發(fā)生變化時不便于維護。
技術實現要素:
本申請的實施例提供一種sdn連接判斷方法、設備和系統,用于實現sdn控制器與openflow交換機間通道連接關系的自動發(fā)現。
為達到上述目的,本申請的實施例采用如下技術方案:
第一方面,提供了一種sdn連接判斷方法,該方法包括:
開放流openflow交換機與軟件定義網絡sdn控制器建立控制通信通道,以獲取本機的上游端口;
openflow交換機通過上游端口發(fā)送第一通告報文,第一通告報文包括openflow交換機的標識信息;
openflow交換機接收上游交換機發(fā)送的第一回應報文,第一回應報文中包括上游交換機的標識信息;
openflow交換機根據上游端口和上游交換機的標識信息,獲取與上游端口對應的上游鄰居交換機記錄表;
openflow交換機根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。
第二方面,提供了一種開放流openflow交換機,包括:
獲取單元,用于與軟件定義網絡sdn控制器建立控制通信通道,以獲取本機的上游端口;
發(fā)送單元,用于通過上游端口發(fā)送第一通告報文,第一通告報文包括openflow交換機的標識信息;
接收單元,用于接收上游交換機發(fā)送的第一回應報文,第一回應報文中包括上游交換機的標識信息;
獲取單元,還用于根據上游端口和上游交換機的標識信息,獲取與上游端口對應的上游鄰居交換機記錄表;
判斷單元,用于根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。
第三方面,提供了一種通信系統,包括如第二方面的開放流openflow交換機和軟件定義網絡sdn控制器。
本申請的實施例提供的sdn連接判斷方法、設備和系統,openflow交換機通過上游端口獲取第一回應報文,其中包含上游交換機的標識信息,并獲取與上游端口對應的上游鄰居交換機記錄表,最后根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。實現了sdn控制器與openflow交換機間通道連接關系的自動發(fā)現。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹。
圖1為本申請的實施例提供的通信系統的結構示意圖;
圖2為本申請的實施例提供的一種sdn連接判斷方法的流程示意圖;
圖3為本申請的實施例提供的另一種sdn連接判斷方法的流程示意圖;
圖4為本申請的實施例提供的又一種sdn連接判斷方法的流程示意圖;
圖5為本申請的實施例提供的再一種sdn連接判斷方法的流程示意圖;
圖6為本申請的實施例提供的一種通信系統示例的結構示意圖;
圖7為本申請的實施例提供的openflow交換機的結構示意圖。
具體實施方式
下面結合附圖,對本申請的實施例進行描述。
參照圖1中所示,為本申請實施例提供的通信系統的示意圖,包括sdn控制器11和至少一個openflow交換機12。sdn控制器11與openflow交換機12間通過帶內方式進行控制通信時,至少一臺openflow交換機與sdn控制器間通過直連方式建立物理連接。
本申請實施例提供的sdn連接判斷方法、設備和系統,當sdn控制器與openflow通過帶內通信方式建立控制通信通道時,在不影響sdn控制器與openflow交換機間控制通信協議兼容性前提下,openflow交換機自動完成:(1)與sdn控制器間是否采用直連方式物理連接的自動檢測;(2)自動報告本交換機連接sdn控制器的端口信息(端口號)。sdn控制器接收到openflow交換機上報的包括端口信息的通知消息時,完成帶內控制通信通道拓撲數據更新,為拓撲管理服務。
實施例1、
本申請實施例提供了一種sdn連接判斷方法,應用于上述系統,參照圖2中所示,該方法包括:
s101、openflow交換機與sdn控制器建立控制通信通道,以獲取本機的上游端口。
本申請中將openflow交換機連接sdn控制器所用的端口標記為該交換機的“上游端口”,上游端口即該openflow交換機上收到過sdn控制器發(fā)送的報文的端口。openflow交換機連接sdn控制器的端口可能是直連端口,也可能是非直連端口。各個openflow交換機在完成與sdn控制器間控制通信通道建立之后,各個交換機可以自動識別出本機的“上游端口”。同時,本openflow交換機上與其他openflow交換機的上游端口相連接的端口,稱為本openflow交換機的“下游端口“。
還需要說明的是,本發(fā)明實施例中上游交換機是指與openflow交換機的上游端口直接連接的openflow交換機;下游交換機是指與openflow交換機的下游端口直接連接的openflow交換機。
s102、openflow交換機通過上游端口發(fā)送第一通告報文,第一通告報文包括openflow交換機的標識信息。
openflow交換機的標識信息主要用于在整個sdn網絡中唯一標識openflow交換機,其可以包括但不限于openflow交換機的媒體訪問控制(mediaaccesscontrol,mac)地址等。
s103、openflow交換機接收上游交換機發(fā)送的第一回應報文,第一回應報文中包括上游交換機的標識信息。
上游交換機的標識信息主要用于在整個sdn網絡中唯一標識openflow交換機,其可以包括但不限于上游交換機的mac地址等。
s104、openflow交換機根據上游端口和上游交換機的標識信息,獲取與上游端口對應的上游鄰居交換機記錄表。
上游鄰居交換機記錄表包括但不限于上游端口、上游交換機的mac地址和主機名。
s105、openflow交換機根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。
本申請實施例提供的sdn連接判斷方法,openflow交換機通過上游端口獲取第一回應報文,其中包含上游交換機的標識信息,并獲取與上游端口對應的上游鄰居交換機記錄表,最后根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。實現了sdn控制器與openflow交換機間通道連接關系的自動發(fā)現。
可選的,參照圖3中所示,步驟s105包括:
s1051、當與上游端口對應的上游鄰居交換機記錄表中有數據時,并且接收第一回應報文的端口屬于上游端口時,openflow交換機判斷通過上游端口與sdn控制器非直連。
s1052、當與上游端口對應的上游鄰居交換機記錄表中無數據時,或者接收第一回應報文的端口不屬于上游端口時,openflow交換機判斷通過上游端口與sdn控制器直連。
可選的,參照圖4中所示,上述方法還包括:
s106、openflow交換機通過下游端口從下游交換機接收第二通告報文,第二通告報文中包括下游交換機的標識信息。
s107、openflow交換機根據下游端口和下游交換機的標識信息,獲取與下游端口對應的下游鄰居交換機記錄表。
s108、openflow交換機根據下游鄰居交換機記錄表通過下游端口向下游交換機發(fā)送第二回應報文,第二回應報文中包括openflow交換機的標識信息。
s109、openflow交換機周期性掃描上游鄰居交換機記錄表,如果在一段時間內沒有從上游端口接收來自上游交換機的第一回應報文,則從與上游端口對應的上游鄰居交換機記錄表中刪除與上游交換機對應的表項。
需要特別說明的是步驟s101-s105,與步驟s106-s109之間沒有明確的邏輯先后順序。
實施例2、
本申請實施例提供了另一種sdn連接判斷方法,應用于上述系統,參照圖6中所示,該方法包括:
s201、openflow交換機與sdn控制器建立控制通信通道,以獲取本機的上游端口。
該步驟與s101相對應。
參照圖6中所示,為本申請實施例的一種通信系統的具體示例。交換機1至交換機5完成與sdn控制器間建立控制通信通道之后,各個交換機可以自動識別出本機的“上游端口”,如下:
{交換機1:switch1,上游端口:p1-1}
{交換機2:switch2,上游端口:p2-1}
{交換機3:switch3,上游端口:p3-1}
{交換機4:switch4,上游端口:p4-1}
{交換機5:switch4,上游端口:p5-1}
s202、openflow交換機周期性通過上游端口發(fā)送交換機狀態(tài)通告報文,該報文包括本openflow交換機的mac地址和主機名。
該步驟與步驟s102對應。第一通告報文即交換機狀態(tài)通告報文。
如表1所示,提供了一種“交換機狀態(tài)通告”報文的示例,其中該報文是廣播發(fā)送,所以接收方地址為全0xff,對于發(fā)送方標識和接收方標識作為可選字段,如果使用該字段,可以為設備id或者主機名,也可以為系統可識別的標識,不作限定。本領域技術人員可以很清楚地知道,不使用接收方標識字段和發(fā)送方標識字段不影響交換機狀態(tài)通告報文的收發(fā)和識別;因為mac地址作為在整個sdn網絡中唯一標識openflow交換機。
表1
示例性的,以圖6中的交換機2(switch2)為例,交換機2周期性通過上游端口p2-1發(fā)送“交換機狀態(tài)通告”報文格式可以如表2中所示:
表2
交換機2通過上游端口p2-1將上述構建好的報文廣播發(fā)送。采用同樣的方式,交換機1、交換機3、交換機4、交換機5也分別在各自的上游端口上發(fā)送“交換機狀態(tài)通告”報文。
s203、openflow交換機從上游交換機接收交換機狀態(tài)回應報文。
該步驟與步驟s103對應。第一回應報文即交換機狀態(tài)回應報文。
openflow交換機控制平面自主下發(fā)如下轉發(fā)規(guī)則到數據平面:規(guī)則2,報文協議類型為“0x10b”的以太報文,上交本交換機控制平面。根據該規(guī)則,交換機狀態(tài)回應報文上交本交換機控制平面,控制平面進行后續(xù)處理。
如表3所示,提供了一種“交換機狀態(tài)回應”報文的示例。同樣的,由于交換機狀態(tài)回應報文與交換機狀態(tài)通告報文是對應的,對于發(fā)送方標識和接收方標識同樣可作為可選字段,如果使用該字段,可以為設備id或者主機名,也可以為系統可識別的標識,不作限定。本領域技術人員可以很清楚地知道,不使用接收方標識字段和發(fā)送方標識字段不影響交換機狀態(tài)回應報文的收發(fā)和識別;因為mac地址作為在整個sdn網絡中唯一標識openflow交換機。
表3
示例性的,以圖6中的交換機1作為交換機2的上游交換機,會收到交換機2通過上游端口p2-1發(fā)送的“交換機狀態(tài)通告”報文,所以交換機1會通過其下游端口p1-2向交換機2的上游端口p2-1發(fā)送對應的交換機狀態(tài)回應報文;交換機2從上游端口p2-1接收到從交換機1發(fā)出的交換機狀態(tài)回應”報文,該報文格式可以如表4中所示:
表4
交換機1查詢下游鄰居交換機記錄表,獲得交換機2對應的下游端口p1-2,將構建完成的交換機狀態(tài)回應報文發(fā)送給交換機2。交換機2、交換機3根據本機的下游鄰居交換機記錄表,按照同樣的流程執(zhí)行上述回應處理流程。
s204、openflow交換機獲取交換機狀態(tài)回應報文中的上游交換機的標識信息,根據上游端口和上游交換機的標識信息,獲取與上游端口對應的上游鄰居交換機記錄表。
該步驟與步驟s104對應。本實施例中,由步驟s201可知,openflow交換機周期性通過上游端口發(fā)送交換機狀態(tài)通告報文,也即系統中所有的openflow交換機都是周期性通過上游端口發(fā)送交換機狀態(tài)通告報文,所以當openflow交換機的上游端口連接有上游交換機時,該openflow交換機會多次從上游交換機接收到交換機狀態(tài)響應報文,接收到交換機狀態(tài)響應報文后,要獲取接收交換機狀態(tài)響應報文的上游端口以及報文中的上游交換機的標識信息;先根據上游交換機的標識信息在下游鄰居交換機記錄表查找,如果不存在對應的表項,則在下游鄰居交換機記錄表中創(chuàng)建對應的表項。在本實施例中,還可以在下游鄰居交換機記錄表的表項中添加老化定時器,每收到一次上游交換機的交換機狀態(tài)響應報文更新一下對應表項的老化定時器。
本領域人員可以很清楚的知道,在本發(fā)明實施例中,當openflow交換機與sdn控制器是直接連接時,則不能從上游端口接收到交換機狀態(tài)回應報文,所以并不能創(chuàng)建對應的上游鄰居交換機記錄表。
上游鄰居交換機記錄表示例如下:
{上游端口p1,上游交換機mac地址addr1,上游交換機主機名name1}
{上游端口p2,上游交換機mac地址addr2,上游交換機主機名name2}
……
{上游端口pn,上游交換機mac地址addrn,上游交換機主機名namen}
示例性的,以圖6中的交換機2為例,交換機2獲取連接上游鄰居交換機的交換機1的端口為:p2-1;解析報文內容,獲得上游鄰居交換機信息{上游交換機mac地址:00:01:7a:00:00:01,上游交換機主機名:switch1};構建上游鄰居交換機記錄表:{上游端口:p2-1,上游交換機mac地址:00:01:7a:00:00:01,上游交換機主機名:switch1}
按照如上處理方法,網絡中各個openflow交換機上形成的上游鄰居交換機記錄表如下:
交換機1:無上游鄰居。
交換機2:{上游端口:p2-1,上游交換機mac地址:00:01:7a:00:00:01,上游交換機主機名:switch1}。
交換機3:{上游端口:p3-1,上游交換機mac地址:00:01:7a:00:00:01,上游交換機主機名:switch1}。
交換機4:{上游端口:p4-1,上游交換機mac地址:00:01:7a:00:00:02,上游交換機主機名:switch2}。
交換機5:{上游端口:p5-1,上游交換機mac地址:00:01:7a:00:00:03,上游交換機主機名:switch3}。
s205、openflow交換機根據上游鄰居交換機記錄表或者接收上游交換機狀態(tài)通告報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。
該步驟與步驟s105對應。
s206、如果判斷直連,openflow交換機構建openflowpkt_in消息,并發(fā)送給sdn控制器,通知sdn控制器與本交換機的連接方式。
示例性的,以圖6中的交換機1為例,構建的pkt_in消息格式示意如表5中所示(具體格式內容可參考openflow協議標準):
表5
sdn控制器接收到上述pkt_in消息后,按照標準流程予以處理,即可完成自身與交換機1間連接關系的自動發(fā)現及拓撲處理。
s207、下游交換機周期性對上游鄰居交換機記錄表進行老化處理。
該步驟與步驟s109對應。
下游交換機周期性掃描上游鄰居交換機記錄表,如果在一段時間內沒有從上游端口接收來自上游交換機的“上游交換機狀態(tài)通告”報文(第一回應報文),則從與該上游端口對應的上游鄰居交換機記錄表中刪除與上游交換機對應的表項。
s208、openflow交換機通過下游端口從下游交換機接收交換機狀態(tài)通告報文。
該步驟與s106對應。第二通告報文也是交換機狀態(tài)通告報文。
初始狀態(tài)下,openflow交換機控制平面自主下發(fā)如下轉發(fā)規(guī)則到數據平面:規(guī)則1,報文協議類型為“0x10a”的以太報文,上交本交換機控制平面。根據該規(guī)則,報文上交本交換機控制平面,控制平面進行后續(xù)處理。
s209、openflow交換機獲取接收“交換機狀態(tài)通告”報文的下游端口;獲取報文中的下游交換機的標識信息;根據下游端口和下游交換機的標識信息,獲取與下游端口對應的下游鄰居交換機記錄表。
該步驟與步驟s107對應。
本實施例中,由步驟s201可知,openflow交換機周期性通過上游端口發(fā)送交換機狀態(tài)通告報文,也即系統中所有的openflow交換機都是周期性通過上游端口發(fā)送交換機狀態(tài)通告報文,所以同時作為上游交換機的openflow交換機多次從下游交換機接收到“交換機狀態(tài)通告”報文,接收到“交換機狀態(tài)通告”報文后,要獲取接收“交換機狀態(tài)通告”報文的下游端口以及報文中的下游交換機的標識信息;先根據下游交換機的標識信息在下游鄰居交換機記錄表查找,如果不存在對應的表項,則在下游鄰居交換機記錄表中創(chuàng)建對應的表項。
下游鄰居交換機記錄表如下:
{下游端口p1,下游交換機mac地址addr1,下游交換機主機名name1}
{下游端口p2,下游交換機mac地址addr2,下游交換機主機名name2}
……
{下游端口pn,下游交換機mac地址addrn,下游交換機主機名namen}
示例性的,以圖6中的交換機1為例,交換機1獲取連接下游鄰居交換機的交換機2的下游端口為:p1-2;解析報文內容,獲得下游鄰居交換機標識信息{下游交換機mac地址:00:01:7a:00:00:02,下游交換機主機名:switch2};構建下游鄰居交換機記錄表表項:{下游端口:p1-2,下游交換機mac地址:00:01:7a:00:00:02,下游交換機主機名:switch2}
按照如上處理方法,網絡中各個openflow交換機形成的下游鄰居交換機記錄表如下:
交換機1:{下游端口:p1-2,下游交換機mac地址:00:01:7a:00:00:02,下游交換機主機名:switch2};{下游端口:p1-3,下游交換機mac地址:00:01:7a:00:00:03,下游交換機主機名:switch3}。
交換機2:{下游端口:p2-2,下游交換機mac地址:00:01:7a:00:00:04,下游交換機主機名:switch4}。
交換機3:{下游端口:p3-2,下游交換機mac地址:00:01:7a:00:00:05,下游交換機主機名:switch5}。
交換機4和交換機5由于沒有下游鄰居,因此不存在對應的下游鄰居交換機記錄表。
在本實施例中,還可以在表項中添加老化定時器,每收到一次下游交換機的“交換機狀態(tài)通告”報文更新一下對應表項的老化定時器。
s210、上游交換機根據下游鄰居交換機記錄表獲得對應的下游端口,并周期性地通過下游端口向下游交換機發(fā)送上游交換機狀態(tài)回應報文,該報文中包括上游交換機的標識信息。
該步驟與步驟s108對應。
s211、openflow上游換機周期性對下游鄰居交換機記錄表進行老化處理。
上游交換機周期性掃描下游鄰居交換機記錄表,如果在一段時間內沒有從下游端口接收來自下游交換機的“下游交換機狀態(tài)通告”報文(第一通告報文),則從與該下游端口對應的下游鄰居交換機記錄表中刪除與下游交換機對應的表項。
需要特別說明的是步驟s201-s206,s207、與步驟s208-s211之間沒有明確的邏輯先后順序。
本申請實施例提供的sdn連接判斷方法,除了實現了sdn控制器與openflow交換機間通道連接關系的自動發(fā)現,openflow交換機還將上述連接關系發(fā)送給sdn控制器。
實施例3、
本申請實施例提供一種openflow交換機,應用于上述方法,參照圖7中所示,該交換機12包括:
獲取單元1201,用于與軟件定義網絡sdn控制器建立控制通信通道,以獲取本機的上游端口。
發(fā)送單元1202,用于通過上游端口發(fā)送第一通告報文,第一通告報文包括openflow交換機的標識信息。
接收單元1203,用于接收上游交換機發(fā)送的第一回應報文,第一回應報文中包括上游交換機的標識信息。
獲取單元1201,還用于根據上游端口和上游交換機的標識信息,獲取與上游端口對應的上游鄰居交換機記錄表。
判斷單元1204,用于根據上游鄰居交換機記錄表或者接收第一回應報文的端口,判斷openflow交換機通過上游端口與sdn控制器直連或非直連。
在一種可能的設計中,判斷單元1204具體用于:當與上游端口對應的上游鄰居交換機記錄表中有數據時,并且接收第一回應報文的端口屬于上游端口時,判斷通過上游端口與sdn控制器非直連;當與上游端口對應的上游鄰居交換機記錄表中無數據時,或者接收第一回應報文的端口不屬于上游端口時,判斷通過上游端口與sdn控制器直連。
在一種可能的設計中,接收單元1203,還用于通過下游端口接收下游交換機發(fā)送的第二通告報文,第二通告報文中包括下游交換機的標識信息;獲取單元,還用于根據下游端口和下游交換機的標識信息,獲取與下游端口對應的下游鄰居交換機記錄表;發(fā)送單元,還用于根據下游鄰居交換機記錄表通過下游端口向下游交換機發(fā)送第二回應報文,第二回應報文中包括openflow交換機的標識信息。
在一種可能的設計中,交換機還包括老化單元1205,用于周期性掃描上游鄰居交換機記錄表,如果在一段時間內沒有從上游端口接收來自上游交換機的第一回應報文,則從與上游端口對應的上游鄰居交換機記錄表中刪除與上游交換機對應的表項。
由于本申請實施例中的openflow交換機可以應用于上述方法,因此,其所能獲得的技術效果也可參考上述方法實施例,本申請實施例在此不再贅述。
需要說明的是,獲取單元、判斷單元、老化單元可以為單獨設立的處理器,也可以集成在控制器的某一個處理器中實現,此外,也可以以程序代碼的形式存儲于控制器的存儲器中,由控制器的某一個處理器調用并執(zhí)行以上各單元的功能。這里所述的處理器可以是一個中央處理器(centralprocessingunit,cpu),或者是特定集成電路(applicationspecificintegratedcircuit,asic),或者是被配置成實施本申請實施例的一個或多個集成電路。
應理解,在本申請的各種實施例中,上述各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應以其功能和內在邏輯確定,而不應對本申請實施例的實施過程構成任何限定。
本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本申請的范圍。
所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統、設備和方法,可以通過其它的方式實現。例如,以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
在上述實施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實現。當使用軟件程序實現時,可以全部或部分地以計算機程序產品的形式來實現。該計算機程序產品包括一個或多個計算機指令。在計算機上加載和執(zhí)行計算機程序指令時,全部或部分地產生按照本申請實施例所述的流程或功能。所述計算機可以是通用計算機、專用計算機、計算機網絡、或者其他可編程裝置。所述計算機指令可以存儲在計算機可讀存儲介質中,或者從一個計算機可讀存儲介質向另一個計算機可讀存儲介質傳輸,例如,所述計算機指令可以從一個網站站點、計算機、服務器或者數據中心通過有線(例如同軸電纜、光纖、數字用戶線(digitalsubscriberline,dsl))或無線(例如紅外、無線、微波等)方式向另一個網站站點、計算機、服務器或數據中心進行傳輸。所述計算機可讀存儲介質可以是計算機能夠存取的任何可用介質或者是包含一個或多個可以用介質集成的服務器、數據中心等數據存儲設備。所述可用介質可以是磁性介質(例如,軟盤、硬盤、磁帶),光介質(例如,dvd)、或者半導體介質(例如固態(tài)硬盤(solidstatedisk,ssd))等。
以上所述,僅為本申請的具體實施方式,但本申請的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本申請揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本申請的保護范圍之內。因此,本申請的保護范圍應以所述權利要求的保護范圍為準。