一种基于MQTT的消息远程安装和卸载广告的方法与流程

文档序号:12469599阅读:866来源:国知局

本发明涉及互联网通讯,具体涉及一种基于MQTT的消息远程安装和卸载广告的方法。



背景技术:

目前的互联网通讯技术需要安装终端联网,然后再去下载需要安装的应用再来安装终端。这样无形中增加了终端的运营成本及难度,如果具有多个终端,则需要联网下载多次,造成资源浪费,而卸载需要进入终端的操作平台中,找到卸载的软件后再手动卸载,造成工作量巨大。

MQTT通讯协议是为大量计算能力有限,且工作在低宽带、不可靠的网络的远程传感器或者控制通讯设计的协议,它具有如下特性:

1)使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

2)对负载内容屏蔽的消息传输;

3)使用TCP/IP提供网络连接;

4)有三种消息发布服务质量:

“至多一次”,消息发布完全依赖底层TCP/IP网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

“至少一次”,确保消息到达,但消息重复可能会发生。

“只有一次”,确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

小型传输,开销很小(固定长度的头部是2字节),协议交换最小化,以降低网络流量;

根据mqtt的特性,选择mqtt协议来插播消息是一个非常理想的方法。

DES(Data Encryption Standard)是分组对称密码算法。DES采用了64位的分组长度和56位的密钥长度,它将64位的输入经过一系列变换得到64位的输出。解密则使用了相同的步骤和相同的密钥。DES的密钥长度为64位,由于第n*8(n=1,2,…8)是校验位,因此实际参与加密的长度为56位,密钥空间含有2^56个密钥。

DES算法利用多次组合替代算法和换位算法,分散和错乱的相互作用,把明文编制成密码强度很高的密文,它的加密和解密用的是同一算法。

DES算法,是一种乘积密码,其在算法结构上主要采用了置换、代替、模二相加等函数,通过轮函数迭代的方式来进行计算和工作。

DES算法也会使用到数据置换技术,主要有初始置换IP和逆初始置换IP^-1两种类型。DES算法使用置换运算的目的是将原始明文的所有格式及所有数据全部打乱重排。而在轮加密函数中,即将数据全部打乱重排,同时在数据格式方面,将原有的32位数据格式,扩展成为48位数据格式,目的是为了满足S盒组对数据长度和数据格式规范的要求。

一组数据信息经过一系列的非线性变换以后,很难从中推导出其计算的过程和使用的非线性组合;但是如果这组数据信息使用的是线性变换,计算就容易的多。在DES算法中,属于非线性变换的计算过程只有S盒,其余的数据计算和变换都是属于线性变换,所以DES算法安全的关键在于S盒的安全强度。此外,S盒和置换IP相互配合,形成了很强的抗差分攻击和抗线性攻击能力,其中抗差分攻击能力更强一些。



技术实现要素:

本发明针对上述问题,提供了一种基于MQTT的消息远程安装和卸载广告的方法。

本发明采用的技术方案是:一种基于MQTT的消息远程安装和卸载广告的方法,包括以下步骤:

S1,终端启动时,订阅消息主题;

S2,用户发布远程安装和卸载消息,消息经过DES加密,安装的消息包含广告apk名称和广告apk下载地址,卸载的消息只需要广告apk名称;

S3,终端根据订阅主题接收用户发布的远程安装或者卸载消息;

S4,终端接收远程安装或者卸载消息,并进行DES解密;

S5,终端根据远程安装和卸载消息获得广告apk名称和广告apk下载地址,如果是卸载消息只获取广告apk名称。

进一步地,所述步骤S1还包括:

S11,连接MQTT:

生成连接字符串:指定消息代理主机的IP地址和MQTT分配的端口号;

设置连接属性,包括客户机的标识、订阅类型、发送活动消息的间隔时间;

创建MQTT客户机对象;

S12,向代理订阅主题:订阅是由MQTT对象处理,包括两个数组参数,即订阅主题数组、服务质量数组。

更进一步地,所述步骤S2还包括:

S21,向数字标牌发布消息:直接使用MQTT提供的API函数publish,需要提供主题、消息、服务质量等参数;

S22,接收来自代理的消息:为使应用接收到订阅的消息,创建一个回调处理函数,并且在MQTT客户端注册;

用MqttSimpleCallback接口创建简单接口的对象,并实现connectionLost、deliveryComplete和messageArrived三个方法;

当与代理的连接意外终止时,就调用connectionLost方法;如果出现这种情况,则此方法试图重新连接到代理;如果connectionLost方法无法重新连接,则会抛出异常来通知客户机重新连接失败;

messageArrived方法通知系统订阅主题的消息已到达客户端;

deliveryComplete方法表示发送是否完成;

S23,消息发布前需要DES加密。

更进一步地,所述步骤S3还包括:接收消息解密:数字标牌订阅消息后,代理发布数字标牌订阅的主题,数字标牌接收到发布的消息并解密。

更进一步地,所述步骤S4还包括:对相关代码加密及解密。

本发明的优点:

本发明使用的mqtt协议用在弱信号、低宽带等环境下工作也可保证接收完整,而且消息经过DES加密,安全性得到保证,是mqtt协议和DES安全认证运用在数字标牌上是一种非常好的方法;本发明的方法上传和卸载均能批量操作,如果包名一样,还会覆盖前一文件。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1是本发明的基于MQTT的消息远程安装和卸载广告的方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参考图1,如图1所示的一种基于MQTT的消息远程安装和卸载广告的方法,包括以下步骤:

S1,终端(数字标牌)启动时,订阅消息主题;

S2,用户发布远程安装和卸载消息,消息经过DES加密,安装的消息包含广告apk名称和广告apk下载地址,卸载的消息只需要广告apk名称;

S3,终端根据订阅主题接收用户发布的远程安装或者卸载消息;

S4,终端接收远程安装或者卸载消息,并进行DES解密;

S5,终端根据远程安装和卸载消息获得广告apk名称和广告apk下载地址,如果是卸载消息只获取广告apk名称。所述步骤S1还包括:

S11,连接MQTT:

生成连接字符串:指定消息代理主机的IP地址和MQTT分配的端口号;

设置连接属性,包括客户机的标识、订阅类型、发送活动消息的间隔时间;

创建MQTT客户机对象;

S12,向代理订阅主题:订阅是由MQTT对象处理,包括两个数组参数,即订阅主题数组、服务质量数组。

所述步骤S2还包括:

S21,向数字标牌发布消息:直接使用MQTT提供的API函数publish,需要提供主题、消息、服务质量等参数;

S22,接收来自代理的消息:为使应用接收到订阅的消息,创建一个回调处理函数,并且在MQTT客户端注册;

用MqttSimpleCallback接口创建简单接口的对象,并实现connectionLost、deliveryComplete和messageArrived三个方法;

当与代理的连接意外终止时,就调用connectionLost方法;如果出现这种情况,则此方法试图重新连接到代理;如果connectionLost方法无法重新连接,则会抛出异常来通知客户机重新连接失败;

messageArrived方法通知系统订阅主题的消息已到达客户端;

deliveryComplete方法表示发送是否完成;

S23,消息发布前需要DES加密。

所述步骤S3还包括:接收消息解密:数字标牌订阅消息后,代理发布数字标牌订阅的主题,数字标牌接收到发布的消息并解密。

所述步骤S4还包括:对相关代码加密及解密。

本发明通过MQTT协议,推送消息到终端,终端接收到消息解密之后,根据协议内容的action的值来区分安装还是卸载广告,如果是安装,则根据apkUrl的值去服务器上下载安装包,如果是卸载则根据apkName去卸载终端上的广告。

本发明的基于MQTT的消息远程安装和卸载广告的方法,终端(数字标牌)启动时,订阅消息主题如:cloudring/client/terminal/terminalId/#,其中terminalId为终端的具体值;

用户发布远程安装和卸载消息,消息经过DES加密,安装的消息包含广告apk名称和广告apk下载地址,卸载的消息只需要广告名称即可;

终端根据订阅主题接收用户发布的远程安装和卸载消息;

终端接收远程安装和卸载消息,并进行DES解密;

终端根据远程安装和卸载消息获得广告apk名称和广告apk下载地址,如果是卸载消息只获取广告apk名称;

由于是通过mqtt协议来传输的,在弱信号、低宽带环境都可以保证接收到,这样客户的体验会更加完善。

现在很多的数字标牌,本身的wifi信号不强,如果是走http协议,则可能发生断网的情况或者链接不通畅导致消息接收不到或者是不完整,这样就会导致广告的体验效果差,

本发明使用的mqtt协议用在弱信号、低宽带等环境下工作也可保证接收完整,而且消息经过DES加密,安全性得到保证,是mqtt协议和DES安全认证运用在数字标牌上是一种非常好的方法;本发明的方法上传和卸载均能批量操作,如果包名一样,还会覆盖前一文件。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1