信息生成方法和装置与流程

文档序号:18475205发布日期:2019-08-20 20:56阅读:114来源:国知局
信息生成方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及信息生成方法和装置。



背景技术:

随着企业的不断发展壮大,企业信息系统越来越复杂,一体化的系统架构很难满足性能需求和易维护的需求,这种架构逐渐被面向服务的架构替代,原来一个系统被垂直拆分成多个系统,系统之间通过服务调用来协作完成整体业务。但随着系统被拆分的粒度越来越细,系统之间的关系纵横交织,错综复杂,往往出现交叉依赖(调用),对可维护性造成挑战,于是服务治理的必要性非常大。然而服务治理离不开对服务之间依赖关系的梳理。

最常用的技术方案是人工梳理法,即由开发人员上报所负责的系统的依赖的服务,由专门人员统计汇总后,人工描绘出产品依赖关系图。稍先进些的做法是汇总到表或者数据库中,通过编程找出各系统的依赖关系,通过程序来绘制产品关系图。部分技术实力比较强的企业,会选择用源代码分析方法,通过对源代码的分析找出对应的调用关系,然后通过程序来绘制产品依赖关系图。



技术实现要素:

本申请实施例提出了信息生成方法和装置。

第一方面,本申请实施例提供了一种信息生成方法,包括:获取至少一条服务调用信息,其中,服务调用信息包括调用服务的系统的名称、提供服务的系统的名称;对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值;根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表,其中,调用关系表用于表征调用服务的系统与提供服务的系统以及各系统的权值之间的对应关系。

在一些实施例中,该方法还包括:对于至少一条服务调用信息涉及的每个系统,若该系统的调用系统集合和被调用系统集合存在相同的系统,则将该系统与确定出的相同的系统确定为互相调用的系统组,若互相调用的系统组中的系统的权值不同,则从调用关系表中将调用服务的系统的权值比提供服务的系统的权值高的调用关系删除。

在一些实施例中,该方法还包括:基于调用关系表,生成有向图,其中,有向图中的边用于表征调用关系,边的始点用于表征调用服务的系统,终点用于表征提供服务的系统。

在一些实施例中,获取至少一条服务调用信息,包括:获取至少一个日志文件,其中,日志文件按照预定格式记录了服务调用信息;从至少一个日志文件中按照预定格式解析出至少一条服务调用信息。

在一些实施例中,服务调用信息还包括:服务的名称和调用时间;以及该方法还包括:对于至少一条服务调用信息中每条服务调用信息所指示的服务,根据该服务调用信息中调用服务的系统的名称、提供服务的系统的名称、服务的名称和调用时间,确定调用该服务的调用频率和调用量峰值。

在一些实施例中,有向图中每个顶点与层级对应;该方法还包括:将有向图中未提供服务的系统对应的至少一个顶点确定为初始顶点,以及将初始顶点的层级设置为预定值;对于有向图中与初始顶点相连接的每个顶点,若该顶点作为有向边的终点时所对应的起点只有初始顶点,则将该顶点确定为次级顶点,以及将次级顶点的层级设置为预定值与预定步长之和;对于有向图中除初始顶点和各次级顶点外的每个顶点,采用广度遍历法,确定该顶点作为有向边的终点时所对应的至少一个起点和各起点的层级,以及将各起点的层级中的最大值递增预定步长设置为该顶点的层级。

在一些实施例中,该方法还包括:按照层级由大到小的顺序输出预定数量的顶点对应的系统的名称。

第二方面,本申请实施例提供了一种信息生成装置,包括:获取单元,配置用于获取至少一条服务调用信息,其中,服务调用信息包括调用服务的系统的名称、提供服务的系统的名称;确定单元,配置用于对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值;生成单元,配置用于根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表,其中,调用关系表用于表征调用服务的系统与提供服务的系统以及各系统的权值之间的对应关系。

在一些实施例中,该装置还包括修正单元,配置用于:对于至少一条服务调用信息涉及的每个系统,若该系统的调用系统集合和被调用系统集合存在相同的系统,则将该系统与确定出的相同的系统确定为互相调用的系统组,若互相调用的系统组中的系统的权值不同,则从调用关系表中将调用服务的系统的权值比提供服务的系统的权值高的调用关系删除。

在一些实施例中,生成单元进一步配置用于:基于调用关系表,生成有向图,其中,有向图中的边用于表征调用关系,边的始点用于表征调用服务的系统,终点用于表征提供服务的系统。

在一些实施例中,获取单元进一步配置用于:获取至少一个日志文件,其中,日志文件按照预定格式记录了服务调用信息;从至少一个日志文件中按照预定格式解析出至少一条服务调用信息。

在一些实施例中,服务调用信息还包括:服务的名称和调用时间;以及该装置还包括统计单元,配置用于:对于至少一条服务调用信息中每条服务调用信息所指示的服务,根据该服务调用信息中调用服务的系统的名称、提供服务的系统的名称、服务的名称和调用时间,确定调用该服务的调用频率和调用量峰值。

在一些实施例中,有向图中每个顶点与层级对应;该装置还包括层级确定单元,配置用于:将有向图中未提供服务的系统对应的至少一个顶点确定为初始顶点,以及将初始顶点的层级设置为预定值;对于有向图中与初始顶点相连接的每个顶点,若该顶点作为有向边的终点时所对应的起点只有初始顶点,则将该顶点确定为次级顶点,以及将次级顶点的层级设置为预定值与预定步长之和;对于有向图中除初始顶点和各次级顶点外的每个顶点,采用广度遍历法,确定该顶点作为有向边的终点时所对应的至少一个起点和各起点的层级,以及将各起点的层级中的最大值递增预定步长设置为该顶点的层级。

在一些实施例中,该装置还包括输出单元,配置用于:按照层级由大到小的顺序输出预定数量的顶点对应的系统的名称。

第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。

第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。

本申请实施例提供的信息生成方法和装置,通过从至少一条服务调用信息确定出每个系统的调用系统集合和被调用系统集合,生成各系统之间的调用关系表,从而提高梳理各系统之间的调用关系时的速度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的信息生成方法的一个实施例的流程图;

图3是根据本申请的信息生成方法的一个应用场景的示意图;

图4是根据本申请的信息生成方法的又一个实施例的流程图;

图5是根据本申请的信息生成方法的又一个实施例生成的有向图;

图6是根据本申请的信息生成装置的一个实施例的结构示意图;

图7是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的信息生成方法或信息生成装置的实施例的示例性系统架构100。

如图1所示,系统架构100可以包括服务提供端101、统一服务中心102、日志分析器103、日志收集器104、调用关系接收器105、调用关系分析器106。服务提供端101可以是硬件服务器也可以是软件系统。服务提供端101用于提供服务供其它系统调用。统一服务中心102可以是硬件服务器也可以是软件系统,统一服务中心102用于存储企业信息系统之间的调用数据。日志分析器103可以是硬件服务器也可以是软件系统,日志分析器103用于从日志文件中提取出与系统调用信息相关的日志信息。日志收集器104可以是硬件服务器也可以是软件系统,日志收集器104用于收集日志文件供日志分析器103使用。调用关系接收器105可以是硬件服务器也可以是软件系统,调用关系接收器105用于接收调用信息。调用关系分析器106可以是硬件服务器也可以是软件系统,调用关系分析器106用于从调用信息中分析出调用关系。网络用以在服务提供端101、统一服务中心102、日志分析器103、日志收集器104、调用关系接收器105、调用关系分析器106之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

对于软件基础设施稍强,有统一服务框架的企业,企业所有信息系统都注册到统一服务中心102中,无论是服务的提供方还是调用方。所有服务调用都通过这个统一服务中心102。

对于软件基础设施稍差,没有统一服务框架的企业。既然没有统一的服务框架,也就没有中心化的服务调用记录。有两个方案可以用来收集调用关系。第一种方法是在各个服务提供端101种植调用关系收集器(注意这里选择服务提供端的理由是服务提供端接到请求才代表是有效的调用),以异步方式发送到调用关系接收器105,最后通过调用关系分析器106得到调用关系。第二种方法是要求服务提供端101按照一定格式记录日志发送到日志收集器104,将日志收集器104采集的日志发送到日志分析器103分析后,再发送到调用关系接收器105,最后通过调用关系分析器106得到调用关系。

调用关系分析器106可以是提供各种服务的服务器或软件系统,例如调用关系接收器105接收到的调用信息进行分析的后台分析服务器,后台分析服务器可以对接收到的调用信息等数据进行分析等处理,并将处理结果(例如调用关系表)存储。

需要说明的是,本申请实施例所提供的信息生成方法一般由调用关系分析器106执行,相应地,信息生成装置一般设置于调用关系分析器106中。

应该理解,图1中的服务提供端、统一服务中心、日志分析器、日志收集器、调用关系接收器、调用关系分析器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服务提供端、统一服务中心、日志分析器,日志收集器、调用关系接收器、调用关系分析器。在由第三方服务器提供服务调用信息的情况下,也可以不需要服务提供端、统一服务中心、日志分析器,日志收集器、调用关系接收器。

继续参考图2,示出了根据本申请的信息生成方法的一个实施例的流程200。该信息生成方法,包括以下步骤:

步骤201,获取至少一条服务调用信息。

在本实施例中,信息生成方法运行于其上的电子设备(例如图1所示的调用关系分析器)可以通过有线连接方式或者无线连接方式从接收调用关系的服务器(例如图1所示的调用关系接收器)接收服务调用信息。其中,服务调用信息包括调用服务的系统的名称、提供服务的系统的名称。这里所说的系统可以是硬件系统也可以是软件系统。软件系统是指由系统软件、支撑软件和应用软件组成的计算机软件系统,它是计算机系统中由软件组成的部分。软件系统可包括数据库系统、操作系统、文件管理系统等用于实现计算机功能的各种软件。硬件系统是指构成计算机的物理设备,即由机械、光、电、磁器件构成的具有计算、控制、存储、输入和输出功能的实体部件。调用是将程序的执行交给其他的代码段,通常是一个子例程,同时保存必要的信息,从而使被调用段执行完毕后返回到调用点继续执行。这里的被调用段所属的系统为提供服务的系统。调用点所属的系统为调用服务的系统。在代码中若a程序需要很长一段代码,则可以建立另外一个文件b存放这段代码,当a需要时候直接调用b。则a为调用服务的系统,b为提供服务的系统。提供服务的系统也可以看作服务端系统,调用服务的系统可以看作是客户端系统。

在本实施例的一些可选的实现方式中,获取至少一条服务调用信息,包括:获取至少一个日志文件,其中,日志文件按照预定格式记录了服务调用信息;从至少一个日志文件中按照预定格式解析出至少一条服务调用信息。如图1中所示,日志收集器104从服务提供端采用到日志文件,日志文件除了包括服务调用信息之外还包括其它的信息,例如对数据库的增加、修改、删除等操作信息。日志分析器103将与服务调用相关的信息提取出来生成日志文件。发给调用关系接收器105,再由调用关系接收器105定时或接收到一定数量的日志文件后,发送给调用关系分析器106进行分析。

在本实施例的一些可选的实现方式中,服务调用信息还包括:服务的名称和调用时间;以及该方法还包括:对于至少一条服务调用信息中每条服务调用信息所指示的服务,根据该服务调用信息中调用服务的系统的名称、提供服务的系统的名称、服务的名称和调用时间,确定调用该服务的调用频率和调用量峰值。根据至少一条服务调用信息中的系统名称和调用时间,可以确定出某个服务在哪个时刻被调用的次数最多,即为该时刻的调用次数为调用量峰值,该时刻也为调用量峰值时刻。调用频率指的是单位时间内被调用的次数。调用频率和调用量峰值都可用来衡量系统的重要性。可用来为系统分配资源,分配的资源与调用量峰值成正比,例如,在调用量峰值时刻根据调用量峰值为系统分配合理的cpu资源或内存资源。12点为系统a的调用量峰值时刻,则12点时为系统a分配更多的资源。13为系统b的调用量峰值时刻,则13点时为系统b分配更多的资源。

步骤202,对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值。

在本实施例中,调用系统集合和被调用系统集合中存放的是系统的名称。从至少一条服务调用信息中统计出相同的调用服务的系统名称,和被它调用或调用它的系统。可将系统间的调用关系看作系统依赖关系。就单个系统而言,统计出所有和其有调用关系(包含调用它的、及它调用的)的系统。我们将调用a的系统的数量作为a的权值。系统的权值可以反应系统的重要程度。权值越高则系统越重要。例如,服务调用信息的格式统一为:调用服务的系统的名称-提供服务的系统的名称。至少一条服务调用信息为s1-s2,s1-s3,s1-s4,s2-s3,s4-s1,s5-s1。则s1的调用系统集合为{s4,s5},s1的被调用系统集合为{s2,s3,s4},s4的调用系统集合为{s1},s4的被调用系统集合为{s1}。其中,s1和s4相互调用,s1的权值为2,s4的权值为1。s1对s4的调用为弱调用。

可选的,如果之前已经存在各系统的调用系统集合和被调用系统集合,则获取到新的服务调用信息后,根据新获取的服务调用信息中调用关系向原有的调用系统集合和被调用系统集合增加系统名称。

在本实施例的一些可选的实现方式中,对于至少一条服务调用信息涉及的每个系统,若该系统的调用系统集合和被调用系统集合存在相同的系统,则将该系统与确定出的相同的系统确定为互相调用的系统组,若互相调用的系统组中的系统的权值不同,则从调用关系表中将调用服务的系统的权值比提供服务的系统的权值高的调用关系删除。一个系统即可作为提供服务的系统也可作为调用服务的系统。如果a的调用系统集合和被调用系统集合都出现了同一个系统b(即说明系统a和系统b相互调用),则将权值高的调用权值低的调用关系标记为弱调用。(即假如系统a和b相互调用,而系统a和b相比之下a会被其他更多的系统调用,则我们倾向于认为a系统更加具有做服务提供方的特性,故将a对b的调用标记为弱调用,将b对a的调用标为强调用。)。这里分析出强弱调用主要是为后面梳理层级关系使用

步骤203,根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表。

在本实施例中,调用关系表用于表征调用服务的系统与提供服务的系统以及各系统的权值之间的对应关系。调用关系表中记录了调用服务的系统的名称和为该调用服务的系统提供服务的系统的名称。还记录了步骤202所确定出的各系统的权值。每次收到新的服务调用信息后都确定出调用关系从而更新调用关系表。该调用关系表反映了各系统之间的依赖关系,也可称为依赖关系表。调用关系表中可按系统的权值从大到小的顺序排序。方便确定出重要的系统。

继续参见图3,图3是根据本实施例的信息生成方法的应用场景的一个示意图。在图3的应用场景中,用户使用终端进行操作时,终端上安装的客户端系统调用了服务端系统,产生了服务调用信息,如301中虚线框所示。虚线框中a为服务的名称,s1为客户端系统的名称、s2为服务端系统的名称。至少一个客户端系统对至少一个服务端系统的调用可生成如301所示的至少一条服务调用信息。调用关系分析器根据服务调用信息301统计出提供服务的系统(302中第一列所示)、调用服务的系统(302中第三列所示)和提供服务的系统的权值(302中第二列所示)。然后生成了调用关系表302。权值的取值可以根据所调用服务的系统的数量所确定,例如,系统s1被系统s7、s8、s9、s10所调用,因此s1的权值为4。

本申请的上述实施例提供的方法通过将调用某系统的其它系统的数量与系统的权值相关联,生成包括系统的权值的调用关系表,从而提高梳理各系统之间的调用关系时的速度。

进一步参考图4,其示出了信息生成方法的又一个实施例的流程400。该信息生成方法的流程400,包括以下步骤:

步骤401,获取至少一条服务调用信息。

步骤402,对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值。

步骤403,根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表。

步骤401-403与步骤201-203基本相同,因此不再赘述。

步骤404,基于调用关系表,生成有向图。

在本实施例中,基于步骤403生成的调用关系表,生成有向图,即调用关系图。其中,有向图中的边用于表征调用关系,边的始点用于表征调用服务的系统,终点用于表征提供服务的系统。如图5所示,s1、s2、s3、s4、s5、s6用于表征系统,s1调用了s3,s2调用了s3、s4、s5、s3调用了s4,s5调用了s6。根是虚拟的顶点,与根相连接的顶点不被其它系统调用。调用关系分析时会将接收到的调用信息确定出的调用关系逐个添加到树网结构(如图5所示的有向图)中,每增加一个调用关系,都会检测树网结构中是否出现了循环调用(这里使用广度遍历法,看调用的结点是否会找到自己,能找到就说明存在有循环调用。注意,不能用深度遍历法,否则可能会陷到循环调用里出不来),如果新加入的调用造成了循环调用,如果这个调用是权值高的调用权值低的情况,则标记为弱调用,所有弱调用在层次图中均不考虑。通过这种方式,将所有依赖依次添加完毕后,最终便可构造出一个不存在循环调用的自上而下单向的树网结构。也可先从调用关系表中将调用服务的系统的权值比提供服务的系统的权值高的调用关系删除,然后再生成有向图。

步骤405,确定有向图的各顶点的层级。

在本实施例中,有向图中每个顶点与层级对应;该方法还包括:将有向图中未提供服务的系统对应的至少一个顶点确定为初始顶点,以及将初始顶点的层级设置为预定值;对于有向图中与初始顶点相连接的每个顶点,若该顶点作为有向边的终点时所对应的起点只有初始顶点,则将该顶点确定为次级顶点,以及将次级顶点的层级设置为预定值与预定步长之和;对于有向图中除初始顶点和各次级顶点外的每个顶点,采用广度遍历法,确定该顶点作为有向边的终点时所对应的至少一个起点和各起点的层级,以及将各起点的层级中的最大值递增预定步长设置为该顶点的层级。

例如,使用广度检测法来确定有向图中各顶点的层级,如图5所示,可从根节点往下依次确认,除了最上方的与根节点相连接的顶点外,对任一顶点进行层级确认时采用如下方式:

假设第i个顶点si的层级为lsi(i=1,2,3,…n),lsi是一个数值。设调用第j个顶点sj的所有顶点集合为set(sj),(j=1,2,3,…n,且i≠j),顶点si调用顶点sj,则顶点sj的层级lsj应为调用第j个顶点sj的所有顶点si的层级中的最大值加1,即对于任一顶点sj,计算其层级lsj的公式为:

lsj=max(lsi)+1,

其中,顶点si调用顶点sj,si∈set(sj),

i=1,2,3,…n;j=1,2,3…n,且i≠j。

如图5所示,s1、s2为初始顶点,设置s1、s2的层级为1,则次级顶点s3和s5的层级为2,s4为s3的层级和s2的层级中的最大值加1,即s4的层级为3。s6的层级为3。

在本实施例的一些可选的实现方式中,该方法还包括:按照层级由大到小的顺序输出预定数量的顶点对应的系统的名称。层级的大小可以反应系统的重要性,层级数越高则该系统越重要。因此可根据层级数分配系统占用的资源,例如,cpu、内存等。

从图4中可以看出,与图2对应的实施例相比,本实施例中的信息生成方法的流程400突出了生成有向图的步骤。由此,本实施例描述的方案可以引入调用关系相关数据,从而实现更全面的调用关系分析。

进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种信息生成装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的信息生成装置600包括:获取单元601、确定单元602和生成单元603。其中,获取单元601配置用于获取至少一条服务调用信息,其中,服务调用信息包括调用服务的系统的名称、提供服务的系统的名称;确定单元602配置用于对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值;生成单元603配置用于根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表,其中,调用关系表用于表征调用服务的系统与提供服务的系统以及各系统的权值之间的对应关系。

在本实施例中,信息生成装置600的获取单元601、确定单元602和生成单元603的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203。

在本实施例的一些可选的实现方式中,装置600还包括修正单元(未示出),配置用于:对于至少一条服务调用信息涉及的每个系统,若该系统的调用系统集合和被调用系统集合存在相同的系统,则将该系统与确定出的相同的系统确定为互相调用的系统组,若互相调用的系统组中的系统的权值不同,则从调用关系表中将调用服务的系统的权值比提供服务的系统的权值高的调用关系删除。

在本实施例的一些可选的实现方式中,生成单元603进一步配置用于:基于调用关系表,生成有向图,其中,有向图中的边用于表征调用关系,边的始点用于表征调用服务的系统,终点用于表征提供服务的系统。

在本实施例的一些可选的实现方式中,获取单元601进一步配置用于:获取至少一个日志文件,其中,日志文件按照预定格式记录了服务调用信息;从至少一个日志文件中按照预定格式解析出至少一条服务调用信息。

在本实施例的一些可选的实现方式中,服务调用信息还包括:服务的名称和调用时间;以及装置600还包括统计单元(未示出),配置用于:对于至少一条服务调用信息中每条服务调用信息所指示的服务,根据该服务调用信息中调用服务的系统的名称、提供服务的系统的名称、服务的名称和调用时间,确定调用该服务的调用频率和调用量峰值。

在本实施例的一些可选的实现方式中,有向图中每个顶点与层级对应;装置600还包括层级确定单元(未示出),配置用于:将有向图中未提供服务的系统对应的至少一个顶点确定为初始顶点,以及将初始顶点的层级设置为预定值;对于有向图中与初始顶点相连接的每个顶点,若该顶点作为有向边的终点时所对应的起点只有初始顶点,则将该顶点确定为次级顶点,以及将次级顶点的层级设置为预定值与预定步长之和;对于有向图中除初始顶点和各次级顶点外的每个顶点,采用广度遍历法,确定该顶点作为有向边的终点时所对应的至少一个起点和各起点的层级,以及将各起点的层级中的最大值递增预定步长设置为该顶点的层级。

在本实施例的一些可选的实现方式中,装置600还包括输出单元(未示出),配置用于:按照层级由大到小的顺序输出预定数量的顶点对应的系统的名称。

下面参考图7,其示出了适于用来实现本申请实施例的电子设备的计算机系统700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图7所示,计算机系统700包括中央处理单元(cpu)701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行各种适当的动作和处理。在ram703中,还存储有系统700操作所需的各种程序和数据。cpu701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分707;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、确定单元、信息选取单元和生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取至少一条服务调用信息的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取至少一条服务调用信息,其中,服务调用信息包括调用服务的系统的名称、提供服务的系统的名称;对于至少一条服务调用信息涉及的每个系统,根据各条服务调用信息中调用服务的系统的名称和提供服务的系统的名称,确定调用该系统的至少一个系统作为该系统的调用系统集合,确定该系统所调用的至少一个系统作为该系统的被调用系统集合,确定调用该系统的数量作为该系统的权值;根据各系统的调用系统集合、各系统的被调用系统集合、各系统的权值生成各系统之间的调用关系表。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1