CN114780267B - 一种接口调用方法、装置、设备及存储介质 - Google Patents
一种接口调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114780267B CN114780267B CN202210701146.3A CN202210701146A CN114780267B CN 114780267 B CN114780267 B CN 114780267B CN 202210701146 A CN202210701146 A CN 202210701146A CN 114780267 B CN114780267 B CN 114780267B
- Authority
- CN
- China
- Prior art keywords
- target
- target function
- data
- value pair
- 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.)
- Active
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种接口调用方法、装置、设备及存储介质,涉及接口调用领域,包括:接收针对目标接口的目标功能调用请求,基于目标功能调用请求判断对应的目标功能是否是第一次被调用;若是第一次被调用,则将与目标功能调用请求对应的目标数据返回并存储至第一存储区域,在存储时生成对应的数据标识;基于数据标识生成目标键值对,将目标键值对存储至第二存储区域,以便再次接收到目标功能调用请求时,在验证通过后直接通过目标键值对获取存储在第一存储区域中的目标数据。本申请在首次调用目标功能获取目标数据时生成主键编号,基于主键编号生成目标键值对并存储在本地缓存,再次调用目标功能时通过目标键值对获取目标数据,减少了接口调用次数。
Description
技术领域
本发明涉及接口调用领域,特别涉及一种接口调用方法、装置、设备及存储介质。
背景技术
目前,在对某一个接口中的一个功能方法调用时,通常是在接收到功能调用请求后访问该接口,每接收到一个调用请求就会访问一次存储区域获取对应的数据,因此若在某一时间段内接收到大量的针对此接口中的一个功能方法的调用请求时,会在同一时间频繁访问存储区域,从而造成一定的性能问题,例如资源请求时间变长,网页加载缓慢、请求处理等待时间变长等问题。因此,当前技术的缺点为在一些业务场景下,并发或者一定时间内的重复网络请求造成的资源浪费。
发明内容
有鉴于此,本发明的目的在于提供一种接口调用方法、装置、设备和存储介质,能够减少接口调用次数,提高请求处理效率与网页加载速度,提高网络资源利用效率。其具体方案如下:
第一方面,本申请公开了一种接口调用方法,包括:
接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;
若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;
基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
可选的,所述基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用,包括:
获取所述目标功能调用请求中的信息;所述信息包含目标接口名、目标功能名以及当前参数;
将所述信息与所述第二存储区域中的信息进行匹配;
当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用;
当未匹配到完全一致的信息时,判定所述目标功能是第一次被调用。
可选的,所述基于所述数据标识生成目标键值对,包括:
基于所述数据标识、有效时间或时间戳以及用户身份校验信息生成目标键值对。
可选的,所述当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用之后,还包括:
利用所述用户身份校验信息对当前用户进行验证;
当验证通过时,利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内;
若所述目标数据处于有效期内,则通过所述数据标识在所述第一存储区域中直接查询并获取对应的所述目标数据。
可选的,所述利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内之后,还包括:
若所述目标数据不在有效期内,则删除所述第一存储区域中的所述目标数据,并触发所述将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域的步骤。
可选的,所述接收针对目标接口的目标功能调用请求之后,还包括:
当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求;
在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态;
当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域;所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径。
可选的,所述当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,包括:
若所述数据标识为所述数据加载状态,则在每次接收到所述目标功能调用请求时返回预设承诺信号,并将全部所述预设承诺信号存储在容器中;
当第一个所述目标功能调用请求调用结束后,依据所述预设承诺信号将所述数据标识变更为对应的主键编号并自动返回所述目标数据。
第二方面,本申请公开了一种接口调用装置,包括:
请求接收模块,用于接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;
数据存储模块,用于若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;
键值对存储模块,用于基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的接口调用方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的接口调用方法。
可见,本申请提供了一种接口调用方法,包括:接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。由此可见,本申请通过在第一次接收到某一接口的目标功能调用请求时缓存数据,以便在后续多次调用相同的接口的目标功能调用请求时快速获取对应的数据,减少了网络请求次数以及相同的接口功能方法请求的调用次数,降低了服务器压力与资源请求时间,节约了服务器带宽,提高了请求处理效率和网页加载速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种接口调用方法流程图;
图2为本申请公开的一种具体的接口调用方法流程图;
图3为本申请提供的接口调用装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在对某一个接口中的一个功能方法调用时,通常是在接收到功能调用请求后访问该接口,大量重复的功能调用请求会造成软件性能问题,例如资源请求时间变长,网页加载缓慢、请求处理等待时间变长等问题。因此,当前技术的缺点为在一些业务场景下,并发或者一定时间内的重复网络请求造成的资源浪费。为此,本申请提供了一种接口调用方法,能够减少网络请求次数以及相同的接口功能方法请求的调用次数,降低服务器压力与资源请求时间,节约服务器带宽,提高请求处理效率和网页加载速度。
本发明实施例公开了一种接口调用方法,参见图1所示,该方法包括:
步骤S11:接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用。
本实施例中,接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用。获取所述目标功能调用请求中的信息,将所述信息与所述第二存储区域中的信息进行匹配。当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用;当未匹配到完全一致的信息时,判定所述目标功能是第一次被调用。其中,所述信息包含目标接口名、目标功能名以及当前参数。
可以理解的是,接收目标按钮被点击后生成的针对目标接口的目标功能调用请求,然后基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用。例如,所述目标功能调用请求的结构为:接口名/接口方法名+参数;参数可以为1个或多个,用户可以根据实际情况自定义参数的类型和数量。可以理解的是,当接收到所述目标功能调用请求之后,可以根据上述请求结构中的信息判断上述目标功能调用请求的目标接口以及与此接口对应的目标功能是否为第一次被调用,然后根据不同的判断结果选择对应的执行步骤。需要指出的是,发起目标接口的目标功能调用请求具体可以体现为点击某一按钮或控件/组件,如进行人员选择时,需同时请求组织架构、用户信息、权限信息等多个接口,且每个接口可能会被多次请求。
步骤S12:若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识。
本实施例中,当判断结果为所述目标功能是第一次被调用时,将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识。具体的,将与所述目标功能调用请求对应的目标数据返回并存储至数据库,并在存储时生成对应的数据标识。可以理解的是,根据所述目标功能调用请求查询对应的目标数据,然后返回所述目标数据,再将所述目标数据存储至indexDB(浏览器数据库),以便再次接收到所述目标功能调用请求时从所述indexDB获取对应的目标数据。可以理解的是,在存储所述目标数据时生成对应的主键编号。例如所述主键编号即由indexDB在保存所述目标数据时自动生成的数据主键,是数据的唯一ID,根据上述ID可以查询到对应的目标数据。
步骤S13:基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
本实施例中,生成对应的数据标识之后,基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。需要指出的是,基于所述数据标识、有效时间或时间戳以及用户身份校验信息生成目标键值对。其中,第一存储区域可以是本地缓存也可以是数据库形式,第二存储区可以是本地缓存也可以是数据库形式;优选的一种实施方式为第二存储区域可以为本地缓存(localStorage),第一存储区域可以为数据库(indexDB),具体的,基于所述数据标识生成目标键值对,因此当接收到一个目标功能请求且判定为不是第一次被调用时,可以通过访问本地缓存得到所述目标键值对,再通过所述目标键值对中的所述数据标识在数据库中查询并获取对应的目标数据。可以理解的是,现有技术中,从indexDB(浏览器数据库)中获取该请求对应的数据,localStorage(本地缓存)总大小在5M(兆)左右,而某些单个接口返回数据可以达到3M至4M,本方案的一种实施例,通过采用localStorage和indexDB相结合的方案,可储存数据在250MB以上,降低了因为频繁访问indexDB而造成性能问题的可能性。此外,将数据的有效期、主键等信息保存在localStorage中能够进一步便于执行数据校验和查询,进一步提高了请求处理效率和网页加载速度。
可见,本申请提供了一种接口调用方法,包括:接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。由此可见,本申请通过在第一次接收到某一接口的目标功能调用请求时缓存数据,以便在后续多次调用相同的接口目标功能调用请求时快速获取对应的数据,减少了网络请求次数以及相同的接口功能方法请求的调用次数,降低了服务器压力与资源请求时间,节约了服务器带宽,提高了请求处理效率和网页加载速度。
参见图2所示,本发明实施例公开了一种接口调用方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:接收针对目标接口的目标功能调用请求。
本实施例中,接收针对目标接口的目标功能调用请求。需要指出的是,当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求。在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态;当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域。可以理解的是,所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径。
具体的,当所述目标功能同时被多次调用(即同时接收到多个针对目标功能的目标功能调用请求)或初次目标功能调用请求未完成且再次接收到目标功能调用请求时,在初次调用操作进行时,将目标键值对中所述数据标识中的数据状态更改为数据加载状态(loading),表示该接口已发起第一次调用但数据缓存暂未存储成功,在数据状态不是loading之后再进行相对应的调用操作。可以理解的是,所述数据标识为所述主键编号或所述目标数据的存储路径或所述数据状态,并且上述信息保存在localStorage中,便于校验和查询。其中,主键编号、所述数据存储路径均用于标识与所述目标功能调用请求对应的目标数据的存储路径;所述数据状态用于表示所述目标数据的存储状态,包括数据加载状态和数据加载完成状态。例如有效时间如为5分钟内有效,则表示在5分钟内,若该功能请求再次被调用,则均通过数据标识进一步获取待返回的目标数据而不需要再执行一次调用。
步骤S22:获取所述目标功能调用请求中的信息;所述信息包含目标接口名、目标功能名以及当前参数。
本实施例中,接收到目标功能调用请求之后,获取所述目标功能调用请求中的信息,即获取所述目标功能调用请求中的目标接口名、目标功能名以及当前参数,然后通过上述信息查询是否存在完全一致的历史数据。
步骤S23:将所述信息与所述第二存储区域中的信息进行匹配,并判断对应的目标功能是否是第一次被调用。
本实施例中,获取所述目标功能调用请求中的信息之后,将所述信息与本地缓存中的信息进行匹配并判断对应的目标功能是否是第一次被调用,即通过匹配本次请求的目标接口名、目标功能名(或接口方法名)以及当前参数与历史数据集中的数据是否完全一致判断是否为第一次调用,当未匹配到完全一致的信息时,判定所述目标功能是第一次被调用。
步骤S24:若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识。
本实施例中,若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域(即数据库),并在存储时生成对应的数据标识。需要指出的是,数据标识存储的位置可以是本地缓存localStorage,也可以是浏览器数据库例如IndexDB,还可以是本地缓存与浏览器数据库配合存储。
步骤S25:基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
本实施例中,基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。可以理解的是,当键值对中数据标识以主键编号的形式存储在本地缓存中时,主键编号在浏览器数据库中将具体的主键ID和对应的数据也以键值形式进行存储。localStorage总大小在5M左右,而某些单个接口返回的数据大小可以达到3M至4M,只使用localStorage无法满足存储需求,而indexDB的增删改查操作都是异步的,同时存储的数据都具有时效性,为了避免频繁读取、查询等数据库操作,基于localStorage实现查询、校验功能。若在localStorage中判断目标数据存在且有效,则进行读取indexDB中目标数据的操作;若目标数据存在且无效则直接删除所述数据库中的目标数据;若目标数据不存在则直接发起网络请求。每个接口返回的目标数据会储存在indexDB中,对应的主键及有效期等信息会保存在localStorage中。
具体的,当将所述信息与本地缓存中的信息进行匹配,并匹配到完全一致的信息时,判定所述目标功能不是第一次被调用,即为该功能接口的重复调用。则本次发起对目标接口的目标功能调用请求将依据第一次调用时缓存的数据标识获取对应的目标数据并返回调用结果,不再单独发起一次新的网络请求。然后利用所述用户身份校验信息对当前用户进行验证;当验证通过时,利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内,若所述目标数据处于有效期内,则通过所述主键编号在所述数据库中直接查询并获取对应的所述目标数据;若所述目标数据不在有效期内,则删除所述数据库中的所述目标数据,并触发所述将与所述目标功能调用请求对应的目标数据返回并存储至数据库的步骤。可以理解的是,所述键值对包含目标接口名/目标功能名和当前参数、用于表示有效时间或时间戳的value、用户身份校验信息以及数据标识。例如,用户身份校验信息为用户token(令牌)。可以理解的是,上述时间戳可以为发起该请求的某一时间点。
可以理解的是,当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求,在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态,当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域;所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径,若所述数据标识为所述数据加载状态,则在每次接收到所述目标功能调用请求时返回预设承诺信号,并将全部所述预设承诺信号存储在容器中,当第一个所述目标功能调用请求调用结束后,依据所述预设承诺信号将所述数据标识变更为对应的主键编号并自动返回所述目标数据。因此若所述数据标识为数据加载状态,则在每次接收到后续的重复所述目标功能调用请求(例如第二次、第三次...第N次重复请求)时返回一个预设承诺信号(promise),并将全部所述预设承诺信号存储在容器中,当所述数据标识变更为主键编号后,根据所述预设承诺信号自动返回所述目标数据。需要指出的是,上述预设承诺信号中包含着第一次请求将来的返回结果,在第一次的请求完成后会将得到的返回结果自动分发给后续的重复请求。
例如,getOrganizesTrees网络请求(获取组织架构树的网络请求)在同一时间内发起了5次,在同时请求的情况下,第2-5次的请求发起时,第一次的请求还未完成,因此无法直接把第一次的返回数据作为结果返回给后续的请求,为了避免这种并发重复调用情况,该方案采用了promise的方式,在第一次请求发起后,保存该条数据的值为loading状态,后续重复的请求会收到一个promise承诺,该承诺会保证在第一次的请求完成后自动把目标数据返回过来。实现了在同一功能请求并发重复调用过程或短时间内集中调用时,大幅度减少调用次数,快速实现接口请求调用,获得返回结果。
可见,本申请实施例通过接收针对目标接口的目标功能调用请求;获取所述目标功能调用请求中的信息;所述信息包含目标接口名、目标功能名以及当前参数;将所述信息与所述第二存储区域中的信息进行匹配,并判断对应的目标功能是否是第一次被调用;若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据,减少了网络请求次数以及相同的接口功能方法请求的调用次数,降低了服务器压力与资源请求时间,节约了服务器带宽,提高了请求处理效率和网页加载速度。
参见图3所示,本申请实施例还相应公开了一种接口调用装置,包括:
请求接收模块11,用于接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;
数据存储模块12,用于若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;
键值对存储模块13,用于基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
可见,本申请包括:接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。由此可见,本申请通过在第一次接收到某一接口的目标功能调用请求时缓存数据,以便在后续多次调用相同的接口目标功能调用请求时快速获取对应的数据,减少了网络请求次数以及相同的接口功能方法请求的调用次数,降低了服务器压力与资源请求时间,节约了服务器带宽,提高了请求处理效率和网页加载速度。
在一些具体实施例中,所述请求接收模块11,具体包括:
请求接收单元,用于接收针对目标接口的目标功能调用请求;
信息获取单元,用于获取所述目标功能调用请求中的信息;所述信息包含目标接口名、目标功能名以及当前参数;
信息匹配单元,用于将所述信息与所述第二存储区域中的信息进行匹配;
第一判断单元,用于当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用;
第二判断单元,用于当未匹配到完全一致的信息时,判定所述目标功能是第一次被调用;
用户身份验证单元,用于利用所述用户身份校验信息对当前用户进行验证;
有效期判断单元,用于当验证通过时,利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内;
目标数据查询单元,用于若所述目标数据处于有效期内,判断当前的数据状态;
第一个请求确定单元,用于当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求;
数据标识设定单元,用于在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态;
目标键值对获取单元,用于当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域;所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径;
预设承诺信号返回单元,用于若所述数据标识为所述数据加载状态,则在每次接收到所述目标功能调用请求时返回预设承诺信号,并将全部所述预设承诺信号存储在容器中;
目标数据自动返回单元,用于当第一个所述目标功能调用请求调用结束后,依据所述预设承诺信号将所述数据标识变更为对应的主键编号并自动返回所述目标数据;
目标数据删除单元,用于若所述目标数据不在有效期内,则删除所述第一存储区域中的所述目标数据,并触发所述将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域的步骤。
在一些具体实施例中,所述数据存储模块12,具体包括:
数据存储单元,用于若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识。
在一些具体实施例中,所述键值对存储模块13,具体包括:
键值对生成单元,用于基于所述数据标识、有效时间或时间戳以及用户身份校验信息生成目标键值对;
存储单元,用于将所述目标键值对存储至第二存储区域;
第二数据获取单元,用于再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据。
进一步的,本申请实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的接口调用方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的接口调用方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的接口调用方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种接口调用方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种接口调用方法,其特征在于,包括:
接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;
若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;
基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据;
其中,当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求;
在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态;
当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域;所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径。
2.根据权利要求1所述的接口调用方法,其特征在于,所述基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用,包括:
获取所述目标功能调用请求中的信息;所述信息包含目标接口名、目标功能名以及当前参数;
将所述信息与所述第二存储区域中的信息进行匹配;
当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用;
当未匹配到完全一致的信息时,判定所述目标功能是第一次被调用。
3.根据权利要求2所述的接口调用方法,其特征在于,所述基于所述数据标识生成目标键值对,包括:
基于所述数据标识、有效时间以及用户身份校验信息生成目标键值对;
或,基于所述数据标识、时间戳以及用户身份校验信息生成所述目标键值对。
4.根据权利要求3所述的接口调用方法,其特征在于,所述当匹配到完全一致的信息时,判定所述目标功能不是第一次被调用之后,还包括:
利用所述用户身份校验信息对当前用户进行验证;
当验证通过时,利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内;
若所述目标数据处于有效期内,则通过所述数据标识在所述第一存储区域中直接查询并获取对应的所述目标数据。
5.根据权利要求4所述的接口调用方法,其特征在于,所述利用所述有效时间或所述时间戳判断所述目标数据是否处于有效期内之后,还包括:
若所述目标数据不在有效期内,则删除所述第一存储区域中的所述目标数据,并触发所述将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域的步骤。
6.根据权利要求1所述的接口调用方法,其特征在于,所述当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,包括:
若所述数据标识为所述数据加载状态,则在每次接收到所述目标功能调用请求时返回预设承诺信号,并将全部所述预设承诺信号存储在容器中;
当第一个所述目标功能调用请求调用结束后,依据所述预设承诺信号将所述数据标识变更为对应的主键编号并自动返回所述目标数据。
7.一种接口调用装置,其特征在于,包括:
请求接收模块,用于接收针对目标接口的目标功能调用请求,并基于所述目标功能调用请求判断对应的目标功能是否是第一次被调用;
数据存储模块,用于若所述目标功能是第一次被调用,则将与所述目标功能调用请求对应的目标数据返回并存储至第一存储区域,并在存储时生成对应的数据标识;
键值对存储模块,用于基于所述数据标识生成目标键值对,并将所述目标键值对存储至第二存储区域,以便再次接收到所述目标功能调用请求时,在验证通过后直接通过所述目标键值对获取存储在所述第一存储区域中的所述目标数据;
其中,所述装置还用于:当同时接收到大于预设数量的针对所述目标接口的所述目标功能调用请求时,确定第一个所述目标功能调用请求;在执行第一个所述目标功能调用请求时,将基于第一个所述目标功能调用请求生成的所述目标键值对的所述数据标识设定为数据加载状态;当第一个所述目标功能调用请求调用结束后,将所述数据标识变更为主键编号,以得到所述目标键值对,并将所述目标键值对存储至所述第二存储区域;所述主键编号用于标识所述目标功能调用请求对应的目标数据的存储路径。
8.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至6任一项所述的接口调用方法的步骤。
9.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的接口调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701146.3A CN114780267B (zh) | 2022-06-21 | 2022-06-21 | 一种接口调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210701146.3A CN114780267B (zh) | 2022-06-21 | 2022-06-21 | 一种接口调用方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114780267A CN114780267A (zh) | 2022-07-22 |
CN114780267B true CN114780267B (zh) | 2022-09-27 |
Family
ID=82422113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210701146.3A Active CN114780267B (zh) | 2022-06-21 | 2022-06-21 | 一种接口调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114780267B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990736A (zh) * | 2019-12-05 | 2020-04-10 | 秒针信息技术有限公司 | 页面加载方法、装置、终端设备和存储介质 |
CN112612546A (zh) * | 2020-12-24 | 2021-04-06 | 广州虎牙科技有限公司 | 页面加载方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255905B (zh) * | 2017-05-04 | 2019-10-01 | 平安科技(深圳)有限公司 | 接口调用数据处理方法、装置和计算机设备 |
CN112187908A (zh) * | 2020-09-23 | 2021-01-05 | 易小博(武汉)科技有限公司 | 一种数据处理方法、系统和接口服务平台 |
CN113438302A (zh) * | 2021-06-23 | 2021-09-24 | 平安养老保险股份有限公司 | 动态资源多级缓存方法、系统、计算机设备及存储介质 |
-
2022
- 2022-06-21 CN CN202210701146.3A patent/CN114780267B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990736A (zh) * | 2019-12-05 | 2020-04-10 | 秒针信息技术有限公司 | 页面加载方法、装置、终端设备和存储介质 |
CN112612546A (zh) * | 2020-12-24 | 2021-04-06 | 广州虎牙科技有限公司 | 页面加载方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114780267A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111092877B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110489447A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN107689976B (zh) | 一种文件传输方法及装置 | |
CN111241125A (zh) | 一种记录操作日志的方法、装置、电子设备和存储介质 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
EP4287023A1 (en) | Service processing method and device | |
CN114553960A (zh) | 一种数据缓存方法、装置、设备及存储介质 | |
CN113900907B (zh) | 一种映射构建方法和系统 | |
CN113961832A (zh) | 页面渲染的方法、装置、设备、存储介质及程序产品 | |
CN109885729B (zh) | 一种显示数据的方法、装置及系统 | |
CN113660359A (zh) | 域名解析记录的管理方法及装置、存储介质及电子设备 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN114780267B (zh) | 一种接口调用方法、装置、设备及存储介质 | |
CN110852603B (zh) | 高吞吐量的风控数据处理方法、装置、设备及存储介质 | |
CN111475468A (zh) | 新增系统的日志接入方法、装置、设备及存储介质 | |
CN113596177B (zh) | 智能家居设备的ip地址的解析方法和装置 | |
CN114090268B (zh) | 容器管理方法及容器管理系统 | |
CN113656178B (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN115858668A (zh) | 分布式事务处理方法、装置、电子装置及存储介质 | |
CN110688201B (zh) | 一种日志管理方法及相关设备 | |
CN113726885A (zh) | 一种流量配额的调整方法和装置 | |
CN112068899A (zh) | 插件加载方法、装置、电子设备及存储介质 | |
CN113901377B (zh) | 遗留系统的服务调用方法、装置、存储介质及设备 | |
CN115987905B (zh) | 一种多通道流控方法、系统、设备及存储介质 | |
CN110858918B (zh) | Mds数据获取方法、数字电视及存储介质 |
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 |