CN110515536B - 数据存储系统 - Google Patents

数据存储系统 Download PDF

Info

Publication number
CN110515536B
CN110515536B CN201810496767.6A CN201810496767A CN110515536B CN 110515536 B CN110515536 B CN 110515536B CN 201810496767 A CN201810496767 A CN 201810496767A CN 110515536 B CN110515536 B CN 110515536B
Authority
CN
China
Prior art keywords
sas
hard disk
target hard
computing node
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810496767.6A
Other languages
English (en)
Other versions
CN110515536A (zh
Inventor
张宏海
余高峰
吴海波
严杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201810496767.6A priority Critical patent/CN110515536B/zh
Priority to PCT/CN2019/082248 priority patent/WO2019223444A1/zh
Publication of CN110515536A publication Critical patent/CN110515536A/zh
Application granted granted Critical
Publication of CN110515536B publication Critical patent/CN110515536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种数据存储系统,该系统包括:多个计算节点、SAS交换机及存储节点,计算节点、SAS交换机及存储节点间基于SAS进行通信;计算节点与SAS交换机连接,SAS交换机与存储节点连接;计算节点:用于若该计算节点针对待访问的目标硬盘的操作状态为非允许操作状态,通过SAS交换机向目标硬盘所在的存储节点发送访问请求;存储节点:用于若目标硬盘的并发访问数量小于预设并发阈值,允许发送访问请求的计算节点访问目标硬盘。本发明实施例的数据存储系统,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高数据存储系统整体运行效率。

Description

数据存储系统
技术领域
本发明涉及数据读写技术领域,特别是涉及数据存储系统。
背景技术
SAN(Storage Area Network,存储局域网络)是一种将存储设备、连接设备和接口集成在一起的存储系统,承担了数据存储任务。在SAN中通过SCSI(Small Computer SystemInterface,小型计算机系统接口)完成数据传输。SAS(Serial Attached SCSI,串行连接SCSI)是新一代的SCSI技术,通过采用串行技术以获得更高的传输速度,并且通过缩短连结线以改善内部空间等。
在相关的基于SAN技术的存储系统中,每个硬盘同一时间仅允许一个计算节点的I/O(Input/Output,输入/输出)操作,但是随着SAS技术的兴起,SAN网络中计算节点的数量大量增加,每个硬盘同一时间仅允许一个计算节点的I/O操作,造成大量计算节点排队等待的现象,严重影响了计算节点的工作效率,数据存储系统整体运行效率低。
发明内容
本发明实施例的目的在于提供一种数据存储系统,以实现提高数据存储系统的运行效率。具体技术方案如下:
本发明实施例提供了一种数据存储系统,所述系统包括:
多个计算节点、串行连接小型计算机系统接口SAS交换机及存储节点;
所述计算节点与所述SAS交换机连接,所述SAS交换机与所述存储节点连接,所述计算节点与所述SAS交换机之间、所述SAS交换机与所述存储节点之间基于SAS进行通信;
所述计算节点:用于若该计算节点针对待访问的目标硬盘的操作状态为非允许操作状态,通过所述SAS交换机向所述目标硬盘所在的存储节点发送访问请求;
所述存储节点:用于若所述目标硬盘的并发访问数量小于预设并发阈值,允许发送所述访问请求的计算节点访问所述目标硬盘,其中,所述预设并发阈值满足所述目标硬盘支持多个计算节点的并发访问。
可选的,所述计算节点包括:SAS-主机总线适配器HBA驱动层及硬件层,所述存储节点包括SAS扩展器及硬盘;
所述硬件层与所述SAS交换机连接,所述SAS交换机与所述SAS扩展器连接;
所述SAS-HBA驱动层:用于若该SAS-HBA驱动层所在的计算节点针对待访问的目标硬盘的操作状态为非允许操作状态,通过所述硬件层及所述SAS交换机向所述目标硬盘所在的SAS扩展器发送访问请求;
所述SAS扩展器:用于若所述目标硬盘的并发访问数量小于预设并发阈值,允许发送所述访问请求的计算节点访问所述目标硬盘,其中,所述预设并发阈值满足所述目标硬盘支持多个计算节点的并发访问。
可选的,所述SAS扩展器:还用于若所述目标硬盘的并发访问数量小于预设并发阈值,向发送所述访问请求的计算节点返回允许访问指令;
所述SAS-HBA驱动层:还用于在接收到允许访问指令后,将该SAS-HBA驱动层所在的计算节点针对所述目标硬盘的操作状态变更为允许操作状态。
可选的,所述SAS-HBA驱动层:还用于若该SAS-HBA驱动层所在的计算节点针对目标硬盘的操作状态为允许操作状态,通过所述硬件层、所述SAS交换机及所述SAS扩展器访问所述目标硬盘。
可选的,所述SAS扩展器:还用于若所述目标硬盘的并发访问数量不小于所述预设并发阈值,禁止发送所述访问请求的计算节点访问所述目标硬盘。
可选的,所述SAS-HBA驱动层:具体用于若该SAS-HBA驱动层未持有目标硬盘的令牌,通过所述硬件层及所述SAS交换机向所述目标硬盘所在的SAS扩展器发送访问请求;
所述SAS扩展器:具体用于若所述目标硬盘的令牌深度小于预设深度阈值,允许发送所述访问请求的计算节点访问所述目标硬盘,为发送所述访问请求的计算节点颁发所述目标硬盘的令牌,并按照预设深度增加规则,增加所述目标硬盘的令牌深度。
可选的,所述SAS扩展器:还用于若所述目标硬盘的令牌深度不小于所述预设深度阈值,禁止发送所述访问请求的计算节点访问所述目标硬盘。
可选的,所述SAS-HBA驱动层:还用于若该SAS-HBA驱动层持有目标硬盘的令牌,通过所述硬件层、所述SAS交换机及所述SAS扩展器访问所述目标硬盘。
可选的,所述SAS-HBA驱动层:还用于在满足预设令牌释放条件时,令该SAS-HBA驱动层未持有所述目标硬盘的令牌,并通过所述硬件层及所述SAS交换机向所述目标硬盘所在的SAS扩展器发送深度减少指令;
所述SAS扩展器:还用于在接收到所述深度减少指令后,按照预设深度减少规则,减少所述目标硬盘的令牌深度。
可选的,所述计算节点:还用于确定待交互的计算节点,通过所述SAS交换机向所述待交互的计算节点发送I/O流请求,接收所述待交互的计算节点根据所述I/O流请求返回的数据。
可选的,所述计算节点:还用于接收I/O流请求,通过所述SAS交换机向发送所述I/O流请求的计算节点,返回所述I/O流请求对应的I/O流。
本发明实施例提供的数据存储系统,该系统包括:多个计算节点、串行连接小型计算机系统接口SAS交换机及存储节点,计算节点与SAS交换机之间、SAS交换机与存储节点之间基于SAS进行通信;计算节点与SAS交换机连接,SAS交换机与存储节点连接;计算节点:用于若该计算节点针对待访问的目标硬盘的操作状态为非允许操作状态,通过SAS交换机向目标硬盘所在的存储节点发送访问请求;存储节点:用于若目标硬盘的并发访问数量小于预设并发阈值,允许发送访问请求的计算节点访问目标硬盘,其中,预设并发阈值满足目标硬盘支持多个计算节点的并发访问。根据目标硬盘的并发访问数量判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的并发访问数量小于预设并发阈值时,允许计算节点访问目标硬盘,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高数据存储系统整体运行效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据存储系统的一种示意图;
图2为本发明实施例的数据存储系统的另一种示意图;
图3为本发明实施例的数据存储系统工作流程的一种示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关SAN网络中,为了保证硬盘带宽,每个硬盘同一时间仅允许一个计算节点的IO操作,其他需要读写该硬盘的计算节点需要排队等待。但是随着SAS等技术的发展,硬盘带宽大大增加,同时SAN网络中计算节点的数量也大幅增长,一个硬盘同一时间仅允许一个计算节点进行IO操作,降低了硬盘的利用效率低,严重影响SAN网络整体运行速度。
有鉴于此,本发明实施例提供了一种数据存储系统,参见图1,该系统包括:
多个计算节点101、串行连接小型计算机系统接口SAS交换机102及存储节点103;
上述计算节点101与上述SAS交换机102连接,上述SAS交换机102与上述存储节点103连接,上述计算节点101与上述SAS交换机102之间、述SAS交换机102与上述存储节点之间103之间基于SAS进行通信;
上述计算节点101:用于若该计算节点101针对待访问的目标硬盘的操作状态为非允许操作状态,通过上述SAS交换机102向上述目标硬盘所在的存储节点发送访问请求;
上述存储节点103:用于若上述目标硬盘的并发访问数量小于预设并发阈值,允许发送上述访问请求的计算节点101访问上述目标硬盘,其中,上述预设并发阈值满足上述目标硬盘支持多个计算节点101的并发访问。
访问请求中包括目标硬盘的标识,存储节点103接收访问请求,查询目标硬盘当前的并发访问数量,并比较目标硬盘的并发访问数量与预设并发阈值的大小。预设并发阈值根据硬盘的带宽进行设定,预设并发阈值应当满足硬盘能够支持多个计算节点的并发访问,可选的,预设并发阈值大于1,例如,预设并发阈值为2、3、4、5或10等,同时预设并发阈值不应设置的过大,以保证硬盘读写的稳定性。
在本发明实施例中,根据目标硬盘的并发访问数量判定目标硬盘是否还能够允许计算节点的访问,在目标硬盘的并发访问数量小于预设并发阈值时,允许计算节点访问目标硬盘,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高数据存储系统整体运行效率。
可选的,上述计算节点101包括:SAS-主机总线适配器HBA驱动层及硬件层,上述存储节点103包括SAS扩展器及硬盘;
上述硬件层与上述SAS交换机连接,上述SAS交换机与上述SAS扩展器连接;
上述SAS-HBA驱动层:用于若该SAS-HBA驱动层所在的计算节点针对待访问的目标硬盘的操作状态为非允许操作状态,通过上述硬件层及上述SAS交换机向上述目标硬盘所在的SAS扩展器发送访问请求;
上述SAS扩展器:用于若上述目标硬盘的并发访问数量小于预设并发阈值,允许发送上述访问请求的计算节点访问上述目标硬盘,其中,上述预设并发阈值满足上述目标硬盘支持多个计算节点101的并发访问。
SAS扩展器接收访问请求,按照访问请求中目标硬盘的标识,查询目标硬盘当前的并发访问数量,并比较目标硬盘的并发访问数量与预设并发阈值的大小。
可选的,本发明实施例的数据存储系统还可以如图2所示,所述计算节点101还包括:业务应用层及I/O流管理层。其中,业务应用层、I/O流管理层及SAS-HBA驱动层均为软件层,各软件层需要基于硬件层的资源进行运行。
业务应用层:用于实现各种计算机应用软件,发起数据存储的读写请求,发起或响应数据通讯的请求。
I/O流管理层:用于将来自业务应用层的数据进行聚合或拆分,组包后发送给SAS-HBA(Host Bus Adapter,主机总线适配器)驱动层,并将SAS-HBA驱动反馈回来的数据包回传给业务应用层。
SAS-HBA驱动层:用于作为发起端时,将I/O流发送给硬盘,或将I/O流发送给目的端的计算节点;作为目的端时,响应发起端计算节点发送的I/O流请求,经本计算节点的I/O流管理层传递给本计算节点的业务应用层。
硬件层:为承载计算节点的具体硬件资源,包括硬件主板,处理器及SAS-HBA卡等。
SAS交换机:用于负责基于SAS的I/O路由,其软件程序记录了本发明实施例的数据存储系统中所有SAS设备的SAS地址路由表,可以实现基于SAS的I/O流交换。
SAS扩展器:是存储节点的硬件设备,可以扩展连接多块硬盘,SAS扩展器的软件程序记录了本发明实施例的数据存储系统中所有SAS设备的SAS地址路由表,可以控制基于SAS的I/O流交换。
在本发明实施例的数据存储系统中,计算节点101是分布式的,存储节点103的硬盘也是分布式的,通过至少一个SAS交换机102进行路由,所有的计算节点101相互可见,所有计算节点101也可以看到所有存储节点103上的硬盘。本发明实施例的数据存储系统为基于SAS通讯协议组建的SAS SAN,进行节点间通讯,缩短业务I/O与SAS硬盘之间的通讯层数,由硬件直接路由,降低CPU的消耗,提高通讯速度和通讯效率。
可选的,上述计算节点101:还用于确定待交互的计算节点,通过上述SAS交换机102向上述待交互的计算节点发送I/O流请求,接收上述待交互的计算节点根据上述I/O流请求返回的数据。
可选的,上述计算节点101:还用于接收I/O流请求,通过上述SAS交换机向102发送上述I/O流请求的计算节点,返回上述I/O流请求对应的I/O流。
在本发明实施例的数据存储系统中,各计算节点101间相互可见并且可以进行数据交互。可选的,作为数据交互的发起端计算节点的业务应用层发起数据通讯的I/O流请求。发起端计算节点的I/O流管理层将来自业务应用层的I/O流请求进行聚合或拆分,组包后发送给SAS-HBA驱动层。发起端计算节点的SAS-HBA驱动层将I/O流请求发送给SAS交换机,SAS交换机将I/O流请求发送给目的端计算节点。
目的端计算节点的SAS-HBA驱动层接收I/O流请求,经目的端计算节点的I/O流管理层将I/O流请求传输给目的端计算节点的业务应用层,目的端计算节点的业务应用层响应I/O流请求生成相应的I/O流,该I/O流通过目的端计算节点的I/O流管理层、目的端计算节点的SAS-HBA驱动层及交换机发送给发起端计算节点。
发起端计算节点的SAS-HBA驱动层接收返回的I/O流,该I/O流经由发起端计算节点的I/O流管理层传输至发起端计算节点的业务应用层,以完成发起端计算节点与目的端计算节点的数据交互。
本发明实施例的数据存储系统,既可以实现计算节点与硬盘的数据传输,也可以实现各计算节点之间的数据传输,从而实现集群通讯。对计算节点采用分布式管理,当部分计算节点因死机等原因丢失时,其它计算节点,不需要做存储数据的切换,仅需要平均接管丢失节点上面管理的硬盘数据存储资源,并且用于触发平均接管的信息的通讯量很小。对硬盘进行分布式管理,当硬盘因掉电等原因导致该硬盘的资源丢失时,在满足冗余的情况下,例如,计算节点基于RAID(Redundant Arrays of Independent Disks,磁盘阵列)数据冗余备份原理,重构丢失的硬盘的数据到其它硬盘中,增强容灾能力。
可选的,上述SAS扩展器:还用于若上述目标硬盘的并发访问数量小于预设并发阈值,向发送上述访问请求的计算节点返回允许访问指令;
上述SAS-HBA驱动层:还用于在接收到允许访问指令后,将该SAS-HBA驱动层所在的计算节点针对上述目标硬盘的操作状态变更为允许操作状态。
SAS扩展器接收访问请求,按照访问请求中目标硬盘的标识,查询目标硬盘当前的并发访问数量,并比较目标硬盘的并发访问数量与预设并发阈值的大小。若上述目标硬盘的并发访问数量小于预设并发阈值,SAS扩展器允许发送访问请求的计算节点访问目标硬盘,并向发送访问请求的计算节点返回允许访问指令。SAS-HBA驱动层在接收到允许访问指令后,该SAS-HBA驱动层所在的计算节点针对目标硬盘的操作状态变更为允许操作状态。其中,允许访问指令中包含目标硬盘的标识。
在本发明实施例中,SAS-HBA驱动层在接收到允许访问指令后,将该SAS-HBA驱动层所在的计算节点针对上述目标硬盘的操作状态变更为允许操作状态,方便计算节点对目标硬盘的后续访问,能够减少访问请求的发送数量。
可选的,上述SAS-HBA驱动层:还用于若该SAS-HBA驱动层所在的计算节点针对目标硬盘的操作状态为允许操作状态,通过上述硬件层、上述SAS交换机及上述SAS扩展器访问上述目标硬盘。
在本发明实施例中,若计算节点针对目标硬盘的操作状态为允许操作状态,则该计算节点可以直接访问目标硬盘,能够实现目标硬盘的并发访问。
可选的,上述SAS扩展器:还用于若上述目标硬盘的并发访问数量不小于上述预设并发阈值,禁止发送上述访问请求的计算节点访问上述目标硬盘。
在本发明实施例中,若目标硬盘的并发访问数量不小于预设并发阈值,禁止发送访问请求的计算节点访问目标硬盘,能够控住目标硬盘的并发访问数量,增强硬盘读写的稳定性。
可选的,上述SAS-HBA驱动层:具体用于若该SAS-HBA驱动层未持有目标硬盘的令牌,通过上述硬件层及上述SAS交换机向上述目标硬盘所在的SAS扩展器发送访问请求;
上述SAS扩展器:具体用于若上述目标硬盘的令牌深度小于预设深度阈值,允许发送上述访问请求的计算节点访问上述目标硬盘,为发送上述访问请求的计算节点颁发上述目标硬盘的令牌,并按照预设深度增加规则,增加上述目标硬盘的令牌深度。
若SAS-HBA驱动层未持有目标硬盘的令牌,表征该SAS-HBA驱动层所在的计算节点针对目标硬盘的操作状态为非允许操作状态。预设深度阈值的设定要保证能够满足硬盘支持至少两个计算节点的并发访问,例如,预设深度阈值可以设定为2、3、4或5等。SAS扩展器为发送访问请求的计算节点颁发目标硬盘的令牌,是指SAS扩展器向发送访问请求的计算节点返回令牌颁发指令,发送访问请求的计算节点的SAS-HBA驱动层在获取令牌颁发指令后,令该SAS-HBA驱动层持有目标硬盘的令牌。其中,令牌颁发指令可以包括目标硬盘的标识。同时SAS扩展器按照预设深度增加规则,增加目标硬盘的令牌深度,例如,SAS扩展器每给一个计算节点颁发目标硬盘的令牌,将目标硬盘的令牌深度增加1。
在本发明实施例中,通过令牌深度控制目标硬盘的并发访问数量,方便目标硬盘的访问控制,能够提高硬盘的访问效率。
可选的,上述SAS扩展器:还用于若上述目标硬盘的令牌深度不小于上述预设深度阈值,禁止发送上述访问请求的计算节点访问上述目标硬盘。
在本发明实施例中,目标硬盘的令牌深度不小于预设深度阈值,禁止发送访问请求的计算节点访问目标硬盘,能够控住目标硬盘的并发访问数量,增强硬盘读写的稳定性。
可选的,上述SAS-HBA驱动层:还用于若该SAS-HBA驱动层持有目标硬盘的令牌,通过上述硬件层、上述SAS交换机及上述SAS扩展器访问上述目标硬盘。
在本发明实施例中,若SAS-HBA驱动层持有目标硬盘的令牌,则该SAS-HBA驱动层所在的计算节点可以直接访问目标硬盘,能够实现目标硬盘的并发访问。
可选的,上述SAS-HBA驱动层:还用于在满足预设令牌释放条件时,令该SAS-HBA驱动层未持有上述目标硬盘的令牌,并通过上述硬件层及上述SAS交换机向上述目标硬盘所在的SAS扩展器发送深度减少指令;
上述SAS扩展器:还用于在接收到上述深度减少指令后,按照预设深度减少规则,减少上述目标硬盘的令牌深度。
预设令牌释放条件可以根据实际需求进行设定,可选的,满足预设令牌释放条件,包括:
在计算节点完成对目标硬盘的读写操作,或计算节点持有目标硬盘令牌的时间达到预设时间阈值。预设时间阈值可以根据实际情况进行设定,例如,设定为1秒、5秒或10秒等。SAS扩展器在接收到上述深度减少指令后,按照预设深度减少规则,减少上述目标硬盘的令牌深度。例如,SAS扩展器每接收到一个计算节点发送的深度减少指令,将该深度减少指令标识的硬盘的令牌深度减1。
在本发明实施例中,减少硬盘的令牌深度,为后续其他计算节点访问硬盘提供的前提。
参见图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。
在本发明实施例中,在通过为计算节点分配硬盘的令牌,可以实现多个计算节点同时访问一个硬盘,能够提高计算节点的工作效率,从而提高网络整体的运行效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种数据存储系统,其特征在于,所述系统包括:
多个计算节点、串行连接小型计算机系统接口SAS交换机及存储节点,所述计算节点包括:SAS-主机总线适配器HBA驱动层及硬件层,所述存储节点包括SAS扩展器及硬盘;
所述计算节点的硬件层与所述SAS交换机连接,所述SAS交换机与所述存储节点的SAS扩展器连接,所述计算节点与所述SAS交换机之间、所述SAS交换机与所述存储节点之间基于SAS进行通信;
所述SAS-HBA驱动层:用于若该SAS-HBA驱动层未持有目标硬盘的令牌,通过所述硬件层及所述SAS交换机向所述目标硬盘所在的SAS扩展器发送访问请求;
所述SAS扩展器:用于若所述目标硬盘的令牌深度小于预设并发阈值,允许发送所述访问请求的计算节点访问所述目标硬盘,为发送所述访问请求的计算节点颁发所述目标硬盘的令牌,并按照预设深度增加规则,增加所述目标硬盘的令牌深度,其中,所述预设并发阈值满足所述目标硬盘支持多个计算节点的并发访问。
2.根据权利要求1所述的系统,其特征在于,所述SAS扩展器:还用于若所述目标硬盘的并发访问数量小于预设并发阈值,向发送所述访问请求的计算节点返回允许访问指令;
所述SAS-HBA驱动层:还用于在接收到允许访问指令后,将该SAS-HBA驱动层所在的计算节点针对所述目标硬盘的操作状态变更为允许操作状态。
3.根据权利要求1或2所述的系统,其特征在于,所述SAS-HBA驱动层:还用于若该SAS-HBA驱动层所在的计算节点针对目标硬盘的操作状态为允许操作状态,通过所述硬件层、所述SAS交换机及所述SAS扩展器访问所述目标硬盘。
4.根据权利要求1所述的系统,其特征在于,所述SAS扩展器:还用于若所述目标硬盘的并发访问数量不小于所述预设并发阈值,禁止发送所述访问请求的计算节点访问所述目标硬盘。
5.根据权利要求1所述的系统,其特征在于,所述SAS扩展器:还用于若所述目标硬盘的令牌深度不小于所述预设并发阈值,禁止发送所述访问请求的计算节点访问所述目标硬盘。
6.根据权利要求1所述的系统,其特征在于,所述SAS-HBA驱动层:还用于若该SAS-HBA驱动层持有目标硬盘的令牌,通过所述硬件层、所述SAS交换机及所述SAS扩展器访问所述目标硬盘。
7.根据权利要求1、5、6任一项所述的系统,其特征在于,所述SAS-HBA驱动层:还用于在满足预设令牌释放条件时,令该SAS-HBA驱动层未持有所述目标硬盘的令牌,并通过所述硬件层及所述SAS交换机向所述目标硬盘所在的SAS扩展器发送深度减少指令;
所述SAS扩展器:还用于在接收到所述深度减少指令后,按照预设深度减少规则,减少所述目标硬盘的令牌深度。
8.根据权利要求1所述的系统,其特征在于,所述计算节点:还用于确定待交互的计算节点,通过所述SAS交换机向所述待交互的计算节点发送I/O流请求,接收所述待交互的计算节点根据所述I/O流请求返回的数据。
9.根据权利要求1所述的系统,其特征在于,所述计算节点:还用于接收I/O流请求,通过所述SAS交换机向发送所述I/O流请求的计算节点,返回所述I/O流请求对应的I/O流。
CN201810496767.6A 2018-05-22 2018-05-22 数据存储系统 Active CN110515536B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810496767.6A CN110515536B (zh) 2018-05-22 2018-05-22 数据存储系统
PCT/CN2019/082248 WO2019223444A1 (zh) 2018-05-22 2019-04-11 数据存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810496767.6A CN110515536B (zh) 2018-05-22 2018-05-22 数据存储系统

Publications (2)

Publication Number Publication Date
CN110515536A CN110515536A (zh) 2019-11-29
CN110515536B true CN110515536B (zh) 2020-10-27

Family

ID=68616181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810496767.6A Active CN110515536B (zh) 2018-05-22 2018-05-22 数据存储系统

Country Status (2)

Country Link
CN (1) CN110515536B (zh)
WO (1) WO2019223444A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116670636A (zh) * 2021-01-30 2023-08-29 华为技术有限公司 数据存取方法、装置和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585410A (zh) * 2003-08-21 2005-02-23 微软公司 通过网络提供的scsi设备访问
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN104067216A (zh) * 2011-06-27 2014-09-24 亚马逊科技公司 用于实施可扩展数据存储服务的系统和方法
CN106462544A (zh) * 2014-03-31 2017-02-22 亚马逊科技公司 分布式存储系统中的会话管理
CN107612910A (zh) * 2017-09-19 2018-01-19 北京邮电大学 一种分布式文件数据访问方法及系统
CN108390791A (zh) * 2017-02-02 2018-08-10 慧与发展有限责任合伙企业 存储区域网络中的端口状态的确定

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105472047B (zh) * 2016-02-03 2019-05-14 天津书生云科技有限公司 存储系统
US10452316B2 (en) * 2013-04-17 2019-10-22 Apeiron Data Systems Switched direct attached shared storage architecture
US9923907B2 (en) * 2014-07-08 2018-03-20 International Business Machines Corporation Push notifications of system events in a restricted network
CN105335219A (zh) * 2014-07-08 2016-02-17 阿里巴巴集团控股有限公司 一种基于分布式的任务调度方法及系统
CN104657316B (zh) * 2015-03-06 2018-01-19 北京百度网讯科技有限公司 服务器
CN104967577B (zh) * 2015-06-25 2019-09-03 北京百度网讯科技有限公司 Sas交换机和服务器
CN104965677B (zh) * 2015-06-26 2018-04-13 北京百度网讯科技有限公司 存储系统
US9830233B2 (en) * 2016-01-29 2017-11-28 Netapp, Inc. Online backup to an object service using bulk export
CN113253933B (zh) * 2017-04-17 2024-02-09 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585410A (zh) * 2003-08-21 2005-02-23 微软公司 通过网络提供的scsi设备访问
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法
CN104067216A (zh) * 2011-06-27 2014-09-24 亚马逊科技公司 用于实施可扩展数据存储服务的系统和方法
CN106462544A (zh) * 2014-03-31 2017-02-22 亚马逊科技公司 分布式存储系统中的会话管理
CN108390791A (zh) * 2017-02-02 2018-08-10 慧与发展有限责任合伙企业 存储区域网络中的端口状态的确定
CN107612910A (zh) * 2017-09-19 2018-01-19 北京邮电大学 一种分布式文件数据访问方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于IP-SAN的海量存储技术的研究与实现;郑炜.;《中国博士学位论文全文数据库 信息科技辑》;20080415(第04期);第I37-2页 *

Also Published As

Publication number Publication date
CN110515536A (zh) 2019-11-29
WO2019223444A1 (zh) 2019-11-28

Similar Documents

Publication Publication Date Title
US8060775B1 (en) Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system
US10922135B2 (en) Dynamic multitasking for distributed storage systems by detecting events for triggering a context switch
US8898385B2 (en) Methods and structure for load balancing of background tasks between storage controllers in a clustered storage environment
JP4921054B2 (ja) 負荷分散制御システム及び負荷分散制御方法
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
CN105892943B (zh) 一种分布式存储系统中块存储数据的访问方法及系统
US7839788B2 (en) Systems and methods for load balancing storage system requests in a multi-path environment based on transfer speed of the multiple paths
US20070061518A1 (en) Storage controller, data processing method and computer program product
US7827251B2 (en) Fast write operations to a mirrored volume in a volume manager
CN101763221A (zh) 一种存储方法、存储系统及控制器
CN102207830A (zh) 一种缓存动态分配管理方法及装置
CN112346653B (zh) 驱动器箱、存储系统和数据传送方法
EP4369171A1 (en) Method and apparatus for processing access request, and storage device and storage medium
CN105739930A (zh) 一种存储架构及其初始化方法和数据存储方法及管理装置
US10846094B2 (en) Method and system for managing data access in storage system
CN106354428B (zh) 一种多物理层分区计算机体系结构的存储共享系统
US7441009B2 (en) Computer system and storage virtualizer
CN110515536B (zh) 数据存储系统
CN110515535B (zh) 硬盘读写控制方法、装置、电子设备及存储介质
US7853757B2 (en) Avoiding failure of an initial program load in a logical partition of a data storage system
Geoffray Opiom: Off-processor I/O with myrinet
US8477624B2 (en) Apparatus, system, and method for managing network bandwidth
US10430220B1 (en) Virtual devices as protocol neutral communications mediators
WO2023185639A1 (zh) 一种基于nvme硬盘的数据交互系统及方法
US11467930B2 (en) Distributed failover of a back-end storage director

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant