CN104572267A - 一种云应用程序编程接口的容错调用方法 - Google Patents
一种云应用程序编程接口的容错调用方法 Download PDFInfo
- Publication number
- CN104572267A CN104572267A CN201510011850.6A CN201510011850A CN104572267A CN 104572267 A CN104572267 A CN 104572267A CN 201510011850 A CN201510011850 A CN 201510011850A CN 104572267 A CN104572267 A CN 104572267A
- Authority
- CN
- China
- Prior art keywords
- interface
- time
- application programming
- interface interchange
- cloud
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种云应用程序编程接口的容错调用方法,在原有云应用程序编程接口的基础上,提供应用程序编程接口调用的错误容忍处理,加入超时容错机制、计时器模块、时间文件、花费评估模块等,包括以下步骤:步骤(A),通过时间文件确定接口调用超时时间约束Tl;步骤(B),利用步骤(A)得出的接口调用超时时间约束Tl,进行云应用程序编程接口的调用。本发明的云应用程序编程接口的容错调用方法实现了云应用程序编程接口的智能容错调用。
Description
技术领域
本发明涉及云计算服务领域,特别涉及一种云运维管理方法。
背景技术
在云数据中心上运行的应用系统的版本、部署或配置很少是一成不变的。很多互联网公司每天需要对他们在云数据中心上运行的应用系统进行几十次或更多的升级。而云用户在对云数据中心上运行的应用系统进行运维操作(例如部署、升级、重新配置等)时,不管是通过web界面、命令行界面还是专门的工具执行,本质上都是调用云应用程序编程接口来完成运维操作。
通过对于全球各云服务的官方客户技术支持论坛中有关云应用程序编程接口失效问题进行的系统性的调查,以及对于各个云服务的应用程序编程接口调用返回时间进行的一系列的实验,发现云应用程序编程接口存在着严重的返回超时问题,即当云用户向云数据中心发出云应用程序编程接口调用请求时,经常发生调用接口的输出服务返回时间过慢或返回时间变化从十几秒到几天不等。
因此,云应用程序编程接口调用返回超时问题直接影响了云用户在云数据中心上运行的应用系统的性能和可靠性。如何解决云应用程序编程接口调用返回超时,是目前云计算服务领域亟待解决的问题。
发明内容
本发明提出一种云应用程序编程接口的容错调用方法,在原有云应用程序编程接口的基础上,提供云应用程序编程接口调用的容错处理,加入超时容忍机制、计时器模块、时间文件、花费评估模块等,实现云应用程序编程接口的智能容错调用。
本发明的技术方案是这样实现的:
一种云应用编程程序接口的容错调用方法,包括以下步骤:
步骤(A),通过时间文件确定接口调用超时时间约束Tl;
步骤(B),利用步骤(A)得出的接口调用超时时间约束Tl,进行云应用程序编程接口的调用。
可选地,所述步骤(A)中,通过时间文件确定接口调用超时时间约束Tl,具体包括以下步骤:
步骤(A1),配置最初的超时时间T0;
步骤(A2),排序时间文件所记录的接口历史调用时间数据集T=(t1,t2,…,tn},生成递增数据集T′=(t′1,t′2,…,t′n};
步骤(A3),求得数据集中值为:
步骤(A4),若Tmid<T0,则Tl=Tmid;否则Tl=T0。
可选地,所述步骤(B)中,利用步骤(A)得出的接口调用超时时间约束Tl,进行云应用程序编程接口的调用,具体包括以下步骤:
步骤(B1),云用户发出接口调用请求;
步骤(B2),接收到接口调用请求后,同时向云平台发出两个相同的接口调用请求,计时器开始计时并获取所述步骤(A)中该请求的超时时间约束Tl;
步骤(B3),若Tl时间内测试到至少一个请求成功,该请求视为成功,结束另一个接口调用请求,转步骤(B6);否则,转步骤(B4);
步骤(B4),向云平台重新发送一个接口调用请求,同时选择步骤(B2)中任意一个接口调用请求执行其强制完成请求,若Tl时间内测试到至少一个接口请求返回成功,仍视为接口请求成功,转步骤(B6);否则,转步骤(B5);
步骤(B5),获取接口调用的状态,如果检测到调用成功完成,则转步骤(B6);否则,转步骤(B7);
步骤(B6),标记接口调用的状态为完成状态,将请求时间记录到时间文件,同时计算本次接口调用花费,记录到花费文件,结束此次调用;
步骤(B7),标记接口调用的状态为失效,结束此次调用。
可选地,所述步骤(B5)中,通过替代方法间接获取接口调用的状态。
可选地,所述步骤(B5)中,调用一个云虚拟机的启动操作接口,通过检测该云虚拟机的IP地址是否可达来判断该云虚拟机是否成功启动。
本发明的有益效果是:
(1)有效地降低了云应用程序编程接口的调用时间;
(2)提高了云用户在云数据中心上运行的应用系统的性能和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种云应用程序编程接口的容错调用方法的系统结构图;
图2为本发明一种云应用程序编程接口的容错调用方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
云应用程序编程接口调用返回超时问题直接影响了云用户在云数据中心上运行的应用系统的性能和可靠性,本发明提出一种云应用程序编程接口的容错调用方法,如图1所示,本发明在原有云应用程序编程接口的基础上,提供应用程序编程接口调用的容错处理,加入超时容错机制、计时器模块、时间文件、花费评估模块等,实现云应用程序编程接口的智能容错调用,避免了指标设置过于主观,使得结果更加公正、客观;而且,对外提供了新的可靠接口,可供云用户进行升级、恢复、迁移等各种日常运维操作。
下面结合图1和图2对本发明的云应用程序编程接口的容错调用方法进行详细说明。
本发明的云应用程序编程接口的容错调用方法,运行过程包括以下步骤:
步骤(A),通过时间文件确定接口调用超时时间约束Tl,具体方法如下:
步骤(A1),配置最初的超时时间T0;
步骤(A2),排序时间文件所记录的接口历史调用时间数据集T={t1,t2,…,tn},生成递增数据集T′=(t′1,t′2,…,t′n};
步骤(A3),求得数据集中值为:
步骤(A4),若Tmid<T0,则Tl=Tmid;否则Tl=T0。
步骤(B),利用步骤(A)得出的接口调用超时时间约束,进行云应用程序编程接口的调用,具体方法如下:
步骤(B1),云用户向本发明的方法提供的接口发出接口调用请求;
步骤(B2),本发明的方法在接收到调用请求后,同时向云平台发出两个相同的接口调用请求,计时器开始计时并获取步骤(A)中该请求的超时时间约束Tl;
步骤(B3),若Tl时间内测试到至少一个接口请求成功,该请求视为成功,可结束另一个调用请求,转步骤(B6);否则,转步骤(B4);
步骤(B4),向云平台重新发送一个接口调用请求,同时选择步骤(B2)中任意一个接口调用请求执行其强制完成请求,若Tl时间内测试到至少一个请求返回成功,仍可视为请求成功,转步骤(B6);否则,转步骤(B5);
步骤(B5),通过替代方法间接获取接口调用的状态,例如,调用云一个虚拟机的启动操作接口,可通过检测该云虚拟机的IP地址是否可达来判断该虚拟机是否成功启动,如果检测到调用成功完成,则转步骤(B6);否则,转步骤(B7);
步骤(B6),标记接口调用的状态为完成状态,将请求时间记录到时间文件,同时计算本次接口调用花费,记录到花费文件,结束此次调用;
步骤(B7),标记接口调用的状态为失效,结束此次调用。
本发明的云应用程序编程接口的容错调用方法,从云用户的角度出发,在原有的云平台应用程序编程接口基础上,提供接口调用的容错处理;通过实时获取原有应用程序编程接口调用发生失效的状态并做出不同的处理,有效消除云应用程序编程接口调用返回超时问题。
下面结合一个具体实施例对本发明的方法做进一步详细描述,但本发明的实施方式并不局限于该实施例表示的范围。
第一步:操作员基于Amazon云平台应用程序编程接口调用经验手动配置最初的超时时间,通过本发明的方法处理来自时间文件记录的最近100次原始接口调用时间,计算得到最终超时时间约束;
第二步:根据图2所示流程,用户向本发明的方法发出接口调用请求,连续操作100次,调用过程中时间统计并计算如下:
操作序号 | T0/s | Tmid/s | Tl/s |
1 | 38.537 | 95.293 | 38.537 |
2 | 38.537 | 93.465 | 38.537 |
3 | 38.537 | 88.100 | 38.537 |
4 | 38.537 | 85.485 | 38.537 |
5 | 38.537 | 81.396 | 38.537 |
… | … | … | … |
63 | 38.537 | 36.656 | 36.656 |
64 | 36.656 | 36.127 | 36.127 |
65 | 36.127 | 33.518 | 33.518 |
66 | 33.518 | 32.274 | 32.274 |
… | … | … | … |
98 | 21.004 | 20.991 | 20.991 |
99 | 20.991 | 20.942 | 20.942 |
100 | 20.942 | 20.503 | 20.503 |
通过本实施例中的上述统计数据可以清楚的看出,本发明的方法有效地降低了云应用编程接口的调用时间,提高了云用户在云数据中心上运行的应用系统的性能和可靠性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种云应用程序编程接口的容错调用方法,其特征在于,包括以下步骤:
步骤(A),通过时间文件确定接口调用超时时间约束Tl;
步骤(B),利用步骤(A)得出的接口调用超时时间约束Tl,进行云应用程序编程接口的调用。
2.如权利要求1所述的一种云应用程序编程接口的容错调用方法,其特征在于,所述步骤(A)中,通过时间文件确定接口调用超时时间约束Tl,具体包括以下步骤:
步骤(A1),配置最初的超时时间T0;
步骤(A2),排序时间文件所记录的接口历史调用时间数据集T={t1,t2,…,tn},生成递增数据集T′={t′1,t′2,…,t′n};
步骤(A3),求得数据集中值为:
步骤(A4),若Tmid<T0,则Tl=Tmid;否则Tl=T0。
3.如权利要求1所述的一种云应用程序编程接口的容错调用方法,其特征在于,所述步骤(B)中,利用步骤(A)得出的接口调用超时时间约束Tl,进行云应用程序编程接口的调用,具体包括以下步骤:
步骤(B1),云用户发出接口调用请求;
步骤(B2),接收到接口调用请求后,同时向云平台发出两个相同的接口调用请求,计时器开始计时并获取所述步骤(A)中该接口调用请求的超时时间约束Tl;
步骤(B3),若Tl时间内测试到至少一个接口调用请求成功,该接口调用请求视为成功,结束另一个接口调用请求,转步骤(B6);否则,转步骤(B4);
步骤(B4),向云平台重新发送一个接口调用请求,同时选择步骤(B2)中任意一个接口调用请求执行其强制完成请求,若Tl时间内测试到至少一个接口调用请求返回成功,仍视为及接口调用请求成功,转步骤(B6);否则,转步骤(B5);
步骤(B5),获取接口调用的状态,如果检测到接口调用成功完成,则转步骤(B6);否则,转步骤(B7);
步骤(B6),标记接口调用的状态为完成状态,将请求时间记录到时间文件,同时计算本次接口调用花费,记录到花费文件,结束此次接口调用;
步骤(B7),标记接口调用的状态为失效,结束此次接口调用。
4.如权利要求3所述的一种云应用程序编程接口的容错调用方法,其特征在于,所述步骤(B5)中,通过替代方法间接获取接口调用的状态。
5.如权利要求4所述的一种云应用程序编程接口的容错调用方法,其特征在于,所述步骤(B5)中,调用一个云虚拟机的启动操作接口,通过检测该云虚拟机的IP地址是否可达来判断该虚拟机是否成功启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510011850.6A CN104572267B (zh) | 2015-01-05 | 2015-01-05 | 一种云应用程序编程接口的容错调用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510011850.6A CN104572267B (zh) | 2015-01-05 | 2015-01-05 | 一种云应用程序编程接口的容错调用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572267A true CN104572267A (zh) | 2015-04-29 |
CN104572267B CN104572267B (zh) | 2017-12-15 |
Family
ID=53088417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510011850.6A Expired - Fee Related CN104572267B (zh) | 2015-01-05 | 2015-01-05 | 一种云应用程序编程接口的容错调用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572267B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027325A (zh) * | 2016-05-10 | 2016-10-12 | 华中科技大学 | 一种网盘应用程序编程接口的测量方法和系统 |
CN107992380A (zh) * | 2017-11-28 | 2018-05-04 | 北京东土科技股份有限公司 | 一种计算机系统、备份管理方法和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130160006A1 (en) * | 2011-12-15 | 2013-06-20 | Electronics And Telecommunications Research Institute | Apparatus and method for controlling sensor data in cloud system |
CN103198099A (zh) * | 2013-03-12 | 2013-07-10 | 南京邮电大学 | 基于云计算的面向电信业务的数据挖掘应用方法 |
-
2015
- 2015-01-05 CN CN201510011850.6A patent/CN104572267B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130160006A1 (en) * | 2011-12-15 | 2013-06-20 | Electronics And Telecommunications Research Institute | Apparatus and method for controlling sensor data in cloud system |
CN103198099A (zh) * | 2013-03-12 | 2013-07-10 | 南京邮电大学 | 基于云计算的面向电信业务的数据挖掘应用方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027325A (zh) * | 2016-05-10 | 2016-10-12 | 华中科技大学 | 一种网盘应用程序编程接口的测量方法和系统 |
CN106027325B (zh) * | 2016-05-10 | 2018-11-06 | 华中科技大学 | 一种网盘应用程序编程接口的测量方法和系统 |
CN107992380A (zh) * | 2017-11-28 | 2018-05-04 | 北京东土科技股份有限公司 | 一种计算机系统、备份管理方法和计算机可读存储介质 |
CN107992380B (zh) * | 2017-11-28 | 2021-09-17 | 北京东土科技股份有限公司 | 一种计算机系统、备份管理方法和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104572267B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11159450B2 (en) | Nonintrusive dynamically-scalable network load generation | |
EP3182678A1 (en) | Method for upgrading network function virtualization application, and method and device for forwarding service | |
CN111147322B (zh) | 5g核心网微服务架构的测试系统及方法 | |
US9218231B2 (en) | Diagnosing a problem of a software product running in a cloud environment | |
CN107844343B (zh) | 一种复杂服务端应用系统的升级系统及方法 | |
CN103281359A (zh) | 云桌面系统及运行方法 | |
CN102624919A (zh) | 一种面向服务架构的分布式业务集成系统及其应用方法 | |
CN102880546A (zh) | 一种基于xml数据库的软件集成测试方法及系统 | |
CN105306272A (zh) | 信息系统故障场景信息收集方法及系统 | |
CN103986608A (zh) | 一种基于安腾Linux应用容器的J2EE应用虚拟化管理方法 | |
CN105487859A (zh) | 一种基于模板的大数据组件web部署方法 | |
CN108833168B (zh) | 一种服务器集群环境网络系统及稳定性检测方法 | |
CN103077034A (zh) | 混合虚拟化平台java应用迁移方法与系统 | |
CN104572267A (zh) | 一种云应用程序编程接口的容错调用方法 | |
CN112860251A (zh) | 一种网站前端构建的方法与系统 | |
CN109960657A (zh) | 一种测试环境部署方法及相关装置 | |
CN114860694B (zh) | 一种风电场监控系统异步协同数据迁移方法及装置 | |
CN110618884A (zh) | 故障监控方法、虚拟化的网络功能模块管理器和存储介质 | |
CN112911008B (zh) | 云计算容器上线、下线方法及装置 | |
CN110868330A (zh) | 云平台可划分cpu资源的评估方法、装置及评估系统 | |
CN103559134A (zh) | 基准测试组件的配置方法和装置 | |
CN114546644A (zh) | 集群资源调度方法、装置、软件程序、电子设备及存储介质 | |
CN113127884A (zh) | 一种基于虚拟化的漏洞并行验证方法及装置 | |
US20080301488A1 (en) | Intelligent configuration for restarting failed application server instances | |
CN107145570B (zh) | 基于数据库服务架构维护服务器的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171215 Termination date: 20190105 |
|
CF01 | Termination of patent right due to non-payment of annual fee |