一种点对点数据获取系统及方法

文档序号:7694470阅读:163来源:国知局
专利名称:一种点对点数据获取系统及方法
技术领域
本发明涉及点对点(P2P)数据获取的技术,尤其涉及一种基于互联网 (WEB)浏览器的P2P数据获取系统及方法。
背景技术
随着互联网技术的发展,基于互联网获取数据的方式已经从传统的釆用星 形网络演进到釆用P2P网络了。具体来说,釆用传统星形网络获取数据的工作 模式为中心服务器存储有客户端待下载的具体数据的信息;数以万计的客户 端直接从中心服务器获取具体数据。而基于P2P技术,釆用P2P网络获取数据 的工作模式为首先多个客户端向中心服务器上载信息源,且该信息源包括当 前客户端的IP地址信息,以及该当前客户端所共享具体数据的信息;之后中心
服务器将从多个客户端接收的信息源存储为信息源目录;最终多个客户端中,
源客户端从中心服务器的信息源目录获取目标客户端的IP地址信息,从目标客 户端获取该目标客户端所共享的具体数据。这里,该目标客户端所共享的具体
数据也可以称为P2P数据。
总之,釆用P2P网络获取数据的工作模式,区别于釆用传统星形网络获取 数据的工作模式在于多个客户端之间以P2P技术直接通信来获取P2P数据。 也就是说,多个客户端中,源客户端在查找到信息源所在的目标客户端后,釆 用P2P技术直接从目标客户端获取P2P数据,其间没有数据流通过中心服务器。 相应地,图1为釆用P2P网络获取数据工作模式的系统的组成结构示意图,系 统在实际工作模式中通常包括多个客户端,这里为了简化,图l中仅以两个客 户端来代表,图1中包括中心服务器11、源客户端21和目标客户端22,图l 所示系统获取P2P数据的过程即为上述釆用P2P网络获取数据的工作模式,这里不进行具体阐述。
现有技术所涉及的客户端,包括图1中的源客户端21和目标客户端22皆
为具有P2P逻辑的客户端。举例来说,安装有BT工具的客户端就是具有P2P 逻辑的客户端。这里,BT工具为基于P2P技术的P2P数据共享传输工具,客 户端只有安装该BT工具后才能实现P2P数据的获取和分享。而BT工具属于 额外安装的第三方插件,从客户端整体系统安全性的考虑来说,额外安装第三 方插件容易导致系统运行不稳定和冲突的问题,存在安全隐患。

发明内容
有鉴于此,本发明的主要目的在于提供一种P2P数据获取系统,在无需额 外安装第三方插件的基础上,实现P2P数据的获取。
本发明的另 一 目的在于提供一种P2P数据获取方法,在无需额外安装第三 方插件的基础上,实现P2P数据的获取。
为达到上述目的,本发明的技术方案是这样实现的
本发明提供了 一种点对点数据获取系统,包括中心服务器和第 一类客户端; 该系统还包括第二类客户端;其中,
第二类客户端为基于互联网WEB浏览器的客户端,用于以WEB浏览器脚
本的方式从所述中心服务器查询所述第一类客户端上载的信息源;查询到目标 信息源后,根据解析出的所述目标信息源中目标客户端的IP地址信息,连接到 所述目标客户端,从目标客户端获取点对点P2P数据。
其中,所述第二类客户端包括信息源查询及解析处理模块,用于在所述 WEB浏览器脚本触发后,以所述WEB浏览器脚本的方式从所述中心服务器查 询所述第一类客户端上载的信息源;信息源查询及解析处理模块用于解析出所 述目标信息源中目标客户端的IP地址信息。
所述第一类客户端包括至少一个第一客户端;所述第二类客户端包括至少
一个第二客户端;其中,
第二客户端,用于通过所述信息源查询及解析处理模块,在所述WEB浏览器脚本触发后,以所述WEB浏览器脚本的方式查询到所述第一客户端直接上载的所述目标信息源;通过信息源查询及解析处理模块解析出目标信息源中 第一客户端的IP地址信息。其中,所述第二类客户端还包括数据分享模块,所述数据分享模块用于在监听到P2P数据分享请求后,将第二类客户端自身的P2P数据分享给所述请求 P2P数据分享的客户端。所述第一类客户端包括至少一个第一客户端;所述第二类客户端包括至少 一个第二客户端;其中,所述第二客户端,用于通过所述数据分享模块监听到所述第一客户端的P2P数据分享请求后,将第二客户端自身的P2P数据分享给第一客户端;第一 客户端,用于将所述第二客户端自身P2P数据的信息作为信息源间接上载。 本发明还提供了 一种点对点数据获取方法,包括以下步骤A、 基于WEB浏览器的客户端,在WEB浏览器脚本触发后,以所述WEB 浏览器脚本的方式查询基于P2P逻辑的客户端上载的信息源;B、 所述基于WEB浏览器的客户端查询并解析目标信息源后,根据解析出 的所述目标信息源中目标客户端的IP地址信息,连接到所述目标客户端,从目 标客户端获取P2P数据。步骤B后,该方法还包括C、 所述基于WEB浏览器的客户端监听到P2P数据分享请求后,将基于 WEB浏览器的客户端自身的P2P数据分享给所述请求P2P数据分享的客户端。其中,步骤C中所述请求P2P数据分享的客户端为所述基于P2P逻辑的客 户端,步骤C后,该方法还包括D、 所述基于P2P逻辑的客户端将所述WEB浏览器的客户端自身P2P数 据的信息作为信息源间接上载。上述方案中,所述WEB浏览器脚本包括JS脚本、AJAX脚本或其他支 持WEB浏览器的脚本。其中,所述WEB浏览器脚本具体通过预先设置的定时器触发、自动触发以及通过用户的点击操作手动触发。现有技术所采用的客户端必须额外安装第三方插件,以支持基于P2P技术 的P2P数据获取。而本发明区别于现有技术的是,采用基于WEB浏览器的客 户端,即任一个能实现上网浏览的普通客户端,以WEB浏览器脚本的方式查 询到基于P2P逻辑的客户端上载的目标信息源后,根据解析出的目标信息源中 目标客户端的IP地址信息连接到目标客户端,从目标客户端获取P2P数据,从 而实现P2P数据的获取。并且,本发明充分利用现有的具有P2P逻辑的客户端 和中心服务器所构成的现有P2P网络,并扩展基于WEB浏览器的客户端与现 有的具有P2P逻辑的客户端之间的P2P连接,来实现P2P数据的获取。本发明包括两方面的优点第一方面,本发明实现了基于纯WEB浏览器 的P2P数据获取机制,极大地降低了 P2P技术的应用门槛,使用户在无需额外 安装第三方插件的基础上,只要能上网就能享受到P2P数据的获取;同时避免 了额外安装第三方插件所存在的安全隐患。第二方面,由于WEB用户众多, 那么本发明在充分利用P2P网络的基础上,扩展基于WEB浏览器的客户端与 现有的具有P2P逻辑的客户端之间的P2P连接,来实现P2P数据的获取,在极 大的降低带宽成本的同时,使用户能更快地获取到P2P数据,从而提高了用户 体验感。


图1为现有采用P2P网络获取数据工作模式的系统的组成结构示意图; 图2为本发明系统一实施例的组成结构示意图; 图3为本发明系统另一实施例的组成结构示意图; 图4为本发明方法原理的实现流程示意图。
具体实施方式
本发明的核心思想是采用基于WEB浏览器的客户端,实现P2P数据的 获取。并且,本发明充分利用现有P2P网络,扩展了基于WEB浏览器的客户端与现有具有P2P逻辑的客户端之间的P2P连接,来实现P2P数据的获取。采 用本发明,不仅能避免额外安装第三方插件所存在的安全隐患,且能提高了用 户体验感。为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照 附图,对本发明进一步详细说明。一种P2P数据获取系统,该系统在实际工作模式中包括中心服务器和多个 客户端。其中,多个客户端中包括两类客户端,第一类客户端为现有的具有P2P 逻辑的客户端,第二类客户端为基于WEB浏览器的客户端。并且,由于第一类客户端安装有诸如BT工具等P2P数据共享传输工具, 也就是说第一类客户端具有P2P逻辑,因此,第一类客户端除了可以作为P2P 数据的消费方之外,还可以作为P2P数据的提供方。当第一类客户端作为P2P 数据的提供方时,启动并运行P2P逻辑的宿主程序,上载信息源给中心服务器, 以便系统中的其他客户端,通过客户端之间以P2P技术的直接通信,最终获取 到P2P数据。而第二类客户端为基于互联网WEB浏览器的客户端,不具有P2P 逻辑,通常只能作为P2P数据的消费方。那么,第二类客户端用于在所述第一类客户端将信息源上载到所述中心服 务器后,以所述WEB浏览器脚本的方式从中心服务器查询第一类客户端上载 的信息源;从所述信息源中查询到目标信息源后,解析出所述目标信息源中目 标客户端的IP地址信息,根据所述目标客户端的IP地址信息连接到所述目标 客户端,从目标客户端获取P2P数据。其中,第一类客户端上载的信息源包括 第一类客户端的IP地址信息,以及该第一类客户端所共享具体数据的信息。这里,第二类客户端包括信息源查询及解析处理模块,信息源查询及解析 处理模块用于在所述WEB浏览器脚本触发后,以所述WEB浏览器脚本的方式 从中心服务器查询第一类客户端上载的信息源;信息源査询及解析处理模块用 于解析出所述目标信息源中目标客户端的IP地址信息。其中,WEB浏览器脚 本包括JS脚本、AJAX脚本或其他支持WEB浏览器的脚本。所谓JS脚本指 以Jscrip这种WEB浏览器内建支持的语言编写的脚本,所谓AJAX脚本指以异步脚本处理语言编写的脚本,基于JS脚本结合可扩展标记语言(XML) 实现的模式。二者的区别在于,JS脚本触发后可以直接运行,而AJAX脚本触 发后,需要在客户端侧或者服务器侧,将XML解析为JS脚本后运行。其中,第二类客户端中的所有客户端存在的WEB浏览器脚本是相同的, 并且所述WEB浏览器脚本可以通过预先设置的定时器触发,可以自动触发, 还可以通过用户的点击操作手动触发。这里,第二类客户端还包括数据分享模块,数据分享模块用于在监听到P2P 数据分享请求后,将第二类客户端自身的P2P数据分享给所述请求P2P数据分 享的客户端。其中,数据分享模块以ActiveX这种插件形式存在。当第二类客 户端进一步包括数据分享模块时,该第二类客户端既是一个基于WEB浏览器 的客户端,能支持WEB浏览器脚本的触发,并以WEB浏览器脚本的方式获取 P2P数据;又是一个具有P2P逻辑的客户端,在获取P2P数据的同时,能将数 据对等地分享给其他客户端。从而该第二类客户端能很好地兼容现有技术。并 且,该第二类客户端可以选择采取单一模块的工作模式,或者同时采取两个模 块的工作模式来运行。具体来说,当选择釆取单一模块的工作模式时,比如采 取信息源查询及解析处理模块时,该第二类客户端只能作为P2P数据的消费方, 从其他客户端获取P2P数据;比如采取数据分享模块时,该第二类客户端既能 作为P2P数据的消费方,从其他客户端获取P2P数据,又能作为P2P数据的提 供方,将P2P数据分享给其他客户端。当同时采取两个模块的工作模式时,该 第二类客户端既能作为P2P数据的消费方,又能作为P2P数据的提供方。为了简化,如图2所示,图2为本发明系统一实施例的组成结构示意图, 图2中仅以两个客户端来代表,以下对图2所示的系统进行阐述。系统实施例一本实施例中,系统包括两个客户端如图2所示。其中,第 一客户端23代表第一类客户端,且作为目标客户端;第二客户端24代表第二 类客户端,且作为源客户端。该系统还包括中心服务器11。那么,当第一客户端23作为P2P数据的提供方时,第一客户端23用于启 动并运行预设置P2P逻辑的宿主程序,将目标信息源直接上载到中心服务器11。这里,该目标信息源包括第一客户端23的IP地址信息,以及第一客户端23所 共享的P2P数据的信息。这里需要指出的是,针对第一客户端23而言,第一 客户端23将第一客户端23自身P2P数据的信息,上载到中心服务器11称为直 接上载。第二客户端24作为P2P数据的消费方,包括信息源査询及解析处理模块 241,用于通过信息源查询及解析处理模块241,在第二客户端24所在的WEB 浏览器脚本触发后,以该WEB浏览器脚本的方式从中心服务器11查询到第一 客户端23直接上载的目标信息源;通过信息源查询及解析处理模块241解析出 目标信息源中第一客户端23的IP地址信息,根据第一客户端23的IP地址信 息连接到第 一客户端23 ,从第 一客户端23获取P2P数据。系统实施例二本实施例中,系统包括三个客户端如图3所示。其中,第 一客户端23代表第一类客户端,且作为目标客户端;第二客户端24代表第二 类客户端;第三客户端25作为源客户端,既可以代表第一类客户端,也可以代 表第二类客户端。该系统还包括中心服务器ll。那么,当第一客户端23作为P2P数据的提供方时,第一客户端23用于启 动并运行预设置P2P逻辑的宿主程序,将目标信息源直接上载到中心服务器11。 这里,该目标信息源包括第一客户端23的IP地址信息,以及第一客户端23所 共享的P2P数据的信息。第二客户端24可以不上载信息源给中心服务器11, 而是将自身的P2P数据分享给第一客户端23,由第一客户端23将第二客户端 24自身P2P数据的信息作为信息源间接上载到中心服务器11。这里,系统实施例二区别于系统实施例一的是,第二客户端24除了包括信 息源查询及解析处理模块241,还包括数据分享模块242。那么,第二客户端 24进一步用于通过数据分享模块242监听到第一客户端23的P2P数据分享请 求后,将第二客户端24自身的P2P数据分享给第一客户端23。则第一客户端 23,进一步用于将第二客户端24自身P2P数据的信息作为信息源间接上载到 中心服务器ll;相应的,由第一客户端23上载到中心服务器11中的信息源包 括第一客户端23直接上载的第一客户端23自身P2P数据的信息,以及第一客户端23间接上载的第二客户端24自身P2P数据的信息。最终,第三客户端 25作为源客户端,可以通过与第一客户端23之间的P2P直接通信,获取到P2P 数据。这里需要指出的是,针对第一客户端23而言,第一客户端23从第二客 户端24分享到第二客户端24自身的P2P数据后,第一客户端23将第二客户 端24自身P2P数据的信息,上载到中心服务器ll称为间接上载。并且,由于 第二客户端24此时具备数据分享模块242,即第二客户端24兼容现有技术, 具有P2P逻辑,因此第二客户端24也可以将其自身P2P数据的信息直接上载到中心服务器ll。如图4所示, 一种P2P数据获取方法,该方法包括以下步骤步骤101、基于WEB浏览器的客户端,在WEB浏览器脚本触发后,以WEB浏览器脚本的方式从中心服务器查询基于P2P逻辑的客户端上载的信息源。这里,该上载的信息源包括基于P2P逻辑的客户端直接上载到中心服务 器的信息源。该直接上载的信息源包括基于P2P逻辑的客户端自身P2P数据 的信息,以及该基于P2P逻辑的客户端所共享具体数据的信息。这里,WEB浏览器脚本包括JS脚本、AJAX脚本或其他支持WEB浏览 器的脚本。WEB浏览器脚本具体通过预先设置的定时器触发、自动触发以及通 过用户的点击操作手动触发。步骤102、基于WEB浏览器的客户端从信息源中查询到目标信息源后,解 析出目标信息源中目标客户端的IP地址信息。步骤103、根据目标客户端的IP地址信息连接到目标客户端,从目标客户 端获取P2P数据。这里,步骤103后还包括步骤104、基于WEB浏览器的客户端监听到P2P数据分享请求后,将基于 WEB浏览器的客户端自身的P2P数据,分享给请求P2P数据分享的客户端。 这里,通过步骤104能实现P2P数据的分享,具体流程为 步骤1041、基于WEB浏览器的客户端,通过P2P端口监听其他客户端的P2P数据分享请求。步骤1042、判断是否监听到其他客户端的P2P数据分享请求,如果是,则 将该基于WEB浏览器的客户端自身的P2P数据,分享给请求P2P数据分享的 客户端后,结東当前P2P数据分享的流程,否则,直接结束当前P2P数据分享 的流程。这里,步骤104中,当请求P2P数据分享的客户端为基于P2P逻辑的客户 端,步骤104后还包括步骤105、基于P2P逻辑的客户端,将WEB浏览器的客户端自身P2P数 据的信息作为信息源间接上载。这里,通过步骤105能实现信息源的上载,具体流程为步骤1051、基于P2P逻辑的客户端启动并运行预设置P2P逻辑的宿主程序 后,基于P2P逻辑的客户端判断是否接收到所请求分享的P2P数据,如果是, 则执行步骤1052后,结東当前信息源上载的流程;否则,直接结東当前信息源 上载的流程。这里,该请求分享的P2P数据是从基于WEB浏览器的客户端接收的。 步骤1052、基于P2P逻辑的客户端除了将自身固有P2P数据的信息作为信息源直接上载到中心服务器外,还将接收的WEB浏览器的客户端自身P2P数据的信息作为信息源间接上载到中心服务器。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1. 一种点对点数据获取系统,包括中心服务器和第一类客户端;其特征在于,该系统还包括第二类客户端;其中,第二类客户端为基于互联网WEB浏览器的客户端,用于以WEB浏览器脚本的方式从所述中心服务器查询所述第一类客户端上载的信息源;查询到目标信息源后,根据解析出的所述目标信息源中目标客户端的IP地址信息,连接到所述目标客户端,从目标客户端获取点对点P2P数据。
2、 根据权利要求l所述的系统,其特征在于,所述第二类客户端包括信息 源查询及解析处理模块,用于在所述WEB浏览器脚本触发后,以所述WEB浏览器脚本的方式从所述中心服务器查询所述第一类客户端上载的信息源;信息源查询及解析处理模块用于解析出所述目标信息源中目标客户端的IP地址信息。
3、 根据权利要求2所述的系统,其特征在于,所述第一类客户端包括至少一个第一客户端;所述第二类客户端包括至少一个第二客户端;其中,第二客户端,用于通过所述信息源查询及解析处理模块,在所述WEB浏 览器脚本触发后,以所述WEB浏览器脚本的方式查询到所述第一客户端直接上载的所述目标信息源;通过信息源查询及解析处理模块解析出目标信息源中第一客户端的IP地址信息。
4、 根据权利要求2所述的系统,其特征在于,所述第二类客户端还包括数 据分享模块,所述数据分享模块用于在监听到P2P数据分享请求后,将第二类 客户端自身的P2P数据分享给所述请求P2P数据分享的客户端。
5、 根据权利要求4所述的系统,其特征在于,所述第一类客户端包括至少 一个第一客户端;所述第二类客户端包括至少一个第二客户端;其中,所述第二客户端,用于通过所述数据分享模块监听到所述第一客户端的 P2P数据分享请求后,将第二客户端自身的P2P数据分享给第一客户端;第一 客户端,用于将所述第二客户端自身P2P数据的信息作为信息源间接上载。
6、 一种点对点数据获取方法,其特征在于,该方法包括以下步骤A、 基于WEB浏览器的客户端,在WEB浏览器脚本触发后,以所述WEB 浏览器脚本的方式查询基于P2P逻辑的客户端上载的信息源;B、 所述基于WEB浏览器的客户端查询并解析目标信息源后,根据解析出 的所述目标信息源中目标客户端的IP地址信息,连接到所述目标客户端,从目 标客户端获取P2P数据。
7、 根据权利要求6所述的方法,其特征在于,步骤B后还包括C、 所述基于WEB浏览器的客户端监听到P2P数据分享请求后,将基于 WEB浏览器的客户端自身的P2P数据分享给所述请求P2P数据分享的客户端。
8、 根据权利要求7所述的方法,其特征在于,步骤C中所述请求P2P数 据分享的客户端为所述基于P2P逻辑的客户端,步骤C后还包括D、 所述基于P2P逻辑的客户端将所述WEB浏览器的客户端自身P2P数 据的信息作为信息源间接上载。
9、 根据权利要求6至8中任一项所述的方法,其特征在于,所述WEB浏 览器脚本包括JS脚本、AJAX脚本或其他支持WEB浏览器的脚本。
10、 根据权利要求9所述的方法,其特征在于,所述WEB浏览器脚本具 体通过预先设置的定时器触发、自动触发以及通过用户的点击操作手动触发。
全文摘要
本发明公开了一种点对点数据获取系统,包括中心服务器、至少一个第一类客户端和至少一个第二类客户端;其中,第二类客户端为基于互联网(WEB)浏览器的客户端,用于以WEB浏览器脚本的方式从中心服务器查询到第一类客户端上载的目标信息源后,根据解析出的目标信息源中目标客户端的IP地址信息连接到目标客户端,获取点对点(P2P)数据。本发明还公开了一种点对点数据获取方法,基于WEB浏览器的客户端,以WEB浏览器脚本的方式查询到基于P2P逻辑的客户端上载的目标信息源后,获取P2P数据。采用本发明的系统及方法,在无需额外安装第三方插件的基础上,实现P2P数据的获取。
文档编号H04L29/08GK101282365SQ20081011059
公开日2008年10月8日 申请日期2008年6月4日 优先权日2008年6月4日
发明者华有为, 王欣磊 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1