[发明专利]用于搜索目录访问组的方法和系统有效
申请号: | 201810878255.6 | 申请日: | 2018-08-03 |
公开(公告)号: | CN110798332B | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 黄一帆;刘敏;王韧;王晓岚 | 申请(专利权)人: | EMCIP控股有限公司 |
主分类号: | H04L41/02 | 分类号: | H04L41/02;H04L9/40;G06F16/28;G06F16/22 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 美国马*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 搜索 目录 访问 方法 系统 | ||
本发明公开了一种用于搜索目录访问组的方法和系统。确定与登录用户相关联的组集合。将该组集合划分成一个或多个不相交子集,其中各个不相交子集由包括根节点以及一个或多个中间节点的数据表示来表示。针对各个不相交子集,对不相交子集进行路径压缩以使表示不相交子集的数据表示的结构变平。将该数据表示高速缓存到数据库高速缓存。
技术领域
本发明的实施例通常涉及访问目录服务中的信息。更特别地,本发明的实施例涉及用于搜索目录访问组的方法和系统。
背景技术
目录服务提供通过目录访问协议(DAP)识别用户、组、装置和其它对象以及它们的关系的能力。这种DAP的更简单版本被称为通常是本领域普通技术人员公知的轻量级目录访问协议(LDAP)。搜索产品通常利用来自其LDAP服务器的用户,并且根据直接分配至这些用户或这些用户的祖先组的角色来对这些用户进行授权。例如,如果用户属于组A、而组A属于组B,则向组B分配角色隐含地将该角色授予至属于组A和B的所有用户。因此,使LDAP服务器作为用户储存库可能是有益的,因为LDAP服务器可以基于组和目录层级结构来进行用户角色管理。
目前,具有层级结构复杂的大型LDAP储存库的公司针对特定系统在搜索用户以及其所有祖先组以确定其角色方面效率低。例如,该搜索可能会创建发送至LDAP服务器的大量LDAP查询,由此增加了该服务器的负担。LDAP查询的递归深度也是不可预测的。例如,中间结果未被高速缓存(cache)以供将来使用,因此LDAP探索每次都从头开始。如此,在目录服务大且复杂而导致搜索最终超时的情况下,用户体验将会降低。
为了更好地阐明这一点,现在参考示出目录服务中的数据样本的图1A,其中该数据样本包括通用名、类型(例如,用户或组)、直接组和分配角色等。可以向各用户或组(例如,“张三”、“团队1”)分配角色(例如,“角色1”、“角色3”)。然而,在现实世界中,数据量大得多,并且用户和组之间的关系复杂得多。图1A仅示出用于演示目的的小数据样本。继续参考图1A所示的数据样本,该数据可被假设为:(i)所有的用户和组都来自于同一目录,因此该理论可以应用于多个目录而不会互相干扰;以及(ii)服务集标识符(SSID)在同一目录中是全局唯一的。
在传统的授权工作流中,递归地查询当前用户的父组(以及随后的祖父和曾祖父),直到找到根节点为止。在遍历这些组时,组合这些组的所有分配角色并且确定用户的特定角色。更详细地,参考示出用于探索目录服务对象的传统方法的图1B。如图所示,在块101中,将表示当前登录用户的LDAP对象作为搜索算法(例如,广度优先搜索)的起始节点放入队列中。由于将角色直接分配至用户,因此用户也可被添加到搜索结果集合。在块102中,判断队列是否为空。如果队列为空,则可以判断为遍历了每个相关对象。否则,在块103中,可以从队列中一次轮询一个对象。在块104中,生成LDAP查询以请求与所轮询的对象(即,用户)相关联的直接组。在块105中,获得对象列表(例如,父组),并且来自该列表的对象(在这些对象不存在于队列或搜索结果中的情况下)被放入队列和搜索结果集合中。如果所轮询的对象不与任何直接组关联,则该对象被视为根节点并且列表将为空。在块106中,对于搜索结果集合中的每个对象(例如,参见图1C),可以提取分配至该对象的角色,因而可以针对所轮询的对象(即,用户)确定角色的组合列表。
用于探索用户组(或目录服务对象)的上述传统技术是简单直接的。然而,这会带来对用户体验至关重要的一系列问题,并且甚至可能会由于不可接受的响应时间而阻碍业务操作。例如,这些问题可以包括但不限于:(i)从用户(或对象)到根节点(或组)的不可避免的遍历,并且每当对用户进行授权时重复该遍历;(ii)用户所属的组的数量对于大公司而言可能大;(iii)根组的深度(即,表示从根组到用户要遍历的路径的长度的深度)对于具有复杂组织的业务而言大;(iv)授权过程是同步的,因而用户需要等待这种同步完成;以及(v)由于web服务器通常具有与客户端侧和服务器侧这两者有关的超时设置,因此不允许长时间运行占用web线程的进程,因为这些进程可能会影响吞吐量。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于EMCIP控股有限公司,未经EMCIP控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810878255.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种设备升级方法和装置
- 下一篇:一种业务信息配置方法、装置、系统及存储介质