本发明涉及硬件资源管理领域,更具体地说,本发明涉及一种计算机进程隔离优化硬件资源的管理系统。
背景技术:
1、传统的计算机系统中,所有进程共享硬件资源,容易造成资源竞争和互相干扰。为了解决这个问题,出现了虚拟机技术。虚拟机可以将一个物理计算机划分成多个虚拟计算机,每个虚拟计算机有独立的操作系统和应用程序,可以实现对硬件资源的分配和隔离。然而,在虚拟机内部,进程之间仍然存在资源竞争和互相干扰的问题,特别是物联网、边缘计算对边缘端设备的计算能力提出了越来越高的要求,但现有定制化的设备接入和管理方法系统开销大、灵活性差;同时,目前的部署策略大多以提高系统服务质量为目标,导致系统资源利用率低、限制了系统性能的提升。在资源受限的场景中,做好硬件管理,提升资源的有效利用率更需要被考虑。针对以上问题,本文对硬件资源的请求管理以及应用服务进行了优化。
技术实现思路
1、为了克服现有技术的上述缺陷,本发明提供一种计算机进程隔离优化硬件资源的管理系统,通过将进程隔离到不同的虚拟机中,并在虚拟机之间分配硬件资源,实现了对硬件资源请求队列的优化,以解决上述背景技术中提出的问题。
2、为实现上述目的,本发明提供如下技术方案:一种计算机进程隔离优化硬件资源的管理系统,包括计算机、多个虚拟机和一个资源管理器,每个虚拟机都有独立的操作系统和应用程序,资源管理器包括进程隔离模块、队列优化模块、资源分配模块、动态调整模块,负责对虚拟机之间的硬件资源进行分配和调度;其中,进程隔离模块与队列优化模块相连,队列优化模块与资源分配模块相连,资源分配模块与动态调整模块相连;
3、进程隔离模块将所有进程隔离到不同的虚拟机中,互相之间不会产生资源竞争和互相干扰的问题;
4、队列优化模块在资源管理器中对虚拟机之间的硬件资源请求队列进行优化;当一个虚拟机请求硬件资源时,资源管理器会将请求加入到一个队列中,并通过调整队列中请求的顺序、合并相同类型的请求对队列进行优化;
5、资源分配模块根据硬件资源闲置状态,根据优化后的队列,将资源分配给虚拟机;
6、动态调整模块根据系统负载情况,动态地调整虚拟机之间的资源分配;根据系统负载情况动态地调整虚拟机之间的资源分配,需要对当前系统的负载状况进行实时监测,并根据监测结果动态地调整虚拟机之间的资源分配。
7、在队列优化模块中,调整队列中请求的顺序和合并相同类型请求在虚拟化环境中的资源请求队列管理系统中实现,从而实现更加高效和智能的请求管理和分配,具体包括以下几个过程:
8、确定优先级:根据虚拟机的需求和系统的负载情况,确定每个请求的优先级,使用公式:优先级=重要性x紧急程度;其中,重要性和紧急程度都是0到1之间的实数,代表了请求的重要程度和紧急程度,根据实际情况对这两个因素进行量化和赋值,从而计算每个请求的优先级;
9、排序请求:根据优先级对请求进行排序,使用排序算法对请求进行排序,从而确定它们在队列中的顺序;
10、合并请求:将相同类型的请求合并为一个请求,使用公式:
11、请求=请求1+请求2+...+请求n;其中,请求1到请求n是相同类型的请求,将它们合并为一个请求,从而减少请求的数量和系统开销;
12、更新请求:更新合并后的请求的属性和数量,更新请求的资源需求、优先级,同时更新请求的数量,从而反映出合并后的请求的实际需求和影响。
13、进一步的,调整队列中请求的顺序和合并相同类型的请求的过程如下:
14、请求队列的优先级排序:系统会对请求队列中的请求按照其优先级进行排序,使用基于权重的排序算法或基于时间的排序算法,其中,在基于权重的排序算法中,使用以下公式来计算请求的权重:
15、w=α×p+β×r+γ×t;其中,w表示请求的权重,p表示请求的优先级,r表示请求的资源需求,t表示请求的时限,α、β和γ表示权重系数;
16、相同类型请求的合并:对于请求队列中相同类型的请求,系统将它们合并为一个请求,并计算出合并请求的资源需求;具体的合并算法是将相同类型请求的资源需求进行求和,或者选择其中的最大值作为合并请求的资源需求;
17、在合并算法中,相同类型请求的资源需求进行求和的公式:
18、r'=∑(ri);其中,r'表示合并请求的资源需求,ri表示相同类型请求的资源需求;
19、在合并算法中,选择其中的最大值作为合并请求的资源需求的公式:
20、r'=max(ri);其中,r'表示合并请求的资源需求,ri表示相同类型请求的资源需求。该公式的含义是,当出现多个相同类型的请求时,系统会选择其中资源需求最大的一个,作为合并请求的资源需求。
21、在资源分配模块中,一个虚拟化环境中有多个虚拟机运行,这些虚拟机共享一台物理主机上的硬件资源,资源管理器负责分配这些硬件资源给每个虚拟机,并根据优化后的队列来优化分配的过程,具体的分配过程如下:
22、当虚拟机发出资源请求时,这些请求将被添加到资源请求队列中;
23、资源管理器定期检查硬件资源的可用性,如果有可用的硬件资源,则根据队列中请求的优先级和类型来分配资源;
24、资源管理器首先查找队列中最高优先级的请求,如果该请求需要的资源可用,则分配给该请求对应的虚拟机;如果该请求需要的资源不可用,则继续查找队列中次高优先级的请求,直到找到可以分配的资源或遍历整个队列;
25、如果队列中有相同类型的请求,资源管理器将这些请求合并成一个大的请求,然后,根据优先级来分配这个大请求需要的资源;
26、如果资源管理器无法找到可以满足请求的资源,它将等待资源变得可用,并继续监视队列中的新请求;
27、通过优化资源请求队列,资源管理器可以更有效地分配硬件资源,提高系统的性能和可靠性;此外,根据优先级和类型来分配资源还可以确保重要任务得到及时处理,从而提高系统的响应速度和效率;
28、当资源被成功分配给一个虚拟机时,资源管理器会将该虚拟机的运行状态更新,并记录已分配的资源数量和类型;
29、如果队列中有其他请求等待分配资源,资源管理器将继续执行上述过程,直到所有请求都得到满足;
30、当虚拟机不再需要已分配的资源时,资源管理器会将这些资源回收,并更新虚拟机的运行状态和已分配资源的数量;
31、如果系统中的硬件资源不足,资源管理器可以使用负载平衡算法来优化资源分配,并将一些虚拟机迁移到其他物理主机上,以减轻单个主机的负载。通过优化资源请求队列,资源管理器可以更好地管理虚拟化环境中的硬件资源,提高系统的性能和可靠性。
32、进一步的,优化后的队列还可以提高虚拟化环境的可扩展性,如果没有优化的队列机制,这些请求可能会导致系统的性能下降或出现故障,通过对队列进行优化,可以确保系统能够高效地处理大量请求,在优化硬件资源请求队列时,使用一些计算公式来确定资源分配的优先级和顺序,下面是计算公式:
33、请求优先级计算公式:请求优先级=任务重要性×任务紧急程度;其中,任务重要性和任务紧急程度是根据任务类型和具体业务需求来确定的权重系数,可以通过用户指定或系统自动计算得出;
34、队列排序计算公式:请求得分=请求优先级×等待时间;根据请求得分对队列中的请求进行排序,得分越高的请求排在越前面;其中,等待时间是指该请求在队列中等待的时间,可以通过系统记录和计算得出;
35、资源分配计算公式:资源分配比例=(请求资源量÷虚拟机总资源需求)×可用硬件资源量;根据请求的资源量和虚拟机的总资源需求,计算出该请求需要占用的硬件资源比例;然后再根据可用硬件资源量,计算出该请求实际可以获得的硬件资源量。
36、进一步的,合并相同类型的请求包括合并网络传输中的数据包队列,在网络传输中,数据包被添加到数据包队列中,并按照队列中请求的顺序进行处理;在传输视频和音频数据时,如果多个连续的数据包都属于同一个视频或音频流,将它们合并成一个大的数据包;同样,在传输文件时,如果多个连续的数据包属于同一个文件,也将它们合并成一个大的数据包;调整队列中请求的顺序包括根据目标设备的网络带宽和延迟来调整数据包队列中请求的顺序。调整数据包队列中请求的顺序和合并相同类型的请求是一种优化网络传输性能的有效方法。通过合理地调整数据包队列,可以提高网络传输的效率和响应速度,从而提高网络传输的性能和可靠性。
37、在动态调整模块中,根据系统负载情况动态地调整虚拟机之间的资源分配,需要对当前系统的负载状况进行实时监测,并根据监测结果动态地调整虚拟机之间的资源分配;具体包括以下过程:
38、监测系统的负载状况:cpu利用率、内存利用率、网络带宽利用率;
39、根据监测结果,计算当前系统的负载情况指标(y),用来表示系统的负载情况,使用以下公式来计算系统的负载情况指标:
40、y=cu*cw+mu*mw+nu*nw;
41、其中,cu表示cpu利用率,mu表示内存利用率,nu表示网络带宽利用率,cw、mw、nw分别表示cpu、内存、网络带宽的权重;
42、根据负载情况指标,调整虚拟机之间的资源分配,使用以下算法来进行资源分配的调整:
43、a,如果当前系统的负载情况指标小于某个阈值(如0.7),说明系统负载较轻,此时可以将资源分配给需要更多资源的虚拟机,以提高系统的资源利用率,使用以下公式来计算虚拟机的资源需求指标(rd):
44、rd=cd*cw+md*mw+nd*nw;其中,cd表示虚拟机对cpu的需求,md表示虚拟机对内存的需求,nd表示虚拟机对网络带宽的需求,cw、mw、nw分别表示cpu、内存、网络带宽的权重;
45、然后根据虚拟机的资源需求指标,动态地分配资源;
46、b,如果当前系统的负载情况指标大于某个阈值(如0.9),说明系统负载较重,此时需要减少资源分配,以避免系统崩溃,使用以下公式来计算虚拟机的资源释放指标:
47、rr=cd*(1-cw)+md*(1-mw)+nd*(1-nw);其中,cd表示虚拟机对cpu的需求,md表示虚拟机对内存的需求,nd表示虚拟机对网络带宽的需求,cw、mw、nw分别表示cpu、内存、网络带宽的权重;
48、然后根据虚拟机的资源释放动态调整虚拟机之间的资源分配需要根据当前系统负载情况进行判断,通常先定义一个阈值,当系统负载超过这个阈值时,对虚拟机的资源分配进行调整。
49、进一步的,对虚拟机的资源分配进行调整的过程如下:监测系统负载:通过监测系统的cpu利用率、内存使用率、磁盘i/o,计算当前系统的负载情况;判断系统负载是否超过阈值:将计算得到的系统负载值与预设的阈值进行比较,如果超过阈值,则需要进行调整;计算各虚拟机的资源利用率:对于当前正在运行的虚拟机,计算它们各自的cpu利用率、内存使用率指标,得出它们当前的资源利用率;计算各虚拟机的资源需求量:对于每个虚拟机,计算它们当前需要的cpu、内存的数量。
50、进一步的,根据资源利用率和需求量调整分配:根据虚拟机的资源利用率和需求量,进行动态的资源分配,优先保证资源利用率高、需求量大的虚拟机得到足够的资源支持。具体的公式根据实际情况进行定制,一般涉及到的指标有cpu利用率、内存使用率、磁盘i/o;用以下公式计算虚拟机的cpu利用率:
51、cpu利用率=当前cpu使用时间/时间间隔;
52、其中,时间间隔根据实际情况设定,通过这个公式,得到每个虚拟机当前的cpu利用率,从而根据负载情况进行动态调整资源分配。
53、进一步的,动态调整虚拟机之间的资源分配需要通过加权公平共享算法来决定具体的资源分配方案,它根据每个虚拟机的权重值来分配资源,具体的过程如下:
54、对于每个虚拟机,计算其权重值,权重值根据虚拟机的实际需求量和重要性等因素进行设定;计算公式如下:
55、对于每个虚拟机i,根据其实际需求量、重要性等因素来计算权重wi,计算方式是:
56、wi=(qi*si)/(p*n);其中,qi表示虚拟机i的优先级,si表示虚拟机i的需求量,p表示总体资源量,n表示虚拟机的数量;
57、对于当前需要进行资源分配的虚拟机集合,计算它们的权重之和,具体的计算公式如下:对于当前需要进行资源分配的虚拟机集合,计算它们的权重之和w,即:
58、w=w1+w2+...+wm;其中,m表示当前需要进行资源分配的虚拟机数量;
59、将可用资源按照权重比例分配给各个虚拟机。具体的分配方案按照cpu利用率和内存使用率的比例进行分配;
60、如果某些虚拟机的资源需求量发生了变化,可以根据新的需求量重新计算它们的权重值,并重新进行资源分配。
61、通过以上过程,可以实现动态调整虚拟机之间的资源分配,从而更好地利用系统的硬件资源。
62、进一步的,当某个虚拟机的cpu利用率超过了阈值,采取以下的策略:
63、降低该虚拟机的权重值wi,以减少它的资源分配量;提高其他虚拟机的权重值wi,以增加它们的资源分配量;如果系统中还有空闲的硬件资源,可以动态地增加系统中的虚拟机数量,以进一步提高系统的利用率;具体地,
64、当虚拟机i的cpu利用率超过了阈值th时,将该虚拟机的权重值wi调整为wi',然后重新计算所有虚拟机的权重值,最后按照新的权重值进行资源分配。wi'可以计算为:wi'=wi*(1-r);其中,r为一个缩放因子,它可以根据当前系统的负载情况进行动态调整;
65、如果系统的负载情况较轻,适当降低r的值,以减少虚拟机的权重值。反之,如果系统的负载情况较重,适当增加r的值,以提高虚拟机的权重值。根据系统负载情况动态地调整虚拟机之间的资源分配,可以使得系统更好地适应不同的工作负载,从而提高系统的性能和可靠性。
66、进一步的,除了降低虚拟机i的权重值wi以减少它的资源分配量,还可以提高其他虚拟机的权重值wi以增加它们的资源分配量。具体地,当虚拟机i的cpu利用率超过了阈值th时,将其他虚拟机的权重值wi'调整为:
67、wi'=wi*(1+beta);其中,beta为一个增加因子,它根据当前系统的负载情况进行动态调整,如果系统的负载情况较轻,适当降低beta的值,以减少其他虚拟机的权重值;反之,如果系统的负载情况较重,适当增加beta的值,以提高其他虚拟机的权重值。
68、进一步的,如果系统中还有空闲的硬件资源,可以动态地增加系统中的虚拟机数量,以进一步提高系统的利用率。当系统中的硬件资源利用率低于某个阈值时,可以自动地增加虚拟机的数量,并调整所有虚拟机的权重值;将所有虚拟机的权重值均匀地分配到新的虚拟机上,以保证新的虚拟机与旧的虚拟机一样重要。
69、进一步的,动态增加虚拟机数量的过程可以如下:
70、监测系统中的硬件资源利用率,包括cpu利用率、内存利用率、磁盘利用率;如果系统中的某种资源利用率低于阈值th,则说明系统中还有空闲的资源可以利用;
71、根据当前系统中的虚拟机数量和资源利用率情况,计算出每个虚拟机的权重值wi;如果系统中已经存在的虚拟机数量较多,则可以适当降低每个虚拟机的权重值,以保证新的虚拟机与旧的虚拟机一样重要;
72、根据计算出的每个虚拟机的权重值wi,以及新虚拟机的数量n,重新分配所有虚拟机的资源分配量;具体地,可以将所有虚拟机的权重值均匀地分配到新的虚拟机上,以保证新的虚拟机与旧的虚拟机一样重要;
73、在新虚拟机中安装需要的应用程序和操作系统,并对其进行配置和优化,以确保其与系统中的其他虚拟机兼容并且可以正常运行;
74、最后,监测系统中的负载情况,根据需要调整每个虚拟机的资源分配量,并动态地增加或减少虚拟机的数量,以适应不同的工作负载。
75、进一步的,根据系统负载情况动态地调整虚拟机之间的资源分配,可以使得系统更加灵活和适应不同的工作负载,从而提高系统的性能和可靠性;动态增加虚拟机的数量,可以进一步提高系统的资源利用率,降低系统的运行成本,动态调整虚拟机资源分配量的过程可以如下:
76、监测系统中的负载情况,包括cpu利用率、内存利用率、磁盘利用率等等。如果系统中某个资源的利用率高于阈值th,则说明该资源已经达到饱和状态,需要进行调整;
77、根据当前系统中虚拟机的数量和资源分配量,计算出每个虚拟机的负载量li;如果某个虚拟机的负载量li高于阈值tl,则说明该虚拟机需要分配更多的资源;
78、根据计算出的每个虚拟机的负载量li,以及当前系统中所有虚拟机的总资源量,重新分配每个虚拟机的资源分配量;具体地,可以将虚拟机的资源分配量均匀地分配到所有需要调整的虚拟机中,以保证各个虚拟机的负载量均衡;
79、在重新分配资源之后,重新计算系统中各个资源的利用率,如果某个资源的利用率仍然高于阈值th,则需要继续进行调整,直到所有资源的利用率都低于阈值;最后,监测系统中的负载情况,并动态地调整虚拟机资源分配量,以适应不同的工作负载。
80、本发明一种计算机进程隔离优化硬件资源的管理系统的技术效果和优点:本系统通过将进程隔离到不同的虚拟机中,并在虚拟机之间分配硬件资源,实现了对硬件资源请求队列的优化,提高了计算机系统的性能和可靠性。同时,该系统可以动态地调整虚拟机之间的资源分配,以适应系统负载变化,提高了系统的灵活性和适应性。此外,本发明可以广泛应用于计算机系统领域,特别适用于需要对硬件资源进行优化的场景,如服务器、虚拟化环境等。