一種基于二維碼的物理隔離傳輸方法
【技術領域】
[0001]本發(fā)明涉及網絡信息安全領域,更具體地說,涉及一種基于二維碼的物理隔離傳輸方法。
【背景技術】
[0002]隨著社會信息化的發(fā)展,各系統之間進行信息交互以獲得所需資訊、數據等變得越來越重要。而在政府、公安和一些對信息安全要求較高的企業(yè),往往要求內網與外網或者保密計算機與普通計算機之間實行物理隔離,但是在現代信息高速發(fā)展的社會,與外部進行數據交互是無可避免的,目前傳統的做法是使用一次性讀寫光盤或網閘來進行數據交互。但是,這樣做不僅過程繁瑣、成本高,而且傳輸的數據量小、效率低,在傳輸過程中也會產生安全隱患,十分不便。
【發(fā)明內容】
[0003]本發(fā)明要解決的技術問題,在于提供一種基于二維碼的物理隔離傳輸方法,通過二維碼數據傳輸模式,提高了數據傳輸的可靠性及準確性,解決了內網與外網隔離造成的數據同步困難問題,同時保證了物理隔離傳輸的安全性和效率。
[0004]本發(fā)明是這樣實現的:一種基于二維碼的物理隔離傳輸方法,包括用于發(fā)送原始數據的第一網絡終端和接收原始數據的第二網絡終端,執(zhí)行如下步驟:
[0005]步驟10、所述第一網絡終端對需要發(fā)送的原始數據進行自動分塊處理,得到分塊數據;各所述分塊數據都對應一區(qū)塊序號;
[0006]步驟20、所述第一網絡終端對各所述分塊數據進行加密并分別轉換為對應的二維碼圖片;
[0007]步驟30、在所述第一網絡終端上根據所述區(qū)塊序號按順序顯示各二維碼圖片得到組合二維碼圖片;所述組合二維碼圖片由復數張所述二維碼圖片排列組成;
[0008]步驟40、所述第二網絡終端通過二維碼掃描設備或高速照相機對所述第一網絡終端上顯示的所述組合二維碼圖片進行掃描;
[0009]步驟50、所述第二網絡終端將采集到的所述組合二維碼圖片進行解密,并拆分為對應的各所述二維碼圖片;
[0010]步驟60、所述第二網絡終端將拆分得到的各所述二維碼圖片進行解析,獲得對應的各所述分塊數據并寫入本地緩存文件;
[0011]步驟70、所述第二網絡終端將接收的全部所述分塊數據進行合并,得到完整合并后的所述原始數據進行存儲。
[0012]較佳的,所述步驟10進一步具體為,所述第一網絡終端根據所述原始數據的數據量與所述二維碼圖片存儲容量劃分所述原始數據,得到所述分塊數據,且所述分塊數據的總數與最后一個所述分塊數據的大小分別滿足以下公式:
[0013]TotalBlock = (int)(_File.Length/(long)BlockSize)+1 (I)
[0014]LastBlockSize = (int) (_Fi le.Length-((long) TotalBlock-1) * (long)BlockSize) (2)
[0015]在公式⑴和公式⑵中TotalBlock表示所述分塊數據的總數,_File.Length表示原始數據長度,BlockSize表示塊大小,所述塊大小自定義,LastBlockSize表示最后一個所述分塊數據的大小,則由公式⑴能得到所述分塊數據的總數,由公式⑵能得到最后一個所述分塊數據的大小。
[0016]較佳的,所述步驟60中,若出現異常情況導致傳輸中斷,則執(zhí)行斷點續(xù)傳,所述斷點續(xù)傳包括如下步驟:
[0017]步驟61、所述第二網絡終端發(fā)送重傳指令至第一網絡終端,并從所述第一網絡終端獲取所述分塊數據總數和最后一個所述分塊數據的大小(由所述分塊數據總數和最后一個所述分塊數據大小可計算得到所述原始數據傳輸到所述第二網絡終端所需的傳輸總次數);
[0018]步驟62、所述第二網絡終端校驗本地緩存文件中已存的所述分塊數據,并從本地緩存文件中循環(huán)讀入已存的所述分塊數據;
[0019]步驟63、所述第二網絡終端對讀取到的已存的所述分塊數據分別進行計算獲取各自對應的哈希值,并與從所述第一網絡終端獲取的各所述分塊數據的哈希值進行比較是否相同:若是,則找出其中所述分塊數據對應的區(qū)塊序號最大的所述分塊數據,從而獲取與尚未傳輸的所述分塊數據對應的區(qū)塊序號列表;若否,則記入損壞的所述分塊數據對應的區(qū)塊序號列表中;
[0020]步驟64、所述第二網絡終端根據所述損壞的所述分塊數據對應的區(qū)塊序號列表或所述尚未傳輸的所述分塊數據對應的區(qū)塊序號列表,向所述第一網絡終端循環(huán)發(fā)送獲取對應的所述分塊數據的指令,并開始異步接收所述第一網絡終端發(fā)送的對應的所述分塊數據;
[0021]步驟65、所述第二網絡終端對接收的所述分塊數據進行無限循環(huán)判斷直到接收到正確的所述分塊數據;
[0022]步驟66、所述第二網絡終端將接收到的所述分塊數據寫入本地緩存文件并進行無限循環(huán)判斷直到所述分塊數據成功寫入本地緩存文件;
[0023]步驟67、判斷第二網絡終端是否接收到全部所述分塊數據:若是,則結束傳輸;若否,則循環(huán)執(zhí)行步驟62到步驟66。
[0024]采用上述方案后,本發(fā)明具有如下優(yōu)點:
[0025]1、通過將大量的數據轉化為二維碼圖片進行傳輸,提高了數據傳輸的可靠性及準確性,解決了內網與外網隔離造成的數據同步困難問題,保證了物理隔離傳輸的安全性;
[0026]2、通過斷點續(xù)傳操作,即使數據傳輸過程出現異常情況導致傳輸中斷,下次也能繼續(xù)從中斷處開始傳輸數據,不用再重頭傳輸,節(jié)省時間,提高了傳輸效率。
【附圖說明】
[0027]下面參照附圖結合實施例對本發(fā)明作進一步的說明。
[0028]圖1為本發(fā)明方法執(zhí)行流程圖。
[0029]圖2為本發(fā)明一實施例斷點續(xù)傳流程圖。
【具體實施方式】
[0030]請參閱圖1,本發(fā)明一種基于二維碼的物理隔離傳輸方法,包括用于發(fā)送原始數據的第一網絡終端和接收原始數據的第二網絡終端,執(zhí)行如下步驟:
[0031]步驟10、所述第一網絡終端對需要發(fā)送的原始數據進行自動分塊處理,得到分塊數據;各所述分塊數據都對應一區(qū)塊序號;
[0032]步驟20、所述第一網絡終端對各所述分塊數據進行加密并分別轉換為對應的二維碼圖片;
[0033]步驟30、在所述第一網絡終端上根據所述區(qū)塊序號按順序顯示各二維碼圖片得到組合二維碼圖片;所述組合二維碼圖片由復數張所述二維碼圖片排列組成;
[0034]步驟40、所述第二網絡終端通過二維碼掃描設備或高速照相機對所述第一網絡終端上顯示的所述組合二維碼圖片進行掃描;
[0035]步驟50、所述第二網絡終端將采集到的所述組合二維碼圖片進行解密,并拆分為對應的各所述二維碼圖片;
[0036]步驟60、所述第二網絡終端將拆分得到的各所述二維碼圖片進行解析,獲得對應的各所述分塊數據并寫入本地緩存文件;
[0037]步驟70、所述第二網絡終端將接收的全部所述分塊數據進行合并,得到完整合并后的所述原始數據進行存儲。
[0038]較佳的,所述步驟10進一步具體為,所述第一網絡終端根據所述原始數據的數據量與所述二維碼圖片存儲容量劃分所述原始數據,得到所述分塊數據,且所述分塊數據的總數與最后一個所述分塊數據的大小分別滿足以下公式:
[0039]TotalBlock = (int)(_File.Length/(long)BlockSize)+1 (I)
[0040]LastBlockSize = (int) (_Fi le.Length-((long) TotalBlock-1) * (long)BlockSize) (2)
[0041]在公式(I)和公式(2)中TotalBlock表示所述分塊數據的總數,_File.Lengt