王 力
(西安郵電大學 圖書館, 陜西 西安 710121)
高校圖書館自建WAP服務的流量控制方案
王 力
(西安郵電大學 圖書館, 陜西 西安 710121)
針對BS模式下的高校圖書館自建移動服務中用戶訪問產生的數據流量問題,提出一套數據流量控制方案。該方案在WAP站點開發(fā)及頁面源代碼編寫過程中,進行了系統識別、頁面簡化、代碼優(yōu)化等操作。實際應用測試顯示,WAP站點中多數頁面相對于Web站點中的頁面數據加載量有大幅的減少,減少了用戶在使用移動瀏覽器訪問圖書館網站時產生的流量費用。
移動圖書館;移動終端;數據流量;流量控制
國內移動圖書館業(yè)務發(fā)展迅速,各高校也紛紛開通移動圖書館服務。許多高校通過購買移動圖書館系統產品,向本校讀者推出移動圖書館服務[1]。而另外一些高校圖書館由于成品的移動圖書館系統產品功能模塊多,且封裝程度高、相對固定、不能“量身定做”開發(fā)系統,或是由于自身資金條件、硬件條件、技術條件等限制,尚未通過購買方式開通移動圖書館服務[2]。同時,這些圖書館又希望提供給讀者一些最基本同時符合自身特點的移動服務,來提升圖書館服務的全面性、高效性?;诖谁h(huán)境,本文利用原有數字圖書館Web系統,將其加以修改移植,從而自建簡單的移動圖書館系統服務提供給讀者。
從用戶體驗角度以及開發(fā)技術要求角度分析,自建移動服務更加適合采用瀏覽器訪問頁面(即BS)方式。相對應PC終端的Web模式,移動終端的BS模式即WAP模式[3],移動圖書館WAP站點可利用數字圖書館Web站點頁面,將其修改、移植,編寫WML頁面,再通過WAP服務器處理后形成二進制的WML數據流送往客戶端[4]。
移動終端瀏覽器不同于PC瀏覽器。由于移動終端屏幕較PC屏幕更小,網絡傳輸速率較低,更重要的是國內移動運營商提供的移動網絡是按照數據流量計費的。因此,開發(fā)移動圖書館WAP頁面時,在保證用戶獲取信息完整的基礎上,頁面數據流量要盡可能小,為讀者節(jié)省流量資費。
基于BS模式下的自建移動圖書館信息服務目前構建的基本內容主要包括:移動圖書館門戶網站、移動OPAC查詢以及簡單的資源檢索等幾個功能模塊。由于數據庫資源平臺不同,作為自建移動圖書館信息服務涉及其中較為復雜,在此僅討論門戶網站及移動OPAC查詢服務中涉及到的問題。
2.1 移動門戶網站的改進方案
2.1.1 操作系統判別
通常情況下,移動終端用戶訪問圖書館站點時,由于個人習慣或不了解該移動子站點,往往直接登錄PC版圖書館門戶網站地址,點擊首頁上的“手機版”鏈接,再進入移動頁面。此時移動瀏覽器就已經加載一次圖書館PC版首頁,而PC版頁面數據量遠大于移動頁面,造成了巨大的流量浪費[5]。可在圖書館Web站點首頁面最前端加一條判別及跳轉語句,通過對來源客戶端的操作系統進行判斷,并進行選擇性跳轉,相關具體方式見如圖1所示。
圖1 終端判別及跳轉流程
以ASP腳本語言為例,具體代碼如下。
<%
os=Request.ServerVariables("HTTP_USER_AGENT")
if
Instr(os,"IOS")>0 or Instr(os,"Android")>0 or Instr(os,"Windows Phone")>0 or
Instr(os,"Mobile")>0 or Instr(os,"Symbian")>0 or Instr(os,"BlackBerry")>0
then
Response.Redirect ("http://m.lib.xxxx.edu.cn/")
else
end if
%>
在移動用戶訪問到PC版網站首頁時,頁面最前端的識別代碼首先提取訪問來源客戶端操作系統字符串,其中包含Android、IOS、Symbian等系統標識時,頁面自動跳轉至移動站點首頁,不再加載原來的Web首頁其它代碼,從而避免流量浪費。
2.1.2 站點首頁優(yōu)化
由于移動終端涉及屏幕尺寸、流量控制等問題,需將移動站點首頁提供的服務模塊鏈接進行篩選,只將使用頻率較高,相對較為實用的功能模塊鏈接呈現即可,如館內最新公告、書刊檢索、讀者信息查詢、服務項目查詢等;而使用頻率低、不支持移動終端使用的、或屬于完善頁面性質的功能等模塊,如簡介類、訪問統計類、視頻點播類等的功能模塊鏈接,便可向后排列,甚至不予顯示。同時設計首頁語言要精煉,一、二級欄目都放在主頁上,可以直接點擊進入,減少數據流量。如果需要瀏覽更多信息時就點擊“全部”或“更多”鏈接,如大量文字的閱覽及大量資料的下載,都可以放在這里[6],最后在條件允許的情況下,首頁設計為純靜態(tài)頁面為宜。
2.1.3 頁面元素優(yōu)化
在將Web站點頁面向WAP站點頁面移植過程中,為了控制頁面代碼流量,不再使用原頁面上的圖片、Flash、音頻、視頻等媒體元素,而使用純文本頁面,從而減少頁面加載的數據。如果必須使用圖片,則降低圖像的實際像素及質量,從而降低其源文件大小達到控制頁面流量[6]。
2.1.4 頁面排版簡化
在PC版頁面中常用到Css、Style樣式、效果等樣式代碼,以及一些動態(tài)特效代碼,如JavaScript、VBScript等,來增加單位面積區(qū)域的信息含量,同時增加頁面美觀性。
在建立移動站點WAP頁面時,由于只需將原Web頁面中有效的模塊代碼、參數代碼、URL利用并加以移植,同時,排版時只用空格符、標點符、換行符等可識別字符進行分割排列。對于移動瀏覽器不支持,但又在客戶端加載的樣式、特效代碼不再使用,避免造成頁面混亂以及頁面字符流量的浪費。
2.2 移動OPAC系統
移動OPAC服務是移動圖書館功能系統中為讀者服務快捷性、便利性提高最為顯著的功能模塊。據筆者隨機調查結果顯示,80%以上的讀者使用移動終端訪問圖書館所使用最頻繁的就是OPAC服務。
高校圖書館提供OPAC服務的方式大多是利用圖書自動化管理系統所帶的OPAC功能模塊,如匯文、ILAS、MELINETS等,都提供了Web模式下的OPAC模塊。自建的BS模式下的移動OPAC服務,就可以從Web版的OPAC模塊移植過來,通過調用Web版OPAC系統的參數及接口,建立WAP版的OPAC系統。
OPAC服務大多是檢索、查詢服務,站點頁面中包含了很多的數據庫連接、調用代碼以及判斷語句、循環(huán)語句、排列語句等大量功能性執(zhí)行代碼,因此,在OPAC移植或建立過程中更加要注意頁面代碼流量控制。
2.2.1 編程語言選擇
在選擇代碼編程腳本語言時,盡量選擇服務器端編譯的腳本語言,筆者在開發(fā)時使用ASP創(chuàng)建WML頁面。在代碼進行編譯時,如數據庫連接、調用代碼以及判斷語句、循環(huán)語句、排列語句等大量功能性執(zhí)行代碼,全部由服務器執(zhí)行編譯,而終端用戶瀏覽器中加載的只是最終編譯執(zhí)行完成后的靜態(tài)頁面代碼,從而將移動終端用戶的代碼流量降低。
2.2.2 分頁機制優(yōu)化
在移動終端使用信息檢索、數據庫查詢等需要在頁面陳列多條條目的子功能時,將單頁顯示條數進行優(yōu)化[7]。如果設置其為固定值,就將其設置為一個較小的數值,例如pagesize= “5”;如果要考慮到讀者習慣,需要有自定義單頁顯示條數的選項,則將默認值設置為一個最小的數值,例如
<%pagesize=int(request("pagesize"))%>
……
5
10
……
。
同時,將頁面結果排序方式設置為按照相關度排序。這樣,使用戶盡可能的從最前面幾條或較為靠前的頁數中找到符合要求的查詢結果,同時減少翻頁次數,從而達到節(jié)省流量的目的,同時也可以照顧的移動終端屏幕較小的特點。
2.2.3 檢索結果信息篩選
對于 WAP 網站來說,一方面手機屏幕的大小有限,另一方面還需考慮到流量等問題,因此不能將檢索結果頁面直接顯示出來。實際上,在檢索結果頁面中,只需關注檢索到的書目信息而不必考慮與頁面格式等無關信息。
解決的方法是對檢索結果頁面進行源代碼分析,篩選出所需的書目信息,包括書名、作者、索書號、出版日期、館藏地和書刊狀態(tài)等,最后將這些信息再按照一定的格式組合起來。例如,通過分析發(fā)現檢索結果頁面中書目信息都包含在
代碼塊中,利用正則表達式
(?
就可以將此信息篩選出來。關鍵代碼[8]如下。
// 獲取檢索結果頁面的源代碼
WebRequest request = WebRequest.Create(openlinkurl);
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
string source = reader.ReadToEnd();
// 利用正則表達式從代碼中提取所需的信息
string pattern = "
MatchCollection mc = Regex.Matches(strOfread, pattern, RegexOptions.IgnoreCase);
// 信息按指定格式進行組織
foreach(Match m in mc)
{
code +=Server.HtmlDecode(m.Groups["Text"].Value) + "
";
}
……
2.2.4 緩存的合理利用
在使用PC終端時,瀏覽器緩存(Browser Caching)文件常被人當作“系統垃圾”而被頻繁的清理掉。但是,在網絡傳輸速率較低或傳輸流量受到限制的移動終端,這些“系統垃圾”也可以發(fā)揮其作用。
在簡介類、政策類等更新頻率較低的靜態(tài)頁面中,可在頁面頭標簽中將Cache-Control設置為一個較大值,例如
"max-age=3153600"/>,
在一年時間內,除非用戶手動刷新或清除緩存,瀏覽器在訪問此頁面時,都將顯示該頁面緩存內容,不加載服務器段數據。
而在查詢類、信息類等更新頻率較高的動態(tài)頁面中,則將Cache-Control值設置為一個與網站信息更新平均周期相近的值,例如
"max-age=86400"/>,
這樣,在同一天的24小時內,多次瀏覽同一頁面時,均使用第一次加載的緩存信息;同時,在頁面顯著位置設置“手動刷新”按鍵,提示讀者該信息為24小時內的信息,如有需求可手動刷新。具體緩存加載使用方式如圖2所示。
圖2 終端加載WAP頁面數據方式
經過緩存文件的選擇性利用,在不影響用戶獲取信息有效、及時的前提下,減少重復加載同一頁面次數,節(jié)省了用戶流量。
以某高校圖書館作為開發(fā)模型,分別統計了多個Web頁面及其相對應的WAP頁面所產生的代碼流量,以門戶站點首頁為例(圖3,圖4)。
圖3 PC版門戶站點首頁截圖
圖3為該館PC版數字圖書館門戶網站首頁截圖,該頁面源代碼以全部加載項總文件大小約為360 kb。
而圖4為該館移動圖書館門戶首頁面,經優(yōu)化后該頁面全部代碼總大小僅為3.6 kb左右,只有原PC版頁面大小的百分之一。
圖4 移動門戶站點首頁截圖
結果顯示移動WAP站點大多頁面的源代碼相對于PC版Web站點頁面代碼均有大幅的減少,有效的節(jié)省了用戶流量。
在PC版數字圖書館移植、建設移動圖書館站點過程中,通過利用一系列代碼控制的改進方案,使移動站點頁面源代碼盡可能的優(yōu)化、簡略,在達到為讀者傳遞基本完整的信息基礎上,有效的控制了用戶使用移動運營商網絡訪問圖書館時頁面代碼產生的流量,最大限度為讀者節(jié)省了流量資費。不足之處是該方案僅是針對移動終端在使用運用商提供的收費網絡環(huán)境下,僅限于通過瀏覽器訪問移動站點WAP頁面方式,在實際使用中,特定情況限制下可能需要更加全面的開發(fā)方案。
[1] 王勝利.基于3G技術的移動數字圖書館業(yè)務創(chuàng)新[J].西安郵電大學學報,2013,18(4):117-120.
[2] 夏楨.以應用為導向的高校移動圖書館建設與研究:以湖南大學圖書館為例[J].高校圖書館工作,2013,33(154):13-16.
[3] 谷明坡,劉志鏡,張小平,等.WAP網絡系統組成與實現方法[J].計算機應用,2001,21(9):64-66.
[4] 曾莉.大學圖書館移動服務系統的設計和實現[J].圖書情報工作,2011,55(5):72-74.
[5] Chenshijun010.關于用WebView或手機瀏覽器打開連接問題[EB/OL].(2011-12-06)[2011-12-06].http://blog.csdn.net/chenshijun0101/article/details/ 7045145.
[6] 羅濤,朱瑩.基于WAP的移動圖書館的研究與實現:以東南大學圖書館為例[J].圖書館雜志,2013,32(8):66-71.
[7] 王忠民,史育蘭,張榮,宋輝.一種移動智能搜索個性化客戶端[J].西安郵電大學學報,2013,18(3):71-75.
[8] 曾瑞,趙躍龍.基于WAP技術的移動圖書館研究與設計[J].圖書情報工作,2009,53(21):106-109.
[責任編輯:祝劍]
Data traffic control programs of self-built WAP
services of university library
WANG Li
(Library, Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
A data traffic control program is proposed for data traffic problem generated in the process of users access the self-built mobile services site in university library. This program carries out operations such as system identification, simplified page, code optimization, etc in the process of WAP site designing and coding. Test results in actual application show that there is a great reduce in the amount of data of the most WAP page and in the mobile traffic cost when browsing the site with a mobile browser.
mobile library, mobile terminal, data traffic, flow control
10.13682/j.issn.2095-6533.2014.01.020
2013-10-24
陜西省教育廳科學研究專項基金資助項目(11JK1037)
王力(1981-),男,工程師,從事計算機應用研究。E-mail:wl@xupt.edu.cn
TP393.2
A
2095-6533(2014)01-0090-05