本技术实施例涉及计算机领域,尤其涉及一种数据处理的方法及相关装置。
背景技术:
1、对于公有云大数据业务,用户设备可以通过rest api接口向大数据业务的存储设备发送http list请求,以做读、写或列举等处理。
2、当用户设备通过向存储设备发送http list请求,来对存储设备中某个指定的目录进行处理时,用户设备需要对存储设备所反馈的响应进行递归列举。请参阅图1,图1为用户设备对指定目录进行递归列举的流程示意图。如图1所示,若存储设备中所反馈的统计结果中,指示了当前指定目录中包括了下一级的子目录,那么用户设备则需要进一步向存储设备发送针对于该子目录的http list请求,直至最终的统计结果中不存在下一级的子目录则收敛,然后用户设备再将所反馈的子目录和文件累加到统计结果中。
3、用户设备需要对每个目录都发送http list请求,处理流程较为繁琐。若子目录数量较多,则用户设备与存储设备之间的交互时长会过长。
技术实现思路
1、本技术实施例提供了一种数据处理的方法及相关装置,用于提高数据处理的效率。
2、第一方面,本技术实施例提供了一种数据处理的方法,在大数据业务的场景中,用户设备可以通过业务层对存储于存储设备中的业务数据进行更新,例如创建文件、删除文件或修改文件等。相应的,在对存储设备中的文件做出更新后,存储设备也需要获取该文件所在的父目录(即本技术中的目标目录)的更新状态,该更新状态记录了本次更新所发生的变化(包括文件数的增量和数据增量),例如对于所创建的文件数量为+1,对于所删除的文件数量为-1。该更新状态用于后续对元数据索引层中的该目标目录的元数据进行同步更新。
3、存储设备中,一般每个文件或目录都有其所在的归属节点。当存储设备中的文件发生更新时,例如创建文件、删除文件或追加写导致文件大小变化,文件的归属节点向该文件所在的目录(父目录)的归属节点发送消息,消息中携带父目录的路径、文件大小增量以及文件数增量;而创建子目录或删除子目录时,同样向该子目录所在的目录(父目录)的归属节点发送消息。目录的归属节点从元数据索引层(indexlayer)读出目录的更新状态,目录的归属节点便可以根据该更新状态来更新元数据索引层(indexlayer)中的元数据。
4、存储文件中的文件经过更新后,存储设备获取该文件所在的父目录(目标目录)的更新状态(包括文件数的增量和数据增量),然后根据该更新状态生成目标目录信息。本技术中,目标目录信息用于指示目标目录的第一子目录和第二子目录,本技术所定义的第一子目录和第二子目录表示的是该目标目录的子目录的类型,其中,第一子目录是包括了下一级的子目录的,而第二子目录是不包括下一级的子目录的。例如,第一子目录进一步又包括了下一级的子目录(第三子目录和第四子目录),而第二子目录仅包括文件数据或者第二子目录为空目录。即第一子目录是第三子目录和第四子目录的父目录,而第三子目录和第四子目录又是目标目录的孙子目录。换句话说,本技术中的目标目录信息指示了该目标目录中存在哪些子目录是有下一级的子目录,也指示了该目标目录中存在哪些子目录是没有下一级的子目录。
5、示例性的,以目录a为本技术的目标目录为例,该目录a中,包括了目录b、目录c、目录d和文件a,往下一级中,目录b包括了目录e,目录c包括了文件b,目录d为空目录。由于目录b包括了下一级的子目录(目录e),则目录b为第一子目录;而由于目录c和目录d并没有包括下一级的子目录,则目录c和目录d均为第二子目录。
6、应理解,本技术中,并不限定第一子目录和第二子目录的数量,在实际应用中,该目标目录中可以不包括第一子目录或第二子目录,即第一子目录的数量为0个;或者,第二子目录的数量为0个;或者,第一子目录和第二子目录的数量都为0个;又或者,第一子目录或第二子目录的数量为至少一个,具体此处不做限定。
7、存储设备生成该目标目录对应的目标目录信息之后,用户设备可以向存储设备发送针对于该目标目录的第一统计请求来进行递归统计,则存储设备将目标目录信息发送给用户设备。由于该目标目录信息指示了目标目录的第一子目录和第二子目录,其中,第一子目录包括了下一级的子目录,第二子目录不包括下一级的子目录,因此,用户设备在接收到该目标目录信息之后,可以感知该目标目录的子目录下面是否包括了下一级的子目录,换句话说,用户设备可以感知该目标目录是否存在孙子目录。
8、进一步的,用户设备可以继续向存储设备发送针对于第一子目录的第二统计请求,从而便于继续对第一子目录的下一级的子目录进行统计;另一方面,由于第二子目录不存在下一级的子目录,而对于第二子目录下的文件信息,用户设备已经通过目标目录信息可以确定得到,所以,用户设备则无需再对该第二子目录发送统计请求。若目标目录中不存在第一子目录,则本次递归统计的流程便可以收敛,用户设备无需再向存储设备发送统计请求。
9、本技术中,用户设备可以根据目标目录信息的指示,仅对有包括下一级子目录的第一子目录发起后续的统计请求,而对于不包括下一级子目录的第二子目录则无需发起统计请求,减少了用户设备与存储设备之间的交互流程,提高了数据处理的效率。
10、基于第一方面,一种可选的实施方式中,以第一子目录其下一级的子目录为第三子目录和第四子目录为例,存储设备接收来自用户设备的针对于第一子目录的第二统计请求后,存储设备便将第一子目录对应的第一子目录信息发送给用户设备。其中,第一子目录信息用于指示第一子目录的第三子目录和第四子目录,第三子目录包括了下一级的子目录,第四子目录不包括下一级的子目录。因此,用户设备在接收到该第一子目录信息之后,可以感知该第一子目录的子目录下面是否包括了下一级的子目录,换句话说,用户设备可以感知该第一子目录目录是否存在孙子目录。所以。用用户设备可以继续向存储设备发送针对于第三子目录的第三统计请求,从而便于继续对第三子目录的下一级的子目录进行统计;另一方面,由于第四子目录不存在下一级的子目录,而对于第四子目录下的文件信息,用户设备已经通过第一子目录信息可以确定得到,所以,用户设备则无需再对该第四子目录发送统计请求。若目标目录中不存在第三子目录,则本次递归统计的流程便可以收敛,用户设备无需再向存储设备发送统计请求。
11、基于第一方面,一种可选的实施方式中,目标目录信息也可以指示目标目录的统计信息,其中该统计信息具体指的是该目标目录中的目录个数、文件个数以及文件总大小,例如,上述父目录a的统计信息中,指示了目录数量为5个(即父目录a、子目录b、子目录c、子目录d和孙子目录e),文件个数为2个(即文件a和文件b),文件总大小为10mb(假设文件a和文件b都为5mb)。
12、基于第一方面,一种可选的实施方式中,目标目录信息所记录的内容(包括上述统计信息),可以承载于该目标目录的元数据当中。
13、第二方面,本技术实施例提供了一种数据处理装置,包括:
14、获取单元,用于获取目标目录的更新状态;
15、生成单元,用于根据更新状态生成目标目录信息,其中,目标目录信息用于指示目标目录的第一子目录和第二子目录,第一子目录包括了下一级的子目录,第二子目录不包括下一级的子目录;
16、发送单元,当接收到来自用户设备的针对于目标目录的第一统计请求时,用于根据第一统计请求向数据处理装置发送目标目录信息,以便用户设备根据目标目录信息向数据处理装置发送针对于第一子目录的第二统计请求。
17、本方面所示实施例的信息交互和执行过程等内容,与第一方面所示的实施例基于同一构思,因此,本方面所示的有益效果的说明,请详见上述第一方面所示,具体此处不做赘述。
18、基于第二方面,一种可选的实施方式中,发送单元还用于:
19、当接收到来自用户设备的第二统计请求时,根据第二统计请求向用户设备发送第一子目录信息,以便用户设备根据第一子目录信息向数据处理装置发送针对于第三子目录的第三统计请求,其中,第一子目录信息用于指示第一子目录的第三子目录和第四子目录,第三子目录包括了下一级的子目录,第四子目录不包括下一级的子目录。
20、基于第二方面,一种可选的实施方式中,目标目录信息承载于目标目录的元数据中。
21、基于第二方面,一种可选的实施方式中,目标目录信息还用于指示目标目录的统计信息。
22、第三方面,本发明实施例提供了一种计算机设备,包括存储器、通信接口及与所述存储器和通信接口耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令,所述通信接口用于在所述处理器的控制下与其他设备进行通信;其中,所述处理器执行所述指令时执行上述任一方面所述的数据处理的方法。
23、第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述任一方面所述的数据处理的方法。
24、第五方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,当其在计算机上运行时,使得计算机执行上述任一方面所述的数据处理的方法。
25、第六方面,本技术实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述各个方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
26、从以上技术方案可以看出,本技术实施例具有以下优点:
27、本技术公开了一种数据处理的方法及相关装置,存储设备获取目标目录的更新状态;存储设备根据更新状态生成目标目录信息,其中,目标目录信息用于指示目标目录的第一子目录和第二子目录,第一子目录包括了下一级的子目录,第二子目录不包括下一级的子目录;响应于存储设备接收来自用户设备的针对于目标目录的第一统计请求,存储设备根据第一统计请求向用户设备发送目标目录信息,以便用户设备根据目标目录信息向存储设备发送针对于第一子目录的第二统计请求。本技术中,用户设备可以根据目标目录信息的指示,仅对有包括下一级子目录的第一子目录发起后续的统计请求,而对于不包括下一级子目录的第二子目录则无需发起统计请求,减少了用户设备与存储设备之间的交互流程,提高了数据处理的效率。