本发明涉及网络,具体涉及一种实时构建系统架构拓扑的方法及系统。
背景技术:
1、一个业务系统通常以集群的形式部署在多个服务器上,在系统运行期间,会与其他外部业务系统和技术组件产出交互。随着业务系统不断演进,我们很难准确的知道系统在和哪些外部系统或者技术组件交互,架构是否发生了腐化。
技术实现思路
1、本发明所要解决的技术问题是:随着业务系统不断演进,我们很难准确的知道系统在和哪些外部系统或者技术组件交互,架构是否发生了腐化,本发明目的在于提供一种实时构建系统架构拓扑的方法及系统,基于linux命令将一个系统与外部系统或者技术组件存在的网络连接实时扫描出来,并构建系统与系统、系统与技术组件之间的拓扑关系。
2、本发明通过下述技术方案实现:
3、本方案提供一种实时构建系统架构拓扑的方法,包括:
4、构建配置管理数据库,用于存储it架构中所有设备的配置信息,所述配置信息包括系统占用虚拟机及其ip等信息;
5、在各虚拟机上执行扫描脚本得到网络连接和进程集合,分别对各虚拟机的网络连接和进程集合进行组装得到网络连接集合r1;
6、从配置管理数据库中查询每个ip所属系统的名称,并更新至网络连接集合r1中的网络连接,得到网络连接集合r2;
7、更新网络连接集合r2中的各网络连接,并在网络连接数据库中记录更新后的网络连接集合r2;分别查找本地端口类型是客户端端口和服务端端口的连接,构建网络拓扑的资源节点集合v和资源访问关系的边集合e;
8、在页面展示资源节点的拓扑关系。
9、本方案工作原理:随着业务系统不断演进,我们很难准确的知道系统在和哪些外部系统或者技术组件交互,架构是否发生了腐化,本发明目的在于提供一种实时构建系统架构拓扑的方法及系统,基于linux命令将一个系统与外部系统或者技术组件存在的网络连接实时扫描出来,并构建系统与系统、系统与技术组件之间的拓扑关系,便于及时准确的知道系统在和哪些外部系统或者技术组件交互,掌握系统架构是否发生了腐化。
10、进一步优化方案为,所述网络连接和进程集合包括:执行扫描进程脚本得到的进程集合l,执行网络连接扫描脚本得到的网络连接五元组集合m,和执行网络监听端口脚本得到的监听端口集合n。
11、进一步优化方案为,所述进程集合l包括属性:ip、cmd、pid和processtype;
12、所述网络连接五元组集合m包括属性:localip、localport、foreignip、foreignport和pid;
13、所述监听端口集合n包括属性pid和port。
14、进一步优化方案为,网络连接集合r1的获取方法包括:
15、s1:根据网络连接的pid,在进程集合l中找到pid相同的进程li,得到其进程类型t;
16、s2:根据网络连接的pid和localport,在监听端口集合n中查找是否存在相同pid和localport的记录,如果存在,则当前localport是网络连接的服务端端口,否则当前localport是网络连接的客户端端口;
17、s3:根据s1和s2得到的进程类型和监听端口类型,更新网络连接五元组集合m。
18、进一步优化方案为,更新网络连接集合r2中各网络连接的方法包括:
19、在网络连接集合r2中,针对每个网络连接,使用其localip和localport,更新其他foreignip等于localip且foreignport等于localport的网络连接的foreignprocesstype为localprocesstype。
20、进一步优化方案为,网络拓扑的资源节点集合v和资源访问关系的边集合e的构建方法包括:
21、t1:在网络连接集合r2中分别查找本地端口类型是客户端端口和服务端端口的网络连接,并以应用名称、进程类型构建资源节点,以资源节点之间的端口类型访问关系确定资源节点访问关系;
22、t2:合并相同的资源节点和边,得到具有唯一的资源节点集合v和资源节点访问关系集合e。
23、本方案还提供一种实时构建系统架构拓扑的系统,用于实现上述方案所述的实时构建系统架构拓扑的方法,包括:
24、构建模块,用于构建配置管理数据库,所述配置管理数据库用于存储it架构中所有设备的配置信息,所述配置信息包括系统占用虚拟机及其ip等信息;
25、执行模块,用于在各虚拟机上执行扫描脚本得到网络连接和进程集合,分别对各虚拟机的网络连接和进程集合进行组装得到网络连接集合r1;
26、第一操作模块,用于从配置管理数据库中查询每个ip所属系统的名称,并更新至网络连接集合r1中的网络连接,得到网络连接集合r2;
27、第二操作模块,用于更新网络连接集合r2中的各网络连接,并在网络连接数据库中记录更新后的网络连接集合r2;分别查找本地端口类型是客户端端口和服务端端口的连接,构建网络拓扑的资源节点集合v和资源访问关系的边集合e;
28、展示模块,用于在页面展示资源节点的拓扑关系。
29、进一步优化方案为,所述第一操作模块为架构拓扑构建服务端,所述架构拓扑构建服务端从配置管理数据库中查询每个ip所属系统的名称,并更新至网络连接集合r1中的网络连接,得到网络连接集合r2,并将网络连接集合r2写入配置管理数据库。
30、进一步优化方案为,所述网络连接和进程集合包括:执行进程扫描脚本得到的进程集合l,执行网络连接扫描脚本得到的网络连接五元组集合m,和执行网络监听端口脚本得到的监听端口集合n。
31、进一步优化方案为,所述进程集合l包括属性:ip、cmd、pid和processtype;
32、所述网络连接五元组集合m包括属性:localip、localport、foreignip、foreignport和pid;所述监听端口集合n包括属性pid和port。
33、本发明与现有技术相比,具有如下的优点和有益效果:
34、本发明提供的一种实时构建系统架构拓扑的方法及系统,本方案基于linux命令将一个系统与外部系统或者技术组件存在的网络连接实时扫描出来,并构建系统与系统、系统与技术组件之间的拓扑关系。
1.一种实时构建系统架构拓扑的方法,其特征在于,包括:
2.根据权利要求1所述的一种实时构建系统架构拓扑的方法,其特征在于,所述网络连接和进程集合包括:执行进程扫描脚本得到的进程集合l,执行网络连接扫描脚本得到的网络连接五元组集合m,和执行网络监听端口扫描脚本得到的监听端口集合n。
3.根据权利要求2所述的一种实时构建系统架构拓扑的方法,其特征在于,所述进程集合l包括属性:ip、cmd、pid和processtype;
4.根据权利要求3所述的一种实时构建系统架构拓扑的方法,其特征在于,网络连接集合r1的获取方法包括:
5.根据权利要求3所述的一种实时构建系统架构拓扑的方法,其特征在于,更新网络连接集合r2中各网络连接的方法包括:
6.根据权利要求1所述的一种实时构建系统架构拓扑的方法,其特征在于,网络拓扑的资源节点集合v和资源访问关系的边集合e的构建方法包括:
7.一种实时构建系统架构拓扑的系统,其特征在于,用于实现权利要求1-6任意一项所述的实时构建系统架构拓扑的方法,包括:
8.根据权利要求7所述的一种实时构建系统架构拓扑的系统,其特征在于,所述第一操作模块为架构拓扑构建服务端,所述架构拓扑构建服务端从配置管理数据库中查询每个ip所属系统的名称,并更新至网络连接集合r1中的网络连接,得到网络连接集合r2,并将网络连接集合r2写入网络连接数据库。
9.根据权利要求7所述的一种实时构建系统架构拓扑的系统,其特征在于,所述网络连接和进程集合包括:执行扫描进程脚本得到的进程集合l,执行网络连接扫描脚本得到的网络连接五元组集合m,和执行网络监听端口脚本得到的监听端口集合n。
10.根据权利要求9所述的一种实时构建系统架构拓扑的系统,其特征在于,所述进程集合l包括属性:ip、cmd、pid和processtype;