计算机应用研究
APPLICATION RESERCH OF COMPUTERS
2000  Vol.17　No.1　P.68-70




无线寻呼系统的设计与实现
王继宏　阚志刚
摘 要 结合寻呼系统的特点，对寻呼系统的总体设计和功能模块进行详细的论述，同时阐明了无线寻呼的基本过程，并对保证寻呼系统的高效性、提高寻呼系统可靠性、稳定性所采取的软硬件实现方案进行了全面地研究。
关键词 无线寻呼 发射机 C/S模式
1 引言
　　无线通讯是重要的通讯方式之一，它的优点在于覆盖面广，移动性好，适用于短信息收发，BP机、手机等都是短信息无线通讯系统的典型实例。
　　寻呼系统通常是大型的系统，既包括发射机、基站、计算机网络等物理硬件，还包括相应的寻呼软件。无线寻呼软件是在充分利用相关硬件的基础上开发的具有多种功能的软件系统。寻呼软件的基本功能有客户信息的发送、操作员、客户资料管理、客户信息统计、公共信息发布、定时信息发布等，加上其它的附加功能，整个寻呼软件系统由多个相互关联的模块组成。在寻呼软件的开发中，根据网络的特性，需要时刻关心信息发送的高效性、可靠性以及网络的稳定性等。在架构寻呼系统的硬件时，要充分考虑网络走线的科学性和合理性，在选择服务器时要充分考虑系统的可靠性，在软件的结构设计上，采用适当的结构保证信息发送的高速性等。传统的寻呼系统因为各种原因，一般是基于Novell网和DOS系统下，华讯寻呼系统采用了Windows NT操作系统，实现了图形界面，新系统更加稳定，在数据备份、易操作性等方面具有更大的优点。本文将就这几个方面进行详细地论述。
2 系统结构与功能
　　寻呼系统面向大量的用户，寻呼系统的高效性、可靠性是硬件配置、软件实现的首要目标，在开发过程中要牢记这一点。根据我们开发华讯无线寻呼软件的经验，我们从系统结构以及软件的功能方面进行详细阐述。
2.1 系统结构
　　根据寻呼系统通讯量集中在客户信息的发送和查询上，我们采用客户信息服务与操作员管理、公共信息发布分离的结构，其原因在于公共信息的发布不像寻呼信息那样频繁，占用网络通讯量较多，但是，公共信息的发布可以利用夜晚等较为空闲的时间进行。同样的，对操作员资料的管理以及用户资料等的管理也不需要天天进行，只是在资料发生变化或在月底、年底统计时才对系统的资料进行维护。因此采用的系统结构如图1。

图1　基本的寻呼系统结构示意图
　　话务员端由80～100台486或586(奔腾100)的无盘工作站组成。无盘工作站运行UC-DOS操作系统，这样既可以降低成本，也可以有效防止由于话务员对系统的不了解而导致系统崩馈，无盘工作站与NT服务器相连，磁盘阵列服务器用于双机热备份，防止在不可知的情况下，服务器的失败使整个寻呼系统瘫痪，影响寻呼服务。高级操作员使用的机器(控制台)为586(奔腾266以上)，这些计算机通过另一条网络线路与服务器相连。不占用寻呼信息所用的网络。寻呼信息的发送是通过处理机完成的，采用单独的寻呼处理机与服务器相连，通过对服务器上数据库的读取，检测各种发射信息库中是否有待发数据，如果有待发数据，就将信息传送给专门的编码设备，编码器将寻呼信息进行编码后发送出去。
2.2 系统功能
　　整个寻呼系统不仅包括客户信息的发送还包括寻呼台的管理功能，按照系统架构的体系，可以分为三大部分：1)客户信息的发送，这部分主要在前台话务员端实现。2)关于寻呼台的资料管理，包括用户资料的管理、员工资料的管理、公用信息发布、群呼管理、费用管理以及销售管理、财务管理、市场管理等辅助性功能，同时为了进行双向通讯，另有广域无线寻呼系统接口与双向无线寻呼系统接口，以供双向寻呼使用。3)包括后台运行的处理机功能。这三大部分相辅相成共同组成无线寻呼系统。所有这些功能都是通过数据库的表发生联系。在下一部分数据库的设计中，将详细介绍数据库是如何将这些模块联系起来的。下面具体介绍各模块的功能。华讯寻呼软件主要包括下面几个模块(其它辅助模块略)。
　　①话务员操作模块
　　寻呼功能是无线寻呼系统中最基本的功能，根据用户号实现及时呼、信息查询。系统还设有优先呼、紧急呼、重复呼等。值得注意的是，为了保证寻呼的效率，将客户留言的管理、复台操作、机主留言等功能放在管理员管理模块中实现。
　　②寻呼处理机
　　寻呼处理机的任务非常重要，即将寻呼信息进行编码后发送出去，根据发射的信息记录把结果追加到统计资料库中去。寻呼处理机主要进行信息编码和信息发送。
　　③定时机
　　定时机处理与时间相关，它在后台运行，不需要人工干预，所有的操作都是由事先编制的程序完成的。它包括定时呼处理、整点处理、检查停机用户、备份数据库和催交费处理等五个部分。
　　④公共信息发布
　　公共信息是一种特殊的信息，它是由管理员进行操作的。
　　公共信息的特点是：
　　。公共信息发布一般是一次性的发送给一群用户，甚至是所有用户。
　　。公共信息的长度比较长。
　　。公共信息的类型比较固定、信息比较相似，具有一定的独立性。
　　因此，在进行公共信息发布时，采用独立的公共信息数据库，对数据库的内容进行更新，在特定的时间，由定时机读取数据库，从而自动实现信息的发送。
　　⑤管理员管理模块
　　管理员管理模块是无线寻呼软件的重要组成部分。主要有客户和员工的资料管理、群呼管理以及对整个无线寻呼系统的管理功能。管理员模块采用相同功能不同界面的方式，即根据不同管理员的级别，显示不同的功能界面，操作员只能实现显示界面中的功能，没有某项操作权限的操作员将看不到相应的操作。操作员的级别包括操作员级、高级操作员(领班员)级、管理员(分为资料管理员和值班台长两个级别)级和高级管理员级。他们分别可实现下列功能中的部分功能。
　　◆用户资料的建立、增、删、改、单项查询、自由组合查询、各种统计功能。
　　◆操作员资料的建立、增、删、改、寻呼信息差错检查、操作员每日话务量查询。
　　◆机主留言的建立、删除、修改。
　　◆群呼管理。
　　◆催交费、开户、欠费、停机用户查询与统计。
3 寻呼系统的实现方案
3.1 数据库选择与设计
　　原则上说，数据库的选择有多种方案，可以采用Oracle，SQL Server以及其它数据库，如Sybase等。考虑到寻呼信息量较大的特点，以及投入成本、数据库维护的易操作性、数据库的可扩展性、可升级性等方面，系统采用了SQL Server7.0。SQL Server在数据库的安全性等方面有着突出的特点，至于Oracle更是一种性能优良、功能强大的数据库管理系统，之所以没有选用Oracle的原因仅限于成本投入的考虑，在需要100个左右前端工作站的情况下，购买SQL Server比Oracle经济，另外对于Oracle强大功能的使用需要配置素质较高的数据库管理员，相对于Oracle来说，SQL Server的管理相对简单些，SQL Server与Windows NT在安全性等方面集成得比较紧密。在开发过程中，我们注意到SQL Server在完整性方面比Oracle等数据库略有不足，但是这不影响系统功能的实现。
　　正如前面所提到的，数据库连接着各个功能模块。寻呼软件主要有下列表：
　　◆用户资料表(Userinfo)：用户资料表用于存放登记用户的有关资料，包括客户号码、客户密码、呼机类型、呼机地址、起始时间、终止时间、呼机频点、操作员号码等26项。
　　◆发射信息表(Transmit)：用于存放待发射寻呼信息。
　　◆信息查询表(Infoqury)：信息查询表里存储在一段时间内发射的寻呼信息。
　　◆定时信息表(Timing)：定时信息表用于记录用户按时间发射的寻呼信息。
　　◆话务员资料表(Operator)：类似于用户资料表，用于记录操作员的有关信息。
　　◆统计信息表(Statinfo)：统计信息表中包含一段时间(根据统计信息的不同分为以日、周、月、年)的统计信息。
　　◆组资料表(Groupinfo)：类似于用户资料表，存放着组的有关信息。
　　◆组待发射信息库(Grouptran)：对组验证后将发射信息写入本表。
　　◆公共信息表(Publicinfo)：保存待发射的公共信息。
　　在话务员端，当话务员接到用户的电话，在输入用户的呼机号码，系统调用用户资料表，并在屏幕上显示有关信息。根据这些信息，话务员验证用户的有效性，身份状态验证成功后，将寻呼信息写入发射信息表，处理机检测到发射信息表中的信息，将该信息送到编码器上编码后发射出去，同时将发射信息写入信息查询表。在数据库端，书写触发器对信息查询表的记录进行计算，将结果写入统计信息表，以供管理员模块使用。
　　在控制台端，组呼的过程与个人寻呼过程相似，管理员对组资料表读，对组待发射信息库写，处理机读组待发射信息库并将信息编码后发射出去。公共信息的发射相对简单，处理机直接读取公共信息表中的内容，将这些信息编码排队后发射。资料管理与发射没有关系，如用户、操作员资料的管理是对用户资料表进行读、写，以供话务员使用，需要进行统计时，管理员读取统计信息表中的记录，对操作员寻呼信息进行差错检查时只需对信息查询表读取。所以资料管理是个相对独立的过程。
3.2 网络操作系统
　　在NT无盘工作站通过Hub与服务器相连，控制台运行Windows 95/Windows 98，服务器采用Windows NT Server 4.0。
3.3 开发工具
　　根据不同的软件模块采用不同的开发工具。定时机模块和话务员寻呼模块采用VC++l.5以上，充分利用使用VC开发的程序具有运行速度快的特点；管理员模块和公共信息模块采用PowerBuilder 6.0以上。
3.4 信息发送的流程图
　　寻呼服务是寻呼系统的基本的核心功能。
　　下面，重点描述寻呼过程，图2是寻呼流程图。根据流程图可以进行编码实现。
4 开发体会与关键技术
　　整个系统的开发必须结合无线寻呼的特点，在开发前必须经过细致、全面的调研，合理地设计数据库结构，对数据库中各个表的作用以及各个表的结构有充分的理解，开发过程表明底层数据库的微小改动常常为开发工作带来意想不到的困难与麻烦；在网络的架构方面，网络布线、网络设备的选购都影响着系统的效率；在实现现有系统的同时，还需要充分考虑系统的扩展能力，例如在单向寻呼系统基础上实现系统的双向寻呼功能，并且考虑到随着社会经济的发展和人们活动范围的扩大，人们越来越不满足单区域的寻呼通信，而是希望随时随地都能享受到与本地一样的通信服务即广域无线寻呼。所谓广域无线寻呼系统联网指的是在不同地区的寻呼控制中心通过某种方式连接起来，进行相互间的信息传递和交换，使得这些系统中的寻呼机用户能够在联网的每个区域内享受寻呼服务。为了满足广域无线寻呼的要求，在数据库设计中加入了广域无线寻呼所需要的字段，如连网标记、频点等。为实现通播呼、分区选呼、漫游呼、跟踪呼和异地呼等功能提供了可能。在系统安全方面集成了NT、SQL Server的安全性，并通过操作员的权限设置分配相应功能。为了保证实时性，处理机软件在后台运行，数据库的触发器使得有关的数据库可以实时更新。
5 结论
　　本文对短信息寻呼系统的设计与实现进行了详细的论述，并指出在实现过程中需要注意的事项以及采用的关键技术。从网络架构、软件实现等方面论述了如何保证寻呼系统的高效性、可靠性、实时性、并发性。系统运行表明基于图形界面和NT Server下的系统比原有的基于DOS和Novell的寻呼系统在自动备份、安全性、效率性、易操作性等方面具有更大的优点。
本项目由国家星火计划资助
王继宏（北京航空航天大学计算机科学与工程系 北京 100083）
阚志刚（北京航空航天大学计算机科学与工程系 北京 100083）
参考文献
1，Frank Derfler著, 严春莹等译. 网络技术实用指南. 北京：电子工业出版社, 1999.1
2，吴洁明. PowerBuilder6.0应用与开发. 北京：清华大学出版社, 1998.12
3，Soukup著, 姜鸿英等译. SQL Server 6.5技术内幕. 北京：清华大学出版社, 1999.2
4，Kruglinski著, 王国印译. Visual C++技术内幕. 北京：清华大学出版社, 1997.9
5，Microsoft著. 网络数据库系统管理Microsoft SQL Server 6.0. 北京：科学出版社, 1997.1
收稿日期：1999年6月28日
