CN111176577A - 分布式块存储服务命令处理方法、装置、设备及介质 - Google Patents
分布式块存储服务命令处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111176577A CN111176577A CN201911384349.9A CN201911384349A CN111176577A CN 111176577 A CN111176577 A CN 111176577A CN 201911384349 A CN201911384349 A CN 201911384349A CN 111176577 A CN111176577 A CN 111176577A
- Authority
- CN
- China
- Prior art keywords
- real
- tgtadm
- task
- iscsi
- storage service
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
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)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种分布式块存储服务命令处理方法、装置、设备及介质,该方法包括:通过tgtadm获取块存储服务的rbd命令,并对rbd命令进行解析,以得到相应的任务参数,然后将任务参数传送至iscsi target;通过tgtd开启用于处理与任务参数对应的任务的专用线程,并监视当前任务的实时处理结果;通过iscsi target将实时处理结果返回给tgtadm,以便tgtadm将实时处理结果显示在人机交互界面。本申请是将rbd命令上移至了target层,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这样可以节省大量的人力,简化了流程,同时大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,减轻了集群负载。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种分布式块存储服务命令处理方法、装置、设备及介质。
背景技术
RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中。而iSCSI主要是通过TCP/IP的技术,将储存设备(RBD)端透过iscsi target(iscsi目标)功能,做成可以提供磁盘的服务器端,再透过iscsiinitiator(iscsi初始化用户)功能,做成能够挂载使用iscsi target的客户端,如此便能透过iSCSI协议来进行磁盘的应用了。也就是说,iSCSI这个架构主要将储存装置与使用的主机分为两个部分,分别是:
1、iscsi target:就是储存设备端,存放磁盘或RAID的设备,目前也能够将Linux主机仿真成iSCSI target,目的在提供其他主机使用的磁盘;
2、iscsi initiator:就是能够使用target的客户端,通常是服务器。也就是说,想要连接到iscsi target的服务器,也必须要安装iscsi initiator的相关功能后才能够使用iscsi target提供的磁盘。
在实际应用中,客户机可通过与tgt(即用户态实现的iscsi target)建立连接访问底层的librbd(即Ceph提供的块存储库,其实现了RBD接口),实现对块存储的操作。一个target上可以映射多个块设备,同时一个tgt上可以创建多个target,客户机可以连接tgt上其中一个或多个target分别进行访问,tgt可创建LUN(即Logical Unit Number,逻辑单元号)为客户端提供块服务,一个LUN对应于一个块存储卷。
现有技术中,RBD可通过命令行实现对卷、快照、克隆等的管理,但是若卷正在被iscsi target挂载使用,也即若卷已经被打开,此时如果通过rbd命令行对卷、快照进行修改、那么iscsi target业务将无法使用同时快照回滚,目前ceph不支持在线回滚,若要进行快照回滚,那么必须将映射卷一层一层卸载,然后回滚,最后再重新映射挂载,这样的流程是相当繁琐的。同时如果rbd是一个进程,若命令调用的很频繁,那么将开启大量的进程,这样集群的会出现大量的无关业务影响整体性能,在对性能要求非常高的分布式部署场景下,这样势必会影响用户体验。
发明内容
有鉴于此,本申请的目的在于提供一种分布式块存储服务命令处理方法、装置、设备及介质,能够简化命令处理流程,并减轻集群负载,从而改善了集群的整体性能。其具体方案如下:
第一方面,本申请公开了一种基于iscsi的分布式块存储服务命令处理方法,包括:
通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;
通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果;
通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
可选的,通过tgtadm将所述任务参数传送至iscsi target,包括:
通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsi target。
相应的,所述通过所述iscsi target将所述实时处理结果返回给所述tgtadm,包括:
通过所述iscsi target并基于ipc通信方式将所述实时处理结果返回给所述tgtadm。
可选的,在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,还包括:
从epoll监听中删除fd文件描述符。
可选的,通过tgtd监视当前所述任务的实时处理结果的过程,包括:
通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。
可选的,所述通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果,包括:
通过tgtd设置回调函数,并将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时通过调用所述回调函数向所述tgtd返回相应的实时处理进度。
可选的,所述通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面,包括:
通过所述iscsi target对所述实时处理进度进行解析并计算相应的进度百分比,然后将所述进度百分比返回给所述tgtadm,以便所述tgtadm将所述进度百分比转换成相应的进度条并显示在人机交互界面。
可选的,所述通过所述回调函数获取当前任务的实时处理结果,还包括:
通过所述回调函数获取当前任务的错误码。
第二方面,本申请公开了一种基于iscsi的分布式块存储服务命令处理装置,包括:
命令获取模块,用于通过tgtadm获取块存储服务的rbd命令;
命令解析模块,用于通过所述tgtadm对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;
线程开启模块,用于通过tgtd开启用于处理与所述任务参数对应的任务的专用线程;
结果监视模块,用于通过tgtd监视当前所述任务的实时处理结果;
结果返回模块,用于通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的基于iscsi的分布式块存储服务命令处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,以实现前述的基于iscsi的分布式块存储服务命令处理方法。
本申请中,通过tgtadm来获取块存储服务的rbd命令,并将相应的任务参数上移至iscsi target,然后通过tgtd开启专门用于处理上述任务参数对应的任务的线程,并监视实时处理结果,接着通过iscsi target将实时处理结果返回给tgtadm,以便通过tgtadm将实时处理结果显示在人机交互界面上。由此可见,本申请是将rbd命令上移至了target层,这样相当于将对卷、快照、克隆的操作上移至target层来进行处理,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这个过程对于用户来说是无感知的,这样可以节省大量的人力,简化了流程,改善了用户体验,与此同时,大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,从而大幅减轻了集群负载。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种基于iscsi的分布式块存储服务命令处理方法流程图;
图2为本申请公开的一种具体的基于iscsi的分布式块存储服务命令处理方法流程图;
图3为本申请公开的一种具体的基于iscsi的分布式块存储服务命令处理方法流程图;
图4为本申请公开的一种基于iscsi的分布式块存储服务命令处理装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,RBD可通过命令行实现对卷、快照、克隆等的管理,但是若卷正在被iscsi target挂载使用,也即若卷已经被打开,此时如果通过rbd命令行对卷、快照进行修改、那么iscsi target业务将无法使用同时快照回滚,目前ceph不支持在线回滚,若要进行快照回滚,那么必须将映射卷一层一层卸载,然后回滚,最后再重新映射挂载,这样的流程是相当繁琐的。同时如果rbd是一个进程,若命令调用的很频繁,那么将开启大量的进程,这样集群的会出现大量的无关业务影响整体性能,在对性能要求非常高的分布式部署场景下,这样势必会影响用户体验。为此,本申请提供了一种分布式块存储服务命令处理方案,能够简化命令处理流程,并减轻集群负载,从而改善了集群的整体性能。
参见图1所示,本申请实施例公开了一种基于iscsi的分布式块存储服务命令处理方法,包括:
步骤S11:通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target。
本实施例中,所述tgtadm是一种管理工具,其所管理的对象包括target。
需要指出的是,本实施例中的rbd命令包括但不限于对卷、快照、克隆的相关操作命令。
本实施例,tgtadm与iscsi target之间可以基于ipc(即Inter-ProcessCommunication,进程间通信)通信方式来进行通信。也即,通过tgtadm将所述任务参数传送至iscsi target,具体可以包括通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsi target。
步骤S12:通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果。
本实施例中,为了减少块存储服务对其他业务的影响,通过tgtd开启了专用线程,专门用于处理与上述任务参数对应的任务。
进一步的,为了防止后续在发送进度信息等实时处理结果时错误触发任务,本实施例在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,还可以包括:从epoll监听中删除fd文件描述符。
另外,为了实现对当前任务的实时处理结果的监视,本实施例可以通过回调函数来实现。也即,本实施例中,通过tgtd监视当前所述任务的实时处理结果的过程,具体可以包括:通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。
本实施例中,所述通过所述回调函数获取当前任务的实时处理结果,具体可以包括通过所述回调函数获取当前任务的实时处理进度。进一步的,所述通过所述回调函数获取当前任务的实时处理结果,还可以包括:通过所述回调函数获取当前任务的错误码。也即,本实施例中的实时处理结果具体可以包括当前任务的实时处理进度或错误码。
步骤S13:通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
具体的,所述通过所述iscsi target将所述实时处理结果返回给所述tgtadm,可以包括:通过所述iscsi target并基于ipc通信方式将所述实时处理结果返回给所述tgtadm。
本申请实施例,通过tgtadm来获取块存储服务的rbd命令,并将相应的任务参数上移至iscsi target,然后通过tgtd开启专门用于处理上述任务参数对应的任务的线程,并监视实时处理结果,接着通过iscsi target将实时处理结果返回给tgtadm,以便通过tgtadm将实时处理结果显示在人机交互界面上。由此可见,本申请实施例是将rbd命令上移至了target层,这样相当于将对卷、快照、克隆的操作上移至target层来进行处理,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这个过程对于用户来说是无感知的,这样可以节省大量的人力,简化了流程,改善了用户体验,与此同时,大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,从而大幅减轻了集群负载。
参见图2所示,本申请实施例公开了一种具体的基于iscsi的分布式块存储服务命令处理方法,包括:
步骤S21:通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后基于ipc通信方式将所述任务参数传送至iscsi target。
步骤S22:通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,以及设置回调函数,并将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时通过调用所述回调函数向所述tgtd返回相应的实时处理进度。
本实施例中,iscsi target接收到任务参数后,tgtd会开启相应的任务处理专用线程,并设置回调函数,然后将回调函数和任务参数发送至块存储服务,这样一来,当块存储服务在任务参数对应的任务进度状态更新时便可以直接主动调用上述回调函数,以向tgtd返回相应的实时处理进度,实现tgtd监视当前任务的实时处理结果的目的。
步骤S23:通过所述iscsi target对所述实时处理进度进行解析并计算相应的进度百分比,然后基于ipc通信方式将所述进度百分比返回给所述tgtadm,以便所述tgtadm将所述进度百分比转换成相应的进度条并显示在人机交互界面。
本实施例中,iscsi target会对计算出与上述实时处理进度对应的进度百分比,然后通过ipc通信的方式将进度百分比发送给tgtadm。tgtadm获取到上述进度百分比之后可以转换成相应的可视化的进度条,并该进度条发送到人机交互界面上进行显示,如此一来,用户便可以非常直观、及时地获悉当前任务的处理进度情况。
图3示出了一种具体的基于iscsi的分布式块存储服务命令处理方法流程。图3中,将块存储服务的命令行参数转移在iscsi target层面重新设计,并且由tgtadm经过ipc进程间通信的方式传送至tgtd;为减少块存储服务交互对其他业务的影响,tgtd开启线程单独处理该类任务,同时将fd从epoll监听中删除,防止每次发送进度时错误触发任务;设计need_process标志是否需要进度条打印,仅有进度条需求的命令行将此标志置为true;设计progress_count在tgtadm处标记是第几次回复,tgtd每次回复时即进行progress_count++,tgtadm第一次收到时判断progress为1,即为该进度打印加上标签即为哪种命令;设计progress标记当前进度百分比,设计complete标记是否完成;tgtadm控制每次更新百分比进度,当progress_count不为1且progress不为0时,则执行以下代码:
fprintf(stdout,”%.s”,4,backspace),完成命令行显示退格;当complete标志不为true时,则执行以下代码:
fprintf(stdout,“%*u%%”,3,progress),完成进度条的打印。
图3中,iscsi target处通过tgtd设计回调函数并将该函数指针传至块存储服务,块存储服务处理任务有进度更新时调用该函数,iscsi target将解析进度并计算百分比并通过ipc socket将消息发送给tgtadm,然后tgatdm将任务进度显示至控制台的界面上。
可见,本实施例中将各个rbd命令上移至target层,在iscsi target层管理各种处理逻辑,不用取消卷映射即可对卷进行各种操作,tgtd设置回调负责接收块存储服务的进度并发送至tgtadm将通过算法将进度展示给用户,由iscsi命令返回错误码信息。也即,本实施例中,将rbd命令上移至iscsi target层,target层接收上层任务,作为rbd和用户的中间层;iscsi target间接设计回调,获取块存储服务处理进度或错误码,经过ipc通信传递给tgtadm,tgtadm通过算法将进度展示给用户,显示错误码,通过上述方案可以不用取消卷映射即可进行卷更名、卷删除等操作。
参见图4所示,本申请实施例还相应公开了一种基于iscsi的分布式块存储服务命令处理装置,包括:
命令获取模块11,用于通过tgtadm获取块存储服务的rbd命令;
命令解析模块12,用于通过所述tgtadm对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;
线程开启模块13,用于通过tgtd开启用于处理与所述任务参数对应的任务的专用线程;
结果监视模块14,用于通过tgtd监视当前所述任务的实时处理结果;
结果返回模块15,用于通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
本申请实施例,通过tgtadm来获取块存储服务的rbd命令,并将相应的任务参数上移至iscsi target,然后通过tgtd开启专门用于处理上述任务参数对应的任务的线程,并监视实时处理结果,接着通过iscsi target将实时处理结果返回给tgtadm,以便通过tgtadm将实时处理结果显示在人机交互界面上。由此可见,本申请实施例是将rbd命令上移至了target层,这样相当于将对卷、快照、克隆的操作上移至target层来进行处理,这种情况下,如果需要进行对卷修改、快照回滚等操作,便可以直接在target层完成相关调度即可,无需做卸载再挂载的操作,这个过程对于用户来说是无感知的,这样可以节省大量的人力,简化了流程,改善了用户体验,与此同时,大量的查询命令上移至target层之后,分布式集群减少了许多与业务无关的进程和io流,从而大幅减轻了集群负载。
在一种具体实施例中,所述命令解析模块12,包括:
命令解析单元,用于通过所述tgtadm对所述rbd命令进行解析,以得到相应的任务参数;
参数传送单元,用于通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsitarget。
在一种具体实施例中,所述结果返回模块15,具体用于通过所述iscsi target并基于ipc通信方式将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
在一种具体实施例中,所述线程开启模块13,还包括:
描述符删除单元,用于在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,从epoll监听中删除fd文件描述符。
在一种具体实施例中,所述结果监视模块14,包括:
回调设置子模块,用于通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。
在一种具体实施例中,所述回调设置子模块,包括:
回调设置单元,用于通过tgtd设置回调函数;
信息传送单元,用于将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时通过调用所述回调函数向所述tgtd返回相应的实时处理进度。
在一种具体实施例中,所述结果返回模块15,具体用于通过所述iscsi target对所述实时处理进度进行解析并计算相应的进度百分比,然后将所述进度百分比返回给所述tgtadm,以便所述tgtadm将所述进度百分比转换成相应的进度条并显示在人机交互界面。
在一种具体实施例中,所述回调设置子模块,还包括:
错误码获取单元,用于通过所述回调函数获取当前任务的错误码。
进一步的,本申请实施例还提供了一种电子设备。图5是根据一示例性实施例示出的电子设备20结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。
图5为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的分布式块存储服务命令处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的分布式块存储服务命令处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的各种数据。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,以实现前述实施例公开的基于iscsi的分布式块存储服务命令处理方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种分布式块存储服务命令处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于iscsi的分布式块存储服务命令处理方法,其特征在于,包括:
通过tgtadm获取块存储服务的rbd命令,并对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;
通过tgtd开启用于处理与所述任务参数对应的任务的专用线程,并监视当前所述任务的实时处理结果;
通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
2.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,通过tgtadm将所述任务参数传送至iscsi target,包括:
通过tgtadm并基于ipc通信方式将所述任务参数传送至iscsi target。
相应的,所述通过所述iscsi target将所述实时处理结果返回给所述tgtadm,包括:
通过所述iscsi target并基于ipc通信方式将所述实时处理结果返回给所述tgtadm。
3.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,在通过tgtd开启用于处理与所述任务参数对应的任务的专用线程的时候,还包括:
从epoll监听中删除fd文件描述符。
4.根据权利要求1所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,通过tgtd监视当前所述任务的实时处理结果的过程,包括:
通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果。
5.根据权利要求4所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,所述通过tgtd设置回调函数,通过所述回调函数获取当前任务的实时处理结果,包括:
通过tgtd设置回调函数,并将所述回调函数和所述任务参数传送至所述块存储服务,以便所述块存储服务在与所述任务参数对应的任务进度状态有更新时通过调用所述回调函数向所述tgtd返回相应的实时处理进度。
6.根据权利要求5所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,所述通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面,包括:
通过所述iscsi target对所述实时处理进度进行解析并计算相应的进度百分比,然后将所述进度百分比返回给所述tgtadm,以便所述tgtadm将所述进度百分比转换成相应的进度条并显示在人机交互界面。
7.根据权利要求5所述的基于iscsi的分布式块存储服务命令处理方法,其特征在于,所述通过所述回调函数获取当前任务的实时处理结果,还包括:
通过所述回调函数获取当前任务的错误码。
8.一种基于iscsi的分布式块存储服务命令处理装置,其特征在于,包括:
命令获取模块,用于通过tgtadm获取块存储服务的rbd命令;
命令解析模块,用于通过所述tgtadm对所述rbd命令进行解析,以得到相应的任务参数,然后将所述任务参数传送至iscsi target;
线程开启模块,用于通过tgtd开启用于处理与所述任务参数对应的任务的专用线程;
结果监视模块,用于通过tgtd监视当前所述任务的实时处理结果;
结果返回模块,用于通过所述iscsi target将所述实时处理结果返回给所述tgtadm,以便所述tgtadm将所述实时处理结果显示在人机交互界面。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的基于iscsi的分布式块存储服务命令处理方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,以实现如权利要求1至7任一项所述的基于iscsi的分布式块存储服务命令处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384349.9A CN111176577B (zh) | 2019-12-28 | 2019-12-28 | 分布式块存储服务命令处理方法、装置、设备及介质 |
US17/774,351 US11656802B2 (en) | 2019-12-28 | 2020-08-21 | Distributed block storage service command processing method, apparatus, device and medium |
PCT/CN2020/110412 WO2021128889A1 (zh) | 2019-12-28 | 2020-08-21 | 分布式块存储服务命令处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384349.9A CN111176577B (zh) | 2019-12-28 | 2019-12-28 | 分布式块存储服务命令处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176577A true CN111176577A (zh) | 2020-05-19 |
CN111176577B CN111176577B (zh) | 2021-11-19 |
Family
ID=70649051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911384349.9A Active CN111176577B (zh) | 2019-12-28 | 2019-12-28 | 分布式块存储服务命令处理方法、装置、设备及介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11656802B2 (zh) |
CN (1) | CN111176577B (zh) |
WO (1) | WO2021128889A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866508A (zh) * | 2020-07-13 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、介质及电子设备 |
WO2021128889A1 (zh) * | 2019-12-28 | 2021-07-01 | 浪潮电子信息产业股份有限公司 | 分布式块存储服务命令处理方法、装置、设备及介质 |
CN113542412A (zh) * | 2021-07-16 | 2021-10-22 | 中国电信股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293522A (zh) * | 2016-08-03 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种基于tgt的存储性能优化方法和装置 |
CN106527985A (zh) * | 2016-11-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种基于ceph的存储交互装置及存储系统 |
US20190171264A1 (en) * | 2016-05-24 | 2019-06-06 | Hedvig, Inc. | Persistent reservations for virtual disk using multiple targets |
CN109992433A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种分布式tgt通信优化方法、装置、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870492B2 (en) * | 2001-10-02 | 2011-01-11 | Siebel Systems, Inc. | Method, apparatus, and system for managing commands in a client server environment |
US9384071B2 (en) * | 2011-03-31 | 2016-07-05 | Solarflare Communications, Inc. | Epoll optimisations |
US10102374B1 (en) * | 2014-08-11 | 2018-10-16 | Sentinel Labs Israel Ltd. | Method of remediating a program and system thereof by undoing operations |
CN108196788B (zh) * | 2017-12-28 | 2021-05-07 | 新华三技术有限公司 | QoS指标监测方法、装置、存储介质 |
US20190354386A1 (en) * | 2018-05-21 | 2019-11-21 | International Business Machines Corporation | System and method for executing virtualization software objects with dynamic storage |
CN109324927A (zh) * | 2018-09-06 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种基于分布式存储系统的虚拟机备份方法及系统 |
EP3693856A1 (de) * | 2019-02-11 | 2020-08-12 | Siemens Aktiengesellschaft | Verfahren zum übertragen einer nachricht in einem rechensystem sowie rechensystem |
US20220188028A1 (en) * | 2019-03-12 | 2022-06-16 | Intel Corporation | Computational data storage systems |
CN111176577B (zh) * | 2019-12-28 | 2021-11-19 | 浪潮电子信息产业股份有限公司 | 分布式块存储服务命令处理方法、装置、设备及介质 |
-
2019
- 2019-12-28 CN CN201911384349.9A patent/CN111176577B/zh active Active
-
2020
- 2020-08-21 US US17/774,351 patent/US11656802B2/en active Active
- 2020-08-21 WO PCT/CN2020/110412 patent/WO2021128889A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190171264A1 (en) * | 2016-05-24 | 2019-06-06 | Hedvig, Inc. | Persistent reservations for virtual disk using multiple targets |
CN106293522A (zh) * | 2016-08-03 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种基于tgt的存储性能优化方法和装置 |
CN106527985A (zh) * | 2016-11-02 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种基于ceph的存储交互装置及存储系统 |
CN109992433A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种分布式tgt通信优化方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
JESSICA程序猿: ""iscsi target tgt架构"", 《HTTPS://WWW.CNBLOGS.COM/WUCHANMING/P/4894373.HTML》 * |
王燕: ""网络计算模式下的多主机系统卷动态重构策略"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021128889A1 (zh) * | 2019-12-28 | 2021-07-01 | 浪潮电子信息产业股份有限公司 | 分布式块存储服务命令处理方法、装置、设备及介质 |
US11656802B2 (en) | 2019-12-28 | 2023-05-23 | Inspur Electronic Information Industry Co., Ltd. | Distributed block storage service command processing method, apparatus, device and medium |
CN111866508A (zh) * | 2020-07-13 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、介质及电子设备 |
CN113542412A (zh) * | 2021-07-16 | 2021-10-22 | 中国电信股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN113542412B (zh) * | 2021-07-16 | 2024-01-05 | 天翼云科技有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021128889A1 (zh) | 2021-07-01 |
US20220300209A1 (en) | 2022-09-22 |
US11656802B2 (en) | 2023-05-23 |
CN111176577B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176577B (zh) | 分布式块存储服务命令处理方法、装置、设备及介质 | |
CN107277029B (zh) | 一种远程过程调用的方法、装置及计算机设备 | |
US20090077174A1 (en) | Server-based computing environment | |
CN111897638A (zh) | 分布式任务调度方法及系统 | |
CN113934464A (zh) | Linux系统中启动安卓应用的方法、装置和电子设备 | |
CN113590146B (zh) | 服务器及容器升级方法 | |
CN111866160B (zh) | 多机控制方法、装置、设备及存储介质 | |
CN109542475A (zh) | 系统多版本的数据更新方法、装置、存储介质及服务器 | |
CN110471749A (zh) | 任务处理方法、装置、计算机可读存储介质和计算机设备 | |
CN107086937B (zh) | 一种监控方法及设备 | |
CN110377331B (zh) | 发布应用程序的监控方法、装置、设备及存储介质 | |
CN112153146B (zh) | 操作通知方法和装置、存储介质和电子装置 | |
US9317354B2 (en) | Dynamically determining an external systems management application to report system errors | |
CN107741885B (zh) | 基于cs架构的事务与业务关联方法、关联系统 | |
CN112068914B (zh) | 物料内容处理方法、装置、电子设备和存储介质 | |
CN112135302B (zh) | 基站拓扑信息的控制方法、装置及计算机可读存储介质 | |
CN110768855B (zh) | 链路化性能测试的方法和装置 | |
CN113891441A (zh) | 网络连接方法、装置和电子设备 | |
CN109101253B (zh) | 云计算系统中主机的管理方法和装置 | |
JP2017102847A (ja) | 情報処理システム、中継装置、方法およびプログラム | |
CN111176948A (zh) | 个性化业务指标的监控方法及系统 | |
CN115840604B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
US9942361B2 (en) | Reporting page composition data | |
CN112968933B (zh) | 数据传输方法、装置、服务器及存储介质 | |
CN115470224A (zh) | 缓存更新方法、装置、设备、系统、存储介质及产品 |
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 |