一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于分布式存储的ODX协议处理方法与流程

2021-12-04 02:31:00 来源:中国专利 TAG:

一种基于分布式存储的odx协议处理方法
技术领域
1.本发明涉及一种基于分布式存储的odx协议处理方法,特别是涉及一种存储服务端多节点目标器之间处理odx协议中的令牌同步方法。


背景技术:

2.相关概念分布式存储系统科技的发展迅猛使得数据呈指数型增长,人们对数据的安全可靠和读写效率越发重视,同时也在追求易扩展性和低成本,传统的单一介质数据存储方式已经不能满足大数据处理的需求。因此需要一种全新的架构,兼具安全可靠、读写效率高、易扩展和低成本等特点。
3.为此,人们提出分布式存储系统的概念,“分布式”它指代了一种独特的系统架构类型,这种系统架构是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成。在分布式存储系统中,通常会建立多个数据节点和网关节点。数据节点用于数据存储,网关节点用于对外提供接口,如iscsi,rbd等,外部设备可通过连接网关节点从而访问到分布式存储系统中的数据。分布式存储的提出,在高性能、高可靠、易扩展、低成本等方面相较于传统存储有了显著的提升。但与此同时,也带来了诸多问题,如多节点间的消息通知和信息同步等。
4.scsi&iscsi协议在传统存储中,主机和存储设备之间主要通过scsi协议传送命令、状态和块数据。但随着分布式存储的提出以及使用scsi协议需要scsi接口,iscsi架构得到广泛应用。
5.iscsi(internet small computer system interface,小型计算机系统接口)的架构将存储服务的提供方和使用方分别定义为用于转换tcp/ip包中的scsi命令和数据的iscsi 目标器,即存储服务端;以及用于产生scsi请求,并将scsi命令和数据封装为tcp/ip包发送到ip网络中的iscsi启动器,即存储客户端。存储服务端和存储客户端之间使用tcp进行通信,存储服务端将块存储设备映射为卷提供给存储客户端,从而实现远程块存储服务。
6.目标器目标器(linux target framework)是为创建和维护存储服务端驱动提出的架构,它的目标是间接地集成到scsi中间层。在存储服务端创建目标器后,即可将相关的target和卷映射信息保存至目标器内。目标器可以接收并处理存储客户端发起的请求、并将处理结果反馈给存储客户端。
7.在网关节点上创建并启动目标器服务进程,接收并处理客户端发起的iscsi指令,保存存储服务端发送的目标器和卷映射信息,下发io到存储服务端完成数据读写。
8.订阅/通知机制为解决多节点之间通信的难题,分布式存储提供了订阅/通知机制。
9.订阅/通知机制类似于信息发布

订阅模式。即客户端向对象存储守护进程注册订阅对象,并保持与主对象存储守护进程的会话连接。客户端可以向所有已注册订阅对象(也称为监视者)的客户端发送通知消息和消息内容,并在监视者收到通知时接收通知,这使得客户端可以使用任何对象作为同步通信通道。
10.图 1订阅/通知机制模型图描述了有3个客户机时,订阅/通知机制的模型。
11.①
. 客户端1向集群osd注册订阅对象,并保持与osd的会话连接;

. 客户端2向集群osd注册订阅对象,并保持与osd的会话连接;

. 客户端3向集群osd注册订阅对象,并保持与osd的会话连接;

. 客户端1向集群osd推送了一条消息;

. osd收到消息后,会向所有已注册了订阅对象的客户端推送这条消息;

. 客户端接接收到推送的消息后进行对应的本地处理;虚拟化虚拟化技术已经成为当前的主流应用技术之一,一台部署了虚拟化软件服务器,可以在该服务器运行大量的虚拟机,从而提升了服务器的利用率,并为企业节省了大量的成本;虚拟化软件提供了对虚拟机创建、复制、迁移等功能。部署了虚拟化服务的服务器,可以在不同服务器之间对虚拟机进行创建、复制、迁移等操作,提升了虚拟机运维效率,但同时带来了虚拟机和虚拟机上数据需要进行大量的数据复制操作,这种数据复制操作需要消耗服务器的大量cpu、内存和网络带宽等资源,大量的复制数据操作,对虚拟化服务器是一个巨大考验。
12.spc

4/5中定义了第三方复制(third

party copy/3pc)相关的处理规范,第三方复制通过复制管理模块(copy manager)来执行数据拷贝,复制管理模块负责管理3pc命令,并响应客户端的复制请求,把数据从源地址复制到目的地址。
13.odx协议odx协议使用基于令牌的机制在分布式存储内部或之间进程数据传输。待复制的源文件和目标文件可以在同一个卷上、同一服务器管理的两个不同卷、或者多个服务器共享的群集共享卷上。
14.图 2描述了利用odx实现数据复制的主要操作流程:

.用户在应用服务器上执行文件复制操作。
15.②
.应用服务器发送创建令牌命令给存储节点,存储节点根据命令中所描述的某段数据产生数据令牌。
16.③
.应用服务器发送令牌查询请求给存储目标器,存储将创建令牌命令所描述的某段数据对应的令牌信息返回给应用服务器。
17.④
.应用服务器用接收的令牌信息,发送卸载写请求给目标存储节点,请求进行数据复制。
18.⑤
.存储节点根据令牌信息,验证令牌的有效性,找到源地址的数据,并把数据复制到目标位置。
19.⑥
.数据传输完成后存储网关把odx复制的结果发送给应用服务器(使用查询令牌命令查询结果)。
20.odx令牌windows odx中的令牌是一个512字节的随机数,代表了一个或多个数据分片,一般是一个文件或文件的一部分。令牌的格式如图3所示:由于令牌由存储设备产生和消费,因此它的格式是不透明的、唯一的且高度安全的。如果令牌被修改、或者超时,基于令牌的写命令会被存储设备认为是无效的。创建令牌命令会携带一个超时时间(协议定义的默认超时为60s,最大为600s)用来支持存储设备该令牌的有效时间。
21.客户端能够利用某些知名令牌来进行卸载写,最常用的知名令牌为零号令牌, 客户端可以用零号令牌对逻辑磁盘的某一个范围写零。知名令牌的格式如图4所示:默认情况下,如果存储支持odx,应用服务器对odx路径首先尝试发送复制操作命令。 如果存储设备处理odx请求失败,应用服务器将标记的源和目标逻辑磁盘组合为"不支持odx "路径,后续的复制操作使用传统的读写操作。
22.现有技术一的技术方案 vmware提出了vaai(vstorage api for array integration)接口,该接口遵守spc

4/5中定义了第三方复制(third

party copy/3pc)相关的处理规范;vmware通过该接口把数据复制操作下放到存储,从而减少vmware服务器cpu,内存,网络等资源的消耗。
23.vaai支持存储单个卷内数据复制,支持不同卷内数据复制等。
24.该现有技术的不足:vaai技术仅仅只适合用在vmware的平台,不支持在windows平台的使用。


技术实现要素:

25.本发明提供一种存储服务端多节点的目标器之间处理odx指令的方法,以解决分布式存储系统中,多节点目标器之间odx令牌同步的难题。
26.本发明的技术问题通过以下的技术方案予以解决:一种基于分布式存储的odx协议处理方法,其特征在于,实现odx功能,odx增加了如下几个scsi命令,存储需要对这些scsi命令进行解析处理:创建令牌命令,其为读请求,由主机发送给存储端,用来通知存储创建令牌;基于令牌的写命令,其为写请求,由主机携带令牌并发送给存储端,存储端解析令牌后进行数据复制;查询令牌命令,其为读请求,由主机发送给存储端,存储端会返回令牌信息给主机;包括如下步骤:s1、目标器加载的过程中,在存储集群创建一个和该目标器唯一对应的订阅对象,不同节点的同名目标器在加载过程中都会注册这个订阅对象,建立订阅/通知关系;s2、当一个目标器接到创建令牌请求后,创建一个包含唯一标识的令牌,该目标器先将令牌更新的通知发送给注册的订阅对象;存储集群再将令牌通过注册对象广播给其他注册该订阅对象的目标器;s3、其他目标器收到通知后,解析令牌,将令牌更新到本地内存保存,令牌更新完成后,回消息给订阅的对象告知令牌更新完成;s4、当所有注册订阅对象的目标器完成令牌更新后,收到创建令牌的目标器向客户端回响应,告知客户端令牌创建完成,创建令牌请求处理成功。
27.在一些实施例中,还包括如下改进:令牌在所有节点更新完成后,客户端通过任意一个注册订阅对象的目标器节点下发查询令牌请求给存储网关,存储网关根据令牌唯一的标识找到要读取的令牌,将令牌信
息返给客户端。
28.客户端收到存储网关返回的令牌信息,下发基于令牌的写请求到任意一个注册订阅对象的目标器节点,存储网关根据令牌唯一的标识找到要写数据的令牌,请求存储集群进行数据复制。
29.所述创建令牌命令包含需要复制数据的源地址和偏移,当应用服务器发送创建令牌请求给目标存储节点,目标存储节点根据创建令牌命令中所描述的源地址和偏移创建数据令牌。
30.所述查询令牌命令包含令牌查询请求,当应用服务器发送令牌查询请求给存储目标器,存储目标器将创建令牌命令所描述的某段数据对应的令牌信息返回给应用服务器。
31.所述基于令牌的写命令包含卸载写请求,当应用服务器用接收的令牌信息,发送一个卸载写请求给目标存储节点,请求进行数据复制。
32.创建令牌命令处理流程包括:存储网关收到客户端下发创建令牌命令后,对命令进行解析;每个创建令牌命令都会带有一个可复用的唯一的标识,存储网关会先判断需要创建的令牌是否已经存在,并且是否完成了卸载写的处理,来判断是否需要创建新的令牌;新的令牌创建后,当前节点的存储网关通过注册对象推送令牌信息告知其他节点的存储网关进行令牌信息同步,所有节点的存储网关收到令牌同步消息后,会判断新令牌的合法性,如果令牌在有效的范围,会将新的令牌信息更新到内存列表中,这样令牌在各个节点就算同步完成,最后存储网关将命令处理完成的结果返回给客户端,这样创建令牌命令就处理完成。
33.查询令牌命令处理流程为:创建令牌命令处理完成后,紧接着客户端会发送一个查询令牌命令的读请求给存储网关要求返回创建的数据令牌;每个查询令牌 命令都会带有一个可复用的唯一的标识,存储网关会先根据这个标识判断令牌是否已经创建,如果未创建,无法将令牌返给客户端,则会向客户端返回命令处理失败;找到对应的令牌后,会根据令牌处理情况去设置对应的状态,如果卸载写已经完成,则令牌的状态是已完成,如果卸载写还未开始,令牌返回给客户端后,客户端会下发卸载写的请求到存储,如果卸载写出错,会将对应的错误信息反给客户端去处理。
34.基于令牌的写命令处理流程为:存储网关收到基于令牌的写命令后,对命令进行解析;基于令牌的写命令会携带令牌发送到存储网关,并且每个命令都会带有一个可复用的唯一的标识,存储网关会判断令牌是否存在,是否是零号令牌的请求,如果判断条件满足卸载写的处理,则会在令牌信息中解析源卷的地址和偏移,基于令牌的写命令本身会携带目的卷的地址和偏移;存储网关将需要复制数据的源地址,目的地址,需要拷贝的数据长度传给存储集群去处理,存储集群将数据从源地址复制到目的地址。
35.本发明还包括一种基于分布式存储的odx协议处理的终端设备,包括处理器和存储器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序可被处理器执行以实现如上所述的方法。
36.本发明与现有技术对比的有益效果包括:a.分布式存储对odx协议的支持,使得分布式存储配合windows hyper

v,smb share disk等应用场景能够进行高效的数据传输,并且减少服务器cpu,内存,网络等资源消耗。
37.b.运用分布式存储的订阅/通知机制,解决odx协议中的令牌在分布式存储系统中多节点的目标器之间通信同步的难题。
38.c.合理的令牌管理,使得在创建、删除、查询这些令牌时更加可靠和高效。
附图说明
39.图1是现有技术的订阅/通知机制模型图。
40.图2是现有技术的windows odx基于令牌的复制操作流程图。
41.图3是现有技术的令牌格式示意图。
42.图4是现有技术的知名令牌格式示意图。
43.图5是本发明的odx命令在客户端、目标器、存储集群交互图。
44.图6是本发明的创建令牌命令处理流程图。
45.图7是本发明的查询令牌命令处理流程图。
46.图8是本发明的基于令牌的写命令处理流程图。
具体实施方式
47.下面对照附图并结合优选的实施方式对本发明作进一步说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
48.需要说明的是,本实施例中的左、右、上、下、顶、底等方位用语,仅是互为相对概念,或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。
49.缩略语和关键术语定义odx
ꢀꢀꢀꢀꢀꢀꢀꢀ
offloaded data transfer
ꢀꢀꢀꢀꢀꢀ
卸载数据传输token
ꢀꢀꢀꢀꢀꢀ
token
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
令牌rod token
ꢀꢀ
representation of data token
ꢀꢀꢀ
代表指定数据段的令牌cluster
ꢀꢀꢀꢀ
cluster
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储集群tgt
ꢀꢀꢀꢀꢀꢀꢀꢀ
linux target framework
ꢀꢀꢀꢀꢀꢀꢀ
存储网关osd
ꢀꢀꢀꢀꢀꢀꢀꢀ
object storage device
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
对象存储守护进程populate token (pt) (读请求,由主机发送给存储端,用来通知存储创建令牌)write with token (wut) (写请求,由主机携带令牌并发送给存储端,存储端解析令牌后进行数据复制)receive rod token information (rrti) (读请求,由主机发送给存储端,存储端会返回令牌信息给主机)initiator
ꢀꢀꢀ
启动器target
ꢀꢀꢀꢀꢀ
目标器2.1 本发明下述实施例所要解决的技术问题现有分布式存储系统并不支持windows server的odx指令,本发明下述实施例提供一种存储服务端多节点的目标器之间处理odx指令的方法,以解决分布式存储系统中,多节点目标器之间的令牌同步难题。
50.2.2 本发明下述实施例技术的详细阐述本发明中,分布式存储服务端结合iscsi技术和存储网关技术的运用,在目标器服
务程序增加对odx协议的支持。
51.目标器作为直接与客户交互的模块,能够接收并处理客户发起的odx命令;创建并同步令牌到分布式存储集群的各个节点,令牌同步完成后回响应给客户端;下发数据拷贝请求到存储集群。
52.为了保证各节点之间、节点与存储集群之间的消息通知和数据同步,使用分布式存储提供的订阅/通知机制。即在各节点以及存储集群都会注册订阅对象,通过通知该订阅对象来完成消息广播。
53.odx命令在启动器、存储网关和存储集群三者之间的交互关系见图5。
54.2.2.1 scsi网关节点scsi网关节点即存储网关所在节点,为连接客户端和存储集群之间通信的桥梁,存储网关与客户端之间通过iscsi协议完成交互,因此存储网关具备解析并处理iscsi协议的能力。并且各个存储网关维护自己的目标器列表。
55.目标器与存储集群之间通过订阅/通知机制完成消息通知和数据同步,因此创建目标器时,会创建该目标器唯一对应的订阅对象 。此后,存储集群只需要向该对象发生消息即可完成存储集群到目标器的消息通知。每当有新的令牌需要同步时,目标器会先将需要更新的令牌信息通知给存储集群,存储集群再将修改内容通知到目标器,目标器收到通知后,重新更新内存中的令牌管理列表。
56.2.3 本发明技术的具体处理流程为了实现odx功能,odx增加了如下几个scsi命令,存储需要对这些scsi命令进行解析处理:创建令牌命令(读请求,由主机发送给存储端,用来通知存储创建令牌)基于令牌的写命令 (写请求,由主机携带令牌并发送给存储端,存储端解析令牌后进行数据复制)查询令牌命令(读请求,由主机发送给存储端,存储端会返回令牌信息给主机)整体处理流程分为下面四个步骤:

.应用服务器发送创建令牌命令给存储节点,存储节点根据命令中所描述的某段数据产生数据令牌。
57.②
.存储节点的存储网关通过注册对象推送令牌信息告知其他节点的存储网关进行令牌信息同步,其他存储网关收到消息后,会判断新令牌的合法性,如果令牌在有效的范围,会将新的令牌信息更新到内存列表中。
58.③
.应用服务器发送令牌查询请求给存储目标器,存储将创建令牌命令所描述的某段数据对应的令牌信息返回给应用服务器。
59.④
.应用服务器用接收的令牌信息,发送基于令牌的写命令给目标存储节点,请求进行数据复制。
60.2.3.1 创建令牌命令处理流程创建令牌命令:客户端发送创建令牌的请求给存储网关,请求针对卷上的某段数据产生一个数据令牌。创建令牌的请求只负责通知存储产生某个数据段对应的数据令牌,并不会在响应中返回数据令牌。创建令牌命令处理步骤如下(如图6所示):存储网关收到客户端下发创建令牌命令后,对命令进行解析。
61.每个创建令牌命令都会带有一个可复用的唯一的标识,存储网关会先判断令牌是否已经存在,并且是否完成了卸载写的处理,来判断是否需要创建新的令牌。
62.新的令牌创建后,当前节点的存储网关通过注册对象推送令牌信息告知其他节点的存储网关进行令牌信息同步,所有存储网关收到令牌同步的消息后,会判断新令牌的合法性,如果令牌在有效的范围,会将新的令牌信息更新到内存列表中,这样令牌在各个节点的存储网关就算同步完成,最后存储网关将命令处理完成的结果返回给客户端,这样创建令牌命令就处理完成。
63.2.3.2 查询令牌命令处理流程查询令牌命令:发送令牌查询请求给存储网关,查询创建令牌请求所产生的数据令牌。查询令牌命令处理步骤如下:(如图7所示)创建令牌命令处理完成后,紧接着客户端会发送一个查询令牌命令给存储网关要求返回创建的数据令牌。
64.每个查询令牌命令都会带有一个可复用的唯一的标识,存储网关会先根据这个标识判断令牌是否已经创建,如果未创建,无法将令牌返给客户端,则会向客户端返回命令处理失败。
65.找到对应的令牌后,会根据令牌处理情况去设置对应的状态,如果卸载写已经完成,则令牌的状态是已完成,如果卸载写还未开始,令牌返回给客户端后,客户端会下发卸载写的请求到存储,如果卸载写出错,会将对应的错误信息反给客户端去处理。
66.2.3.3 基于令牌的写命令处理流程基于令牌的写命令:携带数据令牌发送卸载写请求给存储网关,存储设备通过该令牌找到所代表的数据,并进行数据复制。基于令牌的写命令处理步骤如下:(如图8所示)存储网关收到基于令牌的写命令后,对命令进行解析。
67.基于令牌的写命令会携带令牌发送到存储网关,并且每个命令都会带有一个可复用的唯一的标识,存储网关会判断令牌是否存在,是否是零号令牌的请求,如果判断条件满足卸载写的处理,则会在令牌信息中解析源卷的地址和偏移,基于令牌的写命令本身会携带目的卷的地址和偏移。
68.存储网关将需要复制数据的源地址,目的地址,需要拷贝的数据长度传给存储集群去处理,存储集群将数据从源地址复制到目的地址。
69.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献