架构视图生成方法、装置、设备及可读存储介质与流程

文档序号:37363161发布日期:2024-03-22 10:16阅读:6来源:国知局
架构视图生成方法、装置、设备及可读存储介质与流程

本公开涉及计算机,尤其涉及一种架构视图生成方法、装置、设备及可读存储介质。


背景技术:

1、许多企业的系统是在多年迭代中逐渐建立起来的,可能包括各种版本的应用、数据库、中间件和硬件等组件。这些组件可能是内部开发的、或是第三方提供的;可能运行在企业的数据中心、或是托管在外部供应商那里。随着企业并购、部门重组、项目启动和结束,这种复杂性进一步加剧。在这种情况下,了解整个企业的信息技术(informationtechnology,it)架构,尤其是各个组件之间的交互和依赖关系,变得尤为重要。为了能降低客户在迁移上云的过程中出现故障的可能性,降低上云迁移对业务的潜在影响,一个准确、完整的架构视图都是不可或缺的。

2、现有的架构发掘方式一般为人工梳理的方式、使用监控工具辅助架构发掘的方式。1)人工梳理的方法通常是依赖于企业的it团队或外部的顾问来进行。他们会通过访谈、文档分析、系统审查等方式来收集信息,然后使用绘图工具,来制作架构图。2)使用各种监控工具辅助架构的发掘,这些监控工具虽然可以提供一些关于系统架构的信息,但是,这些监控工具主要用于监控其it系统的性能和可用性,并不是专门为架构发掘设计的,可能会遗漏一些关键的信息,或是得到一个不完整的结果。

3、但是,人工梳理的方法会耗费大量的时间和人力资源,而且对架构梳理人员的经验的要求也十分严苛;而使用监控工具辅助架构发掘的方式生成的架构视图不准确。


技术实现思路

1、为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种架构视图生成方法、装置、设备及可读存储介质,以节省时间和人力资源,生成较为准确的架构视图。

2、第一方面,本公开实施例提供一种架构视图生成方法,所述方法包括:

3、基于采集探针从内核中获取流量数据;

4、将所述流量数据发送给消息队列;

5、基于处理组件从所述消息队列中读取所述流量数据,并对所述流量数据进行分析,得到各个进程的流量交互情况;

6、通过所述处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图。

7、在一些实施例中,所述通过所述处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图之后,所述方法还包括:

8、将所述架构视图存储到数据库中,和/或,通过图形用户界面对数据库中的所述架构视图进行图形化展示。

9、在一些实施例中,所述流量数据包括如下至少一种:

10、采集点类型标识、进程名称、进程标识符、源端ip、目的端ip、源端端口、目的端端口、协议、入向流量、出向流量、流量持续时长。

11、在一些实施例中,所述基于采集探针从内核中获取流量数据,包括:

12、对于任意一条连接,当该条连接建立时,通过内核为该条连接创建对应的内核结构体,通过第一钩子函数将该条连接对应的内核结构体的地址存储到内核的预设存储位置中,所述内核结构体中存储有该条连接的流量数据;

13、当该条连接断开时,通过第二钩子函数从所述内核的预设存储位置中获取该条连接对应的内核结构体的地址;

14、通过采集探针基于该条连接对应的内核结构体的地址从该条连接对应的内核结构体中采集到该条连接的流量数据。

15、在一些实施例中,所述将所述流量数据发送给消息队列,包括:

16、通过系统调用接口将所述流量数据从内核态输出给用户态;

17、通过用户态根据所述流量数据中的五元组数据对预设时间段内的所述流量数据进行聚合处理,得到聚合后的所述流量数据,所述五元组数据包括源端ip、目的端ip、源端端口、目的端端口以及协议;

18、通过客户端库函数将聚合后的所述流量数据发送给消息队列。

19、在一些实施例中,所述基于处理组件从所述消息队列中读取所述流量数据,包括:

20、根据处理组件的处理速度、处理资源的剩余情况确定出所述处理组件的待读取的数据量值;

21、基于所述处理组件从所述消息队列中读取出与所述待读取的数据量值匹配的流量数据。

22、在一些实施例中,所述对所述流量数据进行分析,得到各个进程的流量交互情况,包括:

23、基于所述处理组件根据所述流量数据中的五元组数据对读取的流量数据进行分组处理,得到多组流量数据,同一组的流量数据具有相同的五元组数据;

24、对于所述多组流量数据中的每组流量数据,根据所述流量数据中的进程标识符和进程名称筛选出属于每个进程的流量数据,确定出各个进程之间的流量交互情况。

25、第二方面,本公开实施例提供一种架构视图生成装置,所述装置包括:

26、获取模块,用于基于采集探针从内核中获取流量数据;

27、发送模块,用于将所述流量数据发送给消息队列;

28、得到模块,用于基于处理组件从所述消息队列中读取所述流量数据,并对所述流量数据进行分析,得到各个进程的流量交互情况;

29、生成模块,用于通过所述处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图。

30、第三方面,本公开实施例提供一种电子设备,包括:

31、存储器;

32、处理器;以及

33、计算机程序;

34、其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。

35、第四方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面所述的方法。

36、第五方面,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如第一方面所述的方法。

37、本公开实施例提供的架构视图生成方法、装置、设备及可读存储介质,通过基于采集探针从内核中获取流量数据,将所述流量数据发送给消息队列,基于处理组件从所述消息队列中读取所述流量数据,并对所述流量数据进行分析,得到各个进程的流量交互情况,通过所述处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图。相较于现有技术,本公开实施例利用采集探针直接在内核空间执行采集任务,大大减少了性能开销,同时提高了数据的精度,可以从大量的流量数据中自动发掘出各个组件之间的依赖关系,为企业提供清晰、结构化的系统架构视图,能够捕获系统中各个组件间的所有交互,确保数据的完整性和准确性。



技术特征:

1.一种架构视图生成方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述通过所述处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图之后,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述流量数据包括如下至少一种:

4.根据权利要求1所述的方法,其特征在于,所述基于采集探针从内核中获取流量数据,包括:

5.根据权利要求1所述的方法,其特征在于,所述将所述流量数据发送给消息队列,包括:

6.根据权利要求1所述的方法,其特征在于,所述基于处理组件从所述消息队列中读取所述流量数据,包括:

7.根据权利要求1所述的方法,其特征在于,所述对所述流量数据进行分析,得到各个进程的流量交互情况,包括:

8.一种架构视图生成装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。


技术总结
本公开涉及一种架构视图生成方法、装置、设备及可读存储介质。通过基于采集探针从内核中获取流量数据,将流量数据发送给消息队列,基于处理组件从消息队列中读取流量数据,并对流量数据进行分析,得到各个进程的流量交互情况,通过处理组件根据各个进程的流量交互情况生成系统中各个组件之间的架构视图。相较于现有技术,本公开实施例利用采集探针直接在内核空间执行采集任务,大大减少了性能开销,同时提高了数据的精度,可以从大量的流量数据中自动发掘出各个组件之间的依赖关系,为企业提供清晰、结构化的系统架构视图,能够捕获系统中各个组件间的所有交互,确保数据的完整性和准确性。

技术研发人员:魏铼
受保护的技术使用者:北京金山云网络技术有限公司
技术研发日:
技术公布日:2024/3/21
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1