硬盘读写控制方法、装置、电子设备及存储介质

文档序号:1755009 发布日期:2019-11-29 浏览:4次 >En<

阅读说明:本技术 硬盘读写控制方法、装置、电子设备及存储介质 (Disk read-write control method, device, electronic equipment and storage medium ) 是由 张宏海 余高峰 吴海波 严杰 于 2018-05-22 设计创作,主要内容包括:本发明实施例提供了硬盘读写控制方法、装置、电子设备及存储介质,该方法包括:若计算节点针对目标硬盘的操作状态为非允许状态,获取目标硬盘的令牌深度;判断目标硬盘的令牌深度与深度阈值的大小关系;若目标硬盘的令牌深度小于深度阈值,将计算节点针对目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加目标硬盘的令牌深度。在本发明实施例的硬盘读写控制方法中,根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘进行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。(The embodiment of the invention provides disk read-write control method, device, electronic equipment and storage mediums, this method comprises: obtaining the token depth of target hard disk if the mode of operation that calculate node is directed to target hard disk is non-permitted state;Judge the token depth of target hard disk and the size relation of depth threshold;If the token depth of target hard disk is less than depth threshold, calculate node is changed to permission state for the mode of operation of target hard disk, and increase rule according to predetermined depth, increases the token depth of target hard disk.In the disk read-write control method of the embodiment of the present invention, determine whether target hard disk can also allow the access of calculate node according to the token depth of target hard disk, when the token depth of target hard disk is less than depth threshold, calculate node is allowed to carry out corresponding read-write operation to target hard disk, multiple calculate nodes may be implemented while accessing a hard disk, it can be improved the working efficiency of calculate node, to improve the operational efficiency of network entirety.)

硬盘读写控制方法、装置、电子设备及存储介质

技术领域

本发明涉及数据读写技术领域,特别是涉及硬盘读写控制方法、装置、电子设备及存储介质。

背景技术

SAN(Storage Area Network,存储局域网络)是一种将存储设备、连接设备和接口集成在一起的存储网络,承担了数据存储任务。在SAN中通过SCSI(Small Computer SystemInterface,小型计算机系统接口)完成数据传输。SAS(Serial Attached SCSI,串行连接SCSI)是新一代的SCSI技术,通过采用串行技术以获得更高的传输速度,并且通过缩短连结线以改善内部空间等。

相关SAN网络中,每个硬盘同一时间仅允许一个计算节点的I/O(Input/Output,输入/输出)操作,但是随着SAS技术的兴起,SAN网络中计算节点的数量大量增加,每个硬盘同一时间仅允许一个计算节点的IO操作,造成大量计算节点排队等待的现象,严重影响了计算节点的工作效率,网络整体运行效率低。

发明内容

本发明实施例的目的在于提供一种硬盘读写控制方法、装置、电子设备及存储介质,以实现提高网络整体运行效率低。具体技术方案如下:

第一方面,本发明实施例提供了一种硬盘读写控制方法,所述方法包括:

确定待操作数据所在的目标硬盘;

判断请求操作所述待操作数据的计算节点针对所述目标硬盘的操作状态;

若所述计算节点针对所述目标硬盘的操作状态为非允许状态,获取所述目标硬盘的令牌深度,其中,所述目标硬盘的令牌深度用于表征所述目标硬盘中被占用的读写资源;

判断所述目标硬盘的令牌深度与深度阈值的大小关系;

若所述目标硬盘的令牌深度小于所述深度阈值,将所述计算节点针对所述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加所述目标硬盘的令牌深度。

可选的,在所述判断请求操作所述待操作数据的计算节点针对所述目标硬盘的操作状态之后,所述方法还包括:

若所述计算节点针对所述目标硬盘的操作状态为允许状态,通过所述计算节点完成对所述目标硬盘中待操作数据的读写操作。

可选的,本发明实施例的硬盘读写控制方法还包括:

在所述计算节点满足预设令牌释放规则时,将所述计算节点针对所述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少所述目标硬盘的令牌深度。

可选的,在本发明实施例的硬盘读写控制方法中,判断所述计算节点是否满足预设令牌释放规则的步骤如下:

在所述计算节点完成对所述目标硬盘的读写操作后,或所述计算节点针对所述目标硬盘的操作状态为允许状态的时间达到预设时间阈值时,判定所述计算节点满足预设令牌释放规则。

可选的,在所述判断所述目标硬盘的令牌深度与深度阈值的大小关系之后,所述方法还包括:

若所述目标硬盘的令牌深度不小于所述深度阈值,禁止所述计算节点对所述目标硬盘进行读写操作。

可选的,在所述判断所述目标硬盘的令牌深度与深度阈值的大小关系之前,所述方法还包括:

确定所述计算节点对所述待操作数据进行读写操作时,所占用的所述目标硬盘的读写资源,作为待使用读写资源;

在所述目标硬盘的总读写资源中去除所述待使用读写资源,得到所述深度阈值。

第二方面,本发明实施例提供了一种硬盘读写控制装置,所述装置包括:

硬盘确定模块,用于确定待操作数据所在的目标硬盘;

状态判定模块,用于判断请求操作所述待操作数据的计算节点针对所述目标硬盘的操作状态;

深度获取模块,用于若所述计算节点针对所述目标硬盘的操作状态为非允许状态,获取所述目标硬盘的令牌深度,其中,所述目标硬盘的令牌深度用于表征所述目标硬盘中被占用的读写资源;

阈值判定模块,用于判断所述目标硬盘的令牌深度与深度阈值的大小关系;

状态标定模块,用于若所述目标硬盘的令牌深度小于所述深度阈值,将所述计算节点针对所述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加所述目标硬盘的令牌深度。

可选的,本发明实施例的硬盘读写控制装置还包括:

操作允许模块,用于若所述计算节点针对所述目标硬盘的操作状态为允许状态,通过所述计算节点完成对所述目标硬盘中待操作数据的读写操作。

可选的,本发明实施例的硬盘读写控制装置还包括:

深度释放模块,用于在所述计算节点满足预设令牌释放规则时,将所述计算节点针对所述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少所述目标硬盘的令牌深度。

可选的,所述深度释放模块,具体用于:

在所述计算节点完成对所述目标硬盘的读写操作后,或所述计算节点针对所述目标硬盘的操作状态为允许状态的时间达到预设时间阈值时,将所述计算节点针对所述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少所述目标硬盘的令牌深度。

可选的,本发明实施例的硬盘读写控制装置还包括:

操作禁止模块,用于若所述目标硬盘的令牌深度不小于所述深度阈值,禁止所述计算节点对所述目标硬盘进行读写操作。

可选的,本发明实施例的硬盘读写控制装置还包括:

资源确定模块,用于确定所述计算节点对所述待操作数据进行读写操作时,所占用的所述目标硬盘的读写资源,作为待使用读写资源;

阈值确定模块,用于在所述目标硬盘的总读写资源中去除所述待使用读写资源,得到所述深度阈值。

第三方面,本发明实施例提供了一种电子设备,包括处理器及存储器;

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面任一所述的硬盘读写控制方法。

第四方面,本发明实施例提供了一种存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的硬盘读写控制方法。

本发明实施例提供的硬盘读写控制方法、装置、电子设备及存储介质,确定待操作数据所在的目标硬盘;判断请求操作待操作数据的计算节点针对目标硬盘的操作状态;若计算节点针对目标硬盘的操作状态为非允许状态,获取目标硬盘的令牌深度,其中,目标硬盘的令牌深度用于表征目标硬盘中被占用的读写资源;判断目标硬盘的令牌深度与深度阈值的大小关系;若目标硬盘的令牌深度小于深度阈值,将计算节点针对目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加目标硬盘的令牌深度。根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘进行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的硬盘读写控制方法的一种流程示意图;

图2为本发明实施例的数据存储系统的一种示意图;

图3为本发明实施例的硬盘读写控制方法的另一种流程示意图;

图4为本发明实施例的硬盘读写控制装置的一种示意图;

图5为本发明实施例的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

相关SAN网络中,为了保证硬盘带宽,每个硬盘同一时间仅允许一个计算节点的IO操作,其他需要读写该硬盘的计算节点需要排队等待。但是随着SAS等技术的发展,硬盘带宽大大增加,同时SAN网络中计算节点的数量也大幅增长,一个硬盘同一时间仅允许一个计算节点进行IO操作,降低了硬盘的利用效率低,严重影响SAN网络整体运行速度。

有鉴于此,本发明实施例提供了一种硬盘读写控制方法,参见图1,该方法包括:

S101,确定待操作数据所在的目标硬盘。

本发明实施例中的硬盘读写控制方法可以通过控制系统实现,控制系统为任意能够实现本发明实施例的硬盘读写控制方法的系统。例如:

控制系统可以为一种设备,包括:处理器、存储器、通信接口和总线;处理器、存储器和通信接口通过总线连接并完成相互间的通信;存储器存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明实施例的硬盘读写控制方法。

控制系统还可以为一种应用程序,用于在运行时执行本发明实施例的硬盘读写控制方法。

控制系统还可以为一种存储介质,用于存储可执行代码,可执行代码用于执行本发明实施例的硬盘读写控制方法。

控制系统可以根据获取的数据请求指令,确定待操作数据所在的目标硬盘,其中,数据请求指令中包含待操作数据的标识。可选的,数据请求指令中还可以包括请求操作待操作数据的计算节点的标识。

S102,判断请求操作上述待操作数据的计算节点针对上述目标硬盘的操作状态。

控制系统判断计算节点针对目标硬盘的操作状态,计算节点针对目标硬盘的操作状态为允许状态或非允许状态。例如,控制系统建立硬盘与计算节点的操作状态表,在操作状态表中针对每个硬盘,记录针对该硬盘的操作状态为允许状态的各计算节点;或在操作状态表中针对每个计算节点,记录该计算节点针对哪些硬盘的操作状态为允许状态。可选的,控制系统为计算节点,控制系统的操作状态表中包括该计算节点针对的操作状态为允许状态的各硬盘的标识。

控制系统还可以通过判断计算节点是否持有目标硬盘的令牌来确定计算节点是否处于目标硬盘的允许操作状态,若计算节点持有目标硬盘的令牌,则判定计算节点针对目标硬盘的操作状态为允许状态;若计算节点未持有目标硬盘的令牌,判定计算节点针对目标硬盘的操作状态为非允许状态。

S103,若上述计算节点针对上述目标硬盘的操作状态为非允许状态,获取上述目标硬盘的令牌深度,其中,上述目标硬盘的令牌深度用于表征上述目标硬盘中被占用的读写资源。

令牌深度用于表征硬盘中被占用的读写资源。例如:目标硬盘的令牌深度可以为目标硬盘被占用的带宽,或目标硬盘的令牌深度还可以为正在对目标硬盘进行读写操作的计算节点的数量。

S104,判断上述目标硬盘的令牌深度与深度阈值的大小关系。

在目标硬盘的令牌深度为正在对目标硬盘进行读写操作的计算节点的数量时,深度阈值可以为提前设定的,深度阈值的设定要保证能够满足至少两个计算节点同时访问一个硬盘,例如,深度阈值可以设定为2、3、4或5等。

深度阈值还可以根据目标硬盘的带宽等资源计算得到。可选的,在上述判断上述目标硬盘的令牌深度与深度阈值的大小关系之前,本发明实施例的硬盘读写控制方法还包括:

步骤一,确定上述计算节点对上述待操作数据进行读写操作时,所占用的上述目标硬盘的读写资源,作为待使用读写资源。

控制系统确定计算节点针对目标硬盘执行待操作数据的读写操作时,需要使用的目标硬盘的读写资源,即待使用读写资源。

步骤二,在上述目标硬盘的总读写资源中去除上述待使用读写资源,得到上述深度阈值。

控制系统在目标硬盘总读写资源的基础上,去除上述待使用读写资源,将剩余的资源作为深度阈值。例如,目标硬盘的总带宽为100MB(MByte/兆字节)/秒,计算节点执行数据请求指令的读写操作所需的硬盘带宽为20MB/秒,则深度阈值为100-20=80MB/秒。

在本发明实施中,根据待操作数据,确定深度阈值,能够充分利用硬盘的读写资源。

S105,若上述目标硬盘的令牌深度小于上述深度阈值,将上述计算节点针对上述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加上述目标硬盘的令牌深度。

在目标硬盘的令牌深度小于深度阈值时,将计算节点针对目标硬盘的操作状态由非允许状态变更为允许状态,例如,令计算节点持有目标硬盘的令牌;同时按照预设深度增加规则,增加目标硬盘的令牌深度。针对目标硬盘的操作状态为允许状态的计算节点能够对目标硬盘进行读写操作。

预设深度增加规则可以为:在针对目标硬盘的操作状态为非允许状态的计算节点中,每有一个计算节点针对该目标硬盘的操作状态变更允许状态时,在目标硬盘的当前令牌深度的基础上增加该计算节点占用的令牌深度。例如,在目标硬盘的令牌深度为正在对目标硬盘进行读写操作的计算节点的数量时,可以设定:在针对目标硬盘的操作状态为非允许状态的计算节点中,每有一个计算节点针对该目标硬盘的操作状态变更允许状态时,在目标硬盘的当前令牌深度的基础上增加1。例如,在令牌深度为目标硬盘被占用的带宽时,可以设定:在针对目标硬盘的操作状态为非允许状态的计算节点中,每有一个计算节点针对该目标硬盘的操作状态变更允许状态时,在目标硬盘的当前令牌深度的基础上增加该计算节点占用的带宽等。

在本发明实施例中,根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘执行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,在上述判断请求操作上述待操作数据的计算节点针对上述目标硬盘的操作状态之后,上述方法还包括:

若上述计算节点针对上述目标硬盘的操作状态为允许状态,通过上述计算节点完成对上述目标硬盘中待操作数据的读写操作。

若计算节点针对上述目标硬盘的操作状态为允许状态,例如,计算节点持有目标硬盘的令牌,则允许计算节点对目标硬盘进行读写操作。

在本发明实施例中,在计算节点处于目标硬盘的允许操作状态时,通过计算节点按照数据请求指令对目标硬盘进行读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,本发明实施例的硬盘读写控制方法还包括:

在上述计算节点满足预设令牌释放规则时,将上述计算节点针对上述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少上述目标硬盘的令牌深度。

预设令牌释放规则可以根据实际需求进行设定,可选的,判断上述计算节点是否满足预设令牌释放规则的步骤如下:

在上述计算节点完成对上述目标硬盘的读写操作后,或上述计算节点针对上述目标硬盘的操作状态为允许状态的时间达到预设时间阈值时,判定上述计算节点满足预设令牌释放规则。

预设时间阈值可以根据实际情况进行设定,例如,设定为1秒、5秒或10秒等。在计算节点满足预设令牌释放规则时,将该计算节点针对目标硬盘的操作状态变更为非允许状态,并释放该计算节点占用的目标硬盘的令牌深度。

预设深度减少规则为任意减少目标硬盘的令牌深度的规则,可以设定为:在针对目标硬盘的操作状态为允许状态的计算节点中,每有一个计算节点针对目标硬盘的操作状态变更为非允许状态时,在目标硬盘的当前令牌深度的基础上减去该计算节点释放的令牌深度。例如,在目标硬盘的令牌深度为正在对目标硬盘进行读写操作的计算节点的数量时,可以设定:在针对目标硬盘的操作状态为允许状态的计算节点中,每有一个计算节点针对目标硬盘的操作状态变更为非允许状态时,在目标硬盘的当前令牌深度的基础上减1。例如,在令牌深度为目标硬盘被占用的带宽,可以设定:在针对目标硬盘的操作状态为允许状态的计算节点中,每有一个计算节点针对目标硬盘的操作状态变更为非允许状态时,在目标硬盘的当前令牌深度的基础上减去该计算节点占用的带宽等。

在本发明实施例中,在计算节点满足预设令牌释放规则时,将计算节点针对目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少目标硬盘的令牌深度,保证了硬盘令牌的释放,从而保证新的计算节点有机会对目标硬盘进行读写操作。

可选的,在上述判断上述目标硬盘的令牌深度与深度阈值的大小关系之后,上述方法还包括:

若上述目标硬盘的令牌深度不小于上述深度阈值,禁止上述计算节点对上述目标硬盘进行读写操作。

在本发明实施例中,在目标硬盘的令牌深度不小于深度阈值,禁止计算节点对目标硬盘进行读写操作,保证了正在对目标硬盘进行读写操作的计算节点的带宽。

本发明实施例还提供了一种数据存储系统,参见图2,上述数据存储系统为集群分布式存储系统,计算节点的各计算资源是分布式的,存储节点的数据存储资源硬盘也是分布式的,通过单个或多个SAS交换机网络路由,各计算节点间相互可见,各计算节点也可以看到各硬盘。

计算节点包括:软件-业务应用层、软件-IO流管理层、软件-SAS-HBA驱动层、硬件主板和SAS-HBA卡等。

软件-业务应用层:用于实现各种计算机应用软件,发起数据存储的读写请求,发起或响应数据通讯的请求。

软件-IO流管理层:用于将来自软件-业务应用层的数据进行聚合或拆分,组包后发送给软件-SAS-HBA(Host Bus Adapter,主机总线适配器)驱动层,并将软件-SAS-HBA驱动反馈回来的数据包回传给软件-业务应用层。

软件-SAS-HBA驱动层:用于作为发起端时,将IO流发送给硬盘,或将IO流发送给目的端的计算节点;作为目的端时,响应发起端计算节点发送的IO流请求,经本计算节点的软件-IO流管理层传递给本计算节点的软件-业务应用层。

硬件主板和SAS-HBA卡:是用于承载计算节点的具体硬件资源,包括硬件主板,处理器及SAS-HBA卡等。

SAS交换机:是负责SAS IO路由的硬件设备,其软件程序记录了本发明实施例的数据存储系统中所有SAS设备的SAS地址路由表,可以实现SAS IO交换。

SAS扩展器:是存储节点的硬件设备,可以扩展连接多块硬盘,SAS扩展器的软件程序记录了本发明实施例的数据存储系统中所有SAS设备的SAS地址路由表,可以控制SAS IO交换。

本发明实施例的数据存储系统,既可以实现计算节点与硬盘的数据传输,也可以实现各计算节点之间的数据传输,从而实现集群通讯。对计算节点采用分布式管理,当部分计算节点因死机等原因丢失时,其它计算节点,不需要做存储数据的切换,仅需要平均接管丢失节点上面管理的硬盘数据存储资源,并且用于触发平均接管的信息的通讯量很小。对硬盘进行分布式管理,当硬盘因掉电等原因导致该硬盘的资源丢失时,在满足冗余的情况下,例如,计算节点基于RAID(Redundant Arrays of Independent Disks,磁盘阵列)数据冗余备份原理,重构丢失的硬盘的数据到其它硬盘中,增强容灾能力。

基于上述数据存储系统,参见图3,本发明实施例的硬盘读写控制方法包括:

S301,周期性获取数据请求指令。

针对每个计算节点,该计算节点的软件-SAS-HBA驱动层周期性查询HBA队列,例如,软件-SAS-HBA驱动层每隔10毫秒轮询一次HBA队列,从HBA队列中获取待发送给目标硬盘的数据请求指令。

S302,判断计算节点是否持有目标硬盘的令牌,若持有目标硬盘的令牌执行S306,若未持有目标硬盘的令牌执行S303。

软件-SAS-HBA驱动层判断该计算节点是否持有目标硬盘的令牌。

S303,向目标硬盘所在的SAS交换机发送令牌申请请求,以使目标硬盘所在的SAS扩展器返回目标硬盘当前的令牌深度。

软件-SAS-HBA驱动层,通过SAS-HBA卡及SAS交换机等,向目标硬盘所在的SAS扩展器发送令牌申请请求。SAS扩展器在接收到令牌申请请求后,向发送令牌申请请求的计算节点返回目标硬盘当前的令牌深度。

S304,判断目标硬盘当前的令牌深度与深度阈值的大小,若目标硬盘当前的令牌深度小于深度阈值执行S305,否则返回S301继续执行。

在该计算节点的软件-SAS-HBA驱动层获取到目标硬盘当前的令牌深度后,比较目标硬盘当前的令牌深度与深度阈值的大小,深度阈值的设定要保证能够满足至少两个计算节点同时访问一个硬盘。若目标硬盘当前的令牌深度大于或等于深度阈值,不执行数据请求指令针对目标硬盘的读写操作,返回执行S301,即在下一周期中,重新获取数据请求指令。

S305,获取目标硬盘的令牌成功,向目标硬盘所在的SAS扩展器返回令牌获取成功指令,以使SAS扩展器根据令牌获取成功指令增加目标硬盘的令牌深度。

在目标硬盘当前的令牌深度小于深度阈值时,判定该计算节点获取目标硬盘的令牌成功,软件-SAS-HBA驱动层通过SAS-HBA卡及SAS交换机等向目标硬盘所在的SAS扩展器发送令牌获取成功指令,其中,令牌获取成功指令表征获取目标硬盘的令牌成功。SAS扩展器在接收到令牌获取成功指令后,按照预设深度增加规则,增加目标硬盘的令牌深度,例如,将目标硬盘的令牌深度增加1。

S306,向目标硬盘发送读写指令,以进行读写操作。

软件-SAS-HBA驱动层,通过SAS-HBA卡及SAS交换机等,向目标硬盘下发用于进行读写操作的读写指令,以完成对目标硬盘的读写操作,该读写指令可以为数据请求指令,也可以为区别于数据请求指令的指令。

S307,判断该计算节点是否满足预设令牌释放规则,若满足预设令牌释放规则执行S308。

判断该计算节点是否满足预设令牌释放规则,若满足预设令牌释放规则执行S308,若不满足预设令牌释放规则,返回执行S301。预设令牌释放规则可以根据实际需求进行设定,例如,在该计算节点完成对目标硬盘的读写操作时,或该计算节点持有目标硬盘的令牌的时间达到预设时间阈值时,判定该计算节点满足预设令牌释放规则。

S308,释放目标硬盘的令牌,并向目标硬盘所在的SAS扩展器发送令牌释放指令,以使目标硬盘所在的SAS扩展器按照令牌释放指令,减少目标硬盘的令牌深度。

在计算节点满足预设令牌释放规则时,释放目标硬盘的令牌,即令该计算节点不再持有目标硬盘的令牌。软件-SAS-HBA驱动层通过SAS-HBA卡及SAS交换机等向目标硬盘所在的SAS扩展器发送令牌释放指令,其中,令牌释放指令表征释放目标硬盘的令牌。SAS扩展器在接收到令牌释放指令后,按照预设深度减少规则,减少目标硬盘的令牌深度,例如,将目标硬盘的令牌深度减1。

在本发明实施例中,在通过为计算节点分配硬盘的令牌,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

本发明实施例还提供了一种硬盘读写控制装置,参见图4,该装置包括:

硬盘确定模块401,用于确定待操作数据所在的目标硬盘;

状态判定模块402,用于判断请求操作上述待操作数据的计算节点针对上述目标硬盘的操作状态;

深度获取模块403,用于若上述计算节点针对上述目标硬盘的操作状态为非允许状态,获取上述目标硬盘的令牌深度,其中,上述目标硬盘的令牌深度用于表征上述目标硬盘中被占用的读写资源;

阈值判定模块404,用于判断上述目标硬盘的令牌深度与深度阈值的大小关系;

状态标定模块405,用于若上述目标硬盘的令牌深度小于上述深度阈值,将上述计算节点针对上述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加上述目标硬盘的令牌深度。

在本发明实施例中,根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘执行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,本发明实施例的硬盘读写控制装置还包括:

操作允许模块,用于若上述计算节点针对上述目标硬盘的操作状态为允许状态,通过上述计算节点完成对上述目标硬盘中待操作数据的读写操作。

在本发明实施例中,在计算节点处于目标硬盘的允许操作状态时,通过计算节点按照数据请求指令对目标硬盘进行读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,本发明实施例的硬盘读写控制装置还包括:

深度释放模块,用于在上述计算节点满足预设令牌释放规则时,将上述计算节点针对上述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少上述目标硬盘的令牌深度。

可选的,在本发明实施例的硬盘读写控制装置中,上述深度释放模块,具体用于:

在上述计算节点完成对上述目标硬盘的读写操作后,或上述计算节点针对上述目标硬盘的操作状态为允许状态的时间达到预设时间阈值时,将上述计算节点针对上述目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少上述目标硬盘的令牌深度。

在本发明实施例中,在计算节点满足预设令牌释放规则时,将计算节点针对目标硬盘的操作状态变更为非允许状态,并按照预设深度减少规则,减少目标硬盘的令牌深度,保证了硬盘令牌的释放,从而保证新的计算节点有机会对目标硬盘进行读写操作。

可选的,本发明实施例的硬盘读写控制装置还包括:

操作禁止模块,用于若上述目标硬盘的令牌深度不小于上述深度阈值,禁止上述计算节点对上述目标硬盘进行读写操作。

在本发明实施例中,在目标硬盘的令牌深度不小于深度阈值,禁止计算节点对目标硬盘进行读写操作,保证了正在对目标硬盘进行读写操作的计算节点的带宽。

可选的,本发明实施例的硬盘读写控制装置还包括:

资源确定模块,用于确定上述计算节点对上述待操作数据进行读写操作时,所占用的上述目标硬盘的读写资源,作为待使用读写资源;

阈值确定模块,用于在上述目标硬盘的总读写资源中去除上述待使用读写资源,得到上述深度阈值。

在本发明实施中,根据待操作数据,确定深度阈值,能够充分利用硬盘的读写资源。

本发明实施例还提供了一种电子设备,参见图5,包括处理器501及存储器502;

上述存储器502,用于存放计算机程序;

上述处理器501,用于执行上述存储器502上所存放的程序时,实现如下步骤:

确定待操作数据所在的目标硬盘;

判断请求操作上述待操作数据的计算节点针对上述目标硬盘的操作状态;

若上述计算节点针对上述目标硬盘的操作状态为非允许状态,获取上述目标硬盘的令牌深度,其中,上述目标硬盘的令牌深度用于表征上述目标硬盘中被占用的读写资源;

判断上述目标硬盘的令牌深度与深度阈值的大小关系;

若上述目标硬盘的令牌深度小于上述深度阈值,将上述计算节点针对上述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加上述目标硬盘的令牌深度。

在本发明实施例中,根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘执行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,本发明实施例的电子设备还包括:通信接口和通信总线,其中,处理器501,通信接口,存储器502通过通信总线完成相互间的通信。

可选的,上述处理器501,用于执行上述存储器502上所存放的程序时,还能够实现上述任一硬盘读写控制方法。

上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,上计算机程序被处理器执行时实现如下步骤:

确定待操作数据所在的目标硬盘;

判断请求操作上述待操作数据的计算节点针对上述目标硬盘的操作状态;

若上述计算节点针对上述目标硬盘的操作状态为非允许状态,获取上述目标硬盘的令牌深度,其中,上述目标硬盘的令牌深度用于表征上述目标硬盘中被占用的读写资源;

判断上述目标硬盘的令牌深度与深度阈值的大小关系;

若上述目标硬盘的令牌深度小于上述深度阈值,将上述计算节点针对上述目标硬盘的操作状态变更为允许状态,并按照预设深度增加规则,增加上述目标硬盘的令牌深度。

在本发明实施例中,根据目标硬盘的令牌深度判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的令牌深度小于深度阈值时,允许计算节点对目标硬盘执行相应的读写操作,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。

可选的,上述计算机可读存储介质内存储有计算机程序被处理器执行时还能够实现上述任一硬盘读写控制方法。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:数据存储系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类