自學習的界面數(shù)據(jù)加載系統(tǒng)和方法
【技術領域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理領域,具體地,涉及一種自學習的界面數(shù)據(jù)加載系統(tǒng)和方法。
【背景技術】
[0002] 當前的應用中,操作人員經(jīng)常需要錄入大量的數(shù)據(jù),并且這些數(shù)據(jù)中大部分都是 重復錄入的,在現(xiàn)在的應用系統(tǒng),特別是企業(yè)管理軟件應用系統(tǒng)中,目前的處理主要是記錄 上一次的錄入數(shù)據(jù)或者直接按照用戶設置的默認值進行處理,雖然能滿足部分用戶的需 求,但對于需要切換多種錄入界面的用戶來說,用戶體驗不好。本專利提供了一種自學習的 界面預加載方法,在保證靈活性的基礎上自動帶入用戶常用的數(shù)據(jù),提高用戶的使用體驗。
[0003] 當前為解決這個問題普遍采用的思路是緩存用戶常用數(shù)據(jù)或者設置默認值的方 式實現(xiàn)的。緩存數(shù)據(jù),可以解決部分錄入問題,但當用戶切換錄入界面時,緩存有時加載不 出來或者加載錯誤,另外緩存大多是在客戶端的,當用戶使用不同的客戶端時,體驗不好。 默認值方式,由于數(shù)據(jù)固定,不能及時反映用戶的最新數(shù)據(jù),所以體驗上有問題。
[0004]
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于,針對上述問題,提出一種自學習的界面數(shù)據(jù)加載系統(tǒng)和方法, 以實現(xiàn)保證內(nèi)存占用的前提下提高界面數(shù)據(jù)錄入效率的優(yōu)點。
[0006] 為實現(xiàn)上述目的,本發(fā)明采用的技術方案是: 一種自學習的界面數(shù)據(jù)加載方法,包括: 建立統(tǒng)計信息表,并將統(tǒng)計信息表保存在服務器端,所述統(tǒng)計信息表內(nèi)插入的信息包 括,界面標識、界面數(shù)據(jù)標示、客戶端數(shù)據(jù)信息和統(tǒng)計信息; 基于上述統(tǒng)計信息表構建內(nèi)存緩存模型,在每調(diào)用一個功能的時候構建一個緩存,在 關閉該功能的時候釋放緩存,緩存包括統(tǒng)計信息緩存和界面緩存兩部分; 計算當前界面的界面標示,按照設定的數(shù)量取得優(yōu)先權數(shù)最高的前η個界面數(shù)據(jù),并將 上述內(nèi)存緩存模型內(nèi)的數(shù)據(jù)加載到對應的界面,且更新上述統(tǒng)計信息表中的信息。
[0007] 優(yōu)選的,所述統(tǒng)計信息表的數(shù)據(jù)調(diào)用具體為: 根據(jù)界面標示判斷是否存在統(tǒng)計信息表,如果不存在,調(diào)用新增函數(shù); 如果存在,調(diào)用界面數(shù)據(jù)處理函數(shù); 優(yōu)選的,所述新增函數(shù)具體包括: 將計算出的界面標識插入到統(tǒng)計信息表中,同時將客戶端的數(shù)據(jù)信息及統(tǒng)計信息插入 統(tǒng)計信息表中。
[0008] 優(yōu)選的,所述界面標識是根據(jù)用戶、站點或界面ID計算得出的。
[0009] 優(yōu)選的,所述統(tǒng)計信息,包括界面數(shù)據(jù)標示、界面數(shù)據(jù)、界面調(diào)用次數(shù)、界面最后使 用時間和權值。
[0010]優(yōu)選的,所述界面數(shù)據(jù)處理函數(shù),具體包括, 計算界面標示; 判斷該界面標識在統(tǒng)計信息表的數(shù)據(jù)統(tǒng)計表中是否存在 如存在,則將使用次數(shù)+1,更新最后使用時間,計算優(yōu)先權值,并將數(shù)據(jù)保存至統(tǒng)計信 息表; 如不存在,則創(chuàng)建統(tǒng)計信息表,將使用次數(shù)設置為1,更新最后使用時間為提交時間,計 算優(yōu)先權值,并將數(shù)據(jù)保存至統(tǒng)計信息表。
[0011]優(yōu)選的,所述統(tǒng)計信息緩存由一個以優(yōu)先級排序的隊列和一個以界面標示為鍵, 統(tǒng)計信息為值的map結構組成; 所述界面緩存是一個以界面標示為鍵,界面數(shù)據(jù)實例為值的map。
[0012] 優(yōu)選的,還包括設置生成界面標示的維度的步驟。
[0013] 同時本發(fā)明技術方案還公開一種自學習的界面數(shù)據(jù)加載系統(tǒng),包括,統(tǒng)計信息表 獲取模塊、內(nèi)存緩存模型建立模塊和數(shù)據(jù)加載模塊; 所述統(tǒng)計信息表獲取模塊,獲取統(tǒng)計信息表,所述統(tǒng)計信息表內(nèi)插入的信息包括,界面 標識、界面數(shù)據(jù)標示、客戶端數(shù)據(jù)信息和統(tǒng)計信息; 所述內(nèi)存緩存模型建立模塊,基于所述統(tǒng)計信息表構建內(nèi)存緩存模型,在每調(diào)用一個 功能的時候構建一個緩存,在關閉該功能的時候釋放緩存,緩存包括統(tǒng)計信息緩存和界面 緩存兩部分; 所述數(shù)據(jù)加載模塊:計算當前界面的界面標示,按照設定的數(shù)量取得優(yōu)先權數(shù)最高的 前η個界面數(shù)據(jù),并將上述內(nèi)存緩存模型內(nèi)的數(shù)據(jù)加載到對應的界面,且更新上述統(tǒng)計信息 表中的信息。
[0014] 優(yōu)選的,還包括用戶設置模塊,所述用戶設置模塊,用于設置生成界面標示的維 度。
[0015] 本發(fā)明的技術方案具有以下有益效果: 本發(fā)明在首次使用時沒有統(tǒng)計信息就沒有預加載,所以使用體驗沒有提升,隨著使用 者使用,根據(jù)使用者的使用習慣,統(tǒng)計信息將豐富,預加載數(shù)據(jù)的命中率將大大提高。從而 達到保證內(nèi)存占用的前提下提高界面數(shù)據(jù)錄入的效率。
[0016]下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
【附圖說明】
[0017] 圖1為本發(fā)明實施例所述的自學習的界面數(shù)據(jù)加載方法的流程圖; 圖2為本發(fā)明實施例所述的自學習的界面數(shù)據(jù)加載系統(tǒng)的原理框圖; 圖3為本發(fā)明實施例所述的統(tǒng)計信息結構示意圖。
【具體實施方式】
[0018] 以下結合附圖對本發(fā)明的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0019]如圖1所示,一種自學習的界面數(shù)據(jù)加載方法,包括: 建立統(tǒng)計信息表,并將統(tǒng)計信息表保存在服務器端,統(tǒng)計信息表內(nèi)插入的信息包括,界 面標識、界面數(shù)據(jù)標示、客戶端數(shù)據(jù)信息和統(tǒng)計信息; 基于上述統(tǒng)計信息表構建內(nèi)存緩存模型,在每調(diào)用一個功能的時候構建一個緩存,在 關閉該功能的時候釋放緩存,緩存包括統(tǒng)計信息緩存和界面緩存兩部分; 計算當前界面的界面標示,按照設定的數(shù)量取得優(yōu)先權數(shù)最高的前η個界面數(shù)據(jù),并將 上述內(nèi)存緩存模型內(nèi)的數(shù)據(jù)加載到對應的界面,且更新上述統(tǒng)計信息表中的信息。
[0020] 其中,統(tǒng)計信息表的數(shù)據(jù)調(diào)用具體為: 根據(jù)界面標示判斷是否存在統(tǒng)計信息表,如果不存在,調(diào)用新增函數(shù); 如果存在,調(diào)用界面數(shù)據(jù)處理函數(shù); 新增函數(shù)具體包括: 將計算出的界面標識插入到統(tǒng)計信息表中,同時將客戶端的數(shù)據(jù)信息及統(tǒng)計信息插入 統(tǒng)計信息表中。
[0021] 界面標識是根據(jù)用戶、站點或界面ID計算得出的。
[0022] 統(tǒng)計信息,包括界面數(shù)據(jù)標示、界面數(shù)據(jù)、界面調(diào)用次數(shù)、界面最后使用時間和權 值。
[0023]界面數(shù)據(jù)處理函數(shù),具體包括, 計算界面標示; 判斷該界面標識在統(tǒng)計信息表的數(shù)據(jù)統(tǒng)計表中是否存在 如存在,則將使用次數(shù)+1,更新最后使用時間,計算優(yōu)先權值,并將數(shù)據(jù)保存至統(tǒng)計信 息表; 如不存在,則創(chuàng)建統(tǒng)計信息表,將使用次數(shù)設置為1,更新最后使用時間為提交時間,計 算優(yōu)先權值,并將數(shù)據(jù)保存至統(tǒng)計信息表。
[0024] 統(tǒng)計信息緩存由一個以優(yōu)先級排序的隊列和一個以界面標示為鍵,統(tǒng)計信息為值 的map結構組成; 界面緩存是一個以界面標示為鍵,界面數(shù)據(jù)實例為值的map。
[0025] 優(yōu)選的,還包括設置生成界面標示的維度的步驟。
[0026]如圖2所示,一種自學習的界面數(shù)據(jù)加載系統(tǒng),包括,統(tǒng)計信息表獲取模塊、內(nèi)存緩 存模型建立模塊和數(shù)據(jù)加載模塊; 統(tǒng)計信息表獲取模塊,獲取統(tǒng)計信息表,統(tǒng)計信息表內(nèi)插入的信息包括,界面標識、界 面數(shù)據(jù)標示、客戶端數(shù)據(jù)信息和統(tǒng)計信息; 內(nèi)存緩存模型建立模塊,基于統(tǒng)計信息表構建內(nèi)存緩存模型,在每調(diào)用一個功能的時 候構建一個緩存,在關閉該功能的時候釋放緩存,緩存包括統(tǒng)計信息緩存和界面緩存兩部 分; 數(shù)據(jù)加載模塊:計算當前界面的界面標示,按照設定的數(shù)量取得優(yōu)先權數(shù)最高的前η個 界面數(shù)據(jù),并將上述內(nèi)存緩存模型內(nèi)的數(shù)據(jù)加載到對應的界面,且更新上述統(tǒng)計信息表中 的信息。
[0027]系統(tǒng)還包括用戶設置模塊,用戶設置模塊,用于設置生成界面標示的維度。
[0028]本方案主要思路是統(tǒng)計使用者的使用習慣和使用時間,根據(jù)使用者使用過的界 面,對其數(shù)據(jù)內(nèi)容進行優(yōu)先級評分,打開界面時將該界面對應的評分高的第一個界面數(shù)據(jù) 加載并且寫入界面數(shù)據(jù)中,同時根據(jù)用戶設置緩存最高的前η個界面的數(shù)據(jù)。當緩存容量超 過預先設定的限額時,緩存根據(jù)最近使用算法進行置換將不常用的界面數(shù)據(jù)置換出緩存以 保證內(nèi)存占用量。
[0029] 具體實現(xiàn)如下: 首先需要建立統(tǒng)計信息表用于記錄某個