一种适用于android智能手机的消息推送方法技术

技术编号:12702412 阅读:81 留言:0更新日期:2016-01-13 22:22
本发明专利技术属于消息推送领域,提供一种适用于android智能手机的消息推送方法,本推送方法不做轮询,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到客户端。在服务器端有更新并推送信息过来之前这个周期内,客户端不会有新的多余的请求发生,服务器端对此客户端只保留基本的连接信息,一旦服务器有更新将推送给客户端,客户端也将相应的做出处理。本发明专利技术推送方法更加高效,用户可以十分便捷接收来自app服务器的重要通知信息。

【技术实现步骤摘要】

本专利技术属于消息推送领域,特别涉及。
技术介绍
随着移动互联网的快速发展,智能手机的普及,应用软件也越来越丰富。推送功能在手机开发中应用的场景越来越多。比如新闻客户端推送新的通告,新版本更新通知,彩票客户端中奖通知等等。因此消息推送成为互联网上通过定期传送用户需要的信息来减少信息过载的一项新技术,推送技术通过自动传送信息给用户,来减少用于网络搜索的时间,它根据用户的兴趣来搜索、过滤信息,并将定期推给用户,帮助用户高效率地发掘有价值的信息。传统的推送方式采用客户端定期向服务器轮询,即以一定时间间隔向服务器发出请求,以频繁请求的方式来保持客户端和服务端的同步。这种同步方案最大问题在于,当客户端以固定频率向服务器发起请求的时候,服务器端的数据可能没有更新,这样会带来很多无谓的网络传输,所以这是一种非常低效的实时方案。
技术实现思路
本专利技术就是针对上述
技术介绍
中的不足,而提出的,该方法可整合至移动互联网项目使用,手机客户端可以轻松获取来自服务器端的最新通知公告和版本信息,方便实用。用户可以十分便捷接收来自app服务器的重要通知信息。本专利技术的目的是通过如下技术措施来实现的。—种适用于android智能手机的消息推送方法,包括以下步骤: (1)客户端调用ClientRegist接口,将自身的设备编号传入业务服务器; (2)业务服务器针对该设备编号进行AES加密,加密后的设备编号即令牌TOKEN,并将设备编号和TOKEN以格式同时存储到业务数据库和Redis缓存数据库; (3)业务服务器将TOKEN返回给客户端; (4)客户端收到TOKEN后,向推送服务器发起长连接,并将TOKEN和自身的设备编号以请求参数传入,推送服务器组装查询KEY "Τ0ΚΕΝ_设备编号”查询Redis缓存数据库,将查出的TOKEN与请求参数中的TOKEN比较,一旦相等则允许建立长连接,此时客户端和服务器保持长连接状态; (5 )业务服务器调用推送服务器推送接口,请求参数包括:消息内容、是否群发、发送时间、指定用户; (6)推送服务器根据请求参数“是否群发”决定是否群发还是单发,通过长连接向客户端实时的推送消息。在上述技术方案中,加密算法采用AES,AES是美国国家标准技术研究所NIST旨在取代DES的新一代的加密标准。NIST对AES候选算法的基本要求是:对称分组密码体制;密钥长度支持128,192,256位;明文分组长度128位;算法应易于各种硬件和软件实现。AES设计有三个密钥长度:128,192,256比特,相对而言,AES的128比特密钥比DES的56比特密钥强10~21倍。本专利技术中AES密钥长度为128位。在上述技术方案中,设备编号和TOKEN的存储采用Redis数据库,Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list (链表)、set (集合)、zset (sorted set —有序集合)和 hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave (主从)同步。Redis是一个高性能的key-value数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了 Java,C/C++,C#, PHP,JavaScript,Perl,Object-C,Python, Ruby,Erlang 等客户端,使用很方便。本专利技术与传统的推送方式相比其优点在于:本专利技术的推送方法是不做轮询的,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到客户端。在服务器端有更新并推送信息过来之前这个周期内,客户端不会有新的多余的请求发生,服务器端对此客户端只保留基本的连接信息,一旦服务器有更新将推送给客户端,客户端也将相应的做出处理。【附图说明】图1是本专利技术实施例适用于android智能手机的消息推送方法的系统架构图。【具体实施方式】下面结合附图及实施例对本专利技术作进一步的描述。如图1所求,本专利技术的系统架构图说明如下: 整体系统架构分客户端、数据接口和业务服务器,客户端通过数据接口与业务服务器进行通信。并通过接口与推送服务器进行通信。本实施例,包括以下步骤: (1)客户端调用ClientRegist接口,将自身的设备编号传入业务服务器; (2)业务服务器针对该设备编号进行AES加密,加密后的设备编号即令牌TOKEN,并将设备编号和TOKEN以格式同时存储到业务数据库和Redis缓存数据库; (3)业务服务器将TOKEN返回给客户端; (4)客户端收到TOKEN后,向推送服务器发起长连接,并将TOKEN和自身的设备编号以请求参数传入,推送服务器组装查询KEY "Τ0ΚΕΝ_设备编号”查询Redis缓存数据库,将查出的TOKEN与请求参数中的TOKEN比较,一旦相等则允许建立长连接,此时客户端和服务器保持长连接状态; (5 )业务服务器调用推送服务器推送接口,请求参数包括:消息内容、是否群发、发送时间、指定用户; (6)推送服务器根据请求参数“是否群发”决定是否群发还是单发,通过长连接向客户端实时的推送消息。【主权项】1.,其特征在于该方法包括以下步骤: (1)客户端调用ClientRegist接口,将自身的设备编号传入业务服务器; (2)业务服务器针对该设备编号进行加密,加密后的设备编号即令牌TOKEN,并将设备编号和TOKEN以格式同时存储到业务数据库和Redis缓存数据库; (3)业务服务器将TOKEN返回给客户端; (4)客户端收到TOKEN后,向推送服务器发起长连接,并将TOKEN和自身的设备编号以请求参数传入,推送服务器组装查询KEY "TOKEN,设备编号”查询Redis缓存数据库,将查出的TOKEN与请求参数中的TOKEN比较,一旦相等则允许建立长连接,此时客户端和服务器保持长连接状态; (5 )业务服务器调用推送服务器推送接口,请求参数包括:消息内容、是否群发、发送时间、指定用户; (6)推送服务器根据请求参数“是否群发”决定是否群发还是单发,通过长连接向客户端实时的推送消息。2.根据权利要求1所述的适用于android智能手机的消息推送方法,其特征在于:步骤(2)中所述的加密算法采用AES,其中AES密钥长度为128位。【专利摘要】本专利技术属于消息推送领域,提供,本推送方法不做轮询,客户端在发起一次请求后立即挂起,一直到服务器端有更新的时候,服务器才会主动推送信息到客户端。在服务器端有更新并推送信息过来之前这个周期内,客户端不会有新的多余的请求发生,服务器端对此客户端只保留基本的连接信息,一旦服务器有更新将推送给客户端,客户端也将相应的做出处理。本专利技术推送本文档来自技高网...

【技术保护点】
一种适用于android智能手机的消息推送方法,其特征在于该方法包括以下步骤:   (1)客户端调用ClientRegist接口,将自身的设备编号传入业务服务器;   (2)业务服务器针对该设备编号进行加密,加密后的设备编号即令牌TOKEN,并将设备编号和TOKEN以格式[“TOKEN_设备编号”,TOKEN]同时存储到业务数据库和Redis缓存数据库;   (3)业务服务器将TOKEN返回给客户端;   (4)客户端收到TOKEN后,向推送服务器发起长连接,并将TOKEN和自身的设备编号以请求参数传入,推送服务器组装查询KEY“TOKEN_设备编号”查询Redis缓存数据库,将查出的TOKEN与请求参数中的TOKEN比较,一旦相等则允许建立长连接,此时客户端和服务器保持长连接状态;   (5)业务服务器调用推送服务器推送接口,请求参数包括:消息内容、是否群发、发送时间、指定用户;   (6)推送服务器根据请求参数“是否群发”决定是否群发还是单发,通过长连接向客户端实时的推送消息。

【技术特征摘要】

【专利技术属性】
技术研发人员:周亮何川朱桂勇夏京安
申请(专利权)人:武汉诚迈科技有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1