一种基于推送技术进行数据更新的方法及系统与流程

文档序号:15751982发布日期:2018-10-26 17:56阅读:310来源:国知局
一种基于推送技术进行数据更新的方法及系统与流程

本发明涉及网络通信技术领域,更具体地,涉及一种基于推送技术进行数据更新的方法及系统。



背景技术:

随着国家信息安全项目建设的要求,国有操作系统应用而生。然而,目前国产操作系统面临应用生态环境不健全,应用数量少,一些开发者的对国产软件积极性低等因素,目前市面上的应用市场客户端存在一些缺陷所以现在需要开发一种新款应用来解决现在面临的问题。

基于http长连接的“服务器推”技术,基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。comet服务器推技术的架构非常适合事件驱动的web应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和web版在线游戏等。

服务器推送技术(serverpush)是最近web技术中最热门的一个流行术语,它的别名叫comet(彗星)。它是继ajax之后又一个倍受追捧的web技术。服务器推送技术与最近的流行与ajax有着密切的关系。

随着web技术的流行,越来越多的应用从原有的c/s模式转变为b/s模式,享受着web技术所带来的各种优势(例如跨平台、免客户端维护、跨越防火墙、扩展性好等)。但是基于浏览器的应用,也有它不足的地方。主要在于界面的友好性和交互性。由于浏览器中的页面每次需要全部刷新才能从服务器端获得最新的数据或向服务器传送数据,这样产生的延迟所带来的视觉感受非常糟糕。因此很多的桌面应用为了获得更友好的界面放弃了web技术,或者采用浏览器的插件技术(activex、applet、flash等)。但是浏览器插件技术本身又有许多问题,例如跨平台问题和插件版本兼容性问题,现有技术面临实现困难的问题。

目前市面上的消息推送客户端,主要采用ajax轮询方式,通过客户端定时轮询,给服务器发送请求,服务器收到请求做出响应,通过握手协议来实现数据的交换传输,客户端收到服务器发来的信息,客户端软件调取系统音频等多媒体系统,来显示消息提示信息。然而,通过ajax轮询方式,进行模拟服务器发起的通信,不是实时通信,不顾及应用的状态改变而盲目检查更新,导致服务器资源的浪费,且会加重网络负载,拖累服务器。目前市场上公开了一种消息提醒客户端,这种技术方案要求客户端必须安装flash插件;非http协议,无法自动穿越防火墙,服务器维护一个长连接会增加开销,服务器hold连接会消耗资源,请求中有大半是无用,浪费带宽和服务器资源,长期占用连接,丧失了无状态高并发的特点。目前市场上公开了一种消息提醒客户端,这种技术方案要求客户端必须安装flash插件;非http协议,无法自动穿越防火墙,服务器维护一个长连接会增加开销,服务器hold连接会消耗资源,请求中有大半是无用,浪费带宽和服务器资源,长期占用连接,丧失了无状态高并发的特点。

因此,需要一种方法,以实现基于推送技术进行数据更新的技术。



技术实现要素:

本发明技术方案提供了一种基于推送技术进行数据更新的方法及系统,以解决如何基于推送技术进行数据更新的问题。

为了解决上述问题,本发明提供了一种基于推送技术进行数据更新的方法,所述方法包括:

当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定所述数据更新是否为应当推送的内容;

当确定所述数据更新为应当推送的内容时,对所述数据更新进行解析以确定所述数据更新的更新类型和更新数据量;

根据更新类型和更新数据量确定与所述数据更新相关联的多个客户端;

与多个客户端中的每个客户端的通知消息通道,通过所述消息提醒通道将更新消息发送至每个客户端;

所述更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求;以及

根据所述更新请求将所述数据更新发送给每个客户端。

优选地,客户端将更新的数据进行处理和解析,将更新的数据转化为多媒体信号。

优选地,将处理和解析后的多媒体信号发送至多媒体应用,所述多媒体应用通过外设装置将多媒体信号播放给用户。

优选地,所述应当推送的内容,包括:股票更新数据、实时通讯数据。

优选地,当确定所述数据更新为不应当推送的内容时,不对多个客户端中的每个客户端的通知消息通道发出消息提醒通知。

优选地,所述根据所述更新请求将所述数据更新发送给每个客户端,包括:

根据所述更新请求将所述数据更新实时发送给每个客户端。

优选地,所述根据所述更新请求将所述数据更新发送给每个客户端,包括:

根据所述更新请求将所述多个数据更新发送给每个客户端。

基于本发明的另一方面,提供一种基于推送技术进行数据更新的系统,所述系统包括:

检测单元,用于当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定所述数据更新是否为应当推送的内容;

解析单元,用于当确定所述数据更新为应当推送的内容时,对所述数据更新进行解析以确定所述数据更新的更新类型和更新数据量;

确定单元,用于根据更新类型和更新数据量确定与所述数据更新相关联的多个客户端;

与多个客户端中的每个客户端的通知消息通道,通过所述消息提醒通道将更新消息发送至每个客户端;

更新单元,用于所述更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求;以及

发送单元,用于根据所述更新请求将所述数据更新发送给每个客户端。

优选地,还包括接收单元,用于客户端将更新的数据进行处理和解析,将更新的数据转化为多媒体信号。

优选地,所述接收单元还用于:将处理和解析后的多媒体信号发送至多媒体应用,所述多媒体应用通过外设装置将多媒体信号播放给用户。

优选地,所述应当推送的内容,包括:股票更新数据、实时通讯数据。

优选地,当确定所述数据更新为不应当推送的内容时,不对多个客户端中的每个客户端的通知消息通道发出消息提醒通知。

优选地,所述发送单元还用于:

根据所述更新请求将所述数据更新实时发送给每个客户端。

优选地,所述发送单元还用于:根据所述更新请求将所述多个数据更新发送给每个客户端。

本发明技术方案提供的一种基于推送技术进行数据更新的方法和系统,方法包括:当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定数据更新是否为应当推送的内容。当确定数据更新为应当推送的内容时,对数据更新进行解析以确定数据更新的更新类型和更新数据量。根据更新类型和更新数据量确定与数据更新相关联的多个客户端,和与多个客户端中的每个客户端的通知消息通道,通过消息提醒通道将更新消息发送至每个客户端。更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求。根据更新请求将数据更新发送给每个客户端。本发明技术方案中的消息提醒客户端软件采用cs架构,采用服务器推送技术,实现底层的网络通讯,第三方软件通过webservice和消息提醒客户端进行桥接,通过消息提醒客户端给服务器进行长轮询,实现实时的第三方软件消息提醒的业务需求,消息提醒客户端通过调取系统多媒体系统来实时响应客户端的消息事件触发,从而达到消息实时快速高效的响应。本发明技术方案使得用户不需要安装flash插件,就可以安装客户端,使用http协议,可以穿越防火墙,服务器开销降低,内存消耗降低,可以实现高并发,服务器和网络资源不会长期被占用。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明优选实施方式的基于推送技术进行数据更新的方法流程图;

图2为根据本发明优选实施方式的基于长轮询的服务器推流程图;

图3为根据本发明优选实施方式的基于推送技术进行数据更新的原理图;以及

图4为根据本发明优选实施方式的基于推送技术进行数据更新的系统结构图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明优选实施方式的基于推送技术进行数据更新的方法流程图。comet的应用主要体现在股票系统、实时通讯。目前一些主流网站都有类似的原理,例如:webqq、开心网、校内等等,它们中消息动态都是采用类似的技术,只是具体实现方式不一样。“服务器推”是一种很早就存在的技术,以前在实现上主要是通过客户端的套接口,或是服务器端的远程调用。因为浏览器技术的发展比较缓慢,没有为“服务器推”的实现提供很好的支持,在纯浏览器的应用中很难有一个完善的方案去实现“服务器推”并用于商业程序。因为ajax技术的普及,以及把iframe嵌在“htmlfile“的activex组件中可以解决ie的加载显示问题,一些受欢迎的应用如meebo,gmail+gtalk在实现中使用了这些新技术;同时“服务器推”在现实应用中确实存在很多需求。因为这些原因,基于纯浏览器的“服务器推”技术开始受到较多关注,alexrussell(dojotoolkit的项目lead)称这种基于http长连接、无须在浏览器端安装插件的“服务器推”技术为“comet”。目前已经出现了一些成熟的comet应用以及各种开源框架;一些web服务器如jetty也在为支持大量并发的长连接进行了很多改进。关于comet技术最新的发展状况请参考关于comet的wiki。

本发明实施方式提供的一种基于推送技术进行数据更新的方法,包括:当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定数据更新是否为应当推送的内容。当确定数据更新为应当推送的内容时,对数据更新进行解析以确定数据更新的更新类型和更新数据量。根据更新类型和更新数据量确定与数据更新相关联的多个客户端,和与多个客户端中的每个客户端的通知消息通道,通过消息提醒通道将更新消息发送至每个客户端。更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求。根据更新请求将数据更新发送给每个客户端。如图1所示,一种基于推送技术进行数据更新的方法,包括:

优选地,在步骤101:当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定数据更新是否为应当推送的内容。

优选地,应当推送的内容,包括:股票更新数据、实时通讯数据。

优选地,在步骤102:当确定数据更新为应当推送的内容时,对数据更新进行解析以确定数据更新的更新类型和更新数据量。

优选地,当确定数据更新为不应当推送的内容时,不对多个客户端中的每个客户端的通知消息通道发出消息提醒通知。

优选地,在步骤103:根据更新类型和更新数据量确定与数据更新相关联的多个客户端;

与多个客户端中的每个客户端的通知消息通道,通过消息提醒通道将更新消息发送至每个客户端。

优选地,在步骤104:更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求。

优选地,在步骤105:根据更新请求将数据更新发送给每个客户端。

优选地,客户端将更新的数据进行处理和解析,将更新的数据转化为多媒体信号。

优选地,将处理和解析后的多媒体信号发送至多媒体应用,多媒体应用通过外设装置将多媒体信号播放给用户。

优选地,根据更新请求将数据更新发送给每个客户端,包括:

根据更新请求将数据更新实时发送给每个客户端。

优选地,根据更新请求将数据更新发送给每个客户端,包括:

根据更新请求将多个数据更新发送给每个客户端。

本发明实施方式基于comet服务器推技术的消息提醒客户端,其特征在于,该智能系统包括第三方软件webservice模块模块,用于将第三方软件需要的消息提醒业务传送给信息提醒客户端,实现和消息客户端的桥接,第三方软件将需要的推送的消息事务发送给消息提醒客户端,消息提醒客户端模块,用于将第三方需要的请求传送给comet,comet接收到信息后进行轮询执行。comet服务器推技术模,将服务器返回的数据传送给系统进行处理和解析,多媒体信息处理解析模块,将消息客户端发送来的消息转化为多媒体信号,同时将处理解析后的多媒体信息传送给,系统多媒体系统,系统级多媒体模块,系统级多媒体模块将多媒体信息,通过外设显示给用户。

本申请中,需要和第三方软件进行集成处理,第三方软件通过webservice将需要的事务传送给消息提醒客户端。

本申请中,集成了comet模块更高效更节省服务器和网络资源。

本申请中,其需要得到消息提醒客户端的消息事务请求。

本申请中,将消息提醒客户端传来的信息转化为多媒体信息。本申请将系统处理解析后的多媒体信号,转化为多媒体外设能够播放处理的美媒体资源,实现播放功能提醒,实现更新数据的循环计算,播放。

本申请将第三方软件webservice,comet(服务器推)和消息客户端相结合。现消息提醒客户端能服务多个第三方软件。本申请通过将第三方软件webservice,comet(服务器推)和消息客户端相结合相结合实现消息提醒客户端的实时高效节约空间资源的消息提醒。

本申请的客户端很容易实现良好的错误处理系统和超时管理,并且在无消息的情况下不会频繁的请求。消本申请的实施方式实现了消息即时到达,不发无用请求,实现真正的即时通信,而不是伪即时。本申请实现高并发,并且服务器和网络资源不会长期被占用。

图2为根据本发明优选实施方式的基于长轮询的服务器推流程图。如图2所示,消息提醒客户端软件采用cs架构,采用comet服务器推技术,实现底层的网络通讯,第三方软件通过webservice和消息提醒客户端进行桥接,通过消息提醒客户端给服务器进行长轮询,实现实时的第三方软件消息提醒的业务需求,消息提醒客户端通过调取系统多媒体系统来实时响应客户端的消息事件触发,从而达到消息实时快速高效的响应。

图3为根据本发明优选实施方式的基于推送技术进行数据更新的原理图。本申请实施方式的基于推送技术进行数据更新技术的实现软件分为5大模块。模块1为第三方软件,第三方软件需要开发一套webservice接口来实现和客户端进行紧密的桥接,第三方软件通过接口将需要的消息事务传送给消息提醒客户端。模块2,消息提醒客户端模块,消息提醒客户端引入comet(信息服务器推)组件,通过comet实现客户端和服务器的长轮询。模块3,comet(消息服务器推)是一种很早就存在的技术,以前在实现上主要是通过客户端的套接口,或是服务器端的远程调用,通过套接字和服务器端实时的进行轮询操作。模块4,多媒体应用系统接收到消息提醒客户端传来的消息调取多媒体系统组件,多媒体系统组件多消息进行解析。模块5,多媒体系统,多媒体系统收到解析后的文件,将消息转化为音视频等信息进行实时的响应,来达到消息提醒的多媒体外部显示。

本申请实施方式针对现有的消息提醒客户端存在的缺陷,提供基于comet服务器推技术的消息提醒客户端,使得用户不需要安装flash插件,就可以安装客户端,使用http协议,可以穿越防火墙,服务器开销降低,内存消耗降低,可以实现高并发,服务器和网络资源不会长期被占用。本系统共分为5大模块。第三方软件webservice模块1,消息提醒客户端模块2,comet服务器推技术模3,多媒体信息处理解析模块4,系统级多媒体模块5。

图4为根据本发明优选实施方式的基于推送技术进行数据更新的系统结构图。如图4所示一种基于推送技术进行数据更新的系统,包括:

检测单元401,用于当检测到所存储的多个数据文件中的任意数据文件进行数据更新时,确定数据更新是否为应当推送的内容。

解析单元402,用于当确定数据更新为应当推送的内容时,对数据更新进行解析以确定数据更新的更新类型和更新数据量。

确定单元403,用于根据更新类型和更新数据量确定与数据更新相关联的多个客户端;

与多个客户端中的每个客户端的通知消息通道,通过消息提醒通道将更新消息发送至每个客户端。

更新单元404,用于更新消息促使每个客户端建立更新推送组件,以使得每个客户端通过消息更新推送组件发送更新请求。

发送单元405,用于根据更新请求将数据更新发送给每个客户端。

优选地,系统还包括接收单元406,用于客户端将更新的数据进行处理和解析,将更新的数据转化为多媒体信号。

优选地,接收单元406还用于:将处理和解析后的多媒体信号发送至多媒体应用,多媒体应用通过外设装置将多媒体信号播放给用户。

优选地,应当推送的内容,包括:股票更新数据、实时通讯数据。

优选地,当确定数据更新为不应当推送的内容时,不对多个客户端中的每个客户端的通知消息通道发出消息提醒通知。

优选地,发送单元405还用于:

根据更新请求将数据更新实时发送给每个客户端。

优选地,发送单元405还用于:根据更新请求将多个数据更新发送给每个客户端。

本发明优选实施方式的基于推送技术进行数据更新的系统400与本发明优选实施方式的基于推送技术进行数据更新的方法100相对应,在此不再进行赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

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