二维码数据单向传输方法与流程
未命名
07-13
阅读:163
评论:0
1.本发明属于网络信息安全技术领域,尤其是涉及一种二维码数据单向传输方法。
背景技术:
2.目前,二维码在社会实践中的应用领域十分广泛。二维码是一种矩阵二维码符号,它具有容量大、可靠性高、可表示汉字及图像等多种文字信息、保密防伪性强等优点。
3.随着互联网、物联网的发展与普及使用,随时随地都有巨量的信息在网络间传输。网络信息安全日益受到国家重视,若网络系统受到网络攻击,会造成严重的经济损失。
技术实现要素:
4.针对现有技术中存在的问题,本发明提供了一种二维码数据单向传输方法,至少部分的解决现有技术中存在的网络中数据泄露风险问题。
5.本公开实施例提供了一种二维码数据单向传输方法,包括:
6.获取网络数据包;
7.数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报;
8.将mtpoq数据报发送队列中的数据帧按照mtpoq数据传输协议将数据传输到二维码编码服务;
9.对接收到的mtpoq协议数据帧进行编码操作,编码成二维码图像并显示二维码图像;
10.获取二维码图像并将二维码图像发送至二维码解码服务;
11.将接收到的二维码图像进行解码操作,获得mtpoq协议数据报;
12.将获得的mtpoq协议数据报通过mtpoq数据传输协议传输到数据接收服务;
13.数据发送服务基于接收到的mtpoq协议数据报得到网络数据包。
14.可选的,所述数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报,包括:
15.对网络数据包进行加密后,利用二维码的特性及传送长度计算分包或分片数量,得到分包数据;
16.基于分包数据计算crc;
17.基于crc和任务id对数据按照mtpoq协议格式封装成帧,完成数据封装;
18.经过数据封装后得到的mtpoq协议数据帧构成发送队列。
19.可选的,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:
20.对接收到的数据报进行完整性校验、数据零时存储和数据重组。
21.可选的,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:
22.对数据报进行完整性校验;
23.将完整性校验后的数据报中的分片数据部分进行临时存储,并去除控制指令部分;
24.将临时存储的分片数据进行数据组装,获得完整的网络数据包。
25.可选的,所述mtpoq数据传输协议,包括数据报的组成、数据有效性校验、数据分片与数据组装和数据传输服务。
26.可选的,所述数据报的组成包括:
27.任务序列号:用于区分多个在二维码信道上同时传输的任务唯一标识;
28.分包偏移量:用于表征二维码携带字段在传输数据整体的偏移量;
29.总发包数:用于表征任务含有的二维码数量;
30.校验码:用于校验采用crc校验数据有效性;
31.数据部分:用于存放数据;
32.尾部标识:用于表征二维码的数据结束。
33.可选的,所述数据有效性校验,包括:
34.尾部标识校验:用于对尾部标识非预期的包进行丢弃;
35.数据长度校验:用于对超过预期长度的包进行丢弃;
36.偏移量校验:用于对偏移量大于总发包数的包进行丢弃;
37.crc校验:用于对无法通过crc的包进行丢弃。
38.可选的,二维码的容量由二维码编码服务决定,
39.数据传输系统的数据发送服务向二维码编码服务传输分好片的且长度小于规定值的比特流时,如果比特流长度在允许范围内,编码服务接收这一份数据,向数据发送服务返回第一设定字段,允许其继续发送下一个分片;如果比特流超长,编码服务将返回第二设定字段,提示分片超长,从而丢弃分片超长的包,数据发送服务终止当前任务,将发送窗口缩小后再进行数据发送。
40.可选的,所述数据传输服务,包括:数据透明传输原理,在mtpoq协议中,采用定长头部与定长尾部存放传输过程中的控制信息,原始数据作为比特流存放在数据部分中,在传输过程的任何环节都不对数据部分进行修改或访问;
41.在数据发送方,数据被分片和封装到数据报中;在数据接收方,数据从数据报中被提取和组装,实现数据的透明传输。
42.可选的,所述数据传输服务,还包括:
43.数据发送服务,数据发送服务接收来自上层的数据,按长度将数据分片和封装为mtpoq数据报后递交到二维码编码服务;
44.数据接收服务,数据接收服务接收来自解码服务返回的mtpoq数据报,经过数据完整性校验后,重新将分片的数据报组合为完整数据,在数据通过完整性校验而被接收后,采用任务到分块的二级hash机制实现数据报片的临时存储。
45.本发明提供的二维码数据单向传输方法,通过使用二维码进行单向数据传输,由于二维码具有容量大、可靠性高和保密防伪性强的优点,从而达到在保证数据不泄露的前提下进行无差错高效传输的目的。
附图说明
46.通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
47.图1为本公开实施例提供数据有效性校验流程图;
48.图2为本公开实施例提供的数据发送服务流程图;
49.图3为本公开实施例提供的数据接收服务流程图;
50.图4为本公开实施例提供的二维码数据单向传输方法流程图。
具体实施方式
51.下面结合附图对本公开实施例进行详细描述。
52.应当明确,以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
53.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
54.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图示中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
55.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
56.由于二维码具有容量大、可靠性高和保密防伪性强的优点,一些保密性要求较强系统为实现数据的单向传输,尝试建立起二维码信道,数据以二维码图像为载体进行传输。
57.本实施例中以二维码为信息载体实现数据的单向传输的简单思路是,假设某种数据传输协议a,两个网络系统进行数据传输时,数据发送方通过协议a将需要发送的网络数据包进行封装,之后进行二维码编码,编码形成的二维码通过显示屏终端进行展示,数据接收方利用摄像头读取显示屏上的二维码图像并进行二维码解码得到协议a的数据报,之后利用协议a将数据报重新组合成网络数据包。本实施例优点在于,由于两个网络系统之间通过二维码的形式传输数据,显示屏和摄像头等硬件,天然存在光学物理隔离,网络系统之间
无法通过回传控制指令等方式进行系统攻击。
58.如何构造二维码数据传输协议,使网络数据在二维码信道上进行无差错高效传输是本实施例的关键点,包括:
①
数据传输协议;
②
数据有效性校验;
③
数据分片与数据组装;
④
数据传输服务。
59.本实施例公开的二维码数据单向传输优化协议,该协议可以实现网络数据单向传输时,数据在二维码信道上进行无差错高效传输。
60.本实施例公开了一种二维码数据单向传输方法,包括:
61.获取网络数据包;
62.数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报;
63.将mtpoq数据报发送队列中的数据帧按照mtpoq数据传输协议将数据传输到二维码编码服务;
64.对接收到的mtpoq协议数据帧进行编码操作,编码成二维码图像并显示二维码图像;
65.获取二维码图像并将二维码图像发送至二维码解码服务;
66.将接收到的二维码图像进行解码操作,获得mtpoq协议数据报;
67.将获得的mtpoq协议数据报通过mtpoq数据传输协议传输到数据接收服务;
68.数据发送服务基于接收到的mtpoq协议数据报得到网络数据包。
69.可选的,所述数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报,包括:
70.对网络数据包进行加密后,利用二维码的特性及传送长度计算分包或分片数量,得到分包数据;
71.基于分包数据计算crc;
72.基于crc和任务id对数据按照mtpoq协议格式封装成帧,完成数据封装;
73.经过数据封装后得到的mtpoq协议数据帧构成发送队列。
74.可选的,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:
75.对接收到的数据报进行完整性校验、数据零时存储和数据重组。
76.可选的,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:
77.对数据报进行完整性校验;
78.将完整性校验后的数据报中的分片数据部分进行临时存储,并去除控制指令部分;
79.将临时存储的分片数据进行数据组装,获得完整的网络数据包。
80.可选的,所述mtpoq数据传输协议,包括数据报的组成、数据有效性校验、数据分片与数据组装和数据传输服务。
81.可选的,所述数据报的组成包括:
82.任务序列号:用于区分多个在二维码信道上同时传输的任务唯一标识;
83.分包偏移量:用于表征二维码携带字段在传输数据整体的偏移量;
84.总发包数:用于表征任务含有的二维码数量;
85.校验码:用于校验采用crc校验数据有效性;
86.数据部分:用于存放数据;
87.尾部标识:用于表征二维码的数据结束。
88.可选的,所述数据有效性校验,包括:
89.尾部标识校验:用于对尾部标识非预期的包进行丢弃;
90.数据长度校验:用于对超过预期长度的包进行丢弃;
91.偏移量校验:用于对偏移量大于总发包数的包进行丢弃;
92.crc校验:用于对无法通过crc的包进行丢弃。
93.可选的,二维码的容量由二维码编码服务决定,
94.数据传输系统的数据发送服务向二维码编码服务传输分好片的且长度小于规定值的比特流时,如果比特流长度在允许范围内,编码服务接收这一份数据,向数据发送服务返回第一设定字段,允许其继续发送下一个分片;如果比特流超长,编码服务将返回第二设定字段,提示分片超长,从而丢弃分片超长的包,数据发送服务终止当前任务,将发送窗口缩小后再进行数据发送。
95.可选的,所述数据传输服务,包括:数据透明传输原理,在mtpoq协议中,采用定长头部与定长尾部存放传输过程中的控制信息,原始数据作为比特流存放在数据部分中,在传输过程的任何环节都不对数据部分进行修改或访问;
96.在数据发送方,数据被分片和封装到数据报中;在数据接收方,数据从数据报中被提取和组装,实现数据的透明传输。
97.可选的,所述数据传输服务,还包括:
98.数据发送服务,数据发送服务接收来自上层的数据,按长度将数据分片和封装为mtpoq数据报后递交到二维码编码服务;
99.数据接收服务,数据接收服务接收来自解码服务返回的mtpoq数据报,经过数据完整性校验后,重新将分片的数据报组合为完整数据,在数据通过完整性校验而被接收后,采用任务到分块的二级hash机制实现数据报片的临时存储。
100.mtpoq数据传输协议
101.mtpoq(message transmission protocol overqrcode,基于二维码的信息传输协议)是本实施例为了完成数据在二维码信道上进行无差错高效传输而设计的专用私有数据传输协议。协议主要包含以下部分:
102.(1)任务序列号:区分多个在二维码信道上同时传输的任务唯一标识;
103.(2)分包偏移量:二维码携带字段在传输数据整体的偏移量;
104.(3)总发包数:任务含有的二维码数量;
105.(4)校验码:校验采用crc校验数据有效性;
106.(5)数据部分:存放数据;
107.(6)尾部标识:提示二维码的数据结束。
108.协议组成如表1所示。
109.表1、mtpoq协议组成表
[0110][0111]
数据有效性校验:
[0112]
为保证经过二维码信道的数据的有效性,需要实现无差错传输,因此对所有出现错误的二维码解码数据都必须丢弃。二维码自身具有一定的抗干扰与纠错能力,出于安全性与可靠性考虑,mtpoq协议选择在二维码自身的检错纠错基础上进行额外的差错检测。
[0113]
在mtpoq协议中设置了多个字段以进行无差错传输。1、eof尾部标识校验:对尾部标识非预期的包进行丢弃;2、data长度校验:对超过预期长度的包进行丢弃;3、偏移量校验:对偏移量大于总发包数的包进行丢弃;4、crc校验:对无法通过crc(循环冗余校验)的包进行丢弃。具体数据有效性校验流程如附图1所示。
[0114]
数据分片与数据组装:
[0115]
单个二维码的容量由二维码版本、纠错率与编码方式决定。在l级别的纠错下,有约7%的容量用于纠错;在h级别纠错下会有30%的数据用于纠错。受限于二维码实际用来编码数据的码元数量,单个二维码的编码容量具有上限,即不可将超过二维码容量的数据内容编码到二维码内。在发送超过单个二维码容量的数据内容时需要采取策略对数据进行分片,将超长数据编码到多个二维码中。
[0116]
二维码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:
[0117]
(1)数字:每三个为一组压缩成10bit;
[0118]
(2)字母数字混合:每两个为一组,压缩成11bit;
[0119]
(3)8bit字节数据:无压缩直接保存;
[0120]
(4)多字节字符:每一个字符被压缩成13bit。
[0121]
为保证传输的高效性,在mtpoq协议栈中,由于传输内容是比特流,不存在多字节字符,如中文和日文汉字等内容。
[0122]
二维码的容量由二维码编码服务决定。数据传输系统的数据发送服务向二维码编码系统传输分好片的、长度小于规定值的比特流。如果比特流长度在允许范围内,编码服务接收这一份数据,向数据发送服务返回“ok”字段,允许其继续发送下一个分片。如果比特流超长,编码服务将返回“too long”字段,提示分片超长,丢弃这个包。数据发送服务应当终止当前任务,将发送窗口缩小后再尝试进行数据发送。
[0123]
数据传输服务:
[0124]
数据透明传输原理
[0125]
在mtpoq协议中,采用定长头部与定长尾部存放传输过程中的控制信息。原始数据作为比特流存放在数据部分中,在传输过程的任何环节都不对数据部分进行修改或访问。在数据发送方,数据被分片、封装到数据报中;在数据接收方,数据从数据报中被提取、组
装。实现数据的透明传输。
[0126]
数据发送服务:
[0127]
数据发送服务接收来自上层的数据,按长度将其分片、封装为mtpoq数据报后递交到二维码编码服务。具体数据发送服务如附图2所示。
[0128]
数据接收服务:
[0129]
数据接收服务接收来自解码服务返回的mtpoq数据报。经过数据完整性校验后,重新将分片的数据报组合为完整数据。在数据通过完整性校验而被接收后,采用任务-分块的二级hash机制实现数据报片的快速、有效、离散且无冲突的临时存储。采用hashmap作为存储结构,可以将一个大文件离散的存放在内存的不连续区域中,避免了对于大块连续内存空间的需求。采用密码学安全的siphash-2-4,通过让输出随机化,siphash能够有效减缓hash flooding attack,避免dos的出现,保证服务的有效性。
[0130]
当新任务到来时,根据序列号进行第一次hash创建单任务数据集合,根据偏移量进行第二次hash确定存储物理块地址,将数据报片中的数据写入内存。任务的后续报片到来时,据序列号进行第一次hash寻找单任务数据集合,根据偏移量进行第二次hash确定存储物理块地址,将数据报片中的数据写入内存。当一个任务的数据报片被全部收到时,遍历对应序列号的单任务数据集合,将离散的数据报片组装成为完整数据,之后删除任务集合中的对应序列号,释放已占用存储空间。具体数据发送服务如附图3所示。
[0131]
在一个具体的应用中,硬件包括:显示屏一台,位于数据发送端用于展示二维码图像;摄像头一台,位于接收端用于获取二维码图像;二维码编解码服务器各一台,分别位于发送端和接收端用于提供二维码的编解码服务;以太网线、usb数据线和hdmi连接线用于各组件间的连接。
[0132]
如图4所示,二维码数据单向传输方法中分成数据发送端和数据接收端。
[0133]
数据发送端:
[0134]
步骤s1:获取网络数据包。通过底层网络协议将网络数据包传输至数据发送服务。
[0135]
步骤s2:数据发送服务接收来自上层的数据,按长度将其分片、封装为mtpoq数据报。具体的,步骤s2分成以下四个子步骤:
[0136]
步骤s2-1:数据分包。对原始数据进行加密后,利用二维码的特性及传送长度计算分包或分片数量。
[0137]
步骤s2-2:计算crc。计算循环冗余校验码。
[0138]
步骤s2-3:数据封装。利用计算得到的crc和任务id对数据按照mtpoq协议格式封装成帧。
[0139]
步骤s2-4:构成发送队列。经过数据封装后得到的mtpoq协议数据帧构成发送队列。
[0140]
步骤s3:将步骤s2中的发送队列中的数据帧按照mtpoq数据传输协议将数据传输到二维码编码服务。
[0141]
步骤s4:二维码编码服务。对接收到的mtpoq协议数据帧进行编码操作,编码成二维码图像送至显示屏。
[0142]
步骤s5:显示屏展示二维码。显示屏对二维码编码服务送来的二维码图像进行不断地刷新展示。
[0143]
数据接收端:
[0144]
步骤s6:摄像头获取二维码图像并将其送至二维码解码服务。
[0145]
步骤s7:二维码解码服务。接收到的二维码图像进行解码操作,获得mtpoq协议数据报。
[0146]
步骤s8:将步骤s7中获得的mtpoq协议数据报通过mtpoq数据传输协议传输到数据接收服务。
[0147]
步骤s9:数据发送服务对接收到的数据报进行完整性校验、数据零时存储和数据重组等操作获得原始数据。具体的,步骤s9分成以下三个子步骤:
[0148]
步骤s9-1:完整性校验。对数据报进行完整性校验。
[0149]
步骤s9-2:数据报片临时存储。将数据报中的分片数据部分进行临时存储,控制指令部分去除。
[0150]
步骤s9-3:数据组装。将临时存储的分片数据进行数据组装,获得完整的原始数据。
[0151]
步骤s10:交付数据。
[0152]
数据发送端和数据接收端的数据通路中的一段为显示屏和摄像头构成的光学通路,天然具有物理隔离,没有任何数据回流的可能性,只需要将摄像头和显示屏对齐即可。
[0153]
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
[0154]
在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
[0155]
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“a、b或c的至少一个”的列举意味着a或b或c,或ab或ac或bc,或abc(即a和b和c)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
[0156]
还需要指出的是,在本公开的系统和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
[0157]
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
[0158]
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
[0159]
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
技术特征:
1.一种二维码数据单向传输方法,其特征在于,包括:获取网络数据包;数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报;将mtpoq数据报发送队列中的数据帧按照mtpoq数据传输协议将数据传输到二维码编码服务;对接收到的mtpoq协议数据帧进行编码操作,编码成二维码图像并显示二维码图像;获取二维码图像并将二维码图像发送至二维码解码服务;将接收到的二维码图像进行解码操作,获得mtpoq协议数据报;将获得的mtpoq协议数据报通过mtpoq数据传输协议传输到数据接收服务;数据发送服务基于接收到的mtpoq协议数据报得到网络数据包。2.根据权利要求1所述的二维码数据单向传输方法,其特征在于,所述数据发送服务接收网络数据包,按长度将网络数据包分片和封装为mtpoq数据报,包括:对网络数据包进行加密后,利用二维码的特性及传送长度计算分包或分片数量,得到分包数据;基于分包数据计算crc;基于crc和任务id对数据按照mtpoq协议格式封装成帧,完成数据封装;经过数据封装后得到的mtpoq协议数据帧构成发送队列。3.根据权利要求1所述的二维码数据单向传输方法,其特征在于,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:对接收到的数据报进行完整性校验、数据零时存储和数据重组。4.根据权利要求3所述的二维码数据单向传输方法,其特征在于,所述数据发送服务基于接收到的mtpoq协议数据报得到网络数据包,包括:对数据报进行完整性校验;将完整性校验后的数据报中的分片数据部分进行临时存储,并去除控制指令部分;将临时存储的分片数据进行数据组装,获得完整的网络数据包。5.根据权利要求1所述的二维码数据单向传输方法,其特征在于,所述mtpoq数据传输协议,包括数据报的组成、数据有效性校验、数据分片与数据组装和数据传输服务。6.根据权利要求5所述的二维码数据单向传输方法,其特征在于,所述数据报的组成包括:任务序列号:用于区分多个在二维码信道上同时传输的任务唯一标识;分包偏移量:用于表征二维码携带字段在传输数据整体的偏移量;总发包数:用于表征任务含有的二维码数量;校验码:用于校验采用crc校验数据有效性;数据部分:用于存放数据;尾部标识:用于表征二维码的数据结束。7.根据权利要求5所述的二维码数据单向传输方法,其特征在于,所述数据有效性校验,包括:尾部标识校验:用于对尾部标识非预期的包进行丢弃;数据长度校验:用于对超过预期长度的包进行丢弃;
偏移量校验:用于对偏移量大于总发包数的包进行丢弃;crc校验:用于对无法通过crc的包进行丢弃。8.根据权利要求5所述的二维码数据单向传输方法,其特征在于,二维码的容量由二维码编码服务决定,数据传输系统的数据发送服务向二维码编码服务传输分好片的且长度小于规定值的比特流时,如果比特流长度在允许范围内,编码服务接收这一份数据,向数据发送服务返回第一设定字段,允许其继续发送下一个分片;如果比特流超长,编码服务将返回第二设定字段,提示分片超长,从而丢弃分片超长的包,数据发送服务终止当前任务,将发送窗口缩小后再进行数据发送。9.根据权利要求5所述的二维码数据单向传输方法,其特征在于,所述数据传输服务,包括:数据透明传输原理,在mtpoq协议中,采用定长头部与定长尾部存放传输过程中的控制信息,原始数据作为比特流存放在数据部分中,在传输过程的任何环节都不对数据部分进行修改或访问;在数据发送方,数据被分片和封装到数据报中;在数据接收方,数据从数据报中被提取和组装,实现数据的透明传输。10.根据权利要求9所述的二维码数据单向传输方法,其特征在于,所述数据传输服务,还包括:数据发送服务,数据发送服务接收来自上层的数据,按长度将数据分片和封装为mtpoq数据报后递交到二维码编码服务;数据接收服务,数据接收服务接收来自解码服务返回的mtpoq数据报,经过数据完整性校验后,重新将分片的数据报组合为完整数据,在数据通过完整性校验而被接收后,采用任务到分块的二级hash机制实现数据报片的临时存储。
技术总结
本发明提供了一种二维码数据单向传输方法,包括:获取网络数据包;数据发送服务接收网络数据包,按长度将网络数据包分片和封装为MTPOQ数据报;将MTPOQ数据报发送队列中的数据帧按照MTPOQ数据传输协议将数据传输到二维码编码服务;对接收到的MTPOQ协议数据帧进行编码操作,编码成二维码图像并显示二维码图像;获取二维码图像并将二维码图像发送至二维码解码服务;将接收到的二维码图像进行解码操作,获得MTPOQ协议数据报;将获得的MTPOQ协议数据报通过MTPOQ数据传输协议传输到数据接收服务;数据发送服务基于接收到的MTPOQ协议数据报得到网络数据包。达到在保证数据不泄露的前提下进行无差错高效传输的目的。前提下进行无差错高效传输的目的。前提下进行无差错高效传输的目的。
技术研发人员:钟鸣宇 顾骏杰 武星 陈成 周典
受保护的技术使用者:无锡中盾科技有限公司
技术研发日:2023.03.09
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
