两物理隔断网络即时通讯数据摆渡传输器及传输方法

文档序号:7758297阅读:181来源:国知局
专利名称:两物理隔断网络即时通讯数据摆渡传输器及传输方法
技术领域
本发明涉及一种计算机网络间即时通讯的装置及传输方法,更具体地说涉及一种 基于XMPP协议的两物理隔断网络即时通讯数据摆渡传输器及传输方法。
背景技术
目前在很多领域,如政府、军队,对网络安全有很高的要求,要求内部网络和外部 网络物理隔离。在物理隔离的两个网络之间进行数据传输,只能采用数据摆渡的方法,即先 将一个网络中的数据传至摆渡用存储器中,再把该存储器中的数据传至另一个网络。目前 针对文件传输已有了相应的数据摆渡传输器,但对于基于XMPP协议的即时通讯,还没有相 应的数据摆渡传输器及传输方法。另外目前还没有两个独立单向通道的数据摆渡传输器, 因此传输速度较慢,网络电子开关的寿命较短。

发明内容
本发明的目的是针对现有技术不足之处而提供一种基于XMPP协议的两物理隔断 网络即时通讯数据摆渡传输器。本发明还提供一种两物理隔断网络即时通讯数据摆渡传输方法。本发明的目的是通过以下措施来实现一种基于XMPP协议的两物理隔断网络即 时通讯数据摆渡传输器,包括相互隔离的网络A、网络B,其特征在于,还有两个独立的互为 反向的单向通道;所述单向通道由微机主板及CPU芯片、硬盘组成的PC机,及网络电子开关 组成;网络电子开关通过USB接口连接在PC机上,网络电子开关设有第一网络接口、第二网 络接口 ;所述一路单向通道的电子开关的第一网络接口接网络A,第二网络接口接网络B, 则另一路的单向通道的电子开关的第一网络接口接接网络B,第二网络接口接网络A。一种两物理隔断网络即时通讯数据摆渡传输方法,包括相互隔离的网络A、网络 B,各网络设有JMS管理的XMPP消息缓存队列,网络电子开关的驱动程序函数,其特征在于 数据摆渡传输步骤如下步骤一,网络A、网络B互为源端和目的端,两网络间设定两个独立互为反向的单 向通道⑴由网络A的输入缓存XMPP消息队列一PC机控制的网络电子开关一网络B的 输出缓存XMPP消息队列的单向通道;⑵由网络B的输入缓存XMPP消息队列一PC机控制 的网络电子开关一网络A的输出缓存XMPP消息队列的单向通道;步骤二,所述PC机数据摆渡用户程序包括一个Java代码编写的监控线程、多个接 收线程、多个发送线程,和调用网络电子开关驱动程序函数的程序接口,监控线程负责切换 网络电子开关、启动接收、发送线程、调用网络电子开关驱动程序函数的程序接口 ;步骤三,依据设置启动相关线程,包括一个监控线程和多个收、发线程,收、发线程 处于等待状态;常态下监控线程切换电子开关位于源端,待网络接通后,即启动接收线程接 收过程,接收线程不断轮询源端队列,发现数据则接收至传输器硬盘中;步骤四,监控线程始终监控PC机硬盘中是否有待发数据,如果有则向各个接收线程置发停止标志,接收线程发现停止标志后即在完成一轮数据接收就停止本线程的接收过 程,监控线程检测到所有接收线程都停止接收后,就将电子开关切换到目的端;步骤五,监控线程控制电子开关切换到目的端后,待网络接通后,即启动所有发送 线程的发送过程,发送线程在将PC机硬盘上的数据都发送到目的端队列后,即停止本线程 的发送过程,监控线程在检测到所有发送线程的发送过程都停止后,即将电子开关切换到 源端,完成一次即时通讯数据摆渡。所述步骤二中,接收线程负责将源端JMS队列中的数据取出放在PC机硬盘中,接 收线程和源端JMS队列一一对应。所述步骤二中,发送线程负责将PC机硬盘中的数据,发送到目的端JMS队列中,发 送线程和目的端JMS队列一一对应。所述步骤二中,用户程序的调用网络电子开关驱动程序函数的程序接口由C代码 编写,提供网络电子开关切换端口函数为“swicthOC ..) ”和加载开关控制DLL hlnstance =LoadLibraryC NETSWUSB.DLL")。与现有技术相比,本发明提出的两物理隔断网络即时通讯数据摆渡传输器及传输 方法,具有如下优点1)使处于两个物理隔离网络基于XMPP协议的即时通讯终端实现通 讯,同时始终保持两个网络的物理隔离状态,并使通讯的延时控制在10秒内;幻本发明采 用了两个独立互为反相的单向通道方案,有效提高了摆渡速度,延长了网络电子开关的寿 命。


图1为本发明实施例结构示意图。图2为图1实施例接入两物理隔离网络的原理图。图3为图1实施例的监控线程接收、发送示意图。图4为图1实施例用户程序控制电子开关的层次结构图。图5为图1实施例的数据摆渡控制程序的主流程图。
具体实施例方式下面结合附图对具体实施方式
作详细说明图1 图2为本发明实施例的结构图 和接入两物理隔离网络的原理图。图中,一种基于XMPP协议的两物理隔断网络即时通讯数 据摆渡传输器,包括相互隔离的网络A、网络B、两个独立的互为反向的单向通道,所述单向 通道由PC机主板1及CPU芯片2、硬盘3组成的PC机,及网络电子开关4组成,所述PC机 主板为华硕P5QPL-AM、CPU为Intel酷睿2EM00、硬盘为西部数据WD6400A,网络电子开关 为市购产品和升达HSD-I。网络电子开关通过USB接口连接在PC机上,网络电子开关设有 第一网络接口、第二网络接口 ;所述一路单向通道的电子开关的第一网络接口接网络A,第 二网络接口接网络B,则另一路的单向通道的电子开关的第一网络接口接接网络B,第二网 络接口接网络A。本装置的工作原理如下通过PC机上的硬盘,来缓存摆渡的消息数据。PC机控制 HSD-I网络电子开关,切换PC机与两个网络的接通和断开。PC机在同一时刻只与一个网络 接通。这里假设网络A为XMPP消息源端,网络B为XMPP消息目的端。当PC机与网络A接通时,从网络A中的XMPP消息缓存队列中将消息按先后顺序移至PC机的硬盘中,然后PC机 控制网络电子开关切断与网络A的网络连接,接通与网络B的网络连接,最后将PC机硬盘 中的消息按先后顺序移至网络B中的XMPP消息缓存队列中,完成一次数据摆渡。本发明采 用两个独立通道控制方案,每个通道控制一个方向的数据摆渡,即一个通道负责网络A到B 的数据摆渡,另一个通道负责网络B到A的数据摆渡。本发明的控制策略为网络电子开关 常态接通源端;预先设置好接收时间片,比如5秒,数据收取完成后,如果时间片未到,则等 待时间片结束再切换开关;时间片结束后,如果本地没有要转发的数据,则开始下一个时间 片的监听,并不切换网络电子开关;如果有数据输出,则切换开关转发数据。发送时间不限; 发送完成后立即切换回来。采用这一策略的目的是为了减少电子开关的切换次数,延长其 寿命,并确保数据的及时传输。本发明还提供一种两物理隔断网络即时通讯数据摆渡传输方法,包括相互隔离的 网络A、网络B,两个都是TCP/IP网络,即时通讯协议为XMPP,两个网络中都有一个由JMS管 理的XMPP消息缓存队列,IN缓存消息队列为发送方,也即源端的XMPP消息队列,OUT缓存 消息队列为接收方,也即目的端的XMPP消息队列。网络电子开关的驱动程序函数,由服务 商供给,包括Turn_A_0n(int COMx)、Turn_B_0n (int COMx)。数据摆渡传输步骤如下步骤一,网络A、网络B互为源端和目的端,两网络间设定两个独立互为反向的单 向通道由网络A的IN缓存XMPP消息队列一PC机控制的网络电子开关一网络B的OUT缓 存XMPP消息队列的单向通道,简述为网络A—网络B的单向通道。另一条由网络B的IN 缓存XMPP消息队列一PC机控制的网络电子开关一网络A的OUT缓存XMPP消息队列的单 向通道,简述为网络B—网络A的单向通道,如图2所示。步骤二,所述PC机数据摆渡用户程序包括一个Java代码编写的监控线程、多个接 收线程、多个发送线程,和调用网络电子开关驱动程序函数的程序接口,监控线程负责切换 网络电子开关、启动接收和发送线程和调用网络电子开关驱动程序函数的程序接口。接收 线程负责将源端JMS队列中的数据取出放在PC机硬盘中,接收线程和源端JMS队列一一对 应。所述发送线程负责将PC机硬盘中的数据,发送到目的端JMS队列中,发送线程和目的端 JMS队列一一对应。图3为监控线程接收、发送线程对应的示意图。所述用户程序的调用网 络电子开关驱动程序函数的程序接口由C代码编写,图4给出了用户程序控制电子开关的 层次结构图。程序接口提供电子开关切换端口函数为“swicthOC ..) ”和加载开关控制DLL hlnstance = LoadLibrary (〃 NETSWUSB.DLL")。由于数据摆渡用户程序是 Java 程序,不 能直接调用由网络电子开关厂家提供的电子开关驱动程序。为此用C代码为驱动程序编了 一个可供Java调用的程序接口。C代码包括两个部分第一部分该C程序为Java提供电子 开关切换函数为“swicthO(...) ”,该函数对应的电子开关驱动程序函数为“TUrn_A_0n() 和 I\irn_B_0n() ” ;第二部分为加载开关控制 DLL hlnstance = LoadLibrary (〃 NETSWUSB. DLL"),用来加载驱动程序实现开关的切换。图5为图1实施例的数据摆渡用户程序的主流程图。涉及到步骤三 步骤五。步骤三,依据设置启动相关线程,包括一个监控线程和多个收、发线程,收、发线程 处于等待状态。常态下监控线程切换电子开关位于源端,同时启动时钟计数器,计数器按给 定时间,通过socket连接对方的端口来测试网络A是否联通,如果网络联通,则时钟计数器 归0,启动接收线程,接收线程按时间片不断轮询源端队列,时间片可设定为10秒。队列扫描规则按设置或使用缺省策略。发现数据则接收至PC机硬盘中,读取队列、保存本地临时 文件作为一个事务来提交,然后文件更名,以保证和发送线程不冲突。临时文件保存在PC 机硬盘文件夹/Data/下面,每10分钟生成一个子目录。若无文件可收则不生成文件夹。步骤四,监控 线程随时钟计数器始终监控PC机硬盘中是否有待发数据,如果 没有,时钟计数器归零,不切换电子开关,如果有则向各个接收线程置发停止标志,接 收线程发现停止标志后即在完成一轮数据接收就停止本线程的接收过程,监控线程检 测到所有接收线程都停止接收后,由C代码编写的调用网络电子开关驱动程序函数的 程序,提供电子开关切换函数为“ SWiCthO (...) ”,和加载开关控制DLL hlnstance = LoadLibraryC NETSWUSB. DLL"),加载电子开关的驱动程序,将电子开关切换到目的端。步骤五,监控线程控制电子开关切换到目的端后,同样测试网络B是否联通。待网 络接通后,即启动所有发送线程的发送过程,发收线程根据编号直接定位文件夹,发送数据 到队列和删除文件也做为一个事务,发送线程在将PC机硬盘上的数据都发送到目的端队 列,如果所有本地数据都已发送出去,即所有目录为空时,即停止本线程的发送过程,并设 置所有发送线程为等待状态,监控线程在检测到所有发送线程的发送过程都停止后,即将 电子开关切换到源端。另外,发送接收设有一个最大时间片限制,等到时间片到后设置所有 发送线程为等待状态,扫描所有线程状态,监控线程在检测到所有发送线程均处于等待状 态后,将电子开关切换到源端。同样电子开关的切换由C代码编写的程序来调用网络电子 开关驱动程序函数得以完成。通过以上步骤完成一次即时通讯数据摆渡。上述实施例并不构成对本发明的限制,凡采用等同替换或等效变换的形式所获得 的技术方案,均落在本发明的保护范围之内。
权利要求
1.一种两物理隔断网络即时通讯数据摆渡传输器,包括相互隔离的网络A、网络B,其 特征在于,还有两个独立的互为反向的单向通道;所述单向通道由微机主板及CPU芯片、硬 盘组成的PC机,及网络电子开关组成;网络电子开关通过USB接口连接在PC机上,网络电 子开关设有第一网络接口、第二网络接口 ;所述一路单向通道的电子开关的第一网络接口 接网络A,第二网络接口接网络B,则另一路的单向通道的电子开关的第一网络接口接接网 络B,第二网络接口接网络A。
2.—种两物理隔断网络即时通讯数据摆渡传输方法,包括相互隔离的网络A、网络B, 各网络设有JMS管理的XMPP消息缓存队列,网络电子开关的驱动程序函数,其特征在于数 据摆渡传输步骤如下步骤一,网络A、网络B互为源端和目的端,两网络间设定两个独立互为反向的单向通 道(1)由网络A的输入缓存XMPP消息队列一PC机控制的网络电子开关一网络B的输出 缓存XMPP消息队列的单向通道;(2)由网络B的输入缓存XMPP消息队列一PC机控制的网 络电子开关一网络A的输出缓存XMPP消息队列的单向通道;步骤二,所述PC机数据摆渡用户程序包括一个Java代码编写的监控线程、多个接收线 程、多个发送线程,和调用网络电子开关驱动程序函数的程序接口,监控线程负责切换网络 电子开关、启动接收、发送线程和调用网络电子开关驱动程序函数的程序接口 ;步骤三,依据设置启动相关线程,包括一个监控线程和多个收、发线程,收、发线程处于 等待状态;常态下监控线程切换电子开关位于源端,待网络接通后,即启动接收线程接收过 程,接收线程不断轮询源端队列,发现数据则接收至传输器硬盘中;步骤四,监控线程始终监控PC机硬盘中是否有待发数据,如果有则向各个接收线程置 发停止标志,接收线程发现停止标志后即在完成一轮数据接收就停止本线程的接收过程, 监控线程检测到所有接收线程都停止接收后,就将电子开关切换到目的端。
3.根据权利要求2所述的两物理隔断网络即时通讯数据摆渡传输方法,其特征在于所 述步骤二中,接收线程负责将源端JMS队列中的数据取出放在PC机硬盘中,接收线程和源 端JMS队列——对应。
4.根据权利要求2所述的两物理隔断网络即时通讯数据摆渡传输方法,其特征在于所 述步骤二中,发送线程负责将PC机硬盘中的数据,发送到目的端JMS队列中,发送线程和目 的端JMS队列一一对应。
5.根据权利要求2所述的两物理隔断网络即时通讯数据摆渡传输方法,其特征在 于所述步骤二中,用户程序的调用网络电子开关驱动程序函数的程序接口由C代码编 写,提供电子开关切换端口函数为“swicthO (...)”和加载开关控制DLL hlnstance = LoadLibraryC NETSWUSB.DLL")。
全文摘要
本发明涉及一种两物理隔断网络即时通讯数据摆渡传输器及传输方法。包括相互隔离的网络A、网络B,两个独立的互为反向的单向通道;所述单向通道由微机主板及CPU芯片、硬盘组成的PC机,及网络电子开关组成;一路单向通道的电子开关的第一网络接口接网络A,第二网络接口接网络B,则另一路的单向通道的电子开关的第一网络接口接接网络B,第二网络接口接网络A。本发明还提供了即时通讯数据摆渡传输方法。本发明具有如下优点1)使处于两个物理隔离网络基于XMPP协议的即时通讯终端实现通讯,同时始终保持两个网络的物理隔离状态,并使通讯的延时控制在10秒内;2)采用了两个独立互为反相的单向通道方案,有效提高了摆渡速度,延长了网络电子开关的寿命。
文档编号H04L12/58GK102075458SQ201010265210
公开日2011年5月25日 申请日期2010年8月25日 优先权日2010年8月25日
发明者宋韬, 曾玮, 盘细平, 陈义 申请人:上海神计信息系统工程有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1