CN108304167A - 一种提高接口调用稳定性方法及装置 - Google Patents
一种提高接口调用稳定性方法及装置 Download PDFInfo
- Publication number
- CN108304167A CN108304167A CN201810144803.2A CN201810144803A CN108304167A CN 108304167 A CN108304167 A CN 108304167A CN 201810144803 A CN201810144803 A CN 201810144803A CN 108304167 A CN108304167 A CN 108304167A
- Authority
- CN
- China
- Prior art keywords
- api
- target
- restart
- target api
- stability
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供的一种提高接口调用稳定性方法及装置,属于计算机技术领域。该提高接口调用稳定性方法,包括:获取待使用的API;将所述API进行封装处理,生成目标API;调用所述目标API;获取所述目标API所返回的调用结果。通过先获取待使用的API;再将所述API进行封装处理,生成目标API;然后调用所述目标API;最后获取所述目标API所返回的调用结果。从而基于被调用API稳定性基础上,提高调用API成功的概率。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种提高接口调用稳定性方法及装置。
背景技术
目前实际的软件开发过程中,需要借助外部提供的各种API,通过组合、适配和开发完成软件最终功能。即使在一个软件内部而言,各个模块之间也是通过API来组合工作的。可见API(服务)的调用,在软件开发过程中是一个重要的部分。然而被调用的API的特有性质,决定了软件功能完成的质量。其中重要的如API的稳定性,会影响调用端软件(模块)的稳定性。很多软件会依赖外部提供的API来完成其他开发人员技术已经实现的功能。别的开发人员开发的API多数情况无法为我们稳定性的需要,提供特别的适配。所以这种时候,一方面我们需要该API提供的功能,另一方面该API的稳定性无法保证。然而现有的技术方案,是在代码中使用异常判断方式来中断,这种方式能解决部分问题。但是当API提供方,需要某些资源依赖,单纯的代码中断方式可能造成的后果就是,要么调用成功,要么调用失败,并且调用失败的概率基于被调用API的稳定性,因此,现有技术中存在API的稳定性无法保证以及调用失败的概率较大的技术问题。
发明内容
本发明提供的一种提高接口调用稳定性方法及装置,旨在改善上述问题。
本发明提供的提高接口调用稳定性方法,包括:获取待使用的API;将所述API进行封装处理,生成目标API;调用所述目标API;获取所述目标API所返回的调用结果。
可选地,所述调用目标API,之后还包括:基于标识物判断是否重启所述目标API。
可选地,所述的基于标识物判断是否重启所述目标API,包括:基于预设时间判断是否重启所述目标API。
可选地,所述的基于预设时间判断是否重启所述目标API,包括:每隔2秒判断是否重启所述目标API。
可选地,所述的将所述API进行封装处理,生成目标API,包括:基于异常判断方法将所述API进行封装处理,生成目标API。
本发明提供的提高接口调用稳定性装置,包括:第一获取单元,用于获取待使用的API;生成单元,用于将所述API进行封装处理,生成目标API;数据调用单元,用于调用所述目标API;第二获取单元,用于获取所述目标API所返回的调用结果。
可选地,所述数据调用单元之后还包括:重启单元,用于基于标识物判断是否重启所述目标API。
可选地,所述重启单元具体用于:基于预设时间判断是否重启所述目标API。
可选地,所述重启单元具体用于:每隔2秒判断是否重启所述目标API。
可选地,所述生成单元具体用于:基于异常判断方法将所述API进行封装处理,生成目标API。
上述本发明提供的一种提高接口调用稳定性方法及装置,通过先获取待使用的API;再将所述API进行封装处理,生成目标API;然后调用所述目标API;最后获取所述目标API所返回的调用结果。从而基于被调用API稳定性基础上,提高调用API成功的概率。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种电子设备的结构框图;
图2为本发明第一实施例提供的提高接口调用稳定性方法的流程图;
图3为本发明第二实施例提供的提高接口调用稳定性方法的流程图;
图4为本发明第三实施例提供的提高接口调用稳定性装置的功能模块示意图;
图5为本发明第四实施例提供的提高接口调用稳定性装置的功能模块示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种电子设备的结构框图。所述电子设备300包括提高接口调用稳定性装置、存储器302、存储控制器303、处理器304及外设接口305。
所述存储器302、存储控制器303、处理器304及外设接口305各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述提高接口调用稳定性装置包括至少一个可以软件或固件(firmware)的形式存储于所述存储器302中或固化在所述电子设备300的操作***(operating system,OS)中的软件功能模块。所述处理器304用于执行存储器302中存储的可执行模块,例如所述提高接口调用稳定性装置包括的软件功能模块或计算机程序。
其中,存储器302可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器302用于存储程序,所述处理器304在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器100所执行的方法可以应用于处理器304中,或者由处理器304实现。
处理器304可能是一种集成电路芯片,具有信号的处理能力。上述的处理器304可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述外设接口305将各种输入/输入装置耦合至处理器304以及存储器302。在一些实施例中,外设接口305、处理器304以及存储控制器303可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
请参阅图2,是本发明第一实施例提供的提高接口调用稳定性方法的流程图。下面将对图2所示的具体流程进行详细阐述。
步骤S101,获取待使用的API。
其中,所述待使用的API为API提供方所提供的。
在本实施例中,可以通过API提供方所提供的接口调用所述API。
步骤S102,将所述API进行封装处理,生成目标API。
作为一种实施方式,基于异常判断方法将所述API进行封装处理,生成目标API。例如,所述异常判断方法可以是try……catch……。
步骤S103,调用所述目标API。
作为一种实施方式,进入调用模块内部,通过常用的现有的异常判断方案调用所述目标API。
步骤S104,获取所述目标API所返回的调用结果。
所述调用结果是代表的API需要提供的功能,具体如何返回是由具体的API确定。在此,不作具体限定。
请参阅图3,是本发明第二实施例提供的提高接口调用稳定性方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S201,获取待使用的API。
步骤S202,将所述API进行封装处理,生成目标API。
步骤S203,调用所述目标API。
步骤S201至步骤S203的具体实施方式请参照第一实施例中所对应的步骤,在此,不再赘述。
步骤S204,基于标识物判断是否重启所述目标API。
所述标识物可以是时间,也可以是其他资源标识。在此,不作具体限定。
作为一种实施方式,基于预设时间判断是否重启所述目标API,如每隔2秒判断是否重启所述目标API。
在本实施例中,优选地,所述的基于标识物判断是否重启所述目标API是在一直运行着,如通过一定的时间间隔去重启API服务,如设置一个定时器规定2秒后,清除现有调用线程,重新配置需要的资源后,重启调用线程。用以保护API因为某些原因造成其他代码无法访问的情况。在所述目标API中,不仅使用现有通用的异常判断机制,还使用了基于标识物判断是否重启所述目标API。其中,重启也不一定是开启/关闭这种现实意义,也可以是API依赖的资源的更新或者重置。通过在所述目标API内部新增了“定时重启机制”,把稳定性强相关与API稳定性,转化为弱依赖。较大限度的提高调用API的稳定性。从而克服了现有技术的不足,稳定性不在由API接口稳定性强相关决定,并且还大幅度提高原有API调用时候的稳定性。以及通过引入了一个“定时重启机制”,在调用部分多包含一层提高性能的层。进而实现了基于被调用API稳定性基础上,极大的提高了API调用成功的概率。
步骤S205,获取所述目标API所返回的调用结果。
步骤S205的具体实施方式请参照第一实施例中所对应的步骤,在此,不再赘述。
请参阅图4,是本发明第三实施例提供的提高接口调用稳定性装置的功能模块示意图。所述提高接口调用稳定性装置400包括第一获取单元410、生成单元420、数据调用单元430和第二获取单元440。
第一获取单元410,用于获取待使用的API。
生成单元420,用于将所述API进行封装处理,生成目标API。
其中,所述生成单元420具体用于:基于异常判断方法将所述API进行封装处理,生成目标API。
数据调用单元430,用于调用所述目标API。
第二获取单元440,用于获取所述目标API所返回的调用结果。
请参阅图5,是本发明第四实施例提供的提高接口调用稳定性装置的功能模块示意图。所述提高接口调用稳定性装置500包括第一获取单元510、生成单元520、数据调用单元530、重启单元540和第二获取单元550。
第一获取单元510,用于获取待使用的API。
生成单元520,用于将所述API进行封装处理,生成目标API。
其中,所述生成单元520具体用于:基于异常判断方法将所述API进行封装处理,生成目标API。
数据调用单元530,用于调用所述目标API。
重启单元540,用于基于标识物判断是否重启所述目标API。
作为一种实施方式,所述重启单元550具体用于:基于预设时间判断是否重启所述目标API。
作为一种实施方式,所述重启单元550还用于每隔2秒判断是否重启所述目标API。
第二获取单元550,用于获取所述目标API所返回的调用结果。
综上所述,本发明提供的一种提高接口调用稳定性方法及装置,通过先获取待使用的API;再将所述API进行封装处理,生成目标API;然后调用所述目标API;最后获取所述目标API所返回的调用结果。从而基于被调用API稳定性基础上,提高调用API成功的概率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (10)
1.一种提高接口调用稳定性方法,其特征在于,包括:
获取待使用的API;
将所述API进行封装处理,生成目标API;
调用所述目标API;
获取所述目标API所返回的调用结果。
2.根据权利要求1所述的方法,其特征在于,所述调用目标API,之后还包括:
基于标识物判断是否重启所述目标API。
3.根据权利要求2所述的方法,其特征在于,所述的基于标识物判断是否重启所述目标API,包括:
基于预设时间判断是否重启所述目标API。
4.根据权利要求3所述的方法,其特征在于,所述的基于预设时间判断是否重启所述目标API,包括:
每隔2秒判断是否重启所述目标API。
5.根据权利要求1所述的方法,其特征在于,所述的将所述API进行封装处理,生成目标API,包括:
基于异常判断方法将所述API进行封装处理,生成目标API。
6.一种提高接口调用稳定性装置,其特征在于,包括:
第一获取单元,用于获取待使用的API;
生成单元,用于将所述API进行封装处理,生成目标API;
数据调用单元,用于调用所述目标API;
第二获取单元,用于获取所述目标API所返回的调用结果。
7.根据权利要求6所述的装置,其特征在于,所述数据调用单元之后还包括:
重启单元,用于基于标识物判断是否重启所述目标API。
8.根据权利要求7所述的装置,其特征在于,所述重启单元具体用于:
基于预设时间判断是否重启所述目标API。
9.根据权利要求8所述的装置,其特征在于,所述重启单元具体用于:
每隔2秒判断是否重启所述目标API。
10.根据权利要求6所述的装置,其特征在于,所述生成单元具体用于:
基于异常判断方法将所述API进行封装处理,生成目标API。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144803.2A CN108304167A (zh) | 2018-02-11 | 2018-02-11 | 一种提高接口调用稳定性方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810144803.2A CN108304167A (zh) | 2018-02-11 | 2018-02-11 | 一种提高接口调用稳定性方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108304167A true CN108304167A (zh) | 2018-07-20 |
Family
ID=62865286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810144803.2A Pending CN108304167A (zh) | 2018-02-11 | 2018-02-11 | 一种提高接口调用稳定性方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304167A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346880A (zh) * | 2019-08-07 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 接口调用方法、装置、计算机可读存储介质和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101541094A (zh) * | 2008-03-21 | 2009-09-23 | 中兴通讯股份有限公司 | 网络接口重启方法 |
CN103905551A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种服务调用方法及装置 |
CN104133676A (zh) * | 2014-07-18 | 2014-11-05 | 珠海市君天电子科技有限公司 | 一种基于脚本的功能执行方法和设备 |
WO2015007163A1 (en) * | 2013-07-18 | 2015-01-22 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for processing message |
CN105260246A (zh) * | 2015-11-10 | 2016-01-20 | 中国建设银行股份有限公司 | 应用***调用方法和装置 |
-
2018
- 2018-02-11 CN CN201810144803.2A patent/CN108304167A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101541094A (zh) * | 2008-03-21 | 2009-09-23 | 中兴通讯股份有限公司 | 网络接口重启方法 |
WO2015007163A1 (en) * | 2013-07-18 | 2015-01-22 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for processing message |
CN103905551A (zh) * | 2014-04-02 | 2014-07-02 | 北京中交兴路车联网科技有限公司 | 一种服务调用方法及装置 |
CN104133676A (zh) * | 2014-07-18 | 2014-11-05 | 珠海市君天电子科技有限公司 | 一种基于脚本的功能执行方法和设备 |
CN105260246A (zh) * | 2015-11-10 | 2016-01-20 | 中国建设银行股份有限公司 | 应用***调用方法和装置 |
Non-Patent Citations (2)
Title |
---|
MONKEY_WHO: "Android中定时重启APP", 《HTTPS://WWW.JIANSHU.COM/P/30B15FFBD877》 * |
马旸: "移动终端的航空业务***的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346880A (zh) * | 2019-08-07 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 接口调用方法、装置、计算机可读存储介质和计算机设备 |
CN112346880B (zh) * | 2019-08-07 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 接口调用方法、装置、计算机可读存储介质和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634561B (zh) | 一种在线可视化编程方法及装置 | |
KR20190088535A (ko) | 블록체인 기반 데이터 처리 방법 및 장치 | |
CN110474903B (zh) | 可信数据获取方法、装置及区块链节点 | |
US11314610B2 (en) | Auto-recovery for software systems | |
CN109726067A (zh) | 一种进程监控方法以及客户端设备 | |
EP2839369B2 (en) | Information processing device and method for protecting data in a call stack | |
CN108459913A (zh) | 数据并行处理方法、装置及服务器 | |
CN104657636A (zh) | 产生结构的方法和相应的结构 | |
CN107656750A (zh) | 插件更新方法及装置 | |
CN113254163B (zh) | 区块链数据的处理方法及装置 | |
CN109002348B (zh) | 一种虚拟化***中的负载均衡方法及装置 | |
CN108304167A (zh) | 一种提高接口调用稳定性方法及装置 | |
CN108595685A (zh) | 一种数据处理方法及装置 | |
CN109491951B (zh) | 一种配置数据的方法以及计算设备 | |
CN111597093B (zh) | 一种异常处理方法、装置及其设备 | |
CN107678917B (zh) | 测试机自动化管理方法、装置、设备及存储介质 | |
CN107291614B (zh) | 文件异常检测方法和电子设备 | |
KR20190134817A (ko) | 보안 엘리먼트를 공장 상태로 복원하는 방법 | |
US9730038B2 (en) | Techniques to manage platform migrations | |
CN114020772A (zh) | 查询条件配置方法、***、电子设备及存储介质 | |
CN108647516A (zh) | 一种防御漏洞非法提权方法及装置 | |
CN114157662A (zh) | 一种云平台参数适配方法、装置、终端设备及储存介质 | |
CN110740062B (zh) | 断点续传方法和装置 | |
CN109788054B (zh) | 一种分布式应用协调服务节点的配置方法、服务器及介质 | |
CN112328288A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180720 |