CN114666150A - 一种使用反向网闸实现单向数据传输的系统及方法 - Google Patents
一种使用反向网闸实现单向数据传输的系统及方法 Download PDFInfo
- Publication number
- CN114666150A CN114666150A CN202210364036.2A CN202210364036A CN114666150A CN 114666150 A CN114666150 A CN 114666150A CN 202210364036 A CN202210364036 A CN 202210364036A CN 114666150 A CN114666150 A CN 114666150A
- Authority
- CN
- China
- Prior art keywords
- reverse
- data
- module
- gatekeeper
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种使用反向网闸实现单向数据传输的系统及方法,在反向网闸设备模块的外网侧,应用程序客户端输出端通过外网反向网闸接口模块连接至反向网闸设备模块的输入端;外网反向网闸接口模块包括依次相连的外网用户接口、报文序列组包模块、加密压缩模块、E文件转换模块以及反向网闸负载均衡模块;在反向网闸设备模块的内网侧,反向网闸设备模块的输出端通过内网反向网闸接口模块连接至应用程序服务端的输入端;内网反向网闸接口模块包括依次相连的反向网闸文件监控模块、E文件解析模块、报文序列重组模块、解密解缩模块和内网用户接口。本发明使用简单的模块接口调用,同时通过部署多台反向网闸设备扩展数据传输带宽,提高数据传输效率。
Description
技术领域
本发明涉及反向网闸数据传输与安全领域,具体涉及一种使用反向网闸实现单向数据传输的系统及方法。
背景技术
由于国家对电子信息安全的日益重视,为了保证生产环境内的信息安全,电厂通过互联网向区域公司或集团公司传输数据时一般需要采用反向网闸进行安全隔离,而反向网闸不允许直接TCP通讯,只允许电厂侧将数据以E文件格式保存到反向网闸外侧计算机的磁盘文件中,再通过反向网闸将E文件摆渡到反向网闸内侧的计算机中,从而实现数据传输,这极大的保证了信息传输的安全性,但同时也限制了正常的数据交互,从中可见使用反向网闸存在有很大的技术局限性的使用上的困难:
1.以E文件摆渡方式传输数据,在应用程序的客户端发数和服务端收数都极为不便,增加开发难度;
2.并非所有结构的数据都可以方便的使用E文件格式进行数据传输;
3.通过文件摆渡方式进行数据传输效率低,单台反向网闸带宽不足,多台反向网闸又会加大应用层数据传输模块设计的复杂度。
发明内容
本发明的目的在于提供一种使用反向网闸实现单向数据传输的系统及方法,以解决在使用反向网闸的网络中进行数据传输时开发复杂、对数据格式限制过高和传输效率低等问题,本发明在反向网闸的外网侧为应用程序客户端提供外网反向网闸接口模块,在反向网闸的内网侧为应用程序服务端提供内网反向网闸接口模块,将使用复杂的反向网闸数据通讯转换成简单的模块接口调用,同时可通过部署多台反向网闸设备来扩展数据传输带宽,提高数据传输效率。
为达到上述目的,本发明采用如下技术方案:
一种使用反向网闸实现单向数据传输的系统,包括应用程序客户端、外网反向网闸接口模块、反向网闸设备模块、内网反向网闸接口模块以及应用程序服务端,所述反向网闸设备模块包括若干反向网闸设备;
在反向网闸设备模块的外网侧,所述应用程序客户端输出端通过外网反向网闸接口模块连接至反向网闸设备模块的输入端;所述外网反向网闸接口模块包括依次相连的外网用户接口、报文序列组包模块、加密压缩模块、E文件转换模块以及反向网闸负载均衡模块;
在反向网闸设备模块的内网侧,所述反向网闸设备模块的输出端通过内网反向网闸接口模块连接至应用程序服务端的输入端;所述内网反向网闸接口模块包括依次相连的反向网闸文件监控模块、E文件解析模块、报文序列重组模块、解密解缩模块和内网用户接口。
进一步地,所述外网用户接口包括用于初始化外网反向网闸接口模块的第一初始化接口、用于应用程序客户端发数的发数接口以及用于在应用程序客户端退出时释放外网反向网闸接口模块内部资源的第一释放接口。
进一步地,所述内网用户接口包括用于初始化内网反向网闸接口模块的第二初始化接口以及用于在应用程序服务端退出时释放内网反向网闸接口模块内部资源的第二释放接口。
一种使用反向网闸实现单向数据传输的方法,包括以下步骤:
步骤1:应用程序客户端调用外网用户接口向外网反向网闸接口模块发送用户数据;
步骤2:通过报文序列组包模块为步骤1发送的用户数据生成标记顺序的时序码;
步骤3:加密压缩模块根据用户初始化参数判断是否需要对用户数据进行加密压缩,若是,则将用户数据进行加密压缩后进入步骤4,若否,则直接进入步骤4;
步骤4:将步骤3所得数据通过E文件转换模块转换为E语言格式文本,并将E语言格式文本写入文件,文件名以生成的时序码与预设字符组成,所述E语言格式文本包括头部信息和E语言格式部分,其中头部信息由固定的转换标识、数据条数、校验码、加密标识、压缩标识组成,E语言格式部分承载经过处理的原始数据与E语言格式相关的格式文本;
步骤5:通过反向网闸负载均衡模块选择反向网闸设备模块中反向网闸设备进行文件摆渡;
步骤6:反向网闸文件监控模块监控摆渡过来的文件,判断文件名是否符合时序码与预设字符组成的特征,若符合,则进入步骤7,若不符合,则放弃解析此文件,继续等待后续摆渡文件;
步骤7:通过E文件解析模块对文件进行E文件还原,解析出文件中的数据;
步骤8:通过报文序列重组模块对步骤7得到的数据根据时序码进行排序;
步骤9:通过解密解缩模块对数据根据文件中加密标识及压缩标识进行解密、解压缩,还原成初始的二进制数据;
步骤10:通过内网用户接口模块有序返回步骤9所得二进制数据至应用程序服务端模块。
进一步地,所述步骤4具体包括:
步骤4-1:将步骤3所得数据进行校验,并记录数据校验码;
步骤4-2:将步骤3所得数据进行编码,得到编码后的数据;
步骤4-3:将步骤4-1和4-2处理的单条数据编码数据序号,并将由数据序号、数据校验码、编码后的数据组成的数据生成E语言格式文本保存;
步骤4-4:重复步骤4-1至步骤4-3直至达到规定数据条数或达到规定的时间,将重复过程中的多条数据按照步骤4-3中的数据序号进行保存,并记录数据条数;
步骤4-5:先依次将固定的转换标识、数据条数、E语言格式文本部分的数据校验码、加密标识及压缩标识以注释的形式写入文件中,形成头部信息,再将E语言格式文本写入文件。
进一步地,所述步骤4中文件名已时序码及后缀.e组成。
进一步地,所述步骤7具体包括:
步骤7-1:解析文件,判断文件头部信息是否包含转换标识,若不包含,则解析结束,若包含,则继续解析头部信息中的数据条数、校验码、加密标识、压缩标识供后续步骤使用;
步骤7-2:加载头部信息以下的E语言格式文本,对剩余的E语言格式文本经过校验,所得校验码与头部信息中的E语言格式文本部分的数据校验码进行对比,若不一致则流程结束,若一致则进入步骤7-3;
步骤7-3:从E语言格式文本部分按行提取数据,得到数据序号、数据校验码、编码后的数据,并将编码后的数据进行解码,得到源数据;
步骤7-4:对每行源数据进行校验,并将结果与每行存储的数据校验码进行对比,结果不一致则流程结束,结果一致进入步骤7-5;
步骤7-5:循环步骤7-3和步骤7-4直至数据条数与文件头部信息中记录的数据条数相等,进入步骤8,若小于文件头部信息中记录的数据条数则失败。
进一步地,所述校验采用CRC校验。
进一步地,所述编码采用base64编码,所述解码采用base64解码。
进一步地,所述步骤5中选择反向网闸设备模块中反向网闸设备进行文件摆渡,具体为:当默认反向网闸设备压力达到网闸崩溃阈值范围,则寻找空闲反向网闸设备进行文件摆渡。
与现有技术相比,本发明具有以下有益的技术效果:
本发明整合了对反向网闸两侧功能,将整体流程统一封装,对用户只暴露了用户接口,用户只需考虑如何调用,降低了使用成本;在数据转换过程中通过对源数据的压缩、进行编码,转换了二进制数据的同时有效控制文本大小;另外本发明在传输数据时在多网闸之间选择空闲网闸进行文件摆渡,防止网闸过载的同时有效利用多路网闸的数据传输能力。
附图说明
说明书附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明系统的整体结构图。
其中,1、应用程序客户端;2、外网用户接口;3、报文序列组包模块;4、加密压缩模块;5、E文件转换模块;6、反向网闸负载均衡模块;7、反向网闸设备模块;8、反向网闸文件监控模块;9、E文件解析模块;10、报文序列重组模块;11、解密解缩模块;12、内网用户接口;13、应用程序服务端。
图2为本发明的数据转换成E文件的流程图。
图3为本发明的从E文件还原数据的流程图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
参见图1,本发明提供一种使用反向网闸实现单向数据传输的系统,包括应用程序客户端1、外网反向网闸接口模块、反向网闸设备模块7、内网反向网闸接口模块以及应用程序服务端13,所述反向网闸设备模块7包括若干反向网闸设备,本发明采用三个反向网闸设备;在反向网闸设备模块7的外网侧,所述应用程序客户端1输出端通过外网反向网闸接口模块连接至反向网闸设备模块7的输入端;所述外网反向网闸接口模块包括依次相连的外网用户接口2、报文序列组包模块3、加密压缩模块4、E文件转换模块5以及反向网闸负载均衡模块6;所述外网用户接口2包括用于初始化外网反向网闸接口模块的第一初始化接口、用于应用程序客户端1发数的发数接口以及用于在应用程序客户端1退出时释放外网反向网闸接口模块内部资源的第一释放接口;在反向网闸设备模块7的内网侧,所述反向网闸设备模块7的输出端通过内网反向网闸接口模块连接至应用程序服务端13的输入端;所述内网反向网闸接口模块包括依次相连的反向网闸文件监控模块8、E文件解析模块9、报文序列重组模块10、解密解缩模块11和内网用户接口12,所述内网用户接口12包括用于初始化内网反向网闸接口模块的第二初始化接口以及用于在应用程序服务端退出时释放内网反向网闸接口模块内部资源的第二释放接口。
本发明还提供一种使用反向网闸实现单向数据传输的方法,数据传输方向由反向网闸设备模块7外侧的外网传入到反向网闸设备模块7内侧的内网,主要由外网反向网闸接口模块、反向网闸设备模块7和内网反向网闸接口模块组成,其中外网反向网闸接口模块用于将需要传输的数据按数据传输的顺序进行报文序列组包,为了数据安全和减少传输数据量,还可对数据进行加密压缩,然后将数据转换成E文件,并根据反向网闸设备模块7中各个反向网闸设备的现有负荷,优选负荷小的反向网闸设备进行E文件摆渡。而内网反向网闸接口模块将摆渡过来的E文件解析成数据报文,并进行数据报文序列重组,形成与发送端顺序一致的数据流,从而实现数据传输。
外网反向网闸接口模块被封装成一个动态库,用户通过调用外网用户接口2实现模块初始化、发数和释放功能,具体包括三个接口,第一初始化接口为_init(),用于初始化外网反向网闸接口模块,包括初始化反向网闸设备的外侧摆渡文件目录和数据加密压缩参数等;发数接口为_send_data(),用于应用程序客户端1发数;第一释放接口为_release(),在应用程序客户端1退出时调用该接口释放外网反向网闸接口模块内部资源。
内网反向网闸接口模块同样被封装成一个动态库,用户通过调用内网用户接口12实现模块初始化、释放功能,具体包括两个接口,第二初始化接口为_init(),该接口用于初始化内网反向网闸接口模块,包括初始化反向网闸设备的内侧摆渡文件目录、数据加密压缩参数和数据回调函数等;数据回调函数由应用程序服务端13实现,并通过_init()接口传输给内网反向网闸接口模块,内网反向网闸接口模块在接收到数据时,调用该数据回调函数向应用程序服务端13回传数据;第二释放接口为_release(),在应用程序服务端13退出时调用该接口释放内网反向网闸接口模块内部资源。
如图2所示,数据处理部分包括如下步骤:
步骤1:由应用程序客户端1开始进行连接本发明中提供的第一用户接口2。外网用户接口2先将要发送的数据存储到缓冲队列。由于通过文件摆渡存在效率问题,只发送单条数据效率低下,则可以通过数据条数达到某一个设定数字时再发送数据,再通过约定一个较小范围的时间来控制数据延时,既能提高效率也能保证数据的时效。
步骤2:因为数据解析时可能不是有序的,或者一次性可能会出现多个待解析的文件,因此需要一个标志来标注数据的顺序。报文序列组包模块3使用一个64位的无符号整型数据来表示时序码可以保证时序码能够长久有效。
步骤3:加密压缩模块4根据用户初始化参数对数据进行加密压缩,如果用户开启加密,则对数据进行加密处理,以提高数据安全性;如果用户开启压缩,则对数据进行压缩处理,以减少数据传输,提高传输效率。
步骤4:通过E文件转换模块5将数据转换为E语言格式文本,E语言格式文本包含头部信息与E语言格式部分两个内容。其中头部信息由固定的转换标识、数据条数、校验码、加密标识、压缩标识组成,E语言格式部分承载了经过处理的原始数据与E语言格式相关的格式文本。再将E语言格式文本写入文件,文件名以生成的时序码与预设字符组成。具体如步骤4-1到4-5。
步骤4-1:对单条数据首先进行CRC校验,为之后解析数据做准备,防止数据被篡改。
步骤4-2:对单条数据进行base64编码,字节流是二进制数据,E语言格式文本是文本格式,一些字节无法原封不动放入文件内,因此需要转换成文本形式的字符,采用base64编码能够将数据转换为文本形式,且能控制字符数量不会发生较大膨胀。
步骤4-3:暂时存储本条数据的数据序号、校验码,编码后的数据为下一步转换做准备。数据序号可以标识单个文件内数据的顺序。
步骤4-4:数据可能会有多条,对每条数据重复步骤4-1、4-2、4-3这个三个步骤,直至达到规定数据条数或达到规定的时间。
步骤4-5:由于E语言格式文本内容是类型xml的文本格式,文件中的数据是放在以“<tag></tag>”的“表”中的,因此需要写入一些E语言格式的前置内容,再按每行写入记录的数据,每行以“#1 323…”的形式存放,其中“#”是行标识,“1”是行号,“323”是校验码,后面“…”是具体的数据文本内容,后面再加入结尾标签。其中E语言部分文本格式如表1所示。
表1 E语言部分文本格式
E语言文本部分示例 | 备注 |
<E_DATA_CONVERT> | 前缀标识 |
#1 265shdSh5cvotwvbre= | 第一行数据(行号、校验码、base64编码数据) |
#2 132gvfjK5sdvFGDd== | 第一行数据(行号、校验码、base64编码数据) |
... | 第n行数据 |
</E_DATA_CONVERT> | 后缀标识 |
E文件支持像双斜杠“//”的注释,将前面记录的文件标识、数据条数、E语言部分CRC校验码等头部信息,还有之前步骤里的加密、压缩标志以注释形式写入到文件,再将E语言部分文本写入有“时序文本”+“.e”后缀的文件中。其中文件名是为了解析时进行有目的的筛选,排序。至此转换过程结束。其中文件头部信息格式如表2所示。
表2文件头部信息格式
头部信息结构 | 示例 | 备注 |
转换标识 | //E_DATA_CONVERT@TPRI | |
数据条数 | //10 | |
E语言格式部分校验码 | //322 | |
加密标识 | //1 | 0为非加密,大于0为加密号 |
压缩标识 | //1 | 0为未压缩,1为压缩 |
步骤5:当E文件转换完成时,需要通过反向网闸设备摆渡。反向网闸设备摆渡文件时会占用自身传输能力,当达到一定压力时反向网闸设备可能会出现各种问题,因此当反向网闸负载均衡模块6判断部署了多反向网闸设备时,默认反向网闸设备压力过大时选择其他空闲反向网闸设备,可以最大化利用反向网闸设备的传输能力同时也能降低反向网闸设备压力。
紧接着,如图3所示,数据解析部分包括如下步骤:
步骤6:反向网闸目录监控模块8监控、筛选文件时判断条件是新增文件且符合“时序文本”+“.e”后缀的文件名。符合条件的进入下一步解析。
步骤7:通过E文件解析模块8对文件进行E文件还原,解析出文件中的数据,具体如步骤7-1到步骤7-5;
步骤7-1:解析文件头部信息转换标识,转换标识是在步骤4中设置的,从判断转换标识来避免不必要的解析。转换标识匹配则继续解析剩余的头部信息;
步骤7-2:加载头部信息以下的E语言格式文本部分,全部加载后与头部信息中的CRC校验码进行比较,匹配则进行下一步。若不匹配则表示出现异常。
步骤7-3:接下来是之前按行生成的序号、校验码、base64编码后的数据。解析出来后存储起来,然后对编码后的数据进行base64解码,得到本行的源数据;
步骤7-4:存储的CRC校验码此时用于进行源数据的校验,对比校验码,保证数据的正确性。校验码匹配后将数据进行暂时存储。
步骤7-5:循环7-3,7-4将E语言格式部分的多条数据全部读取。
步骤8:在一个文件筛选周期内,可能有多个文件通过了网闸摆渡。此时解析的文件时序可能是一串时序码中的一个,因此需要报文序列重组模块10来判断时序码是否与上次时序码连续。若连续则表示数据是连续的数据,直接返回给内网用户接口12。若不连续则需要暂时将数据放到一个以时序码为key的容器当中,等待前一个时序码出现。若长时间未有连续的时序码,则需要做超时处理,抛弃所有数据。
步骤9:解密解压模块11将从文件解析的数据,按照参数对其进行解压缩、解密处理,得到最初始的二进制数据。
步骤10:内网用户接口12根据数据的序列,返回给应用程序服务端13,至此一个完整数据流程结束。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用于说明本发明的技术方案而非对其保护范围的限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本发明后依然可对发明的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在发明待批的权利要求保护范围之内。
Claims (10)
1.一种使用反向网闸实现单向数据传输的系统,其特征在于,包括应用程序客户端(1)、外网反向网闸接口模块、反向网闸设备模块(7)、内网反向网闸接口模块以及应用程序服务端(13),所述反向网闸设备模块(7)包括若干反向网闸设备;
在反向网闸设备模块(7)的外网侧,所述应用程序客户端(1)输出端通过外网反向网闸接口模块连接至反向网闸设备模块(7)的输入端;所述外网反向网闸接口模块包括依次相连的外网用户接口(2)、报文序列组包模块(3)、加密压缩模块(4)、E文件转换模块(5)以及反向网闸负载均衡模块(6);
在反向网闸设备模块(7)的内网侧,所述反向网闸设备模块(7)的输出端通过内网反向网闸接口模块连接至应用程序服务端(13)的输入端;所述内网反向网闸接口模块包括依次相连的反向网闸文件监控模块(8)、E文件解析模块(9)、报文序列重组模块(10)、解密解缩模块(11)和内网用户接口(12)。
2.根据权利要求1所述的一种使用反向网闸实现单向数据传输的系统,其特征在于,所述外网用户接口(2)包括用于初始化外网反向网闸接口模块的第一初始化接口、用于应用程序客户端(1)发数的发数接口以及用于在应用程序客户端(1)退出时释放外网反向网闸接口模块内部资源的第一释放接口。
3.根据权利要求1所述的一种使用反向网闸实现单向数据传输的系统,其特征在于,所述内网用户接口(12)包括用于初始化内网反向网闸接口模块的第二初始化接口以及用于在应用程序服务端退出时释放内网反向网闸接口模块内部资源的第二释放接口。
4.一种使用反向网闸实现单向数据传输的方法,基于权利要求1-3任一项所述的一种使用反向网闸实现单向数据传输的系统,其特征在于,包括以下步骤:
步骤1:应用程序客户端(1)调用外网用户接口(2)向外网反向网闸接口模块发送用户数据;
步骤2:通过报文序列组包模块(3)为步骤1发送的用户数据生成标记顺序的时序码;
步骤3:加密压缩模块(4)根据用户初始化参数判断是否需要对用户数据进行加密压缩,若是,则将用户数据进行加密压缩后进入步骤4,若否,则直接进入步骤4;
步骤4:将步骤3所得数据通过E文件转换模块(5)转换为E语言格式文本,并将E语言格式文本写入文件,文件名以生成的时序码与预设字符组成,所述E语言格式文本包括头部信息和E语言格式部分,其中头部信息由固定的转换标识、数据条数、校验码、加密标识、压缩标识组成,E语言格式部分承载经过处理的原始数据与E语言格式相关的格式文本;
步骤5:通过反向网闸负载均衡模块(6)选择反向网闸设备模块(7)中反向网闸设备进行文件摆渡;
步骤6:反向网闸文件监控模块(8)监控摆渡过来的文件,判断文件名是否符合时序码与预设字符组成的特征,若符合,则进入步骤7,若不符合,则放弃解析此文件,继续等待后续摆渡文件;
步骤7:通过E文件解析模块(8)对文件进行E文件还原,解析出文件中的数据;
步骤8:通过报文序列重组模块(10)对步骤7得到的数据根据时序码进行排序;
步骤9:通过解密解缩模块(11)对数据根据文件中加密标识及压缩标识进行解密、解压缩,还原成初始的二进制数据;
步骤10:通过内网用户接口模块(12)有序返回步骤9所得二进制数据至应用程序服务端模块(13)。
5.根据权利要求4所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述步骤4具体包括:
步骤4-1:将步骤3所得数据进行校验,并记录数据校验码;
步骤4-2:将步骤3所得数据进行编码,得到编码后的数据;
步骤4-3:将步骤4-1和4-2处理的单条数据编码数据序号,并将由数据序号、数据校验码、编码后的数据组成的数据生成E语言格式文本保存;
步骤4-4:重复步骤4-1至步骤4-3直至达到规定数据条数或达到规定的时间,将重复过程中的多条数据按照步骤4-3中的数据序号进行保存,并记录数据条数;
步骤4-5:先依次将固定的转换标识、数据条数、E语言格式文本部分的数据校验码、加密标识及压缩标识以注释的形式写入文件中,形成头部信息,再将E语言格式文本写入文件。
6.根据权利要求5所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述步骤4中文件名已时序码及后缀.e组成。
7.根据权利要求5所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述步骤7具体包括:
步骤7-1:解析文件,判断文件头部信息是否包含转换标识,若不包含,则解析结束,若包含,则继续解析头部信息中的数据条数、校验码、加密标识、压缩标识供后续步骤使用;
步骤7-2:加载头部信息以下的E语言格式文本,对剩余的E语言格式文本经过校验,所得校验码与头部信息中的E语言格式文本部分的数据校验码进行对比,若不一致则流程结束,若一致则进入步骤7-3;
步骤7-3:从E语言格式文本部分按行提取数据,得到数据序号、数据校验码、编码后的数据,并将编码后的数据进行解码,得到源数据;
步骤7-4:对每行源数据进行校验,并将结果与每行存储的数据校验码进行对比,结果不一致则流程结束,结果一致进入步骤7-5;
步骤7-5:循环步骤7-3和步骤7-4直至数据条数与文件头部信息中记录的数据条数相等,进入步骤8,若小于文件头部信息中记录的数据条数则失败。
8.根据权利要求7所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述校验采用CRC校验。
9.根据权利要求7所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述编码采用base64编码,所述解码采用base64解码。
10.根据权利要求4所述的一种使用反向网闸实现单向数据传输的方法,其特征在于,所述步骤5中选择反向网闸设备模块(7)中反向网闸设备进行文件摆渡,具体为:当默认反向网闸设备压力达到网闸崩溃阈值范围,则寻找空闲反向网闸设备进行文件摆渡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210364036.2A CN114666150A (zh) | 2022-04-07 | 2022-04-07 | 一种使用反向网闸实现单向数据传输的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210364036.2A CN114666150A (zh) | 2022-04-07 | 2022-04-07 | 一种使用反向网闸实现单向数据传输的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114666150A true CN114666150A (zh) | 2022-06-24 |
Family
ID=82035232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210364036.2A Pending CN114666150A (zh) | 2022-04-07 | 2022-04-07 | 一种使用反向网闸实现单向数据传输的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114666150A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970328A (zh) * | 2012-10-25 | 2013-03-13 | 国家电网公司 | 电力行业典型生产系统数据在线迁移方法 |
US8799351B1 (en) * | 2004-12-17 | 2014-08-05 | Glovia International, Inc. | Communicating multiple files in markup language documents |
KR101952641B1 (ko) * | 2017-10-13 | 2019-02-27 | 주식회사 오스랩스 | 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법 |
US10834057B1 (en) * | 2020-06-08 | 2020-11-10 | Science Applications International Corporation | Reliable data transfer protocol for unidirectional network segments |
CN113271301A (zh) * | 2021-05-12 | 2021-08-17 | 大连交通大学 | 一种基于嵌入式多核处理模式的网闸系统通信方法 |
CN113986859A (zh) * | 2021-11-04 | 2022-01-28 | 西安热工研究院有限公司 | 一种通过反向网闸同步非e文件的方法 |
CN114172900A (zh) * | 2022-02-11 | 2022-03-11 | 北京安帝科技有限公司 | 基于单向网闸的文件传输方法及系统 |
-
2022
- 2022-04-07 CN CN202210364036.2A patent/CN114666150A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799351B1 (en) * | 2004-12-17 | 2014-08-05 | Glovia International, Inc. | Communicating multiple files in markup language documents |
CN102970328A (zh) * | 2012-10-25 | 2013-03-13 | 国家电网公司 | 电力行业典型生产系统数据在线迁移方法 |
KR101952641B1 (ko) * | 2017-10-13 | 2019-02-27 | 주식회사 오스랩스 | 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법 |
US10834057B1 (en) * | 2020-06-08 | 2020-11-10 | Science Applications International Corporation | Reliable data transfer protocol for unidirectional network segments |
CN113271301A (zh) * | 2021-05-12 | 2021-08-17 | 大连交通大学 | 一种基于嵌入式多核处理模式的网闸系统通信方法 |
CN113986859A (zh) * | 2021-11-04 | 2022-01-28 | 西安热工研究院有限公司 | 一种通过反向网闸同步非e文件的方法 |
CN114172900A (zh) * | 2022-02-11 | 2022-03-11 | 北京安帝科技有限公司 | 基于单向网闸的文件传输方法及系统 |
Non-Patent Citations (3)
Title |
---|
傅雷扬;朱军;饶元;: "一种跨网闸数据传输系统的设计与实现", 计算机与数字工程, no. 10, pages 131 - 135 * |
周安;: "一种改进的网闸集群系统负载均衡算法", 信息与电脑(理论版), no. 08, pages 108 - 110 * |
连礼泉;吴鹏;胡罡;: "基于多网闸的安全数据交换系统设计与实现", 电脑知识与技术, no. 16, pages 39 - 41 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7774450B2 (en) | Method for creating and processing a soap message, and method, apparatus and program for processing information | |
KR101418951B1 (ko) | 멀티미디어 메시징 서비스의 비디오 적응 방법 및 시스템 | |
CA2514832A1 (en) | System and method for compression of wireless applications expressed in a structured definition language | |
CN108600331B (zh) | 交互界面呈现方法、客户端、终端及系统 | |
KR20110025359A (ko) | 블록 단위 데이터 압축 및 복원 방법 및 그 장치 | |
CN112333186B (zh) | 数据通信方法、装置、设备及存储介质 | |
US20040205216A1 (en) | Efficient message packaging for transport | |
CN1574795A (zh) | 为改进客户机服务器通信使用分组压缩缓冲器的系统和方法 | |
CN110535846B (zh) | 一种基于dl/t698.45协议的数据帧压缩方法和系统 | |
WO2022100498A1 (zh) | 一种文件传输方法及装置 | |
CN102480335A (zh) | 一种业务数据的发送方法及系统 | |
CN112788270A (zh) | 视频回溯方法、装置、计算机设备及存储介质 | |
CN113704002A (zh) | 一种基于私有协议的rpc组件的实现方法及rpc组件 | |
CN108874584A (zh) | 数据备份方法、数据还原方法、装置、设备及存储介质 | |
CN115269220A (zh) | 一种业务处理方法及规则服务接口 | |
CN111831540A (zh) | 一种调试信息的处理方法、处理装置和存储介质 | |
CN111177756B (zh) | 一种防篡改的铁路静态行车数据封装方法 | |
CN114666150A (zh) | 一种使用反向网闸实现单向数据传输的系统及方法 | |
CN110971581B (zh) | 加密数据处理方法和装置 | |
CN115604481B (zh) | 提升编解码与传输并行的方法、装置及系统 | |
CN114679324B (zh) | 一种数据交换方法、工具、系统、设备及介质 | |
US8156148B2 (en) | Scalable algorithm for sharing EDI schemas | |
CN105959263B (zh) | 基于json的机构养老数据交互方法及系统 | |
CN113986820A (zh) | 一种lz4格式文件转换为gzip格式文件的方法 | |
CN110247666B (zh) | 一种硬件并行压缩的系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |