一种数据传输装置及方法转让专利

申请号 : CN202310201044.X

文献号 : CN116074112B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李冠宇邱文博张翼飞胡轶群王亚丁王鹏郭海孙成龙

申请人 : 国家海洋技术中心

摘要 :

本发明公开一种数据传输装置及方法,属于海洋观测技术领域。所述数据传输装置包括:单片机、移动无线通讯设备、地面专线通讯设备和北斗通讯设备。本发明的数据传输装置设置了移动无线通讯设备、地面专线通讯设备和北斗通讯设备等多种通讯设备,在一种损坏时,其他设备也可以进行海洋观测数据的传输,提高了海洋观测数据传输的安全性,本发明在数据传输之前还采用双重加密方法对数据进行加密,提高了海洋观测数据传输的安全性。

权利要求 :

1.一种数据传输装置,其特征在于,所述数据传输装置包括:单片机、移动无线通讯设备、地面专线通讯设备和北斗通讯设备;

所述单片机的第一串口与数据采集器连接;

所述单片机的第二串口与所述移动无线通讯设备连接,所述移动无线通讯设备与数据中心无线连接;

所述单片机的第三串口与所述地面专线通讯设备连接,所述地面专线通讯设备与所述数据中心有线连接;

所述单片机的第四串口与所述北斗通讯设备连接,所述北斗通讯设备与所述数据中心无线连接;

所述单片机用于接收数据采集器的数据,并将所述数据采用双重加密方法加密,获得加密数据,并将所述加密数据采用移动无线通讯设备、地面专线通讯设备和北斗通讯设备中的至少一种发送给数据中心;所述双重加密方法包括字符串异或加密和SM4算法加密;

所述双重加密方法具体为:

将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5;

基于异或加密密钥字符串A5对数据字符串D0进行逐位异或操作,获得一重加密后的数据字符串D1;所述数据字符串D0为第一缓存空间内的缓存数据组成的字符串;

将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1;

随机生成加密步长C1;

基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据;

所述基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据,具体包括:初始化第一中间字符串为一重加密后的数据字符串D1,第二中间字符串为空;

从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部;

从第一中间字符串的第C1+1位起,截取15个字符长度的第二子字符串;

判断所述第二子字符串的实际数据长度是否为15位,获得第一判断结果;

若所述第一判断结果表示是,则在所述第二子字符串的尾部补入所述第二子字符串的实际数据长度,获得第三子字符串,基于所述SM4加密密钥字符串M1对所述第三子字符串进行SM4加密,将加密后的第三子字符串追加到第二中间字符串的尾部,并将第一中间字符串中第一位起的C1+15位数据删除,得到更新后的第一中间字符串;

判断所述第一中间字符串的实际数据长度是否小于加密步长C1,获得第二判断结果;

若所述第二判断结果表示否,则返回步骤“从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部”;

若所述第二判断结果表示是,则将所述第一中间字符串添加至所述第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2;

若所述第一判断结果表示否,则将所述第二子字符串用字符F补齐到15位,获得第四子字符串,在所述第四子字符串的尾部补入所述第二子字符串的实际数据长度,获得第五子字符串;基于所述SM4加密密钥字符串M1对所述第五子字符串进行SM4加密,并将加密后的第五子字符串追加到第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2。

2.根据权利要求1所述的数据传输装置,其特征在于,所述单片机采用型号为STC15W4K32S4的增强型51单片机。

3.根据权利要求1所述的数据传输装置,其特征在于,所述数据传输装置还包括:电源管理模块、液晶显示屏和矩阵键盘;

所述电源管理模块分别与所述单片机、所述移动无线通讯设备、所述地面专线通讯设备和所述北斗通讯设备连接;

所述液晶显示屏和所述矩阵键盘均与所述单片机连接。

4.根据权利要求3所述的数据传输装置,其特征在于,所述电源管理模块包括:供电电源、AMS1117‑5芯片、MC34063A芯片、电阻R5和电阻R6;

所述供电电源与所述AMS1117‑5芯片的输入端连接,所述AMS1117‑5芯片用于输出5V电源;所述5V电源用于给所述单片机供电;

所述供电电源与所述MC34063A芯片的第6引脚连接,所述MC34063A芯片的第5引脚分别与所述电阻R5的一端、所述电阻R6的一端连接,所述电阻R5的另一端接地,所述电阻R6的另一端用于输出24V电源,所述24V电源用于为所述北斗通讯设备供电;

所述供电电源为12V电源,所述12V电源用于为所述移动无线通讯设备和所述地面专线通讯设备供电。

5.一种数据传输方法,其特征在于,所述数据传输方法应用于权利要求1‑4任一项所述的数据传输装置,所述数据传输方法包括如下步骤:基于通讯设备设置确定用于发送所述数据的通讯设备的类型;所确定的类型为目标类型;所述类型为移动无线通讯设备、地面专线通讯设备或北斗通讯设备;

采用中断接收的方式接收数据采集器传输的监测数据或数据中心传输的命令指令,并存入第一缓存空间;

采用定时中断的方式从所述第一缓存空间读取缓存数据,所述缓存数据为监测数据或命令指令;

根据所述缓存数据的包头标志码和包尾标志码确定所述缓存数据是否为监测数据;

当所述缓存数据为监测数据时,对所述缓存数据采用双重加密方法进行加密获得加密数据,并将所述加密数据存入所述目标类型的通讯设备对应的第二缓存空间中;

采用定时中断的方式从所述目标类型的通讯设备对应的第二缓存空间中读取所述加密数据,并通过所述目标类型的通讯设备将所述加密数据发送给数据中心;

当所述缓存数据不为监测数据时,将所述缓存数据采用阻塞方式发送给所述数据采集器;

所述双重加密方法具体为:

将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5;

基于异或加密密钥字符串A5对数据字符串D0进行逐位异或操作,获得一重加密后的数据字符串D1;所述数据字符串D0为第一缓存空间内的缓存数据组成的字符串;

将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1;

随机生成加密步长C1;

基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据;

所述基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据,具体包括:初始化第一中间字符串为一重加密后的数据字符串D1,第二中间字符串为空;

从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部;

从第一中间字符串的第C1+1位起,截取15个字符长度的第二子字符串;

判断所述第二子字符串的实际数据长度是否为15位,获得第一判断结果;

若所述第一判断结果表示是,则在所述第二子字符串的尾部补入所述第二子字符串的实际数据长度,获得第三子字符串,基于所述SM4加密密钥字符串M1对所述第三子字符串进行SM4加密,将加密后的第三子字符串追加到第二中间字符串的尾部,并将第一中间字符串中第一位起的C1+15位数据删除,得到更新后的第一中间字符串;

判断所述第一中间字符串的实际数据长度是否小于加密步长C1,获得第二判断结果;

若所述第二判断结果表示否,则返回步骤“从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部”;

若所述第二判断结果表示是,则将所述第一中间字符串添加至所述第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2;

若所述第一判断结果表示否,则将所述第二子字符串用字符F补齐到15位,获得第四子字符串,在所述第四子字符串的尾部补入所述第二子字符串的实际数据长度,获得第五子字符串;基于所述SM4加密密钥字符串M1对所述第五子字符串进行SM4加密,并将加密后的第五子字符串追加到第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2。

6.根据权利要求5所述的数据传输方法,其特征在于,所述将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5,具体包括:对所述随机字符串A2进行重复叠加获得长度与所述固定字符串A1一致的第一叠加字符串A3;

将所述固定字符串A1与所述第一叠加字符串A3进行逐位异或操作,获得初步异或加密字符串A4;

对所述初步异或加密字符串A4进行重复叠加获得长度与所述数据字符串D1一致的异或加密密钥字符串A5。

7.根据权利要求5所述的数据传输方法,其特征在于,所述将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1,具体包括:对所述随机字符串A2进行重复叠加获得长度与所述SM4加密密钥一致的第二叠加字符串B1;

将所述SM4加密密钥与所述第二叠加字符串B1进行逐位异或操作,获得SM4加密密钥字符串M1。

8.一种双重加密方法,其特征在于,所述双重加密方法具体为:

将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5;

基于异或加密密钥字符串A5对数据字符串D0进行逐位异或操作,获得一重加密后的数据字符串D1;所述数据字符串D0为第一缓存空间内的缓存数据组成的字符串;

将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1;

随机生成加密步长C1;

基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为加密数据;

所述基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为加密数据,具体包括:初始化第一中间字符串为一重加密后的数据字符串D1,第二中间字符串为空;

从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部;

从第一中间字符串的第C1+1位起,截取15个字符长度的第二子字符串;

判断所述第二子字符串的实际数据长度是否为15位,获得第一判断结果;

若所述第一判断结果表示是,则在所述第二子字符串的尾部补入所述第二子字符串的实际数据长度,获得第三子字符串,基于所述SM4加密密钥字符串M1对所述第三子字符串进行SM4加密,将加密后的第三子字符串追加到第二中间字符串的尾部,并将第一中间字符串中第一位起的C1+15位数据删除,得到更新后的第一中间字符串;

判断所述第一中间字符串的实际数据长度是否小于加密步长C1,获得第二判断结果;

若所述第二判断结果表示否,则返回步骤“从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部”;

若所述第二判断结果表示是,则将所述第一中间字符串添加至所述第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2;

若所述第一判断结果表示否,则将所述第二子字符串用字符F补齐到15位,获得第四子字符串,在所述第四子字符串的尾部补入所述第二子字符串的实际数据长度,获得第五子字符串;基于所述SM4加密密钥字符串M1对所述第五子字符串进行SM4加密,并将加密后的第五子字符串追加到第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2。

9.根据权利要求8所述的双重加密方法,其特征在于,所述将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5,具体包括:对所述随机字符串A2进行重复叠加获得长度与所述固定字符串A1一致的第一叠加字符串A3;

将所述固定字符串A1与所述第一叠加字符串A3进行逐位异或操作,获得初步异或加密字符串A4;

对所述初步异或加密字符串A4进行重复叠加获得长度与所述数据字符串D1一致的异或加密密钥字符串A5。

10.根据权利要求8所述的双重加密方法,其特征在于,所述将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1,具体包括:对所述随机字符串A2进行重复叠加获得长度与所述SM4加密密钥一致的第二叠加字符串B1;

将所述SM4加密密钥与所述第二叠加字符串B1进行逐位异或操作,获得SM4加密密钥字符串M1。

说明书 :

一种数据传输装置及方法

技术领域

[0001] 本发明涉及海洋观测技术领域,特别是涉及一种数据传输装置及方法。

背景技术

[0002] 海洋观测预报系统由海洋观测网、数据传输网、预报系统、信息服务系统和灾害评估系统组成,主要功能是实现水文气象要素的采集、传输、预报信息产品的制作分发,对人民群众生活、海洋经济建设、防灾减灾、国防安全和科学研究有着非常重要的意义。海洋观测网由海洋站水文气象自动观测系统、浮标、志愿船/调查船水文气象观测系统、雷达、漂流浮标、海床基、潜标等组成,主要功能是实现水文气象要素的现场采集,为预报信息产品的制作提供数据;数据传输网采用3G/4G/5G无线通讯、卫星、地面专线通讯设备等通信方式,实现数据的传输和产品的分发;预报系统采用经验统计和数值预报相结合的方式提供预报产品;信息系统提供信息产品,为用户服务。
[0003] 海洋观测网中的海洋站水文气象自动观测系统目前都采用明文数据传输方式把观测数据传输给数据中心,通讯方式一般采用一种通讯方式,存在如下缺点:
[0004] 采用明文数据传输方式,数据在网络传输过程中,很容易被抓包。水文气象数据就很容易被别人获取。尤其沿岸潮位变化直接关系到船舶的进出港口、海洋和海岸工程设计、海军的水雷布设深度、风暴潮汐预报、海涂围垦、潮汐发电等方面,另外潮位观测对确定平均海平面和深度基准面、潮汐表制作、风暴潮预报、海上作战指挥、海底电缆的敷设、地震预报等具有非常重要的意义。数据的泄密将造成不可估量的损失。
[0005] 通讯方式一般采用一种通讯方式,使用的通讯方式为3G/4G/5G无线通讯、地面专线通讯设备、北斗2通讯中的一种,当一种通讯发生故障后,造成观测数据不能及时的传输给数据中心,从而不能及时的为预报系统提供数据,影响了预报的准确度。

发明内容

[0006] 本发明的目的是提供一种数据传输装置及方法,以提高海洋观测数据传输的安全性和可靠性。
[0007] 为实现上述目的,本发明提供了如下方案:
[0008] 本发明提供一种数据传输装置,所述数据传输装置包括:单片机、移动无线通讯设备、地面专线通讯设备和北斗通讯设备;
[0009] 所述单片机的第一串口与数据采集器连接;
[0010] 所述单片机的第二串口与所述移动无线通讯设备连接,所述移动无线通讯设备与数据中心无线连接;
[0011] 所述单片机的第三串口与所述地面专线通讯设备连接,所述地面专线通讯设备与所述数据中心有线连接;
[0012] 所述单片机的第四串口与所述北斗通讯设备连接,所述北斗通讯设备与所述数据中心无线连接;
[0013] 所述单片机用于接收数据采集器的数据,并将所述数据采用双重加密方法加密,获得加密数据,并将所述加密数据采用移动无线通讯设备、地面专线通讯设备和北斗通讯设备中的至少一种发送给数据中心;所述双重加密方法包括字符串异或加密和SM4算法加密。
[0014] 可选的,所述单片机采用型号为STC15W4K32S4的增强型51单片机。
[0015] 可选的,所述数据传输装置还包括:电源管理模块、液晶显示屏和矩阵键盘;
[0016] 所述电源管理模块分别与所述单片机、所述移动无线通讯设备、所述地面专线通讯设备和所述北斗通讯设备连接;
[0017] 所述液晶显示屏和所述矩阵键盘均与所述单片机连接。
[0018] 可选的,所述电源管理模块包括:供电电源、AMS1117‑5芯片、MC34063A芯片、电阻R5和电阻R6;
[0019] 所述供电电源与所述AMS1117‑5芯片的输入端连接,所述AMS1117‑5芯片用于输出5V电源;所述5V电源用于给所述单片机供电;
[0020] 所述供电电源与所述MC34063A芯片的第6引脚连接,所述MC34063A芯片的第5引脚分别与所述电阻R5的一端、所述电阻R6的一端连接,所述电阻R5的另一端接地,所述电阻R6的另一端用于输出24V电源,所述24V电源用于为所述北斗通讯设备供电;
[0021] 所述供电电源为12V电源,所述12V电源用于为所述移动无线通讯设备和所述地面专线通讯设备供电。
[0022] 一种数据传输方法,所述数据传输方法应用于上述的数据传输装置,所述数据传输方法包括如下步骤:
[0023] 基于通讯设备设置确定用于发送所述数据的通讯设备的类型;所确定的类型为目标类型;所述类型为移动无线通讯设备、地面专线通讯设备或北斗通讯设备;
[0024] 采用中断接收的方式接收数据采集器传输的监测数据或数据中心传输的命令指令,并存入第一缓存空间;
[0025] 采用定时中断的方式从所述第一缓存空间读取缓存数据,所述缓存数据为监测数据或命令指令;
[0026] 根据所述缓存数据的包头标志码和包尾标志码确定所述缓存数据是否为监测数据;
[0027] 当所述缓存数据为监测数据时,对所述缓存数据采用双重加密方法进行加密获得加密数据,并将所述加密数据存入所述目标类型的通讯设备对应的第二缓存空间中;
[0028] 采用定时中断的方式从所述目标类型的通讯设备对应的第二缓存空间中读取所述加密数据,并通过所述目标类型的通讯设备将所述加密数据发送给数据中心;
[0029] 当所述缓存数据不为监测数据时,将所述缓存数据采用阻塞方式发送给所述数据采集器。
[0030] 可选的,所述双重加密方法具体为:
[0031] 将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5;
[0032] 基于异或加密密钥字符串A5对数据字符串D0进行逐位异或操作,获得一重加密后的数据字符串D1;所述数据字符串D0为第一缓存空间内的缓存数据组成的字符串;
[0033] 将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1;
[0034] 随机生成加密步长C1;
[0035] 基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据。
[0036] 可选的,所述将随机字符串A2与固定字符串A1进行异或操作,获得异或加密密钥字符串A5,具体包括:
[0037] 对所述随机字符串A2进行重复叠加获得长度与所述固定字符串A1一致的第一叠加字符串A3;
[0038] 将所述固定字符串A1与所述第一叠加字符串A3进行逐位异或操作,获得初步异或加密字符串A4;
[0039] 对所述初步异或加密字符串A4进行重复叠加获得长度与所述数据字符串D1一致的异或加密密钥字符串A5。
[0040] 可选的,所述将随机字符串A2与SM4加密密钥进行异或操作,获得SM4加密密钥字符串M1,具体包括:
[0041] 对所述随机字符串A2进行重复叠加获得长度与所述SM4加密密钥一致的第二叠加字符串B1;
[0042] 将所述SM4加密密钥与所述第二叠加字符串B1进行逐位异或操作,获得SM4加密密钥字符串M1。
[0043] 可选的,所述基于所述加密步长C1和所述SM4加密密钥字符串M1对一重加密后的数据字符串D1进行SM4加密,获得二重加密后的数据字符串D2,作为所述加密数据,具体包括:
[0044] 初始化第一中间字符串为一重加密后的数据字符串D1,第二中间字符串为空;
[0045] 从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部;
[0046] 从第一中间字符串的第C1+1位起,截取15个字符长度的第二子字符串;
[0047] 判断所述第二子字符串的实际数据长度是否为15位,获得第一判断结果;
[0048] 若所述第一判断结果表示是,则在所述第二子字符串的尾部补入所述第二子字符串的实际数据长度,获得第三子字符串,基于所述SM4加密密钥字符串M1对所述第三子字符串进行SM4加密,将加密后的第三子字符串追加到第二中间字符串的尾部,并将第一中间字符串中第一位起的C1+15位数据删除,得到更新后的第一中间字符串;
[0049] 判断所述第一中间字符串的实际数据长度是否小于加密步长C1,获得第二判断结果;
[0050] 若所述第二判断结果表示否,则返回步骤“从第一中间字符串的第1位起,截取长度为所述加密步长C1的第一子字符串,并将第一子字符串追加到第二中间字符串的尾部”;
[0051] 若所述第二判断结果表示是,则将所述第一中间字符串添加至所述第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2;
[0052] 若所述第一判断结果表示否,则将所述第二子字符串用字符F补齐到15位,获得第四子字符串,在所述第四子字符串的尾部补入所述第二子字符串的实际数据长度,获得第五子字符串;基于所述SM4加密密钥字符串M1对所述第五子字符串进行SM4加密,并将加密后的第五子字符串追加到第二中间字符串的尾部,并输出所述第二中间字符串作为二重加密后的数据字符串D2。
[0053] 一种上述的双重加密方法。
[0054] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0055] 本发明公开一种数据传输装置,所述数据传输装置包括:单片机、移动无线通讯设备、地面专线通讯设备和北斗通讯设备;所述单片机的第一串口与数据采集器连接;所述单片机的第二串口与所述移动无线通讯设备连接,所述移动无线通讯设备与数据中心无线连接;所述单片机的第三串口与所述地面专线通讯设备连接,所述地面专线通讯设备与所述数据中心有线连接;所述单片机的第四串口与所述北斗通讯设备连接,所述北斗通讯设备与所述数据中心无线连接;所述单片机用于接收数据采集器的数据,并将所述数据采用双重加密方法加密,获得加密数据,并将所述加密数据采用移动无线通讯设备、地面专线通讯设备和北斗通讯设备中的至少一种发送给数据中心。本发明的数据传输装置设置了移动无线通讯设备、地面专线通讯设备和北斗通讯设备等多种通讯设备,在一种损坏时,其他设备也可以进行海洋观测数据的传输,提高了海洋观测数据传输的安全性,本发明在数据传输之前还采用双重加密方法对数据进行加密,提高了海洋观测数据传输的安全性。

附图说明

[0056] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0057] 图1为本发明实施例提供的一种数据传输装置的主控部分的电路原理图;
[0058] 图2为本发明实施例提供的一种数据传输装置的电源管理模块的电路原理图;
[0059] 图3为本发明实施例提供的STC15W4K32S4的管脚分布图;
[0060] 图4为本发明实施例提供的一种数据传输方法的流程图;
[0061] 图5为本发明实施例提供的双重加密方法的流程图。

具体实施方式

[0062] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0063] 本发明的目的是提供一种数据传输装置及方法,以提高海洋观测数据传输的安全性和可靠性。
[0064] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0065] 本发明实施例提供一种数据传输装置,所述数据传输装置包括:单片机、移动无线通讯设备、地面专线通讯设备和北斗通讯设备;所述单片机的第一串口与数据采集器连接;所述单片机的第二串口与所述移动无线通讯设备连接,所述移动无线通讯设备与数据中心无线连接;所述单片机的第三串口与所述地面专线通讯设备连接,所述地面专线通讯设备与所述数据中心有线连接;所述单片机的第四串口与所述北斗通讯设备连接,所述北斗通讯设备与所述数据中心无线连接;所述单片机用于接收数据采集器的数据,并将所述数据采用双重加密方法加密,获得加密数据,并将所述加密数据采用移动无线通讯设备、地面专线通讯设备和北斗通讯设备中的至少一种发送给数据中心;所述双重加密方法包括字符串异或加密和SM4算法加密。所述数据传输装置还包括:电源管理模块、液晶显示屏和矩阵键盘;所述电源管理模块分别与所述单片机、所述移动无线通讯设备、所述地面专线通讯设备和所述北斗通讯设备连接;所述液晶显示屏和所述矩阵键盘均与所述单片机连接。该地面专线通讯设备为光纤通信设备,包括网口通信设备和光纤终端盒,网口通信设备分别与单片机的第三串口和光纤终端盒,光纤终端盒连接至光纤网络中。
[0066] 具体如下:
[0067] 主控部分包括单片机、液晶显示屏、矩阵键盘及各通信接口,如图1所示,单片机选用型号为STC15W4K32S4的增强型51单片机,其是单时钟/机器周期(1T)的单片机,工作频率高达30MHz,因其可设置成1T模式,等效于传统51单片机(12T)的频率高达360MHz,且指令代码完全兼容传统8051,但速度快8‑12倍。内部集成高精度R/C时钟(±0.3%),可彻底省掉外部晶振和复位电路(内部已集成高可靠复位电路),其内置4K字节大容量SRAM、10K的EEPROM和四组相互独立的高速异步串行通信端口(UART1/UART2/UART3/UART4)。
[0068] 液晶显示屏采用16*2液晶显示屏进行系统菜单显示。
[0069] 矩阵键盘采用4*4矩阵键盘进行系统菜单的设置。
[0070] 如图2所示,电源管理模块,输入DC12V,并行输出4路DC12V(功率之和应小于输入的DC12V电源的额定功率),一路给移动无线通讯设备供电(该移动无线通讯设备为3G/4G/5G无线通讯设备)供电,一路给连接地面专线通讯设备供电,两路备用;通过MC34063A芯片输出1路24V(最大电流300MA),给北斗通讯设备(该北斗通讯设备为北斗2或北斗3通讯设备)供电,通过AMS1117‑5芯片输出1路5V(最大电流1A)电压供单片机使用。
[0071] 第一串口UART1用于接收数据采集器传输的海洋观测数据和向数据采集器转发通讯设备发来的命令指令;第二串口UART2连接3G/4G/5G无线通讯设备,用于向数据中心传输数据(该数据为海洋观测数据)和接收命令指令;第三串口UART3连接地面专线通讯设备,用于向数据中心传输数据和接收命令指令;第四串口UART4连接北斗通讯设备,用于向数据中心传输实时数据。
[0072] 具体电路结构如图1所示,STC15W4K32S4的管脚分布如图3所示,STC15W4K32S4的管脚18、19,对应的是第一串口UART1,连接外部数据采集器;STC15W4K32S4的管脚4、5,对应的是第二串口UART2,连接3G/4G/5G无线通讯设备;STC15W4K32S4的管脚40、41,对应的是第三串口UART3,连接地面专线通讯设备;STC15W4K32S4的管脚42、43,对应的是第四串口UART4,连接北斗2或北斗3通讯设备;STC15W4K32S4的管脚30‑37,连接4*4键盘矩阵;STC15W4K32S4的管脚22、23、24、17、26、27、28、29、38、39、6连接LCD1602(16*2液晶显示屏)的管脚4‑14。
[0073] AMS1117‑5芯片的作用是降压稳压(12V‑>5V):1号管脚接地,3号管脚接12V供电电压,降压后,由2、4管脚短接后输出5V电压供给单片机STC15W4K32S4工作;STC15W4K32S4的5V供电管脚为14号,接地管脚为16号。
[0074] MC34063A芯片的作用是升压稳压(12V‑>24V),其中6号管脚接供电电压12V,5号管脚通过R6电阻后输出对应的升压稳压值,其输出电压公式为:Vout=1.25V(1+R6/R5),升压给北斗2或北斗3通讯设备供电。
[0075] 3G/4G/5G无线通讯设备、地面专线通讯设备12 V电压直接供电。
[0076] 其中,系统菜单包括3G/4G/5G无线通讯设备、地面专线通讯设备、北斗通讯设备的设置和SM4密钥的设置,设置内容保存在掉电不丢的EEPROM里。
[0077] 1)3G/4G/5G无线通讯设备,设置内容包括数据接收中心的IP地址,数据接收中心的端口号,本地端口号、是否使用等。
[0078] 2)地面专线通讯设备,设置内容包括数据接收中心的IP地址,数据接收中心的端口号,本地IP地址、本地端口号、本地网关、是否使用等。
[0079] 3)北斗通讯设备,包括北斗2是否使用、北斗3是否使用,数据中心北斗号码、一次发送实时数据的个数等。
[0080] 4)SM4密钥的设置,密钥由数字和字符混合组成的16字符长度的字符串,与数据中心解密时密钥相同。
[0081] 本发明实施例还对本发明单片机处理的各中断的优先级进行了设置,具体如下:
[0082] 1)中断优先级。
[0083] 本发明实施例提供的数据传输装置会使用到第一串口UART1接收数据RI中断和定时器溢出中断定时时间(可能会使用多个定时器),而51单片机只有两级抢占优先,为保证接收数据的完整性和正确性,则必须在特殊功能寄存器中设置串口中断为最高抢占级,而定时器溢出中断全部设置为自然优先级即可;因有时会用到第二串口UART2和第三串口UART3接收数据,其会利用各自的串口中断RI来接收数据,故可都设置为最高级优先,然后在高级优先队列里按照其自然级优先顺序去响应中断;
[0084] 2)数据传输工作模式。
[0085] 第一串口UART1、第二串口UART2、第三串口UART3采用中断方式接收数据时,中断能够及时响应外部触发事件,在中断服务函数中处理外部事件,处理完成之后退回到中断点,从而有效保证不会出现数据丢包的情况发生。
[0086] 第一串口UART1、第二串口UART2、第三串口UART3、第四串口UART4采用阻塞方式发送数据。
[0087] 本发明的数据传输装置的工作流程为:海洋站水文气象自动观测系统的数据采集器向本发明实施例中的数据传输装置发送的数据包括需要通过3G/4G/5G无线通讯设备、地面专线通讯设备发送的实时数据包和补录数据包,需要通过北斗设备发送的北斗数据报文,向数据传输装置获取通讯设置的命令指令。其中北斗数据报文为重复叠加发送的实时数据包,三类数据都采用不同的包头和包尾标志码,通过识别包头和包尾标志可以识别数据种类,实时数据包和补录数据包只对数据内容加密,不包括包头和包尾标志码;北斗数据报文在数据采集中,已按照北斗2或北斗3规范进行了编报,数据传输装置只对北斗发送内容部分进行加密,其它部分不做处理,北斗发送内容部分已在数据采集器中根据数据传输装置里的“一次发送实时数据的个数”进行了叠加实时数据重复编报。
[0088] 单片机STC15W4K32S4的UART1接收外部采集器发送的“命令指令”,数据传输装置可以向外部采集器发送本发明实施例提供的数据传输装置的“系统菜单”中的所有内容,包括3G/4G/5G无线通讯设备、地面专线通讯设备、北斗通讯设备的设置和SM4密钥的设置。其中,叠加实时数据重复编报为:外部采集器获取数据传输装置的“一次发送实时数据的个数”中的“一次发送实时数据的个数”后,根据“一次发送实时数据的个数”组织每次发送最近几分钟的数据。例如“一次发送实时数据的个数”为5,当前时间为11时05分,重复编报发送的内容为01分、02分、03分、04分、05分观测的数据,到11时06分时重复编报发送的内容为02分、03分、04分、05分、06分观测的数据,依此类推。
[0089] 实施例2
[0090] 本发明实施例2提供一种数据传输方法,所述数据传输方法应用于上述的数据传输装置,所述数据传输方法包括如下步骤:
[0091] 基于通讯设备设置确定用于发送所述数据的通讯设备的类型。
[0092] 采用中断接收的方式接收数据采集器传输的监测数据及数据中心传输的命令指令,并存入第一缓存空间。
[0093] 采用定时中断的方式从所述缓存空间读取缓存数据,所述缓存数据为监测数据或命令指令。
[0094] 根据所述缓存数据的包头标志码和包尾标志码确定所述缓存数据是否为监测数据。
[0095] 当所述缓存数据为监测数据时,对所述缓存数据采用双重加密方法进行加密获得加密数据,并将所述加密数据存入所述类型的通讯设备对应的第二缓存空间中。
[0096] 采用定时中断的方式从所述类型的通讯设备对应的第二缓存空间中读取所述加密数据,并通过所述类型的通讯设备将所述加密数据发送给数据中心。
[0097] 当所述缓存数据不为监测数据时,将所述缓存数据采用阻塞方式发送给所述数据采集器。
[0098] 如图4所示,上述数据传输方法具体包括:
[0099] S2‑1,第一串口UART1通过中断接收的方式(可有效避免数据丢包)接收数据采集器传来的数据,存入单片机在SRAM里指定的缓存空间I_A_B(第一缓存空间)。
[0100] S2‑2,随后,通过定时中断,定时从缓存空间I_A_B读取数据,通过识别数据包头和包尾标志码,识别数据种类。
[0101] S2‑3,如果是实时数据包和补录数据包,对数据包中的观测数据用双重加密算法加密,重新编写传输报文后,如果3G/4G/5G无线通讯设备设置的是“使用”,传输报文存入独立的缓存空间U2(移动无线通讯设备对应的第二缓存空间);如果地面专线通讯设备设置的是“使用”,传输报文存入独立的缓存空间U3(地面专线通讯设备对应的第二缓存空间)。
[0102] S2‑4,如果是通过北斗通讯设备发送的北斗数据报文,根据北斗通讯规范,识别出数据部分,对数据部分用双重加密算法加密,重新编写数据部分传输报文后,传输报文存入独立的缓存空间U4(北斗通讯设备对应的第二缓存空间)。
[0103] S2‑5,如果是向本装置获取通讯设置的命令指令,组织设置数据包,并存入独立的缓存空间U5(即第三缓存空间);
[0104] 示例性的,上述数据传输方法还包括如下步骤:
[0105] 单片机通过定时控制根据菜单里的通讯设备设置确定发送方案;如果3G/4G/5G无线通讯设备设置的是“使用”且缓存空间U2不为空,从缓存空间U2中读取一个完整的数据传输报文,采用阻塞方式通过连接第二串口UART2的3G/4G/5G无线通讯设备设发送给数据中心;如果地面专线通讯设备设置的是“使用”且缓存空间U3不为空,从缓存空间U3中读取一个完整的数据传输报文,采用阻塞方式通过连接第三串口UART3的地面专线通讯设备发送给数据中心;如果北斗2或北斗3选择使用且缓存空间U4不为空,从缓存空间U4中读取一个完整的数据传输报文,采用阻塞方式通过第四串口UART4的北斗2或北斗3发送给数据中心;如果缓存空间U5不为空,读取一个完整的设置数据包,通过第一串口UART1利用阻塞方式把数据发送给数据采集器。
[0106] 数据中心发来的“命令指令”处理,具体包括:
[0107] 数据中心通过3G/4G/5G无线通讯设备或地面专线通讯设备不定时向本装置发来“命令指令”,“命令指令”包括补录数据命令和系统校时命令等。
[0108] 第二串口UART2和第三串口UART3采用中断方式接收数据,然后通过第一UART1利用阻塞方式把数据发送给数据采集器。
[0109] 本发明实施例还设置了双重加密方法,先用字符串异或加密,再生成随机步长跳跃方式用SM4算法加密设计。为了保证每次异或加密用到的字符串密钥不同和每次SM4加密用到的加密密钥不同,系统随机生成8位由字符或数字组成的字符串,与异或加密用到的预先设定的固定字符串逐位异或操作,得到新的异或加密字符串,与SM4预先设置的加密密钥逐位异或操作,得到新的SM4加密密钥。同时为了增加数据加密的复杂度、破解难度,系统随机生成步长C1,对通过与字符串异或加密后的数据,采用跳跃方式用SM4加密。
[0110] 如图5所示,双重加密方法具体包括:
[0111] S3‑1,设置30字符长度由字符或数字不规则组成的固定字符串A1,数据中心解密用相同的固定字符串A1;随机生成8位由字符或数字组成的随机字符串A2,并用A2重复叠加生成30字符长度的第一叠加字符串A3和重复叠加生成16字符长度的第二叠加字符串B1;
[0112] S3‑2,固定字符串A1与第一叠加字符串A3逐位做异或操作,生成30字符长度的初步异或加密字符串A4;
[0113] S3‑3,初步异或加密字符串A4重复叠加生成与加密数据(数据字符串D0)长度相同的异或加密密钥字符串A5;
[0114] S3‑4,异或加密密钥字符串A5与数据字符串D0逐位做异或操作,生成一重加密后的数据字符串D1;
[0115] S3‑5,从设置里获取SM4密钥,并与第二叠加字符串B1逐位做异或操作,生产新的SM4加密密钥字符串M1;
[0116] S3‑6,随机生成一个3到10之间的一位数字,作为加密步长C1;
[0117] S3‑7,第二中间字符串D2赋空值,并将一重加密后的数据字符串D1赋值给第一中间字符串;
[0118] S3‑8,从一重加密后的数据字符串D1中,从头部截取C1步长的字符串E1(即第一子字符串),并追加到第二中间字符串尾部,从一重加密后的数据字符串D1中从C1+1位,截取15字符长度的字符串E2(即第二子字符串),D1不足15位时,截取到D1尾部,用字符“F”补齐到15位,得到第四子字符串,用一位16进制数表示实际数据长度,并追加到第四子字符串尾部,得到第五子字符串,第五子字符串为一个16位字符串,第五子字符串用SM4加密密钥字符串M1通过SM4加密获取加密后的16位字符串E3(即加密后的第五字符串),并把加密后的
16位字符串E3追加到第二中间字符串尾部。一重加密后的数据字符串D1从头部删除C1步长+15位数据,得到新的一重加密后的数据字符串D1。
[0119] S3‑9,重复第S3‑8步操作,直到最新的一重加密后的数据字符串D1长度小于等于C1步长。并把最新的一重加密后的数据字符串D1追加到第二中间字符串尾部,完成数据加密,第二中间字符串为二重加密后的数据字符串D2,字符串A2为随机加密码,C1为SM4加密步长,三个数据包含在数据传输协议中,用于数据中心的数据解密。
[0120] 本发明实施例还对3G/4G/5G无线通讯或地面专线通讯的传输报文设计,具体如下:
[0121] 传输报文数据格式包括包头标志,随机加密码,SM4加密步长,加密数据,包尾标志,每项之间用“,”分割。
[0122] 随机加密码:S3‑1中随机生成8位由字符或数字组成的随机字符串A2;
[0123] SM4加密步长:S3‑6中随机生成的一个3到10之间的一位数字的加密步长C1;
[0124] 加密数据:步骤5中通过字符串异或与SM4随机步长混合加密后的数据第二中间字符串D2;
[0125] 本发明实施例还对北斗数据传输报文设计,具体如下:
[0126] 数据传输报文设计按北斗2、北斗3通讯规范设计,保留数据采集传来的除了数据内容部分的全部内容,数据内容部分包括随机加密码,SM4加密步长,加密数据,含义与3G/4G/5G无线通讯或地面专线通讯的传输报文相同。
[0127] 本发明实施例的效果为:
[0128] 本发明实施例选用先进的51单片机,采用多任务机制,UART1、UART2、UART3采用中断方式接收数据时,中断能够及时响应外部触发事件,在中断服务函数中处理外部事件,处理完成之后退回到中断点,从而有效保证不会出现数据丢包的情况发生。UART1、UART2 、UART3、UART4采用阻塞方式发送数据。在保证系统功能稳定的基础上,充分考虑系统性能。
[0129] 本发明实施例的通讯方式包括3G/4G/5G无线通讯设备、地面专线通讯设备、北斗2、北斗3通讯设备。系统根据系统设置,采用一种或几种通讯方式,把加密数据并行发送给数据中心。与传统通讯方式相比,增加了北斗3通讯方式,北斗2、北斗3采用重复叠加发送实时数据传输方案,有效保证了数据的传输率,多种通讯方式并发数据,当单一数据方式发生故障后,有效保证数据通过其它通讯方式发送给数据中心,为预报系统提供完整和及时的数据,保证了预报的准确性。
[0130] 本发明实施例采用了双重加密方法,采用先用字符串异或加密,再生成随机步长跳跃方式用SM4算法加密设计。为了保证每次异或加密用到的加密密钥不同和每次SM4加密用到的加密密钥不同,系统随机生成8位由字符或数字组成的字符串,与异或加密用到的预先设定的固定字符串逐位异或操作,得到新的异或加密密钥字符串,与SM4预先设置的加密密钥逐位异或操作,得到新的SM4加密密钥。系统随机生成步长C1,对通过与字符串异或加密后的数据,采用跳跃方式用SM4加密。本加密算法增加了数据加密的复杂度、破解难度,有效保证了数据的安全。
[0131] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0132] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。