国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)結(jié)構(gòu)的建立方法與處理方法

      文檔序號(hào):6563306閱讀:189來(lái)源:國(guó)知局
      專利名稱:數(shù)據(jù)結(jié)構(gòu)的建立方法與處理方法
      技術(shù)領(lǐng)域
      本發(fā)明關(guān)于一種數(shù)據(jù)結(jié)構(gòu)的建立方法與處理方法,特別關(guān)于一種利用樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法與處理方法。
      背景技術(shù)
      隨著信息產(chǎn)業(yè)的進(jìn)步,各類型的數(shù)據(jù)數(shù)字化之后存儲(chǔ)于數(shù)據(jù)庫(kù)中,而使用者可經(jīng)由下達(dá)適當(dāng)?shù)呐袛鄺l件,在數(shù)據(jù)庫(kù)中找尋到數(shù)據(jù)或是讓數(shù)據(jù)庫(kù)依據(jù)判斷條件自動(dòng)地送出數(shù)據(jù)。另一方面,由于因特網(wǎng)的發(fā)達(dá)與普及,使用者亦能在終端機(jī)通過(guò)網(wǎng)絡(luò)存取或操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。
      如圖1所示,一終端機(jī)11與一服務(wù)端12通過(guò)網(wǎng)絡(luò)14而連線,并以超文字傳輸協(xié)定(Hyper Text Transfer Protocol,HTTP)進(jìn)行數(shù)據(jù)交換。另外,一數(shù)據(jù)庫(kù)13設(shè)置于服務(wù)器12上或與服務(wù)器12連線。于此結(jié)構(gòu)下,使用者可利用終端機(jī)11操作視窗瀏覽器,來(lái)篩選與修改數(shù)據(jù)庫(kù)13中的數(shù)據(jù)。
      如圖2所示,使用者可于終端機(jī)的視窗瀏覽器上選取要查詢的條件項(xiàng)目如日期、作者、產(chǎn)品名稱等等(步驟S01)。然后輸入各條件項(xiàng)目的條件陳述(例如date>20050221、authority=Eric、product=car、product=bike或priority=high等等),藉以自數(shù)據(jù)庫(kù)中找出符合這些條件陳述的數(shù)據(jù)(步驟S02)。接著,終端機(jī)將這些條件陳述組合成判斷條件,且將判斷條件轉(zhuǎn)換為HTTP中的資源定位器(Uniform Resource Locator,URL)(步驟S03)。然后終端機(jī)將這些條件陳述夾雜在URL中傳送至服務(wù)器(步驟S04)。服務(wù)器從URL中將判斷條件提取出來(lái)(步驟S05),并且判斷數(shù)據(jù)庫(kù)是否有符合判斷條件的數(shù)據(jù)(步驟S06)。若有,則判斷結(jié)果為真。接著,服務(wù)器將判斷結(jié)果傳回至終端機(jī),終端機(jī)表示搜尋結(jié)果以供使用者查閱(步驟S07)。另外,服務(wù)器可將本次的判斷條件以URL中的格式存儲(chǔ)于數(shù)據(jù)庫(kù)中(步驟S08)。當(dāng)使用者再次使用數(shù)據(jù)庫(kù)時(shí),數(shù)據(jù)庫(kù)所記錄的前次操作產(chǎn)生的判斷條件與URL可通過(guò)服務(wù)器表示于終端機(jī)。使用者可選取其中的一判斷條件,以命令服務(wù)器自數(shù)據(jù)庫(kù)讀取出上一次查詢所下達(dá)的判斷條件(步驟S09)。接著服務(wù)器如同前述步驟處理已載入的URL。如此一來(lái),使用者可以方便地于不同時(shí)間使用同一判斷條件來(lái)查詢或操作數(shù)據(jù)庫(kù)。
      然而,若使用者更改前述判斷條件中的一個(gè)條件項(xiàng)目時(shí),在步驟S03至步驟S08中,終端機(jī)必須要重新產(chǎn)生判斷條件于URL中,且服務(wù)器亦必須再一次依據(jù)更新后的判斷條件查詢數(shù)據(jù)庫(kù)。更新后的判斷條件亦可存儲(chǔ)于數(shù)據(jù)庫(kù)中,以供使用者再次查詢。然而,這兩個(gè)判斷條件之間具有邏輯關(guān)系,若僅以URL方式記錄判斷條件,則無(wú)法記錄此邏輯關(guān)系。由于此方式較不具備結(jié)構(gòu)性,亦使得處理判斷條件的程序較不容易撰寫(xiě)。另一方面,在步驟S09中雖然可經(jīng)由程序讀取出前次判斷條件,但是以URL方式記錄的判斷條件則無(wú)法提供使用者來(lái)修改條件項(xiàng)目與內(nèi)容。

      發(fā)明內(nèi)容
      有鑒于上述課題,本發(fā)明提供一種能夠表現(xiàn)出各條件陳述間的邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法與處理方法。
      本發(fā)明提供一種具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法。首先,增加一節(jié)點(diǎn)于一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中以記錄一條件陳述。而后,判斷次一條件陳述與已記錄于該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的條件陳述間的一邏輯關(guān)系。當(dāng)上述所判斷的邏輯關(guān)為“與”(AND)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中附加另一節(jié)點(diǎn)于該節(jié)點(diǎn)之下以記錄該次一條件陳述。反之,當(dāng)邏輯關(guān)為“或”(OR)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中附加另一節(jié)點(diǎn)于該節(jié)點(diǎn)的父節(jié)點(diǎn)之下以記錄次一條件陳述。
      本發(fā)明提供一種使用具有條件陳述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的處理方法。首先,讀取一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的一節(jié)點(diǎn)所記錄的一條件陳述與該節(jié)點(diǎn)的至少一子節(jié)點(diǎn)所記錄的另一條件陳述。依據(jù)該節(jié)點(diǎn)的條件陳述與子節(jié)點(diǎn)的條件陳述的“與”(AND)關(guān)系而產(chǎn)生一判斷條件,其中當(dāng)該節(jié)點(diǎn)具有多個(gè)子節(jié)點(diǎn)時(shí),判斷條件還依據(jù)這些子節(jié)點(diǎn)的條件陳述的“或”(OR)關(guān)系而產(chǎn)生。
      本發(fā)明提供一種判斷條件的處理方法。首先,記錄一條件陳述于一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的一節(jié)點(diǎn)中。而后,判斷一次一條件陳述與已記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的該節(jié)點(diǎn)的條件陳述間的一邏輯關(guān)系。當(dāng)上述所判斷的邏輯關(guān)系為“與”(AND)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn)于該節(jié)點(diǎn)之下以記錄次一條件陳述。反之,當(dāng)上述所判斷的邏輯關(guān)系為“或”(OR)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn)于該節(jié)點(diǎn)的父節(jié)點(diǎn)之下以記錄次一條件陳述。傳送樹(shù)狀結(jié)構(gòu)數(shù)據(jù)至一服務(wù)器,并于服務(wù)器讀取樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的該節(jié)點(diǎn)所記錄的條件陳述與該節(jié)點(diǎn)的至少一子節(jié)點(diǎn)所記錄的另一條件陳述。于服務(wù)器依據(jù)該節(jié)點(diǎn)的條件陳述與子節(jié)點(diǎn)的條件陳述的“與”(AND)關(guān)系而產(chǎn)生一判斷條件,其中當(dāng)該節(jié)點(diǎn)具有多個(gè)子節(jié)點(diǎn)時(shí),判斷條件還依據(jù)該多個(gè)子節(jié)點(diǎn)的條件陳述的“或”(OR)關(guān)系而產(chǎn)生。
      承上所述,因依本發(fā)明的具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法與處理方法中,多個(gè)條件陳述依據(jù)彼此間的邏輯關(guān)系而分別放置于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的父子節(jié)點(diǎn)或是兄弟節(jié)點(diǎn),因此條件陳述可結(jié)構(gòu)化地記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中,并可將各條件陳述之間的邏輯關(guān)系以節(jié)點(diǎn)間的連接方式記錄,并使得判斷條件的程序較容易撰寫(xiě)與維護(hù)。


      圖1為表示公知判斷條件的處理方法所應(yīng)用的系統(tǒng)的區(qū)塊圖;圖2為表示公知判斷條件的處理方法的示意圖;圖3為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法的流程圖;圖4為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法中,建立具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的流程圖;圖5為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法中,樹(shù)狀結(jié)構(gòu)數(shù)據(jù)被建立過(guò)程的一示意圖;圖6為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法中,樹(shù)狀結(jié)構(gòu)數(shù)據(jù)被建立過(guò)程的一示意圖;圖7為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法中,處理具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的流程圖;以及圖8為表示依本發(fā)明一實(shí)施例的判斷條件的處理方法中,具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)被建立與處理的示意圖。
      元件符號(hào)說(shuō)明11終端機(jī)12服務(wù)端13數(shù)據(jù)庫(kù)14網(wǎng)絡(luò)2樹(shù)狀結(jié)構(gòu)數(shù)據(jù)
      20根節(jié)點(diǎn)21-2n節(jié)點(diǎn)CS1-CSn條件陳述具體實(shí)施方式
      以下將參照相關(guān)附圖,說(shuō)明依本發(fā)明一實(shí)施例的具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法與處理方法。
      于本實(shí)施例中,一使用者于一終端機(jī)前操作一視窗瀏覽器,并于該視窗瀏覽器中下達(dá)判斷條件。一服務(wù)器與終端機(jī)連線并接收使用者下達(dá)的判斷條件來(lái)搜尋一數(shù)據(jù)庫(kù),或是服務(wù)器依據(jù)判斷條件來(lái)執(zhí)行傳送數(shù)據(jù)或發(fā)出電子郵件的操作。
      圖3為處理終端使用者所下達(dá)的判斷條件的處理方法。使用者先于終端機(jī)的視窗瀏覽器上選取要查詢的條件項(xiàng)目(步驟S11)。然后再輸入各條件項(xiàng)目的條件陳述(步驟S12),藉以自數(shù)據(jù)庫(kù)中找出符合條件陳述的數(shù)據(jù)。接著,終端機(jī)先將條件陳述數(shù)據(jù)建立成具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)(步驟S13)。若上述的兩條件陳述的關(guān)系為“與”(AND)關(guān)系,則將兩條件陳述存儲(chǔ)于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中并分別為父子節(jié)點(diǎn)中的條件陳述。反之,若二條件陳述的關(guān)系為“或”(OR)關(guān)系,則將兩條件陳述存儲(chǔ)于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中分別為兄弟節(jié)點(diǎn)中的條件陳述。然后,終端機(jī)將該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)所存儲(chǔ)的條件陳述傳送至遠(yuǎn)端的服務(wù)器(步驟S14)。接著,服務(wù)器接收并讀取該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)所存儲(chǔ)的條件陳述。依據(jù)各個(gè)父子節(jié)點(diǎn)與兄弟節(jié)點(diǎn)所對(duì)應(yīng)的條件陳述,將條件陳述組合為判斷條件(步驟S15),并且判斷數(shù)據(jù)庫(kù)是否有符合判斷條件的數(shù)據(jù)(步驟S16)。若數(shù)據(jù)庫(kù)有符合判斷條件的數(shù)據(jù),則判斷結(jié)果為真(true)。若數(shù)據(jù)庫(kù)沒(méi)有符合判斷條件的數(shù)據(jù),則判斷結(jié)果為否(false)。接著,服務(wù)器將上述的判斷結(jié)果傳回至終端機(jī),終端機(jī)表示判斷結(jié)果,以供使用者查閱(步驟S17)。此外,服務(wù)器可將樹(shù)狀結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)中(步驟S18)。若使用者下次再操作數(shù)據(jù)庫(kù)時(shí)仍有相同的判斷條件時(shí),數(shù)據(jù)庫(kù)所記錄的前一次操作產(chǎn)生的判斷條件與樹(shù)狀結(jié)構(gòu)數(shù)據(jù)可通過(guò)服務(wù)器表示于終端機(jī),使用者可選取其中的一判斷條件,以命令服務(wù)器直接載入存儲(chǔ)于數(shù)據(jù)庫(kù)的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)(步驟S19),接著服務(wù)器如同前述步驟處理已載入的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)。
      請(qǐng)參考圖3與圖4,步驟S13還包含圖4的步驟S21-S26,各步驟所建立不同的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)如圖5與圖6所示。首先,終端機(jī)設(shè)定一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的一根節(jié)點(diǎn)(步驟S21)。記錄有條件陳述的節(jié)點(diǎn)附加于根節(jié)點(diǎn)或根節(jié)點(diǎn)的接續(xù)節(jié)點(diǎn)之下。接著終端機(jī)增加一節(jié)點(diǎn)于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的根節(jié)點(diǎn)之下,其中節(jié)點(diǎn)記錄一條件陳述CS1(步驟S22)。終端機(jī)判斷節(jié)點(diǎn)的次一條件陳述CS2與已記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的各節(jié)點(diǎn)所記錄的條件陳述間的一邏輯關(guān)系(步驟S23),以確認(rèn)條件陳述間的邏輯關(guān)系為“與”(AND)關(guān)系或“或”(OR)關(guān)系。由于次一條件陳述CS2僅和條件陳述CS1有相對(duì)關(guān)系,故于步驟S23中僅判斷次一條件陳述CS2和條件陳述CS1的邏輯關(guān)系?!啊碑?dāng)兩條件陳述的邏輯關(guān)系為“與”(AND)關(guān)系時(shí)(如圖5所示),終端機(jī)在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2中附加節(jié)點(diǎn)22于節(jié)點(diǎn)21之下,以在節(jié)點(diǎn)22記錄次一條件陳述CS2(步驟S24)。在此實(shí)施例中,節(jié)點(diǎn)21與節(jié)點(diǎn)22為父子節(jié)點(diǎn),亦即節(jié)點(diǎn)22附加于節(jié)點(diǎn)21之下。
      反之,當(dāng)兩條件陳述的邏輯關(guān)系為“或”(OR)關(guān)系時(shí)(如圖6所示),終端機(jī)在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2中的節(jié)點(diǎn)22與節(jié)點(diǎn)21皆位于根節(jié)點(diǎn)20之下,以記錄次一條件陳述CS1與次一條件陳述CS2(步驟S25)。在此實(shí)施例中,節(jié)點(diǎn)21與節(jié)點(diǎn)22互為兄弟節(jié)點(diǎn),亦即節(jié)點(diǎn)22與節(jié)點(diǎn)21皆同等位于根節(jié)點(diǎn)20之下。接著,終端機(jī)判斷是否尚有待處理的條件陳述CS3-CSn(步驟S26)。若終端機(jī)有待處理的條件陳述,則再次回到步驟S23。步驟S23-S26會(huì)再依序逐一處理?xiàng)l件陳述CS3-CSn。
      請(qǐng)參考圖7,其步驟S31-S34為圖3的步驟S15的細(xì)部分解步驟。請(qǐng)配合參考圖5,服務(wù)器自根節(jié)點(diǎn)20開(kāi)始尋訪樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2的第一個(gè)記錄有條件陳述的節(jié)點(diǎn)(步驟S31)。接著,服務(wù)器讀取節(jié)點(diǎn)21所連接的節(jié)點(diǎn)22(節(jié)點(diǎn)21的子節(jié)點(diǎn))的一條件陳述CS2(步驟S32)。服務(wù)器依據(jù)節(jié)點(diǎn)21的一條件陳述CS1與節(jié)點(diǎn)22的條件陳述CS2的“與”(AND)關(guān)系而產(chǎn)生一判斷條件(步驟S33)。由于根節(jié)點(diǎn)20為一特殊的節(jié)點(diǎn),其并沒(méi)有記錄條件陳述,所以僅在處理根節(jié)點(diǎn)20時(shí),判斷條件僅依據(jù)子節(jié)點(diǎn)的條件陳述而產(chǎn)生。另外,當(dāng)根節(jié)點(diǎn)20具有多個(gè)子節(jié)點(diǎn)時(shí)(如圖6所示),判斷條件還依據(jù)這些子節(jié)點(diǎn)21、22的條件陳述CS1、CS2的“或”(OR)關(guān)系而產(chǎn)生。接著,服務(wù)器判斷是否仍有尚未尋訪的節(jié)點(diǎn)于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中(步驟S34),若有則返回至步驟S32并尋訪下一節(jié)點(diǎn)直到每一個(gè)節(jié)點(diǎn)都尋訪過(guò)。尋訪節(jié)點(diǎn)的優(yōu)先順序是同一層的節(jié)點(diǎn)先尋訪,然后再尋訪下一層的節(jié)點(diǎn),亦即是先廣后深的尋訪方式。
      上述的步驟S32至步驟S34中,可經(jīng)由循環(huán)或是遞回函式實(shí)現(xiàn)。若以遞回函式實(shí)現(xiàn)的話,遞回函式于尋訪現(xiàn)行節(jié)點(diǎn)時(shí)讀取現(xiàn)行節(jié)點(diǎn)的子節(jié)點(diǎn)的條件陳述(步驟S32),并依據(jù)此節(jié)點(diǎn)與子節(jié)點(diǎn)之間的邏輯關(guān)系而產(chǎn)生判斷條件(步驟S33)。接著再呼叫此遞回函式,以尋訪下一節(jié)點(diǎn)(步驟S34)。
      為使本實(shí)施例的特征更加明顯,以下以圖8舉例進(jìn)行說(shuō)明。當(dāng)使用者已經(jīng)選取好要查詢的條件項(xiàng)目,并針對(duì)各條件項(xiàng)目下達(dá)條件陳述CS1-CS6與條件陳述之間的邏輯關(guān)系時(shí),此時(shí)終端機(jī)建立樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2以記錄條件陳述CS1-CS6。在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立過(guò)程中,終端器先建立根節(jié)點(diǎn)20,然后再建立節(jié)點(diǎn)21以記錄條件陳述CS1。接著,終端機(jī)判斷出條件陳述CS1和條件陳述CS2是“與”(AND)關(guān)系,因而在節(jié)點(diǎn)21之下建立節(jié)點(diǎn)22以記錄條件陳述CS2。然后終端機(jī)判斷出仍有條件陳述尚未記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2中,于是繼續(xù)處理下一條件陳述CS3。
      在處理?xiàng)l件陳述CS3時(shí),終端器判斷出條件陳述CS3和已記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2中的條件陳述CS2是“與”(AND)關(guān)系。因此終端器在記錄有條件陳述CS2的節(jié)點(diǎn)22之下建立節(jié)點(diǎn)23,以記錄條件陳述CS3。然后終端機(jī)繼續(xù)處理下一條件陳述CS4。在處理?xiàng)l件陳述CS4時(shí),終端器判斷出條件陳述CS4和已記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2中的條件陳述CS3是“或”(OR)關(guān)系,所以終端器在記錄有條件陳述CS3的節(jié)點(diǎn)23的父節(jié)點(diǎn)22之下建立節(jié)點(diǎn)24以記錄條件陳述CS4。換句話說(shuō),節(jié)點(diǎn)23與節(jié)點(diǎn)24為節(jié)點(diǎn)22的子節(jié)點(diǎn),而節(jié)點(diǎn)23與節(jié)點(diǎn)24互為兄弟節(jié)點(diǎn),然后終端機(jī)如同前述處理方式再建立節(jié)點(diǎn)2n,以記錄條件陳述CSn。
      當(dāng)樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2建立完畢之后就被傳送至服務(wù)器端,于此特別說(shuō)明的是,樹(shù)狀結(jié)構(gòu)數(shù)據(jù)已廣泛應(yīng)用于現(xiàn)今的程序之中,而且傳送樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的程序執(zhí)行碼可由JAVA、ASP、PHP或CGI等技術(shù)實(shí)現(xiàn)。
      所有的條件陳述之間的邏輯關(guān)系可以經(jīng)由如圖8所示的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)表示。服務(wù)器從根節(jié)點(diǎn)20開(kāi)始尋訪,并讀取根節(jié)點(diǎn)20的子節(jié)點(diǎn)21的條件陳述CS1。接著,服務(wù)器依據(jù)子節(jié)點(diǎn)21的條件陳述CS1產(chǎn)生一判斷條件。服務(wù)器判斷出仍有尚未尋訪的節(jié)點(diǎn)21-26于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中,而返回至步驟S32并尋訪下一節(jié)點(diǎn)21。
      當(dāng)服務(wù)器尋訪到節(jié)點(diǎn)21時(shí),其讀取節(jié)點(diǎn)21的子節(jié)點(diǎn)22所記錄的條件陳述CS2。然后,服務(wù)器依據(jù)條件陳述CS1、CS2的“與”(AND)關(guān)系產(chǎn)生判斷條件,接著,服務(wù)器判斷出樹(shù)狀結(jié)構(gòu)數(shù)據(jù)仍有未尋訪的節(jié)點(diǎn)22-26,因而又返回尋訪下一節(jié)點(diǎn)22。服務(wù)器尋訪節(jié)點(diǎn)22并讀取其子節(jié)點(diǎn)23、24的條件陳述CS3、CS4。由于節(jié)點(diǎn)22具有二個(gè)子節(jié)點(diǎn)23、24,所以服務(wù)器除了依據(jù)條件陳述CS2和CS3的“與”(AND)關(guān)系與條件陳述CS2和CS4的“與”(AND)關(guān)系之外,還依據(jù)條件陳述CS3和CS4的“或”(OR)關(guān)系產(chǎn)生判斷條件,并將此次的判斷條件附加于前次的判斷條件之后。此外,服務(wù)器尋訪各節(jié)點(diǎn)而產(chǎn)生的判斷條件的內(nèi)容為圖8的(data>20050221)&amp;(authority=Eric)&amp;(((product=car)&amp;(priority=high)&amp;(customer=Q))|(product=bike))),其中「&amp;」為前述所提的“與”(AND)關(guān)系,而「|」為前述所提的“或”(OR)關(guān)系。
      接著,服務(wù)器依照前述的方式依序?qū)ぴL樹(shù)狀結(jié)構(gòu)中其他節(jié)點(diǎn)。于此特別注意的是,由于是先廣后深的尋訪方式,所以尋訪完節(jié)點(diǎn)23之后,會(huì)先尋訪條件陳述的節(jié)點(diǎn)24而不會(huì)先尋訪節(jié)點(diǎn)25。經(jīng)由前述處理之后,使用者下達(dá)的搜尋條件可完全恢復(fù)。經(jīng)由步驟S31至步驟S34處理之后,各個(gè)條件陳述CS1-CS6重組于判斷條件之中,接著服務(wù)器依據(jù)判斷條件自一數(shù)據(jù)庫(kù)搜尋數(shù)據(jù)。
      在本實(shí)施例中,樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的各個(gè)節(jié)點(diǎn)對(duì)應(yīng)使用者所設(shè)定的一個(gè)條件陳述,各個(gè)節(jié)點(diǎn)可具有一選取值SEL以記錄使用者是否選取此條件陳述。若使用者有選取此條件項(xiàng)目,選取值SEL為「啟用(enable)」。反之,若使用者未選取此條件項(xiàng)目,選取值SEL為「禁用(disable)」。當(dāng)使用者命令服務(wù)器載入前次的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)之后,使用者可于終端機(jī)修改選取的條件陳述。因此于步驟S32中服務(wù)器必須要判斷現(xiàn)行節(jié)點(diǎn)的子節(jié)點(diǎn)的選取值SEL是否為「enable」,以讀取子節(jié)點(diǎn)的條件陳述。
      另外,再以圖8的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)為例。若使用者將條件陳述CS3改為不選取,亦即是使用者設(shè)定的判斷條件為(條件陳述CS1AND條件陳述CS2AND條件陳述CS4),則節(jié)點(diǎn)23的選取值SEL被修正為「disable」,其他節(jié)點(diǎn)的選取值SEL仍為「enable」。此時(shí),服務(wù)器于尋訪節(jié)點(diǎn)21時(shí)判斷出節(jié)點(diǎn)22的選取值SEL為「enable」,以讀取條件陳述CS2。當(dāng)尋訪到節(jié)點(diǎn)22時(shí),服務(wù)器判斷出節(jié)點(diǎn)23的選取值SEL為「disable」,因此服務(wù)器不讀取條件陳述CS3。由于在步驟S32-S34中,服務(wù)器亦不再尋訪節(jié)點(diǎn)23以后的節(jié)點(diǎn),因此節(jié)點(diǎn)25、26亦不會(huì)被讀取與處理,只有節(jié)點(diǎn)24的條件陳述CS4會(huì)被處理,最后服務(wù)器可自樹(shù)狀結(jié)構(gòu)數(shù)據(jù)2將條件陳述組合為使用者修改后的判斷條件。
      綜上所述,因依本發(fā)明的具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立與處理方法中,多個(gè)條件陳述依據(jù)彼此間的邏輯關(guān)系分別放置于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的父子0節(jié)點(diǎn)、或兄弟節(jié)點(diǎn),因此條件陳述可結(jié)構(gòu)化地記錄于樹(shù)狀結(jié)構(gòu)數(shù)據(jù)之中,并可將各條件陳述之間的邏輯關(guān)系依據(jù)節(jié)點(diǎn)之間的連接方式記錄,使得判斷條件的程序較容易撰寫(xiě)與維護(hù)。
      以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,凡依本發(fā)明權(quán)利要求所進(jìn)行的等效變化與修改,皆應(yīng)屬本發(fā)明的涵蓋范圍。
      權(quán)利要求
      1.一種具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法,包含記錄一條件陳述于一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的一節(jié)點(diǎn)中;判斷一次一條件陳述與已記錄于該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的該節(jié)點(diǎn)的該條件陳述之間的一邏輯關(guān)系;當(dāng)該邏輯關(guān)系為“與”(AND)關(guān)系時(shí),在該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn),并于該節(jié)點(diǎn)之下記錄該次一條件陳述;以及當(dāng)該邏輯關(guān)系為“或”(OR)關(guān)系時(shí),在該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn),并于該節(jié)點(diǎn)的父節(jié)點(diǎn)之下以記錄該次一條件陳述。
      2.如權(quán)利要求1所述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法,還包含設(shè)定該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的一根節(jié)點(diǎn);以及附加記錄該條件陳述的該節(jié)點(diǎn)于該根節(jié)點(diǎn)之下。
      3.如權(quán)利要求1所述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法,其中該條件陳述的“與”(AND)與“或”(OR)關(guān)系用于搜尋一數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
      4.一種使用具有條件陳述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的處理方法,包含讀取一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的一節(jié)點(diǎn)所記錄的一條件陳述與該節(jié)點(diǎn)的至少一子節(jié)點(diǎn)所記錄的另一條件陳述;以及依據(jù)該節(jié)點(diǎn)的該條件陳述與該子節(jié)點(diǎn)的該條件陳述的“與”(AND)關(guān)系而產(chǎn)生一判斷條件,其中當(dāng)該節(jié)點(diǎn)具有多個(gè)子節(jié)點(diǎn)時(shí),該判斷條件還依據(jù)該多個(gè)子節(jié)點(diǎn)的該多個(gè)條件陳述的“或”(OR)關(guān)系而產(chǎn)生。
      5.如權(quán)利要求4所述的使用具有條件陳述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的處理方法,其中該節(jié)點(diǎn)具有一選取值,以記錄該條件陳述是否被選取。
      6.如權(quán)利要求5所述的使用具有條件陳述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的處理方法,其中該讀取步驟當(dāng)該節(jié)點(diǎn)的該選取值為啟用時(shí),讀取該節(jié)點(diǎn)的該條件陳述。
      7.如權(quán)利要求5所述的使用具有條件陳述的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的處理方法,其中該讀取步驟當(dāng)該節(jié)點(diǎn)的該選取值為非啟用時(shí),不讀取該節(jié)點(diǎn)以及該節(jié)點(diǎn)的子節(jié)點(diǎn)以下的條件陳述。
      8.一種判斷條件的處理方法,包含記錄一條件陳述于一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的一節(jié)點(diǎn)中;判斷一次一條件陳述與已記錄于該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的該節(jié)點(diǎn)的該條件陳述間的一邏輯關(guān)系,其中當(dāng)該邏輯關(guān)系為“與”(AND)關(guān)系時(shí),在該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn)于該節(jié)點(diǎn)之下以記錄該次一條件陳述,及當(dāng)該邏輯關(guān)系為“或”(OR)關(guān)系時(shí),在該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中新增另一節(jié)點(diǎn)于該節(jié)點(diǎn)的父節(jié)點(diǎn)之下以記錄該次一條件陳述;傳送該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)至一服務(wù)器;于該服務(wù)器讀取該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的該節(jié)點(diǎn)所記錄的該條件陳述與該節(jié)點(diǎn)的至少一子節(jié)點(diǎn)所記錄的另一條件陳述;以及于該服務(wù)器依據(jù)該節(jié)點(diǎn)的該條件陳述與該子節(jié)點(diǎn)的該條件陳述的“與”(AND)關(guān)系而產(chǎn)生一判斷條件,其中當(dāng)該節(jié)點(diǎn)具有多個(gè)子節(jié)點(diǎn)時(shí),該判斷條件還依據(jù)該多個(gè)子節(jié)點(diǎn)的該多個(gè)條件陳述的“或”(OR)關(guān)系而產(chǎn)生。
      9.如權(quán)利要求8所述的判斷條件的處理方法,還包含設(shè)定該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的一根節(jié)點(diǎn);以及附加記錄有該條件陳述的該節(jié)點(diǎn)于該根節(jié)點(diǎn)之下。
      10.如權(quán)利要求8所述的判斷條件的處理方法,其中該多個(gè)條件陳述的“與”(AND)關(guān)系及“或”(OR)關(guān)系用于搜尋一數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
      全文摘要
      一種具有邏輯關(guān)系的樹(shù)狀結(jié)構(gòu)數(shù)據(jù)的建立方法。首先,增加一節(jié)點(diǎn)于一樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中以記錄一條件陳述。而后,判斷次一條件陳述與已記錄于該樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中的條件陳述間的一邏輯關(guān)系。當(dāng)上述所判斷的邏輯關(guān)系為“與”(AND)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中附加另一節(jié)點(diǎn)于該節(jié)點(diǎn)之下,以記錄該次一條件陳述。反之,當(dāng)上述所判斷的邏輯關(guān)系為“或”(OR)關(guān)系時(shí),在樹(shù)狀結(jié)構(gòu)數(shù)據(jù)中附加另一節(jié)點(diǎn)于該節(jié)點(diǎn)的父節(jié)點(diǎn)之下,以記錄次一條件陳述。
      文檔編號(hào)G06F17/30GK1920833SQ200610153620
      公開(kāi)日2007年2月28日 申請(qǐng)日期2006年9月12日 優(yōu)先權(quán)日2006年9月12日
      發(fā)明者張廣義 申請(qǐng)人:威盛電子股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1