CN101483653B - 网络设备向应用层提供应用层数据的方法、设备和系统 - Google Patents
网络设备向应用层提供应用层数据的方法、设备和系统 Download PDFInfo
- Publication number
- CN101483653B CN101483653B CN2009100773136A CN200910077313A CN101483653B CN 101483653 B CN101483653 B CN 101483653B CN 2009100773136 A CN2009100773136 A CN 2009100773136A CN 200910077313 A CN200910077313 A CN 200910077313A CN 101483653 B CN101483653 B CN 101483653B
- Authority
- CN
- China
- Prior art keywords
- application layer
- data
- piece
- missing
- data piece
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络设备向应用层提供应用层数据的方法。在所述方法中,网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文,当多个应用层协议报文拼接出完整的应用层数据块时,从应用层协议报文中提取出该完整的应用层数据块中的数据内容并提供给应用层。而且,还根据应用层的数据请求为应用层提供缺失的数据。本发明还提供了向应用层提供应用层数据的网络设备和系统。使用本发明,网络设备能够向应用层提供完整的应用层数据,为应用层业务的开展提供一个必要的基本环境。
Description
技术领域
本发明涉及网络设备信息处理技术,具体涉及一种网络设备向应用层提供应用层数据的方法、设备和系统。
背景技术
网络设备泛指路由器和交换机等具有数据转发和交换功能的设备,其处于网络的中间位置,负责网络与网络之间、网络与计算机之间、计算机与计算机之间的信息传递,所承载的信息涵盖范围广,能涵盖大量的服务器和用户终端的信息。目前的应用日趋呈现分布式发展的趋势,网络设备所处位置又是信息集中之处,因此对于实现分布式应用的集中式管理和监控比较有利。如果能在网络设备上实现信息监控、病毒检测、分布式攻击检测等新业务,那么只需在网络设备上增加新业务处理功能,通过相对简单的部署就能够在较广泛的范围内获得收益。
为了实现上述新业务,网络设备需要将流经报文发送给应用层进行处理。但是单单将流经报文发送给应用层是不够的。因为网络设备通过二层或三层信息进行交换和转发,属于逐包转发。而单个报文承载的信息有限,目前很多应用层协议会将数据文件分解为多个应用层数据块,并进一步将应用层数据块承载在多个报文中传输,报文在传输过程中可能出现乱序或报文丢失现象,在这种情况下,如果网络设备仅仅将流经报文发送给应用层,那么应用层所处理的多个报文之间在数据内容上缺少连续性,报文内容在特定的时间内是不完整的。而一些新的高层业务的处理往往需要相对完整的信息,而这些信息需要由多个特定的报文才能组成。可见,现有网络设备无法保证必要信息的完整性,所以依赖现有技术无法对一些高层业务进行处理。
举个例子,假设需要对比特流(BT,Bit Torrent)业务传送的数据进行监控分析。BT技术是典型的点对点(P2P)应用,该技术将BT数据文件划分为等长的片断(piece)。每个片断对应一个索引,在BT协议中片断索引称为SHA-1值。SHA-1值的全称为安全散列算法Secure Hash Algorithm,是一种公开的摘要算法。该算法被BT应用程序用来为每个BT片断生成索引。BT协议规定默认的片断大小为256K字节,为了提高传输效率,还可以进一步将片断划分为更小的子片断(block),子片断的大小默认为16K。如果网络设备每接收一个承载子片断的报文,就将该报文提供给应用层,那么应用层得到的是乱序和零散的子片断,不够完整,不利于进行监控分析。
即使应用层得到报文能够拼凑出完整的片断,仍不能保证数据文件的完整性和可辨识性。因为目前很多数据文件都采用文件头加数据体的格式来存储,文件头是解码数据体的关键信息,如果缺失文件头,或者文件头滞后到达,则数据文件不仅不完整,而且将难以辨识内容。此外,很多大型数据文件将数据按照内容划分为多个小段,简称内容段,比如Apple公司的QuickTime(简称QT,即.mov文件)文件格式将多媒体数据划分为多个atom来组织,每个atom是用于存储信息的基本结构。这种按内容的划分方法与BT协议使用的按长度划分方法的不一致可能会导致一个内容段被拆分到多个BT片断中。由于缺少完整的信息,当仅拥有其中的部分BT片断时无法进行内容辨识。
可见,现有技术中的网络设备不能向应用层提供完整的应用层数据,导致在应用层开展新业务受到限制。因此有必要为应用层业务的开展提供一个必要的基本环境。
发明内容
有鉴于此,本发明提供了一种网络设备向应用层提供应用层数据的方法,能够向应用层提供完整的应用层数据。
该方法应用于将数据文件分解为多个应用层数据块,并将一个应用层数 据块承载在多个应用层协议报文中传输的环境中,该方法包括:
网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文;
当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
较佳地,该方法进一步包括:网络设备预先获取对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述提取该完整的应用层数据块中的数据内容并提供给应用层的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括:
网络设备接收应用层发来的数据请求,从该数据请求中获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;
利用所述参数信息检索对应关系表,确定与缺失数据所在的应用层数据块;
从自身或网络中获取所确定的应用层数据块;
从获取的应用层数据块中提取缺失数据,并提供给应用层。
其中,所述从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括:
网络设备检测自身中已完成缓存的应用层数据块;如果缓存中存在缺失数据所在应用层数据块,则直接从缓存中获取;如果缓存中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取缓 存中缺少的部分,或者等待一段时间,待所述缺少的部分缓存完毕,直接从缓存中获取。
其中,所述应用层数据块为比特流BT协议中的片断;所述应用层数据块的索引为片断的安全散列算法SHA-1值。
其中,所述应用层数据块为BT协议中的片断;所述对应关系表的获取方式为:从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取对应关系表。
本发明还提供了一种向应用层提供应用层数据的网络设备,能够向应用层提供完整的应用层数据。
该网络设备应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,该网络设备包括报文监控单元、缓存单元和数据请求接口单元;
所述报文监控单元,用于监控流经报文,将符合所需应用层协议类型的应用层协议报文发送给所述缓存单元;
所述缓存单元,用于缓存来自所述报文监控单元的应用层协议报文,当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
所述数据请求接口单元,用于接收并解析应用层发来的用于获取缺失数据的数据请求,从所述缓存单元或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
较佳地,该网络设备进一步包括对应关系存储单元,用于预先获取并保存对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述缓存单元进一步在将完整的应用层数据块中的数据内容提供给应用层处理的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述数据请求接口单元包括请求处理模块和缺失数据获取模块;
所述请求处理模块,用于接收应用层发来的数据请求;从该数据请求中 获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;利用所述参数信息检索所述对应关系存储单元保存的对应关系表,确定缺失数据所在的应用层数据块以及在应用层数据块中的位置,将缺失数据所在应用层数据块的信息和缺失数据在应用层数据块中的位置信息发送给所述缺失数据获取模块;
所述缺失数据获取模块,用于根据缺失数据所在应用层数据块的信息,从所述缓存单元中或从网络中获取缺失数据所在的应用层数据块;根据缺失数据在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数据,并提供给应用层。
其中,所述缺失数据获取模块包括数据块获取子模块和缺失数据子提取模块;
所述数据块获取子模块,用于根据所述缺失数据所在应用层数据块的信息,在所述缓存单元缓存的完整应用层数据块中,查找缺失数据所在应用层数据块,如果所述缓存单元中存在缺失数据所在应用层数据块,则直接从所述缓存单元中获取;如果所述缓存单元中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取缓存单元中缺少的部分,或者等待一段时间,待所述缺少的部分缓存完毕,直接从缓存单元中获取;将获取的缺失数据所在应用层数据块发送给所述缺失数据提取子模块;
所述缺失数据子提取模块,用于根据所述缺失数据在应用层数据块中的位置信息,从所述数据块获取子模块提供的应用层数据块中提取缺失数据,并提供给应用层。
其中,所述应用层数据块为BT协议中的片断;所述应用层数据块的索引为片断的SHA-1值;所述对应关系存储单元从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取所述对应关系表。
本发明还提供了一种网络设备向应用层提供应用层数据的系统,能够向应用层提供完整的应用层数据。
该系统包括网络设备和应用层处理单元;
所述网络设备,用于监控流经报文,缓存符合所需应用层协议类型的应用层协议报文,当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给所述应用层处理单元;接收并解析所述应用层处理单元发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给所述应用层处理单元;
所述应用层处理单元,用于根据所述网络设备提供的数据内容进行业务处理;当出现缺失数据时,向所述网络设备发送数据请求,并接收所述网络设备返回的缺失数据。
较佳地,所述网络设备进一步用于,在将完整的应用层数据块中的数据内容提供给所述应用层处理单元的同时,进一步将所述完整的应用层数据块的索引提供给所述应用层处理单元;
应用层处理单元发送的数据请求中包括获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
根据以上技术方案可见,本发明采用缓存方式,将缓存得到的相对完整的应用层数据块后,将应用层数据块中的数据内容提供给应用层。网络设备为应用层提供的不是零散的应用层协议报文,而是由报文内容组成的相对完整的数据块内容,使得应用层能够根据完整的应用层数据块开展新业务。
而且,网络设备向应用层提供的数据内容已经去掉了协议封装,使得应用层无需关注协议内容,为应用层业务的开展提供一个必要的基本环境。
此外,网络设备还能够根据应用层的数据请求,向应用层反馈缺失数据,解决了数据缺失对应用层业务的影响。
附图说明
图1为本发明中网络设备向应用层提供应用层协议数据块的示意图。
图2为本发明实施例中网络设备向应用层提供BT片断的方法示意图。
图3为本发明实施例中网络设备响应应用层数据请求的方法示意图。
图4为本发明实施例中网络设备响应应用层数据请求的消息交互示意图。
图5为本发明实施例中网络设备的结构示意图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明为一种网络设备向应用层提供应用层数据的方案,其基本思想为:网络设备监控流经报文,缓存所需应用层协议类型下的应用层协议报文;当缓存的多个应用层协议报文拼接出完整的应用层数据块时,将该完整的应用层数据块提供给应用层处理;接收并解析应用层发来的数据请求,从自身缓存的应用层数据块中或网络中获取请求的缺失数据并提供给应用层。
可见,本发明采用缓存方式,将缓存得到的相对完整的应用层数据块后,将应用层数据块中的数据内容提供给应用层。网络设备为应用层提供的不是零散的应用层协议报文,而是由报文内容组成的相对完整的数据块内容,使得应用层能够根据完整的应用层数据块开展新业务。而且,网络设备向应用层提供的数据内容已经去掉了协议封装,使得应用层无需关注协议内容和报文格式,为应用层业务的开展提供一个必要的基本环境。此外,网络设备还能够根据应用层的数据请求,向应用层反馈缺失数据,解决了数据缺失对应用层业务的影响。
其中,网络设备在解析应用层发来的数据请求时,首先需要查找缺失数据所属应用层数据块。查找时根据数据请求提供的信息从缓存的应用层数据块中查找,或者从拥有缺失数据的其它网络节点中查找。数据请求提供的信息可以与应用层约定。本发明实施例提供了一种快速查找方法,能够提供查找缺失数据的效率。
图1为本发明基于上述基本思想的网络设备向应用层提供应用层协议 数据块的方法示意图。该流程中采用上述快速查找方法确定缺失数据。如图1所示,该方法包括以下步骤:
步骤100:网络设备获取对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度。
通常,数据文件分为解应用层数据块后,都会对数据块进行排序,并将数据块序号携带在报文中发送,因此较佳地,该对应关系表还可以包括数据块序号。
网络设备获取对应关系表的方式可以从提供应用层数据块的服务器设备中获取,也可以从流经报文中获取。
步骤101:网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文。
步骤102:网络设备在缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层,同时将该完整的应用层数据块的索引提供给应用层。
本步骤中,网络设备监测缓存报文的TCP序列号,当根据缓存报文的TCP序列号判定缓存的多个应用层协议报文拼接出完整的应用层数据块时,获取该应用层数据块的索引,将完整的应用层数据块内容及其索引一同发送给应用层。
其中,应用层数据块索引可以直接从缓存的应用层数据块中获取,也可以根据应用层数据块的序号,从对应关系表中获取。
步骤103:网络设备接收应用层发来的用于获取数据文件中缺失数据的数据请求,从该数据请求中获取被请求缺失数据的参数信息。本发明实施例中定义该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
步骤104:网络设备利用参数信息检索对应关系表,确定缺失数据所在的应用层数据块。
具体来说,根据参数信息中应用层正在处理的应用层数据块的索引,在 对应关系表中查找应用层正在处理的应用层数据块所属的数据文件file1;再根据参数信息中缺失数据在数据文件中的开始位置、缺失数据的长度以及对应关系表记录的各应用层数据块长度,从数据文件file1对应的应用层数据块中,确定出缺失数据所在的应用层数据块。
步骤105:网络设备从自身缓存的应用层数据块中或从网络中,获取所确定的应用层数据块。
步骤106:从获取的应用层数据块中提取缺失数据,并提供给应用层。
至此,本流程结束。
本发明的技术方案可以适用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的各种应用层协议。例如BT协议。下面在描述本发明的技术方案时以向应用层提供BT片断为例。
图2示出了本发明实施例中网络设备向应用层提供BT片断的方法示意图。如图2所示,该流程包括以下步骤:
步骤201:获取对应关系表,该对应关系表中包含多个数据文件的描述信息。每条描述信息包括片断所属数据文件的文件名,片断索引、片断序号、片断长度等信息。其中,片断索引为片断的20字节SHA-1值。
表1示出了本发明实施例中对应关系表的一个实例。
表1
对应关系表的获取方式可以为:从元文件发布服务器中直接获取元文件,并进一步从元文件中获取对应关系表。在实际中,BT客户端希望下载某数据文件时,也必须先从元文件发布服务器下载该数据文件对应的元文件,这些元文件经由元文件发布服务器与BT客户端之间的网络设备下发给BT客户端,因此网络设备还可以通过监控流经报文,获取报文中的元文件,并从元文件中获取对应关系表。
步骤202:监控和识别流经自身的报文,缓存识别出的BT协议报文。这里,BT协议报文承载子片断(block),因此需要通过后续缓存步骤拼接出完整的片断(piece)。
本步骤中,可以根据报文中的特征串识别BT协议报文。例如,报文中负载(payload)字段中包涵16进制的数字“13”和字符串“bittorrent-protocol”的组合字段时,说明该报文为BT协议报文。
步骤203:当缓存的BT协议报文拼接出一个完整的片断(piece)时,将该完整的片断中的数据内容提供给应用层。同时,还将该完整的片断对应的片断索引,即SHA-1值,提供给应用层。
通常,承载同一片断的多个BT协议报文会顺序发送,且每个片断的开始由一片断头标识。因此网络设备也会顺序缓存承载同一片断的BT协议报文,根据报文TCP序列号和一个片断的长度,可以计算出每个片断对应的报文数量和报文序号,而且当识别出一个片断头时,得知一个新片断的开始。根据这些内容,网络设备就可以通过监测报文的TCP序列号判断缓存的BT协议报文是否已经能够拼接出一个完整的BT片断,判定为是时,将该完整片断中的数据内容提供给应用层。
至此,本流程结束。
图3示出了本发明实施例中网络设备响应应用层数据请求的方法示意图。图4示出了网络设备响应应用层数据请求的消息交互示意图。参见图3和图4,响应流程包括以下步骤:
步骤301:网络设备接收应用层发来的数据请求(如图4中的消息2), 从数据请求中提取被请求缺失数据的参数信息,包括应用层正在处理的片断SHA-1值、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
举个实例,假设网络设备接收到应用层的数据请求中包括a3a3a3a3a3a3a3a3a3a3、0和300这三个参数,表明应用层正在处理片断SHA-1值为a3a3a3a3a3a3a3a3a3a3的片断,所述正在处理例如正在检测片断a3a3a3a3a3a3a3a3a3a3的数据完整性。此时发现数据不完整,缺少片断a3a3a3a3a3a3a3a3a3a3所属数据文件的第0-300KB字节的数据,于是将a3a3a3a3a3a3a3a3a3a3、0、300作为三个参数携带在数据请求中,发送给网络设备。
步骤302:网络设备根据对应关系表,查找应用层正在处理的片断SHA-1值所属数据文件file1,根据缺失数据的开始位置和缺失数据的长度,解析出缺失数据在数据文件中的位置。然后根据对应关系表中的片断长度值,从数据文件file1对应的片断中,确定出缺失数据所在的片断以及缺失数据在片断中的位置。
在上述实例中,根据表1,查找片断a3a3a3a3a3a3a3a3a3a3所属数据文件为file-a.dat,根据数据请求中的参数0和300,可知缺失数据为file-a.dat文件中的0-300KB内容,此时,根据对应关系表中的片断长度值,获取0-300KB的数据所在片断,即片断0和片断1。至此,确定出缺失数据包涵在file-a.dat的片断0和片断1中,更具体地说,缺失数据为片断a0a0a0a0a0a0a0a0a0a0的全部256KB和片断a1a1a1a1a1a1a1a1a1a1中的前44KB。
步骤303:获取缺失数据所在的片断,根据缺失数据在片断中的位置从获取的片断中获取缺失数据。
缺失数据可以从网络设备自身的缓存中获取,如果缓存中没有,则可以从其它BT客户端获取。具体来说,网络设备首先检测已完成缓存的片断,如果缓存中存在缺失数据所属的片断,则直接从缓存中获取;如果缓存中缺少全部或部分缺失数据所属的片断,则通过网络通信方式从其它网络节点中 获取缓存中缺少的部分,或者等待一段时间,待缺少的部分缓存完毕,直接从缓存中获取。如果等待超时,向应用层返回失败信息(如图4中的消息7)。
在上述实例中,如果片断a0a0a0a0a0a0a0a0a0a0和a1a1a1a1a1a1a1a1a1a1已经被缓存,则直接从缓存中获取缺失数据。上述两个片断没有被缓存,或仅有部分数据被缓存,则可以通过网络来获取缺失的部分。或者选择继续等待缓存完成,如果等待超时就返回给应用层一个失败信息。
在BT协议下,通过网络获取缺失的部分时,利用BT协议的GET_PEERS命令对外发送获取PEER消息和片断请求信息,请求需要的片断。本例中,分别将a0a0a0a0a0a0a0a0a0a0和a1a1a1a1a1a1a1a1a1a1作为info_hash参数发送两个GET_PEERS消息(如图4中的消息3)。当拥有这两个info_hash所代表的片断的BT客户端(假设分别是peer_a0和peer_a1,peer为节点)回应该消息时(如图4中的消息41和42),网络设备向peer_a0发送request消息请求片断a0a0a0a0a0a0a0a0a0a0(如图4中的消息51),向peer_a1发送request消息请求片断a1a1a1a1a1a1a1a1a1a1(如图4中的消息52)。peer_a0和peer_a1响应request消息(如图4中的消息61和62),分别向网络设备发送被请求的片断a0a0a0a0a0a0a0a0a0a0和片断a1a1a1a1a1a1a1a1a1a1。
然后,网络设备将片断a0a0a0a0a0a0a0a0a0a0的全部256KB和片断a1a1a1a1a1a1a1a1a1a1中的前44KB,共计300KB的数据提取出来。这300KB就是应用层请求获取的缺失数据。
步骤304:将获取的缺失数据提供给应用层(如图4中的消息7)。
至此,本流程结束。
为了实现上述方法,本发明还提供了一种向应用层提供应用层数据的网络设备,应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中。
图5为本发明实施例中网络设备的结构示意图。如图5所示,该网络设备包括报文监控单元51、缓存单元52和数据请求接口单元54。如果采用图 1示出的流程,该网络设备还包括对应关系存储单元53。其中,
报文监控单元51,用于监控流经报文,将符合所需应用层协议类型的应用层协议报文发送给缓存单元52。
缓存单元52,用于缓存来自报文监控单元51的应用层协议报文,当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层。较佳地,在将应用层数据块中的数据内容提供给应用层的同时,进一步将该完整的应用层数据块的索引提供给应用层。
对应关系存储单元53,用于预先获取并保存对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度。该对应关系表可以从提供应用层协议报文的服务器设备中获取,或从流经的应用层协议报文中获取。例如,网络设备向应用层提供BT协议下的片断时,该对应关系存储单元53从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取对应关系表。其中,片断的索引可以直接采用片断的SHA-1值。
数据请求接口单元54,用于接收并解析应用层发来的数据请求,从所述缓存单元52或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
具体来说,数据请求接口单元54包括请求处理模块541和缺失数据获取模块542。其中,
请求处理模块541,用于接收应用层发来的数据请求;从该数据请求中提取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。利用该参数信息检索对应关系存储单元53保存的对应关系表,确定缺失数据所在的应用层数据块以及在应用层数据块中的位置。具体确定过程已经在方法实施例中详细描述,这里略。然后将缺失数据所在应用层数据块的信息和缺失数据在应用层数据块中的位置信息发送给缺失数据获取模块542。
缺失数据获取模块542,用于根据缺失数据所在应用层数据块的信息,从缓存单元52中或从网络中获取缺失数据所在的应用层数据块;根据缺失 数据在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数据,并提供给应用层。具体提取过程已经在方法实施例中详细描述,这里略。
缺失数据获取模块542具体包括数据块获取子模块和缺失数据提取子模块,这两个子模块在图中未示出。其中,
数据块获取子模块,用于根据缺失数据所在应用层数据块的信息,在缓存单元52缓存的各完整应用层数据块中,查找缺失数据所在的应用层数据块,如果缓存单元52中存在所需数据块,则直接从所述缓存单元中获取;如果缓存单元52中缺少全部或部分所需数据块,则通过网络通信方式从其它网络节点中获取缓存单元52中缺少的部分,或者等待一段时间,待缺少的部分缓存完毕,直接从缓存单元52中获取。然后,将获取的数据块发送给缺失数据提取子模块。
缺失数据提取子模块,用于根据缺失数据在应用层数据块中的位置信息,从数据块获取子模块提供的数据块中提取所需缺失数据,并提供给应用层。
采用图5示出的网络设备和应用层可以组成一个系统。应用层根据网络设备提供的数据内容进行开展新业务,进行业务处理;当出现缺失数据时,向网络设备发送数据请求,并接收网络设备返回的缺失数据。应用层的这些功能可以整合在一个应用层处理单元中实现。较佳地,整合这些功能的应用层处理单元还可以接收到网络设备发送的应用层数据块的索引。在这种情况下,应用层处理单元发送的数据请求中可以包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种网络设备向应用层提供应用层数据的方法,应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,其特征在于,该方法包括:
网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文;
当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
2.如权利要求1所述的方法,其特征在于,该方法进一步包括:网络设备预先获取对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述提取该完整的应用层数据块中的数据内容并提供给应用层的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括:
网络设备接收应用层发来的数据请求,从该数据请求中获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;
利用所述参数信息检索对应关系表,确定与缺失数据所在的应用层数据块;
从自身或网络中获取所确定的应用层数据块;
从获取的应用层数据块中提取缺失数据,并提供给应用层。
3.如权利要求1或2所述的方法,其特征在于,所述从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括:
网络设备检测自身中已完成缓存的应用层数据块;如果缓存中存在缺失数据所在应用层数据块,则直接从缓存中获取;如果缓存中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取缓存中缺少的部分,或者等待一段时间,待所述缺少的部分缓存完毕,直接从缓存中获取。
4.如权利要求2所述的方法,其特征在于,所述应用层数据块为比特流BT协议中的片断;所述应用层数据块的索引为片断的安全散列算法SHA-1值。
5.如权利要求2所述的方法,其特征在于,所述应用层数据块为BT协议中的片断;所述对应关系表的获取方式为:从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取对应关系表。
6.一种向应用层提供应用层数据的网络设备,应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,其特征在于,该网络设备包括报文监控单元、缓存单元和数据请求接口单元;
所述报文监控单元,用于监控流经报文,将符合所需应用层协议类型的应用层协议报文发送给所述缓存单元;
所述缓存单元,用于缓存来自所述报文监控单元的应用层协议报文,当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
所述数据请求接口单元,用于接收并解析应用层发来的用于获取缺失数据的数据请求,从所述缓存单元或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
7.如权利要求6所述的网络设备,其特征在于,该网络设备进一步包括对应关系存储单元,用于预先获取并保存对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述缓存单元进一步在将完整的应用层数据块中的数据内容提供给应用层处理的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述数据请求接口单元包括请求处理模块和缺失数据获取模块;
所述请求处理模块,用于接收应用层发来的数据请求;从该数据请求中获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;利用所述参数信息检索所述对应关系存储单元保存的对应关系表,确定缺失数据所在的应用层数据块以及在应用层数据块中的位置,将缺失数据所在应用层数据块的信息和缺失数据在应用层数据块中的位置信息发送给所述缺失数据获取模块;
所述缺失数据获取模块,用于根据缺失数据所在应用层数据块的信息,从所述缓存单元中或从网络中获取缺失数据所在的应用层数据块;根据缺失数据在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数据,并提供给应用层。
8.如权利要求7所述的网络设备,其特征在于,所述缺失数据获取模块包括数据块获取子模块和缺失数据子提取模块;
所述数据块获取子模块,用于根据所述缺失数据所在应用层数据块的信息,在所述缓存单元缓存的完整应用层数据块中,查找缺失数据所在应用层数据块,如果所述缓存单元中存在缺失数据所在应用层数据块,则直接从所述缓存单元中获取;如果所述缓存单元中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取缓存单元中缺少的部分,或者等待一段时间,待所述缺少的部分缓存完毕,直接从缓存单元中获取;将获取的缺失数据所在应用层数据块发送给所述缺失数据提取子模块;
所述缺失数据子提取模块,用于根据所述缺失数据在应用层数据块中的位置信息,从所述数据块获取子模块提供的应用层数据块中提取缺失数据,并提供给应用层。
9.如权利要求7或8所述的网络设备,其特征在于,所述应用层数据块为BT协议中的片断;所述应用层数据块的索引为片断的SHA-1值;所述对应关系存储单元从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取所述对应关系表。
10.一种网络设备向应用层提供应用层数据的系统,其特征在于,该系统包括网络设备和应用层处理单元;
所述网络设备,用于监控流经报文,缓存符合所需应用层协议类型的应用层协议报文,当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给所述应用层处理单元;接收并解析所述应用层处理单元发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给所述应用层处理单元;
所述应用层处理单元,用于根据所述网络设备提供的数据内容进行业务处理;当出现缺失数据时,向所述网络设备发送数据请求,并接收所述网络设备返回的缺失数据。
11.如权利要求10所述的系统,其特征在于,所述网络设备进一步用于,在将完整的应用层数据块中的数据内容提供给所述应用层处理单元的同时,进一步将所述完整的应用层数据块的索引提供给所述应用层处理单元;
应用层处理单元发送的数据请求中包括获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100773136A CN101483653B (zh) | 2009-02-17 | 2009-02-17 | 网络设备向应用层提供应用层数据的方法、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100773136A CN101483653B (zh) | 2009-02-17 | 2009-02-17 | 网络设备向应用层提供应用层数据的方法、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101483653A CN101483653A (zh) | 2009-07-15 |
CN101483653B true CN101483653B (zh) | 2012-04-25 |
Family
ID=40880580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100773136A Expired - Fee Related CN101483653B (zh) | 2009-02-17 | 2009-02-17 | 网络设备向应用层提供应用层数据的方法、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483653B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095529B (zh) * | 2013-01-09 | 2016-06-29 | 华为技术有限公司 | 检测引擎装置、防火墙、检测网络传输文件的方法及装置 |
CN104079607A (zh) * | 2013-03-28 | 2014-10-01 | 联想(北京)有限公司 | 一种文件下载的方法和设备 |
CN105656769B (zh) * | 2014-11-11 | 2018-11-09 | 阿里巴巴集团控股有限公司 | 业务数据处理方法、装置及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1395000A1 (en) * | 2002-08-27 | 2004-03-03 | Matsushita Electric Industrial Co., Ltd. | A method of transmitting data streams dependent on the monitored state of the client application buffer |
CN1567971A (zh) * | 2003-07-07 | 2005-01-19 | 英业达集团(南京)电子技术有限公司 | 利用无线终端机自无线网络即时接收并播放语音数据的方法 |
CN101005371A (zh) * | 2006-01-19 | 2007-07-25 | 思华科技(上海)有限公司 | 流媒体的缓存方法及系统 |
CN101043473A (zh) * | 2006-03-20 | 2007-09-26 | 华为技术有限公司 | 数据业务传输方法 |
CN101056318A (zh) * | 2007-05-22 | 2007-10-17 | 上海微电子装备有限公司 | 一种多链接传输控制方法 |
CN101155122A (zh) * | 2006-09-30 | 2008-04-02 | 中国科学院计算技术研究所 | 一种基于数据特征的流媒体内容下载方法 |
-
2009
- 2009-02-17 CN CN2009100773136A patent/CN101483653B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1395000A1 (en) * | 2002-08-27 | 2004-03-03 | Matsushita Electric Industrial Co., Ltd. | A method of transmitting data streams dependent on the monitored state of the client application buffer |
CN1567971A (zh) * | 2003-07-07 | 2005-01-19 | 英业达集团(南京)电子技术有限公司 | 利用无线终端机自无线网络即时接收并播放语音数据的方法 |
CN101005371A (zh) * | 2006-01-19 | 2007-07-25 | 思华科技(上海)有限公司 | 流媒体的缓存方法及系统 |
CN101043473A (zh) * | 2006-03-20 | 2007-09-26 | 华为技术有限公司 | 数据业务传输方法 |
CN101155122A (zh) * | 2006-09-30 | 2008-04-02 | 中国科学院计算技术研究所 | 一种基于数据特征的流媒体内容下载方法 |
CN101056318A (zh) * | 2007-05-22 | 2007-10-17 | 上海微电子装备有限公司 | 一种多链接传输控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101483653A (zh) | 2009-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101409706B (zh) | 一种边缘网络中的数据分发方法、数据分发系统及相关设备 | |
CN102111685B (zh) | 一种网络视频加载的加速方法、设备及系统 | |
CN101682634B (zh) | 用于基于事务的通信的文件协议 | |
CN101682635B (zh) | 复用式数据流协议 | |
US20150334210A1 (en) | Processing Data Packets in Performance Enhancing Proxy (PEP) Environment | |
CN101986648B (zh) | 一种tcp选项的协商方法、装置及网络设备 | |
US20060112422A1 (en) | Data transfer using hyper-text transfer protocol (HTTP) query strings | |
CN108933805A (zh) | 一种文件传输方法及系统 | |
CN102693297B (zh) | 数据处理方法、节点和提取、转换和加载etl系统 | |
JP2009140515A (ja) | 中断された同期プロセスに対処してデータを同期させる方法、装置、システム | |
EP1473636B1 (en) | Information processing device and method, and computer program | |
CN102413141A (zh) | 网络消息解析方法及通信设备 | |
US20150088995A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
EP2560337A1 (en) | Method and system for realizing wireless usb flash disk | |
CN110581812A (zh) | 一种数据报文的处理方法和装置 | |
US20140143339A1 (en) | Method, apparatus, and system for resource sharing | |
CN102546363A (zh) | 一种报文处理方法、装置及设备 | |
CN102065136A (zh) | 一种p2p网络安全数据传输方法及其系统 | |
CN101483653B (zh) | 网络设备向应用层提供应用层数据的方法、设备和系统 | |
CN102833327A (zh) | 基于http的客户端类型的识别方法和装置 | |
CN101226534B (zh) | 一种查找关联文件的方法、终端和系统 | |
US7991008B2 (en) | Method for identifying the transmission control protocol stack of a connection | |
CN103746768A (zh) | 一种数据包的识别方法及设备 | |
CN105282094A (zh) | 一种数据采集方法和系统 | |
CN116684468B (zh) | 数据处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
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: 20120425 Termination date: 20200217 |