CN116263826A - 接口访问方法、装置、电子设备及存储介质 - Google Patents
接口访问方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116263826A CN116263826A CN202111526624.3A CN202111526624A CN116263826A CN 116263826 A CN116263826 A CN 116263826A CN 202111526624 A CN202111526624 A CN 202111526624A CN 116263826 A CN116263826 A CN 116263826A
- Authority
- CN
- China
- Prior art keywords
- interface
- access
- information
- array
- target object
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及计算机技术领域,尤其涉及一种接口访问方法、装置、电子设备及存储介质,所述方法包括:响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。本申请能够减少接口访问资源的资源占用,提高系统的运行性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种接口访问方法、装置、电子设备及存储介质。
背景技术
一个项目中可能包括若干互联网应用,每个应用会提供若干个服务接口给其他应用调用,从而需要统一管理某个应用是否拥有权限访问其他应用的某个服务接口。
现有技术中,当应用1需要调用应用2的某个服务接口1时,就添加一条访问规则,例如规则1,表示应用1有权限访问应用2的服务接口1;当需要判定应用1是否有权限访问应用2的服务接口2时,需要查询是否存在对应的权限访问规则,若存在该权限访问规则,表示有访问权限,如果不存在就表示没有访问权限;该方法中应用1对于每一个接口的访问,均需要生成相应的接口访问规则,当应用所需访问的接口数量过多时,会需要生成相应数量的访问规则,从而导致过多访问规则占用资源,并且降低系统运行性能。
发明内容
本申请所要解决的技术问题在于,提供一种接口访问方法、装置、电子设备及存储介质,能够减少访问规则占用的资源,提高系统运行性能。
为了解决上述技术问题,一方面,提供一种接口访问方法,包括:
响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息;
确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;
从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;
基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
另一方面,提供一种接口访问装置,包括:
接口访问请求响应模块,用于响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息;
第一确定模块,用于确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;
第二确定模块,用于从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;
接口访问模块,用于基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
另一方面,本申请提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的接口访问方法。
另一方面,本申请提供了一种计算机存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如上述的接口访问方法。
实施本申请实施例,具有如下有益效果:
本申请在接收到目标对象对待访问接口的接口访问请求时,获取目标对象的接口访问信息;然后确定待访问接口的接口标识在接口数组中的第一位置信息;从接口访问信息中确定与第一位置信息对应的第一访问权限标记信息;基于第一访问权限标识信息,控制目标对象对待访问接口进行访问。本申请中,目标对象的接口访问信息用于表征目标对象对多个预设接口的访问权限信息,从而对于目标对象对应一项接口访问信息,而不需要对每条接口访问信息生成相应的接口访问规则,从而减少了资源占用,提高了系统的运行性能。另外,对于待访问接口的接口标识在接口数组中的第一位置信息,能够快速获取接口访问信息中第一位置信息对应的访问权限标记信息,从而确定目标对象对待访问接口的访问权限,提高了接口访问效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的实施环境示意图;
图2是本申请实施例提供的一种接口访问方法流程图;
图3是本申请实施例提供的一种对目标序列元素进行赋值的方法流程图;
图4是本申请实施例提供的一种目标对象的接口访问信息生成方法流程图;
图5是本申请实施例提供的一种接口创建方法流程图;
图6是本申请实施例提供的一种接口访问信息更新方法流程图;
图7是本申请实施例提供的服务接口添加流程图;
图8是本申请实施例提供的目标对象生成访问规则权限的流程图;
图9是本申请实施例提供的判定目标对象是否有权限访问服务接口的流程图;
图10是本申请实施例提供的一种接口访问装置示意图;
图11是本申请实施例提供的电子设备结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本说明书实施例中涉及的相关名词做以下解释:
应用:即应用软件、应用网站等。
服务接口(Application Programming Interface,API):应用服务将特定功能封装成可以通信的接口,供其它应用服务调用。
访问权限规则:记录某应用是否有权限访问某个服务接口。
请参阅图1,其示出了本申请实施例提供的实施环境示意图,该实施环境可包括:至少一个第一终端110和第二终端120,第一终端110和第二终端120可通过网络进行数据通信。
具体地,当需要调用其他服务接口时,第一终端110可向第二终端120发起接口访问请求;第二终端120响应于接口访问请求,并确定发起接口访问请求的第一终端110的接口访问信息,根据接口访问信息确定第一终端110对待访问接口的访问权限。当第一终端110具有访问待访问接口的访问权限时,控制第一终端110访问待访问接口。
第一终端110可以基于浏览器/服务器模式(Browser/Server,B/S)或客户端/服务器模式(Client/Server,C/S)与第二终端120进行通信。第一终端110可以包括:智能手机、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载终端、服务器等类型的实体设备,也可以包括运行于实体设备中的软体,例如应用程序等。本申请实施例中的第一终端110上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
第二终端120与第一终端110可以通过有线或者无线建立通信连接,第二终端120可以包括一个独立运行的服务器,或者分布式服务器,或者由多个服务器组成的服务器集群,其中服务器可以是云端服务器。
为了解决现有技术中接口访问规则数量过多导致过多资源占用的问题,本申请提供了一种接口访问方法,该方法的执行主体可以为上述图1的第二终端;具体请参阅图2,该方法可包括:
S210.响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息。
本申请中目标对象可以为应用软件或者应用网站等,也可以为终端设备。接口可以是指相关联的目标对象之间进行相互访问的通信接口或者访问接口;每个目标对象可以对应一个或者多个可供其他目标对象进行访问的接口,对于同一个接口,有的目标对象有权限对其进行访问,而有的目标对象没有权限对其进行访问,从而用于表征目标对象对各预设访问接口的访问权限的接口访问信息可能不同。
S220.确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识。
接口数组中存储了当前多个预设访问接口的接口标识,接口数组的内容可基于预设访问接口的删除或者新增进行相应的更新,从而实现接口数组与接口访问信息相对应。
进一步地,数组是有序的元素序列,从而在将预设访问接口的接口标识存储到接口数组中时,可按序进行存储;相应地接口标识的位置信息即可具体通过该接口标识信息在接口数组中的元素位置信息进行确定,例如接口数组的数组名为a,相应的接口数组包括的数组元素为a[0],a[1],a[2],a[3]……,从而当数组元素[i]中存储待访问接口的接口标识时,可确定待访问接口的接口标识存储在接口数组的第i+1个元素位置。
在一个示例中,在确定待访问接口的接口标识在接口数组中的第一位置信息时,可在接口数组中查找待访问接口的接口标识;当在接口数组中查找到待访问接口的接口标识时,即可确定其在接口数组中的位置信息。
在另一个示例中,当预设接口的接口标识被存储到接口数组中时,可确定该预设接口的接口标识在接口数组中的存储位置信息,从而可将存储位置信息附加在该预设接口的接口标识上,形成新的接口标识,即使得新的接口标识携带有位置信息;从而在确定待访问接口的接口标识在接口数组中的第一位置信息时,可直接基于携带有位置信息的接口标识确定待访问接口的接口标识在接口数组中的位置信息,提高了接口标识位置信息确定的便利性和效率。例如接口1的原接口标识为api1,现将api1存储在接口数组的a[1]数组元素中,从而接口1的新接口标识为api1-1,表示接口1的接口标识存储在接口数组的第1个数组元素中。
S230.从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息。
本申请中的访问权限标记信息具体可包括有权访问标记信息和无权访问标记信息;具体的标记信息一般可采用简单易识别的数字或者字母来表示;例如,有权访问标记信息可采用1或者Y来表示,无权访问可采用0或者N来表示。
进一步地,权限标记信息中还可包括访问条件信息,访问条件信息可用于指示目标对象在预设条件下具有访问待访问接口的权限。例如,访问条件信息可以为目标对象在目标时间段内具有访问待访问接口的权限,或者当目标对象所在的终端设备为目标设备时,目标对象具有访问待访问接口的权限等。S240.基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
访问权限标记信息能够用于表征目标对象对待访问接口的访问权限,从而可根据第一访问权限标记信息确定目标对象是否具有访问待访问对象的访问权限,然后再控制目标对象对待访问接口进行访问。
本申请在接收到目标对象对待访问接口的接口访问请求时,获取目标对象的接口访问信息;然后确定待访问接口的接口标识在接口数组中的第一位置信息;从接口访问信息中确定与第一位置信息对应的第一访问权限标记信息;基于第一访问权限标识信息,控制目标对象对待访问接口进行访问。本申请中,目标对象的接口访问信息用于表征目标对象对多个预设接口的访问权限信息,从而对于目标对象对应一项接口访问信息,而不需要对每条接口访问信息生成相应的接口访问规则,从而减少了资源占用,提高了系统的运行性能。另外,对于待访问接口的接口标识在接口数组中的第一位置信息,能够快速获取接口访问信息中第一位置信息对应的访问权限标记信息,从而确定目标对象对待访问接口的访问权限,提高了接口访问效率。
请参阅图3,其示出了一种对目标序列元素进行赋值的方法,该方法可包括:
S310.获取与所述目标对象对应的初始数值序列;所述初始数值序列中的元素数量与所述预设访问接口的数量一致。
S320.基于所述目标对象对各预设访问接口的访问权限类型,生成与各预设访问接口对应的第二访问权限标记信息。
S330.从所述初始数值序列中,确定与各预设访问接口对应的目标序列元素。
S340.基于所述第二访问权限标记信息,对所述目标序列元素进行赋值,得到所述接口访问信息;其中,每个预设访问接口的接口标识在所述接口数组中的位置信息,与所述预设访问接口对应的目标序列元素在所述初始数值序列中的位置信息相对应。
由于基于初始数值序列生成的接口访问信息能够用于表征目标对象对各预设访问接口的访问权限信息,从而初始数值序列的长度,即初始数值序列中预设元素的数量与预设访问接口的数量一致,并且初始数值序列的长度可基于预设访问接口数量的变化进行适应性更新。接口访问信息可以为一个数值序列,从而当接口数量增加并且需要添加相应的访问权限标记信息时,可在当前接口访问信息后添加相应数量的数值元素,并基于对新增接口的访问权限标记信息对新增的数值元素进行赋值,以得到更新后的接口访问信息,从而实现了接口访问信息的灵活变更。
初始数值序列中的各预设元素的初始值均可以为预设值,根据目标对象对每个预设访问接口的访问权限类型,对初始数值序列中各预设元素进行重新赋值,即可得到与目标对象对应的接口访问信息。
对于已被赋值的目标数值序列,序列元素在目标数值序列中的位置信息,与接口标识在接口数组中的位置信息相对应,具体的对应关系可以为:目标数值序列中第x个序列元素位置上的权限标记信息,可用于表征目标对象对接口数组中第x个数组元素位置上的接口标识对应的预设访问接口的访问权限;或者目标数值序列中第x个序列元素位置上的权限标记信息,可用于表征目标对象对接口数组第x+n(n≥1)个数组元素位置上的接口标识对应的预设访问接口的访问权限等,本申请实施例不做具体限定;从而根据待访问接口的接口标识在接口数组中的第一位置信息,即可根据目标数值序列中相应位置信息上的序列元素值,确定目标对象对待访问权限的访问权限标记信息,从而提高了访问权限标记信息确定的便利性和效率。
另外,随着业务逻辑的变化,各目标对象对接口的访问权限可能也会发生变化,从而可基于业务逻辑变更对目标对象的接口访问信息进行更新;例如将对预设访问接口的访问权限从有访问权限变更为没有访问权限,或者从没有访问权限变更为由访问权限,可相应更新目标数值序列中相应序列元素的元素值。
由于接口访问信息中包含了对各预设接口的权限访问信息,从而当接收到接口访问请求时,均需要基于接口访问信息确定对待访问接口的访问权限;为了避免对接口访问信息的篡改而导致的越权访问,或者由于对接口访问信息的篡改导致的访问权限错误的情况,可对生成的接口访问信息进行加密处理,从而能够提高接口访问信息的安全性,降低被篡改的风险。相应地,每次在查阅接口访问信息时,可先进行解密操作,再从接口访问信息中获取相应的权限标记信息。
请参阅图4,其示出了一种目标对象的接口访问信息生成方法,该方法可包括:
S410.遍历所述接口数组中的各预设访问接口的接口标识。
S420.确定目标接口标识的接口位置信息,以及与所述目标接口对应的第二访问权限标记信息;所述目标接口标识为所述各预设访问接口的接口标识中未被遍历的接口标识。
S430.将所述初始数值序列中所述接口位置信息对应的序列元素赋值为所述第二访问权限标记信息。
S440.基于已赋值的序列元素生成目标数值序列。
S450.对所述目标数值序列进行数值格式转换,得到所述接口访问信息;所述接口访问信息所占的内存空间小于所述目标数值序列所占的内存空间。
具体地,接口数组中各预设访问接口的接口标识按序排列为api1,api2,api3,api4,api5……apiN;目标对象对N个预设访问接口的访问权限标记信息为f1,f2,f3,f4,f5……fN,可将f1赋值给初始数值序列的第1个序列元素,将f2赋值给初始数值序列的第2个序列元素,……,将fN赋值给初始数值序列的第N个序列元素,得到目标数值序列。为了进一步减小存储目标对象对应的访问规则所占的内存空间,可对目标数值序列进行数值格式转换,得到预设数值格式的接口访问信息,从而减少了资源占用。
具体地,对目标数值序列进行数值格式转换,得到接口访问信息具体可以是对目标数值序列进行压缩,得到接口访问信息;压缩率可以为压缩后数据所占的内存空间与压缩前数据所占的内存空间的比值,压缩率越小,压缩后的数据所占的内存空间越小,相应所需的解压时间会越长。
在一个示例中,从而值序列所占的内存空间小于第一预设值时,确定相应的第一压缩率;当目标数值序列所占的内存空间大于等于第一预设值,小于等于第二预设值时,确定相应的第二压缩率;当目标数值序列所占的内存空间大于第二预设值时,确定相应的第三压缩率;其中第一预设值<第二预设值<第三预设值,第一压缩率>第二压缩率>第三压缩率,从而使得压缩后的数据信息所占的内存空间在预设范围内,减少存储资源的占用;即随着目标数值序列所占的内存空间越来越大,相应的压缩率也越来越大,从而实现了压缩率与目标数值序列所占的内存空间相适配。
请参阅图5,其示出了一种接口创建方法,该方法可包括:
S510.响应于接口创建请求,生成新创建接口。
S520.当所述接口数组中各预设访问接口的接口标识之间存在未占用数组位置时,将所述新创建接口的新创建接口标识保存到所述未占用数组位置中。
S530.当所述接口数组中各预设访问接口的接口标识之间不存在未占用数组位置时,将所述新创建接口的接口标识保存到所述接口数组的尾部。
具体地,在创建接口之前,还需要查找与所述新创建接口标识对应的接口;当查找结果指示不存在与所述新创建接口标识对应的接口时,创建所述新创建接口;当查找结果指示存在与新创建接口标识对应的接口时,则不再创建与新创建接口标识对应的接口;一方面通过查找与新创建接口标识对应的接口,能够避免接口的重复创建,节约系统资源;另一方面,能够避免接口标识的重复,保证接口标识的唯一性。
对于新创建的接口,需要确定其新创建接口标识所存储的位置;主要包括两种情况。第一种情况是,由于业务逻辑调整,多个预设访问接口中的一个或者多个接口可能会被删除,从而相应的接口标识即会从接口数组中被删除,由于每个预设访问接口对应的接口标识均在接口数组中具有固定的存储位置,从而当有接口标识被删除时,相应的接口数组中便会存在未占用数组位置,即数组空位;当在接口数组的最后一个数组元素之前存在未占用数组位置时,将新创建接口标识存储到未占用数组位置上,从而能够减少接口数组的长度,节约资源;并且由于一个接口的接口标识从被创建到被删除,其接口标识在接口数组中的位置信息不变,从而保证了接口标识位置的固定性,避免发生接口不确定的问题,提高接口访问的准确性。第二种情况是,当接口数组中不存在未占用数组位置时,将新创建接口标识存储到接口数组的尾部,即接口数组中最后一个数组元素的后一元素位置上,由于一个接口的接口标识从被创建到被删除,其接口标识在接口数组中的位置信息不变,从而保证了接口标识位置的固定性,避免发生接口不确定的问题,提高接口访问的准确性。
请参阅图6,其示出了一种接口访问信息更新方法,该方法可包括:
S610.响应于接口创建请求,生成新创建接口。
S620.基于所述目标对象对所述新创建接口的访问权限类型,生成第二访问权限标记信息。
S630.基于所述新创建接口在所述接口数组中的第二位置信息,以及所述第二访问权限标记信息,对所述接口访问信息进行信息更新。
对于目标对象,当创建了新的接口时,需要基于目标对象对该新创建接口的权限访问类型对接口访问信息进行更新,从而保证接口信息与接口访问信息的同步性,提高接口访问的效率和准确性。
在一个示例中,当创建了新接口后需要对接口访问信息进行更新时,可将新创建接口在接口数组中的第二位置信息以及相应的第二访问权限标记信息,作为一项待处理信息记录到待处理文件中,当待处理文件中包含了预设项数的待处理信息时,基于待处理文件中预设项数的待处理信息对接口访问信息进行更新,并从待处理文件中删除这预设项数的待处理信息;从而实现了基于批量数据对接口访问信息进行更新,避免每创建一个接口相应进行一次接口访问信息更新操作所带来的更新频繁,进而导致系统不稳定的问题;通过一次基于多个新创建口对应的访问权限标记信息对接口访问信息进行更新,能够提高对接口访问权限标记信息的更新效率,避免多次重复更新操作,提升系统稳定性。
进一步地,当所述第一访问权限标记信息为目标标记信息时,控制所述目标对象对所述待访问接口进行访问;当第一访问权限标记信息不为目标标记信息时,控制目标对象不能对待访问接口进行访问。
下面以一具体示例说明本申请的具体实施流程,请参阅图7,其示出了服务接口添加流程,具体包括:
1.用户通过web页面或者调用接口创建服务接口。
2.网关收到创建服务接口请求后判断服务接口是否已存在,若已存在返回服务接口已存在,流程结束,若服务接口不存在将服务接口保存到数据库中,继续下面流程;
3.遍历服务接口数组,查询数组中是否有空位,如果有空位就将该服务接口保存到空位上,如果没有空位就插入到数组尾端;
4.保存新增服务接口在服务接口数组中的位置为固定序号。
请参阅图8,其示出了为目标对象生成访问规则权限的流程图,将每个应用对应所有服务接口的访问权限压缩到一条访问权限规则,访问权限规则采用二进制到方式存储,二进制上每一位到值代表对应一个接口到访问权限,具体包括:
1.用户创建应用时初始化该应用的访问权限规则值为0;
2.用户修改应用访问某个服务接口权限,后台查询服务接口的固定序号,将应用的访问权限规则值转换成二进制,如果修改后允许应用访问服务接口,则将访问权限规则二进制第n位值置为1;如果修改后不允许应用访问服务接口,则将访问权限规则二进制第n位值置为0。
请参阅图9,其示出了判定目标对象是否有权限访问服务接口的流程图,具体包括:
1.根据服务接口查询到固定序号n;
2.根据应用查询到应用的访问权限规则;
3.查询应用访问权限规则第n位上的值,判定应用是否拥有固定序号为N的服务接口访问权限。
本申请将所有的服务接口按固定顺序排列形成一个队列,当新删除接口时,将队列上对应位置的值置空保留位置;当插入服务接口时先遍历队列是否有空位置,若有空位就插入到空位置上,若没有空位就插入到队列尾,这样可以保证每个服务接口插入到队列后位置是固定的,每个服务接口有一个唯一且固定的固定序号。将每个应用对应所有服务接口的访问权限采用一个无符号整数存储,无符号整数可以转换成二进制,将服务接口的在队列中的固定序号和二进制数字某一位上的值按照固定规则一一对应起来,二进制数某一位上的值代表对应服务接口的访问权限,0表示没有访问权限,1表示有访问权限。如果需要查询某个应用是否拥有某个服务接口的访问权限,先查询到服务接口在队列中的固定序号n,然后将应用对应访问权限规则的无符号整数转换成二进制,查询二进制数值对应位置上的值是0还是1即可。其中,将二进制数转换成无符号整数能够实现较好的压缩比例,使得压缩后的无符号整数占用的内存空间更小,减少内存空间的占用。此方法大大降低访问规则的数量级,极大地减少了资源占用,解决了大项目中服务接口访问权限控制的性能瓶颈问题。
例如某省级医保局项目接入了10万+医疗机构,即在网关创建了10万+应用,医保局提供了100+服务接口供医疗机构调用,网关需要控制每个医疗机构对医保局每一个服务接口调用权限(不同的医院调用接口权限不一样),医疗机构也会提供服务接口给其他医疗机构或者医保局调用,访问权限规则达到千万级别,采用本申请中的接口访问方法可以降低到10万级别,性能提高了约100倍,如果该项目后续接口数量上升到1000,性能差距可以扩大到1000倍。
本实施例还提供了一种接口访问装置,请参阅图10,该装置可包括:
接口访问请求响应模块1010,用于响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息;
第一确定模块1020,用于确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;
第二确定模块1030,用于从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;
接口访问模块1040,用于基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
进一步地,所述装置还包括:
初始序列获取模块,用于获取与所述目标对象对应的初始数值序列;所述初始数值序列中的元素数量与所述预设访问接口的数量一致;
第一生成模块,用于基于所述目标对象对各预设访问接口的访问权限类型,生成与各预设访问接口对应的第二访问权限标记信息;
目标序列元素确定模块,用于从所述初始数值序列中,确定与各预设访问接口对应的目标序列元素;
第一赋值模块,用于基于所述第二访问权限标记信息,对所述目标序列元素进行赋值,得到所述接口访问信息;其中,每个预设访问接口的接口标识在所述接口数组中的位置信息,与所述预设访问接口对应的目标序列元素在所述初始数值序列中的位置信息相对应。
进一步地,所述第一赋值模块包括:
遍历模块,用于遍历所述接口数组中的各预设访问接口的接口标识;
第三确定模块,用于确定目标接口标识的接口位置信息,以及与所述目标接口对应的第二访问权限标记信息;所述目标接口标识为所述各预设访问接口的接口标识中未被遍历的接口标识;
第二赋值模块,用于将所述初始数值序列中所述接口位置信息对应的序列元素赋值为所述第二访问权限标记信息;
第二生成模块,用于基于已赋值的序列元素生成目标数值序列;
数值格式转换模块,用于对所述目标数值序列进行数值格式转换,得到所述接口访问信息;所述接口访问信息所占的内存空间小于所述目标数值序列所占的内存空间。
进一步地,所述装置还包括:
第三生成模块,用于响应于接口创建请求,生成新创建接口;
第一保存模块,用于当所述接口数组中各预设访问接口的接口标识之间存在未占用数组位置时,将所述新创建接口的新创建接口标识保存到所述未占用数组位置中;
第二保存模块,用于当所述接口数组中各预设访问接口的接口标识之间不存在未占用数组位置时,将所述新创建接口的新创建接口标识保存到所述接口数组的尾部。
进一步地,所述装置还包括:
第四生成模块,用于基于所述目标对象对所述新创建接口的访问权限类型,生成第二访问权限标记信息;
信息更新模块,用于基于所述新创建接口在所述接口数组中的第二位置信息,以及所述第二访问权限标记信息,对所述接口访问信息进行信息更新。
进一步地,所述第三生成模块包括:
接口查找模块,用于响应于所述接口创建请求,查找与所述新创建接口标识对应的接口;
接口创建模块,用于当查找结果指示不存在与所述新创建接口标识对应的接口时,创建所述新创建接口。
进一步地,所述接口访问模块1040包括:
访问控制模块,用于当所述第一访问权限标记信息为目标标记信息时,控制所述目标对象对所述待访问接口进行访问。
上述实施例中提供的装置可执行本申请任意实施例所提供方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如本实施例上述任一方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的任一方法。
本实施例还提供了一种设备,其结构图请参见图11,该设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储媒体1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储媒体1130可以是短暂存储或持久存储。存储在存储媒体1130的程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对设备中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储媒体1130通信,在设备1100上执行存储媒体1130中的一系列指令操作。设备1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。本实施例上述的任一方法均可基于图11所示的设备进行实施。
本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤和顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或中断产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本实施例中所示出的结构,仅仅是与本申请方案相关的部分结构,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比示出的更多或更少的部件,或者组合某些部件,或者具有不同的部件的布置。应当理解到,本实施例中所揭露的方法、装置等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分仅仅为一种逻辑功能的划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元模块的间接耦合或通信连接。
基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员还可以进一步意识到,结合本说明书所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但这种实现不应认为超出本申请的范围。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种接口访问方法,其特征在于,包括:
响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息;
确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;
从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;
基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述目标对象对应的初始数值序列;所述初始数值序列中的元素数量与所述预设访问接口的数量一致;
基于所述目标对象对各预设访问接口的访问权限类型,生成与各预设访问接口对应的第二访问权限标记信息;
从所述初始数值序列中,确定与各预设访问接口对应的目标序列元素;
基于所述第二访问权限标记信息,对所述目标序列元素进行赋值,得到所述接口访问信息;其中,每个预设访问接口的接口标识在所述接口数组中的位置信息,与所述预设访问接口对应的目标序列元素在所述初始数值序列中的位置信息相对应。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二访问权限标记信息,对所述目标序列元素进行赋值,得到所述接口访问信息,包括:
遍历所述接口数组中的各预设访问接口的接口标识;
确定目标接口标识的接口位置信息,以及与所述目标接口对应的第二访问权限标记信息;所述目标接口标识为所述各预设访问接口的接口标识中未被遍历的接口标识;
将所述初始数值序列中所述接口位置信息对应的序列元素赋值为所述第二访问权限标记信息;
基于已赋值的序列元素生成目标数值序列;
对所述目标数值序列进行数值格式转换,得到所述接口访问信息;所述接口访问信息所占的内存空间小于所述目标数值序列所占的内存空间。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接口创建请求,生成新创建接口;
当所述接口数组中各预设访问接口的接口标识之间存在未占用数组位置时,将所述新创建接口的新创建接口标识保存到所述未占用数组位置中;
当所述接口数组中各预设访问接口的接口标识之间不存在未占用数组位置时,将所述新创建接口的新创建接口标识保存到所述接口数组的尾部。
5.根据权利要求4所述的方法,其特征在于,所述响应于接口创建请求,生成新创建接口,之后还包括:
基于所述目标对象对所述新创建接口的访问权限类型,生成第二访问权限标记信息;
基于所述新创建接口在所述接口数组中的第二位置信息,以及所述第二访问权限标记信息,对所述接口访问信息进行信息更新。
6.根据权利要求4所述的方法,其特征在于,所述响应于接口创建请求,生成新创建接口包括:
响应于所述接口创建请求,查找与所述新创建接口标识对应的接口;
当查找结果指示不存在与所述新创建接口标识对应的接口时,创建所述新创建接口。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问,包括:
当所述第一访问权限标记信息为目标标记信息时,控制所述目标对象对所述待访问接口进行访问。
8.一种接口访问装置,其特征在于,包括:
接口访问请求响应模块,用于响应于目标对象对待访问接口的接口访问请求,获取所述目标对象的接口访问信息;所述接口访问信息用于表征所述目标对象对多个预设接口的访问权限信息;
第一确定模块,用于确定所述待访问接口的接口标识在接口数组中的第一位置信息;所述接口数组中包括所述多个预设访问接口的接口标识;
第二确定模块,用于从所述接口访问信息中,确定与所述第一位置信息对应的第一访问权限标记信息;
接口访问模块,用于基于所述第一访问权限标记信息,控制所述目标对象对所述待访问接口进行访问。
9.一种设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的接口访问方法。
10.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行如权利要求1至7任一项所述的接口访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111526624.3A CN116263826A (zh) | 2021-12-14 | 2021-12-14 | 接口访问方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111526624.3A CN116263826A (zh) | 2021-12-14 | 2021-12-14 | 接口访问方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116263826A true CN116263826A (zh) | 2023-06-16 |
Family
ID=86722101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111526624.3A Pending CN116263826A (zh) | 2021-12-14 | 2021-12-14 | 接口访问方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116263826A (zh) |
-
2021
- 2021-12-14 CN CN202111526624.3A patent/CN116263826A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032803B (zh) | 数据处理方法和装置、客户端 | |
CN109522751B (zh) | 访问权限控制方法、装置、电子设备及计算机可读介质 | |
CN108304251B (zh) | 线程同步方法及服务器 | |
CN110213392B (zh) | 数据分发方法、装置、计算机设备和存储介质 | |
CN112631751A (zh) | 任务调度方法、装置、计算机设备及存储介质 | |
CN112632071A (zh) | 数据库主键id生成方法、装置、设备及存储介质 | |
CN107844488B (zh) | 数据查询方法和装置 | |
CN109359276B (zh) | 一种防伪码生成方法、装置、设备及存储介质 | |
CN111177776A (zh) | 多租户数据隔离方法与系统 | |
CN111460394A (zh) | 一种版权文件的验证方法、装置及计算机可读存储介质 | |
CN110795741A (zh) | 对数据进行安全性处理的方法和装置 | |
CN111858617A (zh) | 用户查找方法和装置、计算机可读存储介质、电子设备 | |
CN109165712B (zh) | 分布式分期号的生成方法、装置和计算机存储介质 | |
CN114817146A (zh) | 一种处理数据的方法和装置 | |
CN108520401B (zh) | 用户名单管理方法、装置、平台及存储介质 | |
CN109391658B (zh) | 一种账号数据同步方法及其设备、存储介质、终端 | |
CN110109912B (zh) | 一种标识符生成方法和装置 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN113918437A (zh) | 用户行为数据分析方法、装置、计算机设备和存储介质 | |
CN113761565B (zh) | 数据脱敏方法和装置 | |
CN112436943A (zh) | 基于大数据的请求去重方法、装置、设备及存储介质 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN116263826A (zh) | 接口访问方法、装置、电子设备及存储介质 | |
CN108667647B (zh) | 一种设备参数的设置方法、设备及服务器 | |
CN114675954A (zh) | 任务调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40086876 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |