一种处理传输数据的方法和装置的制造方法

文档序号:8415354阅读:209来源:国知局
一种处理传输数据的方法和装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种处理传输数据的方法和装置。
【背景技术】
[0002]在数据传输过程中,由于接收端没有反向的传输通道对接收到的数据进行反馈确认,发送端通常采用循环播放的方法发送数据。发送端发送的数据通常包括数据头、数据长度、数据正文和校验码。接收端通过从数据头开始,进行数据采集。
[0003]发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
[0004]现有的数据传输机制中,当存在接收端介入的时间差时,即,当接收端初始介入接收的数据不是数据头时,接收端通常会从下一次传输的数据头开始接收数据,导致接收端的接收时间加长。

【发明内容】

[0005]本发明实施例提供了一种处理传输数据的方法和装置,用以解决数据传输过程中由于接收端介入的时间差而导致的接收时间过长的问题。
[0006]本发明实施例提供了一种处理传输数据的方法,包括以下步骤:
[0007]①、接收第五预设长度的数据,将接收到的数据存储到第三存储区;
[0008]②、判断所述第三存储区中的数据是否符合预设格式,如果不符合预设格式,则执行步骤③或者④;如果符合预设格式,则结束流程;
[0009]③、对所述第三存储区中的数据的顺序进行调整,并在调整后的所述第三存储区中的数据符合预设格式时,结束流程;
[0010]④、将所述第三存储区中的数据存储到第四存储区;
[0011]⑤、对所述第四存储区中的数据的顺序进行调整,并在调整后的所述第四存储区中的数据符合预设格式时,结束流程。
[0012]本发明实施例还提供了一种处理传输数据的装置,包括:
[0013]接收模块,用于接收第五预设长度的数据,将接收到的数据存储到第三存储区;
[0014]第一判断模块,用于判断所述第三存储区中的数据是否符合预设格式;
[0015]处理模块,用于在所述第一判断模块判断所述第三存储区中的数据不符合预设格式时,对所述第三存储区中的数据的顺序进行调整,并在调整后的所述第三存储区中的数据符合预设格式时,结束流程;
[0016]或者,在所述第一判断模块判断所述第三存储区中的数据不符合预设格式时,将所述第三存储区中的数据存储到第四存储区,对所述第四存储区中的数据的顺序进行调整,并在调整后的所述第四存储区中的数据符合预设格式时,结束流程。
[0017]本发明实施例通过对接收到的数据进行拼接,或者通过对接收到的数据进行移位以实现对该数据的重新组合,能够减少数据接收时间,提高数据接收速度。
【附图说明】
[0018]图1为本发明实施例一中的一种处理传输数据的方法流程图;
[0019]图2为本发明实施例二中的一种处理传输数据的方法流程图;
[0020]图3为本发明实施例三中的一种处理传输数据的方法流程图;
[0021]图4为本发明实施例四中的一种处理传输数据的方法流程图;
[0022]图5为本发明实施例五中的一种处理传输数据的方法流程图;
[0023]图6为本发明实施例六中的一种处理传输数据的装置结构图;
[0024]图7为本发明实施例七中的一种处理传输数据的装置结构图;
[0025]图8为本发明实施例八中的一种处理传输数据的装置结构图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]实施例一
[0028]本发明实施例一提出一种处理传输数据的方法,发送端以比特为单位发送数据,传输数据按照从高位到低位的顺序依次包括:数据头、数据类别、数据长度、有效数据和校验码,其中,数据头的长度为第一预设数量比特,数据类别和数据长度的长度之和为第二预设数量比特,数据长度的长度为第三预设数量比特。接收端处理传输数据的方法流程,如图1所示,包括以下步骤:
[0029]步骤101,接收第一预设数量比特的数据,将接收到的数据存储到第一存储区。
[0030]其中,第一预设数量比特可以为数据头的长度,数据头用于指示数据的开始。例如,当数据头的长度为6比特时,可以接收6比特的数据,并将该6比特的数据存储到第一存储区。
[0031]步骤102,判断第一存储区中最后接收到的第一预设数量比特的数据是否为数据头,如果是,则执行步骤104,否则,执行步骤103。
[0032]具体地,当数据头的内容为预设内容时,判断第一存储区中最后接收到的第一预设数量比特的数据的内容是否为预设内容。
[0033]例如,当数据头的长度为6比特,内容为“111110”时,可以判断第一存储区中最后接收到的6比特的数据的内容是否为“111110”。
[0034]步骤103,继续接收第十一预设数量比特的数据,将接收到的数据存储到第一存储区,并返回步骤102。
[0035]其中,第十一预设数量比特可以为I比特,也可以为其他数量的比特。
[0036]步骤104,继续接收第二预设数量比特的数据,将该数据存储到第二存储区。
[0037]其中,第二预设数量比特可以为数据类别和数据长度的长度之和。例如,当数据类别的长度为2比特,数据长度的长度为8比特时,可以继续接收10比特的数据,并将该10比特的数据存储到第二存储区。
[0038]步骤105,根据第二存储区中最后接收到的第三预设数量比特的数据,获取数据长度。
[0039]具体地,可以读取第二存储区中最后接收到的第三预设数量比特的数据的内容,将该内容作为数据长度。数据长度通常以BCD码的形式表示。例如,当第三预设数量比特为8比特,第二存储区中最后接收到的第三预设数量比特的数据为“00010100”时,则数据长度为20比特。
[0040]步骤106,根据校验码的长度、第一存储区中除数据头之外的其他数据的长度和数据长度,获取需要接收的剩余数据长度。
[0041]具体地,可以将校验码的长度和数据长度之和,减去第一存储区中除数据头之外的其他数据的长度,得到需要接收的剩余数据长度。
[0042]例如,当数据长度为20比特,校验码的长度为4比特,第一存储区存储有16比特的数据,其中包括长度为6比特的数据头时,则需要接收的剩余数据长度为20+4-(16-6)=14比特。
[0043]步骤107,判断需要接收的剩余数据长度是否大于零,如果大于零,则执行步骤108 ;否则,执行步骤109。
[0044]步骤108,根据需要接收的剩余数据长度,继续接收数据,将接收到的数据存储到第二存储区,并对第一存储区和第二存储区中的数据进行拼接。
[0045]具体地,可以继续接收长度为需要接收的剩余数据长度的数据,并将该数据存储到第二存储区。在对第一存储区和第二存储区中的数据进行拼接时,可以按照第一存储区中的数据头、第二存储区中的数据、第一存储区中除数据头之外的其他数据的顺序,进行拼接。
[0046]例如,当需要接收的剩余数据长度为14比特时,可以继续接收14比特的数据“01010101010101”,并将该数据“01010101010101”存储到第二存储区中,则第二存储区存储的数据的内容为“010001010001010101010101”。第一存储区存储有16比特数据“0101010101111110”,其中包括长度为6比特的数据头“111110”,则拼接得到的数据为“11Il10100110011111111111rjO
[0047]步骤109,判断需要接收的剩余数据长度是否为零,如果为零,则执行步骤110 ;否贝1J,执行步骤111。
[0048]步骤110,对第一存储区和第二存储区中的数据进行拼接。
[0049]具体地,在对第一存储区和第二存储区中的数据进行拼接时,可以按照第一存储区中的数据头、第二存储区中的数据、第一存储区中除数据头之外的其他数据的顺序,进行拼接。
[0050]例如,当第一存储区存储有30比特“010101010101010101010101111110”,其中包括长度为6比特的数据头“111110”,第二存储区存储的数据的内容为“0100010100”,则拼接得到的数据为 “1111100100010100010101010101010101010101”。
[0051]步骤111,根据校验码的长度、第一存储区中除数据头之外的其他数据的长度和数据长度,获取丢弃数据长度。
[0052]具体地,可以将第一存储区中除数据头之外的其他数据的长度,减去校验码的长度和数据长度之和,得到丢弃数据长度。
[0053]例如,当数据长度为20比特,校验码的长度为4比特,数据头的长度为6比特,第一存储区存储有36比特的数据,则丢弃数据长度为(36-6)-(20+4) = 6比特。
[0054]步骤112,根据丢弃数据长度,将第一存储区和/或第二存储区中的部分数据丢弃,并对第一存储区和第二存储区中的数据进行拼接。
[0055]具体地,可以对第一存储区中最先接收的、长度为丢弃数据长度的数据进行丢弃,并按照第一存储区中的数据头、第二存储区中的数据、第一存储区中除数据头之外的其他数据的顺序,对第一存储区和第二存储区中的数据进行拼接。
[0056]例如,当丢弃数据长度为6比特,第一存储区存储有36比特的数据“010100010101010101010101010101111110”,第二存储区存储有10比特的数据“0100010100”,则将第一存储区中最先接收到的6比特数据“010100”丢弃,拼接得到的数据为“1111100100010100010101010101010101010101”。
[0057]也可以对第二存储区中最后接收到的、长度为丢弃数据长度的数据进行丢弃,并按照第一存储区中的数据头、第二存储区中的数据、第一存储区中除数据头之外的其他数据的顺序,对第一存储区和第二存储区中的数据进行拼接。
[0058]例如,当丢弃数据长度为6比特,第一存储区存储有36比特的数据“010100010101010101010101010101111110”,第二存储区存储有10比特的数据“0100010100”,则将第二存储区中最后接收到的6比特数据“010100”丢弃,拼接得到的数据为“1111100100010100010101010101010101010101”。
[0059]还可以对第一存储区中最先接收的、长度为第四预设数量比特的数据进行丢弃,对第二存储区中最后接收到的、长度为丢弃数据长度与第四预设数量比特之差的数据进行丢弃,并按照第一存储区中的数据头、第二存储区中的数据、第一存储区中除数据头之外的其他数据的顺序,对第一
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1