首页> 中国专利> 面向智能移动平台的Web服务推送方法

面向智能移动平台的Web服务推送方法

摘要

面向智能移动平台的Web服务推送方法,Web服务推送通过数据交换管程、服务代理和SOAP推送协议三个部分实现,数据交换管程运行在智能移动平台上,作为智能移动平台上应用程序的数据收发媒介和管理者;服务代理运行在服务器上,将Web应用封装成Web服务,并以数据推送方式向数据管程提供更新;SOAP推送协议作为数据交换管程和服务代理之间的通信协议。本发明提供了一种融合了服务代理、数据交换管程以及SOAP推送协议的技术,能够面向智能移动平台进行Web服务的主动推送。

著录项

  • 公开/公告号CN102420827A

    专利类型发明专利

  • 公开/公告日2012-04-18

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201110414440.8

  • 发明设计人 许蕾;颜友军;陈林;徐宝文;

    申请日2011-12-13

  • 分类号H04L29/06;H04L29/08;H04W80/12;

  • 代理机构南京天翼专利代理有限责任公司;

  • 代理人黄明哲

  • 地址 210093 江苏省南京市鼓楼区汉口路22号

  • 入库时间 2023-12-18 04:59:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-03

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20140423 终止日期:20141213 申请日:20111213

    专利权的终止

  • 2014-04-23

    授权

    授权

  • 2012-05-30

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20111213

    实质审查的生效

  • 2012-04-18

    公开

    公开

说明书

技术领域

本发明涉及移动Web服务技术领域,为一种面向智能移动平台的Web服务推送方 法。

背景技术

随着以手机、平板等为代表的智能移动设备的逐步兴起,受智能移动设备中软硬 件水平的限制以及多设备数据同步等因素的影响,软件的设计理念和开发方式发生着巨 大的变化:云计算等新的理念得以推广,传统软件设计中的本机程序正在逐步被纷繁复 杂的网络应用所取代。数据实时更新正逐渐成为网络应用一个重要特点;而在数据实时 更新中,使用服务器推送(Server Push)技术,能够很好地降低客户端处理的复杂性,并 提高网络传输的效率。在智能移动设备中,由于网络带宽、能耗、计算能力等限制,应 用程序正在逐步使用服务器推送方式取代传统的客户端拖拽方式(Client Pull)方式进行 数据更新。

在移动平台上,由于软件商店的产生和发展,用户购买、安装、使用软件变得更加 便捷,这也导致软件开发的模式和理念产生了巨大的变化,越来越多的个人和小规模团 队、公司加入到移动平台的软件开发中。目前,移动平台应用软件纷繁复杂,软件模块 功能上的交替、重复等现象日益凸显;而且,随着移动平台系统的增多,这一现象变得 更加严重,如何合并软件重复功能以便于用户人员高效地开发软件,成为目前亟待解决 的问题。

目前,智能移动平台软件面临客户端应用和服务器接口耦合度高、接口不统一、 软件更新频繁而复杂等问题。为了解决这些问题,一些软件厂商,如微软、黑莓等已经 提供了一些智能移动平台之间软件互相转化的工具,但是这些工具还只是针对不同平台 对应接口进行转换,转换的效率和效果并不是很理想,并不能够从根本上提供平台无关 等特性。Web服务是面向服务的体系结构(Service-oriented architecture,SOA)中的一 种技术,将其引入到智能移动平台中,将能够合理有效地合并重复模块与功能,并提供 平台无关的特性,从而可以有效利用、整合已有的软件资源。另外,引入Web服务还 能够把客户端和服务器的开发分割开来,使软件开发更有针对性,有利于功能的集成。 但是,现有的Web服务并不具备服务器推送的功能,不利于移动平台计算以及网络传 输复杂性的降低。因此,将服务器推送引入到移动平台中,还需要进行相应的扩展,以 适应移动平台的需求。

目前面向Web服务的数据推送主要使用代理机制:在Web服务服务器和客户端之 间加入服务代理,客户端向代理注册服务信息,代理对Web服务进行轮询,在发现数 据更新时,服务代理向客户端推送数据。但现有研究并没有将SOAP协议应用到服务代 理与客户端之间的通信中,且没有针对移动平台计算能力低、功耗受限等问题进行分析 和处理,未能充分利用Web服务的特性。

因此,在面向智能移动的Web服务推送领域,仍然需要进行相应的扩展和拓宽, 以实现Web服务到智能移动设备的数据推送。

发明内容

本发明要解决的问题是:1)大量现有Web应用并没有作为Web服务发布,如何将 其转化为面向智能移动平台的Web服务;2)现有Web服务协议SOAP并不支持数据 推送,如何在其基础上设计高效的推送协议;3)对现有的智能移动平台软件,如何屏 蔽所使用的数据推送协议细节。

本发明的技术方案为:面向智能移动平台的Web服务推送方法,网络系统包括Web 应用服务器、服务代理服务器和智能移动平台,Web服务推送通过数据交换管程、服务 代理和SOAP推送协议三个部分实现,数据交换管程运行在智能移动平台上,作为智能 移动平台上应用程序的数据收发媒介和管理者;服务代理运行在服务器上,将Web应 用封装成Web服务,并以数据推送方式向数据管程提供更新;SOAP推送协议作为数据 交换管程和服务代理之间的通信协议,其中:

数据交换管程管理智能移动平台应用程序的数据更新和调度,通过推送方式接受数 据更新和调用智能移动平台软件处理数据更新,数据交换管程中设立消息池,消息池包 含若干个彼此独立的消息区,每个消息区有一个桩,使用时,智能移动平台上的应用程 序向数据交换管程申请消息区,并向数据交换管程注册相应的数据更新信息和回调信 息,数据交换管程向应用程序分配消息区,此时,应用程序挂起或者退出,在数据交换 管程发现数据更新后,根据回调信息唤醒应用程序进行处理;

SOAP推送协议作为服务代理和数据交换管程之间的数据交互协议,在现有SOAP 协议的单向消息、请求/响应、点对点会话这三种通信双方的信息交换方式基础上,增 加SOAP流和SOAP长轮询两种数据交换方式,形成面向Web服务的数据推送协议。

服务代理运行于服务代理服务器上,对Web应用服务器上的Web应用使用轮询方 式发送数据更新请求,并将获取的数据更新向智能移动设备推送,从而将现有的Web 应用转化为面向智能移动设备的Web服务。

数据更新使用移动平台数据推送管程进行处理,处理时使用更新线程产生器,根据 更新类型选择不同的更新方法,调用更新线程,具体选择方法如下:

更新方式为固定频率非实时更新时,采用守护线程,由守护线程处理数据更新,数 据交换管程和智能移动平台应用程序使用请求/响应方式连接;

更新方式为固定频率实时更新时,采用守护线程,建立新线程处理数据更新,数据 交换管程和智能移动平台应用程序使用请求/响应方式连接;

更新方式为不固定频率非实时更新时,采用独立线程,建立新线程处理数据更新, 数据交换管程和智能移动平台应用程序使用长轮询方式连接;

更新方式为不固定频率实时更新时,采用独立线程,建立新线程处理数据更新,数 据交换管程和智能移动平台应用程序使用流传输方式连接;

数据通信使用网络通信、SOAP推送、SOAP消息解析三个子模块,对通信的数据 进行封装和解封。

SOAP推送协议根据不同的通信要求:更新频率是否固定以及固定更新频率的更新 时长,来选择不同的数据更新方式:SOAP流或者SOAP长轮询,其中,SOAP流的 通信流程如下:

1)智能移动平台向服务器发送自举帧,包含相应的注册信息;

2)服务器向智能移动平台分配相应的id,并将其信息加入到待更新列表中,并向智 能移动平台返回id以及更新数据信息、同步时延;

3)智能移动平台以固定的时间间隔,即同步时延,向服务器发送SOAP短帧;

4)服务器如果有数据更新,则返回更新数据,如果没有则返回SOAP短帧;

5)服务器在任意时刻向智能移动平台推送更新数据,同时更新同步信息,一次数据 推送认为是一次同步;

6)智能移动平台接收到数据推送后返回SOAP短帧,更新同步信息;

7)在设定的时间后,服务器或者智能移动平台如果没有收到同步信息或者确认信息, 则认为对方掉线,服务器将该智能移动平台从智能移动平台列表中移除;

SOAP长轮询的通信流程如下:

1)智能移动平台向服务器发送数据更新请求,同时设计计时器用于响应的计时;

2)服务器接收到智能移动平台数据更新请求后,如果有数据更新,则返回数据,如 果没有,则延迟设定的时间后再返回相应的结果:有数据更新或者没有;

3)智能移动平台在计时器超时前,如果接收到响应,则处理响应结果并进行下一轮轮 询,否则,向上层软件报告错误。

本发明通过采用以上技术方案,有具有以下优点:

1.使用推送方式进行数据更新,能够针对现有智能移动设备数据更新进行优化,大大 降低移动设备的数据通信量,提高通行效率,降低能耗。

2.将移动平台软件的模块封装成Web服务,可以简化面向智能移动设备软件的开发效 率,可以使用统一的数据通信协议对不同平台、不同架构的移动设备进行通信。

3.将Web服务易于组合等特性引入智能移动设备中。

4.数据传输使用标准的XML格式,可以使用XML加密技术对通信数据进行加密。

附图说明

图1为本发明移动Web服务推送框架层次图。

图2为本发明数据交换管程模块框架模块图。

图3为本发明服务代理模块框架模块图。

具体实施方式

本发明提供一种面向智能移动设备的Web服务推送方法,用于将现有的Web应用 转化为面向智能移动平台的Web服务,并提供Web服务到智能移动平台的数据推送。 本发明设计了服务代理、数据交换管程以及SOAP推送协议三个主要部分:服务代理用 于将现有的Web应用转化为面向智能移动设备的Web服务,并对其提供数据推送服务; 数据交换管程用于向智能移动平台软件屏蔽协议细节,提供定制化的数据更新服务; SOAP推送协议扩展SOAP协议,作为服务代理和数据交换管程之间的数据交互协议。

如图1所示,本发明分为数据交换管程、服务代理、SOAP推送协议三个部分。其 中,数据交换管程运行在智能移动设备上,作为移动平台软件的数据收发媒介和管理者; 服务代理运行在服务器上,将Web应用封装成Web服务,并以数据推送方式向数据管 程提供更新;SOAP推送协议作为数据交换管程和服务代理之间的通信协议。

服务代理运行在代理服务器上,服务代理对Web应用使用轮询方式进行数据更新, 这里的Web应用包括Web服务或其他有数据更新服务的Web应用,并将其作为Web 服务向智能移动设备提供;在有数据更新时,使用SOAP推送协议将相应的更新信息推 送给数据交换管程。服务代理不仅支持Web服务的数据更新,同时支持普通的Web应 用,以扩充服务代理的应用范围。通过引入服务代理,能够提高现有系统的兼容性:在 现有的Web服务框架内进行必要的扩展,提供Web服务推送,同时能够兼容已有的 Web服务或者Web应用。另外,使用服务代理,还能够降低Web应用和智能移动平台 软件的耦合性:屏蔽一些Web应用数据访问协议,向智能移动平台提供定制化的推送 服务。

数据交换管程是运行在智能移动平台上的服务进程,主要负责上层应用的网络数据 的收发,对上层应用屏蔽SOAP推送协议细节。数据交换管程中设立消息池,消息池包 含若干个彼此独立的消息区,每个消息区有一个桩(stub)。使用时,应用程序向数据交 换管程申请消息区,并向数据交换管程注册相应的数据更新信息和回调信息,数据交换 管程向应用软件分配消息区。此时,应用程序挂起或者退出,在数据交换管程发现数据 更新后,根据回调信息唤醒应用程序进行处理。

SOAP推送协议主要作为服务代理和数据交换管程之间的数据访问协议,它针对现 有SOAP协议不支持推送这一问题,进行了必要的扩展。在现有SOAP协议的单向消息、 请求/响应、点对点会话这三种通信双方的信息交换方式基础上,增加SOAP流(SOAP streaming)和SOAP长轮询(SOAP long-polling)这两种SOAP信息交互方式,以用于服务 代理和数据交换管程之间的通信。

下面结合附图和实例,对本发明进行详细描述。

面向智能移动平台的Web服务推送框架,其主要功能实现包括数据交换管程模块和 服务代理模块两部分。

表1不同更新方式处理方法表

数据交换管程模块部分运行于移动设备上,需要提供软件更新注册、网络通信、数 据更新以及调用移动平台软件处理更新四个方面的功能,具体的软件模型如图2所示。 其中,更新注册部分使用更新注册、消息池、消息区三个子模块,用于接受移动平台软 件的更新注册请求并分配相应的消息区;数据更新和调用移动平台软件部分使用更新线 程产生器和更新线程两个子模块,根据更新类型选择不同的更新方法,具体方法如表1 所示;数据通信则使用网络通信、SOAP推送、SOAP消息解析三个子模块,对通信的 数据进行封装和解封。

服务代理模块部分运行于服务器平台上,需要提供数据推送、网络通信以及更新 Web应用数据三个功能,具体的软件模型如图3所示。其中,更新Web应用数据使用 轮询方式对Web应用数据进行更新,并使用了应用接口访问、更新子线程以及网络服 务更新三个子模块,即根据Web应用的不同类别,使用对应的访问接口,对其数据使 用轮询方式进行更新;网络通信使用数据解析、网络通信、SOAP推送三个子模块,主 要对通信数据进行封装和解封;数据推送使用推送子线程和数据推送两个子模块,主要 将Web应用的更新数据使用Web服务接口、通过SOAP推送协议向数据管程进行推送。

部署时,在服务器上部署服务代理,在智能移动设备上部署数据交换管程以及示 例程序。服务代理通过网络与Web应用以及移动设备相连,通过轮询方式对Web应用 数据进行更新,使用SOAP推送协议对数据交换管程进行数据更新的推送。

数据交换管程模块和服务代理模块之间使用SOAP推送协议进行通信。实现中, SOAP推送协议扩展了现有的SOAP协议,在SOAP协议现有三种通信双方信息交换方 式的基础上,增加了SOAP流和SOAP长轮询两种方式。

SOAP流的通信流程如下:

1)智能移动平台向服务器发送自举帧,包含相应的注册信息;

2)服务器向智能移动平台分配相应的id,并将其信息加入到待更新列表中,并向智 能移动平台返回id以及更新数据信息、同步时延;

3)智能移动平台以固定的时间间隔,即同步时延,向服务器发送SOAP短帧;

4)服务器如果有数据更新,则返回更新数据,如果没有则返回SOAP短帧;

5)服务器在任意时刻向智能移动平台推送更新数据,同时更新同步信息,一次数据 推送认为是一次同步;

6)智能移动平台接收到数据推送后返回SOAP短帧,更新同步信息;

7)在设定的时间后,服务器或者智能移动平台如果没有收到同步信息或者确认信息, 则认为对方掉线,服务器将该智能移动平台从智能移动平台列表中移除;

SOAP长轮询的通信流程如下:

1)智能移动平台向服务器发送数据更新请求,同时设计计时器用于响应的计时;

2)服务器接收到智能移动平台数据更新请求后,如果有数据更新,则返回数据,如 果没有,则延迟设定的时间后再返回相应的结果:有数据更新或者没有;

3)智能移动平台在计时器超时前,如果接收到响应,则处理响应结果并进行下一轮轮 询,否则,向上层软件报告错误。

SOAP推送通信模块会根据不同的通信要求:更新频率是否固定以及固定更新频率 的更新时长,来选择不同的数据更新方式:SOAP长轮询或者SOAP流。特别地,当采 用固定的更新频率且更新周期超过30秒时,可以采用简单的轮询方式,这种方式可以 看成周期较长的SOAP长轮询。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号