背景技术:
1、分布式计算系统中的设备可以利用协议,诸如结构上的nvme(非易失性快速存储器)或nvmeof,以使得多个主机能够直接访问系统中的(多个)相同存储设备。虽然诸如nvmeof的协议可以带来显著的性能优势,但在某些情况下,它们也会引入计算和/或网络开销。例如,在分布式集群文件系统的上下文中,由于需要在主机之间进行协调以避免访问过时数据,对nvmeof和/或其他类似协议的使用可能会产生附加开销。
技术实现思路
1、以下
技术实现要素:
是本文中公开的各种实施例的一般概述,并且并不旨在穷举或限制所公开的实施例。在考虑以下结合附图和权利要求的详细描述之后,可以更好地理解实施例。
2、在一种实现中,本文中描述了一种数据存储系统。数据存储系统可以包括存储可执行组件的存储器和执行被存储在存储器中的可执行组件的处理器。可执行组件可以包括参考计数调整组件,参考计数调整组件针对由数据存储系统的发起方节点发起的对由数据存储器系统存储的资源的写入操作,确定针对资源的参考计数值,参考计数值包括与数据存储系统相关联的受影响存储区域的数目,受影响存储区域将利用与写入操作相关联的写入数据而被改变。可执行组件还可以包括锁定协调器接口组件,锁定协调器接口组件促进从数据存储系统的发起方节点向数据存储系统的锁定协调器节点发送针对资源的参考计数值。可执行组件还可以包括参与者接口组件,参与者接口组件促进从数据存储系统的发起方节点向分别被指派给受影响存储区域的数据存储系统的相应参与者节点发送与写入操作相关联的写入数据和与写入操作对应的锁定密钥。锁定密钥可以使相应参与者节点响应于相应参与者节点将与写入操作相关联的写入数据冲刷到受影响存储区域而向锁定协调器节点提供包括锁定密钥的相应通知。
3、在另一实现中,本文中描述了一种方法。该方法可以包括由操作地耦合到处理器的系统,针对由系统的发起方节点发起的对由系统存储的资源的写入操作,确定针对资源的计数值,计数值表示将由与写入操作相关联的写入数据来修改的系统的目标存储区域的数目。该方法还可以包括由系统促进从发起方节点向系统的锁定协调器节点传送针对资源的计数值。该方法还可以包括由系统促进从发起方节点向分别被指派给目标存储区域的系统的相应参与者节点传送与写入操作相关联的写入数据和针对写入操作的密钥值。该方法还可以包括由系统促进响应于相应参与者节点将写入数据写入目标存储区域而使相应参与者节点传送包括密钥值的相应通知。
4、在附加实现中,本文中描述了一种包括计算机可执行指令的非瞬态机器可读介质。该指令在由数据存储系统的处理器执行时可以促进操作的执行,该操作包括针对由数据存储系统的发起方节点发起的对由数据存储系统存储的资源的写入操作,获取计数值,计数值表示将由写入数据经由写入操作来修改的数据存储系统的受影响存储单元的数目;从发起方节点向数据存储系统的锁定协调器节点传输计数值;从发起方节点向分别管理受影响存储单元的数据存储系统的相应参与者节点传输写入数据和与写入操作相关联的密钥值;以及响应于相应参与者节点将写入数据记录到受影响存储单元,使相应参与者节点向锁定协调器节点发送包括密钥值的相应通知。
1.一种数据存储系统,包括:
2.根据权利要求1所述的数据存储系统,其中所述可执行组件还包括:
3.根据权利要求2所述的数据存储系统,其中所述计数维护组件响应于所述锁定协调器节点从所述参与者节点中的参与者节点接收到包括所述锁定密钥的所述相应通知中的通知,使所述锁定协调器节点递减被指派给所述资源的所述参考计数。
4.根据权利要求3所述的数据存储系统,其中所述发起方节点是写入发起方节点,并且其中所述可执行组件还包括:
5.根据权利要求3所述的数据存储系统,其中所述发起方节点是写入发起方节点,并且其中所述可执行组件还包括:
6.根据权利要求1所述的数据存储系统,其中所述参与者接口组件响应于从所述参与者接口组件接收到所述写入数据而使所述相应参与者节点将与所述写入操作相关联的所述写入数据暂存在与所述相应参与者节点相关联的本地存储设备处,从而产生暂存的写入数据,并且将所述暂存的写入数据冲刷到所述受影响存储区域,并且其中所述可执行组件还包括:
7.根据权利要求6所述的数据存储系统,其中所述崩溃恢复组件响应于所述发起方节点在所述参与者接口组件促进与所述写入操作相关联的所述写入数据向所述相应参与者节点的所述发送之前变得不可用,取消所述写入操作并且将针对所述资源的所述参考计数重置为零。
8.根据权利要求6所述的数据存储系统,其中所述崩溃恢复组件响应于所述节点在所述参与者接口组件促进与所述写入操作相关联的所述写入数据向所述相应参与者节点的所述发送之后并且在所述写入数据被暂存在与所述相应参与者节点相关联的所述本地存储设备处之前变得不可用,中止所述写入操作,并且使所述相应参与者节点响应于所述写入操作被中止而向所述锁定协调器节点提供所述相应通知。
9.根据权利要求6所述的数据存储系统,其中所述崩溃恢复组件响应于所述相应参与者节点中的参与者节点在将所述写入数据暂存在与所述参与者节点相关联的本地存储设备处之后并且在所述参与者节点将所述暂存的写入数据冲刷到所述受影响存储区域之前变得不可用,阻止由所述发起方节点独立于所述参与者节点对所述受影响存储区域中的至少一个受影响存储区域的访问,等待所述参与者节点的可用性被恢复和所述写入操作被解决。
10.根据权利要求1所述的数据存储系统,其中所述受影响存储区域对应于从包括存储盘、字节、数据块和包括少于所有所述存储盘的盘的子集的组选择的单元。
11.一种方法,包括:
12.根据权利要求11所述的方法,还包括:
13.根据权利要求12所述的方法,其中所述发起方节点是写入发起方节点,并且其中所述方法还包括:
14.根据权利要求11所述的方法,还包括:
15.根据权利要求14所述的方法,还包括:
16.一种包括计算机可执行指令的非暂态机器可读介质,所述计算机可执行指令在由数据存储系统的处理器执行时促进操作的执行,所述操作包括:
17.根据权利要求16所述的非暂态机器可读介质,其中所述操作还包括:
18.根据权利要求17所述的非暂态机器可读介质,其中所述发起方节点是写入发起方节点,并且其中所述操作还包括:
19.根据权利要求16所述的非暂态机器可读介质,其中所述操作还包括:
20.根据权利要求19所述的非暂态机器可读介质,其中所述操作还包括: