CN110865845A - 提高接口访问效率的方法、存储介质 - Google Patents
提高接口访问效率的方法、存储介质 Download PDFInfo
- Publication number
- CN110865845A CN110865845A CN201911029688.5A CN201911029688A CN110865845A CN 110865845 A CN110865845 A CN 110865845A CN 201911029688 A CN201911029688 A CN 201911029688A CN 110865845 A CN110865845 A CN 110865845A
- Authority
- CN
- China
- Prior art keywords
- cache
- interface
- result
- application
- type 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种提高接口访问效率的方法、存储介质,方法包括:获取应用启动时所需调用的各个非缓存类接口;应用启动时,发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端;服务端依据所述UDP信息包,逐一调用所述各个非缓存类接口,并缓存其结果。本发明能够减少http请求的耗时,提高应用启动效率。
Description
技术领域
本发明涉及接口访问领域,具体涉及提高接口访问效率的方法、存储介质。
背景技术
在现在的APP客户端与服务端交互场景中,会有很多的信息进行交互,其中,每次APP启动的过程中,都需要进行一系列地初始化动作。其中,需要进行初始化配置信息的接口调用以获取配置信息;需要进行版本是否升级的接口判断,用来明确是否需要进行升级,或者其他接口调用,如用来进行业务判断或进行数据获取的接口。而这些接口地调用又都是必须进行的,每个接口调用都需要进行一次http地请求,这样,在启动客户端应用之后,会有多个的http接口调用,如果数量较多的话,会导致应用启动过程较为缓慢,影响用户体验感。
能否有一种提高http接口访问效率的方法,减少耗时,提高用户体验感。
发明内容
本发明所要解决的技术问题是:提供一种提高接口访问效率的方法、存储介质,减少耗时,提高应用启动效率。
为了解决上述技术问题,本发明采用的技术方案为:
一种提高接口访问效率的方法,包括:
获取应用初始化时所需调用的各个非缓存类接口;
应用启动时,发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端;
服务端依据所述UDP信息包,逐一调用所述各个非缓存类接口,并缓存其结果。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种提高接口访问效率的方法。
本发明的有益效果在于:通过预先将应用启动所需调用的非缓存类接口的结果进行缓存,大大减少http请求耗时;且基于UDP信息包进行接口参数的传递,进一步提高了缓存速度,从而实现显著提升访问效率。
附图说明
图1为本发明实施例一种提高接口访问效率的方法的流程示意图;
图2为本发明实施例一的提高接口访问效率的方法的流程示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
本发明最关键的构思在于:服务端依据预先通过UDP信息包发送过来的接口参数将应用启动所需调用的非缓存类接口的结果进行缓存,大大减少http请求耗时。
请参照图1,本发明提供一种提高接口访问效率的方法,包括:
获取应用初始化时所需调用的各个非缓存类接口;
应用启动时,发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端;
服务端依据所述UDP信息包,逐一调用所述各个非缓存类接口,并缓存其结果。
从上述描述可知,本发明的有益效果在于:能够减少http请求的耗时,提高访问效率。
进一步地,所述逐一调用,具体为:依据优先级逐一调用;
所述优先级依据应用启动时调用各个非缓存类接口的顺序设置。
由上述描述可知,按照应用调用顺序来依次缓存非缓存类接口的结果,能够确保及时地满足应用启动需求,而且无需全部缓存结束后再启动应用,提高应用启动效率。
进一步地,还包括:
服务端接收到http请求时,先查询所述缓存,若无结果,再查询数据库。
由上述描述可知,当真正的http请求到来时,基于预缓存能够显著提高命中概率,提高访问效率。
进一步地,还包括:
缓存中一非缓存类接口的结果被返回后,则在缓存中删除返回的结果。
由上述描述可知,基于服务器缓存完成应用启动后,及时清空服务器缓存,能减少资源占用,提高服务器性能。
进一步地,还包括:
预设缓存超时时间;
当一非缓存类接口的结果的缓存时间超出缓存超时时间,则删除所述结果。
由上述描述可知,依据应用启动完成理论所需的时间来设置缓存有效期,能够保证缓存数据的有效性。
进一步地,还包括:
预先将应用初始化时所需调用的各个接口划分为缓存类接口和非缓存类接口。
由上述描述可知,通过区分接口,将应用启动调用时需要实时查询并进行业务处理的接口筛选出来进行对应结果地缓存,更具针对性,减少操作时间。
本发明提供的另一个技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述一种提高接口访问效率的方法,包括:
获取应用初始化时所需调用的各个非缓存类接口;
应用启动时,发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端;
服务端依据所述UDP信息包,逐一调用所述各个非缓存类接口,并缓存其结果。
进一步地,所述逐一调用,具体为:依据优先级逐一调用;
所述优先级依据应用启动时调用各个非缓存类接口的顺序设置。
进一步地,还包括:
服务端接收到http请求时,先查询所述缓存,若无结果,再查询数据库。
进一步地,还包括:
缓存中一非缓存类接口的结果被返回后,则在缓存中删除返回的结果。
进一步地,还包括:
预设缓存超时时间;
当一非缓存类接口的结果的缓存时间超出缓存超时时间,则删除所述结果。
进一步地,还包括:
预先将应用启动时所需调用的各个接口划分为缓存类接口和非缓存类接口。
请参照图2,本发明的实施例一为:
一种提高接口访问效率的方法,包括:
S1:预先将应用启动时所需调用的各个接口进行梳理与分类,划分为缓存类接口和非缓存类接口。
其中,缓存类接口为一些配置信息或者已经缓存好的信息;所述非缓存类接口为需要实时查询并进行业务处理的接口。
S2:获取各个非缓存类接口,并依据应用启动时地调用顺序设置各个非缓存类接口的优先级。
S3:应用启动时,预先发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端。
其中,UDP信息包中携带的是所有非缓存类接口可能需要使用到的参数信息,比如设备ID等相关业务信息。
在此,使用UDP信息包进行参数传递的原因是,相较于TCP连接,UDP连接具备更快得速度。
网络的TCP与UDP协议的分析如下表1所示:
表1
其中,TCP建立连接需要进行3次握手,需要多次的网络交互,同时有重传机制,当网络不稳定时,会确保消息一定发送到,而UDP则无需多次握手,并且不会多次发送消息等区别。汇总一句话就是在忽略消息可能丢失的情况下,UDP的速度会比TCP的快的多。而http协议又是一种建立在TCP协议之上的网络协议,所以会导致其请求较慢,耗时较多。
因此,本实施例通过UDP连接来传递接口参数数据,能够显著提高传递效率。
S4:服务端接收到上述UDP数据包之后,按照预先定义好的优先级,逐一调用各个非缓存类接口,每个接口调用成功的结果存储到服务器缓存中。
S5:设置缓存超时时间,当任一非缓存类接口的结果的缓存时间超出缓存超时时间,则删除该接口对应的结果。
可以预设缓存超时时间为10s,当一个非缓存类接口的结果缓存达到10S时则视为无效,进行删除。因为基于非缓存类接口的特性,其调用的数据需要具备实时性,而通过设置超时时间,能保证各个非缓存类接口对应结果的时效性,从而保证应用正常启动。
S6:当服务器接收到真正的http请求时,预先查询其缓存中是否已经存储有所需的数据(结果),若有,则直接返回该数据(结果),并在缓存中删除对应的数据(结果);若无,则继续业务操作,去数据库中查询,以及进行业务计算,并返回所需结果。
其中,返回后便删除缓存中相应数据内容的原因是,当启动并获取所有相关信息后,服务器上相关本地缓存已无用,通过及时进行删除,能够减少资源的占用。
本实施例通过设计一种新的接口处理方式,针对应用初始化时调用的接口,预先进行区分,分为缓存类和非缓存类的接口,其中针对非缓存类的接口还需要设置其优先级,按照应用调用接口的顺序设置优先级。在应用启动时,预先发送一个UDP信息,当服务端收到该信息后,针对如上优先级的接口预先进行预处理,包括查询数据库,执行真正的业务代码,并缓存相关返回信息。当真正的http请求到来时,则预先查询缓存,有信息则直接返回,无信息,则再次进行查询以及业务操作,使用该种方法能够减少http请求的耗时,提高访问效率。
本发明的实施例二为:
本实施例基于实施例一提供一具体运用场景:
假设一个APP应用启动时,会调用3个接口,一个为获取是否升级的接口;一个为根据deviceId获取个性化信息的接口(简称接口B);一个为根据应用自动生成的唯一识别码uniqueCode获取该应用的秘钥等信息的接口(简称接口A)。
其中,是否升级接口通过升级版本号进行判断,该版本号缓存在服务端缓存中,所以该接口为缓存类接口;其他两个(接口A和接口B)均需要根据参数获取个性化的信息,无法进行服务端缓存,所以为非缓存类接口。其中A接口优先级较高。
应用启动时,预先发送一个UDP包至服务端,并传递deviceId与uniqueCode信息在包内。服务端收到该UDP包后,根据预先定义好的启动接口优先级,预先调用A接口对应的方法,并生成对应的返回值直接缓存在缓存中;同理,B接口也进行同样的操作,并缓存相关信息至缓存中。并设置好自动过期时间为10秒。理论上10秒之内,真正的http请求就要到来了,否则,则这些缓存自动失效。
当真正的http请求到来时,预先至缓存中查看,是否已经有生成对应的结果缓存信息,因为存在UDP包发送失败以及缓存还未生成而真正的请求已经到来的这些情况,导致缓存中未有相关信息。如果缓存中有相关信息,则直接返回相关结果信息给客户端,如果缓存中无相关缓存信息,则按照旧有逻辑,调用对应接口的逻辑,生成对应的结果数据,并返回给客户端。
实施例三
本实施例对应实施例一和实施例二,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述实施例一或实施例二所述的一种提高接口访问效率的方法所包含的所有步骤。具体的步骤内容在此不进行复述,详情请参阅实施例一或实施例二的记载。
综上所述,本发明提供的一种提高接口访问效率的方法、存储介质;不仅大大减少了http请求耗时,提高接口访问效率,从而显著提升应用启动速度;而且能够保证请求结果数据的有效性;进一步地,还能尽可能减少内存资源地占用。从而使本发明的方案整体更具实用性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种提高接口访问效率的方法,其特征在于,包括:
获取应用启动时所需调用的各个非缓存类接口;
应用启动时,发送一存储有所述各个非缓存类接口的参数信息的UDP信息包至服务端;
服务端依据所述UDP信息包,逐一调用所述各个非缓存类接口,并缓存其结果。
2.如权利要求1所述的一种提高接口访问效率的方法,其特征在于,所述逐一调用,具体为:依据优先级逐一调用;
所述优先级依据应用启动时调用各个非缓存类接口的顺序设置。
3.如权利要求1所述的一种提高接口访问效率的方法,其特征在于,还包括:
服务端接收到http请求时,先查询所述缓存,若无结果,再查询数据库。
4.如权利要求1所述的一种提高接口访问效率的方法,其特征在于,还包括:
缓存中一非缓存类接口的结果被返回后,则在缓存中删除返回的结果。
5.如权利要求1所述的一种提高接口访问效率的方法,其特征在于,还包括:
预设缓存超时时间;
当一非缓存类接口的结果的缓存时间超出缓存超时时间,则删除所述结果。
6.如权利要求1所述的一种提高接口访问效率的方法,其特征在于,还包括:
预先将应用启动时所需调用的各个接口划分为缓存类接口和非缓存类接口。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序在被处理器执行时,能够实现上述权利要求1-6任意一项所述的一种提高接口访问效率的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029688.5A CN110865845B (zh) | 2019-10-28 | 2019-10-28 | 提高接口访问效率的方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029688.5A CN110865845B (zh) | 2019-10-28 | 2019-10-28 | 提高接口访问效率的方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110865845A true CN110865845A (zh) | 2020-03-06 |
CN110865845B CN110865845B (zh) | 2022-07-26 |
Family
ID=69653266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911029688.5A Active CN110865845B (zh) | 2019-10-28 | 2019-10-28 | 提高接口访问效率的方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110865845B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608779A (zh) * | 2021-08-10 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 服务接口配置方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534519A (zh) * | 2003-03-28 | 2004-10-06 | 请求和接收数据库改变通知的系统和方法 | |
WO2012034431A1 (zh) * | 2010-09-17 | 2012-03-22 | 深圳市融创天下科技股份有限公司 | 一种地图显示系统和方法 |
CN102984203A (zh) * | 2012-10-31 | 2013-03-20 | 深圳市深信服电子科技有限公司 | 基于云计算的提高缓存设备利用率的方法、装置及系统 |
CN103227815A (zh) * | 2013-03-25 | 2013-07-31 | 深信服网络科技(深圳)有限公司 | 控制浏览器缓存的方法及装置 |
CN103678338A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种带智能缓存模块的物联网标识解析方法 |
WO2014166092A1 (zh) * | 2013-04-11 | 2014-10-16 | 华为技术有限公司 | 资源配置方法、交换机及控制器 |
WO2017156916A1 (zh) * | 2016-03-16 | 2017-09-21 | 百度在线网络技术(北京)有限公司 | 数据访问方法和装置 |
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
US20180196820A1 (en) * | 2017-01-06 | 2018-07-12 | Oracle International Corporation | File system hierarchies and functionality with cloud object storage |
-
2019
- 2019-10-28 CN CN201911029688.5A patent/CN110865845B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534519A (zh) * | 2003-03-28 | 2004-10-06 | 请求和接收数据库改变通知的系统和方法 | |
WO2012034431A1 (zh) * | 2010-09-17 | 2012-03-22 | 深圳市融创天下科技股份有限公司 | 一种地图显示系统和方法 |
CN103678338A (zh) * | 2012-09-07 | 2014-03-26 | 中国科学院计算机网络信息中心 | 一种带智能缓存模块的物联网标识解析方法 |
CN102984203A (zh) * | 2012-10-31 | 2013-03-20 | 深圳市深信服电子科技有限公司 | 基于云计算的提高缓存设备利用率的方法、装置及系统 |
CN103227815A (zh) * | 2013-03-25 | 2013-07-31 | 深信服网络科技(深圳)有限公司 | 控制浏览器缓存的方法及装置 |
WO2014166092A1 (zh) * | 2013-04-11 | 2014-10-16 | 华为技术有限公司 | 资源配置方法、交换机及控制器 |
WO2017156916A1 (zh) * | 2016-03-16 | 2017-09-21 | 百度在线网络技术(北京)有限公司 | 数据访问方法和装置 |
US20180196820A1 (en) * | 2017-01-06 | 2018-07-12 | Oracle International Corporation | File system hierarchies and functionality with cloud object storage |
CN108200134A (zh) * | 2017-12-25 | 2018-06-22 | 腾讯科技(深圳)有限公司 | 请求消息管理方法及装置、存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608779A (zh) * | 2021-08-10 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 服务接口配置方法、装置、设备及存储介质 |
CN113608779B (zh) * | 2021-08-10 | 2023-12-26 | 平安国际智慧城市科技股份有限公司 | 服务接口配置方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110865845B (zh) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595207B (zh) | 一种灰度发布方法、规则引擎、系统、终端和存储介质 | |
CN102984286B (zh) | 一种dns服务器的缓存更新方法、装置及系统 | |
US7979509B1 (en) | Clustered network acceleration devices having shared cache | |
US7802014B2 (en) | Method and system for class-based management of dynamic content in a networked environment | |
CN108429777B (zh) | 一种基于缓存的数据更新方法及服务器 | |
CN109067936B (zh) | 一种域名解析的方法及装置 | |
CN105653198A (zh) | 数据处理方法及装置 | |
CN111221469B (zh) | 同步缓存数据的方法、装置和系统 | |
CN113452808B (zh) | 域名解析方法、装置、设备及存储介质 | |
CN109274730A (zh) | 物联网系统、mqtt消息传输的优化方法及装置 | |
CN111885216A (zh) | Dns查询方法、装置、设备和存储介质 | |
CN111988387B (zh) | 接口请求处理方法、装置、设备及存储介质 | |
US20150006622A1 (en) | Web contents transmission method and apparatus | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
US20180302489A1 (en) | Architecture for proactively providing bundled content items to client devices | |
CN110865845B (zh) | 提高接口访问效率的方法、存储介质 | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
CN113596105B (zh) | 内容的获取方法、边缘节点及计算机可读存储介质 | |
CN113364830B (zh) | 一种长链接的缓存优化方法及系统 | |
CN113709232B (zh) | 数据包加载方法、客户端、客户端代理、设备及存储介质 | |
CN115361279A (zh) | 配置数据的更新方法、装置、电子设备及计算机可读介质 | |
CN109947716A (zh) | 一种文件存储方法、设备及计算机可读存储介质 | |
WO2017092356A1 (zh) | 用于提供服务数据的服务器、方法及系统 | |
CN113596177A (zh) | 智能家居设备的ip地址的解析方法和装置 | |
CN110597772A (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 |