APP下载

基于MQTTProxy的移动互联网信息推送系统设计

2018-12-20杨旭田宇董兴楷牛鹏郭林内蒙古工业大学

数码世界 2018年12期
关键词:客户端组件服务器

杨旭 田宇 董兴楷 牛鹏 郭林 内蒙古工业大学

1 移动互联网影响农业信息化的发展

移动互联网,将互联网与移动通信紧密融合成一体,其涵盖了互联网模式和应用、移动通信技术及两者结合产生的一切活动。2018年上半年,中国又增加了2000多万移动互联网用户,人均单日使用移动互联网约5h。

2 适用于移动互联网的信息推送方案设计原则

具体如下:安全性,保障用户信息交互和传递安全;稳定性,保障用户客户端和服务器端的长期可靠运行;省电省流量,处理冗余数据少,待机开销小;体积小,不过多占用有限的移动存储空间。

2.1 轮询信息方案

该方案可以形象地称之为“拉”信息。用户手中的信息推送服务客户端每隔一定的 间与服务器建立一次连发3D版本的训练游戏,可有效提升用户参与度。此外,目前游戏市场所占份额最多的仍属低龄段的语文、数学、外语等主科教学,针对特殊教育等社会应用的游戏案例较少,面向自闭症儿童的3D训练游戏研发可弥补此类需求,在特殊教育机构、医院自闭症专科等部门有广阔的市场。

查询服务器上是否有信息发布出来,如果有就取回并显示到客户端上。这种方案看似简单直接,但是轮询间隔时间很难优化。轮询间隔时间设置太长,信息推送的实时性就很差;而如果这个时间设置太短,势必会增加网络流量和消耗电量,对于移动互联网而言,这是“大忌”。

2.2 拦截信息方案

移动通信运营商向用户发送短信息,用户的信息推送服务客户端拦截该短信息并将其内容解析出来,根据解析内容跳转访问服务器的指定页面。

2.3 持久连接信息方案

用户手中的信息推送服务客户端与服务器建立一个持久连接,即使网络中断,连接信息不丢失、资源不回收,网络恢复后仍使用原有资源进行连接,如果连接超时,客户端将立即再次发起连接。该方案可以保证实时性,虽然也会消耗电量和流量,但可以从设计上进行优化,将信息推送损耗降至较低水平.对比上述几套方案,选取最后一套方案,基于消息队列遥测传输协议(MQTT)来实现。

源于IBM公司MQTT的设计思想是“发布—订阅”模式。客户端不直接与服务器交互,在两者之间架设代理服务器(ProxyServer),从而做到应用程序与服务程序松耦合。MQTT协议的基本工作过程是:首先,ProxyServer作为broker角色开启服务,然后客户端与Broker创建连接并长时间维持连接,“订阅”(准备接收特定的信息)已设定好的“主题”(Topic)。

3 系统总体设计

信息内容主要包括两种形式,一是信息内容的全部具体信息,另一种形式则是信息的主要内容或者信息目录索引,由接受信息对象按照推送的通知,查询具体信息内容。本系统推送的信息以后者的形式实现。

信息推送服务系统由3个子系统组成,分别是信息推送服务控制端、信息代理服务器、手机APP客户端。

信息推送服务控制端和信息代理服务器运行在同一个物理服务器上。该物理服务器是自购服务器,安装Windows2008Server操作系统,由第三方数据中心托管,固定国际互联网IPv4地址。管理员从外部接入国际互联网通过浏览器访问该服务器。系统在推广试用阶段数据量不是很大,因此选择性能较稳定,操作和配置都较灵活的MySql数据库。服务控制端使用跨平台的PHP脚本语言开发,管理员用浏览器即可操作,无需安装繁琐的控制软件。

在早些时候,随着MQTT协议的出现,IBM公司为应用该协议,编写了RSMB组件。该组件有多种形式,可运行于Windows、Linux等操作系统,但是它没有考虑用户访问的安全性,并且未开源。在搭建信息代理服务器时,最初选用的也是RSMB组件,进一步完善修改后,最终选用开源的、支持安全访问的Mosquitto组件作为Broker角色来实现信息代理服务。

手机APP客户端基于安卓(Android)操作系统设计。虽然Android用的是Linux内核,使用C、C++开发APP软件效率高,但是信息推送服务主要关注点在应用层,不过多考虑底层的硬件接口、驱动,因此在开发手段上采用基于Java虚拟机的SDK实时运行环境。APP与用户交互的主界面使用Android的Layout相对布局,查看推送信息的详细内容使用WebView组件加载HTML5响应式网页进行浏览。

4 信息推送服务控制端设计

管理员登录系统采用Ajax设计理念,更新登录信息输入状态而不刷新页面。

配置信息推送Broker参数的源代码如下:参数值的含义如下:

cishu=0表示推送最新的信息。

cishu=1表示推送其次新的信息。

cishu=2表示推送从时间顺序上排在第3的信息(也就是在历史信息表中第3行的信息)。

cishu=3表示更早的信息(也就是在历史信息表中第4行的信息)。

以此类推,最大参数为cishu=9,也即本系统可以重新推送以前推送过的10条信息。填写任意网址,推送的信息将会链接到该网址上。注意网址必须以带问号的参数结尾。

例如http://192.168.1.88/index.asp?mk=9

或者http://192.168.1.66/?t=23

如果没有参数,任意添加一个即可。

5 结束语

综上所述,本系统的服务控制权完全在管理者手中,可以统计用户对信息接收情况的反馈(依据设备识别码唯一性),准确掌握用户对信息效果的反应情况。它不仅能做到大面积统一推送,还可以做到定点准确推送。

猜你喜欢

客户端组件服务器
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
3月光伏组件出口量增长164.6%至7.49GW!单价创新低
一种嵌入式软件组件更新方法的研究与实现
2018年全球服务器市场将保持温和增长
媒体客户端的发展策略与推广模式
新华社推出新版客户端 打造移动互联新闻旗舰
用独立服务器的站长注意了