CN108549584B - 一种服务端灰度降级方法和装置 - Google Patents

一种服务端灰度降级方法和装置 Download PDF

Info

Publication number
CN108549584B
CN108549584B CN201810073667.2A CN201810073667A CN108549584B CN 108549584 B CN108549584 B CN 108549584B CN 201810073667 A CN201810073667 A CN 201810073667A CN 108549584 B CN108549584 B CN 108549584B
Authority
CN
China
Prior art keywords
data
server
write operation
cache
client
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.)
Active
Application number
CN201810073667.2A
Other languages
English (en)
Other versions
CN108549584A (zh
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201810073667.2A priority Critical patent/CN108549584B/zh
Publication of CN108549584A publication Critical patent/CN108549584A/zh
Application granted granted Critical
Publication of CN108549584B publication Critical patent/CN108549584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种服务端灰度降级方法和装置,该方法和装置应用于客户端,具体为当接收到服务器返回的数据时,根据数据中的来源标识判断数据是否来自于缓存,并根据数据中的时间戳判断数据的更新时间;如果数据来自于缓存,则在用户向服务器发送写操作指令时,如果写操作指令执行成功,则在本地缓存所述写操作指令和写操作时间戳;当用户重复读取数据时,如果此数据仍来自于缓存,且数据的更新时间早于写操作时间戳的时间,则用缓存在本地的写操作指令对数据进行复写。从而有效降低了服务器的页面服务层的负载,也就无需为突然增加的负载情况临时或永久部署服务器。这样一来,也就在不增加成本的情况下有效解决了高并发状况下时负载超标问题。

Description

一种服务端灰度降级方法和装置
技术领域
本发明涉及网络技术领域,特别是涉及一种服务端灰度降级方法和装置。
背景技术
对于网站来说,在某些特定的时间节点、比如节假日、新剧上线日、演唱会直播日、购物节等,由于突发的海量用户访问,导致QPS瞬间暴增,且大部分数据与用户行为有关,在此情况下还无法使用缓存,从而给服务端造成巨大压力。尤其系统中间的Servlet层(页面服务层)不仅需要调后端接口,而且还要组装数据返回给客户端,由此导致服务器的CPU使用率激增,甚至迫近危险阀值。现在的措施是通过增加服务器的数量,以达到均衡负载的效果,包括永久增加或临时增加,但这样做会导致网站的成本激增,对于网站的经营来说是不利的。
发明内容
有鉴于此,本发明提供了一种服务端灰度降级方法和装置,应用于网站的服务器,用于在不增加成本的情况下解决高并发状况下负荷超标的问题。
为了解决上述问题,本发明公开了一种服务端灰度降级方法,应用于客户端,所述服务端灰度降级方法包括步骤:
当接收到服务器返回的数据时,根据所述数据中的来源标识判断所述数据是否来自于缓存,并根据数据中的时间戳判断数据的更新时间;
如果所述数据来自于缓存,则在用户向服务器发送输入写操作指令时,如果所述写操作指令执行成功,则在本地缓存所述写操作指令和写操作时间戳;
当用户重复读取所述数据时,如果所述数据仍来自于所述缓存,且所述数据的更新时间早于所述写操作时间戳的时间,则用缓存在本地的写操作指令对记录在本地的所述数据进行复写。
可选的,所述在本地记录所述写操作指令和写操作时间戳,包括:
将所述写操作指令和所述写操作时间戳进行缓存;
或,将所述写操作指令和所述写操作时间戳写入本地预置的文件中。
可选的,所述服务端灰度降级方法还包括步骤:
当用户请求的数据不是本地缓存的数据时,清空或删减记录在本地的所述写操作指令和所述写操作时间戳。
还提供了一种服务端灰度降级方法,应用于服务器,所述服务端灰度降级方法包括步骤:
当接收到客户端请求时,对当前的负载进行检测;
如果所述负载超过预设负载阈值,则通过数据缓存返回数据;
如果所述负载低于所述预设负载阈值,则直接向所述客户端返回数据;
其中,返回的数据中附加有标识是否来自于缓存的来源标识。
可选的,所述直接向所述客户端返回数据,包括:
通过调用第三方接口的方式请求数据并进行组装;
将组装好的数据返回所述客户端。
另外,还提供了一种服务端灰度降级装置,应用于客户端,所述服务端灰度降级装置包括:
数据来源判断模块,用于当接收到服务器返回的数据时,根据所述数据中的来源标识判断所述数据是否来自于缓存,并根据所述数据中的时间戳判断所述数据的更新时间;
第一命令处理模块,用于如果所述数据来自于缓存,则在用户向所述服务器发送写操作指令时,则在本地缓存所述写操作指令和写操作时间戳;
第二命令处理模块,用于当用户重复读取数据时,如果所述数据仍来自于所述缓存,且所述数据的更新时间早于所述写操作时间戳的时间,则用缓存在本地的所述写操作指令对所述数据进行复写。
可选的,所述第一命令处理模块至少包括:
命令缓存单元,用于将所述写操作指令和所述写操作时间戳进行缓存;
命令记录单元,用于将所述写操作指令和所述写操作时间戳写入本地预置的文件中。
可选的,所述服务端灰度降级装置还包括:
第三命令处理模块,用于当用户请求的数据不是本地缓存的数据时,清空或删减记录在本地的所述写操作指令和所述写操作时间戳。
另外,又提供了一种服务端灰度降级装置,应用于服务器,所述服务端灰度降级装置包括:
负载检测模块,用于检测当接收到客户端请求时,对当前的负载进行检测;
第一数据返回模块,用于如果所述负载超过预设负载阈值,则通过数据缓存返回数据;
第二数据返回模块,用于如果所述负载低于所述预设负载阈值,则直接向所述客户端返回数据;
其中,返回的数据中附加有标识是否来自于缓存的来源标识。
可选的,所述第二数据返回模块包括:
数据获取单元,用于通过调用第三方接口的方式请求数据并进行组装;
数据发送单元,用于将组装好的数据返回所述客户端。
从上述技术方案可以看出,本发明提供了一种服务端灰度降级方法和装置,该方法和装置应用于客户端,具体为当接收到服务器返回的数据时,根据数据中的来源标识判断数据是否来自于缓存,并根据数据中的时间戳判断数据的更新时间;如果数据来自于缓存,则在用户向服务端发送写操作指令时,在本地记录所述写操作指令和所述时间戳;当用户重复读取数据时,如果此数据仍来自于缓存,且数据的更新时间早于记录在缓存中的时间戳的时间,则用缓存在本地的写操作指令对记录在本地的数据进行复写。从而有效降低了服务器的页面服务层的负荷,也就无需为增加的负载情况临时或永久部署服务器。这样一来,也就在不增加成本的情况下有效解决了高并发状况下时负载超标问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种服务端灰度降级方法的步骤流程图;
图2为本发明实施例提供的另一种服务端灰度降级方法的步骤流程图;
图3为本发明实施例提供的一种真读假写机制的操作示意图;
图4为本发明实施例提供的又一种服务端灰度降级方法的步骤流程图;
图5本发明实施例提供的一种服务端灰度降级装置的结构框图;
图6本发明实施例提供的另一种服务端灰度降级装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例提供的一种服务端灰度降级方法的步骤流程图。
参照图1所示,本实施例提供的服务端灰度降级方法应用于网站的客户端,客户端是指用户能够通过其向网站的服务器请求数据服务的应用程序,也可以扩展为运行上述应用程序的电子设备。这里灰度降级是指介于黑色与白色之间,进行平滑降级的方案。该服务端灰度降级方法具体包括如下步骤:
S101:判断服务器返回的数据是否来源于缓存。
该数据是服务器的页面服务层根据用户通过客户端发动的数据请求指令返回的,该数据包括有来源标识和时间戳,该来源标识用于标识该数据究竟是来自于服务器的缓存,还是来自于外部的外部数据。外部数据是指服务器通过调用第三方接口的方式获取原始数据、并对原始数据进行封装后得到的数据。
在获取到服务器返回的数据后,可以通过对来源标识的识别判断数据的来源,即是否来自于缓存。如果该数据不是来自于缓存,则通过正常模式进行读写操作;相反则启用真写假读机制,同时,根据数据中的时间戳判断该数据的更新时间。
S102:在数据来自于缓存时,缓存写操作指令和写操作时间戳。
如果返回的数据来自于页面服务层的缓存,则表明此时服务器的负载较大,为避免进一步加大其负荷,当用户通过客户端向服务器发送写操作指令时,且该写操作指令执行成功,则在本地记录上述写操作指令和写操作时间戳,同时将写操作指令发送到页面服务层,其中写操作时间戳记录有该写操作指令所发生的时间。
在本地记录上述写操作指令和写操作时间戳时,可以利用页面客户端的缓存记录该写操作指令和写操作时间戳,或者利用本地预置的文件记录上述写操作指令和写操作时间戳。
S103:重复读数据时,用本地的写操作指令对数据进行复写。
在用户需要请求数据时,如果所请求的数据是上次所请求的数据,即重复读取数据的情况下,且该数据的更新时间早于写操作指令的写操作时间戳所缓存的时间,则只利用记录在本地的写操作指令对缓存在本地的数据进行复习,同时向用户返回上次缓存的数据,即不实际从页面服务层下载该数据。
从上述技术方案可以看出,本实施例提供了一种服务端灰度降级方法,该方法应用于客户端,具体为当接收到服务器返回的数据时,根据数据中的来源标识判断数据是否来自于缓存,并根据数据中的时间戳判断数据的更新时间;如果数据来自于缓存,则在用户向服务器发送写操作指令时,如果写操作指令执行成功,则在本地缓存写操作指令和写操作时间戳;当用户重复读数据时,如果此数据仍来自于缓存,且数据的更新时间早于写操作时间戳的时间,则用记录在本地的写操作指令对记录在本地的数据进行复写。从而有效降低了服务器的页面服务层的负载,也就无需为增加的负载情况临时或永久部署服务器。这样一来,也就在不增加成本的情况下有效解决了高并发状况下时负载超标问题。
另外,本方法还包括如下步骤,参照图2所示。
S104:当请求的数据不是在本地缓存内时,清空或删除写操作指令。
即在用户所发出的读操作指令所指向的数据不是本地缓存的数据时,这时需要重新从服务器获取数据,因此,将记录在本地的写操作指令和写操作时间戳予以清除或删减。
另外,参照图3所示,本实施例中具体的真写假读机制的具体内容如下所述:
1.客户端发送请求req1&req2至页面服务层,返回数据为data1&data2,缓存标记为true&true,时间戳标记为t1&t2,客户端为req1&req2分别建立对应的本地缓存cache1&cache2,记录用户对于data1&data2的写操作。
2.真写:如果用户有写操作命令,比如用户对于data1&data2的写操作记为w1&w2,将w1&w2直接发送至服务端后端,并存入cache1&cache2中,之后记录服务器成功写入的时间戳tw1&tw2。
3.假读:客户端再次发送req1&req2,若返回数据仍为缓存且时间戳不变,则客户端将cache1&cache2的w1&w2复写到data1&data2上,给用户感觉数据是从服务器更新而来的,不影响用户体验;用户对data1&data2再进行写操作w3&w4,将w3&w4直接发送至服务端后端,并继续存入cache1&cache2中,记录成功写入后端的时间戳tw3&tw4。
4.删减:客户端再次请求req1&req2,若返回数据仍为缓存data3&data4但时间戳变为t3&t4(比如tw1<t3<tw3,tw2<t4<tw4),此时可在cache1&cache2上分别删除对应的w1&w2记录,避免错误或者冗余复写,之后将cache1&cache2的w3&w4复写到data3&data4上。
5.清空:客户端再次请求req1&req2,若返回的缓存标记为true&false,表明此时req2返回的数据不是缓存,此时可以清空cache2。
实施例二
图4为本发明实施例提供的另一种服务端灰度降级方法的步骤流程图。
参照图4所示,本实施例提供的服务端灰度降级方法应用于为上一实施例中客户端提供数据服务的服务器,其中包括页面服务层。该服务端灰度降级方法具体包括如下步骤:
S201:当接收到客户端请求时对负载进行检测。
当接收到用户通过客户端发送的数据请求时,对服务器的页面服务层的负载进行检测。检测该负载的目的在于判定该负载是否超出预算负载阈值,如果超出则说明当前的负载较大,相应处理用户的请求的能力降低。该预设负载阈值是根据相应服务器所能提供的最大下载能力确定,因此不是一个定值,而是根据不同的服务器进行确定。
S202:负载超过预设负载阈值时通过数据缓存返回数据。
通过上面的判断,如果当期的负载超出预设负载阈值,即负载较大时,通过数据缓存向客户端返回数据。
所返回的数据包含有来源标识,该来源标识用于标识该数据是来自于页面服务层的数据缓存还是来源于其他途径。
S203:负载低于预设负载阈值时直接向客户端返回数据。
当当前的负载低于预设负载阈值时,直接将用户所请求的数据返回该客户端。同样,该数据中包含有用于标识其来源的来源标识。该直接返回的具体方法为:
首先,通过第三方接口请求数据,并将请求的数据进行封装,封装为能够返回该客户端的数据包;将组装好的数据返回到客户端。
本实施例所通过对负载进行检测向客户端返回数据,该数据中包含有标识其来源的来源标识,从而使客户端能够根据该来源标识判定其来源,并进一步根据其来源确定是否启用真写假读机制,从而能够降低页面服务层等负载。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
图5为本发明实施例提供的一种服务端灰度降级装置的结构框图。
参照图5所示,本实施例提供的服务端灰度降级装置应用于网站的客户端,客户端是指用户能够通过其向网站的服务器请求数据服务的应用程序,也可以扩展为运行上述应用程序的电子设备。该服务端灰度降级装置具体包括数据来源判断模块10、第一命令处理模块20和第三命令处理模块30。
数据来源判断模块10用于判断服务器返回的数据是否来源于缓存。
该数据是服务器的页面服务层根据用户通过客户端发动的数据请求指令返回的,该数据包括有来源标识和时间戳,该来源标识用于标识该数据究竟是来自于服务器的缓存,还是来自于外部的外部数据;外部数据指的是服务器通过调用第三方接口的方式获取原始数据、并对原始数据进行封装后得到的数据。
在获取到服务器返回的数据后,可以通过对来源标识的识别判断数据的来源,即是否来自于缓存。如果该数据不是来自于缓存,则通过正常模式进行读写操作;相反则启用真写假读机制,同时,根据数据中的时间戳判断该数据的更新时间。
第一命令处理模块用于取数据时,如果数据仍来自于缓存,且数据的更新时间早于写操作时间戳的时间,则用记录在本地的写操作指令对记录在本地的数据进行复写
如果返回的数据来自于页面服务层的缓存,则表明此时服务器的负载较大,为避免进一步加大其负载,当用户通过客户端向服务器发送写操作指令时,且该写操作指令执行成功,则在本地记录上述写操作指令和写操作时间戳,同时将写操作指令发送到页面服务层。其中写操作时间戳记录有该写操作指令所发生的时间。该模块包括命令缓存单元和命令记录单元。
在本地缓存上述写操作指令和写操作时间戳时,命令缓存单元用于利用页面客户端的缓存记录该写操作指令和写操作时间戳,命令记录单元用于在本地预置的文件记录上述写操作指令和写操作时间戳。
第二命令处理模块用于在重复读取数据时,用记录在本地的写操作指令对记录在本地的数据进行复习。
在用户需要请求数据时,如果所请求的数据是上次所请求的数据,即重复读取数据的情况下,且该数据的更新时间早于写操作指令的写操作时间戳所缓存的时间,则只利用记录在本地的写操作指令对记录在本地的数据进行复写,同时向用户返回上次缓存的数据,即不实际从页面服务层下载该数据。
从上述技术方案可以看出,本实施例提供了一种服务端灰度降级方法,该方法应用于客户端,具体为当接收到服务器返回的数据时,根据数据中的来源标识判断数据是否来自于缓存,并根据数据中的时间戳判断数据的更新时间;如果数据来自于缓存,则在用户向服务器发送写操作指令时,如果写操作指令执行成功,则在本地记录写操作指令和写操作时间戳;当用户重复读数据时,如果此数据仍来自于缓存,且数据的更新时间早于写操作时间戳的时间,则用记录在本地的写操作指令对记录在本地的数据进行复写。从而有效降低了服务器的页面服务层的负载,也就无需为增加的负载临时或永久部署服务器。这样一来,也就在不增加成本的情况下有效解决了高并发状况下时负载超标问题。
另外,本方法还包括第三命令处理模块。
第三命令处理模块用于当请求的数据不是在本地缓存内时,清空或删除写操作指令和写操作时间戳。
即在用户所发出的读操作指令所指向的数据不是本地缓存的数据时,这时需要重新从服务器获取数据,因此,将记录在本地的写操作指令和写操作时间戳予以清除或删减。
实施例四
图6为本发明实施例提供的另一种服务端灰度降级装置的结构框图。
参照图6所示,本实施例提供的服务端灰度降级装置应用于为上一实施例中客户端提供数据服务的服务器,其中包括页面服务层。该服务端灰度降级装置具体包括负载检测模块40、第一数据返回模块50和第二数据返回模块60。
负载检测模块用于当接收到客户端请求时对负载进行检测。
当接收到用户通过客户端发送的数据请求时,对服务器的页面服务层的负载进行检测。检测该负载的目的在于判定该负载是否超出预算负载阈值,如果超出则说明当前的负载较大,相应处理用户的请求的能力降低。该预设负载阈值是根据相应服务器所能提供的最大下载能力确定,因此不是一个定值,而是根据不同的服务器进行确定。
第一数据返回模块用于当负载超过预设负载阈值时通过数据缓存返回数据。
通过上面的判断,如果当期的负载超出预设负载阈值,即负载较大时,通过数据缓存向客户端返回数据。
所返回的数据包含有来源标识,该来源标识用于标识该数据是来自于页面服务层的数据缓存还是来源于其他途径。
第二数据返回模块用于当负载低于预设负载阈值时直接向客户端返回数据。
当当前的负载低于预设负载阈值时,直接将用户所请求的数据返回该客户端。同样,该数据中包含有用于标识其来源的来源标识。该模块包括数据获取单元和数据发送单元。数据获取单元用于通过第三方接口请求数据,并将请求的数据进行封装,封装为能够返回该客户端的数据包;数据发送单元则用于将组装好的数据返回到客户端。
本实施例所通过对下载负荷进行检测向客户端返回数据,该数据中包含有标识其来源的来源标识,从而使客户端能够根据该来源标识判定其来源,并进一步根据其来源确定是否启用真写假读机制,从而能够降低页面服务层等下载负荷。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种服务端灰度降级方法,应用于客户端,其特征在于,所述服务端灰度降级方法包括步骤:
当接收到服务器返回的数据时,根据所述数据中的来源标识判断所述数据是否来自于服务器的页面服务层的缓存,并根据数据中的时间戳判断数据的更新时间;
如果所述数据来自于服务器的页面服务层的缓存,则在用户向服务器发送写操作指令时,如果所述写操作指令执行成功,则在本地缓存所述写操作指令和写操作时间戳;
在用户需要请求数据时,如果所请求的数据是上次所请求来自于所述服务器的页面服务层的缓存的数据,且所述数据的更新时间早于所述写操作时间戳的时间,则不实际从所述服务器的页面服务层下载所述数据,用缓存在本地的写操作指令对记录在本地的所述数据进行复写;
其中,如果所述服务器当前的负载超过预设负载阈值,则所述数据是服务器通过所述服务器的页面服务层的数据缓存向所述客户端返回的;如果所述服务器当前的负载低于所述预设负载阈值,则所述数据是所述服务器直接向所述客户端返回的。
2.如权利要求1所述的服务端灰度降级方法,其特征在于,所述服务端灰度降级方法还包括步骤:
当用户请求的数据不是本地缓存的数据时,清空或删减记录在本地的所述写操作指令和所述写操作时间戳。
3.一种服务端灰度降级方法,应用于服务器,其特征在于,所述服务端灰度降级方法包括步骤:
当接收到客户端请求时,对当前的负载进行检测;
如果所述负载超过预设负载阈值,则通过所述服务器的页面服务层的数据缓存返回数据;
如果所述负载低于所述预设负载阈值,则直接向所述客户端返回数据;
其中,返回的数据中附加有标识是否来自于所述服务器的页面服务层的缓存的来源标识,从而使所述客户端能够根据所述来源标识判断所述数据是否来自于所述服务器的页面服务层的缓存,并进一步执行权利要求1-2任一所述的服务端灰度降级方法。
4.如权利要求3所述的服务端灰度降级方法,其特征在于,所述直接向所述客户端返回数据,包括:
通过调用第三方接口的方式请求数据并进行组装;
将组装好的数据返回所述客户端。
5.一种服务端灰度降级装置,应用于客户端,其特征在于,所述服务端灰度降级装置包括:
数据来源判断模块,用于当接收到服务器返回的数据时,根据所述数据中的来源标识判断所述数据是否来自于服务器的页面服务层的缓存,并根据所述数据中的时间戳判断所述数据的更新时间;
第一命令处理模块,用于如果所述数据来自于服务器的页面服务层的缓存,则在用户向所述服务器发送写操作指令时,如果所述写操作指令执行成功,则在本地缓存所述写操作指令和写操作时间戳;
第二命令处理模块,用于在用户需要请求数据时,如果所请求的数据是上次所请求来自于所述服务器的页面服务层的缓存的数据,且所述数据的更新时间早于所述写操作时间戳的时间,则不实际从所述服务器的页面服务层下载所述数据,用缓存在本地的写操作指令对记录在本地的所述数据进行复写;
其中,如果所述服务器当前的负载超过预设负载阈值,则所述数据是服务器通过所述服务器的页面服务层的数据缓存向所述客户端返回的;如果所述服务器当前的负载低于所述预设负载阈值,则所述数据是所述服务器直接向所述客户端返回的。
6.如权利要求5所述的服务端灰度降级装置,其特征在于,所述服务端灰度降级装置还包括:
第三命令处理模块,用于当用户请求的数据不是本地缓存的数据时,清空或删减记录在本地的所述写操作指令和所述写操作时间戳。
7.一种服务端灰度降级装置,应用于服务器,其特征在于,所述服务端灰度降级装置包括:
负载检测模块,用于检测当接收到客户端请求时,对当前的负载进行检测;
第一数据返回模块,用于如果所述负载超过预设负载阈值,则通过所述服务器的页面服务层的数据缓存返回数据;
第二数据返回模块,用于如果所述负载低于所述预设负载阈值,则直接向所述客户端返回数据;
其中,返回的数据中附加有标识是否来自于所述服务器的页面服务层的缓存的来源标识,从而使所述客户端能够根据所述来源标识判断所述数据是否来自于所述服务器的页面服务层的缓存,并进一步执行权利要求1-3任一所述的服务端灰度降级方法。
8.如权利要求7所述的服务端灰度降级装置,其特征在于,所述第二数据返回模块包括:
数据获取单元,用于通过调用第三方接口的方式请求数据并进行组装;
数据发送单元,用于将组装好的数据返回所述客户端。
CN201810073667.2A 2018-01-25 2018-01-25 一种服务端灰度降级方法和装置 Active CN108549584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810073667.2A CN108549584B (zh) 2018-01-25 2018-01-25 一种服务端灰度降级方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810073667.2A CN108549584B (zh) 2018-01-25 2018-01-25 一种服务端灰度降级方法和装置

Publications (2)

Publication Number Publication Date
CN108549584A CN108549584A (zh) 2018-09-18
CN108549584B true CN108549584B (zh) 2020-11-27

Family

ID=63515722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810073667.2A Active CN108549584B (zh) 2018-01-25 2018-01-25 一种服务端灰度降级方法和装置

Country Status (1)

Country Link
CN (1) CN108549584B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113205413B (zh) * 2021-06-07 2024-02-27 中国银行股份有限公司 手机银行数据处理方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965559A (zh) * 2007-12-27 2011-02-02 普莱恩特技术股份有限公司 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器
CN102918813A (zh) * 2010-06-08 2013-02-06 阿尔卡特朗讯公司 用于数据负载均衡的设备和方法
CN103473696A (zh) * 2013-09-03 2013-12-25 周吉 一种收集、分析和分发网络商业信息的方法和系统
CN105122727A (zh) * 2013-01-11 2015-12-02 Db网络公司 用于检测并减轻对结构化数据存储系统的威胁的系统和方法
CN105373369A (zh) * 2014-08-25 2016-03-02 北京皮尔布莱尼软件有限公司 一种异步缓存方法、服务器及系统
CN105677404A (zh) * 2015-12-31 2016-06-15 拉扎斯网络科技(上海)有限公司 一种基于Zookeeper的配置更新方法及装置
CN106357452A (zh) * 2016-09-29 2017-01-25 上海和付信息技术有限公司 一种单点异构数据存储的高可用框架系统及其实现方法
CN107241444A (zh) * 2017-07-31 2017-10-10 郑州云海信息技术有限公司 一种分布式缓存数据管理系统、方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7680819B1 (en) * 1999-11-12 2010-03-16 Novell, Inc. Managing digital identity information
US7421701B2 (en) * 2002-09-16 2008-09-02 International Business Machines Corporation System for facilitating transactions between thin-clients and message format service (MFS)-based information management system (IMS) applications
US20170155733A1 (en) * 2015-11-27 2017-06-01 Data Accelerator Ltd Predictively caching transaction without breaking integrity of the transaction

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965559A (zh) * 2007-12-27 2011-02-02 普莱恩特技术股份有限公司 包括将处理器与内部存储器连接的交叉切换器的用于闪存的存储控制器
CN102918813A (zh) * 2010-06-08 2013-02-06 阿尔卡特朗讯公司 用于数据负载均衡的设备和方法
CN105122727A (zh) * 2013-01-11 2015-12-02 Db网络公司 用于检测并减轻对结构化数据存储系统的威胁的系统和方法
CN103473696A (zh) * 2013-09-03 2013-12-25 周吉 一种收集、分析和分发网络商业信息的方法和系统
CN105373369A (zh) * 2014-08-25 2016-03-02 北京皮尔布莱尼软件有限公司 一种异步缓存方法、服务器及系统
CN105677404A (zh) * 2015-12-31 2016-06-15 拉扎斯网络科技(上海)有限公司 一种基于Zookeeper的配置更新方法及装置
CN106357452A (zh) * 2016-09-29 2017-01-25 上海和付信息技术有限公司 一种单点异构数据存储的高可用框架系统及其实现方法
CN107241444A (zh) * 2017-07-31 2017-10-10 郑州云海信息技术有限公司 一种分布式缓存数据管理系统、方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"利用Servlet过滤器实现动态网页的快速存取";徐伟魄等;《微型电脑应用》;20041231;第20卷(第12期);49-52页 *
"移动数据库系统中的数据一致性维护策略";帖军;《中国博士学位论文全文数据库 信息科技辑》;20150215(第02期);论文第2-5章 *

Also Published As

Publication number Publication date
CN108549584A (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
US11263284B2 (en) Method and system for loading web page, and server
US10291738B1 (en) Speculative prefetch of resources across page loads
CN103139279B (zh) 文件访问方法和系统
CN109542361B (zh) 一种分布式存储系统文件读取方法、系统及相关装置
US20100131593A1 (en) Relay server, mobile terminal, information browsing system and method thereof
US10489476B2 (en) Methods and devices for preloading webpages
CN108804515B (zh) 一种网页加载方法、网页加载系统和服务器
CN111666497B (zh) 应用程序的加载方法、装置、电子设备及可读存储介质
CN110795395B (zh) 文件部署系统和文件部署方法
CN104714965A (zh) 静态资源去重方法、静态资源管理方法及装置
KR102098415B1 (ko) 캐시 관리 기법
US20200320154A1 (en) A webpage loading method, webpage loading system and server
US20120259945A1 (en) System and method for dynamically modifying content based on user expectations
WO2019041670A1 (zh) 一种降低功能页面请求次数的方法、存储介质、设备及系统
CA2813339C (en) Methods, apparatus, and systems for electronic device recovery
CN109672534B (zh) 网络资源的处理方法、装置、存储介质和电子装置
CN108549584B (zh) 一种服务端灰度降级方法和装置
CN105426272A (zh) 应用程序备份方法及装置
CN110874445A (zh) 网页加载方法、客户端及业务服务中心
CN110807040B (zh) 管理数据的方法、装置、设备及存储介质
CN111078257B (zh) 一种h5应用包的加载方法及相关装置
CN113010816A (zh) 网页缓存更新方法、装置、电子设备及存储介质
CN111753232B (zh) 第三方h5页面加载的方法、装置及计算机可读存储介质
CN104268205A (zh) 一种ios系统中获取已安装应用程序信息的方法及装置
CN116048468A (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
GR01 Patent grant
GR01 Patent grant