本發明涉及計算機技術領域,具體地說是一種在客戶端向用戶推薦常用數據的方法。
背景技術:
在軟件系統中,用戶需要頻繁的選擇數據,用戶選擇數據時往往都要與系統界面進行復雜的檢索交互才能定位到需要選擇的數據。檢索的條件越多,用戶的操作就越繁瑣。當用戶需要經常重復這一過程選擇數據時,系統的易用性將大幅降低。與此同時,用戶頻繁與系統交互會占用網絡資源、應用服務器資源和數據庫資源,以上任意資源出現瓶頸都會影響最終用戶體驗。
基于此,現提供一種在客戶端向用戶推薦常用數據的方法,來解決上述問題。
技術實現要素:
本發明的技術任務是針對以上不足之處,提供一種在客戶端向用戶推薦常用數據的方法。
一種在客戶端向用戶推薦常用數據的方法,其實現過程為:
首先定義數據操作接口,用于實現客戶端的常用數據推薦,該數據操作接口與數據存儲區相關聯;
設置數據記錄規則,當數據被加入到數據存儲區時,自動更新數據存儲區數據;
當系統運行時,通過定義的接口實現用戶常用數據的記錄與推薦。
所述數據操作接口包括常用數據存儲配置和常用數據操作接口兩部分,其中,
常用數據存儲配置包括:
存儲區大小,定義存儲區最大存儲的常用記錄數;
數據清理比較函數,該數據清理比較函數自定義設置,該函數可以復寫數據清理算法;
數據過期時間,配置數據存儲區內數據過期時間;
數據操作接口包括從數據存儲區獲取指定鍵的數據接口、向數據存儲區記錄數據的接口、從數據存儲區移除指定鍵的數據接口。
所述存儲區大小定義的最大存儲常用記錄數默認值為10,數據過期時間默認值為0永不過期,過期時間為非負值,單位為秒。
自動更新數據存儲區數據的規則為:
首先系統重新計算存儲區內所有數據的元數據;
然后計算數據權重的影響因素,包括:數據使用次數、最后訪問時間;
最后系統按更新后的權重值對數據重新排序;
當數據的個數到達存儲區容量邊界時,刪除數據權重最低的一條數據。
所述數據的元數據包括數據寫入時間、數據優先級、數據使用次數、數據權重。
所述權重的計算公式為:數據權重=數據使用次數+(數據添加年份×10000+數據添加月份×100+數據添加日)÷100000000,其中訪問次數多的數據的權重大于訪問次數少的數據,訪問次數相同時,最近訪問數據的權重大于較早訪問的數據。
對數據重新排序由三個因素影響:數據有效性、數據優先級和數據權重,具體為:排序后的數據有效的數據在前,過期的數據在后;有效數據中優先級高的在前,優先級底的在后;優先級相同的數據,權重大的在前,權重小的在后。
用戶常用數據的記錄過程為:首先用戶在數據參照錄入界面選擇一條數據,系統通過向數據存儲區記錄數據接口向數據存儲區域記錄數據;通過數據存儲區記錄數據接口實現自動更新數據存儲區數據的規則;如果數據存儲區域未記錄過用戶選擇的數據,執行完向數據存儲區記錄數據接口后,數據存儲區域將新增加一條記錄;如果數據存儲區域已經記錄過用戶選擇的數據,執行完向數據存儲區記錄數據接口后,數據存儲區域保存的該數據的元數據將被更新;執行完向數據存儲區記錄數據接口后,數據存儲區域保存的數據將被重新排序。
用戶常用數據的推薦過程為:用戶在將焦點置于參照錄入控件中時,系統將調用從數據存儲區獲取指定鍵的數據接口獲取數據存儲區域中的數據,同時展示數據存儲區域中的數據,該展示以下拉框的形式呈選擇列表狀呈現。
在常用數據選擇列表中,用戶可以標記待選數據的優先級,該數據優先級分為:關鍵數據、重要數據、一般數據;用戶改變了待選數據的優先級后,系統調用向數據存儲區記錄數據接口更新該數據的元數據中的優先級。
本發明的一種在客戶端向用戶推薦常用數據的方法和現有技術相比,具有以下有益效果:
本發明的一種在客戶端向用戶推薦常用數據的方法,通過在客戶端緩存用戶常用數據,向用戶推薦使用頻率最高的數據,減少用戶通過系統進行檢索的次數,減少用戶選擇數據時與系統交互進行數據檢索的頻率,提升用戶體驗,實用性強,適用范圍廣泛,具有很好的推廣應用價值。
附圖說明
附圖1為本發明的實現示意圖。
具體實施方式
下面結合附圖及具體實施例對本發明作進一步說明。
如附圖1所示,本發明提供了一種在客戶端向用戶推薦常用數據的方法,適用于JavaScript語言開發的Html應用,在用戶選擇參照數據時,通過緩存技術向用戶推薦使用頻率最高的數據,減少用戶選擇數據時與系統交互進行數據檢索的頻率,提升用戶體驗。
其實現包括以下步驟:
一、定義接口標準。
二、常用數據記錄規則。
三、運行時控制。
進一步的,基于步驟(一),為了實現客戶端的常用數據推薦,需要定義具體的接口標準。接口標準包含以下組成部分:常用數據存儲配置;常用數據操作接口。
其中,常用數據存儲配置其特征如下:
其中,數據操作接口特征如下:
基于步驟二,當數據被加入到數據存儲區時,系統自動更新存儲區數據。存儲區數據更新規則如下:
系統重新計算存儲區內所有數據的元數據。
數據的元數據包括:數據寫入時間、數據優先級、數據使用次數、數據權重。
計算數據權重的影響因素包括:數據使用次數、最后訪問時間。權重的計算公式為:數據權重=數據使用次數+(數據添加年份×10000+數據添加月份×100+數據添加日)÷100000000。訪問次數多的數據的權重大于訪問次數少的數據,訪問次數相同時,最近訪問數據的權重大于較早訪問的數據。
系統按更新后的權重值對數據重新排序。
排序的影響因素包括:數據有效性、數據優先級和數據權重。排序后的數據有效的數據在前,過期的數據在后;有效數據中優先級高的在前,優先級底的在后;優先級相同的數據,權重大的在前,權重小的在后。
如果數據的個數到達存儲區容量邊界,刪除數據權重最低的一條數據。
在步驟三,當系統運行期間,系統通過步驟一中定義的接口實現用戶常用數據的記錄與推薦。步驟三可以分為兩個子場景:
記錄用戶常用數據。
向用戶推薦常用數據。
在“記錄用戶常用數據”場景,用戶在數據參照錄入界面選擇一條數據后,系統通過步驟一中的“RecordData”接口向數據存儲區域記錄數據。“RecordData”接口實現了步驟二中定義的數據更新規則。如果數據存儲區域未記錄過用戶選擇的數據,執行完“RecordData”接口后,數據存儲區域將新增加一條記錄;如果數據存儲區域已經記錄過用戶選擇的數據,執行完“RecordData”接口后,數據存儲區域保存的該數據的元數據將被更新。執行完“RecordData”接口后,數據存儲區域保存的數據將被重新排序。
在“向用戶推薦常用數據”場景,用戶在將焦點置于參照錄入控件中時,系統將調用步驟一中的“GetData”接口獲取數據存儲區域中的數據。系統以下拉框的形式展示數據存儲區域中的數據,用戶可以直接選擇最常用的數據,而不比重新檢索數據。在常用數據選擇列表中,用戶可以標記待選數據的優先級。數據優先級如“RecordData”接口中描述的,分為:關鍵數據、重要數據、一般數據。用戶改變了待選數據的優先級后,系統會調用“RecordData”接口更新該數據的元數據中的優先級。
具體實例:本例中實施的對象為一個數據字典,本字典中的數據為全國地名。用戶在填寫報銷單時頻繁使用此字典選擇出發地和目的地。為全國地區字典使用本發明后,用戶每次選擇數據后,系統將記錄用戶選擇過的數據。當用戶將光標至于地點錄入文本框時,系統自動下拉顯示10條當前用戶最常使用的10個地點。
為實現以上目標,具體實施代碼如下:
通過上面具體實施方式,所述技術領域的技術人員可容易的實現本發明。但是應當理解,本發明并不限于上述的具體實施方式。在公開的實施方式的基礎上,所述技術領域的技術人員可任意組合不同的技術特征,從而實現不同的技術方案。
除說明書所述的技術特征外,均為本專業技術人員的已知技術。