CN112804227B - 数据单向传输装置、方法、电子设备及存储介质 - Google Patents
数据单向传输装置、方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112804227B CN112804227B CN202110034044.6A CN202110034044A CN112804227B CN 112804227 B CN112804227 B CN 112804227B CN 202110034044 A CN202110034044 A CN 202110034044A CN 112804227 B CN112804227 B CN 112804227B
- Authority
- CN
- China
- Prior art keywords
- density
- low
- data
- message
- unit
- 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.)
- Active
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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据单向传输装置、方法、电子设备及存储介质。数据单向传输装置包括互相连接的低密传输模块和高密传输模块;所述低密传输模块包括:低密接收单元,用于接收来自所述低安全等级网络的业务数据,并将所述业务数据发送给所述低密转发单元;低密转发单元,用于转发所述业务数据;所述高密传输模块包括:高密接收单元,用于接收来自所述低密转发单元的所述业务数据;高密转发单元,用于将所述业务数据转发到高安全等级网络。本申请的数据单向传输装置,能够实现由低安全等级网络到高安全等级网络的单向数据传输,数据传输可靠性高,实时性好、效率高、安全性好。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种低安全等级网络到高安全等级网络的数据单向传输装置、方法、电子设备及存储介质。
背景技术
在局域网中,整个单位或系统内的网络,因安全等级不同,划分为几个独立的物理区域。低安全等级网络可以简称低密网络或低密网,高安全等级网络可以简称高密网络或高密网。如图1所示,高密网与低密网是两个相对的概念,安全等级高的网络简称为高密网络或高密网,安全等级低的网络简称为低密网络或低密网。例如,根据不同的安全等级将网络划分为由低到高的一级、二级、三级、四级和五级共五个安全等级,则三级相对于四级来说是低密网,三级相对于二级来说是高密网。高密网与低密网之间设置有网络隔离。不同的区域内,部署了一个或多个业务系统:
1)同一个业务系统内部,安全等级相同,网络畅通、数据传输和交换正常;
2)同一个网络区域中不同业务系统,安全等级相同,经网内通讯,进行数据传输和交换;
3)不同物理区域网络的业务系统,安全等级不同,且物理网络是隔离的,无法进行实时数据交换。
针对安全等级不同的网络之间的数据交换问题,传统的解决策略是:
a)必要的关键数据,需要通过光盘刻录等途径,由人工协助完成数据的传递(低密导出、高密导入);
b)身处两级网络的业务人员,需要分别基于两套或多套系统、两套或多套设备开展相关业务,实时性不高、用户体验差。
这种网络部署方式,造成了业务系统隔离、工作流程不畅:
1)物理网络隔离,造成针对不同区域的业务系统,必须在不同的工作台或终端设备上操作才能完成;
2)身兼多个业务系统的人员,需要频繁在涉密网工作台和其他网工作台切换;
3)网络隔离,造成了终端设备数量增多、成本增大、人员操作体验差;
4)因需要外部设备协助如光盘刻录等,加大了数据传输的时延,造成实时性较差。
因此现在亟待研发一种技术方案,以实现在不违反安全制度的情况下解决低密网到高密网间的实时通讯难题,确保低密网和高密网间业务系统的实时协同的效果。
发明内容
本申请的目的是提供一种数据单向传输装置、方法、电子设备及存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种低安全等级网络到高安全等级网络的数据单向传输装置,包括互相连接的低密传输模块和高密传输模块;
所述低密传输模块包括:
低密接收单元,用于接收来自所述低安全等级网络的业务数据,并将所述业务数据发送给所述低密转发单元;所述业务数据包括若干消息包;
低密转发单元,用于转发所述业务数据;
所述高密传输模块包括:
高密接收单元,用于接收来自所述低密转发单元的所述业务数据;
高密转发单元,用于将所述业务数据转发到高安全等级网络。
进一步地,所述低密传输模块还包括:
低密数据库单元,用于接收并存储来自所述低密转发单元的所述业务数据;
低密补偿单元,用于将所述低密数据库单元所存储的业务数据重发到所述低密转发单元。
进一步地,所述高密传输模块还包括:高密数据库单元,用于接收并存储来自所述高密接收单元的业务数据。
进一步地,所述低密转发单元与所述高密接收单元之间设置有数据传输通道,所述数据传输通道采用多通道UDP传输协议。
进一步地,所述将所述业务数据发送给所述低密转发单元包括:
判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元。
根据本申请实施例的另一个方面,提供一种低安全等级网络到高安全等级网络的数据单向传输方法,通过上述的系统实现,所述方法包括:
低密接收单元接收来自所述低安全等级网络的业务数据,并将所述业务数据发送给所述低密转发单元;所述业务数据包括若干消息包;
低密转发单元转发所述业务数据;
高密接收单元接收来自所述低密转发单元的所述业务数据;
高密转发单元将所述业务数据转发到高安全等级网络。
进一步地,所述方法还包括:
低密数据库单元接收并存储来自所述低密转发单元的所述业务数据;
低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元。
进一步地,所述低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元,包括:所述低密补偿单元接收特定主题的消息,根据消息编号查询低密数据库单元;
若在所述低密数据库单元中查询到所述特定主体的消息,则重发该消息或该消息中的部分分组数据。
进一步地,所述方法还包括:所述高密数据库单元接收并存储来自所述高密接收单元的业务数据。
进一步地,所述低密转发单元与所述高密接收单元之间设置有数据传输通道,所述数据传输通道采用多通道UDP传输协议。
进一步地,所述将所述业务数据发送给所述低密转发单元包括:
判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元。
进一步地,所述方法还包括:
为每一所述数据包进行编号,所述编号用于数据包的校验和记录。
进一步地,所述将所述业务数据发送给所述低密转发单元包括:
获取所述业务数据的明文数据包的头部字段;
将所述头部字段复制到所述业务数据的加密数据包所对应的头部字段;
按照最大传输长度拆分所述明文数据包,并分别将每个拆分后的数据段加密后填充到每个所述加密数据包的数据段;
在所述加密数据包的尾部添加一个用于带有解密数据的附加尾部;
修正所述加密数据包;
将修正后的加密数据包发送给所述低密转发单元。
进一步地,所述将每个拆分后的数据段加密,包括:
将拆分后得到的数据段划分为对应于密钥长度的多个子数据段;
对每个所述子数据段,根据所述密钥、利用可逆加密算法来加密处理该子数据段,以获得加密后的加密子数据段;
组合所有所述加密子数据段,获得加密后的数据段。
进一步地,所述方法还包括:
低密传输模块为每个待发送的消息包生成消息副本,将所述待发送的消息包及其消息副本一并发送到高密传输模块;
高密传输模块通过判断消息包标识,丢弃收到的重复消息。
进一步地,所述方法还包括:
高密传输模块持久化接收到的消息和错误消息、丢失消息的编号,并告知低密传输模块需要重传的消息编号。
根据本申请实施例的另一个方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的数据单向传输方法。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的数据单向传输方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的数据单向传输装置,能够实现由低安全等级网络到高安全等级网络的单向数据传输,高安全等级网络到低安全等级网络的数据通路则被物理隔断,避免了高安全等级网络数据到低安全等级网络的传递,符合数据安全等要求,数据传输可靠性高,实时性好、效率高、安全性好。
进一步地,本申请实施例提供的数据单向传输装置,在实现由低安全等级网络到高安全等级网络的单向数据传输时还引入了数据传输补偿机制,进一步提高了数据传输的准确性。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了现有技术的低密网络到高密网络的数据传输系统的结构框图;
图2示出了低密网络、高密网络与本申请的一个实施例的数据单向传输装置的组合;
图3示出了本申请的一个实施例的数据单向传输装置的结构框图;
图4示出了本申请的一个实施例的数据单向传输装置的工作原理;
图5示出了本申请的一个实施例的数据单向传输方法的流程图;
图6示出了本申请的一个实施例的高密传输模块的工作流程图;
图7示出了本申请的一个实施例的消息分包方法流程图;
图8示出了本申请的一个实施例的数据包重发方法流程图;
图9示出了本申请的一个实施例的低密传输模块的数据补偿方法流程图;
图10示出了本申请的一个实施例的高密传输模块的数据补偿方法流程图;
图11示出了本申请的一个实施例的数据包补偿机制流程图;
图12示出了本申请的一个实施例的定期可靠性补偿方法流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
如图2所示,本申请的一个实施例提供了一种数据单向传输装置,包括互相连接的低安全等级网络传输代理模块(简称低密传输代理模块或低密传输模块)和高安全等级网络传输代理模块(简称高密传输代理模块或高密传输模块)。
如图3所示,在使用时,低安全等级网络、本实施例数据单向传输装置(也可称为单向网闸)和高安全等级网络业务系统依次连接。通过本实施例的数据单向传输装置实现由低安全等级网络到高安全等级网络的单向数据传输。
在低安全等级网络中部署有低密网业务系统,在高安全等级网络中部署有高密网业务系统。如图4所示,在使用时,低安全等级网络业务系统(简称低密网业务系统)、本实施例数据单向传输装置和高安全等级网络业务系统(简称高密网业务系统)依次连接。具体地,低密传输模块与低密网业务系统相连接,高密传输模块与高密网业务系统相连接。另外,本实施例的数据单向传输装置也可以称为单向网闸装置。
在本实施例的数据单向传输装置,部署在低密网业务系统和高密网业务系统之间使用,低密网业务系统通过TCP协议发送消息到数据单向传输装置的低密传输模块,低密传输模块使用UDP协议转发消息到高密传输模块,高密传输模块接收消息后通过TCP协议转发消息到高密网业务系统。低安全等级网络的数据,可通过数据单向传输装置实时传输到高安全等级网络;而高安全等级网络到低安全等级网络的数据通路则被物理隔断,因此避免了高安全等级网络数据到低安全等级网络的传递,符合数据安全等要求。
通过部署本实施例的数据单向传输装置,可以限定不同安全等级网络间的数据传输方向,即只允许低安全等级网络的业务系统向高安全等级网络传输,反之则禁止;实现低密网业务系统实时向高密网业务系统单向传输数据,确保了数据交换的实时性。基于单向数据传输,由高安全等级网络传输代理和低安全等级网络传输代理协同工作,完成低安全等级网络到高安全等级网络的单向数据传输。
1)低密传输模块,由低密接收单元、低密转发单元和低密补发单元等单元组成;其中,
低密接收单元,用于接收来自低密网业务系统的业务数据,并将所述业务数据发送给所述低密转发单元;所述业务数据包括若干消息包;
低密转发单元,用于将业务数据转发到高密传输模块;
低密数据库单元,用于持久化存储来自低密转发单元的业务数据;
低密补偿单元,用于根据业务系统的重发策略,对持久化存储的业务数据的消息包进行补发重传;
低密网业务系统上送的数据,根据策略可以进行持久化存储,以便能对消息或数据包进行补偿重发;
所述将所述业务数据发送给所述低密转发单元包括:
判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元。
2)高密传输模块,由高密接收单元、高密转发单元等单元组成;其中,
高密接收单元,用于接收低密网业务系统所转发的业务数据;
高密转发单元,用于将业务数据转发到高密网业务系统;
高密数据库单元,用于接收并存储来自所述高密接收单元的业务数据;高密接收单元,还用于将接收到的业务数据发送给高密数据库单元;
高密传输模块接收的数据包,根据策略可进行持久化存储,等到消息的所有数据包到达后,将所有数据包一次性转发给高密网业务系统;
3)低密转发单元和高密接收单元之间的数据传输通道,采用多通道UDP传输协议。
UDP协议,符合单向网闸装置数据流单向传输的安全控制策略。
多通道传输数据,可提高数据传输的实时性和高效率。
本申请实施例中,低密网业务系统与低密传输模块之间的传输协议不限于TCP协议,也可以是其他协议;高密传输模块与高密网业务系统之间的传输协议不限于TCP协议,也可以是其他协议;低密传输模块与高密传输模块之间的传输协议不限于UDP协议,也可以是其他协议,也可以是光信号等。
本申请实施例提供的数据单向传输装置,能够实现由低安全等级网络到高安全等级网络的单向数据传输,高安全等级网络到低安全等级网络的数据通路则被物理隔断,避免了高安全等级网络数据到低安全等级网络的传递,符合数据安全等要求,数据传输可靠性高,实时性好、效率高、安全性好。
进一步地,本申请实施例提供的数据单向传输装置,在实现由低安全等级网络到高安全等级网络的单向数据传输时还引入了数据传输补偿机制,进一步提高了数据传输的准确性。
本申请的另一个实施例提供了一种数据单向传输方法,通过上述实施例的系统实现,所述方法包括:
低密接收单元接收来自所述低安全等级网络的业务数据,并将所述业务数据发送给所述低密转发单元;所述业务数据包括若干消息包;
低密转发单元转发所述业务数据;
高密接收单元接收来自所述低密转发单元的所述业务数据;
高密转发单元将所述业务数据转发到高安全等级网络。
在某些实施方式中,所述方法还包括:
低密数据库单元接收并存储来自所述低密转发单元的所述业务数据;
低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元。
具体地,如图5所示,由低密传输模块到高密传输模块的数据单向传输过程,包括:
由低密传输模块执行以下步骤:
接收来自低密网的数据,订阅线程订阅主题“#”,获取所有消息;
订阅主题“#”,可以通过TCP协议接收所有主题的低安全等级网络业务数据;解析消息,获取“messageID”。
判断是否配置数据包重发策略,若是则根据数据包重发策略生成重发数据包;判断是否分包,若是则根据分包算法拆分消息;生成消息包头;读取所有发送线程队列深度;插入消息和包头到负载最小发送线程。
由高密传输模块执行以下步骤:
根据配置文件通道数,启动相应数量的发送线程,每个发送线程对应一个通道,发送线程队列;
接收消息线程根据负载最小原则分配消息任务到对应发送线程;
消息描述信息写入DB,消息体写入文件;
消息体写入文件后,根据主题名和消息长度,查找目标文件名;
是否创建新文件,若是,则创建新文件,文件名为“主题名”+“序号”。
另外,在消息体写入文件后,生成消息信息和审计信息;
从数据库连接池获取数据库连接;连接数据库;发送消息到高密网。
根据配置文件通道数,启动相应接收线程,每个接收线程对应一个通道。
在某些实施方式中,所述将所述业务数据发送给所述低密转发单元包括:
判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元。
具体地,如图7所示,低密传输模块支持对大消息分包处理,消息大于配置文件的fragmentSize尺寸,则将对接收到的消息数据进行分包,并为每个数据分包增加序列号;
高密传输模块接收到分包信息,根据transid进行组包,组包完成后,发送消息到高密网业务系统。
如图6所示,高密传输模块对接收到的数据的处理流程。
在某些实施方式中,所述将所述业务数据发送给所述低密转发单元包括:
1)获取所述业务数据的明文数据包的头部字段。
头部字段包括MAC头、IP头以及传输头。
2)将所述头部字段复制到所述业务数据的加密数据包所对应的头部字段。
将MAC头、IP头以及传输头复制到加密数据包对应的MAC头、IP头和传输头字段。
3)按照最大传输长度拆分所述明文数据包,并分别将每个拆分后的数据段加密后填充到每个所述加密数据包的数据段。
按照最大传输单元的长度拆分所述明文数据包,并分别将每个拆分后的传输数据段以预设的密钥加密后,填充到每个加密数据包的传输数据段。
4)在所述加密数据包的尾部添加一个用于带有解密数据的附加尾部;
5)计算所述加密数据包的IP头的值,并利用计算出的值修正所述加密数据包的IP头字段;
6)将修正后的加密数据包发送给所述低密转发单元。
在某些实施方式中,所述将每个拆分后的数据段加密,包括:
3-1)将拆分后得到的数据段划分为对应于密钥长度的多个子数据段。
根据用于对数据段进行加密的密钥的长度,将数据段划分为与密钥长度相对应的多个子数据段。
3-2)对每个所述子数据段,根据所述密钥、利用可逆加密算法来加密处理该子数据段,以获得加密后的加密子数据段。采用可逆加密算法来对数据段进行加密,因此加密时采用的密钥通常为固定长度的一个或者多个预定密钥。可逆加密算法例如可以为可逆定长加密算法、AES可逆加密算法等。
3-3)组合所有所述加密子数据段,获得加密后的数据段。
在某些实施方式中,所述将每个拆分后的数据段加密,包括:
将拆分后的数据段按照A(例如A可以为16)字节一段拆分为m个子数据段:N1、N2、……、Ni、……、Nm,其中前m-1段的长度为A(例如A可以为16)字节,最后一个子数据段可以为A-1个字节的数据+a(例如a可以为80);对于每一段Ni,使用秘钥和初始向量,按照加密算法进行加密,得到加密后的加密子数据段Ei;将E1,E2,...,Ei,...,Em,将加密子数据段拼接在一起,得到加密后的数据段。
秘钥可以采用用于信息加解密的profile秘钥(PPK-ENC)或用于信息加解密的会话秘钥(S-ENC);初始向量可以采用初始链接向量(ICV);
加密算法可以采用高级加密标准-链式加密方法(AES-CBC算法)。
在某些实施方式中,所述将所述业务数据发送给所述低密转发单元包括:
步骤一、从所述业务数据中选择至少一段目的数据段。
具体地,根据业务数据的数据类型确定目的数据段位于该业务数据中的位置,以用于后续基于该位置加密所述目的数据段。
步骤二、利用加密算法加密所选择的目的数据段,获得对应的加密字符串。
例如该加密算法可以采用消息摘要加密算法等加密算法。
步骤三、对加密字符串的字符排列顺序进行调整,得到目的字符串。
具体地,根据预先设定的调整规则对加密字符串的字符排列顺序进行调整。
步骤四、将所述业务数据中的目的数据段替换为对应的目的字符串,获得加密后的数据。
步骤五、将加密后的数据发送给低密转发单元。
通过上述操作实现了对业务数据的快速加密操作,能够有效阻止对加密后的业务数据的暴力破解,提高了业务数据在传输过程中的安全性。
本实施例的方法引入了可靠性传输策略,包括数据包重发策略、消息补偿机制和数据包补偿机制等。
如图8所示,数据包重发策略流程:
1)低密传输模块对每个待发送的消息包,根据配置文件BackNumQos值,生成BackNum个消息副本,并一起发送到内网,即以1:BackNum的重复副本方式发送消息,以确保消息传输的可靠性;
2)高密传输模块通过判断消息ID及数据包的seq序列号,丢弃收到的重复消息;
3)数据低密传输模块软件,通过一定比率的数据包重发控制(如:发1补1、发3补1策略)达到数据包补偿;数据包重发控制策略,针对存在浪费部分带宽的情况,可通过预先测试网络环境或补偿自学习,来最大程度低提高数据传输的可靠性;
消息补偿机制流程
消息补偿重发机制是指从业务系统的消息级进行数据重复,以提升消息传输可靠性的补偿机制,包含有两种情况:
1)消息级整体数据包补偿机制;2)消息级部分数据包补偿机制。
如图9所示,低密传输模块的补偿流程包括:
1)低密传输模块通过接收主题“retryMessage”消息,根据消息编号查询DB;
2)查询成功,则重传该消息或该消息中的部分分组数据;
3)如果查询失败(内存或持久存储中,已经不存在),将发布通知消息到主题“retryNoticeMessage”给低安全等级网络应用,低安全等级网络应用将根据Notie消息状态重新发布此消息;
如图10所示,高密传输模块的消息补偿流程包括:
1)高密传输模块持久化接收的消息和错误消息、丢失消息的编号,后续将告知低密传输模块需要重传的消息编号;
2)高密传输模块通过主题“errorMessage”,实时发布错误消息的编号;
3)高密传输模块只收到消息的部分分片时,通过主题“errorMessage”,发布未收到的分片信息;
如图11所示,数据包补偿机制流程包括:
低密传输模块接收到来自业务系统的消息后,根据fragmentSize参数对消息进行分组和拆包,并为每一个分组数据包进行全局唯一编号,将消息转发到高安全等级网络代理端。
具体地,包括:
1)低密传输模块接收到retryPackage主题消息;
2)根据SeqNo,在内存或DB中检索标识的数据包是否存在;
3)如果存在,则发送该数据包到高安全等级网络;
4)如果不存在,则发送retransNoticeMessage主题的消息通知给低安全等级网络业务应用;
5)低密传输模块检索到该Notice消息中,已经判断出该数据包不存在,则重新发送整个消息;
如图12所示,定期可靠性补偿服务机制为每一所述数据包进行编号,所述编号用于数据包的校验和记录。具体地,包括:
低密传输模块对每个发送的数据包进行编号,发送完成后进行缓存;
高密传输模块对每个接收的数据包进行校验、记录和处理,产生补偿记录并上报到目标补偿中心;
正确的记录,以0标志位标识;
异常的记录,以其他数值进行标志,以保障低密传输模块的补偿实施;
低密传输模块,实时获取数据补偿信息;
无需补充的数据,清理记录信息和缓存;
需要补偿的数据,进行数据的补偿发送和再次记录;
定期数据补偿机制,将根据定义的补偿间隔(如1小时),将高安全等级网络中待补偿记录信息,通过非网络途径(如光盘刻录)等复制到低安全等级网络源补偿中心;
单向网闸环境中,数据的传输是单向的,网络设备本身或仅凭应用程序本身,很难做到数据传输的可靠性,计划通过如下策略手段,实现最小时间段内数据传输的可靠性和实时性。
1)高、低密网业务系统通过设置MQTT/TCP协议的Qos2策略,保证数据的可靠性;
2)针对不同的主机或子网,通过对低密传输模块数据传输的速率和流量控制,避免造成网络阻塞,降低数据的丢包率;
3)网络中发送的每个数据包,增加数据包的CRC校验码,确保数据传输的完整性,避免残包、废包、被篡改包等情况发生;
4)数据高密传输模块,采取多线程异步处理模式,使得网络接收和数据处理流程分离,极大程度降低接收线程的时间周期,降低因接收处理缓慢而导致的网络数据丢包;
5)网络传输数据包大小,提供可控制策略,尽可能降低数据包过大被网络设备分包造成的丢包;
6)定期可靠性补偿服务机制
低密传输模块,对每个发送的数据包进行编号,发送完成后进行缓存;
高密传输模块,对每个接收的数据包进行校验、记录和处理,产生补偿记录并上报到目标补偿中心;低密传输模块作为发送方,高密传输模块作为接收方。
业务数据的配置文件结构如下:
消息数据结构包括:
1)片信息
struct FragmenInfo:
类型 | 名称 | 说明 |
short | fragmentIndex | 分片序数,1 2 3... |
short | payloadSize | 本片数据长度 |
char[32] | fragmentMD5 | 本片数据的MD5 |
short | lastFragment | 是否最后一片 |
包头struct HeadExt:
消息
类型 | 名称 | 说明 |
struct | packetHead | 包头 |
char[] | packetBody | 消息内容 |
通知消息结构
类型 | 名称 | 说明 |
char[32] | packetSeq | 包序列(UID,唯一) |
string | fragmentIndex | 分片序数,”1,2,3...”(如果是0,表示不分片) |
低密传输模块中的数据结构
高密传输模块中的数据结构
在低密数据库单元和高密数据库单元中,数据存储的形式如下:
消息描述记录SKY_GATEWAY_MES
传输审计记录SKY_GATEWAY_AUDIT
异常通知记录SKY_GATEWAY_SUB_ERRMES
本申请实施例的数据传输支持消息从低安全等级网络到高安全等级网络传输;数据传输过程中支持数据加密,避免明文传输。
在某些实施方式中,针对低安全等级网络向高安全等级网络单向数据传输的需求,拟提供两种数据传输软件策略:
1)服务型数据传输软件;通过部署和运行服务型传输软件,可以自动、智能地实现两种或多种网络间单向数据传输;对数据传输过程进行记录,便于后续的网络传输审计;
2)SDK型数据传输单元;提供数据传输的低密传输模块和高密传输模块SDK接口,并支持C/C++、Java和C#等开发语言;
3)MQTT客户端库 Eclipse Paho C、Eclipse Paho Java
4)MQTT Broker mosquitto-1.5(c++开发)、moquette-0.11(java开发)
本申请实施例的方法中,关于消息标识transID,低安全等级网络和高安全等级网络间传输的每个消息,都应有全局唯一的传输标识,能唯一地标识本消息的传输过程,transID的产生,可以有两种方式:
1)低安全等级网络应用程序发布消息时,根据业务特点,自行定义该消息的唯一标识(字母、数字和部分特殊字符如_、-等,长度不超过32)应生成唯一消息序列号,传输代理会复用这个transID
a)使用该标志记录到传输审计记录中;
b)作为消息级补偿发送的关键字,检索持久记录中是否存在该记录的数据;
2)低安全等级网络应用发布消息时,如果没有定义该消息的唯一标识,则低安全等级网络代理会自动分配一个唯一ID并使用;
关于持久化数据的定期维护,根据数据传输的策略配置,高低安全等级网络传输代理可以对传输中的消息,进行持久化存储,同时对持久化存储的数据开展定期维护:
1)低安全等级网络代理转发到高安全等级网络代理的消息,消息一旦接收完整,在从持久化内存和硬盘区,进行清理;
2)低安全等级网络代理的消息,转发到高安全等级网络后,会根据配置策略,持久化到内存或硬盘区,以便为数据补偿发送提供数据缓冲;
a)durablityTimeout时间内,消息被低安全等级网络代理持久化存储;
b)超过durablityTimeout时间,消息被低安全等级网络代理清理,并释放内存或磁盘;
3)高安全等级网络代理接收到来自高安全等级网络消息后,会根据配置策略,持久化到内存或硬盘区,以便为数据补偿发送提供数据缓冲;
a)durablityTimeout时间内,消息被高安全等级网络代理持久化存储;
b)超过durablityTimeout时间,消息被高安全等级网络代理清理,并释放内存或磁盘。
本申请另一个实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现上述的数据单向传输方法。
本申请另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的数据单向传输方法。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共单元或甚至由相同单元实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (6)
1.一种数据单向传输装置,其特征在于,包括互相连接的低密传输模块和高密传输模块;
所述低密传输模块包括:
低密接收单元,用于接收来自低安全等级网络的业务数据,并将所述业务数据发送给低密转发单元;所述业务数据包括若干消息包;
低密转发单元,用于转发所述业务数据;
低密数据库单元,用于接收并存储来自所述低密转发单元的所述业务数据;
低密补偿单元,用于将所述低密数据库单元所存储的业务数据重发到所述低密转发单元;
所述高密传输模块包括:
高密接收单元,用于接收来自所述低密转发单元的所述业务数据;
高密转发单元,用于将所述业务数据转发到高安全等级网络;
高密数据库单元,用于接收并存储来自所述高密接收单元的业务数据;
所述将所述业务数据发送给所述低密转发单元包括:判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元;
所述低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元,包括:所述低密补偿单元接收特定主题的消息,根据消息ID查询低密数据库单元;
若在所述低密数据库单元中查询到所述特定主题的消息,则重发该消息或该消息中的部分分组数据;
每一所述数据包具有编号,所述编号用于数据包的校验和记录;
所述低密传输模块还用于为每个待发送的消息包生成消息副本,将所述待发送的消息包及其消息副本一并发送到高密传输模块;
所述高密传输模块还用于通过判断消息ID及数据包编号,丢弃收到的重复消息;
所述高密传输模块还用于持久化存储接收到的消息、错误消息的消息ID和丢失消息的消息ID,并告知低密传输模块需要重传的消息ID。
2.根据权利要求1所述的数据单向传输装置,其特征在于,所述低密转发单元与所述高密接收单元之间设置有数据传输通道,所述数据传输通道采用多通道UDP传输协议。
3.一种数据单向传输方法,其特征在于,通过权利要求1-2任一项所述的装置实现,所述方法包括:
低密接收单元接收来自所述低安全等级网络的业务数据,并将所述业务数据发送给所述低密转发单元;所述业务数据包括若干消息包;
低密转发单元转发所述业务数据;
低密数据库单元接收并存储来自所述低密转发单元的所述业务数据;
高密接收单元接收来自所述低密转发单元的所述业务数据;
高密转发单元将所述业务数据转发到高安全等级网络;
高密数据库单元,用于接收并存储来自所述高密接收单元的业务数据;
低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元;
所述将所述业务数据发送给所述低密转发单元包括:判断所述业务数据的消息包是否超过预设尺寸阈值,若超过,则将所述业务数据的消息包拆分为若干数据包,并将拆分后的所述若干数据包发送给所述低密转发单元;
所述低密补偿单元将所述低密数据库单元所存储的业务数据重发到所述低密转发单元,包括:所述低密补偿单元接收特定主题的消息,根据消息ID查询低密数据库单元;
若在所述低密数据库单元中查询到所述特定主题的消息,则重发该消息或该消息中的部分分组数据;
所述方法还包括为每一所述数据包进行编号,所述编号用于数据包的校验和记录;
所述方法还包括:
低密传输模块为每个待发送的消息包生成消息副本,将所述待发送的消息包及其消息副本一并发送到高密传输模块;
高密传输模块通过判断消息ID及数据包编号,丢弃收到的重复消息;
高密传输模块持久化存储接收到的消息、错误消息的消息ID和丢失消息的消息ID,并告知低密传输模块需要重传的消息ID。
4.根据权利要求3所述的数据单向传输方法,其特征在于,所述低密转发单元与所述高密接收单元之间设置有数据传输通道,所述数据传输通道采用多通道UDP传输协议。
5.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求3-4中任一所述的方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求3-4中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110034044.6A CN112804227B (zh) | 2021-01-11 | 2021-01-11 | 数据单向传输装置、方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110034044.6A CN112804227B (zh) | 2021-01-11 | 2021-01-11 | 数据单向传输装置、方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112804227A CN112804227A (zh) | 2021-05-14 |
CN112804227B true CN112804227B (zh) | 2022-01-14 |
Family
ID=75809933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110034044.6A Active CN112804227B (zh) | 2021-01-11 | 2021-01-11 | 数据单向传输装置、方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112804227B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489750A (zh) * | 2021-09-06 | 2021-10-08 | 网御安全技术(深圳)有限公司 | 数据传输方法、数据处理方法及相关设备 |
CN114143028A (zh) * | 2021-10-28 | 2022-03-04 | 国家电网有限公司 | 一种基于电力现货交易业务场景下的数据跨区安全传输方法及系统 |
CN114172900A (zh) * | 2022-02-11 | 2022-03-11 | 北京安帝科技有限公司 | 基于单向网闸的文件传输方法及系统 |
CN114915457B (zh) * | 2022-04-27 | 2023-08-25 | 烽台科技(北京)有限公司 | 报文传输方法、动态加密方法、装置、电子设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753530A (zh) * | 2008-12-18 | 2010-06-23 | 宝山钢铁股份有限公司 | 穿越电力网络物理单向隔离装置的数据传输方法及装置 |
CN101783789A (zh) * | 2009-01-16 | 2010-07-21 | 深圳市维信联合科技有限公司 | 网络数据包传输处理方法、设备及系统 |
KR20160037649A (ko) * | 2014-09-29 | 2016-04-06 | 한전케이디엔주식회사 | 일방향 데이터 전송 시스템 및 이를 이용한 신뢰성 향상 방법 |
CN106850188A (zh) * | 2017-01-24 | 2017-06-13 | 中国航天系统科学与工程研究院 | 一种基于多路异构单向传输通道的数据传输系统 |
CN111614712A (zh) * | 2020-03-13 | 2020-09-01 | 北京旷视科技有限公司 | 数据校验系统、方法、装置、服务器及存储介质 |
-
2021
- 2021-01-11 CN CN202110034044.6A patent/CN112804227B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753530A (zh) * | 2008-12-18 | 2010-06-23 | 宝山钢铁股份有限公司 | 穿越电力网络物理单向隔离装置的数据传输方法及装置 |
CN101783789A (zh) * | 2009-01-16 | 2010-07-21 | 深圳市维信联合科技有限公司 | 网络数据包传输处理方法、设备及系统 |
KR20160037649A (ko) * | 2014-09-29 | 2016-04-06 | 한전케이디엔주식회사 | 일방향 데이터 전송 시스템 및 이를 이용한 신뢰성 향상 방법 |
CN106850188A (zh) * | 2017-01-24 | 2017-06-13 | 中国航天系统科学与工程研究院 | 一种基于多路异构单向传输通道的数据传输系统 |
CN111614712A (zh) * | 2020-03-13 | 2020-09-01 | 北京旷视科技有限公司 | 数据校验系统、方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112804227A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112804227B (zh) | 数据单向传输装置、方法、电子设备及存储介质 | |
US6487690B1 (en) | Forward error correction system for packet based real time media | |
Ong et al. | An introduction to the stream control transmission protocol (SCTP) | |
US6145109A (en) | Forward error correction system for packet based real time media | |
US20030084020A1 (en) | Distributed fault tolerant and secure storage | |
US7194504B2 (en) | System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques | |
US6266337B1 (en) | Packet retransmission eliminator | |
US7948921B1 (en) | Automatic network optimization | |
US6055316A (en) | System and method for deriving an appropriate initialization vector for secure communications | |
EP1779606B1 (en) | System and method for higher throughput through a transportation network | |
EP1138143B1 (en) | A method for optimizing of data transmission | |
CN112788030B (zh) | 一种高低密网络间的数据交换方法及系统 | |
JP5392102B2 (ja) | 無線ネットワークにおいてオーバヘッドを低減する装置及び方法 | |
AU2001238189A1 (en) | System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques | |
JP2007533012A (ja) | データ格納のための情報処理と輸送アーキテクチャ | |
US11381339B2 (en) | System and technique for generating, transmitting and receiving network coded (NC) quick UDP internet connections (QUIC) packets | |
US10594661B1 (en) | System and method for recovery of data packets transmitted over an unreliable network | |
Pannetrat et al. | Authenticating real time packet streams and multicasts | |
US20080052511A1 (en) | Network cryptography system and method | |
Karetsi et al. | A low complexity network-coded ARQ protocol for ultra-reliable low latency communication | |
Ong et al. | RFC3286: An Introduction to the Stream Control Transmission Protocol (SCTP) | |
CN111030984B (zh) | 一种数据安全传输系统及方法 | |
WO2023058502A1 (ja) | 通信装置、通信端末、および通信方法 | |
US20230247032A1 (en) | Aiops guided, quantum-safe zero trust data transfer methods in-motion with segmented, data transfer across an overlay network | |
Zúñiga et al. | RFC 9441: Static Context Header Compression (SCHC) Compound Acknowledgement (ACK) |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |