CN114090525A - 一种文件属性追加方法、计算设备及存储介质 - Google Patents

一种文件属性追加方法、计算设备及存储介质 Download PDF

Info

Publication number
CN114090525A
CN114090525A CN202111341587.9A CN202111341587A CN114090525A CN 114090525 A CN114090525 A CN 114090525A CN 202111341587 A CN202111341587 A CN 202111341587A CN 114090525 A CN114090525 A CN 114090525A
Authority
CN
China
Prior art keywords
file
attribute
custom
client
custom attribute
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
CN202111341587.9A
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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202111341587.9A priority Critical patent/CN114090525A/zh
Publication of CN114090525A publication Critical patent/CN114090525A/zh
Pending legal-status Critical Current

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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • 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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • 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/17Details of further file system functions

Abstract

本发明公开了一种文件属性追加方法、计算设备及存储介质,方法包括:在计算设备的操作系统中执行,所述方法包括步骤:接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求,通过虚拟文件系统将所述自定义属性写入磁盘;接收客户端通过调用获取自定义属性接口来获取所述文件的自定义属性的请求,通过虚拟文件系统从磁盘获取所述文件的自定义属性,并将所述自定义属性返回至客户端。本发明的文件属性追加方法,可以通过为文件添加自定义属性来实现自定义对文件进行分类和管理。

Description

一种文件属性追加方法、计算设备及存储介质
本申请是2021年9月18日提交的发明专利申请202111097112X的分案申请。
技术领域
本发明涉及计算机和操作系统技术领域,特别涉及一种文件属性追加方法、计算设备及存储介质。
背景技术
Linux和其他类Unix操作系统通过将所有内容都视为文件来保持一致性。整个文件系统大致可以分为三层,最上层为用户层面,也就是用户的应用程序。第二层为内核空间,主要封装了设备驱动和虚拟文件系统,隐藏了不同硬件设备的细节以及为不同文件系统提供统一的API接口,通过系统调用的封装提供给用户层使用,第三层为硬件层,也就是真实的物理设备。
随着现代计算机的发展,文件的种类日益繁多。操作系统自带的文件分类方式已经不能满足人们对文件的分类与管理需求,例如利用AI对图片进行地点、人物、动物分类,根据电影的地区、类型、事件对电影进行分类等。
现有技术中,一些软件采用建立索引表的方式分类文件。采用索引表的实现方式如下:在磁盘中建立一张索引表,当用户对某一文件进行分类的时候,将用户指定的文件类型和具体路径保存在表中。当用户获取某一类文件的时候,筛选索引表中的类型即可输出该类型下的所有文件。这种建立索引表的实现方案,不仅需要额外开辟存储,而且所建立的分类只能在自身软件中被识别,当使用其他软件浏览时,分类信息会丢失。
还有一种方案是采用文件后缀名来对文件进行分类,基于后缀名来对文件的类型进行判断,从而可以区分例如音乐、电影、图片等文件类型。但,这种方案只能区分可以被系统识别的类型,无法对某一类型的文件进行细分,另外,如果后缀名被修改会导致对应的文件无法根据文件后缀名进行分类。
基于此,需要一种文件属性追加方法,可通过添加自定义属性来对文件进行分类与管理,以解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种文件属性追加方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种文件属性追加方法,在计算设备的操作系统中执行,所述方法包括步骤:接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求,通过虚拟文件系统将所述自定义属性写入磁盘;接收客户端通过调用获取自定义属性接口来获取所述文件的自定义属性的请求,通过虚拟文件系统从磁盘获取所述文件的自定义属性,并将所述自定义属性返回至客户端。
可选地,在根据本发明的文件属性追加方法中,所述磁盘上存储有与文件相对应的索引节点,所述索引节点包括属性结构体,所述属性结构体适于存储文件的属性信息,所述属性信息包括自定义属性。
可选地,在根据本发明的文件属性追加方法中,将所述自定义属性写入磁盘包括:将所述自定义属性存储在与所述文件相对应的索引节点的属性结构体中;从磁盘获取所述文件的自定义属性包括:从与所述文件相对应的索引节点的属性结构体中获取文件的自定义属性。
可选地,在根据本发明的文件属性追加方法中,从与文件相对应的索引节点的属性结构体中获取文件的自定义属性的步骤包括:获取所述文件对应的上级目录文件,从所述上级目录文件中查找与文件名相对应的索引号;基于所述索引号获取相应的属性结构体,从所述属性结构体中获取文件的自定义属性。
可选地,在根据本发明的文件属性追加方法中,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,包括步骤:在属性结构体中增加用户添加自定义属性长度字段、用户添加自定义属性内容字段,以便在属性结构体中存储用户添加的自定义属性。
可选地,在根据本发明的文件属性追加方法中,所述索引节点还包括操作结构体,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,还包括步骤:在操作结构体中添加自定义属性的操作函数,所述操作函数包括设置自定义属性函数、获取自定义属性函数;基于所述设置自定义属性函数生成相应的设置自定义属性接口,基于获取自定义属性函数生成相应的获取自定义属性接口。
可选地,在根据本发明的文件属性追加方法中,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,还包括步骤:接收客户端通过系统调用打开文件的请求,通过虚拟文件系统将打开后的文件返回至客户端;接收客户端通过系统调用写入的文件内容,通过虚拟文件系统将所述文件内容写入磁盘。
可选地,在根据本发明的文件属性追加方法中,在接收客户端通过调用获取自定义属性接口来获取所述文件的自定义属性的请求之前,还包括步骤:接收客户端通过系统调用打开文件的请求,通过虚拟文件系统将打开后的文件返回至客户端;接收客户端通过系统调用读取文件内容的请求,通过虚拟文件系统从磁盘获取相应的文件内容,并将所述文件内容返回至客户端。
可选地,在根据本发明的文件属性追加方法中,所述属性信息包括文件在磁盘上的位置信息、文件大小、权限信息、修改时间中的一种或多种。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的文件属性追加方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
根据本发明的技术方案,提供了一种文件属性追加方法,通过在磁盘上的索引节点的属性结构体中添加用于存储自定义属性的相关字段,在操作结构体中添加与自定义属性相关的操作函数,使得用户可以通过调用设置自定义属性接口来为文件添加自定义属性,将自定义属性存储在属性结构体中。并且,用户可以通过调用获取自定义属性接口,来获取存储在磁盘上的相应属性结构体中的自定义属性。这样,根据本发明的技术方案,实现了在原有的文件属性的基础上,追加自定义属性,并可以读取自定义属性,基于此,用户可以通过为文件添加自定义属性来实现自定义对文件进行分类和管理。并且,本发明的文件属性追加方法是在操作系统层面实现,从而可以适应于操作系统上运行的各种应用,实现跨应用自定义对文件进行分类的效果。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的文件属性追加方法200的流程图;
图3示出了根据本发明一个实施例的文件系统的结构示意图;
图4示出了根据本发明一个实施例的索引节点的结构示意图;
图5示出了根据本发明一个实施例的为文件添加自定义属性的时序图;以及
图6示出了根据本发明一个实施例的获取文件自定义属性的时序图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是示例计算设备100的示意框图。
如图1所示,在基本的配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138。
计算设备100还可以包括储存接口总线134。储存接口总线134实现了从储存设备132(例如,可移除储存器136和不可移除储存器138)经由总线/接口控制器130到基本配置102的通信。操作系统120、应用122以及数据124的至少一部分可以存储在可移除储存器136和/或不可移除储存器138上,并且在计算设备100上电或者要执行应用122时,经由储存接口总线134而加载到系统存储器106中,并由一个或者多个处理器104来执行。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图像处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备100可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备100也可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、数码照相机、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。甚至可以被实现为服务器,如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。本发明的实施例对此均不做限制。
在根据本发明的实施例中,计算设备100的操作系统120被配置为执行根据本发明的文件属性追加方法200。其中,计算设备100的操作系统120上包含用于执行本发明的文件属性追加方法200的多条程序指令,使得本发明的文件属性追加方法200可以在计算设备100的操作系统120中执行。
图2示出了根据本发明一个实施例的文件属性追加方法200的流程图。文件属性追加方法200可以在计算设备(例如前述计算设备100)的操作系统中执行。如图2所示,方法200包括步骤S210~S220。
应当指出,根据本发明的文件属性追加方法200,可广泛应用于包括Linux操作系统在内的各种类Unix操作系统。本发明对操作系统的具体类型不做限定。
根据本发明的文件属性追加方法200,可以基于文件系统来实现。图3示出了根据本发明一个实施例的文件系统的结构体示意图。如图3所示,文件系统包括自上而下依次相连的用户空间、内核空间、硬件层。其中,用户空间可以布置一个或多个应用程序。内核空间可以封装虚拟文件系统和设备驱动,内核空间隐藏了不同硬件设备的细节并为不同的文件系统提供统一的接口,并通过系统调用来提供给用户空间的应用程序使用。硬件层包括用于存储数据的磁盘。
需要说明的是,磁盘上存储有与文件相对应的索引节点,索引节点包括属性结构体,通过属性结构体可以存储文件的一种或多种属性信息。这里,属性结构体中存储的属性信息例如包括文件在磁盘上的位置信息、文件大小、权限信息、修改时间中的一种或多种,但并不限于这里列举的属性信息。
应当指出,根据现有的磁盘上索引节点的属性结构体,只存储有文件本身自带的固定属性,而不能存储用户额外添加的自定义属性信息。基于此,根据本发明的一个实施例,在执行步骤S210之前,在属性结构体中添加了两个字段,分别是用户添加自定义属性长度字段(user_attr_data_length)、用户添加自定义属性内容字段(p_user_attr_data),从而形成新的属性结构体。
参见图4示出的根据本发明一个实施例的索引节点的结构示意图,索引节点中包括适于存储多种属性信息的属性结构体,属性结构体中包含p_user_attr_data和len(代表user_attr_data_length)。基于属性结构体中的user_attr_data_length字段和p_user_attr_data字段,能实现在索引节点的新的属性结构体中存储用户添加的自定义属性。
基于上述设置,在本发明的索引节点的属性结构体中,可以存储文件的多种属性信息,其中可以存储文件本身自带的固定属性,还可以存储用户添加的一种或多种自定义属性。
另外,索引节点还包括操作结构体(struct inode_operations),通过在操作结构体中添加针对自定义属性的操作函数,以便通过添加的操作函数来索引节点的属性结构体中存储的属性进行更新。
在一个实施例中,自定义属性的操作函数例如包括设置自定义属性函数、获取自定义属性函数。通过在原有的操作结构体的操作函数表添加设置自定义属性函数setcustomattr、获取自定义属性函数getcustomattr,来实现设置和获取用户自定义的文件属性。进一步地,可以基于设置自定义属性函数生成相应的设置自定义属性接口,基于获取自定义属性函数来生成相应的获取自定义属性接口。这样,用户通过调用设置自定义属性接口可以为文件添加自定义属性,并可以通过调用获取自定义属性接口来获取与文件相对应的自定义属性。
根据上述对索引节点数据结构体的修改,通过在索引节点的属性结构体中添加与自定义属性相关的字段,以及在操作结构体中添加与自定义属性相关的操作函数,可以实现本发明的文件属性追加方法200。
以下结合图2来详述本发明的文件属性追加方法200。
如图2所示,在步骤S210中,接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求,通过虚拟文件系统将文件的自定义属性写入磁盘。这里,客户端包括布置在用户空间的一个或多个应用,一个或多个应用运行在操作系统上。也就是说,用户可以在客户端的一个或多个应用调用设置自定义属性接口,来请求为文件添加自定义属性。操作系统可以接收到用户在任意一个应用通过调用设置自定义属性接口为文件添加自定义属性的请求。
具体地,可以将为文件添加的自定义属性保存在磁盘上与文件相对应的索引节点的属性结构体(即前述添加了与自定义属性相关的用户添加自定义属性长度字段、用户添加自定义属性内容字段的属性结构体)中。换言之,将自定义属性基于用户添加自定义属性长度字段、用户添加自定义属性内容字段存储在索引节点的属性结构体中。
这样,在本发明的索引节点的属性结构体中存储的文件的属性信息,不仅包括文件本身自带的固定属性,还可以包括用户通过调用设置自定义属性接口为文件添加的一种或多种自定义属性。
在一个实施例中,用户通过调用设置自定义属性接口为文件添加的自定义属性例如包括音乐、电影、图片,以便基于音乐、电影、图片等自定义属性来自定义对文件进行分类。应当指出,本发明不限于自定义属性的具体内容,自定义属性可以根据用户的实际需求来自行设置。
在步骤S220中,接收客户端通过调用获取自定义属性接口获取文件的自定义属性的请求,通过虚拟文件系统从磁盘获取文件的自定义属性,并将自定义属性返回至客户端。相应地,用户可以在客户端的一个或多个应用调用获取自定义属性接口,来请求获取文件的自定义属性。操作系统可以接收到用户在任意一个应用通过调用获取自定义属性接口来获取文件的自定义属性的请求。
这里,如前文所述,文件的自定义属性保存在磁盘上与文件相对应的索引节点的属性结构体中,相应地,虚拟文件系统可以从磁盘上与文件相对应的索引节点的属性结构体中获取文件的自定义属性。
在一个实施例中,从与文件相对应的索引节点的属性结构体中获取文件的自定义属性可以通过以下方法来实现:
获取文件对应的上级目录文件,从上级目录文件中查找与文件名相对应的索引号。这里,文件对应的上级目录文件中存储有该上级目录下的每个文件的文件名、以及与文件名相对应的索引号。这样,基于文件名可以从上级目录文件中查找到与文件名相对应的索引号。
进而,可以基于索引号从相应的索引节点获取相应的属性结构体,这样,可以从属性结构体中获取文件的自定义属性。
在一个实施例中,在执行步骤S210之前,即,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,先执行正常写入文件的步骤。
图5示出了根据本发明一个实施例的为文件添加自定义属性的时序图。如图5所示,首先接收到客户端通过系统调用打开文件的请求,响应于客户端的请求,通过虚拟文件系统将打开后的文件返回至客户端。随后,接收客户端通过系统调用写入的文件内容,通过虚拟文件系统将文件内容写入磁盘。在将文件内容写入磁盘之后,接收客户端通过调用设置自定义属性接口为文件添加自定义属性(即,扩展属性)的请求,通过虚拟文件系统将文件的自定义属性写入磁盘,以实现更新文件扩展属性。最后,接收客户端通过系统调用关闭文件的请求,通过虚拟文件系统将文件关闭。
在一个实施例中,在执行步骤S220之前,即,在接收客户端通过调用获取自定义属性接口获取文件的自定义属性的请求之前,先执行正常读取文件的步骤。
图6示出了根据本发明一个实施例的获取文件自定义属性的时序图,如图6所示,首先接收客户端通过系统调用打开文件的请求,响应于客户端的请求,通过虚拟文件系统将打开后的文件返回至客户端。随后,接收客户端通过系统调用读取文件内容的请求,通过虚拟文件系统从磁盘获取相应的文件内容,并将文件内容返回至客户端。在将文件内容返回至客户端之后,接收客户端通过调用获取自定义属性接口获取文件的自定义属性(即,扩展属性)的请求,通过虚拟文件系统从磁盘获取文件的自定义属性,并将自定义属性返回至客户端,以实现读取文件扩展属性。最后,接收客户端通过系统调用关闭文件的请求,通过虚拟文件系统将文件关闭。
在一个实施例中,原有的索引节点的属性结构体如下:
Figure BDA0003352299970000101
在原有的属性结构体中除了文件本身自带的属性外,并不能保存用户定义的额外属性,从而不能实现为文件添加自定义属性。
根据本发明的一种实现方式,修改了原有的属性结构体,在原有的属性结构体中添加了user_attr_data_length字段和p_user_attr_data字段,其中user_attr_data_length表示用户添加自定义属性长度,p_attr_user_data字段表示用户添加自定义属性的内容。修改之后得到的新的属性结构体如下:
Figure BDA0003352299970000111
应当指出,为了不占用过多的磁盘空间,用户自定义属性长度不宜过长,具体大小可根据用户传入的字符串长度来确定。在一种实现方式中,user_attr_data_length字段的最大长度为32字节。用户自定义属性可以采用以下格式控制:attr1,attr2,attr3,每个属性之间通过英文逗号分割,可以通过上层应用控制格式的编码与解码。
在一个实施例中,原有的操作结构体(struct inode_operations)如下:
Figure BDA0003352299970000112
根据本发明的一种实现方式,修改了原有的操作结构体,在原有的操作结构体的操作函数表中添加了setcustomattr函数和getcustomattr函数,以便通过setcustomattr函数来为文件添加自定义属性,通过getcustomattr函数来获取与文件相对应的自定义属性。修改之后得到的新的操作结构体如下:
Figure BDA0003352299970000121
根据本发明的文件属性追加方案,通过在磁盘上的索引节点的属性结构体中添加用于存储自定义属性的相关字段,在操作结构体中添加与自定义属性相关的操作函数,使得用户可以通过调用设置自定义属性接口来为文件添加自定义属性,将自定义属性存储在属性结构体中。并且,用户可以通过调用获取自定义属性接口,来获取存储在磁盘上的相应属性结构体中的自定义属性。这样,根据本发明的技术方案,实现了在原有的文件属性的基础上,追加自定义属性,并可以读取自定义属性,基于此,用户可以通过为文件添加自定义属性来实现自定义对文件进行分类和管理。并且,本发明的文件属性追加方法是在操作系统层面实现,从而可以适应于操作系统上运行的各种应用,实现跨应用自定义对文件进行分类的效果。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文件属性追加方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种文件属性追加方法,在计算设备的操作系统中执行,所述方法包括步骤:
接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求,通过虚拟文件系统将所述自定义属性写入磁盘上的属性结构体中;
接收客户端通过调用获取自定义属性接口来获取所述文件的自定义属性的请求,通过虚拟文件系统从磁盘上的属性结构体中获取所述文件的自定义属性,并将所述自定义属性返回至客户端。
2.如权利要求1所述的方法,其中,
所述磁盘上存储有与文件相对应的索引节点,所述索引节点包括属性结构体,所述属性结构体适于存储文件的属性信息,所述属性信息包括自定义属性。
3.如权利要求2所述的方法,其中,将所述自定义属性写入磁盘上的属性结构体中包括:
将所述自定义属性存储在与所述文件相对应的索引节点的属性结构体中;
从磁盘上的属性结构体中获取所述文件的自定义属性包括:
从与所述文件相对应的索引节点的属性结构体中获取文件的自定义属性。
4.如权利要求3所述的方法,其中,从与文件相对应的索引节点的属性结构体中获取文件的自定义属性的步骤包括:
获取所述文件对应的上级目录文件,从所述上级目录文件中查找与文件名相对应的索引号;
基于所述索引号获取相应的属性结构体,从所述属性结构体中获取文件的自定义属性。
5.如权利要求2-4中任一项所述的方法,其中,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,包括步骤:
在属性结构体中增加用户添加自定义属性长度字段、用户添加自定义属性内容字段,以便在属性结构体中存储用户添加的自定义属性。
6.如权利要求2-4中任一项所述的方法,其中,所述索引节点还包括操作结构体,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,还包括步骤:
在操作结构体中添加自定义属性的操作函数,所述操作函数包括设置自定义属性函数、获取自定义属性函数;
基于所述设置自定义属性函数生成相应的设置自定义属性接口,基于获取自定义属性函数生成相应的获取自定义属性接口。
7.如权利要求1-4中任一项所述的方法,其中,在接收客户端通过调用设置自定义属性接口为文件添加自定义属性的请求之前,还包括步骤:
接收客户端通过系统调用打开文件的请求,通过虚拟文件系统将打开后的文件返回至客户端;
接收客户端通过系统调用写入的文件内容,通过虚拟文件系统将所述文件内容写入磁盘。
8.如权利要求1-4中任一项所述的方法,其中,在接收客户端通过调用获取自定义属性接口来获取所述文件的自定义属性的请求之前,还包括步骤:
接收客户端通过系统调用打开文件的请求,通过虚拟文件系统将打开后的文件返回至客户端;
接收客户端通过系统调用读取文件内容的请求,通过虚拟文件系统从磁盘获取相应的文件内容,并将所述文件内容返回至客户端。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202111341587.9A 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质 Pending CN114090525A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111341587.9A CN114090525A (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111341587.9A CN114090525A (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质
CN202111097112.XA CN113568879B (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202111097112.XA Division CN113568879B (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN114090525A true CN114090525A (zh) 2022-02-25

Family

ID=78173806

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111097112.XA Active CN113568879B (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质
CN202111341587.9A Pending CN114090525A (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111097112.XA Active CN113568879B (zh) 2021-09-18 2021-09-18 一种文件属性追加方法、计算设备及存储介质

Country Status (1)

Country Link
CN (2) CN113568879B (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948700B2 (en) * 2014-07-01 2018-04-17 Oracle International Corporation ADFDI support for custom attribute properties
CN109842644B (zh) * 2017-11-27 2021-11-19 中国电信股份有限公司 参数扩展方法和系统、云计算管理平台组件和用户终端
CN112667415B (zh) * 2020-12-24 2023-11-24 思创数码科技股份有限公司 数据调用方法、装置、可读存储介质及电子设备
CN112783573A (zh) * 2021-01-25 2021-05-11 东风汽车集团股份有限公司 多个自定义服务的SELinux策略配置系统及方法
CN112860347A (zh) * 2021-03-10 2021-05-28 深圳前海微众银行股份有限公司 一种小程序中存证文件的生成方法及装置

Also Published As

Publication number Publication date
CN113568879B (zh) 2021-12-07
CN113568879A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
US20160313882A1 (en) Support for non-native file types in web application environment
US20140143647A1 (en) Method for improving browser cache by reducing duplicate stored content
TW200402630A (en) System and method for use of multiple applications
CN110221901A (zh) 容器资源创建方法、装置、设备及计算机可读存储介质
CN113434205B (zh) 一种操作系统启动方法及计算设备
CN111651464A (zh) 数据处理方法、系统及计算设备
CN107678741B (zh) 列表视图的实现方法、装置、可读存储介质及设备
CN112817657A (zh) 一种应用程序启动项加载方法、装置、系统及存储介质
CN114860670A (zh) 用户空间文件系统的文件操作方法及用户空间文件系统
CN115391026A (zh) 一种进程迁移方法、计算设备及可读存储介质
CN110955719A (zh) 一种数据存取处理设备、系统和方法
CN113568879B (zh) 一种文件属性追加方法、计算设备及存储介质
CN116339694B (zh) 低代码平台组件的扩展方法、装置、电子设备及存储介质
CN106502707A (zh) 代码生成方法及装置
CN113961086B (zh) 一种快捷键实现方法、计算设备及存储介质
CN111563259B (zh) 一种傀儡进程检测方法、装置、可读存储介质及计算设备
CN110516169B (zh) 数据显示方法、装置、系统及计算设备
CN114546678A (zh) 一种复制粘贴数据的方法、计算设备及可读存储介质
CN113535650A (zh) 一种文件命名方法及计算设备
US11010346B2 (en) Methods and apparatus for managing access to file content
CN112764802A (zh) 一种业务逻辑定制方法、装置、电子设备和存储介质
CN113535275A (zh) 一种混合应用构建方法、装置及计算设备
CN113254888B (zh) 获取硬件信息的方法、授权控制系统及计算设备
CN112231761A (zh) 一种设备挂载方法、计算设备及可读存储介质
CN111831659A (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