通信系统及方法与流程

文档序号:14993423发布日期:2018-07-20 22:59阅读:209来源:国知局

本发明涉及通信领域,具体而言,涉及一种通信系统及方法。



背景技术:

在互联网领域里,不同机器间的进程通信,需要通过套接字(socket)来完成。简单来说,进程是指正在运行的程序的实例,如打开浏览器上网,操作系统就会创建相应的浏览器进程。而套接字(socket)是一种进程间的通信机制,它可用于不同机器间的进程通信,如图1,2所示。图2中安装在手机上的app程序通过socket与服务器中的服务程序进行通信。这一切都依赖于网络是互联互通的,网络一旦隔离,socket通信机制也就无法工作。需要说明的是,图1和图2中的ip是internetprotocol的外语缩写,意思是网络之间互连的协议,也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守ip协议就可以与因特网互连互通。但在一些安全级别极高的网络,如涉密网络中,按照信息保密的技术要求,涉密网络不能与互联网直接连通,此时就无法使用套接字在具有光闸隔离的内外网之间进行通信。

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种通信系统及方法,以至少解决相关技术中无法使用套接字在具有光闸隔离的内外网之间进行通信的技术问题。

根据本发明实施例的一个方面,提供了一种通信系统,包括:外网消息同步组件,用于在外网应用程序将外网消息写入外网消息队列之后,从上述外网消息队列中读取上述外网消息,并将读取的上述外网消息转换成对应的外网文件以上传给外网服务器;内网消息同步组件,用于从内网服务器下载内网文件,并将下载得到的上述内网文件转换成内网消息,以及将转换得到的上述内网消息写入到内网消息队列中以供内网应用程序读取;光闸,设置在外网和内网之间,用于将部署在上述外网的上述外网服务器中的上述外网文件同步到部署在上述内网的上述内网服务器中并存储为上述内网文件。

进一步地,上述外网消息同步组件通过序列化转换将读取的上述外网消息转换成对应的上述外网文件。

进一步地,上述外网消息同步组件,在从上述外网消息队列中读取上述外网消息之前,还用于执行以下步骤:监视上述外网消息队列中是否有上述外网消息;若有,则执行从上述外网消息队列中读取上述外网消息的步骤。

进一步地,上述内网消息同步组件通过反序列化转换将下载得到的上述内网文件转换成内网消息。

进一步地,上述内网消息同步组件,在从内网服务器下载内网文件之前,还用于执行以下步骤:监视上述内网服务器中是否有上述内网文件;若有,则执行从内网服务器下载内网文件的步骤。

根据本发明实施例的另一方面,还提供了一种通信方法,包括:在外网应用程序将外网消息写入外网消息队列之后,从上述外网消息队列中读取上述外网消息,并将读取的上述外网消息转换成对应的外网文件以上传给外网服务器;通过设置在外网和内网之间的光闸将部署在上述外网的上述外网服务器中的上述外网文件同步到部署在上述内网的内网服务器中并存储为内网文件;从上述内网服务器下载上述内网文件,并将下载得到的上述内网文件转换成内网消息,以及将转换得到的上述内网消息写入到内网消息队列中以供内网应用程序读取。

进一步地,将读取的上述外网消息转换成对应的外网文件包括:通过序列化转换将读取的上述外网消息转换成对应的上述外网文件。

进一步地,在从上述外网消息队列中读取上述外网消息之前,上述方法还包括:监视上述外网消息队列中是否有上述外网消息;若有,则执行从上述外网消息队列中读取上述外网消息的步骤。

进一步地,将下载得到的上述内网文件转换成内网消息包括:通过反序列化转换将下载得到的上述内网文件转换成内网消息。

进一步地,在从内网服务器下载内网文件之前,上述方法还包括:监视上述内网服务器中是否有上述内网文件;若有,则执行从内网服务器下载内网文件的步骤。

在本发明实施例中,采用一种通信系统,包括:外网消息同步组件,用于在外网应用程序将外网消息写入外网消息队列之后,从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器;内网消息同步组件,用于从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,以及将转换得到的内网消息写入到内网消息队列中以供内网应用程序读取;光闸,设置在外网和内网之间,用于将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中并存储为内网文件,达到了光闸隔离的内外网之间的进程间通信的目的,从而实现了光闸隔离的内外网之间的进程间通信的技术效果,进而解决了相关技术中无法使用套接字在具有光闸隔离的内外网之间进行通信的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据现有技术的一种套接字(socket)通信模型的示意图;

图2是根据现有技术的一种套接字(socket)通信架构的示意图;

图3是根据本发明实施例的一种可选的通信系统的示意图;

图4是根据本发明实施例的一种可选的消息同步组件部署的示意图;

图5是根据本发明实施例的一种可选的消息同步组件工作原理的流程图;

图6是根据本发明实施例的一种可选的通信方法的流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

根据本发明实施例,提供了一种通信系统实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

根据本发明实施例的一个方面,提供了一种通信系统,图3是根据本发明实施例的一种可选的通信系统的示意图,图4是根据本发明实施例的一种可选的消息同步组件部署的示意图。该系统包括:外网消息同步组件,用于在外网应用程序将外网消息写入外网消息队列之后,从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器;内网消息同步组件,用于从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,以及将转换得到的内网消息写入到内网消息队列中以供内网应用程序读取;光闸,设置在外网和内网之间,用于将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中并存储为内网文件。

也即,本发明实施例中将光闸设置在外网和内网之间,但由于光闸隔离的内外网之间是无法通过socket进行消息传递的,因此,本发明实施例充分利用了光闸自身能够同步内外网文件(如ftp文件)的功能,借助消息队列作为消息中转和缓冲,实现了光闸隔离的内外网之间的进程间通信,即外网的应用程序a向外网消息队列写入一条外网消息后,通过外网消息同步组件从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器,通过光闸将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中,然后内网消息同步组件从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,从而实现通信。

通过上述实施方式,采用一种通信系统,包括:外网消息同步组件,用于在外网应用程序将外网消息写入外网消息队列之后,从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器;内网消息同步组件,用于从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,以及将转换得到的内网消息写入到内网消息队列中以供内网应用程序读取;光闸,设置在外网和内网之间,用于将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中并存储为内网文件,达到了光闸隔离的内外网之间的进程间通信的目的,从而实现了光闸隔离的内外网之间的进程间通信的技术效果,进而解决了相关技术中无法使用套接字在具有光闸隔离的内外网之间进行通信的技术问题。

可选地,外网消息同步组件通过序列化转换将读取的外网消息转换成对应的外网文件。

也即,外网消息同步组件是通过序列化转换的方式将外网消息转换成对应的外网文件的,例如,外网的应用程序a将消息写入到rabbitmq消息队列中后,外网消息同步组件从rabbitmq消息队列读取消息,经过序列化转换成对应的外网文件,上传到外网的ftp服务器。rabbitmq消息队列是现成的第三方组件,ftp服务器也属于基础设施部署。

可选地,外网消息同步组件,在从外网消息队列中读取外网消息之前,还用于执行以下步骤:监视外网消息队列中是否有外网消息;若有,则执行从外网消息队列中读取外网消息的步骤。

也即,为了实现从外网消息队列中读取外网消息,外网消息同步组件需要先监测外网消息队列中是否有外网消息,在外网消息队列中有外网消息的情况下,从外网消息队列中读取外网消息;在外网消息队列中没有外网消息的情况下,从外网消息队列中不能读取外网消息。

可选地,内网消息同步组件过反序列化转换将下载得到的内网文件转换成内网消息。

例如,内网消息同步组件从内网ftp服务器获取特定格式的文件,经过反序列化转换成消息,写入到内网的rabbitmq消息队列中,通过上述方式,部署在内网的应用程序b,就可以从内网的消息队列中读取消息。其中,ftp服务器可用于文件的存储、上传下载等。

可选地,内网消息同步组件,在从内网服务器下载内网文件之前,还用于执行以下步骤:监视内网服务器中是否有内网文件;若有,则执行从内网服务器下载内网文件的步骤。

也即,为了实现从内网消息队列中读取内网消息,内网消息同步组件需要先监测内网服务器中是否有内网文件,在内网服务器中有内网文件的情况下,从内网服务器中读取内网消息;在内网服务器中没有内网文件的情况下,从内网服务器中不能读取内网文件。需要说明的是,例如,图5是根据本发明实施例的一种可选的消息同步组件工作的流程图,如图5所示,在外网,消息由外网消息同步组件从消息队列同步到ftp服务器,所以消息同步组件监视的是消息队列;在内网,消息由内网消息同步组件从ftp服务器同步到消息队列,所以消息同步组件监视的是ftp服务器。

由于在一些安全级别极高的网络,如涉密网络中,按照信息保密的技术要求,涉密网络不能与互联网直接连通;涉密网络与非涉密网络连接时,若非涉密网络与互联网物理隔离,则采用双向网闸隔离涉密网络与非涉密网络;若非涉密网络与互联网是逻辑隔离的,则采用单向网闸隔离涉密网络与非涉密网络,保证涉密数据不从高密级网络流向低密级网络。光闸技术(fgap)的产生即为满足这一类隔离场景的需求。

通过上述实施方式,利用消息队列作为消息最终的入口和出口,内外网的应用程序对接的是各自的消息队列,读取消息队列就能实现相互之间的通信。

实施例2

根据本发明实施例的另一方面,还提供了一种通信方法,图6是根据本发明实施例的一种可选的通信方法的流程图,如图6所示,该方法包括如下步骤:

步骤s602,在外网应用程序将外网消息写入外网消息队列之后,外网消息同步组件从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器;

步骤s604,设置在外网和内网之间的光闸用于将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中并存储为内网文件;

步骤s606,内网消息同步组件从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,以及将转换得到的内网消息写入到内网消息队列中以供内网应用程序读取。

也即,本发明实施例中将光闸设置在外网和内网之间,但由于光闸隔离的内外网之间是无法通过socket进行消息传递的,因此,本发明实施例充分利用了光闸自身能够同步内外网文件(如ftp文件)的功能,借助消息队列作为消息中转和缓冲,实现了光闸隔离的内外网之间的进程间通信,即外网的应用程序a向外网消息队列写入一条外网消息后,通过外网消息同步组件从外网消息队列中读取外网消息,并将读取的外网消息转换成对应的外网文件以上传给外网服务器,通过光闸将部署在外网的外网服务器中的外网文件同步到部署在内网的内网服务器中,然后内网消息同步组件从内网服务器下载内网文件,并将下载得到的内网文件转换成内网消息,从而实现通信。

通过上述实施方式,达到了光闸隔离的内外网之间的进程间通信的目的,从而实现了光闸隔离的内外网之间的进程间通信的技术效果,进而解决了相关技术中无法使用套接字在具有光闸隔离的内外网之间进行通信的技术问题。

可选地,外网消息同步组件将读取的外网消息转换成对应的外网文件包括:外网消息同步组件通过序列化转换将读取的外网消息转换成对应的外网文件。

可选地,在外网消息同步组件从外网消息队列中读取外网消息之前,方法还包括:外网消息同步组件监视外网消息队列中是否有外网消息;若有,则外网消息同步组件执行从外网消息队列中读取外网消息的步骤。

可选地,内网消息同步组件将下载得到的内网文件转换成内网消息包括:内网消息同步组件通过反序列化转换将下载得到的内网文件转换成内网消息。

可选地,在内网消息同步组件从内网服务器下载内网文件之前,方法还包括:内网消息同步组件监视内网服务器中是否有内网文件;若有,则内网消息同步组件执行从内网服务器下载内网文件的步骤。

需要说明的是,实施例2中方法部分的实施方式与实施例1中系统部分的实施方式相对应的,在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1