[发明专利]开源软件获取与搜索系统的实现方法有效

专利信息
申请号: 201210097169.4 申请日: 2012-04-05
公开(公告)号: CN102760151A 公开(公告)日: 2012-10-31
发明(设计)人: 王怀民;李翔;尹刚;朱沿旭;史殿习;王涛;袁霖;滕猛;刘惠;余跃 申请(专利权)人: 中国人民解放军国防科学技术大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
地址: 410073 湖南*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 软件 获取 搜索 系统 实现 方法
【说明书】:

技术领域

发明涉及一种开源软件获取与搜索系统的实现方法,特别是在跨多个开源社区的环境下,一种基于定向网络爬虫、信息抽取的开源软件搜索系统的构造方法。

背景技术

近年来,国内外开源软件运动取得了蓬勃发展,已经形成众多拥有大量开发人员、开源项目和开源社区的软件开发和应用的开源软件生态系统。目前开源软件业界有如下发展趋势:

1.开源项目和开发人员数量庞大并逐年稳定增长;

2.少数优秀的开源项目发展迅速并且得到广泛应用;

3.多数开源项目处于较低的发展水平且处于缓慢发展状态;

这些特征使得从海量开源软件项目中发现和选择高质量且满足特定需求的开源软件成为急需解决问题。传统搜索引擎由于其缺乏针对性,搜索结果中有效信息含量不高,因此难以应对这样的需求。开源软件社区作为开源软件的托管平台,其页面有着丰富的开源项目描述信息,对于开源软件的共享、评价和选择具有重要价值。开源社区大多集成了针对社区内开源软件的搜索引擎和条件选择服务,然而要在全球范围内选择和查找开源软件,综合跨社区的软件信息,构建跨社区的开源软件搜索引擎势在必行。

近年来,国内外针对跨社区的开源软件页面数据收集开展了大量的研究和实践。美国Syracuse大学的FLOSSmole项目在该领域做出了突出成绩。通过使用275个网络爬虫,该项目从20多个社区中爬取了近500,000个开源项目的页面数据。但由于该工作只进行了数据的搜集,对外仅提供sq1查询接口和sq1数据包的下载,而并没有提供数据的综合、展现、搜索等功能,因此并不能帮助人们搜索与获取软件。

国内面向开源软件的搜索引擎研究还处于起步阶段,其中比较有影响力的包括开源中国社区、CSDN开源社区、中国Linux社区等。开源中国社区中的开源软件信息主要来自用户人工编辑,数目和质量上都有明显的局限性;CSDN社区中的开源资源主要是用户自行共享上传的工具包或代码库;来源混杂,格式不统一,描述不完备;而Linux社区的开源软件主要局限在Linux系统相关的包和工具。总的来说,当前这些社区缺乏一个涵盖面广,数据全面,格式统一的开源软件信息库,以及基于该信息库的一种为用户查询和选择开源软件提供推荐和帮助的搜索引擎技术。

发明内容

本发明要解决的问题是:针对现有技术在跨社区信息获取和信息综合展现方面的不足,提出一种开源软件搜索系统的实现方法,使得能够广泛搜集多个社区的开源软件信息,为预期用户提供软件查找和推荐服务。本发明的技术方案包括以下步骤:

步骤1、搭建数据服务。在企业级服务器上配置关系数据库管理软件,搭建关系与对象映射框架,使得上层应用程序对关系数据库进行调用时能使业务层代码能够以对象的方式访问和更新数据库里的信息。

步骤2、网页获取。接收用户的输入定义,确定一定数目的已知URL地址的开源社区集合,通过爬虫抓取开源社区中的开源软件主页,将开源项目的爬取分为开源项目列表页爬取和开源项目主页爬取两个阶段。

步骤3、开源属性抽取。从爬取到的页面中抽取开源软件领域的信息即开源属性,如项目编程语言、证书、运行环境、开发状态、注册时间、最新发布时间、下载次数、主页链接等。

步骤4、对跨社区项目信息进行整合,当来自不同社区的项目具有不同的属性时,取属性并集;同时保存不同项目之间的依赖关系;

步骤5、对获取的开源属性建立倒排索引,其中的每一项都包括一个属性值和具有该属性值的各记录的地址,由属性值来确定记录的位置,而非由记录来确定属性值。

步骤6、响应于用户搜索输入或预定义的排名机制,对需要展现的开源项目进行排序并显示。

进一步地,步骤2可以下列方式实现:

步骤21、根据社区的项目主页URL模板进行匹配,抽取出项目主页URL存放到数据库,对不断变化的社区开源项目主页构成情况进行快照。

步骤22、是爬取开源项目主页。网页爬虫不断从数据库中取出项目主页URL进行定向爬取,将爬取到的完整HTML页面文本保存到数据库。

更为具体地,步骤3通过下列步骤进行。

步骤31、模板探测。发现每个开源社区用于显示开源属性的网页模板,可以是HTML树中的标签路径,也可以是HTML文本中的正则表达式,作为抽取开源属性的规则。具体来说有两种获取方式。

步骤311、基于人工观察的方法。通过观察来自开源社区的少量网页样本,发现各个开源属性所在的页面位置或其出现的正则表达式模式。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210097169.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top