CN101042699A - 基于访问控制的安全搜索引擎系统 - Google Patents
基于访问控制的安全搜索引擎系统 Download PDFInfo
- Publication number
- CN101042699A CN101042699A CN 200710052025 CN200710052025A CN101042699A CN 101042699 A CN101042699 A CN 101042699A CN 200710052025 CN200710052025 CN 200710052025 CN 200710052025 A CN200710052025 A CN 200710052025A CN 101042699 A CN101042699 A CN 101042699A
- Authority
- CN
- China
- Prior art keywords
- module
- user
- sign
- information
- index
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于访问控制的安全搜索引擎系统,包括数据库服务器、单点登录模块、用户信息描述模块、爬行器模块、查询检索模块和索引库。系统根据资源安全级别对用户信息进行描述;爬行器获取爬行受控资源的权限并采集受安全控制的资源内容;按照用户的查询关键字以及用户的安全等级返回对应的可访问的资源列表;由于不同用户在不同网站上具有不同的权限,搜索引擎根据单点登录信息获取用户的身份信息,并使其能够在访问检索结果资源时不再需要登录操作。本发明通过用户信息描述建立受控资源内容索引,根据用户身份实现个性化的网络搜索引擎,并简化用户访问搜索结果的过程,使搜索引擎返回的结果不仅具有极强的针对性,而且安全控制严格,用户操作简便。
Description
技术领域
本发明属于计算机检索技术,具体涉及一种基于访问控制的安全搜索引擎系统,该系统是对互联网搜索引擎的改进,能够对实施了访问控制的网站资源进行爬行,根据各个网站对用户的授权,用户可检索出其权限许可范围内的所有资源。
背景技术
随着互联网技术的发展和B/S结构的广泛应用,越来越多的企业和组织用网站的形式发布消息和资源、实现业务流程,这种方式极大地方便了管理者对资源的管理和用户对资源的访问和使用。不同的企业或组织为了自身的利益或其他目的对其网站中的资源实施访问控制,将不同资源的访问权限授予不同的用户群体。访问控制技术在提高资源安全性的同时,也为搜索引擎对资源的爬行设置了障碍。原本可以很方便爬行到的资源,经过访问控制后成为不可爬行的资源。如果需要授权才能访问的资源数量非常庞大,而且有较大的用户群体在不同的网站经过授权,如果缺乏有效的搜索手段,将会严重影响这个用户群体对授权资源的利用。
传统搜索系统执行流程包含以下步骤:
(1)爬行器对所有的网站资源进行爬行,获取公共资源。
(2)对所获得的资源通过分词等技术建立全文索引文件,并将所建立的全文索引文件置于服务器端。
(3)当用户查询资源时,搜索程序通过分词技术将用户查询条件分解为索引项。
(4)在已建立的索引文件中进行搜索,并将搜索到的结果反馈给用户。
首先,传统搜索引擎系统无法采集到受控的资源,比如不同权限的用户可访问不同的资源。其次,传统搜索引擎系统注重通用性,不会获取用户身份,因此无法根据用户的不同而返回不同的搜索结果。而这两点在大多数网站例如企业或组织的网站中是非常重要的。
美国雅虎公司和IBM公司联合推出用于在计算机桌面和互联网上搜索信息的OmniFind搜索引擎,是专为满足企业信息搜索需求而提供的企业搜索引擎。OmniFind可以提供各类信息资源的搜索服务:包括文件服务器、内容管理系统、各类关系型数据库、Domino系统、网站等不同来源中的信息,自动完成数据获取、格式转换、自动分词及全文索引和信息分类。针对企业对信息安全的要求,OmniFind提供了全局信息访问控制能力,保障信息搜索的安全性。然而OmniFind是通过在文档中添加安全标记,标示安全级别来实现检索信息的访问控制功能,改动量非常大,且文档级别不容易确定,无法实现复杂访问控制环境下信息访问、检索的目的。
发明内容
本发明的目的在于提供一种基于访问控制的安全搜索引擎系统,该系统不仅能够对网络中受安全访问控制下的文件进行信息检索,还能够对安全访问控制下的资源进行分析,并通过用户信息建立索引,自动实现对复杂访问控制环境下受控资源的检索与访问。
本发明所述的一种基于访问控制的安全搜索引擎系统,其特征在于:该系统包括数据库服务器、单点登录模块、用户信息描述模块、爬行器模块、查询检索模块和索引库;
数据库服务器用于接受管理员通过用户信息描述模块提供的接口提交的资源站点信息、用户信息以及用户组信息并进行存储,数据库服务器为爬行器模块提供爬行器登录所需的用户组的代表用户名、密码以及用户组信息;数据库服务器将单点登录模块提供的用户名和密码信息与数据库中存放的用户名密码信息进行比对,并反馈信息;
单点登录模块用于接受用户或爬行器的输入信息并提交至数据库服务器,并接收其反馈的认证结果,如果认证通过,单点登录模块根据用户或爬行器请求的页面链接将该用户认证通过标识发送给查询检索模块、用户信息描述模块以及各个受控资源网站;
用户信息描述模块为管理员提供一个对用户信息进行描述的接口,将用户信息保存至数据库服务器,并接收单点登录模块发送的认证通过标识以及代表用户权限的用户组信息;
爬行器模块从数据库服务器获取不同用户组的代表用户信息,并提交给单点登录模块进行登录,如果登录成功,爬行器模块根据其权限在单点登录模块控制下的资源网站进行爬行和解析,获取各网站拥有的网络资源,建立索引,存放在索引库;
查询检索模块为用户提供搜索引擎的使用界面,并提供搜索服务,查询检索模块在单点登录模块的控制之下,在认证通过时,接收单点登录模块发送的认证通过标识以及用户组信息,获取用户的访问权限,查询检索模块接受来自用户的查询关键字,对其进行分词并根据获取的用户权限对索引库进行检索并接收返回结果;
索引库根据爬行器模块获取的各种网页资源及用户组信息建立索引,并进行合并存储,根据查询检索模块提交的查询请求在索引中进行快速检索排序,反馈相应的检索结果。
本发明提出的基于访问控制的安全搜索引擎系统部署后除了能够完成基本的信息搜索功能,而且还可以对实施了安全访问控制的资源进行搜索,且不需要对信息源文档进行修改。该系统能够对网络中受安全访问控制的各种文件(包括HTML、XML、DOC、PDF、TXT等)进行信息检索,为用户提供安全、高效、完整的信息服务。本发明系统在用户信息描述模块和单点登录模块的支持下,通过爬行器自动完成资源权限的确定。从而屏蔽具体应用环境中复杂访问控制策略的具体实现方式。由于对受控资源的安全控制严格,普通的搜索引擎系统无法获取受控资源内容,基于访问控制的安全搜索引擎系统不仅能够根据资源描述获取受控资源,还能够根据用户角色返回与其对应权限相应的查询结果,能够满足大多数企业级安全搜索引擎的设计与实现要求。具体而言,本发明具有如下优点:
查全率高:本系统针对不同的文档进行不同方式的解析,从而获取各种文档的文本内容。因此本系统能够对网络中的绝大部分文档进行分析并建立索引,可以为用户提供信息量丰富、完整的搜索服务。
安全性强:本系统通过对用户信息的简单描述,将用户分成权限相同的用户组,使爬行器在爬行过程中获取不同用户组的权限。因此,爬行器在对资源进行分析的时候能够通过资源是否可访问来自动判断该资源的权限(能够被访问则具有该用户组的权限,否则不具有)。然后爬行器根据用户组建立不同的索引,用来区分不同权限的索引文件。在爬行器建立的分组索引的基础上,基于访问控制的搜索引擎系统能够通过分析登录用户的权限,即判断该用户所属用户组,为用户提供相应权限的检索服务,从而实现安全的信息搜索。
部署比较简便:本系统要求应用环境基于单点登录系统构造,如果资源网站应用环境本身具备了单点登录模块,则本系统不需要再进行单点登录模块的部署,否则,只需要在资源网站的服务器安装单点登录客户端即可;对于用户信息模块的部署,需要向各网站管理员提供描述本网站用户信息的接口,各网站管理员可以通过该接口对本网站用户作简单的分组;其他模块不需要对资源网站进行任何改造。
附图说明
图1是本发明系统的结构示意图。
图2是本发明系统中用户信息模块结构示意图。
图3是本发明系统中数据库服务器中用户信息表结构。
图4是本发明系统中数据库服务器中用户组信息表结构。
图5是本发明系统中数据库服务器中站点信息表结构。
图6是本发明系统中爬行器模块结构示意图。
图7是本发明系统中爬行器工作流程图。
图8是本发明系统中查询检索模块结构示意图。
图9是本发明系统的查询检索工作流程图。
具体实施方式
如图1所示,本发明系统包括数据库服务器100、单点登录模块200、用户信息描述模块300、爬行器模块400、查询检索模块500和索引库600。
数据库服务器100接受管理员通过用户信息描述模块300提供的接口提交的资源站点信息、用户信息以及用户组信息并进行存储。数据库服务器100为爬行器模块400提供爬行器登录所需的用户组的代表用户名、密码以及用户组信息。单点登录模块200将用户使用单点登录时输入的用户名和密码提交至数据库服务器100,数据库服务器100将用户名和密码信息与数据库中存放的用户名密码信息进行比对,如果用户名和密码匹配则向单点登录模块200返回权限认证通过信息,否则返回登录失败信息。本发明可以采用任何商用数据库实现资源描述信息的保存。
在数据库服务器100的支持下,单点登录模块200能够根据数据库中存放的用户信息,为系统中其他应用模块如爬行器模块400、查询检索模块500、用户信息描述模块300以及部署的资源网站提供用户认证服务。单点登录模块200通过登录界面获取用户输入的用户名和密码。同样,爬行器模块400通过程序将从数据库获取的用户名密码信息递交给单点登录模块200。然后单点登录模块200将从用户或爬行器接收到的用户名密码信息交给数据库服务器100进行认证,并从数据库服务器100返回认证结果(认证通过或认证失败)。一旦认证通过,单点登录模块200就要根据用户或爬行器请求的页面链接将该用户认证通过标识发送给查询检索模块500、用户信息描述模块300以及受控的各个资源网站。例如:如果用户登录时是在请求通过查询检索模块500提供搜索引擎服务,则单点登录模块200向查询检索模块500发送用户认证通过标识,同样,如果用户是一个管理员用户,并希望对用户信息进行描述,则单点登录模块200向用户信息描述模块发送用户认证通过标识。这里值得一提的是,单点登录只需要用户登录一次,因此一旦认证通过,用户再向不同模块发送请求时,单点登录模块200都不会再次向用户询问用户名密码,而是在后台直接发送认证通过标识。
单点登录模块200负责用户身份认证,通过认证的用户为合法用户;单点登录模块200所控制的单点登录客户端部署在受控资源的用户信息描述模块300、查询检索模块500和各个资源网站;访问受单点登录模块200控制的节点受控资源的用户必须经过单点登录服务器端的安全认证。本发明可以采用不同的架构实现单点登录:(1)集中式认证服务器的方式:建立集中式认证服务器并将单点登录客户端部署在各个资源网站中即可实现单点登录。服务器端维护全局用户名密码表以实现统一认证。(2)用户密码映射方式:在单点登录服务器维护一张用户映射表,将同一用户在不同资源网站的不同用户名进行映射,即可实现单点登录功能。
用户信息描述模块300为管理员提供一个对用户信息进行描述的接口。管理员通过用户信息描述模块300除了能够对网站信息进行注册,以及对用户详细信息进行录入,还能够对用户与管理员管理范围内的用户组进行匹配,并将这些信息保存至数据库服务器100。同时,用户信息描述模块300在单点登录模块200的控制之下,一旦用户或爬行器认证通过,单点登录模块200将向用户信息描述模块300发送认证通过标识以及代表用户权限的用户组信息,以保证用户或爬行器能够拥有访问用户信息描述模块300的权限。
爬行器模块400用于建立索引库600。爬行器模块从数据库服务器100获取不同用户组的代表用户信息(由于同一用户组中的用户在同一网站具有相同的权限,即可以使用代表用户来表示该用户组的用户),其中包括站点ID、用户组ID,用户名、密码等信息。爬行器模块400从数据库服务器100获取用户登录所需信息后将用户名密码信息交给单点登录模块200进行认证。如果认证成功,单点登录根据用户权限向爬行器开放在单点登录模块200控制下的资源网站,使其能够爬行、解析从而获取各网站拥有的网络资源。对各种格式的网页(如HTML、ASP、JSP等)进行读取、分析并将分析结果建立索引存放至索引库600。对于无法直接通过网页分析读取的文件(如PDF、DOC等),爬行器首先将其下载至本地,然后使用特定的索引器进行解析并建立索引,最后对来自不同用户组的索引进行合并并存放至索引库600。
查询检索模块500为用户提供搜索引擎的使用界面并提供完备的搜索服务。查询检索模块500负责从用户获取终端用户的查询关键字,并对关键字进行分词等处理,然后将分词后的关键字在索引库600中进行检索并获取返回的查询结果,最后将查询结果返回给终端用户,完成搜索服务。同时,查询检索模块500在单点登录模块200的控制之下,一旦用户或爬行器认证通过,单点登录模块200将向查询检索模块500发送认证通过标识以及用户组信息,以确定用户或爬行器对查询检索模块500的访问权限。
索引库600用于存储由爬行器模块400获取的各种网页资源及用户组信息所建立的索引,索引库所存储的是各用户组索引的合并结果。此外,索引库600还根据查询检索模块500提交的查询请求在索引中进行快速检索和排序,并返回查询检索模块500对应的结果。
整个基于访问控制的搜索引擎系统模块功能描述以及模块间的数据流传递细节如下:
整个系统流程包括:
(1)对用户信息进行描述,其过程包括:
用户描述流程针对的对象是管理员用户,管理员用户通过系统提供的接口对具有权限的用户进行描述,具体流程如下:
(1.1)管理员使用单点登录模块200输入用户名密码。
(1.2)单点登录模块200通过数据库服务器100提供的用户名和密码进行比对,如果认证通过,则用单点登录模块200从数据库服务器100获取该管理员用户的详细信息(包括用户组ID等),并对其开放管理员权限(即可对该管理员所属网站内的用户权限进行描述与修改),进入步骤(1.3),否则返回登录失败信息,退出流程。
(1.3)管理员通过用户信息描述模块300向数据库服务器100递交用户信息(包括用户名、密码、用户所在网站、用户组等),并在数据库中进行保存。基于数据库服务器100,管理员通过用户信息描述模块300对用户信息进行描述。然后将所描述的用户信息、用户组信息以及站点信息存放至数据库服务器100。
(2)在资源网站进行爬行分析,获取资源内容,并建立总索引,其过程包括:
爬行流程中主体是爬行器。爬行器按照管理员描述的用户信息,从每个用户组中取出一个能够代表该组权限的代表用户信息进行单点登录,获得认证通过后对网站内其有权访问的资源进行爬行,具体流程如下:
(2.1)爬行器模块400直接通过数据库服务器100获取某用户组信息,并通过数据库服务器100找出能够代表该用户组权限的代表用户信息(其中包括用户名、用户密码、用户组ID等)。
(2.2)携带用户信息的爬行器向单点登录模块200输入用户名以及密码进行登录,从而可以从单点登录模块200获取该用户组在各网站中的访问权限。由于同一个用户组内用户权限相同,因此爬行器获得的权限可以代表整个用户组用户的权限。
(2.3)获得访问权限的爬行器对资源网站进行爬行,获取该用户组权限内的所有网页与文档,并使用不同的索引器结合该用户组的用户组ID建立索引。索引建立时爬行器模块400将网页资源的内容(包括网页的文本内容、标题、URL等)及爬行器所代表的用户组信息写入索引库600。除此之外,爬行器还必须将爬行获得的资源信息与该爬行器代表的用户组ID一同写入索引库600,使得具有特定权限的爬行器所建立的索引中所有条目的组ID字段都为统一的特定值,即为爬行器所代表的用户组的组ID。
(2.4)索引建立完毕后将所有分组索引合并成总索引,查询检索模块500就能够通过检索索引库600中的总索引向用户提供查询检索服务。
(3)向用户提供搜索服务,其过程包括:
搜索流程针对的对象是所有使用该系统的用户,用户通过单点登录模块200进行身份认证并获得自己的访问权限,然后通过查询检索模块500提交查询关键字,即能够得到该用户访问权限内的查询结果。
(3.1)查询检索模块500也在单点登录模块200的控制之下,因此用户在向查询检索模块500提交查询请求时,查询检索模块500除了获得用户的查询关键字,还能够从单点登录模块200获得用户的权限认证信息,包括用户名、用户密码等,并可以通过这些信息获得用户所属用户组的用户组ID。
(3.2)然后查询检索模块500向索引库600提交用户提供的关键字和用户组ID,并在索引库中找到同时匹配关键字和用户组ID的条目,并将这些命中的条目排序后返回给用户。
用户信息描述模块300可以采用如图2所示的功能模块予以具体实现,它包括站点信息描述模块310、用户登录信息描述模块320和用户组信息描述模块330。
站点信息描述模块310为管理员提供描述站点信息的接口。管理员在受控的站点信息描述模块310上通过对数据库服务器100上的网站信息表的操作实现对资源网站的注册,注册信息包括:网站名称、网站首页URL、网站的登录URL、网站的访问控制策略及每个连接器的缺省用户登录参数,如图3所示。管理员描述完毕后向数据库服务器100提交对网站信息表的修改信息,数据库服务器100对管理员提交的描述和修改信息进行保存。
用户登录信息描述模块320为管理员提供描述用户登录信息的接口,使管理员能够访问并修改数据库服务器100中的用户信息表。各网站管理员根据站点信息描述模块310中的站点名获得自己网站的站点ID,并根据该站点ID通过用户登录信息描述模块320进行该网站用户信息的描述(即描述所有与管理员具有相同站点ID的用户),并写入数据库服务器100。用户登录信息具体描述方法如下:用户信息表中每个用户拥有用户ID、密码、级别(若为分级访问控制)、用户网站ID等属性,其中用户网站ID为该用户的创建者所属网站ID,如图4所示。管理员描述完毕后通过用户登录信息描述模块320向数据库服务器100提交对用户信息表的修改信息,其中主要包括用户名、用户登录密码等,数据库服务器100对管理员提交的描述和修改信息进行保存。
用户组描述模块330为管理员提供描述用户组与用户对应信息的接口。对于某一网站,其用户数量可能很多,访问控制策略也可能不同,但是总会有许多用户具有相同的权限。本系统将同一网站上具有相同权限的用户归为同一个用户组。由于各网站管理员不一定能够清楚了解各个网站复杂的访问控制策略,但是根据用户权限对用户进行分组却相对容易。通过用户组描述用户权限的优点除了描述者不需要了解网站具体访问控制策略,还可以使爬行器方便地根据用户名获得登录参数。一个网站虽然拥有大量可达的URL和用户,但可以将用户归属为数量较少的用户组,这就使资源描述成为可能。组织良好的网站中由于大部分用户具有相同的访问权限,这些用户信息会定位于同一个用户组内,即使网站没有将具有相同访问权限的用户归为同一个用户组,甚至访问控制粒度细到每个用户的权限皆不相同,本系统也可以对每个用户进行描述,这样虽然增加了工作量,但是提高了系统的灵活度。
用户组描述模块330根据管理员提供的访问控制权限设置、归纳用户组信息,并将用户组信息写入数据库服务器100。
管理员根据站点信息描述模块310和用户登录信息描述模块320中的信息以及各自网站的访问控制权限设置用户组信息表。用户组信息表中的属性有:用户ID,用户组ID,网站ID等,如图5所示。用户和用户组满足多对多的关系,即一个用户可以属于多个用户组,一个用户组可以拥有多个不同的用户。管理员描述完毕后向数据库服务器100提交对用户组信息表的修改信息,数据库服务器100对管理员提交的用户组描述和修改信息进行保存。
爬行器模块400可以采用如图6所示的功能模块予以具体实现,它包括网页爬行模块410、网页分析模块420、索引构建模块430以及文件库440。
网页爬行模块410首先从数据库服务器100获取每个不同用户组的代表用户信息,然后根据该用户信息通过单点登录模块200进行模拟登录,以获得该爬行器的访问权限,登录成功后网页爬行模块410对资源网站上的公共资源及受控资源内容进行爬行,获取网页的源文件,并传送给网页分析模块420,接受网页分析模块420反馈的HTML链接。
网页爬行模块410将获取的网页内容交给网页分析模块420,网页分析模块420负责对这些网页进行分析,将分析得到的各种文本内容(TXT、XML等格式)直接解析,并传递给索引构建模块430,而将HTML链接提交给网页爬行模块410继续进行爬行,对于其他格式(如DOC、PDF等)的文件,爬行器首先将其保存至文件库440,然后在爬行结束后再由文件库440将存放的文件传递给索引构建模块430以建立索引。
索引构建模块430对从网页分析模块420接收的文本直接建立索引。索引构建模块430对文件库440提交的DOC、PDF等内容进行分析,读取其内容并生成文本,然后对生成文本内容建立索引,生成该爬行器的分组索引,最后将各分组索引合并为总索引存放在索引库600中。
本系统设计的爬行器对资源网站进行爬行的流程如下:爬行器从数据库服务器100获得每个资源节点的注册信息。以资源网站节点的首页URL资源网站的首页)为起始链接,对资源节点进行爬行,所获得的资源全部为公开资源(即该爬行器为public组爬行器),将所获得的公开资源添加到索引文件中,存放为公共索引文件,并将public组爬行器爬行过的URL写入哈希表,为以后受控资源的分组爬行器提供页面分析参考,即保证公用资源在受控资源分组爬行器中不再被解析。针对受控资源,爬行器首先从数据库服务器100中找到该资源网站(图5)以及该网站中被描述的用户组信息(图3,4),然后根据不同的用户组ID获取该组的代表用户,从用户信息和资源描述数据库中取得该代表用户对于该站点的登录信息(包括登录页面、退出页面、登录参数等),由爬行器通过浏览器模拟器模拟该代表用户,将其对应的用户登录参数交给单点登录模块200进行登录操作。登录成功后该爬行器即为当前代表用户所属的用户组工作(称之为分组爬行器),然后分组爬行器对该网站进行重新爬行(不再对公用资源进行爬行),以获得对应分组用户能够访问的受控资源内容。在建立该分组的索引时,分组爬行器将组ID作为一个域(Field)写入索引(公用资源该域的值为public),为查询检索提供过滤功能。分组爬行器模块的爬行工作流程如图7所示。
单点登录控制下的查询检索模块500以爬行器模块400构建的索引库600为基础,为用户提供基于访问控制的搜索服务。查询检索模块500包括关键字提交模块510、后台检索模块520和快照生成模块530。
关键字提交模块510向用户提供搜索引擎关键字提交页面,为搜索引擎系统获取用户提交查询请求提供接口,并按照一定的分词策略对接收到的关键字进行分词处理。关键字提交模块510首先接受单点登录模块200对申请搜索服务的用户的认证信息,如果认证标识表明该用户认证通过,则从单点登录模块200获取该用户的用户组信息。关键字提交模块510获得用户输入的关键字后,将关键字分割成若干个具有词义的单词,并将分词后的关键字以及用户组信息传递给后台检索模块520;后台检索模块520负责将接收到的关键字及用户组信息提交给索引库600进行检索,然后从索引库600获取对应用户组访问权限内的检索结果并排序;快照生成模块530能够根据返回结果集生成结果快照,使检索结果易于阅读,并负责生成结果页面将结果显示给用户。
查询检索模块500内各模块间的数据流传递细节如下:关键字提交模块510在收到单点登录模块200传递来的认证通过信息以及用户所属组ID后,对从用户接受的检索关键字进行适当策略的分词,使检索结果更加精准,然后将分词后的检索词以及用户组信息交给后台检索模块520;后台检索模块520接收分词后的检索词以及用户组ID信息,然后分别将关键词、用户组ID递交给索引库600与索引中对应域进行匹配,并从索引库600返回命中的记录并对返回结果集进行排序,然后将结果集与关键词交给快照生成模块530,其中结果集中的每条结果记录包括网页URL、用户组ID、标题和内容四个域;快照生成模块530将索引标题和内容字段中与关键词相关内容高亮显示,并在内容字段中取出最相关的段落显示在结果返回页面,使用户更加直观地阅读结果集。如图8。
搜索引擎用户界面被单点登录模块200控制,即如果需要对受控资源进行检索,必须要通过单点登录模块200的认证。如果用户通过了认证,搜索页面将用户提交的关键字和用户组ID一同提交给后台检索模块520。后台检索模块520在索引库600中检索与关键字相符合并且组ID相符合的记录。后台检索模块520与用户信息描述模块的数据库服务器100进行通信,判断结果集中哪些记录具有该用户的访问权限,过滤得到的结果为该用户被授权访问的、满足查询条件的所有链接。后台检索模块520根据排序策略对返回的所有链接进行排序(将对用户来说更重要的链接排在列表前面),并将排序后的链接及快照结果返回给用户,即完成搜索服务。搜索流程如图9所示。
Claims (5)
1、一种基于访问控制的安全搜索引擎系统,其特征在于:该系统包括数据库服务器(100)、单点登录模块(200)、用户信息描述模块(300)、爬行器模块(400)、查询检索模块(500)和索引库(600);
数据库服务器(100)用于接受管理员通过用户信息描述模块(300)提供的接口提交的资源站点信息、用户信息以及用户组信息并进行存储,数据库服务器(100)为爬行器模块(400)提供爬行器登录所需的用户组的代表用户名、密码以及用户组信息;数据库服务器(100)将单点登录模块(200)提供的用户名和密码信息与数据库中存放的用户名密码信息进行比对,并反馈信息;
单点登录模块(200)用于接受用户或爬行器的输入信息并提交至数据库服务器(100),并接收其反馈的认证结果,如果认证通过,单点登录模块(200)根据用户或爬行器请求的页面链接将该用户认证通过标识发送给查询检索模块(500)、用户信息描述模块(300)以及受控的各个资源网站;
用户信息描述模块(300)为管理员提供一个对用户信息进行描述的接口,并将用户信息保存至数据库服务器(100),并接收单点登录模块(200)发送的认证通过标识以及代表用户权限的用户组信息;
爬行器模块(400)从数据库服务器(100)获取不同用户组的代表用户信息,并提交给单点登录模块(200)进行登录,如果登录成功,爬行器模块(400)根据其权限在单点登录模块(200)控制下的资源网站进行爬行和解析,获取各网站拥有的网络资源,建立索引,存放在索引库(600);
查询检索模块(500)为用户提供搜索引擎的使用界面,并提供搜索服务,查询检索模块(500)在单点登录模块(200)的控制之下,在认证通过时,接收单点登录模块(200)发送的认证通过标识以及用户组信息,获取用户的访问权限,查询检索模块(500)接受来自用户的查询关键字,对其进行分词并根据获取的用户权限对索引库(600)进行检索并接收返回结果;
索引库(600)根据爬行器模块(400)获取的各种网页资源及用户组信息建立索引,并进行合并存储,根据查询检索模块(500)提交的查询请求在索引中进行快速检索排序,反馈相应的检索结果。
2、根据权利要求1所述的系统,其特征在于:用户信息描述模块(300)包括站点信息描述模块310、用户登录信息描述模块320和用户组信息描述模块330;
站点信息描述模块310为管理员提供描述站点信息的接口,并将站点信息提交至数据库服务器(100)保存;
用户登录信息描述模块(320)为管理员提供描述用户登录信息的接口,并将用户登录信息提交至数据库服务器(100)保存;
用户组描述模块330为管理员提供描述用户组与用户对应信息的接口,并将用户组与用户对应信息提交至数据库服务器(100)保存。
3、根据权利要求1或2所述的系统,其特征在于:爬行器模块(400)包括网页爬行模块(410)、网页分析模块(420)、索引构建模块(430)以及文件库(440);
网页爬行模块(410)用于从数据库服务器(100)获取每个不同用户组的代表用户信息,根据该用户信息通过单点登录模块(200)进行模拟登录以获得该爬行器的分组权限,登录成功后网页爬行模块(410)对资源网站上公共资源及受控资源进行内容爬行,获取网页的源文件,并传送给网页分析模块(420),并接受网页分析模块(420)反馈的HTML链接;
网页分析模块(420)负责对网页爬行模块(410)发送的网页进行分析,将分析得到的文本格式链接内容直接解析并传递给索引构建模块(430),其中HTML链接则提交给网页爬行模块(410)继续进行爬行,其他格式内容保存至文件库(440);
索引构建模块(430)对从网页分析模块(420)以及文件库(440)接收的内容分别进行索引的建立,生成该爬行器的分组索引,最后将各分组索引合并为总索引存放在索引库(600)中。
4、根据权利要求1或2所述的系统,其特征在于:查询检索模块(500)包括关键字提交模块(510)、后台检索模块(520)和快照生成模块(530);
关键字提交模块(510)接受单点登录模块(200)对申请搜索服务的用户的认证信息,如果认证标识表明该用户认证通过,则从单点登录模块(200)获取该用户的用户组信息,向用户提供搜索引擎关键字提交页面,为搜索引擎系统获取用户提交查询请求提供接口,并对接受到的关键字进行分词操作,并提交给后台检索模块(520);
后台检索模块(520)负责按照接收到的关键字及用户组信息提交给索引库(600)进行检索,从索引库(600)获取对应用户组访问权限内检索返回结果并排序,并发送给快照生成模块(530);
快照生成模块(530)根据返回结果集生成快照,并负责生成结果页面将结果显示给用户。
5、根据权利要求3所述的系统,其特征在于:查询检索模块(500)包括关键字提交模块(510)、后台检索模块(520)和快照生成模块(530);
关键字提交模块(510)接受单点登录模块(200)对申请搜索服务的用户的认证信息,如果认证标识表明该用户认证通过,则从单点登录模块(200)获取该用户的用户组信息,向用户提供搜索引擎关键字提交页面,为搜索引擎系统获取用户提交查询请求提供接口,并对接受到的关键字进行分词操作,并提交给后台检索模块(520);
后台检索模块(520)负责按照接收到的关键字及用户组信息提交给索引库(600)进行检索,从索引库(600)获取对应用户组访问权限内检索返回结果并排序,并发送给快照生成模块(530);
快照生成模块(530)根据返回结果集生成快照,并负责生成结果页面将结果显示给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100520256A CN100476828C (zh) | 2007-04-28 | 2007-04-28 | 基于访问控制的安全搜索引擎系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007100520256A CN100476828C (zh) | 2007-04-28 | 2007-04-28 | 基于访问控制的安全搜索引擎系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101042699A true CN101042699A (zh) | 2007-09-26 |
CN100476828C CN100476828C (zh) | 2009-04-08 |
Family
ID=38808210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007100520256A Expired - Fee Related CN100476828C (zh) | 2007-04-28 | 2007-04-28 | 基于访问控制的安全搜索引擎系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100476828C (zh) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271563A (zh) * | 2008-05-13 | 2008-09-24 | 腾讯科技(深圳)有限公司 | 一种用户信息获取方法及电子商务系统以及相关设备 |
WO2010081356A1 (zh) * | 2009-01-14 | 2010-07-22 | 华为技术有限公司 | 一种搜索的方法和服务器 |
CN102045166A (zh) * | 2009-10-13 | 2011-05-04 | 中国移动通信集团福建有限公司 | 单点登录的方法及系统 |
CN102156833A (zh) * | 2011-04-12 | 2011-08-17 | 华中科技大学 | 基于角色的访问控制模型构建系统 |
CN102265579A (zh) * | 2009-01-05 | 2011-11-30 | 国际商业机器公司 | 不进行密码共享情况下的安全系统访问 |
CN102364475A (zh) * | 2011-11-24 | 2012-02-29 | 迈普通信技术股份有限公司 | 基于身份识别对检索结果排序的系统及方法 |
CN102413125A (zh) * | 2011-11-02 | 2012-04-11 | 深圳中兴力维技术有限公司 | 一种单点登录方法及系统 |
CN101561814B (zh) * | 2009-05-08 | 2012-05-09 | 华中科技大学 | 基于社会标注的主题爬虫系统 |
CN102761563A (zh) * | 2011-04-25 | 2012-10-31 | 中国移动通信集团山东有限公司 | 一种传输数据方法、装置及系统 |
CN102906757A (zh) * | 2010-05-26 | 2013-01-30 | 惠普发展公司,有限责任合伙企业 | 图授权 |
CN102968501A (zh) * | 2012-12-07 | 2013-03-13 | 福建亿榕信息技术有限公司 | 一种通用的全文搜索方法 |
CN103281173A (zh) * | 2013-04-27 | 2013-09-04 | 网银国际股份有限公司 | 复数网络平台的密钥管理方法 |
CN101527655B (zh) * | 2008-02-29 | 2014-04-23 | 埃森哲环球服务有限公司 | 用于资源访问控制的动态简档系统 |
CN104137098A (zh) * | 2011-12-01 | 2014-11-05 | 摩托罗拉移动有限责任公司 | 由电子设备执行的促进导航web页面的方法 |
CN104317962A (zh) * | 2014-11-14 | 2015-01-28 | 云南电网公司普洱供电局 | 一种基于热度推荐的企业文档库展现方法 |
CN104636409A (zh) * | 2013-11-12 | 2015-05-20 | 国际商业机器公司 | 对受保护上下文数据的用户特定搜索 |
CN105991613A (zh) * | 2015-03-03 | 2016-10-05 | 北京神州泰岳信息安全技术有限公司 | 一种资源远程登录方法及系统 |
CN106445946A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 数据库连接建立方法及装置 |
CN106611118A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 申请登录凭证的方法和装置 |
CN107077647A (zh) * | 2014-06-30 | 2017-08-18 | A·F·沙班 | 用于给计时员工作分配价值的改进的系统和方法 |
CN107273392A (zh) * | 2016-04-06 | 2017-10-20 | 百度(美国)有限责任公司 | 用于搜索图像的计算机实现方法、装置及数据处理系统 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN108647284A (zh) * | 2018-05-03 | 2018-10-12 | 网易宝有限公司 | 记录用户行为的方法及装置、介质和计算设备 |
CN108959503A (zh) * | 2018-06-26 | 2018-12-07 | 北京阿尔山金融科技有限公司 | 信息存储方法及装置 |
CN109299376A (zh) * | 2018-10-26 | 2019-02-01 | 深圳点猫科技有限公司 | 一种基于教育云操作系统的模糊搜索方法及装置 |
CN110659418A (zh) * | 2019-09-12 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 内容搜索方法、装置、存储介质及计算设备 |
CN110807141A (zh) * | 2019-11-04 | 2020-02-18 | 北京联想协同科技有限公司 | 一种数据搜索方法、设备以及可读存储介质 |
CN110968760A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 网页数据的爬取方法、装置、网页登录方法及装置 |
CN110971570A (zh) * | 2018-09-29 | 2020-04-07 | 北京奇虎科技有限公司 | 网络访问权限控制方法、装置及计算设备 |
CN111125176A (zh) * | 2019-12-20 | 2020-05-08 | 北京百度网讯科技有限公司 | 一种业务数据搜索方法、装置、电子设备和存储介质 |
CN111309997A (zh) * | 2020-02-11 | 2020-06-19 | 江苏开放大学(江苏城市职业学院) | 一种面向远程教育的数字资源整合和推送系统及其架构 |
CN111563240A (zh) * | 2020-05-08 | 2020-08-21 | 安徽龙讯信息科技有限公司 | 一种基于信息资源库的智能机器人管理系统 |
CN111966979A (zh) * | 2020-08-26 | 2020-11-20 | 西安石油大学 | 一种基于http协议的井下数据搜索引擎及交互系统 |
CN112163207A (zh) * | 2020-10-30 | 2021-01-01 | 平安数字信息科技(深圳)有限公司 | 基于动态权限的业务数据查询方法及相关设备 |
CN112580006A (zh) * | 2020-12-24 | 2021-03-30 | 中国建设银行股份有限公司 | 一种多云系统的访问权限控制方法、装置及认证服务器 |
CN114281849A (zh) * | 2022-03-02 | 2022-04-05 | 北京新唐思创教育科技有限公司 | 数据查询方法和装置 |
CN114785720A (zh) * | 2022-04-08 | 2022-07-22 | 北京国信网联科技有限公司 | 一种用于企业局域网络的上网行为监管平台 |
-
2007
- 2007-04-28 CN CNB2007100520256A patent/CN100476828C/zh not_active Expired - Fee Related
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101527655B (zh) * | 2008-02-29 | 2014-04-23 | 埃森哲环球服务有限公司 | 用于资源访问控制的动态简档系统 |
CN101271563A (zh) * | 2008-05-13 | 2008-09-24 | 腾讯科技(深圳)有限公司 | 一种用户信息获取方法及电子商务系统以及相关设备 |
CN102265579A (zh) * | 2009-01-05 | 2011-11-30 | 国际商业机器公司 | 不进行密码共享情况下的安全系统访问 |
WO2010081356A1 (zh) * | 2009-01-14 | 2010-07-22 | 华为技术有限公司 | 一种搜索的方法和服务器 |
CN101561814B (zh) * | 2009-05-08 | 2012-05-09 | 华中科技大学 | 基于社会标注的主题爬虫系统 |
CN102045166A (zh) * | 2009-10-13 | 2011-05-04 | 中国移动通信集团福建有限公司 | 单点登录的方法及系统 |
CN102045166B (zh) * | 2009-10-13 | 2014-07-02 | 中国移动通信集团福建有限公司 | 单点登录的方法及系统 |
CN102906757A (zh) * | 2010-05-26 | 2013-01-30 | 惠普发展公司,有限责任合伙企业 | 图授权 |
CN102156833A (zh) * | 2011-04-12 | 2011-08-17 | 华中科技大学 | 基于角色的访问控制模型构建系统 |
CN102761563A (zh) * | 2011-04-25 | 2012-10-31 | 中国移动通信集团山东有限公司 | 一种传输数据方法、装置及系统 |
CN102413125A (zh) * | 2011-11-02 | 2012-04-11 | 深圳中兴力维技术有限公司 | 一种单点登录方法及系统 |
CN102413125B (zh) * | 2011-11-02 | 2014-09-03 | 深圳中兴力维技术有限公司 | 一种单点登录方法及系统 |
CN102364475A (zh) * | 2011-11-24 | 2012-02-29 | 迈普通信技术股份有限公司 | 基于身份识别对检索结果排序的系统及方法 |
CN104137098A (zh) * | 2011-12-01 | 2014-11-05 | 摩托罗拉移动有限责任公司 | 由电子设备执行的促进导航web页面的方法 |
US10007736B2 (en) | 2011-12-01 | 2018-06-26 | Google Technology Holdings LLC | Methods performed by electronic devices that facilitate navigating a webpage |
CN104137098B (zh) * | 2011-12-01 | 2018-03-16 | 谷歌技术控股有限责任公司 | 由电子设备执行的促进导航web页面的方法 |
CN102968501A (zh) * | 2012-12-07 | 2013-03-13 | 福建亿榕信息技术有限公司 | 一种通用的全文搜索方法 |
CN102968501B (zh) * | 2012-12-07 | 2016-02-17 | 福建亿榕信息技术有限公司 | 一种通用的全文搜索方法 |
CN103281173A (zh) * | 2013-04-27 | 2013-09-04 | 网银国际股份有限公司 | 复数网络平台的密钥管理方法 |
CN104636409B (zh) * | 2013-11-12 | 2018-12-14 | 国际商业机器公司 | 促进搜索结果的显示的方法、设备和产生搜索结果的方法 |
CN104636409A (zh) * | 2013-11-12 | 2015-05-20 | 国际商业机器公司 | 对受保护上下文数据的用户特定搜索 |
CN107077647A (zh) * | 2014-06-30 | 2017-08-18 | A·F·沙班 | 用于给计时员工作分配价值的改进的系统和方法 |
CN104317962A (zh) * | 2014-11-14 | 2015-01-28 | 云南电网公司普洱供电局 | 一种基于热度推荐的企业文档库展现方法 |
CN105991613A (zh) * | 2015-03-03 | 2016-10-05 | 北京神州泰岳信息安全技术有限公司 | 一种资源远程登录方法及系统 |
CN106445946A (zh) * | 2015-08-06 | 2017-02-22 | 阿里巴巴集团控股有限公司 | 数据库连接建立方法及装置 |
CN106611118A (zh) * | 2015-10-27 | 2017-05-03 | 北京国双科技有限公司 | 申请登录凭证的方法和装置 |
CN107273392A (zh) * | 2016-04-06 | 2017-10-20 | 百度(美国)有限责任公司 | 用于搜索图像的计算机实现方法、装置及数据处理系统 |
CN107341203A (zh) * | 2017-06-22 | 2017-11-10 | 北京北信源软件股份有限公司 | 一种分布式搜索引擎的访问控制和索引优化方法与装置 |
CN108647284A (zh) * | 2018-05-03 | 2018-10-12 | 网易宝有限公司 | 记录用户行为的方法及装置、介质和计算设备 |
CN108959503B (zh) * | 2018-06-26 | 2020-12-04 | 北京阿尔山金融科技有限公司 | 信息存储方法及装置 |
CN108959503A (zh) * | 2018-06-26 | 2018-12-07 | 北京阿尔山金融科技有限公司 | 信息存储方法及装置 |
CN110971570A (zh) * | 2018-09-29 | 2020-04-07 | 北京奇虎科技有限公司 | 网络访问权限控制方法、装置及计算设备 |
CN110968760A (zh) * | 2018-09-30 | 2020-04-07 | 北京国双科技有限公司 | 网页数据的爬取方法、装置、网页登录方法及装置 |
CN109299376A (zh) * | 2018-10-26 | 2019-02-01 | 深圳点猫科技有限公司 | 一种基于教育云操作系统的模糊搜索方法及装置 |
CN110659418A (zh) * | 2019-09-12 | 2020-01-07 | 北京达佳互联信息技术有限公司 | 内容搜索方法、装置、存储介质及计算设备 |
CN110807141A (zh) * | 2019-11-04 | 2020-02-18 | 北京联想协同科技有限公司 | 一种数据搜索方法、设备以及可读存储介质 |
CN111125176A (zh) * | 2019-12-20 | 2020-05-08 | 北京百度网讯科技有限公司 | 一种业务数据搜索方法、装置、电子设备和存储介质 |
CN111125176B (zh) * | 2019-12-20 | 2023-10-03 | 北京百度网讯科技有限公司 | 一种业务数据搜索方法、装置、电子设备和存储介质 |
CN111309997A (zh) * | 2020-02-11 | 2020-06-19 | 江苏开放大学(江苏城市职业学院) | 一种面向远程教育的数字资源整合和推送系统及其架构 |
CN111563240A (zh) * | 2020-05-08 | 2020-08-21 | 安徽龙讯信息科技有限公司 | 一种基于信息资源库的智能机器人管理系统 |
CN111563240B (zh) * | 2020-05-08 | 2023-03-14 | 安徽龙讯信息科技有限公司 | 一种基于信息资源库的智能机器人管理系统 |
CN111966979A (zh) * | 2020-08-26 | 2020-11-20 | 西安石油大学 | 一种基于http协议的井下数据搜索引擎及交互系统 |
CN111966979B (zh) * | 2020-08-26 | 2023-02-28 | 西安石油大学 | 一种基于http协议的井下数据搜索引擎及交互系统 |
CN112163207A (zh) * | 2020-10-30 | 2021-01-01 | 平安数字信息科技(深圳)有限公司 | 基于动态权限的业务数据查询方法及相关设备 |
CN112163207B (zh) * | 2020-10-30 | 2023-11-21 | 深圳平安智汇企业信息管理有限公司 | 基于动态权限的业务数据查询方法及相关设备 |
CN112580006A (zh) * | 2020-12-24 | 2021-03-30 | 中国建设银行股份有限公司 | 一种多云系统的访问权限控制方法、装置及认证服务器 |
CN114281849A (zh) * | 2022-03-02 | 2022-04-05 | 北京新唐思创教育科技有限公司 | 数据查询方法和装置 |
CN114785720A (zh) * | 2022-04-08 | 2022-07-22 | 北京国信网联科技有限公司 | 一种用于企业局域网络的上网行为监管平台 |
Also Published As
Publication number | Publication date |
---|---|
CN100476828C (zh) | 2009-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476828C (zh) | 基于访问控制的安全搜索引擎系统 | |
CN101320373B (zh) | 网站支撑数据库安全搜索引擎系统 | |
US9569550B1 (en) | Custom search index | |
US20090063448A1 (en) | Aggregated Search Results for Local and Remote Services | |
US8027976B1 (en) | Enterprise content search through searchable links | |
US7930286B2 (en) | Federated searches implemented across multiple search engines | |
US20130311459A1 (en) | Link analysis for enterprise environment | |
US20070050335A1 (en) | Information searching apparatus and method with mechanism of refining search results | |
CN1353838A (zh) | 服务器端的web摘要生成和表示 | |
EP2184690A1 (en) | Federated search system based on multiple search engines | |
US8909669B2 (en) | System and method for locating and retrieving private information on a network | |
CN1932816A (zh) | 基于密文的全文检索系统 | |
CN1468403A (zh) | 用户容易使用的因特网搜索系统及其方法 | |
CN1822005A (zh) | 基于网站自动生成和搜索引擎的信息推送系统及方法 | |
US11640409B2 (en) | Application programming interface (“APIS”) for accessing and amalgamating data from incongruent sources | |
US20060235886A1 (en) | Method, system and software for centralized generation and storage of individualized requests and results | |
WO2010079003A1 (en) | Collaborative bookmarking | |
CN101042747A (zh) | 经济运行分析系统 | |
CN1794239A (zh) | 具有搜索功能的模板式网站自动生成系统及其方法 | |
CN1404590A (zh) | 元数据分类和信息入口的创建方法 | |
CN101060539A (zh) | 采用统一入口网站地址集成和推送多网站内容的方法及系统 | |
CN1462003A (zh) | 一种利用搜索引擎发布信息并按竞价排名的方法 | |
CN1889079A (zh) | 用户协作搜索引擎 | |
Kornyshko et al. | Software Development for Distributed System of Russian Databases for Electronics Materials | |
US20030233356A1 (en) | User interface for facilitating interaction between a user and an information system |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090408 Termination date: 20130428 |