一种用户访问控制方法及系统与流程

文档序号:11292248阅读:324来源:国知局
一种用户访问控制方法及系统与流程

本发明涉及分布式存储系统领域,特别涉及一种用户访问控制方法及系统。



背景技术:

在传统的网络存储系统中一般都是采用集中的存储服务器存储系统中的所有数据,显然,随着数据量的逐渐增多,此种系统已经不能满足大规模存储数据的需要。在此背景下,分布式存储系统飞速发展,分布式存储系统是将数据分散地存储在多台独立的设备上,利用多台存储服务器分担存储数据,利用位置服务器定位存储信息,此种数据存储方式不仅提高了系统的可靠性、可用性和存储效率,还易于扩展。但是在分布式存储系统当中,也存在着很多问题,比如:在ceph存储系统中,系统支持多客户端和多客户的文件操作,所以就会出现多用户中的个别用户会存入数量较多的文件,在此情况下,其他用户对存储系统中的文件进行相关操作时,就会产生操作响应过慢,影响用户体验的问题,这也是该技术领域所面临的一个难题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种用户访问控制方法及系统,其目的在于提升分布式存储系统当中用户的用户体验。其具体方案如下:

一种用户访问控制方法,应用于分布式存储系统,包括:

当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;所述访问请求为文件创建请求;

判断当前用户文件数是否大于或等于预设的阈值;

若当前用户文件数大于或等于所述阈值,则禁止对所述访问请求进行响应。

优选的,所述阈值设定的过程,包括:

获取管理终端发送的阈值设置指令,并根据所述阈值设置指令进行相应的阈值设置处理,得到所述阈值。

优选的,还包括:

若当前用户文件数小于所述阈值,则允许对所述访问请求进行响应。

优选的,所述允许对所述访问请求进行响应的过程之后,还包括:

统计相应的文件变化信息;

将所述文件变化信息记录至日志文件,并将所述日志文件缓存至元数据服务端。

优选的,还包括:

将当前用户文件数和所述阈值以数据结构的形式存储在所述元数据服务端。

优选的,还包括:

利用当前用户文件数,对所述阈值进行相应的调整,以实现对所述阈值的更新。

优选的,还包括:

统计所述用户终端的文件访问频率;

利用所述文件访问频率,对所述阈值进行相应的调整,以实现对所述阈值的更新。

本发明还公开了一种用户访问控制系统,应用于分布式存储系统,包括:

用户文件数获取模块,用于当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;所述访问请求为文件创建请求;

阈值判断模块,用于判断当前用户文件数是否大于或等于预设的阈值;

访问请求禁止模块,用于若当前用户文件数大于或等于所述阈值,则禁止对所述访问请求进行响应。

优选的,还包括:

第一阈值更新模块,用于利用当前用户文件数,对所述阈值进行相应的调整,以实现对所述阈值的更新。

优选的,还包括:

访问频率统计模块,用于统计所述用户终端的文件访问频率;

第二阈值更新模块,用于利用所述文件访问频率,对所述阈值进行相应的调整,以实现对所述阈值的更新。

本发明中,一种用户访问控制方法,应用于分布式存储系统,包括:当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;判断当前用户文件数是否大于或等于预设的阈值;若当前用户文件数大于或等于上述阈值,则禁止对访问请求进行响应。在本发明中,使当前的用户文件数与预设的阈值作比较,当用户文件数大于或等于预设的阈值时,则禁止用户对用户终端发送的访问请求作出响应,可见,通过对单个的用户访问文件数设置阈值,有效的限制了个别用户无限制的对集群系统中文件的访问及写入等情况的发生,这样就使得单个用户对文件的操作限制在一定范围内,通过这样的方法,大大提高了分布式存储系统当中的用户体验。

附图说明

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

图1为本发明实施例一公开的一种用户访问控制方法流程图;

图2为本发明实施例二公开的一种用户访问控制方法流程图;

图3为本发明实施例公开的一种用户访问控制系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例一公开了一种用户访问控制方法,参见图1所示,该方法包括:

步骤s11:当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;并且,上述访问请求为文件创建请求;

可以理解的是,在分布式存储系统中,数据交互的过程是动态变化的,所以在本实施例中,获取当前用户已经访问过的文件数,来执行后续的方法步骤,会更加符合数据动态交互的规律。

步骤s12:判断当前用户文件数是否大于或等于预设的阈值;

需要说明的是,在本实施例中,预设的阈值可以是用户自己设定的一个固定阈值,也可以是根据系统之前的日志文件,设定一个预设的阈值;可以理解的是,用户通过自己设定的一个固定的阈值,会使得预设的阈值更加符合用户操作的个人习惯;当然,预设的阈值还可以是通过统计之前用户的用户文件数来设定一个阈值,这样会比用户自己设定的阈值,避免一些不客观因素的影响;

当然,进一步的,预设的阈值还可以利用当前用户文件数,或者是通过统计用户终端的文件访问频率,来对预设的阈值进行相应的调整,以实现对预设的阈值进行动态的更新;可以理解的是,通过动态调整更新预设的阈值,会更加客观、准确的符合用户访问操作数据的规律,通过这样的方法,会极大的提高用户的用户体验。

步骤s13:若当前用户文件数大于或等于预设的阈值,则禁止对访问请求进行响应。

可以理解的是,如果当前用户文件数大于或等于预设的阈值,说明当前的用户文件数已经达到用户操作的上限,如果再继续对用户文件数进行相关的操作,就会影响分布式存储系统中其他用户的用户体验,在这种情况下,则禁止对该用户的访问请求作出响应,通过这样的方式,来提升分布式存储系统当中用户的用户体验。

可见,在本发明中,用当前的用户文件数与预设的阈值作比较,当用户文件数大于或等于预设的阈值时,则禁止用户对用户终端发送的访问请求作出响应,通过对单个的用户文件数设置阈值,有效的限制了个别用户无限制的对集群系统中文件的访问及写入等情况的发生,使得单个用户对文件的操作限制在一定范围内,通过这样的方法,大大提高了分布式存储系统当中的用户体验。

本发明实施例二公开了一种具体的用户访问控制方法,参见图2所示,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

步骤s21:当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;并且,上述访问请求为文件创建请求;

可以理解的是,在分布式存储系统中,数据交互的过程是动态变化的,所以在本实施例中,获取当前用户已经访问过的文件数,来执行后续的方法步骤,会更加符合数据动态交互的规律。

步骤s22:判断当前用户文件数是否大于或等于预设的阈值,如果否,则进入步骤s23;如果是,则进入步骤s24;

具体的,阈值的设定过程,包括获取管理终端发送的阈值设置指令,并根据阈值设置指令进行相应的阈值设置处理,得到上述阈值。

可以理解的是,由用户自己设定阈值,通过这样的方式,会更加符合用户操作的个人习惯。具体地,预设的阈值,可以是用户通过自己的个人习惯来进行设定,也可以是根据系统之前的日志文件,设定一个预设的阈值,此处对用户设定阈值的方法不作限定。

当然,进一步的,预设的阈值还可以利用当前用户文件数,对预设的阈值进行相应的调整,以实现对预设的阈值进行动态的更新;可以理解的是,通过动态调整更新预设的阈值,会更加符合用户近期调用各种数据的客观规律;例如,用户终端a之前预设的阈值为100,但是该用户终端当前的用户文件数为20,显然,之前预设的阈值相对于当前的用户文件数来说,预设的阈值就偏大,此时就应该根据当前的用户文件数对用户终端a的阈值进行相应的调整,将阈值相应的调整到30,就会比之前的所设置的阈值更加符合实际情况;同理,其他类似的情况,也应遵循此原则对用户预设的阈值进行相应的调整,此处不作赘述。

当然,更进一步的,预设的阈值还可以是先通过统计用户终端的文件访问频率,利用获得到的文件访问频率,对预设的阈值进行相应的调整,以实现对预设的阈值的更新。例如,假设在初始阶段系统为用户终端a和用户终端b均分配了同样的阈值100,在过后的一段时间内,监视到用户终端a的文件访问频率为每天创建1个文件数,用户终端b的文件访问频率为每天创建2个文件数,由此可以推断出用户终端b对文件访问需求量更多,为了提高用户终端b的用户体验,可以将与用户终端b对应的阈值由原来的100调整为200,而用户终端a对应的阈值则可以保持不变,以避免过多的文件存储空间长时间处于空闲状态。

另外,本实施例中也可以轮流使用上述两种调整方式来对某一用户终端的阈值进行调整,以进一步提升用户体验。

步骤s23:允许对访问请求进行响应;

具体的,对访问请求进行响应之后,还包括,步骤s231、步骤s232和步骤s233。

步骤s231:统计相应的文件变化信息;

步骤s232:将文件数变化信息记录至日志文件,并将日志文件缓存至元数据服务端;

可以理解的是,在接收到用户的访问请求时,系统在正常情况下,首先是对其进行响应,对用户文件进行创建和/或对文件进行删除和/或对用户信息进行修改;在对用户的访问请求响应完之后,系统会将相应的文件变化信息统计出来,且将文件的变化信息记录到日志文件当中,并将日志文件缓存在元数据服务端。需要说明的是,将文件的变化信息生成日志文件,存储在元数据服务端,会比将这些日志文件存储在其他存储系统当中,更加方便用户快速调用数据,并且方便用户查看相关的数据记录。

当然,这一步骤也可以与上述设定阈值的过程相对应,可以理解的是,通过本步骤的技术方案可以准确无误的统计出相应的文件变化信息,在此基础上,通过相应的文件变化信息来调整预设的阈值,也可以达到提升用户体验的目的。

步骤s233:将当前用户文件数和阈值以数据结构的形式存储在元数据服务端。

可以理解的是,在实际应用当中,增加的数据结构,包括但不限于,用户id、用户组id、用户文件数及用户数据统计的版本号等。在本实施中,通过增加数据结构把不同类型的数据集合进行分类,可以提高存储系统的运行效率和存储效率。

步骤s24:禁止对访问请求进行响应。

可以理解的是,如果当前用户文件数大于或等于预设的阈值,说明当前的用户文件数已经达到用户操作的上限,如果再继续对用户文件数进行相关的操作,就会影响分布式存储系统中其他用户的用户体验,在这种情况下,则禁止对该用户的访问请求作出响应,通过这样的方式,来提升分布式存储系统当中用户的用户体验。

相应的,本发明还公开了一种用户访问控制系统,参见图3所示,该系统包括:

用户文件数获取模块301,用于当接收到用户终端发送的访问请求,则获取当前用户文件数;其中,当前用户文件数为当前用户拥有的文件数;并且,上述访问请求为文件创建请求;

阈值判断模块302,用于判断当前用户文件数是否大于或等于预设的阈值;

访问请求禁止模块303,用于若当前用户文件数大于或等于所述阈值,则禁止对所述访问请求进行响应。

具体的,阈值判断模块302,包括:

阈值设定单元,用于获取管理终端发送的阈值设置指令,并根据阈值设置指令进行相应的阈值设置处理,得到阈值。

优选的,本申请实施例公开的用户访问控制系统,还包括:

访问请求响应模块304,用于在当前用户文件数小于阈值,允许对访问请求进行响应。

优选的,本申请实施例公开的用户访问控制系统,还包括:

变化信息统计模块305,用于在访问请求响应模块允许访问请求响应之后统计相应的文件变化信息;

日志文件缓存模块306,用于将文件变化信息记录至日志文件,并将日志文件缓存至元数据服务端。

优选的,本申请实施例公开的用户访问控制系统,还包括:

数据存储模块307,用于将当前用户文件数和阈值以数据结构的形式存储在元数据服务端。

优选的,本申请实施例公开的用户访问控制系统,还包括:

第一阈值更新模块308,用于利用当前用户文件数,对阈值进行相应的调整,以实现对阈值的更新。

优选的,本申请实施例公开的用户访问控制系统,还包括:

访问频率统计模块309,用于统计用户终端的文件访问频率;

第二阈值更新模块310,用于利用文件访问频率,对阈值进行相应的调整,以实现对阈值的更新。

关于上述各个模块和各个单元更加详细的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种用户访问控制方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1