一种文件处理方法、装置、设备及存储介质与流程

文档序号:28595054发布日期:2022-01-22 10:10阅读:68来源:国知局
一种文件处理方法、装置、设备及存储介质与流程

1.本公开涉及云计算技术领域,尤其涉及云服务和云存储技术领域,具体涉及一种文件处理方法、装置、设备及存储介质。


背景技术:

2.随着互联网技术的不断发展,人们对于数据存储的要求越来越高,为满足用户多样化需求,联合文件系统(union file system,unionfs)应运而生。其中,联合文件系统这类文件系统的工作方式是将多个不同文件系统进行层叠,然后挂载到一个文件系统挂载点;当有文件访问操作时,会按照一定的方案由位于不同分层的磁盘/网络文件系统来提供文件的访问能力,对外表现成为一个标准的文件系统,那么如何提高联合文件系统的整体性能至关重要。


技术实现要素:

3.本公开提供了一种文件处理方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种文件处理方法,该方法包括:
5.获取文件处理请求;
6.根据文件处理请求中待处理文件的访问路径,确定待处理文件的数据类型;
7.根据数据类型,从本地存储空间和网络存储空间中确定目标存储空间;
8.基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件的文件数据进行处理。
9.根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
10.至少一个处理器;以及
11.与所述至少一个处理器通信连接的存储器;其中,
12.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述的文件处理方法。
13.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开任一实施例所述的文件处理方法。
14.根据本公开的技术,能够提高联合文件系统的整体性能。
15.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
16.附图用于更好地理解本方案,不构成对本公开的限定。其中:
17.图1是根据本公开实施例提供的一种文件处理方法的流程图;
18.图2是根据本公开实施例提供的另一种文件处理方法的流程图;
19.图3是根据本公开实施例提供的又一种文件处理方法的流程图;
20.图4是根据本公开实施例提供的再一种文件处理方法的流程图;
21.图5是根据本公开实施例提供的一种文件处理装置的结构示意图;
22.图6是用来实现本公开实施例的文件处理方法的电子设备的框图。
具体实施方式
23.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
24.在介绍本公开的技术方案之前,首先对现有的联合文件系统的工作方式进行示例性说明。
25.以当前广泛使用的覆盖文件系统overlayfs为例,对外表现为一个独立文件系统,对内将存储拆分为多层,实现了分层存储和存储空间复用等能力。比如挂载在merged目录的文件系统,包含upperdir/lowerdir/workdir多个目录的信息;当发生对merged目录下内容的访问时,会按照文件系统逻辑,先查找workdir和upperdir中的文件数据;若没有,则在lowerdir层中按顺序查找。
26.上述联合文件系统没有充分利用本地存储空间和网络存储空间、以及对网络带宽占用较高等,使得整体性能较差。比如,如果一个文件数据一直保存在网络存储空间,本地存储空间中未保存,那么对于这类文件的操作一直需要基于网络,对网络带宽的占用较高,且没有充分利用本地存储空间。
27.基于此,本公开在现有联合文件系统(比如覆盖文件系统overlayfs)工作原理的基础上,提供了一种全新的文件处理方法,该方法适用于在云手机和云桌面场景下,如何进行文件处理的情况。可选的,本实施例中联合文件系统的lowerdir使用远程的网络存储空间,workdir和upperdir使用本地存储空间(即本地文件系统存储空间);进一步的,lowerdir中的网络存储,可根据实际需求选择只读挂载或者读写挂载。
28.该方法可以由文件处理装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成于承载文件处理功能的电子设备中,比如本地设备中,本地设备可以是云手机或其他电子设备;进一步的,云手机可以是android云手机或ubuntu云手机。
29.图1是根据本公开实施例提供的一种文件处理方法的流程图,该文件处理方法可以包括:
30.s101,获取文件处理请求。
31.本实施例中,文件处理请求是指对文件进行处理的请求;进一步的,文件处理请求中至少可以包括待处理文件,以及任何控制或管理待处理文件的操作请求,例如文件的读、写、修改或删除等文件操作请求。
32.可选的,可以根据用户作用于本地设备中的操作触发产生文件处理请求。例如,用户在具有读取某一文件需求的情况下,可以在本地设备中选中该文件并双击鼠标,进而本地设备触发产生读文件请求。又如,还可以根据用户在本地设备中的新建操作触发产生写文件请求等。
33.s102,根据文件处理请求中待处理文件的访问路径,确定待处理文件的数据类型。
34.本实施例中,所谓访问路径即为对外所呈现的存储待处理文件的路径。可选的,可以从待处理文件的属性信息中获取待处理文件的访问路径。
35.可选的,本实施例结合数据特点将文件数据划分为缓存数据、公共数据和用户数据等类型。其中,缓存数据可以包括临时文件数据、中间产物文件数据等;公共数据即为多个设备比如云手机公用的配置文件数据;用户数据可以包括存储用户在本地设备上操作所产生的重要数据等。
36.一种可实施方式,可通过对大量的文件访问记录中历史访问路径进行统计分析,以建立数据类型与路径之间的关联关系,进而在获取待处理文件的访问路径之后,可以基于数据类型与路径之间的关联关系,根据待处理文件的访问路径,确定待处理文件的数据类型。需要说明的是,待处理文件的数据类型实质为待处理文件的文件数据的数据类型。
37.又一种可实施方式,还可以通过机器学习的方式来确定待处理文件的数据类型。例如,可以将待处理文件的访问路径输入至预先训练好的数据类型确定模型中,得到待处理文件的数据类型。
38.s103,根据数据类型,从本地存储空间和网络存储空间中确定目标存储空间。
39.本实施例中,存储空间是指用于存储文件数据所需要的存储介质,可以是任何大容量的存储设备,如可以磁盘存储空间等。所谓本地存储空间即为本地设备中的存储空间,具体可以为本地设备中文件系统的存储空间;对应的,网络存储空间即为网络存储设备的存储空间,具体为网络存储设备中文件系统的存储空间。其中,网络存储设备可以为提供网络存储服务的计算机或计算机集群。需要说明的是,本实施例中的访问路径下并没有存储待处理文件的文件数据,待处理文件的文件数据存储于存储空间内。其中,文件数据为待处理文件所涉及的内容,可以包括待处理文件中的具体内容等。
40.可选的,不同数据类型可操作的存储空间不同。一种可实施方式,可预先配置数据类型与存储空间之间的对应关系,进而在确定数据类型之后,可以通过查询配置信息,确定目标存储空间。具体的,若数据类型为缓存数据,则将本地存储空间作为目标存储空间;若数据类型为共用数据或用户数据,则将本地存储空间和网络存储空间作为目标存储空间。
41.需要说明的是,本实施例将本地存储空间作为缓存数据的操作空间,以及将本地存储空间和网络存储空间,作为共用数据和用户数据的操作空间,相比于将所有数据均存储至网络存储空间而言,减少了网络带宽和内存等的占用,同时充分利用了本地存储空间。此外,将本地存储空间和网络存储空间作为用户数据的操作空间,在本地存储空间发生故障时,可从网络存储空间获取数据进行恢复,保证了数据的可靠性。
42.s104,基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件的文件数据进行处理。
43.本实施例中,处理逻辑可以包括对文件数据进行读操作、删除操作或写操作等的处理规则;其中,写操作具体可以包括新增和修改等。可选的,不同数据类型关联的处理逻辑不同。例如,若数据类型为缓存数据,则处理逻辑可以包括将文件数据保存至本地存储空间,或者对保存在本地存储空间中的文件数据进行删除等,或者还可以是从本地存储空间读取所需文件数据等;若数据类型为用户数据,则文件数据以本地存储空间所保存的版本为准,网络存储空间作为备份等。
44.进一步的,处理逻辑中还可以包括清理规则,即对存储空间中的数据进行清理的规则。比如,如果数据类型为缓存数据,那么可以定期对这类数据进行清理。例如,在向本地存储空间写入缓存数据类型的文件数据时,若识别到本地存储空间的占用量达到设定存储阈值,则可以根据写入时间,对已写入本地存储空间中缓存数据类型的文件数据进行清理。
45.本公开实施例提供的技术方案,通过基于访问路径引入数据类型,并基于数据类型灵活从本地存储空间和网络存储空间中选择对待处理文件的操作空间即目标存储空间,进而基于所确定的目标存储空间,根据数据类型关联的处理逻辑对待处理文件的文件数据进行处理。上述方案,通过基于数据类型灵活从本地存储空间和网络存储空间中选择对待处理文件的操作空间即目标存储空间,使得本地存储空间和网络存储空间能够被合理且高效的利用,降低了网络带宽等资源的占用,进而提高了联合文件系统的整体性能。
46.图2是根据本公开实施例提供的另一种文件处理方法的流程图,本实施例在上述实施例的基础上,进一步对如何“根据文件处理请求中待处理文件的访问路径,确定待处理文件的数据类型”进行详细解释说明。如图2所示,本实施例提供的文件处理方法可以包括:
47.s201,获取文件处理请求。
48.s202,将文件处理请求中待处理文件的访问路径与配置路径类型相匹配。
49.本实施例中,所谓配置路径类型即为预先配置的多种路径类型,比如可以包括缓存路径、公共路径以及用户路径等。例如,可通过对大量的文件访问记录进行统计分析,确定文件特征,并根据文件特征设置多种配置路径类型。文件特征可以包括但不限于文件访问频次和重要性等。
50.可选的,每一配置路径类型可以包括一种或多种路径表征格式。例如,对于缓存路径,若本地设备为android云手机,则可以包括但不限于/data/cache/*、/data/data/*/cache/*、以及/data/data/*/code_cache/*等路径表征格式;若本地设备为ubuntu云手机,则可以包括但不限于/tmp/*、/var/tmp/*、以及/home/*/.cache等路径表征格式。
51.又如,对于公共路径,无论本地设备为android云手机或ubuntu云手机,均可以包括但不限于/cloud-config/*等路径表征格式。对于用户路径,无论本地设备为android云手机或ubuntu云手机,均可以包括共用路径和缓存路径所未涉及的所有路径表征格式;比如,若本地设备为android云手机,则可以包括/data/*等路径表征格式。
52.示例性的,每一配置路径类型可对应一种数据类型。比如,缓存路径与缓存数据对应,公共路径与公共数据对应,用户路径与用户数据对应。
53.进而,在获取到文件处理请求之后,可以将文件处理请求中的待处理文件的访问路径与所有的配置路径类型相匹配,并根据匹配结果,确定待处理文件的数据类型,即执行s203。
54.s203,根据匹配结果,确定待处理文件的数据类型。
55.可选的,若匹配结果为待处理文件的访问路径与某一配置路径类型中的某一或某些路径表征格式相匹配,则将该配置路径类型所对应的数据类型,作为待处理文件的数据类型。比如,访问路径为/data/a/cache,与缓存路径中的/data/*/cache这一路径表征格式相匹配,进而可以将缓存路径所对应的缓存数据作为待处理文件的数据类型。
56.若匹配结果为待处理文件的访问路径与不同配置路径类型中的路径表征格式相匹配,则可以根据访问路径与不同配置路劲类型中路径表征格式的匹配度,从不同配置路
径类型中选择一个配置路径类型,并将所选择的配置路径类型所对应的数据类型,作为待处理文件的数据类型。或者,可以根据配置路径类型在整个配置信息中的位置(或者顺序),从不同配置路径类型中选择一个配置路径类型,并将所选择的配置路径类型所对应的数据类型,作为待处理文件的数据类型。
57.s204,根据数据类型,从本地存储空间和网络存储空间中确定目标存储空间。
58.s205,基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件进行处理。
59.本公开实施例提供的技术方案,通过配置路径类型和访问路径确定待处理文件的数据类型,并基于数据类型灵活从本地存储空间和网络存储空间中选择对待处理文件的操作空间即目标存储空间,进而基于所确定的目标存储空间,根据数据类型关联的处理逻辑对待处理文件的文件数据进行处理。上述方案,通过引入配置路径类型,极大地提升了基于访问路径确定数据类型的速度;同时还可根据需求灵活定义配置路径类型,进而提升了整个方案的灵活度。
60.图3是根据本公开实施例提供的又一种文件处理方法的流程图,本实施例在上述实施例的基础上,在文件处理请求为读文件请求的情况下,对如何“基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件的文件数据进行处理”进行详细解释说明。如图3所示,本实施例提供的文件处理方法可以包括:
61.s301,获取读文件请求。
62.s302,根据读文件请求中待处理文件的访问路径,确定待处理文件的数据类型。若数据类型为缓存数据,则执行s303;若数据类型为公共数据或用户数据,则执行s304。
63.s303,从本地存储空间获取待处理文件的文件数据。
64.具体的,在数据类型为缓存数据的情况下,目标存储空间为本地存储空间,进而可以从本地存储空间中直接加载待处理文件的文件数据,并展示给用户。
65.s304,查询本地存储空间是否存在文件数据,并根据查询结果,从本地存储空间或网络存储空间中获取文件数据。
66.具体的,在数据类型为公共数据或用户数据的情况下,目标存储空间为本地存储空间和网络存储空间,进而可以先从本地存储空间中查找是否存在待处理文件的文件数据;若查询结果为本地存储空间存在待处理文件的文件数据,则可以从本地存储空间中直接加载待处理文件的文件数据,并展示给用户。
67.进一步的,对于公共数据而言,本地设备具有只读权限,进而在数据类型为公共数据的情况下,为保证用户能够获取到最新版本的文件数据,若本地存储空间中存在待处理文件的文件数据,则确定文件数据的版本是否是最新版本;若是,则可以从本地存储空间中直接加载待处理文件的文件数据,并展示给用户;若否,则从网路存储空间中获取文件数据。可选的,确定文件数据的版本是不是最新版本的方式有很多种,本实施例对此并不做限定,例如可以是根据文件数据的写入时间和设定更新周期,确定文件数据的版本是否是最新版本。此外,在确定本地存储空间中文件数据的版本不是最新版本的情况下,可以将本地存储空间中所存储的文件数据删除,并可以将从网络存储空间中获取的文件数据写入本地存储空间。
68.示例性的,若查询结果为本地存储空间不存在待处理文件的文件数据,则从网络
存储空间中获取文件数据。
69.具体的,可以通过如下任一种方式从网络存储空间中获取文件数据:1)根据设定下载速度,从网络存储空间中下载文件数据和文件数据的哈希值;在下载完成后,对文件数据进行哈希运算,并将所运算得到的哈希值与从网络存储空间获取的哈希值进行比较,若一致,则确定文件数据的完整性验证通过,进而可以向用户展示文件数据。2)从网络存储空间中读取文件数据,即按照读操作规则(比如按行),依次从网络存储空间中读取文件数据,直至文件数据全部读完为止。3)从网络存储空间中读取文件数据,并在读取数据的过程中,从网络存储空间中下载文件数据;若下载完成且文件数据的完整性验证通过,则停止读取操作。具体可以是,按照读操作规则,依次从网络存储空间中读取文件数据,同时从网络存储空间中下载文件数据;在下载完成后,对文件数据进行哈希运算,并将所运算得到的哈希值与从网络存储空间获取的哈希值进行比较,若一致,则确定文件数据的完整性验证通过,立即停止读取操作。
70.需要说明的是,本实施例中启动读取操作的同时,增加下载操作,实质实现的是边读边下载,使得用户可以先查看部分文件数据,并在下载完成后查看所有文件数据,减少了用户等待时间;同时加快了向用户呈现所有文件数据的速度。此外,本实施例中从网络存储空间中下载的文件数据可直接写入本地存储空间,即后续向用户展示的文件数据实质是从本地存储空间中读取的,实现了本地存储空间与网络存储空间的无缝切换。
71.进一步的,在数据类型为公共数据的情况下,还可以为存储于本地存储空间中的文件数据配置时效(即有效时间),进而若识别到本地时间达到文件数据的有效时间,则删除本地存储空间中存储的文件数据。
72.本公开实施例提供的技术方案,在文件处理请求为读文件请求的情况下,根据数据类型灵活选择从本地存储空间或网络存储空间中读取待处理文件的文件数据。上述方案,对于缓存数据类型的文件数据,仅从本地存储空间中读取,减少了对网络存储空间和网络带宽的占用;对于公共数据或用户数据类型的文件数据,优先从本地存储空间中读取,极大地降低了对网络带宽的依赖,提升了联合文件系统的整体性能。
73.图4是根据本公开实施例提供的再一种文件处理方法的流程图,本实施例在上述实施例的基础上,在文件处理请求为写文件请求的情况下,对如何“基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件的文件数据进行处理”进行详细解释说明。如图4所示,本实施例提供的文件处理方法可以包括:
74.s401,获取写文件请求。
75.s402,根据写文件请求中待处理文件的访问路径,确定待处理文件的数据类型。若数据类型为缓存数据,则执行s403;若数据类型为用户数据,则执行s404;若数据类型为公共数据,则执行s405。
76.s403,将待处理文件的文件数据保存到本地存储空间。
77.具体的,在数据类型为缓存数据的情况下,目标存储空间为本地存储空间,进而可以直接将待处理文件的文件数据直接保存到本地存储空间。
78.s404,将待处理文件的文件数据保存到本地存储空间和网络存储空间。
79.具体的,在数据类型为用户数据的情况下,目标存储空间可以为本地存储空间和网络存储空间,进而可以将待处理文件的文件数据保存到本地存储空间,同时可以将待处
理文件的文件数据保存到网络存储空间中进行备份,以便本地设备发生故障时,可从网络存储空间中获取文件数据进行恢复,保证了数据的可靠性。
80.可选的,可以通过如下任一种方式将待处理文件的文件数据保存到本地存储空间和网络存储空间。
81.1)将文件数据保存到本地存储空间;确定文件数据的哈希值,并将文件数据和哈希值关联存储至网络存储空间。
82.具体的,可以将文件数据保存到本地存储空间中;同时可以对文件数据进行哈希运算,以确定文件数据的哈希值;之后按照设定的上传速度,向网络存储设备上传文件数据和文件数据的哈希值,以便网络存储设备根据文件数据的哈希值,对文件数据的完整性进行验证,并在完整性验证通过的情况下,将文件数据和文件数据的哈希值关联存储至网络存储空间中。
83.进一步的,在完整性验证未通过的情况下,基于重传机制,重新向网络存储空间上传文件数据。例如可以在设定时间间隔后,向网络存储空间上传文件数据。
84.需要说明的是,通过网络传输方式向网络存储空间传输文件数据,提高了文件数据保存至网络存储空间的速率;同时引入文件数据的哈希值,用于对文件数据的完整性进行验证,保证存入网络存储空间中数据的正确性。
85.2)将文件数据写入本地存储空间,并将写入本地存储空间中的数据实时写入网络存储空间。
86.具体的,按批次方式,将写入本地存储空间中的数据,实时写入网络存储空间中。例如,每次向本地存储空间写入文件数据中的几个字符后,立即将本次所写入本地存储空间中的数据写入网络存储空间,并在确定成功写入网络存储空间的情况下,进行下一次数据写入操作,直至文件数据完全写入本地存储空间和网络存储空间。
87.进一步的,在确定未成功写入网络存储空间的情况下,重新向网络存储空间写入本次写入网络存储空间中的数据,直至确定本次数据成功写入网络存储空间后,再进行下一次数据写入操作。
88.需要说明的是,通过实时写入方式向网络存储空间写入文件数据,在出现网络等故障时,重新向网络存储空间写入的数据量少,降低了对网络资源的消耗。
89.3)将文件数据写入本地存储空间,并在写入本地存储空间中的数据达到设定要求的情况下,将满足设定要求的数据写入网络存储空间。
90.本实施例中的,所谓设定要求为向网络存储空间中写入数据的触发机制,具体可以为写入本地存储空间中的数据数量满足设定数量,或者向本地存储空间中写入数据的时长满足设定时长等。
91.具体的,按批量方式,将写入本地存储空间中的数据,写入网络存储空间中。例如,向本地存储空间中写入文件数据,并在确定写入本地存储空间中的数据数量达到设定数量的情况下,将此次所写入的数据写入网络存储空间;重复上述操作,直至将文件数据完全写入本地存储空间和网络存储空间。
92.进一步的,在向网络存储空间写入此次所写入的数据的过程中,若出现网络故障等,则可以在本地存储空间中已累积写入所有文件数据的情况下,采用设定上传速度,向网络存储空间上传文件数据。
93.需要说明的是,通过批量写入方式向网络存储空间写入文件数据,减少了文件数据的读取写入次数,网络存储设备无需频繁读写文件数据,降低了网络存储设备读写压力。进一步的,上述方式更适用于文件数据的数量较大的场景。
94.s405,禁止向网络存储空间写入待处理文件的文件数据。
95.可选的,对于公共数据类型的文件数据而言,可能存在同一时刻不同设备读取同一文件数据的现象,因此为保证数据的一致性,在数据类型为公共数据的情况下,禁止向网络存储空间写入待处理文件的文件数据。
96.本公开实施例提供的技术方案,在文件处理请求为写文件请求的情况下,根据数据类型灵活选择向本地存储空间和网络存储空间中写入待处理文件的文件数据。上述方案,对于缓存数据类型的文件数据,仅向本地存储空间写入,减少了对网络存储空间和网络带宽的占用;对于用户数据类型的文件数据,将文件数据保存到本地存储空间,同时在网络存储空间中进行备份,以便本地设备发生故障时,可从网络存储空间中获取文件数据进行恢复,保证了数据的可靠性。此外,对于公共数据类型的文件数据,禁止向网络存储空间写入,使得在多个设备同时读取文件数据的情况下,保证文件数据的一致性。
97.需要说明的是,本实施例中的写文件请求可以是新增形式的写文件请求,还可以是修改形式的写文件请求。可选的,对于新增形式的写文件请求可以直接执行图4所示的文件处理方法。
98.对于修改形式的写文件请求,若数据类型为缓存数据,则可以直接从本地存储空间中读取待处理文件的文件数据,对文件数据进行修改,并将修改后的文件数据保存到本地存储空间中。
99.进一步的,若数据类型为公共数据,则在本地存储空间中不存在文件数据的情况下,可以从网络存储空间中获取文件数据,但禁止对文件数据进行修改。
100.若数据类型为用户数据,则查询本地存储空间是否存在文件数据;若不存在,则从网络存储空间中获取文件数据,对文件数据进行修改,并将修改后的文件数据保存到本地存储空间和网络存储空间。
101.具体可以是,先从本地存储空间中查找是否存在待处理文件的文件数据;若查询结果为本地存储空间存在待处理文件的文件数据,则可以从本地存储空间中直接加载待处理文件的文件数据,并根据用户操作或需求对文件数据进行修改,将修改后的文件数据保存到本地存储空间。
102.若查询结果为本地存储空间中不存在待处理文件的文件数据,则可以从网络存储空间中获取文件数据(具体可以参见上述对s304解释中所提供的从网络存储空间中获取文件数据的方式),根据用户操作或需求对文件数据进行修改,并将修改后的文件数据保存到本地存储空间和网络存储空间。或者,还可以直接将修改后的文件数据中的增量数据存储于本地存储空间和网络存储空间。可选的,将修改后的文件数据或文件数据中的增量数据保存到本地存储空间和网络存储空间的方式可以参见上述对s404的解释说明,此处不再赘述。
103.需要说明的是,对于用户数据类型的文件数据,将在本地设备中修改的文件数据,也保存到网络存储空间中,保证了网络存储空间文件数据的时效性。
104.图5是根据本公开实施例提供的一种文件处理装置的结构示意图。本公开实施例
适用于如何对文件进行处理的情况。该装置可以采用软件和/或硬件来实现,该装置可以实现本公开任意实施例所述的文件处理方法。如图5所示,该文件处理装置包括:
105.请求获取模块501,用于获取文件处理请求;
106.数据类型确定模块502,用于根据文件处理请求中待处理文件的访问路径,确定待处理文件的数据类型;
107.存储空间确定模块503,用于根据数据类型,从本地存储空间和网络存储空间中确定目标存储空间;
108.数据处理模块504,用于基于目标存储空间,根据数据类型关联的处理逻辑,对待处理文件的文件数据进行处理。
109.本公开实施例提供的技术方案,通过基于访问路径引入数据类型,并基于数据类型灵活从本地存储空间和网络存储空间中选择对待处理文件的操作空间即目标存储空间,进而基于所确定的目标存储空间,根据数据类型关联的处理逻辑对待处理文件的文件数据进行处理。上述方案,通过基于数据类型灵活从本地存储空间和网络存储空间中选择对待处理文件的操作空间即目标存储空间,使得本地存储空间和网络存储空间能够被合理且高效的利用,降低了网络带宽等资源的占用,进而提高了联合文件系统的整体性能。
110.示例性的,数据类型确定模块502具体用于:
111.将文件处理请求中待处理文件的访问路径与配置路径类型相匹配;
112.根据匹配结果,确定待处理文件的数据类型。
113.示例性的,存储空间确定模块503具体用于:
114.若数据类型为缓存数据,则将本地存储空间作为目标存储空间;
115.若数据类型为公共数据或用户数据,则将本地存储空间和网络存储空间作为目标存储空间。
116.示例性的,若文件处理请求为读文件请求,则数据处理模块504包括:
117.第一数据获取单元,用于若数据类型为缓存数据,则从本地存储空间获取待处理文件的文件数据;
118.第二数据获取单元,用于若数据类型为公共数据或用户数据,则查询本地存储空间是否存在文件数据,并根据查询结果,从本地存储空间或网络存储空间中获取文件数据。
119.示例性的,第二数据获取单元具体用于:
120.若查询结果为本地存储空间不存在文件数据,则从网络存储空间中读取文件数据;
121.在读取数据的过程中,从网络存储空间中下载文件数据;
122.若下载完成且文件数据的完整性验证通过,则停止读取操作。
123.示例性的,若文件处理请求为写文件请求,则数据处理模块504包括:
124.第一数据保存单元,用于若数据类型为缓存数据,则将待处理文件的文件数据保存到本地存储空间;
125.第二数据保存单元,用于若数据类型为用户数据,则将文件数据保存到本地存储空间和网络存储空间;
126.禁止单元,用于若数据类型为公共数据,则禁止向网络存储空间写入文件数据。
127.示例性的,第二数据保存单元具体用于:
128.将文件数据保存到所述本地存储空间;
129.确定文件数据的哈希值,并将文件数据和所述哈希值关联存储至所述网络存储空间。
130.示例性的,第二数据保存单元还具体用于:
131.将文件数据写入本地存储空间,并将写入本地存储空间中的数据实时写入网络存储空间。
132.示例性的,第二数据保存单元还具体用于:
133.将文件数据写入本地存储空间,并在写入本地存储空间中的数据达到设定要求的情况下,将满足设定要求的数据写入网络存储空间。
134.示例性的,第二数据保存单元还具体用于:
135.查询本地存储空间是否存在所述文件数据;
136.若不存在,则从网络存储空间中获取文件数据,对文件数据进行修改,并将修改后的文件数据保存到本地存储空间和网络存储空间。
137.本公开的技术方案中,所涉及的本地存储空间中的数据,以及网络存储空间中的数据等的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
138.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
139.图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
140.如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
141.电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
142.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如文件处理方法。例如,在一些实施例中,文件处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到电子设备600上。当计算
机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的文件处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文件处理方法。
143.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
144.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
145.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
146.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
147.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
148.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
149.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
150.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1