论文部分内容阅读
信息推送服务是指根据用户对信息的需求,有针对性和目的性地将信息主动送达用户。通常采用客户-服务器机制,由服务器主动将信息推送给客户端。在消息推送服务过程中,无需客户机发出请求,其优势在于信息发送的主动性和高效性。由于移动终端有着随时随地接收信息的特点,推送服务在移动互联网得到了广泛的运用。
为了尽量避免造成在消息推送的高峰期,实时性要求较高的消息不能迅速到达的情况出现,推送平台上可以根据业务要求为不同种类业务提供不同等级的服务。传统的优先级队列调度算法并不完全适合推送平台,找到更优的适合各种实际应用场景的调度算法是消息推送平台的一个关键问题。推送平台客户端为了接收推送消息,需要与服务端永久保持连接,会给移动设备和移动网络带来额外的资源消耗,找到一个既能尽量满足消息推送实时性要求又能降低设备资源开销的网络连接算法是有必要的。
论文分别对移动消息推送平台系统中的优先级队列调度算法和网络连接技术进行了研究。首先,针对传统的加权循环调度在移动消息推送平台中会增加额外的消息发送时延的问题,提出一种基于动态权值的循环队列调度算法。该算法在原有加权循环调度算法基础上,使用了动态权值,使得推送系统不再需要对消息的发送情况作额外的记录,避免了重复查找,降低了系统开销。并对提出的算法进行了模拟实验,结果表明,改进的算法减少了消息发送的整体时延,提高了移动推送平台的消息发送效率。其次,通过分析日常生活中的推送应用情况和邮件接收数据,提出一种动态网络连接算法。它根据以往消息的到达时间分布以及优先级,预测未来一周的连接时间分布。在每周内有消息到达的时间区域延长客户端连接时间,在无消息到达时间区域减少客户端连接时间,优先级越高影响程度越大。在付出少量消息未能实时接收的代价下,减少了更大比例的网络连接时间以降低移动终端的资源消耗和网络连接占用。
最后,论文在加入了动态权值循环调度算法和动态网络连接算法的基础上,设计完成了一个基于Android系统的消息推送平台系统原型。利用该推送平台,移动应用能通过推送客户端,接收应用开发者从系统提供的推送平台网站上发送的消息。