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

文档序号:8415354阅读:来源:国知局
[0180]实施例六
[0181]如图6所示,为本发明实施例六中的一种处理传输数据的装置结构图,包括接收模块610、第一判断模块620、第二判断模块650、第一获取模块630、第二获取模块640、第三获取模块660、丢弃模块670和拼接模块680,其中,
[0182]接收模块610,用于接收第一预设长度的数据,将接收到的数据存储到第一存储区;在第一判断模块620判断所述第一存储区中最后接收到的第一预设长度的数据不是数据头时,继续接收第十一预设长度的数据,将接收到的数据存储到所述第一存储区,并触发第一判断模块620进行判断;在所述第一判断模块620判断所述第一存储区中最后接收到的第一预设长度的数据是数据头时,继续接收第二预设长度的数据并存储到第二存储区;在第二判断模块650判断需要接收的剩余数据长度大于零时,根据所述需要接收的剩余数据长度,继续接收数据,将接收到的数据存储到所述第二存储区,并触发拼接模块680进行拼接。
[0183]具体地,接收模块610,具体用于继续接收长度为所述需要接收的剩余数据长度的数据。
[0184]第一判断模块620,用于判断第一存储区中最后接收到的第一预设长度的数据是否为数据头。
[0185]第一获取模块630,用于根据第二存储区中的第三预设长度的数据,获取数据长度。
[0186]具体地,第一获取模块630,具体用于读取所述第二存储区中最后接收到的或者最先接收到的第三预设长度的数据的内容,将该内容作为所述数据长度。
[0187]第二获取模块640,用于根据需要接收的校验码的长度、所述第一存储区中除所述数据头之外的其他数据的长度和所述数据长度,获取需要接收的剩余数据长度。
[0188]具体地,第二获取模块640,具体用于将所述校验码的长度和所述数据长度之和,减去所述第一存储区中除所述数据头之外的其他数据的长度,得到所述需要接收的剩余数据长度。
[0189]第二判断模块650,用于对所述需要接收的剩余数据长度进行判断,并在所述需要接收的剩余数据长度为零时,触发所述拼接模块680进行拼接。
[0190]第三获取模块660,用于在所述第二判断模块650判断需要接收的剩余数据长度小于零时,根据所述校验码的长度、所述第一存储区中除所述数据头之外的其他数据的长度和所述数据长度,获取丢弃数据长度。
[0191]具体地,第三获取模块660,具体用于将所述第一存储区中除所述数据头之外的其他数据的长度,减去所述校验码的长度和所述数据长度之和,得到所述丢弃数据长度。
[0192]丢弃模块670,用于根据所述丢弃数据长度,将所述第一存储区和/或所述第二存储区中的部分数据丢弃,并触发拼接模块680进行拼接。
[0193]具体地,丢弃模块670,具体用于:
[0194]对所述第一存储区中最先接收的、长度为所述丢弃数据长度的数据进行丢弃;
[0195]或者,
[0196]对所述第二存储区中最后接收到的、长度为所述丢弃数据长度的数据进行丢弃;
[0197]对所述第一存储区中最先接收的、长度为第四预设长度的数据进行丢弃,对所述第二存储区中最后接收到的、长度为所述丢弃数据长度与所述第四预设长度之差的数据进行丢弃,所述第四预设长度小于所述丢弃数据长度。
[0198]拼接模块680,用于对所述第一存储区和所述第二存储区中的数据进行拼接。
[0199]具体地,拼接模块680,具体用于按照所述第一存储区中的数据头、所述第二存储区中的数据、所述第一存储区中除所述数据头之外的其他数据的顺序,对所述第一存储区和所述第二存储区中的数据进行拼接。
[0200]本发明实施例在接收到数据头和数据长度之后,根据该数据长度以及在接收到数据头之前接收并存储的数据的长度,确定是否继续接收数据,并对接收到的数据进行拼接,能够减少数据接收时间,提高数据接收速度。
[0201]实施例七
[0202]如图7所示,为本发明实施例七中的一种处理传输数据的装置结构图,包括:
[0203]接收模块710,用于接收第五预设长度的数据,将接收到的数据存储到第三存储区。
[0204]第一判断模块720,用于判断所述第三存储区中的数据是否符合预设格式。
[0205]其中,预设格式具体为:
[0206]按照从高位到低位的顺序,所述数据依次包括数据头、有效数据和校验码,所述数据头的长度为第六预设长度,所述有效数据的长度为第七预设长度,且所述数据头的内容为预设内容,根据所述有效数据计算得到的校验值与所述校验码的内容相同;
[0207]或者,
[0208]按照从高位到低位的顺序,所述数据依次包括有效数据和校验码,所述有效数据的长度为第七预设长度,且根据所述有效数据计算得到的校验值与所述校验码的内容相同。
[0209]处理模块730,用于在第一判断模块720判断所述第三存储区中的数据不符合预设格式时,对所述第三存储区中的数据的顺序进行调整,并在调整后的所述第三存储区中的数据符合预设格式时,结束流程;
[0210]或者,在第一判断模块720判断所述第三存储区中的数据不符合预设格式时,将所述第三存储区中的数据存储到第四存储区,对所述第四存储区中的数据的顺序进行调整,并在调整后的所述第四存储区中的数据符合预设格式时,结束流程。
[0211]具体地,处理模块730,具体用于将所述第四存储区中的数据向预设方向移位第八预设长度,将被移出所述第四存储区的数据补到移位后的剩余数据的所述预设方向的反方向的一端;
[0212]或者,
[0213]将由所述第四存储区中的数据构成的循环队列的指针向预设方向移位第八预设长度。
[0214]上述装置,还可以进一步包括计数模块740和第二判断模块750,其中,
[0215]计数模块740,用于在处理模块730对所述第三存储区中的数据的顺序进行调整之后,将移位次数加1,并触发所述第一判断模块720判断调整后的所述第三存储区中的数据是否符合预设格式;所述移位次数的初始值为O。
[0216]第二判断模块750,用于在第一判断模块720判断调整后的所述第三存储区中的数据不符合预设格式时,判断所述移位次数是否小于预设次数,并在所述移位次数小于预设次数时,触发处理模块730对所述第三存储区中的数据的顺序进行调整。
[0217]或者,
[0218]计数模块740,用于在处理模块730对所述第四存储区中的数据的顺序进行调整之后,将移位次数加1,并触发所述第一判断模块720判断调整后的所述第四存储区中的数据是否符合预设格式;所述移位次数的初始值为O。
[0219]相应地,第二判断模块750,用于在第一判断模块720判断调整后的所述第四存储区中的数据不符合预设格式时,判断所述移位次数是否小于预设次数,并在所述移位次数小于预设次数时,触发处理模块730对所述第四存储区中的数据的顺序进行调整。
[0220]上述装置,还可以进一步包括:
[0221]丢弃模块760,用于在所述移位次数不小于所述预设次数时,将所述第三存储区中最先接收到的第九预设长度的数据丢弃;
[0222]相应地,上述接收模块710,还用于接收第九预设长度的数据,将接收到的数据存储到所述第三存储区中与已有数据相邻的位置,并触发所述第一判断模块720判断所述第三存储区中的数据是否符合预设格式。
[0223]本发明实施例在接收到的数据不符合预设格式时,通过对接收到的数据的顺序进行调整,从而对接收到的数据进行重新组合,以使组合后的数据符合预设格式,可以在预定长度数据对应的时间内将数据接收完毕,缩短了数据接收时间,提高了数据接收速度。
[0224]实施例八
[0225]如图8所示,为本发明实施例八中的一种处理传输数据的装置结构图,包括接收模块810、第一判断模块820、第二判断模块860、第三判断模块880、确定模块830、拼接模块840、划分模块850、重组模块870和替换模块890,其中,
[0226]接收模块810,用于接收第一预设长度的数据,将接收到的数据存储到第七存储区;在第一判断模块820判断所述第七存储区中最后接收到的第一预设长度的数据不是数据头时,继续接收第二预设长度的数据,将接收到的数据存储到所述第七存储区中,并触发第一判断模块820进行判断;根据确定模块830确定出的需要接收的剩余数据长度继续接收数据,将接收的数据存储到第八存储区;在第二判断模块860的判断结果为否时,根据不符合预设格式的数据包所包含的编号,重新接收对应的数据包。
[0227]具体地,接收模块810,具体用于从所述不符合预设格式的数据包中读取位置最靠前或最先接收到的、第六预设长度的数据,根据其中最后读取到的、第七预设长度的数据的内容,获取编号,并接收第六预设长度的数据,判断最后接收到的第六预设长度的数据的内容是否为数据头的内容和上述获取的编号,如果是,则继续接收第八预设长度的数据,确定最后接收到的第三预设长度的数据为与上述获取的编号对应的数据包;如果不是,则继续接收第九预设长度的数据,并继续判断最后接收到的第六预设长度的数据的内容是否为数据头的内容和上述获取的编号,直到最后接收到的第六预设长度的数据的内容为数据头的内容和上述获取的编号时,继续接收第八预设长度的数据,确定最后接收到的第三预设长度的数据为与上述获取的编号对应的数据包。
[0228]第一判断模块820,用于判断所述第七存储区中最后接收到的第一预设长度的数据是否为数据头。
[0229]确定模块830,用于在第一判断模块820判断所述第七存储区中最后接收到的第一预设长度的数据是数据头时,确定所述需要接收的剩余数据长度。
[0230]拼接模块840,用于对所述第七存储区和所述第八存储区中的数据进行拼接。
[0231]具体地,上述确定模块830,具体用于将所述传输数据的总长度减去所述第七存储区中的数据的长度,得到所述需要接收的剩余数据长度;
[0232]相应地,上述拼接模块840,具体用于按照所述第七存储区中的数据头、所述第八存储区中的数据、所述第七存储区中除所述数据头之外的其他数据的顺序,对所述第七存储区和所述第八存储区中的数据进行拼接。
[0233]或者,上述确定模块830,具体用于将所述传输数据的总长度减去所述第一预设长度,得到所述需要接收的剩余数据长度;
[0234]相应地,上述拼接模块840,具体用于按照所述第七存储区中的数据头、所述第八存储区中的数据的顺序,对所述第七存储区中的数据头和所述第八存储区中的数据进行拼接。
[0235]划分模块850,用于根据数据头的位置,将拼接模块840拼接得到的数据划分为多个长度为第三预设长度的、以数据头为起始位置的数据包,并将各个数据包存储到第九存储区。
[0236]第二判断模块860,用于判断所述第九存储区中的数据包是否均符合预设格式,在判断结果为是时,触发重组模块870进行重组。
[0237]具体地,第二判断模块860
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1