CN109672736A - 基于客户端请求的数据加载方法 - Google Patents
基于客户端请求的数据加载方法 Download PDFInfo
- Publication number
- CN109672736A CN109672736A CN201811579280.0A CN201811579280A CN109672736A CN 109672736 A CN109672736 A CN 109672736A CN 201811579280 A CN201811579280 A CN 201811579280A CN 109672736 A CN109672736 A CN 109672736A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- interface
- server
- page data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明提供了基于客户端请求的数据加载方法,包括以下步骤:统计基于客户端发起的访问请求所对应的服务端接口对访问请求的响应数据,以确定服务端接口的变动率数据;服务端根据服务端接口的变动率数据统计多个接口响应数据,通过正态分布分析获得包含指定服务端接口的预期响应时间的接口统计文件;客户端获取服务端在设定时间段内的接口统计文件,并在访问请求不超过预期响应时间且存在与该访问请求所对应的缓存页面数据时,直接从位于本地存储的缓存页面中加载缓存页面数据。通过本发明提高了客户端加载页面数据的速度,并减少了客户端等待时间,并减少了基于高并发场景中服务端的访问压力。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于客户端请求的数据加载方法。
背景技术
HTTP(超文本传输协议)是一种详细规定了浏览器和万维网服务器之间互相通信规则,通过因特网传送万维网文档的数据传送协议。当客户端需要获取数据时,客户端通过HTTP协议向服务器发送数据获取请求,服务器在接收到数据获取请求之后,如何处理数据获取请求,是客户端能够快速地获取到数据的关键。
在现有技术中在处理数据获取请求时,采用如下方式:客户端定时地向服务器发送数据获取请求,服务器在接收到客户端发送的数据获取请求之后,根据接收到的数据获取请求向客户端返回处理结果,从而实现了对数据获取请求的处理。
上述现有技术所存在的弊端是,当用户端频繁地向服务器发起数据获取请求时不仅仅会增加服务器的负荷并导致服务器数据获取请求处理效率很低;同时,类似现有技术中以异步方式处理客户端发起的请求时并不考虑这种请求是否必须用既有的策略进行处理,从而导致服务器要么出现拥塞,要么出现性能富余。
有鉴于此,有必要对现有技术中的基于客户端请求的数据加载方法予以改进,以解决上述问题。
发明内容
本发明的目的在于公开一种基于客户端请求的数据加载方法,用以实现基于客户端请求并加载与客户端请求相对应的数据时减少对服务端的压力,提高客户端加载页面数据的速度,并减少客户端等待时间。
为实现上述目的,本发明提供了一种基于客户端请求的数据加载方法,包括以下步骤:
统计基于客户端发起的访问请求所对应的服务端接口对访问请求的响应数据,以确定服务端接口的变动率数据;
服务端根据服务端接口的变动率数据统计多个接口响应数据,通过正态分布分析获得包含指定服务端接口的预期响应时间的接口统计文件;
客户端获取服务端在设定时间段内的接口统计文件,并在访问请求不超过预期响应时间且存在与该访问请求所对应的缓存页面数据时,直接从位于本地存储的缓存页面中加载缓存页面数据。
作为本发明的进一步改进,所述客户端向用户端加载的缓存页面数据发生变化时,在对本地存储中对发生变化的缓存页面数据执行更新操作,所述更新操作通过位于服务端的观察者逻辑将本地存储中所缓存的页面数据分别执行数据类型约束与数据绑定而实现;
其中,所述观察者逻辑对发生变化的缓存页面数据对本地存储中的缓存页面数据进行修改,并将修改部分的数据封装成轻量级文本,然后将发生变化的缓存页面数据与轻量级文本绑定后保存至本地存储,当加载发生变化后的缓存页面数据时通过获取指定key本地存储的值,以输出缓存页面数据。
作为本发明的进一步改进,所述本地存储为位于客户端中的Local Storage。
作为本发明的进一步改进,所述轻量级文本为JSON文件、XML文件或者TXT文件。
作为本发明的进一步改进,在确定服务端接口的变动率数据之后还包括:根据服务端接口的变动率数据确定服务端接口的优先级。
作为本发明的进一步改进,所述接口统计文件由服务端接口名称与预期响应时间组成。
作为本发明的进一步改进,还包括为所述接口统计文件中配置时间令牌,所述时间令牌的生命周期为1~24小时。
与现有技术相比,本发明的有益效果是:通过本发明可在服务端的访问压力较大时直接从本地存储的缓存页面中加载缓存页面数据,同时在服务端的访问压力较小时可从服务端加载基于客户端发起的访问请求所加载的页面数据,从而提高了客户端加载页面数据的速度,并减少了客户端等待时间,并减少了基于高并发场景中服务端的访问压力。
附图说明
图1为本发明基于客户端请求的数据加载方法的流程图;
图2为根据服务端接口的变动率数据确定服务端接口的优先级的流程图;
图3为统计服务端接口响应时间的流程图;
图4为客户端获取服务端在设定时间段内的接口统计文件的流程图;
图5为客户端基于接口统计文件确定加载页面数据的流程图;
图6为位于服务端的观察者逻辑执行更新操作的示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
请参图1至图6所示出的本发明一种基于客户端请求的数据加载方法的一种具体实施方式。在本实施例中,客户端可被配置为具有图形显示功能的计算机装置,包括但不限于笔记本电脑、台式电脑、平板电脑或者及其类型的装置。服务端1(参图6所示)向客户端推送的数据在客户端渲染后,形成布图页面。其中,服务端1向客户端推送的基于客户在客户端发起的访问请求并在客户端加载的页面数据可以是服务端1推送的页面数据,也可以是客户端所保存的缓存页面数据,并视在服务端1所预先设定的各种限制性条件稳定性分析结果而定。
在本实施例中,缓存页面数据是指在客户端中的可视化界面中所形成的各种应用数据,其中,应用数据包括:目录、用户信息、列表数据、图标数据、交互式表格、GIF文本、脚本等。同时,客户端可以被配置为浏览器、手机、电脑等装置或者界面。
本实施例所揭示的一种基于客户端请求的数据加载方法,包括以下步骤:
首先,执行步骤S1、统计基于客户端发起的访问请求所对应的服务端接口对访问请求的响应数据,以确定服务端接口的变动率数据。优选的,在本实施例中,在确定服务端接口的变动率数据之后还包括:根据服务端接口的变动率数据确定服务端接口的优先级。该接口统计文件由服务端接口名称与预期响应时间组成。
结合图2所示,在本实施例中,根据服务端接口的变动率数据确定服务端接口的优先级可通过步骤201~步骤203实现。在本实施例中,服务端接口的变动率还可选用其他类型的“限制性条件稳定性”,例如服务端1的访问量的稳定性,也可以是服务端1所形成的数据流的流量指标的稳定性。该“限制性条件稳定性”选用服务端1接口的变动率,并作范例性的阐述说明。可通过设定变动率大于设定阈值T(不含T的本数)设为一般优先级的服务端接口,将服务端接口的变动率小于或者等于阈值T设为较高优先级的服务端接口。在本实施例中阈值T设定为80%,其特征符号为1。同时,设定某个具体时间段内的服务端接口的变动率数据,例如,一周(七天)。同时,将一般优先级的服务端接口与较高优先级的服务端接口,其特征符号为0。计算服务端接口周跟新率算法如下:服务端接口的每周不变化率指标=(当前时间-接口更新时间)/7。在本实施例中,所谓的服务端接口的变动率是指客户端对服务端发起的访问请求所指向的服务端的Socket接口。
然后,执行步骤S2、服务端根据服务端接口的变动率数据统计多个接口响应数据,通过正态分布分析获得包含指定服务端接口的预期响应时间的接口统计文件。
具体的,可统计接口响应时间,收集最近的500个服务端的接口的响应数据,根据响应数据,每周做一次正态分布分析。得出个服务端的接口预期响应时间详情表,给到客户端做参照。统计接口响应时间逻辑参图3所示。
步骤301:响应客户端发起的访问请求。
步骤302:插入任务队列,该任务队列中包含一个或者多个由客户端所发起的访问请求队列。
步骤303:处理队列任务。
步骤304:将指定队列任务所关联的数据(即基于客户端发起的访问请求所产生的页面数据)向客户端作相应。
步骤305:统计响应时间,即统计服务端中各个接口对客户端发起的访问请求所导致的响应时间,并以此执行遍历步骤306,以依次执行步骤S303中的下一个访问请求。
步骤307:获得服务端接口的变动率的统计结果。
步骤308:保存至服务端1,以为客户端发起的下一次访问请求确定是从服务端的具体端口向客户端推送访问数据,并将访问数据在客户端中进行渲染,以为操作客户端的客户作可视化的展示。
最后,执行步骤S3、客户端获取服务端在设定时间段内的接口统计文件,并在访问请求不超过预期响应时间且存在与该访问请求所对应的缓存页面数据时,直接从位于本地存储的缓存页面中加载缓存页面数据。
客户端获取服务端在设定时间段内的接口统计文件的具体实现过程参图4中的步骤401至步骤408所示。
步骤401:服务端计算服务端的接口响应时间统计结果。
步骤402:获取服务端的接口在设定时间内的接口变动率指标。
步骤403:服务端判断对客户端发起的访问请求所依赖的接口是否发生变化,若是,则跳转执行步骤405:将预期请求时间设置为0,于此场景中证明客户端对加载页面数据的实时性要求较高,拒绝从客户端的本地存储中调用本地存储中所缓存的页面数据,而直接跳转执行步骤407。
如否,则跳转执行步骤406:获取接口预期请求时间。需要说明的是的,在本实施例中,术语“接口”特指“向客户端发起的访问请求所使用的客户端的接口”。
步骤407:导入接口统计文件。
步骤408:向客户端进行响应。
在本实施例中,为了确保向客户端的加载的页面数据的实时性,本发明还在步骤408之后还包括为所述接口统计文件中配置时间令牌,所述时间令牌的生命周期为1~24小时。同时,将时间令牌保存到客户端,并可具体保存到客户端的系统文件或者浏览器插件中。
最后,客户端从服务端1获取设定时间段内的接口统计文件并按照图5所示出的多个步骤加载页面数据,并具体为步骤501至步骤507所示。
客户端从服务端1获取一个接口统计文件,接口统计文件记录着接口的名称、预期请求时间,接口统计文件的格式如下:
当客户端发出数据请求,根据该接口的详情,如果超出预期请求时间,将可以直接从客户端的本地存储中读取缓存页面数据并在客户端中进行加载。接口为0代表这个接口对实时性要求很高,不接受本地存储中所预留的缓存页面数据,将一致等到接口返回数据为止。
步骤501:客户端发起访问服务端的访问请求。
步骤502:执行访问请求是否超过预期请求时间的判断逻辑;若是,则跳转执行步骤503,若否则跳转执行步骤504:等待服务端返回响应数据。
步骤503:执行是否调用本地缓存的判断逻辑;若否,则跳转执行步骤504,若是,则跳转执行步骤505。
步骤505:客户端取消访问请求,并从客户端的缓存装置读取数据。具体的,在本实施例中,步骤505中的缓存装置可为客户端的本地存储。本地存储为位于客户端中的LocalStorage50。
步骤506:客户端渲染数据。
步骤507:向用户作可视化展示。
参图6所示,在本实施例中,还包括:客户端向用户端加载的缓存页面数据40发生变化时,在对本地存储中对发生变化的缓存页面数据40执行更新操作,所述更新操作通过位于服务端的观察者逻辑10将本地存储中所缓存的页面数据分别执行数据类型约束与数据绑定而实现;其中,所述观察者逻辑10对发生变化的缓存页面数据对本地存储中的缓存页面数据40进行修改,并将修改部分的数据封装成轻量级文本30,然后将发生变化的缓存页面数据与轻量级文本30绑定后保存至本地存储,即Local Storage50,当加载发生变化后的缓存页面数据时通过获取指定key本地存储的值,以输出缓存页面数据。轻量级文本30为JSON文件(例如字符串、数字、对象、数组等)、XML文件或者TXT文件。本实施例中的“修改部分的数据”可理解为基于用户不同访问请求所所导致的差异化的缓存页面数据或者增量的缓存页面数据。
因此,在本实施例中,借助于Local Storage50和观察者逻辑10实现了服务端向客户端响应的页面数据的自动快速安全存储,且使Local Storage50的存储类型不仅仅局限在String类型,可以将所有JS数据类型都存储到Local Storage50中;其次,将缓存页面数据与Local Storage50绑定,能及时更新Local Storage50,不需要再手动去更新缓存页面数据,从而实现了客户端能够共享到实时的页面数据和/或缓存页面数据。
通过本实施例所揭示的一种基于客户端请求的数据加载方法,实现了客户端的弹性缓存,在服务端没有压力的情况下,能合理利用资源,保证数据的实时性;在服务端有压力的情况下,既能快速响应客户端,增加客户端体验,又能减缓服务端的访问压力。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (7)
1.基于客户端请求的数据加载方法,其特征在于,包括以下步骤:
统计基于客户端发起的访问请求所对应的服务端接口对访问请求的响应数据,以确定服务端接口的变动率数据;
服务端根据服务端接口的变动率数据统计多个接口响应数据,通过正态分布分析获得包含指定服务端接口的预期响应时间的接口统计文件;
客户端获取服务端在设定时间段内的接口统计文件,并在访问请求不超过预期响应时间且存在与该访问请求所对应的缓存页面数据时,直接从位于本地存储的缓存页面中加载缓存页面数据。
2.根据权利要求1所述的数据加载方法,其特征在于,所述客户端向用户端加载的缓存页面数据发生变化时,在对本地存储中对发生变化的缓存页面数据执行更新操作,所述更新操作通过位于服务端的观察者逻辑将本地存储中所缓存的页面数据分别执行数据类型约束与数据绑定而实现;
其中,所述观察者逻辑对发生变化的缓存页面数据对本地存储中的缓存页面数据进行修改,并将修改部分的数据封装成轻量级文本,然后将发生变化的缓存页面数据与轻量级文本绑定后保存至本地存储,当加载发生变化后的缓存页面数据时通过获取指定key本地存储的值,以输出缓存页面数据。
3.根据权利要求1或者2所述的数据加载方法,其特征在于,所述本地存储为位于客户端中的Local Storage。
4.根据权利要求2所述的数据加载方法,其特征在于,所述轻量级文本为JSON文件、XML文件或者TXT文件。
5.根据权利要求3所述的数据加载方法,其特征在于,在确定服务端接口的变动率数据之后还包括:根据服务端接口的变动率数据确定服务端接口的优先级。
6.根据权利要求1所述的数据加载方法,其特征在于,所述接口统计文件由服务端接口名称与预期响应时间组成。
7.根据权利要求1所述的数据加载方法,其特征在于,还包括为所述接口统计文件中配置时间令牌,所述时间令牌的生命周期为1~24小时。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579280.0A CN109672736B (zh) | 2018-12-24 | 2018-12-24 | 基于客户端请求的数据加载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811579280.0A CN109672736B (zh) | 2018-12-24 | 2018-12-24 | 基于客户端请求的数据加载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109672736A true CN109672736A (zh) | 2019-04-23 |
CN109672736B CN109672736B (zh) | 2020-03-31 |
Family
ID=66146883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811579280.0A Active CN109672736B (zh) | 2018-12-24 | 2018-12-24 | 基于客户端请求的数据加载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109672736B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501343A (zh) * | 2013-10-10 | 2014-01-08 | 武汉市创想天晟网络科技有限公司 | 加快网页打开以及在网页中插入缓存页面内容的方法 |
CN103618926A (zh) * | 2013-12-09 | 2014-03-05 | 乐视网信息技术(北京)股份有限公司 | 对智能电视的显示应用页面的控制方法和控制装置 |
WO2015179865A1 (en) * | 2014-05-23 | 2015-11-26 | The George Washington University | System and method for uncovering covert timing channels |
CN106254493A (zh) * | 2016-08-17 | 2016-12-21 | 北京奇虎科技有限公司 | 在来/去电时展示推广内容的方法、服务器、装置和系统 |
CN106453667A (zh) * | 2016-12-20 | 2017-02-22 | 北京小米移动软件有限公司 | 更新缓存数据的方法及装置 |
-
2018
- 2018-12-24 CN CN201811579280.0A patent/CN109672736B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103501343A (zh) * | 2013-10-10 | 2014-01-08 | 武汉市创想天晟网络科技有限公司 | 加快网页打开以及在网页中插入缓存页面内容的方法 |
CN103618926A (zh) * | 2013-12-09 | 2014-03-05 | 乐视网信息技术(北京)股份有限公司 | 对智能电视的显示应用页面的控制方法和控制装置 |
WO2015179865A1 (en) * | 2014-05-23 | 2015-11-26 | The George Washington University | System and method for uncovering covert timing channels |
CN106254493A (zh) * | 2016-08-17 | 2016-12-21 | 北京奇虎科技有限公司 | 在来/去电时展示推广内容的方法、服务器、装置和系统 |
CN106453667A (zh) * | 2016-12-20 | 2017-02-22 | 北京小米移动软件有限公司 | 更新缓存数据的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109672736B (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684358B (zh) | 数据查询的方法和装置 | |
US20180246862A1 (en) | Methods for prerendering and methods for managing and configuring prerendering operations | |
US8745212B2 (en) | Access to network content | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US10013500B1 (en) | Behavior based optimization for content presentation | |
US8219759B2 (en) | Adaptive display caching | |
US20170346928A1 (en) | Access to network content | |
CN103685309B (zh) | 面向地图可视化瓦片服务接入的异步请求队列的建立方法 | |
CN108984553B (zh) | 缓存方法和装置 | |
EP2044749B1 (en) | Dispatching request fragments from a response aggregating surrogate | |
CN104052809B (zh) | 一种网站测试的分流控制方法和装置 | |
US10616356B2 (en) | Optimization of asynchronous pushing of web resources | |
CN106681990B (zh) | 一种移动云存储环境下缓存数据的预取方法 | |
US11218390B2 (en) | Filtering content based on user mobile network and data-plan | |
CN104601534A (zh) | Cdn系统图像处理的方法及系统 | |
GB2507294A (en) | Server work-load management using request prioritization | |
CN109672736A (zh) | 基于客户端请求的数据加载方法 | |
CN116594709A (zh) | 用于获取数据的方法、装置及计算机程序产品 | |
CN109327518A (zh) | 一种基于h5页面的信息分享方法、系统及装置 | |
CN112491939B (zh) | 多媒体资源调度方法及系统 | |
CN113177173B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN109101351A (zh) | 一种解析基板管理控制器web返回值的方法、装置及设备 | |
CN103778129B (zh) | 一种博客数据搜索方法及系统 | |
CN109324858B (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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6 Patentee after: Huayun data holding group Co., Ltd Address before: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6 Patentee before: WUXI CHINAC DATA TECHNICAL SERVICE Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |