CN102035893A - Method and system for pushing data actively by server - Google Patents

Method and system for pushing data actively by server Download PDF

Info

Publication number
CN102035893A
CN102035893A CN201010603239XA CN201010603239A CN102035893A CN 102035893 A CN102035893 A CN 102035893A CN 201010603239X A CN201010603239X A CN 201010603239XA CN 201010603239 A CN201010603239 A CN 201010603239A CN 102035893 A CN102035893 A CN 102035893A
Authority
CN
China
Prior art keywords
server
data
browser
request
subscription
Prior art date
Application number
CN201010603239XA
Other languages
Chinese (zh)
Inventor
丁医
冉丁
吴可嘉
Original Assignee
中国农业银行股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中国农业银行股份有限公司 filed Critical 中国农业银行股份有限公司
Priority to CN201010603239XA priority Critical patent/CN102035893A/en
Publication of CN102035893A publication Critical patent/CN102035893A/en

Links

Abstract

The invention discloses a method and a system for pushing data actively by a server. The method comprises the following steps that: a browser initiates a registering request to be connected the server and receive the data pushed by the server actively, and after the browser is registered successfully, a data channel for transmitting the data pushed actively is established between the browser and the server; the browser initiates a subscription request, wherein the subscription request contains type parameters of subscription data and identifiers for expressing subscription contents; and the server pushes the corresponding data to the browser actively by the data channel according to the subscription request. By the method and the system, the requirement of real-time data pushing of the browser can be met, the concurrency of an application system can be improved, and the performance consumption of the server can be reduced.

Description

一种服务器主动推送数据的方法和系统技术领域[0001] 本发明涉及信息系统开发技术领域,更具体地说,涉及一种服务器主动推送数据的方法和系统。 Method and system for server actively pushing the technical field of data [0001] The present invention relates to the technical field the development of information systems, and more particularly, to a method and system for pushing data server actively. 背景技术[0002] 随着Web技术的流行,越来越多的应用从原有的C/S (Cl ient/Server,客户机/服务器区)模式转变为B/S (Browser/Server,浏览器/服务器)模式,享受着Web技术所带来的各种优势,例如:跨平台、免客户端维护、跨越防火墙、扩展性好等。 [0002] With the popularity of Web technology, more and more applications from the original C / S (Cl ient / Server, Client / Server district) mode to B / S (Browser / Server, Browser / server) mode, enjoying a variety of Web technology brings advantages, such as: cross-platform, client-free maintenance across a firewall, and good scalability. 在这种模式下,用户工作界面是通过万维网浏览器来实现,极少部分事务逻辑在前端浏览器实现,但是主要事务逻辑在服务器端实现。 In this mode, the user interface is implemented by working a web browser, business logic implemented in a very small part of the front end of the browser, but the main business logic on the server side. 这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。 This greatly simplifies the client computer load, reduce system maintenance and upgrade costs and workload, reducing the overall cost of ownership. [0003] 但是基于浏览器的应用,也有它不足的地方,传统模式的Web系统(包括ajax技术)都是以客户端发出请求、服务器端响应的方式工作,不具备由服务器端主动向浏览器推送信息的能力,这无法满足对实时性要求很高的系统的需求,诸如监控系统、即时通讯系统、报价系统。 [0003] However, browser-based applications, but also has its deficiencies, the traditional model of Web systems (including ajax technology) are based on client makes a request, the way the server response work, do not have the initiative to the browser by the server the ability to push information, which can not meet the demand for high real-time requirements of the system, such as monitoring systems, instant messaging systems, quotation system. 由于浏览器中的页面每次需要全部刷新才能从服务器端获得最新的数据或向服务器传送数据,这样产生的延迟所带来的视觉感受非常糟糕。 Because the browser to refresh the page every time you need to get all the latest data from the server or the server transmits the data to the delay caused by this generated visual experience is very bad. [0004] 目前,现有技术已经具备一些“服务器推”模式的解决方案:[0005] (1)基于flash 套接口(Flash XMLSocket)的实现方案:[0006] 须依赖Flash播放器才能正常运行,该方式在flash程序中实现了与C/S的套接口(socket) —致的能力,利用Flash提供的XMLSocket套接口,在javascript中直接调用, 实现“服务器推”模式的开发和应用。 [0004] Currently, the prior art has to have some "server push" mode solution: [0005] (1) based on flash socket (Flash XMLSocket) implementation scheme: [0006] have to rely on Flash Player to run properly, the manner in a socket with the flash program the C / S (socket) - consistent ability to use Flash XMLSocket socket provided directly call in javascript, to achieve development and application "server push" mode. [0007] (2)基于Java Applet 套接口(java. net. Socket)的实现方案:[0008] 须在浏览器安装jvm,如果客户端安装了Java Applet,后台服务可以直接在java 代码中通过java. net. Socket完成“服务器推”的动作。 [0007] (2) implementation based on Java Applet sockets (java net Socket..) Of: [0008] to be installed jvm in the browser, if installed on the client Java Applet, background services directly in java code by the java . net. Socket complete "server push" action. [0009] 上述两种实现方案中,Flash播放器以及Applet这样的浏览器插件技术本身又有许多问题,例如跨平台问题和插件版本兼容性问题。 [0009] Both implementations, Flash Player and a browser such as Applet plug-in technology itself there are many problems, such as cross-platform plug-in versions and compatibility issues. [0010] 第三种“服务器推”模式的解决方案是基于http请求的Comet技术。 [0010] A third "server push" mode solution is based on the Comet technology http request. Comet是一套B/S下的,基于纯http请求的,专门用来解决“服务器推”的技术模型。 Comet is a set of B / S, based on pure http request, designed to solve the technical model "server push". 目前业界已经有一些比较成熟的Comet框架:[0011] 1. Pushlet[0012] 该框架是Comet模型的一套实现,主要技术要点描述如下:[0013] 通过前台的javascript和后台的java代码实现一套订阅请求机制,这也是实时推送的前提条件。 The industry has some more mature Comet Framework: [0011] 1. Pushlet [0012] The framework is a set of model Comet achieved, the main technical points are described as follows: [0013] achieved by a front and back javascript java code sets subscription request mechanism, which is a prerequisite for real-time push. 这包括订阅主题、订阅回话管理、订阅时长等等。 This theme includes a subscription, subscription management answer, and so long subscription. 在浏览器端提供javascript的api,以主题为订阅标识,通过ajax向后台发送http请求。 Provide api javascript in the browser, subscribe to the theme of identity, send http request to the backend through ajax. 后台接到订阅信息后将订阅控制内容返回给浏览器端。 Backstage after receiving the subscription information subscribe to control content back to the browser. 浏览器端根据后台派发的控制信息,定时向后台发送取数请求,后台响应该请求即完成推送动作。 Browser based on the control information of the background distribution, transmission timing of access requests, the background response to the request to complete the push operation to the background. 这实际上是前台自动轮询的一种变相实现,只是轮询需要的时间间隔、主题等,由后台来维护。 This is actually a disguised form of automatic polling reception is achieved, but the time required for polling interval, themes, maintained by the background. [0014] 2. Bosh[0015] Bosh是一种基于http长连接请求的Comet框架。 [0014] 2. Bosh [0015] Bosh is http Comet frame length based on the connection request. 同样实现了一套订阅请求机制。 Also achieved a subscription request mechanism. 浏览器与服务端的长连接请求过程可描述如下:[0016] 浏览器发送第一个订阅请求,服务器端将该请求保持。 Long browser and the server connection request process can be described as follows: [0016] The first browser sends a subscription request, the server holding the request. 当第一个订阅有数据需要实时推送时,将数据载入到第一个请求的响应中,并释放;[0017] 浏览器发送第二个订阅请求,如果第一个请求仍然被保持在服务器端且没有数据需推送,则返回空包,然后保持第二个请求。 When the first real-time subscription data need to push the load to the first data in response to the request, and release; [0017] Browser transmits a second subscription request if the first request is still held in the server and no data needs to push the end, it returns a null packet, and then holding the second request. 如果浏览器有新的订阅请求,再重复使用第一个请求,如此重复。 If the browser has a new subscription request, be reused first request, so repeat. [0018] 然而,对于Pushlet模式来说,虽然轮询的规则是由服务端控制的,但原理上依然采取的是前台轮询机制,为了提高推送实时程度,势必须加大轮询频率(如每2秒轮询一次或更少),这会显著增加对服务器的压力;另外,轮询机制不论是否有数据推送,都需不断地“请求返回”浪费了较多的网络带宽。 [0018] However, for Pushlet mode, although the rules of polling is controlled by the server, but the principle is still the front desk to take a polling mechanism, in order to improve the degree of real-time push, potential must increase the polling frequency (such as poll every 2 seconds or less), which can significantly increase the pressure on the server; in addition, whether or not the polling data push mechanism, are required to constantly "return request" wasting more network bandwidth. 实时性和服务器性能的矛盾是pushlet的主要缺陷。 Contradictions and real-time server performance is a major defect of pushlet. [0019] 而Bosh模式相对pushlet来讲,虽有效减轻了服务器负担,节省了网络带宽,但空包返回率在推送频率低的环境中仍会很高,而且订阅控制信息与推送数据在同一个请求中返回,且两者通常属于不同的主题,这在逻辑上比较凌乱。 [0019] model Bosh and pushlet relatively speaking, although effective in reducing the burden on the server, saves the network bandwidth, but at a low rate of return null packets push still high frequency environment, and subscribe to push data control information in the same It returns the request, and both usually belong to different topics, which logically messy. 发明内容[0020] 有鉴于此,本发明实施例提供一种服务器主动推送数据的方法和系统,满足对浏览器实时推送数据的要求,能够提高应用系统的并发度,减少服务器的性能消耗。 SUMMARY OF THE INVENTION [0020] In view of this, embodiments of the present invention provides a data server actively pushing method and system to meet the requirements of real-time push data to the browser, the application can be improved concurrency system, reducing performance overhead server. [0021] 本发明实施例提供一种服务器主动推送数据的方法,所述方法包括:[0022] 浏览器发起注册请求,以连接服务器并接受所述服务器主动推送的数据,在所述浏览器注册成功后,所述浏览器与服务器之间建立用于传输主动推送的数据的数据通道;[0023] 所述浏览器发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;[0024] 所述服务器根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据。 [0021] An embodiment provides a method for active push data server of the present invention, the method comprising: [0022] The browser makes a registration request to connect to the server and receive the server actively push data, registered in said browser after successfully establishing the data between the browser and the server for transmission channel active push data; [0023] the browser makes a subscription request, the subscription request contains the type of parameter and the subscription data indicates the identity of subscriptions ; [0024] according to the subscription request to the server, through the data channel, the data to actively push the corresponding browser. [0025] 优选的,当所述数据通道建立之后,所述方法还包括:[0026] 所述浏览器向服务器发送周期性心跳信息,以表示所述浏览器与服务器之间的持续连接。 [0025] Preferably, after establishing the data channel, the method further comprises: [0026] The browser sends a heartbeat message periodically to the server, to indicate a persistent connection between the browser and the server. [0027] 优选的,当需要将多条数据同时推送至所述浏览器时,所述方法还包括:[0028] 将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览器。 [0027] Preferably, when it is desired to simultaneously push the plurality of data to said browser, said method further comprising: [0028] The plurality of data are serialized, through the data channel, through the serial data processing according to the order are pushed to the browser. [0029] 优选的,所述服务器根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据,具体包括:[0030] 所述服务器根据所述订阅请求,将相应数据转化为xml或Json或文本模式,通过所述数据通道向所述浏览器主动推送。 [0029] Preferably, the server according to the subscription request, through the data channel, the data to actively push the respective browsers, including: [0030] the server according to the subscription request, the data into the corresponding as xml or Json or text mode, said active push through the browser to the data path. [0031] 优选的,所述方法还包括:[0032] 当所述浏览器请求断开与服务器的连接时,所述数据通道被取消。 [0031] Preferably, the method further comprises: [0032] when the browser requests connection to the server is disconnected, the data path is canceled. [0033] 一种服务器主动推送数据的系统,所述系统包括:浏览器和服务器;其中,[0034] 所述浏览器,用于发起注册请求,以连接服务器并接受所述服务器主动推送的数据,并在所述浏览器与服务器之间建立用于传输主动推送的数据的数据通道之后,发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;[0035] 所述服务器,用于在所述浏览器注册成功后,在所述浏览器与服务器之间建立所述数据通道,并根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据。 [0033] A data server actively push system, the system comprising: a browser and the server; wherein [0034] the browser, for initiating a registration request, and the server is connected to receive said active push data server Thereafter, and establishing a data channel for transmitting active push data between the browser and the server initiates a subscription request, the subscription request comprises subscription data type parameter indicating the identity of subscriptions; [0035] the server for the browser after the registration is successful, establishing the data channel between the browser and the server, according to the subscription request, through the data channel, the data corresponding to said active push browser . [0036] 优选的,当所述数据通道建立之后,所述浏览器还用于:向服务器发送周期性心跳信息,以表示所述浏览器与服务器之间的持续连接。 [0036] Preferably, after establishing the data channel, the browser is configured to: send periodic heartbeat information to the server, to indicate a persistent connection between the browser and the server. [0037] 优选的,当需要将多条数据同时推送至所述浏览器时,所述服务器还用于:[0038] 将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览器。 [0037] Preferably, when a plurality of data needs to be pushed while the browser, the server further configured to: [0038] The plurality of data are serialized, through the data channel, after serial processing of data according to the order are pushed to the browser. [0039] 优选的,所述服务器还用于:根据所述订阅请求,将相应数据转化为xml或Json或文本模式,通过所述数据通道向所述浏览器主动推送。 [0039] Preferably, the server further configured to: according to the subscription request, the data is converted to the corresponding xml or Json or text mode, said active push through the browser to the data path. [0040] 优选的,当所述浏览器请求断开与服务器的连接时,所述服务器还用于:取消所述数据通道。 [0040] Preferably, when the browser requests a disconnect from the server, the server further configured to: cancel the data path. [0041 ] 同现有技术相比,本发明实施例提供了一种基于请求模式且不依赖其他第三方框架或插件的服务器与浏览器的主动推模式的应用框架,当浏览器建立与服务器的连接之后,服务器建立处于浏览器与服务器之间建立用于传输主动推送的数据的数据通道,服务器能够通过该数据通道,根据浏览器的订阅请求,向浏览器主动推送相应数据,可见,服务器能够根据浏览器的订阅请求进行数据的主动推送,因此,不需浏览器采用前台轮询的方式判断是否有主动推送的数据,可最大程度减少服务器连接的占用,从而提高应用系统的并发度,减少服务器的性能消耗。 [0041] Compared with the prior art, embodiments of the present invention provide a framework for the application based on the active push mode request mode does not depend on other frames or a third party server and the browser plug-in, when the browser and the server to establish after the connection is established the server for establishing a data transmission between the active push the browser and the server data channel, the server through the data channel, according to the subscription request from the browser, the corresponding active push data to the browser, can be seen, the server can be the subscription request for the browser active push data, therefore, need not use the foreground browser determines whether polling mode active push data server can minimize the occupancy of the connection, thereby increasing concurrency application system, reduction consumption of server performance. 附图说明[0042] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 BRIEF DESCRIPTION [0042] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings briefly described embodiments or the prior art needed to be used in the following embodiments will be apparent, the following description of the drawings only some embodiments of the present invention, those of ordinary skill in the art is concerned, without creative efforts, can derive from these drawings other drawings. [0043] 图1为本发明实施例提供的一种服务器主动推送数据的方法步骤示意图;[0044] 图2为本发明实施例提供的浏览器与服务器之间建立Http连接的示意图;[0045] 图3为本发明实施例提供的服务器根据浏览器的请求主动推送数据的流程示意图;[0046] 图4为本发明实施例提供的服务器主动推送数据的系统结构示意图。 [0043] FIG. 1 is a schematic of a method for active push server according to embodiment of the invention the step of data; [0044] FIG. 2 is a schematic Http connection established between the browser and the server according to an embodiment of the present invention; [0045] FIG 3 provides a schematic flow chart of active push the server data according to the request of the browser embodiment of the invention; [0046] FIG server 4 according to an embodiment of the data structure diagram of a system of the present invention, active push. 具体实施方式[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 DETAILED DESCRIPTION [0047] below in conjunction with the present invention in the accompanying drawings, technical solutions of embodiments of the present invention are clearly and completely described, obviously, the described embodiments are merely part of embodiments of the present invention, rather than all embodiments. 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 Based on the embodiments of the present invention, all other embodiments of ordinary skill in the art without any creative effort shall fall within the scope of the present invention. [0048] 本发明实施例提供一种服务器主动推送数据的方法及系统,以提高应用系统的并发度,减少服务器的性能消耗。 [0048] An embodiment provides a server data push method and system of the present invention is active, in order to improve concurrency of application, to reduce the performance overhead of the server. 为了便于对本发明实施例技术方案的充分理解,使得本发明的目的、技术方案及优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。 In order to facilitate a thorough understanding of the technical solutions of the embodiments of the present invention, such object, technical scheme and advantages of the present invention will become more apparent from the following with the present invention in the accompanying drawings, technical solutions in the embodiments will be apparent to the present invention, the complete description of. [0049] 本发明实施例提供了一种服务器主动推送数据的方法,如图1所示,为该方法的步骤流程,该方法可以包括以下步骤:[0050] 步骤101、浏览器发起注册请求,以连接服务器并接受所述服务器主动推送的数据,在所述浏览器注册成功后,所述浏览器与服务器之间建立用于传输主动推送的数据的数据通道;[0051] 步骤102、所述浏览器发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;[0052] 步骤103、所述服务器根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据。 [0049] The embodiments of the present invention provides a method of pushing data server is active, the steps of the process for the method shown in Figure 1, the method may comprise the steps of: [0050] Step 101, the browser initiates a registration request, to connect to the server and receive the data server actively pushed, after successful registration of said browser, establishing between the browser and the server for transmitting the data channel active push data; [0051] step 102, the browser initiates a subscription request, the subscription request comprises subscription data type parameter indicating the identity of subscriptions; [0052] step 103, the server according to the subscription request, through the data channel to said active browser push the corresponding data. [0053] Comet是一种新的Web应用架构。 [0053] Comet is a new Web application architecture. 基于这种架构开发的应用中,服务器会主动以异步的方式向客户端程序推送数据,而不需要客户端显式的发出请求。 This architecture based application development, the server will automatically push data to the client program in an asynchronous manner, without the need for explicit client request. Comet架构非常适合事件驱动的Web应用,以及对交互性和实时性要求很强的应用,如股票交易行情分析、聊天室和Web版在线游戏等。 Comet is ideal for event-driven architecture of Web applications, as well as interactive and real-time requirements of a strong application, such as stock market trading analysis, chat rooms and Web version of the online games. [0054] 本发明实施例中,采用完整的请求、订阅、推送机制,与其配套的还有一个供前台浏览器使用的API (Application Programming hterface,应用程序编程接口),可以称之为Comet-client。 [0054] The embodiments of the present invention, using a full request, subscription, push mechanism, as well as its supporting API (Application Programming hterface, application programming interfaces) for a browser to use the foreground can be called Comet-client . 本发明实施例技术方案实际是一个完整的comet技术实现,所有的请求都由Comet-client提供的方法发送,例如:发送方式采用ajax (Asynchronous JavaScript and XML,异步Javakript和XML),即xmlHttpRequest请求,并在服务器用nio方式保持请求,以提高系统性能和并发度,浏览器前后台之间的信息交互采用xml作为数据格式,订阅控制信息和推送数据均采用此数据模型。 Example embodiment aspect of the present invention is actually a complete comet technology, all requests provided by Comet-client transmission method, for example: transmission mode using ajax (Asynchronous JavaScript and XML, the XML and asynchronous Javakript), i.e. xmlHttpRequest request, and a hold request server nio way to improve system performance and concurrency, before and after the information exchange between the browser station xml employed as the data format, subscription information and control data are used to push data model. [0055] 由此,本发明实施例提供了一种基于请求模式且不依赖其他第三方框架或插件的服务器与浏览器的主动推模式的应用框架,当浏览器建立与服务器的连接之后,服务器建立处于浏览器与服务器之间建立用于传输主动推送的数据的数据通道,服务器能够通过该数据通道,根据浏览器的订阅请求,向浏览器主动推送相应数据,可见,服务器能够根据浏览器的订阅请求进行数据的主动推送,因此,不需浏览器采用前台轮询的方式判断是否有主动推送的数据,可最大程度减少服务器连接的占用,从而提高应用系统的并发度,减少服务器的性能消耗。 [0055] Accordingly, embodiments provide a framework for the application based on the active push mode request mode does not depend on other frames or a third party server and the browser plug-ins of the present invention, when the browser establishes a connection to the server, the server establishing a data path is established between the browser and the server for transmitting data to the active push the server through the data channel, according to the subscription request from the browser, the corresponding active push data to the browser, visible, depending on the browser of the server can be active push request subscription data, therefore, need not use the foreground browser determines whether polling mode active push data server can minimize the occupancy of the connection, thereby improving the concurrency of application, to reduce the performance overhead server . [0056] 根据httpl. 1规范的规定,客户端与服务器之间建立的Http连接不能超过两个, 出现的两个以上的新的连接会被阻塞。 [0056] Under httpl. 1 standard, the Http connection is established between the client and the server can not exceed two, more than two new connection occurring is blocked. 本发明实施例中,客户端与服务器之间建立的Http 连接有两个,本发明实施例中将两个可用Http连接分别划分为显式连接(explicit)和隐式连接(implicit),如图2所示,为浏览器与服务器之间建立Http连接的示意图,其中,粗线条表示显式请求、细线条表示隐式请求,虚线表示相应请求的返回,通过请求的返回,浏览器可以获知服务器已经收到相应的显式请求,并已经执行了对于相关请求的处理操作。 Embodiments of the present invention, Http connection is established between the client and the server has two, in the two cases are divided into usable Http connection explicit connection (Explicit) and implicit connection (Implicit) embodiment of the present invention, FIG. shown a schematic diagram Http connection established between the browser and server 2, wherein the thick line represents an explicit request, thin lines represent implicit request, return the broken line indicates that the corresponding request by returning the request, the browser may already know the server corresponding explicit request received, and the processing operation has been performed for the associated request. 显式连接用来发送有逻辑含义的注册请求及订阅请求。 Send an explicit connection to the registration request and the logical meaning of a subscription request. 上述两种请求中,显式请求不需在服务器被保持(hold),即:对显示请求处理的线程执行挂起操作。 Both the request, an explicit request need not be held in the server (HOLD), namely: the display process thread execution request pending operation. 对于订阅请求来说,仅仅是将订阅请求中携带的订阅数据的类型参数以及表示订阅内容的标识信息保存在订阅队列中,然后立即返回,这就可以保证显式连接的灵活性。 For the subscription request, the only type parameter is carried in the subscription request subscription data and identification information indicating subscription stored in the subscription queue, and returns immediately, which can ensure the flexibility of explicit connection. 而隐式请求用来发送建立数据通道请求,它不包含任何逻辑含义。 Implicitly sending a request for establishing a data channel request, it does not contain any logical meaning. 服务器将数据通道请求hold起来,并不返回,一旦有数据需要推送,就将返回数据写入该数据通道,完成推送,然后将数据通道释放。 The server will hold up the data channel request, does not return, once the push data to, the data will be written to the return data channel, the push is done, and then release the data channel. 当浏览器获知数据通道被释放后,即立刻再次发起隐式连接请求,将推动数据的主动权重新交给服务器。 When the browser obtains data channel is released, that is, immediately launched an implicit connection request again, the initiative will drive data to the server again. [0057] 结合图2中的时间区域划分,隐式连接可以跨越时间区域,完成前台异步。 [0057] FIG conjunction with the time zone division 2, is connected across the implicit time region, asynchronous reception is completed. 在同一时间区域中,隐式请求和显示请求可同时发送或返回,互不干扰。 At the same time zone, and displays an implicit request or request may be sent simultaneously to return, without disturbing each other. [0058] 需要说明的是,如果出现需要将多条数据同时推送给同一浏览器的情况,由于数据通道只有一条,因此并发的推送动作会在这里被“串行化”处理,即:将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览ο[0059] 本发明实施例中,订阅请求可以分为三类:普通请求,单次订阅请求和自动订阅请求(即:长订阅请求),它们分别可以称为commonRequest、subscribeOnce及subscribeAuto。 [0058] Incidentally, if there is a plurality of data needs to be pushed while the same browser case, since only one data channel, thus pushing concurrent operation will herein be "serialized" process, namely: The said plurality of data are serialized, through the data channel, the data is serialized after the order is pushed by the browser ο [0059] embodiment of the present invention, the subscription request may be divided into three categories : normal request, subscription request and automatic single subscription request (i.e.: long subscription request), may be referred to respectively commonRequest, subscribeOnce and subscribeAuto. 普通请求是与其他两种订阅请求区别开的,这是对传统的客户端请求服务端返回模式的支持;而订阅类型的请求,将推动数据的主动权交给了后台服务器,服务器以订阅请求中携带的类型参数以及表示订阅内容的标识,主动的向浏览器推送数据。 Common request is to be distinguished from the other two subscription request, which is the traditional client requests the server returns the mode of support; and the type of subscription requests, the data will drive the initiative to the back-end server, the server subscription request carried a flag indicating the type of parameters and subscriptions, active push data to the browser. 单次订阅请求与自动订阅请求的不同之处在于:浏览器根据单次订阅请求得到数据后,其发送的主题将被服务器删除,整个订阅过程结束;浏览器根据自动订阅请求得到数据后,服务器并不删除该订阅的主题,继续保持订阅状态,可根据自动订阅请求的参数信息连续向浏览器主动推送数据,直到浏览器人为地调用comet-client提供的取消订阅为止。 Single subscription request differs from the automatic subscription request are: browser after obtaining the data, the theme of which is sent will be deleted server based on a single subscription request, the end of the entire subscription process; the browser to get the data in accordance with automatic subscription request, the server the subscription does not delete the theme continue to be subscribed, continuous initiative to push data to the browser based on the parameter information automatically subscribe request until the browser to call up artificially unsubscribe comet-client provided. 上述三类均是显式请求,而针对两种订阅类型的请求而推送的数据需要隐式请求的发起以建立浏览器与服务器之间的数据通道。 The three types are explicitly requested, and for both types of requests and subscription pushed data needs to initiate an implicit request to establish a data channel between the browser and the server. [0060] 图3所示为服务器根据浏览器的请求主动推送数据的流程示意图,整个过程可以包括如下操作步骤:[0061] 步骤301、浏览器发起注册(join)请求,向后台服务器请求将本浏览器加入服务器的session管理,以连接服务器并接受所述服务器主动推送的数据;[0062] 步骤302、服务器接收浏览器发起的join请求,将该浏览器加入服务器的session 管理,并向浏览器反馈join成功反馈信息;[0063] 步骤303、浏览器向服务器发起隐式连接请求,以实现服务器根据该隐式请求建立处于浏览器与服务器之间、用于传输主动推送的数据的数据通道;[0064] 步骤304、浏览器向服务器发送周期性心跳(heartbeat)信息,以表示所述浏览器与服务器之间的持续连接;[0065] 步骤305、服务器接收浏览器发送的心跳信息,并实时向浏览器反馈接收成功的反馈信息;[0066] 步骤306、浏览器发起普通 Schematic flow diagram [0060] Figure 3 is a server actively push data according to the request of the browser, the process may include the following steps: [0061] Step 301, the browser initiates a registration (join) request, requesting the server to the background of the present Add the browser session management server, and the server is connected to receive said active push data server; [0062] step 302, the server receives a join request initiated by the browser, the browser added to the session management server, to the browser success feedback feedback join; [0063] step 303, the browser initiates an implicit connection request to the server to enable the server is establishing a data channel between the browser and the server for actively pushing the transmission data according to the implicit request; [0064] step 304, the browser sends the server a periodic heartbeat (heartbeat) information to indicate a persistent connection between the browser and the server; [0065] step 305, the server receives the heart-rate information sent by the browser, and real-time feedback of successful reception of the feedback information to the browser; [0066] step 306, the browser initiates normal 请求(commonRequest),该普通请求中通常包含有表示该请求是普通请求的类型参数,除此之外,普通请求中还包含了表示订阅内容的标识,当然,还包含了发起该请求的浏览器的地址信息;[0067] 步骤307、服务器接收普通请求,向浏览器反馈成功接收该请求的反馈信息;[0068] 本发明实施例中,由于订阅请求可以分为三类:普通请求,单次订阅请求和自动订阅请求,因此,浏览器还可能发起另外两种请求,分别如步骤306'和306"所示:[0069] 步骤306'、浏览器发起单次订阅请求(subscribeOnce),同理,该请求中携带有表示该请求是单次订阅请求的类型参数、表示订阅内容的标识以及发起该请求的浏览器的地址信息;[0070] 步骤307'、服务器接收单次订阅请求,向浏览器反馈成功接收该请求的反馈信息;[0071] 步骤306〃、浏览器发起自动订阅请求(subscribeAuto),同理, Request (commonRequest), which usually contains general request indicates that the request is a normal request type parameter, in addition, general request also includes representation subscription identity, of course, also includes a browser that initiated the request address information; [0067] step 307, the server receives a normal request, feedback request successfully received feedback information to the browser; embodiments [0068] of the present invention, since the subscription request may be divided into three categories: normal request, a single subscription request and automatic subscription request, therefore, likely to initiate browser request to the other two, respectively, as shown in step 306 'and 306 "shown in: [0069] step 306', a single browser initiates a subscription request (subscribeOnce), empathy the request carries indicates that the request is a type parameter single subscription request, a flag indicating subscriptions and address information to initiate a browser of the request; [0070] step 307 ', the server receives a single subscription request to browse feedback successfully received feedback information the request; [0071] step 306〃, the browser automatically initiates a subscription request (subscribeAuto), Similarly, 请求中携带有表示该请求是自动订阅请求的类型参数、表示订阅内容的标识以及发起该请求的浏览器的地址信息;[0072] 步骤307"、服务器接收自动订阅请求,向浏览器反馈成功接收该请求的反馈信息;[0073] 步骤308、当出现需要向浏览器推送的数据时,服务器利用已经建立的数据通道, 向浏览器主动推送相应数据;[0074] 当前数据推送完毕时,数据通道通常会被释放。 Request carries indicates that the request is automatically subscribed to the type of the parameter request, a flag indicating subscription and initiate the address information of the browser of the request; [0072] Step 307 ", the server receives the automatic subscription request, feedback successfully received to the browser feedback information of the request; [0073] step 308, when it is necessary to push the browser data occurs, the server using the already established data channel, actively push the corresponding data to the browser; when [0074] the current data push, and the data channel It would normally be released. 这时,如果再次出现需要服务器推送的数据时,需要浏览器再次向服务器发送隐式连接,以实现由服务器再次建立数据通道的目的,如步骤309所示;[0075] 步骤310、服务器通过再次建立的数据通道,向浏览器主动推送数据;[0076] 步骤311、浏览器向服务器发送取消连接的中断请求(leave);[0077] 步骤312、服务器将已存在于自身session管理中的该浏览器的相关信息进行删除,并清空针对该浏览器生成的订阅队列,并向浏览器反馈处理结果信息;[0078] 步骤313、服务器释放数据通道。 At this time, if the server pushes data needed again, the browser needs to send an implicit connection to the server again, in order to achieve the object of establishing a data channel by the server again, as shown in step 309; [0075] Step 310, the server again established data channel, the initiative to push the browser transactions; [0076] step 311, the browser sends a cancel interrupt request (Leave) connected to a server; [0077] step 312, the server exists on its own session management in the browsing is information for deletion, and empty generated for the subscription queue of the browser, and the browser processing result information feedback; [0078] step 313, the server releases the data channel. [0079] 本发明实施例中,当浏览器发起的请求实现是基于Http技术的,则可免除部署时防火墙、代理服务器等问题的困扰;此外,采用纯Http技术实现,可以不受操作系统,浏览器以及其他浏览器插件的限制,适用范围非常广泛;在单个浏览器只能使用2个Http请求的前提下,提供了最近似C/S模式的实时响应度。 [0079] The embodiments of the present invention, when the browser initiated request is implemented Http-based technology may be dispensed with when deployed firewalls, proxy server problems like problems; in addition, pure Http technology, can be independent of the operating system, browser limitations and other browser plug-in, for a wide range; 2 under the premise of using the Http request only in a single browser, a most similar C / S mode, real-time responsiveness. [0080] 服务器推动数据时,数据的传递方式可以为xml或Json或文本模式。 When the [0080] server push data, the data transfer mode may be xml or Json mode or text. [0081] 本发明实施例在具体实现时,对设计开发语言并无具体限定,可以采用Java语言,也可采用其他的语言形式。 Example [0081] In specific implementation of the present invention, not particularly limited to the design and development of language is the Java language can be other forms of language. [0082] 相应上述服务器主动推送数据的方法实施例,本发明实施例还提供了一种服务器主动推送数据的系统,如图4所示,所述系统包括:浏览器401和服务器402 ;其中,[0083] 所述浏览器401,用于发起注册请求,以连接服务器402并接受所述服务器402主动推送的数据,并在所述浏览器401与服务器402之间建立用于传输主动推送的数据的数据通道之后,发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;[0084] 所述服务器402,用于在所述浏览器401注册成功后,在所述浏览器401与服务器402之间建立所述数据通道,并根据所述订阅请求,通过所述数据通道,向所述浏览器401 主动推送相应数据。 [0082] The method of the above-described respective embodiments server actively push data according to embodiments of the present invention further provides a data server actively push system, as shown in Figure 4, the system comprising: a browser 401 and the server 402; wherein, [0083] the browser 401, for initiating a registration request to connect the server 402 and active server 402 accepts the pushed data, and establishes the data for transmission between said active push of the browser 401 and the server 402 after the data channels, initiate a subscription request, the subscription request comprises subscription data type parameter indicating the identity of subscriptions; [0084] the server 402, for the browser 401 after successful registration, the browsing establishing the data channel 401 and the server 402, according to the subscription request, through the data channel, actively push the corresponding data to the browser 401. [0085] 本发明实施例提供了一种基于请求模式且不依赖其他第三方框架或插件的服务器与浏览器的主动推模式的应用框架,当浏览器建立与服务器的连接之后,服务器建立处于浏览器与服务器之间建立用于传输主动推送的数据的数据通道,服务器能够通过该数据通道,根据浏览器的订阅请求,向浏览器主动推送相应数据,可见,服务器能够根据浏览器的订阅请求进行数据的主动推送,因此,不需浏览器采用前台轮询的方式判断是否有主动推送的数据,可最大程度减少服务器连接的占用,从而提高应用系统的并发度,减少服务器的性能消耗。 [0085] Example embodiments provide a framework for the application based on the active push mode request mode does not depend on other frames or a third party server and the browser plug-ins of the present invention, when a browser to establish a connection with the server, the server is established Browse establishing a data channel for transmitting the pushed data between the active and the server, the server through the data channel, according to the subscription request from the browser, the corresponding active push data to the browser, can be seen, the server can be a subscription request according to the browser active push data, therefore, need not use the foreground browser determines whether polling mode active push data server can minimize the occupancy of the connection, thereby improving the concurrency of application, to reduce the performance overhead of the server. [0086] 根据httpl. 1规范的规定,客户端与服务器之间建立的Http连接不能超过两个, 出现的两个以上的新的连接会被阻塞。 [0086] Under httpl. 1 standard, the Http connection is established between the client and the server can not exceed two, more than two new connection occurring is blocked. 本发明实施例中,客户端与服务器之间建立的Http 连接有两个,本发明实施例中将两个可用Http连接分别划分为显式连接(explicit)和隐式连接(implicit)。 Embodiments of the present invention, established between the client and the server are connected to two Http, available in the two cases are divided into Http connection explicit connection (Explicit) and implicit connection (Implicit) embodiment of the present invention. 显式连接用来发送有逻辑含义的注册请求及订阅请求。 Send an explicit connection to the registration request and the logical meaning of a subscription request. 上述两种请求中,显式请求不需在服务器被保持(hold),即:对显示请求处理的线程执行挂起操作。 Both the request, an explicit request need not be held in the server (HOLD), namely: the display process thread execution request pending operation. 对于订阅请求来说,仅仅是将订阅请求中携带的订阅数据的类型参数以及表示订阅内容的标识信息保存在订阅队列中,然后立即返回,这就可以保证显式连接的灵活性。 For the subscription request, the only type parameter is carried in the subscription request subscription data and identification information indicating subscription stored in the subscription queue, and returns immediately, which can ensure the flexibility of explicit connection. 而隐式请求用来发送建立数据通道请求,它不包含任何逻辑含义。 Implicitly sending a request for establishing a data channel request, it does not contain any logical meaning. 服务器将数据通道请求hold起来,并不返回,一旦有数据需要推送,就将返回数据写入该数据通道,完成推送,然后将数据通道释放。 The server will hold up the data channel request, does not return, once the push data to, the data will be written to the return data channel, the push is done, and then release the data channel. 当浏览器获知数据通道被释放后,即立刻再次发起隐式连接请求,将推动数据的主动权重新交给服务器。 When the browser obtains data channel is released, that is, immediately launched an implicit connection request again, the initiative will drive data to the server again. [0087] 需要说明的是,当所述数据通道建立之后,所述浏览器还用于:向服务器发送周期性心跳信息,以表示所述浏览器与服务器之间的持续连接。 [0087] Incidentally, after establishing the data channel, the browser is configured to: send periodic heartbeat information to the server, to indicate a persistent connection between the browser and the server. [0088] 此外,当需要将多条数据同时推送至所述浏览器时,所述服务器还用于:将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览器。 [0088] Further, when a plurality of data needs to be pushed while the browser, the server further configured to: the plurality of data are serialized, through the data channel, through the serialized data processed according to the order are pushed to the browser. [0089] 服务器推动数据时,数据的传递方式可以为xml或Json或文本模式,通过所述数据通道向所述浏览器主动推送。 [0089] push data server, the data transfer mode may be xml or Json or text mode, said active push through the browser to the data path. 当所述浏览器请求断开与服务器的连接时,所述服务器还用于:取消所述数据通道。 When the browser requests a disconnect from the server, the server further configured to: cancel the data path. [0090] 上述系统实施例由于与前述方法实施例相对应,因此不做赘述,相关内容可以参见方法实施例中的详细描述。 [0090] Since the above-described system embodiments correspond to embodiments of the foregoing method embodiments, and therefore detailed description is omitted, the content can refer to the method described in detail in the embodiment. [0091] 以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。 Example [0091] The system described above is merely exemplary, as a unit wherein the separate parts may be or may not be physically separate, parts displayed as units may be or may not be physical units, i.e., it may be located in one place, or may be distributed to multiple network units. 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。 You can select some or all of the modules according to actual needs to achieve the object of the solutions of the embodiments. 本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。 Those of ordinary skill in the art without creative efforts, can be understood and implemented. [0092] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 [0092] The above description of the disclosed embodiments enables those skilled in the art to make or use the present invention. 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。 Various modifications to these professionals skilled in the art of the present embodiments will be apparent, and the generic principles defined herein may be made without departing from the spirit or scope of the embodiments of the present invention, be implemented in other embodiments . 因此, 本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。 Thus, embodiments of the present invention will not be limited to the embodiments shown herein but is to be accorded herein consistent with the principles and novel features disclosed widest scope.

Claims (10)

1. 一种服务器主动推送数据的方法,其特征在于,所述方法包括:浏览器发起注册请求,以连接服务器并接受所述服务器主动推送的数据,在所述浏览器注册成功后,所述浏览器与服务器之间建立用于传输主动推送的数据的数据通道;所述浏览器发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;所述服务器根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据。 CLAIMS 1. A method of active push data server, wherein, said method comprising: initiating a registration request browser to connect to the server and receive the push data server active, the browser after successful registration, the established between the browser and the server for transmitting the data channel active push data; browser initiates the subscription request, the subscription request comprises subscription data type parameter, and a flag indicating a subscription; the server according to the subscription request, through the data channel, the data to actively push the corresponding browser.
2.根据权利要求1所述的服务器主动推送数据的方法,其特征在于,当所述数据通道建立之后,所述方法还包括:所述浏览器向服务器发送周期性心跳信息,以表示所述浏览器与服务器之间的持续连接。 The server according to a method as claimed in claim active push data, characterized in that, after establishing the data channel, said method further comprising: the browser sends a heartbeat message periodically to the server, to represent the persistent connection between the browser and the server.
3.根据权利要求1所述的服务器主动推送数据的方法,其特征在于,当需要将多条数据同时推送至所述浏览器时,所述方法还包括:将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览器。 The server according to a method as claimed in claim active push data, wherein, when a plurality of data needs to be pushed while the browser, said method further comprising: the plurality of serial data processing, through the data channel, through the serial data according to the order processing pushed the browser.
4.根据权利要求1所述的服务器主动推送数据的方法,其特征在于,所述服务器根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据,具体包括:所述服务器根据所述订阅请求,将相应数据转化为xml或Json或文本模式,通过所述数据通道向所述浏览器主动推送。 4. The server according to a method as claimed in claim active push data, wherein the server according to the subscription request, through the data channel, the data corresponding to said active push browser, comprises: the the subscription request to the server, the corresponding data into xml or Json or text mode, said active push through the browser to the data path.
5.根据权利要求1-4中任一项所述的服务器主动推送数据的方法,其特征在于,所述方法还包括:当所述浏览器请求断开与服务器的连接时,所述数据通道被取消。 5. The method of active push data server claimed in any one of claims, wherein said method further comprises: when the browser requests a disconnect from the server, the data channel got canceled.
6. 一种服务器主动推送数据的系统,其特征在于,所述系统包括:浏览器和服务器;其中,所述浏览器,用于发起注册请求,以连接服务器并接受所述服务器主动推送的数据, 并在所述浏览器与服务器之间建立用于传输主动推送的数据的数据通道之后,发起订阅请求,所述订阅请求包含订阅数据的类型参数以及表示订阅内容的标识;所述服务器,用于在所述浏览器注册成功后,在所述浏览器与服务器之间建立所述数据通道,并根据所述订阅请求,通过所述数据通道,向所述浏览器主动推送相应数据。 A data server actively push system, wherein, said system comprising: a browser and the server; wherein the browser, for initiating a registration request, and the server is connected to receive said active push data server Thereafter, and establishing a data channel for transmitting active push data between the browser and the server initiates a subscription request, the subscription request comprises subscription data type parameter, and a flag indicating a subscription; the server, with to the browser after successful registration, establishing the data channel between the browser and the server, according to the subscription request, through the data channel, the data to actively push the corresponding browser.
7.根据权利要求6所述的服务器主动推送数据的系统,其特征在于,当所述数据通道建立之后,所述浏览器还用于:向服务器发送周期性心跳信息,以表示所述浏览器与服务器之间的持续连接。 7. The server according to claim 6, wherein the active push data system, characterized in that, after establishing the data channel, the browser is configured to: send periodic heartbeat information to the server, to represent the browser and a constant connection between the servers.
8.根据权利要求6所述的服务器主动推送数据的系统,其特征在于,当需要将多条数据同时推送至所述浏览器时,所述服务器还用于:将所述多条数据进行串行化处理,通过所述数据通道,将经过串行化处理后的数据按顺序依次推送至所述浏览器。 8. The server of claim 6, wherein the active data push system, wherein, when a plurality of data needs to be pushed while the browser, the server further configured to: for the plurality of data strings process line, through the data channel, through the serial data according to the order processing pushed the browser.
9.根据权利要求6所述的服务器主动推送数据的系统,其特征在于,所述服务器还用于:根据所述订阅请求,将相应数据转化为xml或Json或文本模式,通过所述数据通道向所述浏览器主动推送。 9. The server of claim 6, wherein the active push system data, wherein the server is further configured to: according to the subscription request, the data is converted to the corresponding xml or Json or text mode, the data channel active push to the browser.
10.根据权利要求6-9中任一项所述的服务器主动推送数据的系统,其特征在于,当所述浏览器请求断开与服务器的连接时,所述服务器还用于:取消所述数据通道。 10. The server as claimed in any one of claims 6-9 active push data system, wherein, when the browser requests a disconnect from the server, the server further configured to: cancel the data channel.
CN201010603239XA 2010-12-23 2010-12-23 Method and system for pushing data actively by server CN102035893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010603239XA CN102035893A (en) 2010-12-23 2010-12-23 Method and system for pushing data actively by server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010603239XA CN102035893A (en) 2010-12-23 2010-12-23 Method and system for pushing data actively by server

Publications (1)

Publication Number Publication Date
CN102035893A true CN102035893A (en) 2011-04-27

Family

ID=43888209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010603239XA CN102035893A (en) 2010-12-23 2010-12-23 Method and system for pushing data actively by server

Country Status (1)

Country Link
CN (1) CN102035893A (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685033A (en) * 2012-06-13 2012-09-19 苏州大学 Instant message sending-receiving method based on identity encryption
CN102790683A (en) * 2011-05-16 2012-11-21 北京北大方正电子有限公司 Real-time market data processing method, server and system
CN103095551A (en) * 2011-11-01 2013-05-08 北京神州泰岳软件股份有限公司 Method of achieving seeking contact person and system thereof
CN103176795A (en) * 2013-02-04 2013-06-26 中国电子科技集团公司第二十八研究所 Method for applying plug-in technology to data filtering of information distribution software
CN103546584A (en) * 2013-11-13 2014-01-29 深圳市中兴移动通信有限公司 Information pushing method and system
CN103559315A (en) * 2013-11-20 2014-02-05 上海华勤通讯技术有限公司 Information screening and pushing method and device
CN103618665A (en) * 2013-12-10 2014-03-05 南京守护宝信息技术有限公司 Method for pushing messages to client
CN103884288A (en) * 2014-04-02 2014-06-25 广西我的科技有限公司 System and method for measuring length or width or height of vehicles in real time
CN103973469A (en) * 2013-01-30 2014-08-06 阿里巴巴集团控股有限公司 Comet connection maintaining method and device
CN103973737A (en) * 2013-01-30 2014-08-06 腾讯科技(深圳)有限公司 Method, server and browser for actively pushing messages
CN104007955A (en) * 2013-02-26 2014-08-27 中国石油化工股份有限公司 Method for reading drilling data upon adding
CN104158722A (en) * 2014-07-21 2014-11-19 小米科技有限责任公司 Message push method and device used for light applications, as well as terminal and server
CN104348523A (en) * 2013-07-25 2015-02-11 普天信息技术研究院有限公司 Data transmission method for wireless sensor node
CN104378436A (en) * 2014-11-20 2015-02-25 深圳市远行科技有限公司 Information push system and method based on server push
CN104753707A (en) * 2013-12-29 2015-07-01 中国移动通信集团公司 System maintenance method and network switching equipment
CN104834728A (en) * 2015-05-14 2015-08-12 无锡天脉聚源传媒科技有限公司 Pushing method and device for subscribed video
CN104980333A (en) * 2014-04-14 2015-10-14 纬创资通股份有限公司 Pushlet instant messaging method and platform
CN105208081A (en) * 2015-08-14 2015-12-30 深圳联友科技有限公司 Method and system realizing network communication through subscription mode
CN105357286A (en) * 2015-10-20 2016-02-24 中国电子科技集团公司第二十八研究所 Web-based real-time directional message pushing method
CN103780603B (en) * 2013-12-31 2016-10-19 电子科技大学 Lightweight method for pushing in application
CN106407382A (en) * 2016-09-13 2017-02-15 广州爱电牛互联网科技有限公司 System and method for interacting with new energy automobile charging pile based on APP
CN107438084A (en) * 2016-05-25 2017-12-05 北京京东尚科信息技术有限公司 Multi-client data synchronization method and apparatus
CN108833594A (en) * 2018-07-31 2018-11-16 浙江每日互动网络科技股份有限公司 Method of the server-side to mobile terminal pushed information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119327A (en) * 2006-08-04 2008-02-06 陆 悦;张 雷;孙 力 Instant chatting implementation system and method thereof
CN101179435A (en) * 2007-11-22 2008-05-14 Ut斯达康通讯有限公司 Method of active push network management event and network management system
CN101753621A (en) * 2009-12-24 2010-06-23 中兴通讯股份有限公司 Method and system for actively pushing data to browser through server
CN101883086A (en) * 2010-03-15 2010-11-10 浪潮集团山东通用软件有限公司 Method for realizing Comet function under ASP.NET environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119327A (en) * 2006-08-04 2008-02-06 陆 悦;张 雷;孙 力 Instant chatting implementation system and method thereof
CN101179435A (en) * 2007-11-22 2008-05-14 Ut斯达康通讯有限公司 Method of active push network management event and network management system
CN101753621A (en) * 2009-12-24 2010-06-23 中兴通讯股份有限公司 Method and system for actively pushing data to browser through server
CN101883086A (en) * 2010-03-15 2010-11-10 浪潮集团山东通用软件有限公司 Method for realizing Comet function under ASP.NET environment

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《http://www.ibm.com/developerworks/cn/web/wa-lo-comet/》 20070831 周婷 Comet:基于 HTTP 长连接的"服务器推"技术 , *
周婷: "Comet:基于 HTTP 长连接的"服务器推"技术", 《HTTP://WWW.IBM.COM/DEVELOPERWORKS/CN/WEB/WA-LO-COMET/》 *
深蓝: "基于WEB的实时事件通知方式服务器推送", 《深蓝的日志 - 网易博客,HTTP://BLOG.163.COM/PUGOOD@126/BLOG/STATIC/1344175932010514101559210/》 *

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790683A (en) * 2011-05-16 2012-11-21 北京北大方正电子有限公司 Real-time market data processing method, server and system
CN103095551A (en) * 2011-11-01 2013-05-08 北京神州泰岳软件股份有限公司 Method of achieving seeking contact person and system thereof
CN102685033A (en) * 2012-06-13 2012-09-19 苏州大学 Instant message sending-receiving method based on identity encryption
WO2014117554A1 (en) * 2013-01-30 2014-08-07 Tencent Technology (Shenzhen) Company Limited Method, server and browser for pushing message actively
CN103973737A (en) * 2013-01-30 2014-08-06 腾讯科技(深圳)有限公司 Method, server and browser for actively pushing messages
CN103973469A (en) * 2013-01-30 2014-08-06 阿里巴巴集团控股有限公司 Comet connection maintaining method and device
CN103973469B (en) * 2013-01-30 2017-09-15 阿里巴巴集团控股有限公司 The maintaining method and device of Comet connections
CN103176795B (en) * 2013-02-04 2016-03-02 中国电子科技集团公司第二十八研究所 A kind of based on the application process of plug-in part technology in distribution of information software data filters
CN103176795A (en) * 2013-02-04 2013-06-26 中国电子科技集团公司第二十八研究所 Method for applying plug-in technology to data filtering of information distribution software
CN104007955A (en) * 2013-02-26 2014-08-27 中国石油化工股份有限公司 Method for reading drilling data upon adding
CN104348523B (en) * 2013-07-25 2017-04-12 普天信息技术研究院有限公司 Data transmission method for wireless sensor node
CN104348523A (en) * 2013-07-25 2015-02-11 普天信息技术研究院有限公司 Data transmission method for wireless sensor node
CN103546584A (en) * 2013-11-13 2014-01-29 深圳市中兴移动通信有限公司 Information pushing method and system
CN103546584B (en) * 2013-11-13 2018-08-14 努比亚技术有限公司 Information-pushing method and system
CN103559315A (en) * 2013-11-20 2014-02-05 上海华勤通讯技术有限公司 Information screening and pushing method and device
CN103559315B (en) * 2013-11-20 2017-01-04 上海华勤通讯技术有限公司 Information screening method for pushing and device
CN103618665A (en) * 2013-12-10 2014-03-05 南京守护宝信息技术有限公司 Method for pushing messages to client
CN104753707A (en) * 2013-12-29 2015-07-01 中国移动通信集团公司 System maintenance method and network switching equipment
CN104753707B (en) * 2013-12-29 2018-05-08 中国移动通信集团公司 A kind of system maintenance method and the network switching equipment
CN103780603B (en) * 2013-12-31 2016-10-19 电子科技大学 Lightweight method for pushing in application
CN103884288A (en) * 2014-04-02 2014-06-25 广西我的科技有限公司 System and method for measuring length or width or height of vehicles in real time
CN104980333B (en) * 2014-04-14 2018-03-27 纬创资通股份有限公司 Pushlet instant communicating methods and platform
CN104980333A (en) * 2014-04-14 2015-10-14 纬创资通股份有限公司 Pushlet instant messaging method and platform
CN104158722A (en) * 2014-07-21 2014-11-19 小米科技有限责任公司 Message push method and device used for light applications, as well as terminal and server
CN104378436A (en) * 2014-11-20 2015-02-25 深圳市远行科技有限公司 Information push system and method based on server push
CN104834728B (en) * 2015-05-14 2018-03-09 无锡天脉聚源传媒科技有限公司 A kind of method for pushing and device for subscribing to video
CN104834728A (en) * 2015-05-14 2015-08-12 无锡天脉聚源传媒科技有限公司 Pushing method and device for subscribed video
CN105208081A (en) * 2015-08-14 2015-12-30 深圳联友科技有限公司 Method and system realizing network communication through subscription mode
CN105357286B (en) * 2015-10-20 2019-02-05 中国电子科技集团公司第二十八研究所 A kind of real-time messages orientation method for pushing based on Web
CN105357286A (en) * 2015-10-20 2016-02-24 中国电子科技集团公司第二十八研究所 Web-based real-time directional message pushing method
CN107438084A (en) * 2016-05-25 2017-12-05 北京京东尚科信息技术有限公司 Multi-client data synchronization method and apparatus
CN106407382A (en) * 2016-09-13 2017-02-15 广州爱电牛互联网科技有限公司 System and method for interacting with new energy automobile charging pile based on APP
CN108833594A (en) * 2018-07-31 2018-11-16 浙江每日互动网络科技股份有限公司 Method of the server-side to mobile terminal pushed information
CN108833594B (en) * 2018-07-31 2019-11-12 浙江每日互动网络科技股份有限公司 Method of the server-side to mobile terminal pushed information

Similar Documents

Publication Publication Date Title
JP5925117B2 (en) Enterprise client / server system and method for providing web application support through distributed emulation of web socket communications
CN103827828B (en) For the system and method for the flexibility that load balance and data compression are provided in flow director environment
US8819560B2 (en) Dispatching events to multiple browser windows/tabs using a single connection
US20080177872A1 (en) Managing aggregation and sending of communications
US10523612B2 (en) Message history display system and method
JP5898980B2 (en) Method, system, and storage medium for managing multiple queues of non-persistent messages in a network environment
US20120323990A1 (en) Efficient state reconciliation
US9800624B2 (en) Synchronization of clients to maximize multicast opportunities
US20160044095A1 (en) Distributing service sessions
US7594022B2 (en) Regulating client requests in an electronic messaging environment
JP2000232446A (en) Data transfer method and device
EP2713641A1 (en) Method for receiving data, method for transmitting data, mobile terminal, and server
CN102710748B (en) Data capture method, system and equipment
CN101102211B (en) A method for sharing the document in data conference and its system
CN101483537B (en) Method for real-time displaying website user status in webpage instant communication
US8904014B2 (en) Content delivery mechanisms for multicast communication
US7676582B2 (en) Optimized desktop sharing viewer join
CN102664909A (en) Re-establishing push notification channels via user identifiers
US9578081B2 (en) System and method for providing an actively invalidated client-side network resource cache
EP2109287B1 (en) Multiple client control system
CN101461194B (en) A method and system for remotely accessing devices in a network
US10439916B2 (en) Client-side fault tolerance in a publish-subscribe system
EP2566107A1 (en) Apparatus and method for achieving the function of domain name resolution agent
US20190020536A1 (en) Enabling planned upgrade/downgrade of network devices without impacting network sessions
CN103051520A (en) Method and device for synchronizing offline session messages in instant messaging tool

Legal Events

Date Code Title Description
C06 Publication
C10 Entry into substantive examination
C12 Rejection of a patent application after its publication