一种分布式系统的带宽控制方法、系统、设备以及介质技术方案

技术编号:25553702 阅读:40 留言:0更新日期:2020-09-08 18:54
本发明专利技术公开了一种分布式系统的带宽控制方法,包括以下步骤:接收数据传输请求;根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据;利用每次读取到的所述预设大小的数据生成子请求,并记录生成的上一个所述子请求和下一个所述子请求的时间间隔;确定在所述时间间隔内其他节点处理的子请求的数量;利用所述其他节点处理的子请求的数量和预设的初始时间标签确定实际的时间标签;根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案,可在保证带宽控制效果的前提下,将磁盘的读写压力随时间均匀分布,提升存储系统稳定性。

【技术实现步骤摘要】
一种分布式系统的带宽控制方法、系统、设备以及介质
本专利技术涉及分布式系统领域,具体涉及一种分布式系统的带宽控制方法、系统、设备以及存储介质。
技术介绍
对于常规系统来说,实现qos的最好方式是在系统的统一入口处,对ops或者带宽进行控制,但是对于分布式系统来说,难以找到统一的控制节点。Ceph属于分布式存储系统,对象存储是ceph系统的一个服务,也是分布式的,因此ceph的qos控制本身就是一个难题。针对ceph的qos功能,目前一种较好的实现方法是使用dmclock算法进行ops控制,具体方法是:针对rgw的每一个op,使用dmclcok算法,计算需要处理此用户下一个op的时间,等此用户的下一个op到来时,根据计算出来的时间来决定是立刻处理请求还是等待一段时间。例如:某用户qos配置为每秒处理1个请求,则t0时刻处理完一个请求后,计算出下一个请求的处理时间为(t0+1)s,如果下一个请求到来的时间(t0+t1)s大于等于(t0+1)s时刻,则立即处理此请求,如果下一个请求到来时间(t0+t1)s小于(t0+1)s时刻,则需等待(1-t1)s后再处理此请求。在Rgw中使用上述方法可实现ops的控制,但是对于带宽控制来讲,上述方法的使用场景受限,原因是每个op携带的数据量不确定,对磁盘造成的压力也不确定:(1)单个op携带数据量较小,数据读写完成后,根据算法调整对应时间,时间间隔较小,不会造成太大影响;(2)单个op携带数据量较大,系统会占用带宽资源,快速将数据读写完成,然后释放带宽资源,进入休眠,等待下一次请求的处理。根据上述分析可以看到,当运行时间较长时,虽然最终可以实现带宽的限制效果,但是带宽限制过程中,磁盘的压力会集中在某一些时间段内,而另外的时间段内磁盘完全没有压力,压力分布并不均匀。
技术实现思路
有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种分布式系统的带宽控制方法,包括以下步骤:接收数据传输请求;根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据;利用每次读取到的所述预设大小的数据生成子请求,并记录生成的上一个所述子请求和下一个所述子请求的时间间隔;确定在所述时间间隔内其他节点处理的子请求的数量;利用所述其他节点处理的子请求的数量和预设的初始时间标签确定实际的时间标签;根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。在一些实施例中,根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据,进一步包括:判断所述数据传输请求类型;响应于所述数据传输请求为下载请求,通过所述下载请求中的oid确定对象的manifest,并通过所述manifest确定所述对象的条带数据的存放位置,以依次在所述条带数据中读取预设大小的数据,直到读完所述条带数据;响应于所述数据传输请求为上传请求,依次从待上传的条带数据中读取预设大小的数据。在一些实施例中,确定在所述时间间隔内其他节点处理的子请求的数量,进一步包括:每隔预设时间段接收其他节点处理的子请求的总数量;利用所述时间间隔、所述预设时间段以及所述总数量确定在所述时间间隔内其他节点处理的子请求的数量。在一些实施例中,根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序,进一步包括:将所述每一个子请求放入dmclock队列中去,以根据dmclock算法的调度方式通过所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种分布式系统的带宽控制系统,包括:接收模块,所述接收模块配置为接收数据传输请求;读取模块,所述读取模块配置为根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据;记录模块,所述记录模块配置为利用每次读取到的所述预设大小的数据生成子请求,并记录生成的上一个所述子请求和下一个所述子请求的时间间隔;第一确定模块,所述第一确定模块配置为确定在所述时间间隔内其他节点处理的子请求的数量;第二确定模块,所述第二确定模块配置为利用所述其他节点处理的子请求的数量和预设的初始时间标签确定实际的时间标签;第三确定模块,所述第三确定模块配置为根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。在一些实施例中,所述读取模块还配置为:判断所述数据传输请求类型;响应于所述数据传输请求为下载请求,通过所述下载请求中的oid确定对象的manifest,并通过所述manifest确定所述对象的条带数据的存放位置,以依次在所述条带数据中读取预设大小的数据,直到读完所述条带数据;响应于所述数据传输请求为上传请求,依次从待上传的条带数据中读取预设大小的数据。在一些实施例中,所述第一确定模块还配置为:每隔预设时间段接收其他节点处理的子请求的总数量;利用所述时间间隔、所述预设时间段以及所述总数量确定在所述时间间隔内其他节点处理的子请求的数量。在一些实施例中,所述第三确定模块还配置为:将所述每一个子请求放入dmclock队列中去,以根据dmclock算法的调度方式通过所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种分布式系统的带宽控制方法的步骤。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种分布式系统的带宽控制方法的步骤。本专利技术具有以下有益技术效果之一:本专利技术提出的方案,可在保证带宽控制效果的前提下,将磁盘的读写压力随时间均匀分布,提升存储系统稳定性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术的实施例提供的分布式系统的带宽控制方法的流程示意图;图2为本专利技术的实施例提供的dmclock算法的调度流程图;图3为本专利技术的实施例提供的分布式系统的带宽控制系统的结构示意图;图4为本专利技术的实施例提供的计算机设备的结构示意图;图5为本专利技术的实施例提供的计算机可读存储介质的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。...

【技术保护点】
1.一种分布式系统的带宽控制方法,其特征在于,包括通过每一个节点执行以下步骤:/n接收数据传输请求;/n根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据;/n利用每次读取到的所述预设大小的数据生成子请求,并记录生成的上一个所述子请求和下一个所述子请求的时间间隔;/n确定在所述时间间隔内其他节点处理的子请求的数量;/n利用所述其他节点处理的子请求的数量和预设的初始时间标签确定实际的时间标签;/n根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。/n

【技术特征摘要】
1.一种分布式系统的带宽控制方法,其特征在于,包括通过每一个节点执行以下步骤:
接收数据传输请求;
根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据;
利用每次读取到的所述预设大小的数据生成子请求,并记录生成的上一个所述子请求和下一个所述子请求的时间间隔;
确定在所述时间间隔内其他节点处理的子请求的数量;
利用所述其他节点处理的子请求的数量和预设的初始时间标签确定实际的时间标签;
根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。


2.如权利要求1所述的方法,其特征在于,根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据,进一步包括:
判断所述数据传输请求类型;
响应于所述数据传输请求为下载请求,通过所述下载请求中的oid确定对象的manifest,并通过所述manifest确定所述对象的条带数据的存放位置,以依次在所述条带数据中读取预设大小的数据,直到读完所述条带数据;
响应于所述数据传输请求为上传请求,依次从待上传的条带数据中读取预设大小的数据。


3.如权利要求1所述的方法,其特征在于,确定在所述时间间隔内其他节点处理的子请求的数量,进一步包括:
每隔预设时间段接收其他节点处理的子请求的总数量;
利用所述时间间隔、所述预设时间段以及所述总数量确定在所述时间间隔内其他节点处理的子请求的数量。


4.如权利要求1所述的方法,其特征在于,根据所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序,进一步包括:
将所述每一个子请求放入dmclock队列中去,以根据dmclock算法的调度方式通过所述实际的时间标签确定每一个所述子请求对应的数据的传输顺序。


5.一种分布式系统的带宽控制系统,其特征在于,包括:
接收模块,所述接收模块配置为接收数据传输请求;
读取模块,所述读取模块配置为根据所述数据传输请求确定待传输的数据,并依次读取预设大小的数据...

【专利技术属性】
技术研发人员:李朋辉李治鹏胡永刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1