输入输出流的控制系统及其方法

文档序号:8361270阅读:356来源:国知局
输入输出流的控制系统及其方法
【技术领域】
[0001]本申请涉及一种输入输出流的控制技术,更具体地涉及一种云计算环境中的输入输出流的控制系统及其方法。
【背景技术】
[0002]随着硬件技术的飞速发展,单台服务器处理能力越来越高,用户可以利用虚拟化技术,在一台服务器上部署多个虚拟机(VM),以实现服务器资源整合,提高软硬件利用率,从而节约IT成本,提高效率。
[0003]在这种云计算环境下,一个集群或一台物理服务器是一个大资源池,CPU、内存、输入输出(10)、网络资源都有其上限。对于存储1资源,1性能也有其上限,单台物理机(NC)在只能提供与其成本相应的1能力,而目前虚拟化技术下,VM的1没有上限控制,资源利用依赖用户抢占,用户抢占越多,则资源消耗越多。
[0004]一般地,集群中的VM需要消耗1资源,如果不加以控制,集群所能承载的1性能可能会被某个或者某几个VM用满,影响其它VM、快照系统等其它设施的正常运行,也会间接导致VM所在物理机(NC)的CPU、内存、网络资源紧张。例如,某个VM写带宽很高,VM磁盘数据存储在分布式存储上,某几个VM的写带宽就可以压满一台NC的网卡;在这种云计算环境下,既需要对VM的单个磁盘进行1流控,也需要对整个NC进行1流控。1性能指标包括读写1PS (10数量每秒)、读写BPS (10字节数每秒),任何一个指标都可能达到设备性能极限。
[0005]综上所述,在云计算环境中,存储资源有限,随着虚拟机(VM)数量变多,VM的存储1争抢的可能性越来越大,如果不加以限制,一个VM甚至可以抢占资源池中所有资源。因此,可知现有技术中存在虚拟机的存储1争抢有限存储资源导致资源消耗无限制的技术问题。

【发明内容】

[0006]本申请的主要目的在于提供一种输入输出流的控制系统及其方法,以解决现有技术中存在的虚拟机的存储1争抢有限存储资源导致资源消耗无限制的技术问题。
[0007]为解决上述问题,根据本申请的一个方面,提供了一种输入输出1流的控制方法,用于云计算环境,所述方法包括:接收1资源请求;根据设置的资源指标计算所述1资源请求的等待时间;根据计算的所述等待时间控制相对应的1资源请求进行提交处理。
[0008]根据本申请的另一个方面,还提供了一种输入输出1流的控制系统,包括:接收模块,用于接收1资源请求;计算模块,用于根据设置的资源指标计算所述1资源请求的等待时间;控制模块,用于根据计算的所述等待时间控制相对应的1资源请求进行提交处理。
[0009]根据本申请的上述技术方案,通过计算1资源请求的等待时间,并根据计算的等待时间控制相对应的1资源请求进行提交处理,避免了虚拟机的存储1争抢存储资源,实现了对虚拟存储系统灵活有效的流控。
【附图说明】
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1是根据本申请实施例的应用场景的示意图;
[0012]图2是本申请一个实施例的输入输出流的控制系统的结构框图;
[0013]图3是本申请另一实施例的输入输出流的控制系统的结构框图;
[0014]图4是本申请一个实施例的输入输出流的控制方法的流程图;以及
[0015]图5是本申请另一实施例的输入输出流的控制方法的流程图。
【具体实施方式】
[0016]本申请通过接收虚拟机管理系统设置的1资源性能上限参数,对虚拟机的每个磁盘的1性能以及整个物理机上所有虚拟机磁盘的总性能进行控制,实现对虚拟存储系统的1性能的灵活控制。
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]在说明本申请所提供的输入输出流的控制系统之前,先对本申请的应用场景进行描述。参考图1,图1是根据本申请实施例的应用场景的示意图。如图所示,在虚拟存储系统中包括多个每个虚拟机(VMl、VM2…….VM η)及其对应的物理机(NO。在本申请的一个实施例中,可以根据VM的每个磁盘(Diskl、Disk2……Disk η)对应设置一个本申请的控制系统(Diskl的控制系统、Disk2的控制系统……Disk η的控制系统、),且可以根据整个NC也对应设置一个本申请的控制系统(NC的控制系统)。在实际应用中,每个VM的磁盘先将1提交给各自的控制系统,每个磁盘提交1以后,通过虚拟化层将1提交给整个NC对应的控制系统,NC提交1以后通过应用程序提交到分布式存储资源池,从而限制整个NC上所有VM的1性能,由此实现VM磁盘各自的1流控和整个NC的1流控。其中,每个控制系统提供各自的参数设置接口,实现流控参数的设置和更新。
[0019]下面配合附图对本申请的输入输出流的控制系统及其方法做进一步说明。请参考图2,图2是本申请的输入输出流的控制系统的结构框图,该系统至少包括:接收模块10、计算模块20和控制模块30,下面详细描述各模块的结构和连接关系。
[0020]接收模块10,用于接收1资源请求。在本申请的一个实施例中,接收到1资源请求的设备可以是一个虚拟机(VM)磁盘或者整个物理机(NC),对于一个VM磁盘或者整个NC都执行同样的流控处理,也就是说,既可以对单一的虚拟机磁盘的1流进行控制,也可以同时对整个物理机的1流进行控制。由此实现对VM的每个磁盘的1性能、整个NC上所有VM的总体性能进行控制。
[0021]计算模块20与接收模块10相耦接,用于根据设置的资源指标计算所述1资源请求的等待时间。所述资源指标是通过系统内部或外部预先设置的阈值,并在设置的资源指标内进行1流控。例如,预先设置的资源指标可以包括:时间片长度、读/写1速度(1PS)或者读/写1带宽(BPS)等指标。
[0022]请参考图3,计算模块20进一步包括:第一计算模块210、第二计算模块220和设置模块230。其中,第一计算模块210用于根据设置的时间片长度、1速度和/或1带宽的上限值,计算当前时间戳所允许处理的第一 1资源。第二计算模块220用于根据记录的当前时间片已经调度的1资源请求和当前接收到的1资源请求,计算当前所需处理的第二 1资源。设置模块230分别与第一计算模块210和第二计算模块220相耦接,用于如果第一 1资源大于或等于所述第二 1资源,则设置1资源请求的等待时间为零,否则设置1资源请求的等待时间不为零。
[0023]在实际应用中,需要先设置读/写1速度(读/写10PS)或者读/写1带宽(读/写BPS)的上限值、以及当前的时间片长度上限(例如500ms),根据当前时间戳和设置的时间片长度计算当前时间戳所允许处理的第一 1资源,第一 1资源记为allow。所述第一1资源是当前能够调度的最大资源数量,其中,第一 1资源可以是1字节数和/或1数量。接着,根据记录的当时已经调度的1资源请求(包括:10字节数和/或1数量)以及当前接收到的1资源请求,计算当前所需处理的第二 1资源,第二 1资源记为expect。所述第二 1资源是当前期望处理的1请求资源,其中,第二 1资源可以是1字节数和/或1数量。
[0024]通过比较allow和expect的大小设置1资源请求的等待时间(wait),具体地:
[0025]如果expect〈=allow,则不用被限制,设置wait时间为O ;
[0026]如果expect>allow,则需要被限制,设置wait时间为:
[0027](expect-allow)/ 设置的 1PS 或者 BPS 上限值。
[0028]在实际应用中,可以根据1数量和1带宽分别计算等待时间(wait),分别得到针对1字节数与1数量的两个wait值,在两个wait值都为O的情况下认为wait时间为0,如果有一个wait值不为0,则认为wait时间不为O。
[0029]需要说明,每次计算的wait时间都让1资源请求在时间片内均匀分布,由此可以保证1资源请求不会出现延迟而大幅抖动。
[0030]继续参考图2,控制模块30与计算模块20相耦接,用于根据计算模块20计算的所述等待时间控制相对应的1资源请求进行提交处理。
[0031]另外,在本申请的一个实施例中,所述输入输出流的控制系统还包括有:判断模块40,其耦接在接收模块10与计算模块20之间。当接收模块10接收到1资源请求后,判断模块40判断当前是否有1资源请求等待处理,也就是判断预设
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1