System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及一种软件系统运行情况的确定方法、装置、设备及介质。
技术介绍
1、当前软件发展的趋势表现为从单体应用向分布式、集群和高可用性方向的发展。为了满足软件系统日益复杂和多样化的业务需求,软件开发人员需要在不同的场景下设计、实现以及优化软件系统,需要能够确定软件系统的运行情况,包括:软件系统的负载、cpu(central processing unit,中央处理器)使用率、内存使用率、线程数量等。
2、目前,确定软件系统的运行情况,已经存在了很多的工具可以使用,大致可以分为:单服务的运行情况监测和微服务的运行情况监测。单服务的运行情况监测。可用于监测单服务内部的所有线程、内存等使用情况。微服务的运行情况监测用于检测服务及实例的健康情况。然而,以上的监控手段无法以全局的视角俯视整个软件系统,无法呈现软件系统的各个服务,每个服务的各个服务实例,每个服务事例的各个模块的运行情况;不能直观地呈现局部模块是否存在资源的浪费或者资源不足的情况;不能直观地呈现能够用于指导对服务/模块/功能进行优化的参数。
3、因此,相关技术存在无法确定软件系统的各个服务、每个服务的每个模块、甚至每个功能的运行情况,并且不能将运行情况进行直观地展示的问题。
技术实现思路
1、有鉴于此,本专利技术提供了一种软件系统运行情况的确定方法、系统、装置、设备及介质,以解决无法确定软件系统的各个服务、每个服务的每个模块、甚至每个功能的运行情况,并且不能将运行情况进行直观地展示的问
2、第一方面,本专利技术提供了一种软件系统运行情况的确定方法,该方法包括:
3、获取软件系统的所有服务、服务中的服务实例以及服务实例中的模块;
4、获取模块的承载力,并根据承载力得到模块的第一承载因子,其中,第一承载因子用于确定模块的负载情况;
5、根据第一承载因子和模块,生成模块视图,其中,模块视图用于表征模块的运行情况;
6、根据第一承载因子,确定服务实例的第二承载因子,并根据服务实例、模块视图以及第二承载因子,生成服务视图,其中,第二承载因子用于确定服务实例的负载情况,服务视图用于表征服务实例的运行情况;
7、根据服务视图和服务,生成软件系统的系统视图,其中,系统视图用于表征软件系统的运行情况。
8、本实施例提供的软件系统运行情况的确定方法,首先,计算每个模块的第一承载因子,生成模块视图;其次,根据第一承载因子计算出服务实例的第二承载因此,生成服务视图;最后,根据服务视图和服务生成系统视图。通过系统视图能够确定软件系统整体的运行情况,并能够直观反映各个服务、各个服务实例的部署情况和负载情况,同时,能够深入服务实例内部,直观反映各个模块的负载情况。解决了相关技术存在无法确定软件系统的各个服务、每个服务的每个模块、甚至每个功能的运行情况,并且不能将运行情况进行直观地展示的问题。
9、在一种可选的实施方式中,获取模块的承载力,包括:
10、调用嵌入软件系统中的预设插件,获取模块的当前承载力、历史承载力以及承载力阈值;
11、根据当前承载力、历史承载力以及承载力阈值,得到模块的承载力。
12、在本实施方式中,调用预设插件,获取模块的当前承载力、历史承载力以及承载力阈值,便于后续生成当前系统视图和历史系统视图,直观地呈现软件系统不同时刻下软件系统的各个服务、每个服务的每个模块、甚至每个功能的运行情况。
13、在一种可选的实施方式中,根据承载力得到模块的第一承载因子,包括:
14、根据承载力,确定模块的历史承载力、当前承载力以及承载力阈值;
15、根据当前承载力和承载力阈值,得到第一当前承载因子;
16、根据历史承载力和承载力阈值,得到第一历史承载因子;
17、根据第一当前承载因子和第一历史承载因子,得到第一承载因子。
18、在本实施方式中,根据当前承载力和承载力阈值,计算第一当前承载因子,根据历史承载力和承载力阈值,计算第一历史承载因子,方法简单、容易实现,便于后续计算服务实例和服务的承载因子。
19、在一种可选的实施方式中,根据第一承载因子和模块,生成模块视图,包括:
20、根据第一承载因子,得到第一当前承载因子和第一历史承载因子;
21、根据模块对应的第一当前承载因子,确定当前模块视图中模块的第一排列顺序和模块之间的第一间距,其中,当前模块视图包含于模块视图;
22、根据模块、第一排列顺序、第一间距以及第一预设表征形态,生成当前模块视图;
23、根据模块对应的第一历史承载因子,确定历史模块视图中模块的第二排列顺序和模块之间的第二间距,其中,历史模块视图包含于模块视图;
24、根据模块、第二排列顺序、第二间距以及第一预设表征形态,生成历史模块视图。
25、在本实施方式中,根据第一承载因子分别确定当前模块视图和历史模块视图中,模块的排列顺序和模块之间的间距,进而分别生成当前模块视图和历史模块视图,通过排列顺序、模块之间的间距更为直观地呈现每个模块的运行情况。
26、在一种可选的实施方式中,根据第一承载因子,确定服务实例的第二承载因子,并根据服务实例、模块视图以及第二承载因子,生成服务视图,包括:
27、根据第一承载因子,得到第一当前承载因子和第一历史承载因子;
28、根据第一当前承载因子,确定第一模块,并将第一模块对应的第一当前承载因子作为服务实例的第二当前承载因子,其中,第二当前承载因子包含于第二承载因子;
29、根据当前模块视图、服务实例、第二当前承载因子以及第二预设表征形态,生成当前服务视图,其中,当前服务视图包含于服务视图;
30、根据第一历史承载因子,确定第二模块,并将第二模块对应的第一历史承载因子作为服务实例的第二历史承载因子,其中,第二历史承载因子包含于第二承载因子;
31、根据历史模块视图、服务实例、第二历史承载因子以及第二预设表征形态,生成历史服务视图,其中,历史服务视图包含于服务视图。
32、在本实施方式中,根据服务实例中模块的第一承载因子,确定服务实例的第二承载因子。根据服务实例、模块视图以及第二承载因子,生成服务视图,通过服务视图直观展示服务实例和服务实例中每个模块的运行情况。
33、在一种可选的实施方式中,根据服务视图和服务,生成软件系统的系统视图,包括:
34、确定服务的服务数量,并将服务数量与预设数值进行比较;
35、在服务数量小于预设数值的情况下,将当前服务视图作为当前系统视图,将历史服务视图作为历史系统视图,其中,当前系统视图和历史系统视图包含于系统视图;
36、在服务数量大于或等于预设数值的情况下,根据服务中所有服务实例对应的第二历史承载因子,得到服务的第三历史承载因子;
37、根据本文档来自技高网...
【技术保护点】
1.一种软件系统运行情况的确定方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述模块的承载力,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述承载力得到所述模块的第一承载因子,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一承载因子和所述模块,生成模块视图,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一承载因子,确定所述服务实例的第二承载因子,并根据所述服务实例、所述模块视图以及所述第二承载因子,生成服务视图,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述服务视图和所述服务,生成所述软件系统的系统视图,包括:
7.根据权利要求6所述的方法,其特征在于,在所述生成所述软件系统的系统视图之后,所述方法还包括:
8.一种软件系统运行情况的确定装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介
...【技术特征摘要】
1.一种软件系统运行情况的确定方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述模块的承载力,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述承载力得到所述模块的第一承载因子,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一承载因子和所述模块,生成模块视图,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述第一承载因子,确定所述服务实例的第二承载因子,并根据所述服务实例、所述模块视图以及所述第二承载因子,生成服务视图,...
【专利技术属性】
技术研发人员:田琳,王晓通,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。