当前位置:首页 期刊杂志

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

时间:2024-05-04

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

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 结束语

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

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!