CN115269538A - 一种文件处理方法、装置、设备及存储介质 - Google Patents

一种文件处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115269538A
CN115269538A CN202210945942.1A CN202210945942A CN115269538A CN 115269538 A CN115269538 A CN 115269538A CN 202210945942 A CN202210945942 A CN 202210945942A CN 115269538 A CN115269538 A CN 115269538A
Authority
CN
China
Prior art keywords
file
service
data warehouse
preset type
data
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
CN202210945942.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.)
Shenzhen Onething Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN202210945942.1A priority Critical patent/CN115269538A/zh
Publication of CN115269538A publication Critical patent/CN115269538A/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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling 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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及数据处理技术领域,公开了一种文件处理方法、装置、设备及存储介质,应用于节点服务器,包括:将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,预设类型文件由计算引擎获取原始数据并对原始数据进行计算得到;当部署在本地的第一服务监测到第一数据仓库中存在预设类型文件,利用第一服务将预设类型文件转移至分布式存储系统中的第二数据仓库中进行存储,以使第一服务从第二数据仓库中查询预设类型文件;其中,文件转移过程中第一服务同时具有第一数据仓库和第二数据仓库的访问权限,文件查询过程中第一服务仅具有第二数据仓库的访问权限。本申请中第一服务在转移文件和查询文件时能够具有不同的权限,从而提高访问安全性。

Description

一种文件处理方法、装置、设备及存储介质
技术领域
本发明涉及数据处理技术领域,特别涉及一种文件处理方法、装置、设备及存储介质。
背景技术
HDFS(Distributed Storage System)是基于流数据访问模式的分布式存储系统,其设计建立在“一次写入、多次读取”的基础上,提供高吞吐量、高容错性的数据访问,能很好地解决海量数据的存储问题。但现有的分布式存储系统HDFS却不能在存储目录之间的数据访问进行权限隔离,导致数据安全性降低。例如,对于日志服务,只希望用户能访问日志文件而不希望访问日志文件之外的其他文件,但由于分布式文件系统HDFS的存储特点,无法实现存储目录之间的数据访问权限隔离。
因此,上述技术问题是本领域技术人员亟待解决的。
发明内容
有鉴于此,本发明的目的在于提供一种数据处理方法、装置、设备及存储介质,能够对预设类型文件进行分离存储,提高访问安全性。其具体方案如下:
本申请的第一方面提供了一种数据处理方法,应用于节点服务器,包括:
将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;
当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
可选的,所述文件处理方法,还包括:
获取客户端发送的包含目标文件信息的文件请求;
利用所述第一服务确定与所述文件请求对应的目标地址;其中,所述目标地址下的文件为由所述第一服务将所述第一数据仓库中存储的预设类型文件转移至所述第二数据仓库中进行存储的文件;
将所述目标地址返回所述客户端,以便所述客户端利用部署在所述节点服务器的第二服务获取挂载在本地的所述分布式文件系统的所述目标地址中的所述目标文件。
可选的,文件转移过程中的所述第一服务是基于第一用户组中的共享用户将所述第一数据仓库中的所述预设类型文件转移至所述第二数据仓库中进行存储;其中,所述第一数据仓库专属于所述第一用户组,所述第二数据仓库专属于第二用户组,所述共享用户同时为所述第二用户组中的用户。
可选的,文件查询过程中的所述第一服务是基于所述第二用户组中除所述第一用户组用户之外的用户对所述第二数据仓库进行查询,得到与所述文件请求对应的所述目标地址。
可选的,所述客户端利用部署在所述节点服务器的第二服务获取挂载在所述节点服务器上的分布式文件系统的所述目标地址中的所述目标文件,包括:
所述客户端通过代理服务器将所述目标地址发送至部署有NFS网关的所述节点服务器;
所述NFS网关将所述分布式文件系统的文件集群挂载至所述节点服务器,以获取所述分布式文件系统的所述目标地址中的所述目标文件。
可选的,所述利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,包括:
利用所述第一服务按照预设命名规则对所述预设类型文件进行重命名;其中,所述预设命名规则由用户通过客户端发送至本地;
利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储;其中,所述预设存储目录为包含日志数据生成时间和客户端用户域名的分级目录。
可选的,所述利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储之前,还包括:
利用所述第一服务对客户端用户域名进行加密处理得到加密目录,以使得返回的所述目标地址包含所述加密目录。
本申请的第二方面提供了一种数据处理装置,应用于节点服务器,包括:
计算存储模块,用于将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;
转移模块,用于当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
本申请的第三方面提供了一种电子设备,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述数据处理方法。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述数据处理方法。
本申请中,将计预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。可见,本申请中计算引擎对原始数据计算得到的预设类型文件的直接存储地址是分布式存储系统的第一数据仓库,为了使得该预设类型文件从第一数据仓库中分离出来,节点服务器上部署第一服务,并对第一数据仓库中的文件进行监测以将监测到的预设类型文件转移到分布式存储系统的第二数据仓库,使得预设类型文件与第一数据仓库中的其他类型文件进行分离存储,从而使得第一服务在转移文件和查询文件时能够具有不同的权限,提高访问安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种文件处理方法流程图;
图2为本申请提供的一种具体的文件处理方法流程图;
图3为本申请提供的一种具体的文件处理方法流程图;
图4为本申请提供的一种具体的文件处理系统架构图;
图5为本申请提供的一种具体的NFS网关与HDFS之间的交互示意图;
图6为本申请提供的一种具体的文件处理方法流程图;
图7为本申请提供的一种第一数据仓库中的文件目录示意图;
图8为本申请提供的一种第二数据仓库中的文件目录示意图;
图9为本申请提供的一种文件处理装置结构示意图;
图10为本申请提供的一种文件处理电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的分布式存储系统HDFS不能在存储目录之间的数据访问进行权限隔离,导致数据安全性降低。例如,对于日志服务,只希望用户能访问日志文件而不希望访问日志文件之外的其他文件,但由于分布式文件系统HDFS的存储特点,无法实现存储目录之间的数据访问权限隔离。针对上述技术缺陷,本申请提供一种文件处理方案,在节点服务器上部署第一服务,并对第一数据仓库中的文件进行监测以将监测到的预设类型文件转移到分布式存储系统的第二数据仓库,使得预设类型文件与第一数据仓库中的其他类型文件进行分离存储,从而使得第一服务在转移文件和查询文件时能够具有不同的权限,提高访问安全性。
图1为本申请实施例提供的一种文件处理方法流程图。参见图1所示,该文件处理方法应用于节点服务器,包括:
S11:将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到。
本实施例中,所述计算引擎先获取原始数据并对所述原始数据进行计算,计算后即可得到提供给用户的文件。所述原始数据可以为日志数据,对应的所述预设类型文件为日志文件。对于日志数据的计算一般为离线计算,本实施例对此不进行限定。
然后所述节点服务器将所述计算引擎通过计算的方式得到的所述预设类型文件存储至分布式存储系统中的第一数据仓库。例如,所述节点服务器将离线计算得到的日志文件存储在所述第一数据仓库。可以理解,离线计算可通过hive离线计算,在此过程中,使用分布式存储系统HDFS存储数据,计算完成的数据采用数据仓库进行存储,直接存入hive数据仓库,也即所述第一数据仓库,然后从hive数据仓库进行展现。
S12:当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
本实施例中,在所述节点服务器上部署有第一服务,所述第一服务用于对所述第一数据仓库中的文件进行监测以发现所述第一数据仓库中的所述预设类型的文件。监测操作的触发方式可以为主动监测也可以为被动触发,本实施例对此不进行限定。
本实施例中,所述第一服务还具有转移文件的功能。当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,所述节点服务器则利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储。例如,所述第一服务将所述第一数据仓库中的日志文件转移到所述第二数据仓库中,以将日志文件与其他文件进行权限隔离,使得用户在访问日志文件时,直接访问所述第二数据仓库中的日志文件即可,不会访问到所述第一数据仓库中的其他类型文件,保障了数据安全性。在这个过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限。
本实施例中,所述第一服务还具有查询文件的功能。由于所述预设类型文件已被转移至所述第二数据仓库中,查询所述预设类型文件时,所述第一服务仅具有所述第二数据仓库的访问权限。以日志服务为例,所述第一服务将日志文件转移过后,所有日志文件都被存储在了所述第二数据仓库,客户端获取日志文件时所述第一服务只能从所述第二数据仓库查询,显然,文件查询时的访问权限小于文件转移时的访问权限,这样便无法访问第一数据仓库中的其他文件数据,从而保证数据安全。
可见,本申请实施例中的节点服务器先将计算引擎通过离线计算的方式得到的预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。本申请实施例中,计算引擎对原始数据离线计算得到的预设类型文件的直接存储地址是分布式存储系统的第一数据仓库,为了使得该预设类型文件从第一数据仓库中分离出来,节点服务器上部署第一服务,并对第一数据仓库中的文件进行监测以将监测到的预设类型文件转移到分布式存储系统的第二数据仓库,使得预设类型文件与第一数据仓库中的其他类型文件进行分离存储,从而使得第一服务在转移文件和查询文件时能够具有不同的权限,提高访问安全性。
图2为本申请实施例提供的一种具体的文件处理方法流程图。参见图2所示,该文件处理方法应用于节点服务器,包括:
S21:将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到。
S22:当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,所述第一服务基于第一用户组中的共享用户将所述第一数据仓库中的所述预设类型文件转移至所述第二数据仓库中进行存储;其中,所述第一数据仓库专属于所述第一用户组,所述第二数据仓库专属于第二用户组,所述共享用户同时为所述第二用户组中的用户。
本实施例中,所述计算引擎在进行计算时,主要是通过离线计算,例如由Hive计算引擎去所述分布式存储系统HDFS中拉取原始日志数据,通过离线计算的方式计算出展示给用户的日志文件。所述计算引擎拉取原始数据的过程是由所述计算引擎通过在所述分布式存储系统HDFS中注册的用户来执行。
因此,在进行离线计算之前,所述计算引擎需要预先在所述分布式存储系统中进行注册以创建用户,该用户即为第一用户组的组长。离线计算服务采用该用户在离线计算时的进行数据拉取,第一服务在进行文件转移时也采用该用户。其中,所述第一用户组中的用户在所述第一数据仓库中对应一个文件夹,该用户具有该文件夹下的所有权限。例如,客户每个小时的日志通过hive离线计算生成,离线计算服务采用该用户将最后生成的计算结果存放在hive文件夹,即所述第一数据仓库中。
其中,所述第一数据仓库专属于所述第一用户组,“专属”是指数据仓库是专门属于哪个成员的。其中,所述第一数据仓库可以属于所述第一用户组的组长用户,所述第一数据仓库也可以是所述第一用户组专有的,也即属于所述第一用户组中的全部用户。
本实施例中,当部署在本地的所述第一服务监测到所述第一数据仓库中存在所述预设类型文件,所述节点服务器则利用所述第一服务基于所述第一用户组中的共享用户将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储。之所以说是共享用户是因为进行文件转移的用户既是所述第一用户组中的用户,也是第二用户组中的用户。同样的,所述第二数据仓库专属于所述第二用户组,所述第二用户组中的用户具有所述第二数据仓库的访问权限。只有基于两个用户组中同时存在的用户进行文件转移,所述第一服务才能同时访问所述第一数据仓库和所述第二数据仓库。也即只有所述第一服务所基于的用户既是所述第一用户组的用户也是所述第二用户组的用户时,才能够同时访问所述第一数据仓库和所述第二数据仓库,此时所述第一服务才能够将所述第一数据仓库中的文件转移至所述第二数据仓库。特别的,所述共享用户在所述第一用户组中属于组长用户,在所述第二用户组中属于组员用户。
S23:获取客户端发送的包含目标文件信息的文件请求。
本实施例中,前述步骤为在所述分布式存储系统HDFS进行文件存储的过程,在获取已经存储好的文件时,客户端首先向所述节点服务器发出文件请求,所述节点服务器获取所述客户端发送的所述文件请求,所述文件请求包含目标文件信息,所述目标文件信息即为所述客户端想要获取的目标文件的相关信息。
S24:所述第一服务基于所述第二用户组中除所述第一用户组用户之外的用户对所述第二数据仓库进行查询,得到与所述文件请求对应的所述目标地址。
S25:将所述目标地址返回所述客户端。
本实施例中,在获取到所述文件请求之后,所述第一服务还用于确定及返回地址。首先,所述节点服务器利用所述第一服务确定与所述文件请求对应的目标地址,具体基于所述第二用户组中的用户对所述第二数据仓库进行查询,得到与所述文件请求对应的所述目标地址。需要说明的是,查询时利用的用户是所述第二用户组中除所述第一用户组用户之外的用户。该用户具有所述第二数据仓库的访问权限,但不具有所述第一数据仓库的访问权限,因此,便可使得执行查询动作时的第一服务无法访问所述第一数据仓库中的文件,从而使得用户权限分离,保障数据存储安全。
然后所述第一服务将所述目标地址返回所述客户端。所述目标地址下的文件为由所述第一服务将所述第一数据仓库中存储的所述预设类型文件转移至所述第二数据仓库中进行存储的文件。所述目标地址为所述预设类型文件在所述分布式存储系统HDFS中的存储地址,也即所述第二数据仓库中的文件地址。
S26:所述客户端利用部署在所述节点服务器的第二服务获取挂载在所述节点服务器的所述分布式文件系统的所述目标地址中的所述目标文件。
本实施例中,所述节点服务器通过所述第一服务将所述目标地址返回至所述客户端之后,所述客户端便去所述目标地址获取所述目标文件。所述节点服务器中还部署有所述第二服务,所述客户端借助所述第二服务访问所述分布式存储系统中的存储文件。
图3为本申请实施例提供的一种具体的文件处理方法流程图。参见图3所示,该文件处理方法应用于节点服务器,包括:
S31:从代理服务器获取与文件请求对应的目标文件信息;其中,所述目标文件信息为客户端将所述文件请求发送至解析服务器以便所述解析服务器对所述文件请求进行解析后得到的信息。
本实施例中,所述客户端不直接向所述节点服务器发送文件请求,所述客户端先将所述文件请求发送至解析服务器,所述文件请求中包含所述目标文件信息,所述解析服务器对所述文件请求进行解析后得到的所述目标文件信息。所述解析服务器将解析得到的所述目标文件信息发送至所述代理服务器,所述节点服务器从所述代理服务器获取与所述文件请求对应的所述目标文件信息。上述文件处理过程的架构如图4所示。Node节点部署nginx服务,提供文件的下载服务,Node可以横向无限扩展,保证了整个下载服务的高可用性。
S32:利用部署在本地的第一服务确定与所述目标文件信息对应的目标地址;其中,所述目标地址下的文件为由所述第一服务将第一数据仓库中存储的预设类型文件转移至第二数据仓库中进行存储的文件。
本实施例中,关于上述步骤S32的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。所述第一服务示例性的为Npetune服务,通过restful api提供对日志的插、删、改、查等操作。同时Npetune服务提供对外接收日志下载的请求,根据请求返回日志对应的下载路径。
S33:利用部署在本地的第一服务将所述目标地址返回所述客户端,以便所述客户端通过所述代理服务器将所述目标地址发送至部署有NFS网关的所述节点服务器。
S34:所述NFS网关将分布式文件系统的文件集群挂载至所述节点服务器,以获取所述分布式文件系统的所述目标地址中的所述目标文件。
本实施例中,所述节点服务器中的所述第一服务在确定出所述目标地址后将所述目标地址返回所述客户端。所述客户端进一步通过所述代理服务器将所述目标地址发送至部署有NFS网关的所述节点服务器。所述NFS网关(NFS gateway)也即所述第二服务。可以理解,NFS(Network File System)是UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS允许用户像访问本地文件系统一样访问远程文件系统,而将NFS引入HDFS后,用户可像读写本地文件一样读写HDFS上的文件,大大简化了HDFS使用,这是通过引入一个NFS gateway服务实现的,该服务能将NFS协议转换为HDFS访问协议,具体如图5所示。Node上的客户端可以通过NFSv3协议与本地的NFS gateway通信,NFS gateway通过ClientProtocol协议与HDFS的元信息节点NameNode通信,可以获取HDFS集群文件的元信息,包括文件名称、文件大小、文件格式和文件所在路径。当client需要访问某个文件时,gateway再通过DataTransferProtocol协议与文件具体所在的数据节点DataNode通信,把文件的内容传输回Node节点,从而在node节点上实现像读写本地文件一样读写HDFS上的文件。
对于离线日志下载方案,日志文件在所述分布式存储系统HDFS生成之后,只需要在所述节点服务器上部署NFS gateway服务,该服务允许所述分布式存储系统HDFS作为客户端本地文件系统的一部分挂载在本地文件系统,因此,在所述节点服务器节点上不需要把日志文件拉取到本地,直接通过访问本地磁盘的方式即可远程访问所述分布式存储系统HDFS上的文件。
需要说明的是,此处的所述节点服务器与上述节点服务器可以为相同的服务器,也可以为不同的服务器。所述节点服务器为服务器集群中的服务器之一,每个所述节点服务器可以同时部署所述第一服务和所述第二服务,如图4所示,也可以只部署一种服务,具体部署方式根据业务需求设定,本实施例对此不进行限定。相对于现有日志文件基于本地下载实现方案,日志文件生成存放在HDFS后,需要在node节点上从HDFS下载该文件存放在本地,通过本地的nginx代理提供对外下载。本实施例中的node节点无需大容量的磁盘存放文件,低配置的服务器也可以当作node节点使用。且无需在node和HDFS都存放相同的文件,避免文件冗余存放,减少资源浪费和额外的维护成本。同时,文件只存放在HDFS上,可以充分利用HDFS提供对数据的容错能力和高可用性。另外,node节点提供的下载服务为多点,一旦该机器出现故障则无法向外提供下载服务。流程中不需要多次人工参与处理,自动化效率高。
图6为本申请实施例提供的一种具体的文件处理方法流程图。参见图6所示,该文件处理方法应用于节点服务器,包括:
S41:将计算引擎通过离线计算的方式得到的预设类型文件存储至分布式存储系统中的第一数据仓库;其中,离线计算为计算引擎获取原始数据并对所述原始数据进行计算。
S42:当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务按照预设命名规则对所述预设类型文件进行重命名;其中,所述预设命名规则由用户通过客户端发送至本地。
在前述实施例的基础上,当用户要获取的是某个时间段某个域名下的服务流量对应的日志文件时,所述第一数据仓库中即包含对应的日志文件,此时所述第一数据仓库的目录包含日志数据生成时间和客户端用户域名。
例如,bus业务的a客户的www.a1.com域名在2022年1月1号0点到1点这一个小时之间的日志有两个文件,分别为0000.gz和0001.gz,这两个文件是离线计算后的文件。所述节点服务器在将0000.gz和0001.gz存储至所述分布式存储系统中的所述第一数据仓库hive中时,计算结果存放的路径为:/user/hive/warehouse/bus.db/custom_a_log/ptime=20220101000000/dkey=www.a1.com。如图7所示,hive为所述第一数据仓库,bus.db和custom_a_log为hive下的库名和表名,ptime和dkey则对应这个表的分区名字,由于a客户日志需要按时间和域名进行分类存放,所以这里是两级的分区ptime和dkey,ptime为整型的时间单位,格式是YYYYMMDDHHIISS,dkey为字符串,值对应a客户的域名。
图7中“/user/hive/warehouse”目录下所有的文件权限都继承于hive用户组,即上述第一用户组,只有hive用户组有读写权限。由于hive用户组拥有整个hive数据仓库的权限,权限过大,因此日志服务不适合使用hive用户组或者hive用户作为来访问。为此,本实施例创建一个新的数据仓库xycloud,即所述第二数据仓库,xycloud数据仓库对应的用户组是xycloud_log用户组,即所述第二用户组。日志服务统一用xycloud_log用户组的用户来访问。对于bus业务来说,除了日志服务的数据,还有其他分析任务的结果也是存放在/user/hive/warehouse/bus.db/下,如果把该目录的权限对xycloud_log用户组开放的话,则该用户组下的用户都可以访问该业务其他数据,权限仍然过大。而日志文件如果放在xycloud_log用户的目录下(/user/xycloud),则可以做到对所有日志文件的权限收拢和统一管理。
所述第一服务可以主动检测发现/user/hive/warehouse/bus.db/custom_a_log下的日志文件,并且把该目录下的文件挪到对应日期和客户域名的目录下。所述第一服务使用hive用户,同时赋予hive用户操作xycloud_log文件的权限,该服务具有两个文件夹的权限,可以将生成好的日志文件从hive文件夹挪到xycloud_log文件夹。
S43:利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储;其中,所述预设存储目录为包含日志数据生成时间和客户端用户域名的分级目录。
在转移文件时,如果有用户通过客户端发送有相关的所述预设命名规则,所述预设存储目录为包含日志数据生成时间和客户端用户域名的分级目录。则所述节点服务器可以利用所述第一服务按照预设命名规则对所述预设类型文件进行重命名,也即对于某些客户对日志文件的个性要求(文件名和后缀需要按客户提供的规范来命名)。所述第一服务可以在挪文件的同时对文件进行重命名满足客户要求。例如,上述实施例中,a客户的两个文件在转移时会被分别重命名为www.a1.com_20220101000000_20220101010000.tar.gz.1和www.a1.com_20220101000000_20220101010000.tar.gz.2,具体如图8所示。
S44:利用所述第一服务对客户端用户域名进行加密处理得到加密目录,以使得返回的所述目标地址包含所述加密目录。
本实施例中,所述节点服务器还可以利用所述第一服务对客户端用户域名进行加密处理得到加密目录,以使得返回的所述目标地址包含所述加密目录。加密的目的是为了避免拿到地址的用户进行碰撞,从而拿到其他域名下的文件。例如,对客户端用户域名的值做MD5加密,上述a客户文件最后的存放目录为:/user/xycloud_log/20220101/b54f05eb4b7bab9ca65b790b86c4892e/,其中,b54f05eb4b7bab9ca65b790b86c4892e对应www.a1.com域名的MD5值。
在一种具体的实施例中,对于客户端发送的如下文件请求(时间、域名):www.xycloudlog.com/queryLog?domain=www.a1.com&startTime=20201115000000&endTime=20201115010000&uid=12345,节点服务器返回的所述目标地址为:cd/user/xycloud_log/20220101/b54f05eb4b7bab9ca65b790b86c4892e/。
参见图9所示,本申请实施例还相应公开了一种文件处理装置,包括:
计算存储模块11,用于将计算引擎通过离线计算的方式得到的预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;
转移模块12,用于当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
可见,本申请实施例中的节点服务器先将计算引擎通过离线计算的方式得到的预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。本申请实施例中,计算引擎对原始数据离线计算得到的预设类型文件的直接存储地址是分布式存储系统的第一数据仓库,为了使得该预设类型文件从第一数据仓库中分离出来,节点服务器上部署第一服务,并对第一数据仓库中的文件进行监测以将监测到的预设类型文件转移到分布式存储系统的第二数据仓库,使得预设类型文件与第一数据仓库中的其他类型文件进行分离存储,从而使得第一服务在转移文件和查询文件时能够具有不同的权限,提高访问安全性。
在一些具体实施例中,所述文件处理装置还包括:
请求获取模块,用于获取客户端发送的包含目标文件信息的文件请求;
地址确定模块,用于利用所述第一服务确定与所述文件请求对应的目标地址;其中,所述目标地址下的文件为由所述第一服务将所述第一数据仓库中存储的预设类型文件转移至所述第二数据仓库中进行存储的文件;
地址返回模块,用于将所述目标地址返回所述客户端,以便所述客户端利用部署在所述节点服务器的第二服务获取挂载在本地的所述分布式文件系统的所述目标地址中的所述目标文件;
在一些具体实施例中,所述地址返回模块,还包括:
发送单元,用于所述客户端通过代理服务器将所述目标地址发送至部署有NFS网关的所述节点服务器;
挂载单元,用于所述NFS网关将所述分布式文件系统的文件集群挂载至所述节点服务器,以获取所述分布式文件系统的所述目标地址中的所述目标文件。
在一些具体实施例中,所述转移模块12,具体包括:
重命名单元,用于利用所述第一服务按照预设命名规则对所述预设类型文件进行重命名;其中,所述预设命名规则由用户通过客户端发送至本地;
存储单元,用于利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储;其中,所述预设存储目录为包含日志数据生成时间和客户端用户域名的分级目录;
加密单元,用于利用所述第一服务对客户端用户域名进行加密处理得到加密目录,以使得返回的所述目标地址包含所述加密目录。
进一步的,本申请实施例还提供了一种电子设备。图10是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图10为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的文件处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的文件处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的原始数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的文件处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的文件处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种文件处理方法,其特征在于,应用于节点服务器,包括:
将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;
当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
2.根据权利要求1所述的文件处理方法,其特征在于,还包括:
获取客户端发送的包含目标文件信息的文件请求;
利用所述第一服务确定与所述文件请求对应的目标地址;其中,所述目标地址下的文件为由所述第一服务将所述第一数据仓库中存储的所述预设类型文件转移至所述第二数据仓库中进行存储的文件;
将所述目标地址返回所述客户端,以便所述客户端利用部署在所述节点服务器的第二服务获取挂载在所述节点服务器的所述分布式文件系统的所述目标地址中的所述目标文件。
3.根据权利要求2所述的文件处理方法,其特征在于,所述文件转移过程中的所述第一服务是基于第一用户组中的共享用户将所述第一数据仓库中的所述预设类型文件转移至所述第二数据仓库中进行存储;其中,所述第一数据仓库专属于所述第一用户组,所述第二数据仓库专属于第二用户组,所述共享用户同时为所述第二用户组中的用户。
4.根据权利要求3所述的文件处理方法,其特征在于,所述文件查询过程中的所述第一服务是基于所述第二用户组中除所述第一用户组用户之外的用户对所述第二数据仓库进行查询,得到与所述文件请求对应的所述目标地址。
5.根据权利要求2所述的文件处理方法,其特征在于,所述客户端利用部署在所述节点服务器的第二服务获取挂载在所述节点服务器上的分布式文件系统的所述目标地址中的所述目标文件,包括:
所述客户端通过代理服务器将所述目标地址发送至部署有NFS网关的所述节点服务器;
所述NFS网关将所述分布式文件系统的文件集群挂载至所述节点服务器,以获取所述分布式文件系统的所述目标地址中的所述目标文件。
6.根据权利要求1至5任一项所述的文件处理方法,其特征在于,所述利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,包括:
利用所述第一服务按照预设命名规则对所述预设类型文件进行重命名;其中,所述预设命名规则由用户通过客户端发送至本地;
利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储;其中,所述预设存储目录为包含日志数据生成时间和客户端用户域名的分级目录。
7.根据权利要求6所述的文件处理方法,其特征在于,所述利用所述第一服务按照预设存储目录将重命名后的所述预设类型文件在所述第二数据仓库对应的目录下进行存储之前,还包括:
利用所述第一服务对客户端用户域名进行加密处理得到加密目录,以使得返回的所述目标地址包含所述加密目录。
8.一种文件处理装置,其特征在于,应用于节点服务器,包括:
计算存储模块,用于将预设类型文件存储至分布式存储系统中的第一数据仓库;其中,所述预设类型文件由计算引擎获取原始数据并对所述原始数据进行计算得到;
转移模块,用于当部署在本地的第一服务监测到所述第一数据仓库中存在所述预设类型文件,利用所述第一服务将所述预设类型文件转移至所述分布式存储系统中的第二数据仓库中进行存储,以使所述第一服务从所述第二数据仓库中查询所述预设类型文件;其中,文件转移过程中所述第一服务同时具有所述第一数据仓库和所述第二数据仓库的访问权限,文件查询过程中所述第一服务仅具有所述第二数据仓库的访问权限。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的文件处理方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的文件处理方法。
CN202210945942.1A 2022-08-08 2022-08-08 一种文件处理方法、装置、设备及存储介质 Pending CN115269538A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210945942.1A CN115269538A (zh) 2022-08-08 2022-08-08 一种文件处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210945942.1A CN115269538A (zh) 2022-08-08 2022-08-08 一种文件处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115269538A true CN115269538A (zh) 2022-11-01

Family

ID=83748936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210945942.1A Pending CN115269538A (zh) 2022-08-08 2022-08-08 一种文件处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115269538A (zh)

Similar Documents

Publication Publication Date Title
US7035931B1 (en) Volume location service for a distributed file system
CN106537881B (zh) 基于存根追踪允许同步访问云存储系统的方法及计算设备
US9479567B1 (en) Synchronization protocol for multi-premises hosting of digital content items
JP2019517043A (ja) ハイブリッドアプリケーションの自動更新
CA2723809C (en) Deletion in data file forwarding framework
US20170124170A1 (en) Synchronization protocol for multi-premises hosting of digital content items
US20130311520A1 (en) Storage-service-provision apparatus,system, service-provision method, and service-provision program
US20150324381A1 (en) Multi-level namespace management system and method thereof for hybrid cloud storage systems
WO2002075539A2 (en) Client-server model for synchronization of files
CN104601724A (zh) 上传和下载文件的方法及系统
AU2015370268A1 (en) System and method for discovering a lan synchronization candidate for a synchronized content management system
Abe et al. pWalrus: Towards better integration of parallel file systems into cloud storage
KR20110070697A (ko) 비대칭 분산 파일 시스템에서의 메타데이터 관리 장치 및 방법
KR20120013475A (ko) 분산 파일 시스템에서 url정보를 이용한 데이터 관리 장치 및 그 방법
CN110457307B (zh) 元数据管理系统、用户集群创建方法、装置、设备和介质
Swagatika et al. Cloud-based backup and data recovery
CN114363358B (zh) 文档分发方法、装置、电子设备及存储介质
CN115269538A (zh) 一种文件处理方法、装置、设备及存储介质
CN115495432A (zh) 支持多实例的方法、装置及设备
CN116233115B (zh) 一种海量数据文件高效持续受控共享分发方法及系统
JP4492569B2 (ja) ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム
Voinov et al. Implementation of remote file systems cross-platform mounting
Chen Scenic spot evaluation based on network data
Fagg et al. 1. The Challenge
CN116886758A (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