CN110912639A - 数据的传输方法及装置、下位机及数据交互系统 - Google Patents
数据的传输方法及装置、下位机及数据交互系统 Download PDFInfo
- Publication number
- CN110912639A CN110912639A CN201811079855.2A CN201811079855A CN110912639A CN 110912639 A CN110912639 A CN 110912639A CN 201811079855 A CN201811079855 A CN 201811079855A CN 110912639 A CN110912639 A CN 110912639A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- data block
- blocks
- redundant
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000003993 interaction Effects 0.000 title claims abstract description 11
- 230000002159 abnormal effect Effects 0.000 claims abstract description 85
- 238000012937 correction Methods 0.000 claims description 28
- 230000005856 abnormality Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007670 refining Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000002547 anomalous effect Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 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/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/0061—Error detection codes
-
- 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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明适用于数据传输技术领域,提供了一种数据的传输方法及装置、下位机及数据交互系统,所述传输方法包括:接收上位机发送的数据块;当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。本发明中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
Description
技术领域
本发明属于数据传输技术领域,尤其涉及一种数据的传输方法及装置、下位机及数据交互系统。
背景技术
在上位机和下位机模式的数据传输系统中,上位机通过握手方式向下位机传输数据,由于环境中存在着各种干扰,会影响数据传输的准确性,例如会出现数据丢失或者数据位反转的情况,因此需要验证数据的准确性。
现有技术中,当下位机验证接收的数据出现异常时,上位机向下位机重传对应的数据,但重传过程也可能出现前述的问题,因此效率传输不高,可靠性较低,且耗费时间。
发明内容
本发明实施例提供了一种数据的传输方法及装置、下位机及数据交互系统,旨在解决现有技术的由于传输的数据出现异常时需要重传数据导致数据传输可靠性较低的问题。
一种数据的传输方法,包括:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
优选地,接收所述上位机发送的数据块之后、当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行细致,得到修正数据块,并执行写入操作,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得之前还包括:
判断所接收的数据块是否为冗余块;
当判断为否时,判断所接收的数据块的数据是否异常。
优选地,所述冗余块基于所述两个以上数据块组合运算所得具体为:
对所述两个以上数据块中的相同位置的数据进行异或运算,得到的运算结果作为所述冗余块。
优选地,所述冗余块携带异或运算的标识,判断所接收的数据块是否为冗余块包括:
判断所接收的数据块是否携带异或运算的标识;
当携带时,确认所接收的数据块为冗余块;
当不携带时,确认所接收的数据块为非冗余块。
优选地,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知包括:
完成对所接收的数据块所在传输单元的其他数据块的接收;
基于所接收的数据块对应的数据出现异常的位置及所述其他数据块获得修正数据块;
向所述上位机发出传输下一数据块的通知。
优选地,基于所接收的数据块对应的数据出现异常的位置及所述其他数据块获得修正数据块包括:
对所述其他数据块的处于所接收的数据块对应的数据出现异常的位置的数据进行异或运算,得到运算数据;
基于所述运算数据及所接收的数据形成修正数据块。
优选地,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知之后还包括:
若上一次接收的数据块为最后一个时,执行写入操作。
优选地,接收上位机发送的数据块之前还包括:
与上位机握手建立连接。
本发明还提供一种数据的传输装置,包括:
接收单元,用于接收上位机发送的数据块;
修正单元,用于当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
本发明还提供一种下位机,该下位机包括数据的传输装置,所述数据的传输装置包括:
接收单元,用于接收上位机发送的数据块;
修正单元,用于当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
本发明还提供一种数据交互系统,包括上位机及下位机,所述上位机与下位机握手建立连接,其中:
上位机,用于向所述下位机发送数据块;
下位机,用于接收所述上位机发送的数据块,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块为所述上位机基于所述两个以上数据块组合运算所得。
本发明还提供一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
本发明还提供一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
本发明实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
附图说明
图1为本发明第一实施例提供的一种数据的传输方法的流程图;
图2为本发明第一实施例提供的一种数据的传输方法的一优选实施例的传输单元的结构图;
图3为本发明第一实施例提供的一种数据的传输方法的一优选实施例的流程图;
图4为本发明第一实施例提供的一种数据的传输方法的步骤S2的具体流程图;
图5为本发明第一实施例提供的一种数据的传输方法的步骤S22的具体流程图;
图6为本发明第二实施例提供的一数据的传输装置的结构图;
图7为本发明第三实施例提供的一种数据交互系统的结构图;
图8为本发明第四实施例提供的一种服务终端的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例中,一种数据的传输方法,包括:接收上位机发送的数据块;当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的一种数据的传输方法的流程图,该方法包括:
步骤S1,接收上位机发送的数据块;
具体地,在与上位机建立连接后,接收到上位机发送的数据块,该数据块包括:帧头(header)、数据主体(body)、CRC(Cyclic Redundancy Check,循环冗余校验),其中,该帧头至少包括3个bytes(start code、数据块索引号index及数据块的类型(数据或冗余),数据主体可为实际的数据(当为非冗余块时)、冗余数据(当为冗余块时),CRC主要用于判断该数据块对应的数据是否异常,该CRC优选为16bits的校验码,用于判断数据是否正常。
步骤S2,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知;
具体地,对所接收的数据块进行分析,当其不属于冗余块时,对该数据块的数据进行分析,若有数据出现异常时,获取该数据块所在传输单元的其他数据块,基于其他数据块对接收的数据库进行修正,得到修正数据块,然后向上位机发出传输下一数据块的通知。
进一步地,上位机首先将需要传输的数据进行分块处理,得到多个数据块(如传输的数据以1024个字节为单元,共有30K的数据量,则可分为30个数据块),而每次传输一个数据块,在传输之前,需要定义传输单元,每一传输单元包括一个冗余块及两个以上数据块(见图2,D1、D2、D3、D4分别为实际数据块,P1为冗余块,D1、D2、D3、D4及P1组成一个传输单元),该冗余块基于两个以上数据块组合运算所得,例如,在传输之前需要对分块处理的数据块分组,将每一组数据块进行组合运算,将运算结果作为冗余块,该组数据块与对应的冗余块形成一个传输单元。优选地,分析该组数据块的数据,对该组的任一数据块(除了冗余块之外)处于相同位置的数据进行异或运算,得到的运算结果作为冗余块,并将该冗余块进行冗余标记(优选为异或运算的标识),将该组数据块与运算所得的冗余块组合得到一个传输单元。以一组数据块包括两个数据块为例,上位机在发送两个数据块之后,将发送的两个数据块中的相同位置的数据进行异或运算,将运算结果作为第三个数据块(即冗余块)发送给接收者,表示一个传输单元传输完毕。
再进一步地,每一组数据块的数量是一致的,每一传输单元对应一组数据块及一冗余块,每一组数据块的数量可根据实际需求而设,每一组数据块的数量至少为两个以上数据块,例如:2个、3个、、、10个、12个等,此处对此不作限制。
例如:假设传输单元有n块,则数据为D1、D2…Dn-1,冗余块为Dn,下面公式成立;
在本实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
在本实施例的一个优选方案中,该步骤S1之前还可包括:
步骤S3,与上位机握手建立连接;
具体地,首先与上位机进行握手建立连接,如上位机首先发出传输命令,接收方(例如下位机)接收到传输命令后,向上位机发出应答(ACK),上位机接收到该应答时,表示二者通过握手建立连接。
在本实施例的一个优选方案中(见图3),该步骤S2之后还可包括:
步骤S4,若上一次接收的数据块为最后一个时,执行写入操作;
具体地,将上一次接收的数据块进行分析之后,向上位机发出传输下一数据块的通知,当接收到上位机发出的数据传输完毕的提示,或者在预设时间段内未接收到上位机的反馈应答时,确认当前数据块接收完毕,此时需要将接收的数据块写入存储,即执行写入操作,将所接收的数据块写入flash中。
在本实施例的一个优选方案中,该步骤S1之后、步骤S2之前还可包括:
步骤S5,判断所接收的数据块是否为冗余块;
具体地,当接收到数据块时,首先判断该数据块是否为冗余块,优选地,判断所接收的数据块是否携带异或运算的标识,若携带则说明所接收的数据块为冗余块,则转到步骤S6;若未携带则说明接收的数据块为非冗余块,即为真实数据块,于是转到步骤S7;
步骤S6,向上位机发出传输下一数据块的通知;
具体地,当该数据块为冗余块时,无需对该数据块进行处理,存储下来即可,于是向上位机发出传输下一数据块的通知,准备接收下一数据块。
步骤S7,判断所接收的数据块的数据是否异常;
具体地,当所接收的数据块为非冗余块时,进一步判断该数据块的数据是否异常(例如根据数据块的尾部的两个字节的CRC校验码来判断是否这个数据是否异常),当异常时,需要对该数据块的数据进行修正,于是转到步骤S2,当正确时,转到步骤S8;
步骤S8,存储该数据块。
需要说明的是,若当前接收的数据块正确时,可直接写入flash,如果异常则需要进行修正,将修正后的数据写入flash,也可以是对应传输单元的所有数据块均正确时(若有异常通过修正转为正常),才进行写入flash的操作,此处对此不作限制。
在本实施例的一个优选方案中,如图4所示,为本发明第一实施例提供的一种数据的传输方法的步骤S2的具体流程图,该步骤S2具体包括:
步骤S21,完成对所接收的数据块所在传输单元的其他数据块的接收;
具体地,当判断当前接收的数据块异常时,则首先判断该数据块对应的传输单元是否传输完毕,当判断为否时,接收该传输单元中的未传输的数据块。其他数据块指的是该传输单元中除了该出现异常的数据块之外的其他数据块(包括冗余块)。当判断为是时,直接获取该传输单元的其他数据块。
步骤S22,基于所接收的数据块对应的数据出现异常的位置及其他数据块获得修正数据块;
具体地,获取该接收的数据块对应的数据出现异常的位置以及其他数据块进行修正处理,获得对应的修正数据块。
步骤S23,向上位机发出传输下一数据块的通知;
具体地,当对异常数据块进行修正之后,等待接收下一数据块,于是向上位机发出传输下一数据块的通知。
在本实施例的一个优选方案中,如图5所示,为本发明第一实施例提供的一种数据的传输方法的步骤S22的具体流程图,该步骤S22具体包括:
步骤S221,对其他数据块的处于所接收的数据块对应的数据出现异常的位置的数据进行异或运算,得到运算数据;
具体地,获取出现异常的位置,将其他数据块的处于该位置的数据进行异或运算,得到运算数据,该运算数据即为该位置的正常数据。
步骤S222,基于运算数据及所接收的数据形成修正数据块;
具体地,将该运算数据添加至该出现异常的数据块中替代出现异常的数据,形成修正数据,该修正数据即为正确数据,属于有效数据。
需要说明的是,当一个传输单元包括多个数据块时,需要对接收的每一数据块均进行步骤S5至步骤S7的流程,若此时在一个传输单元中有两个以上数据块出现异常时,获取每一异常的数据块的数据出现异常的位置,若位置一致,此时以两个数据块出现异常为例,通过2个冗余块采用P+Q算法才能修正;比如3个数据块的某个位置分别是1、1、1,则冗余块中相应位置的比特位是1=1^1^1,则传输的即是1、1、1、1,如果下位机读出是0、0、1、1,前面两个数据是没办法修正的,如果是0、1、1、1的话,则可以通过1^1^1=1的方式得出第一个数据位是1。如果n个相同比特位位置出错需要n个冗余块来修复。若不一致,首先获取该传输单元的所有数据块,以其中一个异常的数据块为例,获取该异常的数据块出现异常的位置及该传输单元的其他数据块来进行修正,修正过程与前述步骤S22一致,完成对一个异常的数据块的修正,然后对下一个异常的数据块进行类似的修正,当该传输单元出现异常的数据块均修正完毕后,对修正数据进行存储。
本实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
其次,在接收端对异常数据进行异或运算处理,得到正确的数据,恢复数据的准确性,提高数据传输效率。
实施例二:
如图6所示,为本发明第二实施例提供的一数据的传输装置的结构图,该传输装置包括:接收单元1及与其连接的修正单元2,其中:
接收单元1,用于接收上位机发送的数据块;
具体地,在与上位机建立连接后,接收到上位机发送的数据块,该数据块包括:帧头(header)、数据主体(body)、CRC(Cyclic Redundancy Check,循环冗余校验),其中,该帧头至少包括3个bytes(start code、数据块索引号index及数据块的类型(数据或冗余),数据主体可为实际的数据(当为非冗余块时)、冗余数据(当为冗余块时),CRC主要用于判断该数据块对应的数据是否异常,该CRC优选为16bits的校验码,用于判断数据是否正常。
修正单元2,用于当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知;
具体地,对所接收的数据块进行分析,当其不属于冗余块时,对该数据块的数据进行分析,若有数据出现异常时,获取该数据块所在传输单元的其他数据块,基于其他数据块对接收的数据库进行修正,得到修正数据块,然后向上位机发出传输下一数据块的通知。
进一步地,上位机首先将需要传输的数据进行分块处理,得到多个数据块(如传输的数据以1024个字节为单元,共有30K的数据量,则可分为30个数据块),而每次传输一个数据块,在传输之前,需要定义传输单元,每一传输单元包括一个冗余块及两个以上数据块,该冗余块基于两个以上数据块组合运算所得,例如,在传输之前需要对分块处理的数据块分组,将每一组数据块进行组合运算,将运算结果作为冗余块,该组数据块与对应的冗余块形成一个传输单元。优选地,分析该组数据块的数据,对该组的任一数据块(除了冗余块之外)处于相同位置的数据进行异或运算,得到的运算结果作为冗余块,并将该冗余块进行冗余标记(优选为异或运算的标识),将该组数据块与运算所得的冗余块组合得到一个传输单元。以一组数据块包括两个数据块为例,上位机在发送两个数据块之后,将发送的两个数据块中的相同位置的数据进行异或运算,将运算结果作为第三个数据块(即冗余块)发送给接收者,表示一个传输单元传输完毕。
再进一步地,每一组数据块的数量是一致的,每一传输单元对应一组数据块及一冗余块,每一组数据块的数量可根据实际需求而设,每一组数据块的数量至少为两个以上数据块,例如:2个、3个、、、10个、12个等,此处对此不作限制。
例如:假设传输单元有n块,则数据为D1、D2…Dn-1,冗余块为Dn,下面公式成立;
在本实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
在本实施例的一个优选方案中,该传输装置还包括:与接收单元1连接的连接单元3,其中:
连接单元3,用于与上位机握手建立连接;
具体地,首先与上位机进行握手建立连接,如上位机首先发出传输命令,接收方(例如下位机)接收到传输命令后,向上位机发出应答(ACK),上位机接收到该应答时,表示二者通过握手建立连接。
在本实施例的一个优选方案中,该传输装置还包括:与修正单元2连接的执行单元,其中:
执行单元4,用于若上一次接收的数据块为最后一个时,执行写入操作;
具体地,将上一次接收的数据块进行分析之后,向上位机发出传输下一数据块的通知,当接收到上位机发出的数据传输完毕的提示,或者在预设时间段内未接收到上位机的反馈应答时,确认当前数据块接收完毕,此时需要将接收的数据块写入存储,即执行写入操作,将所接收的数据块写入flash中。
在本实施例的一个优选方案中,该传输装置还包括:与接收单元1连接的判断单元,其中:
判断单元,用于判断所接收的数据块是否为冗余块;
具体地,当接收到数据块时,首先判断该数据块是否为冗余块,优选地,判断所接收的数据块是否携带异或运算的标识,若携带则说明所接收的数据块为冗余块,向上位机发出传输下一数据块的通知;若未携带则说明接收的数据块为非冗余块,即为真实数据块,进一步判断所接收的数据块的数据是否异常;
具体地,当所接收的数据块为非冗余块时,进一步判断该数据块的数据是否异常(例如根据数据块的尾部的两个字节的CRC校验码来判断是否这个数据是否异常),当异常时,需要对该数据块的数据进行修正,于是反馈给修正单元2,当数据块的数据正确时,存储该数据块。
需要说明的是,若当前接收的数据块正确时,可直接写入flash,如果异常则需要进行修正,将修正后的数据写入flash,也可以是对应传输单元的所有数据块均正确时(若有异常通过修正转为正常),才进行写入flash的操作,此处对此不作限制。
在本实施例的一个优选方案中,该修正单元2具体包括:控制子单元、与控制子单元连接的修正子单元、与修正子单元连接的通知子单元,其中:
控制子单元,用于完成对所接收的数据块所在传输单元的其他数据块的接收;
具体地,当判断当前接收的数据块异常时,则首先判断该数据块对应的传输单元是否传输完毕,当判断为否时,接收该传输单元中的未传输的数据块。其他数据块指的是该传输单元中除了该出现异常的数据块之外的其他数据块(包括冗余块)。当判断为是时,直接获取该传输单元的其他数据块。
修正子单元,用于基于所接收的数据块对应的数据出现异常的位置及其他数据块获得修正数据块;
具体地,获取该接收的数据块对应的数据出现异常的位置以及其他数据块进行修正处理,获得对应的修正数据块。
通知子单元,用于向上位机发出传输下一数据块的通知;
具体地,当对异常数据块进行修正之后,等待接收下一数据块,于是向上位机发出传输下一数据块的通知。
在本实施例的一个优选方案中,该修正子单元具体用于:
对其他数据块的处于所接收的数据块对应的数据出现异常的位置的数据进行异或运算,得到运算数据;
具体地,获取出现异常的位置,将其他数据块的处于该位置的数据进行异或运算,得到运算数据,该运算数据即为该位置的正常数据。
基于运算数据及所接收的数据形成修正数据块;
具体地,将该运算数据添加至该出现异常的数据块中替代出现异常的数据,形成修正数据,该修正数据即为正确数据,属于有效数据。
需要说明的是,当一个传输单元包括多个数据块时,需要对接收的每一数据块均进行冗余块及数据异常的判断,若此时在一个传输单元中有两个以上数据块出现异常时,获取每一异常的数据块的数据出现异常的位置,若位置一致,此时以两个数据块出现异常为例,通过2个冗余块采用P+Q算法才能修正;比如3个数据块的某个位置分别是1、1、1,则冗余块中相应位置的比特位是1=1^1^1,则传输的即是1、1、1、1,如果下位机读出是0、0、1、1,前面两个数据是没办法修正的,如果是0、1、1、1的话,则可以通过1^1^1=1的方式得出第一个数据位是1。如果n个相同比特位位置出错需要n个冗余块来修复。若不一致,首先获取该传输单元的所有数据块,以其中一个异常的数据块为例,获取该异常的数据块出现异常的位置及该传输单元的其他数据块来进行修正,修正过程与前述步骤S22一致,完成对一个异常的数据块的修正,然后对下一个异常的数据块进行类似的修正,当该传输单元出现异常的数据块均修正完毕后,对修正数据进行存储。
本实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
其次,在接收端对异常数据进行异或运算处理,得到正确的数据,恢复数据的准确性,提高数据传输效率。
本发明还提出一种下位机,该下位机包括一种数据的传输装置,该传输装置与上述实施例二描述的数据的传输装置的具体结构、工作原理及对应的技术效果基本一致,此处不再赘述。
实施例三:
图7示出了本发明第三实施例提供的一种数据交互系统的结构图,该交互系统包括上位机71、下位机71,所述上位机71与下位机72通过串口线连接,该上位机71可为PC、host cpu,所述下位机72可为MCU等。
上位机71首先与下位机72握手建立连接,如上位机首先发出传输命令,接收方(例如下位机)接收到传输命令后,向上位机发出应答(ACK),上位机接收到该应答时,表示二者通过握手建立连接。
上位机71首先将需要传输的数据进行分块处理,得到多个数据块,然后对多个数据块进行分组处理,例如每一组数据块包括两个数据块,对两个数据块中的相同位置的数据进行异或处理,得到的处理数据作为冗余块,该冗余块作为第三数据块,与前述两个数据块形成一个传输单元。每接收一个下位机72的传输数据块的通知后,向下位机72发送数据块。优选地,以传输单元作为顺序来传输数据块,即该传输单元的数据块传输完毕后,才传输下一个传输单元的数据块。下位机72向上位机71发出传输数据块的通知,接收到上位机71发出的数据块,对该数据块进行分析判断是否为冗余块,在确认为非冗余块时,进一步确认该数据块是否出现异常,当未出现异常时,直接存储,等待写入操作;当出现异常时,获取出现异常的位置,并确认该异常的数据块所在传输单元的数据块是否接收完毕,若未接收完毕时,则向上位机71发出传输下一个数据块的通知,直到该传输单元的数据块接收完毕,然后基于该异常的位置及该传输单元的其他数据块进行数据修正,得到修正的数据,然后存储下来,进行下一轮数据块的接收。
需要说明的是,本实施例的下位机与前述实施例描述的下位机的具体结构、工作原理及对应的技术效果基本一致,具体可参考前述实施例的描述。
实施例四:
图8示出了本发明第四实施例提供的一种服务终端的结构图,该服务终端包括:存储器(memory)81、处理器(processor)82、通信接口(Communications Interface)83和总线84,该处理器82、存储器81、通信接口83通过总线84完成相互之间的交互通信。
存储器81,用于存储各种数据;
具体地,存储器81用于存储各种数据,例如通信过程中的数据、接收的数据等,此处对此不作限制,该存储器还包括有多个计算机程序。
通信接口83,用于该服务终端的通信设备之间的信息传输;
处理器82,用于调用存储器81中的各种计算机程序,以执行上述实施例一所提供的一种数据的传输方法,例如:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
本实施例中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
本发明还提供一种存储器,该存储器存储有多个计算机程序,该多个计算机程序被处理器调用执行上述实施例一所述的一种数据的校验方法。
本发明中,采用数据块方式传输且基于冗余块对异常数据进行修正处理,可提高数据传输的准确性及可靠性。
其次,在接收端对异常数据进行异或运算处理,得到正确的数据,恢复数据的准确性,提高数据传输效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。
专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (13)
1.一种数据的传输方法,其特征在于,包括:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
2.根据权利要求1所述的传输方法,其特征在于,接收所述上位机发送的数据块之后、当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行细致,得到修正数据块,并执行写入操作,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得之前还包括:
判断所接收的数据块是否为冗余块;
当判断为否时,判断所接收的数据块的数据是否异常。
3.根据权利要求2所述的传输方法,其特征在于,所述冗余块基于所述两个以上数据块组合运算所得具体为:
对所述两个以上数据块中的相同位置的数据进行异或运算,得到的运算结果作为所述冗余块。
4.据权利要求3所述的传输方法,其特征在于,所述冗余块携带异或运算的标识,判断所接收的数据块是否为冗余块包括:
判断所接收的数据块是否携带异或运算的标识;
当携带时,确认所接收的数据块为冗余块;
当不携带时,确认所接收的数据块为非冗余块。
5.根据权利要求2所述的传输方法,其特征在于,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知包括:
完成对所接收的数据块所在传输单元的其他数据块的接收;
基于所接收的数据块对应的数据出现异常的位置及所述其他数据块获得修正数据块;
向所述上位机发出传输下一数据块的通知。
6.根据权利要求5所述的传输方法,其特征在于,基于所接收的数据块对应的数据出现异常的位置及所述其他数据块获得修正数据块包括:
对所述其他数据块的处于所接收的数据块对应的数据出现异常的位置的数据进行异或运算,得到运算数据;
基于所述运算数据及所接收的数据形成修正数据块。
7.根据权利要求1至6任意一项所述的传输方法,其特征在于,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知之后还包括:
若上一次接收的数据块为最后一个时,执行写入操作。
8.根据权利要求7所述的传输方法,其特征在于,接收上位机发送的数据块之前还包括:
与上位机握手建立连接。
9.一种数据的传输装置,其特征在于,包括:
接收单元,用于接收上位机发送的数据块;
修正单元,用于当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
10.一种下位机,其特征在于,包括如权利要求8所述的数据的传输装置。
11.一种数据交互系统,其特征在于,包括上位机及下位机,所述上位机与下位机握手建立连接,其中:
上位机,用于向所述下位机发送数据块;
下位机,用于接收所述上位机发送的数据块,当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块为所述上位机基于所述两个以上数据块组合运算所得。
12.一种存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被处理器执行如下步骤:
接收上位机发送的数据块;
当所接收的数据块为非冗余块且对应的数据异常时,获取所接收的数据块所在传输单元的其他数据块,基于所述其他数据块对所接收的数据块进行修正,得到修正数据块,向所述上位机发出传输下一数据块的通知,每一所述传输单元包括一个冗余块及两个以上数据块,所述冗余块基于所述两个以上数据块组合运算所得。
13.一种服务终端,包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述的数据的传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811079855.2A CN110912639A (zh) | 2018-09-14 | 2018-09-14 | 数据的传输方法及装置、下位机及数据交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811079855.2A CN110912639A (zh) | 2018-09-14 | 2018-09-14 | 数据的传输方法及装置、下位机及数据交互系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110912639A true CN110912639A (zh) | 2020-03-24 |
Family
ID=69813388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811079855.2A Pending CN110912639A (zh) | 2018-09-14 | 2018-09-14 | 数据的传输方法及装置、下位机及数据交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912639A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008049341A1 (fr) * | 2006-10-24 | 2008-05-02 | Hangzhou H3C Technologies Co., Ltd. | Procédé de traitement de messages, dispositif de transmission de messages et dispositif de réception de messages |
CN101355705A (zh) * | 2007-07-23 | 2009-01-28 | 中兴通讯股份有限公司 | 一种用于多媒体广播系统的数据传输方法 |
-
2018
- 2018-09-14 CN CN201811079855.2A patent/CN110912639A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008049341A1 (fr) * | 2006-10-24 | 2008-05-02 | Hangzhou H3C Technologies Co., Ltd. | Procédé de traitement de messages, dispositif de transmission de messages et dispositif de réception de messages |
CN101355705A (zh) * | 2007-07-23 | 2009-01-28 | 中兴通讯股份有限公司 | 一种用于多媒体广播系统的数据传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110445583B (zh) | 数据传输的校验方法、校验系统及计算机可读存储介质 | |
CN106843942B (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN101621471B (zh) | 用于发送和接收分组的系统 | |
CN102281121A (zh) | 一种数据文件传输和校验的方法、设备及系统 | |
WO2021008248A1 (zh) | 数据帧接收方法和装置以及通信方法和系统 | |
US20150183114A1 (en) | Robot system having wireless acceleration sensor | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN103533045A (zh) | 一种用于pcie数据链路层高性能容错的方法 | |
CN112187406B (zh) | 一种真无线耳机的纠错方法、装置及介质 | |
CN109302395A (zh) | 一种用于提高高误码率环境下数据纠错效率的纠错方法 | |
CN103763067A (zh) | 一种通信数据包纠错校验方法与装置 | |
CN110913431A (zh) | 数据无线传输方法、装置、计算机设备及存储介质 | |
CN112600787B (zh) | 一种通信系统及通信方法 | |
CN107852275B (zh) | 数据传输装置和数据传输方法、接收装置和接收方法 | |
CN110912639A (zh) | 数据的传输方法及装置、下位机及数据交互系统 | |
CN112532359A (zh) | 接收端基于数据重传数据进行内容合并的方法及装置 | |
CN108108264A (zh) | 一种串口通讯的校验纠错方法 | |
CN107257265A (zh) | 实时传输数据流前向纠错方法、设备及存储介质 | |
CN109039536A (zh) | 数据的传输方法、设备及可读介质 | |
JP4966642B2 (ja) | 通信装置及び通信制御方法 | |
US20210014006A1 (en) | System and method for implementing a hybrid automatic repeat request process | |
CN110620639B (zh) | 一种用于数据子帧聚合重传的硬件重传电路及方法 | |
CN114337915A (zh) | 基于串行通讯的私有协议容错处理方法、装置及存储介质 | |
JP2007189399A (ja) | 自動再送制御方法、送信装置、受信装置及びプログラム | |
CN111459707A (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 | ||
CB02 | Change of applicant information |
Address after: 200438 9 / F, 10 / F, 11 / F, 12 / F, 38 Lane 1688, Guoquan North Road, Yangpu District, Shanghai Applicant after: QIANXUN SPATIAL INTELLIGENCE Inc. Address before: Room j165, 1st floor, building 64, 1436 Jungong Road, Yangpu District, Shanghai, 200433 Applicant before: QIANXUN SPATIAL INTELLIGENCE Inc. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200324 |
|
RJ01 | Rejection of invention patent application after publication |