專利名稱:一種web管理系統(tǒng)及其菜單加載方法
技術(shù)領(lǐng)域:
本發(fā)明涉及TOB管理系統(tǒng),具體而言,涉及一種WEB管理系統(tǒng)及其菜單加載方法。
背景技術(shù):
在TOB管理系統(tǒng)中,系統(tǒng)菜單一般都是按照功能模塊,分級(jí)別分類的。對(duì)于功能比較多的系統(tǒng)來說,系統(tǒng)菜單的級(jí)別和類別會(huì)很多,那么就會(huì)涉及到如何對(duì)菜單進(jìn)行加載的問題。目前,系統(tǒng)菜單的定義,一般通過文件或數(shù)據(jù)庫的形式來進(jìn)行定義。其中,系統(tǒng)菜單通過文件方式來定義指,定義一個(gè)文件來存儲(chǔ)系統(tǒng)菜單,例如按照一定的結(jié)構(gòu)以XML文件的形式定義。在用戶登錄系統(tǒng)的時(shí)候,系統(tǒng)首先加載該文件,然后再對(duì)文件進(jìn)行解析,將菜單全部加載并在頁面進(jìn)行展示。但是采用文件形式定義系統(tǒng)菜單存在如下幾方面的不足1)系統(tǒng)菜單定義過多,會(huì)導(dǎo)致文件過大,加載時(shí)引起內(nèi)存溢出等;2)每次加載菜單,頻繁的文件IO操作,會(huì)消耗很大的系統(tǒng)資源;3)不利于對(duì)系統(tǒng)的菜單進(jìn)行擴(kuò)展。而對(duì)于大多數(shù)的TOB管理系統(tǒng)來說,都采用數(shù)據(jù)庫的方式來定義系統(tǒng)菜單。采用數(shù)據(jù)庫方式,相對(duì)于文件形式來說,方便存儲(chǔ)的同時(shí),利于系統(tǒng)菜單的擴(kuò)展。但是,存在一個(gè)很現(xiàn)實(shí)的問題就是,對(duì)于管理系統(tǒng)的用戶來說,可能一次登錄后的操作也僅僅在系統(tǒng)的一個(gè)模塊中進(jìn)行,用戶真正操作的菜單可能很少。而實(shí)際中,大多的ERP系統(tǒng)(企業(yè)資源規(guī)劃)、企業(yè)業(yè)務(wù)系統(tǒng)、辦公管理系統(tǒng)等,都是將系統(tǒng)全部的菜單進(jìn)行加載。因此,通過數(shù)據(jù)庫形式定義系統(tǒng)菜單也存在一定的不足,包括如下幾點(diǎn)1)加載全部菜單會(huì)增加系統(tǒng)訪問數(shù)據(jù)庫的時(shí)間;2)增加用戶頁面加載的等待時(shí)間;3)消耗大量的內(nèi)存資源來存放菜單數(shù)據(jù)。因此,這就需要能夠?qū)Σ藛芜M(jìn)行按需動(dòng)態(tài)的加載。如公開號(hào)為101661387的“用于管理系統(tǒng)的菜單動(dòng)態(tài)加載方法”提出了一種方案,解析菜單并建立包括菜單項(xiàng)的數(shù)據(jù)對(duì)象,初始化數(shù)據(jù)對(duì)象中的ID,將ID關(guān)聯(lián)到用于執(zhí)行管理系統(tǒng)的特定功能的菜單命令函數(shù), 運(yùn)行數(shù)據(jù)對(duì)象以在屏幕上提供包括菜單項(xiàng)的菜單。但是該方法只是解決了管理系統(tǒng)中的菜單加載后,菜單發(fā)生變化之后如何對(duì)菜單進(jìn)行動(dòng)態(tài)更新的問題,并沒有解決上述問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,提供一種TOB管理系統(tǒng)及其菜單加載方法,以提高菜單加載效率。為了解決上述問題,本發(fā)明公開了一種TOB管理系統(tǒng)菜單加載方法,包括TOB管理系統(tǒng)接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。較佳地,上述方法中,所述菜單對(duì)象的屬性包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別、菜單父標(biāo)識(shí)(ID)和子菜單對(duì)象數(shù)組,其中,子菜單對(duì)象數(shù)組存放該菜單對(duì)象下一級(jí)別的子菜單對(duì)象。較佳地,上述方法中,所述菜單數(shù)據(jù)表中的菜單數(shù)據(jù)包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。較佳地,上述方法中,所述菜單標(biāo)識(shí)信息至少包括菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。較佳地,上述方法還包括所述TOB管理系統(tǒng)判斷用戶登錄,但未發(fā)起任何菜單操作請(qǐng)求時(shí),從內(nèi)存對(duì)象中查詢第一級(jí)菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示所述第一級(jí)菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢第一級(jí)菜單的菜單數(shù)據(jù),將查詢到的第一級(jí)菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象加載到內(nèi)存對(duì)象中第一級(jí)菜單對(duì)象中,向用戶顯示第一級(jí)菜單。本發(fā)明還公開了一種TOB管理系統(tǒng),至少包括第一單元,接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù);第二單元,在所述第一單元從內(nèi)存對(duì)象中查詢到該菜單操作請(qǐng)求所要訪問的菜單的菜單數(shù)據(jù)時(shí),直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單;第三單元,在所述第一單元從內(nèi)存對(duì)象中未查詢到該菜單操作請(qǐng)求所要訪問的菜單的菜單數(shù)據(jù)時(shí),從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。較佳地,上述系統(tǒng)中,所述菜單對(duì)象的屬性包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別、菜單父標(biāo)識(shí)(ID)和子菜單對(duì)象數(shù)組,其中,子菜單對(duì)象數(shù)組存放該菜單對(duì)象下一級(jí)別的子菜單對(duì)象。較佳地,上述系統(tǒng)中,所述菜單數(shù)據(jù)表中的菜單數(shù)據(jù)包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。較佳地,上述系統(tǒng)中,所述菜單標(biāo)識(shí)信息至少包括菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。較佳地,上述系統(tǒng)還包括第四單元,判斷用戶登錄,但未發(fā)起任何菜單操作請(qǐng)求時(shí),從內(nèi)存對(duì)象中查詢第一級(jí)菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示所述第一級(jí)菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢第一級(jí)菜單的菜單數(shù)據(jù),將查詢到的第一級(jí)菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象加載到內(nèi)存對(duì)象中第一級(jí)菜單對(duì)象中,向用戶顯示第一級(jí)菜單。本申請(qǐng)的技術(shù)方案減少了用戶每次訪問頁面的等待時(shí)間,大大提高的操作效率。 同時(shí),由于本申請(qǐng)技術(shù)方案中內(nèi)存持久對(duì)象所占用的資源是按需分配的,不會(huì)始終占據(jù)大片內(nèi)存空間。
圖1為本實(shí)施例中數(shù)據(jù)對(duì)象定義圖;圖2為本實(shí)施例中采用的內(nèi)存對(duì)象數(shù)據(jù)結(jié)構(gòu)示意圖;圖3為本實(shí)施例中WEB管理系統(tǒng)菜單動(dòng)態(tài)加載流程圖。
具體實(shí)施例方式為了使本申請(qǐng)的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文將結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)技術(shù)方案作進(jìn)一步詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例的特征可以任意相互組合。實(shí)施例1本實(shí)施例提供一種TOB管理系統(tǒng)菜單加載方法,可按用戶需求動(dòng)態(tài)加載WEB管理系統(tǒng)中的菜單項(xiàng)。該方法的實(shí)現(xiàn)過程如下。WEB管理系統(tǒng)接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。上述菜單標(biāo)識(shí)信息至少包括菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。另外,當(dāng)WEB管理系統(tǒng)判斷用戶登錄,但未發(fā)起任何菜單操作請(qǐng)求時(shí),則可從內(nèi)存對(duì)象中查詢第一級(jí)菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示第一級(jí)菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢第一級(jí)菜單的菜單數(shù)據(jù),將查詢到的第一級(jí)菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象加載到內(nèi)存對(duì)象中第一級(jí)菜單對(duì)象中,向用戶顯示第一級(jí)菜單。其中,菜單對(duì)象和菜單數(shù)據(jù)表是事先定義好的。在本實(shí)施例中,菜單對(duì)象如圖1所示,其屬性包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別、菜單父標(biāo)識(shí)(ID)和子菜單對(duì)象數(shù)組。而子菜單對(duì)象數(shù)組是用于存放該菜單對(duì)象下一級(jí)別的子菜單對(duì)象的。菜單數(shù)據(jù)表中的菜單數(shù)據(jù)包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。本實(shí)施例中菜單數(shù)據(jù)表如表1所示。表1為菜單數(shù)據(jù)定義表
菜單數(shù)據(jù)定義表PK菜單ID菜單名稱菜單鏈接地址菜單級(jí)別菜單父ID基于上述菜單數(shù)據(jù)表的定義,定義如表2所示的菜單數(shù)據(jù)。表2為菜單數(shù)據(jù)定義表
權(quán)利要求
1.一種WEB管理系統(tǒng)菜單加載方法,其特征在于,該方法包括TOB管理系統(tǒng)接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。
2.如權(quán)利要求1所述的方法,其特征在于,所述菜單對(duì)象的屬性包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別、菜單父標(biāo)識(shí)(ID)和子菜單對(duì)象數(shù)組,其中,子菜單對(duì)象數(shù)組存放該菜單對(duì)象下一級(jí)別的子菜單對(duì)象。
3.如權(quán)利要求2所述的方法,其特征在于,所述菜單數(shù)據(jù)表中的菜單數(shù)據(jù)包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。
4.如權(quán)利要求1、2或3所述的方法,其特征在于,所述菜單標(biāo)識(shí)信息至少包括菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。
5.如權(quán)利要求4所述的方法,其特征在于,該方法還包括所述WEB管理系統(tǒng)判斷用戶登錄,但未發(fā)起任何菜單操作請(qǐng)求時(shí),從內(nèi)存對(duì)象中查詢第一級(jí)菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示所述第一級(jí)菜單,如果未查詢到, 則從菜單數(shù)據(jù)表中查詢第一級(jí)菜單的菜單數(shù)據(jù),將查詢到的第一級(jí)菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象加載到內(nèi)存對(duì)象中第一級(jí)菜單對(duì)象中,向用戶顯示第一級(jí)菜單。
6.一種TOB管理系統(tǒng),其特征在于,該系統(tǒng)至少包括第一單元,接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù);第二單元,在所述第一單元從內(nèi)存對(duì)象中查詢到該菜單操作請(qǐng)求所要訪問的菜單的菜單數(shù)據(jù)時(shí),直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單;第三單元,在所述第一單元從內(nèi)存對(duì)象中未查詢到該菜單操作請(qǐng)求所要訪問的菜單的菜單數(shù)據(jù)時(shí),從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述菜單對(duì)象的屬性包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別、菜單父標(biāo)識(shí)(ID)和子菜單對(duì)象數(shù)組,其中,子菜單對(duì)象數(shù)組存放該菜單對(duì)象下一級(jí)別的子菜單對(duì)象。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述菜單數(shù)據(jù)表中的菜單數(shù)據(jù)包括菜單標(biāo)識(shí)(ID)、菜單名稱、菜單鏈接地址、菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。
9.如權(quán)利要求6、7或8所述的系統(tǒng),其特征在于,所述菜單標(biāo)識(shí)信息至少包括菜單級(jí)別和菜單父標(biāo)識(shí)(ID)。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,該系統(tǒng)還包括第四單元, 第四單元,判斷用戶登錄,但未發(fā)起任何菜單操作請(qǐng)求時(shí),從內(nèi)存對(duì)象中查詢第一級(jí)菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示所述第一級(jí)菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢第一級(jí)菜單的菜單數(shù)據(jù),將查詢到的第一級(jí)菜單數(shù)據(jù)逐條封裝到菜單對(duì)象, 將封裝的菜單對(duì)象加載到內(nèi)存對(duì)象中第一級(jí)菜單對(duì)象中,向用戶顯示第一級(jí)菜單。
全文摘要
本發(fā)明公開了一種WEB管理系統(tǒng)及其菜單加載方法,涉及WEB管理系統(tǒng)。本發(fā)明公開的方法包括WEB管理系統(tǒng)接收用戶發(fā)起的菜單操作請(qǐng)求,根據(jù)該菜單操作請(qǐng)求中的菜單標(biāo)識(shí)信息從內(nèi)存對(duì)象中查詢?cè)摬藛尾僮髡?qǐng)求所要訪問的菜單的菜單數(shù)據(jù),如果查詢到,則直接向用戶顯示該菜單操作請(qǐng)求所要訪問的菜單,如果未查詢到,則從菜單數(shù)據(jù)表中查詢所要訪問的菜單的菜單數(shù)據(jù),將查詢到的菜單數(shù)據(jù)逐條封裝到菜單對(duì)象,將封裝的菜單對(duì)象作為子菜單對(duì)象數(shù)組加載到內(nèi)存對(duì)象中對(duì)應(yīng)的上級(jí)菜單對(duì)象中,向用戶顯示該操作請(qǐng)求所要訪問的菜單。本申請(qǐng)的技術(shù)方案減少了用戶每次訪問頁面的等待時(shí)間,大大提高的操作效率。
文檔編號(hào)G06F17/30GK102339319SQ20111032859
公開日2012年2月1日 申請(qǐng)日期2011年10月26日 優(yōu)先權(quán)日2011年10月26日
發(fā)明者吳世忠, 商海芳, 張普含, 李守鵬, 章磊, 董國偉 申請(qǐng)人:中國信息安全測(cè)評(píng)中心, 北京啟明星辰信息安全技術(shù)有限公司