掌桥专利:专业的专利平台
掌桥专利
首页

一种硬盘访问权限调控方法、系统、电子设备及介质

文献发布时间:2024-04-18 19:58:21


一种硬盘访问权限调控方法、系统、电子设备及介质

技术领域

本申请涉及硬盘的技术领域,具体涉及一种硬盘访问权限调控方法、系统、电子设备及介质。

背景技术

集群通常由多个节点组成,集群将数据分散到多个节点,一方面能够突破单机存储空间的限制,另一方面每个主节点都可以对外提供读写服务,确保了集群的响应能力。

在实际运行过程中,若集群出现故障后需要根据存储的关键信息进行重建恢复集群,通常这些关键信息是通过存储集群向硬盘中进行写入的,并且关键信息存放在硬盘中的固定位置,当节点关键数据发生变化时这些关键信息会自动同步到硬盘指定区域。但是在实际使用过程中,存储集群中可能会出现多个节点同时发生变化,进而导致多个节点同时访问硬盘,此时多个节点同时修改硬盘上的同一区域内的数据,容易导致盘内数据被破坏的情况。基于以上问题,亟需一种访问权限调控方法,以避免集群关键数据修改冲突导致关键数据遭到破坏。

发明内容

为了解决上述背景技术中提到的至少一个问题,本申请提供了一种硬盘访问权限调控方法、系统、电子设备及介质,能够对需要访问的目标硬盘的节点设置对应的权限,只有达到对应权限的节点才能够对盘进行读写;并且在完成访问后,通过注销操作释放对目标硬盘的访问权限,从而便于其他节点对目标硬盘进行访问。

本申请实施例提供的具体技术方案如下:

第一方面,提供一种硬盘访问权限调控方法,应用于存储集群内节点向目标硬盘访问,所述存储集群包括若干节点,所述方法包括:

接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

设置完成登记操作的节点在所述目标硬盘上具有初级权限;

接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

在一个具体的实施例中,所述方法还包括:

接收来自已订阅节点的释放订阅请求,根据所述释放订阅请求执行已订阅节点在所述目标硬盘的释放订阅操作;

接收来自至少一个已登记节点的注销登记请求,根据所述注销登记请求执行已登记节点在所述目标硬盘的注销登记操作,并判断此节点是否订阅到所述目标硬盘;

响应于此节点订阅到所述目标硬盘,则清除订阅数据;

或者,响应于此节点未订阅到所述目标硬盘,则返回错误信息。

在一个具体的实施例中,所述二级权限高于所述初级权限,具体包括:

所述初级权限为已登记在目标硬盘的节点在所述目标硬盘上具有读的权限;

所述二级权限为已订阅在目标硬盘的节点在所述目标硬盘上具有读写权限。

在一个具体的实施例中,在完成释放订阅操作之后,所述方法还包括:

向除发送释放订阅请求以外的其他节点发送解除订阅通知;

以便于其他节点向目标硬盘发起登记或者订阅指令;

在完成注销登记操作之后,所述方法还包括:

向除发送注销登记请求以外的其他节点发送解除登记通知;

以便于其他节点向目标硬盘发起登记或者订阅指令。

在一个具体的实施例中,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作,具体包括:

所述登记请求包括节点标识符、键值和目标硬盘序列号;

在所述目标硬盘序列号对应的目标硬盘内,判断所述目标硬盘注册链表中是否匹配到所述节点标识符;

若是,则此节点已登记到目标硬盘;

或者,若否,此节点未登记到目标硬盘,则将所述节点标识符和键值记录到目标硬盘的登记链表中,以完成登记操作。

在一个具体的实施例中,根据所述订阅请求执行在所述目标硬盘上的订阅操作,具体包括:

所述订阅请求包括节点标识符、订阅类型、键值和目标硬盘序列号;

判断目标硬盘的数据指针与发送订阅请求节点的登记数据结构地址是否相等;

若是,则发送订阅请求节点已订阅到目标硬盘;

或者,若否,同时目标硬盘已被其他节点订阅,则返回盘已被订阅错误;

或者,若否,同时发送订阅请求节点未登记到所述目标硬盘,则将所述订阅类型、所述键值和节点的数据指针记录到目标硬盘的订阅数据结构中,以完成订阅操作。

在一个具体的实施例中,所述发送订阅请求节点已订阅到目标硬盘之后,还包括:

判断所述订阅类型与当前目标硬盘的数据指针中的订阅类型是否匹配;

响应于所述订阅类型与当前目标硬盘的订阅类型匹配,则结束订阅;

或者,响应于所述订阅类型与当前目标硬盘的数据指针中的订阅类型不匹配,则向发送订阅请求节点返回错误信息;

其中,同一个节点重复订阅到目标硬盘时,所述订阅请求中的订阅类型与目标硬盘中的订阅类型匹配。

第二方面,提供一种硬盘访问权限调控系统,应用于存储集群内节点向目标硬盘访问,所述存储集群包括若干节点,所述系统包括:

登记单元,用于接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

第一设置单元,用于设置完成登记操作的节点在所述目标硬盘上具有初级权限;

订阅单元,用于接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

第二设置单元,用于设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

步骤A:接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

步骤B:设置完成登记操作的节点在所述目标硬盘上具有初级权限;

步骤C:接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

步骤D:设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

步骤A:接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

步骤B:设置完成登记操作的节点在所述目标硬盘上具有初级权限;

步骤C:接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

步骤D:设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

本申请实施例具有如下有益效果:

1.本申请实施例提供的硬盘访问权限调控方法,应用于存储集群内节点向目标硬盘访问,所述存储集群包括若干节点,其具体包括节点向目标硬盘发送登记请求,此时接收来自节点的登记请求,根据登记请求执行在节点请求的目标硬盘上的登记操作,并设置完成登记操作的节点在目标硬盘上具有初级权限,接收来自节点的订阅请求,同时确认此节点已在目标硬盘上完成登记,然后根据订阅请求执行在目标硬盘上的订阅操作,并设置完成订阅操作的节点在目标硬盘上具有读写的权限;通过以上方案,能够对需要访问目标硬盘的节点的设置不同的权限,即完成登记的节点能在目标硬盘进行读数据,完成订阅的节点才能够在目标硬盘上进行读写过程,并且一个目标硬盘能够同时接受多个节点的登记,但一个目标硬盘只能接受一个节点的订阅,从而实现对目标硬盘的访问过程的限定,以确保盘中的数据的安全性。

2.对于完成读写过程的节点,还可以通过接收已订阅节点的释放订阅请求,执行已订阅节点在目标硬盘的释放订阅操作,以及通过接收已登记节点的注销登记请求,执行已登记节点在目标硬盘的注销登记操作;通过以上方案,能够对已经完成读写过程的节点的权限进行释放,即通过释放订阅操作,以使得其他节点向目标硬盘发起登记或者订阅的指令,以及通过注销登记操作,以使得其他节点向目标硬盘发起登记或者订阅的指令,从而便于节点对目标硬盘进行访问。

3.由于设置一个目标硬盘仅能与一个节点,在接收到多个节点的订阅请求后,按照先后顺序,将最先达到控制器的订阅请求对应的节点,然后执行此节点在目标硬盘的订阅操作,其他节点则会订阅失败,当此目标硬盘的订阅空间被释放后,控制器会再次向已登记的节点发起通知,节点在收到通知后会向目标硬盘再次发起订阅请求。

附图说明

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

图1示出根据本申请中的应用环境的示意图;

图2示出根据本申请中的硬盘访问权限调控方法的登记和订阅的步骤示意图;

图3示出根据本申请中的登记操作的具体过程的示意图;

图4示出根据本申请中的订阅操作的具体过程的示意图;

图5示出根据本申请中的硬盘访问权限调控方法的注销登记和释放订阅的步骤示意图;

图6示出根据本申请中的释放订阅操作的具体过程的示意图;

图7示出根据本申请中的注销登记操作的具体过程的示意图;

图8示出根据本申请中的硬盘访问权限调控系统的示意图;

图9示出根据本申请中的计算机设备的示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的硬盘访问权限调控方法,可以应用于如图1所示的应用环境中。其中,存储集群中包括若干节点,例如节点1、节点2、节点3以及节点4等,机头中的各个节点通过链路连接到扩展柜,扩展柜上插入若干固态硬盘,这些固态硬盘将为机头提供更多的数据存储能力,存储集群需要向扩展柜的硬盘中更新集群信息,更新的信息用于在存储集群被破坏后用于重建恢复集群。其中,扩展柜中还设置有控制器,控制器用于调控某一时刻只有一个节点修改硬盘中的关键数据。

实施例一

如图2所示,提供了一种硬盘访问权限调控方法,应用于存储集群内节点向目标硬盘访问,所述存储集群包括若干节点,以该方法应用于图1中的硬盘中的控制器为例进行说明,包括以下步骤:

步骤S1:接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

步骤S2:设置完成登记操作的节点在所述目标硬盘上具有初级权限。

当节点需要向扩展柜上的目标硬盘写入集群数据或者读取目标硬盘上的数据时,需要获取初级权限,首先需要登记到目标硬盘,待登记的节点均向目标硬盘发送登记请求,控制器接收来自节点的登记请求,并根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作,其中,所述登记请求包括节点标识符、键值和目标硬盘序列号信息,具体包括:

步骤S1.1:根据目标硬盘序列号获取目标硬盘,并在所述目标硬盘序列号对应的目标硬盘内,判断所述目标硬盘注册链表中是否匹配到所述节点标识符;

步骤S1.2:若是,则此节点已登记到目标硬盘;

步骤S1.3:若否,此节点未登记到目标硬盘,则将所述节点标识符和键值记录到目标硬盘的登记链表中,以完成登记操作。

在一个具体的实施例中,如图3所示,根据目标硬盘ID,在对应的数据结构中检查发送登记请求的节点是否已登记到目标硬盘,即通过节点标识符在数据结构的注册链表中是否可以匹配到来进行判断;若匹配到,则继续匹配key值,即判断登记请求中的key值与当前盘的数据结构中登记的key值是否相同,若相同,则此节点已登记到目标硬盘,并结束登记过程;若不相同,则向发送登记请求的节点返回“登记冲突”错误。进一步的,当节点标识符在数据结构的注册链表中未匹配到时,则此节点未登记到目标硬盘,此时记录节点hostid和Key值,并将此数据记录到与此目标硬盘对应的数据结构的登记链表中,登记操作结束。

在一个具体的实施例中,同一个节点携带相同的节点标识符和键值,可以重复登记到同一个盘,此时不报错;并且,同一个盘可同时登记若干节点。

需要说明的是,节点标识符即节点的host id,具体的,host id在登记操作中唯一标识机头节点的标识符,用16个字节表示,由“机头集群信息+机头所在机柜编号+节点编号”组成,其中集群信息占15个字节,机柜编号占4位,节点编号占4位;key值,占8个字节,可用host id第8个字节来表示。

在一个具体的实施例中,通过将节点登记到目标硬盘,并设置完成登记操作的节点在所述目标硬盘上具有初级权限,即此时登记在目标硬盘上的节点均可以读取目标硬盘上的数据,此时目标硬盘并未被锁定。

步骤S3:接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

步骤S4:设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

在一个具体的实施例中,二级权限高于所述初级权限,其中所述初级权限包括已登记在目标硬盘的节点在所述目标硬盘上具有读的权限;所述二级权限包括已订阅在目标硬盘的节点在所述目标硬盘上具有读写权限。

当节点需要向扩展柜上的目标硬盘写入集群数据时,需要获取二级权限,首先登记到目标硬盘,在完成在目标硬盘的登记操作之后,需要完成节点在目标硬盘进行订阅,只有订阅到目标硬盘的节点才能够在目标硬盘上进行写入操作。此时,待订阅的节点向目标按发送订阅请求,控制器接收来自节点的订阅请求,并根据所述订阅请求执行在所述节点请求的目标硬盘上的订阅操作,其中,所述订阅请求包括节点标识符、订阅类型、键值和目标硬盘序列号,具体包括:

步骤S3.1:判断目标硬盘的数据指针与发送订阅请求节点的登记数据结构地址是否相等;

步骤S3.2:若是,则发送订阅请求节点已订阅到目标硬盘;

步骤S3.3:若否,同时目标硬盘已被其他节点订阅,则返回盘已被订阅错误;

步骤S3.4:若否,同时发送订阅请求节点未登记到所述目标硬盘,则将所述订阅类型、所述键值和节点的数据指针记录到目标硬盘的订阅数据结构中,以完成订阅操作。

在一个具体的实施例中,获取最先到达控制器的订阅请求对应的节点,执行此节点在所述目标硬盘的订阅操作;其中,一个目标硬盘在同一时刻仅与一个节点进行订阅,若目标硬盘已被此节点订阅,则不再接受其他节点的订阅。

具体的,由于发送订阅请求的节点有若干个,此时按照先到先得的原则,即获取最先到达控制器的订阅请求对应的节点,执行此节点在所述目标硬盘的订阅操作;并且一个目标硬盘仅能与一个节点进行订阅。在接收到多个节点的订阅请求后,按照先后顺序,将最先达到控制器的订阅请求对应的节点,然后执行此节点在目标硬盘的订阅操作,其他节点则会订阅失败,当此目标硬盘的订阅空间被释放后,控制器会再次向已登记的节点发起通知,节点在收到通知后会向目标硬盘再次发起订阅请求。

如图4所示,控制器接收来自节点的订阅请求,其中订阅请求中包括host id、订阅类型、Key值以及目标硬盘id。根据目标硬盘ID获取对应的目标硬盘,并在目标硬盘的数据结构中检查发送订阅请求的节点是否已登记到目标硬盘,即通过节点标识符在数据结构的注册链表中是否可以匹配到来进行判断;若匹配到,则继续匹配key值,即判断登记请求中的key值与当前盘的数据结构中登记的key值是否相同,若相同,则此节点已登记到目标硬盘,继续判断节点是否已订阅;若key值不匹配,则向发送订阅请求的节点返回“登记冲突”错误。

通过订阅数据结构中的数据指针与此节点的登记数据结构的地址是否相等来判断此节点是否已订阅目标硬盘;若地址相等,则发送订阅请求节点已订阅到目标硬盘;若目标硬盘已被订阅,但订阅者不是此节点,则向发送定于订阅亲请求的节点返回“盘已被订阅”错误;若目标硬盘未被订阅,此时将订阅类型、key值、登记数据结构的地址均记录到订阅数据结构中,以完成订阅操作。

需要说明的是,节点标识符即节点的host id,具体的,host id在登记操作中唯一标识机头节点的标识符,用16个字节表示,由“机头集群信息+机头所在机柜编号+节点编号”组成,其中集群信息占15个字节,机柜编号占4位,节点编号占4位;订阅类型表示当前订阅的类型,这个成员以后还可以扩展出更多的类型以便于扩展其他操作;key值占8个字节,可以用host id第8个字节来表示,与登记操作中的key值一样;数据指针,指向已订阅成功的节点的数据结构,若数据指针为空,则表示没有节点订阅。

在一个具体的实施例中,当发送订阅请求的节点已订阅到目标硬盘之后,还包括:

判断所述订阅类型与当前目标硬盘的数据指针中的订阅类型是否匹配;响应于所述订阅类型与当前目标硬盘的订阅类型匹配,则结束订阅;

或者,响应于所述订阅类型与当前目标硬盘的数据指针中的订阅类型不匹配,则向发送订阅请求节点返回错误信息;

其中,同一个节点重复订阅到目标硬盘时,所述订阅请求中的订阅类型与目标硬盘中的订阅类型匹配。

需要说明的是,订阅类型为“排他写”时,只有成功订阅目标硬盘的节点对目标硬盘有二级权限,即写的权限,其他节点对盘只有初级权限,即读的权限。具体的,写一类指令包括:空间回收指令、写指令、格式化指令、写零指令以及刷新指令,以上指令能够在订阅节点允许完成,登记节点和未登记节点均会拒绝执行。读一类指令包括:读指令、比较指令以及验证指令,以上指令在订阅节点、登记节点和未登记节点均允许执行。还包括登记指令,订阅节点和登记节点会允许执行,未登记节点会拒绝执行,其他指令在订阅节点、登记节点和未登记节点均允许执行。

需要说明的是,只有节点已订阅到目标硬盘,以上排他写访问权限才能够生效,如果节点只是登记到目标硬盘,那么上图中的指令限制将不会生效,节点订阅到目标硬盘后,控制器将允许次节点上所有的指令透传给目标硬盘。如果节点只是登记到了目标硬盘,却没有订阅目标硬盘,那么,扩展柜控制器会阻止这个节点到目标硬盘的写指令。如果节点未登记到目标硬盘,那么扩展柜控制器会拒绝订阅指令。

通过以上方案,能够对需要访问目标硬盘的节点的设置不同的权限,即完成登记的节点能在目标硬盘进行读数据,完成订阅的节点才能够在目标硬盘上进行读写过程,并且一个目标硬盘能够同时接受多个节点的登记,但一个目标硬盘只能接受一个节点的订阅,从而实现对目标硬盘的访问过程的限定,以确保盘中的数据的安全性。

当节点完成在目标硬盘的读写操作后,会释放对目标硬盘的订阅和登记,以便于其他节点访问,如图5所示,具体包括以下步骤:

步骤S5:接收来自已订阅节点的释放订阅请求,根据所述释放订阅请求执行已订阅节点在所述目标硬盘的释放订阅操作;

具体的,已订阅节点向目标硬盘发送释放订阅请求,具体的释放订阅请求中包括host id、订阅类型、Key值以及目标硬盘id信息。

如图6所示,根据目标硬盘ID获取目标硬盘,并在对应的数据结构中检查发送释放订阅请求的节点是否已登记到目标硬盘,判断标准是节点的host id,在数据结构的注册链表中可以匹配到节点的host id说明节点已登记到目标硬盘,然后继续匹配key值,若key值匹配,则继续判断节点是否已订阅,若key值不匹配,向发送指令的节点返回“登记冲突”的错误。

继续的,若key值匹配,则继续判断节点是否已订阅到目标硬盘,若订阅数据结构中的“数据指针”与此节点的登记数据结构地址相等,则说明发送释放订阅请求的节点已订阅到该盘;若此目标硬盘已被订阅,但订阅者不是此节点,则向发送释放订阅请求指令的节点返回“节点未订阅”错误;若发送释放订阅请求的节点已订阅到该盘,则继续检查指令中的“订阅类型”是否与订阅数据结构中的类型相匹配;若不匹配,则向发送释放订阅请求的节点返回“订阅类型不匹配”的错误;若匹配,清除订阅数据结构中的Key值、订阅类型,并将数据指针清空,则此时目标硬盘被释放出来,显示为未被订阅状态。

在一个具体的实施例中,在完成释放订阅操作之后,所述方法还包括:向除发送释放订阅请求以外的其他节点发送解除订阅通知;以便于其他节点向目标硬盘发起登记或者订阅指令。

步骤S6:接收来自至少一个已登记节点的注销登记请求,根据所述注销登记请求执行已登记节点在所述目标硬盘的注销登记操作,并判断此节点是否订阅到所述目标硬盘;

步骤S7:响应于此节点订阅到所述目标硬盘,则清除订阅数据;或者,响应于此节点未订阅到所述目标硬盘,则返回错误信息。

如图7所示,已登记节点向目标硬盘发送注销登记请求,目标硬盘根据接收到的注销登记请求执行在目标硬盘上的注销操作。具体的,注销登记请求中携带host id、订阅类型、Key值以及目标硬盘id信息;根据目标硬盘id在对应的数据结构中检查发送指令的节点是否已登记到目标硬盘,若在数据结构的注册链表中可以匹配到节点的host id说明节点已登记到目标硬盘;若未匹配到节点,则向发送注销登记请求的节点返回“登记冲突”错误。在找到匹配的节点后,继续匹配key值,若Key值不匹配,则向发送指令的节点返回“登记冲突”错误;若key值匹配,则说明发送注销登记的节点已登记到该目标硬盘,然后在检查该节点是否订阅在目标硬盘,判断标准是订阅数据结构的数据指针与该等级数据结构的地址相等;若该节点在此盘上的订阅还未取消,则需要将该盘上的订阅释放,释放操作包括清空定于类型、key值以及数据指针。

在一个具体的实施例中,在完成注销登记操作之后,所述方法还包括:向除发送注销登记请求以外的其他节点发送解除登记通知;以便于其他节点向目标硬盘发起登记或者订阅指令。

通过以上方案,能够对已经完成读写过程的节点的权限进行释放,即通过释放订阅操作,以使得其他节点向目标硬盘发起登记或者订阅的指令,以及通过注销登记操作,以使得其他节点向目标硬盘发起登记或者订阅的指令,从而便于节点对目标硬盘进行访问。

上述硬盘访问权限调控方法中,结合权1中的技术特征进行合理推导,实现能够解决背景技术中所提出的技术问题的有益效果。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

实施例二

在一个实施例中,如图8所示,提供了一种硬盘访问权限调控系统,应用于存储集群内节点向目标硬盘访问,所述存储集群包括若干节点,所述系统包括:

登记单元,用于接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

第一设置单元,用于设置完成登记操作的节点在所述目标硬盘上具有初级权限;

订阅单元,用于接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,则根据所述订阅请求执行在所述目标硬盘上的订阅操作;

第二设置单元,用于设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

在一个具体的实施例中,还包括释放单元和注销单元,释放单元用于接收来自已订阅节点的释放订阅请求,根据所述释放订阅请求执行已订阅节点在所述目标硬盘的释放订阅操作;

注销单元用于接收来自至少一个已登记节点的注销登记请求,根据所述注销登记请求执行已登记节点在所述目标硬盘的注销登记操作,并判断此节点是否订阅到所述目标硬盘;

注销单元还用于响应于此节点订阅到所述目标硬盘,则清除订阅数据;或者,响应于此节点未订阅到所述目标硬盘,则返回错误信息。

在一个具体的实施例中,订阅单元还包括排序模块,排序模块用于获取最先到达控制器的订阅请求对应的节点,执行此节点在所述目标硬盘的订阅操作;其中,一个目标硬盘与一个节点进行订阅;

在一个具体的实施例中,所述二级权限高于所述初级权限,所述初级权限包括已登记在目标硬盘的节点在所述目标硬盘上具有读的权限;

所述二级权限包括已订阅在目标硬盘的节点在所述目标硬盘上具有读写权限。

在一个具体的实施例中,还包括通知单元,通知单元包括第一通知模块和第二通知模块,第一通知模块用于在完成释放订阅操作之后,向除发送释放订阅请求以外的其他节点发送解除订阅通知,以便于其他节点向目标硬盘发起登记或者订阅指令;第二通知模块用于在完成注销登记操作之后,向除发送注销登记请求以外的其他节点发送解除登记通知;以便于其他节点向目标硬盘发起登记或者订阅指令。

在一个具体的实施例中,所述登记请求包括节点标识符、键值和目标硬盘序列号;登记单元具体用于在所述目标硬盘序列号对应的目标硬盘内,判断所述目标硬盘注册链表中是否匹配到所述节点标识符;若是,则此节点已登记到目标硬盘;或者,若否,此节点未登记到目标硬盘,则将所述节点标识符和键值记录到目标硬盘的登记链表中,以完成登记操作。

在一个具体的实施例中,所述订阅请求包括节点标识符、订阅类型、键值和目标硬盘序列号;订阅单元具体用于判断目标硬盘的数据指针与发送订阅请求节点的登记数据结构地址是否相等;若是,则发送订阅请求节点已订阅到目标硬盘;或者,若否,同时目标硬盘已被其他节点订阅,则返回盘已被订阅错误;或者,若否,同时发送订阅请求节点未登记到所述目标硬盘,则将所述订阅类型、所述键值和节点的数据指针记录到目标硬盘的订阅数据结构中,以完成订阅操作。

在一个具体的实施例中,订阅单元还包括匹配模块和响应模块,匹配模块用于发送订阅请求节点已订阅到目标硬盘之后,判断所述订阅类型与当前目标硬盘的数据指针中的订阅类型是否匹配;

响应模块用于,响应于所述订阅类型与当前目标硬盘的订阅类型匹配,则结束订阅;或者,响应于所述订阅类型与当前目标硬盘的数据指针中的订阅类型不匹配,则向发送订阅请求节点返回错误信息;

其中,同一个节点重复订阅到目标硬盘时,所述订阅请求中的订阅类型与目标硬盘中的订阅类型匹配。

关于盘访问权限调控系统的具体限定可以参见上文中对于硬盘访问权限调控方法的限定,在此不再赘述。上述盘访问权限调控系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储关键信息数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种硬盘访问权限调控方法。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

实施例三

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

步骤101:接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

步骤102:设置完成登记操作的节点在所述目标硬盘上具有初级权限;

步骤103:接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,然后根据所述订阅请求执行在所述目标硬盘上的订阅操作;

步骤104:设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

在一个具体的实施例中,处理器执行计算机程序时实现以下步骤:

步骤105:接收来自已订阅节点的释放订阅请求,根据所述释放订阅请求执行已订阅节点在所述目标硬盘的释放订阅操作;

步骤106:接收来自至少一个已登记节点的注销登记请求,根据所述注销登记请求执行已登记节点在所述目标硬盘的注销登记操作,并判断此节点是否订阅到所述目标硬盘;响应于此节点订阅到所述目标硬盘,则清除订阅数据;或者,响应于此节点未订阅到所述目标硬盘,则返回错误信息。

在一个具体的实施例中,所述二级权限高于所述初级权限,所述初级权限包括已登记在目标硬盘的节点在所述目标硬盘上具有读的权限;所述二级权限包括已订阅在目标硬盘的节点在所述目标硬盘上具有读写权限。

在一个具体的实施例中,步骤103中的接收来自至少一个节点的订阅请求之后,还包括:获取最先到达控制器的订阅请求对应的节点,执行此节点在所述目标硬盘的订阅操作;其中,一个目标硬盘与一个节点进行订阅。

在一个具体的实施例中,在步骤105中的完成释放订阅操作之后,还包括:

向除发送释放订阅请求以外的其他节点发送解除订阅通知;以便于其他节点向目标硬盘发起登记或者订阅指令;

在一个具体的实施例中,在步骤106中的完成注销登记操作之后,还包括:向除发送注销登记请求以外的其他节点发送解除登记通知;以便于其他节点向目标硬盘发起登记或者订阅指令。

在一个具体的实施例中,步骤101中的根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作,具体包括:所述登记请求包括节点标识符、键值和目标硬盘序列号;在所述目标硬盘序列号对应的目标硬盘内,判断所述目标硬盘注册链表中是否匹配到所述节点标识符;若是,则此节点已登记到目标硬盘;或者,若否,此节点未登记到目标硬盘,则将所述节点标识符和键值记录到目标硬盘的登记链表中,以完成登记操作。

在一个具体的实施例中,步骤102中的根据所述订阅请求执行在所述目标硬盘上的订阅操作,具体包括:所述订阅请求包括节点标识符、订阅类型、键值和目标硬盘序列号;判断目标硬盘的数据指针与发送订阅请求节点的登记数据结构地址是否相等;若是,则发送订阅请求节点已订阅到目标硬盘;或者,若否,同时目标硬盘已被其他节点订阅,则返回盘已被订阅错误;或者,若否,同时发送订阅请求节点未登记到所述目标硬盘,则将所述订阅类型、所述键值和节点的数据指针记录到目标硬盘的订阅数据结构中,以完成订阅操作。

在一个具体的实施例中,所述发送订阅请求节点已订阅到目标硬盘之后,还包括:判断所述订阅类型与当前目标硬盘的数据指针中的订阅类型是否匹配;响应于所述订阅类型与当前目标硬盘的订阅类型匹配,则结束订阅;或者,响应于所述订阅类型与当前目标硬盘的数据指针中的订阅类型不匹配,则向发送订阅请求节点返回错误信息;

在一个具体的实施例中,其中,同一个节点重复订阅到目标硬盘时,所述订阅请求中的订阅类型与目标硬盘中的订阅类型匹配。

实施例四

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

步骤201:接收来自至少一个节点的登记请求,根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作;

步骤202:设置完成登记操作的节点在所述目标硬盘上具有初级权限;

步骤203:接收来自至少一个节点的订阅请求,确认此节点已登记到所述目标硬盘,然后根据所述订阅请求执行在所述目标硬盘上的订阅操作;

步骤204:设置完成订阅操作的节点在所述目标硬盘上具有二级权限。

在一个具体的实施例中,处理器执行计算机程序时实现以下步骤:

步骤205:接收来自已订阅节点的释放订阅请求,根据所述释放订阅请求执行已订阅节点在所述目标硬盘的释放订阅操作;

步骤206:接收来自至少一个已登记节点的注销登记请求,根据所述注销登记请求执行已登记节点在所述目标硬盘的注销登记操作,并判断此节点是否订阅到所述目标硬盘;响应于此节点订阅到所述目标硬盘,则清除订阅数据;或者,响应于此节点未订阅到所述目标硬盘,则返回错误信息。

在一个具体的实施例中,所述二级权限高于所述初级权限,所述初级权限包括已登记在目标硬盘的节点在所述目标硬盘上具有读的权限;所述二级权限包括已订阅在目标硬盘的节点在所述目标硬盘上具有读写权限。

在一个具体的实施例中,步骤203中的接收来自至少一个节点的订阅请求之后,还包括:获取最先到达控制器的订阅请求对应的节点,执行此节点在所述目标硬盘的订阅操作;其中,一个目标硬盘与一个节点进行订阅。

在一个具体的实施例中,在步骤205中的完成释放订阅操作之后,还包括:

向除发送释放订阅请求以外的其他节点发送解除订阅通知;以便于其他节点向目标硬盘发起登记或者订阅指令;

在一个具体的实施例中,在步骤206中的完成注销登记操作之后,还包括:向除发送注销登记请求以外的其他节点发送解除登记通知;以便于其他节点向目标硬盘发起登记或者订阅指令。

在一个具体的实施例中,步骤201中的根据所述登记请求执行在所述节点请求的目标硬盘上的登记操作,具体包括:所述登记请求包括节点标识符、键值和目标硬盘序列号;在所述目标硬盘序列号对应的目标硬盘内,判断所述目标硬盘注册链表中是否匹配到所述节点标识符;若是,则此节点已登记到目标硬盘;或者,若否,此节点未登记到目标硬盘,则将所述节点标识符和键值记录到目标硬盘的登记链表中,以完成登记操作。

在一个具体的实施例中,步骤202中的根据所述订阅请求执行在所述目标硬盘上的订阅操作,具体包括:所述订阅请求包括节点标识符、订阅类型、键值和目标硬盘序列号;判断目标硬盘的数据指针与发送订阅请求节点的登记数据结构地址是否相等;若是,则发送订阅请求节点已订阅到目标硬盘;或者,若否,同时目标硬盘已被其他节点订阅,则返回盘已被订阅错误;或者,若否,同时发送订阅请求节点未登记到所述目标硬盘,则将所述订阅类型、所述键值和节点的数据指针记录到目标硬盘的订阅数据结构中,以完成订阅操作。

在一个具体的实施例中,所述发送订阅请求节点已订阅到目标硬盘之后,还包括:判断所述订阅类型与当前目标硬盘的数据指针中的订阅类型是否匹配;响应于所述订阅类型与当前目标硬盘的订阅类型匹配,则结束订阅;或者,响应于所述订阅类型与当前目标硬盘的数据指针中的订阅类型不匹配,则向发送订阅请求节点返回错误信息;

在一个具体的实施例中,其中,同一个节点重复订阅到目标硬盘时,所述订阅请求中的订阅类型与目标硬盘中的订阅类型匹配。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种分布式系统部署方法、系统、电子设备及存储介质
  • 一种操作系统的预安装方法、系统、电子设备及存储介质
  • 一种访问权限开放方法、装置、服务器及存储介质
  • 一种用于化妆间盒子的交易方法、系统、电子设备及存储介质
  • 一种日志处理方法、系统及电子设备和存储介质
  • 一种访问权限控制方法、系统、装置、电子设备及介质
  • 一种硬盘性能测试方法、系统、电子设备及可读存储介质
技术分类

06120116482520