短信息服務及其在圖書館查書系統(tǒng)中的應用技術
出處:朱會東1, 黃 艷2, 劉祥 發(fā)布于:2011-06-25 15:20:45
短信息應用于內部管理,業(yè)務系統(tǒng)和客戶服務系統(tǒng): A公司在全國已有100多個業(yè)務劃分區(qū)域,日常工作中有大量諸如新商品信息、價格調整等業(yè)務資訊需要及時提供給所有區(qū)域經理,在應用短信息之前,主要通過電話或Email來完成這些事情,需要投入大量的人力來完成這些工作,并且還經常由于各種因素的影響而出現延誤的現象,現在用短信息則可以快捷和輕松地完成這部分工作。另外A公司在全國還有近50000個會員客戶,以前要向他們以郵件的形式郵寄商品信息、活動信息、節(jié)日問候等小宣傳單,成本很高,工作量非常大,而且速度又慢,用了短信息以后,現在的郵件都盡可能地用短信息來代替了。在其他方面,像業(yè)務員的月度計劃任務、完成情況以及業(yè)務提成等用短信息來提醒。 短信息服務作為移動互連技術的一種,因其不占用語音通信的信道與費用低廉等優(yōu)點,目前已在許多領域得到廣泛應用。
當今社會,人們對知識的需求不斷增加,人們常常需要從海量的書籍中來查找自己需要的信息。利用短消息人們可以隨時隨地用手機發(fā)短消息查詢書籍,既方便又快捷,同時,也可為各大書店及圖書館節(jié)省人力物力。
1 短信息服務
SMS 是一種存儲和轉發(fā)服務。也就是說,短消息并不是直接從發(fā)送人發(fā)送到接收人,而始終通過 SMS 中心進行轉發(fā)。如果接收人處于未連接狀態(tài)(可能電話已關閉),則消息將在接收人再次連接時發(fā)送。
SMS屬于GSM(Global System for Mobile Communications)階段的標準。但目前SMS已經被集成到了很多網絡標準中,GSM、CDMA、TDMA、PHS、PDC等移動網絡都支持SMS,這使得SMS成為一項非常普及的移動數據業(yè)務。SMS與話音傳輸及傳真一樣,都是GSM數字蜂窩移動通信網絡提供的主要電信業(yè)務。它通過無線控制信道進行傳輸,經短信息業(yè)務中心完成存儲和前轉功能。SMS是非對稱業(yè)務,它使用SS7信令信道傳輸數據分組,即使在業(yè)務信道處于高峰期的情況下,也照樣可以使用短信息順利通信。
SMS具有收費低廉、隨時隨地、能夠承載多種數據、可以實現推和拉二種不同的工作模式及傳輸安全等優(yōu)點,目前已在資訊服務、移動商務、商務助理等領域被廣泛應用。
2 系統(tǒng)設計
短信自動查書系統(tǒng)的目標就是通過手機短信息服務,實現用戶的無線信息查詢,快速方便地使圖書查詢業(yè)務通過手機方式完成。
2.1 系統(tǒng)結構
由于采用CMPP接口,移動和聯(lián)通不能互發(fā),必須將移動和聯(lián)通各開通一個號碼,這給管理者和讀者都帶來不便??紤]到書籍查詢中的業(yè)務量的實際情況,采用內嵌SIM卡的通信器作為與SMSC(短消息業(yè)務中心)的通信工具。通信器通過USB口與計算機相聯(lián),啟動計算機后通信器就處于加電狀態(tài),可進行短信收發(fā),通信器內多可保存10條短信。系統(tǒng)的網絡結構如圖1所示。

客戶通過移動電話發(fā)送短信到通信器內所嵌入的SIM卡的號碼要求查書。該短信首先通過GSM網上送到短消息業(yè)務中心,然后短消息業(yè)務中心把短消息內容下傳到通信器。短消息處理主機監(jiān)聽到有短消息到來時,立即讀取通信器,然后分析讀取的內容,分解出不同字段的內容,存入短消息數據庫中的接收數據表中。系統(tǒng)根據客戶所要查詢的內容,啟動查詢線程查詢圖書館內圖書數據庫,把查詢的結果寫入短消息數據庫的發(fā)送數據表中。短消息處理主機把發(fā)送的內容轉換成通信可識別的格式,然后寫入通信器,以短消息的型式返回到客戶的手機。
2.2 系統(tǒng)功能模塊
在系統(tǒng)需求及功能的分析上,把系統(tǒng)劃分為如圖2所示的子系統(tǒng)和功能模塊。

2.2.1 通信接口子系統(tǒng)
該子系統(tǒng)中硬件的控制較為復雜,微小的變動都有可能導致系統(tǒng)不能正常運行。由于對硬件的訪問需求比較固定,所以采用動態(tài)鏈接庫技術(DLL)來實現對硬件的控制。動態(tài)鏈接庫英文為DLL,是Dynamic Link Library 的縮寫形式,DLL 是一個包含可由多個程序同時使用的代碼和數據的庫,DLL不是可執(zhí)行文件。動態(tài)鏈接提供了一種方法,使進程可以調用不屬于其可執(zhí)行代碼的函數。函數的可執(zhí)行代碼位于一個 DLL 中,該 DLL 包含一個或多個已被編譯、鏈接并與使用它們的進程分開存儲的函數。DLL 還有助于共享數據和資源。多個應用程序可同時訪問內存中單個DLL 副本的內容。DLL是一個包含可由多個程序同時使用的代碼和數據的庫。完成的功能主要包括實現硬件上的短消息的自動接收和發(fā)送、信號量的獲取、通信器工作狀態(tài)讀取等。
2.2.2 業(yè)務中心子系統(tǒng)
該子系統(tǒng)主要完成整個系統(tǒng)的管理及各種數據的處理。主要實現以下基本功能:
(1)系統(tǒng)管理。完成操作員的管理,包括操作員的增加、注銷、權限的設置、密碼的設置及修改;系統(tǒng)參數的設置,包括設置短消息中心號碼以及圖書數據庫的用戶名、密碼以及短消息的格式。
?。?)收信處理。系統(tǒng)啟動后創(chuàng)建短消息接收線程,線程不斷查詢通信器。如果有短信接收,通信器立即讀取內容,然后分析讀取的內容,分解出短消息的內容和手機號碼,存入收信數據表中。接收短消息參數字符串的格式為:手機號|短消息格式|接收日期|接收時間。
?。?)發(fā)送處理。系統(tǒng)定時查詢發(fā)送表,如果發(fā)送表有內容,就創(chuàng)建短消息發(fā)送線程,再把發(fā)送表中的數據合成通信器可識別的格式發(fā)送出去,然后刪除發(fā)送表中已發(fā)送出去的內容。
?。?)信息統(tǒng)計。以短消息數據庫里的內容為基礎,對短消息查詢的類別、內容、讀者類別、返回結果等的查詢、匯總統(tǒng)計、分析,以圖表的形式顯示出來,并可生成用戶指定格式的報表。
2.2.3 數據庫接口子系統(tǒng)
實現通過局域網來訪問圖書信息數據庫。首先根據短消息數據庫收信表中的內容分析要查詢的內容和查詢條件,然后生成SQL查詢語句的形式,對圖書數據庫進行查詢,把查詢結果放到發(fā)件箱。
3 系統(tǒng)實現中的關鍵技術
短消息查書系統(tǒng)采用VC作為開發(fā)工具,短消息數據庫采用SQL Server2000,整個系統(tǒng)在Windows 2000 Server操作系統(tǒng)下運行。
3.1 動態(tài)鏈接庫技術
動態(tài)鏈接庫是用作共享函數庫的可執(zhí)行文件。一般情況下,DLL是一個庫中所有函數的集合,并通過包含在可執(zhí)行文件中的信息進行檢索來使用。在收發(fā)短信息時需與通信器交互,這里是通過動態(tài)鏈接庫實現的。DLL中的函數有導出函數和內部函數二種,導出函數可以被外部程序調用,內部函數只能在動態(tài)鏈接庫內部使用。
對通信器控制的動態(tài)鏈接庫提供的導出函數包括短消息的發(fā)送、接收等。

3.2 多線程技術
Windows是一個多任務操作系統(tǒng)。在Win32中,每一個進程可以同時執(zhí)行多個線程,這意味著一個程序可以同時完成多個任務。圖書查詢系統(tǒng)需要對大型的數據庫進行訪問,系統(tǒng)既要進行耗時的工作,又要保證用戶輸入響應的及時性,尤其當檢索的數據量很大、數據處理任務很重時,如果不采用多線程,檢索時的漫長的等待是難以忍受的。在采用多線程時,關鍵的問題是要采取措施來保持線程間的同步。
短消息查書系統(tǒng)主要包括消息發(fā)送線程、短消息接收線程、圖書數據庫查詢線程。在對收信箱和發(fā)信箱操作時,使用的是臨界區(qū)(CCriticalSection)同步對象,對圖書數據庫的查詢采用信號量同步機制,信號量初始化時資源計數設置為3,這樣多三個查書線程可同時運行,避免因查詢數據庫的線程太多而造成擁塞。

3.3 數據庫
數據庫是系統(tǒng)的和基礎,短消息數據庫結構設計的合理性及優(yōu)劣性將直接影響整個系統(tǒng)的性能。對圖書數據庫的訪問方式也同樣影響訪問數據庫的執(zhí)行效率。在對短消息數據庫的設計中遵循數據獨立性原則,按規(guī)范化設計數據庫,可減少數據間的依賴和數據冗余。
在對圖書數據庫訪問時采用ADO訪問數據庫技術。ADO是基于COM接口的技術,使用這種技術可以直接對數據庫的驅動程序進行訪問,從而大大提高訪問的速度。
ADO的主體接口對象有三個:ConnectionPtr、CommandPtr和RecordsetPtr。ConnectionPtr返回一個記錄集或空指針,通常用來創(chuàng)建一個數據連接;CommandPtr接口返回一個記錄集,它提供一種簡單的方法來執(zhí)行返回記錄集的存儲過程和SQL語句;RecordsetPtr記錄集對象,它能夠提供更多的控制功能。
其程序實現為:
∷CoInitialize(NULL);
m_connection.CreateInstance(__uuidof(Connection));
m_recordSet.CreateInstance(__uuidof(Recordset));
pConn.CreateInstance(__uuidof(Connection));
pConn->Open(″Provider=SQLOLEDB;SERVER=server;
DATABASE=dbname;UID=user;pwd=password″,″″,″″,-1);
pRs.Open(″select*from cmk where name=msg″,
pConn,adOpenDynamic,adLockOptimistic,
adCmdUnknown);
……
∷CoUninitialize();
4 結束語
目前移動電話的普及已使得SMS的應用極為廣泛。本文應用SMS技術通過使用MFC多線程編程及動態(tài)鏈接庫實現的自動查書系統(tǒng),已經在圖書館及書店中得到很好的使用。系統(tǒng)不但方便了圖書的管理,也給人們的學習生活帶來了極大的便利。
版權與免責聲明
凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://www.hbjingang.com,違反者本網將追究相關法律責任。
本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。
- ARM技術架構與應用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術選型與抗干擾設計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎知識2025/7/14 16:59:04









