專利名稱:會話的切換方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種會話的切換方法及裝置。
背景技術(shù):
目前,在HTTP (Hypertext transfer protocol,超文本傳輸協(xié)議)/TCP (Transmission Control Protocol,傳輸控制協(xié)議)會話過程中,由于負載均衡或者無線網(wǎng)絡(luò)中終端設(shè)備的移動性等原因,HTTP/TCP會話需要進行重定向、遷移或者切換。在服務(wù)器之間進行HTTP/TCP會話重定向、遷移或者切換時,客戶端需要斷開與原目標(biāo)服務(wù)器的TCP連接,并向新目標(biāo)服務(wù)器發(fā)送請求,建立新的TCP連接之后繼續(xù)進行TCP會話。因而,導(dǎo)致進行TCP會話切換時出現(xiàn)數(shù)據(jù)傳輸?shù)闹袛?,造成?shù)據(jù)傳輸?shù)臅r延。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種會話的切換方法及裝置,在TCP會話進行切換時,降低數(shù)據(jù)傳輸?shù)臅r延。一方面,提供了一種會話的切換方法,包括接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的URI和已傳送給所述客戶端的數(shù)據(jù)范圍;根據(jù)所述客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài);根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述新TCP連接上向所述客戶端繼續(xù)傳送。一方面,提供了一種會話的切換方法,包括檢測客戶端當(dāng)前的TCP會話是否發(fā)生切換;在所述客戶端當(dāng)前的TCP會話發(fā)生切換時,向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍。另一方面,提供了一種服務(wù)器,包括接收單元,用于接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的URI和已傳送給所述客戶端的數(shù)據(jù)范圍;TCP連接單元,用于根據(jù)所述接收單元接收的客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述接收單元接收的客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài);處理單元,用于根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述TCP連接單元更新后的新TCP連接上向所述客戶端繼續(xù)傳送。另一方面,提供了一種服務(wù)器,包括檢測單元,用于檢測客戶端當(dāng)前的TCP會話是否發(fā)生切換; 發(fā)送單元,用于在所述檢測單元檢測出所述客戶端當(dāng)前的TCP會話發(fā)生切換時,向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍。由上述技術(shù)方案所描述的本發(fā)明實施例中,如果客戶端在進行TCP會話的過程中,發(fā)生從原服務(wù)器到新服務(wù)器的切換時,新服務(wù)器通過接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息,根據(jù)所述客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài);之后,根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述新TCP連接上向所述客戶端繼續(xù)傳送。本發(fā)明實施例中客戶端無需重新向新服務(wù)器發(fā)送TCP連接建立請求,而是由新服務(wù)器根據(jù)接收到TCP指示消息和HTTP指示消息主動建立新TCP連接,之后,利用新TCP連接繼續(xù)向所述客戶端傳送數(shù)據(jù),與現(xiàn)有技術(shù)中客戶端需要斷開與原目標(biāo)服務(wù)器的TCP連接,并向新目標(biāo)服務(wù)器發(fā)送請求,建立新的TCP連接之后繼續(xù)進行TCP會話相比,本發(fā)明實施例可以有效避免數(shù)據(jù)傳輸?shù)闹袛啵瑴p少數(shù)據(jù)傳輸?shù)臅r延。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例提供的一種會話的切換方法的流程圖;圖2為本發(fā)明實施例提供的另一種會話的切換方法的流程圖;圖3為本發(fā)明實施例提供的又一種會話的切換方法的流程圖;圖4為本發(fā)明實施例提供的一種服務(wù)器的結(jié)構(gòu)圖;圖5為本發(fā)明實施例提供的另一種服務(wù)器的結(jié)構(gòu)圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。如圖I所示,本發(fā)明實施例提供一種會話的切換方法,該方法由新服務(wù)器一側(cè)執(zhí)行,包括101、接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的URI和已傳送給所述客戶端的數(shù)據(jù)范圍。102、根據(jù)所述客戶端正在使用的IP地址/TCP端口號與所述客戶端正在訪問的目 標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài)。103、根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述新TCP連接上向所述客戶端繼續(xù)傳送。如圖2所示,本發(fā)明實施例提供一種會話的切換方法,該方法由原服務(wù)器一側(cè)執(zhí)行,包括301、檢測客戶端當(dāng)前的TCP會話是否發(fā)生切換。302、在所述客戶端當(dāng)前的TCP會話發(fā)生切換時,向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍。本發(fā)明實施例提供的上述圖I和圖2所示的會話的切換方法中,如果客戶端在進行TCP會話的過程中,發(fā)生從原服務(wù)器到新服務(wù)器的切換時,客戶端無需重新向新服務(wù)器發(fā)送TCP連接建立請求,而是由新服務(wù)器根據(jù)接收到TCP指示消息和HTTP指示消息主動建立新TCP連接,之后,新服務(wù)器利用新TCP連接繼續(xù)向所述客戶端傳送數(shù)據(jù),與現(xiàn)有技術(shù)中客戶端需要斷開與原目標(biāo)服務(wù)器的TCP連接,并向新目標(biāo)服務(wù)器發(fā)送請求,建立新的TCP連接之后繼續(xù)進行TCP會話相比,本發(fā)明實施例可以有效避免數(shù)據(jù)傳輸?shù)闹袛?,減少數(shù)據(jù)傳輸?shù)臅r延。需要說明的是,上述TCP指示消息和HTTP指示消息可以在一條指示信息中進行發(fā)送,也可以分別通過兩條單獨的指示消息進行發(fā)送。如圖3所示,本發(fā)明實施例中提供的一種在服務(wù)器之間進行TCP會話切換的應(yīng)用場景,當(dāng)原服務(wù)器檢測到客戶端切換到新服務(wù)器下時,向新服務(wù)器發(fā)送TCP指示消息,由新服務(wù)器為所述客戶端建立新TCP連接。下面詳細介紹一種會話的切換方法,具體包括如下步驟201、原服務(wù)器檢測到客戶端當(dāng)前的TCP會話發(fā)生切換時,停止當(dāng)前TCP連接上的數(shù)據(jù)傳送。例如,當(dāng)客戶端從原服務(wù)器的覆蓋范圍移動到新服務(wù)器的覆蓋范圍下時,會產(chǎn)生TCP會話在原服務(wù)器和新服務(wù)器之間的切換。202、原服務(wù)器向新服務(wù)器發(fā)送TCP指示消息,所述TCP指示消息包括客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息。具體地,原服務(wù)器通過一條指示消息發(fā)送所述TCP指示消息,源IP地址為原服務(wù)器,目的IP地址為新服務(wù)器。所述TCP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識;例如,所述特定協(xié)議類型為在IP option字段中定義的Open TCP。或者,所述TCP指示消息通過UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)承載和特定端口號進行標(biāo)識。例如,所述特定端口號具體為定義新的端口號1026。所述TCP指示消息采用如下表I所示的結(jié)構(gòu)表I
權(quán)利要求
1.一種會話的切換方法,其特征在于,包括 接收原服務(wù)器發(fā)送的傳輸控制協(xié)議TCP指示消息和超文本傳輸協(xié)議HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍; 根據(jù)所述客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài); 根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述新TCP連接上向所述客戶端繼續(xù)傳送。
2.根據(jù)權(quán)利要求I所述的會話的切換方法,其特征在于,所述接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息包括 接收原服務(wù)器通過同一條指示消息發(fā)送的TCP指示消息和HTTP指示消息。
3.根據(jù)權(quán)利要求I所述的會話的切換方法,其特征在于,所述接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息包括接收原服務(wù)器發(fā)送的TCP指示消息,并在所述建立新TCP連接之后,接收原服務(wù)器發(fā)送的HTTP指示消息。
4.根據(jù)權(quán)利要求1-3任一項所述的會話的切換方法,其特征在于,所述TCP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述TCP指示消息通過UDP承載和特定端口號進行標(biāo)識; 所述HTTP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述HTTP指示消息通過用戶數(shù)據(jù)包協(xié)議UDP承載和特定端口號進行標(biāo)識。
5.根據(jù)權(quán)利要求1-3任一項所述的會話的切換方法,其特征在于,所述HTTP指示消息具體包括GET請求行、GET Source和GET Entity Range,其中,所述GET Source表不所述客戶端正在訪問的URI,所述GET Entity Range表示已傳送給所述客戶端的數(shù)據(jù)范圍。
6.一種會話的切換方法,其特征在于,包括 檢測客戶端當(dāng)前的TCP會話是否發(fā)生切換; 在所述客戶端當(dāng)前的TCP會話發(fā)生切換時,向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍。
7.根據(jù)權(quán)利要求6所述的會話的切換方法,其特征在于,所述向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息包括 通過同一條指示消息向所述新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息。
8.根據(jù)權(quán)利要求6所述的會話的切換方法,其特征在于,所述向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息包括 向新服務(wù)器發(fā)送TCP指示消息,并在接收到所述新服務(wù)器發(fā)送的新TCP連接建立成功消息之后,向所述新服務(wù)器發(fā)送HTTP指示消息。
9.根據(jù)權(quán)利要求6-8任一項所述的會話的切換方法,其特征在于,所述TCP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述TCP指示消息通過UDP承載和特定端口號進行標(biāo)識; 所述HTTP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述HTTP指示消息通過用戶數(shù)據(jù)包協(xié)議UDP承載和特定端口號進行標(biāo)識。
10.根據(jù)權(quán)利要求6-8任一項所述的會話的切換方法,其特征在于,所述HTTP指示消息具體包括GET請求行、GET Source和GET Entity Range,其中,所述GET Source表不所述客戶端正在訪問的URI,所述GET Entity Range表示已傳送給所述客戶端的數(shù)據(jù)范圍。
11.一種服務(wù)器,其特征在于,包括 接收單元,用于接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的URI和已傳送給所述客戶端的數(shù)據(jù)范圍; TCP連接單元,用于根據(jù)所述接收單元接收的客戶端正在使用的IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號,在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述接收單元接收的客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài); 處理單元,用于根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述TCP連接單元更新后的新TCP連接上向所述客戶端繼續(xù)傳送。
12.根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于,所述接收單元具體用于接收原服務(wù)器通過同一條指示消息發(fā)送的TCP指示消息和HTTP指示消息。
13.根據(jù)權(quán)利要求11所述的服務(wù)器,其特征在于,所述接收單元具體用于接收原服務(wù)器發(fā)送的TCP指示消息;并在所述建立新TCP連接之后,接收原服務(wù)器發(fā)送的HTTP指示消肩、O
14.根據(jù)權(quán)利要求11-13任一項所述的服務(wù)器,其特征在于,所述接收單接收的TCP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述接收單元接收的TCP指示消息通過UDP承載和特定端口號進行標(biāo)識; 所述接收單元接收的HTTP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述接收單元接收的HTTP指示消息通過UDP承載和特定端口號進行標(biāo)識。
15.根據(jù)權(quán)利要求11-13任一項所述的服務(wù)器,其特征在于,所述HTTP指示消息具體包括GET請求行、GET Source和GET Entity Range,其中,所述GET Source表不所述客戶端正在訪問的URI,所述GET Entity Range表示已傳送給所述客戶端的數(shù)據(jù)范圍。
16.—種服務(wù)器,其特征在于,包括 檢測單元,用于檢測客戶端當(dāng)前的TCP會話是否發(fā)生切換; 發(fā)送單元,用于在所述檢測單元檢測出所述客戶端當(dāng)前的TCP會話發(fā)生切換時,向新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息,所述TCP指示消息包括客戶端正在使用的網(wǎng)絡(luò)之間互連的協(xié)議IP地址/TCP端口號、所述客戶端正在訪問的目標(biāo)服務(wù)器的IP地址/TCP端口號、所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息,所述HTTP指示消息包括所述客戶端正在訪問的通用資源標(biāo)志符URI和已傳送給所述客戶端的數(shù)據(jù)范圍。
17.根據(jù)權(quán)利要求16所述的服務(wù)器,其特征在于,所述發(fā)送單元具體用于通過同一條指示消息向所述新服務(wù)器發(fā)送TCP指示消息和HTTP指示消息。
18.根據(jù)權(quán)利要求16所述的服務(wù)器,其特征在于,所述發(fā)送單元具體用于向新服務(wù)器發(fā)送TCP指示消息,并在接收到所述新服務(wù)器發(fā)送的新TCP連接建立成功消息之后,向所述新服務(wù)器發(fā)送HTTP指示消息。
19.根據(jù)權(quán)利要求16-18任一項所述的服務(wù)器,其特征在于,所述發(fā)送單元發(fā)送的TCP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述發(fā)送發(fā)單元發(fā)送的TCP指示消息通過UDP承載和特定端口號進行標(biāo)識; 所述發(fā)送單元發(fā)送的HTTP指示消息通過IP承載和特定協(xié)議類型進行標(biāo)識,或者,所述發(fā)送單元發(fā)送的HTTP指示消息通過用戶數(shù)據(jù)包協(xié)議UDP承載和特定端口號進行標(biāo)識。
20.根據(jù)權(quán)利要求16-18任一項所述的服務(wù)器,其特征在于,所述HTTP指示消息具體包括GET請求行、GET Source和GET Entity Range,其中,所述GET Source表不所述客戶端正在訪問的URI,所述GET Entity Range表示已傳送給所述客戶端的數(shù)據(jù)范圍。
全文摘要
本發(fā)明的實施例公開一種會話的切換方法及裝置,涉及通信技術(shù)領(lǐng)域,可以有效避免數(shù)據(jù)傳輸?shù)闹袛啵瑴p少數(shù)據(jù)傳輸?shù)臅r延。包括接收原服務(wù)器發(fā)送的TCP指示消息和HTTP指示消息;在所述客戶端與所述客戶端正在訪問的目標(biāo)服務(wù)器之間建立新TCP連接,并根據(jù)所述客戶端當(dāng)前使用的TCP連接的狀態(tài)信息更新所述新TCP連接的狀態(tài);根據(jù)所述客戶端正在訪問的URI中已傳送給所述客戶端的數(shù)據(jù)范圍,獲取所述客戶端正在訪問的URI中未傳送給所述客戶端的數(shù)據(jù)范圍,并在所述新TCP連接上向所述客戶端繼續(xù)傳送。本發(fā)明實施例主要應(yīng)用于TCP會話發(fā)生切換的過程中。
文檔編號H04L29/08GK102780712SQ201110118610
公開日2012年11月14日 申請日期2011年5月9日 優(yōu)先權(quán)日2011年5月9日
發(fā)明者崔翔嵩, 韋安妮 申請人:華為技術(shù)有限公司