搜索引擎系统和方法
技术领域
本发明涉及搜索引擎技术,尤其涉及一种BT搜索引擎系统和方法。
背景技术
搜索引擎是万维网环境中的信息检索系统,通常为用户提供被搜索内容的下载统一资源描述符(URL,Uniform Resource Locator),帮助用户找到自己感兴趣的内容,比较核心的包括网页搜索、新闻搜索、音乐搜索和图片搜索等。对于要下载感兴趣的内容,例如电影、音乐等,目前网络上流行一种点对点(P2P)的下载软件,即BitTorrent(简称BT)。BT基于BT协议,采用P2P的多点下载模式,其基本思想是每个下载客户端同时又是文件提供者,通过下载客户端之间的相互协作充分利用网络资源。
基于BT下载的BT搜索引擎是以搜索引擎技术为基础,提供BT种子文件的下载URL,另外,由于BT文件的种子数和下载数决定了BT下载的质量和速度,其中,种子数是指下载完BT文件并能提供将所下载的BT文件上传的拥有完整BT文件的客户端数量,下载数是指只拥有部分BT文件、正在下载的客户端数量,所以对于BT下载来说,BT文件的种子数和下载数通常也是用户非常关心的关键信息,因此,BT搜索引擎除了提供BT种子文件的下载URL以外,还需要提供BT文件下载的种子数和下载数。
现有的BT搜索引擎系统一般由BT发布网站提供,其结构参见图1,主要包括辅助服务器(tracker)和索引器(index),tracker服务器用于维护节点信息,帮助节点彼此之间建立连接,对节点所提供的BT文件生成并发布BT种子文件,提供BT种子文件的下载URL;由于tracker服务器会记录每个登录BT站点的用户节点的信息,所以tracker服务器还可以统计到本身所维护的节点中BT文件下载的关键信息,即BT文件下载的种子数和下载数;索引器用于根据tracker服务器提供的BT种子文件的下载URL和BT文件下载的关键信息建立索引,提供BT搜索引擎所需要的BT种子文件的下载URL和BT文件下载的种子数和下载数。
当用户向索引器提交查询请求时,索引器根据所提交的查询请求,在tracker服务器中查询BT种子文件的下载URL以及BT文件下载的种子数和下载数,将所查询到的信息反馈给用户。
从以上现有的BT搜索引擎系统的结构和原理来看,为了提供BT种子文件的下载URL以及BT文件下载的种子数和下载数,需要构建和维护tracker服务器,当用户量增加,发布的BT文件越来越多时,就需要构建和维护多台tracker服务器来维护节点信息,生成BT种子文件,提供BT种子文件的下载URL,这无疑会增加成本;另外,一个BT站点利用自身的tracker服务器所维护的BT种子文件的信息毕竟有限,对于日益增大的互联网信息来说还是远远不够的。
发明内容
有鉴于此,本发明提供一种BT搜索引擎系统,能够低成本地提供多个BT发布站点的资源信息,该系统至少包括:用于根据BT文件的下载统一资源描述符URL以及BT文件下载的种子数和下载数建立索引、提供BT搜索服务的索引器;该系统还包括:
链接获取模块,用于获取互联网中的BT种子文件的下载URL,并将所获取的URL存入URL数据库;
URL数据库,与链接获取模块相连,用于保存BT种子文件的下载URL,并将BT种子文件的下载URL提供给BT文件关键信息获取模块;
BT文件关键信息获取模块,与URL数据库和索引器相连,用于根据URL数据库提供的URL获取BT文件下载的种子数和下载数,并将获得的BT文件下载的种子数和下载数连同URL一起发送给索引器。
所述BT文件关键信息获取模块为进一步具有检测URL数据库提供的URL链接的功能的模块。所述BT文件关键信息获取模块包括:
检测模块,与所述URL数据库相连,用于检测URL数据库中保存的BT种子文件的下载URL,删除重复的URL和死链接,并将经过检测的URL提供给BT客户端模拟模块,同时将BT客户端模拟模块所获取的BT文件下载的种子数和下载数连同URL一起发送给索引器;
BT客户端模拟模块,与检测模块相连,用于根据检测模块提供的BT种子文件的下载URL,下载并解析BT种子文件,利用辅助服务器tracker地址,与tracker服务器交互,获取BT文件下载的种子数和下载数,并将所获取的BT文件下载的种子数和下载数提供给检测模块。
本发明还提供一种BT搜索引擎方法,能够低成本地提供多个BT发布站点的资源信息,该方法包括:
A、获取并保存BT种子文件的下载URL;
B、根据所保存的URL,访问各个tracker服务器,获取BT文件下载的种子数和下载数;
C、对所获取的BT种子文件的下载URL以及所获取的BT文件下载的种子数和下载数建立索引,提供BT搜索服务。
在所述步骤A和步骤B之间,该方法进一步包括:检测所保存的BT种子文件的下载URL,删除重复的URL和死链接。
步骤B中的所述访问tracker服务器包括:根据BT种子文件的下载URL,下载并解析BT种子文件,获取BT种子文件中所含有的tracker服务器的地址,根据所获取的tracker服务器的地址与tracker服务器进行交互。
从以上技术方案可以看到,本发明所提供的BT搜索引擎系统和方法具有以下有益效果:
1、本发明不用自己构建和维护tracker服务器,可以降低构建和维护tracker服务器所需的成本;
2、本发明通过提供BT客户端模拟模块,从多个BT发布网站的tracker服务器中获取到BT文件下载的种子数和下载数,能够比自己构建和维护tracker服务器提供更多的信息;
3、本发明通过设置检测模块,可以检测URL链接,删除重复的URL和无法连通的死链接,提供可连通的URL供用户搜索。
附图说明
图1是现有的搜索引擎系统的结构示意图;
图2是根据本发明实施例的搜索引擎系统的结构示意图;
图3是图2所示的搜索引擎系统中的BT文件关键信息获取模块的结构示意图;
图4是根据本发明实施例的搜索引擎方法流程图。
具体实施方式
为了使本发明的特征和优点更加清楚明白,下面参照附图结合具体实施例对本发明作进一步的描述。
现有的BT搜索引擎系统利用自身BT发布网站的tracker服务器提供BT种子文件的下载URL和BT文件下载的种子数和下载数,因此,所能提供的信息非常有限并且成本较高,对此,本发明提出一种BT搜索引擎系统和方法,其主要思想是:不用自己构建和维护tracker服务器,利用链接获取模块获取BT种子文件的链接,通过模拟BT下载工具与各个BT发布站点的tracker服务器进行交互,获取BT文件下载的种子数和下载数,从而实现低成本地提供更多BT资源的下载信息。以下将BT文件下载的种子数和下载数称为BT文件下载的关键信息。
具体地,参见图2,描述本发明所提供的BT搜索引擎系统。图2是根据本发明实施例的搜索引擎系统的结构示意图。
图2所示的BT搜索引擎系统包括:链接获取模块、URL数据库、索引器和BT文件关键信息获取模块。
链接获取模块可以是搜索引擎中常用的用于获取互联网链接资源的模块,这里,链接获取模块用于获取BT种子文件的下载URL,并将所获取的URL存入URL数据库中。链接获取模块可以通过软件程序实现,例如比较常用的爬虫(Crawler)程序。
URL数据库用于保存链接获取模块所获取的BT种子文件的下载URL,并将URL提供给BT文件关键信息获取模块。
BT文件关键信息获取模块用于根据URL数据库提供的URL下载BT种子文件,利用BT种子文件中所包含的tracker服务器的地址,按照BitComit交互协议模拟BT下载工具,与tracker服务器进行交互,获取tracker服务器所统计到的BT文件下载的关键信息,并将获得的BT文件下载的关键信息连同URL一起发送给索引器。
BT文件关键信息获取模块还可以进一步用于检测URL数据库中提供的URL链接,删除重复的URL和无法连通的死链接,于是,参见图3,图3是图2所示的搜索引擎系统中的BT文件关键信息获取模块的结构示意图。BT文件关键信息获取模块可以包括检测模块(detector)和BT客户端模拟模块。
检测模块用于检测URL数据库中保存的BT种子文件的下载URL,删除重复的URL和死链接,并将经过检测的URL提供给BT客户端模拟模块,同时将BT客户端模拟模块所获取的BT文件下载的关键信息连同URL一起发送给索引器。检测模块可以通过软件程序实现。
BT客户端模拟模块可以模拟BT下载工具BitComit.exe的功能,用于根据BT种子文件的下载URL下载并解析BT种子文件,利用BT种子文件中包含的tracker服务器地址,与tracker服务器进行交互,获取BT文件下载的关键信息,并将所获得的信息发送给检测模块。BT客户端模拟模块也可以通过软件程序实现。根据背景技术的介绍可知,发布BT种子文件的网站都有tracker服务器维护节点信息,生成并发布BT种子文件,另外,根据BT协议的规定,在发布BT种子文件时,需要在BT种子文件中保存tracker服务器的地址,于是,按照BitComit交互协议,BT下载客户端利用下载工具BitComit.exe读取tracker服务器的地址,下载BT文件,这里,BT客户端模拟模块就是按照BitComit交互协议,模拟客户端的下载工具BitComit.exe,与tracker服务器进行交互,从tracker服务器中获取BT文件下载的关键信息。
于是,BT客户端模拟模块只要下载并解析了BT种子文件,找到tracker服务器的地址,就可以获取到BT文件下载的关键信息,而不管tracker服务器是来自哪个BT种子文件的发布网站,例如,图3所示的就是BT客户端模拟模块从tracker服务器m中获取BT文件下载的关键信息。也就是说,BT客户端模拟模块可以访问到各个BT种子文件发布网站的tracker服务器,从而获取各个tracker服务器所统计到的BT文件下载的关键信息。因此,不用系统本身构建和维护tracker服务器,节约成本的同时还能提供更多的资源信息。
索引器用于根据BT文件关键信息获取模块所发送的BT种子文件的下载URL和BT文件下载的关键信息建立索引,为发送查询请求的用户提供查询结果。
下面参见图4,详细描述基于图2所示的搜索引擎系统的搜索引擎方法,图4是根据本发明实施例的搜索引擎方法流程图。具体的操作流程和步骤如下:
步骤401、获取并保存BT种子文件的下载URL;
利用链接获取模块从互联网上获取BT种子文件的下载URL,并保存在URL数据库中。
步骤402、根据所获取的URL访问各个tracker服务器,获取BT文件下载的关键信息;
BT文件关键信息获取模块根据URL数据库中保存的URL,下载BT种子文件,利用BT种子文件中保存的tracker服务器地址,访问各个tracker服务器获取BT文件的种子数和下载数。
这里,在访问各个tracker服务器之前,还可以进一步包括检测URL,删除重复的URL和死链接。这时,利用检测模块检测URL数据库中的URL,将经过检测的URL发送给BT客户端模拟模块,BT客户端模拟模块根据URL下载并解析BT种子文件,获取各个tracker服务器的地址,与tracker服务器进行交互,获取BT文件下载的关键信息,并发送给检测模块,由检测模块对经过检测的URL和对应的关键信息进行汇总。
步骤403、对BT种子文件的下载URL和对应的关键信息建立索引,提供BT搜索服务。
获取到BT文件下载的关键信息后,检测模块对经过检测的URL和对应的关键信息进行汇总,然后将汇总的URL和对应的关键信息发送到索引器建立索引,提供BT搜索服务。
于是,当用户向索引器发起查询请求时,索引器根据所发起的查询请求查找BT种子文件的下载URL和关键信息,并反馈给用户。
从以上步骤的描述可以看到,本发明的实施例可以从各个tracker服务器获取到BT文件下载的关键信息,从而使得不用自己构建和维护tracker服务器就可以提供比单个BT种子文件发布网站更多的信息。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。