CN117215807A - 接口查询结果的缓存方法、装置、存储介质及计算机设备 - Google Patents
接口查询结果的缓存方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN117215807A CN117215807A CN202311139144.0A CN202311139144A CN117215807A CN 117215807 A CN117215807 A CN 117215807A CN 202311139144 A CN202311139144 A CN 202311139144A CN 117215807 A CN117215807 A CN 117215807A
- Authority
- CN
- China
- Prior art keywords
- parameter
- configuration data
- query
- interface
- service
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机技术领域,并公开了一种接口查询结果的缓存方法、装置、存储介质及计算机设备。其中方法包括首先响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数,然后构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段,再基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值,最终将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。上述方法能够减少对调用服务接口的直接调用,并提升了请求参数匹配以及查询结果获取的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种接口查询结果的缓存方法、装置、存储介质及计算机设备。
背景技术
在大数据飞速发展的背景下,计算机系统具有快速处理磁盘文件的能力,但是在微服务的架构下,调用远程服务接口的速度还比较缓慢,远程服务接口调用的时效也成为大数据处理的性能瓶颈。
现有技术中,存在某些特定的应用场景,需要在一定的时间范围内大量调用某一远程服务接口,导致远程过程调用(Remote Procedure Call,RPC)或者http链接占用大量的服务器和带宽资源,进而会给远程服务带来大量的负载压力,影响远程服务的正常运行,因此减少直接对远程服务接口的调用,并提升查询结果获取的时效性也是突破大数据处理瓶颈的关键。
发明内容
有鉴于此,本申请提供了接口查询结果的缓存方法、装置、存储介质及计算机设备,主要目的在于解决现有技术中直接对远程服务接口进行调用,导致占用服务接口大量资源,以及查询结果获取效率低的技术问题。
根据本发明的第一个方面,提供了一种接口查询结果的缓存方法,该方法包括:
响应于接口调用请求,确定所述接口调用请求对应的服务接口,并获取所述接口调用请求的请求参数;
构建所述服务接口的动态代理类,并基于所述动态代理类,获取所述服务接口的入参配置数据,其中,所述入参配置数据包括查询参数字段;
基于同一所述查询参数字段,获取所述查询参数字段对应的所述入参配置数据,并对所述入参配置数据进行组合,生成数据查询键值;
将所述请求参数与所述数据查询键值进行匹配,得到所述请求参数对应的服务查询结果,并将所述服务查询结果存储至数据库中。
根据本发明的第二个方面,提供了一种接口查询结果的缓存装置,该装置包括:
接口获取模块,用于响应于接口调用请求,确定所述接口调用请求对应的服务接口,并获取所述接口调用请求的请求参数;
入参获取模块,用于构建所述服务接口的动态代理类,并基于所述动态代理类,获取所述服务接口的入参配置数据,其中,所述入参配置数据包括查询参数字段;
入参组合模块,用于基于同一所述查询参数字段,获取所述查询参数字段对应的所述入参配置数据,并对所述入参配置数据进行组合,生成数据查询键值;
结果生成模块,用于将所述请求参数与所述数据查询键值进行匹配,得到所述请求参数对应的服务查询结果,并将所述服务查询结果存储至数据库中。
根据本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,程序被处理器执行时实现上述接口查询结果的缓存方法。
根据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述接口查询结果的缓存方法。
本发明提供的一种接口查询结果的缓存方法、装置、存储介质及计算机设备,首先响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数,然后构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段,再基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值,最终将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。上述方法通过构建接口调用请求对应的服务接口的动态代理类,通过动态代理的方式获取到远程服务查询结果,避免直接对服务接口进行调用,导致服务接口及所在服务器在同一时间内带宽资源被大量占用,造成很大的负载压力,影响服务接口的正常使用;同时对输出相同出参配置参数的所有入参配置参数进行组合,生成数据查询键值,能够灵活匹配接口调用请求中的请求参数,提升匹配效率;并且将已获取到的服务查询结果存储到数据库中,便于后续存在相同接口调用请求时直接获取相同的服务查询结果,提升了查询结果获取的效率。上述方法能够减少对调用服务接口的直接调用,并提升了请求参数匹配以及查询结果获取的效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种接口查询结果的缓存方法的流程示意图;
图2示出了本发明实施例提供的一种接口查询结果的缓存方法的流程示意图;
图3示出了本发明实施例提供的一种接口查询结果的缓存装置的结构示意图;
图4示出了本发明实施例提供的一种接口查询结果的缓存装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的装置结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种接口查询结果的缓存方法,如图1所示,该方法包括以下步骤:
101、响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数。
首先对本方法适用的应用场景进行介绍,在微服务的架构下,计算机系统调用远程服务接口的速度还比较缓慢,并且在某些特定的应用场景,需要在一定的时间范围内大量调用某一远程服务接口,导致远程过程调用或者http链接占用大量的服务器和带宽资源,进而会给远程服务带来大量的负载压力,影响远程服务的正常运行。
具体地,接口是指对协定进行定义的引用类型,其他类型用于实现接口,以确保支持具体的操作。接口指定必须由类提供的成员或实现它的其他接口。与类相似,接口可以包含方法、属性、索引器和事件作为成员。本申请中,服务接口是指用于实现本申请中与业务系统连接的接口,即业务系统发送的接口调用请求所调用的对应接口,而请求参数就是业务系统在发送请求传递给服务接口输入端的数据,基于请求参数能够在服务接口中得到对应的信息或数据结果。
进而本申请提出一种接口查询结果的缓存方法,首先根据业务系统发送的接口调用请求,确定与接口调用请求对应的服务接口,即业务系统需要在指定的服务接口中获取数据结果或信息,同时对接口调用请求解析得到接口调用请求的请求参数,不同请求参数构成不同的接口调用请求,获取到的请求参数即为服务接口输入端接收到的数据。
102、构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段。
具体地,动态代理即为在程序运行期间,创建目标对象的代理对象,并对目标对象中的方法进行功能性增强的一种技术。在生成代理对象的过程中,目标对象不变,代理对象中的方法是对目标对象方法的增强方法,生成的代理对象即为动态代理类,可以理解为在系统或程序运行期间,对目标对象中方法动态拦截,在拦截方法的前后执行功能操作,而动态代理创建的代理对象,并不是事先在Java代码中定义好的,而是在运行期间,基于发出的指示动态生成的。动态代理能够对被代理对象的方法进行功能增强,可以在不修改方法源码的情况下,增强被代理对象的方法的功能,在方法执行想要执行的操作。
在本申请实施例中,采用动态代理的方式来构建服务接口的动态代理类,利用动态代理类代为执行对服务接口的调用操作,同样能够获取到服务接口的入参配置数据,入参配置数据中包括用于获取接口查询结果的查询参数字段,各个不同的入参配置数据通过查询参数字段进行区分,后续基于入参配置数据的查询参数字段即可获得服务接口的接口查询结果。通过构建动态代理类,能够避免业务系统直接对服务接口进行调用,造成服务接口内大量资源被占用,影响结果获取效率。
103、基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值。
具体地,键值(key)是windows系统中注册表中的概念,键值位于注册表结构链末端,包含当前计算机及应用程序执行时使用的实际配置信息和数据。键值包含几种不同的数据类型,以适应不同环境的使用需求,在注册表中的所有信息是以各种形式的键值项数据保存下来。
在本申请实施例中,一个服务接口的输入端对应获取不同的入参配置数据,不同的入参配置数据基于查询参数字段进行区分,进而存在一些入参配置数据具有相同的查询参数字段,因此基于相同的查询参数字段,获取所有包含此查询参数字段的入参配置数据,并对以上所有入参配置数据进行整合,得到数据查询键值,得到的数据查询键值中包括统一的查询参数字段,基于相同的查询参数字段便可获得相同的服务查询结果。本申请对服务接口的入参配置数据进行组合,基于查询参数字段获取结果,能够灵活匹配在不同业务场景下具有相同查询参数字段的接口调用请求,更加便于获取服务查询结果,提升匹配效率。
104、将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。
具体地,数据库为分布式缓存redis或者本地服务器内存memcache,其中,redis(Remote Dictionary Server)即远程字典服务,是一个开源的使用ANSIC语言编写,支持网络并可基于内存亦可持久化的日志型Key-Value数据库,能够提供多种语言的API,而memcache是一套分布式的高速缓存系统,对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。数据库中数据的序列化方法包括哈希(hash)或JSON(JavaScript Object Notation,JS对象简谱)等。
在本申请实施例中,将接口调用请求中的请求参数与通过组合入参配置数据生成的数据查询键值进行匹配,若存在任一数据查询键值与请求参数匹配成功,则数据查询键值对应的输出结果即为请求参数对应的服务查询结果。然后,将服务查询存储至数据库中,便于之后在不同业务场景下,当响应相同的接口调用请求时,能够直接在数据库中提取接口调用请求对应的服务查询结果,避免直接调用服务接口,再次进行服务查询结果获取的全部过程,极大地提升了服务查询结果获取的效率。
本发明提供的一种接口查询结果的缓存方法、装置、存储介质及计算机设备,首先响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数,然后构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段,再基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值,最终将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。上述方法通过构建接口调用请求对应的服务接口的动态代理类,通过动态代理的方式获取到远程服务查询结果,避免直接对服务接口进行调用,导致服务接口及所在服务器在同一时间内带宽资源被大量占用,造成很大的负载压力,影响服务接口的正常使用;同时对输出相同出参配置参数的所有入参配置参数进行组合,生成数据查询键值,能够灵活匹配接口调用请求中的请求参数,提升匹配效率;并且将已获取到的服务查询结果存储到数据库中,便于后续存在相同接口调用请求时直接获取相同的服务查询结果,提升了查询结果获取的效率。上述方法能够减少对调用服务接口的直接调用,并提升了请求参数匹配以及查询结果获取的效率。
本申请实施例提供了一种接口查询结果的缓存方法,如图2所示,该方法包括以下步骤:
201、响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数。
在本申请实施例中,基于接口调用请求确定对应的服务接口,并获取接口调用请求的请求参数,请求参数用于获取接口调用请求对应的服务查询结果,此步骤的实施方式与步骤101一致,在此不过多赘述。
202、基于服务接口生成服务接口的动态代理文件包。
具体地,遍历服务接口的节点,确定服务接口的子接口,并获取每一子接口的入参配置数据和出参配置数据,对服务接口内所有子接口的入参配置数据进行整合,得到服务接口的入参配置数据;对服务接口内所有子接口的出参配置数据进行整合,得到服务接口的出参配置数据,其中,服务接口的出参配置数据作为服务接口的服务查询结果,对应至少一个入参配置数据。
在本申请实施例中,服务接口包括多个节点,每个节点内包括一个或多个子接口,遍历服务接口所有的节点,确定服务接口所包含的所有子接口,进而获取所有子接口的入参配置数据和出参配置数据,分别将所有子接口的入参配置数据和出参配置数据进行整合,整合后得到的所有子接口的入参配置数据即为服务接口的入参配置数据,整合后得到的所有子接口的出参配置数据即为服务接口的出参配置数据,出参配置数据作为服务接口输出的结果,即为服务接口对应的服务查询结果。在不同的业务场景下,一个出参配置数据对应至少一个入参配置数据,即存在在服务接口输入多个入参配置数据,均能得到唯一的出参配置数据,即服务接口对应的服务查询结果,服务接口的入参配置数据和出参配置数据构成服务接口的动态代理文件包。
进一步的,对服务接口内所有子接口的入参配置数据进行整合,得到服务接口的入参配置数据,包括获取每一子接口的调用地址和描述文本,并基于子接口的调用地址生成子接口的查询方法;基于描述文本为查询方法添加注释信息,得到子接口的入参配置数据,其中,注释信息包括多个参数字段;对服务接口内所有子接口的入参配置数据进行整合,得到服务接口的入参配置数据,其中,多个参数字段整合后生成入参配置数据的查询参数字段。
在本申请实施例中,入参配置数据输入到服务接口的输入端,对应得到服务接口的出参配置数据,而服务接口的入参配置数据包括服务接口下每一子接口的入参配置数据,基于子接口自身的调用地址便可生成子接口的查询方法,再基于子接口自身的描述文本,生成注释信息,并将注释信息绑定在对应的查询方法上,而注释内心内包含多个参数字段,例如customerId用户代号和accountType账户类型,因此基于参数字段便可确定子接口的查询方法。在对子接口的入参配置数据进行整合的过程中,每个子接口的入参配置数据中的参数字段同样进行整合后,使得到服务接口的入参配置数据也包含有基于多个参数字段整合生成的查询参数字段,利用查询参数字段便可同样能够确定服务接口的入参配置数据。
203、构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据。
具体地,基于服务接口生成服务接口的动态代理文件包,其中,动态代理文件包包括入参配置数据和出参配置数据;根据动态代理文件包构建服务接口的动态代理类;基于动态代理类实现服务接口的动态代理文件包,得到服务接口的入参配置数据和出参配置数据。
其中,动态代理文件包具体为JAVA JDK的内置jar包。
在本申请实施例中,JAVA JDK的内置jar包的生成规则是先生成入参配置数据、出参配置数据,再生成接口,即动态代理类,因此在得到服务接口的动态代理文件包后,基于动态代理文件包能够生成服务接口的动态代理类,后续所有对服务接口的操作均在动态代理类上进行实现,而在动态代理类上对动态代理文件包进行解析,便能够得到服务接口的入参配置数据和出参配置数据,以供执行后续的操作。
204、基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值。
具体地,提取任一入参配置数据的查询参数字段作为目标参数字段;基于目标参数字段,遍历全部入参配置数据,将具有目标参数字段的入参配置数据标记为目标入参配置数据;对目标入参配置数据进行组合,生成数据查询键值,其中,数据查询键值包括目标参数字段。
在本申请实施例中,在入参配置数据中任意提取一个入参配置数据的查询参数字段作为目标参数字段,再遍历全部的入参配置数据,将所有具有目标参数字段的入参配置数据标记为目标入参配置数据,最后对目标入参配置数据进行组合,生成数据查询键值,因此数据查询键值中包含的所有目标入参配置数据都具有相同的目标参数字段,基于相同的目标参数字段能够获得唯一指定的出参配置数据,此出参配置数据对应数据查询键值中所有的入参配置数据。之后再对入参配置数据中其他查询参数字段进行组合,得到基于每个不同查询参数字段生成的数据查询键值。通过上述方法对服务接口中入参配置数据进行整合,以数据查询键值的方式存在,简化匹配方式,对于具有相同服务查询结果的入参配置数据的结果获取更加方便。
205、将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果。
具体地,获取请求参数的参数字段,基于数据查询键值的查询参数字段对请求参数的参数字段进行匹配;当存在请求参数的参数字段与任一数据查询键值的查询参数字段一致时,获取数据查询键值对应的出参配置数据,得到入参配置数据对应的出参配置数据,将出参配置数据作为请求参数对应的服务查询结果。
在本申请实施例中,将接口调用请求中的请求参数与通过组合入参配置数据生成的数据查询键值进行匹配,即将请求参数的参数字段与数据查询键值的查询参数字段进行匹配,当存在任一查询参数字段与请求参数的参数字段完全一致时,数据查询键值与请求参数匹配成功,再获取到数据查询键值中多个入参配置数据对应的唯一的出参配置数据,得到的出参配置数据即为对应的输出结果,也就得到了接口调用请求所对应的服务查询结果。
206、对数据库内的服务查询结果进行超时判断。
具体地,遍历数据库中的服务查询结果,获取服务查询结果的缓存时间;基于服务查询结果的超时时间,对缓存时间进行比对;若缓存时长大于超时时间,则在数据库中移除服务查询结果。
在本申请实施例中,在不同的业务场景下,每一个接口调用请求所对应的服务查询结果都具有各自预设的超时时间,即在超时时间的范围内,服务查询结果有效。通过遍历数据库中的服务查询结果,获取每一个服务查询结果的缓存时间,即从服务查询结果存储到数据库中的时间,通过将服务查询结果的缓存时间与各自的超时时间进行对比,当缓存时间大于超时时间时,即代表着服务查询结果无效,则在数据库中删除对应的服务查询结果,并且,可根据业务需求,获取到服务查询结果对应的接口调用请求,再基于接口调用请求通过动态代理的方式重新获取到最新的服务查询结果,并将服务查询结果继续存储至数据库中,当再次响应此接口调用请求时,能够得到最新的服务查询结果。如果缓存时间小于等于超时时间,即服务查询结果依然有效,则继续对其他服务查询结果进行判断,直至对数据库中所有服务查询结果完成判断,确保所有服务查询结果均有效,实时控制服务查询结果的时效性,同时避免数据库中的数据量不断增大,后续难以进行维护。
本发明提供的一种接口查询结果的缓存方法、装置、存储介质及计算机设备,首先响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数,然后基于服务接口生成服务接口的动态代理文件包构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,之后基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值,最终将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,同时对数据库内的服务查询结果进行超时判断。上述方法采用动态代理的方式,能够减少对调用服务接口的直接调用,并基于相同查询参数字段整合入参配置数据,提升了请求参数匹配以及查询结果获取的效率,将服务查询结果存储至数据库中,同时实时进行判断,删除超期数据,保持数据库中结果的有效性,同时避免数据库中保存的数据量持续增大,占用过多资源。
进一步地,作为图1方法的具体实现,本申请实施例提供了一种接口查询结果的缓存装置,如图3所示,装置包括:接口获取模块301、入参获取模块302、入参组合模块303、结果生成模块304。
接口获取模块301,可用于响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数;
入参获取模块302,可用于构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段;
入参组合模块303,可用于基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值;
结果生成模块304,可用于将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。
在具体的应用场景中,入参获取模块302,具体可用于基于服务接口生成服务接口的动态代理文件包,其中,动态代理文件包包括入参配置数据和出参配置数据;根据动态代理文件包构建服务接口的动态代理类;基于动态代理类实现服务接口的动态代理文件包,得到服务接口的入参配置数据和出参配置数据。
在具体的应用场景中,入参获取模块302,还可用于遍历服务接口的节点,确定服务接口的子接口,并获取每一子接口的入参配置数据和出参配置数据;对服务接口内所有子接口的入参配置数据进行整合,得到服务接口的入参配置数据;对服务接口内所有子接口的出参配置数据进行整合,得到服务接口的出参配置数据,其中,服务接口的出参配置数据作为服务接口的服务查询结果,对应至少一个入参配置数据。
在具体的应用场景中,入参获取模块302,还可用于获取每一子接口的调用地址和描述文本,并基于子接口的调用地址生成子接口的查询方法;基于描述文本为查询方法添加注释信息,得到子接口的入参配置数据,其中,注释信息包括多个参数字段;对服务接口内所有子接口的入参配置数据进行整合,得到服务接口的入参配置数据,其中,多个参数字段整合后生成入参配置数据的查询参数字段。
在具体的应用场景中,入参组合模块303,具体可用于提取任一入参配置数据的查询参数字段作为目标参数字段;基于目标参数字段,遍历全部入参配置数据,将具有目标参数字段的入参配置数据标记为目标入参配置数据对目标入参配置数据进行组合,生成数据查询键值,其中,数据查询键值包括目标参数字段。
在具体的应用场景中,结果生成模块304,具体可用于获取请求参数的参数字段,基于数据查询键值的查询参数字段对请求参数的参数字段进行匹配;当存在请求参数的参数字段与任一数据查询键值的查询参数字段一致时,获取数据查询键值对应的出参配置数据,得到入参配置数据对应的出参配置数据,将出参配置数据作为请求参数对应的服务查询结果。
在具体的应用场景中,如图4所示,本装置还包括结果判断模块305,结果判断模块305具体可用于遍历数据库中的服务查询结果,获取服务查询结果的缓存时间;基于服务查询结果的超时时间,对缓存时间进行比对;若缓存时长大于超时时间,则在数据库中移除服务查询结果。
需要说明的是,本实施例提供的一种接口查询结果的缓存装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述接口查询结果的缓存方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景接口查询结果的缓存方法。
基于上述如图1和图2所示的方法,以及图3和图4所示的接口查询结果的缓存装置实施例,为了实现上述目的,如图5所示,本实施例还提供了接口查询结果的缓存的实体设备,该设备包括通信总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元之间可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中接口查询结果的缓存方法。
可选的,该实体设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种接口查询结果的缓存实体设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,首先响应于接口调用请求,确定接口调用请求对应的服务接口,并获取接口调用请求的请求参数,然后构建服务接口的动态代理类,并基于动态代理类,获取服务接口的入参配置数据,其中,入参配置数据包括查询参数字段,再基于同一查询参数字段,获取查询参数字段对应的入参配置数据,并对入参配置数据进行组合,生成数据查询键值,最终将请求参数与数据查询键值进行匹配,得到请求参数对应的服务查询结果,并将服务查询结果存储至数据库中。上述方法通过构建接口调用请求对应的服务接口的动态代理类,通过动态代理的方式获取到远程服务查询结果,避免直接对服务接口进行调用,导致服务接口及所在服务器在同一时间内带宽资源被大量占用,造成很大的负载压力,影响服务接口的正常使用;同时对能够输出相同出参配置参数的所有入参配置参数进行组合,生成数据查询键值,能够灵活匹配接口调用请求中的请求参数,提升匹配效率;并且将已获取到的服务查询结果存储到数据库中,便于后续存在相同接口调用请求时直接获取相同的服务查询结果,提升了查询结果获取的效率。上述方法能够减少对调用服务接口的直接调用,并提升了请求参数匹配以及查询结果获取的效率。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种接口查询结果的缓存方法,其特征在于,所述方法包括:
响应于接口调用请求,确定所述接口调用请求对应的服务接口,并获取所述接口调用请求的请求参数;
构建所述服务接口的动态代理类,并基于所述动态代理类,获取所述服务接口的入参配置数据,其中,所述入参配置数据包括查询参数字段;
基于同一所述查询参数字段,获取所述查询参数字段对应的所述入参配置数据,并对所述入参配置数据进行组合,生成数据查询键值;
将所述请求参数与所述数据查询键值进行匹配,得到所述请求参数对应的服务查询结果,并将所述服务查询结果存储至数据库中。
2.根据权利要求1所述的方法,其特征在于,所述构建所述服务接口的动态代理类,并基于所述动态代理类,获取所述服务接口的入参配置数据,包括:
基于所述服务接口生成所述服务接口的动态代理文件包,其中,所述动态代理文件包包括入参配置数据和出参配置数据;
根据所述动态代理文件包构建所述服务接口的动态代理类;
基于所述动态代理类实现所述服务接口的动态代理文件包,得到所述服务接口的入参配置数据和出参配置数据。
3.根据权利要求2所述的方法,其特征在于,所述服务接口包括至少一个子接口;所述基于所述服务接口生成所述服务接口的动态代理文件包,包括:
遍历所述服务接口的节点,确定所述服务接口的子接口,并获取每一所述子接口的入参配置数据和出参配置数据;
对所述服务接口内所有所述子接口的入参配置数据进行整合,得到所述服务接口的入参配置数据;
对所述服务接口内所有所述子接口的出参配置数据进行整合,得到所述服务接口的出参配置数据,其中,所述服务接口的出参配置数据为所述服务接口的服务查询结果,每一所述服务接口的出参配置数据对应至少一个所述入参配置数据。
4.根据权利要求3所述的方法,其特征在于,所述对所述服务接口内所有所述子接口的入参配置数据进行整合,得到所述服务接口的入参配置数据,包括:
获取每一所述子接口的调用地址和描述文本,并基于所述子接口的调用地址生成所述子接口的查询方法;
基于所述描述文本为所述查询方法添加注释信息,得到所述子接口的入参配置数据,其中,所述注释信息包括多个参数字段;
对所述服务接口内所有所述子接口的入参配置数据进行整合,得到所述服务接口的入参配置数据,其中,所述多个参数字段整合后生成所述入参配置数据的查询参数字段。
5.根据权利要求1所述的方法,其特征在于,所述基于同一所述查询参数字段,获取所述查询参数字段对应的所述入参配置数据,并对所述入参配置数据进行组合,生成数据查询键值,包括:
提取任一所述入参配置数据的查询参数字段作为目标参数字段;
基于所述目标参数字段,遍历全部所述入参配置数据,将具有所述目标参数字段的所述入参配置数据标记为目标入参配置数据;
对所述目标入参配置数据进行组合,生成数据查询键值,其中,所述数据查询键值包括所述目标参数字段。
6.根据权利要求1所述的方法,其特征在于,所述将所述请求参数与所述数据查询键值进行匹配,得到所述请求参数对应的服务查询结果,所述方法包括:
获取所述请求参数的参数字段,基于所述数据查询键值的查询参数字段对所述请求参数的参数字段进行匹配;
当存在所述请求参数的参数字段与任一所述数据查询键值的查询参数字段一致时,获取所述数据查询键值对应的出参配置数据,得到所述入参配置数据对应的所述出参配置数据,将所述出参配置数据作为所述请求参数对应的服务查询结果。
7.根据权利要求1所述的方法,其特征在于,在所述并将所述服务查询结果存储至数据库中之后,所述方法包括:
遍历所述数据库中的所述服务查询结果,获取所述服务查询结果的缓存时间;
基于所述服务查询结果的超时时间,对所述缓存时间进行比对;
若所述缓存时长大于所述超时时间,则在所述数据库中移除所述服务查询结果。
8.一种接口查询结果的缓存装置,其特征在于,所述装置包括:
接口获取模块,用于响应于接口调用请求,确定所述接口调用请求对应的服务接口,并获取所述接口调用请求的请求参数;
入参获取模块,用于构建所述服务接口的动态代理类,并基于所述动态代理类,获取所述服务接口的入参配置数据,其中,所述入参配置数据包括查询参数字段;
入参组合模块,用于基于同一所述查询参数字段,获取所述查询参数字段对应的所述入参配置数据,并对所述入参配置数据进行组合,生成数据查询键值;
结果生成模块,用于将所述请求参数与所述数据查询键值进行匹配,得到所述请求参数对应的服务查询结果,并将所述服务查询结果存储至数据库中。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139144.0A CN117215807A (zh) | 2023-09-04 | 2023-09-04 | 接口查询结果的缓存方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311139144.0A CN117215807A (zh) | 2023-09-04 | 2023-09-04 | 接口查询结果的缓存方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117215807A true CN117215807A (zh) | 2023-12-12 |
Family
ID=89050430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311139144.0A Pending CN117215807A (zh) | 2023-09-04 | 2023-09-04 | 接口查询结果的缓存方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215807A (zh) |
-
2023
- 2023-09-04 CN CN202311139144.0A patent/CN117215807A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522922B (zh) | 日志信息查询方法、装置、存储介质及计算机设备 | |
CN110008045B (zh) | 微服务的聚合方法、装置、设备及存储介质 | |
CN108509523B (zh) | 区块链数据的结构化处理方法、设备及可读存储介质 | |
CN108846753B (zh) | 用于处理数据的方法和装置 | |
US11243921B2 (en) | Database expansion system, equipment, and method of expanding database | |
CN112154420B (zh) | 自动智能云服务测试工具 | |
US10754628B2 (en) | Extracting web API endpoint data from source code to identify potential security threats | |
CN109918191B (zh) | 一种业务请求防频的方法和装置 | |
CN111586201A (zh) | 域名解析系统、方法、设备及存储介质 | |
US11934287B2 (en) | Method, electronic device and computer program product for processing data | |
US10067862B2 (en) | Tracking asynchronous entry points for an application | |
WO2021203918A1 (zh) | 用于处理模型参数的方法和装置 | |
CN114301970B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN117215807A (zh) | 接口查询结果的缓存方法、装置、存储介质及计算机设备 | |
CN111338928A (zh) | 基于chrome浏览器测试的方法及装置 | |
CN114115941A (zh) | 资源发送方法、页面渲染方法、装置、电子设备和介质 | |
CN112131263B (zh) | 软件包获取方法、系统、装置、电子设备和存储介质 | |
CN116781780A (zh) | 请求处理方法、装置、服务器和存储介质 | |
CN114186148A (zh) | 页面加载方法、装置、电子设备及存储介质 | |
US20210173729A1 (en) | Systems and methods of application program interface (api) parameter monitoring | |
CN113938462A (zh) | 域名解析方法、装置、电子设备和存储介质 | |
CN112181391A (zh) | 一种可动态扩展数据的方法及系统 | |
CN111078736A (zh) | 一种数据聚合处理方法、装置、终端及存储介质 | |
CN115174367B (zh) | 一种业务系统边界确定方法、装置、电子设备及存储介质 | |
US11301498B2 (en) | Multi-cloud object store access |
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 |