專利名稱:兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器及傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)網(wǎng)絡(luò)間即時(shí)通訊的裝置及傳輸方法,更具體地說涉及一種 基于XMPP協(xié)議的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器及傳輸方法。
背景技術(shù):
目前在很多領(lǐng)域,如政府、軍隊(duì),對(duì)網(wǎng)絡(luò)安全有很高的要求,要求內(nèi)部網(wǎng)絡(luò)和外部 網(wǎng)絡(luò)物理隔離。在物理隔離的兩個(gè)網(wǎng)絡(luò)之間進(jìn)行數(shù)據(jù)傳輸,只能采用數(shù)據(jù)擺渡的方法,即先 將一個(gè)網(wǎng)絡(luò)中的數(shù)據(jù)傳至擺渡用存儲(chǔ)器中,再把該存儲(chǔ)器中的數(shù)據(jù)傳至另一個(gè)網(wǎng)絡(luò)。目前 針對(duì)文件傳輸已有了相應(yīng)的數(shù)據(jù)擺渡傳輸器,但對(duì)于基于XMPP協(xié)議的即時(shí)通訊,還沒有相 應(yīng)的數(shù)據(jù)擺渡傳輸器及傳輸方法。另外目前還沒有兩個(gè)獨(dú)立單向通道的數(shù)據(jù)擺渡傳輸器, 因此傳輸速度較慢,網(wǎng)絡(luò)電子開關(guān)的壽命較短。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)不足之處而提供一種基于XMPP協(xié)議的兩物理隔斷 網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器。本發(fā)明還提供一種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法。本發(fā)明的目的是通過以下措施來實(shí)現(xiàn)一種基于XMPP協(xié)議的兩物理隔斷網(wǎng)絡(luò)即 時(shí)通訊數(shù)據(jù)擺渡傳輸器,包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò)B,其特征在于,還有兩個(gè)獨(dú)立的互為 反向的單向通道;所述單向通道由微機(jī)主板及CPU芯片、硬盤組成的PC機(jī),及網(wǎng)絡(luò)電子開關(guān) 組成;網(wǎng)絡(luò)電子開關(guān)通過USB接口連接在PC機(jī)上,網(wǎng)絡(luò)電子開關(guān)設(shè)有第一網(wǎng)絡(luò)接口、第二網(wǎng) 絡(luò)接口 ;所述一路單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)B, 則另一路的單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接接網(wǎng)絡(luò)B,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A。一種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò) B,各網(wǎng)絡(luò)設(shè)有JMS管理的XMPP消息緩存隊(duì)列,網(wǎng)絡(luò)電子開關(guān)的驅(qū)動(dòng)程序函數(shù),其特征在于 數(shù)據(jù)擺渡傳輸步驟如下步驟一,網(wǎng)絡(luò)A、網(wǎng)絡(luò)B互為源端和目的端,兩網(wǎng)絡(luò)間設(shè)定兩個(gè)獨(dú)立互為反向的單 向通道⑴由網(wǎng)絡(luò)A的輸入緩存XMPP消息隊(duì)列一PC機(jī)控制的網(wǎng)絡(luò)電子開關(guān)一網(wǎng)絡(luò)B的 輸出緩存XMPP消息隊(duì)列的單向通道;⑵由網(wǎng)絡(luò)B的輸入緩存XMPP消息隊(duì)列一PC機(jī)控制 的網(wǎng)絡(luò)電子開關(guān)一網(wǎng)絡(luò)A的輸出緩存XMPP消息隊(duì)列的單向通道;步驟二,所述PC機(jī)數(shù)據(jù)擺渡用戶程序包括一個(gè)Java代碼編寫的監(jiān)控線程、多個(gè)接 收線程、多個(gè)發(fā)送線程,和調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口,監(jiān)控線程負(fù)責(zé)切換 網(wǎng)絡(luò)電子開關(guān)、啟動(dòng)接收、發(fā)送線程、調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口 ;步驟三,依據(jù)設(shè)置啟動(dòng)相關(guān)線程,包括一個(gè)監(jiān)控線程和多個(gè)收、發(fā)線程,收、發(fā)線程 處于等待狀態(tài);常態(tài)下監(jiān)控線程切換電子開關(guān)位于源端,待網(wǎng)絡(luò)接通后,即啟動(dòng)接收線程接 收過程,接收線程不斷輪詢?cè)炊岁?duì)列,發(fā)現(xiàn)數(shù)據(jù)則接收至傳輸器硬盤中;步驟四,監(jiān)控線程始終監(jiān)控PC機(jī)硬盤中是否有待發(fā)數(shù)據(jù),如果有則向各個(gè)接收線程置發(fā)停止標(biāo)志,接收線程發(fā)現(xiàn)停止標(biāo)志后即在完成一輪數(shù)據(jù)接收就停止本線程的接收過 程,監(jiān)控線程檢測(cè)到所有接收線程都停止接收后,就將電子開關(guān)切換到目的端;步驟五,監(jiān)控線程控制電子開關(guān)切換到目的端后,待網(wǎng)絡(luò)接通后,即啟動(dòng)所有發(fā)送 線程的發(fā)送過程,發(fā)送線程在將PC機(jī)硬盤上的數(shù)據(jù)都發(fā)送到目的端隊(duì)列后,即停止本線程 的發(fā)送過程,監(jiān)控線程在檢測(cè)到所有發(fā)送線程的發(fā)送過程都停止后,即將電子開關(guān)切換到 源端,完成一次即時(shí)通訊數(shù)據(jù)擺渡。所述步驟二中,接收線程負(fù)責(zé)將源端JMS隊(duì)列中的數(shù)據(jù)取出放在PC機(jī)硬盤中,接 收線程和源端JMS隊(duì)列一一對(duì)應(yīng)。所述步驟二中,發(fā)送線程負(fù)責(zé)將PC機(jī)硬盤中的數(shù)據(jù),發(fā)送到目的端JMS隊(duì)列中,發(fā) 送線程和目的端JMS隊(duì)列一一對(duì)應(yīng)。所述步驟二中,用戶程序的調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口由C代碼 編寫,提供網(wǎng)絡(luò)電子開關(guān)切換端口函數(shù)為“swicthOC ..) ”和加載開關(guān)控制DLL hlnstance =LoadLibraryC NETSWUSB.DLL")。與現(xiàn)有技術(shù)相比,本發(fā)明提出的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器及傳輸 方法,具有如下優(yōu)點(diǎn)1)使處于兩個(gè)物理隔離網(wǎng)絡(luò)基于XMPP協(xié)議的即時(shí)通訊終端實(shí)現(xiàn)通 訊,同時(shí)始終保持兩個(gè)網(wǎng)絡(luò)的物理隔離狀態(tài),并使通訊的延時(shí)控制在10秒內(nèi);幻本發(fā)明采 用了兩個(gè)獨(dú)立互為反相的單向通道方案,有效提高了擺渡速度,延長了網(wǎng)絡(luò)電子開關(guān)的壽 命。
圖1為本發(fā)明實(shí)施例結(jié)構(gòu)示意圖。圖2為圖1實(shí)施例接入兩物理隔離網(wǎng)絡(luò)的原理圖。圖3為圖1實(shí)施例的監(jiān)控線程接收、發(fā)送示意圖。圖4為圖1實(shí)施例用戶程序控制電子開關(guān)的層次結(jié)構(gòu)圖。圖5為圖1實(shí)施例的數(shù)據(jù)擺渡控制程序的主流程圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)具體實(shí)施方式
作詳細(xì)說明圖1 圖2為本發(fā)明實(shí)施例的結(jié)構(gòu)圖 和接入兩物理隔離網(wǎng)絡(luò)的原理圖。圖中,一種基于XMPP協(xié)議的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù) 據(jù)擺渡傳輸器,包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò)B、兩個(gè)獨(dú)立的互為反向的單向通道,所述單向 通道由PC機(jī)主板1及CPU芯片2、硬盤3組成的PC機(jī),及網(wǎng)絡(luò)電子開關(guān)4組成,所述PC機(jī) 主板為華碩P5QPL-AM、CPU為Intel酷睿2EM00、硬盤為西部數(shù)據(jù)WD6400A,網(wǎng)絡(luò)電子開關(guān) 為市購產(chǎn)品和升達(dá)HSD-I。網(wǎng)絡(luò)電子開關(guān)通過USB接口連接在PC機(jī)上,網(wǎng)絡(luò)電子開關(guān)設(shè)有 第一網(wǎng)絡(luò)接口、第二網(wǎng)絡(luò)接口 ;所述一路單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A,第 二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)B,則另一路的單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接接網(wǎng)絡(luò)B,第二網(wǎng) 絡(luò)接口接網(wǎng)絡(luò)A。本裝置的工作原理如下通過PC機(jī)上的硬盤,來緩存擺渡的消息數(shù)據(jù)。PC機(jī)控制 HSD-I網(wǎng)絡(luò)電子開關(guān),切換PC機(jī)與兩個(gè)網(wǎng)絡(luò)的接通和斷開。PC機(jī)在同一時(shí)刻只與一個(gè)網(wǎng)絡(luò) 接通。這里假設(shè)網(wǎng)絡(luò)A為XMPP消息源端,網(wǎng)絡(luò)B為XMPP消息目的端。當(dāng)PC機(jī)與網(wǎng)絡(luò)A接通時(shí),從網(wǎng)絡(luò)A中的XMPP消息緩存隊(duì)列中將消息按先后順序移至PC機(jī)的硬盤中,然后PC機(jī) 控制網(wǎng)絡(luò)電子開關(guān)切斷與網(wǎng)絡(luò)A的網(wǎng)絡(luò)連接,接通與網(wǎng)絡(luò)B的網(wǎng)絡(luò)連接,最后將PC機(jī)硬盤 中的消息按先后順序移至網(wǎng)絡(luò)B中的XMPP消息緩存隊(duì)列中,完成一次數(shù)據(jù)擺渡。本發(fā)明采 用兩個(gè)獨(dú)立通道控制方案,每個(gè)通道控制一個(gè)方向的數(shù)據(jù)擺渡,即一個(gè)通道負(fù)責(zé)網(wǎng)絡(luò)A到B 的數(shù)據(jù)擺渡,另一個(gè)通道負(fù)責(zé)網(wǎng)絡(luò)B到A的數(shù)據(jù)擺渡。本發(fā)明的控制策略為網(wǎng)絡(luò)電子開關(guān) 常態(tài)接通源端;預(yù)先設(shè)置好接收時(shí)間片,比如5秒,數(shù)據(jù)收取完成后,如果時(shí)間片未到,則等 待時(shí)間片結(jié)束再切換開關(guān);時(shí)間片結(jié)束后,如果本地沒有要轉(zhuǎn)發(fā)的數(shù)據(jù),則開始下一個(gè)時(shí)間 片的監(jiān)聽,并不切換網(wǎng)絡(luò)電子開關(guān);如果有數(shù)據(jù)輸出,則切換開關(guān)轉(zhuǎn)發(fā)數(shù)據(jù)。發(fā)送時(shí)間不限; 發(fā)送完成后立即切換回來。采用這一策略的目的是為了減少電子開關(guān)的切換次數(shù),延長其 壽命,并確保數(shù)據(jù)的及時(shí)傳輸。本發(fā)明還提供一種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,包括相互隔離的 網(wǎng)絡(luò)A、網(wǎng)絡(luò)B,兩個(gè)都是TCP/IP網(wǎng)絡(luò),即時(shí)通訊協(xié)議為XMPP,兩個(gè)網(wǎng)絡(luò)中都有一個(gè)由JMS管 理的XMPP消息緩存隊(duì)列,IN緩存消息隊(duì)列為發(fā)送方,也即源端的XMPP消息隊(duì)列,OUT緩存 消息隊(duì)列為接收方,也即目的端的XMPP消息隊(duì)列。網(wǎng)絡(luò)電子開關(guān)的驅(qū)動(dòng)程序函數(shù),由服務(wù) 商供給,包括Turn_A_0n(int COMx)、Turn_B_0n (int COMx)。數(shù)據(jù)擺渡傳輸步驟如下步驟一,網(wǎng)絡(luò)A、網(wǎng)絡(luò)B互為源端和目的端,兩網(wǎng)絡(luò)間設(shè)定兩個(gè)獨(dú)立互為反向的單 向通道由網(wǎng)絡(luò)A的IN緩存XMPP消息隊(duì)列一PC機(jī)控制的網(wǎng)絡(luò)電子開關(guān)一網(wǎng)絡(luò)B的OUT緩 存XMPP消息隊(duì)列的單向通道,簡(jiǎn)述為網(wǎng)絡(luò)A—網(wǎng)絡(luò)B的單向通道。另一條由網(wǎng)絡(luò)B的IN 緩存XMPP消息隊(duì)列一PC機(jī)控制的網(wǎng)絡(luò)電子開關(guān)一網(wǎng)絡(luò)A的OUT緩存XMPP消息隊(duì)列的單 向通道,簡(jiǎn)述為網(wǎng)絡(luò)B—網(wǎng)絡(luò)A的單向通道,如圖2所示。步驟二,所述PC機(jī)數(shù)據(jù)擺渡用戶程序包括一個(gè)Java代碼編寫的監(jiān)控線程、多個(gè)接 收線程、多個(gè)發(fā)送線程,和調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口,監(jiān)控線程負(fù)責(zé)切換 網(wǎng)絡(luò)電子開關(guān)、啟動(dòng)接收和發(fā)送線程和調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口。接收 線程負(fù)責(zé)將源端JMS隊(duì)列中的數(shù)據(jù)取出放在PC機(jī)硬盤中,接收線程和源端JMS隊(duì)列一一對(duì) 應(yīng)。所述發(fā)送線程負(fù)責(zé)將PC機(jī)硬盤中的數(shù)據(jù),發(fā)送到目的端JMS隊(duì)列中,發(fā)送線程和目的端 JMS隊(duì)列一一對(duì)應(yīng)。圖3為監(jiān)控線程接收、發(fā)送線程對(duì)應(yīng)的示意圖。所述用戶程序的調(diào)用網(wǎng) 絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口由C代碼編寫,圖4給出了用戶程序控制電子開關(guān)的 層次結(jié)構(gòu)圖。程序接口提供電子開關(guān)切換端口函數(shù)為“swicthOC ..) ”和加載開關(guān)控制DLL hlnstance = LoadLibrary (〃 NETSWUSB.DLL")。由于數(shù)據(jù)擺渡用戶程序是 Java 程序,不 能直接調(diào)用由網(wǎng)絡(luò)電子開關(guān)廠家提供的電子開關(guān)驅(qū)動(dòng)程序。為此用C代碼為驅(qū)動(dòng)程序編了 一個(gè)可供Java調(diào)用的程序接口。C代碼包括兩個(gè)部分第一部分該C程序?yàn)镴ava提供電子 開關(guān)切換函數(shù)為“swicthO(...) ”,該函數(shù)對(duì)應(yīng)的電子開關(guān)驅(qū)動(dòng)程序函數(shù)為“TUrn_A_0n() 和 I\irn_B_0n() ” ;第二部分為加載開關(guān)控制 DLL hlnstance = LoadLibrary (〃 NETSWUSB. DLL"),用來加載驅(qū)動(dòng)程序?qū)崿F(xiàn)開關(guān)的切換。圖5為圖1實(shí)施例的數(shù)據(jù)擺渡用戶程序的主流程圖。涉及到步驟三 步驟五。步驟三,依據(jù)設(shè)置啟動(dòng)相關(guān)線程,包括一個(gè)監(jiān)控線程和多個(gè)收、發(fā)線程,收、發(fā)線程 處于等待狀態(tài)。常態(tài)下監(jiān)控線程切換電子開關(guān)位于源端,同時(shí)啟動(dòng)時(shí)鐘計(jì)數(shù)器,計(jì)數(shù)器按給 定時(shí)間,通過socket連接對(duì)方的端口來測(cè)試網(wǎng)絡(luò)A是否聯(lián)通,如果網(wǎng)絡(luò)聯(lián)通,則時(shí)鐘計(jì)數(shù)器 歸0,啟動(dòng)接收線程,接收線程按時(shí)間片不斷輪詢?cè)炊岁?duì)列,時(shí)間片可設(shè)定為10秒。隊(duì)列掃描規(guī)則按設(shè)置或使用缺省策略。發(fā)現(xiàn)數(shù)據(jù)則接收至PC機(jī)硬盤中,讀取隊(duì)列、保存本地臨時(shí) 文件作為一個(gè)事務(wù)來提交,然后文件更名,以保證和發(fā)送線程不沖突。臨時(shí)文件保存在PC 機(jī)硬盤文件夾/Data/下面,每10分鐘生成一個(gè)子目錄。若無文件可收則不生成文件夾。步驟四,監(jiān)控 線程隨時(shí)鐘計(jì)數(shù)器始終監(jiān)控PC機(jī)硬盤中是否有待發(fā)數(shù)據(jù),如果 沒有,時(shí)鐘計(jì)數(shù)器歸零,不切換電子開關(guān),如果有則向各個(gè)接收線程置發(fā)停止標(biāo)志,接 收線程發(fā)現(xiàn)停止標(biāo)志后即在完成一輪數(shù)據(jù)接收就停止本線程的接收過程,監(jiān)控線程檢 測(cè)到所有接收線程都停止接收后,由C代碼編寫的調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的 程序,提供電子開關(guān)切換函數(shù)為“ SWiCthO (...) ”,和加載開關(guān)控制DLL hlnstance = LoadLibraryC NETSWUSB. DLL"),加載電子開關(guān)的驅(qū)動(dòng)程序,將電子開關(guān)切換到目的端。步驟五,監(jiān)控線程控制電子開關(guān)切換到目的端后,同樣測(cè)試網(wǎng)絡(luò)B是否聯(lián)通。待網(wǎng) 絡(luò)接通后,即啟動(dòng)所有發(fā)送線程的發(fā)送過程,發(fā)收線程根據(jù)編號(hào)直接定位文件夾,發(fā)送數(shù)據(jù) 到隊(duì)列和刪除文件也做為一個(gè)事務(wù),發(fā)送線程在將PC機(jī)硬盤上的數(shù)據(jù)都發(fā)送到目的端隊(duì) 列,如果所有本地?cái)?shù)據(jù)都已發(fā)送出去,即所有目錄為空時(shí),即停止本線程的發(fā)送過程,并設(shè) 置所有發(fā)送線程為等待狀態(tài),監(jiān)控線程在檢測(cè)到所有發(fā)送線程的發(fā)送過程都停止后,即將 電子開關(guān)切換到源端。另外,發(fā)送接收設(shè)有一個(gè)最大時(shí)間片限制,等到時(shí)間片到后設(shè)置所有 發(fā)送線程為等待狀態(tài),掃描所有線程狀態(tài),監(jiān)控線程在檢測(cè)到所有發(fā)送線程均處于等待狀 態(tài)后,將電子開關(guān)切換到源端。同樣電子開關(guān)的切換由C代碼編寫的程序來調(diào)用網(wǎng)絡(luò)電子 開關(guān)驅(qū)動(dòng)程序函數(shù)得以完成。通過以上步驟完成一次即時(shí)通訊數(shù)據(jù)擺渡。上述實(shí)施例并不構(gòu)成對(duì)本發(fā)明的限制,凡采用等同替換或等效變換的形式所獲得 的技術(shù)方案,均落在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器,包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò)B,其 特征在于,還有兩個(gè)獨(dú)立的互為反向的單向通道;所述單向通道由微機(jī)主板及CPU芯片、硬 盤組成的PC機(jī),及網(wǎng)絡(luò)電子開關(guān)組成;網(wǎng)絡(luò)電子開關(guān)通過USB接口連接在PC機(jī)上,網(wǎng)絡(luò)電 子開關(guān)設(shè)有第一網(wǎng)絡(luò)接口、第二網(wǎng)絡(luò)接口 ;所述一路單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口 接網(wǎng)絡(luò)A,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)B,則另一路的單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接接網(wǎng) 絡(luò)B,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A。
2.—種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò)B, 各網(wǎng)絡(luò)設(shè)有JMS管理的XMPP消息緩存隊(duì)列,網(wǎng)絡(luò)電子開關(guān)的驅(qū)動(dòng)程序函數(shù),其特征在于數(shù) 據(jù)擺渡傳輸步驟如下步驟一,網(wǎng)絡(luò)A、網(wǎng)絡(luò)B互為源端和目的端,兩網(wǎng)絡(luò)間設(shè)定兩個(gè)獨(dú)立互為反向的單向通 道(1)由網(wǎng)絡(luò)A的輸入緩存XMPP消息隊(duì)列一PC機(jī)控制的網(wǎng)絡(luò)電子開關(guān)一網(wǎng)絡(luò)B的輸出 緩存XMPP消息隊(duì)列的單向通道;(2)由網(wǎng)絡(luò)B的輸入緩存XMPP消息隊(duì)列一PC機(jī)控制的網(wǎng) 絡(luò)電子開關(guān)一網(wǎng)絡(luò)A的輸出緩存XMPP消息隊(duì)列的單向通道;步驟二,所述PC機(jī)數(shù)據(jù)擺渡用戶程序包括一個(gè)Java代碼編寫的監(jiān)控線程、多個(gè)接收線 程、多個(gè)發(fā)送線程,和調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口,監(jiān)控線程負(fù)責(zé)切換網(wǎng)絡(luò) 電子開關(guān)、啟動(dòng)接收、發(fā)送線程和調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口 ;步驟三,依據(jù)設(shè)置啟動(dòng)相關(guān)線程,包括一個(gè)監(jiān)控線程和多個(gè)收、發(fā)線程,收、發(fā)線程處于 等待狀態(tài);常態(tài)下監(jiān)控線程切換電子開關(guān)位于源端,待網(wǎng)絡(luò)接通后,即啟動(dòng)接收線程接收過 程,接收線程不斷輪詢?cè)炊岁?duì)列,發(fā)現(xiàn)數(shù)據(jù)則接收至傳輸器硬盤中;步驟四,監(jiān)控線程始終監(jiān)控PC機(jī)硬盤中是否有待發(fā)數(shù)據(jù),如果有則向各個(gè)接收線程置 發(fā)停止標(biāo)志,接收線程發(fā)現(xiàn)停止標(biāo)志后即在完成一輪數(shù)據(jù)接收就停止本線程的接收過程, 監(jiān)控線程檢測(cè)到所有接收線程都停止接收后,就將電子開關(guān)切換到目的端。
3.根據(jù)權(quán)利要求2所述的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,其特征在于所 述步驟二中,接收線程負(fù)責(zé)將源端JMS隊(duì)列中的數(shù)據(jù)取出放在PC機(jī)硬盤中,接收線程和源 端JMS隊(duì)列——對(duì)應(yīng)。
4.根據(jù)權(quán)利要求2所述的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,其特征在于所 述步驟二中,發(fā)送線程負(fù)責(zé)將PC機(jī)硬盤中的數(shù)據(jù),發(fā)送到目的端JMS隊(duì)列中,發(fā)送線程和目 的端JMS隊(duì)列一一對(duì)應(yīng)。
5.根據(jù)權(quán)利要求2所述的兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸方法,其特征在 于所述步驟二中,用戶程序的調(diào)用網(wǎng)絡(luò)電子開關(guān)驅(qū)動(dòng)程序函數(shù)的程序接口由C代碼編 寫,提供電子開關(guān)切換端口函數(shù)為“swicthO (...)”和加載開關(guān)控制DLL hlnstance = LoadLibraryC NETSWUSB.DLL")。
全文摘要
本發(fā)明涉及一種兩物理隔斷網(wǎng)絡(luò)即時(shí)通訊數(shù)據(jù)擺渡傳輸器及傳輸方法。包括相互隔離的網(wǎng)絡(luò)A、網(wǎng)絡(luò)B,兩個(gè)獨(dú)立的互為反向的單向通道;所述單向通道由微機(jī)主板及CPU芯片、硬盤組成的PC機(jī),及網(wǎng)絡(luò)電子開關(guān)組成;一路單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)B,則另一路的單向通道的電子開關(guān)的第一網(wǎng)絡(luò)接口接接網(wǎng)絡(luò)B,第二網(wǎng)絡(luò)接口接網(wǎng)絡(luò)A。本發(fā)明還提供了即時(shí)通訊數(shù)據(jù)擺渡傳輸方法。本發(fā)明具有如下優(yōu)點(diǎn)1)使處于兩個(gè)物理隔離網(wǎng)絡(luò)基于XMPP協(xié)議的即時(shí)通訊終端實(shí)現(xiàn)通訊,同時(shí)始終保持兩個(gè)網(wǎng)絡(luò)的物理隔離狀態(tài),并使通訊的延時(shí)控制在10秒內(nèi);2)采用了兩個(gè)獨(dú)立互為反相的單向通道方案,有效提高了擺渡速度,延長了網(wǎng)絡(luò)電子開關(guān)的壽命。
文檔編號(hào)H04L12/58GK102075458SQ201010265210
公開日2011年5月25日 申請(qǐng)日期2010年8月25日 優(yōu)先權(quán)日2010年8月25日
發(fā)明者宋韜, 曾瑋, 盤細(xì)平, 陳義 申請(qǐng)人:上海神計(jì)信息系統(tǒng)工程有限公司