一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

计算机的服务关系的确定方法、装置以及存储介质与流程

2022-04-09 10:02:26 来源:中国专利 TAG:


1.本技术涉及互联网领域,具体而言,涉及一种计算机的服务关系的确定方法、装置以及存储介质。


背景技术:

2.在大型项目中,服务架构会包含数十乃至上百个服务节点。往往一次请求会设计到多个微服务,想要排查一次请求链路中经过了哪些服务节点,每个服务节点的执行情况如何,就成为了亟待解决的问题。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、web服务器、数据库服务器以及其他基于服务器的应用程序。服务与服务建可以相互依赖的,当用户访问网站时,访问的是web服务服务器,而网站的数据可能是通过数据库服务器提供的;从用户角度来说,服务是分层的,用户直接面对的是web服务,而数据库服务并没有直接与用户进行交互。apm系统可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题,其中通过关系图的方式展示服务依赖关系、服务质量等信息是一种重要的手段。
3.cytoscape.js、d3.js等javascript框架,已经被广泛应用于web的应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅、更具交互性的浏览效果,尤其是可以通过调用框架提供的接口可以自由绘制具有交互性的cavans或svg类型的关系图。通过使用cytoscape.js、d3.js等javascript绘图框架库,编写相关的javascript插件,将上述关于计算机服务之间的关系以关系图的方式绘制出来。但是,上述框架的默认内置的绘图方案,只能绘制特定的关系图,例如捆图、树形图、力导向图等,均不能直观地描绘出具有依赖和层次特点的计算机服务的关系图。
4.针对相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供一种计算机的服务关系的确定方法、装置以及存储介质,以解决相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题。
6.根据本技术的一个方面,提供了一种计算机的服务关系的确定方法。该方法包括:获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖;根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系;根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据;根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系。
7.可选地,根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组包
括:获取任意一个未携带第一标识的服务,得到第一目标服务,第一标识用于指示在分组过程中未被访问;获取与第一目标服务存在依赖关系的服务,得到第二服务,并根据第一目标服务和第二服务构成初始服务群组;判断第二服务中是否存在未携带第一标识的第二服务,在存在的情况下,获取未携带第一标识的第二服务,得到第二目标服务;判断是否存在与第二目标服务有依赖关系、且未携带第一标识的服务,在存在的情况下,获取与第二目标服务有依赖关系、且未携带第一标识的服务,得到第三服务,根据第三服务更新初始服务群组,直至初始服务群组中不存在未携带第一标识的服务,并将更新后的初始服务群组确定为一个服务群组。
8.可选地,在根据每个子图信息中服务的入度值和出度值确定服务的层级信息之前,方法还包括:在每个服务群组中确定一个入度值为零的服务,得到目标服务,并获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一,得到入度值为零的服务;将入度值为零的服务确定为更新后的目标服务,并执行获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一的步骤,直至服务群组不存在入度值为零的服务;判断服务群组中是否还存在服务,在服务群组中不存在服务的情况下,确定服务群组对应的子图为有向无环图,在服务群组中存在服务的情况下,确定服务群组对应的子图为有向有环图。
9.可选地,在服务群组对应的子图为有向无环图的情况下,根据每个子图信息中服务的入度值和出度值确定服务的层级信息包括:获取服务群组中入度值为零的服务,并确定入度值为零的服务的层级为一级;获取与一级服务具有依赖关系的服务,并将与一级服务具有依赖关系的服务的层级确定为二级,获取与二级服务具有依赖关系的服务,并将二级服务具有依赖关系的服务的层级确定为三级,直至不存在下一级服务。
10.可选地,在服务群组对应的子图为有向有环图的情况下,根据每个子图信息中服务的入度值和出度值确定服务的层级信息包括:获取子图信息中每个服务的出度和入度的差值;根据出度和入度差值从大到小的顺序对服务群组中的服务进行排序,得到排序结果,并根据排序结果确定每个服务的层级信息。
11.可选地,根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系包括:获取计算机的更新后的服务配置数据中包含的所有子图信息;根据每个子图信息生成对应服务群组的关系图,得到多个关系图,并显示多个关系图。
12.可选地,根据每个子图信息生成对应服务群组的关系图,得到多个关系图包括:获取子图信息中包含的服务、服务之间的连接关系以及服务的层级信息;确定不同层级的服务之间的第一展示宽度,并确定相同层级的各个服务之间的第二展示宽度;根据服务之间的连接关系、第一展示宽度以及第二展示宽度生成子图信息对应的服务群组的关系图。
13.根据本技术的另一方面,提供了一种计算机的服务关系的确定装置。该装置包括:获取单元,用于获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖;分组单元,用于根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系;第一确定单元,用于根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机
的更新后的服务配置数据;展示单元,用于根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系。
14.根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质用于存储程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种计算机的服务关系的确定方法。
15.根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种计算机的服务关系的确定方法。
16.通过本技术,采用以下步骤:获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖;根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系;根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据;根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系,解决了相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题。通过确定每个服务所在的子图信息、层级信息和服务间的依赖关系,进行子图的绘制和展示,并通过丰富服务的配置信息对服务对应的计算机进行确定,进而达到了准确清晰的确定服务架构中的计算机服务之间的关系的效果。
附图说明
17.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例提供的计算机的服务关系的确定方法的流程图;
19.图2是根据本技术实施例提供的一种可选的计算机的服务的依赖图;
20.图3是根据本技术实施例提供的一种可选的计算机的服务的依赖图;
21.图4是根据本技术实施例提供的一种可选的计算机的服务的依赖图;
22.图5是根据本技术实施例提供的一种可选的计算机的服务的关系图;
23.图6是根据本技术实施例提供的计算机的服务关系的确定装置的示意图。
具体实施方式
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.根据本技术的实施例,提供了一种计算机的服务关系的确定方法。
28.图1是根据本技术实施例提供的计算机的服务关系的确定方法的流程图。如图1所示,该方法包括以下步骤:
29.步骤s102,获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖。
30.具体的,如表1所示,计算机包含的服务中可以包含服务的配置数据,包括唯一标识服务id、服务类型(数据库服务、web服务等)、所属计算机唯一标识、服务延时时间、服务抖动时间、服务丢包、出度值、入度值、出入度差值等信息。
31.表1
32.名称含义id唯一标识服务idtype服务类型(数据库服务、web服务等)vmid所属计算机唯一标识delay服务延时时间jitter服务抖动时间lossrate服务丢包in入度值out出度值out_in出入度差值
……
33.如表2所示,计算机的信息可以包括计算机的唯一标识、计算机名称等信息,其中,由于计算机服务以“ip 端口”的方式的进行区分,所以服务id可以为服务唯一标识ip 端口。
34.表2
35.对象属性名称含义vmid唯一标识服务idname计算机名称
……
36.如表3所示,服务之间依赖关系信息可以包含依赖的服务id和被依赖的服务id,其中,依赖的服务可以定义为依赖中的source,被依赖的服务可以定义为依赖中的target,在进行服务调用的时候,依赖的服务需要向被依赖的服务获取信息,在被依赖的服务出现异常的情况下,依赖的服务也会产生异常。
37.表3
38.对象属性名称含义source依赖的服务idtarget被依赖的服务id
39.步骤s104,根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系。
40.具体的,由于每个服务都有唯一的服务id,并且每个依赖关系可以表明两个服务之间的联系,所以可以根据服务id和依赖关系可以进行服务的分组,将具有依赖关系的两个服务分为一组,并根据依赖的传递将多个服务分为一组,并将该组中的全部服务设置为一个子图中,并进行子图号的设置,使得每个服务的配置数据中添加了对应的子图信息,从而使得可以通过服务的配置数据进行对应的子图信息的获取,如表4所示,例如,a服务与b服务有依赖关系,b服务与c服务有依赖关系,此时,根据依赖关系,可以将a服务、b服务、c服务分为一组,并可以将子图号chainindex设置为子图一。
41.表4
42.名称含义id唯一标识服务idtype服务类型(数据库服务、web服务等)vmid所属计算机唯一标识delay服务延时时间jitter服务抖动时间lossrate服务丢包in入度值out出度值out_in出入度差值chainindex子图号
……
43.步骤s106,根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据。
44.具体的,在得到每个子图对应的服务后,可以根据每个服务的入度值和出度值进行层级确定,例如,a服务依赖于b服务,此时,在关系图中,可以为a服务指向b服务,则a服务的入度为0,b服务的入度为1,可以将a服务的层级设置为1级,b服务的层级设置为2级,由于b服务依赖于c服务,并且b服务的层级为2级,所以c服务的层级可以为3级。
45.需要说明的是,在确定了每个子图中每个服务的层级信息后,可以将每个服务的层级信息添加至每个服务的配置数据中,得到新的配置数据,如表5所示。
46.表5
47.名称含义id唯一标识服务idtype服务类型(数据库服务、web服务等)
vmid所属计算机唯一标识delay服务延时时间jitter服务抖动时间lossrate服务丢包in入度值out出度值out_in出入度差值chainindex子图号level层级
……
48.步骤s108,根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系。
49.具体的,在得到更新的服务配置数据后,可以根据服务id、服务所在的子图号、服务的层级和服务间的依赖关系进行子图样式的绘制,并在某个服务发生异常的情况下清晰的判断异常服务对应的计算机信息和受到异常服务影响的服务,从而对异常进行处理,避免影响请求的正常运行。
50.本技术实施例提供的计算机的服务关系的确定方法,通过获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖;根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系;根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据;根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系,解决了相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题。通过确定每个服务所在的子图信息、层级信息和服务间的依赖关系,进行子图的绘制和展示,并通过丰富服务的配置信息对服务对应的计算机进行确定,进而达到了准确清晰的确定服务架构中的计算机服务之间的关系的效果。
51.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组包括:获取任意一个未携带第一标识的服务,得到第一目标服务,第一标识用于指示在分组过程中未被访问;获取与第一目标服务存在依赖关系的服务,得到第二服务,并根据第一目标服务和第二服务构成初始服务群组;判断第二服务中是否存在未携带第一标识的第二服务,在存在的情况下,获取未携带第一标识的第二服务,得到第二目标服务;判断是否存在与第二目标服务有依赖关系、且未携带第一标识的服务,在存在的情况下,获取与第二目标服务有依赖关系、且未携带第一标识的服务,得到第三服务,根据第三服务更新初始服务群组,直至初始服务群组中不存在未携带第一标识的服务,并将更新后的初始服务群组确定为一个服务群组。
52.具体的,子图的分组可以通过以下步骤进行:
53.步骤一,将当前即将构建的子图的子图号chainindex设置为0,并将所有服务添加至集合o={n1,n2,n3,...,nn},(n>1)中,同时将所有服务之间的依赖关系添加至集合p=
{l1,l2,l3,...,ln},(n>1)中,此时,集合o中的全部服务均未携带第一标识。
54.步骤二,新建空栈a,并从集合o中任意选择一个未被访问的服务,设置为第一目标服务,并将第一目标服务设为n;将子图号chainindex设置为第一目标服务的子图号,并标记第一目标服务为已被访问,同时将第一目标服务置入a的栈顶。
55.步骤三,获取与n有依赖关系并且没有子图号多个服务,将多个服务设置为多个第二服务,并将多个第二服务置入a栈中,同时将子图号chainindex设置为多个第二服务的子图号,并将此时置于栈顶的第二服务变更为n。
56.步骤四,重复执行步骤三,并在无法获取到与n有依赖关系并且没有子图号的服务的情况下将n退栈,并将此时置于栈顶的服务变更为n,并重复执行步骤三,直至a栈为空栈。
57.步骤五,在a栈为空栈的情况下,删除a栈并将子图号相同的服务分为一组,同时将子图号chainindex的值加1,重复步骤二,直至集合o中的全部服务均完成子图号的设置,此时,可通过子图号将子图进行分组,并通过每组中的服务进行子图的生成。
58.例如,图2是根据本技术实施例提供的一种可选的计算机的服务的依赖图,如图2所示,a依赖于b,b依赖与c、d,e依赖于f,首先将a-f服务添加至集合o中,并将a服务置于a栈的栈顶,并将a服务的子图号设置为1,此时,通过依赖关系将b服务添加进a栈并置于栈顶,由于b服务没有子图号,所以将b服务的子图号设置为1,并根据依赖关系将c服务和d服务添加至a栈中,并将c服务和d服务的子图号设置为1,此时,d服务为栈顶,由于没有与d服务有依赖关系并且没有子图号的服务,所以将d服务退栈,此时c服务为栈顶,由于没有与c服务有依赖关系并且没有子图号的服务,所以将c服务退栈,此时b服务为栈顶,由于没有与b服务有依赖关系并且没有子图号的服务,所以将b服务退栈,此时a服务为栈顶,由于没有与a服务有依赖关系并且没有子图号的服务,所以将a服务退栈,此时栈为空栈,则将a删除,此时,a-d服务的子图号均为1。此时,从集合o中再次获取没有子图号的服务,得到f服务并将f服务的子图号设置为2,再次生成a栈并将f服务入栈为栈顶,此时,将与f服务有依赖关系的d服务添加仅a栈,并重复上述流程,直至d服务和f服务均已添加子图号,此时,集合o中全部服务均有子图号,则完成子图号的设置,得到两个子图。
59.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,在根据每个子图信息中服务的入度值和出度值确定服务的层级信息之前,方法还包括:在每个服务群组中确定一个入度值为零的服务,得到目标服务,并获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一,得到入度值为零的服务;将入度值为零的服务确定为更新后的目标服务,并执行获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一的步骤,直至服务群组不存在入度值为零的服务;判断服务群组中是否还存在服务,在服务群组中不存在服务的情况下,确定服务群组对应的子图为有向无环图,在服务群组中存在服务的情况下,确定服务群组对应的子图为有向有环图。
60.具体的,在将服务按照子图号分组后,需要确定每个服务群组中的子图为有向无环图或有向有环图,可以获取某一服务群组中所有服务,将所有服务组成集合o,并获取集合o中的一个入度值为0的服务,得到目标服务;遍历目标服务的所有依赖关系,并将与目标服务具有依赖关系的服务的入度值减1,同时将目标服务从集合o中删除。此时,重新获取集合o中的一个入度值为0的服务,并重复执行上述操作,直至集合o中没有入度值为0的服务。
61.需要说明的是,在集合o中没有入度值为0的服务的情况下,确认集合o中是否还有服务,在集合o中不存在服务的情况下,确定当前服务群组对应的子图为有向无环图,在集合o中存在服务的情况下,确定当前服务群组对应的子图为有向有环图。
62.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,在服务群组对应的子图为有向无环图的情况下,根据每个子图信息中服务的入度值和出度值确定服务的层级信息包括:获取服务群组中入度值为零的服务,并确定入度值为零的服务的层级为一级;获取与一级服务具有依赖关系的服务,并将与一级服务具有依赖关系的服务的层级确定为二级,获取与二级服务具有依赖关系的服务,并将二级服务具有依赖关系的服务的层级确定为三级,直至不存在下一级服务。
63.具体的,在确定服务群组对应的子图为有向无环图的情况下,获取该服务群组中的一个未确定层级并且入度值为0的服务,得到目标服务,并将目标服务依赖的服务的层级设置为1,并将层级为1的服务依赖的服务的层级设置为2,并以此类推进行服务的层级设定,直到该服务群组中的全部服务均完成层级设定。
64.需要说明的是,当在给某个服务在设置层级的时候,该服务已经被设置过层级,则将新的层级与原层级进行对比,并将较高的层级设置为该服务的层级,例如,图3是根据本技术实施例提供的一种可选的计算机的服务的依赖图,如图3所示,a服务的层级已通过与b服务的依赖关系被设置为2,此时,a服务的层级再次通过与c服务的依赖关系被设置为3,则由于3大于2,所以将a服务的层级设置为3。
65.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,在服务群组对应的子图为有向有环图的情况下,根据每个子图信息中服务的入度值和出度值确定服务的层级信息包括:获取子图信息中每个服务的出度和入度的差值;根据出度和入度差值从大到小的顺序对服务群组中的服务进行排序,得到排序结果,并根据排序结果确定每个服务的层级信息。
66.具体的,在确定服务群组对应的子图为有向有环图的情况下,获取该服务群组中的每个服务的入度值和出度值的差值(出度值-入度值),并根据差值进行排序,将差值最大的服务设置为第一层,并根据差值的递减依次增加设置层级,从而生成当前服务群组对应的子图。
67.例如,图4是根据本技术实施例提供的一种可选的计算机的服务的依赖图,如图4所示,b服务的差值为1,a服务的差值为0,c服务的差值为-1,则将b服务设置为第一层,a服务设置为第二层,c服务设置为第三层。
68.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系包括:获取计算机的更新后的服务配置数据中包含的所有子图信息;根据每个子图信息生成对应服务群组的关系图,得到多个关系图,并显示多个关系图。
69.具体的,由于同一台计算机可以有不同的服务属于不同的子图和层次,所以需要遍历服务,根据服务的配置数据中记录的vmid找到每个服务所属的计算机,并新建以nvmid为索引的计算机信息,从而得到每个服务与计算机的对应关系,并将服务的子图号添加至计算机信息中,得到更新的计算机信息,如表6所示:
70.表6
71.对象属性名称含义nvmid新的所属计算机唯一标识vmid旧的所属计算机唯一标识name计算机名称chainindex计算机所属子图
72.然后更新服务的配置数据,如表7所示:
73.表7
74.名称含义id唯一标识服务idtype服务类型(数据库服务、web服务等)vmid旧的所属计算机唯一标识delay服务延时时间jitter服务抖动时间lossrate服务丢包nvmid新的所属计算机唯一标识in入度out出度out_in出入度之差chainindex子图号level层级
……
75.通过表6和表7中的nvmid可以将计算机和服务进行关联,从而在绘制关系图的时候将每个服务和每个计算机进行对应。
76.可选地,在本技术实施例提供的计算机的服务关系的确定方法中,根据每个子图信息生成对应服务群组的关系图,得到多个关系图包括:获取子图信息中包含的服务、服务之间的连接关系以及服务的层级信息;确定不同层级的服务之间的第一展示宽度,并确定相同层级的各个服务之间的第二展示宽度;根据服务之间的连接关系、第一展示宽度以及第二展示宽度生成子图信息对应的服务群组的关系图。
77.具体的,cytoscap.js框架提供了根据以画布左上角为原点的坐标位置确定图中图形位置的接口,通过该接口也可以将图形至于坐标处。web应用引入cytoscap.js框架,可以使用perset布局方式,构建javascript方法,进行关系图的绘制。
78.图5是根据本技术实施例提供的一种可选的计算机的服务的关系图,如图5所示,首先,将更新服务的配置数据、更新的计算机信息、服务间的依赖关系进行获取,并进行原点和固定长度的设定,并将第一层的服务进行放置,每个服务之间的垂直间隔可以为固定长度,在水平方向进行下一层级的服务的放置,并在不同的层级的服务之间设置水平方向的固定间隔,同时,根据每个服务和每个计算机的关系进行对应,从而完成每个子图的绘制,并且在服务出现故障的时候进行显示,并将受到影响的服务进行标记显示。
79.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不
同于此处的顺序执行所示出或描述的步骤。
80.本技术实施例还提供了一种计算机的服务关系的确定装置,需要说明的是,本技术实施例的计算机的服务关系的确定装置可以用于执行本技术实施例所提供的用于计算机的服务关系的确定方法。以下对本技术实施例提供的计算机的服务关系的确定装置进行介绍。
81.图6是根据本技术实施例提供的计算机的服务关系的确定装置的示意图。如图6所示,该装置包括:获取单元61,分组单元62,第一确定单元63,展示单元64。
82.获取单元61,用于获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖。
83.分组单元62,用于根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系。
84.第一确定单元63,用于根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据。
85.展示单元64,用于根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系。
86.本技术实施例提供的计算机的服务关系的确定装置,通过获取单元61,用于获取计算机的服务配置数据,其中,服务配置数据包括:计算机的信息、计算机包含的服务以及服务之间依赖关系,其中,依赖关系包含依赖和被依赖。分组单元62,用于根据依赖关系对每个计算机包含的服务进行分组,得到多个服务群组,生成每个服务群组对应的子图信息,并将计算机包含的子图信息添加至计算机的服务配置数据中,其中,不同服务群组之间的服务不存在依赖关系。第一确定单元63,用于根据每个子图信息中服务的入度值和出度值确定服务的层级信息,并将服务的层级信息添加至子图信息中,得到计算机的更新后的服务配置数据。展示单元64,用于根据计算机的更新后的服务配置数据展示计算机包含的服务之间的关系。解决了相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题。通过确定每个服务所在的子图信息、层级信息和服务间的依赖关系,进行子图的绘制和展示,并通过丰富服务的配置信息对服务对应的计算机进行确定,进而达到了准确清晰的确定服务架构中的计算机服务之间的关系的效果。
87.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,分组单元62包括:第一获取模块,用于获取任意一个未携带第一标识的服务,得到第一目标服务,第一标识用于指示在分组过程中未被访问;第二获取模块,用于获取与第一目标服务存在依赖关系的服务,得到第二服务,并根据第一目标服务和第二服务构成初始服务群组;判断模块,用于判断第二服务中是否存在未携带第一标识的第二服务,在存在的情况下,获取未携带第一标识的第二服务,得到第二目标服务;第二判断模块,用于判断是否存在与第二目标服务有依赖关系、且未携带第一标识的服务,在存在的情况下,获取与第二目标服务有依赖关系、且未携带第一标识的服务,得到第三服务,根据第三服务更新初始服务群组,直至初始服务群组中不存在未携带第一标识的服务,并将更新后的初始服务群组确定为一个服务群组。
88.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,该装置还包括:
第二确定单元,用于在每个服务群组中确定一个入度值为零的服务,得到目标服务,并获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一,得到入度值为零的服务;第三确定单元,用于将入度值为零的服务确定为更新后的目标服务,并执行获取与目标服务具有依赖关系的服务,将与目标服务具有依赖关系的服务的入度值减一的步骤,直至服务群组不存在入度值为零的服务;第四确定单元,用于判断服务群组中是否还存在服务,在服务群组中不存在服务的情况下,确定服务群组对应的子图为有向无环图,在服务群组中存在服务的情况下,确定服务群组对应的子图为有向有环图。
89.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,第一确定单元63包括:第三获取模块,用于获取服务群组中入度值为零的服务,并确定入度值为零的服务的层级为一级;第四获取模块,用于获取与一级服务具有依赖关系的服务,并将与一级服务具有依赖关系的服务的层级确定为二级,获取与二级服务具有依赖关系的服务,并将二级服务具有依赖关系的服务的层级确定为三级,直至不存在下一级服务。
90.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,第一确定单元63包括:第五获取模块,用于获取子图信息中每个服务的出度和入度的差值;排序模块,用于根据出度和入度差值从大到小的顺序对服务群组中的服务进行排序,得到排序结果,并根据排序结果确定每个服务的层级信息。
91.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,展示单元64包括:第六获取模块,用于获取计算机的更新后的服务配置数据中包含的所有子图信息;生成模块,用于根据每个子图信息生成对应服务群组的关系图,得到多个关系图,并显示多个关系图。
92.可选地,在本技术实施例提供的计算机的服务关系的确定装置中,生成模块包括:获取子模块,用于获取子图信息中包含的服务、服务之间的连接关系以及服务的层级信息;确定子模块,用于确定不同层级的服务之间的第一展示宽度,并确定相同层级的各个服务之间的第二展示宽度;生成子模块,用于根据服务之间的连接关系、第一展示宽度以及第二展示宽度生成子图信息对应的服务群组的关系图。
93.上述计算机的服务关系的确定装置包括处理器和存储器,上述获取单元61,分组单元62,第一确定单元63,展示单元64等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
94.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中不能准确清晰的确定服务架构中的计算机服务之间的关系的问题。
95.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
96.本技术实施例还提供了一种非易失性存储介质,非易失性存储介质用于存储程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种计算机的服务关系的确定方法。
97.本技术实施例还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种计
算机的服务关系的确定方法。本文中的电子装置可以是服务器、pc、pad、手机等。
98.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
99.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
100.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
101.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
102.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
103.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
104.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
105.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
106.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,
本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献