基于GM二维码的跨网系统间单向数据传输的方法和系统与流程

文档序号:17536351发布日期:2019-04-29 14:01阅读:879来源:国知局
基于GM二维码的跨网系统间单向数据传输的方法和系统与流程

本发明属于跨网数据传输技术领域,具体涉及一种基于gm二维码的跨网系统间单向多路数据传输的系统。



背景技术:

随着信息技术的迅猛发展,计算机信息网络已应用于社会各个行业,信息产业已成为国民经济的重要支柱产业,信息技术和网络技术正向政治、经济、军事、文化等各个领域广泛渗透,极大地促进我国各个领域的发展和社会进步。与此同时,黑客攻击、病毒侵害等给计算机信息网络特别是关系国计民生的国家基础设施信息网络等重点信息网络造成了严重的安全威胁,成为了威胁网络安全的一大公害。为适应这种新形势下的工作需要,必须利用先进的信息化手段武装起来,其中一个很重要的手段就是实现外部网络系统的数据单向传输到内部网络的系统中。

目前在该领域内有两种解决方案:一种是基于光纤传输的单向数据传输机,发射的部分只负责发射,接收的部分只负责接收,实现单向隔离。另一种是基于普通二维码图像作为内外网之间传递数据的载体,通过高清摄像头读取二维图像显示器实现数据文件的单向传输。

但是目前的方法仍然存在以下几点较大的不足:

(1)基于光纤传输的单向数据传输没有做到完全的物理隔离。

(2)基于普通二维码的图像数据传输,由于生成规则、解析类库均为国外厂商提供,如果应用到我国较为敏感的领域,不可控因素大,容易被不法分子轻易窃取二维码中的信息。

(3)当前基于普通二维码的图像数据传输设备的工作模式大多为一次只读取一张二维码图像,然后解析数据,最后存储数据。传输速度15kb/s左右,传输速度较慢。

(4)目前该领域的数据传输系统多为文件摆渡类型,不能做到跨网系统间单向无缝数据传输。

(5)成本高,不易于推广,需要重新购置计算机、显示器等相关硬件设备,不能复用用户现有设备。

网格矩阵码(gm)是一种正方形的二维码码制,该码制的码图由正方形宏模块组成,每个宏模块由6乘6个正方形单元模块组成。网格码可以编码存储一定量的数据并提供5个用户可选的纠错等级。该技术在全球领先性在于:超强纠错能力;图形中没有死穴;储存容量大,可对任何计算机数字信息编码。在2011年5月25日,被发布成为国家军用标准(gjb7365-2011)。可见基于gm二维码开发单向跨网传输设备可以克服许多现有问题。然而gm二维码的生成和解码需要较大的运算量,如果要保证传输速度,就必须

考虑并行处理的解决方案。



技术实现要素:

本发明的目的是为了克服已有技术的缺陷,为了解决目前单向数据传输系统不能做到在完全物理隔离的条件下,安全、快速传输数据的问题,提出一种基于gm二维码的跨网单向多路数据传输的系统。

本发明是由如下技术方案实现的:

一种基于gm二维码的跨网单向多路数据传输方法,包括如下步骤:

步骤一)外网系统通过系统提供的接口将数据提供给本系统,随后系统将数据存储到数据库中缓存下来。从数据库提取出需要传输的数据,加载到内存中,成为待加密数据;

步骤二)将待加密数据进行加密处理;

步骤三)将加密过的数据通过gm二维码协议转化为二维码,并通过显示屏幕显示出来;所述显示屏幕分割为多个显示区域,每一个显示区域显示一个二维码;所述每个显示区域的前方均设有一个用于采集该区域内二维码的摄像头;

步骤四)各个摄像头将拍摄到的含二维码的图像输入到二维码解析模块,二维码解析模块通过训练好的yolo模型,识别屏幕位置,对图像进行校准并抓取出二维码;

步骤五)二维码解析模块对屏幕的倾斜程度进行定量判断,并根据屏幕的倾斜程度对图像进行斜率旋转矫正;

步骤六)读取出处理好的二维码图像中的加密信息,再进行解密;

步骤七)存储解密后的数据。外网系统可以根据本系统提供的接口获取传输过来的数据。

进一步的,所述的一种基于gm二维码的跨网单向多路数据传输方法,其特征在于,所述二维码解析模块内处理器核心的数量与摄像头数量相同,每个处理器核心对一个摄像头传来的图像进行处理。

进一步的,所述步骤二)中采用tripledes加密算法对待加密数据进行加密处理。

进一步的,所述步骤四)中的yolo模型采用卷积神经网络训练得到,训练过程中,首先构建二维码屏幕的voc数据集;然后,利用标定工具标记原始图像的目标区域;最后,训练这些被标记的样本来实现定位屏幕位置。

进一步的,所述步骤五)中二维码解析模块对屏幕的倾斜程度进行定量判断的方法为:显示屏幕上的图像中还有一条红色的直线,利用霍夫曼直线变换检测出红线;然后,计算出红线的斜率,斜率为0则不做操作,斜率不为0则通过斜率旋转矫正图像。

进一步的,所述显示屏幕上显示的二维码呈两行排列,红线位于两行二维码的中间位置。

一种基于gm二维码的跨网单向多路数据传输系统,包括生成数据处理模块,生成数据处理模块内包括数据读取处理单元、数据加密处理单元和gm二维码生成单元、生成数据处理模块连接有显示屏幕;所述显示屏幕分割为多个显示区域,每一个显示区域显示一个二维码;所述每个显示区域的前方均设有一个用于采集该区域内二维码的摄像头,全部摄像头组合在一起形成gm二维码采集模块;gm二维码采集模块连接有解析数据处理模块,所述解析数据处理模块包括并行多路解析gm二维码单元,数据解密处理单元,数据存储处理单元,数据传输接口配置单元;

通过数据传输接口配置单元配置好数据传输格式,读取处理单元将需要传输的数据从数据库中加载到内存,成为待加密数据;数据加密处理单元把待加密数据进行加密;gm二维码单元生成单元将加密后的数据转换成gm二维码显示到显示屏幕上;gm二维码采集模块通过摄像头采集图像并传输到解析数据处理模块;并行多路解析gm二维码单元解析出二维码中的加密数据,数据解密处理单元对接收到的数据进行解密处理;数据存储处理单元将解析到的数据存储起来以供使用。

进一步的,所述显示屏幕分割为6个显示区域,gm二维码采集模块包括6个摄像头;所述并行多路解析gm二维码单元有6个处理器核心,每个处理器核心对一个摄像头传来的图像进行处理。

进一步的,生成数据处理模块和gm二维码显示模块通过vga线相连;gm二维码采集模块和解析数据处理模块通过usb线相连。

本发明的有益效果为:

本系统做到了在真正完全物理隔离的条件下,实现跨网的两个系统间安全、快速的传输数据的问题。

(1)本系统做到了真正意义上的完全的物理隔离,保密要求明确规定内设备与外网设备在物理隔离的条件下,至少间隔距离1米以上才符合要求,本系统完全符合要求。

(2)对于普通二维码来说,由于生成规则、解析类库均为国外厂商提供,不可控因素大,本系统的gm二维码生成规则为国家相关机构制定,解析类库为自主研发,做到了完全自主可控。

(3)当前基于普通二维码的图像数据传输设备的工作模式大多为一次传输一张二维码图像数据,传输速度15kb/s左右,传输速度较慢。本系统通过屏幕独立显示六张二维码,六个摄像头并行采集屏幕上的六张二维码,随后并行解析数据,解析一张屏幕显示的二维码图片速度在200ms以内,整体的数据传输速度达到了50kb/s左右。

(4)目前该领域的数据传输系统多为文件摆渡,本系统专注于做跨网系统间单向多路无缝数据传输。

(5)成本低,易于推广。在屏幕识别算法、图像矫正算法的保证下,使得整个系统不要求过高的安装精度。用户既可以使用系统标准配置设备,又可以使用自己闲置的计算机显示器等设备。

附图说明

图1为一种基于gm二维码的跨网单向多路数据传输系统示意图;

图2为屏幕分区示意图;

图3为屏幕与摄像头配合示意图;

图4为检测屏幕放置倾斜后自动矫正图像流程图;

图5为本发明利用yolo模型抓取屏幕的效果。

具体实施方式

一种基于gm二维码的跨网单向多路数据传输系统,包括生成数据处理模块1,生成数据处理模块内包括数据读取处理单元、数据加密处理单元和gm二维码生成单元、生成数据处理模块连接有显示屏幕2;所述显示屏幕2分割为多个显示区域,每一个显示区域显示一个二维码;所述每个显示区域的前方均设有一个用于采集该区域内二维码的摄像头,全部摄像头组合在一起形成gm二维码采集模块3;gm二维码采集模块3连接有解析数据处理模块4,所述解析数据处理模块4包括并行多路解析gm二维码单元,数据解密处理单元,数据存储处理单元,数据传输接口配置单元。

现在的工控机或计算机cpu通常为4到6核,为了追求更高的传输速度,本系统使用6线程并行处理:即采用6核处理器通过6个摄像头处理6个二维码,以便每个线程分别采集、处理自己对应的二维码。这样一来cpu使用率可达90%以上,系统就可以充分利用计算资源。

各个单元的作用

数据读取处理单元:将需要传输的数据从数据库中加载到内存,成为待加密数据。

数据加密处理单元:采用tripledes算法对待加密数据进行加密处理。tripledes是三重数据加密算法(tdea,tripledataencryptionalgorithm)块密码的通称。它相当于是对每个数据块应用三次des加密算法,通过增加des的密钥长度来提高安全性。

gm二维码生成单元:根据gm二维码协议规范,并行将数据生成六张gm二维码显示在设备屏幕上。

并行多路解析gm二维码单元:采用六个摄像头并行采集屏幕二维码信息,根据gm二维码协议规范并行解析数据。

数据解密处理单元:对接收到的数据进行解密处理。

数据存储处理单元:将解密的数据存储到数据库中。

数据传输接口配置单元:配置外网中系统的数据传输到内网中的数据传输的数据格式,以便达到外网系统能够通过接口将待发送数据存储到本系统数据库中;内网系统能够通过接口获得传输过来的存储在本系统数据库中的数据。

以从外网向内网中传输数据为例,上述组成部件间的连接关系为:外网中的服务器和生成数据处理模块通过网线相连;生成数据处理模块和gm二维码显示模块通过vga线相连;gm二维码采集模块和解析数据处理模块通过usb线相连;解析数据处理模块和内网中的服务器通过网线相连。

一种基于gm二维码的跨网单向多路数据传输方法,包括如下步骤:

步骤一)首先,启动系统,在系统中设置好数据传输格式。外网系统通过系统提供的接口将数据提供给本系统,随后系统将数据存储到数据库中缓存下来,加载到内存中,成为待加密数据;

步骤二)将待加密数据进行加密处理;

步骤三)将加密过的数据通过gm二维码协议转化为二维码,并通过显示屏幕显示出来;所述显示屏幕分割为多个显示区域,每一个显示区域显示一个二维码;所述每个显示区域的前方均设有一个用于采集该区域内二维码的摄像头;

步骤四)各个摄像头将拍摄到的含二维码的图像输入到二维码解析模块,二维码解析模块通过训练好的yolo模型,识别屏幕位置,对图像进行校准并抓取出二维码;

步骤五)二维码解析模块对屏幕的倾斜程度进行定量判断,并根据屏幕的倾斜程度对图像进行斜率旋转矫正;

步骤六)读取出处理好的二维码图像中的加密信息,再进行解密;

步骤七)存储解密后的数据。内网中的系统通过本系统提供的接口获取数据。

其中包含两个重要的算法:

第一个为步骤四)中的yolo模型:在设备启动初始化时,利用yolo(youonlylookonce)物体检测算法训练出识别屏幕位置的模型,在初始化的时候定位屏幕的位置,校验是否存在屏幕,如果存在,校准屏幕位置。

其中,yolo采用卷积网络提取特征,然后使用全连接层来得到预测值。网络结构参考goolenet模型,包含24个卷积层和2个全连接层。对于卷积层,主要使用1x1卷积来做channlereduction,然后紧跟3x3卷积。对于卷积层和全连接层,用leakyrelu激活函数,最后一层采用线性激活函数。整体上,yolo算法采用一个单独的cnn模型实现end-to-end的目标检测,首先将输入图片resize到448x448,然后送入cnn网络,最后处理网络预测结果得到检测的目标。

本系统构建自己的yolo模型。首先,自己构建二维码屏幕的voc数据集;然后,利用标定工具标记原始图像的目标区域;最后,训练这些被标记的样本来实现定位屏幕位置的目的。具体的训练步骤为:

第一步:数据处理;用标注工具标注完图片,先将数据集准备成类似voc的格式,需要三个文件夹中的两个。jpegimages:用于存放所有的图片,格式为.jpg;annotations:用于存放与图片对应的xml文件。

第二步:准备好相关文件和文件夹train.txt,val.txt,screen_train.txt,screen_val.txt.还有一个labels文件夹。具体为:train.txt:存放用于训练的图片的名字,每行一个名字;val.txt:存放用于验证的图片的名字,每行一个名字;screen_train.txt:存放用于训练的图片的绝对路径,每行一个路径;screen_val.txt:存放用于验证的图片的绝对路径,每行一个路径;labels文件夹的txt:里面装着每张图片对应的txt文件,名字与图片命名相同。每个文件存放的是对应图片的标注信息,每行一个目标,若有多行则表示读应图片上有多个目标。

第三步:在项目目录下建立一个screen.names文件,里面存放类别名,每行存一个。修改cfg文件夹下的screen_voc.data和yolov3-voc.cfg

第四步:下载预训练模型,在darknet目录下开始输入命令训练。

第二个是步骤五)中检测屏幕放置倾斜后自动矫正图像的算法。

如图2所示,gm二维码单元生成的图像除了涵盖必须的六张二维码外,图像中间还有一条红色的直线(即图2中间位置的较粗横线),六个二维码两行排列,红线位于两行二维码的中间位置。具体算法如图4所示,利用霍夫曼直线变换检测出红线;然后,计算出红线的斜率;接着,计算斜率是否为0;最后,斜率如果为0不做操作,否则通过斜率旋转矫正图像。

在屏幕识别算法、图像矫正算法的保证下,使得整个系统不要求过高的安装精度。用户既可以使用系统标准配置设备,又可以使用自己闲置的计算机显示器等设备。

综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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