專利名稱:在多窗口中顯示復雜樹結構的制作方法
技術領域:
本發明一般涉及計算機系統管理,特別涉及計算機數據的可視表示。更特別說,本發明涉及在計算機系統中的樹結構的改進的表示。
各種應用程序和操作系統都包括一個用戶接口特征,它能使用戶觀看存儲在計算機里的信息的列表。例如,微軟公司的Windows98操作系統包括一個Windows資源管理器程序,幫助用戶跟蹤存儲在計算機里的文件。因為甚至簡單的PC都具有存儲數千文件的容量,因此對許多應用程序來說,包括高效的設備以觀看存儲在計算機中的信息列表是很重要的。
文件、目錄和其它計算機資源的大的列表當以一種層次結構方式描繪時容易理解。層次結構表示是計算機資源列表的一種有效方法,因為它把相關主題以能使用戶更容易定位希望條目的方式歸集在一起。表示層次結構的一種方式是使用樹結構。樹結構包括一些叫作節點的參考點,它們一起組成一個樹。一個樹的原點或者基點叫作根節點,其特點是無父節點。其它每一個節點只有一個父節點和可能有一個或者多個子節點。葉節點是樹層次結構的最低節點,因此沒有子節點。樹結構的這一概念可以應用于多種類型的數據或計算機資源的分類。
這一樹結構的一個例子是文件系統,其中相關信息使用子目錄的層次結構歸集在一起。在該例中,主目錄是樹的根節點,對主目錄的一些子目錄是其子節點。每一子目錄可以分成另外一些子目錄,得到該層次結構的另外層。在該層次結構的每一層,可能有一些文件是該樹結構的葉節點。在文件目錄之外,樹結構的概念可以擴展到其它任意數據分組。
盡管使用樹結構是表示計算機內存儲的復雜信息的有效方式,但是對計算機來說,重要的是要以能使用戶容易瀏覽這些信息的方式顯示它們。在當今的計算機系統中具有復雜樹結構是很典型的,特別是考慮典型個人計算機系統日益增長的存儲器容量時。計算機網絡應用進一步增加了復雜性,因為可以通過網絡分布的數據的數量十分巨大。
網絡數據庫應用特別需要有效的用戶接口來表示分布在網絡上的數據庫資源。在典型的網絡數據庫配置中,具有大量分布在整個計算機網絡中的服務器數據庫應用并不稀少。在該網絡中的每一服務器數據庫應用可以以非常復雜的信息層次結構關聯。其結果,對用戶來說,沒有一個有效的用戶接口觀看和在分布在網絡中的復雜的層次信息中漫游的話,很難確定希望的信息的位置。
可以使用基于文字的用戶接口瀏覽存儲在層次樹結構中的信息。但是這樣的用戶接口很受限制。這些基于文字的用戶接口不能給用戶表達關于總層次結構足夠的信息,因為它們一時只能顯示該層次結構的一層的一個平面列表。除非用戶能夠記住條目在該樹結構中的位置,否則他/她必須重復翻遍層次結構的每層,才能找到通向希望條目的恰當的路徑。
顯示樹結構的圖形表示的用戶接口提供比基于文字的方法更為有效的接口。例如,Windows資源管理器接口以圖形顯示一個文件系統的層次結構。它允許用戶一次觀看該層次結構的幾層,還能使用戶交互展開在該樹結構中的節點。用戶可以通過選擇和點擊一個父節點而“展開”一個節點,使Windows資源管理器顯示該父節點的子節點。
盡管諸如在Windows操作系統中的Windows資源管理器這樣的圖形用戶接口提供較好的性能,但是它們不能為非常大而復雜的樹結構提供有效接口,諸如在網絡數據庫應用中通常碰到的那些樹結構。Windows資源管理器產品的一個缺點是它只允許用戶一時觀看樹的一部分。用戶不能把該樹分成較小的更可管理的信息集而同時保持該樹結構。Windows資源管理器的確允許用戶展開該樹的一層,但是這一功能的使用有限。當用戶在一個節點處展開一個樹時,Windows資源管理器接口顯示包含父節點的子節點的一個平面列表的一個單獨的窗口。這一單獨的窗口不表示一個單獨的和新的層次結構樹,而僅僅表示相似于在基于文字的接口中提供的平面列表的節點的平面列表。
一般說,漫游層次結構的圖形用戶接口受當今計算機系統上的顯示屏幕的標準尺寸限制。對用戶來說,當顯示屏幕只能容納一個樹結構的非常小的一部分時,漫游復雜樹結構是非常困難的。從一個節點漫游到另一節點需要使用上和下或左和右滾動條。因此,需要一種改進的用戶接口,它能使用戶更容易和更有效地漫游存儲在計算機系統中的信息的復雜層次結構。
因此,本發明的一個目的是提供改進的計算機系統管理能力。
本發明的另一目的是提供計算機數據的改進的視像表示。
本發明的再一個目的是提供在計算機系統中的樹結構的改進的表示。
前述目的可以實現,現在加以說明。因為一個窗口只能表示一定量的信息,因此,使用多窗口來表示單一樹結構的不同分支。用戶可以選擇任何樹節點和選擇“啟動新窗口”動作。可視連接從父節點掛接在新子樹窗口的虛擬根節點上。在每一窗口內,以更可管理的方式顯示信息。子樹可以合并回父樹中。
上述以及本發明其它的目的、特征和優點在下述詳細撰寫的說明書中十分明顯。
在所附權利要求中敘述被認為本發明的特征的新穎特性。然而本發明自身以及使用的優選方式、其另外的目的和優點,在參考下面作為例證的一個實施例的詳細說明并結合附圖閱讀時,將更很理解,附圖中
圖1表示按照本發明的一個優選實施例的數據處理系統;圖2是一個示例計算機顯示,它有一個窗口,顯示按照本發明的一個優選實施例的一個系統樹;圖3是一個示例計算機顯示,它有多個窗口,顯示按照本發明的一個優選實施例的一個系統樹和子樹;圖4是一個示例計算機顯示,它有多個窗口,顯示按照本發明的一個優選實施例的一個系統樹和兩個子樹;圖5表示一個示例計算機顯示,它有多個窗口,顯示按照本發明的一個優選實施例的一個系統樹和子樹;圖6是按照本發明的一個優選實施例的處理的流程圖;圖7是按照本發明的一個優選實施例的另一處理的流程圖;圖8是按照本發明的一個優選實施例的示例彈出式菜單。
下述說明詳細闡述了本發明的幾個優選實施例的操作和特征,但是熟悉本技術領域的人將會理解,本發明的范圍僅由發表的權利要求定義,而不由這里的任何說明定義。
現在參考附圖,特別參考圖1,其中表示可以實現本發明的一個優選實施例的數據處理系統的方框圖。數據處理系統100例如可以是由位于紐約州的Armonk的國際商業機器公司生產的計算機。數據處理系統100包括處理器101和102,它們在示例實施例中分別連接在二級(L2)超高速緩沖存儲器103和104上,后者依次連接到系統總線106上。
連接到系統總線106上的還有系統存儲器108和基本主橋(PHB)122。PHB122連接I/O總線112到系統總線106,中繼和/或轉換數據事務處理從一個總線到另一個總線。在示例實施例中數據處理系統100包括連接到I/O總線112上的圖形適配器118,它為顯示器120接收用戶接口信息。外圍設備,諸如可以是硬磁盤的非易失存儲器114和鍵盤/指點設備116(其可以包括常規鼠標、軌跡球等)通過工業標準體系結構(ISA)橋121連接到I/O總線112。PHB122還通過I/O總線112連接到PCI插槽124。
圖1所示示例實施例僅為解釋本發明的目的而提供,熟悉本技術領域的人可以理解各種變體是可能的,無論是形式還是其功能。例如,數據處理系統100還可以包括緊致式盤只讀存儲器(CD-ROM)或數字視頻盤(DVD)驅動器、聲卡和音頻揚聲器、以及各種其它的可選部件。所有這些變體認為都在本發明的精神和范圍之內。數據處理系統100和下面的例圖僅為解釋的目的作為例子提供,而并不打算隱含結構上的限制。
在本優選實施例中的鍵盤/指點設備116包括允許“點擊和拖動”操作的指點設備,諸如鼠標、軌跡球或者觸摸墊。這一類型的輸入設備在運行窗口化接口的大多數通常的系統中很普通,它是操作窗口和下面說明的樹結構的優選設備。
盡管本說明特別提到微軟公司開發的Windows操作系統,但是熟悉本技術領域的人將理解,下面說明的發明技術可以應用于許多其它“窗口化”的系統,諸如X-Windows,而且事實上可以應用于使用樹結構表示數據層次結構的任何系統。
根據本發明,使用多窗口表示單一樹結構的不同分支。用戶可以選擇任何樹節點和選擇“啟動新窗口”的動作,或者只是從樹窗口中“拖”出那個節點。建立一個新窗口,并且使用選擇的節點作為根節點顯示一個子樹。在原來窗口中,從父節點給在新窗口中的子樹的根節點附加一個可視連接。該連接允許用戶在任何時候都能確切看見在較大的結構中子樹從何處開始。
用戶可以重復這一處理來分解一個復雜的樹結構為一組窗口。在每一窗口內,信息以更可管理的方式顯示。為合并一個子樹回到它的父樹,用戶可以選擇該子樹的根節點并選擇“合并回父樹”,或者只是拖動子樹的根節點回到父節點窗口。當用戶做完這些,子樹窗口將成為父節點窗口的一部分,任何對其它余留的子樹窗口的連接被相應重畫。
現在參考圖2,圖中表示一個計算機顯示200,它有一個示例樹結構窗口210。注意,和在通常系統中遇到的多數情況比較,這是一個非常簡單的結構,用于簡化說明。
基本樹結構示于窗口210。在該圖和下述各圖中,節點“A”240是系統的根節點。它有兩個子節點“B”250和“C”260,節點“A”240稱為這些節點的父節點。節點“B”250具有兩個子節點“D”252和“E”254。節點“C”260具有兩個子節點“F”262和“G”268。節點262具有兩個子節點“H”264和“I”266。
如果用戶只希望處理以節點C開始的子樹,則用戶應該選擇節點C,然后在一個如圖8所示的彈出式窗口上選擇“Start New Window(啟動新窗口)”,或者用戶只是使用鼠標或者其它指點設備把節點B拖出窗口210。當用戶做完這些,在系統中打開一個新窗口,如圖3所示。
現在參考圖3,圖中表示另一示例計算機顯示,它包含樹窗口310和315。窗口310表示如在圖2中的原來的系統樹,除了節點C360及其子樹現在在新窗口315中顯示。節點C260有兩個子節點“F”262和“G”268,節點262有兩個子節點“H”264和“I”266,如在前一圖中一樣,但是樹顯示315大大簡化。注意,連接370在窗口310和315之間延伸,仍然連接節點C到其父節點A。以這種方式,用戶可以立即看到該子樹對實際根節點的關系。
現在參考圖4,如果用戶在選擇節點F462后然后選擇“Start NewWindow(啟動新窗口)”,或者把節點F462拖出窗口315,則將打開具有一個子樹結構的另一窗口420,該子樹以節點F作為虛擬根節點。節點H464和節點I466作為節點F的子節點顯示,如圖2所示,但是在窗口420中的樹顯示又一次更加簡單。注意,連接472表示從在窗口420中的虛擬根節點F462到在窗口415中它的父節點C460的連接,而連接470表示在節點C460和實際根節點A440之間的連接。以這種方式,用戶又一次可以立即看到每一子樹窗口與其父節點的關系,一直從樹向上直到實際根節點。
現在參考圖5,如果用戶在選擇節點C560后然后選擇“Merge Backto Parent(合并回父樹)”,或者把節點C560拖回窗口510,則節點C′的窗口(圖4中的415)關閉,而該子樹回到窗口510中的位置顯示。這里節點C560和節點G568在窗口510的樹中它們的位置上顯示,窗口510相應于如圖2所示的它們原來的位置。注意,具有節點F562子樹的窗口520不受這一改變的影響;唯一的差別是從節點F562到其父節點C560的連接574現在連接窗口520和510。以這種方式,用戶又一次可以立即看到每一子樹窗口對其父節點的關系,一直從樹向上到實際根節點。
現在參考圖6,圖中表示形成一個新樹窗口的處理的流程圖。首先,系統在顯示的窗口中顯示一個層次結構的數據樹(步驟600)。接著,用戶選擇一個節點并將其拖出該窗口到顯示的另一區域(步驟610)。然后系統將打開一個新窗口(步驟620),并在該窗口中顯示一個新數據樹,使用用戶選擇為根節點的節點(步驟630)。當然,所選擇的節點的任何子樹當它們在新窗口中顯示時從原來窗口中刪除。
最后,系統畫出在新子樹窗口的虛擬根節點和在該節點的在原來窗口中的父節點之間的連接(步驟640)。這一步驟很重要,因為它允許用戶仍然能看到總的樹層次結構,同時處理簡單得多的子樹。
現在參考圖7,圖中表示合并一個子樹回到其父樹窗口的處理的流程圖。這里,假定系統已經顯示至少兩個相關的樹窗口,其中一個是另一個的父窗口(步驟700)。當然,要顯示連接子樹到在父樹窗口中的它的父節點的連接。
接著,用戶從子樹窗口拖動子樹根節點到父樹窗口(步驟710)。注意,如果用戶從一個窗口拖出某另外的節點的話,則其指示如圖6中的處理。
在用戶做完這些后,重畫父樹窗口,使其包括該子樹作為其父樹的一部分(步驟720)。子樹窗口關閉(步驟730)。最后,重畫從任何其它可見子樹到各自父節點的連接,如果該父節點被移動的話(步驟740)。
當然,雖然在下面的例子中說明了“拖動”技術,但是使用“彈出菜單”技術可實現同樣的功能,如所述。
現在參考圖8,圖中表示出一個用于樹漫游的示例彈出菜單800。盡管這樣的彈出窗口可以具有許多不同的和常規的功能830,但是本優選實施例還提供附加的功能。
第一附加功能是“Start New Window(啟動新窗口)”810,其在上面討論。當激活這一功能時,系統打開一個新窗口,使用當前選擇的節點作為虛擬根節點畫出一個新的層次結構樹。
當選擇“Merge Back to Parent(合并回父樹)”820時,關閉具有虛擬根節點的當前窗口,所選擇的子樹被合并回其父樹中,如上所述。注意,如果虛擬根節點是實際根節點,如圖2,則“Merge Backto Parent”820菜單選項將不能使用。
如果希望的話,可以使用一個筆記本來維護所有子樹窗口。在每一窗口之間的連接可以使用頁標簽作為中間連接。一個節點可以使用一個可視連接連接到在該頁上的一個圖標上。單擊在該頁標簽內的那個圖標將翻動該筆記本到包含子樹信息的那一頁。
本發明的上述以及其它目的、特征和優點在下述詳細撰寫的說明書中將十分明顯。
重要的是要注意,雖然本發明是在全功能的數據處理系統和/或網絡的上下文中加以說明,但是熟悉本技術領域的人理解,本發明的機制能夠以各種形式以計算機指令可用介質的形式分發,以及不管用于實際執行這一分發的信號承載介質的特定類型,本發明同樣適用。計算機可用介質的例子包括非易失、硬編碼型介質,諸如只讀存儲器(ROM)或可擦寫電子可編程只讀存儲器(EEPROM),可紀錄型介質諸如軟盤、硬盤驅動器和CD-ROM,以及傳輸型介質諸如數字和模擬通信連接。
雖然本發明特別參考一個優選實施例表示和說明,但是熟悉本技術領域的人理解,對其可以進行各種形式和細節方面的改變而不離開本發明的精神和范圍。
權利要求
1.一種計算機系統,包括一個處理器;一個連接的存儲器,由處理器讀寫,該存儲器包含數據的層次結構表示;一個連接的顯示器,用于在該顯示器上的各窗口內以多個樹結構顯示數據;其中,當父節點和子節點在不同窗口中顯示時,顯示器顯示父節點和子節點之間的連接。
2.如權利要求1所述計算機系統,其中,所述系統執行一個圖形用戶接口。
3.如權利要求1所述計算機系統,其中,所述每一樹結構表示主樹結構的一部分。
4.一種在計算機系統中顯示數據的方法,包括步驟在計算機顯示器的第一區域中以具有父和子節點的第一樹結構顯示數據;從所述第一區域清除一部分數據并在計算機顯示器的一個第二區域內以第二樹結構顯示該部分數據;在顯示器的不同區域內顯示父和子節點之間的可視連接。
5.如權利要求4所述計算機系統,其中,所述系統執行一個圖形用戶接口。
6.如權利要求4所述計算機系統,其中,所述每一樹結構表示主樹結構的一部分。
7.如權利要求4所述計算機系統,其中,第二樹結構的根節點是在第一樹結構內的一個節點的子節點。
8.在計算機系統中顯示數據的方法,包括步驟在計算機顯示器的第一區域中以具有父和子節點的第一樹結構顯示第一數據;在計算機顯示器的第二區域中以具有父和子節點的第二樹結構顯示第二數據,其中,第二數據的根節點是第一數據的一個節點的子節點;顯示在第二數據的根節點和該根節點在第一數據中的父節點之間的連接;在接收到用戶輸入時,在顯示器的同一區域結合第一數據和第二數據。
9.如權利要求8所述計算機系統,其中,所述系統執行一個圖形用戶接口。
10.如權利要求8所述計算機系統,其中,所述每一樹結構表示主樹結構的一部分。
11.如權利要求8所述計算機系統,其中,當第一數據和第二數據結合時,形成單一樹結構。
12.一種在計算機可用介質內的計算機程序產品,包括為在計算機顯示器的第一區域中以具有父和子節點的樹結構顯示數據的指令;為從所述第一區域清除一部分數據和在計算機顯示器的第二區域顯示該部分數據的指令;為在該顯示器的不同區域內顯示父和子節點之間虛擬連接的指令。
13.如權利要求12所述計算機程序產品,其中,所述程序產品在一個圖形用戶接口中執行。
14.如權利要求12所述計算機程序產品,其中,所述樹結構表示一個計算機文件系統。
15.如權利要求12所述計算機程序產品,另外包括為接收用戶輸入的指令。
16.一個在計算機可用介質內的計算機程序產品,包括為在計算機顯示器的第一區域中以具有父和子節點的第一樹結構顯示第一數據的指令;為在計算機顯示器的第二區域中以具有父和子節點的第二樹結構顯示第二數據的指令,其中,第二數據的根節點是第一數據的一個節點的子節點;為顯示在第二數據的根節點和該根節點在第一數據中的父節點之間連接的指令;為在接收到用戶輸入時在顯示器的同一區域結合第一數據和第二數據的指令。
17.如權利要求16所述計算機程序產品,其中,所述程序產品在一個圖形用戶接口內執行。
18.如權利要求16所述計算機程序產品,其中,所述樹結構表示一個計算機文件系統。
19.如權利要求16所述計算機程序產品,另外包括為接收用戶輸入的指令。
20.一種在可編程計算機系統中交互顯示用于表示層次結構數據的樹結構的方法,該方法包括在所述編程的計算機系統的存儲器中存儲主樹結構;在第一窗口中顯示相應于主樹結構至少一部分的一個層次結構主樹;響應用戶命令從主樹中一個由用戶指定的節點開始分離主樹到一個子樹;建立層次結構客戶子樹;建立為顯示該層次結構子樹的一個第二窗口;在第二窗口中顯示具有形成該子樹根節點的用戶指定的節點的子樹;建立在子樹中的用戶指定的節點和在主樹中它的父節點之間的可見連接。
全文摘要
使用多窗口表示單一樹結構的不同分支。用戶可以選擇任何樹節點和選擇“啟動新窗口”動作。從父節點到新子樹窗口的虛擬根節點附加一個可視連接。在每一窗口中,以更可管理的方式顯示信息。子樹可以合并回父樹中。
文檔編號G06F17/00GK1276567SQ0011798
公開日2000年12月13日 申請日期2000年6月2日 優先權日1999年6月3日
發明者W·H·Y·庫, J·S·Y·王 申請人:國際商業機器公司