CN110413215A - 用于获取访问权限的方法、设备和计算机程序产品 - Google Patents
用于获取访问权限的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN110413215A CN110413215A CN201810402848.5A CN201810402848A CN110413215A CN 110413215 A CN110413215 A CN 110413215A CN 201810402848 A CN201810402848 A CN 201810402848A CN 110413215 A CN110413215 A CN 110413215A
- Authority
- CN
- China
- Prior art keywords
- target entry
- entry
- list
- target
- access
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004590 computer program Methods 0.000 title claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000012545 processing Methods 0.000 claims description 15
- 230000001052 transient effect Effects 0.000 claims description 2
- 230000000630 rising effect Effects 0.000 claims 4
- 238000003860 storage Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000012795 verification Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例旨提供一种用于获取访问权限的方法、设备和计算机程序产品。该方法包括响应于接收到对文件的访问权限的请求,从所述请求中获取与对所述文件的访问相关联的查询关键词;在与所述文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目;响应于搜索到所述目标条目,确定所述目标条目的访问频率是否超出阈值频率;以及响应于所述访问频率超出阈值频率,将所述目标条目设置为所述目标条目列表中的起始条目。
Description
技术领域
本公开的实施例总体涉及数据存储,更具体地,涉及一种用于获取访问权限的方法、设备和计算机程序产品。
背景技术
在文件系统中,ACL(访问控制列表)是包含ACE(访问控制条目)的数据结构,用于指定特定系统对象(如程序,进程或文件)的个人用户或组权限。ACL决定了特定的访问权限,例如用户是否可以读取,写入或执行对象等。
作为虚拟文件系统(VFS)层的一般实现,存在一个ACL缓存,每个缓存项由ACL标识(ACL ID),ACL内容和ACL大小的校验和组成。ACL信息一旦被记录到内存里面,其不会被释放。因此,对于可能提供数千个文件系统的大型存储系统而言,访问缓存可能是系统的性能瓶颈。
发明内容
本公开的实施例旨在提供一种用于获取访问权限的方法、设备和计算机程序产品,以解决现有技术中存在的问题。
在本公开的第一方面,提供一种用于获取访问权限的方法。所述方法包括响应于接收到对文件的访问权限的请求,从所述请求中获取与对所述文件的访问相关联的查询关键词;在与所述文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目;响应于搜索到所述目标条目,确定所述目标条目的访问频率是否超出阈值频率;以及响应于所述访问频率超出阈值频率,将所述目标条目设置为所述目标条目列表中的起始条目。
在本公开的第二方面,提供一种用于获取访问权限设备。所述设备包括至少一个处理器以及与所述至少一个处理器耦合的存储器。所述存储器包含有存储于其中的指令,所述指令在被所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:从所述请求中获取与对所述文件的访问相关联的查询关键词;在与所述文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目;响应于搜索到所述目标条目,确定所述目标条目的访问频率是否超出阈值频率;以及响应于所述访问频率超出阈值频率,将所述目标条目设置为所述目标条目列表中的起始条目。
在本公开的第三方面,提供一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行上述第一方面所述的方法的步骤。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。
附图说明
通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例而非限制性的方式示出了本公开的若干实施例,其中:
图1示出了能够实施本公开的实施例的示例性场景的示意图。
图2示出了根据本公开的实施例的方法200的流程图。
图3示出了根据本公开的实施例的一个哈希桶的实例的示意图。
图4示出了可以用来实施本公开的实施例的设备400的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施例。应当注意,这些附图和描述涉及的仅仅是作为示例性的实施例。应该指出的是,根据随后描述,很容易设想出此处公开的结构和方法的替换实施例,并且可以在不脱离本公开要求保护的原理的情况下使用这些替代实施例。
应当理解,给出这些示例性实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
在文件系统中,ACL(访问控制列表)是一种用于指定特定系统对象(如程序,进程或文件)的个人用户或组权限的数据结构。例如,ACL决定了用户是否可以读取,写入或执行对象等。ACL包括ACE(访问控制条目)的数据结构。
作为虚拟文件系统(VFS)层的一般实现,存在一个ACL缓存。每个缓存项由ACL标识(ACL ID),ACL内容和ACL大小的校验和组成。ACL信息一旦被记录到内存里面,其不会被释放。因此,对于可能提供数千个文件系统的大型存储系统而言,访问缓存可能是系统的性能瓶颈,因为内存资源有限且系统无法提供足够大的缓存。
通常,将缓存条目存储在两个哈希表(Hash Table)中,这两个哈希表分别通过ACLID和ACL的内容和大小的校验和进行搜索的。一般而言,哈希表是根据索引键(key)而直接进行访问的数据结构。也就是说,它通过把key映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。因此,对于用于存储ACL缓存的哈希表而言,其key可以是ACL ID或ACL的内容和大小的校验和。
通过这两个哈希表,该ACL缓存一方面能够具有通过搜索校验和来去除重复的ACL的功能,另一方面能够通过搜索ACL标识而不是访问磁盘ACL数据来加速内存中的读/写效率。
如果与ACL缓存条目相关联的哈希表所实现的缓存容量很小,则会增加哈希冲突的可能性,并且还会增加缓存丢失的可能性,因此获取所需数据需要更多时间。
哈希桶(Hash Bucket)这一概念由此得以引入来处理哈希冲突。例如哈希表可以包括若干哈希桶。一般而言,哈希桶被理解为哈希表元素的虚拟子群组。
传统方式下,可以通过与哈希桶相关联的key和哈希值来确定所要搜索的条目在哪一个哈希桶中。进而在确定了哈希桶之后,以遍历的方式逐条搜索哈希桶中的哈希链表。在遇到要频繁访问的条目处于哈希链表的末尾的位置的情况下,这种搜索方式造成资源成本的显著增加以及系统性能的急剧下降。
为了解决上述问题以及潜在的其他问题,本公开的实施例提出了一种方案,以提高访问和搜索ACL缓存的性能。
图1示出了能够实施本公开的实施例的示例性场景的示意图。场景100包括网络附属存储器(NAS)110。NAS 110被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据。场景100还包括ACL 120。如上文所述,ACL是一种用于指定特定系统对象的个人用户或组权限的数据结构,其决定了用户是否可以读取,写入或执行对象等。场景100中还包括第一用户130和第二用户140。第一用户130和第二用户140能够分别访问NAS110中的文件。在ACL 120中记录了第一用户130和第二用户140与NAS 110中的每个文件关联的访问权限,该访问权限例如可以指示第一用户130和第二用户140是否可以对该文件进行读、写和执行操作。应当理解,对于第一用户130和第二用户140,该访问权限可以是相同的,也可以是不同的。
尽管在场景100中仅仅示出了两个用户,也就是第一用户130和第二用户140。应当理解,可以存在更多或更少的用户来共享NAS 120中的文件。在场景100中示出的用户的数目仅仅作为示例性的,而非作为对于能够实施本公开的实施例的示例性场景100的限定。
图2示出了根据本公开的实施例的方法200的流程图。图3中示出了根据本公开的实施例的哈希表300。以下结合图2和图3详细描述根据本公开的实施例的方法200。
如图2所示,在框210,从请求中获取与对文件的访问相关联的查询关键词。
结合图1中示出的场景100,用户(例如第一用户130)发出访问NAS 110中的一个访问控制列表信息的请求。在该请求中可以包括与要访问的访问控制列表相关联的查询关键词。该查询关键词可以是ACL标识(ACL ID)或ACL内容和大小的校验和。
如上文所述,ACL缓存条目可以存储在哈希表中,而哈希表是根据索引键而直接进行访问的数据结构。因此,对于ACL,本公开中的哈希表可以是索引键为ACL标识的哈希表以及索引键为ACL内容和大小的校验和的哈希表。
ACL标识可以理解为对于一个文件,已经存在赋予该文件的访问权限。当用户想要获得该文件的访问权限时,可以通过该ACL标识为索引键在哈希表的相应条目中获知该权限的内容。而对于校验和而言,可以理解为用户想要创建一个文件,而该文件的ACL标识是未知的。用户可以基于该文件ACL内容和ACL大小进行相关计算,得出的结果被称作校验和。在本公开中,访问ACL标识和校验和均可以视作是一个数值。
两种基于不同的索引键的哈希表可以分别包括多个哈希桶,在哈希桶中包括哈希表元素的虚拟子群组。如图3所示,哈希表300可以视作是索引键为ACL标识的哈希表,也可以是视作索引键为ACL内容和大小的校验和的哈希表。
在图3中所示,哈希表300可以包括多个哈希桶3100,3101,3102,3103,...,310N。应当理解,N可以是任意的整数。N的大小可以是文件系统针对内存中的哈希表容量而设定的预定值。在图3中,多个哈希桶3100,3101,3102,3103,...,310N中的每个哈希桶为具有哈希表元素的链表。
继续参见图2,在框220,在与文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目。
如上文已经提到的,根据一个实施例,查询关键词的类型可以是ACL标识,也可以是ACL内容和大小的校验和。因此,如果查询关键词的查询关键词是ACL标识,则获取与以ACL标识为索引键的多个哈希桶中的条目列表有关的信息。而如果查询关键词的查询关键词是ACL内容和大小的校验和,则获取与该校验和为索引键的多个哈希桶中的条目列表有关的信息。
在此,与哈希桶中的条目列表有关的信息例如包括哈希桶的数目以及哈希桶中的哈希表元素的链表的范围。如在图3所示出的哈希表300中,例如可以确定该哈希表300包括哈希桶3100,3101,3102,3103,...,310N。例如还可以确定哈希桶3100包括条目3200至3205,哈希桶3101包括条目3210至3215。应当理解,哈希桶中所包含的条目的数目可以与在图300中示出的数目不同。
在获取到与多个哈希桶中的条目列表有关的信息后,可以从多个哈希桶中确定与查询关键词相关联的目标哈希桶。根据一个实施例,可以基于由上文提及的ACL标识和校验和指示的数值和与多个哈希桶中的条目列表有关的信息计算哈希值,从而确定与查询关键词相关联的目标哈希桶。例如通过ACL标识或校验和指示的数值对哈希桶的数目取模来确定。以ACL标识为例,在图3中,哈希值的计算可以通过以下等式(1)得出,即:
哈希值=ACL标识(数值)mod N (1)
得出的结果可以指示图3中的哪一个哈希桶是与所述查询关键词相关联的。一旦确定了与所述查询关键词相关联的目标哈希桶,则将该目标哈希桶中的条目列表确定为目标条目列表并且在该目标条目列表中搜索与查询关键词相对应的目标条目。以图3为例,如果根据等式(1)得到的结果是零,则将哈希桶3100的条目列表确定为目标条目列表。
在框230,确定是否在目标条目列表中搜索到目标条目。如果在目标条目列表中搜索到该目标条目,则在框240,确定该目标条目的访问频率是否超出阈值频率,如果该目标条目的访问频率超出阈值频率,则在框250,将该目标条目设置为目标条目列表中的起始条目。
根据一个实施例,可以为目标条目设置与其访问频率相关联的权重值,例如目标条目的初始值可以是零,而每当该目标条目被搜索到一次,该权重值例如可以加一。
结合图3,如果在哈希桶3100的目标条目列表中搜索到目标条目,例如是条目3203,则将与该条目的访问频率相关联的权重值加一并判断该访问频率是否大于阈值频率。如果确定了该访问频率超出阈值频率,则将条目3203设置为哈希桶3100的目标条目列表的起始条目。
根据一个实施例,在将条目3203设置为哈希桶3100的目标条目列表的起始条目。将与条目3203相关联的访问频率的权重值设为预定权重值,例如该权重值被清零。
上述的实施例基于LRU(Least Recently used最近最少使用到的)和缓存条目权重的构想而被提出,这能够以简单的方式优化对于缓存条目的访问过程。
倘若在框220,没有在目标条目列表中搜索到目标条目,则在框260,将目标条目添加至该目标条目列表的末尾。
应当理解,尽管在图2中示出了根据本公开的实施例的方法200,在附图中所示出的方框的方法步骤顺序并不是限制性的。根据不同的实施方式修改、调整、增减在图2中示出的方框。
在图2中示出的方法200例如可以通过表1中示出的示例性的代码来实现。
表1
在表1中,struct SDInfo中示出了SD信息的数据结构,例如可以包括SD报头,ACL标识,校验和(CRC)和权重值。
通过本公开的实施例提供的方法,无需在每次获取缓存条目时重复性的遍历与目标条目相关联的哈希桶链表。通过调整与目标条目相关联的哈希桶链表中的目标条目的位置,能够显著优化搜索缓存条目的性能,节省了搜索时间和系统的资源成本。
图4示出了可以用来实施本公开的实施例的设备400的示意性框图。如图4所示,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元404加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200,可由处理单元401执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器程序产品,例如存储单元404。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序被加载到RAM 403并由CPU 401执行时,可以执行上文描述的方法200的一个或多个步骤。
综上所述,本公开的实施例提供了一种利用预备盘建立多级闪速缓存的方法。与现有技术相比,本公开的实施例能够将所有类型的预备盘用于建立辅缓存,其使得预备盘被更加有效地利用。以此方式,能够为缓存提供更多的缓存容量。此外,能够减少由于将冲刷到硬盘的页面再次提升到闪存盘导致的写I/O请求,因此能够延长主缓存总的闪存盘的使用寿命。
本公开内容可以是方法、设备和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开内容的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开内容操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开内容的各个方面。
这里参照根据本公开内容实施例的方法、装置(设备)和计算机程序产品的流程图和/或框图描述了本公开内容的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机程序产品则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开内容的多个实施例的方法、设备和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开内容的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文公开的各实施例。
Claims (13)
1.一种用于获取访问权限的方法,包括:
响应于接收到对文件的访问权限的请求,从所述请求中获取与对所述文件的访问相关联的查询关键词;
在与所述文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目;
响应于搜索到所述目标条目,确定所述目标条目的访问频率是否超出阈值频率;以及
响应于所述访问频率超出阈值频率,将所述目标条目设置为所述目标条目列表中的起始条目。
2.根据权利要求1所述的方法,其中搜索与所述查询关键词相对应的目标条目包括:
确定所述查询关键词的类型;
基于所述类型,获取与多个哈希桶中的条目列表有关的信息;
基于所述与多个哈希桶中的条目列表有关的信息,从所述多个哈希桶中确定与所述查询关键词相关联的目标哈希桶;以及
将所述目标哈希桶中的条目列表确定为所述目标条目列表。
3.根据权利要求2所述的方法,其中所述查询关键词的类型包括以下中的任意一种:
访问控制列表标识(ACL ID);以及
基于访问控制列表的内容和大小得出的校验结果。
4.根据权利要求1所述的方法,其中确定所述目标条目的访问频率是否超出阈值频率包括:
获取与所述目标条目的访问频率相关联的权重值;
响应于搜索到所述目标条目,增加所述权重值。
5.根据权利要求1所述的方法,其中将所述目标条目设置为所述目标条目列表中的起始条目包括:
将与所述目标条目的访问频率相关联的权重值设为预定权重值。
6.根据权利要求1所述的方法,还包括:
响应于未搜索到所述目标条目,将所述目标条目添加到所述目标条目列表中的末尾。
7.一种用于获取访问权限设备,包括:
至少一个处理器;以及
与所述至少一个处理器耦合的存储器,所述存储器包含有存储于其中的指令,所述指令在被所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
响应于接收到对文件的访问权限的请求,从所述请求中获取与对所述文件的访问相关联的查询关键词;
在与所述文件的访问权限有关的目标条目列表中搜索与所述查询关键词相对应的目标条目;
响应于搜索到所述目标条目,确定所述目标条目的访问频率是否超出阈值频率;以及
响应于所述访问频率超出阈值频率,将所述目标条目设置为所述目标条目列表中的起始条目。
8.根据权利要求7所述的设备,其中搜索与所述查询关键词相对应的目标条目包括:
确定所述查询关键词的类型;
基于所述类型,获取与多个哈希桶中的条目列表有关的信息;
基于所述与多个哈希桶中的条目列表有关的信息,从所述多个哈希桶中确定与所述查询关键词相关联的目标哈希桶;以及
将所述目标哈希桶中的条目列表确定为所述目标条目列表。
9.根据权利要求8所述的设备,其中所述查询关键词的类型包括以下中的任意一种:
访问控制列表标识(ACL ID);以及
基于访问控制列表的内容和大小得出的校验结果。
10.根据权利要求7所述的设备,其中从所述多个哈希桶中确定包括所述目标条目列表的哈希桶包括:
基于所述多个哈希桶的数目而对所述查询关键词进行求模操作;以及
基于所述求模操作的结果来确定包括所述目标条目列表的哈希桶。
11.根据权利要求7所述的设备,其中确定所述目标条目的访问频率是否超出阈值频率包括:
获取与所述目标条目的访问频率相关联的权重值;
响应于搜索到所述目标条目,增加所述权重值。
12.根据权利要求7所述的设备,其中将所述目标条目设置为所述目标条目列表中的起始条目包括:
将与所述目标条目的访问频率相关联的权重值设为预定权重值。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810402848.5A CN110413215B (zh) | 2018-04-28 | 2018-04-28 | 用于获取访问权限的方法、设备和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810402848.5A CN110413215B (zh) | 2018-04-28 | 2018-04-28 | 用于获取访问权限的方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413215A true CN110413215A (zh) | 2019-11-05 |
CN110413215B CN110413215B (zh) | 2023-11-07 |
Family
ID=68357338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810402848.5A Active CN110413215B (zh) | 2018-04-28 | 2018-04-28 | 用于获取访问权限的方法、设备和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413215B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625968A (zh) * | 2021-08-12 | 2021-11-09 | 网易(杭州)网络有限公司 | 文件权限的管理方法、装置、计算机设备及存储介质 |
Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156018A1 (en) * | 2004-12-30 | 2006-07-13 | Craig Lauer | Template access control lists |
US20060224897A1 (en) * | 2005-04-01 | 2006-10-05 | Satoshi Kikuchi | Access control service and control server |
US20070100830A1 (en) * | 2005-10-20 | 2007-05-03 | Ganesha Beedubail | Method and apparatus for access control list (ACL) binding in a data processing system |
CN1975731A (zh) * | 2005-11-30 | 2007-06-06 | 国际商业机器公司 | 用于管理对数据库中数据的访问的系统和方法 |
US20070283115A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Memory protection in a computer system employing memory virtualization |
US7324514B1 (en) * | 2000-01-14 | 2008-01-29 | Cisco Technology, Inc. | Implementing access control lists using a balanced hash table of access control list binary comparison trees |
CN101345694A (zh) * | 2007-07-11 | 2009-01-14 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种快速查找定位和匹配访问控制列表的方法 |
JP2011065397A (ja) * | 2009-09-17 | 2011-03-31 | Nec Corp | 不正アクセス検出装置、不正アクセス検出プログラム、および、不正アクセス検出方法 |
CN102073733A (zh) * | 2011-01-19 | 2011-05-25 | 中兴通讯股份有限公司 | 哈希表管理方法及装置 |
CN103064906A (zh) * | 2012-12-18 | 2013-04-24 | 华为技术有限公司 | 文件管理方法及装置 |
CN103294822A (zh) * | 2013-06-17 | 2013-09-11 | 北京航空航天大学 | 一种基于主动哈希和布隆过滤器的高效缓存方法 |
US20130246470A1 (en) * | 2012-03-14 | 2013-09-19 | International Business Machines Corporation | Rule-based access control list management |
CN104145468A (zh) * | 2014-01-13 | 2014-11-12 | 华为技术有限公司 | 一种文件访问权限控制方法及装置 |
CN104361296A (zh) * | 2014-11-14 | 2015-02-18 | 武汉烽火网络有限责任公司 | 一种并行的大容量访问控制列表的查找方法 |
CN104636645A (zh) * | 2015-01-27 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 数据访问的控制方法及装置 |
US20150378638A1 (en) * | 2013-01-02 | 2015-12-31 | International Business Machines Corporation | High read block clustering at deduplication layer |
CN106033420A (zh) * | 2015-03-11 | 2016-10-19 | 杭州华三通信技术有限公司 | 哈希表的处理方法及装置 |
CN106326475A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学院信息工程研究所 | 一种高效的静态哈希表实现方法及系统 |
US20170024326A1 (en) * | 2015-07-22 | 2017-01-26 | CNEX-Labs, Inc. | Method and Apparatus for Caching Flash Translation Layer (FTL) Table |
CN106411823A (zh) * | 2015-07-31 | 2017-02-15 | 华为技术有限公司 | 一种基于cdn的访问控制方法及相关设备 |
CN106682186A (zh) * | 2016-12-29 | 2017-05-17 | 华为技术有限公司 | 文件访问控制列表管理方法和相关装置和系统 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
CN107451271A (zh) * | 2017-08-03 | 2017-12-08 | 上海达梦数据库有限公司 | 一种哈希表处理方法、装置、设备及存储介质 |
US20170359344A1 (en) * | 2016-06-10 | 2017-12-14 | Microsoft Technology Licensing, Llc | Network-visitability detection control |
CN107566429A (zh) * | 2016-06-30 | 2018-01-09 | 中兴通讯股份有限公司 | 基站、访问请求的响应方法、装置及系统 |
CN107729535A (zh) * | 2017-11-17 | 2018-02-23 | 中国科学技术大学 | 一种键值数据库内布隆过滤器的配置方法 |
CN107770076A (zh) * | 2016-08-23 | 2018-03-06 | 中兴通讯股份有限公司 | 一种哈希冲突的处理方法、装置及交换设备 |
CN107895022A (zh) * | 2017-11-10 | 2018-04-10 | 南京航空航天大学 | 融合哈希的频繁更新不确定移动对象索引方法 |
-
2018
- 2018-04-28 CN CN201810402848.5A patent/CN110413215B/zh active Active
Patent Citations (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7324514B1 (en) * | 2000-01-14 | 2008-01-29 | Cisco Technology, Inc. | Implementing access control lists using a balanced hash table of access control list binary comparison trees |
US20060156018A1 (en) * | 2004-12-30 | 2006-07-13 | Craig Lauer | Template access control lists |
US20060224897A1 (en) * | 2005-04-01 | 2006-10-05 | Satoshi Kikuchi | Access control service and control server |
US20070100830A1 (en) * | 2005-10-20 | 2007-05-03 | Ganesha Beedubail | Method and apparatus for access control list (ACL) binding in a data processing system |
CN1975731A (zh) * | 2005-11-30 | 2007-06-06 | 国际商业机器公司 | 用于管理对数据库中数据的访问的系统和方法 |
US20070283115A1 (en) * | 2006-06-05 | 2007-12-06 | Sun Microsystems, Inc. | Memory protection in a computer system employing memory virtualization |
CN101345694A (zh) * | 2007-07-11 | 2009-01-14 | 上海未来宽带技术及应用工程研究中心有限公司 | 一种快速查找定位和匹配访问控制列表的方法 |
JP2011065397A (ja) * | 2009-09-17 | 2011-03-31 | Nec Corp | 不正アクセス検出装置、不正アクセス検出プログラム、および、不正アクセス検出方法 |
CN102073733A (zh) * | 2011-01-19 | 2011-05-25 | 中兴通讯股份有限公司 | 哈希表管理方法及装置 |
US20130246470A1 (en) * | 2012-03-14 | 2013-09-19 | International Business Machines Corporation | Rule-based access control list management |
CN103064906A (zh) * | 2012-12-18 | 2013-04-24 | 华为技术有限公司 | 文件管理方法及装置 |
US20150378638A1 (en) * | 2013-01-02 | 2015-12-31 | International Business Machines Corporation | High read block clustering at deduplication layer |
CN103294822A (zh) * | 2013-06-17 | 2013-09-11 | 北京航空航天大学 | 一种基于主动哈希和布隆过滤器的高效缓存方法 |
CN104145468A (zh) * | 2014-01-13 | 2014-11-12 | 华为技术有限公司 | 一种文件访问权限控制方法及装置 |
CN104361296A (zh) * | 2014-11-14 | 2015-02-18 | 武汉烽火网络有限责任公司 | 一种并行的大容量访问控制列表的查找方法 |
CN104636645A (zh) * | 2015-01-27 | 2015-05-20 | 腾讯科技(深圳)有限公司 | 数据访问的控制方法及装置 |
CN106033420A (zh) * | 2015-03-11 | 2016-10-19 | 杭州华三通信技术有限公司 | 哈希表的处理方法及装置 |
US20170024326A1 (en) * | 2015-07-22 | 2017-01-26 | CNEX-Labs, Inc. | Method and Apparatus for Caching Flash Translation Layer (FTL) Table |
CN106411823A (zh) * | 2015-07-31 | 2017-02-15 | 华为技术有限公司 | 一种基于cdn的访问控制方法及相关设备 |
US20170359344A1 (en) * | 2016-06-10 | 2017-12-14 | Microsoft Technology Licensing, Llc | Network-visitability detection control |
CN107566429A (zh) * | 2016-06-30 | 2018-01-09 | 中兴通讯股份有限公司 | 基站、访问请求的响应方法、装置及系统 |
CN107770076A (zh) * | 2016-08-23 | 2018-03-06 | 中兴通讯股份有限公司 | 一种哈希冲突的处理方法、装置及交换设备 |
CN106326475A (zh) * | 2016-08-31 | 2017-01-11 | 中国科学院信息工程研究所 | 一种高效的静态哈希表实现方法及系统 |
CN106682186A (zh) * | 2016-12-29 | 2017-05-17 | 华为技术有限公司 | 文件访问控制列表管理方法和相关装置和系统 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
CN107451271A (zh) * | 2017-08-03 | 2017-12-08 | 上海达梦数据库有限公司 | 一种哈希表处理方法、装置、设备及存储介质 |
CN107895022A (zh) * | 2017-11-10 | 2018-04-10 | 南京航空航天大学 | 融合哈希的频繁更新不确定移动对象索引方法 |
CN107729535A (zh) * | 2017-11-17 | 2018-02-23 | 中国科学技术大学 | 一种键值数据库内布隆过滤器的配置方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625968A (zh) * | 2021-08-12 | 2021-11-09 | 网易(杭州)网络有限公司 | 文件权限的管理方法、装置、计算机设备及存储介质 |
CN113625968B (zh) * | 2021-08-12 | 2024-03-01 | 网易(杭州)网络有限公司 | 文件权限的管理方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110413215B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10223368B2 (en) | Predictive object tiering based on object metadata | |
US11119654B2 (en) | Determining an optimal storage environment for data sets and for migrating data sets | |
CN108733507A (zh) | 文件备份和恢复的方法和设备 | |
US10698831B2 (en) | Method and apparatus for data access | |
KR101719500B1 (ko) | 캐싱된 플로우들에 기초한 가속 | |
CN109558084B (zh) | 一种数据处理方法以及相关设备 | |
CN108228647A (zh) | 用于数据拷贝的方法和设备 | |
US11599595B2 (en) | Determining whether to process identified uniform resource locators | |
CN105700819B (zh) | 用于网络数据存储的方法和系统 | |
US20130198198A1 (en) | Generating method, generating system, and recording medium | |
CN105981033B (zh) | 将放置策略分配给片段集合 | |
US10740232B2 (en) | System, method and computer program product for accelerating iterative graph algorithms by memory layout optimization | |
US11593268B2 (en) | Method, electronic device and computer program product for managing cache | |
JP2023503458A (ja) | ポイントクラウドコーディングのためのハッシュベースの属性予測 | |
JP2020522782A (ja) | データ・オブジェクトの削除可能性を見積もる方法 | |
US10956042B2 (en) | Tiering data compression within a storage system | |
US11321318B2 (en) | Dynamic access paths | |
US11625179B2 (en) | Cache indexing using data addresses based on data fingerprints | |
CN110413215A (zh) | 用于获取访问权限的方法、设备和计算机程序产品 | |
US10831794B2 (en) | Dynamic alternate keys for use in file systems utilizing a keyed index | |
CN111930315A (zh) | 数据访问方法、数据访问装置及存储介质 | |
US20170161522A1 (en) | Organizing key-value information sets into hierarchical representations for efficient signature computation given change information | |
JP2018511131A (ja) | オンライン媒体のための階層的なコストベースのキャッシング | |
JP2022183116A (ja) | コンピュータシステム、コンピュータプログラム及び方法(制御識別のための人工知能モデルの活用及び訓練) | |
Jiang et al. | Understanding and improvement of the selection of replica servers in key–value stores |
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 |