CN111480155A - 在文件系统中处理字母大小写的技术 - Google Patents

在文件系统中处理字母大小写的技术 Download PDF

Info

Publication number
CN111480155A
CN111480155A CN201880080707.4A CN201880080707A CN111480155A CN 111480155 A CN111480155 A CN 111480155A CN 201880080707 A CN201880080707 A CN 201880080707A CN 111480155 A CN111480155 A CN 111480155A
Authority
CN
China
Prior art keywords
file
directory
case
file system
designation
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
Application number
CN201880080707.4A
Other languages
English (en)
Other versions
CN111480155B (zh
Inventor
N·R·克里斯蒂安森
C·K·K·维加亚穆尼斯瓦拉鲁
C·A·巴克豪斯
S·格罗特
J·A·斯塔克斯
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN111480155A publication Critical patent/CN111480155A/zh
Application granted granted Critical
Publication of CN111480155B publication Critical patent/CN111480155B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • G06F16/152File search processing using file content signatures, e.g. hash values

Abstract

本文描述的是提供与文件系统操作有关的安全性元素的技术。文件系统中的各个节点(诸如,目录或文件)可以与信息相关联,该信息描述了当文件系统操作请求中所包括的文件名用于定位文件系统中的文件时,如何处理字母大小写。例如,与目录相关联的区分大小写的指定可能要求请求中所包括的文件名与目录中所包括的文件名之间的区分大小写的匹配,以便执行所请求的文件系统操作。在另一示例中,与目录相关联的大小写优选的指定首先检查文件名之间的区分大小写的匹配。如果不存在区分大小写的匹配,则文件名之间的不区分大小写的匹配可以被用来执行所请求的文件系统操作。

Description

在文件系统中处理字母大小写的技术
背景技术
诸如计算机或服务器的主机系统被配置成与文件系统交互以执行与所存储的文件相关联的操作(例如,打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件、创建文件等)。存在多种不同的文件系统,其中一些可以被设计成用于在主机系统上执行的特定应用或特定操作系统。文件系统通常被配置成包括表示目录和/或文件的节点的分层结构。此外,文件系统包括逻辑,逻辑使得能够导航通过节点以定位文件(例如,文档、可执行文件、电子表格、图像、视频等)并且执行与文件相关联的操作。
当请求文件系统操作时,在主机系统上执行的操作系统、应用或某一其他模块可以向文件系统提供或传递路径名。路径名通常包括标识存储在文件系统中的文件的文件名。路径名还可以包括文件系统可用来导航文件系统的分层结构以便定位文件的一个或多个其他分量(component)。路径名中的单个分量可以标识例如包含文件的主机设备或网络设备(例如服务器)、硬件设备(例如驱动器)、目录、文件的文件名(例如,基本文件名)和文件类型(例如,文件格式或文件扩展名)。路径名的分量中的至少一些分量可以反映文件系统分层,并且可以由定界字符(例如,斜杠“/”、反斜杠字符“\”、冒号“:”等)分开。
常规的文件系统通常允许多个不同的文件具有仅以字母大小写变化的文件名。例如,名为“run.exe”的第一文件和名为“RUN.exe”的第二文件可以位于文件系统的相同目录中。这使文件系统容易受到安全威胁。例如,与打开文件的请求相关联的给定路径名可以标识“run.exe”,但是文件系统中包含文件“run.exe”的目录也可以包含文件“RUN.exe”。文件“RUN.exe”可能已经经由网络攻击被恶意添加到目录中。由于文件系统通常使用美国信息交换标准码(ASCII)排序规则来从具有相同名称(仅字母大小写变化)的多个不同文件中标识文件,因此文件系统将错误地打开“RUN.exe””文件而不是“run.exe”文件,因为ASCII排序规则在其对应的小写字母(诸如“r”)之前优先处理大写字母(诸如“R”)。对不正确的文件执行这种文件系统操作可能会带来重大的安全后果。
更进一步的,由于具有相同名称的文件的ASCII排序规则,应用或操作系统可能永远无法打开其想要打开的特定文件(例如,“run.exe”总是被排序在“RUN.exe”之后)。在该实例中,文件“RUN.exe”甚至可以不是恶意文件。
关于这些和其他考虑,提出了本文进行的公开。
发明内容
本文描述的技术通过考虑文件名的字母大小写来提供与文件系统操作有关的安全性元素。在各种示例中,文件系统中的各个节点(诸如目录或文件)可以与信息相关联,该信息描述了当文件系统操作请求中包括的文件名用于定位文件系统中的文件时,如何处理字母大小写。分配给存储在文件系统中的文件的名称可以被称为“实际”文件名。作为执行文件系统操作的请求的一部分而被提供给文件系统的文件的名称可以被称为“给定”文件名。因此,文件系统被配置成导航文件系统的分层结构以找到与给定文件名匹配的实际文件名,以便可以对具有实际文件名的文件执行所请求的文件系统操作。
如本文所使用的,“不区分大小写”的匹配是其中实际文件名和来自请求的给定文件名仅在大小写上变化的匹配。换种说法,两个文件名的对应字符和/或符号相匹配(例如,在逐位置的基础上),但是一个文件名中的至少一个字符可以是大写的,而在其他文件名的相同位置中的对应字符是小写的。作为示例,“run.exe”、“RUN.exe”和“Run.exe”是彼此的不区分大小写的匹配的文件名。“区分大小写”的匹配是其中实际文件名和来自请求的给定文件名精确地匹配(包括大小写匹配)的匹配。换言之,两个文件名在大小写上不能变化。作为示例,“run.exe”和“run.exe”是区分大小写的匹配。
在本文描述的第一实现中,描述如何处理字母大小写的信息可以包括针对文件系统中的各个目录的“区分大小写”的指定(designation)或“不区分大小写”的指定。区分大小写的指定或不区分大小写的指定可以在逐目录的基础上被分配给文件系统的各个目录的属性中被指明。在各种示例中,目录的创建者(例如,用户)或具有修改目录的属性的权限的其他任何人可以被允许指明指定并且将该属性分配给目录。在备选示例中,属性可以被分配为文件系统的默认配置的一部分,该默认配置然后可以基于用户输入被改变(例如,默认的不区分大小写的目录可以被切换为区分大小写的目录)。为了对具有区分大小写的指定的目录中的文件成功地执行文件系统操作,文件系统必须确定:来自对文件系统操作的请求(例如,打开文件的请求)的给定文件名和与目录中包含的文件相关联的实际文件名之间存在区分大小写的匹配。相反,为了对具有不区分大小写的指定的目录中的文件成功地执行文件系统操作,文件系统被允许确定:来自对文件系统操作的请求的给定文件名和与目录中包含的文件相关联的实际文件名之间存在不区分大小写的匹配。不区分大小写的指定还允许文件系统基于区分大小写的匹配成功地执行文件系统操作。
在本文描述的第二实现中,描述如何处理字母大小写的信息可以包括针对文件系统中的各个目录的“大小写优选”的指定。在各种示例中,目录的创建者(例如,用户)或具有修改目录的属性的权限的其他任何人可以被允许指明针对该目录的指定。在备选示例中,指定可以是基于文件系统的初始配置的针对目录的默认指定。为了对目录中具有大小写优选的指定的文件执行文件系统操作,文件系统首先确定:来自对文件系统操作的请求的给定文件名和与目录中包含的文件相关联的实际文件名之间是否存在区分大小写的匹配。如果存在区分大小写的匹配,则文件系统执行与以区分大小写的方式匹配的文件相关联的文件系统操作。如果区分大小写的匹配不存在,则文件系统随后确定:来自对文件系统操作的请求的给定文件名和与目录中包含的文件相关联的实际文件名之间是否存在不区分大小写的匹配。如果存在不区分大小写的匹配,则文件系统执行与以不区分大小写的方式匹配的文件相关联的文件系统操作。在一些示例中,以不区分大小写的方式与给定文件名匹配的实际文件名可以由文件系统加标签(tag)为优选的不区分大小写的匹配,使得文件系统操作是对特定文件而不是对与其他不区分大小写的匹配相关联的文件而被执行的。
在本文描述的第三实现中,描述如何处理字母大小写的信息可以包括以下指定:大小写变化(例如,不区分大小写)的重复文件名是否被禁止,或者备选地,是否被允许。大小写变化的重复文件名是仅在大小写上从另一个文件名变化的文件名。指定可以被分配给单个目录或单个文件。在各种示例中,目录的创建者(例如,用户)或具有修改目录的属性的权限的其他任何人可以被允许指明针对该目录的指定。在备选示例中,指定可以是作为文件系统初始配置的一部分的针对目录的默认指定。例如,目录可以被分配一指定,该指定指示“子项”大小写变化的重复被禁止。“子项”是指目录中包含的节点(例如,文件或目录),该节点位于分层结构中直接或紧接在分配了该指定的目录之下的层级(level)。在另一示例中,目录或文件可以被分配一指定,该指定指示“兄弟项”大小写变化的重复被禁止。“兄弟项”是指分层结构中的在相同目录内并且在相同层级处的节点。基于禁止大小写变化的重复文件名的指定,文件系统操作防止文件的创建和/或存储。
通过使文件系统能够针对其中包含的各个目录和/或文件不同地处理字母大小写,文件系统的创建者(例如,开发者、管理者等)和用户被提供了安全性元素,而不会破坏文件系统的正常使用。例如,包含对主机系统执行关键功能性(例如,引导操作系统)的文件的文件系统中的第一目录可以具有更严格的指定,该更严格的指定支持安全性元素(例如,区分大小写的指定、具有不区分大小写的匹配的大小写优选的指定、大小写变化的重复文件名被禁止的指定等),而包含用户文件的第二目录可以具有较宽松的指定(例如,不区分大小写的指定等)。此外,通过使文件系统能够为其中包含的各个目录和/或文件分配不同的指定,主机系统的应用或操作系统能够以更加无缝的方式与文件系统的各个子系统进行交互。即,文件系统不受统一处理字母大小写的一些总体规则或全局规则的限制,而是文件系统可以使用各个指定来在逐目录和/或逐文件的基础上实现各种解决方案。
在各种示例中,安全性描述符可以与文件系统中的目录或文件相关联。安全性描述符可以包括访问控制列表(ACL),该访问控制列表定义了指定适用的用户帐户和/或组帐户。例如,ACL可以定义用户A(USER A)可以以不区分大小写的方式访问特定目录中的文件,而用户B(USER B)必须以区分大小写的方式访问相同目录中的相同文件。因此,ACL可以被建立,以针对特定用户和/或组不同地控制文件系统的操作性能。
在另外的示例中,哈希由缓存使用以访问文件的方式可以根据区分大小写的指定或不区分大小写的指定而被改变。文件系统的缓存是存储器的子集,它保留了最近使用的信息以用于例如更快地访问常用文件。通常,缓存存储可用于访问文件的完整路径名(例如,已知提供对文件的访问的实际路径名)的哈希(例如,“directory1/directory2/directory3/file”的哈希)。如本文中进一步描述的,与文件系统相关联的缓存可以按照分层方式(例如,树结构)来构造,使得路径名中的单个缓存节点可以具有其自己的哈希,并且哈希可以与区分大小写的标记(label)或不区分大小写的标记相关联。
使用上一段中提供的示例路径名,如果在文件系统中“directory1”被分配了具有不区分大小写的指定的属性,则缓存中的“directory2”缓存节点的哈希被标记为不区分大小写的哈希,并且可以按照不区分大小写的方式进行匹配(例如,“directory2”是文件系统中的“directory1”内包含的节点)。如果在文件系统中“directory2”被分配了具有区分大小写的指定的属性,则缓存中的“directory3”缓存节点的哈希是区分大小写的哈希,并且必须以区分大小写的方式进行匹配(例如,“directory3”是文件系统中的“directory2”内包含的节点)。如果在文件系统中“directory3”被分配了具有区分大小写的指定的属性,则缓存中的“file”缓存节点的哈希是区分大小写的哈希,并且必须以区分大小写的方式进行匹配(例如,“file”是文件系统中的“directory3”内包含的节点)。因此,当哈希被用来尝试访问(例如,查找)缓存中的数据时,缓存被配置成将哈希与缓存节点的各个哈希进行比较,以便找到缓存命中。换种说法,通过以区分大小写或以不区分大小写的方式匹配树结构中的每个缓存节点的哈希,而不是通过匹配完整路径名的哈希,哈希查找(例如,用于访问缓存中的文件)被实现。在一些实例中,缓存可以是否定缓存,其包括指示失败或不存在的文件的条目。
通过阅读以下具体实施方式并查看相关联的附图,这些以及各种其他特征将变得清楚。提供本发明内容是为了以简化形式介绍一些构思,这些构思将在下面的具体实施方式中被进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
参考附图描述具体实施方式。在附图中,附图标记的最左边的数字标识该附图标记首次出现的附图。不同附图中的相同附图标记指示相似或相同的项目。对多个项目中的单个项目的引用可以使用具有被包括在括号内的另一数字(和/或没有括号的字母)的附图标记,来引用每个单个项目。对项目的一般引用可以使用没有字母序列的特定附图标记。
图1是描绘文件系统的示例图,该文件系统被配置成在导航分层结构和/或定位文件时处理字母大小写。
图2是描绘文件系统的示例图,该文件系统被配置成使用区分大小写的指定或不区分大小写的指定,以便执行文件系统操作。
图3是描绘文件系统的示例图,该文件系统被配置成使用大小写优选的指定,以便执行文件系统操作。
图4是描绘文件系统的另一示例图,该文件系统被配置成使用大小写优选的指定,以便执行文件系统操作。在图4中,以不区分大小写的方式与给定文件名匹配的实际文件名可以被文件系统加标签为优选的不区分大小写的匹配,因此,实际文件被选择,而不是具有不区分大小写的匹配的其他文件。
图5是描绘文件系统的示例图,该文件系统被配置成使用禁止大小写变化的重复的指定,以便确定文件系统操作是否可以被执行。
图6是描绘文件系统的另一示例图,该文件系统被配置成使用禁止大小写变化的重复的另一指定,以便确定文件系统操作是否可以被执行。
图7是描绘文件系统的示例图,该文件系统被配置成使用安全性描述符和/或访问控制列表,以便确定哪些用户和/或组可以将指定分配给目录或文件,和/或确定哪些用户和/或组可以根据指定执行文件系统操作。
图8图示了描绘由缓存用来访问文件的哈希可以如何根据文件系统中的区分大小写的指定或不区分大小写的指定而被更改的图。
图9图示了描绘由缓存用来访问文件的哈希可以如何根据文件系统中的区分大小写的指定或不区分大小写的指定而被更改的另一个图。
图10是用于使用区分大小写的指定或不区分大小写的指定以便执行文件系统操作的示例过程的流程图。
图11是用于使用大小写优选的指定以便执行文件系统操作的示例过程的流程图。
图12是用于使用禁止大小写变化的重复的指定以便确定文件系统操作是否可以被执行的示例过程的流程图。
图13图示了能够执行本文描述的技术和过程的示例计算环境。
具体实施方式
以下具体实施方式描述了使系统能够通过考虑文件名的字母大小写(例如,字母大小写在本文中可以被称为“大小写”),来提供与文件系统操作有关的安全性元素的技术。在各种示例中,文件系统中的各个节点(诸如目录或文件)可以与信息相关联,该信息描述了当文件系统操作请求中包括的文件名用于定位文件系统中的文件时,如何处理字母大小写。例如,目录可以被分配区分大小写的指定,该区分大小写的指定要求:来自请求的给定的文件名与该目录中包含的文件的实际文件名之间的精确匹配(例如,大小写没有变化)。在另一示例中,目录可以被分配不区分大小写的指定,其中给定文件名和实际文件名之间的匹配不一定精确,而是可以在大小写上变化。在又一示例中,目录可以被分配大小写优选的指定,其中文件系统首先尝试定位精确匹配,并且如果精确匹配不能被找到,则文件系统尝试定位在大小写上变化的匹配。更进一步的,目录可以被分配禁止大小写变化的重复名的指定。
相对于未被配置成以有效方式处理字母大小写的现有的文件系统,所公开的技术表现出实质性优势。
图1是描绘文件系统102的示例图100,文件系统102被配置成在导航分层结构和/或定位文件时处理字母大小写。如本文所使用的,术语“分层结构”通常可以指代可以组织文件的存储和/或可以使文件被显示给用户的任何方案。在各种示例中,文件系统102可以支持设备的操作系统。在另外的示例中,文件系统102可以是文件托管平台的一部分,文件托管平台包括但不限于DROPBOX、BOX、GOOGLE DRIVE、MEGA、PCLOUD、SUGARSYNC、AMAZONDRIVE和/或MICROSOFT ONEDRIVE。为此,文件系统102被配置成与主机系统104(例如,计算设备、服务器等)交互。主机系统104可以包括在主机系统104上执行时发起对文件系统操作108的请求的应用或操作系统106或某个其他模块。在本文中对文件系统操作的请求可以被称为“请求”。示例文件系统操作包括但不限于:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件(例如,作为模式匹配查询的一部分)、创建文件等。
在各种示例中,文件系统可以包括一个或多个层。例如,文件系统的第一“逻辑”层被配置成控制与主机系统的操作系统或应用的交互。逻辑层可以提供应用程序接口(API),以用于接收对文件系统操作的请求,并且用于将该请求传递到文件系统的“虚拟”层和/或“物理”层以进行处理。虚拟层是支持物理文件系统的多个并发实例的接口。物理层处理存储单元(例如,磁盘)的物理操作。例如,物理层处理正被读取或写入的物理块,物理层处理缓冲和存储器管理,和/或物理层负责将块放置在存储单元上的特定位置。上述层可以是分离的,或者它们的功能可以被组合,以使文件系统不包括分离的层。
请求108包括路径名和/或文件名110,该路径名和/或文件名110标识存储在文件系统102中的、要对其执行所请求的文件系统操作的文件。路径名可以包括文件系统102可用来导航文件系统102的分层结构以便搜索和定位文件的分量。如上所述,路径名中的单个分量可以标识例如包含文件的主机设备或网络设备(例如服务器)、诸如存储单元的硬件设备(例如驱动器)、目录、文件的文件名(例如,基本文件名)和文件类型(例如,文件格式或文件扩展名)。路径名的分量中的至少一些分量可以反映文件系统102的分层结构,并且可以由定界字符(例如,斜杠“/”、反斜杠字符“\”、冒号“:”,等)分离。在一些实例中,如本文所使用的,对“文件名”的引用可以包括文件名分量和文件类型分量两者(例如,文件名可以是“run.exe”)。
文件系统102可以被持久地存储在(多个)存储单元112上。存储单元112可以是硬盘驱动器或固态驱动器。存储单元112的示例包括:机器(例如,服务器)、磁盘、盘片、扇区等。在一些实例中,存储单元可以被布置成“机架”(例如,一行),并且存储单元的多个机架可以被布置成存储单元的“网格”(例如,被配置在数据中心内)。存储单元112可以在主机系统104本地(例如,本地存储),或者存储单元112可以被远程定位,使得文件系统102由主机系统104通过网络访问。在各种示例中,一个或多个存储单元112可以包括卷或逻辑驱动器。
为了说明与处理字母大小写有关的其他示例,文件系统102包括根目录114(例如,由路径名中的“\”或其他表示形式表示),根目录114通常是文件系统中的第一或最顶层的目录。根目录114包括中间目录-“child1”目录116和“CHILD2”目录118。“child1”目录116包含第一文件(例如,“TEST.exe”文件120)、第二文件(例如,“test.exe”文件122)以及包含包括文件(例如,“run.exe”文件126)的另一个中间目录(例如,“CHILD3”目录124)。“CHILD2”目录118包含第一文件(例如,“FOO.docx”文件128)和第二文件(例如,“name.docx”文件130)。
如所示的,文件系统102中的单个目录可以包括一个或多个文件和/或一个或多个目录。为了便于讨论,关于本文描述的各种示例提供图1中图示的目录和/或文件的分层结构。因此,图1中图示的目录和/或文件的分层结构在本文中被用作基础,来示出文件系统102可以如何利用信息来配置,该信息描述了当请求108中所包括的文件名被用于在文件系统102中定位文件时,如何处理字母大小写。因此,应当理解,在本公开的上下文中,任何数量的目录和/或文件可以按照各种分层结构来布置,以便组织和/或访问跨(多个)存储单元112存储的数据(例如,文件)。
如本文中所使用的,分层结构中的“层级”是指位于相同目录中的节点。因此,“child1”目录116和“CHILD2”目录118是作为相同层级的一部分的兄弟节点,因为它们直接或紧接地位于根目录114下方。此外,“TEST.exe”文件120、“test.exe”文件122和“CHILD3”目录124是作为相同层级的一部分的兄弟节点,因为它们直接位于“child1”目录116下方。
图2是描绘文件系统102的示例图200,文件系统102被配置成使用“区分大小写”的指定或“不区分大小写”的指定,以便执行文件系统操作。区分大小写的指定或不区分大小写的指定可以被分配给文件系统中的各个目录。基于用户输入或基于文件系统102的默认配置,区分大小写的指定或不区分大小写的指定可以在分配给目录的属性中被指明。例如,在图2中,“child1”目录116被分配了区分大小写的属性202,而“CHILD2”目录118被分配了不区分大小写的属性204。在各种示例中,创建者或开发者(例如,用户)或具有修改或控制目录的权限的其他任何人可以指明指定并且将属性分配给目录。
为了对具有区分大小写的指定的目录中的文件执行文件系统操作,文件系统102必须确定:在对文件系统操作的请求中给出的文件名和与目录中包含的文件相关联的实际文件名之间存在区分大小写的匹配。例如,文件系统操作可以包括:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件等。在文件系统操作是创建文件并且根据区分大小写的指定的情况下,文件系统102必须确定:在对新文件的请求中给出的文件名和与目录中包含的文件相关联的实际文件名之间不存在区分大小写的匹配,以便文件系统102执行文件系统操作(例如,在目录中创建新文件)。
图2图示了打开“child1”目录中的文件“TEST.exe”的请求206(例如,“TEST.exe”和“child1”可以是由应用或操作系统传递给文件系统102的路径名的分量)。给定请求206,文件系统102检查“child1”目录116,并且经由区分大小写的属性202,确定请求206中的给定文件名和“child1”目录116中的文件的实际文件名之间要求区分大小写的匹配,以便成功执行文件系统操作。在该实例中,请求206完成并且文件系统操作被执行,因为文件系统102确定“child1”目录116中存在请求206中给出的文件名(例如“TEST.exe”)的区分大小写的匹配。即,“child1”目录116包括具有实际文件名“TEST.exe”的文件120。
图2还图示了打开“child1”目录中的文件“Test.exe”的另一个请求208。给定请求208,文件系统102检查“child1”目录116,并且经由区分大小写的属性202,确定请求208中的给定文件名和“child1”目录116中的文件的实际文件名之间要求区分大小写的匹配,以便成功执行文件系统操作。与文件系统操作针对请求206的成功执行相比,请求208未完成并且文件系统操作未被执行,因为文件系统102确定“child1”目录116中不存在针对请求206中给出的文件名(例如“Test.exe”)的区分大小写的匹配。即,“child1”目录116不包括具有实际文件名“Test.exe”的文件(考虑字母大小写)。
图2还图示了打开“child1/Child3”目录中的文件“run.exe”的又一个请求210。再次,“run.exe”和“child1/Child3”可以是由应用或操作系统传递给文件系统102的路径名的分量。在该示例中,由于区分大小写的属性202,在路径名中给出的目录名与“child1”目录中包含的实际目录名之间必须存在区分大小写的匹配。给定请求210,文件系统102检查“child1”目录116,并且经由区分大小写的属性202,确定请求210中的给定目录名(例如,“Child3”)与“child1”目录116中的目录的实际名之间要求区分大小写的匹配,以便成功执行文件系统操作。因此,请求210未完成并且文件系统操作未被执行,因为文件系统102确定“child1”目录116中不存在针对请求210中给出的目录名(例如“Child3”)的区分大小写的匹配。即,“child1”目录116不包括具有实际目录名“Child3”的目录,而是“child1”目录116包括具有实际目录名“CHILD3”的目录。
在又一另外的示例中,图2图示了打开“child1/CHILD3”目录中的文件“RUN.exe”的另一个请求212。在该示例中,由于区分大小写的属性202,在路径名中给出的目录名与“child1”目录中包含的实际目录名之间必须存在区分大小写的匹配。给定请求212,文件系统102检查“child1”目录116,并且经由区分大小写的属性202,确定请求212中的给定目录名(例如,“CHILD3”)与“child1”目录116中的目录的实际名之间要求区分大小写的匹配,以便成功执行文件系统操作。因此,请求212完成并且文件系统操作被执行,因为文件系统102确定“child1”目录116中存在针对请求212中给出的目录名(例如,“CHILD3”)的区分大小写的匹配。注意,在该示例中,即使给定文件名是“RUN.exe”,文件系统操作也与“run.exe”文件126相关联地被执行(例如,“CHILD3”目录124被分配了不区分大小写的属性)。
如所图示的,当目录具有区分大小写的指定时,在路径名中给出的单个分量的名称必须以区分大小写的方式与目录内包含的节点(例如,文件或目录)的对应名称相匹配,以便对文件系统中的文件执行文件系统操作。
为了经由具有不区分大小写的指定的目录执行文件系统操作,文件系统102被允许确定:在对文件系统操作的请求中给出的文件名和与目录中包含的文件相关联的实际文件名之间存在不区分大小写的匹配。尽管不区分大小写的匹配被允许,但是该指定还允许请求中给出的文件名与实际文件名之间的区分大小写的匹配,以成功执行所请求的文件系统操作。
图2图示了打开“CHILD2”目录中的文件“NAME.docx”的请求214。给定请求214,文件系统102检查“CHILD2”目录118,并且经由不区分大小写的属性204,确定请求214中的给定文件名和“CHILD2”目录118中的文件的实际文件名之间允许不区分大小写的匹配,以便成功地执行文件系统操作。在该实例中,请求214完成并且文件系统操作被执行,因为文件系统102确定“CHILD2”目录118中存在针对请求214中给出的文件名(例如“NAME.docx”)的不区分大小写的匹配。即,“CHILD2”目录118包括具有实际文件名“name.docx”的文件130,这是“NAME.docx”的不区分大小写的匹配。
图3是描绘文件系统102的示例图300,文件系统102被配置成使用“大小写优选”的指定,以便执行文件系统操作。在各种示例中,目录的创建者或开发者(例如,用户)可以指明大小写优选的指定,或者该指定可以是基于文件系统的初始配置的文件系统中的各个目录的默认指定。
在图3中,“child1”目录116被分配了大小写优选的指定302。为了经由具有大小写优选的指定的目录执行文件系统操作,文件系统102首先确定对文件系统操作的请求中给出的文件名和与目录中包含的文件相关联的实际文件名之间是否存在区分大小写的匹配。如果存在区分大小写的匹配,则文件系统执行与以区分大小写的方式匹配的文件相关联的文件系统操作。如果不存在区分大小写的匹配,则文件系统随后确定对文件系统操作的请求中给出的文件名和与目录中包含的文件相关联的实际文件名之间是否存在不区分大小写的匹配。如果存在不区分大小写的匹配,则文件系统执行与以不区分大小写的方式匹配的文件相关联的文件系统操作。文件系统操作可以包括:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件等。
图3图示了打开“child1”目录中的文件“test.exe”的请求304(例如,“test.exe”和“child1”可以是由应用或操作系统传递给文件系统102的路径名的分量)。给定请求304,文件系统102检查“child1”目录116,并且经由大小写优选的指定302,确定请求304中的给定文件名和“child1”目录116中的文件的实际文件名之间是否不存在区分大小写的匹配,然后可以确定是否出现不区分大小写的匹配。在该实例中,请求304完成并且文件系统操作被执行,因为文件系统102确定“child1”目录116中存在针对请求304中给出的文件名(例如“test.exe”)的区分大小写的匹配。即,“child1”目录116包括具有实际文件名“test.exe”的文件122。由于ASCII排序顺序,在该场景中,常规文件系统将已经打开了“TEST.exe”。
图3图示了打开“child1”目录中的文件“Test.exe”的另一个请求306。给定请求306,文件系统102检查“child1”目录116,并且经由大小写优选的指定302,确定请求304中的给定文件名和在“child1”目录116中的文件的实际文件名之间是否不存在区分大小写的匹配,然后可以确定是否出现不区分大小写的匹配。在该实例中,请求306完成并且文件系统操作被执行,因为文件系统102首先确定“child1”目录116中不存在针对请求306中给出的文件名(例如,“Test.exe”)的区分大小写的匹配。然后,文件系统102确定“child1”目录116中存在针对请求306中给出的文件名(例如“Test.exe”)的不区分大小写的匹配。即,“child1”目录116包括具有实际文件名“TEST.exe”的文件120和具有实际文件名“test.exe”的文件122。在各种示例中,由于ASCII排序顺序,文件系统102选择“TEST.exe”文件。
虽然图3的示例关于文件说明了大小写优选的场景,但应当理解,在本公开的上下文中,本文描述的技术也可以关于目录执行大小写优选的实现。即,文件系统可以在兄弟目录(具有仅大小写变化的相同名称,并且是相同层级的一部分)之间标识区分大小写和/或不区分大小写的匹配。
图4是描绘文件系统102的另一示例图400,文件系统102被配置成使用“大小写优选”的指定以便执行文件系统操作。然而,在图4中,以不区分大小写的方式与给定文件名匹配的实际文件名可以由文件系统102加标签为优选的不区分大小写的匹配,因此该实际文件被选择,而不是其他不区分大小写的匹配被选择。
例如,图4图示了优选的不区分大小写的匹配标签402被分配给“child1”目录116中的“test.exe”文件122。给定打开“child1”目录中的文件“Test.exe”的请求404(例如,与图3中的请求306相同),文件系统102检查“child1”目录116,并且经由大小写优选的指定302,确定请求402中的给定文件名与“child1”目录116中的文件的实际文件名之间是否不存在区分大小写的匹配,然后可以确定是否出现不区分大小写的匹配。在该实例中,与对图3的相同请求306的处理相比,请求404完成并且文件系统操作与“test.exe”文件122相关联地被执行,因为文件系统102首先确定“child1”目录116中不存在针对请求404中给出的文件名(例如,“Test.exe”)的区分大小写的匹配。然后,文件系统102确定“child1”目录116中存在针对请求404中给出的文件名(例如,“Test.exe”)的不区分大小写的匹配。即,“child1”目录116包括具有实际文件名“TEST.exe”的文件120和具有实际文件名“test.exe”的文件122。然而,在该实例中,由于分配给“text.exe”文件122的优选的不区分大小写的匹配标签402,因此“test.exe”文件122被选择,而不是“TEST.exe”文件120被选择。
图5是描绘文件系统102的示例图500,文件系统102被配置成使用禁止大小写变化的重复文件名的指定,以便确定文件系统操作(例如,创建文件)是否可以被执行。在各种示例中,目录的创建者或开发者(例如,用户)可以指明指定,或者指定可以是文件系统中各个目录的默认指定。
在图5中,“child1”目录116被分配了禁止子项重复的指定502。如上所述,“子项”是指目录中包含的中间节点(例如,文件或目录),该中间节点位于分层结构中直接在分配了该指定的目录之下的层级。图5图示了在“child1”目录中创建文件“test.exe”的请求504。给定请求504,文件系统102检查“child1”目录116,并且确定“child1”目录116已经包含名为“TEST.exe”的文件120,并且经由禁止子项重复的指定502,确定名为“test.exe”的文件在“child1”目录116中的创建或添加不被允许(如由穿过图示的“test.exe”文件122的“X”所示)。注意,名为“test.exe”的文件在“child1”目录116中的创建或添加不被允许,因为“test.exe”文件122将被添加在与“TEST.exe”文件120相同的层级处,因此,在具有禁止子项重复的指定502的目录的正下方的层级中将存在具有大小写变化的重复名的两个子节点。因此,在该实例中,请求504未完成并且文件系统操作未被执行。
由于管理“child1”目录116的禁止子项重复的指定502,类似地,名为“Child3”或“child3”的另一个节点(例如,文件或目录)不被允许被创建或添加,因为“child1”目录116已经包含了“CHILD3”目录124。
图6是描绘文件系统102的另一示例图600,文件系统102被配置成使用禁止大小写变化的重复的指定以便确定文件系统操作(例如,创建文件)是否可以被执行。在图6中,“test.exe”文件122被分配了禁止兄弟项重复的指定602。如上所述,“兄弟项”是指相同目录内的两个节点,并且它们是分层结构中相同层级的一部分。图6图示了在“child1”目录中创建文件“TEST.exe”的第一请求604。给定请求604,文件系统102检查“child1”目录116的内容,并且确定已经存在的“test.exe”文件122被分配了禁止兄弟项重复的指定602,并且因此,名为“TEST.exe”的文件在“child1”目录116中的创建或添加不被允许(如由穿过图示的“TEST.exe”文件120的“X”所示)。因此,在该实例中,请求604未完成,并且文件系统操作未被执行。
图6还图示了在“child1”目录中创建名为“Child3”的目录的第二请求606。给定请求606,文件系统102检查“child1”目录116的内容,并且确定已经存在的“CHILD3”目录124未被分配禁止兄弟项重复的指定,并且因此,名为“Child3”的新目录在“child1”目录116中的创建或添加被允许。因此,在该实例中,请求606完成并且文件系统操作被执行。
上述不同的指定可以被分离地分配,或者可以被组合或打包地分配,以使它们彼此分配,以为文件系统有效地提供安全性元素。尽管以上示例将指定分配给特定目录和/或文件,但是指定可以附加地或备选地被分配给卷和/或将被执行的单个文件系统操作。例如,目录的读操作可以被分配不区分大小写的指定,而目录的写操作可以被分配区分大小写的指定。
图7是描绘文件系统102的示例图700,文件系统102被配置成使用安全性描述符和/或访问控制列表,以便确定哪些用户和/或组可以将指定分配给目录或文件和/或确定哪些用户和/或组可以根据指定执行文件系统操作。如上所述,安全性描述符可以与文件系统、文件系统中的目录或文件系统中的文件相关联。安全性描述符可以包括访问控制列表(ACL),访问控制列表定义了指定适用的用户帐户和/或组帐户。ACL还可以定义具有向文件系统中的目录和/或文件分配指定和/或属性的权限的用户帐户和/或组帐户。
例如,图7图示了文件系统102与包括ACL 702的安全性描述符相关联,并且“CHILD2”目录118具有包括ACL 704的安全性描述符。ACL 702可以定义被允许向文件系统102中的各个目录和/或文件分配属性和指定的用户账户和/或组账户,如上面关于图2至图6所描述的。作为示例,在ACL 702中被列出的USER A可以将具有区分大小写的指定的属性添加到文件系统102中的目录,而ACL中未被列出的USER B不能将具有区分大小写的指定的属性添加到文件系统102中的目录。
如上面关于图2至图6所描述的,ACL 704可以定义当对文件系统操作的请求被接收时对其应用属性和指定的用户帐户和/或组帐户。图7图示了与USER A 706相关联的、打开“CHILD2”目录中的“Name.docx”的请求。如果“CHILD2”目录118被分配了指示区分大小写的指定的属性,并且ACL 704包括USER A,则该操作未被执行,因为该属性适用于与USER A的帐户相关联地请求的文件系统操作,并且没有针对“Name.docx”(如请求706中提供的)的区分大小写的匹配。相比之下,图7示出了与USER B 708相关联的、打开“CHILD2”目录中的“Name.docx”的另一个请求。如果“CHILD2”目录118被分配了指示区分大小写的指定的相同属性,但ACL 704不包括USER B,则该操作被执行,因为该属性不适用于与USER B的帐户相关联地请求的文件系统操作,并且“CHILD2”目录118中存在针对“Name.docx”的不区分大小写的匹配(例如,文件130“name.docx”)。
图8图示了描绘由缓存802用来访问文件的哈希可以如何根据文件系统102中的区分大小写的指定或不区分大小写的指定而被改变的图800。文件系统102可以具有对应的缓存802,例如,缓存802是存储器的子集,它保留最近使用的信息以用于更快地访问常用文件。通常,文件系统的缓存存储条目,该条目包括可用于访问文件的完整路径名的哈希。相比之下,图8中图示的缓存802中的条目以分层方式(例如,树结构)被构造,使得表示路径名中的目录分量或文件分量的单个缓存节点具有其自己的哈希,并且该哈希可以与区分大小写的标记或不区分大小写的标记相关联。区分大小写的标记或不区分大小写的标记基于来自文件系统102的适用的区分大小写的指定或不区分大小写的指定而被确定。
为了说明,缓存802中的树结构804表示示例路径名,该示例路径名标识“根”目录并且包括“child1/CHILD3/run.exe”,以便访问文件系统102中的“run.exe”文件126。由于文件系统102中的根目录114被分配了具有不区分大小写的指定的属性806,因此“child1”缓存节点的哈希808被标记为不区分大小写的哈希,并且可以以不区分大小写的方式匹配。注意,“child1”目录116的区分大小写/不区分大小写由属性806管理,并且因此,该属性可适用于缓存中的“child1”缓存节点。
继续,由于文件系统102中的“child1”目录116被分配了具有区分大小写的指定的属性810,因此“CHILD3”缓存节点的哈希812被标记为区分大小写的哈希,并且必须以不区分大小写的方式匹配。类似地,由于文件系统102中的“CHILD3”目录124被分配了具有区分大小写的指定的属性814,因此“run.exe”缓存节点的哈希816被标记为区分大小写的哈希,并且必须以区分大小写的方式匹配。
图9图示了类似于图8的图900,除了文件系统102中的“CHILD3”目录124具有不区分大小写的属性902。因此,缓存802中的“run.exe”缓存节点的哈希904被标记为不区分大小写的哈希,并且可以以不区分大小写的方式匹配。
因此,当哈希被用来尝试访问(例如,查找)缓存中的数据时,缓存被配置成:根据标记,将该哈希与缓存节点的各个哈希进行比较,以便查找缓存命中。换种说法,通过以区分大小写或不区分大小写的方式匹配树结构中每个缓存节点的哈希,而不是匹配完整路径名的哈希,哈希查找(例如,用于访问缓存中的文件)被实现。在一些实例中,缓存可以是否定缓存,其包括指示失败或不存在的文件的条目。
图10-图12中的每个图是本文描述的技术的示例过程的流程图。本领域技术人员应当理解,本文所公开的过程的操作不必以任何特定顺序来呈现,并且以(多种)备选的顺序来执行操作中的一些或全部操作是可能的并且被预期。为了便于描述和说明,已经以演示的顺序呈现了操作。在不脱离所附权利要求的范围的情况下,操作可以被添加、省略、一起执行和/或同时执行。此外,操作可以关于图1至图9中的任何一个,根据上面提供的示例来执行。
图10是用于使用区分大小写的指定或不区分大小写的指定以便执行文件系统操作的示例过程1000的流程图。
在1002处,属性被分配给文件系统中的目录。属性指示区分大小写的指定或不区分大小写的指定,如上面关于图2所描述的。在一些示例中,基于用户输入分配属性。例如,文件系统的开发者或创建者可以具有经由ACL授予的分配属性的权限。在备选示例中,属性可以是基于文件系统的默认配置而分配的默认属性。在各种实现中,属性可以被发布,以便操作系统或应用的开发者知道该目录与区分大小写的指定或与不区分大小写的指定相关联。
在1004处,执行文件系统操作的请求被接收。如上所述,请求可以包括路径名,路径名具有标识目录的分量和标识文件名的分量。请求可以从在主机系统上执行的应用或操作系统被接收。例如,文件系统操作可以包括:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件等。图10中的示例过程不适用于创建新文件。
在1006处,分配给目录的属性被检查以确定指定的类型(例如,目录是具有区分大小写的指定还是不区分大小写的指定)。
如果指定的类型是区分大小写的指定,则过程进行到1008,在此确定在由路径名中的分量标识的文件名和与目录中包含的文件相关联的文件名之间是否存在区分大小写的匹配。
如果确定在具有区分大小写的指定的目录内存在区分大小写的匹配,则过程进行到1010,并且文件系统对目录中的以区分大小写的方式匹配的文件执行所请求的文件系统操作(例如,文件系统操作成功)。
如果确定在具有区分大小写的指定的目录内不存在区分大小写的匹配,则过程进行到1012,并且文件系统确定所请求的文件系统操作不能被执行(例如,文件系统操作失败)。
如果在1006处确定的指定类型是不区分大小写的指定,则在1014处,确定在由路径名中的分量标识的文件名和与目录中包含的文件相关联的文件名之间是否存在不区分大小写(或区分大小写)的匹配。
如果确定不区分大小写的指定的目录内存在不区分大小写(或区分大小写)的匹配,则过程进行到1016,并且文件系统对目录中的以不区分大小写(或区分大小写)的方式匹配的文件执行所请求的文件系统操作(例如,文件系统操作成功)。
如果确定在具有不区分大小写的指定的目录内不存在不区分大小写(或区分大小写)的匹配,则过程进行到1018,并且文件系统确定所请求的文件系统操作不能被执行(例如,文件系统操作失败)。
在各种示例中,作为查询文件系统和/或目录中的模式的请求的一部分给出的文件名可以包括空或可变的文件名分量(例如,通配符或占位符,诸如“*”)和文件类型分量。因此,用户可以通过提交“*.exe”或“exe”作为将被搜索的条目,来查询目录中“exe”类型的所有文件,并且根据本文描述的技术,文件系统可以返回以区分大小写或不区分大小写的方式与扩展名匹配的文件,而不管实际的文件名如何。
图11是用于使用大小写优选的指定以便执行文件系统操作的示例过程1100的流程图。
在1102处,大小写优选的指定被分配给文件系统中的目录。在一些示例中,大小写优选的指定基于用户输入来分配。例如,文件系统的开发者或创建者可以具有经由ACL授予的权限来分配大小写优选的指定。在备选示例中,大小写优选的指定可以是默认指定。
在1104处,执行文件系统操作的请求被接收。如上所述,请求可以包括路径名,路径名具有标识目录的分量和标识文件名的分量。该请求可以从在主机系统上执行的应用或操作系统被接收。再次,文件系统操作可以包括:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件、搜索文件等。图11中的示例过程不适用于创建新文件。
在1106处,基于大小写优选的指定,首先确定在由请求中的路径名中的分量标识的文件名和与目录中包含的文件相关联的文件名之间是否存在区分大小写的匹配,如上面关于图3所描述的。
如果确定存在区分大小写的匹配,则过程进行到1108,并且文件系统对以区分大小写的方式匹配的文件执行所请求的文件系统操作(例如,文件系统操作成功)。
然而,如果在1106处确定不存在区分大小写的匹配,则过程进行到1110,在此随后确定在由请求中的路径名中的分量标识的文件名和与目录中包含的文件相关联的文件名之间是否存在不区分大小写的匹配。
如果确定存在不区分大小写的匹配,则过程进行到1112,并且文件系统标识文件并且对以不区分大小写的方式匹配的所标识的文件执行所请求的文件系统操作(例如,文件系统操作成功)。在各种示例中,所标识的文件可以被指定为优选的不区分大小写的匹配,如上面关于图4所描述的。
如果确定不存在不区分大小写的匹配,则过程进行到1114,并且文件系统确定所请求的文件系统操作不能被执行(例如,文件系统操作失败)。
图12是用于使用禁止大小写变化的重复以便确定文件系统操作是否可以被执行的示例过程1200的流程图。
在1202处,指示大小写变化的重复文件名被禁止(即,仅在大小写上变化)的指定与文件系统中的节点(例如,目录、文件等)相关联。例如,在图5中,禁止子项重复的指定被分配给目录,以防止该目录内出现任何大小写变化的重复名。在图6中,禁止兄弟项重复的指定被分配给文件,以防止目录内出现该文件的大小写变化的重复名。
在1204处,创建文件的请求被接收,其中该文件的文件名是该指定适用的目录中的现有文件名的大小写变化的重复(例如,图5中的“TEST.exe”,图6中的“test.exe”)。
在1206处,基于没有大小写变化的重复名的指定,该文件的创建被防止(例如,所请求的文件系统操作失败)。在一些实现中,文件系统可以提供通知,该通知指示创建文件的请求已经失败,并且请求修改的文件名被提供。
图13图示了能够执行上面关于图1至图12描述的技术和过程的示例计算环境。在各种示例中,计算环境包括主机系统1302。在各种示例中,主机系统1302在网络1304上操作,与之通信或作为网络1304的一部分进行操作。
网络1304可以是或可以包括各种接入网络。例如,一个或多个客户端设备1306(1)…1306(N)可以经由网络1304和/或其他连接与主机系统1302通信。主机系统1302和/或客户端设备可以包括但不限于各种设备中的任何一种,包括便携式设备或固定设备,诸如服务器计算机、智能电话、移动电话、个人数字助理(PDA)、电子书设备、膝上型计算机、台式计算机、平板计算机、便携式计算机、游戏控制台、个人媒体播放器设备或任何其他电子设备。
根据各种实现,主机系统1302的功能性可以由作为网络1304的一部分执行或与网络1304通信的一个或多个服务器提供。服务器可以托管各种服务、虚拟机、门户和/或其他资源。例如,服务器可以托管或提供对一个或多个门户、网站和/或其他信息的访问。
主机系统1302可以包括(多个)处理器1208和存储器1310。存储器1310可以包括操作系统1312、(多个)应用1314和/或文件系统1316(例如,文件系统102及其缓存802)。此外,存储器1310可以包括上面关于图1至图9描述的(多个)存储单元112。
(多个)处理器1308可以是单个处理单元或多个单元,每个单元可以包括多个不同的处理单元。(多个)处理器可以包括微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元(CPU)、图形处理单元(GPU)、安全处理器等。备选地或附加地,本文描述的技术中的一些或所有技术可以至少部分地由一个或多个硬件逻辑组件执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、状态机、复杂可编程逻辑设备(CPLD)、其他逻辑电路装置、片上系统(SoC)和/或基于指令执行操作的任何其他设备。除了其他能力之外,(多个)处理器可以被配置成获取并执行存储在存储器1310中的计算机可读指令。
存储器1310可以包括计算机可读介质中的一种或组合。如本文所使用的,“计算机可读介质”包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于相变存储器(PCM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程ROM(EEPROM)、闪存或其他存储器技术、光盘ROM(CD-ROM)、数字多功能磁盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储或其他磁存储设备或可以用于存储信息以供计算设备访问的任何其他介质。
相比之下,通信介质包括处于诸如载波的调制数据信号的计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机存储介质不包括通信介质。
主机系统1302可以经由网络接口1318在网络1304上进行通信。网络接口1318可以包括用于支持两个或更多个设备之间的通信的各种类型的网络硬件和软件。
可以鉴于以下示例条款来考虑本文提出的公开内容。
示例条款A,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:接收执行文件系统操作的请求,请求包括路径名,路径名具有标识目录的第一分量和标识文件名的第二分量;确定目录是与区分大小写的指定相关联还是与不区分大小写的指定相关联;基于确定目录与区分大小写的指定相关联:确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在区分大小写的匹配;以及基于确定:由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在区分大小写的匹配,执行与目录中包含的文件相关联的文件系统操作;以及基于确定目录与不区分大小写的指定相关联:确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及基于确定:由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配,执行与目录中包含的文件相关联的文件系统操作。
示例条款B,根据示例条款A的系统,其中确定目录是与区分大小写的指定相关联还是与不区分大小写的指定相关联包括:检查被分配给目录的属性。
示例条款C,根据示例条款B的系统,其中文件系统还由一个或多个处理器可执行以接收将属性分配给目录的指令,指令基于用户输入而被生成。
示例条款D,根据示例条款B或示例条款C的系统,其中文件系统还由一个或多个处理器可执行以发布被分配给目录的属性,以使操作系统或应用的开发者知道目录与区分大小写的指定或不区分大小写的指定相关联。
示例条款E,根据示例条款B至D中任一项的系统,其中属性由访问控制列表引用,访问控制列表定义了将由区分大小写的指定或不区分大小写的指定管理的用户帐户或组帐户。
示例条款F,根据示例条款A至E中任一项的系统,其中由第二分量标识的文件名和与目录中包含的文件相关联的文件名中的每个文件名包括文件类型。
示例条款G,根据示例条款A的系统,其中与目录相关联的区分大小写的指定或不区分大小写的指定包括默认指定,默认指定是文件系统的初始配置的一部分。
示例条款H,根据示例条款A至G中任一项的系统,其中文件系统操作包括以下中的一个:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件,或在给定模式的情况下搜索文件,作为查询的一部分。
示例条款I,根据示例条款A至H中任一项的系统,其中文件系统还由一个或多个处理器可执行,以:在与文件系统相关联的缓存中,创建用于访问目录中包含的文件的实际路径名的树结构,树结构包括与一个或多个目录分量和实际路径名的文件分量相对应的缓存节点;以及为单个缓存节点生成哈希;以及将标记与哈希相关联,标记指示哈希将以区分大小写的方式被匹配或以不区分大小写的方式被匹配。
示例条款J,根据示例条款I的系统,其中文件系统还由一个或多个处理器可执行,来以区分大小写的方式或以不区分大小写的方式使用单个缓存节点的哈希,以确定缓存中的缓存命中。
尽管以上关于系统描述了示例条款A至J,但是应当理解,在本公开的上下文中,示例条款A至J的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款K,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:接收执行文件系统操作的请求,请求包括路径名,路径名具有标识目录的第一分量和标识文件名的第二分量;确定目录与区分大小写的指定相关联,由此要求区分大小写的匹配来成功执行文件系统操作;确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在区分大小写的匹配;以及基于确定:由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在区分大小写的匹配,执行与目录中包含的文件相关联的文件系统操作。
尽管以上关于系统描述了示例条款K,但是应当理解,在本公开的上下文中,示例条款K的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款L,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:接收执行文件系统操作的请求,请求包括路径名,路径名具有标识目录的第一分量和标识文件名的第二分量;确定目录与不区分大小写的指定相关联,由此允许不区分大小写的匹配成功地执行文件系统操作;确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及基于确定:由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配,执行与目录中包含的文件相关联的文件系统操作。
尽管以上关于系统描述了示例条款L,但是应当理解,在本公开的上下文中,示例条款L的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款M,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:接收执行文件系统操作的请求,请求包括路径名,路径名具有标识目录的第一分量和标识文件名的第二分量;针对由路径名的第二分量标识的文件名,确定目录中不存在区分大小写的匹配;确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及基于确定:由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配,执行与目录中包含的文件相关联的文件系统操作。
示例条款N,根据示例条款M的系统,其中与目录中包含的文件相关联的文件名被指定为优选的不区分大小写的匹配。
示例条款O,根据示例条款N的系统,其中文件系统还由一个或多个处理器可执行,以接收将与目录中包含的文件相关联的文件名指定为优选的不区分大小写的匹配的指令,指令基于用户输入而被生成。
示例条款P,根据示例条款O的系统,其中用户输入经由与目录中包含的文件相关联的访问控制列表中列出的用户帐户或组帐户而被提供,访问控制列表定义了有权限将目录中包含的文件指定为优选的不区分大小写的匹配的用户帐户或组帐户。
示例条款Q,根据示例条款M至P中的任一项的系统,其中文件系统操作包括以下中的一个:打开文件、删除文件、写入文件、从文件读取、替换文件、复制文件、移动文件,或在给定模式的情况下搜索文件,作为查询的一部分。
尽管以上关于系统描述了示例条款M至Q,但是应当理解,在本公开的上下文中,示例条款M至Q的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款R,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:接收执行文件系统操作的请求,请求包括路径名,路径名具有标识目录的第一分量和标识文件名的第二分量;针对由路径名的第二分量标识的文件名,确定目录中是否存在区分大小写的匹配;以及基于区分大小写的匹配存在的确定,执行与目录中包含的文件相关联的文件系统操作,文件与由路径名的第二分量标识的文件名是区分大小写的匹配;以及基于区分大小写的匹配不存在的确定,确定在由路径名的第二分量标识的文件名和与目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及执行与目录中包含的文件相关联的文件系统操作。
尽管以上关于系统描述了示例条款R,但是应当理解,在本公开的上下文中,示例条款R的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款S,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:将指定与文件系统中的目录相关联,指定指示目录被禁止包含具有大小写变化的重复文件名的两个或更多个文件;接收创建文件的请求,文件具有目录中的文件名,文件名是目录中的现有文件名的大小写变化的重复文件名;以及至少部分地基于指定,防止文件在目录中的创建。
示例条款T,根据示例条款S的系统,其中文件系统还由一个或多个处理器可执行以接收将指定与目录相关联的指令,指令基于用户输入而被生成。
示例条款U,根据示例条款T的系统,其中用户输入经由与目录相关联的访问控制列表中列出的用户帐户或组帐户而被提供,访问控制列表定义了用户帐户或组帐户,用户帐户或组帐户具有权限将目录指定为被禁止包含具有大小写变化的重复文件名的两个或更多个文件的目录。
示例条款V,根据示例条款S的系统,其中与目录相关联的指定包括默认指定。
示例条款W,根据示例条款S的系统,其中与目录相关联的指定与文件系统中的默认配置不同,默认配置允许两个或更多个文件具有大小写变化的重复文件名。
尽管以上关于系统描述了示例条款S至W,但是应当理解,在本公开的上下文中,示例条款S至W的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
示例条款X,一种系统,包括:一个或多个处理器;以及一个或多个存储单元,包括文件系统,文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,文件系统由一个或多个处理器可执行,以:将指定与文件系统中的目录中的第一文件相关联,指定指示在目录内,第一文件的第一文件名不能具有大小写变化的重复文件名;接收在目录中创建具有第二文件名的第二文件的请求,第二文件名是第一文件名的大小写变化的重复文件名;以及至少部分地基于指定,防止第二文件在目录中的创建。
尽管以上关于系统描述了示例条款X,但是应当理解,在本公开的上下文中,示例条款X的主题可以附加地或备选地被实现为方法或经由被存储在存储器中的可执行指令实现。
最后,尽管已经用特定于结构特征和/或方法动作的语言描述了各种技术,但是应当理解,所附表示中限定的主题不必限于所描述的特定特征或动作。而是,特定特征和动作被公开为实现所要求保护的主题的示例形式。

Claims (15)

1.一种系统,包括:
一个或多个处理器;以及
一个或多个存储单元,包括文件系统,所述文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,所述文件系统由所述一个或多个处理器可执行,以:
接收执行文件系统操作的请求,所述请求包括路径名,所述路径名具有标识目录的第一分量和标识文件名的第二分量;
确定所述目录是与区分大小写的指定相关联还是与不区分大小写的指定相关联;
基于确定所述目录与所述区分大小写的指定相关联:
确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的文件相关联的文件名之间是否存在区分大小写的匹配;以及
基于确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的所述文件相关联的所述文件名之间存在所述区分大小写的匹配,执行与所述目录中包含的所述文件相关联的所述文件系统操作;或者
基于确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录包含的所述文件相关联的所述文件名之间不存在所述区分大小写的匹配,避免执行与所述目录中包含的所述文件相关联的所述文件系统操作;或者
基于确定所述目录与所述不区分大小写的指定相关联:
确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及
基于确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的所述文件相关联的所述文件名之间存在所述不区分大小写的匹配,执行与所述目录中包含的所述文件相关联的所述文件系统操作。
2.根据权利要求1所述的系统,其中确定所述目录是与所述区分大小写的指定相关联还是与所述不区分大小写的指定相关联包括:检查被分配给所述目录的属性。
3.根据权利要求2所述的系统,其中所述文件系统还由所述一个或多个处理器可执行以接收将所述属性分配给所述目录的指令,所述指令基于用户输入而被生成。
4.根据权利要求2或3所述的系统,其中所述文件系统还由所述一个或多个处理器可执行以发布被分配给所述目录的所述属性,以使操作系统或应用的开发者知道所述目录与所述区分大小写的指定或所述不区分大小写的指定相关联。
5.根据权利要求2至4中任一项所述的系统,其中所述属性由访问控制列表引用,所述访问控制列表定义了将由所述区分大小写的指定或所述不区分大小写的指定管理的用户帐户或组帐户。
6.根据权利要求1所述的系统,其中与所述目录相关联的所述区分大小写的指定或所述不区分大小写的指定包括默认指定,所述默认指定是所述文件系统的初始配置的一部分。
7.根据权利要求1至6中任一项所述的系统,其中所述文件系统操作包括以下中的一个:
打开文件,
删除文件,
写入文件,
从文件读取,
替换文件,
复制文件,
移动文件,或者
在给定模式的情况下搜索文件,作为查询的一部分。
8.根据权利要求1所述的系统,其中所述文件系统还由所述一个或多个处理器可执行,以:
在与所述文件系统相关联的缓存中,创建用于访问所述目录中包含的所述文件的实际路径名的树结构,所述树结构包括与一个或多个目录分量和所述实际路径名的文件分量相对应的缓存节点;以及
为单个缓存节点生成哈希;以及
将标记与所述哈希相关联,所述标记指示所述哈希将以区分大小写的方式被匹配或以不区分大小写的方式被匹配。
9.根据权利要求8所述的系统,其中所述文件系统还由所述一个或多个处理器可执行,来以所述区分大小写的方式或以所述不区分大小写的方式使用所述单个缓存节点的所述哈希,以确定所述缓存中的缓存命中。
10.一种系统,包括:
一个或多个处理器;以及
一个或多个存储单元,包括文件系统,所述文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,所述文件系统由所述一个或多个处理器可执行,以:
接收执行文件系统操作的请求,所述请求包括路径名,所述路径名具有标识目录的第一分量和标识文件名的第二分量;
针对由所述路径名的所述第二分量标识的所述文件名,确定所述目录中不存在区分大小写的匹配;
确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的文件相关联的文件名之间存在不区分大小写的匹配;以及
基于确定在由所述路径名的所述第二分量标识的所述文件名和与所述目录中包含的所述文件相关联的所述文件名之间存在所述不区分大小写的匹配,执行与所述目录中包含的所述文件相关联的所述文件系统操作。
11.根据权利要求10所述的系统,其中与所述目录中包含的所述文件相关联的所述文件名被指定为优选的不区分大小写的匹配。
12.根据权利要求11所述的系统,其中所述文件系统还由所述一个或多个处理器可执行,以接收将与所述目录中包含的所述文件相关联的所述文件名指定为所述优选的不区分大小写的匹配的指令,所述指令基于用户输入而被生成。
13.一种系统,包括:
一个或多个处理器;以及
一个或多个存储单元,包括文件系统,所述文件系统包括一个或多个目录,每个目录包含一个或多个文件和/或一个或多个目录,所述文件系统由所述一个或多个处理器可执行,以:
将指定与所述文件系统中的目录相关联,所述指定指示所述目录被禁止包含具有大小写变化的重复文件名的两个或更多个文件;
接收创建文件的请求,所述文件具有所述目录中的文件名,所述文件名是所述目录中的现有文件名的大小写变化的重复文件名;以及
至少部分地基于所述指定,防止所述文件在所述目录中的创建。
14.根据权利要求13所述的系统,其中与所述目录相关联的所述指定包括默认指定。
15.根据权利要求13所述的系统,其中与所述目录相关联的所述指定与所述文件系统中的默认配置不同,所述默认配置允许所述两个或更多个文件具有所述大小写变化的重复文件名。
CN201880080707.4A 2017-12-15 2018-11-23 在文件系统中处理字母大小写的技术 Active CN111480155B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/844,425 2017-12-15
US15/844,425 US11537561B2 (en) 2017-12-15 2017-12-15 Techniques for handling letter case in file systems
PCT/US2018/062389 WO2019118152A1 (en) 2017-12-15 2018-11-23 Techniques for handling letter case in file systems

Publications (2)

Publication Number Publication Date
CN111480155A true CN111480155A (zh) 2020-07-31
CN111480155B CN111480155B (zh) 2023-08-29

Family

ID=64665400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880080707.4A Active CN111480155B (zh) 2017-12-15 2018-11-23 在文件系统中处理字母大小写的技术

Country Status (4)

Country Link
US (2) US11537561B2 (zh)
EP (1) EP3724782A1 (zh)
CN (1) CN111480155B (zh)
WO (1) WO2019118152A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468119A (zh) * 2021-05-31 2021-10-01 北京明朝万达科技股份有限公司 一种文件扫描方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295083B1 (en) * 2018-09-26 2022-04-05 Amazon Technologies, Inc. Neural models for named-entity recognition
US11579916B2 (en) * 2020-04-02 2023-02-14 Vmware, Inc. Ephemeral storage management for container-based virtual machines
US11398943B1 (en) * 2020-06-23 2022-07-26 Amazon Technologies, Inc. Negative caching for event notifications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389427B1 (en) * 1998-02-20 2002-05-14 Redleaf Group, Inc. File system performance enhancement
US20060200465A1 (en) * 2004-12-17 2006-09-07 Tsung-Hua Chuang Method for searching a computer file in a file directory according to its file name
US20070220001A1 (en) * 2006-02-23 2007-09-20 Faden Glenn T Mechanism for implementing file access control using labeled containers
CN101334785A (zh) * 2008-07-30 2008-12-31 浙江大学 分布式文件系统虚拟目录组织及命名空间管理的方法
CN103631915A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种混合系统文件数据处理方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321439B2 (en) * 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7774428B2 (en) * 2006-04-27 2010-08-10 International Business Machines Corporation Automatic response time measurement of LDAP server operations
US7908276B2 (en) 2006-08-25 2011-03-15 Qnx Software Systems Gmbh & Co. Kg Filesystem having a filename cache
US10536523B2 (en) * 2014-05-11 2020-01-14 Microsoft Technology Licensing, Llc File service using a shared file access-rest interface
US10515052B2 (en) * 2017-07-20 2019-12-24 Vmware, Inc. File system that supports both case sensitive and case insensitive directory lookup

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389427B1 (en) * 1998-02-20 2002-05-14 Redleaf Group, Inc. File system performance enhancement
US20060200465A1 (en) * 2004-12-17 2006-09-07 Tsung-Hua Chuang Method for searching a computer file in a file directory according to its file name
US20070220001A1 (en) * 2006-02-23 2007-09-20 Faden Glenn T Mechanism for implementing file access control using labeled containers
CN101334785A (zh) * 2008-07-30 2008-12-31 浙江大学 分布式文件系统虚拟目录组织及命名空间管理的方法
CN103631915A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 一种混合系统文件数据处理方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468119A (zh) * 2021-05-31 2021-10-01 北京明朝万达科技股份有限公司 一种文件扫描方法和装置

Also Published As

Publication number Publication date
CN111480155B (zh) 2023-08-29
WO2019118152A1 (en) 2019-06-20
US11537561B2 (en) 2022-12-27
US20190188279A1 (en) 2019-06-20
EP3724782A1 (en) 2020-10-21
US20230177009A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US10515052B2 (en) File system that supports both case sensitive and case insensitive directory lookup
US20230177009A1 (en) Techniques for handling letter case in file systems
US10140461B2 (en) Reducing resource consumption associated with storage and operation of containers
US7769779B2 (en) Reverse name mappings in restricted namespace environments
US8539481B2 (en) Using virtual hierarchies to build alternative namespaces
US7228299B1 (en) System and method for performing file lookups based on tags
US8694497B2 (en) Method, system, and computer program product for enabling file system tagging by applications
US20070233647A1 (en) Sharing Items In An Operating System
TWI550513B (zh) 獨立應用程式的中介項目存取
RU2369896C2 (ru) Система и способ для представления элементов пользователю с использованием контекстного представления
CN101755262B (zh) 命名空间合并
KR20060069791A (ko) 공유된 읽기 전용 파일 시스템 내의 바이러스의 검출 및경고
US20050091235A1 (en) System and method for managing data using static lists
RU2377647C2 (ru) Система и способ для представления элементов, сохраненных на компьютере
US20140359488A1 (en) Centralized Management of Link Data for Multiple Applications, Computers and Resources, through Operating Systems and Networked Storage Services
US11636096B2 (en) Custom metadata tag inheritance based on a filesystem directory tree or object storage bucket
EP2884408B1 (en) Content management systems for content items and methods of operating content management systems
US20150186060A1 (en) Selective disk volume cloning for virtual disk creation
US7725507B1 (en) Dynamic directories
US20220129419A1 (en) Method and apparatus for providing metadata sharing service
US11048666B2 (en) Method and apparatus for shallow copy functionality
JP7001457B2 (ja) ファイル管理装置、ファイル管理システム、ファイル管理方法、及びプログラム
KR102227113B1 (ko) 공유 파일 시스템 기반의 파일 처리 장치
Khurana et al. Improved Ranking for Search Over Encrypted Cloud Data Using Parallel Index
CN116820648A (zh) 帮助文档展示方法、装置、电子设备及可读存储介质

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