王力
摘 要:針對當(dāng)前圖書管理系統(tǒng)中圖書預(yù)約提醒、借書到期提醒、圖書續(xù)借提醒、證件到期提醒等即時性要求較高的讀者個人信息,只有在讀者訪問查詢時才能獲取,無法在信息產(chǎn)生的第一時間內(nèi)獲取。因此,對于讀者如何在第一時間獲取即時性個人信息成為移動圖書館服務(wù)的新問題。根據(jù)所在單位圖書館的實際情況,結(jié)合目前國內(nèi)短信服務(wù)的幾種實現(xiàn)方式,利用與OPAC數(shù)據(jù)庫對接建立SMS服務(wù)器,通過GSM短信Modem發(fā)送手機信息,設(shè)計并實現(xiàn)了一種較為簡易,適用于大多數(shù)高校圖書館的短信服務(wù)平臺,通過利用手機短信推送的方法滿足讀者第一時間或即時性個人信息的需求。
關(guān)鍵詞:高校圖書館;信息推送;短信息服務(wù);短信Modem
中圖分類號:TP39;G251 文獻標(biāo)識碼:A 文章編號:2095-1302(2018)07-00-04
0 引 言
隨著移動通信技術(shù)的發(fā)展,移動圖書館系統(tǒng)應(yīng)運而生。移動圖書館是將移動通信網(wǎng)絡(luò)和傳統(tǒng)數(shù)字圖書館系統(tǒng)相結(jié)合,訪問手機等移動終端設(shè)備,延伸和加強了圖書館的數(shù)字化服務(wù)。通過手機等移動設(shè)備訪問移動圖書館系統(tǒng),讀者可以便捷地查詢、瀏覽多種數(shù)字資源,獲取圖書館各類信息,以及實現(xiàn)最為常見和廣泛使用的個人借閱情況、圖書預(yù)約提醒、借書到期提醒等個人信息查詢功能,極大地提高了讀者獲取圖書館信息的效率及便捷性。
讀者可根據(jù)自己的要求隨時隨地訪問移動圖書館系統(tǒng),獲取數(shù)字文獻資源,公告、個人借閱信息等,但對于圖書預(yù)約提醒、借書到期提醒、圖書續(xù)借提醒、證件到期提醒等即時性要求較高的讀者個人信息,理論上需要讀者時刻訪問或刷新信息發(fā)布系統(tǒng)才能第一時間獲得該信息,這顯然是不現(xiàn)實的,即使通過便利的手機圖書館也無法實現(xiàn)。許多高校的圖書館雖設(shè)置有讀者個人信息在線查詢功能,但往往由于讀者疏忽,未即時訪問圖書館網(wǎng)站查詢本人信息,而造成圖書超期、預(yù)約失效、證件失效等情況頻頻發(fā)生。因此,一種具有更高即時性的讀者信息推送服務(wù)功能成為許多高校圖書館的追求。
通過手機短信功能即可第一時間將此類即時信息推送至相關(guān)讀者,從而滿足多數(shù)高校圖書館的需求,即信息服務(wù)中常說的SMS服務(wù)。
通過構(gòu)建讀者短信服務(wù)平臺,為讀者提供手機短信服務(wù)(Short Message Service,SMS)。按照讀者注冊的個人信息中綁定的手機號碼,對于圖書預(yù)約提醒、圖書到期提醒、圖書續(xù)借提醒、證件到期提醒等讀者自主定制的個性化信息服務(wù),利用手機短信推送功能第一時間將信息發(fā)送給用戶,即可保證該類讀者個人提醒信息的即時性和高效性。
圖書館SMS方式是對借書期限將至、所預(yù)約圖書已到館、圖書證即將過期等符合接收提醒信息的讀者,按照該讀者注冊時綁定的手機號碼,由SMS服務(wù)將相關(guān)提醒信息自動發(fā)送至手機,使該讀者第一時間接收相關(guān)提醒信息。
同時,與通過網(wǎng)絡(luò)訪問數(shù)字圖書館或移動圖書館站點查找獲取個人所需信息相比,SMS服務(wù)具有一定的優(yōu)越性:
(1)開放性和高覆蓋率
手機短信服務(wù)無需校園網(wǎng)絡(luò)的接入及計算機終端支持,只需一部開通移動短信服務(wù)的手機即可享受圖書館的SMS信息服務(wù)。同時,根據(jù)中華人民共和國工業(yè)和信息化部官網(wǎng)發(fā)布的《2014年11月份通信業(yè)經(jīng)濟運行情況》報告顯示,截至2014年11月末,我國全國移動電話用戶總數(shù)[1]達12.81億戶,粗略統(tǒng)計,研究對象所在單位西安郵電大學(xué)九成以上師生擁有至少一部手機,因此短信服務(wù)具有極高的覆蓋率。
(2)成本費用低
國內(nèi)手機短信服務(wù)費用一般為接收用戶免費,發(fā)送用戶每條約0.1元,如果辦理包月或其他套餐業(yè)務(wù),成本更低廉。
(3)便于存儲和查找
讀者將重要的信息資料以短信的方式存貯在手機上,比之電子郵件的方式更安全、便于查找。
(4)強大的短信推送功能
SMS推送服務(wù)可根據(jù)讀者自己定制的需求搜索及過濾信息,并將其推送給讀者,幫助讀者簡化網(wǎng)絡(luò)搜索過程。
(5)移動性和實時性
重要的是,SMS信息推送服務(wù)主要針對即時性較高,讀者需在第一時間獲取的信息。手機短信服務(wù)通過移動通信技術(shù)實現(xiàn),極少受時間和空間的限制,24小時獲取信息是手機的基本功能,且便于隨身攜帶,讀者在有移動信號覆蓋的任何地方都可接受服務(wù)[2]。
1 方案設(shè)計
1.1 SMS實現(xiàn)方式
目前國內(nèi)手機短信推送服務(wù)實現(xiàn)方式一般分為SP模式和短信Modem模式兩大類。另一類將自設(shè)短信息Modem(俗稱“短信貓”)設(shè)備作為SMS網(wǎng)關(guān),通過SIM卡模擬手機發(fā)送短信原理。
(1)SP模式。SP模式是通過SP(Service Provider)商或ISP(Internet Service Provider)商,即通過手機通信運營商或網(wǎng)絡(luò)代理通信運營商提供的短信類增值服務(wù)實現(xiàn)SMS網(wǎng)關(guān),由圖書館與運行商或代理商合作,將圖書館自動化管理系統(tǒng)中的讀者信息數(shù)據(jù)庫與SP服務(wù)接口對接,通過服務(wù)器程序自動識別符合條件的數(shù)據(jù)庫字段組合成手機短信息內(nèi)容發(fā)送至匹配的手機號碼。此種模式的優(yōu)點是短信發(fā)送速度快,短時間內(nèi)發(fā)送量大等;但其缺點是運營成本較高,同時SMS服務(wù)器需要連接外網(wǎng),且二次開發(fā)功能普遍不強。
(2)短信Modem模式。短信Modem模式將自設(shè)短信息Modem(俗稱“短信貓”)設(shè)備作為SMS網(wǎng)關(guān),將圖書館自動化管理系統(tǒng)中的讀者信息數(shù)據(jù)庫與短信Modem中接口對接,通過對短信Modem進行程序二次開發(fā),自動識別符合條件的數(shù)據(jù)庫字段組合成手機短信息內(nèi)容發(fā)送至匹配的手機號碼。此種模式的優(yōu)點是運行成本相對較低,自主性較高,如果有條件對使用的SIM卡辦理短信套餐等相關(guān)優(yōu)惠業(yè)務(wù),可將發(fā)送成本降至最低,同時自主開發(fā)性較強;其缺點是發(fā)送速率同SP商相比較低(但如果在接受范圍內(nèi)尚可),同時個別通信運營商可能會對單個手機號碼單位時間內(nèi)發(fā)送短信數(shù)量有所限制,可能對SMS服務(wù)造成影響。
因此,不同的圖書館應(yīng)根據(jù)自身條件選擇不同的SMS實現(xiàn)方式[3]。
1.2 SMS實現(xiàn)模式設(shè)計
圖書館短信服務(wù)為讀者發(fā)送的信息非靜態(tài)文本,是由靜態(tài)文本和OPAC數(shù)據(jù)庫中相關(guān)存儲的字段構(gòu)成的文本信息,因此,不論通過SP商服務(wù)或自建短信Modem服務(wù),都需要與OPAC系統(tǒng)的數(shù)據(jù)庫接口對接,同時進行二次編碼開發(fā)生成短信。而直接將OPAC數(shù)據(jù)庫同SP上的服務(wù)平臺或短信Modem對接,需要提供數(shù)據(jù)庫密碼、相關(guān)表單等安全性要求較高的數(shù)據(jù),存在較大的風(fēng)險。因此,本文在OPAC系統(tǒng)接口與短信發(fā)送端(即SP服務(wù)接口或短信Modem接口)之間建立一個短信服務(wù)器,該服務(wù)器可獲得較高權(quán)限,例如獲得OPAC系統(tǒng)數(shù)據(jù)庫密碼,字段名等,由該服務(wù)與OPAC系統(tǒng)接口對接,調(diào)用數(shù)據(jù)庫中符合條件的相關(guān)字段值,與靜態(tài)文本組合構(gòu)成最終的純文本信息字符串,同時調(diào)用與之匹配的用戶手機號碼,重新生成只符合相關(guān)條件的所有純文本信息字符串及發(fā)送目標(biāo)手機號碼的列表所構(gòu)成的數(shù)據(jù)庫或表單,將其與SP服務(wù)接口或短信Modem接口對接,形成后發(fā)送。此舉將信息完整發(fā)送的同時,極大地降低了OPAC數(shù)據(jù)庫的風(fēng)險。短信服務(wù)實現(xiàn)模式設(shè)計如圖1所示。
由上圖可知,SMS服務(wù)所推送的短信息是SMS服務(wù)器從OPAC服務(wù)器中的讀者信息數(shù)據(jù)庫中提取的如讀者姓名、所借書刊、讀者證件號碼、綁定手機號碼、應(yīng)還書日期、預(yù)約日期、到期日期等相關(guān)所需字段,在SMS服務(wù)器中,將相關(guān)字段結(jié)合靜態(tài)文本組合成短信息內(nèi)容,最后由SMS服務(wù)器提交至短信Modem或SP服務(wù)網(wǎng)關(guān),最終發(fā)送至讀者所綁定的手機號碼,實現(xiàn)讀者定制個人信息的即時推送。
1.3 SMS實現(xiàn)方式的選擇
按照前文中所提到的SMS兩種實現(xiàn)方法,對比其二者的特點及利弊。本文研究對象為西安郵電大學(xué)圖書館,由于其移動圖書館系統(tǒng)平臺開發(fā)推出時間較短,通過手機號碼綁定注冊的用戶數(shù)量不多,在一段時間內(nèi)處在短信Modem服務(wù)可承受的數(shù)量和速率范圍內(nèi),根據(jù)其條件及自身特點,在前期擬采用短信Modem方式實現(xiàn)手機短信模式推送讀者訂制的服務(wù)。
GSM Modem通常采用串口數(shù)據(jù)線與電腦聯(lián)接,通過電腦設(shè)置即可實現(xiàn)自動短信收發(fā)工作,無需聯(lián)接互聯(lián)網(wǎng),相當(dāng)于加固型的手機。與普通手機相比,GSM Modem的發(fā)射速度、信號指標(biāo)、不間斷工作時長等指標(biāo)均有所提高。
2 方案實現(xiàn)
前文提到,本文研究對象前期擬采用自設(shè)短信息Modem(即俗稱的“短信貓”)方式建立SMS服務(wù),即將自設(shè)短信息Modem設(shè)備作為SMS網(wǎng)關(guān),同時建立SMS服務(wù)器,通過調(diào)用圖書館自動化管理系統(tǒng)MelinetsⅡ中的OPAC子功能模塊中的數(shù)據(jù)庫自動生成短信息,通過短信Modem中的SIM卡,模擬手機發(fā)送手機短信模式,推送讀者訂制的服務(wù)[4]。
圖書館讀者定制推送服務(wù)不僅包括借書到期提醒、圖書續(xù)借提醒、圖書預(yù)約提醒、證件到期提醒等讀者個人信息的推送,還包括館內(nèi)公告、最新動態(tài)、新書發(fā)布、圖書館活動公告等公共類信息的推送,各圖書館可根據(jù)自身條件選擇推送信息的種類和范圍,讀者也可根據(jù)自身需求定制所需的推送信息類別。此類服務(wù)的實現(xiàn)方法大致相同,只是調(diào)用的數(shù)據(jù)庫表、字段的代碼,或文本信息組合方面略有差異,因此,本文以應(yīng)用最為廣泛的借書到期提醒,即催還服務(wù)為例,介紹基于GSM Modem的SMS服務(wù)的實現(xiàn)方法。
2.1 實現(xiàn)條件
(1)PC機:由于短信服務(wù)對硬件設(shè)備需求較低,因此采用PC機作為SMS短信服務(wù)器,該PC機無需連接至互聯(lián)網(wǎng),但要求與MelinetsⅡ系統(tǒng)的OPAC服務(wù)器在同一局域網(wǎng)內(nèi);
(2)短信Modem:從研究對象單日發(fā)送數(shù)量的實際情況出發(fā),采用單口型GSM Modem即可;
(3)手機SIM卡:辦理短信套餐業(yè)務(wù),以降低服務(wù)成本。
2.2 實現(xiàn)方法
(1)將PC機用作SMS短信服務(wù)器,無需外網(wǎng),同MelinetsⅡ系統(tǒng)的OPAC服務(wù)器接入同一局域網(wǎng),在該PC機上建立待發(fā)短信數(shù)據(jù)庫表,表內(nèi)容為四列:短信ID(自動生成)、短信內(nèi)容、目標(biāo)手機號、發(fā)送狀態(tài)。同時,通過腳本語言編程,與MelinetsⅡ系統(tǒng)的OPAC數(shù)據(jù)庫相連,提取OPAC系統(tǒng)數(shù)據(jù)庫中圖書館催還表circul.recall_info中的讀者姓名、圖書名、應(yīng)還日期等相關(guān)字段,與靜態(tài)文本組合成最終要發(fā)送的短信內(nèi)容,寫入短信服務(wù)器數(shù)據(jù)庫中的內(nèi)容字段msg,將與之對應(yīng)的目標(biāo)手機號寫入目標(biāo)手機號字段tel,預(yù)置發(fā)送狀態(tài)為1(表未發(fā)送),經(jīng)循環(huán)代碼運行,將當(dāng)日所有符合催還條件的信息生成短信發(fā)送數(shù)據(jù)庫表[5]。
腳本程序基本代碼如下:
<%
set conn = server.createobject(“adodb.connection”)
//連接MelinetsⅡ的OPAC數(shù)據(jù)庫
connstr=“Driver={Sybase ASE ODBC Driver};
Srvr=222.24.*.*,5000;DB=sybase;Uid=sa;Pwd=******”
conn.open connstr
t=0
Set rs=Server.CreateObject(“ADODB.RecordSet”)
//從OPAC數(shù)據(jù)庫催還表中選取相關(guān)字段
sql=“SELECT rec_ctrl_id,book_barcode,title,reader_barcode,reader_name,reader_teleph,date_due,recall_date from circul.recall_info order by rec_ctrl_id desc”
rs.Open sql,conn,1,1
if not Rs.eof then
do while not rs.eof
t=t+1
rec_ctrl_id=Rs(“rec_ctrl_id”)
book_barcode=Rs(“book_barcode”)
title=Rs(“title”)
reader_barcode=Rs(“reader_barcode”)
reader_name=Rs(“reader_name”)
reader_teleph=Rs(“reader_teleph”)
date_due=Rs(“date_due”)
recall_date=Rs(“recall_date”)
msg_text=“【溫馨提示】”+ reader_name + “您好,您在圖書館所借圖書《“+ title +”》即將在“+ recall_date +”超期,請您及時歸還或辦理續(xù)借,以免超期!【西安郵電大學(xué)圖書館】”
//將相關(guān)字段組合成短信內(nèi)容字符串
msg_connstr=“DBQ=”+server.mappath(“msg/DataBase/msg.mdb”)+”;DefaultDir=;
DRIVER={Microsoft Access Driver(*.mdb)};”
//連接本機待發(fā)短信數(shù)據(jù)庫
Set msg_conn=Server.CreateObject(“ADODB.CONNECTION”)
msg_conn.open msg_connstr
Set rs=Server.CreateObject(“Adodb.RecordSet”)
sql=“select * From msg”
Rs.open sql,msg_conn,1,3
Rs.Addnew
Rs(“msg”)=msg_text //將催還短信內(nèi)容寫入待發(fā)短信數(shù)據(jù)庫
Rs(“tel”)=reader_teleph
//將匹配的被催還讀者手機號內(nèi)容寫入待發(fā)短信數(shù)據(jù)庫
Rs.update
rs.movenext//將所有符合催還條件的信息導(dǎo)入短信服務(wù)器數(shù)據(jù)庫
loop
else
response.Write(“null”)
end if
rs.close
%>
(2)將SIM卡插入短信Modem,并將短信Modem與SMS服務(wù)器相連,安裝短信Modem開發(fā)平臺,通過短信Modem自帶的二次開發(fā)平臺編寫自動發(fā)送功能腳本,與SMS服務(wù)器中待發(fā)短信數(shù)據(jù)庫相連,將待發(fā)短信標(biāo)中內(nèi)容按順序讀取到短信Modem發(fā)送序列,通過短信Modem發(fā)送至目標(biāo)手機號碼。
首先,將短信Modem產(chǎn)品自帶開發(fā)平臺中的配置文件td.ini進行修改[6],寫入內(nèi)容為:
[Connect]
UID=msgsa //連接服務(wù)器時的用戶名
PASSWORD=****** //連接服務(wù)器時的密碼
SERVER=222.24.*.* //要連接的服務(wù)器的名稱或IP地址
DATABASE=E:\root\msg.mdb //要連接的數(shù)據(jù)庫路徑及名稱
連接到數(shù)據(jù)以后,則需繼續(xù)將數(shù)據(jù)庫中的內(nèi)容提取,基本代碼如下:
<%
t=0
Set rs=Server.CreateObject(“ADODB.RecordSet”)
sql=”SELECT * form msg by id desc”
rs.Open sql,conn,1,1
t=t+1
msg=Rs(“msg”)
tel=Rs(“tel”)
%>
本文選取的該款短信Modem開發(fā)平臺中,發(fā)送列表表名為SendLists,其中字段為aPhone,aContent,aRemark等,因此,根據(jù)此表屬性,將提取內(nèi)容寫入的開發(fā)基本代碼如下:
<%
sql=“select * From SendLists”
Rs.open sql,msg_conn,1,3
Rs.Addnew
Rs(“aContent”)=msg_text
Rs(“aPhone”)=reader_teleph
Rs.update
%>
短信Modem接受SMS服務(wù)器數(shù)據(jù)庫信息時,需返回一個識別信號,證明SMS服務(wù)器中該條信息已被提取,可以刪除該條信息,或者返回數(shù)值0,寫入msg表中的發(fā)送狀態(tài)字段。最后,通過循環(huán)語句將所有信息全部提取,代碼不再贅述。
3 結(jié)果測試
當(dāng)以上功能全部實現(xiàn)后,即可設(shè)置每日發(fā)送時間及發(fā)送次數(shù)。由于OPAC中催還、預(yù)約等功能均為每日更新一次,因此,本文擬定該系統(tǒng)每日由短信Modem從SMS數(shù)據(jù)庫全部提取一次,時間設(shè)為8:00,同時短信Modem將短信全部發(fā)送一
次,時間設(shè)為9:00。
每日8時將SMS短信服務(wù)器數(shù)據(jù)庫中當(dāng)日待發(fā)信息列表全部提取至短信Modem發(fā)送列表中,9時短信Modem開始按順序?qū)⑷啃畔l(fā)送至目標(biāo)手機號。
經(jīng)實際測試,數(shù)據(jù)庫信息提取、短信生成及發(fā)送均正常,自每日上午9時開始自動發(fā)送,約3~5分鐘可將當(dāng)日催還短信發(fā)送完畢,測試短信截圖如圖2所示。
同理,圖書續(xù)借提醒、圖書預(yù)約提醒、證件到期提醒、館內(nèi)公告、最新動態(tài)、新書發(fā)布、圖書館活動公告等服務(wù)均可按照以上催還服務(wù)功能實現(xiàn)。
4 結(jié) 語
手機短信服務(wù)的實現(xiàn)可使讀者在第一時間獲取個人所需的相關(guān)信息,極大地提高了圖書館讀者信息服務(wù)的即時性,避免因信息獲取不及時造成的麻煩。
本文系統(tǒng)的實現(xiàn)過程均根據(jù)筆者所在圖書館的實際情況而開發(fā)。例如,在選取符合催還條件的讀者時,由于MelinetsⅡ系統(tǒng)的OPAC模塊中對于催還讀者的處理方式為每日自動生成催還信息表circul.recall_info,因此可直接調(diào)用該表中信息;而對于非此處理方式的圖書館自動化管理系統(tǒng),需利用借出書刊信息表中的應(yīng)還日期字段與當(dāng)日日期進行比較,再將符合條件的信息篩選出來進行隊列。因此,具體細節(jié)的設(shè)計和開發(fā)工作需根據(jù)研究對象的實際情況來確定。
目前,移動圖書館產(chǎn)品市場上部分產(chǎn)品系統(tǒng)中帶有短信服務(wù)功能模塊,但涉及SP商、移動運營商等服務(wù)限制,或是由于圖書館自身條件限制,多數(shù)購買了成品移動圖書館系統(tǒng)產(chǎn)品的高校圖書館單位并未開通其自帶的短信息服務(wù)功能模塊。鑒于此情況,可利用本文設(shè)計的方案來自主實現(xiàn)圖書館的短信服務(wù)。
參考文獻
[1]中華人民共和國工業(yè)和信息化部.2014年11月份通信業(yè)經(jīng)濟運行情況[EB/OL].(2014-12-18)[2014-12-18].http://www.miit.gov.cn/n11293472/n11293832/n11294132/n12858447/16352976.html.
[2]鮑濤.移動通信技術(shù)在高校圖書館數(shù)字化信息服務(wù)中的應(yīng)用——手機短信服務(wù)[J].社科縱橫,2013,27(11):138-139.
[3]張春芳,齊增創(chuàng),王鍵.圖書館短信催還平臺的數(shù)據(jù)采集算法的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2013,9(11):2538-2541.
[4]張亮,李瓊.多通道短信服務(wù)平臺的設(shè)計與實現(xiàn)[J].電腦與電信,2012(9):51-53.
[5] ABOUTALEB A,KHALIL R,STOCKTON D,et al.Web-based metadata retrieval tool for fine art and games artwork[C] //Proceedings of the 2013 IEEE 14th International Conference on Information Reuse and Integration,IEEE IRI 2013,San Francisco:IEEE Press,2013:145-152.
[6]洪源.短信網(wǎng)關(guān)的二次開發(fā)與實現(xiàn)[J].硅谷,2013(19):151,111.
[7]路宏偉.快遞信息推送技術(shù)設(shè)計及實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(1):54-55.
[8]胡鑫,劉紅,葉小亮.一種圖書館可視化智能選座引導(dǎo)系統(tǒng)的研究與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2016,6(2):71-72.