一种传输文件的检测方法及终端的制作方法

文档序号:7918779阅读:153来源:国知局
专利名称:一种传输文件的检测方法及终端的制作方法
技术领域
本发明涉及互联网领域,具体涉及一种传输文件的检测方法及终端。
背景技术
互联网系统的计算模式正在发生从客户机/服务器(client/server)模式到 对等计算(peer-to-peer,亦简称P2P)模式的转变。在现有P2P模式下,将文 件先分片,再将分片后的文件打包传输。为了保证数据包传输的服务质量 (QoS, Quality of Service),在客户机/服务器(client/server)模式下, 一般采用 分片文件数据包的序列号来进行乱序重排和丢包检测。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于现有技术 将文件进行分片,每个分片打成数个数据包进行传输,如果一个分片的起始包 或者终止包丟掉,则无法检测到该分片是否丢包。尤其对于视频文件,每个文 件有多个分片,如果每个分片都无法检测到是否丟包,无法保证数据包传输的 QoS。

发明内容
本发明实施例提供一种传输文件的检测方法及终端,用于对数据包传输进 行乱序重排和丢包检测,保证数据包传输的QoS。 一种传输文件的检测方法,包括 将文件分片封装成若干个数据包;
发送第一协商报文,所述第一协商报文中携带所述分片的起始数据包序列 号和终止数据包序列号;使得接收端依据所述第一协商报文中携带的分片的起 始数据包序列号和终止数据包序列号对所述若干个数据包进行乱序重排和丟 包检测。
本发明实施例还提供另外一种传输文件的检测方法,包括 接收第一协商报文,所述第一协商报文中携带分片的起始数据包序列号和 终止数据包序列号;
依据所述起始数据包序列号和终止数据包序列号对所述分片的若干个数据包进行乱序重排和丢包检测。
本发明实施例还提供一种传输文件的检测方法,包括 将文件分片封装成若干个数据包;
发送第一协商报文,所述第一协商报文携带所述文件分片的起始数据包序 列号和所述分片的数据包数目;使得接收端依据所述第一协商^f艮文携带的所述 文件分片的起始数据包序列号和所述分片的数据包数目,对所述若干个数据包 进行乱序重排和丢包检测。
本发明实施例还提供一种传输文件的检测方法,包括 接收第一协商报文,所述第一协商报文携带分片的起始数据包序列号和分 片的数据包数目;
依据所述分片的起始数据包序列号与所述分片的教据包数目,得出所述分 片的终止数据包序列号;
依据所述起始数据包序列号和终止数据包序列号,对所述分片的若干个数 据包进行乱序重排和丟包检测。
本发明实施例还提供一种传输文件检测方法,包括
接收分片的若干个数据包,所述若干个数据包封装有标识;
依据所述数据包的标识区分数据包类型,对所述分片的若干个数据包进行 乱序重排和丢包检测。
本发明实施例提供一种终端,包括
封装模块,用于将文件分片封装成若干个数据包;
第一发送模块,用于发送第一协商报文,所述第一协商报文携带所述封装 模块封装的分片的起始数据包序列号和终止数据包序列号;使得接收端依据所 述第一协商报文中携带的分片的起始数据包序列号和终止数据包序列号对所 述分片进行乱序重排和丢包检测。
本发明实施例还提供另外一种终端,包括
第二接收模块,用于接收第一协商报文,所述第一协商报文携带分片的起 始数据包序列号和终止数据包序列号;
检测模块,用于依据所述起始数据包序列号和终止数据包序列号对所述分 片进行乱序重排和丟包检测。本发明实施例还包括一种终端,包括
封装模块,用于将文件分片封装成若干个数据包;
第一发送模块,用于发送第一协商报文,所述第一协商报文携带所述文件
分片的起始数据包序列号和所述分片的数据包数目;使得接收端依据所述第一 协商报文携带的所述文件分片的起始数据包序列号和所述分片的数据包数目, 对所述若干个数据包进行乱序重排和丟包检测。 本发明实施例还提供一种终端,包括
第二接收模块,用于接收第一协商报文,所述第一协商报文携带分片的起 始数据包序列号和分片的数据包数目;
包数目,得出所述分片的终止数据包序列号;
检测模块,用于依据所述起始数据包序列号和终止数据包序列号,对所述 分片的若干个数据包进行乱序重排和丢包检测。
本发明实施例还提供一种终端,包括
接收模块,用于接收分片的若干个数据包,所述若干个数据包封装有标识; 检测模块,用于依据所述数据包的标识区分数据包类型,对所述分片的若 干个数据包进行乱序重排和丢包检测。
本发明实施例发送的第一协商报文携带分片的起始数据包序列号和终止 数据包序列号,依据第 一协商报文中携带的起始数据包序列号和终止数据包序 列号对分片进行乱序重排和丟包检测;相对于现有技术里接收端不知道分片的 起始包序列号和终止包序列号,而无法进行乱序重排和丢包检测来说,本发明 实施例接收端通过第一协商报文获知发送的文件分片的起始数据包序列号和 终止数据包序列号,根据数据包序列号对文件分片进行乱序重排和丢包检测, 保证文件每个分片的数据包的乱序重排和丢包检测,保证数据传输的QoS。


图l是本发明实施例提供的传输文件检测方法第 图2是本发明实施例提供的协商报文格式实施例图;
图3是本发明实施例提供的传输文件检测方法第 图4是本发明实施例提供的传输文件检测方法第
实施例图; 实施例图;图5是本发明实施例提供的终端第一实施例图; 图6是本发明实施例提供的终端第二实施例图; 图7是本发明实施例提供的终端第三实施例图; 图8是本发明实施例提供的终端第四实施例图。
具体实施例方式
本发明实施例以P2P网络的数据包检测为例说明传输文件检测方法的具 体实施过程以及使用该方法的终端,但本发明实施例不局限于P2P网络的数据 包的乱序重排和丢包检测,可以用于与P2P网络具有相同或类似数据包传输过 程的数据包的乱序重排和丢包检测。
实施例一
图1示出了本发明实施例提供的传输文件的检测方法第一实施例图。 步骤IOI、发送端将文件分片封装成若干个数据包;
分片是将文件进行分割成固定大小的片段,例如以固定大小256KB作为 一个分片,文件每256KB就被分割成一个分片,若文件剩余部分不足256KB, 则剩余部分作为一个分片。也可以按照时间长度进行分片,例如播放时间是l 个小时的视频文件,可以按照播放时间规定4秒一个分片,最终将视频文件分 割成900个片段。
将文件分片封装成若干个数据包,方便传输, 一个分片的数据包分别有起 始数据包、中间包和终止数据包。
步骤102、接收端向发送端发送第二协商报文;
第二协商报文携带分片的起始数据包序列号字段,接收端按照需要填写起 始包序列号。
该步骤为可选步骤,发送端也可以自己设定分片的起始数据包序列号;本 发明实施例接收端发送第二协商报文确定起始数据包序列号,按照接收端的需 要设定起始数据包序列号,方便接收端对分片的数据包进行乱序重排和丟包检 测。
图2示出了本发明实施例提供的协商报文格式,
其中,报文类型(type),例如是发送端送往接收端的协商报文或者是接 收端送往发送端的协商报文,通常是8位,报文长度(Length),通常是16位;网络的最大传输单元(MTU),通常是16位;传输端口 (Port),通常是16 位;IPV4地址(IPV4 Address I )。 一般是32位;起始序列号字段(INITIAL SN), 通常是16位;终止序列号字段(LAST SN ),通常是16位;保留字段(reserved), 作为报文的保留字段,用于根据用户需要存放相应的数据。
需要说明的是,第一协商报文和第二协商报文分别可以使用图二示出的协 商报文格式作为携带数据的报文格式,不同的是第一协商报文和第二协商报文 携带的数据字段不同。
步骤103、发送端依据起始数据包序列号确定终止数据包序列号;
发送端接收到接收端发送的分片的起始数据包序列号或者发送端根据需 要设定分片的起始数据包序列号后,发送端依据分片的起始数据包序列号和分 片的数据包数目确定该分片的终止数据包序列号;具体是首先计算分片数据 包数目,起始数据包序列号加分片的数据包数目,相加值再减去一得出终止数 据包序列号。
步骤104、发送端向接收端发送第一协商报文;
第 一协商报文中携带分片的起始数据包序列号和终止数据包序列号,该第 一协商报文可以采用图2所示协商报文的格式。
步骤105、接收端依据分片的起始数据包序列号和终止数据包序列号对分 片的若干个数据包进行乱序重排和丟包检测;
接收端将接收的数据包按序列号在一个较小的窗口内进行排序,实现乱序 重排。从起始数据包序列号查看,如果数据包序列号是连续的, 一直查看到终 止数据包序列号,则没有丢包;如果有一个从起始数据包序列号到终止数据包 序列号的在窗口内没有出现,则认为是丢包。
需要说明的是,本发明实施例提供的协商报文不局限于图2所示的格式, 也可以采用其他格式的协商报文,只要能够包含起始包序列号字段和终止包序 列号字段即可。
实施例二
本实施例相对于实施例一,发送端向接收端发送的第一协商报文中携带的 是起始包序列号和分片的数据包数目,接收端接收到第一协商报文后,依据起 始数据包序列号和分片的数据包数目计算分片的终止数据包序列号,依据分片的起始数据包序列号和终止数据包序列号对分片的若干个数据包进行乱序重 排和丟包检测。
图3示出了本发明实施例提供的传输文件的检测方法第二实施例。 步骤301、将文件分片封装成若干个数据包;
分片是将文件进行分割成固定大小的片段,例如以固定大小256KB作为 一个分片,文件每256KB就被分割成一个分片,若文件剩余部分不足256KB, 则剩余部分作为一个分片。也可以按照时间长度进行分片,例如播放时间是l 个小时的视频文件,可以按照播放时间规定4秒一个分片,最终将一见频文件分 割成900个片段。
将文件分片封装成若干个数据包,方便传输, 一个分片的数据包分别有起 始数据包、中间包和终止数据包。
步骤302、接收端向发送端发送第二协商报文;
第 一协商报文包含起始数据包序列号和终止数据包序列号,接收端按照需 要填写起始包序列号。
该步骤为可选步骤,发送端也可以自己设定分片的起始数据包序列号;本 发明实施例接收端发送第二协商报文确定起始数据包序列号,按照接收端的需 要设定起始数据包序列号,方便接收端对分片的数据包进行乱序重排和丢包检 测。
本发明实施例提供的第一协商报文可以采用图2示出的协商报文格式,但 本发明实施例提供的协商报文的格式不局限于图2所示的协商报文,可以采用 其他格式的协商报文。包含起始包序列号字段和终止包序列号字段即可。
步骤303、发送端向接收端发送第一协商报文;
第一协商报文携带文件分片的起始数据包序列号和分片的数据包数目。确 定分片的数据包数目,发送端使用分片大小值除以传输数据包的大小值,得出 分片的数据包数目。若分片大小除以传输数据包的大小余数是O,则数据包数 目是分片大小除以传输数据包的大小所得的整数;若分片大小除以传输数据包 的大小有余数,则该数据包数目是分片大小除以传输数据包的大小所得的整数 再力口一。
需要说明的是,本发明实施例提供的确定分片的数据包数目的方法只是其中一种方法,本领域技术人员可以根据具体的情况使用其他方法确定分片的数 据包数目,在此不赘述。
步骤304、接收端依据分片的起始数据包序列号与分片的数据包数目,得 出分片的终止数据包序列号;
分片的数据包序列号按顺序递增,接收端依据分片的起始数据包序列号与
分片的数据包数目,得出分片的终止数据包序列号;具体为起始数据包序列 号加上数据包数目,相加值再减去一得出终止数据包序列号。
步骤305、接收端依据起始数据包序列号和终止数据包序列号对分片的若 干个数据包进行乱序重排和丢包检测;
接收端将分片的数据包按序列号在一个较小的窗口内进行排序,实现乱序 重排。从起始数据包序列号查看, 一直查看到终止包序列号,如果数据包序列 号是连续的,则没有丢包;如果有一个从起始包序列号到终止包序列号的数据 包序列号在窗口内没有出现,则认为是丟包。
实施例三
本实施例文件分片的数据包封装有标识,接收端依据数据包标识和数据包 序列号对文件的分片的若干个数据包进行乱序重排和丢包检测。
图4示出了本发明实施例提供的传输文件检测的方法第三实施例图。 步骤401、发送端为文件分片的数据包封装标识;
本发明实施例提供将起始数据包的标识规定为0x0001,终止数据包的标 识规定为0x0010,既是起始数据包又是终止数据包的标识为0x0100,中间数 据包的标识为0x1000。标识既是起始数据包标识又是终止数据包的,表明该 分片中只有一个数据包。封装了标志的数据包依旧会携带序列号,且数据包携 带的序列号是顺序排列。标识是为了区分分片中不同类型的数据包,也可以采 用其他方式做标识,本领域技术人员可以根据具体的情况进行设定,在此不赘 述。
步骤402、发送端向接收端发送封装标识的分片的若干数据包; 步骤403、接收端依据数据包标的识区分数据包类型,对分片的若干数据 包进行乱序重排和丟包检测。
接收端接收到分片的若干个数据包后,依据数据包的标识区分数据包类
12型,对分片的若干个数据包进行乱序重排和丢包检测。
接收端通过标识区分中起始数据包、终止数据包和中间数据包,然后按照 起始数据包、终止数据包和中间数据包的序列号对分片的若干个数据包进行乱 序重排和丢包检测。接收端将数据包按序列号在一个较小的窗口内进行排序, 实现乱序重排。从起始数据包序列号查看, 一直查看到终止数据包序列号,如 果数据包序列号是连续的,则没有丢包;如果有一个从起始数据包序列号到终 止数据包序列号的数据包序列号在窗口内没有出现,则认为是丢包。
接收端通过标识区分数据包类型,标识是即是起始数据包又是终止数据包 类型的,表明该分片只有一个数据包,不必进行乱序重排和丢包的检测。
图5示出了本发明实施例提供的终端第一实施例图。
本发明实施例提供的终端,该终端可以作为实施传输文件;险测方法第一实 施例的发送端,终端包括
封装模块110,用于将文件分片封装成若干个数据包;
第一发送模块120,用于发送第一协商报文,所述第一协商报文携带所述 封装模块封装的分片的起始数据包序列号和终止数据包序列号;使得接收端依 据所述第 一协商报文中携带的分片的起始数据包序列号和终止数据包序列号 对所述分片进行乱序重排和丢包检测。
作为本发明的一个实施例,所述终端还包括
第一接收模块130,用于接收第二协商报文,所述第二协商报文携带所述 分片的起始数据包序列号;
第一计算模块140,用于依据所述起始数据包序列号确定所述分片的终止 数据包序列号;
添加模块150,将所述分片的起始数据包序列号和终止数据包序列号添加 到所述第一协商报文中;
所述第一发送模块130发送的第一协商报文携带分片的起始数据包序列 号是所述第二协商报文携带的所述分片的起始数据包序列号。
图6示出了本发明实施例提供的终端第二实施例图。
该终端可以作为实施本发明实施例提供的传输文件检测方法第一实施例 的接收端,所述终端包括第二接收模块160,用于接收第一协商报文,所述第一协商报文携带分片
的起始数据包序列号和终止数据包序列号;
检测模块170,用于依据所述起始数据包序列号和终止数据包序列号对所 述分片进行乱序重排和丢包检测。
作为本发明的一个实施例,所述终端还包括
第二发送模块180,发送第二协商报文,所述第二协商报文携带所述分片 的起始数据包序列号。
图7示出了本发明实施例提供的终端第三实施例图。
本发明实施例提供的终端,该终端可以作为实施传输文件检测方法第二实 施例的发送端,终端包括
封装模块IIO,用于将文件分片封装成若干个数据包;
第一发送模块120,用于发送第一协商报文,所述第一协商报文携带所述 文件分片的起始数据包序列号和所述分片的数据包数目;使得接收端依据所述 第一协商报文携带的所述文件分片的起始数据包序列号和所述分片的数据包 数目,对所述若干个数据包进行乱序重排和丢包检测。
作为本发明的一个实施例,所述终端还包括
第一接收模块130,用于接收第二协商报文,所述第二协商报文携带所述 分片的起始数据包序列号;
所述第一发送模块120发送的第一协商报文携带分片的起始数据包序列 号是所述第二协商报文携带的所述分片的起始数据包序列号。
图8示出了本发明实施例提供的终端第四实施例图。
的接收端,所述终端包括
第二接收模块160,用于接收第一协商报文,所述第一协商报文携带分片 的起始数据包序列号和分片的数据包数目;
第二计算模块190,用于依据所述分片的起始数据包序列号与所述分片的 数据包数目,得出所述分片的终止数据包序列号;
检测模块170,用于依据所述起始数据包序列号和终止数据包序列号,对 所述分片的若干个数据包进行乱序重排和丢包检测。
14本发明实施例还提供,实施本发明实施例提供的传输文件检测方法第三实
施例的终端,所述终端包括
接收模块,用于接收分片的若干个数据包,所述若干个数据包封装有标识; 检测模块,用于依据所述数据包的标识区分数据包类型,对所述分片的若
干个数据包进行乱序重排和丟包检测。
以上对本发明实施例所提供的检测方法以及检测系统进行了详细介绍,本
明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技 术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处, 综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种传输文件的检测方法,其特征在于,包括将文件分片封装成若干个数据包;发送第一协商报文,所述第一协商报文中携带所述分片的起始数据包序列号和终止数据包序列号;使得接收端依据所述第一协商报文携带的分片的起始数据包序列号和终止数据包序列号对所述若干个数据包进行乱序重排和丢包检测。
2、 根据权利要求1所述的传输文件的检测方法,其特征在于,所述发送第一协商报文前还包括接收第二协商报文,所述第二协商报文携带所述分片的起始数据包序列号;依据所述起始数据包序列号确定所述分片的终止数据包序列号;将所述分片的起始数据包序列号和终止数据包序列号添加到所述第一协商报文中。
3、 根据权利要求2所述的传输文件的检测方法,其特征在于,所述依据所述起始数据包序列号确定所述分片的终止数据包序列号具体为所述起始数据包序列号加上所述分片的数据包数目,相加值再减去一得出所述终止数据包序列号。
4、 根据权利要求l、 2或3所述的传输文件的检测方法,其特征在于,所述起始数据包序列号到终止数据包序列号按顺序排列。
5、 一种传输文件的检测方法,其特征在于,包括接收第一协商报文,所述第一协商报文携带分片的起始数据包序列号和终止数据包序列号;依据所述起始数据包序列号和终止数据包序列号对所述分片的若干个数据包进行乱序重排和丟包检测。
6、 根据权利要求5所述的传输文件的检测方法,其特征在于,所述接收第一协商报文前还包括发送第二协商报文,所述第二协商报文携带所述分片的起始数据包序列,
7、 一种传输文件的检测方法,其特征在于,包括将文件分片封装成若干个数据包;发送第一协商报文,所述第一协商报文携带所述文件分片的起始数据包序列号和所述分片的数据包数目;使得接收端依据所述第一协商报文携带的所述文件分片的起始数据包序列号和所述分片的数据包数目,对所述若干个数据包进行乱序重排和丟包检测。
8、 根据权利要求7所述的传输文件的检测方法,其特征在于,所述发送第一协商报文前,接收第二协商报文,所述第二协商报文携带所述分片的起始数据包序列号;所述第一协商报文携带分片的起始数据包序列号是所述第二协商报文携带的所述分片的起始数据包序列号。
9、 一种传输文件的检测方法,其特征在于,包括接收第一协商报文,所述第一协商报文携带分片的起始数据包序列号和分片的数据包数目;依据所述分片的起始数据包序列号与所述分片的数据包数目,得出所述分片的终止数据包序列号;依据所述起始数据包序列号和终止数据包序列号,对所述分片的若干个数据包进行乱序重排和丢包检测。
10、 根据权利要求9所述的传输文件的检测方法,其特征在于,所述依据所述分片的起始数据包序列号与所述分片的数据包数目,得出所述分片的终止数据包序列号具体为所述起始数据包序列号加所述数据包数目,相加值再减去一得出所述终止包序列号。
11、 根据权利要求9或IO所述的传输文件的检测方法,其特征在于,所述起始数据包序列号到终止数据包序列号按顺序排列。
12、 一种传输文件检测方法,其特征在于,包括接收分片的若干个数据包,所述若干个数据包封装有标识;依据所述数据包的标识区分数据包类型,对所述分片的若干个数据包进行乱序重排和丢包检测。
13、 根据权利要求12所述的检测方法,其特征在于,所述若干个数据包标识具体是所述分片的起始数据包、终止数据包和中间数据包分别有不同的标识。
14、 一种终端,其特征在于,包括封装模块,用于将文件分片封装成若干个数据包;第一发送模块,用于发送第一协商报文,所述第一协商报文携带所述封装模块封装的分片的起始数据包序列号和终止数据包序列号;使得接收端依据所述第一协商报文中携带的分片的起始数据包序列号和终止数据包序列号对所述分片进行乱序重排和丢包检测。
15、 根据权利要求14所述的终端,其特征在于,所述终端还包括第一接收模块,用于接收第二协商报文,所述第二协商报文携带所述分片的起始数据包序列号;;第一计算模块,用于依据所述起始数据包序列号确定所述分片的终止数据包序列号;添加模块,将所述分片的起始数据包序列号和终止数据包序列号添加到所述第一协商报文中;所述第一发送模块发送的第一协商报文携带分片的起始数据包序列号是所述第二协商报文携带的所述分片的起始数据包序列号。
16、 一种终端,其特征在于,包括第二接收模块,用于接收第一协商报文,所述第一协商报文携带分片的起始数据包序列号和终止数据包序列号;检测模块,用于依据所述起始数据包序列号和终止数据包序列号对所述分片进行乱序重排和丢包检测。
17、 根据权利要求16所述的终端,其特征在于,所述终端还包括第二发送模块,发送第二协商报文,所述第二协商报文携带所述分片的起始数据包序列号。
18、 一种终端,其特征在于,包括封装模块,用于将文件分片封装成若干个数据包;第一发送模块,用于发送第一协商报文,所述第一协商报文携带所述文件分片的起始数据包序列号和所述分片的数据包数目;使得接收端依据所述第一协商报文携带的所述文件分片的起始数据包序列号和所述分片的数据包数目,对所述若干个数据包进行乱序重排和丟包检测。
19、 根据权利要求18所述的终端,其特征在于,所述终端还包括第一接收模块,用于接收第二协商报文,所述第二协商报文携带所述分片的起始数据包序列号;所述第 一发送模块发送的第 一协商报文携带分片的起始数据包序列号是所述第二协商报文携带的所述分片的起始数据包序列号。
20、 一种终端,其特征在于,包括第二接收模块,用于接收第一协商报文,所述第一协商报文携带分片的起始数据包序列号和分片的数据包数目;第二计算模块,用于依据所述分片的起始数据包序列号与所述分片的数据包数目,得出所述分片的终止数据包序列号;检测模块,用于依据所述起始数据包序列号和终止数据包序列号,对所述分片的若干个数据包进行乱序重排和丢包检测。
21、 一种终端,其特征在于,包括接收模块,用于接收分片的若干个数据包,所述若干个数据包封装有标识;检测模块,用于依据所述数据包的标识区分数据包类型,对所述分片的若干个数据包进行乱序重排和丢包检测。
全文摘要
本发明公开了一种传输文件的检测方法及终端。本发明方法包括将文件分片封装成若干个数据包;发送第一协商报文,第一协商报文携带所述分片的起始数据包序列号和终止数据包序列号;使得接收端依据第一协商报文携带的分片的起始数据包序列号和终止数据包序列号对所述若干个数据包进行乱序重排和丢包检测。本发明终端包括封装模块,用于将文件分片封装成若干个数据包;第一发送模块,用于发送第一协商报文,第一协商报文携带所述封装模块封装的分片的起始数据包序列号和终止数据包序列号;使得接收端依据所述第一协商报文中携带的分片的起始数据包序列号和终止数据包序列号对所述分片进行乱序重排和丢包检测。本发明可以保证文件传输的Qos。
文档编号H04L12/56GK101662418SQ200810147298
公开日2010年3月3日 申请日期2008年8月26日 优先权日2008年8月26日
发明者光 李, 峰 李, 悦 殷 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1