《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 短信息在图书查询中的应用设计
短信息在图书查询中的应用设计
朱会东1, 黄 艳2, 刘祥
摘要: 介绍了短信息服务及其在图书馆查书系统中的应用技术,论述该系统的功能及在系统中采用MFC多线程及动态链接库的实现方法。
Abstract:
Key words :

  摘  要: 介紹了短信息服務及其在圖書館查書系統(tǒng)中的應用技術,論述該系統(tǒng)的功能及在系統(tǒng)中采用MFC多線程及動態(tài)鏈接庫的實現(xiàn)方法。

  關鍵詞: 短信息服務  圖書查詢  多線程  動態(tài)鏈接庫

 

  在飛速發(fā)展的信息技術領域中,移動通信和Internet是兩支突飛猛進的支柱產業(yè)。互聯(lián)網為人們提供必要的信息資料,移動通信讓人們擺脫電話線的束縛,能夠隨時隨地進行交流。而移動通信與互聯(lián)網的結合——移動互連則意味著將跨時空的計算和全方位的信息置于人們掌心。短信息服務作為移動互連技術的一種,因其不占用語音通信的信道與費用低廉等優(yōu)點,目前已在許多領域得到廣泛應用。

  當今社會,人們對知識的需求不斷增加,人們常常需要從海量的書籍中來查找自己需要的信息。網絡的出現(xiàn)為人們通過Web查詢書籍提供了一種方便的途徑。利用短消息人們可以隨時隨地用手機發(fā)短消息查詢書籍,既方便又快捷,同時,也可為各大書店及圖書館節(jié)省人力物力。

1 短信息服務

  短信息服務SMS(Short Message Service)是通過手機發(fā)送和接收有限長度的文本信息的功能。一條短信息可以包含160個英文字母(7位編碼)或70個非拉丁字母(16位編碼),如中文漢字或阿拉伯字等Unicode編碼。

  SMS屬于GSM(Global System for Mobile Communications)第一階段的標準。但目前SMS已經被集成到了很多網絡標準中,GSM、CDMA、TDMA、PHS、PDC等移動網絡都支持SMS,這使得SMS成為一項非常普及的移動數據業(yè)務。SMS與話音傳輸及傳真一樣,都是GSM數字蜂窩移動通信網絡提供的主要電信業(yè)務。它通過無線控制信道進行傳輸,經短信息業(yè)務中心完成存儲和前轉功能。SMS是非對稱業(yè)務,它使用SS7信令信道傳輸數據分組,即使在業(yè)務信道處于高峰期的情況下,也照樣可以使用短信息順利通信。它還可以實現(xiàn)全國和國際漫游。

  SMS具有收費低廉、隨時隨地、能夠承載多種數據、可以實現(xiàn)推和拉二種不同的工作模式及傳輸安全等優(yōu)點,目前已在資訊服務、移動商務、商務助理等領域被廣泛應用。

2 系統(tǒng)設計

  短信自動查書系統(tǒng)的目標就是通過手機短信息服務,實現(xiàn)用戶的無線信息查詢,快速方便地使圖書查詢業(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)來實現(xiàn)對硬件的控制。完成的功能主要包括實現(xiàn)硬件上的短消息的自動接收和發(fā)送、信號量的獲取、通信器工作狀態(tài)讀取等。

2.2.2 業(yè)務中心子系統(tǒng)

  該子系統(tǒng)主要完成整個系統(tǒng)的管理及各種數據的處理。主要實現(xiàn)以下基本功能:

  (1)系統(tǒng)管理。完成操作員的管理,包括操作員的增加、注銷、權限的設置、密碼的設置及修改;系統(tǒng)參數的設置,包括設置短消息中心號碼以及圖書數據庫的用戶名、密碼以及短消息的格式。

  (2)收信處理。系統(tǒng)啟動后創(chuàng)建短消息接收線程,線程不斷查詢通信器。如果有短信接收,通信器立即讀取內容,然后分析讀取的內容,分解出短消息的內容和手機號碼,存入收信數據表中。接收短消息參數字符串的格式為:手機號|短消息格式|接收日期|接收時間。

  (3)發(fā)送處理。系統(tǒng)定時查詢發(fā)送表,如果發(fā)送表有內容,就創(chuàng)建短消息發(fā)送線程,再把發(fā)送表中的數據合成通信器可識別的格式發(fā)送出去,然后刪除發(fā)送表中已發(fā)送出去的內容。發(fā)送短消息參數字符串的格式為:手機號|短消息內容|日期|時間|加密標志|發(fā)送等級。

    (4)信息統(tǒng)計。以短消息數據庫里的內容為基礎,對短消息查詢的類別、內容、讀者類別、返回結果等的查詢、匯總統(tǒng)計、分析,以圖表的形式顯示出來,并可生成用戶指定格式的報表。

2.2.3 數據庫接口子系統(tǒng)

  實現(xiàn)通過局域網來訪問圖書信息數據庫。首先根據短消息數據庫收信表中的內容分析要查詢的內容和查詢條件,然后生成SQL查詢語句的形式,對圖書數據庫進行查詢,把查詢結果放到發(fā)件箱。

3 系統(tǒng)實現(xiàn)中的關鍵技術

  短消息查書系統(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)鏈接庫實現(xiàn)的。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記錄集對象,它能夠提供更多的控制功能。

其程序實現(xiàn)為:

  ∷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)鏈接庫實現(xiàn)的自動查書系統(tǒng),已經在圖書館及書店中得到很好的使用。系統(tǒng)不但方便了圖書的管理,也給人們的學習生活帶來了極大的便利。

 

參考文獻

1   劉刀桂,孟繁晶.Visual C++實踐與提高,數據庫篇.北京:中國鐵道出版社,2001

2   周學泳,石丹.短消息(SMS)與WAP的開發(fā)及應用.北京:電子工業(yè)出版社,2002

3   Petzokd C.Windows程序設計.北京:北京大學出版社,1999

4   侯俊杰.深入淺出MFC.武漢:華中科技大學出版社,2001

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 久久免费一级片| 国产精品流白浆视频| 国产中文日韩欧美| 国产精品av在线| 久久久成人av| 日韩在线观看a| 97精品视频在线| 国产精品美女久久久久av福利| 久久亚洲精品视频| 欧美精品国产精品久久久| 日韩欧美一区二| 午夜精品一区二区三区av| 国产精品99久久久久久久久久久久| 精品日本一区二区三区在线观看| 国产精品福利视频| 国产美女视频免费| 久久综合色88| 久久99精品视频一区97| 久久久视频精品| 久久久国产一区| 久久精品国产亚洲精品| 久久国产精品99国产精| 久久久久久香蕉| 精品免费国产| 国产精品一区在线免费观看| 激情五月婷婷六月| 狠狠色综合色区| 国产精品一区电影| 国产精品免费久久久久影院| 久久精品99久久| 久久视频在线观看免费| 久久天天躁狠狠躁夜夜爽蜜月| 日韩在线视频观看| 日本亚洲欧洲精品| 欧美日韩视频在线一区二区观看视频| **亚洲第一综合导航网站| 亚洲欧洲日本国产| 亚洲中文字幕久久精品无码喷水| 国产亚洲综合视频| 国产精品成久久久久三级| 91高潮在线观看|