The invention discloses a construction method, system and storage medium of a service dependency graph, which includes: S1, collecting all TCP data packets for inter-service communication; S2, constructing a set of undetermined service nodes K={Vi} and creating a dependency graph G={eij}; S3, selecting a service node VK from the set K of service nodes and acquiring the TCP data packets associated with it; According to the TCP data packet associated with the service node vk, the dependency relationship between the service node VK and other service nodes is confirmed, and the dependency graph G is revised according to the confirmed dependency relationship; S5, the service node VK is never excluded from the service node set K; S6, the final dependency graph G is regarded as the service dependency graph if it is not. Empty, repeat the execution of S6 until the set K is empty. The invention reduces the overhead of the system and improves the judgment accuracy of the dependency relationship.
【技术实现步骤摘要】
服务依赖关系图的构造方法、系统及存储介质
本专利技术涉及云计算
,尤其涉及一种服务依赖关系图的构造方法、系统及存储介质。
技术介绍
云计算作为一种新型服务提供方式,获得了产业界和学术界的青睐。云计算的关键技术就是虚拟化技术,通过将各类资源进行虚拟化,云计算服务提供商能够很便捷的将各类资源进行定制交付给用户使用,众多应用也逐渐开始迁移到云计算集群内。传统的虚拟化技术包括KVM,Xen等。但是传统的虚拟化技术由于过于笨重,对于应用集群内某个组件进行创建,修改以及迁移操作都十分的复杂,因此,云计算服务提供商需要更加轻量级的虚拟化技术,从而容器技术应运而生。容器技术是一种轻量级的操作系统级的虚拟化技术。相较于传统的虚拟化技术对于硬件层的虚拟化,容器的虚拟化停留在操作系统层,使其无论是创建,修改还是迁移都十分的便捷。容器技术很快的被各类云计算服务提供商使用。由于容器的这些特点,用户在部署其应用的时候往往会将每个组件运行在独立的容器内,以便方便快捷的对应用进行维护,因此,也造成了容器云复杂的内部结构,与此同时,容器的弱隔离性的特点也导致了容器之间相互干扰较为严重。从而一旦某个容器出现了异常,异常将会迅速传播,进而影响到不同的服务组件,为此,我们需要实时获知服务间的依赖关系,以应用该异常情况。对此,AliZand等人在《Rippler:Delayinjectionforservicedependencydetection》文中的第三章提出了一种基于延迟注入的服务依赖关系判断方法,通过向服务注入延迟,统计延迟对服务造成的影响的传播路径,即延迟相关性从而判断服务之间的 ...
【技术保护点】
1.一种服务依赖关系图的构造方法,其特征在于,其包括如下步骤:S1,采集服务间通信的所有TCP数据包;S2,构造未判断服务节点集合K={Vi},且创建依赖关系图G={eij};S3,从所述未判断服务节点集合K中选取服务节点vk,并获取与所述服务节点vk关联的TCP数据包;S4,根据所述服务节点vk关联的TCP数据包确认所述服务节点vk与其他服务节点之间的依赖关系,并根据确认的依赖关系修订所述依赖关系图G;S5,从所述未判断服务节点集合K中剔除所述服务节点vk;S6,判断所述未判断服务节点集合K是否为空,当所述未判断服务节点集合K为空时,则最终的依赖关系图G作为服务依赖关系图;当所述未判断服务节点集合K非空时,重复执行步骤S3‑S6,直至所述未判断服务节点集合K为空。
【技术特征摘要】
1.一种服务依赖关系图的构造方法,其特征在于,其包括如下步骤:S1,采集服务间通信的所有TCP数据包;S2,构造未判断服务节点集合K={Vi},且创建依赖关系图G={eij};S3,从所述未判断服务节点集合K中选取服务节点vk,并获取与所述服务节点vk关联的TCP数据包;S4,根据所述服务节点vk关联的TCP数据包确认所述服务节点vk与其他服务节点之间的依赖关系,并根据确认的依赖关系修订所述依赖关系图G;S5,从所述未判断服务节点集合K中剔除所述服务节点vk;S6,判断所述未判断服务节点集合K是否为空,当所述未判断服务节点集合K为空时,则最终的依赖关系图G作为服务依赖关系图;当所述未判断服务节点集合K非空时,重复执行步骤S3-S6,直至所述未判断服务节点集合K为空。2.根据权利要求1所述的服务依赖关系图的构造方法,其特征在于,步骤S4,包括:S40,构造未处理TCP数据包集合M={mn},所述未处理TCP数据包集合M包含所述服务节点vk关联的所有TCP数据包;S41,从所述未处理TCP数据包集合M中选取TCP数据包MN,并根据所述TCP数据包MN解析出非所述服务节点vkIP地址的目标IP地址,所述目标IP地址对应服务节点vl;S42,获取所述服务节点vk与所述服务节点vl之间的通信TCP数据包,并根据所述通信TCP数据包确认所述服务节点vk与所述服务节点vl之间的依赖关系,以及根据该确认的依赖关系修订所述依赖关系图G;S43,从所述未处理TCP数据包集合M中剔除所述TCP数据包MN和所述通信TCP数据包;S44,判断所述未处理TCP数据包集合M是否为空,当所述未处理TCP数据包集合M为空时,则执行步骤S5,当所述未处理TCP数据包集合M非空时,重复执行步骤S41-S44,直至所述未处理TCP数据包集合M为空。3.根据权利要求2所述的服务依赖关系图的构造方法,其特征在于,步骤S42,包括:S420,获取所述服务节点vk与所述服务节点vl之间的通信TCP数据包,并剔除所述通信TCP数据包中数据部分为0的TCP数据包;S421,剔除处理后的TCP数据包按照时间信息从早到晚进行排序,并获取TCP数据包的包头部分,所述包头部分设有标志位;S422,提取所述标志位为S、SA或FA的TCP数据包,并按照时间信息从早到晚进行排序;S423,当首个标志位为S的TCP数据包的源IP地址为所述服务节点vk的IP地址,目的IP地址为所述服务节点vlIP地址,且随后出现的首个标志位为SA的TCP数据包的目的IP地址为所述服务节点vk的IP地址,源IP地址为所述服务节点vlIP地址,且随后出现的首个标志位为FA的TCP数据包的源IP地址为所述服务节点vk的IP地址,目的IP地址为所述服务节点vlIP地址,且随后出现的首个标志位为FA的TCP数据包的目的IP地址为所述服务节点vk的IP地址,源IP地址为所述服务节点vlIP地址,则确认所述服务节点vk依赖所述服务节点vl;S424;将所述依赖关系图G中的ekl的值由0修订为1。4.根据权利要求1所述的服务依赖关系图的构造方法,其特征在于,步骤S1,包括:采集服务间所有的通信数据包,并从所述所有的通信数据包中提取所有TCP数据包。5.一种服务依赖关系图的构造系统,其特征在于,其包括:TCP数据包采集模块,用于采集服务间通信的所有TCP数据包;初始创建模块,用于构造未判断服务节点集合K={Vi},且创建依赖关系图G={eij};服务节点选取处理模块,用于从所述未判断服务节点集合K中选取服务节点vk,并获取与所述服务节点vk关联的TCP数据包;依赖关系确认及依赖图修订模块,用于根据所述服务节点vk关联的...
【专利技术属性】
技术研发人员:叶可江,卢澄志,须成忠,
申请(专利权)人:深圳先进技术研究院,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。