公开/公告号CN104572267A
专利类型发明专利
公开/公告日2015-04-29
原文格式PDF
申请/专利权人 中国石油大学(华东);
申请/专利号CN201510011850.6
申请日2015-01-05
分类号G06F9/46;G06F9/455;G06F11/07;
代理机构
代理人
地址 266000 山东省青岛市经济技术开发区长江西路66号
入库时间 2023-12-18 08:25:28
法律状态公告日
法律状态信息
法律状态
2019-12-20
未缴年费专利权终止 IPC(主分类):G06F9/46 授权公告日:20171215 终止日期:20190105 申请日:20150105
专利权的终止
2017-12-15
授权
授权
2015-05-27
实质审查的生效 IPC(主分类):G06F9/46 申请日:20150105
实质审查的生效
2015-04-29
公开
公开
技术领域
本发明涉及云计算服务领域,特别涉及一种云运维管理方法。
背景技术
在云数据中心上运行的应用系统的版本、部署或配置很少是一成不变的。很多互联网公司每天需要对他们在云数据中心上运行的应用系统进行几十次或更多的升级。而云用户在对云数据中心上运行的应用系统进行运维操作(例如部署、升级、重新配置等)时,不管是通过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次,调用过程中时间统计并计算如下:
通过本实施例中的上述统计数据可以清楚的看出,本发明的方法有效地降低了云应用编程接口的调用时间,提高了云用户在云数据中心上运行的应用系统的性能和可靠性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 智能大容量云应用程序编程接口请求缓存
机译: 智能大容量云应用程序编程接口请求缓存
机译: 智能大容量云应用程序编程接口请求缓存