CN103516788A - 一种数据推送方法及其Flash客户端和服务器 - Google Patents
一种数据推送方法及其Flash客户端和服务器 Download PDFInfo
- Publication number
- CN103516788A CN103516788A CN201310418453.1A CN201310418453A CN103516788A CN 103516788 A CN103516788 A CN 103516788A CN 201310418453 A CN201310418453 A CN 201310418453A CN 103516788 A CN103516788 A CN 103516788A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- compression
- flash
- label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据推送方法及其Flash客户端和服务器。基于Flash客户端的数据推送方法包括:向服务器端发送socket连接请求;接收服务器端返回的连接操作结果;向服务器端发送数据订阅条件;接收服务器端根据订阅条件将原始数据附加客户端的标签、编码、压缩后的推送数据;对所述推送数据进行解压缩。本发明基于socket连接技术的基础上,运用数据订阅、AMF编码和数据压缩技术,可有效地建设网络宽带使用、减少消息量和减轻服务器和客户端的资源开销。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据推送方法及其Flash客户端和服务器。
背景技术
目前在浏览器中运行的Flash客户端应用获取服务器数据是基于HTTP协议(Hyper Text Transfer Protocol,超文本传送协议)。有两种方式:短连接周期轮询方式,长链接堵塞方式。
短连接周期轮询方式,客户端周期性的与服务端建立HTTP连接,轮询获取数据,然后释放链接。这种连接方式具有以下缺点:由于不停的创建和释放连接,使得客户端和服务端的资源开销较大;另一方面,数据及时性依赖于轮询周期。再者,当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达,这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回,服务端需要缓存大量数据,增加服务端负担和复杂度。
长链接堵塞方式,客户端和服务端建立HTTP连接,不关闭连接,直到会话结束。但浏览器默认对同一域下的资源,并发连接数是有限制的,一般不超过4个,所以这种方式会严重影响客户端对同域下资源的访问速度,严重情况下会堵塞其它访问,导致客户端应用不可用。
发明内容
本发明的目的旨在解决采用短连接周期轮询方式带来的Flash客户端与服务器端资源开销大、服务器端负担和复杂度大以及采用长链接堵塞方式导致客户端访问速度慢等问题,从而提供一种数据推送方法及其Flash客户端和服务器。
根据本发明的一个方面,提供了基于Flash客户端的数据推送方法。该方法包括:向服务器端发送socket连接请求;接收服务器端返回的连接操作结果;向服务器端发送其数据订阅条件;接收服务器端根据订阅条件将原始数据附加客户端的标签、编码、压缩后的推送数据;对所述推送数据进行解压缩。
根据本发明的另一方面,提供了一种Flash客户端。该客户端包括:发送模块,用于向服务器发送socket连接请求和发送数据订阅条件;接收模块,用于接收服务器返回的连接操作结果和推送数据;解压模块,用于对所述推送数据进行解压缩。
根据本发明的又一方面,提供了基于服务器端的数据推送方法。该方法包括:与Flash客户端建立socket连接;向Flash客户端发送连接操作结果;接收Flash客户端发送数据订阅条件;根据所述Flash客户端订阅条件,将原始数据附加客户端的标签、编码和压缩,形成压缩的编码数据;将压缩的编码数据通过socket推送到与标签对应的客户端。
根据本发明的又一方面,提供了一种数据推送服务器。该服务器包括:接收模块,用于接收Flash客户端socket连接请求和数据订阅条件;处理模块,用于响应客户端请求,建立socket连接,根据数据订阅条件对原始数据附加客户端的标签、编码和压缩;发送模块,用于向Flash客户端发送连接操作结果和推送压缩的编码数据。
本发明基于Flash客户端与服务器端创建socket连接的基础上,通过Flash客户端向服务器端发送数据订阅条件,服务器端仅需把客户端所需数据发送给客户端,可有效地较少消息量;另外,服务器端在处理数据中,对数据进行AMF编码,可减轻客户端的资源开销;再者,服务器端对编码的数据进行数据压缩,可有效地假设网络宽带使用。
附图说明
图1为根据本发明实施例的***框架图;
图2为根据本发明实施例的基于Flash客户端的数据推送方法流程图;
图3为根据本发明实施例的基于服务器的数据推送方法流程图;
图4为根据本发明实施例的数据订阅流程图;
图5为根据本发明实施例的Flash客户端框图;以及
图6为根据本发明实施例的服务器的框图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细、清楚、完整的说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为根据本发明实施例的***框架图。
如图1所示,Flash客户端请求服务器端创建Socket连接,服务器端返回连接操作结果,由Flash客户端向服务器发送数据订阅条件,服务器端根据数据订阅条件对原始数据进行一系列处理,然后向Flash客户端返回其所需要的数据。其中,Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。一个Flash客户端与服务端创建Socket连接后,在会话过程中可以不关闭连接,与“短连接周期轮询方式”相比,可以节省不停连接创建和释放的资源消耗,另外由于连接一直存在,可以使得消息及时推送给Flash客户端。由于Flash客户端与服务端创建Socket连接的数据量不受浏览器的限制,Socket连接也不影响浏览器创建HTTP连接,所以有效的避免了“长链接堵塞方式”的弊端。
图2为根据本发明实施例的基于Flash客户端的数据推送方法流程图。
在步骤201中,向服务器端发送socket连接请求。
在步骤202中,接收服务器端返回的连接操作结果,如连接成功或连接失败。
在步骤203中,向服务器端发送其数据订阅条件,即发送客户端需要的数据属性给服务器端。
在步骤204中,接收服务器端根据过滤条件将原始数据附加客户端的标签、编码、压缩后的推送数据。其中,Flash客户端接收服务器端的推送数据为压缩的AMF格式的编码数据。
在步骤205中,对所述推送数据进行解压缩,解压缩后的数据即为AMF格式的编码数据,这样Flash客户端可直接使用。其中,Flash客户端对服务器端推送的数据通过ZIP或RAR数据压缩方式中的一种进行解压缩。
图3为根据本发明实施例的基于服务器的数据推送方法流程图。
在步骤301中,与Flash客户端建立socket连接。
在步骤302中,向Flash客户端发送连接操作结果。
在步骤303中,接收Flash客户端发送数据订阅条件。
在步骤304中,根据所述Flash客户端过滤条件,将原始数据附加客户端的标签、编码和压缩,形成压缩的编码数据。具体地,将原始数据与客户端订阅条件进行匹配,匹配成功后将原始数据附加客户端的标签,形成一个客户端标签列表。将附加客户端标签的数据基于AMF协议进行编码,形成AMF格式的编码数据。将编码的数据经ZIP或RAR数据压缩方式中的一种实现数据压缩,形成压缩的编码数据。其中,AMF协议是Action MessageFormat协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,AMF与xml不同在于AMF是二进制数据,而xml是文本数据,AMF的传输效率比xml高。
在步骤305中,将压缩的编码数据通过socket推送到与标签对应的客户端。
图4为根据本发明实施例的数据订阅流程图。
如图4所示,设有A、B、C三个Flash客户端与服务器端建立socket连接,并均向服务器端发送数据订阅条件,服务器分析原始数据只符合(匹配)客户端A和客户端B的订阅条件,则对原始数据附加客户端A和客户端B的标签,形成客户端标签列表AB,然后对附加客户端标签的原始数据进行AMF编码,编码后的数据再经ZIP或RAR进行压缩,形成压缩后的编码数据,根据客户端标签列表AB,就将压缩的数据分别发送到相应的客户端A和客户端B上,由于客户端标签列表AB中无客户端标签C,所以服务器端不向其发送数据。
图5为根据本发明实施例的Flash客户端框图。
如图5所示,本发明实施例的Flash客户端包括发送模块,用于向服务器发送socket连接请求和发送数据订阅条件;接收模块,用于接收服务器返回的连接操作结果和推送数据;解压模块,用于对所述推送数据进行解压缩,以便Flash客户端直接使用。
在图5的实施方式中,接收模块接收服务器端的推送数据为压缩的AMF格式的编码数据。解压模块对推送数据通过ZIP或RAR数据压缩方式中的一种进行解压缩。
图6为根据本发明实施例的服务器的框图。
如图6所示,本发明实施例的服务器包括:接收模块,用于接收Flash客户端socket连接请求和数据订阅条件;处理模块,用于响应客户端请求,建立socket连接,根据数据订阅条件对原始数据附加客户端的标签、编码和压缩;发送模块,用于向Flash客户端发送连接操作结果和推送压缩的编码数据。
在图6的实施方式中,处理模块将原始数据附加客户端的标签具体包括:将原始数据与客户端订阅条件进行匹配;匹配成功后将原始数据附加客户端的标签,形成一个客户端标签列表。处理模块将附加客户端标签的数据进行编码是基于AMF协议实现的,形成AMF格式的编码数据。处理模块将编码数据进行压缩是通过ZIP或RAR数据压缩方式中的一种实现。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.基于Flash客户端的数据推送方法,包括以下步骤:
向服务器端发送socket连接请求;
接收服务器端返回的连接操作结果;
向服务器端发送其数据订阅条件;
接收服务器端根据订阅条件将原始数据附加客户端的标签、编码、压缩后的推送数据;
将所述推送数据进行解压缩。
2.根据权利要求1所述的方法,其特征在于,所述Flash客户端接收服务器端的推送数据为压缩的AMF格式的编码数据。
3.根据权利要求1所述的方法,其特征在于,所述Flash客户端将所述推送数据通过ZIP或RAR数据压缩方式中的一种进行解压缩。
4.一种Flash客户端,其特征在于,包括:
发送模块,用于向服务器发送socket连接请求和发送数据订阅条件;
接收模块,用于接收服务器返回的连接操作结果和推送数据;
解压模块,用于将所述推送数据进行解压缩。
5.根据权利要求4所述的Flash客户端,其特征在于,所述接收模块接收服务器端的推送数据为压缩的AMF格式的编码数据。
6.根据权利要求4所述的Flash客户端,其特征在于,所述解压模块将所述推送数据通过ZIP或RAR数据压缩方式中的一种进行解压缩。
7.基于服务器端的数据推送方法,包括以下步骤:
与Flash客户端建立socket连接;
向Flash客户端发送连接操作结果;
接收Flash客户端发送数据订阅条件;
根据所述Flash客户端订阅条件,将原始数据附加客户端的标签、编码和压缩,形成压缩的编码数据;
将压缩的编码数据通过socket推送到与标签对应的客户端。
8.根据权利要求7所述的方法,其特征在于,所述服务器端将原始数据附加客户端的标签具体包括:
将原始数据与一个或多个客户端订阅条件进行匹配;
匹配成功后将原始数据附加客户端的标签,形成一个客户端标签列表。
9.根据权利要求7所述的方法,其特征在于,所述将附加客户端标签的数据通过AMF协议实现数据的编码。
10.根据权利要求7所述的方法,其特征在于,所述将编码后的数据通过ZIP或RAR中的一种方式实现数据的压缩。
11.一种数据推送服务器,其特征在于,包括:
接收模块,用于接收Flash客户端socket连接请求和数据订阅条件;
处理模块,用于响应客户端请求,建立socket连接,根据数据订阅条件将原始数据附加客户端的标签、编码和压缩;
发送模块,用于向Flash客户端发送连接操作结果和推送压缩的编码数据。
12.根据权利要求11所述的数据推送服务器,其特征在于,所述处理模块将原始数据进行标签具体包括:
将原始数据与一个或多个客户端订阅条件进行匹配;
匹配成功后将原始数据附加客户端的标签,形成一个客户端标签列表。
13.根据权利要求11所述的数据推送服务器,其特征在于,所述处理模块将附加客户端标签的数据通过AMF协议实现数据的编码。
14.根据权利要求11所述的数据推送服务器,其特征在于,所述处理模块将编码数据通过ZIP或RAR中的一种方式实现数据压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310418453.1A CN103516788A (zh) | 2013-09-13 | 2013-09-13 | 一种数据推送方法及其Flash客户端和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310418453.1A CN103516788A (zh) | 2013-09-13 | 2013-09-13 | 一种数据推送方法及其Flash客户端和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103516788A true CN103516788A (zh) | 2014-01-15 |
Family
ID=49898805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310418453.1A Pending CN103516788A (zh) | 2013-09-13 | 2013-09-13 | 一种数据推送方法及其Flash客户端和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103516788A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127719A1 (zh) * | 2015-02-12 | 2016-08-18 | 华为技术有限公司 | 信息发送方法、相关网络设备以及*** |
CN105959383A (zh) * | 2016-06-07 | 2016-09-21 | 北京百度网讯科技有限公司 | 内容订阅方法和装置 |
CN106209951A (zh) * | 2015-05-08 | 2016-12-07 | 北京娜迦信息科技发展有限公司 | 信息传输方法、客户端及服务器 |
CN106254362A (zh) * | 2016-08-15 | 2016-12-21 | 杭州当虹科技有限公司 | 一种共享sdi数据的方法 |
CN109766489A (zh) * | 2018-11-26 | 2019-05-17 | 福建新大陆支付技术有限公司 | 数据处理方法、客户端、服务器及计算机可读存储介质 |
CN110516158A (zh) * | 2019-08-30 | 2019-11-29 | 湖南新云网科技有限公司 | 一种信息推送方法、装置及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870508A (zh) * | 2005-05-25 | 2006-11-29 | 中兴通讯股份有限公司 | 一种web网管***中显示实时数据的方法 |
US20070283002A1 (en) * | 2006-05-31 | 2007-12-06 | Christof Bornhoevd | Modular monitor service for smart item monitoring |
CN101651698A (zh) * | 2007-12-12 | 2010-02-17 | 浙江大学 | 基于nio和io的面向发布订阅***的传输方法 |
CN102082787A (zh) * | 2010-12-10 | 2011-06-01 | 江苏省电力公司 | 大用户智能用电信息互动应用框架 |
CN102594845A (zh) * | 2012-03-29 | 2012-07-18 | 东南大学 | 一种基于xmpp协议的即时消息传输方法 |
-
2013
- 2013-09-13 CN CN201310418453.1A patent/CN103516788A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1870508A (zh) * | 2005-05-25 | 2006-11-29 | 中兴通讯股份有限公司 | 一种web网管***中显示实时数据的方法 |
US20070283002A1 (en) * | 2006-05-31 | 2007-12-06 | Christof Bornhoevd | Modular monitor service for smart item monitoring |
CN101651698A (zh) * | 2007-12-12 | 2010-02-17 | 浙江大学 | 基于nio和io的面向发布订阅***的传输方法 |
CN102082787A (zh) * | 2010-12-10 | 2011-06-01 | 江苏省电力公司 | 大用户智能用电信息互动应用框架 |
CN102594845A (zh) * | 2012-03-29 | 2012-07-18 | 东南大学 | 一种基于xmpp协议的即时消息传输方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127719A1 (zh) * | 2015-02-12 | 2016-08-18 | 华为技术有限公司 | 信息发送方法、相关网络设备以及*** |
CN106209951A (zh) * | 2015-05-08 | 2016-12-07 | 北京娜迦信息科技发展有限公司 | 信息传输方法、客户端及服务器 |
CN105959383A (zh) * | 2016-06-07 | 2016-09-21 | 北京百度网讯科技有限公司 | 内容订阅方法和装置 |
CN106254362A (zh) * | 2016-08-15 | 2016-12-21 | 杭州当虹科技有限公司 | 一种共享sdi数据的方法 |
CN109766489A (zh) * | 2018-11-26 | 2019-05-17 | 福建新大陆支付技术有限公司 | 数据处理方法、客户端、服务器及计算机可读存储介质 |
CN110516158A (zh) * | 2019-08-30 | 2019-11-29 | 湖南新云网科技有限公司 | 一种信息推送方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103516788A (zh) | 一种数据推送方法及其Flash客户端和服务器 | |
CN102739560B (zh) | 即时通讯方法、***和装置 | |
CN104980898A (zh) | 一种信息推送方法、***及设备 | |
CN104717133A (zh) | 一种分布式消息推送***及方法 | |
CN103796013A (zh) | 一种移动端即时通讯中的图片压缩方法 | |
CN104580097A (zh) | 一种数据处理方法、装置及*** | |
CN108683653A (zh) | 一种基于WebSocket的主动式消息推送*** | |
CN104412601A (zh) | 容纳多种不同视频压缩技术的单个kvm客户端的***和方法 | |
CN103634203A (zh) | 消息异步传输方法、装置和*** | |
CN103179133A (zh) | 基于实体类的客户端与服务器通信的方法 | |
CN103532784A (zh) | 一种发送心跳消息的方法、***、终端及网络设备 | |
CN103532984A (zh) | websocket协议的数据传输方法、设备和*** | |
CN105207975A (zh) | 一种vdi架构下的usb图像设备数据传输方法和*** | |
CN111541555A (zh) | 群聊优化方法及相关产品 | |
CN106851733A (zh) | 一种针对移动网络应用的自适应http消息压缩方法 | |
CN104092666A (zh) | 一种文件传输方法及装置 | |
WO2022063058A1 (zh) | 基于netconf协议的传输方法、设备及存储介质 | |
CN113015019B (zh) | 数据处理方法、装置和*** | |
CN105515936A (zh) | 消息通信的方法、服务器和*** | |
CN104639501A (zh) | 一种数据流传输的方法、设备及*** | |
CN113438233A (zh) | 一种协议之间相互转换的方法 | |
CN103873443A (zh) | 信息处理方法、本地代理服务器和网络代理服务器 | |
CN110417875B (zh) | 一种云服务器之间的对接方法、***、设备及存储介质 | |
CN104702596A (zh) | 一种基于数据包长度的信息隐藏与传输的方法及*** | |
CN109766347B (zh) | 一种数据更新方法、装置、***、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140115 |