CN104182418A - 节点元数据获取方法与装置 - Google Patents

节点元数据获取方法与装置 Download PDF

Info

Publication number
CN104182418A
CN104182418A CN201310201397.6A CN201310201397A CN104182418A CN 104182418 A CN104182418 A CN 104182418A CN 201310201397 A CN201310201397 A CN 201310201397A CN 104182418 A CN104182418 A CN 104182418A
Authority
CN
China
Prior art keywords
file
metadata
pathname
secret value
obtaining
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
CN201310201397.6A
Other languages
English (en)
Other versions
CN104182418B (zh
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.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201310201397.6A priority Critical patent/CN104182418B/zh
Publication of CN104182418A publication Critical patent/CN104182418A/zh
Application granted granted Critical
Publication of CN104182418B publication Critical patent/CN104182418B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • 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/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/18File system types
    • G06F16/188Virtual 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/188Virtual file systems
    • G06F16/196Specific adaptations of the file system to access devices and non-file objects via standard file system access operations, e.g. pseudo 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/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24524Access plan code generation and invalidation; Reuse of access plans
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种节点元数据获取方法与装置,其中,节点元数据获取方法包括:接收访问网络文件系统中的文件访问请求,从文件访问请求中获取待访问的文件的路径名;其中,网络文件系统使用VFS;使用加密算法对获取的文件的路径名进行加密,获得唯一的加密值;将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器,其中,数据库服务器中存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系;根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据,并根据获取的元数据访问文件。通过本申请,提高了系统的负载能力。

Description

节点元数据获取方法与装置
技术领域
本申请涉及网络技术领域,特别是涉及一种跨单机的分布式系统的节点元数据获取方法与装置。
背景技术
网络文件系统是文件系统之上的一个网络抽象,允许远程客户端以与本地文件系统类似的方式,通过网络进行访问。在网络文件系统中,用户看到的文件和真实存放到网络文件系统中的物理文件存在一定映射关系,而联系两者的桥梁则是文件的元数据。当用户需要访问文件(例如/root_dir/sub_dir1/file)时,必须首先找到该文件对应的元数据,也即用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者、文件数据块的分布信息等,其中,在网络文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在网络中的位置;在找到元数据后,通过记录在元数据内数据的物理位置,从而能够真正定位该物理文件。而如何快速找到节点的元数据,一直是网络文件系统重要的设计之一。
目前,网络文件系统的设计思想通常来自于常用的本地文件系统,如ext2,ext3,minx,reiserfs文件系统等。而在此设计思想上构建的网络文件系统,如PVFS、luster、GoogleFS、Hadoop,在元数据管理上,均采用中央元数据管理器设计。当中央元数据管理接受到一个请求获取/a/b/c/d元数据的请求后,首先,获取根节点“/”的元数据,而根节点通常可以通过一个固化的方式(写入配置文件或代码写死)获取到,获取根节点后的元数据后,就可以找到子节点“a/”的元数据的索引(类似本地文件系统中的inode),通常目录的元数据中会包含所有子目录或子文件的元数据的索引,有了“a/”的索引,就可以找到“a/”的元数据,依次类推,可以找到子目录“/a/b/”和“/a/b/c/”的元数据,最终“/a/b/c/d”元数据的索引就存储在节点“/a/b/c/”的元数据中,再根据“/a/b/c/d”的索引可以找到“/a/b/c/d”的元数据。
而现代采用linux操作系统的所有的宿主文件系统或网络文件系统,都必须实现VFS(虚拟文件系统)指定的接口。VFS规定,当访问文件/a/b/c/d时,需要先获取“/”的元数据,然后检查客户端是否拥有权限访问a/子目录,然后再获取“/a/”的元数据,再确认客户端是否拥有“/a/b/”的权限,依次类推,访问“/a/b/c”元数据,确保客户端可以访问“/a/b/c/d”。因此,在客户端使用VFS这种接口模拟本地访问文件时,这种一级一级查找文件,存在着如下方面的问题。
问题1:
在现代网络文件系统中,尤其一些类似网盘系统,常常需要提供webservice访问,如,用户想要访问www.alipay.com/dfs/a/b/c/d时,此时,就期望不要经过VFS这种一级一级的审查,期望服务器端能够迅速定位到数据“/a/b/c/d”,而现有的这种一级一级的获取元数据方式,极大地增加了服务器的负荷,降低了服务器的吞吐率,服务器端无法迅速定位到数据。
问题2:
常用的网络文件系统中,元数据服务器采用中央元数据服务器,并且采用的一主一备方式或单主机方式,例如Hadoop、luster、PVFS,注定了整个系统的tps(每秒事务处理量)无法超越一台元数据服务器的处理能力。
问题3:
在网络文件系统不够稳定时或在开发过程中,如果中间节点“/a/b/c”元数据丢失,则无法追踪到节点“/a/b/c/d”的元数据,或者,当log中反馈无法获取“/a/b/c/d”的元数据时,无法通过某种方式直接获取“/a/b/c/d”的元数据。
发明内容
本申请提供了一种节点元数据获取方法与装置,以解决上述问题至少之一。
为了解决上述问题,本申请公开了一种节点元数据获取方法,包括:接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS;使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。
优选地,所述使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
优选地,所述使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:使用MD5算法或者SHA1算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
优选地,所述数据库服务器使用KV数据库存储所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系。
优选地,所述节点元数据获取方法还包括:当所述网络文件系统中发生文件更新时,向所述数据库服务器发送文件更新请求,所述文件更新请求中携带有更新的所述文件的元数据;接收所述数据库服务器返回的确认所述文件更新的响应消息,其中,所述响应消息为所述数据库服务器根据所述更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的所述加密值和所述更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。
为了解决上述问题,本申请还公开了一种节点元数据获取装置,包括:第一获取模块,用于接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS;第二获取模块,用于使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;发送模块,将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;第三获取模块,用于根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。
优选地,所述第二获取模块,用于使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
优选地,所述第二获取模块,用于使用MD5算法或者SHA1算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
优选地,所述数据库服务器使用KV数据库存储所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系。
优选地,所述节点元数据获取装置还包括:更新模块,用于当所述网络文件系统中发生文件更新时,向所述数据库服务器发送文件更新请求,所述文件更新请求中携带有更新的所述文件的元数据;以及,接收所述数据库服务器返回的确认所述文件更新的响应消息,其中,所述响应消息为所述数据库服务器根据所述更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的所述加密值和所述更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。
与现有技术相比,本申请具有以下优点:
本申请提供了一种快速获取命名空间节点元数据的方案,通过对待访问的文件的路径名进行加密,生成不重复的唯一加密值;进而使用该唯一加密值,向存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系的数据库服务器进行查询,从而快速获取相应的该文件的元数据,即节点元数据,进而极大地提高了系统的负载能力,并且,整个访问的流程简单高效,比现有方式更快速更直接。例如,当需要进行web service(web业务)访问时,可以由web server(web服务器)获取相应的web service的路径名,进而进行加密,再根据加密后的加密值从数据库服务器中获得webservice访问的元数据,即可根据获得的该元数据进行相应的web service访问,无须逐级审查,能够快速定位,减轻了服务器负荷,提高了服务器的吞吐率。再例如,因为是对待访问文件的路径名直接加密,则每个节点都有相对应的加密值,如“/a/b/c/d”中,既有“/a”的加密值,也有“/a/b”、“/a/b/c”、和“/a/b/c/d”分别对应的加密值,则即使数据库服务器中某个中间节点的元数据丢失,也不会影响其下级节点的元数据,并且,可以直接获取待访问的文件的元数据,而不受其上级节点元数据的影响,简单高效、快速直接。
附图说明
图1是根据本申请实施例一的一种节点元数据获取方法的步骤流程图;
图2是根据本申请实施例二的一种节点元数据获取方法的步骤流程图;
图3是根据本申请实施例三的一种节点元数据获取方法的步骤流程图;
图4是根据本申请实施例四的一种节点元数据获取装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
实施例一
参照图1,示出了根据本申请实施例一的一种节点元数据获取方法的步骤流程图。
本实施例的节点元数据获取方法包括以下步骤:
步骤S102:接收访问网络文件系统中的文件访问请求,从文件访问请求中获取待访问的文件的路径名。
其中,网络文件系统通过实现POSIX(Portable Operating SystemInterface,可移植操作系统接口)标准接口,使用VFS(虚拟文件系统)。目前采用linux操作系统的所有的网络文件系统,都要求必须实现VFS指定的接口。VFS的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。
从文件访问请求中获取的待访问的文件的路径名,也即待访问的节点,此时仅是一个字符串,需要进行后续的节点元数据获取操作,以获得相对应的实际的物理地址和其它元数据信息。
对于跨单机的分布式系统,即本申请中的网络文件系统,当一个客户端向服务器或另外的客户端请求普通的文件访问服务时,可以由该客户端接收文件访问请求,并从文件访问请求中获取待访问的文件的路径名,此时,该待访问的文件的路径名仅是一个字符串,需要进行后续步骤S104至步骤S108的节点元数据获取操作获得文件实际的物理地址和相关信息;而当一个客户端向web服务器或经由web服务器向另外的客户端请求web服务时,则可以由web服务器接收文件访问请求,并从文件访问请求中获取待访问的文件的路径名,同样,此时该待访问的文件的路径名仅是一个字符串,需要进行后续步骤S104至步骤S108的节点元数据获取操作获得web服务节点实际的物理地址和相关信息。
步骤S104:使用加密算法对获取的文件的路径名进行加密,获得唯一的加密值。
其中,加密算法可以由本领域技术人员根据实际情况适当设置,以不同节点的加密值唯一,即不相同为原则。如,可以采用MD5算法、SHA1算法、DES算法、CRC128算法,或者任意适当的自定义散列算法等等。
本步骤中,由客户端或web服务器使用加密算法对获取的文件的路径名进行加密,获得对应于该路径名的唯一的加密值。
步骤S106:将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器。
其中,数据库服务器中存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系,其中,所有文件的路径名的加密值通过使用与步骤S104中相同的加密算法对所有文件的元数据中的文件路径名进行加密后生成。数据库服务器可以以任意适当形式存储上述对应关系,如数据库形式、文件形式等等。
网络文件系统中的数据库服务器保存有所有客户端和服务器(包括web服务器和其它服务器)中的所有文件(包括web服务和其它文件)的元数据、所有客户端和服务器的所有文件的路径名加密值、以及二者之间的对应关系。也即,数据库服务器中,以文件路径名的加密值为关键值,保存文件元数据与文件路径名加密值的对应关系。
其中,任何文件系统中的数据均分为数据和元数据,数据是指普通文件中的实际数据,而元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等等。在网络文件系统中,分布信息包括文件在磁盘上的位置以及磁盘在网络文件系统中的位置,文件在磁盘上的位置以及磁盘在网络文件系统中的位置。用户要访问一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。
步骤S108:根据文件的路径名的加密值,从数据库服务器中获取对应的待访问的文件的元数据,并根据获取的元数据访问文件。
从数据库服务器获取的元数据中包括了待访问的文件或web服务的实际物理位置和实际物理路径,以及相关的其它元数据信息。在获取到数据库服务器返回的元数据后,可以从元数据中获取待访问的文件或web服务的实际物理位置和实际物理路径,进而根据实际物理位置和实际物理路径进行访问。访问包括但不限于:查看、增加、修改和删除等操作。当然,在实际操作时,还需要根据元数据中的访问权限等其它信息,对文件或web服务进行相应的访问。
本步骤中,当由客户端根据文件的路径名的加密值,从数据库服务器中获取对应的待访问的文件的元数据时,由客户端根据获取的该元数据,对相应的服务器或其它客户端中的文件进行访问;当由web服务器根据文件的路径名的加密值,从数据库服务器中获取对应的待访问的文件的元数据时,由web服务器对相应的其它服务器或其它客户端中的文件进行访问,并向发送文件访问请求的客户端返回访问结果。
本实施例通过对待访问的文件的路径名进行加密,生成不重复的唯一加密值;进而使用该唯一加密值,向存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系的数据库服务器进行查询,从而快速获取相应的该文件的元数据,即节点元数据,进而极大地提高了系统的负载能力,并且,整个访问的流程简单高效,比现有方式更快速更直接。
实施例二
参照图2,示出了根据本申请实施例二的一种节点元数据获取方法的步骤流程图。
本实施例的节点元数据获取方法包括以下步骤:
步骤S202:客户端或web服务器接收访问网络文件系统中的文件访问请求,从文件访问请求中获取待访问的文件的路径名。
其中,网络文件系统中的所有客户端和服务器均实现POSIX标准接口,均使用VFS。
步骤S204:客户端或web服务器使用散列加密算法对获取的文件的路径名进行加密,获得唯一的加密值。
本实施例中,使用散列加密算法对文件路径名进行加密,但本领域技术人员应当明了,其它能获得唯一加密值的非散列算法也同样适用。优选地,本实施例使用MD5算法或者SHA1算法对获取的文件的路径名进行加密,获得唯一的加密值。
MD5(Message Digest Algorithm MD5,消息摘要算法第五版)算法为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,该算法的文件号为RFC1321(R.Rivest,MIT Laboratory for Computer Science andRSA Data Security Inc.April1992)。使用MD5算法,可以保证文件路径名几乎不可能生成相同的MD5值(相同的概率为2的128次方之一,几乎为0)。
SHA1(Secure Hash Algorithm,安全哈希算法)算法主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(DigitalSignature Algorithm DSA)。对于长度小于264位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。SHA1有如下特性:不可以从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。由此可见,SHA1算法也可以保证文件路径名不可能生成相同的消息摘要,即,不可能生成相同的SHA1值。
MD5算法和SHA1算法均为成熟稳定的散列加密算法,实现成本低,简单高效。当然,其他散列算法,比如自定义的某种散列算法也同样适用。
步骤S206:客户端或web服务器将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器上的KV数据库。
本实施例中,数据库服务器使用KV数据库存储网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系。其中,所有文件的路径名的加密值通过使用与步骤S204中相同的加密算法,也即,使用对从文件访问请求中获取的待访问的文件的路径名进行加密的加密算法相同的算法,对所有文件的元数据中的文件路径名进行加密后生成。
KV数据库即Key-Value数据库,如Hbase数据库、MongoDB数据库、BDB数据库、cassandra数据库等等,KV数据库具有极好的扩展性和性能,能够有效满足网络文件系统中上述对应关系的存储和访问。KV数据库可以采用KV数据库集群的形式,此时,可以将所有元数据放到一个KV数据库集群中,以解决常见分布式文件系统元数据服务器处理能力不够的问题。
此外,需要说明的是,数据库服务器中存储的上述对应关系根据网络文件系统中文件的更新(包括增加、修改、删除等)而更新。也即,当网络文件系统中任何客户端或服务器(包括网络文件系统中的web服务器和其它服务器)中发生文件更新时,客户端或服务器会向数据库服务器发送文件更新请求,该文件更新请求中携带有更新的文件的元数据;数据库服务器接收到文件更新请求,根据其中携带的更新的文件的元数据中的路径名,使用加密算法对更新的文件的元数据中的路径名进行加密,获得唯一加密值;再根据获得的加密值和更新的文件的元数据,对存储的对应关系进行更新后,向相应的客户端或服务器返回响应消息;客户端或服务器接收数据库服务器返回的确认文件更新的响应消息,确认文件更新成功。若数据库服务器不返回响应消息,则本地客户端或服务器文件更新失败,返回本次文件更新前的状态。
数据库服务器中存储的对应关系也可以采用其它形式的文件,或其它形式的数据库存储,如,使用关系数据库来替代KV数据库,此时,其中的文件路径名的加密值可以为关系数据库中的某个列。
步骤S208:客户端或web服务器根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据,并根据获取的元数据访问文件。
通过本实施例,直接对待访问的文件的路径名进行散列算法,得到一个独一无二的加密值,使用该加密值直接查询KV数据库从而获得对应的元数据,进而根据元数据进行访问,整个访问的流程简单高效,比现有方式更快速更直接。
实施例三
参照图3,示出了根据本申请实施例三的一种节点元数据获取方法的步骤流程图。
本实施例中,以网络文件系统中的第一客户端访问第二客户端中的文件为例,对本申请的节点元数据获取进行说明。
本实施例的节点元数据获取方法包括以下步骤:
步骤S302:第一客户端接收根据用户的输入生成的文件访问请求,从文件访问请求中获取待访问的第二客户端中的文件的路径名。
如,使用VFS模拟本地文件系统访问,第一客户端接收文件访问请求,从中获取待访问的文件的路径名“/a/b/c/d”。
对于客户端通过web服务器进行相应的web服务的访问的情形,则本步骤中,由web服务器接收客户端发送来的文件访问请求,从中获取待访问的web服务的路径名。
步骤S304:第一客户端对待访问的第二客户端中的文件的路径名进行MD5或SHA1散列算法,将该路径名转换生成唯一的MD5值或SHA1值。
对于客户端通过web服务器进行相应的web服务的访问的情形,则本步骤中,由web服务器对待访问的web服务的路径名进行MD5或SHA1散列算法,将该路径名转换生成唯一的MD5值或SHA1值。
步骤S306:第一客户端将转换成的MD5值或SHA1值发送给数据库服务器,用MD5值或SHA1值作为key,查询数据库服务器中的KV数据库。
该KV数据库中保存有网络文件系统中的所有客户端和服务器中的文件的元数据、对所有客户端和服务器中的文件的元数据中的路径名进行MD5或SHA1散列算法生成的MD5值或SHA1值,以及二者之间的对应关系。
对于客户端通过web服务器进行相应的web服务的访问的情形,则本步骤中,由web服务器将转换成的MD5值或SHA1值发送给数据库服务器,用MD5值或SHA1值作为key,查询数据库服务器中的KV数据库。
步骤S308:数据库服务器查询KV数据库,根据第一客户端发送来的MD5值或SHA1值,确定相对应的文件的元数据。
步骤S310:数据库服务器将确定的文件的元数据返回给第一客户端。
对于客户端通过web服务器进行相应的web服务的访问的情形,则由数据库服务器查询KV数据库,根据web服务器发送来的MD5值或SHA1值,确定相对应的文件的元数据并将该元数据返回给web服务器。
步骤S312:第一客户端对数据库服务器返回的文件的元数据进行处理,从中获取待访问的第二客户端中的文件的物理位置和物理路径。
对于客户端通过web服务器进行相应的web服务的访问的情形,则本步骤中,由web服务器对数据库服务器返回的文件的元数据进行处理,从中获取待访问的web服务的物理位置和物理路径。
步骤S314:第一客户端根据获取的物理位置和物理路径,访问第二客户端中相应的文件。
对于客户端通过web服务器进行相应的web服务的访问的情形,则本步骤中,由web服务器根据获取的web服务的物理位置和物理路径,进行相应的web服务的访问,并将访问的结果返回给客户端。
本实施例中,使用VFS模拟本地文件系统访问,在第一客户端接受到请求“/a/b/c/d”时,则直接将将命名空间路径名“/a/b/c/d”进行散列算法MD5或SHA1转换生成一MD5值或SHA1值,再使用生成后的MD5值或SHA1值作为key,快速查询KV数据库,从而快速获取该节点的元数据。当使用MD5算法时,可以保证命名空间路径名几乎不可能生成相同的MD5值(相同的概率为2的128次方之一,几乎为0)。如果是提供web service(web服务),则web server(web服务器)执行MD5算法生成MD5值,再根据MD5值查询KV数据库直接获取元数据的操作。
通过本实施例,通过命名空间路径名“/a/b/c/d”进行散列算法MD5或SHA1转换生成一MD5值或SHA1值,再使用生成后的MD5值或SHA1值作为key,快速查询KV数据库,从而快速获取该节点的元数据,极大地提高了系统的负载能力。其中,直接对命名空间路径名进行散列算法得到一个独一无二的值,使用该值直接查询KV数据库从而获得对应的元数据,整个访问的流程简单高效,比普通方式更快速更直接;元数据存储于普通KV数据库,利用KV数据库极好的扩展性和性能。
实施例四
参照图4,示出了根据本申请实施例四的一种节点元数据获取装置的结构框图。
本实施例的节点元数据获取装置包括:第一获取模块402,用于接收访问网络文件系统中的文件的文件访问请求,从文件访问请求中获取待访问的文件的路径名;其中,网络文件系统使用VFS;第二获取模块404,用于使用加密算法对获取的文件的路径名进行加密,获得唯一的加密值;发送模块406,将获得的文件的路径名的加密值发送给网络文件系统中的数据库服务器,其中,数据库服务器中存储有网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系,其中,所有文件的路径名的加密值通过使用加密算法对所有文件的元数据中的文件路径名进行加密后生成;第三获取模块408,用于根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据,并根据获取的元数据访问文件。
优选地,第二获取模块404,用于使用散列加密算法对获取的文件的路径名进行加密,获得唯一的加密值。
优选地,第二获取模块404,用于使用MD5算法或者SHA1算法对获取的文件的路径名进行加密,获得唯一的加密值。
优选地,数据库服务器使用KV数据库存储网络文件系统中所有文件的元数据与所有文件的路径名的加密值的对应关系。
优选地,第三获取模块408,用于根据文件的路径名的加密值,从数据库服务器中获取对应的文件的元数据;从该元数据中获取待访问的文件的物理位置和物理地址,并根据获取的物理位置和物理地址访问文件。
优选地,本实施例的节点元数据获取装置还包括:更新模块410,用于当网络文件系统中发生文件更新时,向数据库服务器发送文件更新请求,文件更新请求中携带有更新的文件的元数据;以及,接收数据库服务器返回的确认文件更新的响应消息,其中,响应消息为数据库服务器根据更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的加密值和更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。
本实施例的节点元数据获取装置用于实现前述多个方法实施例中相应的节点元数据获取方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性地电脑可读媒体(transitorymedia),如调制的数据信号和载波。
以上对本申请所提供的一种节点元数据获取方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种节点元数据获取方法,其特征在于,包括:
接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS;
使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;
将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;
根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。
2.根据权利要求1所述的方法,其特征在于,所述使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:
使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
3.根据权利要求2所述的方法,其特征在于,所述使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值的步骤包括:
使用MD5算法或者SHA1算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
4.根据权利要求1所述的方法,其特征在于,所述数据库服务器使用KV数据库存储所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系。
5.根据权利要求1所述的方法,其特征在于,还包括:
当所述网络文件系统中发生文件更新时,向所述数据库服务器发送文件更新请求,所述文件更新请求中携带有更新的所述文件的元数据;
接收所述数据库服务器返回的确认所述文件更新的响应消息,其中,所述响应消息为所述数据库服务器根据所述更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的所述加密值和所述更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。
6.一种节点元数据获取装置,其特征在于,包括:
第一获取模块,用于接收访问网络文件系统中的文件访问请求,从所述文件访问请求中获取待访问的所述文件的路径名;其中,所述网络文件系统使用虚拟文件系统VFS;
第二获取模块,用于使用加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值;
发送模块,将获得的所述文件的路径名的加密值发送给所述网络文件系统中的数据库服务器,其中,所述数据库服务器中存储有所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系,其中,所述所有文件的路径名的加密值通过使用所述加密算法对所述所有文件的元数据中的文件路径名进行加密后生成;
第三获取模块,用于根据所述文件的路径名的加密值,从所述数据库服务器中获取对应的所述文件的元数据,并根据获取的所述元数据访问所述文件。
7.根据权利要求6所述的装置,其特征在于,所述第二获取模块,用于使用散列加密算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
8.根据权利要求7所述的装置,其特征在于,所述第二获取模块,用于使用MD5算法或者SHA1算法对获取的所述文件的路径名进行加密,获得唯一的加密值。
9.根据权利要求6所述的装置,其特征在于,所述数据库服务器使用KV数据库存储所述网络文件系统中所有文件的元数据与所述所有文件的路径名的加密值的对应关系。
10.根据权利要求6所述的装置,其特征在于,还包括:
更新模块,用于当所述网络文件系统中发生文件更新时,向所述数据库服务器发送文件更新请求,所述文件更新请求中携带有更新的所述文件的元数据;以及,接收所述数据库服务器返回的确认所述文件更新的响应消息,其中,所述响应消息为所述数据库服务器根据所述更新的文件的元数据中的路径名,使用所述加密算法对所述路径名进行加密获得加密值;根据获得的所述加密值和所述更新的文件的元数据,对存储的所述对应关系进行更新后,返回的响应消息。
CN201310201397.6A 2013-05-27 2013-05-27 节点元数据获取方法与装置 Active CN104182418B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310201397.6A CN104182418B (zh) 2013-05-27 2013-05-27 节点元数据获取方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310201397.6A CN104182418B (zh) 2013-05-27 2013-05-27 节点元数据获取方法与装置

Publications (2)

Publication Number Publication Date
CN104182418A true CN104182418A (zh) 2014-12-03
CN104182418B CN104182418B (zh) 2018-11-16

Family

ID=51963469

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310201397.6A Active CN104182418B (zh) 2013-05-27 2013-05-27 节点元数据获取方法与装置

Country Status (1)

Country Link
CN (1) CN104182418B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241299A (zh) * 2016-03-29 2017-10-10 百度在线网络技术(北京)有限公司 网盘的权限控制管理方法和装置
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
CN108459925A (zh) * 2018-02-10 2018-08-28 深圳市先河系统技术有限公司 私有云设备及其数据库的修复方法、具有存储功能的装置
CN110213310A (zh) * 2018-03-14 2019-09-06 腾讯科技(深圳)有限公司 一种网络服务的路径获取方法、装置和存储介质
CN110324380A (zh) * 2018-03-30 2019-10-11 北京忆芯科技有限公司 利用kv存储设备的云计算与雾计算系统
CN114900324A (zh) * 2022-02-11 2022-08-12 北京中电飞华通信有限公司 基于odin的数据交互方法及相关设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547137A (zh) * 2003-12-02 2004-11-17 中国科学院计算技术研究所 基于数据库的海量文件管理系统与方法
CN102708165A (zh) * 2012-04-26 2012-10-03 华为软件技术有限公司 分布式文件系统中的文件处理方法及装置
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储系统的数据管理方法及系统
CN103067461A (zh) * 2012-12-18 2013-04-24 曙光信息产业(北京)有限公司 一种文件的元数据管理系统以及元数据管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1547137A (zh) * 2003-12-02 2004-11-17 中国科学院计算技术研究所 基于数据库的海量文件管理系统与方法
CN102708165A (zh) * 2012-04-26 2012-10-03 华为软件技术有限公司 分布式文件系统中的文件处理方法及装置
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储系统的数据管理方法及系统
CN103067461A (zh) * 2012-12-18 2013-04-24 曙光信息产业(北京)有限公司 一种文件的元数据管理系统以及元数据管理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107241299A (zh) * 2016-03-29 2017-10-10 百度在线网络技术(北京)有限公司 网盘的权限控制管理方法和装置
CN107241299B (zh) * 2016-03-29 2021-03-02 百度在线网络技术(北京)有限公司 网盘的权限控制管理方法和装置
CN107256360A (zh) * 2017-06-07 2017-10-17 努比亚技术有限公司 文件加密方法、移动终端及计算机可读存储介质
CN108459925A (zh) * 2018-02-10 2018-08-28 深圳市先河系统技术有限公司 私有云设备及其数据库的修复方法、具有存储功能的装置
CN110213310A (zh) * 2018-03-14 2019-09-06 腾讯科技(深圳)有限公司 一种网络服务的路径获取方法、装置和存储介质
CN110213310B (zh) * 2018-03-14 2021-11-30 腾讯科技(深圳)有限公司 一种网络服务的路径获取方法、装置和存储介质
CN110324380A (zh) * 2018-03-30 2019-10-11 北京忆芯科技有限公司 利用kv存储设备的云计算与雾计算系统
CN114900324A (zh) * 2022-02-11 2022-08-12 北京中电飞华通信有限公司 基于odin的数据交互方法及相关设备

Also Published As

Publication number Publication date
CN104182418B (zh) 2018-11-16

Similar Documents

Publication Publication Date Title
Lee et al. Blockchain based privacy preserving multimedia intelligent video surveillance using secure Merkle tree
Li et al. A hybrid cloud approach for secure authorized deduplication
US10372918B2 (en) Method for storing a data file of a client on a storage entity
US10785033B2 (en) Method for storing an object on a plurality of storage nodes
US8762743B2 (en) Encrypting data objects to back-up
US8788831B2 (en) More elegant exastore apparatus and method of operation
US9396341B1 (en) Data encryption in a de-duplicating storage in a multi-tenant environment
CN114726643A (zh) 云平台上的数据存储、访问方法及装置
CN104182418A (zh) 节点元数据获取方法与装置
CN102685148A (zh) 一种云存储环境下的安全网盘系统的实现方法
CN109995505A (zh) 一种雾计算环境下数据安全去重系统及方法、云存储平台
KR101285281B1 (ko) 자가조직 저장매체의 보안 시스템 및 그 방법
Giri et al. A survey on data integrity techniques in cloud computing
CN108881261B (zh) 一种容器环境下基于区块链技术的服务认证方法及系统
CN112532650A (zh) 一种基于区块链的多备份安全删除方法、系统
KR20220092811A (ko) 암호화 데이터를 저장하는 방법 및 장치
Gudeme et al. Review of remote data integrity auditing schemes in cloud computing: taxonomy, analysis, and open issues
Wang et al. Data Security Storage Model of the Internet of Things Based on Blockchain.
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重系统
Mar Secured virtual diffused file system for the cloud
Wei et al. iBigTable: practical data integrity for bigtable in public cloud
Thakur et al. Data integrity techniques in cloud computing: an analysis
US20220179974A1 (en) Key in lockbox encrypted data deduplication
CN114995949A (zh) 容器镜像构建方法及装置
Chen et al. Adjacency‐Hash‐Table Based Public Auditing for Data Integrity in Mobile Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191209

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.