專利名稱:一種網(wǎng)絡(luò)中設(shè)備間的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及一種網(wǎng)絡(luò)中設(shè)備間的數(shù)據(jù)傳輸方法。
背景技術(shù):
隨著各種無線網(wǎng)絡(luò)技術(shù)的逐步普及,越來越多的網(wǎng)絡(luò)設(shè)備通過無線網(wǎng)絡(luò)與其他網(wǎng)絡(luò)設(shè)備進(jìn)行連接,進(jìn)而在無線連接的基礎(chǔ)上發(fā)送、接收信息。
由于無線信號(hào)所具有的不穩(wěn)定特性、無線信號(hào)強(qiáng)度隨著距離而衰減的特性以及擁有無線連接能力的設(shè)備的高度移動(dòng)特性,使得網(wǎng)絡(luò)應(yīng)用程序開發(fā)者在開發(fā)基于網(wǎng)絡(luò)連接尤其是無線網(wǎng)絡(luò)連接的應(yīng)用時(shí)必須付出額外的精力處理網(wǎng)絡(luò)連接的建立、維持、檢測(cè)過程,同時(shí)需要在應(yīng)用的各個(gè)環(huán)節(jié)中加入足夠多的網(wǎng)絡(luò)連接異常處理,給應(yīng)用程序的開發(fā)帶來了諸多的不便。
另一方面,越來越多的網(wǎng)絡(luò)設(shè)備同時(shí)具備一種以上的網(wǎng)絡(luò)連接方式,如筆記本往往同時(shí)具備無線局域網(wǎng)(WLAN)和藍(lán)牙(Bluetooth)、紅外等多種網(wǎng)絡(luò)連接能力,而這些網(wǎng)絡(luò)連接手段單一使用的情況下往往存在著不穩(wěn)定因素。比如WLAN連接的傳輸距離雖然相對(duì)較遠(yuǎn),但信號(hào)受環(huán)境影響較大,而Bluetooth連接和紅外連接的傳輸距離非常有限。
目前,雖然有的網(wǎng)絡(luò)設(shè)備同時(shí)具備一種以上的網(wǎng)絡(luò)連接方式,但網(wǎng)絡(luò)設(shè)備之間傳輸一次數(shù)據(jù),只能選擇一種網(wǎng)絡(luò)連接方式進(jìn)行。一旦在數(shù)據(jù)傳輸過程中,出現(xiàn)異常情況連接即被斷開,則用戶必須重新建立連接、重新傳輸。如果網(wǎng)絡(luò)不好還需要換其他連接方式或以原連接方式多次重新建立連接,不能在傳輸過程中自動(dòng)切換到可用的連接方式上,給用戶使用帶來了不便。另外,這個(gè)過程中,如果需要一次傳輸?shù)男畔]有完全傳輸完畢,已經(jīng)傳輸?shù)牟糠中畔⑼枰匦聜鬏?,又浪費(fèi)了系統(tǒng)資源。
例如,兩臺(tái)筆記本電腦正采用Bluetooth進(jìn)行傳輸,如果此時(shí)其中一臺(tái)筆記本用戶必須離開,只能重新建立連接距離相對(duì)較遠(yuǎn)的WLAN連接進(jìn)行傳輸,否則兩臺(tái)筆記本距離超出Bluetooth傳輸范圍,連接就會(huì)自動(dòng)斷開,傳輸?shù)臄?shù)據(jù)可能丟失。這就給筆記本用戶帶來了使用的不便,重新傳輸數(shù)據(jù)又浪費(fèi)了系統(tǒng)資源。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種網(wǎng)絡(luò)設(shè)備間數(shù)據(jù)傳輸?shù)姆椒?,該方法能夠在?shù)據(jù)傳輸過程中自動(dòng)選擇可用的連接方式進(jìn)行數(shù)據(jù)傳輸,方便用戶使用。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種網(wǎng)絡(luò)中設(shè)備間的數(shù)據(jù)傳輸方法,在網(wǎng)絡(luò)設(shè)備中設(shè)置管道控制模塊,數(shù)據(jù)傳輸過程包括以下步驟1)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送源設(shè)備和數(shù)據(jù)發(fā)送目標(biāo)設(shè)備的管道控制模塊根據(jù)設(shè)備工作情況,分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并建立源設(shè)備與目標(biāo)設(shè)備間的數(shù)據(jù)傳輸管道;2)源設(shè)備的管道控制模塊,選擇數(shù)據(jù)傳輸管道中的一種介質(zhì)網(wǎng)絡(luò)連接方式進(jìn)行數(shù)據(jù)傳輸;3)數(shù)據(jù)傳輸過程中需要切換到另一種介質(zhì)網(wǎng)絡(luò)連接方式時(shí),則源設(shè)備管道控制模塊控制建立新介質(zhì)網(wǎng)絡(luò)連接,繼續(xù)進(jìn)行數(shù)據(jù)傳輸。
其中,所述步驟1)可以包括11)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送的源設(shè)備和數(shù)據(jù)發(fā)送的目標(biāo)設(shè)備的管道控制模塊,通過偵聽網(wǎng)絡(luò)多播地址獲知對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;12)源設(shè)備的管道控制模塊控制源設(shè)備選擇一種可用介質(zhì)網(wǎng)絡(luò)連接方式與目標(biāo)設(shè)備建立網(wǎng)絡(luò)協(xié)議連接;13)源設(shè)備的管道控制模塊通過步驟12)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求;
14)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,然后向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);如果目標(biāo)設(shè)備同意建立數(shù)據(jù)傳輸管道,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道;15)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
所述步驟1)的也可以由以下步驟實(shí)現(xiàn)11a)源設(shè)備的管道控制模塊控制源設(shè)備與目標(biāo)設(shè)備用其所在網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議,建立網(wǎng)絡(luò)協(xié)議連接;12a)源設(shè)備的管道控制模塊通過步驟11a)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求,該請(qǐng)求中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;13a)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,如果同意建立數(shù)據(jù)傳輸管道,則將自身和對(duì)方都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并在該響應(yīng)中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;目標(biāo)設(shè)備向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);14b)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式和響應(yīng)中包含的對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
源設(shè)備的管道控制模塊是可以根據(jù)源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序發(fā)送的建立管道命令,建立源設(shè)備與目標(biāo)設(shè)備的網(wǎng)絡(luò)協(xié)議連接,并通過該連接向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求;
源設(shè)備的管道控制模塊收到目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)后,向源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序返回管道建立是否成功結(jié)果。
所述應(yīng)用程序發(fā)送的建立管道命令至少包含目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)。
所述源設(shè)備的管道控制模塊發(fā)送的管道建立請(qǐng)求還包含源設(shè)備的設(shè)備標(biāo)識(shí)、目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)、期望的管道持續(xù)時(shí)間;所述目標(biāo)設(shè)備的管道控制模塊返回的管道建立響應(yīng)還包含管道建立成功或失敗信息;如果管道建立成功,該管道建立響應(yīng)還包含自身的設(shè)備標(biāo)識(shí)、源設(shè)備標(biāo)識(shí)、管道有效時(shí)間。
所述封裝數(shù)據(jù)傳輸管道的方法可以為源設(shè)備和目標(biāo)設(shè)備的管道控制模塊在各自所在設(shè)備中分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息填入到管道信息表中。
所述封裝數(shù)據(jù)傳輸管道的方法具體可以為管道控制模塊生成本次的源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息,并判斷本設(shè)備中是否已經(jīng)存在管道信息表,如果不存在,則建立管道信息表,并將生成的信息添加到管道信息表中;如果已經(jīng)存在,則直接將生成的信息添加到管道信息表中。
所述源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息包含管道標(biāo)識(shí)、該管道設(shè)備間共同支持的網(wǎng)絡(luò)協(xié)議、連接地址信息。
所述的源設(shè)備與多個(gè)目標(biāo)設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),該源設(shè)備可以分別通過管道控制模塊與多個(gè)目標(biāo)設(shè)備建立數(shù)據(jù)傳輸管道。
所述步驟2)可以包括21)源設(shè)備的管道控制模塊判斷當(dāng)前是否存在與已建立的數(shù)據(jù)傳輸管道對(duì)應(yīng)的處于可用狀態(tài)的活動(dòng)網(wǎng)絡(luò)協(xié)議連接存在,如果存在則執(zhí)行步驟22);如果不存在,則從已建立的數(shù)據(jù)傳輸管道中選取一個(gè)網(wǎng)絡(luò)協(xié)議嘗試建立新的網(wǎng)絡(luò)協(xié)議連接,連接建立成功后則執(zhí)行步驟22),連接建立失敗則選取下一個(gè)共同支持的網(wǎng)絡(luò)協(xié)議進(jìn)行嘗試,如果嘗試所有的匹配協(xié)議后仍然無法建立連接,則應(yīng)向源設(shè)備報(bào)告數(shù)據(jù)傳輸管道不可用,結(jié)束流程;22)管道控制模塊將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用狀態(tài)的活動(dòng)網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)。
所述步驟22)將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列的過程可以包括22a)管道控制模塊判斷在該可用連接上等待發(fā)送的數(shù)據(jù)量大小及該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度大小,如果等待發(fā)送的數(shù)據(jù)量過大或該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度太小,則執(zhí)行步驟22b);否則,將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列;22b)管道控制模塊查找當(dāng)前是否存在可用的其他網(wǎng)絡(luò)協(xié)議連接,如果存在,則返回步驟22a);否則在數(shù)據(jù)傳輸管道中選擇根據(jù)源設(shè)備與目標(biāo)共同匹配的網(wǎng)絡(luò)協(xié)議,嘗試建立新的網(wǎng)絡(luò)協(xié)議連接,如果建立成功,則將待發(fā)送的數(shù)據(jù)放入新建立的網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列;否則,將待發(fā)送的數(shù)據(jù)放入原當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列。
源設(shè)備的管道控制模塊在接收到源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸命令后,執(zhí)行步驟21);源設(shè)備的管道控制模塊在數(shù)據(jù)發(fā)送完成或發(fā)送失敗后,向要傳輸數(shù)據(jù)的應(yīng)用程序返回?cái)?shù)據(jù)發(fā)送成功或失敗結(jié)果。
所述應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸命令至少包含管道標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)和需要發(fā)送的源數(shù)據(jù);所述待發(fā)送的數(shù)據(jù)中至少包含源設(shè)備的設(shè)備標(biāo)識(shí)、發(fā)送數(shù)據(jù)的應(yīng)用程序標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)、需要發(fā)送的源數(shù)據(jù);目標(biāo)設(shè)備的管道控制模塊在接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)中的目標(biāo)應(yīng)用程序標(biāo)識(shí),將數(shù)據(jù)分發(fā)給目標(biāo)設(shè)備中的目標(biāo)程序。
所述步驟3)可以為數(shù)據(jù)傳輸過程中傳輸數(shù)據(jù)的網(wǎng)絡(luò)協(xié)議連接斷開時(shí),源設(shè)備的管道控制模塊從數(shù)據(jù)傳輸管道中選擇新的介質(zhì)網(wǎng)絡(luò)連接方式,建立網(wǎng)絡(luò)協(xié)議連接,如果建立成功,則用新的網(wǎng)絡(luò)協(xié)議連接繼續(xù)傳輸數(shù)據(jù)并通知源設(shè)備;否則通知源設(shè)備數(shù)據(jù)發(fā)送錯(cuò)誤且數(shù)據(jù)傳輸管道不可用。
該方法可以進(jìn)一步包括數(shù)據(jù)傳輸管道空閑期間,源設(shè)備的管道控制模塊向目標(biāo)設(shè)備發(fā)送管道檢測(cè)請(qǐng)求;目標(biāo)設(shè)備的管道控制模塊收到該檢測(cè)請(qǐng)求后,根據(jù)自身工作情況向源設(shè)備返回管道檢測(cè)響應(yīng);如果源設(shè)備未收到管道響應(yīng)或收到的管道響應(yīng)是管道不可用,則源設(shè)備的管道控制模塊刪除該管道。
所述的管道檢測(cè)請(qǐng)求至少包含源設(shè)備期望的管道可用時(shí)間;所述管道檢測(cè)響應(yīng)中至少包含管道可用時(shí)間;如果源設(shè)備收到的管道響應(yīng)中,管道可用時(shí)間為零,則該管道不可用。
該方法可以進(jìn)一步包括源設(shè)備或目標(biāo)設(shè)備的管道控制模塊在數(shù)據(jù)傳輸完成后刪除該數(shù)據(jù)傳輸管道,并向?qū)Ψ綐?biāo)設(shè)備發(fā)送管道關(guān)閉通知,對(duì)方設(shè)備在收到該關(guān)閉通知后,刪除該數(shù)據(jù)傳輸管道。
所述管道控制模塊是在接收到應(yīng)用程序發(fā)送的管道關(guān)閉命令后,可以向?qū)Ψ皆O(shè)備發(fā)送管道關(guān)閉通知;管道控制模塊刪除該數(shù)據(jù)傳輸管道后,向發(fā)送管道關(guān)閉命令的應(yīng)用程序返回管道關(guān)閉成功或失敗結(jié)果。
由上述的技術(shù)方案可見,本發(fā)明的這種網(wǎng)絡(luò)設(shè)備間數(shù)據(jù)傳輸?shù)姆椒?,在網(wǎng)絡(luò)設(shè)備中設(shè)置,將設(shè)備間可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,由管道控制模塊控制用該管道中的一種網(wǎng)絡(luò)連接方式進(jìn)行數(shù)據(jù)傳輸,如果該連接斷開,則管道控制模塊自動(dòng)從管道中選擇另一種網(wǎng)絡(luò)連接方式建立連接進(jìn)行數(shù)據(jù)傳輸。因此本發(fā)明實(shí)現(xiàn)了傳輸過程中,如果連接斷開,自動(dòng)切換到可用的連接方式上,繼續(xù)進(jìn)行數(shù)據(jù)傳輸,給用戶使用帶來了方便。
圖1為本發(fā)明一個(gè)較佳實(shí)施例的數(shù)據(jù)傳輸過程示意圖;圖2為圖1所示實(shí)施例中源設(shè)備管道控制模塊建立數(shù)據(jù)傳輸管道的流程圖;圖3為圖1所示實(shí)施例中源設(shè)備管道控制模塊進(jìn)行數(shù)據(jù)傳輸?shù)牧鞒虉D。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明的這種網(wǎng)絡(luò)中設(shè)備間的數(shù)據(jù)傳輸方法,在網(wǎng)絡(luò)設(shè)備中設(shè)置管道控制模塊,同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送源設(shè)備和數(shù)據(jù)發(fā)送目標(biāo)設(shè)備的管道控制模塊根據(jù)設(shè)備工作情況,分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并建立源設(shè)備與目標(biāo)設(shè)備間的數(shù)據(jù)傳輸管道;選擇數(shù)據(jù)傳輸管道中的一種介質(zhì)網(wǎng)絡(luò)連接方式進(jìn)行數(shù)據(jù)傳輸;數(shù)據(jù)傳輸過程中需要切換到另一種介質(zhì)網(wǎng)絡(luò)連接方式時(shí),則源設(shè)備管道控制模塊控制建立新介質(zhì)網(wǎng)絡(luò)連接,繼續(xù)進(jìn)行數(shù)據(jù)傳輸。
本發(fā)明中將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并建立源設(shè)備與目標(biāo)設(shè)備間的數(shù)據(jù)傳輸管道有兩種實(shí)現(xiàn)方式第一種方式包括以下步驟11)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送的源設(shè)備和數(shù)據(jù)發(fā)送的目標(biāo)設(shè)備的管道控制模塊,通過偵聽網(wǎng)絡(luò)多播地址獲知對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;12)源設(shè)備選擇一種可用介質(zhì)網(wǎng)絡(luò)連接方式與目標(biāo)設(shè)備建立網(wǎng)絡(luò)協(xié)議連接;13)源設(shè)備的管道控制模塊通過步驟12)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求;14)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,然后向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);如果目標(biāo)設(shè)備同意建立數(shù)據(jù)傳輸管道,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道;15)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
第二種方式包括以下步驟11a)源設(shè)備與目標(biāo)設(shè)備用其所在網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議,建立網(wǎng)絡(luò)協(xié)議連接;12a)源設(shè)備的管道控制模塊通過步驟11a)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求,該請(qǐng)求中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;13a)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,如果同意建立數(shù)據(jù)傳輸管道,則將自身和對(duì)方都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并在該響應(yīng)中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;目標(biāo)設(shè)備向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);14b)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式和響應(yīng)中包含的對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
上述兩種實(shí)現(xiàn)方式中,封裝數(shù)據(jù)傳輸管道的方法都可以為源設(shè)備和目標(biāo)設(shè)備的管道控制模塊在各自所在設(shè)備中分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息填入到管道信息表中,該管道信息表可以用于后續(xù)查找。具體來說,管道控制模塊生成本次的源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息,并判斷本設(shè)備中是否已經(jīng)存在管道信息表,如果不存在,則建立管道信息表,并將生成的信息添加到管道信息表中;如果已經(jīng)存在,則直接將生成的信息添加到管道信息表中。其中源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息可以包含管道標(biāo)識(shí)、該管道設(shè)備間共同支持的網(wǎng)絡(luò)協(xié)議、連接地址信息。
以下本發(fā)明介紹的本實(shí)施例是上述的第一種實(shí)現(xiàn)方式,也就是說同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送的源設(shè)備和數(shù)據(jù)發(fā)送的目標(biāo)設(shè)備的管道控制模塊,通過偵聽網(wǎng)絡(luò)多播地址獲知了對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式。
參見圖1,圖1為本發(fā)明一個(gè)較佳實(shí)施例的數(shù)據(jù)傳輸過程示意圖。該流程包括以下步驟步驟101,源設(shè)備要傳輸數(shù)據(jù)的應(yīng)用程序向本設(shè)備中的管道控制模塊發(fā)送管道建立命令,該管道建立命令中包含目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)。
步驟102,源設(shè)備的管道控制模塊控制建立源設(shè)備與目標(biāo)設(shè)備的網(wǎng)絡(luò)連接,例如TCP連接,并根據(jù)管道建立命令中的目標(biāo)設(shè)備標(biāo)識(shí),向目標(biāo)設(shè)備發(fā)送管道建立請(qǐng)求消息。該管道建立請(qǐng)求消息中包含了源設(shè)備的設(shè)備標(biāo)識(shí)、目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)以及期望的管道持續(xù)時(shí)間。
步驟103,目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,然后向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng)消息;如果目標(biāo)設(shè)備同意建立數(shù)據(jù)傳輸管道,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,也就是將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息填入到管道信息表中。管道建立響應(yīng)消息中包含管道建立成功或失敗信息;如果管道建立成功,該管道建立響應(yīng)還包含自身的設(shè)備標(biāo)識(shí)、源設(shè)備標(biāo)識(shí)、管道有效時(shí)間。
步驟104,源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,也就是將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息填入到管道信息表中,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。源設(shè)備的管道控制模塊向源設(shè)備的應(yīng)用程序返回管道建立結(jié)果。
步驟105,源設(shè)備的應(yīng)用程序向源設(shè)備管道控制模塊發(fā)送數(shù)據(jù)傳輸命令,該數(shù)據(jù)傳輸命令中包含管道標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)和需要發(fā)送的源數(shù)據(jù)。
步驟106,源設(shè)備管道控制模塊收到數(shù)據(jù)傳輸命令后,根據(jù)該命令選擇數(shù)據(jù)傳輸管道中一種介質(zhì)的網(wǎng)絡(luò)連接方式,將待發(fā)送數(shù)據(jù)發(fā)送給目標(biāo)設(shè)備管道控制模塊。其中待發(fā)送的數(shù)據(jù)中至少包含源設(shè)備的設(shè)備標(biāo)識(shí)、發(fā)送數(shù)據(jù)的應(yīng)用程序標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)、需要發(fā)送的源數(shù)據(jù)。
步驟107,目標(biāo)設(shè)備的管道控制模塊在接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)中的目標(biāo)應(yīng)用程序標(biāo)識(shí),將數(shù)據(jù)分發(fā)給目標(biāo)設(shè)備中的目標(biāo)程序。
步驟108,源設(shè)備的管道控制模塊在數(shù)據(jù)傳輸完成或發(fā)送失敗后,向源設(shè)備的應(yīng)用程序返回?cái)?shù)據(jù)發(fā)送成功或失敗結(jié)果。
步驟109,數(shù)據(jù)傳輸管道空閑期間,源設(shè)備的管道控制模塊向目標(biāo)設(shè)備發(fā)送管道檢測(cè)請(qǐng)求,該管道檢測(cè)請(qǐng)求中包含源設(shè)備期望的管道可用時(shí)間。
步驟110,目標(biāo)設(shè)備的管道控制模塊收到該檢測(cè)請(qǐng)求后,根據(jù)自身工作情況向源設(shè)備返回管道檢測(cè)響應(yīng),該管道檢測(cè)響應(yīng)中包含管道可用時(shí)間,如果管道不可用,則目標(biāo)設(shè)備的管道控制模塊可以將管道檢測(cè)響應(yīng)中包含管道可用時(shí)間填為零。
如果源設(shè)備未收到管道響應(yīng)或收到的管道響應(yīng)是管道不可用,則源設(shè)備的管道控制模塊刪除該管道。
步驟111,源設(shè)備的應(yīng)用程序在數(shù)據(jù)傳輸完成后,向源設(shè)備的管道控制模塊發(fā)送管道關(guān)閉命令,該命令中包含要關(guān)閉的管道標(biāo)識(shí)。
步驟112,源設(shè)備的管道控制模塊收到管道關(guān)閉命令后,根據(jù)其中的管道標(biāo)識(shí)刪除該數(shù)據(jù)傳輸管道,并向目標(biāo)設(shè)備發(fā)送管道關(guān)閉通知。目標(biāo)設(shè)備在收到該關(guān)閉通知后,刪除該數(shù)據(jù)傳輸管道。
步驟113,源設(shè)備的管道控制模塊刪除該數(shù)據(jù)傳輸管道后,向發(fā)送管道關(guān)閉命令的應(yīng)用程序返回管道關(guān)閉成功或失敗結(jié)果。
本實(shí)施例中,步驟102~步驟104是建立數(shù)據(jù)傳輸管道的過程,該過程中源設(shè)備管道控制模塊的具體處理過程參見圖2,圖2為圖1所示實(shí)施例中源設(shè)備管道控制模塊建立數(shù)據(jù)傳輸管道的流程圖,該流程包括以下步驟步驟201,源設(shè)備的管道控制模塊收到管道建立命令后,判斷是否已經(jīng)存在源設(shè)備與目標(biāo)設(shè)備的數(shù)據(jù)傳輸管道,如果已經(jīng)存在,則執(zhí)行步驟207;否則執(zhí)行步驟202;步驟202,源設(shè)備的管道控制模塊控制源設(shè)備與目標(biāo)設(shè)備選擇一種可用介質(zhì)網(wǎng)絡(luò)連接方式建立網(wǎng)絡(luò)協(xié)議連接。例如TCP連接。
步驟203,判斷建立的TCP連接是否成功,如果是,則執(zhí)行步驟204;否則執(zhí)行步驟208。
步驟204,源設(shè)備的管道控制模塊通過TCP連接向目標(biāo)設(shè)備發(fā)送管道建立請(qǐng)求。
步驟205,判斷是否收到管道建立成功響應(yīng),如果是則執(zhí)行步驟206;否則執(zhí)行步驟208;步驟206,為成功建立的管道分配管道標(biāo)識(shí),在管道信息表中增加相應(yīng)信息。
步驟207、向應(yīng)用程序返回建立管道結(jié)果,將管道建立成功信息及管道標(biāo)識(shí)報(bào)告給應(yīng)用程序,建立管道過程結(jié)束。
步驟208、向應(yīng)用程序返回建立管道結(jié)果,將管道建立失敗信息報(bào)告給應(yīng)用程序,建立管道過程結(jié)束。
圖1所示實(shí)施例中,步驟105~步驟108是數(shù)據(jù)傳輸?shù)倪^程,該過程中源設(shè)備管道控制模塊的具體處理過程參見圖3,圖3為圖1所示實(shí)施例中源設(shè)備管道控制模塊進(jìn)行數(shù)據(jù)傳輸?shù)牧鞒虉D,該流程包括以下步驟步驟301,源設(shè)備的管道控制模塊收到數(shù)據(jù)傳輸命令后,判斷是否存在與命令中管道標(biāo)識(shí)相應(yīng)的管道,如果有則執(zhí)行步驟302;否則,執(zhí)行步驟310。
步驟302,判斷當(dāng)前是否有可用的網(wǎng)絡(luò)協(xié)議連接,如果有則執(zhí)行步驟303;否則執(zhí)行步驟305。
步驟303,判斷在可用的網(wǎng)絡(luò)協(xié)議連接上等待發(fā)送的數(shù)據(jù)量大小及該網(wǎng)絡(luò)協(xié)議連接發(fā)送數(shù)據(jù)的平均速度大小,如果等待發(fā)送的數(shù)據(jù)量過大或該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度太小,則執(zhí)行步驟304,否則執(zhí)行步驟307。
步驟304,查找并判斷當(dāng)前是否存在可用的其他網(wǎng)絡(luò)協(xié)議連接,如果存在,則返回步驟303;否則,執(zhí)行步驟305。
步驟305,在數(shù)據(jù)傳輸管道中選擇根據(jù)源設(shè)備與目標(biāo)共同匹配的網(wǎng)絡(luò)協(xié)議,嘗試建立新的網(wǎng)絡(luò)協(xié)議連接。
步驟306,判斷建立新的網(wǎng)絡(luò)協(xié)議連接是否建立成功,如果是,則執(zhí)行步驟307;否則執(zhí)行步驟310。
步驟307,將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列中,發(fā)送數(shù)據(jù)。
步驟308,判斷發(fā)送是否成功,如果是則執(zhí)行步驟309;否則執(zhí)行步驟310。
步驟309,向應(yīng)用程序返回?cái)?shù)據(jù)發(fā)送結(jié)果,報(bào)告數(shù)據(jù)發(fā)送成功,數(shù)據(jù)傳輸過程結(jié)束。
步驟310,向應(yīng)用程序返回?cái)?shù)據(jù)發(fā)送結(jié)果,報(bào)告數(shù)據(jù)發(fā)送出錯(cuò)及出錯(cuò)原因,數(shù)據(jù)傳輸過程結(jié)束。
上述過程中,如果因?yàn)榈却l(fā)送的數(shù)據(jù)量過大或該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度太小,重新建立網(wǎng)絡(luò)協(xié)議連接而沒有成功時(shí),也可以用原來的網(wǎng)絡(luò)協(xié)議連接進(jìn)行數(shù)據(jù)傳輸,只是傳輸?shù)男时容^低。
如果數(shù)據(jù)傳輸過程中傳輸數(shù)據(jù)的網(wǎng)絡(luò)協(xié)議因?yàn)橥饨缫蛩剡B接被斷開,源設(shè)備的管道控制模塊從數(shù)據(jù)傳輸管道中選擇新的介質(zhì)網(wǎng)絡(luò)連接方式,建立網(wǎng)絡(luò)協(xié)議連接,如果建立成功,則用新的網(wǎng)絡(luò)協(xié)議連接繼續(xù)傳輸數(shù)據(jù)并通知源設(shè)備;否則通知源設(shè)備數(shù)據(jù)發(fā)送錯(cuò)誤且數(shù)據(jù)傳輸管道不可用。
本實(shí)施例中的管道控制模塊可以設(shè)置管道建立接口、數(shù)據(jù)傳輸接口、管道檢測(cè)接口、管道關(guān)閉接口。源設(shè)備可以通過調(diào)用管道控制模塊的這些接口來實(shí)現(xiàn)管道建立、數(shù)據(jù)傳輸、管道檢測(cè)和管道關(guān)閉等功能。
另外,如果本實(shí)施例中的源設(shè)備要與多個(gè)目標(biāo)設(shè)備進(jìn)行數(shù)據(jù)傳輸,則該源設(shè)備分別通過管道控制模塊與多個(gè)目標(biāo)設(shè)備建立數(shù)據(jù)傳輸管道,建立數(shù)據(jù)傳輸管道的方法相同,但各個(gè)數(shù)據(jù)傳輸管道使用的端口不同。例如源設(shè)備只包含一個(gè)藍(lán)牙端口,如果該端口已經(jīng)封裝在與目標(biāo)設(shè)備1的一個(gè)數(shù)據(jù)傳輸管道中,則該端口不能封裝到源設(shè)備與目標(biāo)設(shè)備2的數(shù)據(jù)傳輸管道中。
如果圖1所示實(shí)施例中,源設(shè)備為筆記本電腦1,目標(biāo)設(shè)備為筆記本電腦2,它們處于同一個(gè)WLAN中。筆記本電腦1和筆記本電腦2分別安裝了管道控制模塊1和管道控制模塊2,且都具有WLAN網(wǎng)卡和藍(lán)牙網(wǎng)卡。筆記本電腦1上的WLAN網(wǎng)卡上加載了TCP/IP協(xié)議,IP地址為192.168.0.1,偵聽端口為1234,筆記本電腦1上的藍(lán)牙網(wǎng)卡上加載了串口Profile,模擬出的串口號(hào)為串口2。筆記本電腦2上的WLAN網(wǎng)卡加載了TCP/IP協(xié)議,IP地址為192.168.0.2,偵聽端口為2345,筆記本電腦2上的藍(lán)牙網(wǎng)卡上加載了串口Profile,模擬出的串口號(hào)為串口3。筆記本電腦1上的應(yīng)用程序Fc為實(shí)現(xiàn)文件傳輸功能的客戶端,筆記本電腦2上的應(yīng)用程序Fs為實(shí)現(xiàn)文件傳輸功能的服務(wù)端。
筆記本電腦1和筆記本電腦2分別通過偵聽端口1234和偵聽端口2345偵聽到對(duì)方向網(wǎng)絡(luò)多播地址發(fā)送的自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式。
這樣筆記本電腦1的Fc向筆記本電腦2的Fs傳輸數(shù)據(jù)的過程可以包括1、筆記本電腦1的Fc向管道控制模塊1發(fā)送建立管道命令。
2、管道控制模塊1選擇一種筆記本電腦1和筆記本電腦2都可用的介質(zhì)網(wǎng)絡(luò)連接方式,建立網(wǎng)絡(luò)協(xié)議連接,本實(shí)施例選擇TCP/IP協(xié)議建立筆記本電腦1和筆記本電腦2間的TCP連接。
3、管道控制模塊1通過建立的TCP連接向筆記本電腦2發(fā)送建立管道請(qǐng)求消息。該管道請(qǐng)求消息如表1所示。
表14、筆記本電腦2中的管道控制模塊2收到管道建立請(qǐng)求消息后,根據(jù)筆記本電腦2當(dāng)前的工作情況接受管道建立請(qǐng)求,向筆記本1發(fā)送管道建立響應(yīng)消息。該管道建立響應(yīng)消息如表2所示。
表2如果筆記本電腦2中的管道控制模塊2不接受管道建立請(qǐng)求,則在表2所示響應(yīng)消息中的ResultCode域值為失敗。
5、筆記本電腦1上的軟件模塊收到管道建立響應(yīng)消息后,向程序Fc報(bào)告管道建立管道成功或失敗結(jié)果。Fc收到管道建立成功的結(jié)果報(bào)告后,即可通過管道向Fs發(fā)送數(shù)據(jù)。數(shù)據(jù)發(fā)送消息如表3所示
表3其中,Data域也可以是其他形式封裝的源數(shù)據(jù)。
本實(shí)施例中,如果筆記本1上的應(yīng)用程序Fc大量的向Fs發(fā)送數(shù)據(jù)時(shí),則筆記本1上的軟件模塊可以通過創(chuàng)建新的TCP連接以滿足數(shù)據(jù)傳輸需求。此時(shí),管道信息表如表4所示
表4如果在數(shù)據(jù)傳輸過程中,由于外界的因素,兩個(gè)TCP連接被斷開,則筆記本電腦1的管道控制模塊記錄當(dāng)前數(shù)據(jù)發(fā)送的位置,從數(shù)據(jù)傳輸管道中選擇SerialPort2嘗試連接,如果連接建立成功,則筆記本電腦1的管道控制模塊根據(jù)記錄的數(shù)據(jù)位置,繼續(xù)通過SerialPort2發(fā)送數(shù)據(jù)。如果連接建立失敗,則管道控制模塊通知Fc,數(shù)據(jù)傳輸出錯(cuò)且當(dāng)前管道不可用。
筆記本電腦1和筆記本電腦2在待發(fā)送的數(shù)據(jù)均發(fā)送完成后也就是管道空閑期間,筆記本電腦1的管道控制模塊可以定期的向筆記本電腦2發(fā)送管道檢測(cè)消息以檢測(cè)管道的可用性。管道檢測(cè)請(qǐng)求消息如表5所示
表5筆記本電腦2的管道控制模塊收到筆記本電腦1的管道檢測(cè)請(qǐng)求后,可以根據(jù)實(shí)際情況發(fā)送管道檢測(cè)響應(yīng)消息。如果此時(shí)筆記本電腦2上的負(fù)載過大,則筆記本電腦2的管道控制模塊可以發(fā)送管道可用時(shí)間為0的檢測(cè)響應(yīng)消息。該消息如表6所示
表6筆記本電腦1或2的管道控制模塊在管道建立成功后,也可以根據(jù)需要向?qū)Ψ桨l(fā)送管道關(guān)閉通知消息以通知對(duì)方該管道不再可用。管道關(guān)閉通知消息如表7所示
表7本實(shí)施例不僅適用與筆記本電腦之間的無線數(shù)據(jù)傳輸,同樣適用于筆記本電腦與手機(jī)之間、手機(jī)之間、手機(jī)與PDA之間、PDA之間、PDA與筆記本電腦之間等等各種網(wǎng)絡(luò)設(shè)備間的無線數(shù)據(jù)傳輸。當(dāng)然,對(duì)于有線網(wǎng)絡(luò)上的網(wǎng)絡(luò)設(shè)備間的有線數(shù)據(jù)傳輸也適用。
由上述的實(shí)施例可見,本發(fā)明的這種網(wǎng)絡(luò)設(shè)備間數(shù)據(jù)傳輸?shù)姆椒?,能夠在?shù)據(jù)傳輸過程中自動(dòng)選擇可用的連接方式進(jìn)行數(shù)據(jù)傳輸,方便用戶使用,節(jié)省系統(tǒng)資源。
權(quán)利要求
1.一種網(wǎng)絡(luò)中設(shè)備間的數(shù)據(jù)傳輸方法,其特征在于,在網(wǎng)絡(luò)設(shè)備中設(shè)置管道控制模塊,數(shù)據(jù)傳輸過程包括以下步驟1)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送源設(shè)備和數(shù)據(jù)發(fā)送目標(biāo)設(shè)備的管道控制模塊根據(jù)設(shè)備工作情況,分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并建立源設(shè)備與目標(biāo)設(shè)備間的數(shù)據(jù)傳輸管道;2)源設(shè)備的管道控制模塊,選擇數(shù)據(jù)傳輸管道中的一種介質(zhì)網(wǎng)絡(luò)連接方式進(jìn)行數(shù)據(jù)傳輸;3)數(shù)據(jù)傳輸過程中需要切換到另一種介質(zhì)網(wǎng)絡(luò)連接方式時(shí),則源設(shè)備管道控制模塊控制建立新介質(zhì)網(wǎng)絡(luò)連接,繼續(xù)進(jìn)行數(shù)據(jù)傳輸。
2.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述步驟1)包括11)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送的源設(shè)備和數(shù)據(jù)發(fā)送的目標(biāo)設(shè)備的管道控制模塊,通過偵聽網(wǎng)絡(luò)多播地址獲知對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;12)源設(shè)備的管道控制模塊控制源設(shè)備選擇一種可用介質(zhì)網(wǎng)絡(luò)連接方式與目標(biāo)設(shè)備建立網(wǎng)絡(luò)協(xié)議連接;13)源設(shè)備的管道控制模塊通過步驟12)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求;14)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,然后向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);如果目標(biāo)設(shè)備同意建立數(shù)據(jù)傳輸管道,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道;15)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
3.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述步驟1)包括11a)源設(shè)備的管道控制模塊控制源設(shè)備與目標(biāo)設(shè)備用其所在網(wǎng)絡(luò)的網(wǎng)絡(luò)協(xié)議,建立網(wǎng)絡(luò)協(xié)議連接;12a)源設(shè)備的管道控制模塊通過步驟11a)建立的網(wǎng)絡(luò)協(xié)議連接,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求,該請(qǐng)求中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;13a)目標(biāo)設(shè)備的管道控制模塊根據(jù)自身工作情況決定是否同意建立數(shù)據(jù)傳輸管道,如果同意建立數(shù)據(jù)傳輸管道,則將自身和對(duì)方都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并在該響應(yīng)中包含自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式;目標(biāo)設(shè)備向源設(shè)備返回?cái)?shù)據(jù)傳輸管道建立響應(yīng);14b)源設(shè)備的管道控制模塊根據(jù)目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)判斷目標(biāo)設(shè)備是否同意建立數(shù)據(jù)傳輸管道,如果是,則將自身可用的不同介質(zhì)網(wǎng)絡(luò)連接方式和響應(yīng)中包含的對(duì)方可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,數(shù)據(jù)傳輸管道建立成功;否則數(shù)據(jù)傳輸管道建立失敗。
4.如權(quán)利要求2或3所述的數(shù)據(jù)傳輸方法,其特征在于源設(shè)備的管道控制模塊是根據(jù)源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序發(fā)送的建立管道命令,建立源設(shè)備與目標(biāo)設(shè)備的網(wǎng)絡(luò)協(xié)議連接,并通過該連接向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)傳輸管道建立請(qǐng)求;源設(shè)備的管道控制模塊收到目標(biāo)設(shè)備返回的數(shù)據(jù)傳輸管道建立響應(yīng)后,向源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序返回管道建立是否成功結(jié)果。
5.如權(quán)利要求4所述的數(shù)據(jù)傳輸方法,其特征在于所述應(yīng)用程序發(fā)送的建立管道命令至少包含目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)。
6.如權(quán)利要求2或3所述的數(shù)據(jù)傳輸方法,其特征在于,所述源設(shè)備的管道控制模塊發(fā)送的管道建立請(qǐng)求還包含源設(shè)備的設(shè)備標(biāo)識(shí)、目標(biāo)設(shè)備的設(shè)備標(biāo)識(shí)、期望的管道持續(xù)時(shí)間;所述目標(biāo)設(shè)備的管道控制模塊返回的管道建立響應(yīng)還包含管道建立成功或失敗信息;如果管道建立成功,該管道建立響應(yīng)還包含自身的設(shè)備標(biāo)識(shí)、源設(shè)備標(biāo)識(shí)、管道有效時(shí)間。
7.如權(quán)利要求1、2或3所述的數(shù)據(jù)傳輸方法,其特征在于,所述封裝數(shù)據(jù)傳輸管道的方法為源設(shè)備和目標(biāo)設(shè)備的管道控制模塊在各自所在設(shè)備中分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息填入到管道信息表中。
8.如權(quán)利要求7所述的數(shù)據(jù)傳輸方法,其特征在于,所述封裝數(shù)據(jù)傳輸管道的方法為管道控制模塊生成本次的源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息,并判斷本設(shè)備中是否已經(jīng)存在管道信息表,如果不存在,則建立管道信息表,并將生成的信息添加到管道信息表中;如果已經(jīng)存在,則直接將生成的信息添加到管道信息表中。
9.如權(quán)利要求7所述的數(shù)據(jù)傳輸方法,其特征在于,所述源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式信息包含管道標(biāo)識(shí)、該管道設(shè)備間共同支持的網(wǎng)絡(luò)協(xié)議、連接地址信息。
10.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于所述的源設(shè)備與多個(gè)目標(biāo)設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),該源設(shè)備分別通過管道控制模塊與多個(gè)目標(biāo)設(shè)備建立數(shù)據(jù)傳輸管道。
11.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述步驟2)包括21)源設(shè)備的管道控制模塊判斷當(dāng)前是否存在與已建立的數(shù)據(jù)傳輸管道對(duì)應(yīng)的處于可用狀態(tài)的活動(dòng)網(wǎng)絡(luò)協(xié)議連接存在,如果存在則執(zhí)行步驟22);如果不存在,則從已建立的數(shù)據(jù)傳輸管道中選取一個(gè)網(wǎng)絡(luò)協(xié)議嘗試建立新的網(wǎng)絡(luò)協(xié)議連接,連接建立成功后則執(zhí)行步驟22),連接建立失敗則選取下一個(gè)共同支持的網(wǎng)絡(luò)協(xié)議進(jìn)行嘗試,如果嘗試所有的匹配協(xié)議后仍然無法建立連接,則應(yīng)向源設(shè)備報(bào)告數(shù)據(jù)傳輸管道不可用,結(jié)束流程;22)管道控制模塊將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用狀態(tài)的活動(dòng)網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列,向目標(biāo)設(shè)備發(fā)送數(shù)據(jù)。
12.如權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于,所述步驟22)將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列的過程包括22a)管道控制模塊判斷在該可用連接上等待發(fā)送的數(shù)據(jù)量大小及該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度大小,如果等待發(fā)送的數(shù)據(jù)量過大或該網(wǎng)絡(luò)連接發(fā)送數(shù)據(jù)的平均速度太小,則執(zhí)行步驟22b);否則,將待發(fā)送的數(shù)據(jù)放入當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列;22b)管道控制模塊查找當(dāng)前是否存在可用的其他網(wǎng)絡(luò)協(xié)議連接,如果存在,則返回步驟22a);否則在數(shù)據(jù)傳輸管道中選擇根據(jù)源設(shè)備與目標(biāo)共同匹配的網(wǎng)絡(luò)協(xié)議,嘗試建立新的網(wǎng)絡(luò)協(xié)議連接,如果建立成功,則將待發(fā)送的數(shù)據(jù)放入新建立的網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列;否則,將待發(fā)送的數(shù)據(jù)放入原當(dāng)前可用網(wǎng)絡(luò)協(xié)議連接的任務(wù)隊(duì)列。
13.如權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于源設(shè)備的管道控制模塊在接收到源設(shè)備中要傳輸數(shù)據(jù)的應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸命令后,執(zhí)行步驟21);源設(shè)備的管道控制模塊在數(shù)據(jù)發(fā)送完成或發(fā)送失敗后,向要傳輸數(shù)據(jù)的應(yīng)用程序返回?cái)?shù)據(jù)發(fā)送成功或失敗結(jié)果。
14.如權(quán)利要求13所述的數(shù)據(jù)傳輸方法,其特征在于所述應(yīng)用程序發(fā)送的數(shù)據(jù)傳輸命令至少包含管道標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)和需要發(fā)送的源數(shù)據(jù);所述待發(fā)送的數(shù)據(jù)中至少包含源設(shè)備的設(shè)備標(biāo)識(shí)、發(fā)送數(shù)據(jù)的應(yīng)用程序標(biāo)識(shí)、目標(biāo)設(shè)備標(biāo)識(shí)、目標(biāo)應(yīng)用程序標(biāo)識(shí)、需要發(fā)送的源數(shù)據(jù);目標(biāo)設(shè)備的管道控制模塊在接收到數(shù)據(jù)后,根據(jù)數(shù)據(jù)中的目標(biāo)應(yīng)用程序標(biāo)識(shí),將數(shù)據(jù)分發(fā)給目標(biāo)設(shè)備中的目標(biāo)程序。
15.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述步驟3)為數(shù)據(jù)傳輸過程中傳輸數(shù)據(jù)的網(wǎng)絡(luò)協(xié)議連接斷開時(shí),源設(shè)備的管道控制模塊從數(shù)據(jù)傳輸管道中選擇新的介質(zhì)網(wǎng)絡(luò)連接方式,建立網(wǎng)絡(luò)協(xié)議連接,如果建立成功,則用新的網(wǎng)絡(luò)協(xié)議連接繼續(xù)傳輸數(shù)據(jù)并通知源設(shè)備;否則通知源設(shè)備數(shù)據(jù)發(fā)送錯(cuò)誤且數(shù)據(jù)傳輸管道不可用。
16.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,該方法進(jìn)一步包括數(shù)據(jù)傳輸管道空閑期間,源設(shè)備的管道控制模塊向目標(biāo)設(shè)備發(fā)送管道檢測(cè)請(qǐng)求;目標(biāo)設(shè)備的管道控制模塊收到該檢測(cè)請(qǐng)求后,根據(jù)自身工作情況向源設(shè)備返回管道檢測(cè)響應(yīng);如果源設(shè)備未收到管道響應(yīng)或收到的管道響應(yīng)是管道不可用,則源設(shè)備的管道控制模塊刪除該管道。
17.如權(quán)利要求16所述的數(shù)據(jù)傳輸方法,其特征在于,所述的管道檢測(cè)請(qǐng)求至少包含源設(shè)備期望的管道可用時(shí)間;所述管道檢測(cè)響應(yīng)中至少包含管道可用時(shí)間;如果源設(shè)備收到的管道響應(yīng)中,管道可用時(shí)間為零,則該管道不可用。
18.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,該方法進(jìn)一步包括源設(shè)備或目標(biāo)設(shè)備的管道控制模塊在數(shù)據(jù)傳輸完成后刪除該數(shù)據(jù)傳輸管道,并向?qū)Ψ綐?biāo)設(shè)備發(fā)送管道關(guān)閉通知,對(duì)方設(shè)備在收到該關(guān)閉通知后,刪除該數(shù)據(jù)傳輸管道。
19.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,所述管道控制模塊是在接收到應(yīng)用程序發(fā)送的管道關(guān)閉命令后,向?qū)Ψ皆O(shè)備發(fā)送管道關(guān)閉通知;管道控制模塊刪除該數(shù)據(jù)傳輸管道后,向發(fā)送管道關(guān)閉命令的應(yīng)用程序返回管道關(guān)閉成功或失敗結(jié)果。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)設(shè)備間數(shù)據(jù)傳輸?shù)姆椒ǎ摲椒ㄔ诰W(wǎng)絡(luò)設(shè)備中設(shè)置管道控制模塊,數(shù)據(jù)傳輸過程包括1)同一網(wǎng)絡(luò)中數(shù)據(jù)發(fā)送源設(shè)備和數(shù)據(jù)發(fā)送目標(biāo)設(shè)備的管道控制模塊根據(jù)設(shè)備工作情況,分別將源設(shè)備和目標(biāo)設(shè)備都可用的不同介質(zhì)網(wǎng)絡(luò)連接方式封裝為數(shù)據(jù)傳輸管道,并建立源設(shè)備與目標(biāo)設(shè)備間的數(shù)據(jù)傳輸管道;2)源設(shè)備的管道控制模塊,選擇數(shù)據(jù)傳輸管道中的一種介質(zhì)網(wǎng)絡(luò)連接方式進(jìn)行數(shù)據(jù)傳輸;3)數(shù)據(jù)傳輸過程中需要切換到另一種介質(zhì)網(wǎng)絡(luò)連接方式時(shí),則源設(shè)備管道控制模塊控制建立新介質(zhì)網(wǎng)絡(luò)連接,繼續(xù)進(jìn)行數(shù)據(jù)傳輸。應(yīng)用本發(fā)明方法,能夠在數(shù)據(jù)傳輸過程中自動(dòng)選擇可用的連接方式進(jìn)行數(shù)據(jù)傳輸,方便用戶使用,節(jié)省系統(tǒng)資源。
文檔編號(hào)H04L29/04GK1716946SQ200410062649
公開日2006年1月4日 申請(qǐng)日期2004年6月30日 優(yōu)先權(quán)日2004年6月30日
發(fā)明者黃景楠, 羅予晉, 劉洋 申請(qǐng)人:聯(lián)想(北京)有限公司