一种高低密网络间的数据交换方法及系统转让专利

申请号 : CN202110033071.1

文献号 : CN112788030B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高春光

申请人 : 北京鼎轩科技有限责任公司

摘要 :

本发明提供了一种高低密网络间的数据交换方法及系统,方法包括:获取低密网业务系统上传的消息数据,对消息数据进行传输拆解并进行持久化存储,通过单向网闸将拆解的消息数据传输到高密网;在高密网对拆解的消息数据进行传输组装,根据传输标识校验组装的消息数据的正确性和完整性,生成相应的反馈信息并进行持久化存储,将组装的消息数据发送到高密网业务系统;通过光盘机将反馈信息打包、刻制并传输到低密网,对反馈信息进行解析并判断是否为补发信息,并执行相应的补发,循环执行上述步骤。可以实时监测消息数据的传输是否正确完整,可以提高数据传输的实时性和有效性,保证数据传输的完整性和可靠性。

权利要求 :

1.一种高低密网络间的数据交换方法,其特征在于,包括以下步骤:获取低密网业务系统上传的消息数据,每条消息数据具有唯一的传输标识,消息数据的传输标识包括消息ID、传输优先级别和MD5值,消息ID包括该条消息数据的上传地址、消息主题、消息长度、上传的低密网业务系统编号;对消息数据进行传输拆解,并将拆解的消息数据进行持久化存储;在高密网和低密网之间部署单向网闸,只允许消息数据从低密网传输到高密网,通过单向网闸将拆解的消息数据传输到高密网;高密网和低密网之间采用多通道并发传输的方式传输消息数据,多个消息数据按先后顺序到达同一数据发送通道,则按照先后顺序依次传输,多个消息数据同时到达同一数据发送通道,则根据传输优先级别决定传输次序;其中,

将拆解的消息数据进行持久化存储包括,根据消息数据生成消息描述信息和第一审计信息,并将消息描述信息写入低密网数据库;根据消息数据的主题名和消息长度,在低密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将消息数据写入新文件中,若否,则直接将消息数据写入找到的目标文件中;

高密网接收拆解的消息数据,并对拆解的消息数据进行传输组装,校验组装的消息数据的正确性和完整性,生成相应的反馈信息,反馈信息包括补发错误信息、补发丢失信息和消息传输完成,将反馈信息和组装的消息数据进行持久化存储,并将组装的消息数据发送到高密网业务系统;

将反馈信息打包成记录文件,打包的记录文件经过安全监测审核后传输到光盘机,光盘机将反馈信息刻制成光盘并传递到低密网;

对反馈信息进行解析并判断是否为补发信息,所述补发信息包括补发错误信息、补发丢失信息,若是,则根据补发信息的传输标识在低密网数据库中查找相应的目标文件名,若查找成功,则从低密网数据库中调取相应的消息数据和目标文件,将正确的消息数据或者消息数据中的缺失数据重新发送到高密网;若查找失败,则判定低密网数据库中不存在相应的消息数据和目标文件,将补发信息下发到相应的低密网业务系统;相应的低密网业务系统根据补发信息的传输标识重新上传相应的消息数据;若否,则判定该次消息数据传输完成;

所述方法还包括:获取低密网业务系统上传的消息数据,根据配置文件的可靠性传输的预设值,生成预设个数的消息数据副本,并将消息数据及其副本数据一起传输到高密网;

高密网接收低密网传输的消息数据及其副本数据,根据传输标识和包头信息从消息数据及其副本数据中获取正确完整的消息数据,丢弃重复的数据,并生成反馈信息;

并且,所述方法中,低密网的消息数据转发到高密网后,在durabilityTimeout时间内,消息被低密网持久化存储;超过durabilityTimeout时间,消息被低密网清理,并释放内存或磁盘。

2.根据权利要求1所述的高低密网络间的数据交换方法,其特征在于,所述对消息数据进行传输拆解,包括:

判断消息数据的尺寸是否大于配置文件的预设尺寸,若是,则对消息数据进行分包处理,将消息数据分割成多个数据包,为每个数据包添加序列号,并为每个数据包增加包头;

若否,则直接为消息数据增加包头;

根据配置文件的预设通道数,启动相应数量的消息数据发送线程,每个发送线程对应一个通道;读取所有发送线程的队列深度,根据负载最小原则将消息数据分配到负载最小的发送线程;

进入发送线程队列。

3.根据权利要求2所述的高低密网络间的数据交换方法,包括高密网数据库,具体包括以下步骤:

接收低密网传输的消息数据及其包头信息,根据消息数据生成第二审计信息,并将第二审计信息写入高密网数据库;

判断消息数据是否为多个分片数据包,若是,则为数据包去掉包头,对多个数据包进行组包处理,组装成完整片段的消息数据;若否,则直接为消息数据去掉包头;

根据消息数据的传输标识判断消息数据是否正确,若是,则判断消息数据的完整性,若否,则生成相应的补发错误信息,并向相应的高密网业务系统发送错误消息数据的主题名和通知信息;

根据消息数据的包头信息判断消息数据是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则生成相应的补发丢失信息,并实时向相应的高密网业务系统发送丢失消息数据的主题名和通知信息。

4.根据权利要求3所述的高低密网络间的数据交换方法,其特征在于,所述将反馈信息和组装的消息数据进行持久化存储,包括:设置消息数据传输的预设时间,并判断消息数据传输是否到达预设时间,若否,则继续检测,若是,则读取预设时间内接收的所有分片数据包;

根据分片数据包及其包头信息判断消息数据的传输是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则将错误或缺失的消息数据,以及补发错误信息和补发丢失信息写入高密网数据库;

根据错误的消息数据的主题名和消息长度,在高密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将错误的消息数据写入新文件中,若否,则将错误的消息数据写入找到的目标文件中。

5.一种高低密网络间的数据交换系统,用于应用上述权利要求1 4任一所述的方法,其~

特征在于,包括低密网传输组件、高密网传输组件、单向网闸、光盘机、分析模块和解析判断模块、低密网数据库、高密网数据库;

所述低密网传输组件包括低密接收模块、低密控制模块、低密转发模块、低密补发模块和低密存储模块,低密接收模块用于接收低密网业务系统上传的消息数据,每条消息数据具有唯一的传输标识,消息数据的传输标识包括消息ID、传输优先级别和MD5值,消息ID包括该条消息数据的上传地址、消息主题、消息长度、上传的低密网业务系统编号;低密控制模块用于对消息数据进行传输拆解,低密转发模块用于将拆解的消息数据传输到单向网闸,所述单向网闸部署在高密网和低密网之间,只允许消息数据从低密网传输到高密网,高密网和低密网之间采用多通道并发传输的方式传输数据,多个消息数据按先后顺序到达同一数据发送通道,则按照先后顺序依次传输,多个数据同时到达同一数据发送通道,则根据传输优先级别决定传输次序;低密存储模块用于对拆解的消息数据进行持久化存储,低密补发模块用于从低密存储模块中提取持久化存储的消息数据进行补发,根据补发信息的传输标识在低密网数据库中查找相应的目标文件名,若查找成功,则从低密网数据库中调取相应的消息数据和目标文件,将正确的消息数据或者消息数据中的缺失数据重新发送到高密网;若查找失败,则判定低密网数据库中不存在相应的消息数据和目标文件,将补发信息下发到相应的低密网业务系统;相应的低密网业务系统根据补发信息的传输标识重新上传相应的消息数据;

所述高密网传输组件包括高密接收模块、高密控制模块、高密转发模块和高密存储模块,高密接收模块用于接收单向网闸传输的拆解的消息数据,高密控制模块用于对拆解的消息数据进行传输组装,高密转发模块用于将组装的消息数据发送到高密网业务系统,并将反馈信息打包成记录文件,打包的记录文件经过安全监测审核后传输到光盘机;高密存储模块用于对反馈信息和组装的消息数据进行持久化存储;

所述光盘机用于将反馈信息刻制成光盘并传输到低密网,分析模块用于校验组装的消息数据的正确性和完整性,并生成相应的反馈信息,反馈信息包括补发错误信息、补发丢失信息和消息传输完成;解析判断模块用于对反馈信息进行解析并判断是否为补发信息,若是,则根据补发信息的传输标识补发相应的消息数据;若否,则判定该次消息数据传输完成;

低密网数据库,用于写入消息数据的消息描述信息和第一审计信息,以及存储消息数据的打包文件;根据消息数据的主题名和消息长度,在低密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将消息数据写入新文件中,若否,则直接将消息数据写入找到的目标文件中;

高密网数据库,用于写入消息数据的描述信息、第二审计信息、补发错误信息和补发丢失信息,存储消息数据、错误消息数据或缺失消息数据的打包文件。

6.根据权利要求5所述的高低密网络间的数据交换系统,其特征在于,低密网业务系统采用TCP协议将消息数据上传到低密接收模块,低密转发模块采用UDP协议通过单向网闸将拆解的消息数据传输到高密接收模块,高密转发模块采用TCP协议将组装的消息数据发送到高密网业务系统。

说明书 :

一种高低密网络间的数据交换方法及系统

技术领域

[0001] 本发明涉及网络数据传输领域,具体涉及一种高低密网络间的数据交换方法及系统。

背景技术

[0002] 在目前的办公环境中,一般会根据网络的安全等级不同,将整个办公网络划分为几个独立的物理区域,并在不同区域部署一个或多个业务系统;参照图1,在同一个业务系
统内部,数据安全等级相同,数据传输可以互通;在同一个物理区域的不同业务系统,数据
安全等级相同,数据传输可以互通;但在不同物理区域的业务系统,由于数据安全等级不
同,并且区域之间进行了物理隔离,数据不能进行实时传输交换。
[0003] 高密网络是保密级别较高的网络,低密网络是保密级别较低、开放性更强的网络。现有技术中,针对隔离区域之间的数据传输采用的方法是,如果数据需要从高密网传输到
低密网,可以通过光盘刻录等途径,由人工协助完成数据的传输。目前的办公网络部署和数
据交换存在以下不足:
[0004] 1、物理网络间是相互隔离的,导致不同区域内的业务系统隔离,业务系统之间不能进行数据传输,工作流程不顺畅。
[0005] 2、每个业务系统都需要配置工作台或终端设备,硬件成本高;针对不同物理区域的业务系统,必须在不同的工作台或终端设备上操作才能完成;如果工作人员身兼多职,同
时管理多个不同区域的业务系统,就需要频繁在涉密网工作台和其他网工作台切换,费时
费力,工作人员操作体验差。
[0006] 3、业务系统如果单独进行技术改造,系统间重复工作多、标准不统一、成本投入大。
[0007] 4、低密网向高密网传输数据,低密网侧无法实时监测数据传输是否到达,传输过程中是否丢失数据包,因此数据传输的可靠性差和有效性差,是亟待解决的难题。

发明内容

[0008] 针对现有技术存在的上述不足,本发明的目的在于:提供一种高低密网络间的数据交换方法及系统,通过部署单向网闸只允许消息数据从低密网传输到高密网,确保高密
网数据的安全性;数据传输过程中需要拆解成多个数据包,判断数据传输的正确性和完整
性,并根据判断的反馈信息对错误或丢失的消息数据进行补发;这样,可以实时监测消息数
据的传输是否正确完整,可以提高数据传输的实时性和有效性,保证数据传输的完整性和
可靠性。
[0009] 一种高低密网络间的数据交换方法,包括以下步骤:
[0010] 获取低密网业务系统上传的消息数据,每条消息数据具有唯一的传输标识,对消息数据进行传输拆解,并将拆解的消息数据进行持久化存储;通过单向网闸将拆解的消息
数据传输到高密网;
[0011] 高密网接收拆解的消息数据,并对拆解的消息数据进行传输组装,根据传输标识校验组装的消息数据的正确性和完整性,生成相应的反馈信息,将反馈信息和组装的消息
数据进行持久化存储,并将组装的消息数据发送到高密网业务系统;
[0012] 将反馈信息打包并传输到光盘机,光盘机将反馈信息刻制成光盘并传递到低密网;
[0013] 对反馈信息进行解析并判断是否为补发信息,若是,则根据补发信息的传输标识补发相应的消息数据;若否,则判定该次消息数据传输完成;
[0014] 循环执行上述步骤。
[0015] 进一步地,包括低密网数据库,所述对消息数据进行传输拆解,并将拆解的消息数据进行持久化存储,包括:
[0016] 判断消息数据的尺寸是否大于配置文件的预设尺寸,若是,则对消息数据进行分包处理,将消息数据分割成多个数据包,为每个数据包添加序列号,并为每个数据包增加包
头;若否,则直接为消息数据增加包头;
[0017] 根据配置文件的预设通道数,启动相应数量的消息数据发送线程,每个发送线程对应一个通道;读取所有发送线程的队列深度,根据负载最小原则将消息数据分配到负载
最小的发送线程;
[0018] 进入发送线程队列,根据消息数据生成消息描述信息和第一审计信息,并将消息描述信息写入低密网数据库;根据消息数据的主题名和消息长度,在低密网数据库查找目
标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将
消息数据写入新文件中,若否,则直接将消息数据写入找到的目标文件中。
[0019] 进一步地,包括高密网数据库,包括以下步骤:
[0020] 接收低密网传输的消息数据及其包头信息,根据消息数据生成第二审计信息,并将第二审计信息写入高密网数据库;
[0021] 判断消息数据是否为多个片段的数据包,若是,则为数据包去掉包头,对多个数据包进行组包处理,组装成完整片段的消息数据;若否,则直接为消息数据去掉包头;
[0022] 根据消息数据的传输标识判断消息数据是否正确,若是,则判断消息数据的完整性,若否,则生成相应的补发错误信息,并向相应的高密网业务系统发送错误消息数据的主
题名和通知信息;
[0023] 根据消息数据的包头信息判断消息数据是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则生成相应的补发丢失信息,并实时向
相应的高密网业务系统发送丢失消息数据的主题名和通知信息。
[0024] 进一步地,所述将反馈信息和组装的消息数据进行持久化存储,包括:
[0025] 设置消息数据传输的预设时间,并判断接收低密网数据传输是否到达预设时间,若否,则继续检测,若是,则读取预设时间内接收的所有分片数据包;
[0026] 根据分片数据包及其包头信息断消息数据的传输是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则将错误或缺失的消息数据,
以及补发错误信息和补发丢失信息写入高密网数据库;
[0027] 根据错误的消息数据的主题名和消息长度,在高密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将错误的消息数
据写入新文件中,若否,则将错误的消息数据写入找到的目标文件中。
[0028] 进一步地,所述根据补发信息的传输标识补发相应的消息数据,包括:
[0029] 根据补发信息的传输标识在低密网数据库中查找相应的目标文件名,若查找成功,则从低密网数据库中调取相应的消息数据和目标文件,将正确的消息数据或者消息数
据中的缺失数据重新发送到高密网;若查找失败,则判定低密网数据库中不存在相应的消
息数据和目标文件,将补发信息下发到相应的低密网业务系统;相应的低密网业务系统根
据补发信息的传输标识重新上传相应的消息数据。
[0030] 进一步地,包括以下步骤:
[0031] 获取低密网业务系统上传的消息数据,根据配置文件的可靠性传输的预设值,生成预设个数的消息数据副本,并将消息数据及其副本数据一起传输到高密网;
[0032] 高密网接收低密网传输的消息数据及其副本数据,根据传输标识和包头信息从消息数据及其副本数据中获取正确完整的消息数据,丢弃重复的数据,并生成反馈信息。
[0033] 一种高低密网络间的数据交换系统,用于应用上述高低密网络间的数据交换方法,包括低密网传输组件、高密网传输组件、单向网闸、光盘机、分析模块和解析判断模块;
[0034] 所述低密网传输组件包括低密接收模块、低密控制模块、低密转发模块、低密补发模块和低密存储模块,低密接收模块用于接收低密网业务系统上传的消息数据,每条消息
数据具有唯一的传输标识;低密控制模块用于对消息数据进行传输拆解,低密转发模块用
于将拆解的消息数据传输到单向网闸,低密存储模块用于对拆解的消息数据进行持久化存
储,低密补发模块用于从低密存储模块中提取持久化存储的消息数据进行补发;
[0035] 所述高密网传输组件包括高密接收模块、高密控制模块、高密转发模块和高密存储模块,高密接收模块用于接收单向网闸传输的拆解的消息数据,高密控制模块用于对拆
解的消息数据进行传输组装,高密转发模块用于将组装的消息数据发送到高密网业务系
统,并将反馈信息打包并传输到光盘机;高密存储模块用于对反馈信息和组装的消息数据
进行持久化存储;
[0036] 所述光盘机用于将反馈信息刻制成光盘并传输到低密网,分析模块用于根据传输标识校验组装的消息数据的正确性和完整性,并生成相应的反馈信息;解析判断模块用于
对反馈信息进行解析并判断是否为补发信息,若是,则根据补发信息的传输标识补发相应
的消息数据;若否,则判定该次消息数据传输完成。
[0037] 进一步地,还包括低密网数据库和高密网数据库,低密网数据库用于写入消息数据的描述信息和第一审计信息,以及存储消息数据的打包文件;高密网数据库用于写入消
息数据的描述信息、第二审计信息、补发错误信息和补发丢失信息,存储消息数据、错误消
息数据或缺失消息数据的打包文件。
[0038] 进一步地,低密网业务系统采用TCP协议将消息数据上传到低密接收模块,低密转发模块采用UDP协议通过单向网闸将拆解的消息数据传输到高密接收模块,高密转发模块
采用TCP协议将组装的消息数据发送到高密网业务系统。
[0039] 进一步地,所述传输标识包括消息数据的ID信息、传输优先级别和MD5值,高密网和低密网之间采用多通道并发传输的方式传输数据;若多个数据按先后顺序到达同一数据
发送通道,则按照先后顺序依次传输;若多个数据同时到达同一数据发送通道,则根据传输
优先级别决定传输次序;传输优先级别包括1级~9级,1级优先级别最低,9级优先级别最
高。
[0040] 相比于现有技术,本发明具有以下优点:
[0041] 本发明提供了一种高低密网络间的数据交换方法及系统,在高密网和低密网之间部署单向网闸,只允许消息数据从低密网传输到高密网,保证高密网数据的安全性;数据传
输前需要对消息数据进行传输拆解,高密网对拆解的消息数据进行传输组装,通过判断消
息数据的正确性和完整性生成反馈信息并发送到低密网,根据反馈信息判断是否需要补发
消息数据;这样,可以实时监测消息数据的传输是否正确完整,可以提高数据传输的实时性
和有效性,保证数据传输的完整性和可靠性。

附图说明

[0042] 图1为本发明背景技术中现有高低密网间的系统部署示意图;
[0043] 图2为发明实施例一中高低密网络间的数据交换方法的控制流程图;
[0044] 图3为发明实施例一中高低密网络间的数据交换方法的低密网的控制流程图;
[0045] 图4为发明实施例一中高低密网络间的数据交换方法的高密网第一控制流程图;
[0046] 图5为发明实施例一中高低密网络间的数据交换方法的高密网第二控制流程图;
[0047] 图6为发明实施例一中高低密网络间的数据交换方法的低密网补发控制流程图;
[0048] 图7为发明实施例一中高低密网络间的数据交换方法的低密网数据重复发送流程图;
[0049] 图8为发明实施例二中高低密网络间的数据交换系统的系统框图;
[0050] 图9为发明实施例二中高低密网络间的数据交换系统的系统部署示意图。

具体实施方式

[0051] 下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护
范围。
[0052] 实施例一:
[0053] 参照图2,一种高低密网络间的数据交换方法,包括以下步骤:
[0054] 获取低密网业务系统上传的消息数据,每条消息数据具有唯一的传输标识,对消息数据进行传输拆解,并将拆解的消息数据进行持久化存储;通过单向网闸将拆解的消息
数据传输到高密网。具体地,低密网业务系统采用TCP协议上传消息数据,消息数据的传输
标识包括消息ID、传输优先级别和MD5值,消息ID包括该条消息数据的上传地址、消息主题、
消息长度、上传的低密网业务系统编号等;传输优先级别包括1级~9级,1级优先级别最低,
9级优先级别最高,2级~8级可以设置为相同优先级别,2级~8级也可以设置为优先级别逐
渐增高、或者呈比例逐渐增高;高密网和低密网之间采用多通道并发传输的方式传输数据,
若多个消息数据按先后顺序到达同一数据发送通道,则按照先后顺序依次传输;若多个数
据同时到达同一数据发送通道,则根据传输优先级别决定传输次序。一条完整的消息数据
从低密网传输到高密网时,一般需要将消息数据分割成多个数据包,以便提高数据传输的
效率和稳定性。低密网采用UDP协议通过单向网闸将消息数据传输到高密网。
[0055] 高密网接收拆解的消息数据,并对拆解的消息数据进行传输组装,根据传输标识校验组装的消息数据的正确性和完整性,生成相应的反馈信息,将反馈信息和组装的消息
数据进行持久化存储,并将组装的消息数据发送到高密网业务系统;具体地,高密网接收低
密网传输到消息数据后,一般需要将多个数据包组合为一条消息数据,以便保证数据传输
的完整性和稳定性;根据消息数据的消息ID和MD5值可以判断接收的消息数据是否正确,反
馈信息包括补发错误信息、补发丢失信息和消息传输完成三种。
[0056] 将反馈信息打包并传输到光盘机,光盘机将反馈信息刻制成光盘并传递到低密网;具体地,在预设的时间周期内,将高密网生成的反馈信息打包成记录文件,打包的记录
文件经过安全监测审核后,传输到光盘机;由于高密网的数据安全等级要远高于低密网,所
以数据从高密网传出必须经过安全监测审核,保证数据的安全性,具体实施时,可以在高密
网设置安全审核机制的判断模块,提高数据审核的效率;预设的时间周期一般较短,从而保
证数据反馈的实时有效性。
[0057] 对反馈信息进行解析并判断是否为补发信息,若是,则根据补发信息的传输标识补发相应的消息数据;若否,则判定该次消息数据传输完成;具体地,低密网接收到打包的
记录文件后,分析反馈信息的种类,如果是补发错误信息和补发丢失信息,就需要重发和补
发,如果是消息传输完成的反馈,就无需处理。
[0058] 循环执行上述步骤。
[0059] 上述高低密网络间的数据交换方法,在高密网和低密网之间部署单向网闸,只允许消息数据从低密网传输到高密网,保证高密网数据的安全性;数据传输前需要对消息数
据进行传输拆解,高密网对拆解的消息数据进行传输组装,通过判断消息数据的正确性和
完整性生成反馈信息并发送到低密网,根据反馈信息判断是否需要补发消息数据;这样,可
以实时监测消息数据的传输是否正确完整,可以提高数据传输的实时性和有效性,保证数
据传输的完整性和可靠性。
[0060] 上述高低密网络间的数据交换方法中,包括低密网数据库,参照图3,所述对消息数据进行传输拆解,并将拆解的消息数据进行持久化存储,包括:
[0061] 低密网业务系统采用TCP协议上传待发的消息数据,低密网收到待发消息数据后,解析消息,获取消息数据的传输标识,并为该条消息数据配置包重发策略;
[0062] 判断消息数据的尺寸是否大于配置文件的预设尺寸,若是,则对消息数据进行分包处理,将消息数据分割成多个数据包,为每个数据包添加序列号,并为每个数据包增加包
头;若否,则直接为消息数据增加包头;具体地,配置文件的预设尺寸fragmentSize,指消息
数据的长度在预设尺寸内,这样,可以降低数据传输的数据包丢失率和错误率,提高数据传
输的完整性和可靠性,配置文件是系统自带预设好的最优尺寸;每个数据包的包头信息包
括但不限于加密信息、压缩标志、序列号、数据偏移量、数据大小、校验类型、校验码等等;
[0063] 根据配置文件的预设通道数,启动相应数量的消息数据发送线程,每个发送线程对应一个通道;读取所有发送线程的队列深度,根据负载最小原则将消息数据分配到负载
最小的发送线程;
[0064] 进入发送线程队列,根据消息数据生成消息描述信息和第一审计信息,并将消息描述信息写入低密网数据库;根据消息数据的主题名和消息长度,在低密网数据库查找目
标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将
消息数据写入新文件中,若否,则直接将消息数据写入找到的目标文件中;
[0065] 低密网采用UDP协议将消息数据传输到高密网。
[0066] 上述高低密网络间的数据交换方法中,参照图4,包括以下步骤:
[0067] 接收低密网传输的消息数据及其包头信息,根据消息数据生成第二审计信息,并将第二审计信息写入高密网数据库;
[0068] 判断消息数据是否为多个片段的数据包,若是,则为数据包去掉包头,对多个数据包进行组包处理,组装成完整片段的消息数据;若否,则直接为消息数据去掉包头;
[0069] 根据消息数据的传输标识判断消息数据是否正确,若是,则判断消息数据的完整性,若否,则生成相应的补发错误信息,并向相应的高密网业务系统发送错误消息数据的主
题名和通知信息;
[0070] 根据消息数据的包头信息判断消息数据是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则生成相应的补发丢失信息,并实时向
相应的高密网业务系统发送丢失消息数据的主题名和通知信息。
[0071] 上述高低密网络间的数据交换方法中,参照图5,所述将反馈信息和组装的消息数据进行持久化存储,包括:
[0072] 设置消息数据传输的预设时间,并判断接收低密网数据传输是否到达预设时间,若否,则继续检测,若是,则读取预设时间内接收的所有分片数据包;
[0073] 根据分片数据包及其包头信息断消息数据的传输是否完整,若是,则向相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则将错误或缺失的消息数据,
以及补发错误信息和补发丢失信息写入高密网数据库;
[0074] 根据错误的消息数据的主题名和消息长度,在高密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将错误的消息数
据写入新文件中,若否,则将错误的消息数据写入找到的目标文件中。
[0075] 上述高低密网络间的数据交换方法中,参照图6,所述根据补发信息的传输标识补发相应的消息数据,包括:
[0076] 根据补发信息的传输标识在低密网数据库中查找相应的目标文件名,若查找成功,则从低密网数据库中调取相应的消息数据和目标文件,将正确的消息数据或者消息数
据中的缺失数据重新发送到高密网;若查找失败,则判定低密网数据库中不存在相应的消
息数据和目标文件,将补发信息下发到相应的低密网业务系统;相应的低密网业务系统根
据补发信息的传输标识重新上传相应的消息数据。
[0077] 上述高低密网络间的数据交换方法中,参照图7,包括以下步骤:
[0078] 获取低密网业务系统上传的消息数据,根据配置文件的可靠性传输的预设值,生成预设个数的消息数据副本,并将消息数据及其副本数据一起传输到高密网;
[0079] 高密网接收低密网传输的消息数据及其副本数据,根据传输标识和包头信息从消息数据及其副本数据中获取正确完整的消息数据,丢弃重复的数据,并生成反馈信息。
[0080] 上述高低密网络间的数据交换方法中,可以采用奇偶、求和、哈希(MD5)等多种校验算法,来校验数据传输的有效性,确保数据传输正确完整,实施步骤如下:
[0081] 在低密网,针对消息数据的内容计算MD5,并存储到数据块控制信息中,即包头信息中;数据信息和包头信息从低密网经UDP协议发送到高密网;在高密网,对数据包内容计
算MD5,将新MD5值和控制信息中MD5值进行比较,如果相同,则数据有效;如果不同则数据无
效。
[0082] 奇偶校验(Parity Check)是一种校验代码传输正确性的方法,根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,
称为偶校验,采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代
码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是
否为奇数,从而确定传输代码的正确性。
[0083] 求和校验:对数据包的字节序列,逐个计算ASIIC码;将所有字节的ASIIC码相加,得到一个ASIIC码;从低密网经UDP传输到高密网;重新计算接收到数据库的ASIIC码并进行
比较;如相同,则数据有效;如不同,则数据无效。具体过程如下:
[0084] 在发送端将数据分为k段,每段均为等长的n比特。将分段1与分段2做求和操作,再逐一与分段3至k做求和操作,得到长度为n比特的求和结果。将该结果取反后作为校验和放
在数据块后面,与数据块一起发送到接收端。在接收端对接收到的、包括校验和在内的所有
k+1段数据求和,如果结果为零,就认为传输过程没有错误,所传数据正确,如果结果不为
零,则表明发生了错误。
[0085] 例如一段二进制码'1010110110'求和:0010+1011+0110=10011再对'10011'求和0001+0011=0100
[0086] 再对'0100'取反为'1011”1011'即为'1010110110'的校验码
[0087] 校验的时候先求得和'0100'再与校验码'1011'相加为'1111'对'1111'取反为'0'则传输结果正确反之则传输结果错误。
[0088] 哈希校验:哈希校验是一款小巧好用的哈希计算器,也是一款md5校验工具,支持文件拖放,速度很快,可以计算文件的MD5、SHA1、CRC32的值。国产哈希算法,主要用于数字
签名及验证、消息认证码生成及验证、随机数生成等,其算法公开。据国家密码管理局表示,
其安全性及效率与SHA‑256相当。哈希函数能使对一个数据序列的访问过程更加迅速有效,
通过散列函数,数据元素将被更快地定位,常用哈希函数有:
[0089] 1、直接寻址法,取关键字或关键字的某个线性函数值为散列地址,即
[0090] H(key)=key或H(key)=a·key+b,其中a和b为常数(这种散列函数叫做自身函数)
[0091] 2、字分析法,分析一组数据,比如一组员工的出生年月日,这时我们发现出生年月日的前几位数字大体相同,这样的话,出现冲突的几率就会很大,但是我们发现年月日的后
几位表示月份和具体日期的数字差别很大,如果用后面的数字来构成散列地址,则冲突的
几率会明显降低。因此数字分析法就是找出数字的规律,尽可能利用这些数据来构造冲突
几率较低的散列地址。
[0092] 3、平方取中法,取关键字平方后的中间几位作为散列地址。
[0093] 4、折叠法,将关键字分割成位数相同的几部分,最后一部分位数可以不同,然后取这几部分的叠加和(去除进位)作为散列地址。
[0094] 5、随机数法,选择一随机函数,取关键字作为随机函数的种子生成随机值作为散列地址,通常用于关键字长度不同的场合。
[0095] 6、除留余数法,取关键字被某个不大于散列表表长m的数p除后所得的余数为散列地址。即H(key)=key MOD p,p<=m。不仅可以对关键字直接取模,也可在折叠、平方取中等
运算之后取模,对p的选择很重要,一般取素数或m,若p选的不好,容易产生碰撞。
[0096] 具体实施时,可以采用定期可靠性补发机制:
[0097] 发送方,对每个发送的数据包进行编号,发送完成后进行缓存;接收方,对每个接收的数据包进行校验、记录和处理,产生补发记录;正确的记录,以0标志位标识;异常的记
录,以其他数值进行标志,以保障发送方的补发实施;发送方,实时获取数据补发信息;无需
补充的数据,清理记录信息和缓存;需要补发的数据,进行数据的补发发送和再次记录;定
期数据补发机制,将根据定义的补发间隔(如1小时),将高密网中待补发记录信息,通过非
网络途径(如光盘刻录)等复制到低密网补发。
[0098] 具体实施时,还可以采用以下的可靠性传输机制:
[0099] 单向网闸环境中,数据的传输是单向的,网络设备本身或仅凭应用程序本身,很难做到数据传输的可靠性,可以通过如下策略手段,实现最小时间段内数据传输的可靠性和
实时性:
[0100] 高密网应用系统和低密网应用系统通过设置MQTT/TCP协议的Qos2策略,保证数据的可靠性;针对不同的主机或子网,通过对发送方数据传输的速率和流量控制,避免造成网
络阻塞,降低数据的丢包率;网络中发送的每个数据包,增加数据包的CRC校验码,确保数据
传输的完整性,避免残包、废包、被篡改包等情况发生;数据接收方,采取多线程异步处理模
式,使得网络接收和数据处理流程分离,极大程度降低接收线程的时间周期,降低因接收处
理缓慢而导致的网络数据丢包;网络传输数据包大小,提供可控制策略,尽可能降低数据包
过大被网络设备分包造成的丢包;定期可靠性补偿服务机制,包括,发送方,对每个发送的
数据包进行编号,发送完成后进行缓存,接收方,对每个接收的数据包进行校验、记录和处
理,产生补偿记录并上报到目标补偿中心。
[0101] 具体实施时,消息数据的传输标识的产生方式如下:
[0102] 1、低密网应用程序发布消息时,根据业务特点,自行定义该消息的唯一标识(字母、数字和部分特殊字符如_、‑等,长度不超过32)应生成唯一消息序列号;使用该标志记录
到传输审计记录中;作为消息级补偿发送的关键字,检索持久记录中是否存在该记录的数
据;
[0103] 2、低密网应用发布消息时,如果没有定义该消息的唯一标识,则低密网会自动分配一个唯一ID并使用。
[0104] 具体实施时,在高密网和低密网进行消息数据持久化存储,需要的定期维护如下:
[0105] 根据数据传输的策略配置,高低密网可以对传输中的消息,进行持久化存储,同时对持久化存储的数据开展定期维护:
[0106] 低密网转发到高密网的消息,消息一旦接收完整,在从持久化内存和硬盘区,进行清理;
[0107] 低密网的消息,转发到高密网后,会根据配置策略,持久化到内存或硬盘区,以便为数据补偿发送提供数据缓冲;
[0108] durablityTimeout时间内,消息被低密网持久化存储;
[0109] 超过durablityTimeout时间,消息被低密网清理,并释放内存或磁盘;
[0110] 高密网接收到来自高密网消息后,会根据配置策略,持久化到内存或硬盘区,以便为数据补偿发送提供数据缓冲;
[0111] durablityTimeout时间内,消息被高密网持久化存储;
[0112] 超过durablityTimeout时间,消息被高密网清理,并释放内存或磁盘。
[0113] 上述高低密网络间的数据交换方法,在高密网和低密网之间部署单向网闸,只允许消息数据从低密网传输到高密网,保证高密网数据的安全性;数据传输前需要对消息数
据进行传输拆解,高密网对拆解的消息数据进行传输组装,通过判断消息数据的正确性和
完整性生成反馈信息并发送到低密网,根据反馈信息判断是否需要补发消息数据;这样,可
以实时监测消息数据的传输是否正确完整,可以提高数据传输的实时性和有效性,保证数
据传输的完整性和可靠性。
[0114] 实施例二:
[0115] 参照图8和图9,一种高低密网络间的数据交换系统,用于应用上述高低密网络间的数据交换方法,包括低密网传输组件、高密网传输组件、单向网闸、光盘机、分析模块和解
析判断模块;
[0116] 所述低密网传输组件包括低密接收模块、低密控制模块、低密转发模块、低密补发模块和低密存储模块,低密接收模块用于接收低密网业务系统上传的消息数据,每条消息
数据具有唯一的传输标识;低密控制模块用于对消息数据进行传输拆解,低密转发模块用
于将拆解的消息数据传输到单向网闸,低密存储模块用于对拆解的消息数据进行持久化存
储,低密补发模块用于从低密存储模块中提取持久化存储的消息数据进行补发;
[0117] 所述高密网传输组件包括高密接收模块、高密控制模块、高密转发模块和高密存储模块,高密接收模块用于接收单向网闸传输的拆解的消息数据,高密控制模块用于对拆
解的消息数据进行传输组装,高密转发模块用于将组装的消息数据发送到高密网业务系
统,并将反馈信息打包并传输到光盘机;高密存储模块用于对反馈信息和组装的消息数据
进行持久化存储;
[0118] 所述光盘机用于将反馈信息刻制成光盘并传输到低密网,分析模块用于根据传输标识校验组装的消息数据的正确性和完整性,并生成相应的反馈信息;解析判断模块用于
对反馈信息进行解析并判断是否为补发信息,若是,则根据补发信息的传输标识补发相应
的消息数据;若否,则判定该次消息数据传输完成。当判断消息数据传输正确并完整时,高
密转发模块将数据一次性转发给高密网业务系统。
[0119] 上述高低密网络间的数据交换系统中,还包括低密网数据库和高密网数据库,低密网数据库用于写入消息数据的描述信息和第一审计信息,以及存储消息数据的打包文
件;高密网数据库用于写入消息数据的描述信息、第二审计信息、补发错误信息和补发丢失
信息,存储消息数据、错误消息数据或缺失消息数据的打包文件。具体地,判断消息数据正
确性和完整性之前,还需要对第一审计信息和第二审计信息进行判断,只有当第一审计信
息和第二审计信息匹配吻合时,才进行后续步骤。
[0120] 上述高低密网络间的数据交换系统中,低密网业务系统采用TCP协议将消息数据上传到低密接收模块,低密转发模块采用UDP协议通过单向网闸将拆解的消息数据传输到
高密接收模块,高密转发模块采用TCP协议将组装的消息数据发送到高密网业务系统。
[0121] 上述高低密网络间的数据交换系统的运行过程:
[0122] 1、系统注册,上述数据交换系统提供注册服务,各个低密网业务系统和高密网业务系统通过注册服务完成应用注册。
[0123] 2、传输通道,可以采用TCP协议或者MQTT协议接收所有低密网业务系统上传的数据,根据配置文件通道数,启动相应数量的发送线程,每个发送线程对应一个通道,接收消
息线程根据负载最小原则分配消息任务到对应发送线程。
[0124] 3、低密网传输,低密接收模块接收低密网业务系统上传的消息数据,解析消息数据,获得每个消息数据的唯一传输标识,为该条消息数据配置包重发策略;根据消息数据的
文件大小判断是否需要分包,若是,则根据分包算法拆分消息数据,拆分成多个数据包,并
且为每个数据包增加序列号,并为每个数据包增加包头,序列号存储在包头信息内,若否,
则直接为消息数据增加包头;进入发送线程队列,消息描述信息写入低密网数据库,消息体
写入目标文件中;根据消息数据的主题名和消息长度,在低密网数据库查找目标文件名,并
判断是否需要创建新文件,若是,则创建新文件,文件名为“主题名+序号”,将消息数据写入
新文件中,若否,则直接将消息数据写入找到的目标文件中;数据消息持久化处理,并采用
UDP协议将消息数据传输到高密网。
[0125] 4、高密网传输,根据配置文件通道数,启动相应接收线程,每个接收线程对应一个通道,接收低密网传输来消息数据,获取消息数据的包头信息,根据消息数据生成第二审计
信息,读取审计信息入库队列信息,从数据库连接池获取数据库连接,将第二审计信息写入
高密网数据库;通过totalFragment判断消息数据是否为多个片段的数据包,若是,则为数
据包去掉包头,对多个数据包进行组包处理,组装成完整片段的消息数据;若否,则直接为
消息数据去掉包头;
[0126] 5、分析模块,根据消息数据的传输标识判断消息数据是否正确,若是,则判断消息数据的完整性,若否,则生成相应的补发错误信息,并向相应的高密网业务系统发送错误消
息数据的主题名和通知信息;根据消息数据的包头信息判断消息数据是否完整,若是,则向
相应的高密网业务系统发送消息数据的主题名和消息描述信息;若否,则生成相应的补发
丢失信息,并实时向相应的高密网业务系统发送丢失消息数据的主题名和通知信息;
[0127] 6、高密网数据持久化存储,设置消息数据传输的预设时间,并判断接收低密网数据传输是否到达预设时间,若否,则继续检测,若是,则读取预设时间内接收的所有分片数
据包;根据分片数据包及其包头信息断消息数据的传输是否完整,若是,则向相应的高密网
业务系统发送消息数据的主题名和消息描述信息;若否,则将错误或缺失的消息数据及编
号,以及补发错误信息和补发丢失信息写入高密网数据库;根据错误的消息数据的主题名
和消息长度,在高密网数据库查找目标文件名,并判断是否需要创建新文件,若是,则创建
新文件,文件名为“主题名+序号”,将错误的消息数据写入新文件中,若否,则将错误的消息
数据写入找到的目标文件中;高密网通过主题“错误或丢失消息”,实时发布错误消息或丢
失消息的编号,高密网只收到消息的部分分片数据包时,通过主题“错误或丢失消息”,发布
未收到的分片信息。
[0128] 7、解析判断模块,低密网接收反馈信息,根据补发信息的传输标识在低密网数据库中查找相应的目标文件名,若查找成功,则从低密网数据库中调取相应的消息数据和目
标文件,将正确的消息数据或者消息数据中的缺失数据重新发送到高密网;若查找失败,则
判定低密网数据库中不存在相应的消息数据和目标文件,将补发信息对应的
retransNoticeMessage主题下发到相应的低密网业务系统;相应的低密网业务系统根据补
发信息的传输标识检索到该Notice消息,判断出该数据包不存在,则重新上传相应的消息
数据。
[0129] 8、消息数据重复发送策略,低密网对每个待发送的消息数据,根据配置文件可靠性传输的预设值,生成预设个数的消息数据副本,并将消息数据及其副本数据一起传输到
高密网;高密网通过消息数据的消息ID、数据包的序列号,丢弃收到的重复消息。消息数据
传输时,以重复副本方式发送消息,高密网收到低密网消息,判断消息ID是否一致,若是则
丢弃,不重发,若否则重发,可以一定程度确保消息传输的可靠性,比如,生成2个消息副本,
一起发送3个消息到高密网,这样可以一定程度保证消息传输可靠性。具体实施时,通过一
定比率的数据包重发控制(如:发1补1、发3补1策略)达到数据包补偿;包重发控制策略,是
针对存在浪费部分带宽的情况,可通过预先测试网络环境或补偿自学习,来最大程度低提
高数据传输的可靠性。
[0130] 上述高低密网络间的数据交换系统中,在高密网和低密网之间部署单向网闸,只允许消息数据从低密网传输到高密网,保证高密网数据的安全性;数据传输前需要对消息
数据进行传输拆解,高密网对拆解的消息数据进行传输组装,通过判断消息数据的正确性
和完整性生成反馈信息并发送到低密网,根据反馈信息判断是否需要补发消息数据;这样,
可以实时监测消息数据的传输是否正确完整,可以提高数据传输的实时性和有效性,保证
数据传输的完整性和可靠性。
[0131] 最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方
案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明
的保护范围当中。