專(zhuān)利名稱(chēng)::訪問(wèn)數(shù)據(jù)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及目錄服務(wù)領(lǐng)域,具體地涉及一種訪問(wèn)數(shù)據(jù)的方法及裝置。
背景技術(shù):
:豐圣量纟及目錄i方問(wèn)十辦i義(LightweightDirectoryAccessProtocol,LDAP)是一個(gè)用來(lái)發(fā)布目錄信息到許多不同資源的協(xié)議,它是基于X.500標(biāo)準(zhǔn)的、用來(lái)發(fā)布目錄信息到許多不同資源的協(xié)i義。在企業(yè)范圍內(nèi)實(shí)現(xiàn)LDAP可以讓運(yùn)行在幾乎所有計(jì)算機(jī)平臺(tái)上的所有的應(yīng)用程序從LDAP目錄中獲取信息。LDAP目錄中可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù)電子郵件地址、郵件路由信息、人力資源數(shù)據(jù)、公用密匙、聯(lián)系人列表,等等。通過(guò)把LDAP目錄作為系統(tǒng)集成中的一個(gè)重要環(huán)節(jié),可以筒化員工在企業(yè)內(nèi)部查詢信息的步驟,甚至連主要的數(shù)據(jù)源都可以放在任何地方。LDAP中定義了對(duì)數(shù)據(jù)的增加、刪除、修改和查詢操:作,而結(jié)構(gòu)化查詢語(yǔ)言(StructuredQueryLanguage,SQL)也定義了這四種梯:作,但是LDAP要操作的是樹(shù)形結(jié)構(gòu)的數(shù)據(jù)(也就是層次數(shù)據(jù)),而SQL操作的是關(guān)系型的數(shù)據(jù)。現(xiàn)有技術(shù)中,在把LDAP四種操作轉(zhuǎn)換成SQL的對(duì)應(yīng)操作時(shí),如果要對(duì)某個(gè)屬性進(jìn)行過(guò)濾查詢時(shí),需要對(duì)這個(gè)屬性建立屬性索引表,或者對(duì)標(biāo)識(shí)到條目的映射(簡(jiǎn)稱(chēng)ID2ENTRY)表中的條目Entry字段進(jìn)行分解然后進(jìn)行匹配;另夕卜,為了便于條目過(guò)濾,現(xiàn)有技術(shù)中使用子孫表(簡(jiǎn)稱(chēng)descendent表),對(duì)所有的屬性都建立屬性表,同時(shí)標(biāo)識(shí)名(DistinguishedName,DN)和屬性需要多次存儲(chǔ),導(dǎo)致空間浪費(fèi)比較大,效率較低;在增加、刪除和修改條目的時(shí)候,要對(duì)descendent表進(jìn)行多次操作,以及對(duì)每個(gè)屬性表都要單獨(dú)操作,效率較低。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種訪問(wèn)數(shù)據(jù)的方法及裝置,提高了查詢、增加、刪除和修改條目的效率。為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提出了一種訪問(wèn)數(shù)據(jù)的方法,包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,所述DIT包括所述標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)所述條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)所述條目對(duì)應(yīng)所述關(guān)系表中的一個(gè)記錄,所述條目的每個(gè)屬性對(duì)應(yīng)所述關(guān)系表的一個(gè)字段;根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。相應(yīng)地,本發(fā)明實(shí)施例還提供了一種訪問(wèn)數(shù)據(jù)的裝置,其特征在于,所述裝置包括查詢單元,用于沖艮據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,所述DIT包括所述標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)所述條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)所述條目對(duì)應(yīng)所述關(guān)系表中的一個(gè)記錄,所述條目的每個(gè)屬性對(duì)應(yīng)所述關(guān)系表的一個(gè)字段;處理單元,用于對(duì)根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。在本發(fā)明實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢、增加、刪除和修改條目的效率,從而更快捷地查詢或維護(hù)關(guān)系表。為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第一實(shí)施例的流程示意圖;圖2是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第二實(shí)施例的流程示意圖;圖3是本發(fā)明的訪問(wèn)凝:據(jù)的方法的第三實(shí)施例的流程示意圖;圖4是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第三實(shí)施例的流程示意圖;圖5是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第五實(shí)施例的流程示意圖;圖6是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第六實(shí)施例的流程示意圖;圖7是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第七實(shí)施例的流程示意圖;圖8是本發(fā)明實(shí)施例的訪問(wèn)數(shù)據(jù)的裝置的結(jié)構(gòu)示意圓。具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附閨,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明實(shí)施例一部分實(shí)施例,而不是全部的實(shí)施例。基于所描述的本發(fā)明實(shí)施例中的方案,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明要求專(zhuān)利保護(hù)的范圍。圖1是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第一實(shí)施例的流程示意圖,如圖l所示,該方法包4舌101,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,該條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段;102,根據(jù)標(biāo)識(shí)名查詢或維護(hù)關(guān)系表。在本實(shí)施例中,查詢流程包括查詢DIT的單節(jié)點(diǎn)流程、查詢DIT的直接子節(jié)點(diǎn)流程或查詢DIT的子樹(shù)流程,而維護(hù)流程則包括對(duì)數(shù)據(jù)庫(kù)關(guān)系表中的數(shù)據(jù)進(jìn)行增加、刪除、修改等流程。在本發(fā)明方法第一實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢、增加、刪除和修改條目的效率,從而更快捷地查詢或維護(hù)關(guān)系表。在本發(fā)明實(shí)施例中,引入了目錄信息樹(shù)(DirectoryInformaitionTree,DIT),通過(guò)DIT定義了條目類(lèi)之間的層次關(guān)系;每個(gè)條目類(lèi)對(duì)應(yīng)一張關(guān)系表,一個(gè)條目對(duì)應(yīng)關(guān)系表中的一條記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段;進(jìn)一步的,該DIT還定義了各條目類(lèi)的相對(duì)標(biāo)識(shí)名(RelativeDistinguishedName,RDN)的屬性名和屬性值等,在每張關(guān)系表中增加一個(gè)DN字段,如果每個(gè)條目的RDN的屬性值都是不同的,這個(gè)條目類(lèi)對(duì)應(yīng)的表再增加一個(gè)上一級(jí)標(biāo)識(shí)名(Parent—DN)字段。例如,表l是一個(gè)公司的員工信息樹(shù),采用引入DIT,存儲(chǔ)到關(guān)系數(shù)據(jù)庫(kù)中后信息如表2、表3、表4所示,表2、表3、表4分別是部門(mén)信息表、員工信息表、員工的基本信息表。8Ou=XX|011=核心10u4線Cn:張三lICn一四l|Cn=^S|lET-基本信息llET-基本信息l|1^=基4信息|表l<table>tableseeoriginaldocumentpage9</column></row><table>表2<table>tableseeoriginaldocumentpage9</column></row><table>…表4例如"OuID-核心,Ou=XX,,保存在表中的為"核心"。"Cn-張三,Ou-核心,Ou=XX"保存在表中的為"張三,核心"。另外,DN和Parent—DN字段存儲(chǔ)到關(guān)系表中不需保存完整的DN形式,只需保存變化的部分。在本發(fā)明實(shí)施例中,對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢的過(guò)程可如本發(fā)明方法的第二、第三、第四實(shí)施例所示,下面結(jié)合圖2對(duì)查詢單節(jié)點(diǎn)流程進(jìn)行詳細(xì)地說(shuō)明。圖2是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第二實(shí)施例的流程示意圖,如圖2所示,查詢單節(jié)點(diǎn)的過(guò)程包括201,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名;該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。202,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;202中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。203,根據(jù)壓縮后的標(biāo)識(shí)名匹配關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目??蛇x的,包括204,對(duì)查詢到的條目進(jìn)行過(guò)濾并返回查詢結(jié)果;在204中,可以根據(jù)實(shí)際需要進(jìn)行屬性過(guò)濾和/或條件過(guò)濾,在過(guò)濾后將查詢結(jié)果返回給客戶端。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢單節(jié)點(diǎn)的效率,以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。圖3是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第三實(shí)施例的流程示意圖,如圖3所示,查詢直接子節(jié)點(diǎn)的過(guò)程包括301,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目的所有直接子條目對(duì)應(yīng)的關(guān)系表名;該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。302,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;302中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。303,根據(jù)壓縮后的標(biāo)識(shí)名匹配直接子條目的關(guān)系表的上一級(jí)標(biāo)識(shí)名Parent_DN字段進(jìn)行查詢獲得查詢到的條目。可選的,包括304,對(duì)查詢到的條目進(jìn)行過(guò)濾并返回查詢結(jié)果;在304中,可以根據(jù)實(shí)際需要進(jìn)行屬性過(guò)濾和/或條件過(guò)濾,在過(guò)濾后將查詢結(jié)果返回給客戶端。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢直接子節(jié)點(diǎn)的效率,以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。圖4是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第三實(shí)施例的流程示意圖,如圖4所示,查詢子樹(shù)的過(guò)程包括401,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名;該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。402,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;402中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。403,根據(jù)壓縮后的標(biāo)識(shí)名匹配關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目??蛇x的,包括404,對(duì)查詢到的條目進(jìn)行過(guò)濾并返回查詢結(jié)果;在404中,可以根據(jù)實(shí)際需要進(jìn)行屬性過(guò)濾和/或條件過(guò)濾,在過(guò)濾后將查詢結(jié)果返回給客戶端。405,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目的所有直接子條目對(duì)應(yīng)的關(guān)系表名;406,對(duì)標(biāo)識(shí)名進(jìn)行壓縮;406中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用;407,根據(jù)壓縮后的標(biāo)識(shí)名匹配直接子條目的關(guān)系表的上一級(jí)標(biāo)識(shí)名Parent—DN字段進(jìn)行查詢獲得查詢到的條目;可選的,包括408,對(duì)查詢到的條目進(jìn)行過(guò)濾并返回查詢結(jié)果;在408中,可以根據(jù)實(shí)際需要進(jìn)行屬性過(guò)濾和條件過(guò)濾,在過(guò)濾后將查詢結(jié)果返回給客戶端;在408后,循環(huán)上述查詢直接子節(jié)點(diǎn)流程直至查詢到的條目為零,也就是,以這些子條目的DN為查詢條件返回405查詢各自的子條目,依次遞歸,直到?jīng)]有子條目為止。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢子樹(shù)的效率,以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。在本發(fā)明實(shí)施例中,對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增加的過(guò)程可如本發(fā)明方法的第五實(shí)施例所示,下面結(jié)合圖5對(duì)增加操作進(jìn)行詳細(xì)地說(shuō)明。圖5是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第五實(shí)施例的流程示意圖,如圖5所示,對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)增加"l喿作的過(guò)程包括501,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。502,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;502中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。503,將壓縮后的標(biāo)識(shí)名和包括所要增加條目的屬性的列表插入到所查詢到的關(guān)系表中。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,以及對(duì)DN進(jìn)行壓縮,提高了增加操作的效率,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。在本發(fā)明實(shí)施例中,對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行刪除的過(guò)程可如本發(fā)明方法的第六實(shí)施例所示,下面結(jié)合圖6對(duì)刪除操作進(jìn)行詳細(xì)地說(shuō)明。圖6是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第六實(shí)施例的流程示意圖,如圖6所示,對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)刪除操作的過(guò)程包括601,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。602,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;602中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。12603,將壓縮后的標(biāo)識(shí)名作為匹配條件刪除所查詢到的關(guān)系表中的記錄。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了刪除操作的效率,以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。在本發(fā)明實(shí)施例中,對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改的過(guò)程可如本發(fā)明方法的第七實(shí)施例所示,下面結(jié)合圖7對(duì)修改操作進(jìn)行詳細(xì)地說(shuō)明。圖7是本發(fā)明的訪問(wèn)數(shù)據(jù)的方法的第七實(shí)施例的流程示意圖,如圖7所示,對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)修改操作的過(guò)程包括701,根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段。702,對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;702中對(duì)存儲(chǔ)在關(guān)系表中的DN進(jìn)行壓縮,下層條目的記錄中只存儲(chǔ)直接上層條目壓縮后的DN,在某些情況下這些壓縮后的DN也可以不存儲(chǔ),這樣可以減少對(duì)存儲(chǔ)空間的占用。703,將壓縮后的標(biāo)識(shí)名作為匹配條件修改所查詢到的關(guān)系表中的記錄。在本方法實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了修改操作的效率,以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。在本發(fā)明的所有方法實(shí)施例中,都是以壓縮后的標(biāo)識(shí)名來(lái)對(duì)關(guān)系表進(jìn)行查詢或維護(hù)等操作的,在具體實(shí)施中,也可以利用不經(jīng)壓縮的標(biāo)識(shí)名來(lái)對(duì)關(guān)系表進(jìn)行查詢或維護(hù)等操作。另外,本發(fā)明還提供了訪問(wèn)數(shù)據(jù)的裝置的實(shí)施例,參見(jiàn)圖8,圖8是本發(fā)明實(shí)施例的訪問(wèn)數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖,該裝置包括查詢單元81,用于根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,該DIT包括標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)條目對(duì)應(yīng)關(guān)系表中的一個(gè)記錄,條目的每個(gè)屬性對(duì)應(yīng)關(guān)系表的一個(gè)字段;處理單元82,用于對(duì)#4居標(biāo)識(shí)名查詢或維護(hù)關(guān)系表。可選地,處理單元82包括壓縮子單元,用于對(duì)標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;處理子單元,用于根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名查詢或維護(hù)關(guān)系表。若處理子單元纟艮據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名查詢DIT的單節(jié)點(diǎn),則處理子單元包括查詢模塊,用于根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名匹配關(guān)系表的標(biāo)識(shí)名字段進(jìn)^f亍查詢獲得查詢到的條目;而當(dāng)處理子單元根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名查詢DIT的直接子節(jié)點(diǎn)時(shí),則上述查詢模塊還用于根據(jù)壓縮后的標(biāo)識(shí)名匹配直接子條目的關(guān)系表的上一級(jí)標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。另外,若處理子單元根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名查詢DIT的子樹(shù),則查詢子樹(shù)流程包括查詢單節(jié)點(diǎn)流程和查詢直接子節(jié)點(diǎn)流程;循環(huán)上述查詢直接子節(jié)點(diǎn)流程直至所查詢到的條目為零。若處理子單元根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名維護(hù)關(guān)系表是對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的lt據(jù)進(jìn)行增加時(shí),則處理子單元還包括增加模塊,用于將壓縮后的標(biāo)識(shí)名和包括所要增加條目的屬性的列表插入到所查詢到的關(guān)系表中。若處理子單元根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名維護(hù)關(guān)系表是對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行刪除時(shí),則處理子單元還包括刪除模塊,用于將壓縮后的標(biāo)識(shí)名作為匹配條件刪除所查詢到的關(guān)系表中的i己錄。若處理子單元根據(jù)壓縮子單元壓縮后的標(biāo)識(shí)名維護(hù)關(guān)系表是對(duì)關(guān)系數(shù)據(jù)庫(kù)如SQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行修改流程,則處理子單元還包括修改模塊,用于將壓縮后的標(biāo)識(shí)名作為匹配條件修改所查詢到的關(guān)系表中的i己錄。在本發(fā)明的裝置實(shí)施例中,都是以壓縮后的標(biāo)識(shí)名來(lái)對(duì)關(guān)系表進(jìn)行查詢或維護(hù)等操作的,在具體實(shí)施中,也可以利用不經(jīng)壓縮的標(biāo)識(shí)名來(lái)對(duì)關(guān)系表進(jìn)行查詢或維護(hù)等操作,則處理單元82可不包括壓縮子單元。在本發(fā)明的方法、裝置實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢、增加、刪除和修改條目的效率,從而更快捷地查詢或維護(hù)關(guān)系表;以及對(duì)DN進(jìn)行壓縮,減少信息的重復(fù)存儲(chǔ),從而在相同存儲(chǔ)空間下可以存儲(chǔ)更多的信息。通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以全部通過(guò)硬件來(lái)實(shí)施。基于這樣的理解,本發(fā)明的技術(shù)方案對(duì)
背景技術(shù):
做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。以上所揭露的僅為本發(fā)明實(shí)施例的較佳實(shí)施例而已,當(dāng)然不能以此來(lái)限定要求專(zhuān)利保護(hù)的范圍,因此依本發(fā)明實(shí)施例所作的等同變化,仍屬權(quán)利要求所涵蓋的范圍。權(quán)利要求1、一種訪問(wèn)數(shù)據(jù)的方法,其特征在于,包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,所述DIT包括所述標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)所述條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)所述條目對(duì)應(yīng)所述關(guān)系表中的一個(gè)記錄,所述條目的每個(gè)屬性對(duì)應(yīng)所述關(guān)系表的一個(gè)字段;根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。2、如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表,包括對(duì)所述標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;根據(jù)所述壓縮后的標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。3、如權(quán)利要求1或2所述的方法,其特征在于,所述DIT還包括各條目類(lèi)的相對(duì)標(biāo)識(shí)名RDN的屬性名及屬性值;在每張關(guān)系表中增加一個(gè)標(biāo)識(shí)名字段;若每個(gè)條目的相對(duì)標(biāo)識(shí)名的屬性值不同,則在每張關(guān)系表中增加一個(gè)上一級(jí)標(biāo)識(shí)名字段。4、如權(quán)利要求3所述的方法,其特征在于,若根據(jù)所述標(biāo)識(shí)名查詢所述DIT的單節(jié)點(diǎn),則所述根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表包括根據(jù)所述壓縮后的標(biāo)識(shí)名匹配所述關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢荻得查詢到的條目。5、如權(quán)利要求3所述的方法,其特征在于,若根據(jù)所述標(biāo)識(shí)名查詢所述DIT的直接子節(jié)點(diǎn),則所述根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目的所有直接子條目對(duì)應(yīng)的關(guān)系表名;則所述根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表包括根據(jù)所述壓縮后的標(biāo)識(shí)名匹配直接子條目的關(guān)系表的上一級(jí)標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。6、如權(quán)利要求5所述的方法,其特征在于,若根據(jù)所述標(biāo)識(shí)名查詢所述DIT的子樹(shù),則查詢子樹(shù)流程包括查詢單節(jié)點(diǎn)流程和查詢直接子節(jié)點(diǎn)流程;循環(huán)所述查詢直接子節(jié)點(diǎn)流程直至所述查詢到的條目為零;所述查詢單節(jié)點(diǎn)流程包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名;根據(jù)所述壓縮后的標(biāo)識(shí)名匹配所述關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。7、如權(quán)利要求2所述的方法,其特征在于,若所述根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表的流程為增加數(shù)據(jù)流程,則所述根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表包括將所述壓縮后的標(biāo)識(shí)名和包括所要增加條目的屬性的列表插入到所查詢到的關(guān)系表中。8、如權(quán)利要求2所述的方法,其特征在于,若根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表的流程為刪除數(shù)據(jù)流程,則所述根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表包括將所述壓縮后的標(biāo)識(shí)名作為匹配條件刪除所查詢到的關(guān)系表中的記錄。9、如權(quán)利要求2所述的方法,其特征在于,若根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表的流程為修改數(shù)據(jù)流程,則所述根據(jù)所述標(biāo)識(shí)名維護(hù)所述關(guān)系表包括將所述壓縮后的標(biāo)識(shí)名作為匹配條件修改所查詢到的關(guān)系表中的記錄。10、一種訪問(wèn)數(shù)據(jù)的裝置,其特征在于,所述裝置包括查詢單元,用于根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,所述DIT包括所述標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)所述條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)所述條目對(duì)應(yīng)所述關(guān)系表中的一個(gè)記錄,所述條目的每個(gè)屬性對(duì)應(yīng)所述關(guān)系表的一個(gè)字段;處理單元,用于對(duì)#4居所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。11、如權(quán)利要求IO所述的裝置,其特征在于,所述處理單元包括壓縮子單元,用于對(duì)所述標(biāo)識(shí)名進(jìn)行壓縮獲得壓縮后的標(biāo)識(shí)名;處理子單元,用于根據(jù)所述壓縮子單元壓縮后的標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。12、如權(quán)利要求10或11所述的裝置,其特征在于,所述DIT還包括各條目類(lèi)的相對(duì)標(biāo)識(shí)名RDN的屬性名及屬性值;在每張關(guān)系表中增加一個(gè)標(biāo)識(shí)名字段;若每個(gè)條目的相對(duì)標(biāo)識(shí)名的屬性值不同,則在每張關(guān)系表中增加一個(gè)上一級(jí)標(biāo)識(shí)名字段。13、如權(quán)利要求12所述的裝置,其特征在于,則所述處理子單元包括查詢模塊,用于根據(jù)所述壓縮后的標(biāo)識(shí)名匹配所述關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。14、如權(quán)利要求12所述的裝置,其特征在于,所述查詢模塊還用于根據(jù)所述壓縮后的標(biāo)識(shí)名匹配直接子條目的關(guān)系表的上一級(jí)標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。15、如權(quán)利要求14所述的裝置,其特征在于,若根據(jù)所述標(biāo)識(shí)名查詢所述DIT的子樹(shù),則查詢子樹(shù)流程包括查詢單節(jié)點(diǎn)流程和查詢直接子節(jié)點(diǎn)流程;循環(huán)所述查詢直接子節(jié)點(diǎn)流程直至所述查詢到的條目為零;所述查詢單節(jié)點(diǎn)流程包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名;根據(jù)所述壓縮后的標(biāo)識(shí)名匹配所述關(guān)系表的標(biāo)識(shí)名字段進(jìn)行查詢獲得查詢到的條目。16、如權(quán)利要求12所述的裝置,其特征在于,則所述處理子單元還包括增加模塊,用于將所述壓縮后的標(biāo)識(shí)名和包括所要增加條目的屬性的列表插入到所查詢到的關(guān)系表中。17、如權(quán)利要求12所述的裝置,其特征在于,則所述處理子單元還包括刪除模塊,用于將所述壓縮后的標(biāo)識(shí)名作為匹配條件刪除所查詢到的關(guān)系表中的記錄。18、如權(quán)利要求12所述的裝置,其特征在于,則所述處理子單元還包括修改模塊,用于將所述壓縮后的標(biāo)識(shí)名作為匹配條件修改所查詢到的關(guān)系表中的記錄。全文摘要本發(fā)明實(shí)施例公開(kāi)了一種訪問(wèn)數(shù)據(jù)的方法,包括根據(jù)標(biāo)識(shí)名從目錄信息樹(shù)DIT中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,所述DIT包括所述標(biāo)識(shí)名以及各條目類(lèi)之間的層次關(guān)系,每個(gè)所述條目類(lèi)對(duì)應(yīng)一張關(guān)系表,每個(gè)所述條目對(duì)應(yīng)所述關(guān)系表中的一個(gè)記錄,所述條目的每個(gè)屬性對(duì)應(yīng)所述關(guān)系表的一個(gè)字段;根據(jù)所述標(biāo)識(shí)名查詢或維護(hù)所述關(guān)系表。同時(shí),本發(fā)明實(shí)施例還公開(kāi)了一種訪問(wèn)數(shù)據(jù)的裝置。在本發(fā)明實(shí)施例中,通過(guò)DN在目錄信息樹(shù)中查詢要查詢的條目對(duì)應(yīng)的關(guān)系表名,提高了查詢、增加、刪除和修改條目的效率,從而更快捷地查詢或維護(hù)關(guān)系表。文檔編號(hào)G06F17/30GK101482873SQ20081022012公開(kāi)日2009年7月15日申請(qǐng)日期2008年12月18日優(yōu)先權(quán)日2008年12月18日發(fā)明者蔣文軍申請(qǐng)人:華為技術(shù)有限公司