欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置制造方法

文檔序號:6632265閱讀:237來源:國知局
一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法,包括:建立節(jié)點信息表與節(jié)點關(guān)系表;發(fā)生元素變更時,將變更元素的元素基本信息在節(jié)點信息表中進行相應(yīng)變更;根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;根據(jù)變更元素的變更類型,對節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。本申請可以降低內(nèi)存資源消耗,提升樹查詢和處理效率,能實現(xiàn)實時變更多樹節(jié)點。
【專利說明】一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)庫領(lǐng)域,尤其涉及一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置。

【背景技術(shù)】
[0002]在數(shù)據(jù)庫系統(tǒng)的設(shè)計中,樹結(jié)構(gòu)是信息的重要組織形式,一切具有層級關(guān)系的原型都可以樹來描述。目前,社會分工日益細化,樹元素不再單獨存在,一方面,同一個元素個體可能在多種樹中存在,以人為例,在家為家族樹中的某一節(jié)點、在企業(yè)又為企業(yè)員工樹的某一節(jié)點等,另一方面,不同元素個體間關(guān)系也多樣化。因此,多樹存儲和查詢效率的高低,會嚴重影響計算機信息系統(tǒng)的性能和資源利用。
[0003]目前,針對樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法,通常做法為:將節(jié)點設(shè)計成兩張表,一張為節(jié)點信息表,存儲節(jié)點10如社1011)和基本信息;另一張為節(jié)點關(guān)系表,包含樹類型、節(jié)點10和其父節(jié)點的10、規(guī)則號¢111610)、節(jié)點所處層級、在層級中的次序,規(guī)則號帶一定規(guī)則,長度根據(jù)樹的寬度和深度進行設(shè)置,增加一個節(jié)點規(guī)則號生成模塊,用于從根節(jié)點往下依次遞歸,生成每個節(jié)點在每顆樹上的仙1610,比如寬度為3、深度為3的樹,根節(jié)點尺111610為0,其子節(jié)點仙1610依次為00、01、02,如01的子節(jié)點為010、011、012。在此方案下,新增一棵樹,在節(jié)點關(guān)系表中增加新的樹的類型值,無須對數(shù)據(jù)設(shè)計進行調(diào)整;查詢節(jié)點八的所有父節(jié)點的方法為查詢仙1610,對10進行解析即可關(guān)聯(lián)查出所有父節(jié)點,比如尺111610為012的所有父節(jié)點即仙1610分別為0、01的節(jié)點;當要展示樹全量信息時,對節(jié)點關(guān)系表根據(jù)仙1610的長度和仙1610進行排序,即可全量展示。在多樹查詢時,需要分解成單樹查詢,再對單樹查詢結(jié)果進行比較和合并,因而查詢效率較低。當元素存在于多棵樹時,也只能按照樹的類型依次進行變更,不能有效實現(xiàn)多樹節(jié)點的實時變更。


【發(fā)明內(nèi)容】

[0004]針對上述缺陷,本發(fā)明實施例提供了一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置,可以實時生成且查詢效率較高。
[0005]一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法,包括:
[0006]建立節(jié)點信息表與節(jié)點關(guān)系表;
[0007]發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;
[0008]根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;
[0009]根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0010]一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置,其特征在于,包括:
[0011]建立模塊,建立節(jié)點信息表與節(jié)點關(guān)系表;
[0012]變更模塊,將發(fā)生變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;
[0013]編號模塊,根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;
[0014]更新模塊,根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0015]本申請中,通過建立節(jié)點信息表與節(jié)點關(guān)系表,在發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更,然后,根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號,最后,根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。以元素編號為媒介,突破了所有樹與樹之間的隔閡,在變更時可將所有節(jié)點關(guān)系表中記錄當成同一樹記錄處理,又只涉及串接、替換或者清除規(guī)則,不涉及重新排序,內(nèi)存資源消耗低,提升樹查詢和處理效率,能實現(xiàn)實時變更多樹節(jié)點。

【專利附圖】

【附圖說明】
[0016]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法的流程示意圖;
[0018]圖2為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法的另一種流程示意圖;
[0019]圖3為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法的具體應(yīng)用場景流程圖;
[0020]圖4為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置的結(jié)構(gòu)示意圖;
[0021]圖5為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置的變更模塊的結(jié)構(gòu)示意圖;
[0022]圖6為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置的編號模塊的結(jié)構(gòu)示意圖;
[0023]圖7為一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置的解析模塊的結(jié)構(gòu)示意圖。

【具體實施方式】
[0024]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0025]本發(fā)明實施例提供一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法及裝置,可以降低內(nèi)存資源消耗,能實現(xiàn)實時變更多樹節(jié)點。下面分別進行詳細介紹。
[0026]請參閱圖1,圖1為本發(fā)明實施例提供的一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法的流程示意圖。如圖1所示,該多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法可以包括以下步驟:
[0027]101、建立節(jié)點信息表與節(jié)點關(guān)系表。
[0028]所述建立節(jié)點信息表的方式為以元素編號作為主鍵,所述節(jié)點信息表用于存儲元素的基本信息,元素的基本信息包括:元素編號、元素的節(jié)點信息、元素的父節(jié)點信息等。所述建立節(jié)點關(guān)系表的方式為以元素編號為外鍵、樹類型、父節(jié)點元素編號為索引,規(guī)則編號為屬性。元素編號是將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,然后以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
[0029]102、發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;
[0030]所屬元素變更,其中變更的類型包括新增、修改和刪除。所述新增是指增加新的元素;所述修改是將某節(jié)點編號修改為其他編號;所述刪除是指將某個元素刪除。接著,將發(fā)生變更的元素基本信息在節(jié)點信息表中進行相應(yīng)信息更新,如變更類型是新增,則在節(jié)點信息表中記錄增加的位置,它的元素編號,以及其父節(jié)點信息等;如變更類型是修改,則在節(jié)點信息表中記錄修改的位置,修改元素的元素編號,將修改元素的元素編號替換成其他編號;如變更類型是刪除,則在節(jié)點信息表中記錄刪除節(jié)點的位置,及其父節(jié)點信息等,將含刪除元素編號的信息進行替換。
[0031]103、根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;
[0032]所述變更元素的其他附帶條件信息主要是指除變更元素編號以外的其他信息,如變更元素的父節(jié)點信息等。所述在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號即根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表的信息,查詢與變更元素相關(guān)的所在不同樹中的其他元素的元素編號、元素規(guī)則編號。依據(jù)所述查詢到的相關(guān)信息,對有關(guān)聯(lián)的元素生成相應(yīng)的元素規(guī)則編號。所述元素的規(guī)則編號可選地:元素的規(guī)則編號為父節(jié)點元素規(guī)則編號+分隔符+當前元素編號組成,其中根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
[0033]104、根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0034]所述根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0035]本發(fā)明實施例通過建立節(jié)點信息表與節(jié)點關(guān)系表;發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。以元素編號為媒介,突破了所有樹與樹之間的隔閡,在變更時可將所有節(jié)點關(guān)系表中記錄當成同一樹記錄處理,又只涉及串接、替換或者清除規(guī)則,不涉及重新排序,內(nèi)存資源消耗低,能實現(xiàn)實時變更多樹節(jié)點。
[0036]請參見圖2,作為一種可能的實施方式,查詢某個特定元素的父節(jié)點時,還包括步驟201與步驟202。
[0037]201、根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號;
[0038]所述根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則主要是元素的生成規(guī)則,編號規(guī)則等,所述其他附帶條件信息主要包括所述元素的父節(jié)點信息等,依據(jù)這些信息查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號。
[0039]202、根據(jù)所述元素規(guī)則編號生成的規(guī)則,反向解析,得到所述元素的全部上級父節(jié)點信息。
[0040]所述查詢的依據(jù)是所述元素規(guī)則編號的生成原則。通過逆向解析,能夠查詢找所述元素的全部父節(jié)點信息,最后,可以定位到在某棵樹的具體的父節(jié)點信息。
[0041]本發(fā)明實施例根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號;根據(jù)所述元素規(guī)則編號生成的規(guī)貝1J,反向解析,得到所述元素的全部上級父節(jié)點信息??梢愿鶕?jù)元素規(guī)則編號的長度快速定位元素所處層級,因而在多樹展示時,只需要根據(jù)節(jié)點關(guān)系表,按照不同的樹編號和元素規(guī)則編號長度、元素規(guī)則進行排序,可直接生產(chǎn)多樹,無需遞歸處理,提高了運行效率,節(jié)省了服務(wù)器資源。
[0042]請參見圖3,實施例三以一個具體進行說明,利用單樹結(jié)構(gòu)變更過程進行說明,如圖3所示。
[0043]若變更元素的變更類型為刪除時,在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。如果刪除節(jié)點元素B00000001,其中節(jié)點元素B00000001的父節(jié)點為:A00000000,元素規(guī)則編號為AOOOOOOOOlBOOOOOOOl,它的下一個節(jié)點信息為元素編號為B10000007,其父節(jié)點為:B00000001,元素規(guī)則編號為:A00000000|B00000001|B10000007。刪除節(jié)點元素B00000001時,找到所有以節(jié)點B00000001為父節(jié)點的節(jié)點,將這些節(jié)點的父節(jié)點編號替換為B00000001的父節(jié)點編號A00000000 ;第二步,將所有元素規(guī)則編號中,包含的“B000000011 ” 刪除。
[0044]若變更元素的變更類型為修改時,在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。如果將節(jié)點元素B00000001修改為B10000002節(jié)點,將所有本節(jié)點編號為B10000001的節(jié)點元素編號替換為B10000002,將所有元素規(guī)則編號中包含的“B10000001”替換為“B10000002”。
[0045]若變更元素的元素變更類型為新增時,在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。如果在根節(jié)點和C00000001之間新增節(jié)點,其中,根節(jié)點元素編號為:A00000000,根節(jié)點的元素編號的父節(jié)點為其本身,即A00000000,其元素規(guī)則編號為:A00000000,節(jié)點元素C00000001的父節(jié)點為A00000000,元素規(guī)則編號為:A00000000 I C00000001。第一步,給新增新節(jié)點編號,節(jié)點元素編號為D00000001 ;第二步,找到新節(jié)點父節(jié)點的元素規(guī)則編號:A00000000 ;第三步,將直接下一級節(jié)點的父節(jié)點編號從A00000000替換成D00000001 ;第四步,將所有元素規(guī)則編號中,包含的“A00000000 I C00000001” 替換成 “A00000000 ID000000011 C00000001”。
[0046]下面將結(jié)合附圖4-附圖7,對本發(fā)明實施例提供的一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置進行詳細介紹。需要說明的是,附圖4-附圖7所述的多數(shù)結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置可應(yīng)用于執(zhí)行上述附圖1-附圖3所示的方法。
[0047]請參見圖4,一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置的結(jié)構(gòu)示意圖,包括:建立模塊401、變更模塊402、編號模塊403、更新模塊404、解析模塊405。
[0048]建立模塊401,建立節(jié)點信息表與節(jié)點關(guān)系表。
[0049]所述建立模塊建立節(jié)點信息表與節(jié)點關(guān)系表時,所述建立節(jié)點信息表的方式為以元素編號作為主鍵,所述節(jié)點信息表用于存儲元素的基本信息,元素的基本信息包括:元素編號、元素的節(jié)點信息、元素的父節(jié)點信息等。所述建立節(jié)點關(guān)系表的方式為以元素編號為外鍵、樹類型、父節(jié)點元素編號為索引,規(guī)則編號為屬性。元素編號是將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,然后以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點兀素編號。
[0050]變更模塊402,將發(fā)生變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更。
[0051]變更模塊主要將將發(fā)生變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更。元素變更的類型包括新增、修改和刪除。所述新增是指增加新的元素;所述修改是將某節(jié)點編號修改為其他編號;所述刪除是指將某個元素刪除。接著,將發(fā)生變更的元素基本信息在節(jié)點信息表中進行相應(yīng)信息更新,如變更類型是新增,則在節(jié)點信息表中記錄增加的位置,它的元素編號,以及其父節(jié)點信息等;如變更類型是修改,則在節(jié)點信息表中記錄修改的位置,修改元素的元素編號,將修改元素的元素編號替換成其他編號;如變更類型是刪除,則在節(jié)點信息表中記錄刪除節(jié)點的位置,及其父節(jié)點信息等,將含刪除元素編號的信息進行替換。
[0052]編號模塊403,根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號。
[0053]所述變更元素的其他附帶條件信息主要是指除變更元素編號以外的其他信息,如變更元素的父節(jié)點信息等。所述在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號即根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表的信息,查詢與變更元素相關(guān)的所在不同樹中的其他元素的元素編號、元素規(guī)則編號。依據(jù)所述查詢到的相關(guān)信息,對有關(guān)聯(lián)的元素生成相應(yīng)的元素規(guī)則編號。所述元素的規(guī)則編號可選地:元素的規(guī)則編號為父節(jié)點元素規(guī)則編號+分隔符+當前元素編號組成,其中根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
[0054]更新模塊404,根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0055]更新模塊依據(jù)所述根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
[0056]解析模塊405,用來對所述某個特定元素進行解析獲取其父節(jié)點信息。
[0057]解析模塊根據(jù)元素編號及其它附帶條件信息獲得某個特定元素的規(guī)則編號,然后根據(jù)規(guī)則編號生成規(guī)則,反向解析元素規(guī)則編碼,獲得該元素的單樹或者多樹父節(jié)點信息以及子節(jié)點信息。
[0058]本發(fā)明實施例通過建立模塊建立節(jié)點信息表與節(jié)點關(guān)系表;變更模塊在發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;編號模塊根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號;更新模塊根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新;解析模塊,用來對所述某個特定元素進行解析獲取其父節(jié)點信息以及子節(jié)點信息以元素編號為媒介,突破了所有樹與樹之間的隔閡,在變更時可將所有節(jié)點關(guān)系表中記錄當成同一樹記錄處理,又只涉及串接、替換或者清除規(guī)則,不涉及重新排序,內(nèi)存資源消耗低,能實現(xiàn)實時變更多樹節(jié)點。
[0059]請參見圖5,為本發(fā)明實施例提供的變更模塊的一個實施例的結(jié)構(gòu)示意圖;該變更模塊可包括:刪除單元501、修改單元502和新增單元503。
[0060]刪除單元501,若變更元素的變更類型為刪除時,在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。
[0061]刪除單元主要在更變元素的變更類型為刪除時進行工作,然后在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。利用單樹結(jié)構(gòu)變更過程進行說明,如果刪除節(jié)點元素B00000001,其中節(jié)點元素B00000001的父節(jié)點為:A00000000,元素規(guī)則編號為A00000000 | B00000001,它的下一個節(jié)點信息為元素編號為B10000007,其父節(jié)點為:B00000001,元素規(guī)則編號為:A00000000|B00000001 |B10000007。刪除節(jié)點元素B00000001時,找到所有以節(jié)點B00000001為父節(jié)點的節(jié)點,將這些節(jié)點的父節(jié)點編號替換為B00000001的父節(jié)點編號A00000000 ;第二步,將所有元素規(guī)則編號中,包含的“B00000001I ”刪除。
[0062]修改單元502,若變更元素的變更類型為修改時,在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。
[0063]刪除單元主要在更變元素的變更類型為刪除時進行工作,然后在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴。利用單樹結(jié)構(gòu)變更過程進行說明,如果將節(jié)點元素B00000001修改為B10000002節(jié)點,將所有本節(jié)點編號為B10000001的節(jié)點元素編號替換為B10000002,將所有元素規(guī)則編號中包含的 “B10000001” 替換為 “B10000002”。
[0064]新增單元503,若變更元素的元素變更類型為新增時,在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。
[0065]新增單元主要在更變元素的變更類型為新增時進行工作,在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。利用單樹結(jié)構(gòu)變更過程進行說明,如果在根節(jié)點和C00000001之間新增節(jié)點,其中,根節(jié)點元素編號為:A00000000,根節(jié)點的元素編號的父節(jié)點為其本身,即A00000000,其元素規(guī)則編號為:A00000000,節(jié)點元素C00000001的父節(jié)點為A00000000,元素規(guī)則編號為:A00000000 | C00000001。第一步,給新增新節(jié)點編號,節(jié)點元素編號為D00000001 ;第二步,找到新節(jié)點父節(jié)點的元素規(guī)則編號:A00000000 ;第三步,將直接下一級節(jié)點的父節(jié)點編號從A00000000替換成D00000001 ;第四步,將所有元素規(guī)則編號中,包含的 “A00000000 I C00000001 ” 替換成 “A00000000 ID000000011 C00000001 ”。
[0066]本發(fā)明實施例中若變更元素的變更類型為刪除時,刪除單元在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴;若變更元素的變更類型為修改時,修改單元在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴;若變更元素的元素變更類型為新增時,新增單元在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。以元素編號為媒介,突破了所有樹與樹之間的隔閡,在變更時可將所有節(jié)點關(guān)系表中記錄當成同一樹記錄處理,又只涉及串接、替換或者清除規(guī)則,不涉及重新排序,內(nèi)存資源消耗低,能實現(xiàn)實時變更多樹節(jié)點。
[0067]請參見圖6,為本發(fā)明實施例提供的編號模塊的一個實施例的結(jié)構(gòu)示意圖;該變更模塊可包括:元素編號單元601、元素規(guī)則編號單元602。
[0068]元素編號單元601,將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,即元素編號。
[0069]元素編號單元主要將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,即元素編號。所述特定規(guī)則指隨機規(guī)則,所述唯一定長標識是指所述元素編號統(tǒng)一長度。
[0070]元素規(guī)則編號單元602,以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
[0071]元素規(guī)則編號單元主要以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。所述元素的規(guī)則編號可選地:元素的規(guī)則編號為父節(jié)點元素規(guī)則編號+分隔符+當前元素編號組成,其中根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
[0072]本發(fā)明實施例利用元素編號單元將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,即元素編號。然后,元素規(guī)則編號單元,以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號??梢愿鶕?jù)元素規(guī)則編號的長度快速定位元素所處層級,因而在多樹展示時,只需要根據(jù)節(jié)點關(guān)系表,按照不同的樹編號和元素規(guī)則編號長度、元素規(guī)則進行排序,可直接生產(chǎn)多樹,無需遞歸處理,提高了運行效率,節(jié)省了服務(wù)器資源
[0073]請參見圖7,為本發(fā)明實施例提供的解析模塊的一個實施例的結(jié)構(gòu)示意圖;該變更模塊可包括:查詢單元701、解析單元702。
[0074]查詢單元,根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號。
[0075]所述根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則主要是元素的生成規(guī)則,編號規(guī)則等,所述其他附帶條件信息主要包括所述元素的父節(jié)點信息等,依據(jù)這些信息查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號。
[0076]解析單元,根據(jù)所述元素規(guī)則編號生成的規(guī)則,反向解析,得到所述元素的全部上級父節(jié)點信息,或者解析所有節(jié)點的元素規(guī)則編號獲得所述元素的全部下轄節(jié)點信息。
[0077]所述查詢的依據(jù)是所述元素規(guī)則編號的生成原則。通過反向解析,能夠查詢找所述元素的全部父節(jié)點信息,最后,可以定位到在某棵樹的具體的父節(jié)點信息,或者依據(jù)元素規(guī)則編號的生成原則,通過解析所有節(jié)點的元素規(guī)則編號,能夠查詢以所述節(jié)點為根節(jié)點的樹節(jié)點信息。
[0078]本發(fā)明實施例查詢單元根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號;解析單元根據(jù)所述元素規(guī)則編號生成的規(guī)則,不進行遞歸處理,而是通過反向解析,得到所述元素的全部上級父節(jié)點信息,或者解析所有節(jié)點的元素規(guī)則編號獲得所述元素的全部下轄節(jié)點信息??梢愿鶕?jù)元素規(guī)則編號的長度快速定位元素所處層級,因而在多樹展示時,只需要根據(jù)節(jié)點關(guān)系表,按照不同的樹編號和元素規(guī)則編號長度、元素規(guī)則進行排序,可直接生產(chǎn)多樹,無需遞歸處理,提高了運行效率,節(jié)省了服務(wù)器資源。
[0079]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存取存儲器(Random AccessMemory,簡稱 RAM)等。
[0080]以上所揭露的僅為本發(fā)明較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
【權(quán)利要求】
1.一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計方法,其特征在于,包括: 建立節(jié)點信息表與節(jié)點關(guān)系表; 發(fā)生元素變更時,將變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更;根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號; 根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,查詢某個特定元素的父節(jié)點時,包括: 根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號; 根據(jù)所述元素規(guī)則編號生成的規(guī)則,通過反向解析,得到所述元素的全部上級父節(jié)點信息,或者解析所有節(jié)點的元素規(guī)則編號獲得所屬元素的全部下轄節(jié)點信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)變更元素的變更類型,對節(jié)點關(guān)系表中,涉及變更的記錄進行元素規(guī)則編號更新,包括: 若變更元素的變更類型為刪除時,在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴; 若變更元素的變更類型為修改時,在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴; 若變更元素的元素變更類型為新增時,在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,建立節(jié)點信息表與節(jié)點關(guān)系表,還包括: 將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,即元素編號; 以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
5.一種多樹結(jié)構(gòu)的數(shù)據(jù)庫設(shè)計裝置,其特征在于,包括: 建立模塊,建立節(jié)點信息表與節(jié)點關(guān)系表; 變更模塊,將發(fā)生變更元素的元素基本信息在所述節(jié)點信息表中進行相應(yīng)變更; 編號模塊,根據(jù)所述變更元素的元素編號及所述變更元素的其他附帶條件信息在所述節(jié)點關(guān)系表中查詢不同樹對應(yīng)的元素規(guī)則編號,并基于所述變更元素的父節(jié)點元素編號和所述元素規(guī)則編號生成新的元素規(guī)則編號; 更新模塊,根據(jù)變更元素的變更類型,對所述節(jié)點關(guān)系表中涉及變更的記錄進行元素規(guī)則編號更新。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,查詢某個特定元素的父節(jié)點時,還包括: 解析模塊,用來對所述某個特定元素進行解析獲取其父節(jié)點信息。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,更變模塊,還包括: 刪除單元,若變更元素的變更類型為刪除時,在節(jié)點關(guān)系表中以空的新元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴; 修改單元,若變更元素的變更類型為修改時,在節(jié)點關(guān)系表以新的元素規(guī)則編號替換元素及其所有下屬子節(jié)點在相關(guān)樹的記錄作為元素規(guī)則編號的前綴; 新增單元,若變更元素的元素變更類型為新增時,在節(jié)點關(guān)系表中插入相關(guān)樹的記錄作為元素規(guī)則編號的前綴。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,建立模塊完成建立節(jié)點信息表與節(jié)點關(guān)系表之前,還包括: 元素編號單元,將存在于所述樹結(jié)構(gòu)中所有的元素根據(jù)元素信息表及特定規(guī)則生成元素的唯一定長標識,即元素編號; 元素規(guī)則編號單元,以分隔符與所述元素編號為基礎(chǔ),按照一定規(guī)則生成元素規(guī)則編號,其中,根節(jié)點的元素規(guī)則編號為根節(jié)點元素編號。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,解析模塊還包括: 查詢單元,根據(jù)所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則或其他附帶條件信息,查詢所述元素在所述節(jié)點關(guān)系表中的元素規(guī)則編號; 解析單元,根據(jù)所述元素規(guī)則編號生成的規(guī)則,通過反向解析,得到所述元素的全部上級父節(jié)點信息,或者解析所有節(jié)點的元素規(guī)則編號獲得所述元素的全部下轄節(jié)點信息。
【文檔編號】G06F17/30GK104408067SQ201410594713
【公開日】2015年3月11日 申請日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】高劍武, 陶暉, 劉青, 周劍一, 王海濤, 洪曉林, 廖爽, 吳昀蓁, 齊瓏, 王京花 申請人:中國建設(shè)銀行股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平昌县| 洛宁县| 涟源市| 德惠市| 石嘴山市| 扬州市| 香格里拉县| 佛冈县| 阳曲县| 华坪县| 乌鲁木齐市| 奉贤区| 绥芬河市| 股票| 贡嘎县| 应用必备| 麻江县| 麟游县| 理塘县| 平武县| 通海县| 遵义市| 武清区| 桃园市| 白河县| 黄山市| 方正县| 郁南县| 台山市| 桃园市| 都兰县| 循化| 望都县| 自治县| 丹棱县| 阿克苏市| 特克斯县| 江孜县| 临夏县| 饶河县| 比如县|