用于处理搜索查询的方法和系统技术方案

技术编号:2851261 阅读:169 留言:0更新日期:2012-04-11 18:40
复制模型具有存储了来自子树的已选条目的复制品。仅存储满足了由过滤器规定的特定搜索标准的条目。使用查询包含来确定是否能够本地回答查询,或者需要转荐到远程服务器。

【技术实现步骤摘要】

本专利技术涉及在处理搜索查询的情境中的分布式目录复制。
技术介绍
目录是用于存储关于异类的现实世界实体的信息的专门的数据库,所述现实世界实体有用户、网络部件、服务、策略等等。目录在其中单个企业目录包含中央信息(例如,关于组织管理的)并提供多个内联网应用的集成的企业中尤其重要。目录也被用于门户中以便存储用户信息(例如简档/偏好)以及用于认证用户。目录通常被用作企业的身份管理框架中的基础构件。大的目录可以包含安置于目录信息树(DIT)中的多达数千万个条目(记录)。这种目录通常需要分布在多个目录服务器中。使用LDAP(轻型目录访问协议)在因特网上访问目录。此外,目录访问(读/写)速率通常与用户数量(即,目录的大小)成比例。同样,这种目录的用户也是全局分布的。使用两种技术来提高全局访问的大目录的性能分区和复制。分区指将目录分布在多个服务器中。如果目录太大而无法在单个服务器上支持,则可能需要这种技术。复制是通过拥有与主服务器同步的额外的复制服务器而提高性能的可伸缩性和目录服务的可靠性的技术。当前的大规模目录部署使用条目的子树来提供分区或复制。可将复制服务器安装于站点本地以提高性能,或者可在一复制阵列中使用复制服务器以提高可伸缩性和可靠性。当与分区一起使用复制时,一个(部分)复制品(replica)包含来自DIT的一个或多个条目子树。虽然可使用这种复制模型来提高可由单个服务器支持的目录的性能,但这种模型无法很好地处理跨越多个子树的查询。例如,靠近客户端的部分复制品仅能够回答查询的一部分,并将查询的其余部分转荐(refer)至远程服务器。使用转荐来联系(一个或多个)远程服务器降低了性能。此外,在较少的服务器中包含目录查询的唯一方法是拥有具有较大子树的复制品。进一步地,复制较大的子树会导致较大的更新流量。这需要网络带宽并导致在复制服务器上增加的更新负载。LDAP由因特网工程工作组记载在RFC 3377中,该RFC 3377的标题为“轻型目录访问协议(v3)技术规范”(Lightweight Directory AccessProtocol(v3)Technical Specification),并且可从http//www.ietf.org/rfc/rfc3377.txt访问。LDAP并未标准化目录复制。与之相对,在国际电信联盟的X.525推荐标准中描述了用于X.500目录的复制,该标准被公布为ITU-T推荐标准X.525。因此,鉴于以上观察,存在对于分布式目录复制的改良方式的需求。
技术实现思路
此处描述了一种复制模型,其提高了接收目录搜索查询的大的分布式目录的性能。此处所述模型在以下方面与现有的复制模型不同(i)复制品仅存储所选择的来自子树(复制上下文)的条目。(ii)复制子树/上下文可跨越多个服务器。(iii)使用查询包含规则来确定所复制的上下文是否能够回答查询。(iv)用于同步复制品的机制发送复制上下文中的更新,而非整个子树。此处进一步详细描述的查询包含具有各种优点。选择性地复制子树中的条目允许将复制范围增加到更大的子树。此外,由于更新流量与所复制条目的数量成比例,限制条目数量降低了更新流量。进一步地,由于复制了较大的子树(中的所选条目),那么更可能将查询的范围限于一服务器内,而无需与另外的服务器通信。附图说明图1A和1B构成了此处所述的分布式目录复制技术中涉及的步骤的流程图。图2是适合于执行此处所述技术的计算机系统的示意图。具体实施例方式尽管此处所讨论的技术适用于一般目录,但是此处详细描述了基于本技术的优选实施例的LDAP(轻型目录访问协议目录)。可在“征求意见稿2251”(Request for Comments 2251)中查看关于LDAP的进一步细节,该征求意见稿在因特网上被公布为RFC 2251,位于www.ietf.org/rfc/rfc2251.txt,在此将其内容并入作为参考。目录包含了被分层级安置为目录信息树(DIT)的记录。每一记录是属性类型及其值的集合。通过基于DIT中的条目的层级位置的唯一区别名(DN)来识别每一条目。LDAP规定了用于在TCP/IP通信链路上访问和管理目录的通信协议。LDAP也规定了用于定义目录模式的信息模型,所述目录模式转而控制能够在目录中存储的条目类型(对象类)、属性和值。LDAP协议允许客户端执行针对LDAP服务器的操作。LDAP标准也规定了命名、信息和安全模型。客户端能够执行的操作有搜索、比较、添加、删除、修改、修改DN、绑定、解除绑定、和作废。为读访问而优化目录,并且最重要的操作是搜索操作。其操作参数包括下表1中所述的搜索规格说明。表1基(base) DIT中的搜索的根条目范围 在根之下的搜索的范围基仅搜索基条目单级 仅搜索基条目的子条目子树 搜索基条目以及基条目以下的所有条目过滤器 搜索标准原子过滤器(atomic filter)和反向(negative)原子过滤器的布尔逻辑组合,其中原子过滤器是对属性值的相等、顺序或子串断言示例 filter(&(sn=Doe)(givenName=John)),(&(houseIdentifier=221B)(street=Baker))属性 满足搜索过滤器的条目所需的一组属性对于大的目录,DIT通常分布在多个服务器中。每一服务器具有存储于该服务器上的命名上下文(naming context)的知识。一命名上下文标识一子树,该子树的根为该命名上下文的后缀,该子树的边界为指向保存有从属命名上下文的其他服务器的零个或更多个转荐条目。每一命名上下文由一后缀和转荐(如果有的话)DN定义。后缀可以是o=ibm、ou=research、o=ibm等等。转荐被配置为在命名上下文处的边界处的特殊的转荐条目。当接收了其范围跨越多个分区的搜索请求时,包含基条目的服务器返回匹配的条目以及任何对其他分区的继续转荐。这种转荐包含一组LDAPURL,其格式在上述的RFC 2251中规定,并再现如下ldap//[hostport]?[dn]?[attributes]?[scope]?[filter]每一URL能够被客户端使用以继续该操作。客户端应用负责跟踪转荐并向用户返回完整的一组结果。转荐中的多个URL是分布式目录中的复制的指示。以下是用于这种搜索继续转荐的URL格式。作为示例,考虑以下的搜索。base=″ou=research,o=ibm″,scope=″subtree″,filter=″(initials=JFK)″,attributes=″all″在主机A处接收到该搜索,所述主机A具有指向在c=us,ou=research,o=ibm处的主机B的已配置转荐对象。主机A返回任何匹配条目和以下转荐。ldap//hostB389?c=us,ou=research,o=ibm?sub通过使用初始过滤器连同在转荐URL中规定的搜索规格说明,客户端处理所述的转荐。由于需要由客户端解析转荐,因而降低了其范围跨越多个分区的搜索操作的性能。因此,需要对名称空间较少地分区。但是,对于大的目录,这也许不可能。此处所述的复制模型与现有的目录复制模型不同,因为使用复制搜索过滤器和查询包含来回答或转荐查询。只读的复本文档来自技高网
...

【技术保护点】
一种用于在复制服务器处处理目录搜索查询的方法,包括以下步骤:存储匹配一个或多个预定的搜索规格说明的一个或多个目录条目的已过滤的复制品;确定目录搜索查询是否被语义地包含于所复制的目录条目内;如果所述确定是肯定的,则基于 所复制的目录条目响应所述目录搜索查询;以及如果所述确定是否定的,则通过转荐响应所述目录搜索查询。

【技术特征摘要】
US 2004-10-25 10/972,7401.一种用于在复制服务器处处理目录搜索查询的方法,包括以下步骤存储匹配一个或多个预定的搜索规格说明的一个或多个目录条目的已过滤的复制品;确定目录搜索查询是否被语义地包含于所复制的目录条目内;如果所述确定是肯定的,则基于所复制的目录条目响应所述目录搜索查询;以及如果所述确定是否定的,则通过转荐响应所述目录搜索查询。2.根据权利要求1的方法,还包括基于包含于所述已过滤的复制品的基对象的父中的元信息确定是否能够由所述已过滤的复制品回答目录搜索查询的步骤。3.根据权利要求1的方法,还包括基于包含于所述已过滤的复制品的基对象的父中的元信息确定是否能够将目录搜索查询转荐到同级的复制品的步骤。4.根据权利要求1的方法,其中,所述预定的搜索规格说明是范围为基搜索、单级搜索或整个子树搜索之一的目录搜索查询。5.一种用于处理搜索查询的计算机系统,该系统包括记录于计算机可读媒体上用于执行以下步骤的计算机软件存储被选择为匹配一个或多个预定的搜索规格说明的一个或多个目录条目的已过滤的复制品;确定接收到的搜索查询是否被语义地包含于由所述搜索规格说明确定的所复制的条目内;如果所述确定是肯定的,则基于所复制的条目响应所述接收到的搜索查询;以及如果所述确定是否定的,则通过转荐响应所述接收到的搜索查询。6.根据权利要求5的计算机系统,还包括...

【专利技术属性】
技术研发人员:A库马尔
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1