麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

樹形數據結構的展示方法與系統的制作方法

文檔序號:6438768閱讀:382來源:國知局
專利名稱:樹形數據結構的展示方法與系統的制作方法
技術領域
本發明涉及計算機應用領域,尤其涉及以樹形結構存儲的數據的展示。
背景技術
樹形結構是數據結構的ー種。數據結構是指同一數據元素類中各數據元素之間存在的關系。廣義的數據結構分為邏輯結構、存儲結構(物理結構)和數據的運算。數據的邏輯結構是對數據之間關系的描述,本說明書中所稱數據結構即數據的邏輯結構。數據結構有四類基本結構集合、線性結構、樹形結構、圖狀結 構(網狀結構)。樹形結構和圖形結構全稱為非線性結構。集合結構中的數據元素除了同屬于ー種類型外,別無其它關系。線性結構中元素之間存在一對ー關系,樹形結構中元素之間存在一對多關系,圖形結構中元素之間存在多對多關系。在圖形結構中每個結點的前驅結點數和后續結點數可以任意多個。由于樹形結構層次關系清楚,便于管理,因此在計算機、網絡領域廣泛應用,例如很多OA(Office Automation即辦公自動化)軟件中對任務數據的存儲方式就是以樹形數據結構進行存儲,并以樹形顯示界面展示的,因為在樹形顯示界面中,各任務之間的邏輯關系一目了然,而且便于添加、刪除等管理維護。此外樹形數據結構的展示方法不一定通過樹形顯示界面,采用類似文件夾方式也可以進行展示,例如windows系統中的文件共享,各個被共享的文件夾之間的數據關系也是根目錄-子目錄(稱之為母文件夾-子文件夾)的樹形數據結構。如果對于共享的數據庫,不同的帳號操作時,其享有的權限也是不相同的,對于樹形數據結構上的某個節點,不同的帳號可能有以下三種不同的查看權限有的帳號沒有權限得知其存在;有的帳號可以得知其在數據結構上的位置,但無法查看其具體內容;還有的帳號既可以得知其在數據結構上的位置,也可以查看其具體內容。現有的樹形數據結構展示方式無法兼顧不同帳號的查看權限與數據結構的查看。以windows 7系統中的文件共享為例,在點擊打開“網絡”中“SEANLIN-PC”后,該計算機上所有共享的文件夾,顯示界面如圖I所示,事實上,在數據結構上“化學%數學" ‘歷史”都是“Book”的子文件夾,“無機化學從書”又進ー步是“化學”的子文件夾,但是,我們可以發現在圖I中,上述各個文件夾不分路徑,全部平鋪顯示,也就是說如果根文件夾顯示了。子文件照樣可能在共享列表中顯示,因此無法讓操作者得知其數據結構,從而無法得知各個文件夾的從屬關系。而且使用該方式展開的數據量大,全部平鋪。比如說上圖“數學”文件夾是“Book”文件夾里面的一部分。只是管理員可能開放了“數學”文件夾讀寫的權限而“Book”文件夾只開發了讀的權限,兩者賦權不一致。導致顯示出很多共享目錄。如果是個人電腦還好。如果用于組織,群組的辦公,文件共享的數據量非常大,例如有成千上萬個共享文件夾,如果沒有組織架構使用上會増加困難,降低工作效率。又例如項目管理中ー個很重要的ー塊是工作分解結構(WBS),就是把任務分解成各個小塊,我們稱之為子任務。如果項目參與人,只能查看部分工作想使用平鋪的方式,就無法正確的理解WBS的內容,對工作理解產生偏差。如果是樹形的顯示界面,據發明人所知,以OA軟件為例,當前操作帳號通過查看其最高級的可見節點,然后從數據庫展開該最高級節點的數據,進而查看到該節點下的各級子節點。但該顯示方式會導致如下問題當前操作帳號權限的最高級的可見節點可能僅僅是全部樹形數據結構的一個很小的部分,因此操作者無法得知其查看的節點在整體數據結構上的位置。這樣也同樣無法正確的理解WBS的內容。如果使用傳統技術,結合當前操作帳號的權限對每個節點進行是否展開的判斷,從數據庫中逐級展開可見節點的數據的方式對系統資源消耗太大,展開速度緩慢
發明內容
本發明的目的在于提供能根據操作帳號的權限,在使用較少系統資源的情況下,兼顧可見節點內容查看與其在整體數據結構上的位置的樹形數據結構展示方法,以及基于該方法構建的系統。首先先對本說明書中出現的部分技術術語進行ー些解釋。在本說明書中,“可見節點”是指當前操作帳號對該節點所記錄的內容具有部分或全部的查看權限;“可見數據結構”是指當前操作帳號可以查看的樹形數據結構的拓撲結構部分(具體詳見具體實施方式
,并結合圖2、3進行理解,例如圖2為數據庫中全部數據結構,而圖3為某ー帳號可見數據結構),也就是說可見數據結構上各個節點未必是可見節點,因為某些在可見數據結構顯示界面上展示的節點我們可能只能見到其在“樹”上的位置,而無法查看其內容(即只有查看其位置的權限,卻讀取其具體內容的權限),因此可見節點一定是可見數據結構上的節點,而可見數據結構上的各個節點未必都是可見節點。因此“可見數據結構的最高級節點”在是指當前操作帳號可以查看的樹形數據結構中被允許看到其存在的,最高級的節點,但是該節點可以是可見節點,也可以是非可見節點,若是非可見節點,操作者無法查看其內容,也無法對該點進行操作。可見節點在數據結構上為可見數據結構的最高級節點的子節點,路徑節點是其ー級父節點為非可見節點的可見節點,是可見節點的ー種,因此所有的路徑節點的路徑中必然都包含有可見數據結構的最高級節點的路徑。某節點A的“子節點”是指在樹狀結構上,位于節點A之下,直接或間接與節點A相連接的節點,若節點B為節點A的子節點且與節點A直接相連,則稱子節點B為節點A的“ー級子節點”,若節點C為節點B的“一級子節點”,則節點C為節點A的“ニ級子節點”,以此類推,有“三級子節點” “四級子節點”等。相対的,某節點Z的“父節點”是指在樹狀結構上,位于節點Z之上,直接或間接與節點Z相連接的節點,若節點Y為節點Z的父節點且與節點Z直接相連,則稱父節點Y為節點Z的“一級父節點”,若節點X為節點Y的“一級父節點”,則節點X為節點Z的“ニ級父節點”,以此類推,有“三級父節點” “四級父節點”等。“展開”是指讀取數據,并形成數據關系所對應的幾何拓撲結構的過程。本發明中的展開數據結構是通過讀取與數據關系相關的路徑數據,然后形成與數據關系相對應的幾何拓撲結構的過程;而展開數據不僅包括了展開數據結構,也包括了讀取除“與數據結構有關系的路徑數據”之外其他的數據內容,并載入到對應節點中。“顯示”是指將拓撲架構以可視化的方式展現的過程。ー個節點處于縮進的狀態不同于該節點處于未展開狀態,節點處于縮進的狀態吋,事實上該節點已經被展開,只是在顯示上未將其結構在界面上顯示出它所包含的子節點,在接受到外界指令后可以再以展開的顯示狀態予以顯示(即顯示該節點的展開結構)。為實現本發明的目的,本發明提供了一種樹形數據結構的展示方法,包括以下步驟步驟I接受請求接受展示數據結構的請求;步驟2路徑載入從數據庫中查詢當前操作帳號的可見節點與當前操作帳號的可見數據結構的最高級節點,所述可見節點在數據結構上為可見數據結構的最高級節點的子節點,所述可見節點的子節點為可見節點;在可見節點中篩選出路徑節點,將路徑節點的編號與路徑存儲于內存中,所述路徑節點是其一級父節點為非可見節點的可見節點;步驟3數據結構展開與顯示根據步驟I展示數據結構的請求,將被請求展示的數據結構展開并顯示,展開時若被展開的節點為非可見節點,從內存中存儲的路徑展開數據結構;若被展開的節點為可見節點,從數據庫展開數據。本發明所述展示方法,由于在步驟2路徑載入中先進行篩選,排除了非可見節點以及可見節點中屬于可見節點的子節點那一部分,因此大大減少了需要加載路徑的節點數量,也減少了步驟3中對路徑節點數據進行展開時涉及的路徑數量,提高了效率,減低了硬件負荷;在步驟3中的數據結構展開時,僅針對可見節點在數據庫中展開數據,而對可見數據結構中的非可見節點由于僅僅需要查看其在數據結構上的位置,而不需要查看其具體內容,因此本發明采用從內存中存儲的路徑進行展開,從內存中載入路徑大大快于從數據庫中載入大量的數據并對可讀權限等進行判斷,而且對硬件的負荷也大大降低。所以采用本發明的技術方案能提高硬件利用率,加快數據展開速度,且能展現樹狀數據結構的位置與層次關系。其中,步驟I中展示數據結構的請求為以樹形結構展示可見數據結構;步驟3中數據結構的展開包括展開所有的虛擬結構,所述虛擬結構為虛節點構成的數據結構,可見數據結構中的非可見節點稱為虛節點,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點的一級父節點依次展開數據結構。其中,在步驟3中,如果展開的節點是非可見節點,在可見數據結構上有且僅有唯一的子節點,那么顯示時顯示該節點的展開結構。其中,在步驟3中,如果展開的節點是非可見節點,在可見數據結構上有2個以上的子節點,那么顯示時該節點以縮進的狀態顯示。其中,步驟3中數據結構的展開包括展開所有的可見結構,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點依次展開數據結構。其中,步驟I中展示數據結構的請求為展示可見數據結構上的一個節點;在步驟3展開并顯示步驟I中被請求展示的節點。
其中,步驟I中展示數據結構的請求為展示可見數據結構上的ー個節點,被請求前,該節點以文件夾形式顯示;步驟3顯示步驟I中被請求展示的節點時,對被展開的節點的子節點,以文件夾的形式顯示。其中,步驟I中展示數據結構的請求為展示可見數據結構上的ー個節點,被請求前,按該節點為可見節點或非可見節點采用不同的文件夾圖標進行顯示。其中,在步驟3顯示時,對可見節點與非可見節點采用不同的圖標進行顯示。其中,在步驟3顯示時,顯示節點名稱。其中,在步驟3顯示時,對非可見節點顯示用于標識可見節 點與非可見節點的區別字符。 本發明還提供了一種樹形數據結構的展示系統,包括接受請求模塊,用于接受展示數據結構的請求;路徑載入模塊,用于從數據庫中查詢當前操作帳號的可見節點與當前操作帳號的可見數據結構的最高級節點,所述可見節點在數據結構上為可見數據結構的最高級節點的子節點,所述可見節點的子節點為可見節點;在可見節點中篩選出路徑節點,將路徑節點的編號與路徑存儲于內存中,所述路徑節點是其一級父節點為非可見節點的可見節點;數據結構展開與顯示模塊,用于根據接受請求模塊所接受的展示數據結構的請求,將被請求展示的數據結構展開并顯示,展開時若被展開的節點為非可見節點,從內存中存儲的路徑展開數據結構;若被展開的節點為可見節點,從數據庫展開數據。由于該樹形數據結構的展示系統基于本發明所述方法進行構建,因此同樣具有本發明所述樹形數據結構的展示方法的技術效果。其中,接受請求模塊所接受的展示數據結構的請求為以樹形結構展示可見數據結構;數據結構展開與顯示模塊所執行的數據結構的展開包括展開所有的虛擬結構,所述虛擬結構為虛節點構成的數據結構,可見數據結構中的非可見節點稱為虛節點,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點的一級父節點依次展開數據結構。其中,在數據結構展開與顯示模塊進行展開時,如果展開的節點是非可見節點,在可見數據結構上有且僅有唯一的子節點,那么顯示時顯示該節點的展開結構。其中,在數據結構展開與顯示模塊進行展開與顯示時,如果展開的節點是非可見節點,在可見數據結構上有2個以上的子節點,那么顯示時該節點以縮進的狀態顯示。其中,在數據結構展開與顯示模塊進行展開時,數據結構的展開包括展開所有的可見結構,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點依次展開數據結構。其中,接受請求模塊接受的展示數據結構的請求為展示可見數據結構上的ー個節點;數據結構展開與顯示模塊展開并顯示接受請求模塊接受展示的節點。其中,接受請求模塊接受的展示數據結構的請求為展示可見數據結構上的ー個節點,被請求前,該節點以文件夾形式顯示;
在數據結構展開與顯示模塊顯示接受請求模塊接受展示的節點時,對被展開的節點的子節點,以文件夾的形式顯示。其中,接受請求模塊接受的展示數據結構的請求為展示可見數據結構上的ー個節點,被請求前,按該節點為可見節點或非可見節點采用不同的文件夾圖標進行顯示。其中,數據結構展開與顯示模塊,對可見節點與非可見節點采用不同的圖標進行顯不O其中,數據結構展開與顯示模塊還用于顯示節點名稱。其中,數據結構展開與顯示模塊,對非可見節點顯示用于標識可見節點與非可見節點的區別字符。



圖I為背景技術所述windows 7系統中的文件共享的顯示界面;圖2為具體實施方式
中機站建設的項目樹形分解圖;圖3為具體實施方式
中小張的帳號可見機站建設項目的完整視圖;圖4為具體實施方式
中一數據結構展開顯示界面;圖5為具體實施方式
中流程圖ー;圖6為具體實施方式
中流程圖ニ ;圖7為具體實施方式
中流程圖三;圖8為具體實施方式
中樹形數據結構的展示系統的結構示意圖。
具體實施例方式以下結合具體的實施例,對本發明進行具體說明一個機站建設的項目,分解如圖2所示,其中財務小張可見的部分有“建筑公司協議合同”、“自購物品核銷”以及“硬件購買”這幾個事務。其數據格式如表I所示
權利要求
1.一種樹形數據結構的展示方法,包括以下步驟 步驟I接受請求接受展示數據結構的請求; 步驟2路徑載入從數據庫中查詢當前操作帳號的可見節點與當前操作帳號的可見數據結構的最高級節點,所述可見節點在數據結構上為可見數據結構的最高級節點的子節點,所述可見節點的子節點為可見節點;在可見節點中篩選出路徑節點,將路徑節點的編號與路徑存儲于內存中,所述路徑節點是其一級父節點為非可見節點的可見節點; 步驟3數據結構展開與顯示根據步驟I展示數據結構的請求,將被請求展示的數據結構展開并顯示,展開時若被展開的節點為非可見節點,從內存中存儲的路徑展開數據結構;若被展開的節點為可見節點,從數據庫展開數據。
2.根據權利要求I所述的樹形數據結構的展示方法,其特征在于 步驟I中展示數據結構的請求為以樹形結構展示可見數據結構; 步驟3中數據結構的展開包括展開所有的虛擬結構,所述虛擬結構為虛節點構成的數據結構,可見數據結構中的非可見節點稱為虛節點,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點的一級父節點依次展開數據結構。
3.根據權利要求2所述的樹形數據結構的展示方法,其特征在于 在步驟3中,如果展開的節點是非可見節點,在可見數據結構上有且僅有唯一的子節點,那么顯示時顯示該節點的展開結構。
4.根據權利要求2所述的樹形數據結構的展示方法,其特征在于 在步驟3中,如果展開的節點是非可見節點,在可見數據結構上有2個以上的子節點,那么顯示時該節點以縮進的狀態顯示。
5.根據權利要求2所述的樹形數據結構的展示方法,其特征在于 步驟3中數據結構的展開包括展開所有的可見結構,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點依次展開數據結構。
6.根據權利要求I所述的樹形數據結構的展示方法,其特征在于 步驟I中展示數據結構的請求為展示可見數據結構上的一個節點; 在步驟3展開并顯示步驟I中被請求展示的節點。
7.根據權利要求6所述的樹形數據結構的展示方法,其特征在于 步驟I中展示數據結構的請求為展示可見數據結構上的ー個節點,被請求前,該節點以文件夾形式顯示,并且按該節點為可見節點或非可見節點采用不同的文件夾圖標進行顯示; 步驟3顯示步驟I中被請求展示的節點時,對被展開的節點的子節點,以文件夾的形式顯示,并且對可見節點與非可見節點采用不同的圖標進行顯示,同時顯示節點名稱,且對非可見節點顯示用于標識可見節點與非可見節點的區別字符。
8.一種樹形數據結構的展示系統,包括 接受請求模塊,用于接受展示數據結構的請求; 路徑載入模塊,用于從數據庫中查詢當前操作帳號的可見節點與當前操作帳號的可見數據結構的最高級節點,所述可見節點在數據結構上為可見數據結構的最高級節點的子節點,所述可見節點的子節點為可見節點;在可見節點中篩選出路徑節點,將路徑節點的編號與路徑存儲于內存中,所述路徑節點是其一級父節點為非可見節點的可見節點;數據結構展開與顯示模塊,用于根據接受請求模塊所接受的展示數據結構的請求,將被請求展示的數據結構展開并顯示,展開時若被展開的節點為非可見節點,從內存中存儲的路徑展開數據結構;若被展開的節點為可見節點,從數據庫展開數據。
9.根據權利要求8所述的樹形數據結構的展示系統,其特征在于 接受請求模塊所接受的展示數據結構的請求為以樹形結構展示可見數據結構; 數據結構展開與顯示模塊所執行的數據結構的展開包括展開所有的虛擬結構,所述虛擬結構為虛節點構成的數據結構,可見數據結構中的非可見節點稱為虛節點,展開方式如下按路徑節點的路徑從可見數據結構的最高級節點到路徑節點的一級父節點依次展開數據結構。
10.根據權利要求9所述的樹形數據結構的展示系統,其特征在于 在數據結構展開與顯示模塊進行展開時,如果展開的節點是非可見節點,在可見數據結構上有且僅有唯一的子節點,那么顯示時顯示該節點的展開結構。
全文摘要
本發明的目的在于提供能根據操作帳號的權限,在使用較少系統資源的情況下,兼顧可見節點內容查看與其在整體數據結構上的位置的樹形數據結構展示方法,以及基于該方法構建的系統,本發明從數據庫中查詢當前操作帳號的可見節點與當前操作帳號的可見數據結構的最高級節點,所述可見節點在數據結構上為可見數據結構的最高級節點的子節點,所述可見節點的子節點為可見節點;在可見節點中篩選出路徑節點,將路徑節點的編號與路徑存儲于內存中,所述路徑節點是其一級父節點為非可見節點的可見節點;展開時若被展開的節點為非可見節點,從內存中存儲的路徑展開數據結構;若被展開的節點為可見節點,從數據庫展開數據。
文檔編號G06F17/30GK102662939SQ20111036740
公開日2012年9月12日 申請日期2011年11月17日 優先權日2011年11月17日
發明者林利煒, 鄒洪茂 申請人:福建榕基軟件股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 麦盖提县| 渭南市| 蓬溪县| 玉林市| 陆河县| 兰西县| 阿瓦提县| 铜川市| 冀州市| 章丘市| 阿坝县| 平安县| 泰宁县| 南华县| 辽源市| 萝北县| 额敏县| 龙井市| 垫江县| 临西县| 弋阳县| 合山市| 兴宁市| 温泉县| 庄河市| 澎湖县| 黑河市| 宣武区| 财经| 屏东县| 湟中县| 德江县| 东安县| 丽水市| 汶上县| 阳江市| 建瓯市| 永和县| 哈巴河县| 得荣县| 常德市|