网络设备向应用层提供应用层数据的方法、设备和系统的制作方法

文档序号:7698541阅读:201来源:国知局
专利名称:网络设备向应用层提供应用层数据的方法、设备和系统的制作方法
技术领域
本发明涉及网络设备信息处理技术,具体涉及一种网络设备向应用层提 供应用层数据的方法、设备和系统。
背景技术
网络设备泛指路由器和交换机等具有数据转发和交换功能的设备,其处 于网络的中间位置,负责网络与网络之间、网络与计算机之间、计算机与计 算机之间的信息传递,所承载的信息涵盖范围广,能涵盖大量的服务器和用 户终端的信息。目前的应用日趋呈现分布式发展的趋势,网络设备所处位置 又是信息集中之处,因此对于实现分布式应用的集中式管理和监控比较有 利。如果能在网络设备上实现信息监控、病毒检测、分布式攻击检测等新业 务,那么只需在网络设备上增加新业务处理功能,通过相对简单的部署就能 够在较广泛的范围内获得收益。
为了实现上述新业务,网络设备需要将流经报文发送给应用层进行处 理。但是单单将流经报文发送给应用层是不够的。因为网络设备通过二层或 三层信息进行交换和转发,属于逐包转发。而单个报文承载的信息有限,目 前很多应用层协议会将数据文件分解为多个应用层数据块,并进一步将应用 层数据块承载在多个报文中传输,报文在传输过程中可能出现乱序或报文丢 失现象,在这种情况下,如果网络设备仅仅将流经报文发送给应用层,那么 应用层所处理的多个报文之间在数据内容上缺少连续性,报文内容在特定的 时间内是不完整的。而一些新的高层业务的处理往往需要相对完整的信息, 而这些信息需要由多个特定的报文才能组成。可见,现有网络设备无法保证 必要信息的完整性,所以依赖现有技术无法对一些高层业务进行处理。
6举个例子,假设需要对比特流(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片断时无法 进《亍内容辨识。
可见,现有技术中的网络设备不能向应用层提供完整的应用层数据,导 致在应用层开展新业务受到限制。因此有必要为应用层业务的开展提供一个 必要的基本环境。

发明内容
有鉴于此,本发明提供了 一种网络设备向应用层提供应用层数据的方 法,能够向应用层提供完整的应用层数据。
该方法应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,该方法包括
网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报
文;
当緩存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
较佳地,该方法进一步包括网络设备预先获取对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述提取该完整的应用层数据块中的数据内容并提供给应用层的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括
网络设备接收应用层发来的数据请求,从该数据请求中获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;
利用所述参数信息检索对应关系表,确定与缺失数据所在的应用层数据
块;
从自身或网络中获取所确定的应用层数据块;从获取的应用层数据块中提取缺失数据,并提供给应用层。
获取的应用层数据块中提取所述缺失数据并提供给应用层包括:
网络设备检测自身中已完成緩存的应用层数据块;如果緩存中存在缺失数据所在应用层数据块,则直接从緩存中获取;如果緩存中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取緩
8存中缺少的部分,或者等待一段时间,待所述缺少的部分緩存完毕,直接从緩存中获取。
其中,所述应用层数据块为比特流BT协议中的片断;所述应用层数据块的索引为片断的安全散列算法SHA-1值。
其中,所述应用层数据块为BT协议中的片断;所述对应关系表的获取方式为从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取对应关系表。
本发明还提供了 一种向应用层提供应用层数据的网络设备,能够向应用层提供完整的应用层数据。
该网络设备应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,该网络设备包括报文监控单元、緩存单元和数据请求接口单元;
所述报文监控单元,用于监控流经报文,将符合所需应用层协议类型的应用层协议报文发送给所述緩存单元;
所述緩存单元,用于緩存来自所述报文监控单元的应用层协议报文,当緩存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;
所述数据请求接口单元,用于接收并解析应用层发来的用于获取缺失数据的数据请求,从所述緩存单元或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
较佳地,该网络设备进一步包括对应关系存储单元,用于预先获取并保存对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引以及应用层数据块长度;
所述緩存单元进一步在将完整的应用层数据块中的数据内容提供给应用层处理的同时,进一步将所述完整的应用层数据块的索引提供给应用层;
所述数据请求接口单元包括请求处理模块和缺失数据获取模块;
所述请求处理模块,用于接收应用层发来的数据请求;从该数据请求中
9获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块
的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;利用所述参数信息检索所述对应关系存储单元保存的对应关系表,确定缺失数据所在的应用层数据块以及在应用层数据块中的位置,将缺失数据所在应用层数据块的信息和缺失数据在应用层数据块中的位置信息发送给所述缺失数据获取模块;
所述缺失数据获取模块,用于根据缺失数据所在应用层数据块的信息,
数据在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数据,并提供给应用层。
其中,所述缺失数据获取模块包括数据块获取子模块和缺失数据子提取模块;
所述数据块获取子模块,用于根据所述缺失数据所在应用层数据块的信息,在所述緩存单元缓存的完整应用层数据块中,查找缺失数据所在应用层数据块,如果所述緩存单元中存在缺失数据所在应用层数据块,则直接从所述緩存单元中获取;如果所述緩存单元中缺少全部或部分缺失数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取緩存单元中缺少的部分,或者等待一段时间,待所述缺少的部分緩存完毕,直接从緩存单元中获取;将获取的缺失数据所在应用层数据块发送给所述缺失数据提取子模块;
所述缺失数据提取子模块,用于根据所述缺失数据在应用层数据块中的位置信息,从所述数据块获取子模块提供的应用层数据块中提取缺失数据,并提供给应用层。
其中,所述应用层数据块为BT协议中的片断;所述应用层数据块的索引为片断的SHA-1值;所述对应关系存储单元从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取所述对应关系表。
本发明还提供了 一种网络设备向应用层提供应用层数据的系统,能够向应用层提供完整的应用层数据。该系统包括网络设备和应用层处理单元;
所述网络设备,用于监控流经报文,緩存符合所需应用层协议类型的应用层协议报文,当緩存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给所述应用层处理单
从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数
据块中提取所述缺失数据并提供给所述应用层处理单元;
所述应用层处理单元,用于根据所述网络设备提供的数据内容进行业务处理;当出现缺失数据时,向所述网络设备发送数据请求,并接收所述网络设备返回的缺失数据。
较佳地,所述网络设备进一步用于,在将完整的应用层数据块中的数据内容提供给所述应用层处理单元的同时,进一步将所述完整的应用层数据块的索引提供给所述应用层处理单元;
应用层处理单元发送的数据请求中包括获取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
根据以上技术方案可见,本发明采用緩存方式,将緩存得到的相对完整的应用层数据块后,将应用层数据块中的数据内容提供给应用层。网络设备为应用层提供的不是零散的应用层协议报文,而是由报文内容组成的相对完整的数据块内容,使得应用层能够根据完整的应用层数据块开展新业务。
而且,网络设备向应用层提供的数据内容已经去掉了协议封装,使得应用层无需关注协议内容,为应用层业务的开展提供一个必要的基本环境。
此外,网络设备还能够根据应用层的数据请求,向应用层反馈缺失数据,解决了数据缺失对应用层业务的影响。


图1为本发明中网络设备向应用层提供应用层协议数据块的示意图。
ii图2为本发明实施例中网络设备向应用层提供BT片断的方法示意图。图3为本发明实施例中网络设备响应应用层数据请求的方法示意图。图4为本发明实施例中网络设备响应应用层数据请求的消息交互示意图。
图5为本发明实施例中网络设备的结构示意图。
具体实施例方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明为 一种网络设备向应用层提供应用层数据的方案,其基本思想为网络设备监控流经报文,緩存所需应用层协议类型下的应用层协议报文;当緩存的多个应用层协议报文拼接出完整的应用层数据块时,将该完整的应用层数据块提供给应用层处理;接收并解析应用层发来的数据请求,从自身緩存的应用层数据块中或网络中获取请求的缺失数据并提供给应用层。
可见,本发明采用緩存方式,将緩存得到的相对完整的应用层数据块后,将应用层数据块中的数据内容提供给应用层。网络设备为应用层提供的不是零散的应用层协议报文,而是由报文内容组成的相对完整的数据块内容,使得应用层能够根据完整的应用层数据块开展新业务。而且,网络设备向应用层提供的数据内容已经去掉了协议封装,使得应用层无需关注协议内容和报文格式,为应用层业务的开展提供一个必要的基本环境。此外,网络设备还能够根据应用层的数据请求,向应用层反馈缺失数据,解决了数据缺失对应用层业务的影响。
其中,网络设备在解析应用层发来的数据请求时,首先需要查找缺失数据所属应用层数据块。查找时根据数据请求提供的信息从緩存的应用层数据块中查找,或者从拥有缺失数据的其它网络节点中查找。数据请求提供的信息可以与应用层约定。本发明实施例提供了一种快速查找方法,能够提供查找缺失数据的效率。
图1为本发W
12数据块的方法示意图。该流程中采用上述快速查找方法确定缺失数据。如图
l所示,该方法包括以下步骤
步骤100:网络设备获取对应关系表,该对应关系表包括数据文件标识、 应用层数据块的索引以及应用层数据块长度。
通常,数据文件分为解应用层数据块后,都会对数据块进行排序,并将 数据块序号携带在报文中发送,因此较佳地,该对应关系表还可以包括数据 块序号。
网络设备获取对应关系表的方式可以从提供应用层数据块的服务器设 备中获取,也可以从流经报文中获取。
步骤101:网络设备监控流经报文,緩存符合所需应用层协议类型的应 用层协议报文。
步骤102:网络设备在緩存的多个应用层协议报文拼接出完整的应用层 数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层,同时 将该完整的应用层数据块的索引提供给应用层。
本步骤中,网络设备监测緩存报文的TCP序列号,当根据緩存报文的 TCP序列号判定緩存的多个应用层协议报文拼接出完整的应用层数据块时, 获取该应用层数据块的索引,将完整的应用层数据块内容及其索引一同发送 给应用层。
其中,应用层数据块索引可以直接从緩存的应用层数据块中获取,也可 以根据应用层数据块的序号,从对应关系表中获取。
步骤103:网络设备接收应用层发来的用于获取数据文件中缺失数据的 数据请求,从该数据请求中获取被请求缺失数据的参数信息。本发明实施例 中定义该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺 失数据在数据文件中的开始位置和缺失数据的长度。
步骤104:网络设备利用参数信息检索对应关系表,确定缺失数据所在 的应用层数据块。
具体来说,根据参数信息中应用层正在处理的应用层数据块的索引,在对应关系表中查找应用层正在处理的应用层数据块所属的数据文件filel;再 根据参数信息中缺失数据在数据文件中的开始位置、缺失数据的长度以及对 应关系表记录的各应用层数据块长度,从数据文件filel对应的应用层数据 块中,确定出缺失数据所在的应用层数据块。
步骤105:网络设备从自身緩存的应用层数据块中或从网络中,获取所 确定的应用层数据块。
步骤106:从获取的应用层数据块中提取缺失数据,并提供给应用层。
至此,本流程结束。
本发明的技术方案可以适用于将数据文件分解为多个应用层数据块,并 将一个应用层数据块承载在多个应用层协议报文中传输的各种应用层协议。 例如BT协议。下面在描述本发明的技术方案时以向应用层提供BT片断为例。
图2示出了本发明实施例中网络设备向应用层提供BT片断的方法示意 图。如图2所示,该流程包括以下步骤
步骤201:获取对应关系表,该对应关系表中包含多个数据文件的描述 信息。每条描述信息包括片断所属数据文件的文件名,片断索引、片断序号、 片断长度等信息。其中,片断索引为片断的20字节SHA-1值。
表1示出了本发明实施例中对应关系表的一个实例。
所属文件的文件名SHA-1值片断序号片断长度
file-a.dataOaOaOaOaOaOaOaOaOaO0256KB
file-a.datalalalalalalalalalal1256KB
file-a.data2a2a2a2a2a2a2a2a2a22256KB
file-a.data3 a3 a3 a3 a3 a3 a3 a3 a33256KB...file-b.datbObObObObObObObObObO0512KB
file-b.datblblblblblblblblblbl1512KB
表1
14对应关系表的获取方式可以为从元文件发布服务器中直接获取元文 件,并进一步从元文件中获取对应关系表。在实际中,BT客户端希望下载
件,这些元文件经由元文件发布服务器与BT客户端之间的网络设备下发给 BT客户端,因此网络设备还可以通过监控流经报文,获取报文中的元文件, 并从元文件中获取对应关系表。
步骤202:监控和识别流经自身的报文,緩存识别出的BT协议报文。 这里,BT协议报文承载子片断(block),因此需要通过后续緩存步骤拼接 出完整的片断(piece)。
本步骤中,可以根据报文中的特征串识别BT协议报文。例如,报文中 负载(pay load )字段中包涵16进制的数字"13"和字符串"bittorrent-protocol" 的组合字段时,说明该报文为BT协议报文。
步骤203:当緩存的BT协议报文拼接出一个完整的片断(piece)时, 将该完整的片断中的数据内容提供给应用层。同时,还将该完整的片断对应 的片断索引,即SHA-l值,提供给应用层。
通常,承载同一片断的多个BT协议报文会顺序发送,且每个片断的开 始由一片断头标识。因此网络设备也会顺序緩存承载同一片断的BT协议报 文,根据报文TCP序列号和一个片断的长度,可以计算出每个片断对应的 报文数量和报文序号,而且当识别出 一个片断头时,得知一个新片断的开始。 根据这些内容,网络设备就可以通过监测报文的TCP序列号判断緩存的BT 协议报文是否已经能够拼接出一个完整的BT片斯,判定为是时,将该完整 片断中的数据内容提供给应用层。
至此,本流程结束。
图3示出了本发明实施例中网络设备响应应用层数据请求的方法示意 图。图4示出了网络设备响应应用层数据请求的消息交互示意图。参见图3 和图4,响应流程包括以下步骤
步骤301:网络设备接收应用层发来的数据请求(如图4中的消息2),从数据请求中提取被请求缺失数据的参数信息,包括应用层正在处理的片断
SHA-1值、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。
举个实例,假设网络设备接收到应用层的数据请求中包括
a3a3a3a3a3a3a3a3a3a3、 0和300这三个参数,表明应用层正在处理片断 SHA-1值为a3a3a3a3a3a3a3a3a3a3的片断,所述正在处理例如正在4企测片断 a3a3a3a3a3a3a3a3a3a3的数据完整性。此时发现数据不完整,缺少片断 a3a3a3a3a3a3a3a3a3a3所属数据文件的第0-300KB字节的数据,于是将 a3a3a3a3a3a3a3a3a3a3、 0、 300作为三个参数携带在数据请求中,发送给网 络设备。
步骤3 02:网络设备根据对应关系表,查找应用层正在处理的片断SHA-1 值所属数据文件filel,根据缺失数据的开始位置和缺失数据的长度,解析出 缺失数据在数据文件中的位置。然后根据对应关系表中的片断长度值,从数 据文件filel对应的片断中,确定出缺失数据所在的片断以及缺失数据在片 断中的位置。
在上述实例中,根据表1,查找片断a3a3a3a3a3a3a3a3a3a3所属数据文 件为file-a.dat,根据数据请求中的参数0和300,可知缺失数据为file-a.dat 文件中的0-300KB内容,此时,根据对应关系表中的片断长度值,获取 0-300KB的数据所在片断,即片断0和片断1。至此,确定出缺失数据包涵 在file-a.dat的片断0和片断1中,更具体地说,缺失数据为片断 a0a0a0a0a0a0a0a0a0a0的全部256KB和片断alalalalalalalalalal中的前 44KB。
步骤303:获取缺失数据所在的片断,根据缺失数据在片断中的位置从 获取的片断中获取缺失数据。
缺失数据可以从网络设备自身的緩存中获取,如果緩存中没有,则可以 从其它BT客户端获取。具体来说,网络设备首先检测已完成緩存的片断, 如果緩存中存在缺失数据所属的片断,则直接从緩存中获取;如果緩存中缺 少全部或部分缺失数据所属的片断,则通过网络通信方式从其它网络节点中
16获取緩存中缺少的部分,或者等待一段时间,待缺少的部分緩存完毕,直接
从緩存中获取。如果等待超时,向应用层返回失败信息(如图4中的消息7)。 在上迷实例中,如果片断 a0a0a0a0a0a0a0a0a0a0 和 alalalalalalalalalal已经被緩存,则直接,人緩存中获取缺失数据。上述两 个片断没有被緩存,或仅有部分数据被緩存,则可以通过网络来获取缺失的 部分。或者选择继续等待緩存完成,如果等待超时就返回给应用层一个失败 信息。
在BT协议下,通过网络获取缺失的部分时,利用BT协议的GET—PEERS 命令对外发送获取PEER消息和片断请求信息,请求需要的片断。本例中, 分别将a0a0a0a0a0a0a0a0a0a0和alalalalalalalalalal作为info—hash参数 发送两个GET—PEERS消息(如图4中的消息3 )。当拥有这两个info_hash 所代表的片断的BT客户端(假设分别是peer—a0和peer—a 1 , peer为节点) 回应该消息时(如图4中的消息41和42 ),网络设备向peer_a0发送r叫uest 消息请求片断a0a0a0a0a0a0a0a0a0a0 (如图4中的消息51 ),向peer—al发 送request消息请求片断alalalalalalalalalal(如图4中的消息52 )。peer—aO 和peer—a 1响应request消息(如图4中的消息61和62 ),分别向网络设备 发送被请求的片断a0a0a0a0a0a0a0a0a0a0和片断alalalalalalalalalal。
然后,网络设备将片断a0a0a0a0a0a0a0a0a0a0的全部256KB和片断 alalalalalalalalalal中的前44KB,共计300KB的数据提取出来。这300KB 就是应用层请求获取的缺失数据。
步骤304:将获取的缺失数据提供给应用层(如图4中的消息7)。
至此,本流程结束。
为了实现上述方法,本发明还提供了 一种向应用层提供应用层数据的网 络设备,应用于将数据文件分解为多个应用层数据块,并将一个应用层数据 块承载在多个应用层协议报文中传输的环境中。
图5为本发明实施例中网络设备的结构示意图。如图5所示,该网络设 备包括报文监控单元51、緩存单元52和数据请求接口单元54。如果采用图
17l示出的流程,该网络设备还包括对应关系存储单元53。其中,
报文监控单元51,用于监控流经报文,将符合所需应用层协议类型的应用 层协议报文发送给緩存单元52。
緩存单元52,用于緩存来自报文监控单元51的应用层协议报文,当緩存 的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数 据块中的数据内容并提供给应用层。较佳地,在将应用层数据块中的数据内容 提供给应用层的同时,进一 步将该完整的应用层数据块的索引提供给应用层。
对应关系存储单元53 ,用于预先获取并保存对应关系表,该对应关系表包 括数据文件标识、应用层数据块的索引以及应用层数据块长度。该对应关系表 可以从提供应用层协议报文的服务器设备中获取,或从流经的应用层协议报文 中获取。例如,网络设备向应用层提供BT协议下的片断时,该对应关系存储 单元53从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件 中提取对应关系表。其中,片断的索引可以直接采用片断的SHA-1值。
数据请求接口单元54,用于接收并解析应用层发来的数据请求,从所 述緩存单元52或网络中获取所述缺失数据所在的应用层数据块,从获取的 应用层数据块中提取所述缺失数据并提供给应用层。
具体来说,数据请求接口单元54包括请求处理模块541和缺失数据获 取模块542。其中,
请求处理模块541,用于接收应用层发来的数据请求;从该数据请求中 提取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块 的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度。利 用该参数信息检索对应关系存储单元53保存的对应关系表,确定缺失数据 所在的应用层数据块以及在应用层数据块中的位置。具体确定过程已经在方 法实施例中详细描述,这里略。然后将缺失数据所在应用层数据块的信息和 缺失数据在应用层数据块中的位置信息发送给缺失数据获取模块542。
缺失数据获取模块542,用于根据缺失数据所在应用层数据块的信息, 从緩存单元52中或从网络中获取缺失数据所在的应用层数据块;根据缺失
18数据在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数 据,并提供给应用层。具体提取过程已经在方法实施例中详细描述,这里略。
缺失数据获取模块542具体包括数据块获取子模块和缺失数据提取子
模块,这两个子模块在图中未示出。其中,
数据块获取子模块,用于根据缺失数据所在应用层数据块的信息,在緩
存单元52緩存的各完整应用层数据块中,查找缺失数据所在的应用层数据 块,如果緩存单元52中存在所需数据块,则直接从所述緩存单元中获取; 如果緩存单元52中缺少全部或部分所需数据块,则通过网络通信方式从其 它网络节点中获取緩存单元52中缺少的部分,或者等待一段时间,待缺少 的部分緩存完毕,直接从緩存单元52中获取。然后,将获取的数据块发送 给缺失数据提取子模块。
缺失数据提取子模块,用于根据缺失数据在应用层数据块中的位置信 息,从数据块获取子模块提供的数据块中提取所需缺失数据,并提供给应用 层。
采用图5示出的网络设备和应用层可以组成一个系统。应用层根据网络 设备提供的数据内容进行开展新业务,进行业务处理;当出现缺失数据时, 向网络设备发送数据请求,并接收网络设备返回的缺失数据。应用层的这些 功能可以整合在一个应用层处理单元中实现。较佳地,整合这些功能的应用 层处理单元还可以接收到网络设备发送的应用层数据块的索引。在这种情况 下,应用层处理单元发送的数据请求中可以包括应用层正在处理的应用层数 据块的索引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长 度。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1、一种网络设备向应用层提供应用层数据的方法,应用于将数据文件分解为多个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的环境中,其特征在于,该方法包括网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文;当缓存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给应用层;接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层。
2、 如权利要求l所述的方法,其特征在于,该方法进一步包括网络设备 预先获取对应关系表,该对应关系表包括数据文件标识、应用层数据块的索引 以及应用层数据块长度;所述提取该完整的应用层数据块中的数据内容并提供给应用层的同时,进 一步将所述完整的应用层数据块的索引提供给应用层;所述接收并解析应用层发来的用于获取缺失数据的数据请求,从自身或网 络中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所 述缺失数据并提供给应用层包括网络设备接收应用层发来的数据请求,从该数据请求中获取缺失数据的参 数信息,该参数信息包括应用层正在处理的应用层数据块的索引、被请求的缺 失数据在数据文件中的开始位置和缺失数据的长度;利用所述参数信息检索对应关系表,确定与缺失数据所在的应用层数据块;从自身或网络中获取所确定的应用层数据块;从获取的应用层数据块中提取缺失数据,并提供给应用层。
3、 如权利要求1或2所述的方法,其特征在于,所述从自身或网络中获取 所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述缺失数据并提供给应用层包括网络设备检测自身中已完成緩存的应用层数据块;如果緩存中存在缺失数 据所在应用层数据块,则直接从緩存中获取;如果緩存中缺少全部或部分缺失 数据所在应用层数据块,则通过网络通信方式从其它网络节点中获取緩存中缺 少的部分,或者等待一段时间,待所述缺少的部分緩存完毕,直接从緩存中获 取。
4、 如权利要求2所述的方法,其特征在于,所述应用层数据块为比特流 BT协议中的片断;所述应用层数据块的索引为片断的安全散列算法SHA-1值。
5、 如权利要求2所述的方法,其特征在于,所述应用层数据块为BT协议 中的片断;所述对应关系表的获取方式为从元文件发布服务器或流经的BT 协议报文中获取元文件,从该元文件中提取对应关系表。
6、 一种向应用层提供应用层数据的网络设备,应用于将数据文件分解为多 个应用层数据块,并将一个应用层数据块承载在多个应用层协议报文中传输的 环境中,其特征在于,该网络设备包括报文监控单元、缓存单元和数据请求接 口单元;所述"^艮文监控单元,用于监控流经报文,将符合所需应用层协议类型的应 用层协议报文发送给所述緩存单元;所述緩存单元,用于緩存来自所述报文监控单元的应用层协议报文,当緩 存的多个应用层协"^i艮文拼接出完整的应用层数据块时,提取该完整的应用层 数据块中的数据内容并提供给应用层;所述数据请求接口单元,用于接收并解析应用层发来的用于获取缺失数据 的数据请求,从所述緩存单元或网络中获取所述缺失数据所在的应用层数据块, 从获取的应用层数据块中提取所述缺失数据并提供给应用层。
7、 如权利要求6所述的网络设备,其特征在于,该网络设备进一步包括对 应关系存储单元,用于预先获取并保存对应关系表,该对应关系表包括数据文 件标识、应用层数据块的索引以及应用层数据块长度;所述緩存单元进一步在将完整的应用层数据块中的数据内容提供给应用层处理的同时,进一步将所述完整的应用层数据块的索引提供给应用层; 所述数据请求接口单元包括请求处理模块和缺失数据获取模块; 所述请求处理模块,用于接收应用层发来的数据请求;从该数据请求中获 取缺失数据的参数信息,该参数信息包括应用层正在处理的应用层数据块的索 引、被请求的缺失数据在数据文件中的开始位置和缺失数据的长度;利用所述 参数信息;险索所述对应关系存储单元保存的对应关系表,确定缺失数据所在的 应用层数据块以及在应用层数据块中的位置,将缺失数据所在应用层数据块的 信息和缺失数据在应用层数据块中的位置信息发送给所述缺失数据获取模块;所述缺失数据获取模块,用于根据缺失数据所在应用层数据块的信息,从 所述緩存单元中或从网络中获取缺失数据所在的应用层数据块;根据缺失数据 在应用层数据块中的位置信息,从获取的应用层数据块中提取缺失数据,并提 供给应用层。
8、 如权利要求7所述的网络设备,其特征在于,所述缺失数据获取模块包 括数据块获取子模块和缺失数据子提取模块;所述数据块获取子模块,用于根据所述缺失数据所在应用层数据块的信息, 在所述緩存单元緩存的完整应用层数据块中,查找缺失数据所在应用层数据块, 如果所述緩存单元中存在缺失凄t据所在应用层数据块,则直接从所述緩存单元 中获取;如果所述缓存单元中缺少全部或部分缺失数据所在应用层数据块,则 通过网络通信方式从其它网络节点中获取緩存单元中缺少的部分,或者等待一 段时间,待所述缺少的部分緩存完毕,直接从緩存单元中获取;将获取的缺失 数据所在应用层数据块发送给所述缺失数据提取子模块;所述缺失数据提取子模块,用于根据所述缺失数据在应用层数据块中的位 置信息,从所述数据块获取子模块提供的应用层数据块中提取缺失数据,并提 供给应用层。
9、 如权利要求7或8所述的网络设备,其特征在于,所述应用层数据块为 BT协议中的片断;所述应用层数据块的索引为片断的SHA-1值;所述对应关 系存储单元从元文件发布服务器或流经的BT协议报文中获取元文件,从该元文件中提取所述对应关系表。
10、 一种网络设备向应用层提供应用层数据的系统,其特征在于,该系统包括网络设备和应用层处理单元;所述网络设备,用于监控流经报文,缓存符合所需应用层协议类型的应用 层协议报文,当緩存的多个应用层协议报文拼接出完整的应用层数据块时,提取该完整的应用层数据块中的数据内容并提供给所述应用层处理单元;接收并 解析所述应用层处理单元发来的用于获取缺失数据的数据请求,从自身或网络 中获取所述缺失数据所在的应用层数据块,从获取的应用层数据块中提取所述 缺失数据并提供给所述应用层处理单元;所述应用层处理单元,用于根据所述网络设备提供的数据内容进行业务处 理;当出现缺失数据时,向所述网络设备发送数据请求,并接收所述网络设备 返回的缺失数据。
11、 如权利要求IO所述的系统,其特征在于,所述网络设备进一步用于,一步将所述完整的应用层数据块的索引提供给所述应用层处理单元;应用层处理单元发送的数据请求中包括获取缺失数据的参数信息,该参数 信息包括应用层正在处理的应用层数据块的索引、被请求的缺失数据在数据文 件中的开始位置和缺失数据的长度。
全文摘要
本发明公开了一种网络设备向应用层提供应用层数据的方法。在所述方法中,网络设备监控流经报文,缓存符合所需应用层协议类型的应用层协议报文,当多个应用层协议报文拼接出完整的应用层数据块时,从应用层协议报文中提取出该完整的应用层数据块中的数据内容并提供给应用层。而且,还根据应用层的数据请求为应用层提供缺失的数据。本发明还提供了向应用层提供应用层数据的网络设备和系统。使用本发明,网络设备能够向应用层提供完整的应用层数据,为应用层业务的开展提供一个必要的基本环境。
文档编号H04L29/06GK101483653SQ20091007731
公开日2009年7月15日 申请日期2009年2月17日 优先权日2009年2月17日
发明者勇 汤, 葛长忠 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1