專利名稱:清空內(nèi)存數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體而言,涉及清空內(nèi)存數(shù)據(jù)的方法和裝置。
背景技術(shù):
在軟件開發(fā)的過程中,開發(fā)語言選擇的種類很多,有java、JSP等。特別是使用 Java開發(fā)軟件的人中,使用STRUTS開發(fā)架構(gòu)使用的較多,且使用的用戶僅次于JSP。在使用STRUTS開發(fā)架構(gòu)中,如果幾個jsp頁面共用一個數(shù)據(jù)緩存類(FORM)時,如 果其中的一個jsp的頁面中輸入了數(shù)據(jù)進(jìn)行提交后,在打開其他jsp頁面時,上個jsp提交 的數(shù)據(jù)會在這個jsp頁面中顯示出來。存在這樣現(xiàn)象的原因是由于這些數(shù)據(jù)緩存類所使用的數(shù)據(jù)存在于內(nèi)存,在一個 jsp頁面調(diào)用完這些數(shù)據(jù)緩存類后,這些數(shù)據(jù)緩存類所使用的數(shù)據(jù)仍在內(nèi)存中,當(dāng)其它jsp 頁面在調(diào)用這些數(shù)據(jù)緩存類,內(nèi)存中會將該數(shù)據(jù)緩存類的在內(nèi)存中的數(shù)據(jù)顯示在其它無關(guān) 的頁面上,從而影響客戶的使用。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種清空內(nèi)存數(shù)據(jù)的方法和裝置,其能夠解決內(nèi)存中會將該數(shù)據(jù) 緩存類的數(shù)據(jù)顯示在其它無關(guān)的頁面上,從而影響客戶的使用問題。根據(jù)本發(fā)明的一個方面,提供一種清空內(nèi)存數(shù)據(jù)的方法,包括判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù);如果存在,則執(zhí)行所述賦值函數(shù)并賦予空值。優(yōu)選地,所述判斷過程包括判斷所述數(shù)據(jù)緩存類的函數(shù)的名稱是否與賦值函數(shù)的名稱相同,如果相同,則該 函數(shù)為所述賦值函數(shù)。優(yōu)選地,當(dāng)所述數(shù)據(jù)緩存類的函數(shù)的個數(shù)為兩個以上時,在將當(dāng)前賦值函數(shù)執(zhí)行 賦值操作之后,還包括采用順序或鏈?zhǔn)奖闅v下一個所述數(shù)據(jù)緩存類的函數(shù),并執(zhí)行所述判斷過程。根據(jù)本發(fā)明的另一個方面,還提供一種清空內(nèi)存數(shù)據(jù)的裝置,包括識別單元,判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù);賦值單元,執(zhí)行所述賦值函數(shù)并賦予空值。優(yōu)選地,還包括遍歷單元,用于當(dāng)所述數(shù)據(jù)緩存類的函數(shù)的個數(shù)為兩個以上時,在所述賦值單元 將當(dāng)前賦值函數(shù)執(zhí)行賦值操作后,采用順序或鏈?zhǔn)奖闅v下一個所述數(shù)據(jù)緩存類的函數(shù),并 觸發(fā)所述識別單元執(zhí)行判斷過程。本發(fā)明的方法和裝置,由于自動查找在內(nèi)存中存在數(shù)據(jù)的函數(shù),因此,可有效避免 內(nèi)存中駐留有數(shù)據(jù)的函數(shù)在被再次調(diào)用時,會將該函數(shù)的數(shù)據(jù)顯示在其它無關(guān)的頁面上, 從而影響客戶的使用的問題;提高了用戶的使用感受。
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1示出了本發(fā)明實施例一的流程圖;
圖2示出了本發(fā)明實施例二的流程圖;圖3示出了本發(fā)明實施例三的結(jié)構(gòu)圖。
具體實施例方式下面將參考附圖并結(jié)合實施例,來詳細(xì)說明本發(fā)明。為便于理解本發(fā)明的方法和
直ο下面結(jié)合圖1詳細(xì)說明本發(fā)明的方法實施例一,本發(fā)明方法的實施例一包括以下 步驟Sll 判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù);S12 如果存在,則執(zhí)行所述賦值函數(shù)并賦予空值。本發(fā)明的方法可以在各種面向?qū)ο蟮木幊汰h(huán)境中實現(xiàn),如Java、C++等,下面給出 本發(fā)明的實施例二,以STRUTS架構(gòu)中的ActionFORM數(shù)據(jù)緩存類為例說明本發(fā)明,首先下面 簡單介紹一下STRTUS開發(fā)架構(gòu)Mruts是Apache Jakarta項目的組成部分。該項目的目標(biāo)是為建立Java Web 應(yīng)用程序而提供的一個開源框架。通過使用Mruts框架可以改進(jìn)和提高Java Server Pages (JSP), krvlet、標(biāo)簽庫以及面向?qū)ο蠹夹g(shù)在Web應(yīng)用程序中的應(yīng)用。Mruts是MVC 的一種實現(xiàn),它很好地結(jié)合了 Jsp,Java Servlet, JavaBean, Taglib等技術(shù)??梢暬K 控制器MVC即Model-View-Controller的縮寫,它是Web應(yīng)用中常用的設(shè)計模式。MVC減弱 了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合,同時讓視圖層更富于變化??刂破?Controller)的作用是從客戶端接受請求,并選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯, 然后把響應(yīng)結(jié)果送回到客戶端。在Mruts中Controller由ActionServlet類和Action 類實現(xiàn),ActionServlet主要負(fù)責(zé)接受HTTP請求,Action類負(fù)責(zé)調(diào)用模型的方法,更新模型 的狀態(tài),并幫助控制應(yīng)用程序的流程。視圖層主要是由JSP來實現(xiàn)頁面顯示。它接收到JavaBean和Action Form中的 數(shù)據(jù),利用html,taglib, bean, logic等標(biāo)簽顯示數(shù)據(jù)。在Struts中,主要存在三種bean對象,分別是=Action, ActionForm, EJB或者 Java Bean對象。ActionR)rm用來封裝客戶請求信息,Action取得Actioni7Orm中的數(shù)據(jù), 再由EJB或者JavaBean進(jìn)行處理。由于STRUTS中沒有對ActionFORM對象中數(shù)據(jù)進(jìn)行清空的函數(shù),如果采用人工清 空函數(shù)內(nèi)數(shù)據(jù),會造成效率過低,且也不能及時清空。因此,實施例二中增加新的函數(shù)Tools. resetForm(FormName),該函數(shù)可清空數(shù)據(jù) 緩存類在內(nèi)存駐留的數(shù)據(jù)。該函數(shù)被調(diào)用后,會不斷遍歷數(shù)據(jù)緩存類所有可能在內(nèi)存駐留 數(shù)據(jù)的各個函數(shù),并逐個判斷每個函數(shù)是否在內(nèi)存中駐留有數(shù)據(jù),如果判斷出該函數(shù)在內(nèi) 存中駐留有數(shù)據(jù),則將調(diào)用該函數(shù),將該函數(shù)在內(nèi)存中駐留的數(shù)據(jù)值賦予空值。
4
參見圖2,包括S21 獲取FORM數(shù)據(jù)緩存類中的所有函數(shù),對于FORM數(shù)據(jù)緩存類,可能會對應(yīng)有多個函數(shù),首先獲取這些函數(shù);S22 遍歷FORM數(shù)據(jù)緩存類中的各個函數(shù);在遍歷時,返回的數(shù)組結(jié)構(gòu)對各個函數(shù)進(jìn)行遍歷,或根據(jù)函數(shù)的鏈接結(jié)構(gòu)進(jìn)行遍 歷,如順序、鏈?zhǔn)健湫蔚?,按照原方法函?shù)保存的形式進(jìn)行遍歷;S23 判斷的函數(shù)的前三個字符是否為set ;對于各個函數(shù),判斷函數(shù)中是否存在向內(nèi)存賦值的參數(shù)名稱,如果存在,則執(zhí)行 S24,在該實施例中,數(shù)據(jù)緩存類在內(nèi)存駐留數(shù)據(jù),是由于其調(diào)用了賦值函數(shù)set,因此,只要 函數(shù)是具有set參數(shù)名稱時,則認(rèn)為該函數(shù)中內(nèi)存駐留有數(shù)據(jù);否則執(zhí)行步驟S22,繼續(xù)遍 歷;S24 通過invoke函數(shù)調(diào)用SET方法,并傳參數(shù)值為空串。由于查找出的函數(shù)本身就是賦值函數(shù),因此,直接調(diào)用執(zhí)行即可,不必使用其它賦 值函數(shù),調(diào)用執(zhí)行該函數(shù),賦予空值,將函數(shù)在內(nèi)存中的數(shù)據(jù)清空。本發(fā)明的方法可在函數(shù)調(diào)用后執(zhí)行,也可在函數(shù)調(diào)用前執(zhí)行。通過本發(fā)明的方法, 可將數(shù)據(jù)緩存類在內(nèi)存中的數(shù)據(jù)清空,避免其它程序調(diào)用該數(shù)據(jù)緩存類時,該數(shù)據(jù)緩存類 在內(nèi)存中的數(shù)據(jù)出現(xiàn)在頁面上。本發(fā)明還提供一種清空內(nèi)存數(shù)據(jù)的裝置,參見圖3,包括識別單元,判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù);賦值單元,執(zhí)行所述賦值函數(shù)并賦予空值。優(yōu)選地,還包括遍歷單元,用于當(dāng)所述數(shù)據(jù)緩存類的函數(shù)的個數(shù)為兩個以上時,在所述賦值單元 將當(dāng)前賦值函數(shù)執(zhí)行賦值操作后,采用順序或鏈?zhǔn)奖闅v下一個數(shù)據(jù)緩存類的函數(shù),并觸發(fā) 所述識別單元執(zhí)行判斷過程。從以上的描述中,可以看出,本發(fā)明對各個函數(shù)進(jìn)行遍歷,并清空所遍歷的賦值函 數(shù)在內(nèi)存中的駐留的數(shù)據(jù),避免了多個頁面程序調(diào)用同一數(shù)據(jù)緩存類時,將該數(shù)據(jù)緩存類 在內(nèi)存中的數(shù)據(jù)顯示在其它無關(guān)的頁面上,從而影響客戶的使用。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在 存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中 的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬 件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技 術(shù)人員來說,對本發(fā)明可以有各種更改和變化、修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種清空內(nèi)存數(shù)據(jù)的方法,其特征在于,包括 判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù); 如果存在,則執(zhí)行所述賦值函數(shù)并賦予空值。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷過程包括判斷所述數(shù)據(jù)緩存類的函數(shù)的名稱是否與賦值函數(shù)的名稱相同,如果相同,則該函數(shù) 為所述賦值函數(shù)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述數(shù)據(jù)緩存類的函數(shù)的個數(shù)為兩個 以上時,在將當(dāng)前賦值函數(shù)執(zhí)行賦值操作之后,還包括采用順序或鏈?zhǔn)奖闅v下一個所述數(shù)據(jù)緩存類的函數(shù),并執(zhí)行所述判斷過程。
4.一種清空內(nèi)存數(shù)據(jù)的裝置,其特征在于,包括 識別單元,判斷數(shù)據(jù)緩存類的函數(shù)中是否存在賦值函數(shù); 賦值單元,執(zhí)行所述賦值函數(shù)并賦予空值。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,還包括遍歷單元,用于當(dāng)所述數(shù)據(jù)緩存類的函數(shù)的個數(shù)為兩個以上時,在所述賦值單元將當(dāng) 前賦值函數(shù)執(zhí)行賦值操作后,采用順序或鏈?zhǔn)奖闅v下一個所述數(shù)據(jù)緩存類的函數(shù),并觸發(fā) 所述識別單元執(zhí)行判斷過程。
全文摘要
本發(fā)明提供了一種清空內(nèi)存數(shù)據(jù)的方法和裝置,本發(fā)明的方法包括判斷數(shù)據(jù)緩存類的函數(shù)是否在內(nèi)存駐留數(shù)據(jù);如果存在,則調(diào)用所述函數(shù),將所述函數(shù)在內(nèi)存駐留的數(shù)據(jù)清空。本發(fā)明還提供一種清空內(nèi)存數(shù)據(jù)的裝置,包括識別單元,判斷數(shù)據(jù)緩存類的函數(shù)是否在內(nèi)存駐留數(shù)據(jù);賦值單元,如果所述識別單元判斷出存在駐留數(shù)據(jù),則調(diào)用所述函數(shù),將所述函數(shù)在內(nèi)存駐留的數(shù)據(jù)清空。本發(fā)明的方法和裝置,由于自動查找在內(nèi)存中存在數(shù)據(jù)的函數(shù),因此,可有效避免內(nèi)存中駐留有數(shù)據(jù)的函數(shù)在被再次調(diào)用時,會將該函數(shù)的數(shù)據(jù)顯示在其它無關(guān)的頁面上,從而影響客戶的使用的問題;提高了用戶的使用感受。
文檔編號G06F9/46GK102117220SQ200910244288
公開日2011年7月6日 申請日期2009年12月31日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者劉愛國 申請人:北京方正奧德計算機(jī)系統(tǒng)有限公司, 北大方正集團(tuán)有限公司