【技术实现步骤摘要】
本专利技术涉及云服务
,尤其涉及一种基于服务起源的云服务监控方法和装置。
技术介绍
现有的服务监控,主要关注的是服务本身的运行状态,很少关注服务之间的依赖关系。专利“一种WEB服务监控参数的调整装置和方法-200910094000.1”主要关注特定的web服务监控方法,专利“一种分布式应用系统的服务监控方法及装置201310625603.6”关注应用系统的服务调用次数,发现调用异常。专利“云计算服务监控系统及方法201310625603.6”和“服务监控方法及系统201210009234.3”主要关注服务监控系统的体系结构和通讯,没有关注服务状态和依赖的监控。在服务监控中,以Google,Twitter为代表的互联网公司处于自身需要开发了相应的服务追踪平台。Google在2010年发布了Dapper[BenjaminH.Sigelman,LuizAndreBarroso,MikeBurrows,PatStephenson,ManojPlakal,DonaldBeaver,SaulJaspan,ChandanShanbhagDapper,“aLarge-ScaleDistributedSystemsTracingInfrastructure”,GoogleTechnicalReportdapper-2010-1,April2010],通过修改服务调用底层库结构,实现自动获取服务动态行为,服务之间的依赖关系通过栅格和树形结构进行表达,起源信息存储在bigtable。Dapper本身建立在Google的基础平台上,高性能要 ...
【技术保护点】
一种基于服务起源的云服务监控方法,其特征在于,包括以下步骤:1)捕获服务起源数据;其中服务起源的定义为,描述了服务的动态执行历史和过程,体现了服务运行的状态和动态依赖关系;所述服务运行的状态包括服务运行耗时和服务运行频率;2)应用服务起源数据规范根据服务起源数据生成起源日志文件;3)使用非关系数据库存储起源日志文件; 4)根据服务起源日志记录生成服务起源图;5)若发现某个服务Si异常,定位查找导致服务Si异常的服务。
【技术特征摘要】
1.一种基于服务起源的云服务监控方法,其特征在于,包括以下步骤:
1)捕获服务起源数据;其中服务起源的定义为,描述了服务的动态执行历史和过程,体现了服务运行的状态和动态依赖关系;所述服务运行的状态包括服务运行耗时和服务运行频率;
2)应用服务起源数据规范根据服务起源数据生成起源日志文件;
3)使用非关系数据库存储起源日志文件;
4)根据服务起源日志记录生成服务起源图;
5)若发现某个服务Si异常,定位查找导致服务Si异常的服务。
2.根据权利要求1所述的基于服务起源的云服务监控方法,其特征在于,所述步骤3)中非关系数据库包括文档型数据库和图数据库;
采用图数据库进行存储,该存储模式包括节点及节点属性,关系和关系属性,具体如下:
(3.1)所有的服务作为节点存储在节点集合中;
(3.2)服务之间的依赖作为关系(边)存储;
(3.3)节点属性,主要用于存储服务起源规范中的location信息,以Key-Value的形式在属性集合存储;
(3.4)关系属性存储在属性集合中,主要存储服务起源规范中的(token,elapsedtime,timestamp,input,output,status)信息,以Key-Value的形式在属性集合存储;
(3.5)当服务Si多次调用Sj,调用关系只存储一次,每次调用的信息存储在关系属性集合中。
3.根据权利要求1所述的基于服务起源的云服务监控方法,其特征在于,所述步骤4)中服务起源图的生成过程包括:
4.1)读取捕获的服务起源日志记录;
4.2)从上述描述的服务起源数据结构(9元组),获得InvokingService,ServiceInvoked,在现有的服务列表中查找确定是否已经记录了这两个服务,如果没有,则加入服务节点,并从9元组中读取location信息,存入到服务节点属性;
4.3)根据<InvokingService,ServiceInvoked>表示的两个服务之间的依赖关系,把该关系存储为图数据库的一条边;
4.4)获取某次服务调用的属性信息,包括(token,elapsedtime,timestamp,input,output,status)存储在边的属性对中,该属性对以Key-Value的形式存储;
4.5)通过服务节点和服务依赖,构造服务起源图。
4.根据权利要求1所述的基于服务起源的云服务监控方法,其特征在于,所述步骤5)中定位查找导致服务Si异常的服务;
5.1)在服务起源图中查找该服务是否有依赖服务,如果没有依赖服务,则该故障发生在该服务本身;
5.2)查询该服务所有的直接依赖服务,并搜索时间最新的调用属性记录,提取token值,形成Si调用异常的服务节点集合M;
5.3)采用图的深度遍历算法,以M集合中的服务节点为起点,查询具有同样token值的依赖服务;
5.4)反复迭代,重复步骤5.2)和5.3),直到找到没有服务依赖的服务,终止搜索;
5.5)综合返回的路径,构造给定服务Si的实时调用起源图,在进行故障诊断的时候采用如下方法:
A)在Si的调用图中,查找status为0的调用路径P,则该路径上的服务节点可能是故障点;(Status为1表示服务调用正常,status为0表示服务调用异常)
B)对路径P上的所有节点进行故障排查,如果某个节点服务调用其他服务正常,则该节点正常,并从P中删除;
C)P中的服务节点即可能为故障节点。
5.根据权利要求1所述的基于服务起源的云服务监控方法,其特征在于,还包括步骤6):监测所有服务的执行耗时,统计某段时间范围内耗时较多的服务;
具体步骤为:
6.1)通过聚合运算统计具有直接依赖关系的服务调用平均耗时,即Si调用Sj的平均耗时;
6.2)通过聚合运算统计具有直接依赖关系的服务调用次数,即Si调用Sj的次数;
6.3)基于上...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。