一種基於區域網的數據傳輸方法、系統及發送端與流程
2023-04-30 02:35:11 1
本發明涉及區域網領域,尤其涉及一種基於區域網的數據傳輸方法、系統及發送端。
背景技術:
區域網(Local Area Network)是在一個局部的地理範圍內(如一個學校、工廠和機關內),將各種計算機、外部設備和資料庫等互相連接起來組成的計算機通信網,簡稱LAN。它可以通過數據通信網或專用數據電路,與遠方的區域網、資料庫或處理中心相連接,構成一個大範圍的信息處理系統。
然而在區域網內進行一對多傳輸時,都需要優先建立雙方會話,也就是在傳輸前發送方需要和接收方單獨通信約定一些信息,然而目前會話創建耗時較長,特別是當需要傳輸的信息量較小時,建立會話所損耗的時間遠比傳輸信息的時間多得多,大大降低用戶體驗。
技術實現要素:
本發明所要解決的技術問題是:提供一種無需建立會話即可傳輸數據的基於區域網的數據傳輸方法、系統及發送端。
為了解決上述技術問題,本發明採用的第一技術方案為:一種基於區域網的數據傳輸方法,包括:
步驟1、創建接收端ID列表,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網;
所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
步驟2、接收所述第一數據包,解析所述第一數據包得到所述接收端ID列表;
步驟3、判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據。
本發明採用的第二技術方案為:一種基於區域網的數據傳輸系統,包括:發送模塊、接收模塊和第一判斷模塊;
所述發送模塊,用於創建接收端ID列表,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
所述接收模塊,用於接收所述第一數據包,解析所述第一數據包得到所述接收端ID列表;
所述第一判斷模塊,用於判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據。
本發明採用的第三技術方案為:一種基於區域網的數據傳輸的發送端,所述發送端包括創建單元、第一打包單元和廣播單元;
所述創建單元用於創建接收端ID列表;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
所述第一打包單元用於將所述接收端ID列表和傳輸數據打包成第一數據包;
所述廣播單元用於將第一數據包廣播至區域網。
本發明的有益效果在於:將欲接收的接收端的ID(作為唯一標識)創建成接收端ID列表,並與傳輸數據打包成第一數據包後廣播至區域網中,所有的接收端都能接收到第一數據包,但只有ID號在接收端ID列表內的接收端才能獲取傳輸數據,因此發送端無需提前與接收端建立會話,節省大量時長,雖然將接收端ID列表與傳輸數據打包在一起廣播會增加發送的數據量,但接收端的ID一般為網絡地址主機號(一般為1位元組),遠小於傳輸數據的數據量,因此本發明提供的基於區域網的數據傳輸方法、系統及發送端,無需建立會話進行一對多傳輸,把接收端ID加到傳輸數據中,直接發送給接收端,大大節省了建立會話所需時間。
附圖說明
圖1為本發明的一種基於區域網的數據傳輸方法的步驟流程圖;
圖2為本發明的一種基於區域網的數據傳輸系統的結構示意圖;
圖3為本發明的一種基於區域網的數據傳輸的發送端的結構示意圖;
標號說明:
1、發送模塊;2、接收模塊;3、第一判斷模塊;4、創建單元;5、第一打包單元;6、廣播單元。
具體實施方式
為詳細說明本發明的技術內容、所實現目的及效果,以下結合實施方式並配合附圖予以說明。
本發明最關鍵的構思在於:把接收端ID列表與傳輸數據打包後,直接發送給接收端,無需建立會話進行一對多傳輸,大大節省了建立會話所需時間。
請參照圖1,本發明提供的一種基於區域網的數據傳輸方法,包括:
步驟1、創建接收端ID列表,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
步驟2、接收所述第一數據包,解析所述第一數據包得到所述接收端ID列表;
步驟3、判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據。
從上述描述可知,本發明的有益效果在於:將欲接收的接收端的ID(作為唯一標識)創建成接收端ID列表,並與傳輸數據打包成第一數據包後廣播至區域網中,所有的接收端都能接收到第一數據包,但只有ID號在接收端ID列表內的接收端才能獲取傳輸數據,因此發送端無需提前與接收端建立會話,節省大量時長,雖然將接收端ID列表與傳輸數據打包在一起廣播會增加發送的數據量,但接收端的ID一般為網絡地址主機號(一般為1位元組),遠小於傳輸數據的數據量,因此本發明提供的基於區域網的數據傳輸方法,無需建立會話進行一對多傳輸,把接收端ID加到傳輸數據中,直接發送給接收端,大大節省了建立會話所需時間。
進一步的,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網,具體為:
將傳輸數據進行第一次加密得到加密後的傳輸數據;
將所述接收端ID列表和加密後的傳輸數據進行第二次加密後打包成第一數據包後廣播至區域網;
解析所述第一數據包得到所述接收端ID列表,判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據,具體為:
第一次解密所述第一數據包得到所述接收端ID列表和加密後的傳輸數據;
判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到加密後的傳輸數據,第二次解密所述加密後的傳輸數據得到傳輸數據。
由上述描述可知,由於所有的接收端均能通過監聽並接收到第一數據包,但為了提高傳輸數據的安全性,將傳輸數據進行第一次加密後再與接收端ID列表進行第二次加密,即使經過一次解密,也只能獲取到接收端ID列表以及加密後的傳輸數據,因此通過二次加密可提升數據傳輸以及接收端的安全性。
這裡所說的解密與上述的加密是相對應的,第一次加密對應的解密為第二次解密,第二次加密對應的解密為第一次解密。即使經過一次解密,也只能獲取到接收端ID列表以及加密後的傳輸數據,因此通過二次加解密可提升數據傳輸以及接收端的安全性。
進一步的,所述步驟3之後還包括步驟4,所述步驟4包括:
步驟41、接收到傳輸數據後,返回反饋信息;
步驟42、判斷預設時間範圍內是否接收到所述接收端ID列表內所有接收端的反饋信息,若是,則結束廣播;
若否,則將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,將所述新的接收端ID列表和傳輸數據打包成第二數據包後廣播至區域網;
步驟43、接收所述第二數據包,解析所述第二數據包得到所述新的接收端ID列表;
步驟44、判斷接收所述第二數據包的接收端的ID是否在所述新的接收端ID列表內,若是,解析所述第二數據包得到傳輸數據,返回步驟42;若否,刪除所述第二數據包。
在數據傳輸過程中還加入反饋機制,當接收端接收到傳輸數據後,會反饋一個反饋信息(例如已收到)給發送端,發送端則會進行判斷是否所有要發送的接收端都已接收到傳輸數據,若都已收到,則發送端結束廣播,表示本次數據傳輸結束;若還存在未接收的接收端,則發送會更新接收端ID列表,也就是將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,再次廣播,直到所有的接收端都接收到傳輸數據,雖然所有的接收端都會再次接收到新的第一數據包,然而接收端ID列表中的數據是有更新的,接收過傳輸數據的接收端就不會在接收端ID列表中,因此第二次發送時,已接收到傳輸數據的接收端則不會再接收數據(因為接收端ID列表中已不存在),進而防止多次接收。
請參閱圖2,本發明還提供的一種基於區域網的數據傳輸系統,包括:發送模塊1、接收模塊2和第一判斷模塊3;
所述發送模塊1,用於創建接收端ID列表,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
所述接收模塊2,用於接收所述第一數據包,解析所述第一數據包得到所述接收端ID列表;
所述第一判斷模塊3,用於判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據。
從上述描述可知,本發明的有益效果在於:將欲接收的接收端的ID(作為唯一標識)創建成接收端ID列表,並與傳輸數據打包成第一數據包後廣播至區域網中,所有的接收端都能接收到第一數據包,但只有ID號在接收端ID列表內的接收端才能獲取傳輸數據,因此發送端無需提前與接收端建立會話,節省大量時長,雖然將接收端ID列表與傳輸數據打包在一起廣播會增加發送的數據量,但接收端的ID一般為網絡地址主機號(一般為1位元組),遠小於傳輸數據的數據量,因此本發明提供的基於區域網的數據傳輸系統,無需建立會話進行一對多傳輸,把接收端ID加到傳輸數據中,直接發送給接收端,大大節省了建立會話所需時間。
進一步的,所述發送模塊包括第一加密單元和第二加密單元;
所述第一加密單元,用於將傳輸數據進行第一次加密得到加密後的傳輸數據;
所述第二加密單元,用於將所述接收端ID列表和加密後的傳輸數據進行第二次加密後打包成第一數據包後廣播至區域網;
所述接收模塊,還用於第一次解密所述第一數據包得到所述接收端ID列表和加密後的傳輸數據;
所述第一判斷模塊,還用於判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到加密後的傳輸數據,第二次解密所述加密後的傳輸數據得到傳輸數據。
由上述描述可知,由於所有的接收端均能通過監聽並接收到第一數據包,但為了提高傳輸數據的安全性,將傳輸數據進行第一次加密後再與接收端ID列表進行第二次加密,即使經過一次解密,也只能獲取到接收端ID列表以及加密後的傳輸數據,因此通過二次加密可提升數據傳輸以及接收端的安全性。這裡所說的解密與上述的加密是相對應的,第一次加密對應的解密為第二次解密,第二次加密對應的解密為第一次解密。即使經過一次解密,也只能獲取到接收端ID列表以及加密後的欲傳輸數據,因此通過二次加解密可提升數據傳輸以及接收端的安全性。
進一步的,還包括第二判斷模塊;所述第二判斷模塊包括第一接收單元、第一判斷單元、第二接收單元和第二判斷單元;
所述第一接收單元,用於接收到傳輸數據後,返回反饋信息;
所述第一判斷單元,用於判斷預設時間範圍內是否接收到所述接收端ID列表內所有接收端的反饋信息,若是,則結束廣播;若否,則將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,將所述新的接收端ID列表和傳輸數據打包成第二數據包後廣播至區域網;
所述第二接收單元,用於接收所述第二數據包,解析所述第二數據包得到所述新的接收端ID列表;
所述第二判斷單元,用於判斷接收所述第二數據包的接收端的ID是否在所述新的接收端ID列表內,若是,解析所述第二數據包得到傳輸數據,返回第一判斷單元;若否,刪除所述第二數據包。
在數據傳輸過程中還加入反饋機制,當接收端接收到傳輸數據後,會反饋一個反饋信息(例如已收到)給發送端,發送端則會進行判斷是否所有要發送的接收端都已接收到傳輸數據,若都已收到,則發送端結束廣播,表示本次數據傳輸結束;若還存在未接收的接收端,則發送會更新接收端ID列表,也就是將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,再次廣播,直到所有的接收端都接收到傳輸數據,雖然所有的接收端都會再次接收到新的第一數據包,然而接收端ID列表中的數據是有更新的,接收過傳輸數據的接收端就不會在接收端ID列表中,因此第二次發送時,已接收到數據的接收端則不會再接收數據(因為接收端ID列表中已不存在),進而防止多次接收。
參閱圖3,本發明還提供的一種基於區域網的數據傳輸的發送端,所述發送端包括創建單元4、第一打包單元5和廣播單元6;
所述創建單元4用於創建接收端ID列表;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
所述第一打包單元5用於將所述接收端ID列表和傳輸數據打包成第一數據包;
所述廣播單元6用於將第一數據包廣播至區域網。
本發明的基於區域網的數據傳輸的發送端是通過將欲接收的接收端的ID(作為唯一標識)創建成接收端ID列表,並與傳輸數據打包成第一數據包後廣播至區域網中,所有的接收端都能接收到第一數據包,但只有ID號在接收端ID列表內的接收端才能獲取傳輸數據,因此發送端無需提前與接收端建立會話,節省大量時長,雖然將接收端ID列表與傳輸數據打包在一起廣播會增加發送的數據量,但接收端的ID一般為網絡地址主機號(一般為1位元組),遠小於傳輸數據的數據量,無需建立會話進行一對多傳輸,把接收端ID加到傳輸數據中,直接發送給接收端,大大節省了建立會話所需時間。
進一步,所述發送端還包括第一加密單元和第二加密單元;
所述第一加密單元用於將傳輸數據進行第一次加密得到加密後的傳輸數據;
所述第二加密單元用於將所述接收端ID列表和加密後的傳輸數據進行第二次加密。
進一步,所述發送端還包括接收單元、判斷單元、停止廣播單元和第二打包單元;
所述接收單元用於接收反饋信息;
所述判斷單元用於判斷預設時間範圍內是否接收到所述接收端ID列表內所有接收端的反饋信息;
所述停止廣播單元用於若預設時間範圍內接收到所述接收端ID列表內所有接收端的反饋信息,則結束廣播;
所述第二打包單元用於若預設時間範圍內沒有接收到所述接收端ID列表內所有接收端的反饋信息,則將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,將所述新的接收端ID列表和傳輸數據打包成第二數據包後廣播至區域網。
請參照圖1-3,本發明的實施例一為:
本發明提供的一種基於區域網的數據傳輸方法,包括:
步驟1、創建接收端ID列表,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網;所述接收端ID列表用於存儲有所有接收傳輸數據的接收端的ID;
步驟2、接收所述第一數據包,解析所述第一數據包得到所述接收端ID列表;
步驟3、判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據。
其中,將所述接收端ID列表和傳輸數據打包成第一數據包後廣播至區域網,具體為:
將傳輸數據進行第一次加密得到加密後的傳輸數據;
將所述接收端ID列表和加密後的傳輸數據進行第二次加密後打包成第一數據包後廣播至區域網;
解析所述第一數據包得到所述接收端ID列表,判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到傳輸數據,具體為:
第一次解密所述第一數據包得到所述接收端ID列表和加密後的傳輸數據;
判斷接收所述第一數據包的接收端的ID是否在所述接收端ID列表內,若是,解析所述第一數據包得到加密後的傳輸數據,第二次解密所述加密後的傳輸數據得到傳輸數據。
由於所有的接收端均能通過監聽並接收到第一數據包,但為了提高傳輸數據的安全性,將傳輸數據進行第一次加密後再與接收端ID列表進行第二次加密,即使經過一次解密,也只能獲取到接收端ID列表以及加密後的傳輸數據,因此通過二次加密可提升數據傳輸以及接收端的安全性。
這裡所說的解密與上述的加密是相對應的,第一次加密對應的解密為第二次解密,第二次加密對應的解密為第一次解密。即使經過一次解密,也只能獲取到接收端ID列表以及加密後的傳輸數據,因此通過二次加解密可提升數據傳輸以及接收端的安全性。
其中,所述步驟3之後還包括步驟4,所述步驟4包括:
步驟41、接收到傳輸數據後,返回反饋信息;
步驟42、判斷預設時間範圍內是否接收到所述接收端ID列表內所有接收端的反饋信息,若是,則結束廣播;
若否,則將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,將所述新的接收端ID列表和傳輸數據打包成第二數據包後廣播至區域網;
步驟43、接收所述第二數據包,解析所述第二數據包得到所述新的接收端ID列表;
步驟44、判斷接收所述第二數據包的接收端的ID是否在所述新的接收端ID列表內,若是,解析所述第二數據包得到傳輸數據,返回步驟42;若否,刪除所述第二數據包。
在數據傳輸過程中還加入反饋機制,當接收端接收到傳輸數據後,會反饋一個反饋信息(例如已收到)給發送端,發送端則會進行判斷是否所有要發送的接收端都已接收到傳輸數據,若都已收到,則發送端結束廣播,表示本次數據傳輸結束;若還存在未接收的接收端,則發送會更新接收端ID列表,也就是將未接收到反饋信息的接收端的ID作為新的接收端ID列表中的接收端的ID,再次廣播,直到所有的接收端都接收到傳輸數據,雖然所有的接收端都會再次接收到新的第一數據包,然而接收端ID列表中的數據是有更新的,接收過傳輸數據的接收端就不會在接收端ID列表中,因此第二次發送時,已接收到傳輸數據的接收端則不會再接收數據(因為接收端ID列表中已不存在),進而防止多次接收。
現有技術是基於建立會話進行一對多的傳輸技術,發送端發送數據信息前需生成會話ID用於標識本次傳輸(只要能唯一標識傳輸過程的信息都可以作為會話ID),然後發送端需要單獨給本次所有接收端發送會話ID(也就是說不是本次接收端是沒有會話ID信息),等所有接收端都反饋已經擁有會話ID後發送端才開始發送信息,前面建立會話過程隨著接收端數量增加而增加,當發送端發送的數據量較小時,建立會話所花費時間大大加長了整個傳輸時間。
而本發明則是基於無需建立會話進行一對多傳輸,把接收端ID集合加到傳輸信息中,直接發送給接收端,大大節省了建立會話所需時間。由於未建立會話,需將所有接收端ID一起作為數據進行傳輸,加大了傳輸數據量,可選擇網絡主機號作為接收端ID,網絡主機號一般是1位元組,對於傳輸的數據量是很小的。
綜上所述,本發明提供的基於區域網的數據傳輸方法、系統及發送端,將欲接收的接收端的ID創建成接收端ID列表,並與傳輸數據打包成第一數據包後廣播至區域網中,所有的接收端都能接收到第一數據包,但只有ID號在接收端ID列表內的接收端才能獲取傳輸數據,因此發送端無需提前與接收端建立會話,節省大量時長,雖然將接收端ID列表與傳輸數據打包在一起廣播會增加發送的數據量,但接收端的ID一般為網絡地址主機號,遠小於傳輸數據的數據量,因此本發明提供的基於區域網的數據傳輸方法、系統及發送端,無需建立會話進行一對多傳輸,把接收端ID加到傳輸數據中,直接發送給接收端,大大節省了建立會話所需時間。
以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發明的專利保護範圍內。