CN108509510A - 界面数据的更新方法、服务端及客户端 - Google Patents

界面数据的更新方法、服务端及客户端 Download PDF

Info

Publication number
CN108509510A
CN108509510A CN201810189525.2A CN201810189525A CN108509510A CN 108509510 A CN108509510 A CN 108509510A CN 201810189525 A CN201810189525 A CN 201810189525A CN 108509510 A CN108509510 A CN 108509510A
Authority
CN
China
Prior art keywords
data
client
server
block
interface
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
CN201810189525.2A
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201810189525.2A priority Critical patent/CN108509510A/zh
Publication of CN108509510A publication Critical patent/CN108509510A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本说明书披露的实施例提供的一种在服务端执行的界面数据的更新方法。该方法包括:首先,当数据源检测到其中的第一数据发生更新时,向服务端发送第二数据。接着,服务端根据第二数据,向客户端发送第三数据。然后,客户端根据第三数据对其界面进行更新显示。

Description

界面数据的更新方法、服务端及客户端
技术领域
本说明书披露的多个实施例涉及互联网技术领域,尤其涉及一种界面数据的更新方法、服务端及客户端。
背景技术
随着互联网技术的发展,人们越来越频繁地使用客户端(或称为用户端,是指与服务端相对应,为客户提供本地服务的程序),以满足生活中的多种需求。通常情况下,客户端被安装在客户机(如,电脑、手机等)上,通过网络与服务端相互配合运行。例如,客户端可以包括万维网中的网络浏览器、电子邮件客户端和即时通讯的客户端软件等。
在有些场景下,用户会对客户端界面数据的实时性具有较高的要求。例如,用户根据蚂蚁聚宝中提供的股票走势信息进行交易时,需要股票的走势信息等及时更新。又例如,用户使用手机淘宝参与秒杀活动时,需要所购买商品的剩余数量等信息及时更新。然而,目前客户端界面数据的更新大多采用轮询方式,效率低下,且存在浪费网络流量的情况。因此,需要提供更加合理的方案,以满足用户使用客户端时的多种需求。
发明内容
在本说明书描述的一种界面数据的更新方法、服务端及客户端中,当数据源检测到其中的第一数据更新为第二数据时,将第二数据发送至服务端。接着,服务端根据第二数据向客户端发送第三数据,以使客户端根据第三数据对其界面进行更新显示。如此,可以使客户端的界面数据得到及时更新,从而满足用户对界面数据的时效性要求。
第一方面,提供了一种在服务端执行的界面数据的更新方法。该方法包括:
从数据源接收第二数据,所述第二数据为所述数据源检测到其中的第一数据发生更新时所发送的数据;
根据所述第二数据,向客户端发送第三数据,以使所述客户端根据所述第三数据对其界面进行更新显示。
在一种可能的实施方式中,在所述从数据源接收第二数据之前,还包括:
从所述数据源接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求,向所述数据源请求的数据;
向所述客户端发送所述第一数据,以使所述客户端根据所述第一数据对其界面进行显示。
在一种可能的实施方式中,所述向所述客户端发送所述第一数据,包括:所述服务端与所述客户端建立长连接;
所述向客户端发送第三数据,包括:通过所述长连接,向所述客户端发送所述第三数据。
在一种可能的实施方式中,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第二数据中包括与所述某个分块对应的第二分块数据;
所述向客户端发送第三数据,包括:
判断所述第二分块数据与所述第一分块数据是否相同;
当所述第二分块数据与所述第一分块数据不同时,将所述第二分块数据包含在所述第三数据中发送给所述客户端。
在一种可能的实施方式中,所述判断所述第二分块数据与所述第一分块数据是否相同,包括:
确定与所述第二分块数据对应的第二哈希值;
判断所述第二哈希值和与所述第一分块数据对应的第一哈希值是否相同。
第二方面,提供了一种在客户端执行的界面数据的更新方法。该方法包括:
从服务端接收第三数据,所述第三数据为所述服务端基于第二数据而发送的数据,所述第二数据为数据源检测到其中的第一数据发生更新时发送至所述服务端的数据;
根据所述第三数据对所述界面进行更新显示。
在一种可能的实施方式中,在所述从服务端接收第三数据之前,还包括:
向所述服务端请求所述第一数据;
从所述服务端接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求从所述数据源请求得到的数据;
根据所述第一数据对所述客户端的界面进行显示。
在一种可能的实施方式中,所述从所述服务端接收所述第一数据,包括:所述客户端与所述服务端建立长连接;
所述从服务端接收第三数据,包括:通过所述长连接,从所述服务端接收所述第三数据。
在一种可能的实施方式中,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第三数据中包括与所述某个分块对应的第三分块数据;
所述根据所述第三数据对所述界面进行更新显示,包括:
判断所述第三分块数据与所述第一分块数据是否相同;
当所述第三分块数据与所述第一分块数据不同时,根据所述第三分块数据对与该数据对应的分块进行更新显示。
在一种可能的实施方式中,所述判断所述第三分块数据与所述第一分块数据是否相同,包括:
确定与所述第三分块数据对应的第三哈希值;
判断所述第三哈希值和与所述第一分块数据对应的第一哈希值是否相同。
第三方面,提供了一种服务端。该服务端包括:
接收单元,用于从数据源接收第二数据,所述第二数据为所述数据源检测到其中的第一数据发生更新时所发送的数据;
发送单元,用于根据所述第二数据,向客户端发送第三数据,以使所述客户端根据所述第三数据对其界面进行更新显示。
在一种可能的实施方式中,所述接收单元,还用于从所述数据源接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求,向所述数据源请求的数据;
所述发送单元,还用于向所述客户端发送所述第一数据,以使所述客户端根据所述第一数据对其界面进行显示。
在一种可能的实施方式中,还包括:
处理单元,用于与所述客户端建立长连接;
所述发送单元具体用于:通过所述长连接,向所述客户端发送所述第三数据。
在一种可能的实施方式中,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第二数据中包括与所述某个分块对应的第二分块数据;所述服务端还包括:
处理单元,用于判断所述第二分块数据与所述第一分块数据是否相同
所述发送单元具体用于:当所述第二分块数据与所述第一分块数据不同时,将所述第二分块数据包含在所述第三数据中发送给所述客户端。
在一种可能的实施方式中,所述处理单元具体用于:
确定与所述第二分块数据对应的第二哈希值;
判断所述第二哈希值和与所述第一分块数据对应的第一哈希值是否相同。
第四方面,提供了一种客户端。该客户端包括:
接收单元,用于从服务端接收第三数据,所述第三数据为所述服务端基于第二数据而发送的数据,所述第二数据为数据源检测到其中的第一数据发生更新时发送至所述服务端的数据;
处理单元,用于根据所述第三数据对所述界面进行更新显示。
在一种可能的实施方式中,还包括:
发送单元,用于向所述服务端请求所述第一数据;
所述接收单元,还用于从所述服务端接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求从所述数据源请求得到的数据;
所述处理单元,还用于根据所述第一数据对所述客户端的界面进行显示。
在一种可能的实施方式中,还包括:
所述处理单元,用于与所述服务端建立长连接;
所述接收单元具体用于:通过所述长连接,从所述服务端接收所述第三数据。
在一种可能的实施方式中,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第三数据中包括与所述某个分块对应的第三分块数据;
所述处理单元具体包括:
判断子单元,用于判断所述第三分块数据与所述第一分块数据是否相同;
显示子单元,用于当所述第三分块数据与所述第一分块数据不同时,根据所述第三分块数据对与该数据对应的分块进行更新显示。
在一种可能的实施方式中,所述判断子单元具体用于:
确定与所述第三分块数据对应的第三哈希值;
判断所述第三哈希值和与所述第一分块数据对应的第一哈希值是否相同。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序。当所述计算机程序在计算机中执行时,令计算机执行上述第一方面或第二方面中任一实施例所提供的方法。
第六方面,提供了一种计算设备,包括存储器和处理器。所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述第一方面或第二方面中任一实施例所提供的方法。
在本说明书提供的一种界面数据的更新方法、服务端及客户端中,当首次进入客户端的某个界面时,客户端主动向服务端发送请求,并与服务端建立长连接,同时根据服务端从数据源接收的第一数据,对客户端的界面进行初始显示。然后,当数据源检测到其中的第一数据发生更新时,将更新后的第二数据发送至服务端,服务端可以将第三数据(也就是第二数据)发送至客户端,以使客户端可以根据第三数据对其界面及时、准确地进行更新显示,从而使满足用户对界面数据的时效性要求。
进一步地,可以将客户端的界面设计为分块结构。相应地,服务端可以根据第二数据中包括的至少一个第二分块数据,将第二数据中相对于第一分块数据有更新的第二分块数据作为第三数据发送至客户端,以使客户端可以根据第三数据对与第三数据对应的分块进行更新。或者,服务端可以直接将第二数据(也就是第三数据)发送给客户端,然后客户端根据第三数据中包括的至少一个第三分块数据,确定出其中相对于第一分块数据有更新的第三分块数据,并根据有更新的第三分块数据对相应的分块对界面进行更新显示。如此,可以减少数据更新时服务端占用的带宽和客户端的流量,并减少客户端对其界面进行更新时产生的消耗。
附图说明
为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例提供的一种界面数据的更新方法的应用场景示意图;
图2为本说明书披露的一个实施例提供的一种界面示意图;
图3为本说明书披露的一个实施例提供的另一种界面示意图;
图4为本说明书披露的一个实施例提供的一种界面数据的更新方法的通信示意图;
图5为本说明书披露的一个实施例提供的一种界面分块的示意图;
图6为本说明书披露的一个实施例提供的另一种界面分块的示意图;
图7为本说明书披露的一个实施例提供的一种服务端的结构示意图;
图8为本说明书披露的一个实施例提供的一种客户端的结构示意图。
具体实施方式
下面结合附图,对本说明书披露的多个实施例进行描述。
图1为本说明书披露的一个实施例提供的一种界面数据的更新方法的应用场景示意图。在一个应用场景中,用户通过终端(如,终端可以为手机、平板电脑、可穿戴智能设备等)登录客户端(如,客户端可以为蚂蚁聚宝或者淘宝应用等)。此时,可以采用本说明书实施例中提供的界面数据的更新方法。
首先,用户通过终端首次进入客户端的某个界面(客户端的界面(UserInterface,简称UI)是指用户与终端中的客户端进行交互时,在终端显示屏上采用图形方式显示的用户操作界面)时,触发客户端向服务端发出请求(如,该请求可以用于请求界面数据,以及请求与服务端建立长连接)。服务端(服务端是为客户端服务的,可以向客户端提供服务内容,以及保存客户端数据等)响应于客户端的请求,向数据源(数据源是信息系统中数据的来源,是提供数据的器件或原始媒体,且数据源可以包括数据库或者数据库服务器)请求第一数据(如,第一数据可以包括2018年1月20日下午5:04可以领取的优惠券信息),并将数据源下发的第一数据发送至客户端(与此同时,还可以与客户端之间建立长连接),以使客户端根据接收到的第一数据对其界面进行渲染(例如,支付宝的客户端可以根据接收到的第一数据显示如图2所示的界面内容)。
当数据源(如,数据源可以包括数据库或者数据库服务器)检测到其中的第一数据更新为第二数据(如,第二数据可以包括2018年1月20日下午5:07可以领取的优惠券信息)时,将第二数据发送至服务端。接着,服务端可以(如,可以通过与客户端之间建立的长连接)根据第二数据将第三数据(如,第三数据可以与第二数据相同)发送至客户端,以使客户端根据第三数据对其界面进行更新显示(例如,支付宝的客户端可以根据接收到的第三数据将图2所述的界面更新显示为如图3所示的界面)。
在本说明书披露的多个实施例提供的界面数据的更新方法中,当数据源检测到其中的第一数据更新为第二数据时,将第二数据发送至服务端。接着,服务端根据第二数据向客户端发送第三数据,以使客户端根据第三数据对其界面进行更新显示。如此,可以使客户端的界面数据得到及时更新,从而满足用户对界面数据的时效性要求。
图4为本说明书披露的一个实施例提供的一种界面数据的更新方法的通信示意图。如图4所示,所述方法具体包括:
步骤S410,客户端向服务端发起请求。
具体地,当首次进入客户端中的某个界面时,可以触发客户端向服务端发起请求,该请求可以用于请求相应界面的数据。
在一个实施例中,客户端根据用户对其进行的打开操作(如,对客户端的网页链接进行的点击操作或对客户端的应用图标进行的点击操作)而生成的输入指令,向服务端发起请求,以从服务端接收用于对客户端界面进行显示的数据。
在另一个实施例中,当用户对客户端界面中的图形或文字进行点击操作并首次跳转至另一界面时,客户端可以向服务端发起请求,以从服务端接收用于对跳转后的界面进行显示的数据。
步骤S420,服务端响应于客户端的请求,向数据源请求其中包括的第一数据。
具体地,服务端响应于客户端的请求,向至少一个数据源请求其中包括的第一数据。其中至少一个数据源中的各个数据源分别包括对应的各个第一数据。
在一个实施例中,客户端的界面被设计为分块结构,也就是说,界面中可以包括多个分块。而多个分块中的任意两个分块的数据可以来自相同的数据源,也可以来自不同的数据源。
在一个例子中,多个分块中的各个分块的数据均来自相同的数据源。相应地,服务端需要向该数据源请求第一数据,且第一数据与整个界面包括的分块数据相对应。
在另一个例子中,多个分块中存在两个分块来自不同数据源的情况。相应地,服务端需要向多个数据源请求其中包括的第一数据,且各个数据源中包括的第一数据可以与多个分块中的至少一个分块相对应。
例如,如图5所示,客户端的界面可以被分为A、B、C、D四个分块。在一种情况下,数据源1中的第一数据可以对应于分块A,数据源2中的第一数据可以对应于分块B,数据源3中的第一数据可以对应于分块C和分块D。
相应地,服务端需要分别向数据源1、数据源2和数据源3请求其中包括的第一数据。
在另一个实施例中,客户端的界面未被设计为分块结构,界面中的数据均来自相同的数据源。相应地,服务端需要向该数据源请求第一数据,且第一数据与整个界面包括的分块数据相对应。
上述所提及的将客户端的界面设计为分块结构,其中分块的依据可以为界面数据所对应的业务类型或业务内容等。在一个例子中,可以根据界面数据的业务内容对界面进行分块。如图6所示,可以根据淘宝应用首页中的业务内容,将首页分成a-i共9个分块:分块a中包括热点搜索;分块b中包括横幅广告(banner);分块c中包括分类图标(如,天猫、外卖、飞猪旅行等);分块d中包括淘宝头条;分块e中包括秒杀活动的信息;分块f中包括好货推荐;分块g中包括抢购活动;分块h中包括必买清单;分块i中包括一些常用图标(如,消息、购物车、我的淘宝等)。
此外,数据源与界面分块之间的对应关系,可以根据界面分块的内容特征(如,数据格式、时效性特征、分块内容之间的文本相似度等)进行确定。在一个例子中,客户端的某个界面被设计为图6所示的分块结构,数据源(如,与界面对应的数据源包括5个)与该分块结构中多个分块(如,界面中包括9个分块)的对应关系可以包括:数据源1可以对应于分块a和分块b,数据源2可以对应于分块c和分块i,数据源3可以对应于分块d,数据源4可以对应于分块e和分块g,数据源5可以对应于f和分块h。
由上可知,服务端响应于客户端的请求,可以向与客户端界面所对应的至少一个数据源请求其中包括的第一数据。
接着,在步骤S430,服务端从数据源接收第一数据。
具体地,服务端从至少一个数据源接收其中包括的第一数据。
在一个实施例中,单个数据源中的第一数据与客户端的整个界面相对应。此时,服务端可以从该数据源接收其中包括的第一数据。
在另一个实施例中,某个数据源中的第一数据与客户端界面中的至少一个分块(但不是所有分块)相对应。此时,服务端可以分别从多个数据源接收其中包括的第一数据。
步骤S440,服务端将第一数据发送至客户端。
具体地,服务端将接收到的至少一个第一数据发送至客户端,所述至少一个第一数据可以构成完整的界面数据。
步骤S450,客户端根据服务端下发的第一数据对界面进行显示。
具体地,当界面未被设计为分块结构时,整个界面的数据对应一个数据模型(数据模型中可以包括数据内容和数据结构的定义等),这个数据模型可以填充界面内部的UI控件,以使客户端基于接收到的第一数据,利用UI控件对界面进行显示。
当界面被设计为分块结构时,对界面中包括的多个分块,每个分块可以对应一个独立的数据模型,这些数据模型可以填充分块结构内部的UI控件。多个分块中的各个分块可以从其对应的第一数据中获取分块数据,并基于该分块数据,利用UI控件实现客户单界面的完整显示。
在一个例子中,图5中的客户端界面可以被分为A、B、C、D四个分块,且数据源1和数据源2分别对应分块A和分块B,数据源3对应分块C和分块D。相应地,客户端可以利用来自于数据源1的第一数据对分块A进行界面显示,利用与来自于数据源2的第一数据对分块B进行界面显示,利用来自于数据源3的第一数据对分块C和分块D进行界面显示。
由上可知,通过步骤S410-步骤S450,当首次进入客户端中的某个界面时,可以主动触发客户端向服务端发送请求,服务端响应于该请求,向数据源请求数据,并将请求到的第一数据下发至客户端,使客户端可以根据第一数据对其界面进行初始显示。
在步骤S430中,数据源响应于服务端的请求,将第一数据下发至服务端。此后(如,在步骤S450以后),在步骤S460,当数据源检测到其中的第一数据发生更新时,将更新后的第二数据发送至服务端。
在一个实施例中,数据源中可以包括触发器,当数据源中的第一数据发生增加、删除或修改等情况时,会触动该触发器并将更新后的第二数据发送至服务端。
在一个实施例中,当数据源有更新时,可以向服务端发送由数据更新通知(notify)和更新数据(payload)组成的结构体。数据源基于这样的结构体形成第二数据,发送到服务端。
步骤S470,服务端根据第二数据,向客户端发送第三数据。
具体地,服务端可以直接将第二数据(也就是第三数据)发送给客户端。
或者,服务端可以先对第二数据和第一数据进行比较处理,再根据比较处理的结果,向客户端发送第三数据。
更具体地,当客户端的界面包括多个分块时,服务端可以根据界面的分块状况,确定与第二数据对应的至少一个分块,以及第二数据中包括的、与上述至少一个分块对应的至少一个第二分块数据。同时,服务端分别确定上述至少一个第二分块数据,与对应的第一分块数据(第一分块数据是第一数据中与上述至少一个分块对应的分块数据)是否相同。当第二分块数据与对应的第一分块数据相同(也就是第一分块数据没有产生更新)时,则不将该第二分块数据发送至客户端;当第二分块数据与对应的第一分块数据不同(也就是第一分块数据产生更新)时,则将该第二分块数据发送至客户端。
在一个例子中,图5中的客户端界面可以被分为A、B、C、D四个分块。数据源3可以对应于分块C和分块D。相应地,当服务端从数据源3接收到第二数据时,可以确定第二数据中包括的第二分块C数据和第二分块D数据,并将其分别与第一数据中包括的第一分块C数据和第一分块D数据进行比较。例如,第一分块C数据与第二分块C数据相同,而第一分块D数据与第二分块D数据不同,则不将第二分块C数据发送至客户端,而将第二分块D数据(作为第三数据)发送至客户端。
因此,第三数据可能与第二数据相同;也可能不同于第二数据,而是第二数据中的一部分。
需要说明的是,当客户端的界面包括多个分块时,服务端中可以设计接口数据,该接口数据中可以包括与多个分块中各个分块所对应的分块数据模型。相应地,在步骤S430中,服务端从数据源接收第一数据后,可以将第一数据存储为与多个分块中各个分块所对应的分块数据模型。以及,当服务端从数据源接收到第二数据时,可以确定第二数据中包括的各个第二分块数据,并判断第二分块数据和与其对应的第一分块数据是否相同。
此外,判断第二分块数据和与其对应的第一分块数据是否相同,可以包括:确定第二分块数据的哈希(hash)值,以及判断第二分块数据的哈希值与第一分块数据的哈希值是否相同。在一个实施例中,确定第二分块数据的哈希值,可以包括:采用散列算法(也就是哈希算法)生成与第二分块数据的数据模型对应的哈希值。在一个实施例中,第一分块数据的哈希值,可以为服务端在步骤S430中接收到第一数据后,根据第一数据中第一分块数据的数据模型而生成。
步骤S480,客户端根据第三数据对其界面进行更新显示。
具体地,客户端直接根据第三数据进行更新显示,或者,客户端对第三数据和第一数据进行比较处理以后,再进行更新显示。
在一个实施例中,客户端可以直接根据第三数据进行更新显示。在一个例子中,客户端的界面未被设计为分块结构,服务端在接收到第二数据,直接将第二数据(同时作为第三数据)发送至客户端。如此,客户端可以直接根据第三数据对整个界面进行更新显示。
在另一个例子中,客户端的界面被设计为分块结构,服务端在接收到第二数据后,对第一数据和第二数据进行比较处理,并根据比较处理的结果,将第三数据发送至客户端。如此,客户端可以直接根据第三数据对与第三数据对应的分块进行更新显示。
在另一个实施例中,客户端可以先对第三数据和第一数据进行比较处理,再根据比较处理的结果对其界面进行更新显示。
更具体地,在一个例子中,客户端的界面包括多个分块,而服务端将接收到的第二数据直接作为第三数据进行转发,此时客户端可以首先进行比较处理。具体而言,客户端可以根据界面分块状况,确定与第三数据对应的至少一个分块,以及第三数据中包括的、与至少一个分块对应的至少一个第三分块数据。同时,客户端分别确定上述至少一个第三分块数据,与对应的第一分块数据是否相同。当第三分块数据与对应的第一分块数据相同(也就是第一分块数据没有产生更新)时,则不需对与第一分块数据对应的分块进行更新显示;当第三分块数据与对应的第一分块数据不同(也就是第一分块数据产生更新)时,则根据第三分块数据对与之对应分块进行更新显示。
由上可知,客户端可以根据数据源下发的更新数据,对其界面进行更新显示。
需要说明的是,在步骤S470中,向客户端发送第三数据,可以包括:服务端通过其与客户端之间的长连接,向客户端发送第三数据。其中,客户端和服务端之间的长连接可以在执行步骤S410-步骤S440的同时完成建立。
长连接是指,在一个连接上可以连续发送多个数据包的连接方式。与长连接对应的是短连接,短连接可以响应于一个请求建立,当一个线程处理完该请求,该线程被线程池回收后,这个请求就关闭了,短连接随之断开。在长连接的保持期间,如果没有数据包发送,需要双方发链路检测包。链路检测包可以为心跳包,心跳包是指客户端和服务端之间定时通知对方自己状态的一个自己定义的命令字。其中,长连接可以基于超文本传输协议(HyperText Transfer Protocol,简称HTTP)、或者Servlet3等实现。
在一个实施例中,可以基于http1.0协议,实现客户端和服务端之间长连接的建立,具体可以包括:
在步骤S410中,在客户端向服务端发起的请求中可以包括一个报文头(header):“Connection:keep-alive”。
相应地,服务端在接收到这个请求后,根据http1.0和“Connection:keep-alive”可以判断出这是一个长连接。
在步骤S440中,在服务端将第一数据发送至客户端的同时,服务端在响应(response)的报文头中也增加“Connection:keep-alive”,且不会关闭已建立的传输控制协议(Transmission Control Protocol,简称TCP)连接。
相应地,服务端在接收到这个响应报文后,发现其中包含“Connection:keep-alive”,就不会关闭这个连接。
如此,客户端和服务端可以实现长连接的建立。
由上可知,在本说明书披露的多个实施例提供的界面数据的更新方法中,当首次进入客户端的某个界面时,客户端主动向服务端发送请求,并与服务端建立长连接,同时根据服务端从数据源接收的第一数据,对客户端的界面进行初始显示。然后,当数据源检测到其中的第一数据发生更新时,将更新后的第二数据发送至服务端,服务端可以将第三数据(也就是第二数据)发送至客户端,以使客户端可以根据第三数据对其界面及时、准确地进行更新显示,从而使满足用户对界面数据的时效性要求。
进一步地,可以将客户端的界面设计为分块结构。相应地,服务端可以根据第二数据中包括的至少一个第二分块数据,将第二数据中相对于第一分块数据有更新的第二分块数据作为第三数据发送至客户端,以使客户端可以根据第三数据对与第三数据对应的分块进行更新。或者,服务端可以直接将第二数据(也就是第三数据)发送给客户端,然后客户端根据第三数据中包括的至少一个第三分块数据,确定出其中相对于第一分块数据有更新的第三分块数据,并根据有更新的第三分块数据对相应的分块对界面进行更新显示。如此,可以减少数据更新时服务端占用的带宽和客户端的流量,并减少客户端对其界面进行更新时产生的消耗。
与上述界面内容的更新方法对应地,本说明书披露的多个实施例还提供一种服务端,如图7所示,该服务端700包括:
接收单元710,用于从数据源接收第二数据,第二数据为数据源检测到其中的第一数据发生更新时所发送的数据;
发送单元720,用于根据第二数据,向客户端发送第三数据,以使客户端根据第三数据对其界面进行更新显示。
在一种可能的实施方式中,
接收单元710,还用于从数据源接收第一数据,第一数据为服务端响应于客户端的请求,向数据源请求的数据;
发送单元720,还用于向客户端发送第一数据,以使客户端根据第一数据对其界面进行显示。
在一种可能的实施方式中,还包括:
处理单元730,用于与客户端建立长连接;
发送单元720具体用于:通过长连接,向客户端发送第三数据。
在一种可能的实施方式中,客户端的界面包括多个分块,第一数据包括与多个分块中的某个分块对应的第一分块数据,第二数据中包括与某个分块对应的第二分块数据;服务端还包括:
处理单元730,用于判断第二分块数据与第一分块数据是否相同
发送单元720具体用于:当第二分块数据与第一分块数据不同时,将第二分块数据包含在第三数据中发送给客户端。
在一种可能的实施方式中,处理单元730具体用于:
确定与第二分块数据对应的第二哈希值;
判断第二哈希值和与第一分块数据对应的第一哈希值是否相同。
与上述界面内容的更新方法对应地,本说明书披露的多个实施例还提供一种客户端,如图8所示,该装置800包括:
接收单元810,用于从服务端接收第三数据,第三数据为服务端基于第二数据而发送的数据,第二数据为数据源检测到其中的第一数据发生更新时发送至服务端的数据;
处理单元830,用于根据第三数据对界面进行更新显示。
在一种可能的实施方式中,还包括:
发送单元820,用于向服务端请求第一数据;
接收单元810,还用于从服务端接收第一数据,第一数据为服务端响应于客户端的请求从数据源请求得到的数据;
处理单元830,还用于根据第一数据对客户端的界面进行显示。
在一种可能的实施方式中,还包括:
处理单元830,用于与服务端建立长连接;
接收单元810具体用于:通过长连接,从服务端接收第三数据。
在一种可能的实施方式中,客户端的界面包括多个分块,第一数据包括与多个分块中的某个分块对应的第一分块数据,第三数据中包括与某个分块对应的第三分块数据;
处理单元830具体包括:
判断子单元831,用于判断第三分块数据与第一分块数据是否相同;
显示子单元832,用于当第三分块数据与第一分块数据不同时,根据第三分块数据对与该数据对应的分块进行更新显示。
在一种可能的实施方式中,判断子单元831具体用于:
确定与第三分块数据对应的第三哈希值;
判断第三哈希值和与第一分块数据对应的第一哈希值是否相同。
此外,本说明书披露的多个实施例还提供一种界面更新系统,该系统中可以包括上述任一实施例中的数据源、客户端和服务端。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。

Claims (20)

1.一种在服务端执行的界面数据的更新方法,其特征在于,包括:
从数据源接收第二数据,所述第二数据为所述数据源检测到其中的第一数据发生更新时所发送的数据;
根据所述第二数据,向客户端发送第三数据,以使所述客户端根据所述第三数据对其界面进行更新显示。
2.根据权利要求1所述的方法,其特征在于,在所述从数据源接收第二数据之前,还包括:
从所述数据源接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求,向所述数据源请求的数据;
向所述客户端发送所述第一数据,以使所述客户端根据所述第一数据对其界面进行显示。
3.根据权利要求2所述的方法,其特征在于,所述向所述客户端发送所述第一数据,包括:所述服务端与所述客户端建立长连接;
所述向客户端发送第三数据,包括:通过所述长连接,向所述客户端发送所述第三数据。
4.根据权利要求1所述的方法,其特征在于,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第二数据中包括与所述某个分块对应的第二分块数据;
所述向客户端发送第三数据,包括:
判断所述第二分块数据与所述第一分块数据是否相同;
当所述第二分块数据与所述第一分块数据不同时,将所述第二分块数据包含在所述第三数据中发送给所述客户端。
5.根据权利要求4所述的方法,其特征在于,所述判断所述第二分块数据与所述第一分块数据是否相同,包括:
确定与所述第二分块数据对应的第二哈希值;
判断所述第二哈希值和与所述第一分块数据对应的第一哈希值是否相同。
6.一种在客户端执行的界面数据的更新方法,其特征在于,包括:
从服务端接收第三数据,所述第三数据为所述服务端基于第二数据而发送的数据,所述第二数据为数据源检测到其中的第一数据发生更新时发送至所述服务端的数据;
根据所述第三数据对所述界面进行更新显示。
7.根据权利要求6所述的方法,其特征在于,在所述从服务端接收第三数据之前,还包括:
向所述服务端请求所述第一数据;
从所述服务端接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求从所述数据源请求得到的数据;
根据所述第一数据对所述客户端的界面进行显示。
8.根据权利要求7所述的方法,其特征在于,所述从所述服务端接收所述第一数据,包括:所述客户端与所述服务端建立长连接;
所述从服务端接收第三数据,包括:通过所述长连接,从所述服务端接收所述第三数据。
9.根据权利要求6所述的方法,其特征在于,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第三数据中包括与所述某个分块对应的第三分块数据;
所述根据所述第三数据对所述界面进行更新显示,包括:
判断所述第三分块数据与所述第一分块数据是否相同;
当所述第三分块数据与所述第一分块数据不同时,根据所述第三分块数据对与该数据对应的分块进行更新显示。
10.根据权利要求9所述的方法,其特征在于,所述判断所述第三分块数据与所述第一分块数据是否相同,包括:
确定与所述第三分块数据对应的第三哈希值;
判断所述第三哈希值和与所述第一分块数据对应的第一哈希值是否相同。
11.一种服务端,其特征在于,包括:
接收单元,用于从数据源接收第二数据,所述第二数据为所述数据源检测到其中的第一数据发生更新时所发送的数据;
发送单元,用于根据所述第二数据,向客户端发送第三数据,以使所述客户端根据所述第三数据对其界面进行更新显示。
12.根据权利要求11所述的服务端,其特征在于,
所述接收单元,还用于从所述数据源接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求,向所述数据源请求的数据;
所述发送单元,还用于向所述客户端发送所述第一数据,以使所述客户端根据所述第一数据对其界面进行显示。
13.根据权利要求12所述的服务端,其特征在于,还包括:
处理单元,用于与所述客户端建立长连接;
所述发送单元具体用于:通过所述长连接,向所述客户端发送所述第三数据。
14.根据权利要求11所述的服务端,其特征在于,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第二数据中包括与所述某个分块对应的第二分块数据;所述服务端还包括:
处理单元,用于判断所述第二分块数据与所述第一分块数据是否相同
所述发送单元具体用于:当所述第二分块数据与所述第一分块数据不同时,将所述第二分块数据包含在所述第三数据中发送给所述客户端。
15.根据权利要求14所述的服务端,其特征在于,所述处理单元具体用于:
确定与所述第二分块数据对应的第二哈希值;
判断所述第二哈希值和与所述第一分块数据对应的第一哈希值是否相同。
16.一种客户端,其特征在于,包括:
接收单元,用于从服务端接收第三数据,所述第三数据为所述服务端基于第二数据而发送的数据,所述第二数据为数据源检测到其中的第一数据发生更新时发送至所述服务端的数据;
处理单元,用于根据所述第三数据对所述界面进行更新显示。
17.根据权利要求16所述的客户端,其特征在于,还包括:
发送单元,用于向所述服务端请求所述第一数据;
所述接收单元,还用于从所述服务端接收所述第一数据,所述第一数据为所述服务端响应于所述客户端的请求从所述数据源请求得到的数据;
所述处理单元,还用于根据所述第一数据对所述客户端的界面进行显示。
18.根据权利要求17所述的客户端,其特征在于,还包括:
所述处理单元,用于与所述服务端建立长连接;
所述接收单元具体用于:通过所述长连接,从所述服务端接收所述第三数据。
19.根据权利要求16所述的客户端,其特征在于,所述客户端的界面包括多个分块,所述第一数据包括与所述多个分块中的某个分块对应的第一分块数据,所述第三数据中包括与所述某个分块对应的第三分块数据;
所述处理单元具体包括:
判断子单元,用于判断所述第三分块数据与所述第一分块数据是否相同;
显示子单元,用于当所述第三分块数据与所述第一分块数据不同时,根据所述第三分块数据对与该数据对应的分块进行更新显示。
20.根据权利要求19所述的客户端,其特征在于,所述判断子单元具体用于:
确定与所述第三分块数据对应的第三哈希值;
判断所述第三哈希值和与所述第一分块数据对应的第一哈希值是否相同。
CN201810189525.2A 2018-03-08 2018-03-08 界面数据的更新方法、服务端及客户端 Pending CN108509510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810189525.2A CN108509510A (zh) 2018-03-08 2018-03-08 界面数据的更新方法、服务端及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810189525.2A CN108509510A (zh) 2018-03-08 2018-03-08 界面数据的更新方法、服务端及客户端

Publications (1)

Publication Number Publication Date
CN108509510A true CN108509510A (zh) 2018-09-07

Family

ID=63376299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810189525.2A Pending CN108509510A (zh) 2018-03-08 2018-03-08 界面数据的更新方法、服务端及客户端

Country Status (1)

Country Link
CN (1) CN108509510A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383839A (zh) * 2007-09-04 2009-03-11 阿里巴巴集团控股有限公司 基于数据服务器的数据分发系统及其实现方法
WO2014166265A1 (en) * 2013-04-12 2014-10-16 Tencent Technology (Shenzhen) Company Limited Method, terminal, cache server and system for updating webpage data
CN104519081A (zh) * 2013-09-27 2015-04-15 阿里巴巴集团控股有限公司 一种页面访问的方法和装置
CN107391507A (zh) * 2016-05-16 2017-11-24 阿里巴巴集团控股有限公司 移动端页面的更新方法和装置
CN107528894A (zh) * 2017-08-16 2017-12-29 郑州云海信息技术有限公司 一种存储系统实时数据获取方法及平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101383839A (zh) * 2007-09-04 2009-03-11 阿里巴巴集团控股有限公司 基于数据服务器的数据分发系统及其实现方法
WO2014166265A1 (en) * 2013-04-12 2014-10-16 Tencent Technology (Shenzhen) Company Limited Method, terminal, cache server and system for updating webpage data
CN104519081A (zh) * 2013-09-27 2015-04-15 阿里巴巴集团控股有限公司 一种页面访问的方法和装置
CN107391507A (zh) * 2016-05-16 2017-11-24 阿里巴巴集团控股有限公司 移动端页面的更新方法和装置
CN107528894A (zh) * 2017-08-16 2017-12-29 郑州云海信息技术有限公司 一种存储系统实时数据获取方法及平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
曾勍炜等: "《防火墙技术标准教程》", 31 July 2007, 北京理工大学出版社 *
梁晓涛等: "《社交网络服务》", 31 March 2013, 武汉大学出版社 *

Similar Documents

Publication Publication Date Title
AU2023201954B2 (en) Dynamic code management
CN108595207B (zh) 一种灰度发布方法、规则引擎、系统、终端和存储介质
US20180295182A1 (en) Distributing service sessions
US10257115B2 (en) Cloud-based service resource provisioning based on network characteristics
US10230770B2 (en) Network proxy layer for policy-based application proxies
US20190087707A1 (en) Artificial conversational entity methods and systems
US11595325B2 (en) Bot response generation with dynamically-changing website or native application
US20170195486A1 (en) Intelligent customer service systems, customer service robots, and methods for providing customer service
US20210124632A1 (en) Adapting legacy endpoints to modern apis
CN112769837B (zh) 基于WebSocket的通信传输方法、装置、设备、系统及存储介质
US20110252150A1 (en) System and Method for Processing User Information
CN106970845A (zh) 远程应用连接共享
CN110096664A (zh) 分布式文本信息处理方法、装置、系统、设备及存储介质
US7912945B2 (en) Exchange of management information via application messages
US9336319B2 (en) Data file and rule driven synchronous or asynchronous document generation
CN112162774A (zh) 一种软件灰度发布方法及装置
CN108509510A (zh) 界面数据的更新方法、服务端及客户端
US11509740B2 (en) Systems and method for cache key composition creation and distribution
US8868781B2 (en) Service forwarding addresses in distributed computing
CN110489694A (zh) 用于处理高并发请求的方法和系统
JP6004400B2 (ja) 広告配信システム及び広告配信方法
CN113810313B (zh) 分布式会话报文的处理方法及处理装置
CN110719315B (zh) 与服务器交互方法、与客户端交互方法、客户端及服务器
CN108471375A (zh) 一种消息处理方法、装置及终端
US11853371B1 (en) Logging information describing a type of event occurring in a mobile application received via an SDK incorporated into mobile application code of the mobile application

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1259266

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201021

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20180907

RJ01 Rejection of invention patent application after publication