CN116522371A - 用于处理访问权限的方法、电子设备和计算机程序产品 - Google Patents

用于处理访问权限的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN116522371A
CN116522371A CN202210070974.1A CN202210070974A CN116522371A CN 116522371 A CN116522371 A CN 116522371A CN 202210070974 A CN202210070974 A CN 202210070974A CN 116522371 A CN116522371 A CN 116522371A
Authority
CN
China
Prior art keywords
type
access rights
determining
access
client
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.)
Pending
Application number
CN202210070974.1A
Other languages
English (en)
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.)
Dell Products LP
Original Assignee
Dell Products LP
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 Dell Products LP filed Critical Dell Products LP
Priority to CN202210070974.1A priority Critical patent/CN116522371A/zh
Priority to US17/699,011 priority patent/US20230237175A1/en
Publication of CN116522371A publication Critical patent/CN116522371A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及用于处理访问权限的方法、电子设备和计算机程序产品。该方法包括响应于从第一客户端接收到针对目标文件的访问请求,确定请求中包含的访问权限的类型。该方法还包括如果确定所包含的类型在参考类型集合中,确定能够分配给第一客户端的访问权限的第一类型。该方法还包括确定适合于分配给目标文件的访问权限的第二类型。该方法还包括从第一类型和第二类型中确定分配给第一客户端的访问权限的目标类型。通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提高了效率和用户体验。

Description

用于处理访问权限的方法、电子设备和计算机程序产品
技术领域
本公开的实施例涉及数据处理领域,并且更具体地,涉及用于处理访问权限的方法、电子设备和计算机程序产品。
背景技术
随着网络通信技术和网络资源共享机制的不断发展,针对网络间支持数据共享的协议和机制等技术的研究受到了研究人员的广泛关注。其中,服务器消息块(ServerMessage Block,SMB)协议作为一种局域网文件共享传输协议,常被用来作为共享文件安全传输研究的平台。
SMB协议是客户机/服务器请求/响应协议。通过SMB协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。然而,在SMB协议的使用过程中还存在许多需要解决的问题。
发明内容
本公开的实施例提供一种用于处理访问权限的方法、电子设备和计算机程序产品。
根据本公开的第一方面,提供了一种用于处理访问权限的方法。该方法包括响应于从第一客户端接收到针对目标文件的访问请求,确定请求中包含的访问权限的类型。该方法还包括如果确定所包含的类型在参考类型集合中,确定能够分配给第一客户端的访问权限的第一类型。该方法还包括确定适合于分配给目标文件的访问权限的第二类型。该方法还包括从第一类型和第二类型中确定分配给第一客户端的访问权限的目标类型。
根据本公开的第二方面,提供了一种电子设备。该电子设备包括至少一个处理器;以及存储器,耦合至至少一个处理器并且具有存储于其上的指令,指令在由至少一个处理器执行时使设备执行动作,所述动作包括:响应于从第一客户端接收到针对目标文件的访问请求,确定请求中包含的访问权限的类型;如果确定所包含的类型在参考类型集合中,确定能够分配给第一客户端的访问权限的第一类型;确定适合于分配给目标文件的访问权限的第二类型;以及从第一类型和第二类型中确定分配给第一客户端的访问权限的目标类型。
根据本公开的第三方面,提供了一种计算机程序产品,该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面中的方法的步骤。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1图示了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2图示了根据本公开的实施例的用于处理访问权限的方法200的流程图;
图3图示了根据本公开的实施例的用于处理访问权限的示例方法300的示意图;
图4A图示了根据本公开的实施例的用于打断访问权限的示例过程400A的示意图;
图4B图示了根据本公开的实施例的用于打断访问权限的示例过程400B的示意图;
图5图示了根据本公开的实施例的用于处理访问请求的示例500的示意图;
图6图示了适于用来实施本公开内容的实施例的示例设备600的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在SMB的新协议版本中,通过租约来实现文件的访问权限。利用租约管理机制,它允许客户端调整其缓冲策略以提高性能并减少网络流量。此外,由租约实现的访问权限提供了更大的灵活性和更好的性能。
当客户端文件打开请求与现有已分配的访问权限冲突时,服务器可以发送打断通知。当打断用于写操作的独占访问权限时,客户端需要将其写入到缓存的数据刷新到服务器或关闭文件,然后服务器可以将文件打开给另一个客户端。当用于读操作的共享访问权限被打断时,服务器会向客户端发送通知它已被打断,但不会等待任何确认,因为没有缓存数据要刷新到服务器。
如果服务器将访问权限授予文件打开请求,且该文件打开请求不太可能在并发文件共享中发生冲突,则性能和高速缓存一致性平衡将得到改善,并且访问权限中断成本将在系统中降低。
对于并发文件共享,如果在授予访问权限时未来发生冲突的打开/写入请求的可能性很高,则性能损失可能会很严重,当在网络附加存储服务器上配置大量文件时会变得更糟。
为了解决上述问题,考虑到打开请求的冲突概率与产品环境中的访问模式密切相关,一些传统的访问权限授予策略建议对每个文件实施机器学习,分别分析每个文件的访问模式。当网络附加存储服务器上配置了非常大量的文件时,这样的实现对于系统来说负担太重了。一方面,预定义的或静态配置的访问权限授予策略在动态环境中不能很好地工作。另一方面,重量级的算法并不适合为每个文件实现分析每个文件的访问模式,尤其是在考虑可扩展性挑战时。
至少为了解决上述和其他潜在问题,本公开的实施例提出了一种用于处理访问权限的方法。在该方法中,计算设备从第一客户端接收到针对目标文件的访问请求,然后确定请求中包含的访问权限的类型。计算设备接下来确定请求所包含的类型是否在参考类型集合中,以确定能够分配给第一客户端的访问权限的第一类型。计算设备还会确定适合于分配给目标文件的访问权限的第二类型。然后计算设备从第一类型和第二类型中确定分配给第一客户端的访问权限的目标类型。通过该方法,通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提高了效率和用户体验。
下面将进一步结合附图来详细描述本公开的实施例,其中图1示出了本公开的实施例能够在其中被实现的示例环境100的示意图。
如图1所示,示例环境100包括客户端102和计算设备106。客户端102用于向计算设备106请求对目标文件112的访问管理权限,计算设备106将可授予的访问权限的目标类型114发送给客户端102,例如独占访问权限或共享访问权限。
客户端102可以被实现为任何类型的计算设备,包括但不限于移动电话(例如,智能手机)、膝上型计算机、便携式数字助理(PDA)、电子书(电子书)阅读器、便携式游戏机、便携式媒体播放器、游戏机、机顶盒(STB)、智能电视(TV)、个人计算机、膝上型计算机、车载计算机(例如,导航单元)等。
客户端102用于生成用于获取目标文件112的访问权限的访问请求104,例如用于获取对目标文件112进行写的独占访问权限、用于读的共享访问权限或不要访问权限的打开请求。在一些实施例中,该请求104包括目标文件112的标识以及要获取的访问权限的类型。
在图1中示出了示例环境100包括一个客户端102,其仅是示例,而非对本公开的具体限定。示例环境100中可以包括任意数目的客户端。
计算设备106用于管理目标文件112并且可以将目标文件112的访问权限分配给客户端102。计算设备106在接收到来自客户端102的访问请求104后,先确定访问请求中要获取的是否是独占类型的访问权限或共享类型的访问权限。在确定了是这两种类型的访问权限后,可以对访问请求中要获取的访问权限的类型进行访问权限冲突检查。通过访问权限冲突检查可以确定出能够授予客户端102的访问权限的第一类型108。
此外,计算设备106还会基于访问请求中的文件标识来获取目标文件112的访问权限分数,该访问权限分数是在计算设备106中定期进行计算得到的,其用于确定适合于该文件的访问权限类型。例如,有的文件经常被多个客户端进行写访问,因此,该文件不太适合分配独占访问权限,而有的文件不经常被多个客户端进行写访问,因此,该文件适合分配独占访问权限。计算设备106通过访问权限分数确定出适合该文件的访问权限的第二类型110。
然后计算设备102从访问权限的第一类型108和访问权限的第二类型110中确定出访问权限的目标类型114,并发送给客户端102。
在一些实施例中,针对文件的访问权限包括三种类型,独占的访问权限、共享的访问权限或者无,其表示由高到低的访问权限等级。在一个示例中,独占的访问权限可以包括两个类型的操作:一个是读缓存和写缓存,另一个是读缓存、写缓存和句柄缓存。共享的访问权限也包括两个,一个为读缓存,另一个为读缓存和句柄缓存。上述示例仅是用于描述本公开,而非对本公开的具体限定。本领域技术人员可以依据需要设置独占访问权限和共享访问权限中包括操作类型。
计算设备106包括但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等)、多处理器系统、消费电子产品、小型计算机、大型计算机、包括上述系统或设备中的任意一个的分布式计算环境等。
在客户端102获得了针对目标文件的目标类型的访问权限后,客户端102可以对目标文件进行对应的写操作或读操作。
在图1中示出了一个目标文件112。其仅是示例,而非对本公开的具体限定。计算设备106可以管理任意合适数目的文件。此外,图1中示出了目标文件112位地计算设备106外,其仅是示例,目标文件112也可以存储在计算设备106内。
通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提交了效率和用户体验。
上面结合图1描述了本公开的实施例能够在其中被实现的示例系统100的框图。下面结合图2描述根据本公开的实施例的用于处理访问权限的方法200的流程图。方法200可以在图1中的计算设备106及任意合适的计算设备处执行。
在框202处,计算设备106确定是否从第一客户端接收到针对目标文件的访问请求104。例如计算设备106会确定是否从客户端102接收到针对目标文件112的打开请求。
如果接收到访问请求104,在框204处,计算设备106确定请求中包含的访问权限的类型。通常,访问请求中会包含目标文件的文件标识以及用户想要获取的访问权限的类型。
在框206处,计算设备106如果确定所包含的类型在参考类型集合中,确定能够分配给第一客户端的访问权限的第一类型。计算设备106在接收到访问请求后,通常需要确定请求中访问权限的类型是共享类型还是独占类型。访问权限的独占类型是指对于文件的访问权限只授予一个客户端,此时客户端可以对文件进行写操作,在对文件进行写操作时用户可以先将数据缓存在本地,然后在一定的条件下发送到服务器,例如数据量达到阈值量或者有访问权限的打断发生。访问权限的共享类型是指对于文件的访问权限可以授予多个用户,此时的用户可以对文件进行读操作。如果用户的访问请求中包括的是不需访问权限的类型,则可以不用授予用户访问权限。因此不需要进行访问权限类型的确定过程。而对于请求共享类型或独占类型的访问权限则需要进一步进行判定。因此,参考类型集合包括共享类型和独占类型。通过该方式,可以快速的区分出共享类型和独占类型的访问权限。
在一些实施例中,在确定了访问请求中的权限类型是共享类型或独占类型后,需要进行访问权限冲突检测。
在一些实施例中,如果确定目标文件的访问权限未被分配给第二客户端,则将所包含的类型确定为第一类型。例如,客户端102请求目标文件112的独占访问权限,由于目标文件112的访问权限未分配给过其他客户端。因此,能够分配独占访问权限给客户端102。通过该方式,可以快速确定出能够分配的访问权限的类型。
在一些实施例中,如果确定目标文件的访问权限已被分配给第二客户端,则需要确定出访问权限的已分配类型。如果访问请求中所包含的类型与已分配类型不冲突,则将所包含的类型确定为第一类型。例如,如果请求共享类型的访问权限,如果分配给其他客户端的访问权限也是共享类型的,则不会出现冲突,可以分配共享类型的访问权限给客户端102。如果确定所包含的类型与已分配类型冲突,则将共享类型确定为第一类型。例如,如果访问请求中包含的类型是独占类型的访问权限,而针对目标文件已分配的是共享类型的访问权限,此时存在访问冲突,因此能够分配给客户102的访问权限的类型是共享类型的。通过该方式,可以快速确定出能够分配的访问权限的类型。上述示例仅是用于描述本公开,而非对本公开的具体限定。
在框208处,计算设备106确定适合于分配给目标文件的访问权限的第二类型。此外,计算设备106还需要确定文件本身适合的访问权限。
在一些实施例中,计算设备106获取访问请求中包括的针对目标文件的文件标识。然后计算设备106基于文件标识,从本地存储库中查找与目标文件相对应的访问权限分数。该访问权限分数是在预定时间点或预定时间间隔后定期更新得到的。通过该方式,可以快速确定访问权限分数。
在一些实施例中,计算设备102在确定目标文件的访问权限分数后,还获取与访问权限的多个类型相对应的多个类型值,多个类型包括第二类型。例如访问权限的多个类型包括共享类型、独占类型和无。然后计算设备102基于访问权限分数和多个类型值,从多个类型中确定出第二类型。对于每个类型,都存在一个与该类型对应的值,例如每个类型对应的值是由该类型中的所有访问权限分数计算得到的,诸如求平均或加权计算得到。通过该方式,可以快速确定针对该文件的可用的访问权限的类型。
在一些实施例中,计算设备106会计算访问权限分数与每个类型对应的值的差值,然后基于差值绝对值中最小的值,确定出其对应的类型为适合于目标文件的访问权限的类型。
在一些实施例中,计算设备106确定目标文件的访问权限分数。然后计算设备还会获取与访问权限的多个类型相对应的多个集合,其中每个集合包括一组访问权限分数,多个类型包括第二类型。然后计算设备106将访问权限分数与多个集合中的访问权限分数进行匹配以从多个类型中确定出第二类型。例如和每个类型对应的集合中的访问权限分数进行比对,如果该集合中存在该访问权限分数,则表明其属于与该集合对应的类型。通过该方式,可以快速确定针对该文件的可用的访问权限的类型。
在框210处,计算设备106从第一类型和第二类型中确定分配给第一客户端的访问权限的目标类型。
在一些实施例中,确定的当能够授予的访问权限的第一类型为独占访问权限时,可以根据访问权限值授予独占访问权限或共享访问权限或无。例如此时根据访问权限值确定适合文件的访问权限为共享访问权限,则将共享访问权限确定为目标类型。类似地,当能够授予的访问权限的第一类型为共享访问权限时,可以根据访问权限值确定授予共享访问权限或无。在实际应用中,当能够授予的访问权限的第一类型是共享访问权限时,依据访问权限值确定的第二类型为独占访问权限,此时确定目标类型为共享类型。
在一些实施例中,计算设备106会定时或定期的更新计算设备106管理的文件的访问权限分数。在进行更新时,计算设备106会确定针对目标文件的用于获取访问权限的最近的多个请求。然后计算设备确定与最近的多个请求相对应的访问权限的多个使用时长、指示针对最近的多个请求的访问权限是否被中断的第一指示信息,和指示针对最近的多个请求的访问权限冲突是否发生的第二指示信息。最后,计算设备基于多个使用时长、第一指示信息和第二指示信息来更新访问权限分数。通过该方式,可以快速准确的更新访问权限分数。该过程通过下面的示例具体进行描述。
在公开中,计算设备106会为其管理的每个文件确定一个访问权限分数。对于计算设备106管理的文件,如果文件的数目为N,因此在计算设备106中会存在针对N个文件的访问权限值DQ=[dq1,dq2,dq3,…,dq4,…,dqN],其中dqn是针对文件n的访问权限分数,并且其被初始化为100,其中n可以为1至N中的任一个。为了计算DQ,下面定义了一些参数:
Dn:文件n最近M次打开请求中访问权限被使用的时长,单位可以为分钟或秒,Dn=[d1,d2,d3,…,d4,…,dM]。对于i=1,…,M,di表示针对第i次打开请求访问权限使用的时长。由于在一些实现中,独占访问权限,例如独占租约,被打断后,独占访问权限可能会降级为共享访问权限,打断访问权限的示例在下面结合图4进行描述。因此,对于i=1,...,M,使得di=dei+w*dsi,dei是针对第i次打开请求独占访问权限的持续时间,dsi是针对第i次打开请求共享访问权限的持续时间,由于打断共享访问权限的成本较低,dsi将获得调整系数w,例如,其可以设置为1或任意合适的值。di、dei、dsi从0~100进行评估,如果持续时间超过100分钟,则标示di、dei、dsi为100,因为100分钟可被视为良好的访问权限授予结果,如果在该次打开请求中没有访问权限被授予,则di、dei、dsi为0。
Rn:文件n的最近M次打开请求中访问权限是否被中断的指示信息,R=[r1,r2,r3,…,r4,…,rM],对于i=1,...,M,ri=[rei,rsi],其中ri表示针对第i次打开请求访问权限是否被打断,rei表示针对第i次打开请求独占访问权限是否被打断,rsi表示针对第i次打开请求共享访问权限是否被打断。
如果针对第i次打开请求的独占访问权限没有被打断,则rei为1,如果针对第i次打开请求的独占访问权限被打断,则rei为-1,否则,如果针对第i次打开请求未授予独占访问权限,则rei为0。
如果针对第i次打开请求的共享访问权限没有被打断,则rsi为1,如果针对第i次打开请求的共享访问权限被打断,则rsi为-1,如果针对i次打开请求没有授予共享访问权限,则rsi为0。
Cn:文件n的最近M次打开请求中访问权限是否发生冲突的指示信息,C=[c1,c2,c3,…,c4,…,cM],对于i=1,...,M,ci表示针对第i次打开请求是否出现访问权限冲突。其中针对第i次打开请求,在文件打开期间没有发生访问权限冲突,则ci为0第,否则ci为1。
在由计算设备在接收到针对文件n的新打开请求作出访问权限决定时,其使用元素[dM,rM,cM]保存针对目标文件的当前访问请求的数据。元素[dM,rM,cM]被初始化[dM,rM,cM]=[deM+w*dsM,[reM,rsM],cM]=[0+w*0,[0,0],0],并且其被基于先进先出原理添加到到Dn,Rn,Cn中作为第M个元素。Dn、Rn、Cn的第M个元素将在以下情况下更新:
1)如果打开请求的结果是“不授予访问权限”,则更新rM=[0,0]。
2)如果在授予独占访问权限期间文件n没有独占访问权限被打断,则更新reM=1;
3)如果在文件n上发生独占访问权限被打断,则更新reM=-1。
4)如果在授予共享访问权限期间对于文件n没有共享访问权限被打断,则更新rsM=1。
5)如果文件n上发生共享访问权限被打断,则更新rsM=-1。
6)如果在文件n上发生访问权限冲突,则更新cM=1。
7)在文件n的独占访问权限结束或被打断时,将deM更新为独占访问权限的持续时间。
8)在文件n的共享访问权限结束或被打断时,将dsM更新为共享租约的持续时间。
然后计算设备可以在预定的时间或预定的时间间隔后采用下面的等式(1)和(2)来更新dqn
其中ωm是由计算设备接收到的针对文件n的第m个打开请求的权重,其可以基于需要设置为任意合适的值,通常可设置为1;min()表示取数据中的最小者。对于上式(1)中的d’m可通过下面的过程来确定。
针对文件n,引入与Dn对应的D’n,对于文件n的最近的M次打开请求,D’n=[d’1,d’2,d’3,…,d’4,…,d’M]=[d’e1+w*d’s1,d’e2+w*d’s2,…,…,d’eM+w*d’sM],对于m=1,…,M,d’em和d’sm被初始化为dem和dsm;d’m在范围[0-100]之间,并且可以基于下面的伪代码确定:
其中在上面的描述中其中max()表示取其中的最大值,min()表示取其中的最小值。
在一些实施例中,可以对在获得了每个文件的访问权限分数后,可以对N个文件的DQ来为每个文件确定出合适的租约类型。在一个示例中,对包括目标文件的多个文件的多个访问权限分数进行聚类操作以进行分类,其中多个访问权限分数包括经更新的访问权限分数。在另一个示例中,可以将针对文件的访问权限分数与预定的几个阈值进行比较来确定出适合于访问权限的类型。例如对于类型为无的访问权限其对应阈值为0,对于类型为共享类型的访问权限,其对应的阈值为50,对于独占类型的访问权限,其对应的阈值为90。因此,如果文件的访问权限分数大于0小于50,则其类型为无,如果大于50小于90,则其为共享类型,大于90为独占型。在一个示例中,每个类型有对应于一个均值,基于文件的访问权限分数距哪个均值最近,来确定其属于哪个类型。上述示例仅是用于描述公开,而非对本公开的具体限定。
在一些实施例中,可以通过聚类算法来确定出每个类型对应的均值以及每个类型的集合中包括的访问权限分数。该均值和集合均可用于确定文件的访问权限的类型。下面描述k-means聚类算法实现过程。
对于每个文件n,输出三个可能结果之一作为基于值dqn的访问权限类型:独占访问权限或共享访问权限或无。
在该算法中输入为:数据集data_in={dq1,dq2,...,dqN}、聚类数目K=3,最大迭代次数为ε=100.
其计算过程如下:
1)初始化对应于每个聚类的平均值,由于最大得分为100,因此对应于三个聚类的均值为{μ123}={0,50,100;
2)针对k∈{1,2,3},让每个聚类中的集合对应于此时每个集合中不包括数据元素;
3)针对i=1,2,...,N,其中N为计算设备内文件的数目
a)计算每个文件的访问权限分数与每个聚类的均值的距离
b)针对dqi确定其对应的聚类标识:λi=argmink∈{1,2,3}di,k,其中min()是三个值中取最小值,arg()用于取其中三个值中最小值的下标k的值,然后将dqi并入与λi相对应的聚类集合/>中。
4)针对k=1,2,...,K,进行如下操作:
c)更新聚类的均值:其中|Ck|表示集合Ck中元素的数目;
d)如果μ'k≠μk,则更新μk=μ'k
e)否则继续
5)重复上面的步骤2)-4)值到的均值不具有更新或重复次数达到ε。最后输出三类类型对应的均值{μ123}和三个类型的集合C={C1,C2,C3}。
对于独占共享权限或共享访问权限或无这三种候选类型,均值最大的簇对应独占访问权限,均值最小的簇对应元。对于文件n查询一个正确类型的访问权限,根据它当前的dqn,计算确定文件n的集簇标识,其中disted()是指确定里面的两个数值之间的距离或差值的绝对值,arg()用于取其中三个值中最小值的下标k的值。
通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提交了效率和用户体验。
上面结合图2描述了本公开的实施例的用于处理访问权限的方法200的流程图。下面结合图3描述根据本公开的实施例的用于处理访问权限的方法300的流程图。方法300可以在图1中的计算设备106及任意合适的计算设备处执行。
在框302处,计算设备接收到自客户端的打开请求。然后在框304处确定是请求独占访问权限或共享访问权限,如果均不是,则表明不请求访问权限,则在框314处不授予访问权限。如果在请求独占访问权限或共享访问权限,则在框306处进行访问权限冲突检查。进行冲突检查时,如果没有其他客户端访问该文件,则能分配的访问权限是独占访问权限或共享访问权限。如果打开请求引起冲突,则能分配的访问权限是共享访问权限。在框308处,触发访问权限决策器:从全局记录查询文件的访问权限分数,然后计算合适的访问权限类型。例如,基于访问权限分数与哪个类型的访问权限的均值最近来确定类型。然后在310处确定输出的合适的访问权限类型是否是无访问权限。如果是,则进入框314,如果否,则在框312处授予合适类型的访问权限。
通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提交了效率和用户体验。
上面结合图3描述了本公开的实施例的用于处理访问权限的方法300的流程图。下面结合图4A和4B描述根据本公开的实施例的用于打断访问权限的示例过程400A和400B。过程400A和400B可以在图1中的计算设备106及任意合适的计算设备处执行。
如图4A所示,在框402处接收来自客户端的打开请求,在框404处确定在其他客户端上是否存在独占访问权限,如果否,则在框406处,不进行访问权限打断。如果是,则在框408处打断独占访问权限。然后在框410处,确定是否降级为共享访问权限。如果是,在框414处,降级为共享访问权限。如果否,则在412处,不对其他客户端授予访问权限。
如图4B所示,在框416处,接收来自客户端的写请求,在框418处,确定在其他客户端上是否存在共享访问权限,如果否,则在框422处不进行访问权限打断。如果是,则在框420处打断其他客户端的共享访问权限。
通过该方法,可以快速的确定出是否要打断访问权限。
上面结合图4A和4B描述了用于打断访问权限的示例过程400A和400B。下面结合图5描述根据本公开的实施例的用于处理访问请求的过程500的示意图。过程500可以在图1中的计算设备106及任意合适的计算设备处执行。
在框502处,接收针对N个文件的打开请求,然后在504的文件状态处理器进行处理,并且确定出针对每个文件的能够授予的访问权限类型以及对应Di、Ri、Ci值。然后在框506更新DQ中的dqn,n=1,...,N,并且输出针对文件的合适的访问权限类型到文件状态处理器以最终确定要分配的访问权限的目标类型。
通过该方法,可以降低被分配的访问权限被打断的概率,改进了客户端和服务器的性能,提高了效率和用户体验。
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。图1中的计算设备106可以利用设备600来实现。如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储页面608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200、300、400A、400B和500,可由处理单元601执行。例如,在一些实施例中,方法200、300、400A、400B和500可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM603并由CPU 601执行时,可以执行上文描述的方法200、300、400A、400B和500的一个或多个动作。
本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (19)

1.一种用于处理访问权限的方法,所述方法包括:
响应于从第一客户端接收到针对目标文件的访问请求,确定所述请求中包含的访问权限的类型;
如果确定所包含的类型在参考类型集合中,确定能够分配给所述第一客户端的访问权限的第一类型;
确定适合于分配给所述目标文件的访问权限的第二类型;以及
从所述第一类型和所述第二类型中确定分配给所述第一客户端的访问权限的目标类型。
2.根据权利要求1所述的方法,其中确定所述第一类型包括:
如果确定所述目标文件的访问权限未被分配给第二客户端,则将所述所包含的类型确定为所述第一类型。
3.根据权利要求2所述的方法,其中确定所述第一类型还包括:
如果确定所述目标文件的访问权限已被分配给所述第二客户端,确定所述访问权限的已分配类型;
如果确定所述所包含的类型与所述已分配类型不冲突,则将所述所包含的类型确定为所述第一类型;以及
如果确定所述所包含的类型与所述已分配类型冲突,则将共享类型确定为所述第一类型。
4.根据要求1所述方法,其中所述参考类型集合包括共享类型和独占类型。
5.根据权利要求1所述的方法,其中确定所述第二类型包括:
确定所述目标文件的访问权限分数;
获取与所述访问权限的多个类型相对应的多个类型值,所述多个类型包括所述第二类型;以及
基于所述访问权限分数和所述多个类型值,从所述多个类型中确定出所述第二类型。
6.根据权利要求1所述的方法,其中确定所述第二类型包括:
确定所述目标文件的访问权限分数;
获取与所述访问权限的多个类型相对应的多个集合,其中每个集合包括一组访问权限分数,所述多个类型包括所述第二类型;以及
将所述访问权限分数与所述多个集合中的访问权限分数进行匹配以从所述多个类型中确定出所述第二类型。
7.根据权利要求5或6所述的方法,其中确定所述访问权限分数包括:
获取所述访问请求中包括的针对所述目标文件的文件标识;以及
基于所述文件标识,获取与所述目标文件相对应的所述访问权限分数。
8.根据权利要求1所述的方法,还包括:
确定针对所述目标文件的用于获取访问权限的最近的多个请求;
确定与所述最近的多个请求相对应的访问权限的多个使用时长、指示针对所述最近的多个请求的访问权限是否被中断的第一指示信息,和指示针对所述最近的多个请求的访问权限冲突是否发生的第二指示信息;以及
基于所述多个使用时长、所述第一指示信息和所述第二指示信息来更新所述访问权限分数。
9.根据权利要求8所述的方法,还包括:
对包括所述目标文件的多个文件的多个访问权限分数进行聚类操作以进行分类,其中所述多个访问权限分数包括经更新的所述访问权限分数。
10.一种电子设备,包括:
至少一个处理器;以及
存储器,耦合至所述至少一个处理器并且具有存储于其上的指令,所述指令在由所述至少一个处理器执行时使所述设备执行动作,所述动作包括:
响应于从第一客户端接收到针对目标文件的访问请求,确定所述请求中包含的访问权限的类型;
如果确定所包含的类型在参考类型集合中,确定能够分配给所述第一客户端的访问权限的第一类型;
确定适合于分配给所述目标文件的访问权限的第二类型;以及
从所述第一类型和所述第二类型中确定分配给所述第一客户端的访问权限的目标类型。
11.根据权利要求10所述的电子设备,其中确定所述第一类型包括:
如果确定所述目标文件的访问权限未被分配给第二客户端,则将所述所包含的类型确定为所述第一类型。
12.根据权利要求11所述的电子设备,其中确定所述第一类型还包括:
如果确定所述目标文件的访问权限已被分配给所述第二客户端,确定所述访问权限的已分配类型;
如果确定所述所包含的类型与所述已分配类型不冲突,则将所述所包含的类型确定为所述第一类型;以及
如果确定所述所包含的类型与所述已分配类型冲突,则将共享类型确定为所述第一类型。
13.根据要求10所述的电子设备,其中所述参考类型集合包括共享类型和独占类型。
14.根据权利要求10所述的电子设备,其中确定所述第二类型包括:
确定所述目标文件的访问权限分数;
获取与所述访问权限的多个类型相对应的多个类型值,所述多个类型包括所述第二类型;以及
基于所述访问权限分数和所述多个类型值,从所述多个类型中确定出所述第二类型。
15.根据权利要求10所述的电子设备,其中确定所述第二类型包括:
确定所述目标文件的访问权限分数;
获取与所述访问权限的多个类型相对应的多个集合,其中每个集合包括一组访问权限分数,所述多个类型包括所述第二类型;以及
将所述访问权限分数与所述多个集合中的访问权限分数进行匹配以从所述多个类型中确定出所述第二类型。
16.根据权利要求14或15所述的电子设备,其中确定所述访问权限分数包括:
获取所述访问请求中包括的针对所述目标文件的文件标识;以及
基于所述文件标识,获取与所述目标文件相对应的所述访问权限分数。
17.根据权利要求10所述的电子设备,所述动作还包括:
确定针对所述目标文件的用于获取访问权限的最近的多个请求;
确定与所述最近的多个请求相对应的访问权限的多个使用时长、指示针对所述最近的多个请求的访问权限是否被中断的第一指示信息,和指示针对所述最近的多个请求的访问权限冲突是否发生的第二指示信息;以及
基于所述多个使用时长、所述第一指示信息和所述第二指示信息来更新所述访问权限分数。
18.根据权利要求17所述的电子设备,所述动作还包括:
对包括所述目标文件的多个文件的多个访问权限分数进行聚类操作以进行分类,其中所述多个访问权限分数包括经更新的所述访问权限分数。
19.一种计算机程序产品,所述计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至9中任一项所述的方法的步骤。
CN202210070974.1A 2022-01-21 2022-01-21 用于处理访问权限的方法、电子设备和计算机程序产品 Pending CN116522371A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210070974.1A CN116522371A (zh) 2022-01-21 2022-01-21 用于处理访问权限的方法、电子设备和计算机程序产品
US17/699,011 US20230237175A1 (en) 2022-01-21 2022-03-18 Method, electronic device, and computer program product for processing access permission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210070974.1A CN116522371A (zh) 2022-01-21 2022-01-21 用于处理访问权限的方法、电子设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN116522371A true CN116522371A (zh) 2023-08-01

Family

ID=87314135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210070974.1A Pending CN116522371A (zh) 2022-01-21 2022-01-21 用于处理访问权限的方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US20230237175A1 (zh)
CN (1) CN116522371A (zh)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889952A (en) * 1996-08-14 1999-03-30 Microsoft Corporation Access check system utilizing cached access permissions
US7185192B1 (en) * 2000-07-07 2007-02-27 Emc Corporation Methods and apparatus for controlling access to a resource
US7433898B1 (en) * 2004-06-01 2008-10-07 Sanbolic, Inc. Methods and apparatus for shared storage journaling
US8275815B2 (en) * 2008-08-25 2012-09-25 International Business Machines Corporation Transactional processing for clustered file systems
WO2011123107A1 (en) * 2010-03-31 2011-10-06 Hewlett-Packard Development Company, L.P. Clients and servers for allocating and managing exclusive access to a portion of remote storage space
CN103824336A (zh) * 2012-11-19 2014-05-28 中兴通讯股份有限公司 考勤记录方法、装置及系统
US11657176B2 (en) * 2016-08-23 2023-05-23 Health Blockchain Convergence, Inc. Blockchain-based mechanisms for secure health information resource exchange
US10990693B1 (en) * 2016-12-02 2021-04-27 Wells Fargo Bank, N.A. System of managing data across disparate blockchains
US10866929B2 (en) * 2018-07-20 2020-12-15 Slack Technologies, Inc. Group-based communication interface with subsidiary file communications
US20210319895A1 (en) * 2020-04-14 2021-10-14 Raymond Anthony Joao Apparatus and method for providing healthcare services remotely or virtually with or using an electronic healthcare record and/or a communication network
KR20200076960A (ko) * 2018-12-20 2020-06-30 최재호 파일 연계형 업무 관리 장치
US11625488B2 (en) * 2019-04-05 2023-04-11 Tausight, Inc. Continuous risk assessment for electronic protected health information
US11636068B2 (en) * 2019-05-09 2023-04-25 Citrix Systems, Inc. Distributed file locking for a network file share
CN110460581B (zh) * 2019-07-12 2021-09-28 捷德(中国)科技有限公司 文件分享方法、系统、设备、se装置、被分享端和介质
KR102360700B1 (ko) * 2019-10-08 2022-02-10 장철호 블록체인 기반의 개인의료데이터 제공 시스템
WO2021250869A1 (ja) * 2020-06-11 2021-12-16 日本電気株式会社 管理装置、制御方法、コンピュータ可読媒体、及びアクセス制御システム

Also Published As

Publication number Publication date
US20230237175A1 (en) 2023-07-27

Similar Documents

Publication Publication Date Title
US9584547B2 (en) Statistical security for anonymous mesh-up oriented online services
US11856077B2 (en) Smart caching based on reputation information
US8190736B2 (en) Reducing messaging in a client-server system
US8065275B2 (en) Systems and methods for cache optimization
US10469979B2 (en) Managing data access in mobile devices
CN110807125B (zh) 推荐系统、数据访问方法及装置、服务器、存储介质
US20110023129A1 (en) Dynamic enforcement of privacy settings by a social networking system on information shared with an external system
CN106464669B (zh) 基于访问模式的智能文件预取
US20110302315A1 (en) Distributed services authorization management
US20210286730A1 (en) Method, electronic device and computer program product for managing cache
WO2012091652A1 (en) A system and method for using partial evaluation for efficient remote attribute retrieval
WO2021251997A1 (en) System and method for vulnerability remediation prioritization
CN113853599A (zh) 有效的新鲜度爬行调度
US11347646B2 (en) Method, device and computer program product for managing cache based on matching API
US11509662B2 (en) Method, device and computer program product for processing access management rights
US20210096938A1 (en) Api hub architecture
CN116522371A (zh) 用于处理访问权限的方法、电子设备和计算机程序产品
US11483288B1 (en) Serialization of firewall rules with user, device, and application correlation
US20130174234A1 (en) Light-weight credential synchronization
US20200344310A1 (en) Method and system for deployment of edge microservices
US11290276B2 (en) Method and system for a signed document validity service
US11907132B2 (en) Final cache directory state indication
US11321495B2 (en) Anomalous cache coherence transaction detection in a heterogeneous system
CN110933119B (zh) 一种更新缓存内容的方法及设备
US9456041B2 (en) Method and apparatus for reducing messaging in a client-server system by selectively transitioning state mode

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