Wifi-Direct網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)傳輸方法及系統(tǒng),特別涉及一種Wif1-Direct網(wǎng)絡(luò)(允許無線網(wǎng)絡(luò)中的設(shè)備無需通過無線路由器即可相互連接)的數(shù)據(jù)傳輸方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前,為了保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,傳統(tǒng)網(wǎng)絡(luò)例如有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)在進行數(shù)據(jù)傳輸時往往采用TCP協(xié)議(Transmiss1n Control Protocol傳輸控制協(xié)議)以保證傳輸?shù)臄?shù)據(jù)不會丟失。而且,在Wif1-Direct網(wǎng)絡(luò)(其允許無線網(wǎng)絡(luò)中的Wifi客戶端無需通過無線路由器、接入點,即可以一對一或一對多的拓?fù)湫问絹斫⑦B接組建小組,實現(xiàn)數(shù)據(jù)傳輸)中采用TCP協(xié)議傳輸數(shù)據(jù)時,由于Wif1-Direct網(wǎng)絡(luò)為輕量級網(wǎng)絡(luò),則采用TCP協(xié)議進行數(shù)據(jù)傳輸對傳輸速度有較大影響。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)中在Wif1-Direct網(wǎng)絡(luò)中采用TCP協(xié)議進行網(wǎng)絡(luò)傳輸數(shù)據(jù)時導(dǎo)致數(shù)據(jù)傳輸速度慢的缺陷,提供一種Wif1-Direct網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及系統(tǒng)。
[0004]本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
[0005]本發(fā)明提供一種Wif1-Direct網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,其特點在于,其包括以下步驟:
[0006]在發(fā)送數(shù)據(jù)大于設(shè)定閾值時,數(shù)據(jù)發(fā)送端對第一信息進行數(shù)據(jù)分片處理以獲得多個邏輯幀,并以所述多個邏輯幀構(gòu)成第一集合,所述第一信息包括所述發(fā)送數(shù)據(jù);
[0007]數(shù)據(jù)發(fā)送端開啟多個發(fā)送線程,每一所述發(fā)送線程從所述第一集合中選取一個邏輯幀轉(zhuǎn)換為數(shù)據(jù)幀并發(fā)送所述數(shù)據(jù)幀至數(shù)據(jù)接收端;
[0008]所述數(shù)據(jù)接收端通過多個接收線程接收發(fā)來的數(shù)據(jù)幀并將各數(shù)據(jù)幀分別轉(zhuǎn)換為邏輯幀,并將轉(zhuǎn)換后的各邏輯幀存至緩存器中;
[0009]所述數(shù)據(jù)接收端從所述緩存器中逐個選取邏輯幀放至第二集合中,每次選取一個邏輯幀后進行數(shù)據(jù)組包處理,并從最后一次組包好的數(shù)據(jù)包中解析出所述發(fā)送數(shù)據(jù)。
[0010]本方案在發(fā)送數(shù)據(jù)大于設(shè)定閾值時采用拆包組包機制和多線程機制來確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性,從而在不采用TCP協(xié)議傳輸數(shù)據(jù)且保證數(shù)據(jù)傳輸速度的前提下,通過Wif1-Direct網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的穩(wěn)定傳輸,即不會出現(xiàn)傳輸?shù)臄?shù)據(jù)丟失的現(xiàn)象。
[0011]較佳地,還包括:
[0012]在所述發(fā)送數(shù)據(jù)小于或等于所述設(shè)定閾值時,所述數(shù)據(jù)發(fā)送端將所述第一信息轉(zhuǎn)換為數(shù)據(jù)幀,開啟一個發(fā)送線程將所述數(shù)據(jù)幀發(fā)送至所述數(shù)據(jù)接收端;
[0013]所述數(shù)據(jù)接收端通過一個接收線程接收發(fā)來的數(shù)據(jù)幀并轉(zhuǎn)換為邏輯幀,并從所述邏輯幀中解析出所述發(fā)送數(shù)據(jù)。
[0014]較佳地,在所述數(shù)據(jù)接收端的一個接收線程接收發(fā)來的數(shù)據(jù)幀并將數(shù)據(jù)幀轉(zhuǎn)換為邏輯幀后,所述數(shù)據(jù)接收端發(fā)送一應(yīng)答信息至所述數(shù)據(jù)發(fā)送端,所述第一信息還包括是否需數(shù)據(jù)接收端發(fā)送應(yīng)答信息。
[0015]較佳地,在開啟多個發(fā)送線程的步驟中,判斷獲得的邏輯幀的個數(shù)與所述發(fā)送線程的個數(shù),若獲得的邏輯幀的個數(shù)小于所述發(fā)送線程的個數(shù),則開啟個數(shù)與獲得的邏輯幀的個數(shù)相等的發(fā)送線程,否則開啟全部發(fā)送線程。
[0016]較佳地,在開啟全部發(fā)送線程后,若所述數(shù)據(jù)發(fā)送端接收到所述應(yīng)答信息,則空閑的發(fā)送線程從所述第一集合中再次選取一個邏輯幀轉(zhuǎn)化為數(shù)據(jù)幀并進行發(fā)送,直至所述第一集合中所有的邏輯幀均被發(fā)送。
[0017]較佳地,在數(shù)據(jù)組包處理步驟中,判斷取出的邏輯幀與已組包的邏輯幀中的邏輯幀是否相同,若相同則不對取出的邏輯幀進行數(shù)據(jù)組包處理,若不相同則對取出的邏輯幀進行數(shù)據(jù)組包處理。
[0018]較佳地,每一邏輯幀中均存儲有用于數(shù)據(jù)組包的數(shù)據(jù)包信息,所述數(shù)據(jù)包信息中的部分?jǐn)?shù)據(jù)信息以可擴展邏輯位的方式存儲。此設(shè)計方式壓縮了傳輸數(shù)據(jù)的報頭,減小了數(shù)據(jù)的總大小,間接加快了傳輸速度。
[0019]較佳地,所述數(shù)據(jù)發(fā)送端在開啟一個發(fā)送線程后,所述發(fā)送線程若在一時間段內(nèi)未接收到所述應(yīng)答信息則重新發(fā)送。
[0020]本發(fā)明還提供一種Wif1-Direct網(wǎng)絡(luò)的數(shù)據(jù)傳輸系統(tǒng),包括數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端,其特點在于,所述數(shù)據(jù)發(fā)送端包括分片處理單元和第一開啟單元;
[0021]所述分片處理單元用于在發(fā)送數(shù)據(jù)大于設(shè)定閾值時對第一信息進行數(shù)據(jù)分片處理以獲得多個邏輯幀,并以所述多個邏輯幀構(gòu)成第一集合,所述第一信息包括所述發(fā)送數(shù)據(jù);
[0022]所述第一開啟單元用于開啟多個發(fā)送線程,每一所述發(fā)送線程從所述第一集合中選取一個邏輯幀轉(zhuǎn)換為數(shù)據(jù)幀并發(fā)送所述數(shù)據(jù)幀至數(shù)據(jù)接收端;
[0023]所述數(shù)據(jù)接收端包括第一接收單元、第一轉(zhuǎn)換單元、存儲單元、選取單元、組包處理單元和第一解析單元,所述第一接收單元用于通過多個接收線程接收發(fā)來的數(shù)據(jù)幀,所述第一轉(zhuǎn)換單元用于將各數(shù)據(jù)幀分別轉(zhuǎn)換為邏輯幀,所述存儲單元用于將轉(zhuǎn)換后的各邏輯幀存至緩存器中;
[0024]所述選取單元用于從所述緩存器中逐個選取邏輯幀放至第二集合中,并所述組包處理單元用于每次選取一個邏輯幀后進行數(shù)據(jù)組包處理,并所述第一解析單元用于從最后一次組包好的數(shù)據(jù)包中解析出所述發(fā)送數(shù)據(jù)。
[0025]較佳地,所述數(shù)據(jù)發(fā)送端還包括第二開啟單元,所述數(shù)據(jù)接收端還包括第二接收單元、第二轉(zhuǎn)換單元和第二解析單元;
[0026]所述第二開啟單元用于在所述發(fā)送數(shù)據(jù)小于或等于所述設(shè)定閾值時將所述第一信息轉(zhuǎn)換為數(shù)據(jù)幀,開啟一個發(fā)送線程將所述數(shù)據(jù)幀發(fā)送至所述數(shù)據(jù)接收端;
[0027]所述第二接收單元用于通過一個接收線程接收發(fā)來的數(shù)據(jù)幀并所述第二轉(zhuǎn)換單元用于將接收來的數(shù)據(jù)幀轉(zhuǎn)換為邏輯幀,并所述第二解析單元用于從所述邏輯幀中解析出所述發(fā)送數(shù)據(jù)。
[0028]較佳地,所述數(shù)據(jù)接收端還包括反饋單元,在所述數(shù)據(jù)接收端的一個接收線程接收發(fā)來的數(shù)據(jù)幀并將數(shù)據(jù)幀轉(zhuǎn)換為邏輯幀后,所述反饋單元用于發(fā)送一應(yīng)答信息至所述數(shù)據(jù)發(fā)送端,所述第一信息還包括是否需數(shù)據(jù)接收端發(fā)送應(yīng)答信息。
[0029]較佳地,所述數(shù)據(jù)發(fā)送端還包括第一判斷單元,所述第一判斷單元用于判斷獲得的邏輯幀的個數(shù)與所述發(fā)送線程的個數(shù),若獲得的邏輯幀的個數(shù)小于所述發(fā)送線程的個數(shù),則開啟個數(shù)與獲得的邏輯幀的個數(shù)相等的發(fā)送線程,否則開啟全部發(fā)送線程。
[0030]較佳地,在開啟全部發(fā)送線程后,若所述數(shù)據(jù)發(fā)送端接收到所述應(yīng)答信息,則空閑的發(fā)送線程從所述第一集合中再次選取一個邏輯幀轉(zhuǎn)化為數(shù)據(jù)幀并進行發(fā)送,直至所述第一集合中所有的邏輯幀均被發(fā)送。
[0031]較佳地,所述數(shù)據(jù)接收端還包括第二判斷單元,所述第二判斷單元用于判斷取出的邏輯幀與已組包的邏輯幀中的邏輯幀是否相同,若相同則不對取出的邏輯幀進行數(shù)據(jù)組包處理,若不相同則調(diào)用所述組包處理單元和所述第一解析單元。
[0032]較佳地,每一邏輯幀中均存儲有用于數(shù)據(jù)組包的數(shù)據(jù)包信息,所述數(shù)據(jù)包信息中的部分?jǐn)?shù)據(jù)信息以可擴展邏輯位的方式存儲。
[0033]較佳地,所述數(shù)據(jù)發(fā)送端在開啟一個發(fā)送線程后,所述發(fā)送線程若在一時間段內(nèi)未接收到所述應(yīng)答信息則重新發(fā)送。
[0034]在符合本領(lǐng)域常識的基礎(chǔ)上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實例。
[0035]本發(fā)明的積極進步效果在于:
[0036]本發(fā)明采用拆包組包機制、應(yīng)答重傳機制、多線程機制來確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性,從而在不采用TCP協(xié)議傳輸數(shù)據(jù)且保證數(shù)據(jù)傳輸速度的前提下,通過Wif1-Direct網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的穩(wěn)定傳輸。
【附圖說明】
[0037]圖1為本發(fā)明實施例1的Wif1-Direct網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法的流程圖。
[0038]圖2為本發(fā)明實施例1的Wif1-D