WO2008049353A1 - Système de mise en mémoire de données de réseau et procédé pour y accéder - Google Patents

Système de mise en mémoire de données de réseau et procédé pour y accéder Download PDF

Info

Publication number
WO2008049353A1
WO2008049353A1 PCT/CN2007/070564 CN2007070564W WO2008049353A1 WO 2008049353 A1 WO2008049353 A1 WO 2008049353A1 CN 2007070564 W CN2007070564 W CN 2007070564W WO 2008049353 A1 WO2008049353 A1 WO 2008049353A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
node
data unit
identifier
management node
Prior art date
Application number
PCT/CN2007/070564
Other languages
English (en)
French (fr)
Inventor
Jinsheng Yang
Zhengrong Tang
Lei Pan
Original Assignee
Alibaba Group Holding Limited
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 Limited filed Critical Alibaba Group Holding Limited
Priority to US12/447,036 priority Critical patent/US8953602B2/en
Priority to EP07785461.0A priority patent/EP2081329B1/en
Priority to JP2009534958A priority patent/JP5567342B2/ja
Publication of WO2008049353A1 publication Critical patent/WO2008049353A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • 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
    • 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
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Definitions

  • the present invention relates to the field of data storage and management, and in particular, to a network data storage system, and a network data access method based on the system.
  • the traditional storage system uses DAS (Direct Attached Storage), which is directly connected storage. It can also be called S AS (Server- Attached Storage).
  • DAS Direct Attached Storage
  • S AS Server- Attached Storage
  • I/O input/output
  • This storage method relies on the server, which itself is just a stack of hardware, without any storage operating system. Due to the limitations of the server bus technology, the scalability of the DAS mode system is poor. When the number of client connections increases, the server will become the performance bottleneck of the entire system because:
  • Memory capacity limit of the host Due to the limited memory capacity of the host, when there are a large number of consecutive data access requests, the memory capacity of the host will soon reach saturation, and the remaining data transfer requests cannot be processed.
  • the present invention provides a network data storage system for solving the problems of poor scalability, high expansion cost, and poor network data access performance of the network data storage system existing in the prior art.
  • the present invention also provides a method for accessing network data.
  • the network data storage system provided by the present invention includes:
  • a metadata node configured to store and manage routing information, and provide routing information to the client according to the data processing request
  • a data management node configured to process the data unit in the requested data node according to a client data access request.
  • the metadata node, the data management node, and the data node are connected in a tree;
  • the metadata node is the root node of the tree structure, and one or more data management nodes are connected under it; one or more data nodes are connected under each data management node.
  • the routing information stored by the metadata node includes: routing information of the metadata node to the data management node;
  • the data management node routes information to the data node.
  • the metadata node further stores a routing algorithm of the data unit; the routing algorithm is an algorithm for estimating a data node identifier storing the data unit and location information of the data unit in the data node by a data unit identifier.
  • the data management node is configured with a data access service or/and Redundancy strategy.
  • the data unit stored in the data node is a minimum data set for a business application.
  • the data unit is internally composed of a plurality of files or/and directories.
  • the files inside the data unit include data files or / and files.
  • the above system of the present invention further includes a transaction management node for storing log files and providing a log management service.
  • the above system of the present invention further includes a lock node for storing a lock file and providing a lock management service.
  • the network data access method provided by the invention includes the steps of:
  • the client sends a request for accessing the data unit to the metadata node, and obtains routing information from the metadata node to the data management section;
  • the client sends a request for accessing the data unit to the data management node according to the routing information; after receiving the request, the data management node acquires routing information of the data node storing the data unit from the metadata node, And processing the data unit in the data node according to the routing information and the operation requested by the client.
  • the metadata node after receiving the request for accessing the data unit sent by the client, the metadata node provides the routing information of the data management node to the client, including the steps of:
  • the corresponding data management node identifier is obtained, and the data management node identifier is provided to the client.
  • the metadata node provides routing information to the data management node, including the steps of:
  • the metadata node acquires a data unit identifier from a request of the data management node, and according to a routing algorithm of the data unit, calculates, by the data unit identifier, an identifier of the data node storing the data unit and the data unit is in the data node Location information in and provided to the data management node.
  • the data management node separates the storage operation from the calculation operation.
  • the storing operation is performed by storing a thread pool corresponding to the work queue
  • the calculating operation is performed by calculating a thread pool corresponding to the work queue.
  • the method further comprises the steps of:
  • the data node After receiving the data operation instruction of the data management node, the data node operates the data unit through a file system local to the data node according to the operation instruction.
  • the data unit has a unique identifier.
  • the data unit identifier is calculated by mapping the identifier of the data node where the data unit is located and the location information of the data unit in the data node.
  • the processing of the data unit in the data node further includes the steps of:
  • the block to be written is submitted to the file system local to the data node;
  • the block copy in the log file is discarded; otherwise, the block copy is retained.
  • the method further comprises the steps of:
  • the access operation of the data unit is locked using the file lock local to the data node or / and the file lock in the network file system.
  • the network data storage system provided by the present invention distributes data in a network node of a three-layer structure and provides unified access management and routing, thereby supporting linear expansion and upgrade, and enhancing expansion capability over the prior art. , reducing the cost of expansion.
  • the network data access mechanism provided by the present invention is based on the above distributed data storage system, and uses a two-level routing algorithm to make the location of the data file transparent to the client;
  • the data management node of the layer shares the data access processing operation, so the network data access performance can be improved by configuring a reasonable three-layer structure.
  • the invention also uses the log technology to support the transaction processing function, and improves the network data access. Consistency, integrity.
  • the present invention also solves the problem of file lock failure under the network file system by using the lock management function.
  • FIG. 1 is a schematic structural diagram of a network data storage system according to an embodiment of the present invention.
  • FIG. 2 is a schematic structural diagram of a tree structure of a network data storage system according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a network data access process according to an embodiment of the present invention.
  • the data storage system includes:
  • DataNode A data node, a node on the network that stores raw data and indexes. These raw data are stored in the DataNode as data units.
  • Management Node A data management node that is a node on the network that provides some common services such as indexes, redundancy policies, and so on.
  • the Management Node manages a set of related DataNodes.
  • MetaNode A metadata node that manages the namespace and mapping relationship of a data node, which is a node on the network, and is used to provide basic routing information, and mainly maintains two routing relationships: a route from a MetaNode to a management node (a primary route), and Management Node to DataNode route (secondary route;).
  • Transaction Log This is a log-based transaction management node, usually deployed in the Management Node, which stores log files for transaction protection of data.
  • Lock Node This is a globally visible network node that stores data locks in the form of files for lock management of data access.
  • FIG. 2 it is a schematic diagram of a tree structure of a network data storage system according to an embodiment of the present invention.
  • the nodes in the network data storage system are logically divided into three layers, and the lower layer from the bottom layer to the upper layer is a DataNode, a Management Node, and a MetaNode.
  • MetaNode as the root node, under which there are multiple Management Nodes as leaf nodes, under each Management Node There are multiple DataNodes as leaf nodes.
  • Step 1 Determine the data unit, assign the data unit ID, and store the data unit distribution to
  • the data unit in this embodiment is an abstract data set above the file system level, and a minimum data set that can be separately managed can be defined as a data unit according to service characteristics and business needs. Most enterprise data requests and processing have obvious local characteristics. For example, in the mail system, classification, retrieval and sending and receiving of emails are all implemented in a fixed namespace - mail account. Therefore, the mail account can be used as a mail account. Data unit.
  • the data unit can be internally composed of multiple files or directories, such as data files and index files, and file directories, which are managed by the data system local to the DataNode where the data unit is located.
  • the data unit's ID uniquely identifies the data unit.
  • the ID of the data unit contains two pieces of information: the ID of the DataNode storing the data unit and the specific location information of the data unit in the DataNode. The above two kinds of information can be obtained from the data unit ID through the routing algorithm of the data unit. Therefore, the ID of the data unit implies the correspondence between the data unit and the DataNode storing the data unit.
  • Step 2 Determine the routing algorithm and routing information and store them in the MetaNode.
  • the routing information maintained by the MetaNode includes: routing information of the MetaNode to the Management Node (primary routing information), and routing information (secondary routing information) of the Management Node to the DataNode. These two kinds of routing information are implemented by the following mapping table and algorithm:
  • mapping relationship table between the data unit information (such as the data unit name) and the data unit ID, a mapping relationship table between the DataNode ID and the Management Node ID, and set a routing algorithm of the data unit, that is, the algorithm can extract the storage from the data unit ID.
  • the implementation process of the primary route is: The MetaNode obtains the route from the MetaNode to the Management Node according to the mapping relationship between the data unit information and the data unit ID, the routing algorithm of the data unit, and the mapping relationship between the DataNode ID and the Management Node ID.
  • the implementation of the secondary route is:
  • the Management Node sends a request to the MetaNode.
  • the MetaNode obtains a route from the Management Node to the DataNode storing the corresponding data unit according to the routing algorithm of the requested data unit.
  • Step 3 Deploy the Management Node, including:
  • a data access service such as an indexing service, is configured in the Management Node, and a redundancy policy can also be configured;
  • the technology of separating the I/O-bound task from the calculation (CPU-bound task) inside the management node divides the work into two queues.
  • the calculation work queue and the storage work queue are respectively paralleled by two thread pools. To get the job done, make the most of your CPU and I/O resources.
  • the access process of the network data is as shown in FIG. 3.
  • FIG. 3 is a schematic diagram of a network data access process according to an embodiment of the present invention, including the steps:
  • the client sends a data access request to the MetaNode, and notifies the data unit description information (such as the data unit name) to be accessed.
  • the MetaNode returns a primary routing information to the client, and informs the location information of the Management Node that is responsible for managing the data unit.
  • the MetaNode obtains the data unit description information from the request of the client, and obtains the data unit ID requested by the client according to the mapping relationship table between the data unit description information and the data unit ID; and then, according to the routing algorithm of the data unit, the data
  • the unit ID calculates the ID of the DataNode storing the data unit; and obtains the ID of the Management Node that manages the DataNode according to the mapping relationship between the DataNode ID and the Management Node ID; the MetaNode sends the acquired ID of the Management Node to the client.
  • the client finds a Management Node according to the primary routing information, and initiates a data access request to the management node.
  • the management node requests, according to the identity of the client and the requested data unit information, the location of the data unit in the network.
  • step S302 the MetaNode returns the first-level routing information to the client, and may also return the ID of the data unit requested by the client.
  • the client carries the ID of the data unit to be accessed in the sent data access request.
  • step S304 the request sent by the Management Node to the MetaNode carries the data unit ID. 5305.
  • the MetaNode returns secondary routing information to the management node, and informs the location of the requested data unit in the network.
  • the MetaNode obtains the data unit ID from the request sent by the management node, and according to the routing algorithm of the data unit, calculates the DataNode ID of the data unit and the specific location of the data unit in the DataNode by using the data unit ID, and The information is returned to the Management Node.
  • the management node finds the DataNode storing the data unit and the location of the data unit in the DataNode according to the location information, and processes the data in the data unit according to the request made by the client.
  • the DataNode operates on the data unit through the DataNode's local file system according to the operation instructions of the Management Node.
  • the Management Node returns data processing results to the client as needed.
  • the management node internally uses the technology of storing (I/0-bound task) and computing (CPU-bound task) to divide the work into two queues.
  • the calculation work queue and the storage work queue are respectively used. Two thread pools are done in parallel to get the job done.
  • the embodiment of the present invention also uses a transaction processing mechanism to ensure the reliability of network data access, including a log mechanism and a lock technology.
  • the embodiment of the present invention provides a transaction protection mechanism for the data access of the non-database structure according to the embodiment of the present invention by referring to the log protection mechanism provided by the file system of the database and the operating system.
  • a copy of the block to be written is written to the log file; when the I/O data sent to the log is completed (ie, the data is successfully submitted to the log file) , the block is written to the local file system of the DataNode; when the I/O data sent to the file system is completed (that is, the data is successfully submitted to the file system), the block copy in the log file is discarded; if sent to the file system If the I/O data transfer fails, the log file retains the copy of the block.
  • the system When a system crashes or needs to be restarted, the system first reads the log file and restores it according to the block copy of the record in the log file, so that the system returns to the normal state before the exception occurred.
  • an embodiment of the present invention also provides a lock mechanism.
  • Transaction isolation is usually ⁇ Locking is a very advantageous tool to ensure that the transaction is locked by the firm's access to resources while ensuring the characteristics of the file transaction and high concurrency and high reliability.
  • the embodiment of the present invention applies the widely used file lock Dotlock for a single hard disk of a local hard disk and the POSIX-compliant and BSD-based system Flock() for a network file system (NFS file system). Or Fcntl () technology combined use, the specific approach is:
  • the following is an example of adding storage capacity to a very large mail system.
  • Step 1 Perform data planning to determine the smallest unit of data managed by the system.
  • the email address usually consists of two parts: the user name and the domain name, separated by the @ symbol.
  • the mail account can be used as the minimum unit, or the domain name can be used as the data unit. In this embodiment, the mail account is selected as the data unit.
  • Step 2 Determine the routing algorithm and routing table.
  • the purpose of planning the routing algorithm is to solve how to find the storage location of the mailbox content according to the mail account provided by the user.
  • this embodiment uses a 32-bit address space for routing, so that the maximum number of IG users (about 1 billion) can be supported.
  • the 32-bit address space is called RID (Route ID) and is used to uniquely identify the mail account.
  • RID Recorde ID
  • the specific address can usually be represented by the directory of the native file system.
  • This embodiment uses the lower 20 bits of the RID to map a specific directory, called the DataNode internal address DataID.
  • Each DataNode has a unique number NSN (Node Sequence Number), represented by the upper 12 bits of the 32-bit RID. That is, as shown in Table 2: Table 1: Mapping relationship between mail account and mail RID
  • Table 2 Mapping relationship between DataNode ID and Management Node ID
  • Table 2 shows that a Management Node manages three nodes, and the address [email protected] request is handled by the Management Node identified as worker-1.
  • Step 3 After completing the data planning and routing strategy, perform capacity planning.
  • Step 4 Deploy MetaNode.
  • the routing information tables shown in Tables 1 and 2 can be stored in the MetaNode database or in the form of files. Since the routing information table is not very large, after the server is started, the entire routing table can be placed in the memory, so that the client request can be quickly responded. Different policies can be customized for different applications. For simple applications, data rules are well organized, which simplifies MetaNode's algorithm for implementing two-level Hash based on the unique data ID provided by the application.
  • Step 5 Deploy the Management Node service, specifying the configuration for indexing.
  • Add a data search function on the Management Node index the data to be stored, and save the index file and the data file on the corresponding data node.
  • the related processing, the relevant logical job can be deployed as a service on the server, and the management node uses the technology of storage and computing separation to fully utilize the capabilities of the system.
  • the system can continuously expand capacity as needed. As the number of users grows, you can add DataNodes continuously, and each management node has three DataNodes to deploy one Management Node. For MetaNode, usually only one server is needed. In order to make it not a single point of the system, it can be used. Backup mechanism, add a MetaNode server for backup.
  • the above preferred embodiment is directed to a relatively simple mail system, but the application of the network data storage system provided by the embodiment of the present invention is not limited to such applications.
  • the network data storage system provided by the embodiments of the present invention is particularly applicable to a B2B e-commerce platform and software.
  • Such applications are usually enterprise and user-centric, and there are a large number of online transaction processing, so users or a business user can be a collection of data units, because the data is mainly internal and does not allow arbitrary access by other users.
  • This data is managed as a collection of data units, which physically guarantees enterprise data independence and isolation, is not intertwined with other users, and supports online search and transaction processing.
  • the benefits of this approach relative to the database are very obvious.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

网络数据存储***及其数据访问方法
本申请要求于 2006 年 10 月 26 日提交中国专利局、 申请号为 200610150325.3、 发明名称为"网络数据存储***及其数据访问方法"的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及数据存储与管理领域, 尤其涉及一种网络数据存储***, 以及 基于该***的网络数据访问方法。
背景技术
IT技术的发展历程经历了以计算技术为中心, 以处理器的发展为核心动 力的过程,发展到以传输技术为中心,并由此促进了计算机网络的发展和普及, 使得越来越多的企业信息活动转变为数字形式,从而导致数字化信息***性增 长, 引发了对 IT技术的存储技术需求大量增长。 数据存储的应用呈现出以下 新的特点:
( 1 )数据成为最宝贵的财富。 数据丟失对于企业来讲, 损失将是无法估 量的, 甚至是毁灭性的。
( 2 )数据总量呈***性的增长。
( 3 )全天候服务成为大势所趋。 在电子商务和大部分网络服务应用中, 365x24 小时的全天候服务已是大势所趋, 这要求现代数据存储***具备优异 的高可用性。
( 4 )存储管理和维护要求集中化、 自动化、 智能化。
( 5 )存储技术要求平***立。
传统的存储***釆用的是 DAS ( Direct Attached Storage, 直接附加存储), 即直连方式存储, 也可称为 S AS ( Server- Attached Storage, 服务器附加存储)。 在这种方式中, 存储设备通过电缆(通常是 SCSI接口电缆)直接连接到服务 器, I/O (输入 /输出 )请求直接发送到存储设备。 这种存储方式依赖于服务器, 存储设备本身只是硬件的堆叠, 不带有任何存储操作***。 由于受服务器总线 技术的限制, DAS 方式***的可扩展性差, 当客户连接数增多时, 服务器将 成为整个***的性能瓶颈, 这是因为:
( 1 )主机的带宽限制: 虽然计算机技术的发展使主机总线带宽大为增加, 但是仍赶不上现代存储应用对带宽的要求。
( 2 )主机的内存容量限制: 由于主机的内存容量有限, 当有连续的大量 数据访问请求时, 主机的内存容量将很快达到饱和, 而不能处理剩下的数据传 输请求。
( 3 )文件***的管理开销也会增加数据访问时间。
目前大量的企业应用对数据库技术产生的很强的依赖,釆用数据库中央服 务器集中存储数据, 往往成为***的单点和性能的瓶颈, 扩展也很困难, 而且 成本高, 对于海量数据高并发的在线处理尤其困难。 因此, 传统的集中式的数 据存储和管理方式已经无法满足信息日益快速增长的需求。
发明内容
本发明提供一种网络数据存储***,用以解决现有技术中存在的网络数据 存储***扩展能力差、 扩展成本高, 以及网络数据访问性能差的问题。
基于相同的技术构思, 本发明还提供一种网络数据的访问方法。
本发明提供的网络数据存储***, 包括:
数据节点, 用于存储数据单元;
元数据节点, 用于存储和管理路由信息, 并根据客户端数据处理请求向其 提供路由信息;
数据管理节点, 用于根据客户端数据访问请求, 处理请求的所述数据节点 中的所述数据单元。
所述元数据节点、 数据管理节点和数据节点以树型连接;
元数据节点为该树型结构的根节点, 其下连接有一个或多个数据管理节 点; 每个数据管理节点下连接有一个或多个数据节点。
根据本发明的上述***, 所述元数据节点存储的路由信息包括: 所述元数据节点到所述数据管理节点的路由信息;
所述数据管理节点到所述数据节点的路由信息。
所述元数据节点还存储有所述数据单元的路由算法;所述路由算法为通过 数据单元标识推算存储该数据单元的数据节点标识和该数据单元在所述数据 节点中的位置信息的算法。
根据本发明的上述***, 所述数据管理节点中配置有数据访问服务或 /和 冗余策略。
根据本发明的上述***,所述数据节点中存储的所述数据单元为面向业务 应用的最小数据集合。
所述数据单元内部由多个文件或 /和目录构成。
所述数据单元内部的文件包括数据文件或 /和索弓 I文件。
本发明的上述***, 还包括事务管理节点, 用于存储日志文件, 并提供日 志管理服务。
本发明的上述***,还包括锁节点,用于存储锁文件,并提供锁管理服务。 本发明提供的网络数据访问方法, 包括步骤:
客户端向元数据节点发送访问数据单元的请求,并从该元数据节点获取到 所述数据管理节, 的路由信息;
客户端按照所述路由信息向所述数据管理节点发送访问数据单元的请求; 所述数据管理节点收到请求后,从所述元数据节点获取到存储所述数据单 元的数据节点的路由信息,并按照该路由信息和客户端请求的操作对所述数据 节点中的所述数据单元进行处理。
根据本发明的上述方法,所述元数据节点接收到客户端发送的访问数据单 元的请求后, 向该客户端提供所述数据管理节点的路由信息, 包括步骤:
所述元数据节点获取数据访问请求中的数据单元信息,并根据数据单元信 息和数据单元标识的映射关系获取到该数据单元的标识;
按照数据单元的路由算法,由该数据单元的标识计算出存储该数据单元的 数据节点的标识;
根据数据节点标识与数据管理节点标识的映射关系 ,获取到对应的数据管 理节点标识, 并将该数据管理节点标识提供给客户端。
根据本发明的上述方法,所述元数据节点向所述数据管理节点提供路由信 息, 包括步骤:
所述元数据节点从所述数据管理节点的请求中获取数据单元标识,并按照 数据单元的路由算法 ,由该数据单元标识计算出存储该数据单元的数据节点的 标识和该数据单元在数据节点中的位置信息, 并提供给所述数据管理节点。
根据本发明的上述方法, 所述数据管理节点将存储操作与计算操作分离。 所述存储操作以存储工作队列对应的线程池执行,所述计算操作以计算工 作队列对应的线程池执行。
本发明的上述方法中, 还包括步骤:
所述数据节点接收到所述数据管理节点的数据操作指令后,按照该操作指 令, 通过该数据节点本地的文件***对所述数据单元进行操作。
根据本发明的上述方法, 所述数据单元具有唯一标识。
所述数据单元标识由该数据单元所在的数据节点的标识和该数据单元在 数据节点中的位置信息经过映射计算得出。
根据本发明的上述方法, 所述对数据节点中的所述数据单元进行处理, 进 一步包括步骤:
将待写块的副本提交到日志文件;
在提交日志文件成功后, 将该待写块提交到所述数据节点本地的文件系 统;
若提交文件***成功, 则将所述日志文件中的所述块副本丟弃; 否则保留 该块副本。
当***从异常状态恢复到正常状态时,按照所述日志文件中保留的块副本 记录进行数据恢复。
本发明的上述方法中, 还包括步骤:
使用所述数据节点本地的文件锁或 /和网络文件***中的文件锁, 对数据 单元的访问操作进行锁保护。
本发明有益效果如下:
( 1 )本发明提供的网络数据存储***, 将数据分布式存储在三层结构的 网络节点上, 并提供统一的访问管理和路由, 从而支持线形扩容和升级, 比现 有技术增强了扩展能力, 降低了扩展成本。
( 2 )本发明提供的网络数据访问机制, 基于上述分布式数据存储***, 釆用两级路由算法,使得数据文件的位置对客户端透明; 釆用三层结构的分布 式设计,使位于中间层的数据管理节点分担了数据访问处理操作, 因而可通过 配置合理的三层结构, 提高网络数据访问性能。
( 3 )本发明还釆用日志技术支持事务处理功能, 提高了网络数据访问的 一致性、 完整性。
( 4 )本发明还釆用锁管理功能, 解决了网络文件***下文件锁失效的问 题。
附图说明
图 1为本发明实施例的网络数据存储***的结构示意图;
图 2为本发明实施例的网络数据存储***的树型结构示意图;
图 3为本发明实施例的网络数据访问过程的示意图。
具体实施方式
下面结合实施例和附图对本发明进行详细描述。
参见图 1 , 为本发明实施例的网络数据存储***的结构示意图, 该数据存 储***包括:
DataNode: 数据节点, 是网络上的节点, 用于存储原始数据和索引。 这些 原始数据以数据单元的形式存储于 DataNode。
Management Node: 数据管理节点, 是网络上的节点, 作为中间层提供一 些通用的服务, 如索引、 冗余策略等。 Management Node 管理一组相关的 DataNode。
MetaNode: 管理数据节点的名称空间和映射关系的元数据节点, 是网络 上的节点, 用于提供基础的路由信息, 主要维护两种路由关系: MetaNode到 Management Node的路由 (一级路由), 以及 Management Node到 DataNode 的路由 (二级路由;)。
Transaction Log: 这是基于日志技术的事务管理节点, 通常部署在 Management Node , 其中存储有日志文件, 用于完成数据的事务保护。
Lock Node: 这是全局可见的网络节点, 其中存储有以文件形式存在的数 据锁, 以实现对数据访问进行锁管理。
图 1所示的网络数据存储***的体系结构按照树型结构组织,如图 2所示。 参见图 2, 为本发明实施例的网络数据存储***的树型结构示意图。
如图所示,从逻辑上将网络数据存储***中的节点划分为三层,从底层到 上层分另 'J是 DataNode, Management Node和 MetaNode。 MetaNode作为根节 点, 其下有多个 Management Node作为叶子节点, 每个 Management Node下 面又有多个 DataNode作为叶子节点。
构建如上实施例所示的网络数据存储***的步骤包括:
步骤 1、 确定数据单元, 分配数据单元 ID , 并将数据单元分布存储到
DataNode中。
本实施例中的数据单元是在文件***层次之上的抽象的数据集合,可根据 业务特点和业务需要,将可以被单独管理的最小数据集合定义为数据单元。 大 部分企业数据的请求和处理都具有明显的局部性特征,如在邮件***中,分类、 检索和收发邮件都是在一个固定的命名空间——邮件帐号内实现, 因此, 可以 将邮件帐号作为数据单元。
数据单元内部可以由多个文件或者目录构成,如数据文件和索引文件以及 文件目录, 这些文件和目录通过数据单元所在的 DataNode本地的文件***进 行管理。
数据单元的 ID唯一标识了该数据单元。数据单元的 ID包含了两部分信息: 存储该数据单元的 DataNode的 ID和该数据单元在 DataNode中的具***置信 息。可通过数据单元的路由算法,从数据单元 ID中计算获取到上述两种信息。 因此,数据单元的 ID隐含了该数据单元和存储该数据单元的 DataNode的对应 关系。
步骤 2、 确定路由算法和路由信息, 并存储到 MetaNode中。
MetaNode维护的路由信息包括: MetaNode到 Management Node的路由信 息 (一级路由信息), 以及 Management Node到 DataNode的路由信息 (二级 路由信息)。 这两种路由信息通过以下映射关系表和算法实现:
建立数据单元信息 (如数据单元名称) 与数据单元 ID 的映射关系表、 DataNode ID与 Management Node ID的映射关系表, 设置数据单元的路由算 法, 即通过该算法, 可以从数据单元 ID提取出存储该数据单元的 DataNode 的 ID和该数据单元在 DataNode中的具***置信息。
一级路由的实现过程为: MetaNode依次根据数据单元信息与数据单元 ID 的映射关系表, 数据单元的路由算法, 以及 DataNode ID与 Management Node ID的映射关系表, 得到从 MetaNode到 Management Node的路由。
二级路由的实现过程为: Management Node 向 MetaNode 发送请求, MetaNode根据所请求的数据单元的路由算法得到 Management Node到存储相 应数据单元的 DataNode的路由。
步骤 3、 部署 Management Node, 包括:
在 Management Node中配置有数据访问服务, 如索引服务, 还可以配置 冗余策略;
在 Management Node 内部实现釆用存储 ( I/O-bound task ) 与计算 ( CPU-bound task )分离的技术, 将工作分为两个队列, 计算工作队列和存储 工作队列分别用两个线程池并行来完成工作, 充分利用 CPU和 I/O资源。
基于上述实施例所描述的网络数据存储***, 网络数据的访问过程如图 3 所示。
参见图 3 , 为本发明实施例的网络数据访问过程示意图, 包括步骤:
5301、 客户端向 MetaNode发送数据访问请求, 告知要访问的数据单元描 述信息 (如数据单元名称)。
5302、 MetaNode向客户端返回一级路由信息, 告知负责管理该数据单元 的 Management Node的位置信息。
MetaNode从客户端的请求中获取到数据单元描述信息, 再根据数据单元 描述信息和数据单元 ID的映射关系表, 获取到客户端请求的数据单元 ID; 然 后, 根据数据单元的路由算法, 由该数据单元 ID计算得到存储该数据单元的 DataNode的 ID;再根据 DataNode ID与 Management Node ID的映射关系表获 得管理该 DataNode 的 Management Node 的 ID ; MetaNode 将获取到的 Management Node的 ID发送到客户端。
5303、客户端根据一级路由信息找到 Management Node, 向其发起数据访 问请求。
5304、 Management Node根据客户端的身份和请求的数据单元信息, 向 MetaNode请求该数据单元在网络中的位置分布。
在步骤 S302中, MetaNode向客户端返回一级路由信息的同时,还可返回 客户端所请求的数据单元的 ID。 这样, 步骤 S303中, 客户端在发送的数据访 问请求中携带需要访问的数据单元的 ID; 在步骤 S304中, Management Node 向 MetaNode发送的请求中携带该数据单元 ID。 5305、 MetaNode向 Management Node返回二级路由信息, 告知请求的数 据单元在网络中的位置。
MetaNode从 Management Node发送的请求中获取到数据单元 ID,并根据 数据单元的路由算法, 由该数据单元 ID计算得到存储该数据单元的 DataNode ID和该数据单元在 DataNode中的具***置,并将这些信息返回给 Management Node。
5306、 Management Node根据该位置信息找到存储该数据单元的 DataNode 以及该数据单元在 DataNode的位置, 并按照客户端提出的请求, 处理数据单 元中的数据。
DataNode按照 Management Node的操作指令,通过 DataNode的本地文件 ***对数据单元进行操作。
5307、 Management Node根据需要向客户端返回数据处理结果。
在上述数据访问过程中, Management Node内部釆用存储( I/0-bound task ) 与计算(CPU-bound task )分离的技术, 将工作分为两个队列, 计算工作队列 和存储工作队列分别用两个线程池并行来完成工作。
在上述数据访问过程中,本发明实施例还釆用事务处理机制来保证网络数 据访问的可靠性, 包括日志机制和锁技术。
文件的很多操作都是非原子行为 ,尤其是跨越多个文件或者多个节点的过 程中, 数据的一致性和完整性容易遭到破坏, 导致异常情况出现, 如***非正 常关闭。本发明实施例借鉴数据库和操作***的文件***所提供的日志保护机 制, 为本发明实施例的非数据库结构的数据存取提供了一种事务保护机制。
当对本发明实施例的数据单元进行访问(如存取操作)时, 将待写块的一 个副本写入日志文件; 当发往日志的 I/O数据传送完成后(即数据成功提交日 志文件 ) , 再将该块写入 DataNode本地的文件***; 当发往文件***的 I/O数 据传送完成后 (即数据成功提交文件***), 将日志文件中的块副本丟弃; 若 发往文件***的 I/O数据传送失败, 则日志文件保留该块副本。
当***发生崩溃或需要重新启动时, ***首先读取日志文件, 并按照日志 文件中的记录的块副本进行恢复, 使***恢复到发生异常前的正常状态。
为了加强事务隔离性, 本发明实施例还提供了锁机制。 事务隔离性通常釆 用锁住事务所访问资源的方式来保证,同时为了保证文件事务的特性和高并发 和高可靠性, 锁技术是一个非常有利的工具。
本发明实施例将目前广泛釆用的应用于本地硬盘单节点的文件锁 Dotlock 和网络文件*** ( Network File System , NFS ) 文件***中锁釆用的 POSIX-compliant和 BSD-based system的 Flock() or Fcntl()技术结合使用, 具 体做法为:
首先获取 DotLock (这一步通常有可能会被多个节点同时获取成功), 成 功后在尝试获取 Flock()或者 Fcntl()。 这些锁以文件的方式存在一个全局可见 的节点上。 在***恢复的时候检测并释放那些悬挂的锁。 锁的粒度, 可以对某 一个数据块, 也可以对一个文件、 目录, 甚至可以对一个 DataNode加锁。
下面以一个为超大容量的邮件***添加存储能力的例子进行说明。
第一步: 进行数据规划, 确定***管理的最小数据单元。
邮件地址(邮件帐号)通常由用户名和域名两部分组成, 中间用 @符号分 割。 可以用邮件帐号作为最小单元, 也可以用域名作为数据单元, 本实施例选 择用邮件帐号作为数据单元。
第二步: 确定路由算法和路由表。
规划路由算法的目的是解决如何根据用户提供的邮件帐号找到邮箱内容 的存储位置。 为了支持***容量的不断扩容, 本实施例釆用 32位的地址空间 来路由, 这样最大可以支持 IG用户数量(大约 10亿)。 该 32位的地址空间称 为 RID ( Route ID ), 用于唯一标识邮件帐号。 本实施例假设一个 DataNode的 最大容量为支持 1M ( 220 = 1,048,576 ) 的用户量, 因此 DataNode的地址空间 大小为 1M,具体地址通常可以用本机文件***的目录来表示。本实施例用 RID 的低 20位来映射具体的目录,称作 DataNode内部地址 DataID。每个 DataNode 有唯一编号 NSN ( Node Sequence Number ), 用 32位 RID的高 12位表示。 即 表 2所示: 表 1 : 邮件帐号与邮件 RID的映射关系表
Figure imgf000012_0001
表 2: DataNode ID与 Management Node ID的映射关系表
Figure imgf000012_0002
表 2表明一个 Management Node管理三个节点, 地址 [email protected]请求 由标识为 worker- 1的 Management Node负责处理。
第三步: 完成数据规划和路由策略制定后, 进行容量规划。
在用户较少的时候,可以部署一台 Management Node和一个 DataNode(编 号为 0, 负责管理 0-1M的用户)。 随着用户数量的增长, 一个 DataNode不能 满足存储需求的时候, 可以再增加一个 DataNode, 假设编号为 1 , 则 RID的 高 12位为 000000000001 , 负责管理低 20位 1M-2M之间的用户, 这样如上所 述, 随着业务的不断发展, ***可以线性不断扩展, 实现海量数据存储。
第四步: 部署 MetaNode。
如表 1和表 2所示的路由信息表可以存储在 MetaNode的数据库中也可以 以文件的形式保存。 由于路由信息表不是很大, 服务器启动后, 可以将整个路 由表放在内存中, 这样可以快速响应客户端请求。对于不同的应用可以定制不 同的策略, 如对于简单的应用, 数据规则组织良好, 则可以简化 MetaNode为 一个根据应用提供的唯一数据 ID实现两级 Hash的算法。
第五步: 部署 Management Node服务, 指定建立索引的配置。
在 Management Node上添加数据搜索功能, 对需要存储的数据进行索引, 将索引文件和数据文件保存在对应的数据节点上,如果需要对数据进行业务相 关的处理, 可以将相关逻辑 job作为服务部署在服务器上, Management Node 釆用存储与计算分离的技术, 充分发挥***的能力。
以后随着业务的发展,***可以不断的按需扩充容量。随着用户量的增长, 可以不断添加 DataNode,每添力口 3个 DataNode,部署一台 Management Node, 而对于 MetaNode, 通常仅需要一台服务器, 为了使之不成为***的单点, 可 釆用备份机制, 增设一台用作备份的 MetaNode服务器。
上述优选实施例针对的是一个比较简单的邮件***,但本发明实施例提供 的网络数据存储***的应用场合不限此类应用。本发明实施例提供的网络数据 存储***尤其适用于 B2B 电子商务平台和软件。 这类应用通常以企业和用户 为中心,存在大量的在线事务处理, 因此可以将用户或者一家企业用户作为一 个数据单元集合, 因为这些数据主要是内部私有, 不容许其他用户任意访问。 把这些数据作为一个数据单元集合来管理,这就从物理上保证了企业数据独立 性和隔离性, 不会和其他用户交织在一起, 同时支持在线搜索和事务处理等。 这种方案相对数据库的好处是非常明显的。数据库不可能为每个企业用户创建 一套数据库,数据库通常将所有的企业同种应用的数据放在一张表中, 物理上 没有实现安全隔离, 需要应用处理非法访问等问题, 同时如果用户量非常大的 时候这种数据库方法将会导致很大的性能问题。 明的精神和范围。 这样,倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种网络数据存储***, 其特征在于, 包括:
数据节点, 用于存储数据单元;
元数据节点, 用于存储和管理路由信息, 并根据客户端数据处理请求向其 提供路由信息;
数据管理节点, 用于根据客户端数据访问请求, 处理请求的所述数据节点 中的所述数据单元。
2、 如权利要求 1所述的***, 其特征在于, 所述元数据节点、 数据管理 节点和数据节点以树型连接;
元数据节点为该树型结构的根节点, 其下连接有一个或多个数据管理节 点; 每个数据管理节点下连接有一个或多个数据节点。
3、 如权利要求 1所述的***, 其特征在于, 所述元数据节点存储的路由 信息包括:
所述元数据节点到所述数据管理节点的路由信息;
所述数据管理节点到所述数据节点的路由信息。
4、 如权利要求 3所述的***, 其特征在于, 所述元数据节点还存储有所 述数据单元的路由算法;所述路由算法为通过数据单元标识推算存储该数据单 元的数据节点标识和该数据单元在所述数据节点中的位置信息的算法。
5、 如权利要求 1所述的***, 其特征在于, 所述数据管理节点中配置有 数据访问服务或 /和冗余策略。
6、 如权利要求 1所述的***, 其特征在于, 所述数据节点中存储的所述 数据单元为面向业务应用的最小数据集合。
7、 如权利要求 6所述的***, 其特征在于, 所述数据单元内部由多个文 件或 /和目录构成。
8、 如权利要求 7所述的***, 其特征在于, 所述数据单元内部的文件包 括数据文件或 /和索引文件。
9、 如权利要求 1所述的***, 其特征在于, 还包括事务管理节点, 用于 存储日志文件, 并提供日志管理服务。
10、 如权利要求 1或 9所述的***, 其特征在于, 还包括锁节点, 用于存 储锁文件, 并提供锁管理服务。
11、 一种网络数据访问方法, 其特征在于, 包括以下步骤:
客户端向元数据节点发送访问数据单元的请求,并从该元数据节点获取到 所述数据管理节, 的路由信息;
客户端按照所述路由信息向所述数据管理节点发送访问数据单元的请求; 所述数据管理节点收到请求后,从所述元数据节点获取到存储所述数据单 元的数据节点的路由信息,并按照该路由信息和客户端请求的操作对所述数据 节点中的所述数据单元进行处理。
12、 如权利要求 11所述的方法, 其特征在于, 所述元数据节点接收到客 户端发送的访问数据单元的请求后,向该客户端提供所述数据管理节点的路由 信息, 包括步骤:
所述元数据节点获取数据访问请求中的数据单元信息,并根据数据单元信 息和数据单元标识的映射关系获取到该数据单元的标识;
按照数据单元的路由算法,由该数据单元的标识计算出存储该数据单元的 数据节点的标识;
根据数据节点标识与数据管理节点标识的映射关系 ,获取到对应的数据管 理节点标识, 并将该数据管理节点标识提供给客户端。
13、 如权利要求 11所述的方法, 其特征在于, 所述元数据节点向所述数 据管理节点提供路由信息, 包括步骤:
所述元数据节点从所述数据管理节点的请求中获取数据单元标识,并按照 数据单元的路由算法 ,由该数据单元标识计算出存储该数据单元的数据节点的 标识和该数据单元在数据节点中的位置信息, 并提供给所述数据管理节点。
14、 如权利要求 11所述的方法, 其特征在于, 所述数据管理节点将存储 操作与计算操作分离。
15、 如权利要求 14所述的方法, 其特征在于, 所述存储操作以存储工作 队列对应的线程池执行, 所述计算操作以计算工作队列对应的线程池执行。
16、 如权利要求 11所述的方法, 其特征在于, 还包括步骤:
所述数据节点接收到所述数据管理节点的数据操作指令后,按照该操作指 令, 通过该数据节点本地的文件***对所述数据单元进行操作。
17、 如权利要求 11-16任一权项所述的方法, 其特征在于, 所述数据单元 具有唯一标识。
18、 如权利要求 17所述的方法, 其特征在于, 所述数据单元标识由该数 据单元所在的数据节点的标识和该数据单元在数据节点中的位置信息经过映 射计算得出。
19、 如权利要求 11所述的方法, 其特征在于, 所述对数据节点中的所述 数据单元进行处理, 进一步包括步骤:
将待写块的副本提交到日志文件;
在提交日志文件成功后, 将该待写块提交到所述数据节点本地的文件系 统;
若提交文件***成功, 则将所述日志文件中的所述块副本丟弃; 否则保留 该块副本。
20、 如权利要求 19所述的方法, 其特征在于, 当***从异常状态恢复到 正常状态时, 按照所述日志文件中保留的块副本记录进行数据恢复。
21、 如权利要求 11或 19所述的方法, 其特征在于, 还包括步骤: 使用所述数据节点本地的文件锁或 /和网络文件***中的文件锁, 对数据 单元的访问操作进行锁保护。
PCT/CN2007/070564 2006-10-26 2007-08-27 Système de mise en mémoire de données de réseau et procédé pour y accéder WO2008049353A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/447,036 US8953602B2 (en) 2006-10-26 2007-08-27 Network data storing system and data accessing method
EP07785461.0A EP2081329B1 (en) 2006-10-26 2007-08-27 Network data storing system and data accessing method thereof
JP2009534958A JP5567342B2 (ja) 2006-10-26 2007-08-27 ネットワークデータストレージシステムおよびそのデータアクセス方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2006101503253A CN101170416B (zh) 2006-10-26 2006-10-26 网络数据存储***及其数据访问方法
CN200610150325.3 2006-10-26

Publications (1)

Publication Number Publication Date
WO2008049353A1 true WO2008049353A1 (fr) 2008-05-02

Family

ID=39324142

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2007/070564 WO2008049353A1 (fr) 2006-10-26 2007-08-27 Système de mise en mémoire de données de réseau et procédé pour y accéder

Country Status (6)

Country Link
US (1) US8953602B2 (zh)
EP (1) EP2081329B1 (zh)
JP (2) JP5567342B2 (zh)
CN (1) CN101170416B (zh)
HK (1) HK1114487A1 (zh)
WO (1) WO2008049353A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916275B (zh) * 2010-08-13 2012-07-25 中国石油天然气集团公司 一种多数据源测井数据访问方法及***
CN101980203A (zh) * 2010-10-29 2011-02-23 中国科学院声学研究所 一种用于高清媒体的嵌入式文件***
CN102122306A (zh) * 2011-03-28 2011-07-13 中国人民解放军国防科学技术大学 一种数据处理方法及应用该方法的分布式文件***
CN102521297B (zh) * 2011-11-30 2015-09-09 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现***动态扩展的方法
CN102591970B (zh) * 2011-12-31 2014-07-30 北京奇虎科技有限公司 一种分布式键-值查询方法和查询引擎***
CN104050249B (zh) * 2011-12-31 2018-03-30 北京奇虎科技有限公司 分布式查询引擎***和方法及元数据服务器
CN104050250B (zh) * 2011-12-31 2018-06-05 北京奇虎科技有限公司 一种分布式键-值查询方法和查询引擎***
CN103678333B (zh) * 2012-09-03 2018-12-25 北京千橡网景科技发展有限公司 用于提高统一资源定位符提取准确率的方法和设备
US11154875B2 (en) 2012-11-02 2021-10-26 Pulsating Irrigation Products, Inc. Pulsating device with two preset pressure-responding normally closed valves
CN102981933B (zh) * 2012-12-18 2015-05-13 武汉邮电科学研究院 物联网感知层的数据增量备份方法及***
CN103064635B (zh) * 2012-12-19 2016-08-24 华为技术有限公司 分布式存储方法和分布式存储装置
US9201837B2 (en) 2013-03-13 2015-12-01 Futurewei Technologies, Inc. Disaggregated server architecture for data centers
CN103235765B (zh) * 2013-05-06 2015-11-25 杭州和利时自动化有限公司 一种智能仪表设备管理方法、***及装置
CN103268460B (zh) * 2013-06-20 2016-02-10 北京航空航天大学 一种云存储数据完整性验证方法
CN103338269B (zh) * 2013-07-19 2016-12-28 中国人民解放军信息工程大学 一种数据传输方法及装置
CN104378396B (zh) * 2013-08-15 2018-05-15 上海七牛信息技术有限公司 数据管理装置及方法
KR102104882B1 (ko) * 2013-12-03 2020-04-27 에스케이 텔레콤주식회사 M2m 클라우드 스토리지 서비스 제공방법 및 장치
CN104932986A (zh) * 2014-03-19 2015-09-23 ***通信集团公司 一种数据重分布方法及装置
CN104021139B (zh) * 2014-04-29 2017-11-24 深圳英飞拓科技股份有限公司 一种视频数据存取方法及装置
CN104268013B (zh) * 2014-10-17 2017-05-17 中国人民解放军国防科学技术大学 一种快速的全***模拟器确定性回放方法
CN104408056B (zh) * 2014-10-29 2020-09-15 中国建设银行股份有限公司 一种数据处理方法和装置
CN104331460A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于Hbase的数据读写操作方法及***
CN105205156A (zh) * 2015-09-25 2015-12-30 浪潮(北京)电子信息产业有限公司 一种数据管理方法、装置及***
CN105868253A (zh) * 2015-12-23 2016-08-17 乐视网信息技术(北京)股份有限公司 数据导入、查询方法及装置
CN106170012A (zh) * 2016-06-29 2016-11-30 上海上大海润信息***有限公司 一种面向云渲染的分布式文件***及构建和访问方法
US10467195B2 (en) 2016-09-06 2019-11-05 Samsung Electronics Co., Ltd. Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system
US10455045B2 (en) 2016-09-06 2019-10-22 Samsung Electronics Co., Ltd. Automatic data replica manager in distributed caching and data processing systems
CN106817402B (zh) * 2016-11-29 2018-02-27 上海壹账通金融科技有限公司 缓存数据的处理方法及装置
CN106874468B (zh) * 2017-02-15 2021-02-19 北京亚信数据有限公司 一种影像文件管理的方法及***
KR102503177B1 (ko) * 2018-03-05 2023-02-24 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN108710621A (zh) * 2018-03-12 2018-10-26 广东睿江云计算股份有限公司 一种基于ceph实现MySQL数据库水平扩展的方法
CN110727738B (zh) * 2019-12-19 2020-08-07 北京江融信科技有限公司 基于数据分片的全局路由***、电子设备及存储介质
CN111444046B (zh) * 2020-06-16 2021-01-22 北京金山云科技有限公司 一种数据恢复方法及分布式数据恢复***
CN112667577A (zh) * 2020-12-25 2021-04-16 浙江大华技术股份有限公司 一种元数据管理方法、元数据管理***及存储介质
CN114827145B (zh) * 2022-04-24 2024-01-05 阿里巴巴(中国)有限公司 服务器集群***、元数据的访问方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333966A (zh) * 1998-11-12 2002-01-30 艾利森电话股份有限公司 通信网络和在该网络内路由消息的方法
US20030223378A1 (en) * 2002-06-04 2003-12-04 Prashanth Ishwar Network node with layer 3 interfaces configurable by interface class
CN1463522A (zh) * 2001-05-17 2003-12-24 皇家菲利浦电子有限公司 无线主从分布式通信网络

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737732A (en) 1992-07-06 1998-04-07 1St Desk Systems, Inc. Enhanced metatree data structure for storage indexing and retrieval of information
JPH06266600A (ja) 1993-03-12 1994-09-22 Hitachi Ltd 分散ファイルシステム
JPH06332782A (ja) * 1993-03-22 1994-12-02 Hitachi Ltd ファイルサーバシステム及びそのファイルアクセス制御方法
JPH06323782A (ja) 1993-05-17 1994-11-25 Ishikawajima Harima Heavy Ind Co Ltd 排ガスエコノマイザの洗浄方法
US5970496A (en) 1996-09-12 1999-10-19 Microsoft Corporation Method and system for storing information in a computer system memory using hierarchical data node relationships
JP3490642B2 (ja) 1999-06-30 2004-01-26 松下電器産業株式会社 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
WO2001014948A2 (en) * 1999-08-19 2001-03-01 Matrix Device Limited Recursive dynamic access to a data model having a hierarchical tree structure
US7320065B2 (en) * 2001-04-26 2008-01-15 Eleven Engineering Incorporated Multithread embedded processor with input/output capability
US20020199017A1 (en) 2001-06-25 2002-12-26 Russell Lance W. Routing meta data for network file access
US20030120896A1 (en) * 2001-06-29 2003-06-26 Jason Gosior System on chip architecture
JP2003167815A (ja) 2001-11-30 2003-06-13 Hitachi Ltd データアクセス制御方法
JP2003248611A (ja) 2002-02-26 2003-09-05 Hitachi Ltd 記憶管理統合システム、および、その記憶管理制御方法
JP4146653B2 (ja) 2002-02-28 2008-09-10 株式会社日立製作所 記憶装置
KR100453228B1 (ko) * 2002-03-21 2004-10-15 한국전자통신연구원 공유 디스크 파일 시스템의 저널링 및 회복 방법
US7590618B2 (en) 2002-03-25 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for providing location profile data for network nodes
JP4287092B2 (ja) 2002-03-29 2009-07-01 株式会社富士通ソーシアルサイエンスラボラトリ ファイル管理システムおよびファイル管理方法
US7024519B2 (en) 2002-05-06 2006-04-04 Sony Computer Entertainment Inc. Methods and apparatus for controlling hierarchical cache memory
US7448077B2 (en) * 2002-05-23 2008-11-04 International Business Machines Corporation File level security for a metadata controller in a storage area network
US20040015486A1 (en) 2002-07-19 2004-01-22 Jiasen Liang System and method for storing and retrieving data
US7127465B2 (en) 2002-09-30 2006-10-24 Sun Microsystems, Inc. Memory-efficient metadata organization in a storage array
US7774466B2 (en) 2002-10-17 2010-08-10 Intel Corporation Methods and apparatus for load balancing storage nodes in a distributed storage area network system
JP2004171224A (ja) 2002-11-19 2004-06-17 Nec Corp 契約ストレージ代行提供システムおよび契約ストレージ代行提供方法
GB2395809B (en) * 2002-11-28 2005-12-21 Ibm Metadata lock management in advanced function n-way shared storage controller systems
US20040122917A1 (en) * 2002-12-18 2004-06-24 Menon Jaishankar Moothedath Distributed storage system for data-sharing among client computers running defferent operating system types
JP4567293B2 (ja) 2003-01-21 2010-10-20 株式会社日立製作所 ファイルサーバ
US20040153481A1 (en) * 2003-01-21 2004-08-05 Srikrishna Talluri Method and system for effective utilization of data storage capacity
JP2004318743A (ja) 2003-04-21 2004-11-11 Hitachi Ltd ファイル移送装置
US7610348B2 (en) * 2003-05-07 2009-10-27 International Business Machines Distributed file serving architecture system with metadata storage virtualization and data access at the data server connection speed
GB0310689D0 (en) * 2003-05-09 2003-06-11 Ibm Monitoring operational data in data processing systems
US7523130B1 (en) 2004-01-28 2009-04-21 Mike Meadway Storing and retrieving objects on a computer network in a distributed database
US8249113B2 (en) * 2004-03-19 2012-08-21 Broadlogic Network Technologies, Inc. Method and system for providing faster channel switching in a digital broadcast system
JP4491273B2 (ja) 2004-05-10 2010-06-30 株式会社日立製作所 ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法
US7552122B1 (en) * 2004-06-01 2009-06-23 Sanbolic, Inc. Methods and apparatus facilitating access to storage among multiple computers
JP2006003962A (ja) 2004-06-15 2006-01-05 Hitachi Ltd ネットワークストレージシステム
US20060031230A1 (en) 2004-07-21 2006-02-09 Kumar Sinha M Data storage systems
JP4451293B2 (ja) 2004-12-10 2010-04-14 株式会社日立製作所 名前空間を共有するクラスタ構成のネットワークストレージシステム及びその制御方法
CN100367727C (zh) * 2005-07-26 2008-02-06 华中科技大学 一种可扩展的基于对象的存储***及其控制方法
US7499905B2 (en) 2005-10-17 2009-03-03 Cisco Technology, Inc. Method and apparatus for accessing information based on distributed file system (DFS) paths
US20070150492A1 (en) * 2005-12-27 2007-06-28 Hitachi, Ltd. Method and system for allocating file in clustered file system
US20070214314A1 (en) 2006-03-07 2007-09-13 Reuter James M Methods and systems for hierarchical management of distributed data
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
CN100505762C (zh) * 2006-04-19 2009-06-24 华中科技大学 适用于对象网络存储的分布式多级缓存***
US7840969B2 (en) * 2006-04-28 2010-11-23 Netapp, Inc. System and method for management of jobs in a cluster environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333966A (zh) * 1998-11-12 2002-01-30 艾利森电话股份有限公司 通信网络和在该网络内路由消息的方法
CN1463522A (zh) * 2001-05-17 2003-12-24 皇家菲利浦电子有限公司 无线主从分布式通信网络
US20030223378A1 (en) * 2002-06-04 2003-12-04 Prashanth Ishwar Network node with layer 3 interfaces configurable by interface class

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2081329A4 *

Also Published As

Publication number Publication date
JP2013061959A (ja) 2013-04-04
US8953602B2 (en) 2015-02-10
EP2081329B1 (en) 2020-06-10
CN101170416A (zh) 2008-04-30
US20100061375A1 (en) 2010-03-11
EP2081329A4 (en) 2014-05-07
JP5567342B2 (ja) 2014-08-06
JP5730271B2 (ja) 2015-06-03
HK1114487A1 (en) 2008-10-31
CN101170416B (zh) 2012-01-04
JP2010507876A (ja) 2010-03-11
EP2081329A1 (en) 2009-07-22

Similar Documents

Publication Publication Date Title
WO2008049353A1 (fr) Système de mise en mémoire de données de réseau et procédé pour y accéder
JP5918244B2 (ja) フォールトトレラントデータベース管理システムにおいてクエリ結果を統合するシステム及び方法
JP5254611B2 (ja) 固定内容分散データ記憶のためのメタデータ管理
US9558194B1 (en) Scalable object store
USRE43346E1 (en) Transaction aggregation in a switched file system
US7509322B2 (en) Aggregated lock management for locking aggregated files in a switched file system
US7788335B2 (en) Aggregated opportunistic lock and aggregated implicit lock management for locking aggregated files in a switched file system
US7512673B2 (en) Rule based aggregation of files and transactions in a switched file system
TWI232382B (en) A distributed storage system for data-sharing among client computers running different operating system types
CA2512312C (en) Metadata based file switch and switched file system
US7536383B2 (en) Method and apparatus for searching metadata
US7383288B2 (en) Metadata based file switch and switched file system
US8396895B2 (en) Directory aggregation for files distributed over a plurality of servers in a switched file system
US20130218934A1 (en) Method for directory entries split and merge in distributed file system
US9959286B1 (en) Method, System and apparatus for synchronizing changes in a directory service
JP2013545162A5 (zh)
US10572466B2 (en) Multiple collections of user-defined metadata for self-describing objects
US20100082546A1 (en) Storage Tiers for Database Server System
US9223517B1 (en) Scalable index store
US10387384B1 (en) Method and system for semantic metadata compression in a two-tier storage system using copy-on-write
US10628391B1 (en) Method and system for reducing metadata overhead in a two-tier storage architecture

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07785461

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2007785461

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2009534958

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 12447036

Country of ref document: US