CN110807003B - 修改访问控制列表的引用计数的方法和装置 - Google Patents

修改访问控制列表的引用计数的方法和装置 Download PDF

Info

Publication number
CN110807003B
CN110807003B CN201810792272.8A CN201810792272A CN110807003B CN 110807003 B CN110807003 B CN 110807003B CN 201810792272 A CN201810792272 A CN 201810792272A CN 110807003 B CN110807003 B CN 110807003B
Authority
CN
China
Prior art keywords
acl
reference count
file
access control
operation record
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.)
Active
Application number
CN201810792272.8A
Other languages
English (en)
Other versions
CN110807003A (zh
Inventor
陈祖飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Chengdu Huawei Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Huawei Technology Co Ltd filed Critical Chengdu Huawei Technology Co Ltd
Priority to CN201810792272.8A priority Critical patent/CN110807003B/zh
Publication of CN110807003A publication Critical patent/CN110807003A/zh
Application granted granted Critical
Publication of CN110807003B publication Critical patent/CN110807003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种修改访问控制列表的引用计数的方法和装置。该方法包括:记录针对访问控制列表ACL的引用计数的至少两个操作,至少两个文件复用该ACL,该至少两个操作为针对该至少两个文件的操作,该操作包括增加和/或减少ACL的引用计数;当修改ACL引用计数时,可以将针对ACL引用计数的操作追加记录在日志文件中,后台从该日志文件中读取针对该ACL引用计数的操作记录;根据该操作记录,在后台修改ACL引用计数。根据本申请,不仅可以通过ACL复用降低ACL消耗的空间,且ACL复用不影响前端操作性能。

Description

修改访问控制列表的引用计数的方法和装置
技术领域
本申请涉及存储领域,并且更具体地,涉及一种修改访问控制列表的引用计数的方法和装置。
背景技术
访问控制列表(access control list,ACL)可以用来控制用户对文件的一种访问控制权限,例如,可以用来控制用户能否读取文件或执行文件等等。
一个文件对应一个ACL对象,对于一个目录路径上ACL权限相同的情况下,存在空间浪费。因此,为避免空间浪费,可以进行ACL复用。ACL复用是指多个文件对应的ACL的权限相同时,可以只创建并索引一个ACL。
现有技术中,在前端文件业务操作中,检测出多个ACL可以复用时,直接修改已有ACL的引用计数,从而实现ACL复用。但是,这种方式会导致原先并行进行的操作串行化,从而导致前端操作性能下降。
发明内容
本申请提供一种修改访问控制列表的引用计数的方法和装置,不仅能够通过访问控制列表复用降低访问控制列表消耗的空间,而且访问控制列表复用不影响前端操作性能。
第一方面,提供了一种修改访问控制列表的引用计数的方法,该方法包括:在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,所述ACL对应至少两个文件,所述至少两个操作对应所述至少两个文件,所述操作包括增加和/或减少所述ACL的引用计数;在第二时段,获取针对所述ACL的引用计数的操作记录,所述第二时段位于所述第一时段之后;根据所述操作记录,修改所述ACL的引用计数。
基于上述技术方案,至少两个文件可以复用一个ACL,ACL引用计数用于指示ACL对应的文件的个数。将针对复用的ACL引用计数的至少两个操作记录先记录下来,从而不影响前端并行处理的性能。然后后台读取针对ACL引用计数的操作记录,并根据操作记录修改ACL引用计数。根据本申请实施例,不仅可以通过ACL复用降低ACL消耗的空间,且后台修改ACL引用计数,不会影响前端操作性能,从而进一步提升ACL复用性能。
结合第一方面,在第一方面的某些实现方式中,所述在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,包括:在所述第一时段的同一时刻,记录针对所述ACL的引用计数的至少两个操作。
基于上述技术方案,可以同时记录多个操作,该多个操作对应多个文件,从而,不仅可以通过ACL复用降低ACL消耗的空间,且后台修改ACL引用计数,不会影响前端操作并行性能,从而进一步提升ACL复用性能。
结合第一方面,在第一方面的某些实现方式中,当所述操作记录为增加所述ACL的引用计数时,所述根据所述操作记录,修改所述ACL引用计数,包括:根据所述操作记录,将所述ACL引用计数加1。
基于上述技术方案,当操作记录为增加ACL的引用计数时,例如新增一个ACL,该新增的ACL可以与其它ACL复用,那么可以直接在日志文件中将“ACL引用计数加”进行追加记录,后台可以根据该记录,将ACL引用计数加1。
结合第一方面,在第一方面的某些实现方式中,当所述操作记录为减少所述ACL的引用计数时,所述根据所述操作记录,修改所述ACL引用计数,包括:根据所述操作记录,将所述ACL引用计数减1。
基于上述技术方案,当操作记录为减少ACL的引用计数时,例如删除一个ACL,可以将“ACL引用计数减”追加记录到日志文件中,后台可以根据该记录,将ACL引用计数减1。
结合第一方面,在第一方面的某些实现方式中,检测所述至少两个文件中的每个文件的ACL权限是否相同;当所述至少两个文件中的每个文件的ACL权限相同时,记录针对所述ACL的引用计数的操作。
基于上述技术方案,在将ACL的引用计数记录在日志文件之前,可以先检测每个文件的ACL的权限是否相同,当每个ACL的权限相同时,至少两个文件可以复用一个ACL,且追加写记录所述ACL的引用计数,从而不影响前端的操作。
结合第一方面,在第一方面的某些实现方式中,所述ACL权限包括以下至少一项:读权限、写权限、执行权限、删除权限、可视权限。
结合第一方面,在第一方面的某些实现方式中,所述记录针对访问控制列表ACL的引用计数的操作之前,包括:检测所述至少两个文件中的每个文件的ACL权限是否相同;当所述至少两个文件中的每个文件的ACL权限相同时,记录针对所述ACL的引用计数的操作记录在日志文件中。
基于上述技术方案,后台可以周期性地获取日志文件中的ACL的引用计数的操作记录,或者,对ACL的引用计数进行操作后,触发后台读取日志文件中的ACL的引用计数的操作记录。
第二方面,提供了一种修改访问控制列表的引用计数的装置,包括用于执行上述第一方面以及第一方面中任一种可能实现方式中的修改访问控制列表的引用计数的方法的各步骤的单元。
第三方面,提供了一种修改访问控制列表的引用计数的设备,所述设备可以为上述方法设计中修改访问控制列表的引用计数的装置,或者为配置于修改访问控制列表的引用计数的装置中的芯片。所述设备:包括处理器、存储器、通信接口和总线。其中,处理器、存储器、通信接口通过总线进行通信,也可以通过无线传输等其他手段实现通信。该存储器用于存储指令,该处理器用于执行该存储器存储的指令。该存储器存储程序代码,且处理器可以调用存储器中存储的程序代码执行第一方面以及第一方面中任一种可能实现方式中的修改访问控制列表的引用计数的方法。
第四方面,提供了一种芯片系统,该芯片系统包括处理器,用于修改访问控制列表的引用计数的装置实现上述方面中所涉及的功能,例如,运行,采集,确定,或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存修改访问控制列表的引用计数的装置必要的程序指令和数据。具体地,所述存储器保存的程序指令包括用于执行第一方面以及第一方面中任一种可能实现方式中的修改访问控制列表的引用计数的方法的指令。
可选地,该芯片系统可以由芯片构成,也可以包括芯片和其他分立器件。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任一种可能实现方式中的修改访问控制列表的引用计数的方法。
第六方面,提供了一种计算机可读介质,所述计算机可读介质存储修改访问控制列表的引用计数的装置执行的程序代码,所述程序代码包括用于执行第一方面以及第一方面中任一种可能实现方式中的修改访问控制列表的引用计数的方法的指令。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是访问控制列表不复用的一示意图;
图2是访问控制列表复用的一示意图;
图3是访问控制列表不复用的另一示意图;
图4是访问控制列表复用的另一示意图;
图5是本申请实施例提供的修改访问控制列表的引用计数的方法的示意性框图;
图6是根据本申请一实施例提供的修改访问控制列表的引用计数的方法的示意图;
图7是根据本申请另一实施例提供的修改访问控制列表的引用计数的方法的示意图;
图8是本申请实施例提供的修改访问控制列表的引用计数的装置的一示意图;
图9是本申请实施例提供的修改访问控制列表的引用计数的装置的另一示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为便于理解本申请实施例,下面先对本申请涉及到的访问控制列表进行简单介绍。
在一些领域,例如存储领域,可以通过访问控制列表(access control list,ACL)来保障网络安全访问。具体地,用户对文件的操作权限可以通过ACL来实现。例如,ACL可以允许用户A只能读取某个文件,允许用户B既可以读取,又可以执行某个文件等。用户对文件的操作权限包括读、写、可执行等等,设置用户的ACL权限,即指用户对此文件/目录用户的读/写/可执行等权限。基于此,ACL有两种形式,ACL不复用和ACL复用,下面分别介绍。
ACL不复用,是指一个文件对应一个ACL对象。如图1所示,假设用户依次创建目录A,然后在目录A下创建目录B和文件1、在目录B下继续创建目录C和文件2,在目录C下创建目录D和文件3。通常情况下,相同路径下的文件和目录包含的ACL内容相同,因此,ACL不复用时,文件系统中包括7份相同的ACL。通常情况下,一份ACL会消耗4千字节(kilobyte,K)空间,对于一个目录路径上ACL权限相同的情况下,存在空间浪费。
其中,ACL权限相同是指,用户对多个文件的权限相同。例如,假设用户对文件1的权限是读、写,用户对文件2的权限也是读、写,则文件1对应的ACL权限和文件2对应的ACL权限相同。又如,假设用户对文件1的权限是读,用户对文件2的权限是写,则文件1对应的ACL权限和文件2对应的ACL权限不同。或者,可以通过判断ACL中的二进制是否相同来确定ACL是否可以复用。例如,假设多个ACL中的二进制相同,则确定该多个ACL的权限相同,该多个ACL可以复用一个ACL。假设多个ACL中的二进制不同,则确定该多个ACL的权限不同,该多个ACL不可以复用。
ACL复用,是指文件对应的ACL权限相同时,只创建并索引一个ACL对象。如图2所示。假设用户依次创建目录A,然后在目录A下创建目录B和文件1、在目录B下继续创建目录C和文件2,在目录C下创建目录D和文件3。ACL复用时,文件系统中只包含1份ACL。假设一份ACL消耗4K,那么ACL复用相对ACL不复用减少了24K空间消耗,因此ACL复用可以降低空间浪费。
现有的一种ACL复用的方式是,在前端文件业务操作中,检测出有相同ACL时,直接修改已有ACL对象的引用计数,通过保证文件引用者和ACL的引用计数一致,即可实现ACL复用。
如图3所示,前端同时有两个操作,操作1是设置文件1的ACL,操作2是设置文件2的ACL。假设文件1和文件2的ACL内容相同(即,ACL权限相同),ACL不复用时,操作1原子更新文件1的ACL索引信息和写ACL1,同时操作2也原子更新文件2的ACL索引信息和写ACL2。此时操作1和操作2可以并发执行。假设操作1和操作2都消耗t时间,则不复用场景下两个操作完成时间只需要t。
如图4所示,前端同时有两个操作,操作1是设置文件1的ACL,操作2是设置文件2的ACL。假设文件1和文件2的ACL内容相同(即,ACL权限相同),ACL复用时,操作1检测没有发现可复用的ACL(假设操作1比操作2先到),因此操作1原子更新文件1的ACL索引信息、写ACL1并更新ACL1的引用计数。操作2检测ACL复用时发现文件2的ACL与文件1的ACL内容相同,此时操作2只需要原子更新文件2的ACL索引信息并更新ACL1的引用计数即可。同样,假设操作1和操作2都消耗t时间,则复用场景下两个操作完成时间需要2t。
通过图3和图4可以发现,ACL复用相对于ACL不复用而言,ACL复用可以减少一个ACL空间消耗。但是,但由于操作1和操作2都要更新ACL1的引用计数,因此导致原本可以并发的操作1和操作2串行化,导致前端并发操作性能降低。例如,假设操作1和操作都消耗t时间,则不复用场景下两个操作完成时间只需要t,而ACL复用需要2t。
鉴于此,本申请提供一种修改访问控制列表的引用计数的方法,将ACL的引用计数修改通过追加方式记录到日志文件,通过后台修改ACL对象引用计数方法,从而通过ACL复用降低ACL消耗的空间,且ACL复用不影响前端操作性能。
特别需要说明的是,在本申请实施例中,“ACL权限相同”和“ACL内容相同”经常交替使用,在不强调其区别时,其所要表达的含义是一致的。“ACL权限相同”和“ACL内容相同”都是用于表示为多个文件设置的多个ACL的ACL权限相同,该多个ACL可以复用一个ACL。
还需要说明的是,在本申请实施例中,“ACL的引用计数”和“ACL引用计数”经常交替使用,在不强调其区别时,其所要表达的含义是一致的。“ACL的引用计数”和“ACL引用计数”都是用于表示该ACL对应的文件的数量。
还需要说明的是,在本申请实施例中,名词“网络”和“系统”经常交替使用,但本领域的技术人员可以理解其含义。信息(information),信号(signal),消息(message),信道(channel)有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
还需要说明的是,在本申请实施中,“协议”可以指通信领域的标准协议,例如可以包括LTE协议、NR协议以及应用于未来的通信系统中的相关协议,本申请对此不做限定。
还需要说明的是,本申请实施例中,“预先定义”可以通过在设备中预先保存相应的代码、表格或其他可用于指示相关信息的方式来实现,本申请对于其具体的实现方式不做限定。比如预先定义可以是指协议中定义的。
还需要说明的是,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或一个以上;“A和B中的至少一个”,类似于“A和/或B”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和B中的至少一个,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。下面将结合附图详细说明本申请提供的技术方案。
图5是本申请实施例提供的修改访问控制列表的引用计数的方法200的示意图。如图5所示,图5中所示的方法200可以包括步骤210至步骤230。下面结合图5对方法200进行详细描述。
210,在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,该ACL对应至少两个文件,该至少两个操作对应至少两个文件,该操作包括增加和/或减少ACL的引用计数;
220,在第二时段,获取针对该ACL的引用计数的操作记录,第二时段位于第一时段之后;
230,根据操作记录,修改ACL的引用计数。
根据本申请实施例,在ACL复用场景下,先将针对ACL的引用计数的操作记录下来,例如,后台记录针对ACL的引用计数的操作记录。如果是两个操作,则同时记录在不同位置,继而再读取该操作记录,通过在后台修改ACL的引用计数,避免影响前端操作性能,进而提升ACL复用性能。
需要说明的是,记录ACL的引用计数的时刻和读取ACL的引用计数的时刻可以是同一时刻,也可以是先记录,再去读取,本申请实施例对此不作限定。
还需要说明的是,该至少两个操作对应至少两个文件。具体地,例如,文件1和文件2复用一个ACL的引用计数,当同时针对文件1和文件2都修改ACL引用计数时,可以同时在例如日志文件的不同位置记录该两个操作。因此,ACL复用不影响前端的并行操作性能。此外,该至少两个操作可以是在相同的时刻发生,也可以是在不同的时刻发生。本申请实施例对此不作限定。
为简洁,在本申请实施例中,将“增加ACL的引用计数”用写请求代替,将“减少ACL的引用计数”用删除请求代替。应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
可选地,针对ACL引用计数的操作可以记录在日志文件中,该日志文件支持追加写功能。或者,也可以记录在其它能够支持追加写功能的文件中。为清楚,本申请实施例以记录在日志文件中为例进行说明。
可选地,ACL携带索引(identity,ID),将ACL ID记录在日志文件中,以区分不同的ACL。例如,可以将ACL 1和ACL 2记录在日志文件中,当有针对该ACL 1和ACL 2的操作时,例如,ACL引用计数加或ACL引用计数减,可以将该操作记录在日志文件中,以便后台读取该操作记录,进而修改ACL引用计数。
ACL的引用计数用于指示ACL对应的文件的个数,可以理解为,多个文件复用一个ACL,即,将一个ACL的ID分配给多个文件,ACL引用计数用于指示复用的文件的个数。ACL对应至少两个文件,即,多个文件可以复用一个ACL。具体地,例如,前端有两个操作,分别是设置文件1的ACL和设置文件2的ACL,当文件1的ACL权限和文件2的ACL权限相同时,则更新文件1和文件2的ACL ID,文件1和文件2的ACL ID相同,且,该ACL的引用计数为2。
需要说明的是,在本申请实施例中,仅以多个文件复用一个ACL为例进行示例性说明,本申请并不限定于此。例如,多个目录也可以复用一个ACL,或者,多个文件和多个目录共同复用一个ACL。
针对ACL引用计数的操作记录,该操作记录包括:当检测到新的ACL能够与已存的ACL复用时,对ACL引用计数进行加操作,即可以在日志文件中记录“ACL引用计数加”(即,增加ACL的引用计数的一例),后台会从日志文件中读取该操作,并在后台修改ACL引用计数。该操作记录还包括:当删除ACL属性时,可以在日志文件中记录“ACL引用计数减”(即,减少ACL的引用计数的一例),后台会从日志文件中读取该操作,并在后台修改ACL引用计数。
可选地,检测所述至少两个文件中的每个文件的ACL权限是否相同;当所述至少两个文件中的每个文件的ACL权限相同时,将针对所述ACL引用计数的操作记录在日志文件中。
具体地,检测多个文件的ACL权限是否相同,如果多个文件的多个ACL权限相同,则多个文件复用一个ACL,并将该一个ACL引用计数记录在日志文件中。例如,前端的两个操作,操作1是设置文件1的ACL,操作2是设置文件2的ACL,当文件1的ACL权限和文件2的ACL权限相同时,则更新文件1和文件2的ACL ID,文件1和文件2的ACL ID相同。在日志文件中将该ACL引用计数记录下来,该ACL引用计数携带有ID。后台读取该ACL引用计数的操作记录,并进行修改。这样,在ACL复用场景下,前端的操作1和操作2也可以并行操作,进而提升ACL复用性能。
判断ACL权限是否相同,可以通过ACL中的二进制是否相同。如果多个ACL中的二进制相同,则确定该多个ACL的权限相同,那么多个ACL可以复用一个ACL。
可选地,ACL权限至少包括以下至少一项:读权限、写权限、执行权限、删除权限、可视权限等。
从日志文件中获取针对所述ACL引用计数的操作记录。例如,检测到新的ACL能够与已存储的ACL复用时,将“ACL引用计数加”追加记录到日志文件,后台从日志文件中获取该操作记录,并且根据该操作记录,修改ACL引用计数。又如,删除ACL属性时,将“ACL引用计数减”追加记录到日志文件中,后台从日志文件中获取该操作记录,并且根据该操作记录,修改ACL引用计数。
可选地,后台可以周期性地获取针对ACL引用计数的操作记录。或者,当对ACL引用计数进行操作后,触发后台读取该操作,并在后台进行修改。
可选地,所述操作记录为写请求,所述根据所述操作记录,在后台修改所述ACL引用计数,包括:根据所述写请求,将所述ACL引用计数加1。
具体地,设置文件的ACL时,检测是否已存储有能够与该文件的ACL复用的ACL。如果有,则更新文件的ACL的ID,即将复用的ACL的ID分配给该文件,并将“ACL引用计数加”追加写入日志文件。根据该日志文件中的记录,后台修改ACL引用计数,即将ACL引用计数加1。
需要说明的是,当有N个写请求时,将ACL引用计数加N,其中,N为大于1的整数。换句话说,设置N个文件的ACL时,检测是否已存储有能够与该N个文件的ACL复用的ACL。如果有,则更新文件的ACL的ID,即将复用的ACL的ID分配给该N个文件,并将N个“ACL引用计数加”追加写入日志文件中。根据该日志文件中的记录,后台修改ACL引用计数,即将ACL引用计数加N。由于在日志文件中的不同位置记录N个“ACL引用计数加”,因此,前端操作可以并行处理,避免了时间的浪费,进而提高了效率。
可选地,所述操作记录为删除请求,所述根据所述操作记录,在后台修改所述ACL引用计数,包括:根据所述删除请求,将所述ACL引用计数减1。
具体地,删除文件的ACL时,更新文件的ACL ID,并将“ACL引用计数减”追加写入日志文件。根据该日志文件中的记录,后台修改ACL引用计数,即将ACL引用计数减1。
需要说明的是,当有N个删除请求时,将ACL引用计数减N,其中,N为大于1的整数。换句话说,删除N个文件的ACL时,将N个“ACL引用计数减”追加写入日志文件。根据该日志文件中的记录,后台修改ACL引用计数,即将ACL引用计数减N。
还需要说明的是,在本申请实施例中,后台读取针对ACL引用计数的操作后,日志文件中会删除该记录,以节省日志空间。
还需要说明的是,该操作记录也可以同时包括写请求和删除请求,本申请实施例对此不作限定。
可选地,ACL引用计数不超过预设的计数上限值。该预设的计数上限值可以根据用于存储该ACL引用计数的存储空间的位数确定。或者,该预设的计数上限值也可以是预先配置的阈值。
图6是根据本申请一实施例提供的修改访问控制列表的引用计数的方法的示意图。以下,不失一般性,以为文件#1和文件#2设置ACL为例具体说明。
如图6所示,操作1是设置文件#1的ACL,操作2是设置文件#2的ACL,假设文件#1和文件#2的ACL内容(即,ACL权限)相同。操作1检测是否有可以复用的ACL,假设操作1比操作2先到,没有发现可复用的ACL,因此操作1原子更新文件#1的ACL索引信息、写ACL1并追加写“ACL1引用计数++”日志。同时,操作2原子更新文件#2的ACL索引信息并追加写“ACL1引用计数++”日志。
根据本申请实施例提供的ACL复用方案,不需要在前端操作中直接修改ACL的引用计数,而是将ACL引用计数操作记录到日志文件。通过本申请实施例,一方面,在ACL复用场景下,追加写日志能够支持并发操作,如,操作1和操作2可以并发完成。另一方面,ACL复用和ACL不复用耗时相近。例如,假设操作1和操作2都消耗t时间,则ACL复用和ACL不复用都只需要t。
如图6所示,追加写“ACL1引用计数++”日志后,后台任务读取日志中的操作记录,然后将ACL1的引用计数修改为2。
可选地,后台可以周期性地读取日志中的操作记录。具体地,周期的设置可以是协议规定的,也可以是根据历史记录确定。
或者,可选地,当修改ACL引用计数时,可以触发后台读取日志中的操作记录,并进行修改。
图7是根据本申请另一实施例提供的修改访问控制列表的引用计数的方法的示意图。图7示出了当针对ACL引用计数的操作记录为删除请求时的操作过程。
如图7所示,操作3删除文件#1的ACL,操作3原子更新文件#1的ACL索引信息、并追加写“ACL1引用计数--”日志,后台任务读取日志中的操作记录,然后将ACL1的引用计数修改为1。
根据本申请实施例,通过将ACL引用计数修改通过追加写方式记录下来,通过该后台读取该记录并修改ACL对象引用计数,可以避免前端操作性能下降的问题,从而提升ACL复用性能。
以上,结合图1至图7对本申请实施例的修改访问控制列表的引用计数的方法做了详细说明。以下,结合图8和图9对本申请实施例的修改访问控制列表的引用计数的装置进行详细说明。
图8是本申请实施例提供的修改访问控制列表的引用计数的装置的示意性框图。如图8所示,该装置500可以包括:日志记录单元510、获取单元520,后台更新单元530。
日志记录单元510,用于在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,所述ACL对应至少两个文件,所述至少两个操作对应所述至少两个文件,所述操作包括增加和/或减少所述ACL的引用计数;
获取单元520,用于在第二时段,获取针对所述ACL的引用计数的操作记录,所述第二时段位于所述第一时段之后;
后台更新单元530,用于根据所述操作记录,修改所述ACL引用计数。
可选地,日志记录单元510具体用于,在所述第一时段的同一时刻,记录针对所述ACL的引用计数的至少两个操作。
可选地,当所述操作记录为增加所述ACL的引用计数时,所述根据所述操作记录,修改所述ACL的引用计数,包括:根据所述操作记录,将所述ACL的引用计数加1。
可选地,当所述操作记录为减少所述ACL的引用计数时,所述根据所述操作记录,修改所述ACL的引用计数,包括:根据所述操作记录,将所述ACL的引用计数减1。
可选地,所述装置500还包括检测单元540,所述检测单元540用于:所述记录针对访问控制列表ACL的引用计数的操作之前,检测所述至少两个文件中的每个文件的ACL权限是否相同;
日志记录单元510具体用于:当所述至少两个文件中的每个文件的ACL权限相同时,记录针对所述ACL的引用计数的操作记录在日志文件中。
可选地,所述ACL权限包括以下至少一项:读权限、写权限、执行权限、删除权限、可视权限。
可选地,获取单元520具体用于:
周期性地从所述日志文件中获取针对所述ACL引用计数的操作记录;或,
接收触发信息,所述触发信息用于触发从所述日志文件中读取针对所述ACL引用计数的操作记录。
具体地,该装置500可对应于根据本申请实施例的修改访问控制列表的引用计数的方法中,该装置500可以包括用于执行图5至图7中的方法,各单元执行上述相应步骤的具体过程在图5至图7中的方法中已经详细说明,为了简洁,在此不再赘述。
图9是本申请实施例的修改访问控制列表的引用计数的装置的另一示意图。该装置10包括:处理器11、存储器12、通信接口13和总线14。其中,处理器11、存储器12、通信接口13(例如可以为网卡)通过总线14进行通信,也可以通过无线传输等其他手段实现通信。该存储器12用于存储指令,该处理器11用于执行该存储器12存储的指令,该存储器12存储程序代码,且处理器11可以调用存储器12中存储的程序代码,以控制通信接口13收发信息或信号,使得装置10执行图5至图7方法中的功能、所执行的各动作或处理过程。
具体地,处理器11可以调用存储器12中存储的程序代码执行以下操作:
将访问控制列表ACL引用计数记录在日志文件中,所述ACL引用计数用于指示所述ACL对应的文件的个数,所述ACL对应至少两个文件;从所述日志文件中获取针对所述ACL引用计数的操作记录,所述操作记录为写请求或删除请求;根据所述操作记录,在后台修改所述ACL引用计数。
应理解,该装置10可以对应(例如,配置在或本身即为)图5至图7中的方法,并且,该装置10中各模块或单元分别用于执行图5至图7中的方法的功能和所执行的各动作或处理过程,这里,为了避免赘述,省略其详细说明。
在本申请实施例中,处理器可以是CPU,处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
应注意,本申请实施例可以应用于处理器中,也可以由处理器实现。该处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
应理解,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch linkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct ram bus RAM,DR RAM)。
还应理解,总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种修改访问控制列表的引用计数的方法,其特征在于,包括:
在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,所述ACL对应至少两个文件,所述至少两个操作对应所述至少两个文件,所述操作包括增加和/或减少所述ACL的引用计数;
在第二时段,获取针对所述ACL的引用计数的操作记录,所述第二时段位于所述第一时段之后;
根据所述操作记录,修改所述ACL的引用计数;
所述记录针对访问控制列表ACL的引用计数的操作之前,包括:
检测所述至少两个文件中的每个文件的ACL权限是否相同;
当所述至少两个文件中的每个文件的ACL权限相同时,记录针对所述ACL的引用计数的操作记录在日志文件中。
2.根据权利要求1所述的方法,其特征在于,所述在第一时段,记录针对访问控制列表ACL的引用计数的至少两个操作,包括:
在所述第一时段的同一时刻,记录针对所述ACL的引用计数的至少两个操作。
3.根据权利要求1或2所述的方法,其特征在于,当所述操作记录为增加所述ACL的引用计数时,
所述根据所述操作记录,修改所述ACL的引用计数,包括:
根据所述操作记录,将所述ACL的引用计数加1。
4.根据权利要求1或2所述的方法,其特征在于,当所述操作记录为减少所述ACL的引用计数时,
所述根据所述操作记录,修改所述ACL的引用计数,包括:
根据所述操作记录,将所述ACL的引用计数减1。
5.根据权利要求1或2所述的方法,其特征在于,所述记录针对访问控制列表ACL的引用计数的操作,包括:
在日志文件中记录针对所述ACL的引用计数的操作。
6.根据权利要求1或2所述的方法,其特征在于,所述获取针对所述ACL的引用计数的操作记录,包括:
周期性地读取针对所述ACL的引用计数的操作记录;或,
接收触发信息,所述触发信息用于触发读取针对所述ACL的引用计数的操作记录。
7.一种修改访问控制列表引用计数的装置,其特征在于,所述装置包括处理器、存储器以及存储在存储器上并可在所述处理器上运行的指令,当所述指令被运行时,使得所述装置执行如权利要求1至6中任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至6中任一项所述的方法。
CN201810792272.8A 2018-07-18 2018-07-18 修改访问控制列表的引用计数的方法和装置 Active CN110807003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810792272.8A CN110807003B (zh) 2018-07-18 2018-07-18 修改访问控制列表的引用计数的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810792272.8A CN110807003B (zh) 2018-07-18 2018-07-18 修改访问控制列表的引用计数的方法和装置

Publications (2)

Publication Number Publication Date
CN110807003A CN110807003A (zh) 2020-02-18
CN110807003B true CN110807003B (zh) 2023-03-24

Family

ID=69486568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810792272.8A Active CN110807003B (zh) 2018-07-18 2018-07-18 修改访问控制列表的引用计数的方法和装置

Country Status (1)

Country Link
CN (1) CN110807003B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701704A (zh) * 2013-12-18 2014-04-02 武汉烽火网络有限责任公司 基于优先级的插入删除访问控制列表的方法
CN104145468A (zh) * 2014-01-13 2014-11-12 华为技术有限公司 一种文件访问权限控制方法及装置
CN104731921A (zh) * 2015-03-26 2015-06-24 江苏物联网研究发展中心 Hadoop分布式文件系统针对日志型小文件的存储和处理方法
CN104866628A (zh) * 2015-06-16 2015-08-26 长沙万商云信息技术有限公司 高效计算机指令进行选择性不对等的大数据收集及分析方法和系统
CN105224692A (zh) * 2015-11-03 2016-01-06 武汉烽火网络有限责任公司 支持多核处理器的sdn多级流表并行查找的系统及方法
CN105868396A (zh) * 2016-04-19 2016-08-17 上海交通大学 内存文件系统的多版本控制方法
CN112000971A (zh) * 2020-08-21 2020-11-27 浪潮电子信息产业股份有限公司 一种文件权限记录方法、系统及相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9043288B2 (en) * 2008-10-27 2015-05-26 Netapp, Inc. Dual-phase file system checker
KR20140044970A (ko) * 2012-09-13 2014-04-16 한국전자통신연구원 접근 제어 목록을 이용한 공격 차단 제어 방법 및 그 장치
CN104361296B (zh) * 2014-11-14 2017-03-15 武汉烽火网络有限责任公司 一种并行的大容量访问控制列表的查找方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701704A (zh) * 2013-12-18 2014-04-02 武汉烽火网络有限责任公司 基于优先级的插入删除访问控制列表的方法
CN104145468A (zh) * 2014-01-13 2014-11-12 华为技术有限公司 一种文件访问权限控制方法及装置
CN104731921A (zh) * 2015-03-26 2015-06-24 江苏物联网研究发展中心 Hadoop分布式文件系统针对日志型小文件的存储和处理方法
CN104866628A (zh) * 2015-06-16 2015-08-26 长沙万商云信息技术有限公司 高效计算机指令进行选择性不对等的大数据收集及分析方法和系统
CN105224692A (zh) * 2015-11-03 2016-01-06 武汉烽火网络有限责任公司 支持多核处理器的sdn多级流表并行查找的系统及方法
CN105868396A (zh) * 2016-04-19 2016-08-17 上海交通大学 内存文件系统的多版本控制方法
CN112000971A (zh) * 2020-08-21 2020-11-27 浪潮电子信息产业股份有限公司 一种文件权限记录方法、系统及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CISCO网络设备的IP/MAC地址绑定适用性分析;李大为等;《吉林电力》;20131225;第21-23页 *

Also Published As

Publication number Publication date
CN110807003A (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
US10133681B2 (en) Using encryption keys to manage data retention
US10007468B2 (en) Method and apparatus for erasing data in data section in flash memory
CN106682186B (zh) 文件访问控制列表管理方法和相关装置和系统
KR101780891B1 (ko) 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법
US20150081644A1 (en) Method and system for backing up and restoring a virtual file system
CN107563192B (zh) 一种勒索软件的防护方法、装置、电子设备及存储介质
US8621169B2 (en) Method for address space layout randomization in execute-in-place code
US10013312B2 (en) Method and system for a safe archiving of data
CN108108633B (zh) 一种数据文件及其访问方法、装置及设备
KR101736944B1 (ko) Nand 메모리 디바이스에 저장되는 데이터의 페일 세이프 리프레시
US8898807B2 (en) Data protecting method, mobile communication device, and memory storage device
US20110004738A1 (en) Data storage device and data management method
US20110107047A1 (en) Enforcing a File Protection Policy by a Storage Device
US9330016B2 (en) Systems and methods for managing read-only memory
CN105183799B (zh) 一种权限管理的方法及客户端
CN112558884B (zh) 数据保护方法以及基于NVMe的存储设备
CN110807003B (zh) 修改访问控制列表的引用计数的方法和装置
CN110908597B (zh) 适应性锁定范围管理的方法、数据存储装置及其控制器
CN111611555B (zh) 物理层授权、访问方法及装置
CN106569744B (zh) 一种存储临时数据的方法及存储设备
EP4170536B1 (en) Data processing method and device, and storage medium
CN111008389B (zh) 基于卫星中文件系统的数据处理方法及装置
US20110107393A1 (en) Enforcing a File Protection Policy by a Storage Device
KR20160024265A (ko) 필터 드라이버 기반의 파일 보안 시스템 및 파일 보안 방법
US20160357470A1 (en) Computer readable medium, information processing apparatus, and method

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