公开/公告号CN104516981A
专利类型发明专利
公开/公告日2015-04-15
原文格式PDF
申请/专利权人 上海格尔软件股份有限公司;
申请/专利号CN201410855755.X
申请日2014-12-31
分类号G06F17/30(20060101);
代理机构31224 上海天翔知识产权代理有限公司;
代理人刘常宝
地址 200070 上海市闸北区江场西路199号B幢501E
入库时间 2023-12-17 03:57:53
法律状态公告日
法律状态信息
法律状态
2018-10-26
专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20141231
专利权人的姓名或者名称、地址的变更
2018-04-13
授权
授权
2015-05-13
实质审查的生效 IPC(主分类):G06F17/30 申请日:20141231
实质审查的生效
2015-04-15
公开
公开
技术领域
本发明涉及一种网络安全技术,具体涉及一种LDAP匿名查询技术。
背景技术
随着LDAP使用越来越频繁,各种系统依赖LDAP发布共享信息,特别是 PKI行业中数字证书,属性证书,黑名单,其它如用户信息、机构等都会发布 到LDAP中,应用很多,并且LDAP查询数据快的优势很明显,使用更加广泛。
但LDAP本身对匿名查询,以及使用Netscape JAVA API在存在管理员的 情况下查询,也受LDAP的limitsize限制,在数据量大的情况下,也无法获取 LDAP中所有数据,极大的限制了客户端开发人员对LDAP的研发。
发明内容
针对现有技术使用客户端API匿名查询时,受LDAP对客户端查询结果数 量限制的问题,本发明的目的在于提供一种不受数量限制的LDAP匿名查询方 法,有效解决了LDAP匿名查询受限制问题,极大的方便客户端开发人员对 LDAP应用使用。
为了达到上述目的,本发明采用如下的技术方案:
一种不受数量限制的LDAP匿名查询方法,该查询方法通过时间片分割方 式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询 所有的数据内容。
在该查询的优选方案中,所述查询方法包括如下步骤:
(1)LDAP初始化配置,并预生成大于限制的数据量;
(2)查询数据配置LDAP的查询时间段;
(3)通过时间片分割方式,以迭代的方式不断重新组合查询条件进行查 询数据;
(4)根据步骤(3)通过迭代的方式不断的判断查询数据是否合格,不合 格则继续拆分时间段,直到所取时间片段符合查询限制要求,最终查询获取所 有的数据。
进一步的,所述步骤(1)具体通过如下步骤实现:
a)使用OpenLdap作为目录服务器;
b)配置LDAP的limitsize限制数(OpenLdap默认是500);
c)创建目录服务器根节点,在根节点下生成测试数据,数据量大于LDAP 配置的限制数。
进一步的,所述步骤(2)在配置查询时间段时,如果无法确认LDAP中 的数据是从什么时候开始有数据的,则直接取1970年的开始时间,结束时间 则获取当前时间或已知的结束时间。
进一步的,所述步骤(3)中根据查询数据添加时间查询条件进行查询, 每次查询时通过当前设置的起止日期查询数据,查询返回的数据若超过了 LDAP的限制数,则取两个时间的中间时间,使用中间时间和起始时间一起组 合形成新的查询条件进行查询,如果在此发现超过限制,则再一次取两个时间 的中间时间,并和起始时间一起组合形成新的查询条件进行查询,直到取到符 合的时间区间,获取完数据以后,则以同样的方式向后时间片进行处理查询。
本发明提供的方法能够使用LDAP客户端API匿名查询不受服务器LDAP 的查询限制,弥补匿名查询限制问题。使得在数据量大的情况下,能够获取 LDAP中所有数据,极大的方便了客户端开发人员对LDAP的研发。
附图说明
以下结合附图和具体实施方式来进一步说明本发明。
图1为本发明按照时间片查询数据的示意图;
图2为本发明自动时间片分割机制示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解, 下面结合具体图示,进一步阐述本发明。
为了有效弥补匿名查询受限制的问题,使得在使用LDAP客户端进行API 匿名查询时,不受服务器LDAP的查询限制。参见图1,由此本发明通过时间 片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断, 直至查询所有的数据内容。
该时间片查询数据方法通过拆分查询,获取数据,具有如下特点:
(1)时间段进行拆分,每一次查询时间片可查询获取LDAP数据量小于 LDAP设定的限制数。
(2)自动拆分数据,可方便的按照原始条件查询,不受任何查询限制影 响。
基于上述原理,本发明进行拆分查询,获取数据的过程如下:
(1)LDAP配置数据预生成:
a)使用OpenLdap作为目录服务器;
b)配置LDAP的limitsize限制数(OpenLdap默认是500);
c)创建目录服务器根节点,在根节点下生成测试数据,数据量大于LDAP 配置的限制数。
(2)数据查询过程,通过时间片查询获取所有的数据,具体过程如下:
a)查询数据配置LDAP的查询时间段;
确定LDAP中数据的所有时间范围,需要确认LDAP中是从什么时候开始 有数据的,如果无法确认则直接取1970年的开始时间,结束时间则获取当前 时间或已知的结束时间。
b)LDAP默认给每个节点创建了创建时间(createTimestamp)和修改时间 (modifyTimestamp),如果是第一次检索数据则可以使用创建时间,如果是后 续的增量查询分割则可以使用修改时间作为分割条件。
c)根据查询数据添加时间查询条件:
(&(modifyTimestamp>=***Z)(modifyTimestamp<=***Z))查询,每次查询时 通过当前设置的起止日期查询数据,若查询返回的数据超过了LDAP的限制, 则取两个时间的中间时间,再使用该中间时间和起始时间一起组合形成新的查 询条件进行查询,如果在此发现还超过限制,则再一次取中间数据和起始时间 一起组合形成新的查询条件进行查询,直到取到符合的时间区间,获取完数据 以后,则向后时间片进行处理查询,处理过程同上。
(3)基于上述的查询方案通过迭代的方式不断的判断查询数据是否合格, 不合格则继续拆分时间段,直到所取时间片段符合查询限制要求,最终查询获 取所有的数据;这里的拆分时间段即按照每一次查询返回超过限制数以后,再 次按照起始时间和上一次查询的时间拆分取中间时间进行重新排列查询,通过 此种方式进行查询,直到所有时间片查询完毕。
以下通过一具体实例来进一步说明本发明:
参见图2,其所示为本实例基于上述方案进行的自动时间片分割机制示意 图。本实例通过时间切割方式进行不受数量限制的分片查询,具体的过程如下:
(1)设置一个总的时间查询范围,未知的情况下可设置1970到当前时间。
(2)通过查询检索获取数据量超过LDAP查询限制,则通过起止日期自 动拆分成两个时间片段,再通过拆分后的时间进行查询。即取总的查询时间的 中间时间,再使用该中间时间和起始时间一起组合形成新的查询条件进行查 询。
(3)如果拆分后的时间片段查询还超过LDAP限制,则继续拆分(即取 上一次查询时间一半),直到不受LDAP限制为止。
(4)通过第一次获取数据,可把起始日期给去掉,在通过第一次成功获 取数据的结束日期到组成新的时间条件,继续通过拆分方式进行拆分,直到所 有的数据获取完毕。
通过上述过程操作,可越过LDAP对数据查询的限制,方便获取LDAP 中的数据,在实际运用中,把上述过程封装成一个成熟的API,可在任何使用 时,加上此方式即可完成LDAP查询。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业 的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中 描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明 还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本 发明要求保护范围由所附的权利要求书及其等效物界定。
机译: 关系模式定义和查询方法,可有效检索LDAP知识引用
机译: 不受安装数量限制的用于安装锚的锚固定工具
机译: 不受数量限制的寄存器注册以及具有该存储器设备的存储器模块