CN108093005B - 一种接口异常调用的管理方法和系统 - Google Patents
一种接口异常调用的管理方法和系统 Download PDFInfo
- Publication number
- CN108093005B CN108093005B CN201611033811.7A CN201611033811A CN108093005B CN 108093005 B CN108093005 B CN 108093005B CN 201611033811 A CN201611033811 A CN 201611033811A CN 108093005 B CN108093005 B CN 108093005B
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- call
- abnormal
- calling
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种接口调用异常的管理方法,其特征为远程过程调用协议接口调用异常时,利用异步线程将异常数据补充完整直至接口调用成功。本发明的技术方案可使得在重试调用失败的情况下,利用异步线程将将异常数据补偿完整,有效的解决了无效接口多次重试造成资源浪费以及不能异步线程补偿数据的问题。本发明还涉及一种接口调用异常的管理系统。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种接口异常调用的管理方法和系统。
背景技术
随着互联网行业的迅速发展,很多互联网公司都采用面向服务的架构来设计大型软件,这种架构风格和传统软件开发最大的不同则是体现系统组件化和服务化的构建思想,由于服务本身可以重用,可以通过服务的组合和编排来满足业务的实现。远程过程调用协议(RPC)是实现此架构的常用技术,通过网络将RPC的客户端和服务端连接起来,但是客户端调用的过程可能会由于网络或服务端的问题发生调用异常。
对于RPC调用异常的情形,现有的解决方案都是在客户端进行接口重试,如果重试过程中调用成功,则正常返回,并提示用户调用成功;如果在重试过程中仍存在调用异常的问题,首先判断是否达到重试次数,若达到重试次数则直接向上层调用抛出异常,并提示用户稍后重试,此次调用失败。对此RPC服务端长时间不可用的情形,存在如下缺点:无效接口重试造成资源浪费,无效重试会降低系统性能,无法给用户清晰地提示从而影响用户体验,缺乏有效的异步数据补充。
发明内容
有鉴于此,本发明提供一种接口异常调用的管理方法及系统,能够在重试调用失败的情况下,能够利用异步线程将异常数据补充完整,进而解决现有技术中无效接口多次重试造成资源浪费以及不能异步线程补偿数据的问题。
为实现上述目的,根据本发明的一个方面,提供了一种接口调用异常的管理方法。
本发明的方法包括:远程过程调用协议接口调用异常时,利用异步线程将异常数据补充完整直至接口调用成功。
可选地,在利用异步线程将异常数据补充完整之前,统计接口调用的状况数据,并且判断所述状况数据是否满足临界规则;若满足,则利用异步线程将异常数据补充完整直至接口调用成功;否则重试接口调用。
可选地,在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将所述数据存储在本地。
可选地,利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及利用异步线程调用远程过程调用协议接口;并且判断所述调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将所述相应的数据存储在本地。
可选地,若所述状况数据满足临界规则,则关闭接口调用开关,利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。
可选地,关闭接口调用开关之后,重置所述接口调用的状况数据。
根据本发明的另一方面,提供了一种接口调用异常的管理系统。
本发明的系统包括:异步数据补充模块,用于远程过程调用协议接口调用异常时,利用异步线程将异常数据补充完整直至接口调用成功。
可选地,该系统还包括监控模块,用于在利用异步线程将异常数据补充完整之前,统计接口调用的状况数据,并且判断所述状况数据是否满足临界规则;若满足,则异步数据补充模块利用异步线程将异常数据补充完整直至接口调用成功;否则重试接口调用。
可选地,该系统还包括判断模块,用于在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将所述数据存储在本地。
可选地,异步数据补充模块利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及利用异步线程调用远程过程调用协议接口;并且判断所述调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将所述相应的数据存储在本地。
可选地,监控模块判断所述数据满足临界规则,则关闭接口调用开关,异步数据补充模块利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。
可选地,监控模块还用于关闭接口调用开关之后,重置接口调用的状况数据。
根据本发明的技术方案,在远程过程调用协议接口调用异常时,通过异步线程将异常数据补充完整直至接口调用成功。相较于现有技术,本发明的技术方案中调用次数以及异常调用等满足临界规则之后,则不再进行无效地调用,关闭调用控制开关,并利用异步线程将异常数据补充完整,进而使得调用成功。该技术方案有效的解决了无效接口重试造成资源浪费、无效重试会降低系统性能、无法给用户清晰地提示从而影响用户体验以及缺乏有效的异步数据补充的问题。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的利用异步线程将异常数据补充完整主要步骤的示意图;
图2是根据本发明实施例的一种接口调用异常的管理方法的流程图;
图3是根据本发明实施例的一种接口调用异常的管理系统的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例的一种接口调用异常的管理方法的主要步骤包括:远程过程调用协议接口调用异常时,利用异步线程将异常数据补充完整直至接口调用成功。
图1是根据本发明实施例的利用异步线程将异常数据补充完整主要步骤的示意图。如图1所示,利用异步线程将异常数据补充完整主要步骤包括:利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及利用异步线程调用远程过程调用协议接口;并且判断所述调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将所述相应的数据存储在本地。其中,待补充数据是指调用RPC服务时失败的数据,这些数据还是需要处理的,则通过异步线程来抓取,发送到RPC服务端来获取相应的数据,如果调用RPC服务正常,说明需要的数据返回了,待补充数据也就补充完整了。
在利用异步线程将异常数据补充完整之前,统计接口调用的状况数据,并且判断状况数据是否满足临界规则;若满足,则利用异步线程将异常数据补充完整直至接口调用成功;否则重试接口调用。若上述状况数据满足临界规则,则关闭接口调用开关,利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。接口调用开关用于控制当前应用程序是否调用RPC服务,通过设置可默认为开启状态。满足临界规则之后,关闭接口调用开关,当前程序则不能继续调用RPC服务,避免了无效的重试调用。之后通过异步线程将数据补充完整之后,打开接口调用开关,进而可成功调用接口。其中,状况数据可包括调用过程中出现的异常调用的次数或者频率等。通过临界规则的配置以及判断,可实现对接口调用的监控。对调用的监控利用AOP技术实现,分别在调用前、调用后及调用失败或异常时进行监控,即记录在调用过程中的出现的异常调用的次数及计算出频率。规则配置是指定关闭调用开关的临界规则,如:在1分钟内连续调用100次异常,在1000次调用中900次异常等。当接口调用的状况数据满足临界规则时,关闭接口调用开关之后,重置所述接口调用的状况数据。将原来统计的状况数据清空,重新统计异常次数和频率,防止和之前统计的状况数据混的一起,进而可使统计更加准确。
在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将数据存储在本地。每次调用RPC服务的数据存储在本地,则再次调用的时候可直接从本地抓取相应的数据,进而快捷有效的保证调用成功。因此在调用RPC服务接口之前,先对本地数据是否完整进行判断,如果完整,则不用向服务端发送请求,直接抓取本地数据。
图2是根据本发明实施例的一种接口调用异常的管理方法的流程图。
如图2所示,本发明实施例的一种接口调用异常的管理方法包括:
判断本地数据是否完整,若完整,则抓取本地数据,并提示接口调用成功。若不完整,进一步判断接口调用开关是否开启,若判断没有开启,提示用户接口异常。若判断开启,则可向服务端发送获取调用数据的请求,即进行RPC服务接口的调用。判断接口调用是否异常,若无异常,则提示接口调用成功。否则进一步判断接口调用的状况数据是否满足临界规则,若没有满足,继续进行重试接口调用并判断调用是否成功。若满足临界规则,则关闭接口调用开关,并重置接口调用的状况数据,不再进行无效的重试调用。之后,利用异步线程将异常数据补充完整直至调用成功。
图3是根据本发明实施例的一种接口调用异常的管理系统的示意图。
如图3所示,本发明实施例的一种接口调用异常的管理系统3包括:异步数据补充模块31,用于远程过程调用协议接口调用异常时,利用异步线程将异常数据补充完整直至接口调用成功。监控模块33,用于在利用异步线程将异常数据补充完整之前,统计接口调用的状况数据,并且判断状况数据是否满足临界规则;若满足,则异步数据补充模块利用异步线程将异常数据补充完整直至接口调用成功;否则重试接口调用。判断模块32,用于在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将数据存储在本地。
其中,异步数据补充模块31利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及利用异步线程调用远程过程调用协议接口;并且判断调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将相应的数据存储在本地。将相应的数据存储在本地,则下次调用时可以直接抓取该数据使得调用成功,提高了调用系统的性能。
监控模块33还用于判断数据满足临界规则,则关闭接口调用开关,异步数据补充模块利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。监控模块33还用于关闭接口调用开关之后,重置接口调用的状况数据。通过监控模块对临界规则进行配置,监控模块33记录调用异常的次数并计算出频率后,在调用发生异常时,判断状况数据是否满足临界规则。若满足临界规则,则情况状况数据,并关闭接口调用开关,停止无效的接口调用重试,利用异步线程将异常数据补充完整,打开接口调用开关,使得接口调用成功。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种接口调用异常的管理方法,其特征在于,
远程过程调用协议接口调用异常时,统计接口调用的状况数据,并且判断所述状况数据是否满足临界规则;若满足,关闭接口调用开关,利用异步线程将异常数据补充完整直至接口调用成功。
2.根据权利要求1所述方法,其特征在于,还包括:
如果所述状况数据不满足临界规则,则重试接口调用。
3.根据权利要求1所述方法,其特征在于,还包括:
在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将所述数据存储在本地。
4.根据权利要求1所述方法,其特征在于,
利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及
利用异步线程调用远程过程调用协议接口;并且判断所述调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将所述相应的数据存储在本地。
5.根据权利要求2所述方法,其特征在于,若所述状况数据满足临界规则,则关闭接口调用开关,利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。
6.根据权利要求5所述方法,其特征在于,关闭接口调用开关之后,重置所述接口调用的状况数据。
7.一种接口调用异常的管理系统,其特征在于,包括:异步数据补充模块,用于远程过程调用协议接口调用异常时,统计接口调用的状况数据,并且判断所述状况数据是否满足临界规则;若满足,关闭接口调用开关,利用异步线程将异常数据补充完整直至接口调用成功。
8.根据权利要求7所述系统,其特征在于,还包括监控模块,用于如果所述状况数据不满足临界规则,则重试接口调用。
9.根据权利要求7所述系统,其特征在于,还包括判断模块,用于在调用远程过程调用协议接口之前,判断本地数据是否完整;若完整,则抓取本地数据,并且提示接口调用成功;否则,开启接口调用开关,向服务端发送获取数据的请求,将所述数据存储在本地。
10.根据权利要求7所述系统,其特征在于,异步数据补充模块利用异步线程抓取待补充数据发送至服务端,并且获取相应的数据;以及
利用异步线程调用远程过程调用协议接口;并且判断所述调用是否异常;若异常,则再次利用异步线程抓取待补充数据发送至服务端;否则将所述相应的数据存储在本地。
11.根据权利要求8所述系统,其特征在于,监控模块还用于判断所述数据满足临界规则,则关闭接口调用开关,异步数据补充模块利用异步线程将异常数据补充完整,打开接口调用开关,进行接口调用。
12.根据权利要求11所述系统,其特征在于,监控模块还用于关闭接口调用开关之后,重置接口调用的状况数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033811.7A CN108093005B (zh) | 2016-11-22 | 2016-11-22 | 一种接口异常调用的管理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611033811.7A CN108093005B (zh) | 2016-11-22 | 2016-11-22 | 一种接口异常调用的管理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108093005A CN108093005A (zh) | 2018-05-29 |
CN108093005B true CN108093005B (zh) | 2020-11-03 |
Family
ID=62169911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611033811.7A Active CN108093005B (zh) | 2016-11-22 | 2016-11-22 | 一种接口异常调用的管理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108093005B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258790B (zh) * | 2018-12-03 | 2023-11-03 | 北京京东振世信息技术有限公司 | 异常补偿方法和装置 |
CN112241332B (zh) * | 2019-07-16 | 2023-09-22 | 北京京东振世信息技术有限公司 | 一种接口补偿的方法和装置 |
CN112783665B (zh) * | 2019-11-07 | 2023-11-03 | 北京京东振世信息技术有限公司 | 接口补偿的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885973A (zh) * | 2012-12-21 | 2014-06-25 | 中国科学院声学研究所 | 一种基于Web引擎的远程过程调用系统及实现方法 |
CN105025027A (zh) * | 2015-07-27 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种多控存储系统的rpc安全认证方法 |
US9189378B1 (en) * | 2012-11-30 | 2015-11-17 | Mobile Labs, LLC | Systems, methods, and apparatuses for testing mobile device applications |
CN105868111A (zh) * | 2016-03-29 | 2016-08-17 | 网易(杭州)网络有限公司 | 移动终端游戏自动测试方法和装置 |
-
2016
- 2016-11-22 CN CN201611033811.7A patent/CN108093005B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189378B1 (en) * | 2012-11-30 | 2015-11-17 | Mobile Labs, LLC | Systems, methods, and apparatuses for testing mobile device applications |
CN103885973A (zh) * | 2012-12-21 | 2014-06-25 | 中国科学院声学研究所 | 一种基于Web引擎的远程过程调用系统及实现方法 |
CN105025027A (zh) * | 2015-07-27 | 2015-11-04 | 浪潮(北京)电子信息产业有限公司 | 一种多控存储系统的rpc安全认证方法 |
CN105868111A (zh) * | 2016-03-29 | 2016-08-17 | 网易(杭州)网络有限公司 | 移动终端游戏自动测试方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108093005A (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104639374B (zh) | 一种应用程序部署管理系统 | |
US10084722B2 (en) | Modification of computing resource behavior based on aggregated monitoring information | |
US10505881B2 (en) | Generating message envelopes for heterogeneous events | |
CN106856489A (zh) | 一种分布式存储系统的服务节点切换方法和装置 | |
CN108093005B (zh) | 一种接口异常调用的管理方法和系统 | |
US10972336B2 (en) | Technique for resolving a link failure | |
CN109788068B (zh) | 心跳状态信息上报方法、装置和设备及计算机存储介质 | |
CN109286529A (zh) | 一种恢复RabbitMQ网络分区的方法及系统 | |
US20170078049A1 (en) | Freshness-sensitive message delivery | |
CN105072101B (zh) | 基于入侵容忍的sdn控制器端系统和安全通信方法 | |
CN109960634A (zh) | 一种应用程序监控方法、装置及系统 | |
KR20180037342A (ko) | 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 | |
CN106357757B (zh) | 一种监控系统中的被监控装置及监控方法 | |
US10970148B2 (en) | Method, device and computer program product for managing input/output stack | |
CN114884840A (zh) | 应用健康状态检查方法及电子设备 | |
CN107426012B (zh) | 一种基于超融合架构的故障恢复方法及其装置 | |
EP2546746A1 (en) | Fault detection system and method of processing request in the fault detection system | |
KR101433045B1 (ko) | 사전 장애 탐지 시스템 및 방법 | |
CN111427704B (zh) | 配置指令的远程监控方法、装置、设备及存储介质 | |
CN105763365B (zh) | 一种异常处理方法及装置 | |
CN100426241C (zh) | 一种面向服务体系结构中消息层软中断处理方法 | |
US20220045874A1 (en) | Charging processing method and system, and related device | |
CN109314697B (zh) | 自动网络管理系统和方法 | |
JP2006285453A (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
CN109634787B (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 |