一种在数据同步过程中实现流量控制的方法技术

技术编号:20657263 阅读:42 留言:0更新日期:2019-03-23 08:39
本发明专利技术公开了一种在数据同步过程中实现流量控制的方法,包括:获取客户端发送的数据同步任务;按照预设的IOPS从数据同步任务中的对象存储桶中获取待同步列表,并将待同步列表添加至同步队列,待同步列表中未包含待同步数据;在预设的带宽范围内通过多个同步线程同步待同步数据。该方法在数据同步过程中,实现了流量的灵活控制,能够避免数据丢失,还减小了流量控制对数据同步的影响。相应地,本发明专利技术公开的一种在数据同步过程中实现流量控制的装置、设备及可读存储介质,也同样具有上述技术效果。

A Method of Flow Control in Data Synchronization

The invention discloses a method for realizing flow control in the process of data synchronization, which includes: acquiring data synchronization tasks sent by clients; acquiring a list to be synchronized from an object storage bucket in a data synchronization task according to a preset IOPS, and adding a list to a synchronization queue, which does not contain data to be synchronized; and passing through multiple lists in a preset bandwidth range. Synchronization threads synchronize data to be synchronized. In the process of data synchronization, the method realizes flexible flow control, avoids data loss, and reduces the impact of flow control on data synchronization. Accordingly, the device, device and readable storage medium for realizing flow control in data synchronization process disclosed by the present invention also have the same technical effect.

【技术实现步骤摘要】
一种在数据同步过程中实现流量控制的方法
本专利技术涉及数据存储
,更具体地说,涉及一种在数据同步过程中实现流量控制的方法、装置、设备及可读存储介质。
技术介绍
在分布式对象存储集群中,为了使不同分布式对象存储集群存储的数据一致,需要进行数据同步。而在数据同步过程中,为了避免数据丢失,需要在数据同步过程中进行流量控制。在现有的数据同步方案中,在数据同步过程中实现流量控制的方案一般为:在数据同步线程执行时,在原分布式对象存储集群和目的分布式对象存储集群中设置数据传输时的IOPS或带宽的阈值,来控制原分布式对象存储集群的数据发送速率和目的分布式对象存储集群的数据接收速率。其中,在两端分别设置IOPS或带宽的阈值来实现流量控制时,需要协调两端的数据传输速率,例如:当数据发送速率较快时,目的分布式对象存储集群的数据接收速率的限制将不能过小,否则可能导致数据丢失或同步过程报错。且在现有的在数据同步过程中实现流量控制的方案中,当阈值设置的较小时,存在争抢资源的问题,无法保持良好的并发性。因此,在数据同步过程中,如何灵活控制流量,以避免数据丢失,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种在数据同步过程中实现流量控制的方法、装置、设备及可读存储介质,以实现在数据同步过程中灵活控制流量,避免数据丢失。为实现上述目的,本专利技术实施例提供了如下技术方案:一种在数据同步过程中实现流量控制的方法,包括:获取客户端发送的数据同步任务;按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,并将所述待同步列表添加至同步队列,所述待同步列表中未包含待同步数据;在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据。其中,所述在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据,包括:从所述同步队列中获取所述待同步列表,并根据获取到的待同步列表获取对应的待同步数据;在预设的带宽范围内通过多个同步线程同步所述待同步数据。其中,所述从所述同步队列中获取所述待同步列表,包括:按照所述待同步列表添加至所述同步队列的时间顺序从所述同步队列中获取所述待同步列表。其中,所述将所述待同步列表添加至同步队列,包括:按照所述待同步列表的时间顺序将所述待同步列表添加至所述同步队列。其中,所述获取客户端发送的数据同步任务之后,还包括:提取所述数据同步任务携带的同步信息,并根据所述同步信息验证所述数据同步任务;当所述数据同步任务验证通过后,执行所述按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表的步骤。其中,所述按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,包括:按照预设的IOPS和所述对象存储桶中的对象列举顺序从所述对象存储桶中获取待同步列表。其中,所述在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据之后,还包括:记录数据同步过程中的统计信息,并根据所述统计信息判断所述数据同步任务是否执行成功;若是,则返回所述数据同步任务执行成功的消息至所述客户端;若否,则返回所述数据同步任务未执行成功的消息至所述客户端,并显示所述统计信息。一种在数据同步过程中实现流量控制的装置,包括:获取模块,用于获取客户端发送的数据同步任务;IOPS控制模块,用于按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,并将所述待同步列表添加至同步队列,所述待同步列表中未包含待同步数据;带宽控制模块,用于在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据。一种在数据同步过程中实现流量控制的设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述任意一项所述的在数据同步过程中实现流量控制的方法的步骤。一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的在数据同步过程中实现流量控制的方法的步骤。通过以上方案可知,本专利技术实施例提供的一种在数据同步过程中实现流量控制的方法,包括:获取客户端发送的数据同步任务;按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,并将所述待同步列表添加至同步队列,所述待同步列表中未包含待同步数据;在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据。可见,所述方法在数据同步过程中,按照预设的IOPS限制待同步列表的获取,以控制数据同步过程中的待同步列表读写次数,进而将获取到的待同步列表添加至同步队列;在预设的带宽范围内通过多个同步线程同步待同步数据,以控制同步待同步数据的带宽。其中,由于待同步列表中未包含待同步数据,因此就算同步队列拥堵,也不会丢失待同步数据,并且在预设的带宽范围内通过多个同步线程同步待同步数据,可以在有限的带宽范围内使同步过程保持良好的并发性。因此该方法在数据同步过程中,实现了流量的灵活控制,能够避免数据丢失,还减小了流量控制对数据同步的影响。相应地,本专利技术实施例提供的一种在数据同步过程中实现流量控制的装置、设备及可读存储介质,也同样具有上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种在数据同步过程中实现流量控制的方法流程图;图2为本专利技术实施例公开的一种在数据同步过程中实现流量控制的装置示意图;图3为本专利技术实施例公开的一种在数据同步过程中实现流量控制的设备示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种在数据同步过程中实现流量控制的方法、装置、设备及可读存储介质,以实现在数据同步过程中灵活控制流量,避免数据丢失。参见图1,本专利技术实施例提供的一种在数据同步过程中实现流量控制的方法,包括:S101、获取客户端发送的数据同步任务;S102、按照预设的IOPS从数据同步任务中的对象存储桶中获取待同步列表,并将待同步列表添加至同步队列,待同步列表中未包含待同步数据;优选地,所述在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据,包括:从所述同步队列中获取所述待同步列表,并根据获取到的待同步列表获取对应的待同步数据;在预设的带宽范围内通过多个同步线程同步所述待同步数据。其中,所述从所述同步队列中获取所述待同步列表,包括:按照所述待同步列表添加至所述同步队列的时间顺序从所述同步队列中获取所述待同步列表。优选地,所述将所述待同步列表添加至同步队列,包括:按照所述待同步列表的时间顺序将所述待同步列表添加至所述同步队列。S103、在预设的带宽范围内通过多个同步线程同步,同步队列中各个待同步列表本文档来自技高网...

【技术保护点】
1.一种在数据同步过程中实现流量控制的方法,其特征在于,包括:获取客户端发送的数据同步任务;按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,并将所述待同步列表添加至同步队列,所述待同步列表中未包含待同步数据;在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据。

【技术特征摘要】
1.一种在数据同步过程中实现流量控制的方法,其特征在于,包括:获取客户端发送的数据同步任务;按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表,并将所述待同步列表添加至同步队列,所述待同步列表中未包含待同步数据;在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据。2.根据权利要求1所述的在数据同步过程中实现流量控制的方法,其特征在于,所述在预设的带宽范围内通过多个同步线程同步所述同步队列中各个待同步列表对应的待同步数据,包括:从所述同步队列中获取所述待同步列表,并根据获取到的待同步列表获取对应的待同步数据;在预设的带宽范围内通过多个同步线程同步所述待同步数据。3.根据权利要求2所述的在数据同步过程中实现流量控制的方法,其特征在于,所述从所述同步队列中获取所述待同步列表,包括:按照所述待同步列表添加至所述同步队列的时间顺序从所述同步队列中获取所述待同步列表。4.根据权利要求3所述的在数据同步过程中实现流量控制的方法,其特征在于,所述将所述待同步列表添加至同步队列,包括:按照所述待同步列表的时间顺序将所述待同步列表添加至所述同步队列。5.根据权利要求4所述的在数据同步过程中实现流量控制的方法,其特征在于,所述获取客户端发送的数据同步任务之后,还包括:提取所述数据同步任务携带的同步信息,并根据所述同步信息验证所述数据同步任务;当所述数据同步任务验证通过后,执行所述按照预设的IOPS从所述数据同步任务中的对象存储桶中获取待同步列表的步骤。6.根据权利要求1-5任意一项所述的在数据同...

【专利技术属性】
技术研发人员:白学余
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东,37

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

1