CN102073644A - 一种查询数据库的方法、服务器及系统 - Google Patents

一种查询数据库的方法、服务器及系统 Download PDF

Info

Publication number
CN102073644A
CN102073644A CN2009102226158A CN200910222615A CN102073644A CN 102073644 A CN102073644 A CN 102073644A CN 2009102226158 A CN2009102226158 A CN 2009102226158A CN 200910222615 A CN200910222615 A CN 200910222615A CN 102073644 A CN102073644 A CN 102073644A
Authority
CN
China
Prior art keywords
ldap
relational database
sql
directory entry
data
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
Application number
CN2009102226158A
Other languages
English (en)
Other versions
CN102073644B (zh
Inventor
查峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changshu intellectual property operation center Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200910222615 priority Critical patent/CN102073644B/zh
Publication of CN102073644A publication Critical patent/CN102073644A/zh
Application granted granted Critical
Publication of CN102073644B publication Critical patent/CN102073644B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种查询数据库的方法、服务器及系统。所述方法包括:向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的相对可辨别名RDN为对应记录的唯一的关键字;向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。通过本发明实施例,LDAP服务器可以向LDAP客户端返回关系数据库中的数据。

Description

一种查询数据库的方法、服务器及系统
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种查询数据库的方法、服务器及系统。
背景技术
轻量级目录访问协议(LDAP,Lightweight Directory Access Protocol)是一种可以进行数据查询及修改的规范。
LDAP服务器向LDAP客户端提供目录服务,目录本质上是一种特殊的数据库。LDAP服务器接收LDAP客户端发送的LDAP请求,根据LDAP请求从目录中获取信息,并向LDAP客户端返回LDAP响应。
发明人在研究过程中,发现若LDAP客户端向LDAP服务器请求关系数据库中的数据,则LDAP服务器无法获取关系数据库中的数据,从而无法向LDAP客户端返回关系数据库中的数据。
发明内容
有鉴于此,本发明实施例提供了一种查询数据库的方法、服务器及系统,以使LDAP服务器可以向LDAP客户端返回关系数据库中的数据。
一种查询数据库的方法,所述方法包括:
向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;
接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;
为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的相对可辨别名RDN为对应记录的唯一的关键字;
向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
一种服务器,所述服务器包括:
提交单元,用于向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;
接收单元,用于接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;
扩展单元,用于为所述对应数据表的每条记录扩展唯一的关键字;
构造单元,用于在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;
返回单元,用于向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
一种查询数据库的系统,所述系统包括:
服务器,用于向关系数据库提交由LDAP请求映射的SQL请求;接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径;
客户端,用于向所述服务器发送所述LDAP请求,并接收服务器返回的LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
可以看出,在本发明实施例中,当接收到来自关系数据库的SQL响应时,为数据表的每条记录扩展唯一的关键字,并为数据表的目录项构造下一级目录项,将每条记录的关键字作为每个下一级目录项的RDN,从而实现了关系数据库向LDAP目录的转换,进而可以向客户端返回包含客户端所需数据的响应。
附图说明
图1为一种LDAP目录结构示意图;
图2为本发明实施例一种查询数据库的方法流程图;
图3为本发明实施例一种LDAP服务器处理LDAP请求的方法流程图;
图4为本发明实施例建立的三级索引结构示意图;
图5为本发明实施例一种LDAP服务器处理SQL响应的方法流程图;
图6为本发明实施例构造下一级目录项的示意图;
图7为本发明实施例构造下一级目录项的具体实例示意图;
图8为本发明实施例提供的一种服务器结构示意图;
图9为本发明实施例提供的另一种服务器结构示意图;
图10为本发明实施例提供的一种查询数据库的系统结构示意图。
具体实施方式
为了使本发明实施例的上述特征、优点更加明显易懂,下面结合具体实施方式进行详细说明。
为便于理解,首先对LDAP服务器中的目录进行介绍。
在目录中,数据的存储方式与关系数据库是不同。在关系数据库中,数据是以表为单位存储,表与表之间通过主外键相关联。在目录中,按照层次结构存储数据,这种结构与众多行业或者业务的结构组织一致,例如:学校的各部门、人员以及资源所组成的结构。请参考图1,为一种LDAP目录结构示意图。在图1中,101表示教育部,102表示一个大学,103表示该大学中的物理系,104表示物理系的张教授,105表示物理系的李教授。
目录中所有的信息包含在目录信息树(DIT,Directory Information Tree)中。DIT中每个节点成为一个目录项(Entry),目录项具有相对可辨别名(RDN,Relative Distinguished Name),RDN在兄弟节点中必须是唯一的。从一个特定目录项到DIT的根目录项的节点序列中,所有RDN组成了根目录项的可辨别名(DN,Distinguished Name),DN用来唯一标识根目录项。下面以图1为例,对目录项、目录项的RDN、根目录项以及根目录项的DN进行说明。在图1中,101、102、103、104以及105分别表示一个目录项对应的节点,101的RDN可以是一个唯一标识教育部的编号,102的RDN可以是一个唯一标识一个大学的编号,103的RDN可以是在该大学中唯一标识物理系的编号,104的RDN可以是在该大学中唯一标识物理系的张教授的职工编号,105的RDN可以是在该大学中唯一标识物理系的李教授的职工编号。101为图1所示的根目录项,其DN可以由在该大学中唯一标识物理系的张教授的职工编号、在该大学中唯一标识物理系的编号、唯一标识该大学的编号以及唯一标识教育部的编号组成。
每个目录项都与一个对象类(Object Class)对应,对象类描述了该类中各Entry应包含的各种属性。目录以对象的形式存放描述性的、基于属性的信息。
下面以各实施例对本发明进行详细说明。
请参考图2,为本发明实施例一种查询数据库方法流程图,可以包括以下步骤:
步骤201:向关系数据库提交由LDAP请求映射的结构化查询语言(SQL,Structured Query Language)请求;
步骤202:接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;
步骤203:为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;
步骤204:向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
可以看出,在本发明实施例中,当LDAP服务器接收到来自关系数据库的SQL响应时,为数据表的每条记录扩展唯一的关键字,并为数据表的目录项构造下一级目录项,将每条记录的关键字作为每个下一级目录项的RDN,从而实现了关系数据库向LDAP目录的转换,进而可以向客户端返回包含客户端所需数据的响应。
下面以一个更加具体的实施例对本发明进行说明。
首先需要指出的是,数据表中每条记录可以有单个关键字,或者,可以没有关键字,或者,可以有至少两个关键字。在本发明实施例中,不管数据表中每条记录的关键字个数是多少,均可以为每条记录扩展一个唯一的关键字,且在目录中为数据表的目录项构造至少一个下一级目录项。
在该实施例中,LDAP客户端向LDAP服务器请求关系数据库中的数据。LDAP服务器接收LDAP客户端发送的LDAP请求,将LDAP请求映射为SQL请求,并将SQL请求发送给相应的关系数据库。接收到SQL请求的关系数据库进行处理后,向LDAP服务器返回SQL响应。
LDAP服务器为接收到的每条记录扩展唯一的关键字,并在目录中为该关系数据库数据表的目录项构造下一级目录项,每条记录分别对应每个下一级目录项,且将每条记录扩展的关键字分别作为与其对应的下一级目录项的RDN,每条记录的内容分别为与其对应的下一级目录项的属性。至此,完成了关系数据库的数据表向LDAP目录的转换。LDAP向LDAP客户端返回LDAP响应,LDAP响应中包含LDAP客户端所请求的数据。
请参考图3,为本发明实施例一种LDAP服务器处理LDAP请求的方法流程图,可以包括以下步骤:
步骤301:LDAP服务器启动后,对待查询的各关系数据库进行配置。
对各个关系数据库配置后得到了配置信息,其中配置信息包括待查询的各关系数据库的路径;可选地,配置信息还可以包括:各关系数据库的类型、版本号、用户名、密码、各关系数据库对应的IP地址、或者端口号等。
步骤302:LDAP服务器根据配置信息连接待查询的各关系数据库。
步骤303:LDAP服务器从待查询的各关系数据库分别获取元数据,并为待查询的各关系数据库建立数据库、数据表与数据表字段的三级索引。
其中,步骤301至步骤303为可选项,即LDAP服务器可以不用在每次接收到LDAP请求后都执行步骤301至步骤303.
元数据是一种数据的数据,描述了关系数据库的以下信息:数据表的个数以及数据表的表名、数据表的字段以及字段类型。
获取元数据的SQL因数据库制造商不同而存在差异,LDAP服务器安装了访问各类关系数据库的数据库接口,内置了构造SQL语句的规则。LDAP服务器定时访问各关系数据库,获取最新的元数据,然后对三级索引进行更新。
请参考图4,为本发明实施例建立的三级索引结构示意图。在图4中,第一级为n个关系数据库,n为自然数,第二级为第一关系数据库401的m个数据表,m为自然数,第三级分别是m个数据表的字段。
步骤304:LDAP客户端向LDAP服务器发送LDAP请求。
其中,LDAP请求中包括LDAP客户端请求的数据所在的关系数据库的路径,LDAP请求还可以包含目录项的属性,目录项的属性映射到相应的字段。另外,LDAP请求还可以根据用户需求包括过滤条件。
步骤305:LDAP服务器判断LDAP请求中的信息是否包含配置信息,若不包含,则按照LDAP规范处理,否则,进入步骤306。
步骤306:LDAP服务器根据LDAP请求中的关系数据库的路径确定要查询的关系数据库。
步骤307:LDAP服务器根据确定出的关系数据库的目录项查询其下一级目录项,得到数据表名称。
步骤308:LDAP服务器根据确定出的关系数据库、数据表名称以及三级索引查找该数据表是否存在,若是,进入步骤309,否则,向LDAP客户端返回“错误”信息。
步骤309:LDAP服务器根据三级索引查询所请求的数据的字段是否合法,若合法,构造选择输出字段(例如:“SELECT字段1,字段2,......”)的子句,若不合法,构造该数据表中所有字段(例如:“SELECT*”)的子句。
步骤310:LDAP服务器将LDAP请求中的过滤条件转换为SQL查询条件句(例如:WHERE)的子句。
上述选择输出字段与所述LDAP请求中查询的属性对应。
在构造条件子句时,需要根据三级索引确定字段类型,且字符串类型的字段值需要加上一对单引号。
例如:LDAP请求中的过滤条件为:”grade=senior engineer”,如果根据三级索引确定出grade的值是字符串类型,则转换成的SQL语句为:grade=’seniorengineer’。
其中,步骤309与步骤310的执行顺序可以互换。通过步骤309与步骤310,构造好了SQL请求。根据LDAP请求构造SQL请求请参考以下实例:查询路径为″dn:cn=employee,ou=HR,o=huawei″的数据表,可以转化为″select*from employee″的SQL语句,其中,employee是职员表,HR是人事数据库。
步骤311:LDAP服务器将构造好的SQL请求提交至该关系数据库。
接收到SQL请求的关系数据库解析SQL请求,将解析后的SQL请求转换为内部数据操作命令,获得数据结果,并向LDAP服务器返回SQL响应。
请参考图5,为本发明实施例一种LDAP服务器处理SQL响应的方法流程图,可以包括以下步骤:
步骤501:LDAP服务器接收到关系数据库返回的SQL响应;
SQL响应中包括LDAP客户端请求的数据所属的数据表。
步骤502:LDAP服务器遍历接收到的数据表的所有记录,并为每条记录扩展一个字段。
每条记录所扩展的字段可以从数字1开始,以等差数列的方式递增。需要指出的是,每条记录所扩展的字段互不相同,即每条记录的字段唯一。
步骤503:LDAP服务器为该关系数据库的数据表对应的目录项构造至少一个下一级目录项。
构造的下一级目录项与接收到的数据表的记录一一对应,且每条目录项的RDN为所对应的记录扩展的字段,属性为所对应的记录的内容。
请参考图6,为本发明实施例构造下一级目录项的示意图。在图6中,601为目录的根目录项,602为根目录项的下一级目录项,603为该关系数据库的目录项,包含该关系数据库的特征,且假设其RDN为DS1,604为该关系数据库数据表的目录项,605、606以及607为构造的数据表的下一级目录项,分别与数据表的每条记录相对应。
请参考图7,为本发明实施例构造下一级目录项的具体实例示意图。假设接收到的数据表为表1:
表1
  学号   姓   年龄
  第一条记录   101   王   20
  第二条记录   102   张   19
  第三条记录   103   21
第一条记录扩展的字段为1,第二条记录扩展的字段为2,第三条记录扩展的字段为3。在图7中,601为目录的根目录项,701为学生信息数据库的目录项,702为学生信息数据库中一个数据表的目录项,703、704以及705为构造的下一级目录项。703的RDN为1,其属性包括学生信息数据库的第一条记录,具体为:学号:101,姓:王,年龄:20。704的RDN为2,其属性包括学生信息数据库的第二条记录,具体为:学号:102,姓:张,年龄:19。705的RDN为3,其属性包括学生信息数据库的第三条记录,具体为:学号:103,姓:吴,年龄:21。
至此,完成了关系数据库向LDAP目录的转换。
步骤504:LDAP服务器向LDAP客户端返回LDAP响应;
LDAP响应中包括一个路径,该路径包括该关系数据库对应的目录项的路径、数据表对应的目录项的路径,以及查询的数据表记录对应的目录项的路径。
步骤505:LDAP客户端接收到LDAP响应后,将查询结果以LDAP格式展现给用户。
可以看出,在本发明实施例中,当接收到来自关系数据库的SQL响应时,为数据表的每条记录扩展唯一的关键字,并为数据表的目录项构造下一级目录项,将每条记录的关键字作为每个下一级目录项的RDN,从而实现了关系数据库向LDAP目录的转换,进而可以向客户端返回包含客户端所需数据的响应。
请参考图8,为本发明实施例提供的一种服务器结构示意图,可以包括:
提交单元801,用于向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求。
接收单元802,用于接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表。
扩展单元803,用于为所述对应数据表的每条记录扩展唯一的关键字。
构造单元804,用于在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字。
返回单元805,用于向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
可以看出,在本发明实施例中,当接收到来自关系数据库的SQL响应时,为数据表的每条记录扩展唯一的关键字,并为数据表的目录项构造下一级目录项,将每条记录的关键字作为每个下一级目录项的RDN,从而实现了关系数据库向LDAP目录的转换,进而可以向客户端返回包含客户端所需数据的响应。
其中,本实施例所涉及的LDAP请求、SQL请求、关键字、下一级目录项以及所涉及的具体工作过程,可以参考上述图3至图7所涉及的实施例揭露的相关内容,在此不再赘述。
可选的,请参考图9,为本发明实施例提供的另一种服务器结构示意图,在图8的基础上,还可以包括:
配置单元901,用于在所述提交单元801执行操作之前,对待查询的各关系数据库进行配置,以得到配置信息,所述配置信息至少包括所述各关系数据库的路径;
数据库确定单元902,用于根据所述待查询的各关系数据库的路径确定要查询的关系数据库;
所述提交单元801用于向确定出的关系数据库提交由LDAP请求映射的SQL请求。
建立单元903,用于根据所述配置单元901的配置信息连接到所述待查询的各关系数据库,从所述待查询的各关系数据库分别获取元数据,根据获取的元数据分别为所述待查询的各关系数据库建立关系数据库、数据表以及数据表字段的三级索引;
查询单元904,用于根据所述数据库确定单元902确定出的关系数据库的目录项查询下一级目录项,得到数据表名称;
数据表确定单元905,用于根据所述数据库确定单元902确定出的关系数据库、所述查询单元904得到的数据表名称以及所述建立单元903建立的三级索引确定存在所述轻量级目录访问协议LDAP请求对应数据表。
更新单元906,用于定时访问所述待查询的各关系数据库,获取所述待查询的各关系数据库最新的元数据,根据获取的所述最新的元数据对所述建立单元903的三级索引进行更新。
所述提交单元801还可以包括:
映射单元907,用于根据所述三级索引查询所述客户端请求的数据的字段是否合法,若合法,则构造选择输出字段的子句,所述选择输出字段与所述LDAP请求中查询的属性对应,若不合法,则构造所述客户端请求的数据所在数据表中所有字段的子句;将所述LDAP请求中的过滤条件转换为SQL查询条件句的子句。
其中,本实施例所涉及的LDAP请求、SQL请求、关键字、下一级目录项以及所涉及的具体工作过程,可以参考上述图3至图7所涉及的实施例揭露的相关内容,在此不再赘述。
请参考图10,为本发明实施例提供的一种查询数据库的系统结构示意图,可以包括:
服务器1001,用于向关系数据库提交由LDAP请求映射的SQL请求;接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;向客户端1002返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径;
客户端1002,用于向所述服务器1001发送所述LDAP请求,并接收服务器返回的LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
其中,关系数据库可以包括:ORACLE数据库、DB2数据库和/或Sybase数据库。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种查询数据库的方法,其特征在于,所述方法包括:
向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;
接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;
为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的相对可辨别名RDN为对应记录的唯一的关键字;
向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对待查询的各关系数据库进行配置,以得到配置信息,所述配置信息至少包括所述待查询的各关系数据库的路径;
所述向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求包括:
根据所述待查询的各关系数据库的路径确定要查询的关系数据库;
向确定出的关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求。
3.根据权利要求2所述的方法,其特征在于,还包括:
根据所述配置信息连接到所述待查询的各关系数据库;
从所述待查询的各关系数据库分别获取元数据;
根据获取的元数据分别为所述待查询的各关系数据库建立关系数据库、数据表以及数据表字段的三级索引;
所述向确定出的关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求,包括:
根据确定出的关系数据库的目录项查询下一级目录项,得到数据表名称;
根据确定出的关系数据库、所述数据表名称以及所述三级索引确定存在所述LDAP请求对应数据表,则将LDAP请求映射为对应的SQL请求,并向确定出的关系数据库提交由LDAP请求映射的SQL请求。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
定时访问所述待查询的各关系数据库;
获取所述待查询的各关系数据库最新的元数据;
根据获取的所述最新的元数据对所述三级索引进行更新。
5.根据权利要求3所述的方法,其特征在于,将所述LDAP请求映射为对应的SQL请求包括:
根据所述三级索引查询所述客户端请求的数据的字段是否合法,若合法,则构造选择输出字段的子句,所述选择输出字段与所述LDAP请求中查询的属性对应,若不合法,则构造所述客户端请求的数据所在数据表中所有字段的子句;将所述LDAP请求中的过滤条件转换为SQL查询条件句的子句。
6.一种服务器,其特征在于,所述服务器包括:
提交单元,用于向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;
接收单元,用于接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;
扩展单元,用于为所述对应数据表的每条记录扩展唯一的关键字;
构造单元,用于在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;
返回单元,用于向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
7.根据权利要求6所述的服务器,其特征在于,所述服务器还包括:
配置单元,用于在所述提交单元执行操作之前,对待查询的各关系数据库进行配置,以得到配置信息,所述配置信息至少包括所述各关系数据库的路径;
数据库确定单元,用于根据所述待查询的各关系数据库的路径确定要查询的关系数据库;
所述提交单元用于向确定出的关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求。
8.根据权利要求7所述的服务器,其特征在于,所述服务器还包括:
建立单元,用于根据所述配置单元的配置信息连接到所述待查询的各关系数据库,从所述待查询的各关系数据库分别获取元数据,根据获取的元数据分别为所述待查询的各关系数据库建立关系数据库、数据表以及数据表字段的三级索引;
查询单元,用于根据所述数据库确定单元确定出的关系数据库的目录项查询下一级目录项,得到数据表名称;
数据表确定单元,用于根据所述数据库确定单元确定出的关系数据库、所述查询单元得到的数据表名称以及所述建立单元建立的三级索引确定存在所述轻量级目录访问协议LDAP请求对应数据表。
9.根据权利要求8所述的服务器,其特征在于,所述服务器还包括:
更新单元,用于定时访问所述待查询的各关系数据库,获取所述待查询的各关系数据库最新的元数据,根据获取的所述最新的元数据对所述建立单元的三级索引进行更新。
10.根据权利要求6所述的服务器,其特征在于,所述提交单元包括:
映射单元,用于根据所述三级索引查询所述客户端请求的数据的字段是否合法,若合法,则构造选择输出字段的子句,所述选择输出字段与所述LDAP请求中查询的属性对应,若不合法,则构造所述客户端请求的数据所在数据表中所有字段的子句;将所述LDAP请求中的过滤条件转换为SQL查询条件句的子句。
11.一种查询数据库的系统,其特征在于,所述系统包括:
服务器,用于向关系数据库提交由轻量级目录访问协议LDAP请求映射的结构化查询语言SQL请求;接收所述关系数据库根据所述SQL请求返回的SQL响应,所述SQL响应包括所述关系数据库查询获得的对应数据表;为所述对应数据表的每条记录扩展唯一的关键字,并在目录中为所述数据表的目录项构造至少一个下一级目录项,每个下一级目录项与所述每条记录一一对应,且所述每个下一级目录项的RDN为对应记录的唯一的关键字;向客户端返回LDAP响应,所述LDAP响应包括所述下一级目录项的路径;
客户端,用于向所述服务器发送所述LDAP请求,并接收服务器返回的LDAP响应,所述LDAP响应包括所述下一级目录项的路径。
CN 200910222615 2009-11-19 2009-11-19 一种查询数据库的方法、服务器及系统 Active CN102073644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910222615 CN102073644B (zh) 2009-11-19 2009-11-19 一种查询数据库的方法、服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910222615 CN102073644B (zh) 2009-11-19 2009-11-19 一种查询数据库的方法、服务器及系统

Publications (2)

Publication Number Publication Date
CN102073644A true CN102073644A (zh) 2011-05-25
CN102073644B CN102073644B (zh) 2013-08-14

Family

ID=44032188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910222615 Active CN102073644B (zh) 2009-11-19 2009-11-19 一种查询数据库的方法、服务器及系统

Country Status (1)

Country Link
CN (1) CN102073644B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744888A (zh) * 2013-12-23 2014-04-23 新浪网技术(中国)有限公司 反垃圾邮件网关查询数据库的方法和系统
CN107145606A (zh) * 2017-06-09 2017-09-08 郑州云海信息技术有限公司 一种数据管理方法及装置
CN109344159A (zh) * 2018-10-15 2019-02-15 北京天融信网络安全技术有限公司 用于ldap的查找方法、装置、电子设备及存储介质
CN112015725A (zh) * 2020-08-21 2020-12-01 广州欢网科技有限责任公司 一种数据管理方法和装置
CN117708304A (zh) * 2024-02-01 2024-03-15 浙江大华技术股份有限公司 数据库问答方法、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424358B1 (en) * 1998-12-03 2002-07-23 Lockheed Martin Corporation Method and system for importing database information
EP1768035A1 (en) * 2005-09-26 2007-03-28 Research In Motion Limited LDAP to SQL database proxy system and method
CN101271473A (zh) * 2008-04-29 2008-09-24 华为技术有限公司 数据查询方法、装置及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744888A (zh) * 2013-12-23 2014-04-23 新浪网技术(中国)有限公司 反垃圾邮件网关查询数据库的方法和系统
CN107145606A (zh) * 2017-06-09 2017-09-08 郑州云海信息技术有限公司 一种数据管理方法及装置
CN109344159A (zh) * 2018-10-15 2019-02-15 北京天融信网络安全技术有限公司 用于ldap的查找方法、装置、电子设备及存储介质
CN109344159B (zh) * 2018-10-15 2022-03-11 北京天融信网络安全技术有限公司 用于ldap的查找方法、装置、电子设备及存储介质
CN112015725A (zh) * 2020-08-21 2020-12-01 广州欢网科技有限责任公司 一种数据管理方法和装置
CN112015725B (zh) * 2020-08-21 2023-12-22 广州欢网科技有限责任公司 一种数据管理方法和装置
CN117708304A (zh) * 2024-02-01 2024-03-15 浙江大华技术股份有限公司 数据库问答方法、设备及存储介质
CN117708304B (zh) * 2024-02-01 2024-05-28 浙江大华技术股份有限公司 数据库问答方法、设备及存储介质

Also Published As

Publication number Publication date
CN102073644B (zh) 2013-08-14

Similar Documents

Publication Publication Date Title
US7769769B2 (en) Methods and transformations for transforming metadata model
US5895465A (en) Heuristic co-identification of objects across heterogeneous information sources
US7702685B2 (en) Querying social networks
CN100468396C (zh) 用于任意数据模型的映射体系结构
US6839714B2 (en) System and method for comparing heterogeneous data sources
US9197597B2 (en) RDF object type and reification in the database
US8612468B2 (en) System and method for retrieving data from a relational database management system
US8112459B2 (en) Creating a logical table from multiple differently formatted physical tables having different access methods
EP1081610A2 (en) Methods for transforming metadata models
CA2281331A1 (en) Database management system
US20110302187A1 (en) Schema definition generating device and schema definition generating method
CN102073644B (zh) 一种查询数据库的方法、服务器及系统
Suciu et al. Foundations of probabilistic answers to queries
US20100287164A1 (en) Installation for managing a database
JP2011523750A (ja) X500データモデルをリレーショナル・データベースにマッピングするための方法
Mpinda et al. Evaluation of graph databases performance through indexing techniques
US20080294673A1 (en) Data transfer and storage based on meta-data
JP2006524376A (ja) 汎用データベーススキーマ
Marotta et al. Data warehouse design: A schema-transformation approach
Matuszka et al. Geodint: towards semantic web-based geographic data integration
Nicklas et al. A schema-based approach to enable data integration on the fly
KR100984976B1 (ko) 이질적인 2차원 테이블의 데이터를 통합하여 검색하는 방법
Dimou R2RML and RML comparison for RDF generation, their rules validation and inconsistency resolution
Bernauer et al. Self-maintaining web pages: from theory to practice
Sathappan et al. Database Management Systems

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201110

Address after: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

Effective date of registration: 20201110

Address after: 215500 No.13, Caotang Road, Changshu, Suzhou, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: Unit 2414-2416, main building, no.371, Wushan Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 215500 5th floor, building 4, 68 Lianfeng Road, Changfu street, Changshu City, Suzhou City, Jiangsu Province

Patentee after: Changshu intellectual property operation center Co.,Ltd.

Address before: No.13 caodang Road, Changshu City, Suzhou City, Jiangsu Province

Patentee before: Changshu intellectual property operation center Co.,Ltd.