一种多路径的数据调度方法及装置的制造方法

文档序号:9380168阅读:366来源:国知局
一种多路径的数据调度方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别涉及一种多路径的数据调度方法及装置。
【背景技术】
[0002]MP1(MultiPath 1/0,多路径管理)是通过一条及以上的物理链路来访问网络存储设备,并且可以使用容错、流量负载平衡以及细粒度的I/o调度策略等方式,为网络存储应用提供更高的可用性和性能优势。
[0003]目前,在进行数据传输时,可以采用如下方式实现多路径的数据调度:采用轮询的方式,依次将接收到的数据包分别发送给各个路径,以使每一条路径传输为其分配的数据包。
[0004]然而,在实际应用中,对于不同的网络路径,具有不同的带宽和传输特性,若调度的网络路径中存在传输质量较差的路径,在该路径上的数据传输容易引起数据包的超时、错误、丢包、重传等问题,从而影响整体传输性能。

【发明内容】

[0005]有鉴于此,本发明提供一种多路径的数据调度方法及装置,以解决现有技术中的数据调度方式影响整体传输性能的问题。
[0006]本发明实施例提供了一种多路径的数据调度方法,包括:
[0007]S1:确定发送端与接收端之间所包括的至少两条路径;
[0008]S2:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行S3,否则执行S4 ;
[0009]S3:将数据调度给I/O量最小的路径;
[0010]S4:将数据轮询调度给各条路径。
[0011 ] 优选地,所述S2,包括:
[0012]判断是否存在一条路径上的I/O深度与另一条路径上的I/O深度的差值不小于所有路径的平均I/o深度的第一判断结果,以及,判断是否存在一条路径上的I/O任务量与另一条路径上的I/o任务量的差值不小于所有路径的平均I/O任务量的第二判断结果;
[0013]在所述第一判断结果和所述第二判断结果均包括不存在时,则执行S4 ;
[0014]在所述第一判断结果和/或所述第二判断结果中包括存在时,则执行S3。
[0015]优选地,进一步包括:
[0016]建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程更新数据调度方式的时间阈值。
[0017]优选地,在S2之前,进一步包括:
[0018]系统初始化,采用数据轮询调度给各条路径的方式进行数据调度,并利用Start_Routine启动所述独立线程,在所述独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式。
[0019]优选地,所述设定所述独立线程的时间阈值包括60秒。
[0020]本发明实施例提供了一种多路径的数据调度装置,包括:
[0021]确定单元,用于确定发送端与接收端之间所包括的至少两条路径;
[0022]判断单元,用于判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则触发数据调度单元执行相应操作,否则触发轮询调度单元执行相应操作;
[0023]所述数据调度单元,用于将数据调度给I/O量最小的路径;
[0024]所述轮询调度单元,用于将数据轮询调度给各条路径。
[0025]优选地,所述判断单元,用于判断是否存在一条路径上的I/O深度与另一条路径上的I/O深度的差值不小于所有路径的平均I/O深度的第一判断结果,以及,判断是否存在一条路径上的I/O任务量与另一条路径上的I/O任务量的差值不小于所有路径的平均I/O任务量的第二判断结果;在所述第一判断结果和所述第二判断结果均包括不存在时,则触发所述数据调度单元执行相应操作;在所述第一判断结果和/或所述第二判断结果中包括存在时,则触发所述轮询调度单元执行相应操作。
[0026]优选地,进一步包括:
[0027]预处理单元,用于建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程更新数据调度方式的时间阈值。
[0028]优选地,进一步包括:
[0029]初始处理单元,用于执行系统初始化,采用数据轮询调度给各条路径的方式进行数据调度,并利用Start_Routine启动所述独立线程,在所述独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式。
[0030]优选地,所述预处理单元,用于设定所述独立线程的时间阈值包括60秒。
[0031]本发明实施例提供了一种多路径的数据调度方法及装置,通过在判断存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量时,表明在某些路径上的I/O量相差较大,因此可以采用将数据调度给I/O量最小的路径的方式进行数据调度,以提高数据调度整体的传输性能,若不存在一条路径上的I/o量与另一条路径上的I/o量的差值不小于所有路径的平均I/O量,则表明路径上的I/O量相差不大,可以采用将数据轮询调度给各条路径的方式进行数据调度,从而可以节省数据调度资源。
【附图说明】
[0032]图1是本发明实施例提供的方法流程图;
[0033]图2是本发明另一实施例提供的方法流程图;
[0034]图3是本发明实施例提供的MP1框架架构图;
[0035]图4是本发明实施例提供的装置所在设备的硬件架构图;
[0036]图5是本发明实施例提供的装置结构示意图;
[0037]图6是本发明另一实施例提供的装置结构示意图。
【具体实施方式】
[0038]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]如图1所示,本发明实施例提供了一种多路径的数据调度方法,该方法可以包括以下步骤:
[0040]步骤101:确定发送端与接收端之间所包括的至少两条路径。
[0041]步骤102:判断是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量;若存在,则执行步骤103,否则执行步骤104。
[0042]步骤103:将数据调度给I/O量最小的路径。
[0043]步骤104:将数据轮询调度给各条路径。
[0044]根据上述方案,通过在判断存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量时,表明在某些路径上的I/O量相差较大,因此可以采用将数据调度给I/O量最小的路径的方式进行数据调度,以提高数据调度整体的传输性能,若不存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量,则表明路径上的I/O量相差不大,可以采用将数据轮询调度给各条路径的方式进行数据调度,从而可以节省数据调度资源。
[0045]由于在数据调度过程中,为了降低资源消耗,可以建立用于实时遍历物理盘状态以及用于数据调度的独立线程,并根据实时遍历物理盘状态的时间间隔,并设定所述独立线程的时间阈值。
[0046]为保证数据调度过程中的整体传输性能,可以在独立线程启动时开始启动定时器进行计时,每当所述定时器达到所述时间阈值时,更新数据调度方式,从而在数据调度过程中能够每隔一段时间检测当前是否存在一条路径上的I/O量与另一条路径上的I/O量的差值不小于所有路径的平均I/O量,来更新数据调度方式。
[0047]为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
[0048]如图2所示,本发明实施例提供了一种多路径的数据调度方法,该方法可以包括以下步骤:
[0049]步骤201:系统初始化DSM上下文结构体,初始化后采用默认的数据调度方式进行数据调度,并利用Start_R0utine启动独立线程,在独立线程启动时开始启动定时器进行计时,在定时器达到设定时间阈值时,执行步骤202。
[0050]首先,简单描述一下本实施例的应用场景。如图3所示,为MP1框架的系统结构示意图,在MP1框架中包括主机Server,Server通过HBA(主机总线适配器)卡与交换机SAN相连接,以及通过SAN与控制器Controller相连接,Controller在于磁盘阵列RAID array相连接,该磁盘阵列作为底层存储设备,用于存储系统中的数据。
[0051]其中,Server与磁盘阵列之间包括至少两条路径,假设包括3条路径,例如,L1、L2、L3,通过利用这三条路径,从底层存储设备映射给主机的一块磁盘,通过网络通信设备的多条路径上报给HBA卡之后,这些从每条路径上报上来的物理盘都需要过滤驱动的过滤操作,其具体功能就是判断上报上来的磁盘是否被DSM(Device Specific Modules)所支持。如果支持就加载MP1的类驱动Mpdev.s
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1