新四季網

應用於在線教育系統中的樹形數據結構的建立方法

2023-09-22 02:29:15

應用於在線教育系統中的樹形數據結構的建立方法【專利摘要】本發明公開了一種應用於在線教育系統中的樹形數據結構的建立方法,其中包括如下步驟:從根節點開始,按照從上到下,從左至右的順序,按照遞增數列規則依次給每一個節點定義一個用於識別的左編號數值Lft和右編號數值Rgt數值;根據節點的左編號數值Lft和右編號數值Rgt來查詢所述節點的子節點個數,所述查詢公式為:ROUND((Rgt-Lft-遞增量)/2);創建樹形數據存儲結構,建立與所述樹形數據存儲結構匹配的關係數據表。該方法可大大提高對樹形數據的增刪改查操作的效率;在在線視頻教育系統中,通過節點左、右編號數值在關係資料庫中存儲樹形數據結構來實現課程欄目分類子欄目的無限級聯和組織結構的無限級聯。【專利說明】應用於在線教育系統中的樹形數據結構的建立方法【
技術領域:
】[0001]本發明涉及數據處理【
技術領域:
】,尤其涉及一種應用於在線教育系統中的樹形數據結構的建立方法。【
背景技術:
】[0002]在線教育系統中,存在很多樹形的數據。舉例來說,課程分類就是一個樹形結構,根節點為「全部分類」,在根節點下有一級分類節點如「國學、情商、藝術與品味修養、職業規劃、就業技能、創業創新」等等子分類欄目,而在國學這個子欄目下,又可細分為「名著賞析、孫子兵法智慧、周易智慧、五行學說」等等子欄目分類,依次類推。再舉一個例子,學校的組織結構,也就是學校下的各個院系,院系下細分的系和班級以及學校的各個行政架構上的部門,班級下的學生,學校組織部門下的老師,這也是在在線教育系統中需要處理的層級比較深和數據量比較大的一個樹形數據結構。此類樹形的數據結構,從根開始,每級有一個或者多個子分類,而每個子分類,又包含著層數不確定的更多的子分類。傳統的關係資料庫一般是基於二維關係建立,比如我們常用的MySQL/Oracle/SQLServer等,按照傳統的方法存儲這種樹形數據記錄,應用上非常繁瑣和不靈活。通常地,傳統的數據結構在每條記錄上都存儲一個ParentId(即數據父節點與子節點的父子關係)的方法(AdjacencyList)建立,由於層級和子節點個數的不確定性,導致只能限制子節點的層級深度,然後在查詢類似「當前節點屬於第幾層;當前節點有多少個子節點(含子節點的子節點);如何快速的將一個子節點(含子節點)移動到另外一個節點上;」等問題時,傳統的技術方案需要大量的資料庫查詢和運算,因此受到效率影響,很難做到無限層級的樹形數據結構。[0003]為了便於理解,現以圖4的數據為例闡述上述的技術要領。我們採用每條記錄中增加一個ParentId來記錄節點的父子關係,數據表如圖5所示。這種簡單設計能夠非常直觀和方便的查看數據,也比較容易理清數據之間的父子關係。但是缺點也非常突出,對樹形結構數據的任何創建、查詢、刪除、修改操作都主要依賴於遞歸操作,舉個具體應用上的例子,yellow屬於第幾層?需要經過的遞歸過程是:[0004]Select*fromtablewherename=,yellow,[0005]Select氺fromtablewherenode_id=ye11ow_parent_id[0006]Select氺fromtablewherenode_id=ye11ow_parent_id_parent_id[0007]…[0008]理論上講,由於每一個操作都依賴上一步操作的結果,因此,每次的資料庫查詢都是必須的,必須找到當前的節點的父節點,再找到父節點的父節點直至遞歸到根節點為止。此遞歸操作來完成資料庫增、刪、改、查的查詢效率太低,尤其在一個嵌套稍深的應用場景下,每次資料庫的操作和I/o都會帶來極大的時間開銷,且難以支持靈活的數據擴展和無限深度的子節點級聯。【
發明內容】[0009]本發明的目的在於提供一種應用於在線教育系統中的樹形數據結構的建立方法,以解決上述問題。[0010]為了達到上述目的,本發明的技術方案是這樣實現的:[0011]應用於在線教育系統中的樹形數據結構的建立方法,包括如下步驟:[0012]從根節點開始,按照從上到下,從左至右的順序,按照遞增數列規則依次給每一個節點定義一個用於識別的左編號數值Lft和右編號數值Rgt數值;[0013]根據節點的左編號數值Lft和右編號數值Rgt來查詢所述節點的子節點個數,所述查詢公式為:R0UND((Rgt-Lft-遞增量)/2);[0014]創建樹形數據存儲結構,建立與所述樹形數據存儲結構匹配的關係數據表。[0015]與現有技術相比,本發明實施例的優點在於:[0016]首先,節點在左、右編號數值存在的情況下,可以利用查詢公式ROUND((Rgt-Lft-遞增量)/2)快速的查詢資料庫,與傳統的利用遞歸查詢資料庫的方法相t匕,大大提高了對樹形數據的增刪改查操作的效率。[0017]其次,在在線視頻教育系統中,通過節點左、右編號數值在關係資料庫中存儲樹形數據結構來實現課程欄目分類子欄目的無限級聯;[0018]最後,在在線視頻教育系統中,通過節點左、右編號數值在關係資料庫中存儲樹形數據結構來實現組織結構的無限級聯。【專利附圖】【附圖說明】[0019]圖1為本發明實施例一提供的應用於在線教育系統中的樹形數據結構的建立方法的流程示意圖;[0020]圖2為本發明實施例一提供的應用於在線教育系統中的樹形數據結構的建立方法中簡單有限級的樹形數據結構示意圖;[0021]圖3為圖2的關係數據表;[0022]圖4為現有技術中例舉的一種簡單有限級的樹形數據結構示意圖;[0023]圖5為現有技術中用遞歸查詢法得到的圖4的關係數據表。【具體實施方式】[0024]下面通過具體的實施例子並結合附圖對本發明做進一步的詳細描述。[0025]參見圖1,本發明提供了一種應用於在線教育系統中的樹形數據結構的建立方法,包括如下步驟:[0026]步驟S100、從根節點開始,按照從上到下,從左至右的順序,按照遞增數列規則依次給每一個節點定義一個用於識別的左編號數值Lft和右編號數值Rgt數值;[0027]步驟S200、根據節點的左編號數值Lft和右編號數值Rgt來查詢所述節點的子節點個數,所述查詢公式為:R0UND((Rgt-Lft-遞增量)/2);此時,與每一個節點匹配的左、右編號使得此節點具有唯一性,同時,還可以通過上述查詢公式快速的查詢資料庫,極大的提高了效率。[0028]步驟S300、創建樹形數據存儲結構,建立與所述樹形數據存儲結構匹配的關係數據表。[0029]本發明的應用於在線教育系統中的樹形數據結構的建立方法,按一定的規則對每一個節點進行左、右編號,節點在左、右編號數值存在的情況下,可以利用查詢公式ROUND((Rgt-Lft-遞增量)/2)快速的查詢資料庫,與傳統的利用遞歸查詢資料庫的方法相t匕,大大提高了對樹形數據的增刪改查操作的效率。對應到我們的在線視頻教育系統中,由於獲得了查詢效率的保障,因此,產品具體的表現上除了系統的響應速度提高外,在功能特性上,也帶來了以下特點:1、支持無限子級的課程類別細分;2、支持無限子級的組織結構細分。[0030]下面對上述各步驟進行詳細說明:[0031]實施例一[0032]參見圖2,為簡單的有限級樹形數據結構。[0033]首先,從根節點開始,按照從上到下,從左至右的順序,按照遞增數列規則依次給每一個節點定義一個用於識別的左編號數值Lft和右編號數值Rgt;當設置根節點的初始值從I開始,增量為I時,根據所述查詢公式:R0UND((Rgt-Lft-l)/2),得到圖2所示的節點左、右編號數值。較佳地,所述左編號數值Lft和右編號數值Rgt的編號規則,由CPU通過邏輯運算實現。[0034]根據創建樹形數據存儲結構,建立如圖3所示的關係數據表。[0035]實施例二[0036]所述樹形數據存儲結構為無限層級的樹形數據結構。[0037]更多的應用場景下,在新的數據存儲結構下,我們來看一下我們在應用中通常會遇到的幾個實際應用場景對應的解法。這裡,我們以無限層級的樹形菜單數據為例來創建關係數據表如下:[0038]【權利要求】1.一種應用於在線教育系統中的樹形數據結構的建立方法,其特徵在於,包括如下步驟:從根節點開始,按照從上到下,從左至右的順序,按照遞增數列規則依次給每一個節點定義一個用於識別的左編號數值Lft和右編號數值Rgt數值;根據節點的左編號數值Lft和右編號數值Rgt來查詢所述節點的子節點個數,查詢公式為:ROUND((Rgt-Lft-遞增量)/2);創建樹形數據存儲結構,建立與所述樹形數據存儲結構匹配的關係數據表。2.如權利要求1所述的應用於在線教育系統中的樹形數據結構的建立方法,其特徵在於,所述左編號數值Lft和右編號數值Rgt的編號規則,通過cpu的邏輯運算快速實現相關數據檢索由CPU通過邏輯運算實現。3.如權利要求2所述的應用於在線教育系統中的樹形數據結構的建立方法,其特徵在於,其中,所述遞增量為1,子節點數量的查詢公式為:R0UND((Rgt-Lft-1)/2)。4.如權利要求3所述的應用於在線教育系統中的樹形數據結構的建立方法,其特徵在於,所述樹形數據存儲結構為無限層級的樹形數據結構。5.如權利要求4所述的應用於在線教育系統中的樹形數據結構的建立方法,其特徵在於,所述無限層級的樹形數據結構為樹形的菜單數據。【文檔編號】G06F17/30GK103942267SQ201410116867【公開日】2014年7月23日申請日期:2014年3月26日優先權日:2014年3月26日【發明者】王健申請人:上海德上網絡科技有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀