CN110851258B - Api调用方法、装置、计算机设备及存储介质 - Google Patents
Api调用方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110851258B CN110851258B CN201911086495.3A CN201911086495A CN110851258B CN 110851258 B CN110851258 B CN 110851258B CN 201911086495 A CN201911086495 A CN 201911086495A CN 110851258 B CN110851258 B CN 110851258B
- Authority
- CN
- China
- Prior art keywords
- api
- call request
- api call
- data
- local database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004590 computer program Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种API调用方法、装置、计算机设备及存储介质。该方法包括:若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有API调用请求所要调用的API的数据;若是,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;若否,向预设的服务器发送API数据获取请求;接收服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。通过将API数据储存在本地数据库,并优先从本地数据库获取API数据,可极大地提高API数据的获取效率,提高了终端的业务响应速度。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种API调用方法、装置、计算机设备及存储介质。
背景技术
API(Application Program Interface,应用程序接口)是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令。
目前,API请求可通过http或者https两种方式,在http下的耗时等于tcp三次握手的时间,在https下的耗时等于tcp三次握手加一次ssl握手。现有技术中,无论是采用何种方式其耗时时间均很长,严重拖慢了业务响应的速度。
发明内容
本发明实施例提供了一种API调用方法、装置、计算机设备及存储介质,旨在解决现有技术中API调用耗时长,业务响应慢的问题。
第一方面,本发明实施例提供了一种API调用方法,其包括:
若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
第二方面,本发明实施例还提供了一种API调用装置,其包括:
第一判断单元,用于若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
获取单元,用于若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
请求单元,用于若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
储存单元,用于接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提出一种API调用方法,若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。通过将API数据储存在本地数据库,并优先从本地数据库获取API数据,可极大地提高API数据的获取效率,提高了终端的业务响应速度。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种API调用方法的流程示意图;
图2为本发明另一实施例提供的一种API调用方法的子流程示意图;
图3为本发明实施例提供的一种API调用方法的子流程示意图;
图4为本发明实施例提供的一种API调用方法的数据清理过程的流程示意图;
图5为本发明另一实施例提供的一种API调用方法的数据清理过程的流程示意图;
图6为本发明实施例提供的一种API调用装置的示意性框图;
图7为本发明另一实施例提供的一种API调用装置的示意性框图;
图8为本发明实施例提供的一种API调用装置的第二判断单元的示意性框图;
图9为本发明又一实施例提供的一种API调用装置的示意性框图;
图10为本发明实施例提供的一种计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
请参阅图1,图1为本发明实施例提供的一种API调用方法的流程示意图。如图所示,该方法包括以下步骤S1-S4。
S1,若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据。
具体实施中,如果接收到应用程序的API调用请求,终端判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据。
具体地,终端通过API调用请求所要调用的API的名称到本地数据库中检索数据,若能够检索到数据则判定本地数据库中存储有所述API调用请求所要调用的API的数据,否则,则判定本地数据库中未存储有所述API调用请求所要调用的API的数据。
S2,若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序。
具体实施中,如果预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序。
通过在本地获取API数据,可极大地提高数据获取的效率,提高终端的业务响应速度。
S3,若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的。
具体实施中,如果预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,则向预设的服务器发送API数据获取请求。其中,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的。服务器通过所述密钥校验终端的身份,并只向身份合法的终端发送API数据,提高了API数据的安全性。
S4,接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
具体实施中,终端接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
终端将服务器返回的API数据储存到本地数据库中,便于下次应用程序需要使用API数据时,直接从本地获取,提高API数据获取效率,提高业务的响应速度。
进一步,终端可采用加密储存的方式将将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中,以提高API数据的安全性。
参见图2,在一实施例中,在步骤S1之前,所述API调用方法还包括如下步骤S21-S22。
S21,判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求。
具体实施中,判断所述API调用请求是否与终端当前的未着陆API调用请求相同。其中,所述未着陆API调用请求为终端当前正在处理的API调用请求。
在一实施例中,若两个API调用请求相同,则后发起的API调用请求的值比前发起的API调用请求的值大1。参见图3,所述步骤S21具体包括如下步骤S31-S33。
S31,判断所述API调用请求的值是否比所述未着陆API调用请求的值大1。
S32,若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同。
S33,若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同。
S22,若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求。
具体实施中,如果所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求,以避免重复请求的资源占用。
如果所述API调用请求与终端当前的未着陆API调用请求不相同,则执行步骤S1,即判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据。
在一实施例中,所述API调用方法还包括数据清理过程,参见图4,该数据清理过程包括如下步骤S41-S42。
S41,判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值。
具体实施中,判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值。
需要说明的是,存储量阈值可由本领域技术人员进行设定,本发明对此不做具体限定。
S42,若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除。
如果所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除,从而可避免数据量过多以及数据过期。
如果所述本地数据库中的数据的存储量不大于预设的存储量阈值,则保留所述本地数据库中的数据。
在一实施例中,所述API调用方法还包括数据清理过程,参见图5,该数据清理过程包括如下步骤S51-S52。
S51判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值。
具体实施中,判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值。
需要说明的是,存储时间阈值可由本领域技术人员进行设定,本发明实施例对此不做限定。
S52若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
具体实施中,如果所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除,从而可避免数据量过多以及数据过期。
如果所述本地数据库中的数据的存储时间未大于预设的存储时间阈值,,则保留所述本地数据库中的数据。
在一实施例中,所述API调用方法还包括网络连接过程,所述网络连接过程在步骤S3之前,所述网络连接过程包括如下步骤:根据预设的URLprotocol规则生成IP地址库,从所述IP地址库中获取连接速度最快的IP作为目标IP,并通过所述目标IP访问所述服务器。
通过连接速度最快的目标IP来访问服务器,可进一步提高API数据的获取效率,提高业务响应速率。
本发明实施例提出一种API调用方法,若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。通过将API数据储存在本地数据库,并优先从本地数据库获取API数据,可极大地提高API数据的获取效率,提高了终端的业务响应速度。
图6是本发明实施例提供的一种API调用装置70的示意性框图。如图6所示,对应于以上API调用方法,本发明还提供一种API调用装置70。该API调用装置70包括用于执行上述API调用方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图6,该API调用装置70包括第一判断单元71、获取单元72、请求单元73以及储存单元74。
第一判断单元71,用于若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据。
获取单元72,用于若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序。
请求单元73,用于若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的。
储存单元74,用于接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
图7是本发明另一实施例提供的一种API调用装置70的示意性框图。如图7所示,本实施例的API调用装置70是上述实施例的基础上增加了第二判断单元75、撤销单元76、第三判断单元77、第一清除单元78以及访问单元79。
第二判断单元75,用于判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求。
撤销单元76,用于若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求。
第三判断单元77,用于判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值。
第一清除单元78,用于若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除。
访问单元79,用于根据预设的URLprotocol规则生成IP地址库,从所述IP地址库中获取连接速度最快的IP作为目标IP,并通过所述目标IP访问所述服务器。
参见图8,在一实施例中,所述第二判断单元75包括第四判断单元751、第一判定单元752以及第二判定单元753。
第四判断单元751,用于判断所述API调用请求的值是否比所述未着陆API调用请求的值大1。
第一判定单元752,用于若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同。
第二判定单元753,用于若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同。
图9是本发明又一实施例提供的一种API调用装置70的示意性框图。如图9所示,本实施例的API调用装置70是上述实施例的基础上增加了第五判断单元710以及第二清除单元711。
第五判断单元719,用于判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值。
第二清除单元711,用于若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述API调用装置70和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述API调用装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行一种API调用方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种API调用方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
在一实施例中,处理器502在实现所述判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据步骤之前,还实现如下步骤:
判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求;
若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求;
若所述API调用请求与终端当前的未着陆API调用请求不相同,则执行所述判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据的步骤。
在一实施例中,处理器502在实现所述判断所述API调用请求是否与终端当前的未着陆API调用请求相同步骤时,具体实现如下步骤:
判断所述API调用请求的值是否比所述未着陆API调用请求的值大1;
若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同;
若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同。
在一实施例中,处理器502还实现如下步骤:
判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值;
若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除。
在一实施例中,处理器502还实现如下步骤:
判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值;
若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
在一实施例中,处理器502还实现如下步骤:
根据预设的URLprotocol规则生成IP地址库,从所述IP地址库中获取连接速度最快的IP作为目标IP,并通过所述目标IP访问所述服务器。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行如下步骤:
若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据步骤之前,还实现如下步骤:
判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求;
若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求;
若所述API调用请求与终端当前的未着陆API调用请求不相同,则执行所述判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据的步骤。
在一实施例中,所述处理器在执行所述计算机程序而实现所述判断所述API调用请求是否与终端当前的未着陆API调用请求相同步骤时,具体实现如下步骤:
判断所述API调用请求的值是否比所述未着陆API调用请求的值大1;
若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同;
若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值;
若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值;
若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
在一实施例中,所述处理器在执行所述计算机程序还实现如下步骤:
根据预设的URLprotocol规则生成IP地址库,从所述IP地址库中获取连接速度最快的IP作为目标IP,并通过所述目标IP访问所述服务器。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (5)
1.一种API调用方法,其特征在于,包括:
若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求;
判断所述API调用请求的值是否比所述未着陆API调用请求的值大1;
若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同;
若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同;
若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求;
若所述API调用请求与终端当前的未着陆API调用请求不相同,则执行所述判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据的步骤;
若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中;
判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值;
若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除;
判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值;
若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
2.根据权利要求1所述的API调用方法,其特征在于,所述向预设的服务器发送API数据获取请求之前,所述方法还包括:
根据预设的URLprotocol规则生成IP地址库,从所述IP地址库中获取连接速度最快的IP作为目标IP,并通过所述目标IP访问所述服务器。
3.一种API调用装置,其特征在于,包括:
第一判断单元,用于若接收到应用程序的API调用请求,判断预设的本地数据库中是否存储有所述API调用请求所要调用的API的数据;
第二判断单元,用于判断所述API调用请求是否与终端当前的未着陆API调用请求相同,所述未着陆API调用请求为终端当前正在处理的API调用请求;
第四判断单元,用于判断所述API调用请求的值是否比所述未着陆API调用请求的值大1;
第一判定单元,用于若所述API调用请求的值比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求相同;
第二判定单元,用于若所述API调用请求的值不比所述未着陆API调用请求的值大1,判定所述API调用请求与终端当前的未着陆API调用请求不相同;
撤销单元,用于若所述API调用请求与终端当前的未着陆API调用请求相同,则撤销所述API调用请求;
获取单元,用于若预设的本地数据库中存储有所述API调用请求所要调用的API的数据,从所述本地数据库中获取所述API调用请求所要调用的API的数据,并将所述API调用请求所要调用的API的数据发送给所述应用程序;
请求单元,用于若预设的本地数据库中未存储有所述API调用请求所要调用的API的数据,向预设的服务器发送API数据获取请求,所述API数据获取请求包含所述API调用请求所要调用的API的名称以及密钥,所述密钥是由所述服务器预先提供给终端的;
储存单元,用于接收所述服务器返回的API数据,将所述服务器返回的API数据发送给所述应用程序,并将所述API调用请求所要调用的API的名称以及所述服务器返回的API数据对应储存到所述本地数据库中;
第三判断单元,用于判断所述本地数据库中的数据的存储量是否大于预设的存储量阈值;
第一清除单元,用于若所述本地数据库中的数据的存储量大于预设的存储量阈值,将所述本地数据库中的数据清除;
判断单元,用于判断所述本地数据库中的数据的存储时间是否大于预设的存储时间阈值;
清除单元,用于若所述本地数据库中的数据的存储时间大于预设的存储时间阈值,将所述本地数据库中的数据清除。
4.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-2中任一项所述的方法。
5.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-2中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086495.3A CN110851258B (zh) | 2019-11-08 | 2019-11-08 | Api调用方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911086495.3A CN110851258B (zh) | 2019-11-08 | 2019-11-08 | Api调用方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851258A CN110851258A (zh) | 2020-02-28 |
CN110851258B true CN110851258B (zh) | 2024-04-23 |
Family
ID=69600004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911086495.3A Active CN110851258B (zh) | 2019-11-08 | 2019-11-08 | Api调用方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110851258B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510291B (zh) * | 2022-01-27 | 2023-10-24 | 百度在线网络技术(北京)有限公司 | 数据调用方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108400A (zh) * | 2017-12-05 | 2018-06-01 | 厦门哨子科技有限公司 | 一种api基于本地数据增量的方法 |
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
CN109783499A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种数据缓存方法、装置和服务器 |
-
2019
- 2019-11-08 CN CN201911086495.3A patent/CN110851258B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
CN108108400A (zh) * | 2017-12-05 | 2018-06-01 | 厦门哨子科技有限公司 | 一种api基于本地数据增量的方法 |
CN109783499A (zh) * | 2019-01-18 | 2019-05-21 | 成都宝瓜科技有限公司 | 一种数据缓存方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110851258A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040209A (zh) | 拦截重复请求的方法、装置、计算机设备及存储介质 | |
US8407789B1 (en) | Method and system for dynamically optimizing multiple filter/stage security systems | |
CN109391673B (zh) | 一种管理更新文件的方法、系统及终端设备 | |
US20130276120A1 (en) | System, method, and computer program product for determining whether a security status of data is known at a server | |
US20140173730A1 (en) | Security Method and Apparatus | |
CN110471749B (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN106254528B (zh) | 一种资源下载方法和缓存设备 | |
US8208375B2 (en) | Selective filtering of network traffic requests | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
WO2019114246A1 (zh) | 一种身份认证方法、服务器及客户端设备 | |
US10313369B2 (en) | Blocking malicious internet content at an appropriate hierarchical level | |
CN110851258B (zh) | Api调用方法、装置、计算机设备及存储介质 | |
US8364776B1 (en) | Method and system for employing user input for website classification | |
EP3958150B1 (en) | Apparatus and method for predictive token validation | |
CN108055299B (zh) | Portal页面推送方法、网络接入服务器及Portal认证系统 | |
CN111131166B (zh) | 一种用户行为预判方法及相关设备 | |
CN110569114B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN109361712B (zh) | 一种信息处理方法及信息处理装置 | |
US10594657B1 (en) | Methods for parameterized sub-policy evaluation for fine grain access control during a session and devices thereof | |
CN116775167A (zh) | 一种业务处理方法、装置、电子设备及计算机可读介质 | |
US10255174B2 (en) | Common cache pool for applications | |
US20150326577A1 (en) | Accelerated application authentication and content delivery | |
CN112866179B (zh) | 限流方法和限流装置 | |
CN113225348A (zh) | 请求防重放校验方法和装置 | |
CN111314321A (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 |