一种不受数量限制的LDAP匿名查询方法技术

技术编号:11306032 阅读:255 留言:0更新日期:2015-04-16 00:57
本发明专利技术公开了一种不受数量限制的LDAP匿名查询方法,该查询方法通过时间片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询所有的数据内容。本发明专利技术提供的方法能够使用LDAP客户端API匿名查询不受服务器LDAP的查询限制,弥补匿名查询限制问题。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种不受数量限制的LDAP匿名查询方法,该查询方法通过时间片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询所有的数据内容。本专利技术提供的方法能够使用LDAP客户端API匿名查询不受服务器LDAP的查询限制,弥补匿名查询限制问题。【专利说明】一种不受数量限制的LDAP匿名查询方法
本专利技术涉及一种网络安全技术,具体涉及一种LDAP匿名查询技术。
技术介绍
随着LDAP使用越来越频繁,各种系统依赖LDAP发布共享信息,特别是PKI行业中数字证书,属性证书,黑名单,其它如用户信息、机构等都会发布到LDAP中,应用很多,并且LDAP查询数据快的优势很明显,使用更加广泛。 但LDAP本身对匿名查询,以及使用Netscape JAVA API在存在管理员的情况下查询,也受LDAP的Iimitsize限制,在数据量大的情况下,也无法获取LDAP中所有数据,极大的限制了客户端开发人员对LDAP的研发。
技术实现思路
针对现有技术使用客户端API匿名查询时,受LDAP对客户端查询结果数量限制的问题,本专利技术的目的在于提供一种不受数量限制的LDAP匿名查询方法,有效解决了 LDAP匿名查询受限制问题,极大的方便客户端开发人员对LDAP应用使用。 为了达到上述目的,本专利技术采用如下的技术方案: 一种不受数量限制的LDAP匿名查询方法,该查询方法通过时间片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询所有的数据内容。 在该查询的优选方案中,所述查询方法包括如下步骤: (I)LDAP初始化配置,并预生成大于限制的数据量; (2)查询数据配置LDAP的查询时间段; (3)通过时间片分割方式,以迭代的方式不断重新组合查询条件进行查询数据; (4)根据步骤(3)通过迭代的方式不断的判断查询数据是否合格,不合格则继续拆分时间段,直到所取时间片段符合查询限制要求,最终查询获取所有的数据。 进一步的,所述步骤(I)具体通过如下步骤实现: a)使用OpenLdap作为目录服务器; b)配置 LDAP 的 Iimitsize 限制数(OpenLdap 默认是 500); c)创建目录服务器根节点,在根节点下生成测试数据,数据量大于LDAP配置的限制数。 进一步的,所述步骤(2)在配置查询时间段时,如果无法确认LDAP中的数据是从什么时候开始有数据的,则直接取1970年的开始时间,结束时间则获取当前时间或已知的结束时间。 进一步的,所述步骤(3)中根据查询数据添加时间查询条件进行查询,每次查询时通过当前设置的起止日期查询数据,查询返回的数据若超过了 LDAP的限制数,则取两个时间的中间时间,使用中间时间和起始时间一起组合形成新的查询条件进行查询,如果在此发现超过限制,则再一次取两个时间的中间时间,并和起始时间一起组合形成新的查询条件进行查询,直到取到符合的时间区间,获取完数据以后,则以同样的方式向后时间片进行处理查询。 本专利技术提供的方法能够使用LDAP客户端API匿名查询不受服务器LDAP的查询限制,弥补匿名查询限制问题。使得在数据量大的情况下,能够获取LDAP中所有数据,极大的方便了客户端开发人员对LDAP的研发。 【专利附图】【附图说明】 以下结合附图和【具体实施方式】来进一步说明本专利技术。 图1为本专利技术按照时间片查询数据的示意图; 图2为本专利技术自动时间片分割机制示意图。 【具体实施方式】 为了使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本专利技术。 为了有效弥补匿名查询受限制的问题,使得在使用LDAP客户端进行API匿名查询时,不受服务器LDAP的查询限制。参见图1,由此本专利技术通过时间片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询所有的数据内容。 该时间片查询数据方法通过拆分查询,获取数据,具有如下特点: (I)时间段进行拆分,每一次查询时间片可查询获取LDAP数据量小于LDAP设定的限制数。 (2)自动拆分数据,可方便的按照原始条件查询,不受任何查询限制影响。 基于上述原理,本专利技术进行拆分查询,获取数据的过程如下: (I) LDAP配置数据预生成: a)使用OpenLdap作为目录服务器; b)配置 LDAP 的 Iimitsize 限制数(OpenLdap 默认是 500); c)创建目录服务器根节点,在根节点下生成测试数据,数据量大于LDAP配置的限制数。 (2)数据查询过程,通过时间片查询获取所有的数据,具体过程如下: a)查询数据配置LDAP的查询时间段; 确定LDAP中数据的所有时间范围,需要确认LDAP中是从什么时候开始有数据的,如果无法确认则直接取1970年的开始时间,结束时间则获取当前时间或已知的结束时间。 b) LDAP默认给每个节点创建了创建时间(createTimestamp)和修改时间(modifyTimestamp),如果是第一次检索数据则可以使用创建时间,如果是后续的增量查询分割则可以使用修改时间作为分割条件。 c)根据查询数据添加时间查询条件: (&(modifyTimestamp)=林*Z) (modifyTimestamp< = *林Z))查询,每次查询时通过当前设置的起止日期查询数据,若查询返回的数据超过了 LDAP的限制,则取两个时间的中间时间,再使用该中间时间和起始时间一起组合形成新的查询条件进行查询,如果在此发现还超过限制,则再一次取中间数据和起始时间一起组合形成新的查询条件进行查询,直到取到符合的时间区间,获取完数据以后,则向后时间片进行处理查询,处理过程同上。 (3)基于上述的查询方案通过迭代的方式不断的判断查询数据是否合格,不合格则继续拆分时间段,直到所取时间片段符合查询限制要求,最终查询获取所有的数据;这里的拆分时间段即按照每一次查询返回超过限制数以后,再次按照起始时间和上一次查询的时间拆分取中间时间进行重新排列查询,通过此种方式进行查询,直到所有时间片查询完毕。 以下通过一具体实例来进一步说明本专利技术: 参见图2,其所示为本实例基于上述方案进行的自动时间片分割机制示意图。本实例通过时间切割方式进行不受数量限制的分片查询,具体的过程如下: (I)设置一个总的时间查询范围,未知的情况下可设置1970到当前时间。 (2)通过查询检索获取数据量超过LDAP查询限制,则通过起止日期自动拆分成两个时间片段,再通过拆分后的时间进行查询。即取总的查询时间的中间时间,再使用该中间时间和起始时间一起组合形成新的查询条件进行查询。 (3)如果拆分后的时间片段查询还超过LDAP限制,则继续拆分(即取上一次查询时间一半),直到不受LDAP限制为止。 (4)通过第一次获取数据,可把起始日期给去掉,在通过第一次成功获取数据的结束日期到组成新的时间条件,继续通过拆分方式进行拆分,直到所有的数据获取完毕。 通过上述过程操作,可越过LDAP对数据查询的限制,方便获取LDAP中的数据,在实际运用中,把上述过程封装成一个成熟的API,可在任何本文档来自技高网...
一种不受数量限制的LDAP匿名查询方法

【技术保护点】
一种不受数量限制的LDAP匿名查询方法,其特征在于,该查询方法通过时间片分割方式,自动切割分离待查询的数据,并进行迭代累加拆分查询和判断,直至查询所有的数据内容。在该查询的优选方案中,所述查询方法包括如下步骤:(1)LDAP初始化配置,并预生成大于限制的数据量;(2)查询数据配置LDAP的查询时间段;(3)通过时间片分割方式,以迭代的方式不断重新组合查询条件进行查询数据;(4)根据步骤(3)通过迭代的方式不断的判断查询数据是否合格,不合格则继续拆分时间段,直到所取时间片段符合查询限制要求,最终查询获取所有的数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄福飞杨文山
申请(专利权)人:上海格尔软件股份有限公司
类型:发明
国别省市:上海;31

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

1