本发明专利技术提供一种多路径的数据调度方法及装置,方法包括:S1:确定发送端与接收端之间所包括的至少两条路径;S2:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行S3,否则执行S4;S3:将数据调度给I/O量最小的路径;S4:将数据轮询调度给各条路径。根据本方案,从而可以节省数据调度资源。
【技术实现步骤摘要】
本专利技术涉及计算机
,特别涉及一种多路径的数据调度方法及装置。
技术介绍
MP1(MultiPath 1/0,多路径管理)是通过一条及以上的物理链路来访问网络存储设备,并且可以使用容错、流量负载平衡以及细粒度的I/o调度策略等方式,为网络存储应用提供更高的可用性和性能优势。目前,在进行数据传输时,可以采用如下方式实现多路径的数据调度:采用轮询的方式,依次将接收到的数据包分别发送给各个路径,以使每一条路径传输为其分配的数据包。然而,在实际应用中,对于不同的网络路径,具有不同的带宽和传输特性,若调度的网络路径中存在传输质量较差的路径,在该路径上的数据传输容易引起数据包的超时、错误、丢包、重传等问题,从而影响整体传输性能。
技术实现思路
有鉴于此,本专利技术提供一种多路径的数据调度方法及装置,以解决现有技术中的数据调度方式影响整体传输性能的问题。本专利技术实施例提供了一种多路径的数据调度方法,包括:S1:确定发送端与接收端之间所包括的至少两条路径;S2:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行S3,否则执行S4 ;S3:将数据调度给I/O量最小的路径;S4:将数据轮询调度给各条路径。 优选地,所述S2,包括:判断是否存在一条路径上的I/O深度与另一条路径上的I/O深度的差值不小于所有路径的平均I/o深度的第一判断结果,以及,判断是否存在一条路径上的I/O任务量与另一条路径上的I/o任务量的差值不小于所有路径的平均I/O任务量的第二判断结果;在所述第一判断结果和所述第二判断结果均包括不存在时,则执行S4 ;在所述第一判断结果和/或所述第二判断结果中包括存在时,则执行S3。优选地,进一步包括:建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程更新数据调度方式的时间阈值。优选地,在S2之前,进一步包括:系统初始化,采用数据轮询调度给各条路径的方式进行数据调度,并利用Start_Routine启动所述独立线程,在所述独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式。优选地,所述设定所述独立线程的时间阈值包括60秒。本专利技术实施例提供了一种多路径的数据调度装置,包括:确定单元,用于确定发送端与接收端之间所包括的至少两条路径;判断单元,用于判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则触发数据调度单元执行相应操作,否则触发轮询调度单元执行相应操作;所述数据调度单元,用于将数据调度给I/O量最小的路径;所述轮询调度单元,用于将数据轮询调度给各条路径。优选地,所述判断单元,用于判断是否存在一条路径上的I/O深度与另一条路径上的I/O深度的差值不小于所有路径的平均I/O深度的第一判断结果,以及,判断是否存在一条路径上的I/O任务量与另一条路径上的I/O任务量的差值不小于所有路径的平均I/O任务量的第二判断结果;在所述第一判断结果和所述第二判断结果均包括不存在时,则触发所述数据调度单元执行相应操作;在所述第一判断结果和/或所述第二判断结果中包括存在时,则触发所述轮询调度单元执行相应操作。优选地,进一步包括:预处理单元,用于建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程更新数据调度方式的时间阈值。优选地,进一步包括:初始处理单元,用于执行系统初始化,采用数据轮询调度给各条路径的方式进行数据调度,并利用Start_Routine启动所述独立线程,在所述独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式。优选地,所述预处理单元,用于设定所述独立线程的时间阈值包括60秒。本专利技术实施例提供了一种多路径的数据调度方法及装置,通过在判断存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量时,表明在某些路径上的I/O量相差较大,因此可以采用将数据调度给I/O量最小的路径的方式进行数据调度,以提高数据调度整体的传输性能,若不存在一条路径上的I/o量与另一条路径上的I/o量的差值不小于所有路径的平均I/O量,则表明路径上的I/O量相差不大,可以采用将数据轮询调度给各条路径的方式进行数据调度,从而可以节省数据调度资源。【附图说明】图1是本专利技术实施例提供的方法流程图;图2是本专利技术另一实施例提供的方法流程图;图3是本专利技术实施例提供的MP1框架架构图;图4是本专利技术实施例提供的装置所在设备的硬件架构图;图5是本专利技术实施例提供的装置结构示意图;图6是本专利技术另一实施例提供的装置结构示意图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,本专利技术实施例提供了一种多路径的数据调度方法,该方法可以包括以下步骤:步骤101:确定发送端与接收端之间所包括的至少两条路径。步骤102:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行步骤103,否则执行步骤104。步骤103:将数据调度给I/O量最小的路径。步骤104:将数据轮询调度给各条路径。根据上述方案,通过在判断存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量时,表明在某些路径上的I/O量相差较大,因此可以采用将数据调度给I/O量最小的路径的方式进行数据调度,以提高数据调度整体的传输性能,若不存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量,则表明路径上的I/O量相差不大,可以采用将数据轮询调度给各条路径的方式进行数据调度,从而可以节省数据调度资源。由于在数据调度过程中,为了降低资源消耗,可以建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程的时间阈值。为保证数据调度过程中的整体传输性能,可以在独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式,从而在数据调度过程中能够每隔一段时间检测当前是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量,来更新数据调度方式。为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本专利技术作进一步地详细描述。如图2所示,本专利技术实施例提供了一种多路径的数据调度方法,该方法可以包括以下步骤:步骤201:系统初始化DSM上下文结构体,初始化后采用默认的数据调度方式进行数据调度,并利用Start_R0utine启动独立线程,在独立线程启动时开始启动定时器进行计时,在定时器达到设定时间阈值时,执行步骤202。首先,简单描述一下本实施例的应用场景。如图3所示,为MP1框架的系统结构示意图,在MP1框架中包括主机Server,Server通过H本文档来自技高网...
【技术保护点】
一种多路径的数据调度方法,其特征在于,包括:S1:确定发送端与接收端之间所包括的至少两条路径;S2:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行S3,否则执行S4;S3:将数据调度给I/O量最小的路径;S4:将数据轮询调度给各条路径。
【技术特征摘要】
【专利技术属性】
技术研发人员:宋腾,
申请(专利权)人:浪潮电子信息产业股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。