摘要:招聘求職互動平臺是面向求職者與廣大用人單位的互聯網公眾信息平臺,只有采用B/S的架構模式,才能保證受眾群體以極低接入成本(只要普通PC機裝上瀏覽器并能訪問Internet即可)方便、快捷、高效地存取平臺上的信息資源。
關鍵字:招聘求職 信息平臺 B/S
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2011)04(a)-0000-00
基于.NET系列是近年來發展起來的優秀的B/S開發工具之一,不僅開發效率高,運行效率也好,.NET能幫助開發者在Intemet時代創建和部署企業級的分布式應用,它具有代碼重用、自動資源管理、緩存策略支持、多語言開發、安全性、易于部署和管理等新特征。
1 ASP.NET
1.1 公共中間語言
在.NET Framework中使用高級語言 (如VB.NET、C#.NET等)編寫的程序,需要在運行前將其編譯成為經過優化的高效率的中間語言。為了執行中間語言,需要執行環境,即公共語言運行時庫(CLR);CLR用JIT(Just-In-Time)編譯器把中間語言代碼編譯成可執行代碼,并對程序進行最后的、與機器相匹配的優化,使得程序可以在所在計算機上盡可能高效地運行。
1.2 ASP.NET的工作過程
首先,HTTP請求發送到Web服務器要求訪問一個Web網頁;服務器通過分析客戶的HTTP請求來定位所請求網頁。如果所請求的網頁的文件名的后綴是aspx,那么就把其傳送到aspnet_isapi.dll進行處理,將ASP.NET代碼提交給CLR。如果以前沒有執行過,那么就由CLR編譯并執行,得到純HTML結果;如果已經執行過,那么就直接執行編譯好的程序并得到純HTML結果;最后把純HTML結果傳回瀏覽器作為HTTP響應結果;瀏覽器收到響應之后顯示網頁內容。
2 基于Lucene API的全文檢索技術
Lucene是Apache軟件基金會 Jakarta項目組的子項目之一,是一個開放源代碼(Open Source)的全文檢索引擎工具包,提供了完整的查詢引擎和索引引擎,實現了通用的分詞算法,預留了許多詞法分析器接口。Lucene .NET是Lucene for Java[基于C#語言的移植,能夠在基于.NET Framework的應用系統中快速集成全文檢索的功能。
其具體集成過程總結如下:建立索引庫:讀取招聘職位或簡歷信息,建立相應Lucene索引文件組;基于索引文件組的查詢實現:讀取索引信息文件,接受用戶的查詢請求,調用Lucene API實現基于全文檢索的職位或簡歷搜索;索引數據同步:當職位庫或簡歷庫更新時,設置一定的觸發機制(如數據表觸發器)與規則記錄更新內容,再使用定時任務程序周期性地更新Lucene索引文件組,保證在一定周期內數據庫與索引文件組的信息同步。
3 ASP.NET 動態緩存策略
緩存技術(Cache)就是在一定時間范圍內,將查詢的中間結果或最終結果按一定的存儲格式(如哈希表)臨時存放在內存中,以減少應用系統與數據庫服務器之間的交互次數,從而提高系統的響應性能。在足夠優化查詢算法的前提下,合理有效地使用緩存技術,能非常有效提高WEB應用系統的并發連接數與縮短響應時間,從而大大地提高系統吞吐率與承載量。換言之,緩存技術本身也是查詢算法優化過程中非常重要的環節。網絡招聘求職互動平臺中的緩存技術的應用具優勢與劣勢并存,因此應根據實際需要合理權衡。
其優勢在于:降低客戶訪問延遲,因為如果緩存命中,用戶需要的結果直接從WEB服務器的內存中讀取,而不需要訪問數據庫服務器重新生成結果;由于客戶所需的查詢結果一部分不需要訪問數據庫服務器,從而在一定程度上緩解服務器的計算壓力;如果遇到數據庫服務器太忙而瞬時中斷服務的情形,使用緩存技術可以在一定限度上減少此種情形的出現幾率,從而整個應用平臺的魯棒性(Robustness)得到了有效提高;
其劣勢在于:在緩存同步周期內,客戶得到信息內容可能與數據庫中實際存放內容不一致,因為在此緩存內容存續期間,數據庫中的內容已經更新;如果發生緩存失效(未命中),會因判斷緩存是否命中而增加WEB服務器的計算開銷以及延長用戶的等時間;緩存查詢的中間結果或最終結果也會給WEB服務器帶來附加的內存消耗;由于緩存內容的特殊性,緩存策略很難做到絕對合理。
鑒于以上優勢與劣勢的綜合考慮,緩存力求具有如下特性:快捷性(高效性):緩存數據以哈希表的形式存放在內存中;如果命中時能快速檢索,響應用戶的查詢請求;如果未命中也不會因此而增加太多的開銷;可靠性(也即魯棒性):在緩存有效期來臨之前,緩存內容隨時處于可提取或可檢索狀態;適應性(可配置性):由于數據本身更新的頻度的不同,有的內容需要更長時間地緩存(如編碼表),有的內容則只需要短時保存(如職位查詢的中間結果);有的數據緩存需要更多的存儲空間,有的數據則對存儲空間的需求很少;有的查詢結果數據即便從數據庫中直接提取也不會有太多的時間與空間;招聘求職系統的不同部份的功能訪問頻度有很大的不同,頻度越高的地方越是需要緩存,命中率也會越高。總之,影響緩存的因素太多,要想使用預先定好的策略來滿足所有需求幾乎不可能,所以只有讓緩存策略可以根據實際平臺的運行狀況進行實時地動態地進行調整(使用配置文件),才能讓緩存機制有更好的適應性;
參考文獻
[1] 2006年中國網絡招聘求職者需求研究報告[J].艾瑞市場咨詢有限公司.2006(12).
[2] 李若穎.招聘網站發展策略比較研究[J].現代軟科學.2006.2:58-59.