[發(fā)明專利]用于管理信息系統(tǒng)的樹視圖節(jié)點加載顯示方法有效
| 申請?zhí)枺?/td> | 200810240437.7 | 申請日: | 2008-12-19 |
| 公開(公告)號: | CN101446973A | 公開(公告)日: | 2009-06-03 |
| 發(fā)明(設(shè)計)人: | 鐘廣友;倪永全 | 申請(專利權(quán))人: | 北京數(shù)碼大方科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京康信知識產(chǎn)權(quán)代理有限責(zé)任公司 | 代理人: | 吳孟秋 |
| 地址: | 100080北京市海*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 管理信息系統(tǒng) 視圖 節(jié)點 加載 顯示 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)控領(lǐng)域,具體而言,涉及一種用于管理信息系統(tǒng)的樹視圖節(jié)點加載顯示方法。
背景技術(shù)
面向離散制造業(yè)的企業(yè)管理軟件如CAPP(Computer?AidedProcess?Planning,計算機(jī)輔助工藝過程設(shè)計)、EDM(ElectronicDocument?Management)、PDM(Product?Data?Management,產(chǎn)品數(shù)據(jù)管理)、PLM(Product?Lifecycle?Management,產(chǎn)品生命周期管理)、ERP(Enterprise?Resource?Planning,企業(yè)資源規(guī)劃)都是典型的MIS(Manager?Information?System,管理信息系統(tǒng)),也是典型的數(shù)據(jù)庫應(yīng)用系統(tǒng),主要處理數(shù)據(jù)庫中的數(shù)據(jù)信息。這類系統(tǒng)通常會存在由于一次性瀏覽加載大數(shù)據(jù)量/海量“數(shù)據(jù)”而引起的性能問題,如:界面UI樹控件顯示的“樹視圖(TreeView)”完整(或部分)展開顯示非常慢,甚至?xí)霈F(xiàn)“死機(jī)”現(xiàn)象(一般是由于操作時間太長,系統(tǒng)UI又不能刷新等引起),從而嚴(yán)重影響系統(tǒng)的使用推廣。
特別是目前面向?qū)ο笙到y(tǒng)的這種“數(shù)據(jù)”實際上就是對象,這種“數(shù)據(jù)”對象信息有可能很豐富(即大對象),并且一次性批量加載這些“大對象”過程中還有一些額外的業(yè)務(wù)邏輯(如權(quán)限判斷、父子約束判斷、用戶自定義顯示等,邏輯越復(fù)雜性能問題越嚴(yán)重)。然而根據(jù)實際應(yīng)用場景,又必須一次性加載大量數(shù)據(jù)對象(如顯示產(chǎn)品結(jié)構(gòu)樹中比較復(fù)雜的部件結(jié)構(gòu),其結(jié)構(gòu)下可能存在幾千或上萬個子節(jié)點),這就存在不可避免的性能問題。
目前,樹視圖大數(shù)據(jù)量數(shù)據(jù)加載顯示性能優(yōu)化,一般軟件系統(tǒng)首先會最大限度做好系統(tǒng)底層的性能優(yōu)化,確保加載相同數(shù)量的樹視圖節(jié)點所花時間最少;其次會在系統(tǒng)UI層面進(jìn)行優(yōu)化,如增加人性化的進(jìn)度提示,后臺多線程/進(jìn)程分散執(zhí)行,以避免花屏“死機(jī)”,盡量增強(qiáng)用戶好的體驗,這在某種層面上基本能讓用戶接受。比較常見的優(yōu)化方法有(這里主要討論的是加載一級子節(jié)點):
(1)異步加載樹視圖節(jié)點,即通過多線程/進(jìn)程進(jìn)行分散加載,這樣可以有效地避免由于大樹視圖展開加載引起的花屏與死機(jī)現(xiàn)象(這種死機(jī)一般就是由于某單線程/進(jìn)程或某多線程/進(jìn)程中的某一線程/進(jìn)程長時間工作而表現(xiàn)出來的花屏或白屏現(xiàn)象)。該方法具體如下:
a)載入父節(jié)點;b)以名稱VIRT為父節(jié)點添加子節(jié)點,這會使得TreeView在每個節(jié)點前放置一個加號;c)捕獲OnAfterExpand事件;d)建立一個BackgroundWorker線程,并傳遞TreeNode及其他必要的信息到DoWork函數(shù);e)在后臺線程的DoWork函數(shù)中執(zhí)行耗時的操作,同時增加進(jìn)度條;f)OnAfterExpand事件中進(jìn)行當(dāng)前進(jìn)程UI的實時刷新;g)從耗時操作返回原TreeNode和結(jié)果;h)從RunWorkerCompleted事件的服務(wù)中,取得TreeNode和數(shù)據(jù);i)移除VIRT節(jié)點,并把它替換為新的TreeNodes;j)為每個新增的子節(jié)點添加一個VIRT節(jié)點(除非你知道它確實是一個末級節(jié)點)。
(2)利用系統(tǒng)閑余時間加載樹視圖節(jié)點,該方法是“異步加載樹視圖節(jié)點”方法的優(yōu)化,即在系統(tǒng)閑余時間部分地去觸發(fā)未完成節(jié)點的加載。如果在用戶使用樹視圖前,系統(tǒng)“閑時”地將所有樹視圖節(jié)點加載,那么用戶操作展開樹視圖沒有等待延遲,這樣有時能夠很好地解決分散加載的問題。該方法具體如下:
a)定義系統(tǒng)休閑時觸發(fā)的事件(.Net中可以定義“Application_Idle”事件,VB中可以利用“閑置循環(huán)”);b)在閑置事件中處理自動“加載樹視圖”操作;c)“加載樹視圖”即用遞歸算法完成整棵樹的節(jié)點加載,具體一層節(jié)點加載邏輯與“異步加載樹視圖節(jié)點”一樣。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)“異步加載樹視圖節(jié)點”方法并不能從根本上解決樹視圖大數(shù)據(jù)量數(shù)據(jù)加載顯示性能的問題,即每展開一層比較多的節(jié)點都會有不同程度的等待,且等待時間基本與子節(jié)點數(shù)成正比。而“利用系統(tǒng)閑余時間加載對象數(shù)節(jié)點”方法在沒有“閑時”地加載時,同樣存在上述的問題。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種用于管理信息系統(tǒng)的樹視圖節(jié)點加載顯示方法,能夠解決現(xiàn)有技術(shù)在加載顯示樹視圖大數(shù)據(jù)量數(shù)據(jù)時存在的性能問題。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京數(shù)碼大方科技有限公司,未經(jīng)北京數(shù)碼大方科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810240437.7/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種利用短消息實現(xiàn)移動辦公的系統(tǒng)和方法
- 一種集成化管理信息系統(tǒng)消息處理方法、裝置及系統(tǒng)
- 輔助進(jìn)行可靠性管理信息系統(tǒng)數(shù)據(jù)錄入的方法與平臺
- 管理信息系統(tǒng)中實現(xiàn)應(yīng)用移動化的方法和系統(tǒng)
- 學(xué)生管理信息系統(tǒng)
- 一種基于物聯(lián)網(wǎng)的火力發(fā)電廠燃料智能化全面管控系統(tǒng)
- 一種信息系統(tǒng)的用戶權(quán)限多維度多級管理方法
- 一種企業(yè)生產(chǎn)、經(jīng)營管理中跨區(qū)域系統(tǒng)數(shù)據(jù)交互方法
- 一種基于分布式異構(gòu)空間數(shù)據(jù)集成方法
- 餐飲管理信息系統(tǒng)
- 節(jié)點查詢方法、節(jié)點、移動通訊系統(tǒng)和計算機(jī)程序產(chǎn)品
- 一種根據(jù)節(jié)點集合構(gòu)造節(jié)點關(guān)系樹的方法、裝置及系統(tǒng)
- 一種DHT網(wǎng)絡(luò)負(fù)載均衡裝置及虛節(jié)點劃分的方法
- 一種無線傳感網(wǎng)地理位置路由空洞處理方法
- 節(jié)點鎖定部件、節(jié)點滑軌、節(jié)點和機(jī)箱
- 一種待推薦節(jié)點線路的確定方法及裝置
- 流控方法、目標(biāo)節(jié)點、節(jié)點及施主節(jié)點
- 節(jié)點布局確定方法以及裝置
- 一種具有分布式柔度的全柔順微位移放大機(jī)構(gòu)
- 節(jié)點掛載方法、裝置、網(wǎng)絡(luò)節(jié)點及存儲介質(zhì)





