基于有界一致性Hash算法的数据分发方法和系统技术方案

技术编号:26534599 阅读:25 留言:0更新日期:2020-12-01 14:22
本申请实施例提供了一种基于有界一致性Hash算法的数据分发方法,所述方法包括:接收多个数据流;将所述多个数据流划分为第一数据流组和第二数据流组;基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区;计算每个流量分区的流量水位;根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区;及基于所述多个流量分区将所述多个数据流分发至下游节点。本申请实施例提供的技术方案,可以通过所述数据流对所述多个数据流进行分组,并对不同的分组以不同的数据分配策略分配数据分区,解决了数据分发时的IO堵塞的问题和分区资源分配不均的问题,提高了数据分发效率。

【技术实现步骤摘要】
基于有界一致性Hash算法的数据分发方法和系统
本申请实施例涉及计算机
,尤其涉及一种基于有界一致性Hash算法的数据分发方法、系统、设备及计算机可读存储介质。
技术介绍
目前,流式数据传输链路的中不同的数据流之间的流量大小差异可能达到几十倍,甚至上百倍,从而导致以下后果:流量大的数据流在数据分发的过程中容易出现IO堵塞的问题,而流量小的数据流会由于数量会较多,在数据分发的过程中会增大在数据分发时的并发难度。且当前数据分发时,没有对所述数据流进行分区,所以会有一部分数据分区会因为处理的所述数据流过多而出现数据分发时并发效率低的问题,还会有一部分数据分区会因为处理的所述数据流过少出现分区资源空闲的问题。因此,如何解决数据分发的过程中的IO堵塞问题和数据分区资源分布不均的问题,从而进一步的数据分发效率,成为了当前要解决的技术问题之一。
技术实现思路
本申请实施例的目的是提供一种基于有界一致性Hash算法的数据分发方法、系统、计算机设备及计算机可读存储介质,用于解决数据分发的过程中的IO堵塞和数据分区资源分布不均的技术问题。本申请实施例的一个方面提供了一种基于有界一致性Hash算法的数据分发方法,包括:接收多个数据流;将所述多个数据流划分为第一数据流组和第二数据流组,所述第二数据流组中的每个数据流的流量大小均大于所述第一数据流组中每个数据流的流量大小,所述第二数据流组的数据流的数量小于所述第一数据流组中的数据流的数量;基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区;计算每个流量分区的流量水位;根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区;及基于所述多个流量分区将所述多个数据流分发至下游节点。可选的,所述将所述多个数据流划分为第一数据流组和第二数据流组,包括:获取每个数据流的流量大小和预设划分比例;及根据所述每个数据流的流量大小和所述预设划分比例,将所述多个数据流划分为第一数据流组和第二数据流组。可选的,所述根据所述每个数据流的流量大小,将所述多个数据流划分为第一数据流组和第二数据流组,包括:以第一预设时间频率获取所述每个数据流对应的当前流量大小;及根据所述每个数据流对应的当前流量大小和所述预设划分比例,更新所述第一数据流组和所述第二数据流组。可选的,所述基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区,包括:获取每个第一数据流的流标识,以得到所述多个第一数据流的多个流标识;基于有界一致性Hash算法将所述多个流标识分配到多个流量分区;及根据每个流标识位置,将所述多个第一数据流写入到多个流量分区。可选的,所述计算每个流量分区的流量水位,包括:以第二预设时间频率计算所述每个流量分区的流量水位,以更新所述每个流量分区的流量水位。可选的,所述根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区,包括:根据所述每个流量分区对应的所述流量水位,从所述多个流量分区中选择多个目标流量分区;及将所述第二数据流组中的多个第二数据流填补到所述多个目标流量分区。可选的,所述根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区,包括:根据所述每个流量分区对应的所述流量水位,对所述多个流量分区进行排序;及根据所述多个流量分区的排序,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区。本申请实施例的一个方面又提供了一种基于有界一致性Hash算法的数据分发系统,包括:接收模块,用于接收多个数据流;划分模块,用于将所述多个数据流划分为第一数据流组和第二数据流组,所述第二数据流组中的每个数据流的流量大小均大于所述第一数据流组中每个数据流的流量大小,所述第二数据流组的数据流的数量小于所述第一数据流组中的数据流的数量;写入模块,用于为基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区;计算模块,用于计算每个流量分区的流量水位;填补模块,用于根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区;及输出模块,用于基于所述多个流量分区将所述多个数据流分发至下游节点。本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现上述的基于有界一致性Hash算法的数据分发方法的步骤。本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的基于有界一致性Hash算法的数据分发方法的步骤。本申请实施例提供的基于有界一致性Hash算法的数据分发方法、系统、设备及计算机可读存储介质,通过所述数据流对所述多个数据流进行分组,并对不同的分组以不同的数据分配策略分配数据分区,解决了数据分发时的IO堵塞的问题和分区资源分配不均的问题,提高数据分发效率。附图说明图1示意性示出了根据本申请实施例的环境应用示意图;图2示意性示出了根据本申请实施例一的基于有界一致性Hash算法的数据分发方法的流程图;图3示意性示出了根据本申请实施例二的基于有界一致性Hash算法的数据分发方法的流程图;图4示意性示出了图3中步骤S304的具体流程图;图5示意性示出了图3中步骤S306的具体流程图;图6示意性示出了图5中步骤S310的具体流程图;图7示意性示出了图5中步骤S310的具体流程图;图8示意性示出了根据本申请实施例二的基于有界一致性Hash算法的数据分发方法的整体流程图;图9示意性示出了根据本申请实施例三的基于有界一致性Hash算法的数据分发系统的框图;以及图10示意性示出了根据本申请实施例四的适于实现基于有界一致性Hash算法的数据分发方法的计算机设备的硬件架构示意图。具体实施方式为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请实施例,并不用于限定本申请实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。需要说明的是,在本专利技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范本文档来自技高网...

【技术保护点】
1.一种基于有界一致性Hash算法的数据分发方法,其特征在于,所述方法包括:/n接收多个数据流;/n将所述多个数据流划分为第一数据流组和第二数据流组,所述第二数据流组中的每个数据流的流量大小均大于所述第一数据流组中每个数据流的流量大小,所述第二数据流组的数据流的数量小于所述第一数据流组中的数据流的数量;/n基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区;/n计算每个流量分区的流量水位;/n根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区;及/n基于所述多个流量分区将所述多个数据流分发至下游节点。/n

【技术特征摘要】
1.一种基于有界一致性Hash算法的数据分发方法,其特征在于,所述方法包括:
接收多个数据流;
将所述多个数据流划分为第一数据流组和第二数据流组,所述第二数据流组中的每个数据流的流量大小均大于所述第一数据流组中每个数据流的流量大小,所述第二数据流组的数据流的数量小于所述第一数据流组中的数据流的数量;
基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区;
计算每个流量分区的流量水位;
根据所述每个流量分区对应的所述流量水位,将所述第二数据流组中的多个第二数据流填补到所述多个流量分区;及
基于所述多个流量分区将所述多个数据流分发至下游节点。


2.根据权利要求1所述的基于有界一致性Hash算法的数据分发方法,其特征在于,所述将所述多个数据流划分为第一数据流组和第二数据流组,包括:
获取每个数据流的流量大小和预设划分比例;及
根据所述每个数据流的流量大小和所述预设划分比例,将所述多个数据流划分为第一数据流组和第二数据流组。


3.根据权利要求2所述的基于有界一致性Hash算法的数据分发方法,其特征在于,所述根据所述每个数据流的流量大小,将所述多个数据流划分为第一数据流组和第二数据流组,包括:
以第一预设时间频率获取所述每个数据流对应的当前流量大小;及
根据所述每个数据流对应的当前流量大小和所述预设划分比例,更新所述第一数据流组和所述第二数据流组。


4.根据权利要求1~3中任一项所述的基于有界一致性Hash算法的数据分发方法,其特征在于,所述基于有界一致性Hash算法,将所述第一数据流组中的多个第一数据流写入到多个流量分区,包括:
获取每个第一数据流的流标识,以得到所述多个第一数据流的多个流标识;
基于有界一致性Hash算法将所述多个流标识分配到多个流量分区;及
根据每个流标识位置,将所述多个第一数据流写入到多个流量分区。


5.根据权利要求1~3中任一项所述的基于有界一致性Hash算法的数据分发方法,其特征在于,所述计算每个流量分区的流量水位,包括:
以第二预设时间频率计算所述每个流量分区的流量水位,以更新所述每个流量分区的流量水位。
<...

【专利技术属性】
技术研发人员:周晖栋
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:上海;31

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

1