CN110324115B - 一种数据传输方法、装置、存储介质及终端设备 - Google Patents
一种数据传输方法、装置、存储介质及终端设备 Download PDFInfo
- Publication number
- CN110324115B CN110324115B CN201910499081.7A CN201910499081A CN110324115B CN 110324115 B CN110324115 B CN 110324115B CN 201910499081 A CN201910499081 A CN 201910499081A CN 110324115 B CN110324115 B CN 110324115B
- Authority
- CN
- China
- Prior art keywords
- data
- sequence
- length
- preset
- messages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 60
- 230000001360 synchronised effect Effects 0.000 claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 17
- 230000010354 integration Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 10
- 101100368149 Mus musculus Sync gene Proteins 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 229910010888 LiIn Inorganic materials 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0033—Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输方法、装置、存储介质及终端设备,包括:根据预设的长度差值序列标准生成同步序列;根据预设的编码规则将待发送数据编码为字节序列;将字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;Ni表示第i个数据的数据信息,Li表示第i个数据的在字节序列中的偏移信息;将同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;循环发送待发送数据包,直至接收到接收端返回的停止发送信息为止。采用本发明的技术方案能够在发送端和接收端没有直接连通且加密方式不相同的情况下达到数据传输的目的,并保证数据传输的正确性及可靠性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、装置、计算机可读存储介质及终端设备。
背景技术
在传统的WIFI数据传输系统中,接收端接收无线网络环境中的所有的数据包,并通过分析接收到的数据包的目的地址来获取发送给自己的数据包,尤其大部分的WIFI网内的数据包是加密传输的,当发送端和接收端采用相同的加密方式处理数据时,发送端按照共同约定的规则发送数据,接收端按照共同约定的规则解析数据,就可以达到数据传输的目的。
但是,如果接收端和发送端不在同一个无线网络环境中,就无法正常地解析无线数据包的内容,特别是在没有获得密钥的情况下,网外设备是无法正常解析数据的,因此,当发送端和接收端不在同一个无线网络环境中,没有直接关联,并且加密方式不相同时,直接通过WIFI网内的数据传输是无法实现的。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据传输方法、装置、计算机可读存储介质及终端设备,能够在发送端和接收端没有直接连通且加密方式不相同的情况下达到数据传输的目的,并保证数据传输的正确性及可靠性。
为了解决上述技术问题,本发明实施例提供了一种数据传输方法,所述方法由发送端执行;所述方法包括:
根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成;
根据预设的编码规则将待发送数据编码为字节序列;
将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息,所述偏移信息Li由第i个数据在所述字节序列中的位置、预设的偏移量和基准长度确定;
将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;
循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
进一步地,所述方法还包括:
根据所述同步报文的长度确定基准长度;
根据预设的偏移量以及所述基准长度获取所述字节序列中的每一个数据的偏移信息。
进一步地,所述方法还包括:
当Li的值大于预设的报文长度阈值L且i≤n时,将第i+1个数据被编码为Ni+1个长度为Li+1-L的数据报文。
进一步地,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的数据报文的总长度;
将所述总长度编码为若干个长度报文;其中,长度报文的长度表示所述总长度;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个长度报文和若干个数据报文按照第二预设顺序整合成待发送数据包。
进一步地,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的结束标识;
将所述结束标识编码为若干个结束报文;其中,结束报文的长度表示所述结束标识;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个数据报文和若干个结束报文按照第三预设顺序整合成待发送数据包。
进一步地,所述方法还包括:
对所述待发送数据进行校验和计算,获得所述待发送数据的第一校验码;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、所述第一校验码和若干个数据报文按照第四预设顺序整合成待发送数据包。
进一步地,所述待发送数据包中包括m个连续的所述同步序列;其中,m>1。
为了解决上述技术问题,本发明实施例还提供了一种数据传输装置,所述装置设置在发送端中;所述装置包括:
同步序列生成模块,用于根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成;
第一编码模块,用于根据预设的编码规则将待发送数据编码为字节序列;
第二编码模块,用于将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息,所述偏移信息Li由第i个数据在所述字节序列中的位置、预设的偏移量和基准长度确定;
数据整合模块,用于将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;以及,
数据发送/接收模块,用于循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的数据传输方法。
本发明实施例还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的数据传输方法。
与现有技术相比,本发明实施例提供了一种数据传输方法、装置、计算机可读存储介质及终端设备,通过将待发送数据编码为字节序列,并按照预设的bit位数对字节序列进行分组编码,以将字节序列编码为个数一定且长度一定的数据报文;其中,长度相同的数据报文的个数表示当前传输的数据的数据信息,数据报文的长度表示当前传输的数据在整个待发送数据中的位置偏移信息,并将待发送数据以特定长度、特定个数的数据报文的形式发送出去,从而能够在发送端和接收端没有直接连通且加密方式不相同的情况下达到数据传输的目的,并保证数据传输的正确性及可靠性。
附图说明
图1是本发明提供的一种数据传输方法的一个优选实施例的流程图;
图2是本发明提供的一种数据传输装置的一个优选实施例的结构框图;
图3是本发明提供的一种终端设备的一个优选实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本技术领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据传输方法,参见图1所示,是本发明提供的一种数据传输方法的一个优选实施例的流程图,所述方法由发送端执行;所述方法包括步骤S11至步骤S15:
步骤S11、根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成。
发送端根据预先设置的长度差值序列标准生成同步序列,同步序列是由若干个同步报文共同组成的一个序列,同步序列中的相邻两个同步报文的长度差值对应满足上述长度差值序列标准,该长度差值序列标准是发送端和接收端共同约定的,即发送端和接收端共同约定若干个同步报文的前后长度差值序列,发送端按照约定的长度差值序列发送同步序列,接收端对收到的数据包进行解析,依次计算前后报文的长度差值是否符合约定的长度差值序列,如果符合,则认为接收到的数据包来自约定的发送端。
需要说明的是,环境中可能存在多个WIFI设备,每个WIFI设备均能够发送/接收数据包,处于监听模式的接收端想要监听发送端发出的数据包,两者必须工作在同一个工作信道上,发送端会在固定的工作信道上发送数据包,接收端开始工作时会依次切换到不同的工作信道,以在自身支持的所有工作信道上依次监听数据包,并通过识别同步序列的方法在众多的数据包中识别出其接收到的数据包是否为支持相同约定的发送端发出的数据包,接收端在任意一个工作信道上监听到数据包后,如果根据该数据包识别出发送端发送了约定的同步序列,则将工作信道设置在接收到该数据包的工作信道上,不再进行信道切换,并在该工作信道上继续监听后续的数据包。
例如,发送端和接收端共同约定同步序列需要满足的长度差值序列标准为2,-2,2,-1,1,则同步序列由六个同步报文组成,第一个同步报文与第二个同步报文的长度差值为2(前一个同步报文的长度减去后一个同步报文的长度),第二个同步报文与第三个同步报文的长度差值为-2,第三个同步报文与第四个同步报文的长度差值为2,第四个同步报文与第五个同步报文的长度差值为-1,第五个同步报文与第六个同步报文的长度差值为1。
需要补充说明的是,同步序列中的同步报文的长度不一定都相同,只要相邻两个同步报文的长度差值对应满足约定的长度差值序列标准即可,但是,为了保证数据传输的正确性和可靠性,需要确保同步报文的长度不能与实际传输的数据报文的长度重叠,例如可以将同步报文的长度限定在一个特定的长度范围内。
步骤S12、根据预设的编码规则将待发送数据编码为字节序列。
发送端根据预先设置的编码规则将待发送数据编码为相应的字节序列,该编码规则同样是发送端和接收端共同约定的,接收端在接收到发送端发送的数据包时,根据与该编码规则对应的解码规则对数据包进行解码,从而获得相应的待发送数据。
发送端的编码过程为将待发送数据的数据信息编码为字节序列的过程,接收端的解码过程为根据字节序列解析出数据信息的过程。
例如,待发送数据的数据信息为“start”,发送端按照ascii码对“start”进行编码,对应获得的字节序列为“0x73,0x74,0x61,0x72,0x74”。接收端在接收到包含该字节序列的数据包后,可以根据数据包解析获得相应的字节序列,并按照ascii码的方式将字节序列解码为“start”。
步骤S13、将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息。
发送端在将待发送数据编码为字节序列后,采用将字节序列按照预设的bit位数分组编码为个数一定且长度一定的数据报文的方式进行传输,根据约定的bit位数(可以为8bit位数、单bit位数等),将字节序列中的第i个数据编码为Ni个长度为Li的数据报文,其中,Ni表示字节序列中的第i个数据对应的待发送数据的数据信息,Li表示字节序列中的第i个数据在字节序列中所处的位置偏移信息,即为了保证数据传输的正确性和可靠性,以长度相同的数据报文的个数对应表示当前传输的数据的数据信息,以数据报文的长度表示当前传输的数据在整个待发送数据中的位置偏移信息。
以8bit位数为例,将字节序列为“0x73,0x74,0x61,0x72,0x74”按照8bit位数进行组合编码,字节序列中的第一个数据“0x73”对应的数据信息为“0x73”,对应的偏移信息为L1,字节序列中的其他数据同理,则对应编码获得的若干个数据报文依次为“0x73个长度为L1的数据报文,0x74个长度为L2的数据报文,0x61个长度为L3的数据报文,0x72个长度为L4的数据报文,0x74个长度为L5的数据报文”。
以单bit位数为例,将字节序列为“0x73,0x74,0x61,0x72,0x74”按照单bit位数进行组合编码,字节序列中的第一个数据“0x73”对应的数据信息为“1110011”,对第一个数据“0x73”编码获得的若干个数据报文依次为“1个长度为L1的数据报文,1个长度为L2的数据报文,1个长度为L3的数据报文,0个长度为L4的数据报文,0个长度为L5的数据报文,1个长度为L6的数据报文,1个长度为L7的数据报文”,其中,长度为L4和L5的数据报文的个数为0,可以无需传输,字节序列中的其他数据同理。
需要说明的是,为了保证数据传输的正确性和可靠性,需要确保实际传输的数据报文的长度不能与同步报文的长度重叠,例如可以将数据报文的长度限定在一个特定的长度范围内。
需要说明的是,原始数据的组偏移信息指的是原始数据在所属组内的位置信息,例如,某一组数据中的某一个原始数据在该组数据中的位置是第二个位置,则其位置信息2作为组偏移信息也需要编码在长度差值中。
步骤S14、将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包。
当待发送数据分组编码完成后,发送端将生成的同步序列和生成的所有的数据报文按照预先设置的第一顺序整合成待发送数据包。
例如,按照“同步序列、0x73个长度为L1的数据报文,0x74个长度为L2的数据报文,0x61个长度为L3的数据报文,0x72个长度为L4的数据报文,0x74个长度为L5的数据报文”的顺序整合成待发送数据包。
步骤S15、循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
按照上述整合的顺序循环发送上述待发送数据包,每一次循环中发送的数据包完全相同,直至接收到接收端返回的停止发送信息为止。
需要说明的是,停止循环的机制可能是接收端在全部接收完成之后通知发送端停止发送数据包,也可能在不同的应用场景中需要更上层的机制来通知停止发送,例如本发明实施例用于配置接收端连接前端SSID,则在接收端连接上前端后,并且确保可以真正地建立其与发送端的通信后,可以通知发送端停止发送。
本发明实施例所提供的一种数据传输方法,通过将待发送数据编码为字节序列,并按照预设的bit位数对字节序列进行分组编码,以将字节序列编码为个数一定且长度一定的数据报文;其中,长度相同的数据报文的个数表示当前传输的数据的数据信息,数据报文的长度表示当前传输的数据在整个待发送数据中的位置偏移信息,并将待发送数据以特定长度、特定个数的数据报文的形式发送出去,从而能够在发送端和接收端没有直接连通且加密方式不相同的情况下达到数据传输或控制的目的,并且能够保证数据传输的正确性及可靠性,在wifi快速配置等方面有较好的体验。
在另一个优选实施例中,所述方法还包括:
根据所述同步报文的长度确定基准长度;
根据预设的偏移量以及所述基准长度获取所述字节序列中的每一个数据的偏移信息。
具体的,结合上述实施例,为了区分字节序列中的每一个数据在整个字节序列中所处的位置偏移信息,可以先根据同步报文的长度确定一个基准长度,再约定一个偏移量,从而根据基准长度和约定的偏移量计算获得字节序列中的每一个数据的位置偏移信息。
例如,取基准长度为100,偏移量为20,则字节序列中的第1个数据对应数据报文的长度为120,字节序列中的第2个数据对应数据报文的长度为121,字节序列中的其他数据同理,将字节序列为“0x73,0x74,0x61,0x72,0x74”按照8bit位数进行组合编码,对应编码获得的若干个数据报文依次为“0x73个长度为120的数据报文,0x74个长度为121的数据报文,0x61个长度为122的数据报文,0x72个长度为123的数据报文,0x74个长度为124的数据报文”。将字节序列为“0x73,0x74,0x61,0x72,0x74”按照单bit位数进行组合编码时,针对第一个数据“0x73”可以仅传输5个数据报文就能够携带该数据信息,对第一个数据“0x73”编码获得的若干个数据报文依次为“1个长度为120的数据报文,1个长度为121的数据报文,1个长度为122的数据报文,1个长度为125的数据报文,1个长度为126的数据报文”,可见,以单bit位数对字节序列进行组合编码,可以实现使用更少的数据报文传输相同的信息。
在又一个优选实施例中,所述方法还包括:
当Li的值大于预设的报文长度阈值L且i≤n时,将第i+1个数据被编码为Ni+1个长度为Li+1-L的数据报文。
可以理解的,当待发送数据的数据信息较多时,对应的数据报文的长度一直在增长,数据报文的长度越长,传输所需的时间越长,因此大大影响了数据传输效率。
具体的,结合上述实施例,为了提高数据传输效率,可以使用固定的长度空间来承载信息,即约定一个数据报文的报文长度阈值L,当字节序列中的第i个(i≤n)数据编码对应的数据报文的长度Li超出该报文长度阈值L时,将i+1个数据被编码为Ni+1个长度为Li+1-L的数据报文。
例如,设定长度空间为[120,200],报文长度阈值L为200,第1个数据编码对应的数据报文的长度为120,当第i个数据编码对应的数据报文的长度Li达到200后,第i+1个数据编码对应的数据报文的长度再从Li+1-200即120开始编码。
作为上述方案的改进,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的数据报文的总长度;
将所述总长度编码为若干个长度报文;其中,长度报文的长度表示所述总长度;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个长度报文和若干个数据报文按照第二预设顺序整合成待发送数据包。
具体的,结合上述实施例,当字节序列中的第i个(i≤n)数据编码对应的数据报文的长度Li超出约定的报文长度阈值L时,需要将第i+1个数据编码对应的数据报文的长度设置为长度最小值,从长度最小值开始继续对后续的数据进行编码,此时接收端需要知道字节序列对应的数据报文的总长度,因此,发送端根据字节序列中包含的数据个数获得数据报文的总长度,并将该总长度信息编码为若干个长度报文,长度报文的长度能够表示该总长度信息,相应的,发送端将生成的同步序列、所有的长度报文和所有的数据报文按照预先设置的第二顺序整合成待发送数据包,使得接收端能够根据接收到数据包中的长度报文解析获得字节序列对应的数据报文的总长度,并且基于总长度对数据包中的数据报文进行解析,从而保证数据传输的正确性和可靠性。
例如,按照“同步序列、长度报文、0x73个长度为L1的数据报文,0x74个长度为L2的数据报文,0x61个长度为L3的数据报文,0x72个长度为L4的数据报文,0x74个长度为L5的数据报文”的顺序整合成待发送数据包。
需要说明的是,为了进一步保证数据传输的正确性和可靠性,同样需要保证长度报文的长度与同步报文的长度以及实际传输的数据报文的长度均不重叠,例如可以将长度报文的长度限定在一个特定的长度范围内。
作为上述方案的改进,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的结束标识;
将所述结束标识编码为若干个结束报文;其中,结束报文的长度表示所述结束标识;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个数据报文和若干个结束报文按照第三预设顺序整合成待发送数据包。
具体的,结合上述实施例,当字节序列中的第i个(i≤n)数据编码对应的数据报文的长度Li超出约定的报文长度阈值L时,需要将第i+1个数据编码对应的数据报文的长度设置为长度最小值,从长度最小值开始继续对后续的数据进行编码,此时接收端需要知道字节序列对应的数据报文传输的结束标识,因此,发送端根据字节序列中包含的数据个数获得数据报文传输的结束标识,并将该结束标识信息编码为若干个结束报文,结束报文的长度能够表示该结束标识信息,相应的,发送端将生成的同步序列、所有的数据报文和所有的结束报文按照预先设置的第三顺序整合成待发送数据包,使得接收端能够根据接收到数据包中的结束报文确定此次数据传输结束,从而保证数据传输的正确性和可靠性。
例如,按照“同步序列、0x73个长度为L1的数据报文,0x74个长度为L2的数据报文,0x61个长度为L3的数据报文,0x72个长度为L4的数据报文,0x74个长度为L5的数据报文、结束报文”的顺序整合成待发送数据包。
需要说明的是,为了进一步保证数据传输的正确性和可靠性,同样需要保证结束报文的长度与同步报文的长度、实际传输的数据报文的长度以及长度报文的长度均不重叠,例如可以将结束报文的长度限定在一个特定的长度范围内。
在又一个优选实施例中,所述方法还包括:
对所述待发送数据进行校验和计算,获得所述待发送数据的第一校验码;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、所述第一校验码和若干个数据报文按照第四预设顺序整合成待发送数据包。
具体的,结合上述实施例,发送端对待发送数据进行校验和计算,获得待发送数据对应的第一校验码,同理,可以将第一校验码编码为特定长度的校验报文进行传输,并且将生成的同步序列、第一校验码对应的校验报文和所有的数据报文(也可以包括长度报文或/和结束报文)按照预先设置的第四顺序整合成待发送数据包,例如,按照“同步序列、校验报文、0x73个长度为L1的数据报文,0x74个长度为L2的数据报文,0x61个长度为L3的数据报文,0x72个长度为L4的数据报文,0x74个长度为L5的数据报文、结束报文”的顺序整合成待发送数据包并发送出去。
如果接收端接收到发送端发送的校验报文,就可以根据接收到的校验报文解析获得第一校验码,从而根据第一校验码对接收到的数据进行校验,接收端在根据数据报文解析获得待发送数据之后,对解析获得的数进行校验和计算,相应获得第二校验码,如果计算出的第二校验码和解析获得的第一校验码相同,则认为所有数据完整,如果计算出的第二校验码和解析获得的第一校验码不相同,则表示数据是不完整的,接收端需要继续进行第二轮接收解析,当第二次接收解析获得的数据与上一次的数据不一致时,更正后继续计算校验和,当第二次接收解析获得的数据与上一次的数据一致时,停止接收,并计算获得新的第二校验码,如果计算出的新的第二校验码和解析获得的第一校验码不相同,则继续后续数据的接收,直到两个校验码相同为止,当校验码相同时,接收端会生成相应的停止发送信息,并将该停止发送信息返回至发送端,以通知发送端停止循环发送待发送数据包。
本发明实施例所提供的一种数据传输方法,通过在数据传输之前先传输待发送数据的校验码,以便接收端在接收数据时验证数据,从而可以保证数据的正确性及完整性,大大改善了由于丢包导致的数据传输不正确的问题。
作为上述方案的改进,所述待发送数据包中包括m个连续的所述同步序列;其中,m>1。
可以理解的,为了增加接收端与发送端快速同步的概率,可以将同步序列在每一次循环中连续多发送几次。
例如,当N=3时,待发送数据包中包括3个连续的同步序列,即每一次循环中发送的数据包均为“同步序列、同步序列、同步序列、若干个数据报文(也可以包括校验报文、长度报文或/和结束报文)”。
本发明实施例还提供了一种数据传输装置,能够实现上述任一实施例所述的数据传输方法的所有流程,装置中的各个模块、单元的作用以及实现的技术效果分别与上述实施例所述的数据传输方法的作用以及实现的技术效果对应相同,这里不再赘述。
参见图2所示,是本发明提供的一种数据传输装置的一个优选实施例的结构框图,所述装置设置在发送端中;所述装置包括:
同步序列生成模块11,用于根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成;
第一编码模块12,用于根据预设的编码规则将待发送数据编码为字节序列;
第二编码模块13,用于将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息;
数据整合模块14,用于将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;以及,
数据发送/接收模块15,用于循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
优选地,所述装置还包括:
基准长度确定模块,用于根据所述同步报文的长度确定基准长度;
偏移信息获取模块,用于根据预设的偏移量以及所述基准长度获取所述字节序列中的每一个数据的偏移信息。
优选地,所述装置还包括:
第三编码模块,用于当Li的值大于预设的报文长度阈值L且i≤n时,将第i+1个数据被编码为Ni+1个长度为Li+1-L的数据报文。
优选地,所述装置还包括:
总长度获取模块,用于当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的数据报文的总长度;
第四编码模块,用于将所述总长度编码为若干个长度报文;其中,长度报文的长度表示所述总长度;
则,所述数据整合模块14具体包括:
第一整合单元,用于将所述同步序列、若干个长度报文和若干个数据报文按照第二预设顺序整合成待发送数据包。
优选地,所述装置还包括:
结束标识获取模块,用于当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的结束标识;
第五编码模块,用于将所述结束标识编码为若干个结束报文;其中,结束报文的长度表示所述结束标识;
则,所述数据整合模块14具体包括:
第二整合单元,用于将所述同步序列、若干个数据报文和若干个结束报文按照第三预设顺序整合成待发送数据包。
优选地,所述装置还包括:
校验和计算模块,用于对所述待发送数据进行校验和计算,获得所述待发送数据的第一校验码;
则,所述数据整合模块14具体包括:
第三整合单元,用于将所述同步序列、所述第一校验码和若干个数据报文按照第四预设顺序整合成待发送数据包。
优选地,所述待发送数据包中包括m个连续的所述同步序列;其中,m>1。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一实施例所述的数据传输方法。
本发明实施例还提供了一种终端设备,参见图3所示,是本发明提供的一种终端设备的一个优选实施例的结构框图,所述终端设备包括处理器10、存储器20以及存储在所述存储器20中且被配置为由所述处理器10执行的计算机程序,所述处理器10在执行所述计算机程序时实现上述任一实施例所述的数据传输方法。
优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序1、计算机程序2、······),所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器10执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
所述处理器10可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器10也可以是任何常规的处理器,所述处理器10是所述终端设备的控制中心,利用各种接口和线路连接所述终端设备的各个部分。
所述存储器20主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器20可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器20也可以是其他易失性固态存储器件。
需要说明的是,上述终端设备可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图3结构框图仅仅是上述终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
综上,本发明实施例所提供的一种数据传输方法、装置、计算机可读存储介质及终端设备,通过将待发送数据编码为字节序列,并按照预设的bit位数对字节序列进行分组编码,以将字节序列编码为个数一定且长度一定的数据报文;其中,长度相同的数据报文的个数表示当前传输的数据的数据信息,数据报文的长度表示当前传输的数据在整个待发送数据中的位置偏移信息,并将待发送数据以特定长度、特定个数的数据报文的形式发送出去,从而能够在发送端和接收端没有直接连通且加密方式不相同的情况下达到数据传输或控制的目的,并且能够保证数据传输的正确性及可靠性,在wifi快速配置等方面有较好的体验。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法由发送端执行;所述方法包括:
根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成;
根据预设的编码规则将待发送数据编码为字节序列;
将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息,所述偏移信息Li由第i个数据在所述字节序列中的位置、预设的偏移量和基准长度确定;
将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;
循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
2.如权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
根据所述同步报文的长度确定基准长度;
根据预设的偏移量以及所述基准长度获取所述字节序列中的每一个数据的偏移信息。
3.如权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
当Li的值大于预设的报文长度阈值L且i≤n时,将第i+1个数据被编码为Ni+1个长度为Li+1-L的数据报文。
4.如权利要求3所述的数据传输方法,其特征在于,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的数据报文的总长度;
将所述总长度编码为若干个长度报文;其中,长度报文的长度表示所述总长度;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个长度报文和若干个数据报文按照第二预设顺序整合成待发送数据包。
5.如权利要求3所述的数据传输方法,其特征在于,所述方法还包括:
当Li的值大于预设的报文长度阈值时,获取所述字节序列对应的结束标识;
将所述结束标识编码为若干个结束报文;其中,结束报文的长度表示所述结束标识;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、若干个数据报文和若干个结束报文按照第三预设顺序整合成待发送数据包。
6.如权利要求1所述的数据传输方法,其特征在于,所述方法还包括:
对所述待发送数据进行校验和计算,获得所述待发送数据的第一校验码;
则,所述将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包,具体包括:
将所述同步序列、所述第一校验码和若干个数据报文按照第四预设顺序整合成待发送数据包。
7.如权利要求1~6任一项所述的数据传输方法,其特征在于,所述待发送数据包中包括m个连续的所述同步序列;其中,m>1。
8.一种数据传输装置,其特征在于,所述装置设置在发送端中;所述装置包括:
同步序列生成模块,用于根据预设的长度差值序列标准生成同步序列;其中,所述同步序列由若干个同步报文组成;
第一编码模块,用于根据预设的编码规则将待发送数据编码为字节序列;
第二编码模块,用于将所述字节序列按照预设的bit位数进行分组编码,对应获得若干个数据报文;其中,所述字节序列中的第i个数据被编码为Ni个长度为Li的数据报文;1≤i≤n,n表示所述字节序列中的数据的总个数,Ni表示第i个数据的数据信息,Li表示第i个数据在所述字节序列中的偏移信息,所述偏移信息Li由第i个数据在所述字节序列中的位置、预设的偏移量和基准长度确定;
数据整合模块,用于将所述同步序列和若干个数据报文按照第一预设顺序整合成待发送数据包;以及,
数据发送/接收模块,用于循环发送所述待发送数据包,直至接收到接收端返回的停止发送信息为止。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1~7任一项所述的数据传输方法。
10.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求1~7任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499081.7A CN110324115B (zh) | 2019-06-10 | 2019-06-10 | 一种数据传输方法、装置、存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910499081.7A CN110324115B (zh) | 2019-06-10 | 2019-06-10 | 一种数据传输方法、装置、存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324115A CN110324115A (zh) | 2019-10-11 |
CN110324115B true CN110324115B (zh) | 2022-01-04 |
Family
ID=68120835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910499081.7A Expired - Fee Related CN110324115B (zh) | 2019-06-10 | 2019-06-10 | 一种数据传输方法、装置、存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324115B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568850B (zh) * | 2020-04-29 | 2024-12-31 | 杭州海康威视数字技术股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN111555855B (zh) * | 2020-05-22 | 2022-11-11 | 乐鑫信息科技(上海)股份有限公司 | 一种无线传输方法和装置 |
CN114520709A (zh) * | 2020-11-19 | 2022-05-20 | 华为技术有限公司 | 网络数据编码传输方法及装置 |
CN115250458B (zh) * | 2021-04-12 | 2024-04-09 | 上海博泰悦臻网络技术服务有限公司 | 基于ota远程配置的数据通讯方法、系统、存储介质及服务器 |
CN113328801B (zh) * | 2021-05-19 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 一种基于可见光通讯的数据加密通讯方法和装置 |
CN113347024B (zh) * | 2021-05-19 | 2022-03-15 | 郑州信大捷安信息技术股份有限公司 | 一种基于可见光通讯的数据隔离交换方法和装置 |
CN115529109B (zh) * | 2021-10-27 | 2025-02-21 | 青岛海尔智能家电科技有限公司 | 数据处理方法和装置 |
CN114025353A (zh) * | 2021-11-04 | 2022-02-08 | 湖南三一华源机械有限公司 | 移动设备的数据处理方法、装置、存储介质和移动设备 |
CN116112119A (zh) * | 2021-11-11 | 2023-05-12 | 华为技术有限公司 | 处理数据的方法和装置 |
CN118466373A (zh) * | 2024-07-10 | 2024-08-09 | 苏州琨山通用锁具有限公司 | 基于数字差分的智能锁具通讯控制方法、系统及智能锁具 |
CN118968652A (zh) * | 2024-10-09 | 2024-11-15 | 诺博汽车科技有限公司 | 基于j1939诊断报文协议的报文处理方法、装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960358A (zh) * | 2006-10-20 | 2007-05-09 | 北京泰美世纪科技有限公司 | 一种多载波数字移动多媒体广播的数字信息传输方法 |
CN101193041A (zh) * | 2006-11-28 | 2008-06-04 | 华为技术有限公司 | 网络数据传输的方法、装置及系统 |
CN101199158A (zh) * | 2005-04-26 | 2008-06-11 | 高通股份有限公司 | 在无线通信系统中对包进行加密和重新排序 |
CN103199977A (zh) * | 2012-12-27 | 2013-07-10 | 中华电信股份有限公司 | 同步序列数据传输方法与电路装置 |
CN103314366A (zh) * | 2011-01-14 | 2013-09-18 | 三星电子株式会社 | 用于在Wi-Fi直连通信系统中将用户输入从宿端装置发送到源端装置的方法和设备 |
CN105141627A (zh) * | 2015-09-17 | 2015-12-09 | 北京金山安全软件有限公司 | 一种数据发送和接收方法、装置及设备 |
CN107222848A (zh) * | 2017-07-10 | 2017-09-29 | 普联技术有限公司 | WiFi帧的编码方法、发送端、存储介质和一种无线接入设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8483563B2 (en) * | 2009-12-16 | 2013-07-09 | Futurewei Technologies, Inc. | Header error control protected ten gigabit passive optical network downstream frame synchronization pattern |
US9647759B2 (en) * | 2013-12-22 | 2017-05-09 | IPLight Ltd. | Efficient mapping of CPRI signals for sending over optical networks |
-
2019
- 2019-06-10 CN CN201910499081.7A patent/CN110324115B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199158A (zh) * | 2005-04-26 | 2008-06-11 | 高通股份有限公司 | 在无线通信系统中对包进行加密和重新排序 |
CN1960358A (zh) * | 2006-10-20 | 2007-05-09 | 北京泰美世纪科技有限公司 | 一种多载波数字移动多媒体广播的数字信息传输方法 |
CN101193041A (zh) * | 2006-11-28 | 2008-06-04 | 华为技术有限公司 | 网络数据传输的方法、装置及系统 |
CN103314366A (zh) * | 2011-01-14 | 2013-09-18 | 三星电子株式会社 | 用于在Wi-Fi直连通信系统中将用户输入从宿端装置发送到源端装置的方法和设备 |
CN103199977A (zh) * | 2012-12-27 | 2013-07-10 | 中华电信股份有限公司 | 同步序列数据传输方法与电路装置 |
CN105141627A (zh) * | 2015-09-17 | 2015-12-09 | 北京金山安全软件有限公司 | 一种数据发送和接收方法、装置及设备 |
CN107222848A (zh) * | 2017-07-10 | 2017-09-29 | 普联技术有限公司 | WiFi帧的编码方法、发送端、存储介质和一种无线接入设备 |
Non-Patent Citations (1)
Title |
---|
"基于序列化及压缩的网格数据传输性能改进";毛国勇等;《计算机工程》;20080924;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110324115A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324115B (zh) | 一种数据传输方法、装置、存储介质及终端设备 | |
US11071116B2 (en) | Coding/decoding method, apparatus, and device | |
CN110213017B (zh) | 一种数据传输方法、装置、系统、存储介质及终端设备 | |
KR102059079B1 (ko) | 무선 네트워크 환경에서 제어정보의 보안통신을 위한 방법 및 시스템 | |
US10892850B2 (en) | Method and apparatus for carrying identification information | |
CN109948347B (zh) | 一种数据存储方法及装置、服务器及可读存储介质 | |
CN107888344B (zh) | 一种误码检测的方法、设备和系统 | |
CN104703176A (zh) | 无线网络的配置方法、智能终端和无线网络设备 | |
CN101621353A (zh) | 一种随机线性网络编码的方法、装置和系统 | |
CN104754565A (zh) | 无线参数发送接收方法及装置 | |
CN111865557B (zh) | 一种校验码生成方法及装置 | |
BR112015014405B1 (pt) | Método de comunicações para um sistema de rede óptica, dispositivo de rede óptica e sistema de comunicações | |
CN108540259B (zh) | 一种极化码编译码方法及装置 | |
EP3522416A1 (en) | Feedback information processing method, device and system, and base station and terminal | |
KR101055843B1 (ko) | 전력 네트워크에서 트랜잭션 암호화 및 복호화 방법과 그 시스템 | |
US11546089B2 (en) | Methods and devices for data transmission and processing, network side apparatus, and terminal | |
CN115102768B (zh) | 一种数据处理方法、装置及计算机设备 | |
US10623140B2 (en) | Method for processing signaling sub-segment, processing apparatus, access point, and station | |
CN113596742B (zh) | 一种数据传输方法及装置 | |
CN114222254A (zh) | 配网方法、装置及存储介质 | |
CN110612669B (zh) | 译码的方法和装置 | |
CN113517982A (zh) | 口令的生成方法、口令的执行方法及终端 | |
CN108631923B (zh) | 传输信息的方法、网络设备和终端设备 | |
CN102957494B (zh) | 一种盲检校验方法以及相关装置 | |
CN108667554B (zh) | 标识信息的处理方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220104 |