基于会话交互式下的公安信息化系统设计
2016-02-27黄建邦
黄建邦
基于会话交互式下的公安信息化系统设计
黄建邦
(广东省公安厅网警总队,广东广州510050)
为解决移动警务信息系统在特殊场景下应用的难题,作者在创新模式下,设计了基于会话交互式的系统,有效提高了扩展性和兼容性,取得良好的实战应用效果。
公安信息化会话交互开发模式
引言
近年来,随着公安信息化建设的大力推进,各种应用的相继上线,极大支持了业务工作的开展。应用多采用B/S和C/S软件开发模式[1],在移动警务特殊场景下,造成项目界面开发成本高、用户培训效率低、使用复杂等难题不断出现,制约了公安信息化的发展。在会话交互式的设计下,利用现有用户客户端功能,采用人与机器信息发送和智能识别处理回复的模式,有效降低了项目开发成本和用户使用难度。
1 B/S和C/S的软件开发模式
1.1 C/S(Client/Server)模式
用户通过应用程序与服务器数据库进行连接。厂商必须针对不同的操作系统进行开发应用程序(如Windows、MacOS、Ios、Android等)。在移动警务的应用场景下,用户需要安装专用的客户端软件,对操作系统兼容性要求高,维护、投资成本大。
1.2 B/S(Browser/Server)模式
用户使用浏览器向服务器进行交互的架构,用户终端安装浏览器(Browser)如Chrome或InternetExplorer,浏览器通过WebServer,连接服务器程序并和数据库进行数据交互。[2]移动警务的应用场景下,B/S展示效果较差,占用大量的网络带宽,导致用户体验性低,降低了使用效率。
2 会话交互式下的设计方式
在会话交互式下,服务提供商和用户有多种通讯方式,不用开发专门的客户端,可以通过手机短信、微信、QQ、电子邮箱和语音识别平台等方式,在不同硬件和操作系统上使用。
服务提供商通过将系统接入各类通信平台(如短信平台、微信等)。用户通过服务提供商提供的接收号码(如手机号码、微信公众号等),同时向号码发送请求。系统总控平台接收请求后,自动识别请求类型并选择业务处理程序进行调用。各个业务处理程序根据调用的参数和设计的逻辑进行处理,并将处理结果反馈总控程序。总控程序将处理结果通过原通信平台回复给用户(如图所示)。
图会话交互式下的处理方式
3 会话交互式下的开发技术
3.1 总控程序
总控程序负责通过各个通讯入口,接收用户的数据接收、任务处理的指派和任务信息的回复。程序使用Python进行开发,运行在Linux操作系统上。程序开发采用MVC模型进行设计方式,MVC是模型(Model)、视图(View)、控制器(Controller)的缩写。模型(Model)用于封装数据,主要存储用户信息、操作日志、缓存信息等。视图(View)用于返回数据,采用RESTful协议标准进行开发[3],负责各种终端上的用户请求的接收和返回。控制器(Control⁃ler)用于逻辑设计,提取、识别用户请求类型,根据请求类型选择调用不同的业务处理程序。
3.2 业务逻辑处理程序
业务逻辑处理程序针对不同的用户请求类型有不同类别。针对不同应用场景、设计的模型和技术实现方式,采用C++、Python等语言开发,分别运行在Windows、Linux服务器和Docker(容器)、SandBox(沙盒)中。业务逻辑处理程序经总控程序调用后,根据参数进行逻辑处理,后将处理结果返回(如图所示)。
4 会话交互式下的用户客户端
在基于会话交互的设计模式下,用户使用的客户端有多种,多种方式可以根据不同场景混合使用,不受硬件和操作系统限制,不用专门开发客户端。4.1使用手机短信模式
服务提供方通过使用短信猫设备或注册短信平台,并接入总控程序调用,用户通过向GSM-SMModem(短信猫设备)或SMSplatform(短信平台)的号码发送请求,系统就能接收并处理和返回结果。
4.2 使用即时聊天工具通信模式
以微信为例,服务提供方通过注册微信公众号的方式,根据官方提供的API调用总控程序接入,用户关注公众号后便能与系统进行交互。此外,QQ、WhatsApp等热门的聊天工具均可以通过调用总控程序接入。
4.3 使用电子邮箱模式
服务提供方通过架设电子邮件服务器,用户通过发送电子邮件的方式实现交互。
4.4 其他通信方式
根据不同的通讯需求(如语音识别等),服务提供方通过调用系统的总控程序均可接入系统。
[1]曹金璇.试述公安信息化应用系统开发模式的选用[J].中国人民公安大学学报,2015.
[2]黄文博.C/S架构和B/S架构的分析和比较[J].长春师范学院学报,2006.
[3]赵博文.解析RestfulWebService架构[R].上海:同济软件学院,2014.