CN106569899A - Ajax通信系统和方法 - Google Patents

Ajax通信系统和方法 Download PDF

Info

Publication number
CN106569899A
CN106569899A CN201610959455.5A CN201610959455A CN106569899A CN 106569899 A CN106569899 A CN 106569899A CN 201610959455 A CN201610959455 A CN 201610959455A CN 106569899 A CN106569899 A CN 106569899A
Authority
CN
China
Prior art keywords
data
client
asynchronous
long connection
session identification
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
Application number
CN201610959455.5A
Other languages
English (en)
Inventor
朱文进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology Co Ltd
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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201610959455.5A priority Critical patent/CN106569899A/zh
Publication of CN106569899A publication Critical patent/CN106569899A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种AJAX通信系统,该系统包括:标识模块,用于在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识;建链模块,用于根据所述脚本会话标识,对应注册与所述客户端的异步长连接;推送模块,用于在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。本发明还公开了一种AJAX通信方法。本发明实现了服务器发起消息传递的效果,避免客户端重复发送大量的无效数据请求,提升了用户体验。

Description

AJAX通信系统和方法
技术领域
本发明涉及通信技术领域,尤其涉及一种AJAX通信系统和方法。
背景技术
AJAX也即Asynchronous Javascript And XML(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。通过客户端的浏览器在后台与服务器进行少量数据交换,AJAX可以在不重新加载整个网页的情况下,对网页的局部进行数据更新,实现网页的异步更新,给用户带来更加优良的Web(网络)应用体验。
在传统的桌面系统中,需要进行“服务器发起的消息传递(Server-InitiatedMessage Delivery)”。也即,服务器需要向客户端主动发送消息或信息。因为服务器掌握着系统的主要资源,能够最先获得系统的状态变化和事件的发生,而当这些变化发生的时候,服务器需要主动的向客户端实时的发送消息,使客户端进行数据的更新,例如股票的实时更新。
为了及时获取系统更新的数据,基于HTTP(Hyper Text Transfer Protocol,超文本传输协议)协议的Web应用通常通过浏览器主动轮询,来感知服务器端的变化,获取更新数据。当浏览器通过轮询向服务器请求数据后,服务器向浏览器返回对应的更新数据,由于时延原因,若浏览器未收到服务器返回的数据,则会按照一定的频率重复项服务器发送同样的数据请求,导致产生大量的无效数据请求,给浏览器和服务器造成负担。
发明内容
本发明的主要目的在于提供一种AJAX通信系统和方法,旨在解决AJAX通信过程中会产生大量无效的数据请求的技术问题。
为实现上述目的,本发明提供一种AJAX通信系统,所述AJAX通信系统包括:
标识模块,用于在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识;
建链模块,用于根据所述脚本会话标识,对应注册与所述客户端的异步长连接;
推送模块,用于在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述AJAX通信系统还包括:
判断模块,用于根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;
所述建链模块,还用于若没有存活的所述脚本会话标识对应的异步长连接,则据所述脚本会话标识,对应注册与所述客户端的异步长连接。
在一个实施例中,所述推送模块,还用于,
若有存活的所述脚本会话标识对应的异步长连接,则在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述建链模块,还用于,
根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;根据所述数据请求,登记所述异步长连接请求的数据;
所述推送模块,还用于,
在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;基于所述确定的异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述AJAX通信系统还包括:
时限模块,用于根据预设的频率,检测所述异步长连接是否超时;若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
此外,为实现上述目的,本发明还提供一种AJAX通信方法,所述AJAX通信方法包括以下步骤:
在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识;
根据所述脚本会话标识,对应注册与所述客户端的异步长连接;
在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述根据所述脚本会话标识,对应注册与所述客户端的异步长连接的步骤之前,还包括:
根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;
若没有存活的所述脚本会话标识对应的异步长连接,则执行步骤:根据所述脚本会话标识,对应注册与所述客户端的异步长连接。
在一个实施例中,所述根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接的步骤之后,还包括:
若有存活的所述脚本会话标识对应的异步长连接,则执行步骤:在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述根据所述脚本会话标识,对应注册与所述客户端的异步长连接的步骤包括:
根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;
根据所述数据请求,登记所述异步长连接请求的数据;
所述在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据的步骤包括:
在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;
基于所述确定的异步长连接,向所述客户端推送更新的数据。
在一个实施例中,所述AJAX通信方法还包括:
根据预设的频率,检测所述异步长连接是否超时;
若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
本发明实施例提出的一种AJAX通信系统和方法,通过在收到客户端发送的数据请求时,标识模块获取数据请求携带的脚本会话标识,用于标识当前的客户端,以及标记返回数据时所需要走的异步长连接;然后,建链模块根据获取的脚本会话标识,对应注册与所述客户端的异步长连接,用于返回当前数据请求所对应的数据及更新的数据;推送模块在检测到数据请求对应的数据更新时,基于已建立的当前脚本会话标识对应的异步长连接,向客户端推送更新的数据,调用客户端及时更新页面数据,实现了服务器发起消息传递的效果,服务器能及时将系统更新的数据返回客户端,实现客户端页面的即时更新。本发明通过服务器与客户端建立异步长连接,当检测到客户端的数据有更新时,服务器及时通过已建立的异步长连接向客户端返回更新的数据,以更新客户端页面数据,无需客户端轮询即可实现服务器发起消息传递的效果,无需客户端重复发送大量的无效数据请求,服务器也不同大量回复客户端相同的数据内容,降低了浏览器和服务器的负担,同时还能保障数据的及时更新,提升了用户体验。
附图说明
图1为实现本发明各个实施例一个可选的移动终端的硬件结构示意图;
图2为如图1所示的移动终端的无线通信系统示意图;
图3为本发明AJAX通信系统第一实施例、第三实施例的模块示意图;
图4为本发明AJAX通信系统第二实施例的模块示意图;
图5为本发明AJAX通信系统第四实施例的模块示意图;
图6为本发明AJAX通信方法第一实施例的流程示意图;
图7为本发明AJAX通信方法第二实施例的流程示意图;
图8为本发明AJAX通信方法第三实施例的流程示意图;
图9为本发明AJAX通信方法第四实施例的流程示意图;
图10为本发明实施例中一种异步长连接标注信息示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为实现本发明各个实施例的一个可选的移动终端硬件结构示意。
移动终端100可以包括无线通信单元110、用户输入单元120、感测单元130、输出单元140、控制器150和电源单元160等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括移动通信模块111、无线互联网模块112等。
移动通信模块111将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
无线互联网模块112支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无线互联网接入技术可以包括WLAN(无线LAN)(Wi-Fi)、Wibro(无线宽带)、Wimax(全球微波互联接入)、HSDPA(高速下行链路分组接入)等等。
用户输入单元120可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元120允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元141上时,可以形成触摸屏。
感测单元130检测移动终端100的当前状态,(例如,移动终端100的打开或关闭状态)、移动终端100的位置、用户对于移动终端100的接触(即,触摸输入)的有无、移动终端100的取向、移动终端100的加速或减速移动和方向等等,并且生成用于控制移动终端100的操作的命令或信号。例如,当移动终端100实施为滑动型移动电话时,感测单元130可以感测该滑动型电话是打开还是关闭。
输出单元140可以包括显示单元141、音频输出模块142等等。
显示单元141可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元141可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元141可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元141和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元141可以用作输入装置和输出装置。显示单元141可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块142可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块142可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块142可以包括扬声器、蜂鸣器等等。
控制器150通常控制移动终端的总体操作。例如,控制器150执行与语音通话、数据通信、视频通话等等相关的控制和处理。控制器150可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元160在控制器150的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器150中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器150执行。
至此,己经按照其功能描述了移动终端。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信系统。
这样的通信系统可以使用不同的空中接口和/或物理层。例如,由通信系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信系统(UMTS)(特别地,长期演进(LTE))、全球移动通信系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信系统,但是这样的教导同样适用于其它类型的系统。
参考图2,CDMA无线通信系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC275。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是需要理解的是,可以利用任何数目的卫星获得有用的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
基于上述移动终端硬件结构以及通信系统,提出本发明各个实施例。
参照图3,本发明AJAX通信系统第一实施例提供一种AJAX通信系统,所述AJAX通信系统包括:
标识模块10,用于在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识。
本发明通过在收到客户端数据请求时,与客户端建立异步长连接,当服务器检测到有数据更新时可以直接通过异步长连接将更新的推送给客户端,进行客户端页面数据的更新,无需客户端不停的重复发送数据请求即可实现客户端的数据更新,避免了客户端生成无效的数据请求,实现了AJAX(Asynchronous Javascript And XML,异步JavaScript和XML)通信中服务器发起消息传递的效果。AJAX通信系统可部署在服务器中。客户端可以是移动终端、PC(personal computer,个人计算机)等中部署的浏览器客户端。
具体的,作为一种实施方式,当客户端的页面有数据需求时,向服务器发送数据请求。同时,为了标识当前页面,客户端根据当前页面生成对应的脚本会话标识,并配置到数据请求中。
需要说明的是,脚本会话标识也称为ScriptSessionID,与客户端中的页面唯一对应。客户端中不同的页面对应不同的ScriptSessionID。针对客户端中同一页面的数据请求,所携带的ScriptSessionID相同。
标识模块10在收到客户端发送的数据请求时,解析数据请求,获取数据请求中携带的ScriptSessionID。
建链模块20,用于根据所述脚本会话标识,对应注册与所述客户端的异步长连接。
在得到当前客户端的标识后,建链模块20根据脚本会话标识,注册对应的异步长连接,并与客户端维持此异步长连接。
进一步的,为了便于区别与不同的客户端所建立的长连接,建链模块20 可以使用分配给客户端的SessionID,标识此客户端,并将建立的此脚本会话标识对应的长连接注册在此客户端的SessionID下。
需要说明的是,服务器在首次收到一客户端的注册请求时,需要为当前客户端分配SessionID,也可称为会话标识,以标识此客户端。后续,此客户端在向服务器发送数据请求时,可将此分配的SessionID配置到数据请求中,以标识身份。
由此,实现了客户端与服务器之间异步长连接的建立。
推送模块30,用于在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在与客户端建立连接后,推送模块30根据当前的数据请求,查找当前数据请求对应的数据,也即查询当前客户端所请求的数据。然后,推送模块30将客户端请求的数据通过异步长连接返回客户端。
然后,推送模块30检测当前客户端请求的数据是否有更新。
在推送模块30检测到数据请求对应的数据更新时,推送模块30通过已建立的、当前脚本会话标识对应的异步长连接,将更新的数据推送到客户端,调用客户端页面脚本及时更新页面中对应的数据。
进一步的,若当前的数据请求为请求获取指定内容的更新数据,则推送模块30判断WEB应用系统中此指定内容的数据是否相较于客户端的数据有更新。
若有,则推送模块30直接基于已建立的异步长连接返回更新的数据;若没有,则推送模块30不向客户端推送数据,而是检测数据请求对应的数据是否有更新,在检测到数据请求对应的数据更新时,基于已建立的异步长连接,向客户端推送更新的数据,调用客户端页面脚本及时更新页面中对应的数据。
由此,实现了客户端页面中对应模块数据的自动更新。
例如,若当前客户端发送的数据请求为请求更新后的商品列表,则查找更新的商品列表。若当前WEB应用系统未更新商品列表,则等待检测到WEB应用系统更新商品列表时,自动将更新后的商品列表通过已建立的异步长连接推送给客户端。
由此,对于客户端来说,实现了服务器主动发起消息传递,推送更新数据的效果。
在本实施例中,在收到客户端发送的数据请求时,标识模块10获取数据请求携带的脚本会话标识,用于标识当前的客户端,以及标记返回数据时所需要走的异步长连接;然后,建链模块20根据获取的脚本会话标识,对应注册与所述客户端的异步长连接,用于返回当前数据请求所对应的数据及更新的数据;推送模块30在检测到数据请求对应的数据更新时,基于已建立的当前脚本会话标识对应的异步长连接,向客户端推送更新的数据,调用客户端及时更新页面数据,实现了服务器发起消息传递的效果,服务器能及时将系统更新的数据返回客户端,实现客户端页面的即时更新。本实施例通过服务器与客户端建立异步长连接,当检测到客户端的数据有更新时,服务器及时通过已建立的异步长连接向客户端返回更新的数据,以更新客户端页面数据,无需客户端轮询即可实现服务器发起消息传递的效果,无需客户端重复发送大量的无效数据请求,服务器也不同大量回复客户端相同的数据内容,降低了浏览器和服务器的负担,同时还能保障数据的及时更新,提升了用户体验。
进一步的,参照图4,本发明AJAX通信系统第二实施例提供一种AJAX通信系统,基于上述图3所示的实施例,所述AJAX通信系统还包括:
判断模块40,用于根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;
所述建链模块20,还用于若没有存活的所述脚本会话标识对应的异步长连接,则据所述脚本会话标识,对应注册与所述客户端的异步长连接。
本实施例与上述本发明AJAX通信系统第一实施例的区别在于:本实施例在建立脚本会话标识对应的长连接前,需要判断是否已存在存活的相同的长连接,以避免重复建链。
具体的,作为一种实施方式,在获取数据请求携带的脚本会话标识后,判断模块40检测当前已经建立的连接中,是否有当前脚本会话标识对应的长连接。
进一步的,判断模块40可以获取数据请求中携带的SessionID,在此SessionID下查找是否有当前脚本会话标识对应的长连接。
若未找到当前脚本会话标识对应的长连接,则判断模块40直接判定没有存活的当前脚本会话标识对应的异步长连接。
若找到当前脚本会话标识对应的长连接,则判断模块40需要判断此查找到的长连接是否有效,例如若此查找到的长连接已超时,或是已注销,则判断模块40确定没有存活的当前脚本会话标识对应的异步长连接。
若没有存活的当前脚本会话标识对应的异步长连接,则建链模块20根据当前脚本会话标识,建立对应的长连接,与客户端维持此长连接。
进一步的,作为一种实施方式,所述推送模块30,还用于,
若有存活的所述脚本会话标识对应的异步长连接,则在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
具体的,若当前服务器已与当前客户端建立有当前脚本会话标识对应的异步长连接,且此长连接处于存活、可用状态,则推送模块30直接使用此存活的长连接,基于数据请求向客户端返回推送的数据内容及更新的数据。
在本实施例中,在得到数据请求携带的脚本会话标识后,首先判断模块40根据此脚本会话标识,判断是否有存活的此脚本会话标识对应的异步长连接;若没有存活的此脚本会话标识对应的异步长连接,则建链模块20与客户端建立此脚本会话标识对应的异步长连接,用于推送更新的数据;若有存活的此脚本会话标识对应的异步长连接,则推送模块30可以直接使用此存活的异步长连接,向客户端返回数据及推送更新的数据。由此,本实施例控制同一脚本会话标识同时仅对应存活一个异步长连接,避免了重复建链,使得同一页面的不同数据请求,可以使用同一脚本会话标识对应的异步长连接进行数据的更新,降低了服务器的负担,提升了数据运行效率。
进一步的,参照图3,本发明AJAX通信系统第三实施例提供一种AJAX通信系统,基于上述本发明AJAX通信系统第一实施例或第二实施例(本实施例以本发明AJAX通信系统第一实施例为例),所述建链模块20,还用于,
根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;根据所述数据请求,登记所述异步长连接请求的数据;
所述推送模块30,还用于,
在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;基于所述确定的异步长连接,向所述客户端推送更新的数据。
本实施例与上述本发明AJAX通信系统第一实施例、第二实施例的区别在于:本实施例通过客户端的会话标识和客户端页面进一步标识脚本会话标识对应的异步长连接,以保障服务器推送给客户端数据能够通过正确的异步长连接返回客户端。
具体的,建链模块20在注册当前脚本会话标识对应的异步长连接时,获取当前客户端页面的标识以及客户端的会话标识,然后使用页面标识及客户端的会话标识,标注此异步长连接。
其中,页面标识可以是当前客户端的页面ID(编号),是与客户端当前的页面对应的,唯一指向此页面的标识信息;客户端的会话标识也即SessionID,是服务器分配给客户端的,用以唯一标识此客户端。
因此,建链模块20建立的异步长连接对应的标识信息共有客户端的会话标识、客户端的页面标识以及当前脚本会话标识。需要说明的是,客户端的页面标识指向的页面与脚本会话标识指向的页面为同一页面。
并且,建链模块20当前建立的异步长连接可以注册在客户端的会话标识下,也即SessionID下。
则,参照图10,同一客户端会话标识下可以同时注册多个脚本会话标识对应的异步长连接,为了更加准确的区分不同的异步长连接,同一客户端会话标识下的异步长连接使用各自对应的客户端页面标识及脚本会话标识进行标注。
由此,实现了异步长连接的建立。
然后,建链模块20根据当前的数据请求,登记此异步长连接所请求获取的数据。
对应的,当推送模块30检测到此异步长连接所请求的数据有更新时,根据此异步长连接的会话标识,在已建立异步长连接的客户端中,确定对应的客户端。
然后,推送模块30在确定的客户端的会话标识下,查找已注册的异步长连接中,是否有标注信息为此异步长连接所对应的页面标识和脚本会话标识的。
若推送模块30在确定的客户端的会话标识下,成功找到标注信息为此异步长连接对应的页面标识和脚本会话标识的异步长连接,则推送模块30确定找到的异步长连接为当前更新数据对应的异步长连接。
然后,推送模块30使用此确定的异步长连接,向客户端推送更新的数据,调用客户端的页面脚本更新对应的数据。
在本实施例中,建链模块20建立异步长连接时,根据为当前客户端分配的会话标识,客户端当前页面的页面标识,以及当前获取的脚本会话标识,对应注册与客户端的异步长连接;然后,建链模块20根据当前数据请求,登记异步长连接请求的数据,确定此异步长连接所需要的数据,用以在检测到数据更新时,可以及时确定需推送数据的异步长连接;推送模块30在检测到此异步长连接请求的数据更新时,根据此异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;然后,推送模块30基于确定的异步长连接,向客户端推送更新的数据。本实施例在脚本会话标识的基础上,增加了客户端的会话标识与客户端当前页面的页面标识,用来标注建立的异步长连接,从而使建立的每一个异步长连接都具有唯一性,当检测到数据更新时,可以根据这三项信息查找到唯一对应的异步长连接,用来推送更新的数据,提高了数据推送的准确定。
进一步的,参照图5,本发明AJAX通信系统第四实施例提供一种AJAX通信系统,基于上述图3和图4所示的任一实施例(本实施例以图3为例),所述AJAX通信系统还包括:
时限模块50,用于根据预设的频率,检测所述异步长连接是否超时;若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
本实施例与上述发明AJAX通信系统第一实施例、第二实施例及第三实施例的区别在于:本实施例在检测到已建立的异步长连接超时,也即异步长连接失效时,及时关闭此异步长连接,释放占用的服务器资源。
具体的,客户端在与服务器建立异步长连接时,设置有异步长连接的有效时限。推送模块30每次在通过异步长连接向客户端推送数据时,时限模块50都需要记录使用此异步长连接的时间。
作为一种实施方式,时限模块50按照预设的频率,获取异步长连接最近一次的使用时间,也即最近一次通过此异步长连接向客户端推送数据的时间。时限模块50将此时间作为起始时间。若推送模快30一直未通过建立的异步长连接向客户端推送数据,则时限模块50取建立异步长连接的时间为起始时间。
然后,时限模块50根据当前的时间,计算当前时间与起始时间的时间差,判断时间差是否超过预先配置的有效时限。
若当前时间与起始时间的时间差大于或等于预先配置的有效时限,则时限模块50判定此异步长连接已超时。
此时,时限模块50关闭此异步长连接,此异步长连接失效。
同时,时限模块50通知客户端此异步长连接失效。
客户端在收到通知消息后,可根据页面需要,判断是否需要重建此异步长连接。
若当前页面需要接收更新的数据,则客户端基于当前页面的脚本会话标识,向服务器发送数据请求,以重建异步长连接。
在本实施例中,时限模块50根据预设的频率,检测异步长连接是否超时;若异步长连接超时,则关闭此异步长连接,并通知对应的客户端。本实施例在异步长连接超时时及时关闭,减轻服务器的资源消耗;同时,通知客户端异步长连接的关闭,使客户端可以根据需求重建异步长连接。
参照图6,本发明AJAX通信方法第一实施例提供一种AJAX通信方法,本实施例可通过上述本发明AJAX通信装置第一实施例具体实现。所述AJAX通信方法包括以下步骤:
步骤S10、在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识。
本发明通过在收到客户端数据请求时,与客户端建立异步长连接,当服务器检测到有数据更新时可以直接通过异步长连接将更新的推送给客户端,进行客户端页面数据的更新,无需客户端不停的重复发送数据请求即可实现客户端的数据更新,避免了客户端生成无效的数据请求,实现了AJAX(Asynchronous Javascript And XML,异步JavaScript和XML)通信中服务器发起消息传递的效果。客户端可以是移动终端、PC(personal computer,个人计算机)等中部署的浏览器客户端。
具体的,作为一种实施方式,当客户端的页面有数据需求时,向服务器发送数据请求。同时,为了标识当前页面,客户端根据当前页面生成对应的脚本会话标识,并配置到数据请求中。
需要说明的是,脚本会话标识也称为ScriptSessionID,与客户端中的页面唯一对应。客户端中不同的页面对应不同的ScriptSessionID。针对客户端中同一页面的数据请求,所携带的ScriptSessionID相同。
服务器在收到客户端发送的数据请求时,解析数据请求,获取数据请求中携带的ScriptSessionID。
步骤S20、根据所述脚本会话标识,对应注册与所述客户端的异步长连接。
在得到当前客户端的标识后,服务器根据脚本会话标识,注册对应的异步长连接,并与客户端维持此异步长连接。
进一步的,为了便于区别与不同的客户端所建立的长连接,服务器可以使用分配给客户端的SessionID,标识此客户端,并将建立的此脚本会话标识对应的长连接注册在此客户端的SessionID下。
需要说明的是,服务器在首次收到一客户端的注册请求时,需要为当前客户端分配SessionID,也可称为会话标识,以标识此客户端。后续,此客户端在向服务器发送数据请求时,可将此分配的SessionID配置到数据请求中,以标识身份。
由此,实现了客户端与服务器之间异步长连接的建立。
步骤S30、在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
在与客户端建立连接后,服务器根据当前的数据请求,查找当前数据请求对应的数据,也即查询当前客户端所请求的数据。然后,服务器将客户端请求的数据通过异步长连接返回客户端。
然后,服务器检测当前客户端请求的数据是否有更新。
在服务器检测到数据请求对应的数据更新时,服务器通过已建立的、当前脚本会话标识对应的异步长连接,将更新的数据推送到客户端,调用客户端页面脚本及时更新页面中对应的数据。
进一步的,若当前的数据请求为请求获取指定内容的更新数据,则服务器判断WEB应用系统中此指定内容的数据是否相较于客户端的数据有更新。
若有,则服务器直接基于已建立的异步长连接返回更新的数据;若没有,则服务器不向客户端推送数据,而是检测数据请求对应的数据是否有更新,在检测到数据请求对应的数据更新时,基于已建立的异步长连接,向客户端推送更新的数据,调用客户端页面脚本及时更新页面中对应的数据。
由此,实现了客户端页面中对应模块数据的自动更新。
例如,若当前客户端发送的数据请求为请求更新后的商品列表,则查找更新的商品列表。若当前WEB应用系统未更新商品列表,则等待检测到WEB应用系统更新商品列表时,自动将更新后的商品列表通过已建立的异步长连接推送给客户端。
由此,对于客户端来说,实现了服务器主动发起消息传递,推送更新数据的效果。
在本实施例中,在收到客户端发送的数据请求时,获取数据请求携带的脚本会话标识,用于标识当前的客户端,以及标记返回数据时所需要走的异步长连接;然后,根据获取的脚本会话标识,对应注册与所述客户端的异步长连接,用于返回当前数据请求所对应的数据及更新的数据;在检测到数据请求对应的数据更新时,基于已建立的当前脚本会话标识对应的异步长连接,向客户端推送更新的数据,调用客户端及时更新页面数据,实现了服务器发起消息传递的效果,服务器能及时将系统更新的数据返回客户端,实现客户端页面的即时更新。本实施例通过服务器与客户端建立异步长连接,当检测到客户端的数据有更新时,服务器及时通过已建立的异步长连接向客户端返回更新的数据,以更新客户端页面数据,无需客户端轮询即可实现服务器发起消息传递的效果,无需客户端重复发送大量的无效数据请求,服务器也不同大量回复客户端相同的数据内容,降低了浏览器和服务器的负担,同时还能保障数据的及时更新,提升了用户体验。
进一步的,参照图7,本发明AJAX通信方法第二实施例提供一种AJAX通信方法,本实施例可通过上述本发明AJAX通信装置第二实施例具体实现。基于上述图6所示的实施例,所述步骤S20之前,还包括:
步骤S40、根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;若没有存活的所述脚本会话标识对应的异步长连接,则执行步骤S20。
本实施例与上述本发明AJAX通信方法第一实施例的区别在于:本实施例在建立脚本会话标识对应的长连接前,需要判断是否已存在存活的相同的长连接,以避免重复建链。
具体的,作为一种实施方式,在获取数据请求携带的脚本会话标识后,服务器检测当前已经建立的连接中,是否有当前脚本会话标识对应的长连接。
进一步的,服务器可以获取数据请求中携带的SessionID,在此SessionID下查找是否有当前脚本会话标识对应的长连接。
若未找到当前脚本会话标识对应的长连接,则直接判定没有存活的当前脚本会话标识对应的异步长连接。
若找到当前脚本会话标识对应的长连接,则需要判断此查找到的长连接是否有效,例如若此查找到的长连接已超时,或是已注销,则确定没有存活的当前脚本会话标识对应的异步长连接。
若没有存活的当前脚本会话标识对应的异步长连接,则服务器根据当前脚本会话标识,建立对应的长连接,与客户端维持此长连接。
进一步的,作为一种实施方式,若有存活的所述脚本会话标识对应的异步长连接,则执行步骤S30。
具体的,若当前服务器已与当前客户端建立有当前脚本会话标识对应的异步长连接,且此长连接处于存活、可用状态,则服务器直接使用此存活的长连接,基于数据请求向客户端返回推送的数据内容及更新的数据。
在本实施例中,在得到数据请求携带的脚本会话标识后,首先根据此脚本会话标识,判断是否有存活的此脚本会话标识对应的异步长连接;若没有存活的此脚本会话标识对应的异步长连接,则与客户端建立此脚本会话标识对应的异步长连接,用于推送更新的数据;若有存活的此脚本会话标识对应的异步长连接,则可以直接使用此存活的异步长连接,向客户端返回数据及推送更新的数据。由此,本实施例控制同一脚本会话标识同时仅对应存活一个异步长连接,避免了重复建链,使得同一页面的不同数据请求,可以使用同一脚本会话标识对应的异步长连接进行数据的更新,降低了服务器的负担,提升了数据运行效率。
进一步的,参照图8,本发明AJAX通信方法第三实施例提供一种AJAX通信方法,基于上述图6或图7所示的实施例(本实施例以图6为例),所述步骤S20包括:
步骤S21、根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;
步骤S22、根据所述数据请求,登记所述异步长连接请求的数据;
对应的,所述步骤S30包括:
步骤S31、在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;
步骤S32、基于所述确定的异步长连接,向所述客户端推送更新的数据。
本实施例与上述本发明AJAX通信方法第一实施例、第二实施例的区别在于:本实施例通过客户端的会话标识和客户端页面进一步标识脚本会话标识对应的异步长连接,以保障服务器推送给客户端数据能够通过正确的异步长连接返回客户端。
具体的,服务器在注册当前脚本会话标识对应的异步长连接时,获取当前客户端页面的标识以及客户端的会话标识,然后使用页面标识及客户端的会话标识,标注此异步长连接。
其中,页面标识可以是当前客户端的页面ID(编号),是与客户端当前的页面对应的,唯一指向此页面的标识信息;客户端的会话标识也即SessionID,是服务器分配给客户端的,用以唯一标识此客户端。
因此,建立的异步长连接对应的标识信息共有客户端的会话标识、客户端的页面标识以及当前脚本会话标识。需要说明的是,客户端的页面标识指向的页面与脚本会话标识指向的页面为同一页面。
并且,当前建立的异步长连接可以注册在客户端的会话标识下,也即SessionID下。
则,参照图10,同一客户端会话标识下可以同时注册多个脚本会话标识对应的异步长连接,为了更加准确的区分不同的异步长连接,同一客户端会话标识下的异步长连接使用各自对应的客户端页面标识及脚本会话标识进行标注。
由此,实现了异步长连接的建立。
然后,服务器根据当前的数据请求,登记此异步长连接所请求获取的数据。
对应的,当服务器检测到此异步长连接所请求的数据有更新时,根据此异步长连接的会话标识,在已建立异步长连接的客户端中,确定对应的客户端。
然后,在确定的客户端的会话标识下,查找已注册的异步长连接中,是否有标注信息为此异步长连接所对应的页面标识和脚本会话标识的。
若在确定的客户端的会话标识下,成功找到标注信息为此异步长连接对应的页面标识和脚本会话标识的异步长连接,则确定找到的异步长连接为当前更新数据对应的异步长连接。
然后,服务器使用此确定的异步长连接,向客户端推送更新的数据,调用客户端的页面脚本更新对应的数据。
在本实施例中,建立异步长连接时,根据为当前客户端分配的会话标识,客户端当前页面的页面标识,以及当前获取的脚本会话标识,对应注册与客户端的异步长连接;然后,根据当前数据请求,登记异步长连接请求的数据,确定此异步长连接所需要的数据,用以在检测到数据更新时,可以及时确定需推送数据的异步长连接;在检测到此异步长连接请求的数据更新时,根据此异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;然后,基于确定的异步长连接,向客户端推送更新的数据。本实施例在脚本会话标识的基础上,增加了客户端的会话标识与客户端当前页面的页面标识,用来标注建立的异步长连接,从而使建立的每一个异步长连接都具有唯一性,当检测到数据更新时,可以根据这三项信息查找到唯一对应的异步长连接,用来推送更新的数据,提高了数据推送的准确定。
进一步的,参照图9,本发明AJAX通信方法第四实施例提供一种AJAX通信方法,本实施例可通过上述本发明AJAX通信装置第四实施例具体实现。基于上述图6、图7或图8所示的任一实施例,所述AJAX通信方法还包括:
步骤S50、根据预设的频率,检测所述异步长连接是否超时;
步骤S60、若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
本实施例与上述发明AJAX通信方法第一实施例、第二实施例及第三实施例的区别在于:本实施例在检测到已建立的异步长连接超时,也即异步长连接失效时,及时关闭此异步长连接,释放占用的服务器资源。
具体的,客户端在与服务器建立异步长连接时,设置有异步长连接的有效时限。服务器每次在通过异步长连接向客户端推送数据时,都需要记录使用此异步长连接的时间。
作为一种实施方式,服务器按照预设的频率,获取异步长连接最近一次的使用时间,也即最近一次通过此异步长连接向客户端推送数据的时间。服务器将此时间作为起始时间。若服务器一直未通过建立的异步长连接向客户端推送数据,则取建立异步长连接的时间为起始时间。
然后,服务器根据当前的时间,计算当前时间与起始时间的时间差,判断时间差是否超过预先配置的有效时限。
若当前时间与起始时间的时间差大于或等于预先配置的有效时限,则判定此异步长连接已超时。
此时,服务器关闭此异步长连接,此异步长连接失效。
同时,服务器通知客户端此异步长连接失效。
客户端在收到通知消息后,可根据页面需要,判断是否需要重建此异步长连接。
若当前页面需要接收更新的数据,则客户端基于当前页面的脚本会话标识,向服务器发送数据请求,以重建异步长连接。
在本实施例中,服务器根据预设的频率,检测异步长连接是否超时;若异步长连接超时,则关闭此异步长连接,并通知对应的客户端。本实施例在异步长连接超时时及时关闭,减轻服务器的资源消耗;同时,通知客户端异步长连接的关闭,使客户端可以根据需求重建异步长连接。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种AJAX通信系统,其特征在于,所述AJAX通信系统包括:
标识模块,用于在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识;
建链模块,用于根据所述脚本会话标识,对应注册与所述客户端的异步长连接;
推送模块,用于在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
2.如权利要求1所述的AJAX通信系统,其特征在于,所述AJAX通信系统还包括:
判断模块,用于根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;
所述建链模块,还用于若没有存活的所述脚本会话标识对应的异步长连接,则据所述脚本会话标识,对应注册与所述客户端的异步长连接。
3.如权利要求2所述的AJAX通信系统,其特征在于,所述推送模块,还用于,
若有存活的所述脚本会话标识对应的异步长连接,则在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
4.如权利要求1、2或3所述的AJAX通信系统,其特征在于,所述建链模块,还用于,
根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;根据所述数据请求,登记所述异步长连接请求的数据;
所述推送模块,还用于,
在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;基于所述确定的异步长连接,向所述客户端推送更新的数据。
5.如权利要求4所述的AJAX通信系统,其特征在于,所述AJAX通信系统还包括:
时限模块,用于根据预设的频率,检测所述异步长连接是否超时;若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
6.一种AJAX通信方法,其特征在于,所述AJAX通信方法包括以下步骤:
在收到客户端发送的数据请求时,获取所述数据请求携带的脚本会话标识;
根据所述脚本会话标识,对应注册与所述客户端的异步长连接;
在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
7.如权利要求6所述的AJAX通信方法,其特征在于,所述根据所述脚本会话标识,对应注册与所述客户端的异步长连接的步骤之前,还包括:
根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接;
若没有存活的所述脚本会话标识对应的异步长连接,则执行步骤:根据所述脚本会话标识,对应注册与所述客户端的异步长连接。
8.如权利要求7所述的AJAX通信方法,其特征在于,所述根据所述脚本会话标识,判断是否有存活的所述脚本会话标识对应的异步长连接的步骤之后,还包括:
若有存活的所述脚本会话标识对应的异步长连接,则执行步骤:在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据。
9.如权利要求6、7或8所述的AJAX通信方法,其特征在于,所述根据所述脚本会话标识,对应注册与所述客户端的异步长连接的步骤包括:
根据为所述客户端分配的会话标识、所述客户端的页面标识以及所述脚本会话标识,对应注册与所述客户端的异步长连接;
根据所述数据请求,登记所述异步长连接请求的数据;
所述在检测到所述数据请求对应的数据更新时,基于所述异步长连接,向所述客户端推送更新的数据的步骤包括:
在检测到所述异步长连接请求的数据更新时,根据所述异步长连接对应的会话标识、页面标识以及脚本会话标识,在已注册的异步长连接中确定更新数据对应的异步长连接;
基于所述确定的异步长连接,向所述客户端推送更新的数据。
10.如权利要求9所述的AJAX通信方法,其特征在于,所述AJAX通信方法还包括:
根据预设的频率,检测所述异步长连接是否超时;
若所述异步长连接超时,则关闭所述异步长连接,并通知所述客户端。
CN201610959455.5A 2016-11-03 2016-11-03 Ajax通信系统和方法 Pending CN106569899A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610959455.5A CN106569899A (zh) 2016-11-03 2016-11-03 Ajax通信系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610959455.5A CN106569899A (zh) 2016-11-03 2016-11-03 Ajax通信系统和方法

Publications (1)

Publication Number Publication Date
CN106569899A true CN106569899A (zh) 2017-04-19

Family

ID=58535681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610959455.5A Pending CN106569899A (zh) 2016-11-03 2016-11-03 Ajax通信系统和方法

Country Status (1)

Country Link
CN (1) CN106569899A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040296A (zh) * 2018-08-30 2018-12-18 上海艾融软件股份有限公司 一种基于长连接的数据推送方法及系统
CN109151056A (zh) * 2018-09-26 2019-01-04 携程计算机技术(上海)有限公司 基于Canal的消息推送方法和系统
CN112328933A (zh) * 2020-10-16 2021-02-05 许继集团有限公司 一种基于canvas的组态图形web发布方法
CN111245874B (zh) * 2018-11-28 2023-12-05 杭州海康威视数字技术股份有限公司 信息推送方法、装置、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815013A (zh) * 2009-12-24 2010-08-25 航天恒星科技有限公司 一种基于Ajax和Web服务技术的卫星应用系统运行监控方法
CN102891875A (zh) * 2011-07-21 2013-01-23 中兴通讯股份有限公司 信令跟踪方法、web客户端、服务端及信令跟踪系统
CN103179520A (zh) * 2011-12-22 2013-06-26 中国电信股份有限公司 一种基于接收者状态的数据推送系统和方法
CN104378436A (zh) * 2014-11-20 2015-02-25 深圳市远行科技有限公司 一种基于服务器推送的信息推送系统及推送方法
US20150067031A1 (en) * 2013-09-04 2015-03-05 AppDynamics, Inc. Business transaction correlation with client request monitoring data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815013A (zh) * 2009-12-24 2010-08-25 航天恒星科技有限公司 一种基于Ajax和Web服务技术的卫星应用系统运行监控方法
CN102891875A (zh) * 2011-07-21 2013-01-23 中兴通讯股份有限公司 信令跟踪方法、web客户端、服务端及信令跟踪系统
CN103179520A (zh) * 2011-12-22 2013-06-26 中国电信股份有限公司 一种基于接收者状态的数据推送系统和方法
US20150067031A1 (en) * 2013-09-04 2015-03-05 AppDynamics, Inc. Business transaction correlation with client request monitoring data
CN104378436A (zh) * 2014-11-20 2015-02-25 深圳市远行科技有限公司 一种基于服务器推送的信息推送系统及推送方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
姜毅等: ""基于HTTP的实时信息传输方法"", 《计算机工程与设计》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109040296A (zh) * 2018-08-30 2018-12-18 上海艾融软件股份有限公司 一种基于长连接的数据推送方法及系统
CN109040296B (zh) * 2018-08-30 2021-04-06 上海艾融软件股份有限公司 一种基于长连接的数据推送方法及系统
CN109151056A (zh) * 2018-09-26 2019-01-04 携程计算机技术(上海)有限公司 基于Canal的消息推送方法和系统
CN109151056B (zh) * 2018-09-26 2021-11-19 携程计算机技术(上海)有限公司 基于Canal的消息推送方法和系统
CN111245874B (zh) * 2018-11-28 2023-12-05 杭州海康威视数字技术股份有限公司 信息推送方法、装置、服务器及存储介质
CN112328933A (zh) * 2020-10-16 2021-02-05 许继集团有限公司 一种基于canvas的组态图形web发布方法

Similar Documents

Publication Publication Date Title
CN105939416A (zh) 移动终端及其应用预启动方法
CN103907113A (zh) 用于分布式脚本处理的方法和装置
CN106648369A (zh) 应用程序的切换装置及方法
CN104885486A (zh) 对访问在线用户群组进行基于位置的授权
CN106569899A (zh) Ajax通信系统和方法
CN106412104A (zh) 应用消息推送装置及方法
CN105190621A (zh) 用于内容的异步分发的方法和装置
CN106648725A (zh) 终端、服务器及配置文件升级方法
CN113039817B (zh) 用于在本地区域数据网中提供服务的方法和设备
CN101926148A (zh) 用于对超媒体格式和/或窗口小应用提供本地广播支持的方法、装置和计算机程序产品
CN106484470A (zh) 应用程序安装包的处理方法、装置及服务器
CN106961668A (zh) 移动终端定位装置及方法
CN106231650A (zh) 一种网络接入方法及终端
US10447758B2 (en) System and method for sharing web browser state information between user devices
CN105554710A (zh) 消息显示方法和装置
US10389724B2 (en) Information sharing for third party applications in cellular telecommunication infrastructures
CN106973109A (zh) 广播消息推送控制方法及装置
CN106547565A (zh) 一种浏览器异常上报方法及系统
CN106055214B (zh) 应用软件的评价处理方法及装置
CN105141979A (zh) 视频字幕匹配装置、系统及方法
CN106603872A (zh) 一种根据关联策略启动应用的方法、装置和移动终端
CN106572245A (zh) 一种防误触装置及方法
CN106210230B (zh) 一种联系人增加方法和终端
CN106454978A (zh) 一种数据网络切换装置及方法
CN107220294A (zh) 一种请求处理的方法和终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170419

RJ01 Rejection of invention patent application after publication