一种数据连续传输接收和保存的方法与流程

文档序号:33097721发布日期:2023-02-01 00:12阅读:24来源:国知局
一种数据连续传输接收和保存的方法与流程

1.本发明涉及数据传输方法领域,具体涉及一种数据连续传输接收和保存的方法。


背景技术:

2.数据传输过程如下:(如qq)在发送主机a上,发送的数据经过应用层时,应用层对数据进行了包装,它在要传输的数据上加了一个应用层首部ah后,继续向传输层传送。传输层接收到应用层的数据后,将数据+应用层ah当做数据,给它进行包装,加上自己的首部,此时的数据变为数据+应用层ah+传输层ph,继续向会话层传送。依此类推,数据每传递一层,便增加相应协议的首部。直到传输至数据链路层,数据链路层将加了自己首部的数据交给物理层后,转换为高低跳跃的比特流,这时候的数据才能在线路上传输。接收端的接收过程与发送过程相反,在接收主机b上,能够通过电信号识别出比特流识别,将收到的信息递交给数据链路层。数据链路层收到数据后,剥离发送时添加的数据链路层首部dh,把数据提取出来,递交给网络层。同样的,网络层剥离自己的首部nh,还原后将数据递交给传输层。依此类推,至应用层将其首部ah剥离后,即可还原成最原始的发送数据了。
3.目前,公开号为cn114625563a的中国专利公开了一种ssd的数据保护方法、装置、可读存储介质及电子设备,它包括已写入数据;根据所述已写入数据确定同plane数据和跨plane数据;按照第一预设大小对所述同plane数据进行ldpc数据保护,得到第一校验数据,并保存所述第一校验数据;按照第二预设大小对所述跨plane数据进行ldpc数据保护,得到第二校验数据,并保存所述第二校验数据,将同planeldpc算法与跨plane ldpc算法相结合,当多个plane出现错误bit超过同planeldpc算法的纠错能力时,可利用跨planeldpc算法解决故障。
4.这种ssd的数据保护方法、装置、可读存储介质及电子设备虽然可利用跨planeldpc算法解决故障,以此提高了主控整体的纠错能力,从而实现有效的数据保护,但是传统的数据传输方式由于受硬件限制,一般为数据发送方进行分包传输,一次发送一包,发送完成后,需要等待数据接收方确认,再发送下一包,包的大小一般为100-1000字节之间。


技术实现要素:

5.本发明的目的是提供一种数据连续传输接收和保存的方法,其具有单片机作为数据接收方,物联网模组作为数据发送方,单片机通过串口接收物联网模组发送的固件,物联网模组发送固件的方式为连续不间断的发送,直至发送完成的优点。
6.本发明的上述技术目的是通过以下技术方案得以实现的:
7.一种数据连续传输接收和保存的方法,其特征在于:包括如下步骤:
8.s1、数据接收方请求数据发送方进行数据传输;
9.s2、计数器a和计数器b置零,设置每次梳理的字节数n,数据传输开始,数据接收方等待接收数据;
10.s3、计数器a自增1字节以及计数器b自增1字节然后继续进行接收字节;
11.s4、检验计数器a是否等于2,当计数器a不等于2时检验计数器b是否为n;
12.s5、当计数器b不等于n时确认是否数据接收完成;当确认接收完成后将计数器b数量的数据写入存储器中;
13.s6、确认计数器a是否为0,然后对校验值进行校验,如果校验值正确,数据传输成功。
14.进一步设置:所述s4步骤中,将计数器a=2时,则计算16位异或校验,同时将计数器a置零。
15.进一步设置:所述s4中计数器b=n时,将n字节的数据写入临时缓存,计数器b置零,并将零时缓存的数据写入存储器。
16.进一步设置:所述s5中接收未完成时回到步骤s3。
17.通过采用上述技术方案,
18.进一步设置:所述步骤s6中当计数器a不为0时,补充1个字节0x00,计算16位异或校验值,并进行校验值正确。
19.进一步设置:所述s6中校验值不正确时将回到步骤s2。
20.综上所述,本发明具有以下有益效果:
21.1、传输过程无需等待,传输时间较短
22.2、分包传输时,不同的数据接收方要求的分包字节数不同,也可以统一进行;
23.3、分包传输对数据发送方的要求较高,也可以支持分包传输。
附图说明
24.下面结合附图对本发明进一步说明。
25.图1是数据连续传输接收和保存的方法逻辑结构示意图。
具体实施方式
26.下面结合附图对本发明的具体实施方式做进一步说明。
27.本发明所采用的技术方案是:
28.一种数据连续传输接收和保存的方法,如图1所示,包括如下步骤:s1、数据接收方请求数据发送方进行数据传输;s2、计数器a和计数器b置零,设置每次梳理的字节数n,数据传输开始,数据接收方等待接收数据;s3、计数器a自增1字节以及计数器b自增1字节然后继续进行接收字节;s4、检验计数器a是否等于2,当计数器a不等于2时检验计数器b是否为n;s5、当计数器b不等于n时确认是否数据接收完成;当确认接收完成后将计数器b数量的数据写入存储器中;s6、确认计数器a是否为0,然后对校验值进行校验,如果校验值正确,数据传输成功;在s4步骤中,将计数器a=2时,则计算16位异或校验,同时将计数器a置零。s4中计数器b=n时,将n字节的数据写入临时缓存,计数器b置零,并将零时缓存的数据写入存储器。s5中接收未完成时回到步骤s3。所述步骤s6中当计数器a不为0时,补充1个字节0x00,计算16位异或校验值,并进行校验值正确。s6中校验值不正确时将回到步骤s2。
29.其主要工作原理如下:将使用场景设定为单片机作为数据接收方,物联网模组作为数据发送方,单片机通过串口接收物联网模组发送的固件,物联网模组发送固件的方式
为连续不间断的发送,直至发送完成。
30.1、数据接收方请求数据发送方进行数据传输;2、计数器a和计数器b置零,设置每次梳理的字节数n,数据传输开始,数据接收方等待接收数据;3、为了保证传输过程中,固件的完整性和准确性,每接收2个字节,计算一次16位异或校验值计算。开始接收2字节后拼接成一个字,例如0xaabbh,再接收2个字节例如0xccddh,然后开始计算16位异或校验值,计算公式为0xaabbh(xor)0xccddh,得出异或校验值为0x6666h,依次类推;4、n个字节为开始设定的一个整数,可以根据单片机系统的存储容量,内存限制进行设定,每接收满n个字节,将数据搬到临时缓存,然后再将临时缓存的数据写入存储器;5、由于固件的字节数不一定是n的整数倍,因此按找设定好n字节的整数后接收完成后,会有不足n的剩余字节数,接收完剩余的字节数然后写入存储器;6、假如固件的字节数为奇数,测按照16位校验值计算会导致最后一位只有一个字节,一个字节是8位,不能满足16位异或校验计算,因此判断接收完成时计数器a的值是否位0,不为0需要补0x00,再计算16位异或校验值;7、接收完成后,需要判断整体接收数据的完整性和准确定,因此会对比发送方给出的16位异或校验值与接收方计算得出的异或校验值是否一致,如果一致则接收成功,如果不一致则接收失败。
31.以上是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均属于发明技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1