基于GPRS的馆藏信息短信主动推送服务系统的设计与实现

  • 投稿零号
  • 更新时间2015-09-07
  • 阅读量830次
  • 评分4
  • 24
  • 0

韩燕 王鑫 高小虎

(江苏商贸职业学院 江苏 南通 226001)

摘要:利用网页抽取技术,可以从图书馆自动化管理平台获取馆藏数据库信息,通过GPRS MODEN自动向读者手机发送短信,并可根据读者的需求,提供文献定制、催还提醒、书目信息查询等服务,提高信息资源的流通率和利用率。据此实现信息资源的主动推送服务、个性化服务以及实时服务,可进一步提高图书馆服务的水平。

教育期刊网 http://www.jyqkw.com
关键词 :GPRS;馆藏信息;手机短信;信息推送;网页抽取

中图分类号:G712 文献标识码:A 文章编号:1672-5727(2014)04-0171-04

图书馆在开展信息服务过程中,为提高信息资源的流通率和利用率,一直在探索一种快捷、高效的服务模式。目前,图书馆信息服务手段和模式多种多样,常见的有BBS服务、E-mail服务、RSS服务、SNS服务等,但概括起来不外乎到馆实地查阅和通过各种互联网手段远程查阅这两种情况。到馆借阅是图书馆信息服务的传统模式,一方面,对于读者来说,在时间和空间上有很大的局限性;另一方面,图书馆在人力和财力上需要大量的投入。互联网的产生以及信息技术的应用弥补了图书馆传统信息服务模式的弊端,读者足不出户就可以检索和获取情报信息。这种信息获取模式的前提是要具备一台可以接入互联网的计算机,读者还不能完全享受随时随地的服务。

手机的普及及随身携带的特性,使其成为读者与图书馆之间信息交互的工具。随着移动通信技术的发展以及3G时代的到来,基于GPRS的实时信息服务技术应用十分广泛。如在现代化农田管理过程中,通过GPRS技术可以将安装在田间的传感装置所采集到的实时数据发送到管理中心;通过数据分析,人们可以在第一时间针对农作物的生长状况以及病虫害疫情采取及时有效的防治措施。将GPRS技术应用于图书馆馆藏信息主动推送服务是读者选择不同信息获取渠道的迫切需要。

系统设计

(一)总体思路

目前国内开通短信服务的图书馆还很少。短信服务的模式有两种:一是通过短信应用商提供服务,如中国移动、中国联通。这种方式投入成本较高,适用于商业性运营,对于图书馆公益性服务的特性而言,在资金投入方面还有一定的困难。二是借助免费的短信网关提供商。这种方式成本低廉,但数据的稳定性与安全性得不到保障。使用GPRS MODEN加SIM卡,自行开发馆藏信息推送平台的方式在硬件上只要投入一只GPRS MODEN和一张包流量的SIM卡,成本较低。借助网页抽取技术能很好地为读者提供手机短信服务。系统实现的关键技术有两点:一是GPRS MODEN短信收发控制。二是与OPAC馆藏数据库对接。

(二)系统架构

馆藏信息推送服务系统借助GPRS通信技术,根据预先设定的规则,可定时为读者提供新书通报、逾期催还、资讯推送等基础服务,是解决图书馆图书传递效率不高的有效办法;同时读者也可以通过手机短信的方式向系统发送用户注册、证件挂失、书目检索、图书预约与续借、图书荐购、参考咨询等请求,系统经过判断可进入自动处理和人工处理模式。在自动处理模式下,系统会实时检索图书馆自动化管理系统平台数据库并向读者手机发送固定格式短信;在人工处理模式下,系统管理人员可通过人机界面完成信息录入并以手动的方式向读者手机发送短信。馆藏信息推送系统由图书馆自动化管理平台数据库、短信管理程序、数据采集接口程序、GPRS MODEM模块、SIM卡、GPRS网络等组成,如图1所示。

OPAC馆藏数据库是信息推送服务系统主要的数据来源,系统接收到用户请求后即启动网页抽取模块查询OPAC数据库,并将返回数据按照对应字段存储到短信数据库等待发送指令调用;一旦发送条件成立,系统便读取短信数据库并将短信数据依次写入RS232串口,由GPRS MODEN发送给读者。馆藏信息推送服务系统同时监听RS232串口发送和接收状态,人机界面为参考咨询馆员提供数据录入接口,回复内容存储到短信发送数据库。

(三)主要功能与流程

馆藏信息推送服务系统主要具备以下五大功能:一是GPRS MODEN工作状态监控,主要由系统监听来完成。一方面,监听读者请求短信并将数据记录到短信数据库;另一方面,监听由系统生成的短信发送队列并将短信发送到读者手机。二是对图书馆现有自动化管理平台数据库的检索。当读者请求类型为用户注册、证件挂失、书目检索、图书预约与续借时,由系统自动调用图书馆现有自动化管理平台数据库并存储到短信发送队列等待发送;当读者请求类型为图书荐购、参考咨询时,则将数据直接记录到短信数据库等待系统管理人员人工处理。三是短信数据库的存取与调用。短信数据库主要由读者请求数据表、系统处理结果数据表、等待发送短信队列数据表构成。对于由系统按既定规则定时发送的新书通报、新闻资讯需要增加发送标识字段,防止短信重复发送。四是数据采集接口程序。主要负责将等待发送短信队列通过RS232发送给GPRS MODEN,同时将GPRS MODEN接收到的短信进行数据分割送到读者请求数据表。五是人机界面应具有管理员账户管理、数据查询、数据录入、数据备份、参数配置、登陆日志等常用功能。系统功能流程如图2所示。

系统实现

(一)技术选择

GPRS是通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS传输速率理论带宽为171.2 Kbps,在实际应用中大约为40~100 Kbps,实际应用带宽完全可以满足基于TCP/IP传输的馆藏信息手机短信收发。

(二)GPRS MODEN配置

GPRS MODEN也叫短信猫,法国WAVECOM和德国SIEMENS(西门子)是世界上最大的短信猫供应商。本系统选用上海颐通公司生产的ET2022 短信猫,在整个系统中属于数据交换的核心硬件。ET2022 短信猫提供了一个标准的RS232串口与计算机连接,一个SIM卡插槽,一只外置天线。在短信猫的操作面板上还提供了设置和运行两种开关状态。在短信猫正常运行之前需要在设置状态正确配置当地的移动中心号码及速率等参数,否则将无法正常工作。使用串口调试工具配置短信猫的方法如下:

1.设置短信中心号码。

以江苏移动南通地区短信中心号码(+8613800513500)为例,命令如下:

EB 90 31 33 38 30 30 35 31 33 35 30 30 30 30// EB表示一帧数据的帧头,十六进制;90为控制字;31 33 38 30 30 35 31 33 35 30 30为13800513500的十六进制转换;30 30为填充部分。

设置成功后,终端回复:EB 90 31 33 38 30 30 35 31 33 35 30 30 00 00。

2.短信发送。

如向号码为13912345678的手机发送中文短信:“短信报警!”,命令如下:

9C 08 0B 31 33 39 31 32 33 34 35 36 37 38 3A 0A 77 ED 4F E1 62 A5 8B 66 FF 01 0D 0A//9C表示字头,十六进制;08表示中文;0B表示短信长度;31 33 39 31 32 33 34 35 36 37 38表示目标手机号;3A表示数据提示符;0A 77 ED 4F E1 62 A5 8B 66 FF 01是“短信报警!”的Unicode 码;0D 0A表示字尾。

短信发送成功,终端回复“Ok”否则为“Error”。

3.短信接收。

短信接收与短信发送编码格式相同。短信猫将接收到的短信通过RS232串口交给短信管理程序并存储到短信数据库指定字段。

(三)OPAC数据抽取

图书馆使用自动化管理平台由来已久,管理平台的开发环境多种多样。国内高校图书馆使用OPAC查询系统比较常见。OPAC系统提供了一种以PHP为开发语言的WEB查询模式,其数据库为ORACLE。本系统利用WEB页面数据抽取技术,实现与OPAC查询系统数据库对接。页面数据抽取技术应用广泛,尤其在搜索引擎中尤为普遍。页面数据抽取的本质其实就是得到目标页面的Html源码,分析表格标记,循环读取目标数据。本系统使用该方法的优势有两方面,一方面,事先不需要了解OPAC查询系统数据库的表结构,兼容性较好,便于系统推广;另一方面,图书馆自动化平台数据库的安全不会受到威胁。实现过程分为以下三个部分:

1.发送HttpRequest请求。

string strResult="";

HttpWebRequest request =(HttpWebRequest)WebRequest.Create(Url);//声明一个HttpWebRequest请求

request.Timeout = 30000; //设置连接超时时间

request.Headers.Set("Pragma","no-cache");

HttpWebResponse response =(HttpWebResponse)request.GetResponse();

Stream streamReceive = response.GetResponseStream();

Encoding encoding = Encoding.GetEncoding("GB2312");

StreamReader streamReader = new StreamReader(streamReceive,encoding);

strResult = streamReader.ReadToEnd();

2.接收HttpResponse返回的结果,分析html源文件,取目标数据。

string Url = "http://list.mp3.baidu.com/topso/mp3topsong.html?id=1#top2";//要抽取的URL地址

string strWebContent = GetWebContent(Url); //得到指定Url的源码

richTextBox1.Text = strWebContent; //取出和数据有关的那段源码

int iBodyStart = strWebContent.IndexOf("<body",0);

int iStart = strWebContent.IndexOf("读者信息表",iBodyStart);

int iTableStart = strWebContent.IndexOf("<table",iStart);

int iTableEnd = strWebContent.IndexOf("</table>",iTableStart);

string strWeb = strWebContent.Substring(iTable

Start,iTableEnd - iTableStart + 8);

3.写入短信数据库。

AddLine(strID,strName,strSinger,"0");

string strID1 = tr.GetElementsByTagName("TD")[2].InnerText;

string strName1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText,"ReaderName");

string strBook1 = SplitName(tr.GetElementsByTagName("TD")[3].InnerText,"Book");

InsertData(dt); //插入数据库

dataGridView1.DataSource = dt.DefaultView;

(四)系统功能实现

1.初始化短信猫。

InitModen()

{

SetPortOpen(); //打开串口

SetCom(“9600,n,8,1”); //波特率9600,无校验字,数据位8位,停止位1位

……

}

2.载入图书馆自动化平台数据库。

InitSysLib()

{

OpenLibsysDB(); //打开图书馆自动化平台数据库

UserTable=GetUserTab(); //获取读者数据表

BookTable=GetBookTab(); //获取书目数据表

OverTable=GetOverTab(); //获取逾期数据表

……

}

3.创建服务线程。

CreateServer()

{

MonitorReceive(); //监听短信接收

ReceiveM(); //进入短信接收处理

MonitorSend(); //监听短信发送请求

If(SendType=Timer) //判断信息发送类型,进入主动推送程序

{SendM(); //调用短信发送处理函数}

Else //读者请求回复

{ReceiveM(); //调用短信接收处理函数}

}

4.短信接收处理。

ReceiveM()

{

Message=CheckM(); //判断信息合法性及请求类型

if(Message=Auto) //系统自动回复模式

{ InitSysLib(); //查询图书馆自动化平台数据库

SendM(); //调用短信发送处理函数}

Else //人工回复模式

{ InsertQuestTab(); //写入参考咨询数据表,等待回复

SendM(); //调用短信发送处理函数}

}

5.短信发送处理。

SendM()

{

OpenMessageDB(); //打开短信数据库

GetSendTab(); //获取待发送短信队列表

SendMessageToCom(); //向串口写数据

}

目前,基于GPRS的馆藏信息推送系统在技术服务上尽管还受到一定的限制,如对虚假短信的识别,短信字符数的限制以及系统的可移植性等,但基于GPRS的馆藏信息推送在图书馆信息服务的推广中还有很大的发展空间。随着制度和技术的不断完善,短信平台作为传统信息服务手段的补充和完善,对于满足不同读者群的阅读需求有着积极的推动作用。

教育期刊网 http://www.jyqkw.com
参考文献

[1]宋恩梅,袁琳.移动的书海:国内移动图书馆现状及发展趋势[J].中国图书馆学报,2010,36(5):34-48.

[2]王茹,宋瀚涛,陆玉昌.网页数据自动抽取系统[J].计算机工程与应用,2004(19):135-136.

[3]洪文,魏成光.高校图书馆短信服务平台构建模型的研究[J].农业图书情报学刊,2012(7):44-47.

[4]宋新起,花艳秋.高校图书馆短信服务平台分析与设计[J].网络与通信,2011(10):89-103.

[5]齐胜男,许谨,刘玉英.基于GPRS技术的图书馆手机短信服务平台的设计与实现[J].北京电子科技学院学报,2011,12(4):70-74.

(责任编辑:谢良才)