CN104618482A - 访问云数据的方法、服务器、传统存储设备、架构 - Google Patents
访问云数据的方法、服务器、传统存储设备、架构 Download PDFInfo
- Publication number
- CN104618482A CN104618482A CN201510053999.0A CN201510053999A CN104618482A CN 104618482 A CN104618482 A CN 104618482A CN 201510053999 A CN201510053999 A CN 201510053999A CN 104618482 A CN104618482 A CN 104618482A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- client
- memory device
- cloud 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式文件系统中访问云数据的方法,所述分布式文件系统包括服务端和客户端,服务端采集传统存储设备所存储数据对应的元数据并记录;所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;当客户端请求读取目标云数据时,服务端查找元数据中所述目标云数据的存放路径信息,并将所述目标云数据的存放路径信息返回给所述客户端;如果所述目标云数据的存放路径信息指向所述传统存储设备,则所述客户端从所述传统存储设备获取所述目标云数据。本申请还公开了元数据服务器、传统存储设备及兼容传统数据的云存储架构。利用本发明,很好地解决了因上传数据而导致的数据访问问题。
Description
技术领域
本申请涉及云存储技术,尤其涉及分布式文件系统访问云数据的方法、元数据服务器、传统存储设备及兼容传统数据的云存储架构。
背景技术
企业业务正快速转向云的存储方式。以分布式文件系统(一种云存储系统,所存储的数据非本地直连,需要通过网络协议对其进行访问)为例,图1是系统架构,云存储系统通常包括应用端和服务端,云数据存储于服务端的存储集群中,通过服务端将存储集群的各个不同类型的存储设备集合起来协同工作,共同对外提供数据存储,位于应用端的客户端软件实现业务访问功能。
目前,不管是公有云、私有云或者混合云,为了保存云数据,需要将传统存储设备(Legacy Storage)中的数据导入到云存储系统。在企业迁移大量数据时,云服务提供商需要将企业内部存储在传统存储设备上的传统数据上传到云存储系统中。将大量传统数据上传到云存储系统中通常通过以下方式实现:
客户端与传统存储设备通信,读取传统存储设备中的传统数据并写入存储集群中,之后当用户访问云数据时,客户端从存储集群中读取目标云数据提供给用户。
通常一个4TB硬盘大小的传统存储设备中的数据,以100MB/s的速度拷贝,需要11个小时左右。图2为Amazon列出的一张表,表中列举了不同网络连接速度上传1TB文件所用的时间。可见现有技术数据云存储的方法耗时很长,导致在数据上传到云存储系统的漫长过程中,企业无法对云数据进行访问。
发明内容
本申请提供一种分布式文件系统访问云数据的方法、元数据服务器、传统存储设备及兼容传统数据的云存储架构,解决因上传数据而导致的数据访问问题。
根据本申请实施例的第一方面,提供一种分布式文件系统中访问云数据的方法,所述分布式文件系统包括服务端和客户端,包括步骤:
服务端采集传统存储设备所存储数据对应的元数据并记录;所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;
当客户端请求读取目标云数据时,服务端查找元数据中所述目标云数据的存放路径信息,并将所述目标云数据的存放路径信息返回给所述客户端;
如果所述目标云数据的存放路径信息指向所述传统存储设备,则所述客户端从所述传统存储设备获取所述目标云数据。
本申请还提供一种元数据服务器,位于分布式文件系统的服务端,包括:
数据采集模块,用于采集传统存储设备所存储数据对应的元数据,所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;
元数据存储模块,用于存储所采集的元数据;
存储路径路由模块,用于当客户端读取目标云数据时,将所述元数据中目标云数据的存放路径信息发给所述客户端。
本申请还提供一种传统存储设备,包括:
数据扫描模块,用于扫描并生成所存储的数据的元数据,将所述元数据发给分布式文件系统的服务端;所述元数据包括数据的存放路径信息;
传统数据存储模块,用于存储数据;
通信模块,用于当收到分布式文件系统的客户端访问云数据的请求时,根据所述请求中的存放路径信息获取相关的数据发给所述客户端。
本申请还提供一种兼容传统数据的云存储架构,包括:
分布式文件系统和传统存储设备,
所述分布式文件系统包括:
元数据服务器,用于采集传统存储设备所存储数据对应的元数据并记录,所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;以及当客户端请求读取目标云数据时,查找所述目标云数据的存放路径信息,并将所读取的云数据的存放路径信息返回给所述客户端;
客户端,用于向所述元数据服务器请求读取目标云数据,以及当所述元数据服务器所返回的存放路径信息指向所述传统存储设备时,从所述传统存储设备获取所述云数据;
所述传统存储设备包括:
数据扫描模块,用于扫描并生成所存储的数据的元数据,将所述元数据发给分布式文件系统的元数据服务器;所述元数据包括数据的存放路径信息;
传统数据存储模块,用于存储数据;
通信模块,用于当收到分布式文件系统的客户端访问云数据的请求时,根据所述请求中的存放路径信息获取相关的数据发给所述客户端。
现有技术中,存储在传统存储设备上的传统数据需要上传到云存储系统中的存储集群中方能在云存储系统提供云服务时被访问,而传统数据上传时间漫长且上传过程会妨碍用户对数据的访问,本申请通过云服务系统采集传统存储设备的元数据并记录,无需将传统存储设备中的数据上传到云服务系统,当客户端请求读取云数据时,如果访问的云数据被存储于传统存储设备中,则直接从传统存储设备中获取数据,可见本申请突破性的将传统存储设备伪装成云存储系统中的一个存储设备,将传统数据成功的变成了可以通过客户端访问的云数据,成功解决了因上传数据而导致的数据访问问题。
附图说明
图1为现有技术中传统数据上传云存储系统的示意图;
图2为现有技术上传数据的耗时统计表;
图3为本申请实施例中兼容传统数据的云存储架构下访问数据的示意图;
图4为本申请实施例中访问云存储数据的流程图;
图5为本申请实施例中写入云数据的流程图;
图6为本申请实施例中一个应用场景下兼容传统数据的云存储架构下访问数据的示意图;
图7为本申请实施例中元数据服务器的硬件结构图;
图8为本申请实施例中元数据服务器的结构逻辑框图;
图9为本申请实施例中传统存储设备的工作原理流程图;
图10为本申请实施例中传统存储设备的硬件结构图;
图11为本申请实施例中传统存储设备的内部结构逻辑框图;
图12为一应用实例中向传统存储设备采集元数据的流程图;
图13为一应用实例中读取云数据的流程图;
图14为一应用实例中写入云数据的流程图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图3是一个兼容传统数据的云存储架构示意,通常此架构下的云存储系统包括位于应用端的客户端301和服务端302,另外,该网络中还包括位于云存储系统之外的传统存储设备303。通常通过应用端的客户端301软件来实现访问服务端的设备的功能以及访问传统存储设备的功能。现有技术中,云服务提供商需要通过客户端301去访问传统存储设备,将传统数据上传至服务端302,而用户需要通过客户端访问服务端获取所存储的云数据。在图3所示的本申请实施例实现的访问云数据的应用场景中,可以将传统存储设备看作是云存储系统中的一个存储设备,用户可以通过云存储系统的客户端直接访问传统存储设备中的数据,实现此方案的流程图如图4所示。结合图3和图4对本申请中分布式文件系统的工作原理以及本申请分布式文件系统访问云数据的方法进行阐述。
S401,本申请实施例中的云存储系统可以是具有分布式元数据服务模型的分布式文件系统,服务端采集传统存储设备所存储的传统数据所对应的元数据,并将所采集的元数据记录在云存储系统的服务端。
在本实施例中,在云存储系统中可以存储从传统存储设备采集的元数据,而所采集的元数据所对应的传统数据依然存储于传统存储设备中。元数据(metadata)为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件纪录等功能。本实施例中所采集的元数据至少包括传统存储设备所存储的数据的存放路径信息。元数据根据内容不同可以是传统存储设备扫描得到(例如文件名、存放路径信息等),也可以是通过计算生成(例如文件的MD5值等),还可以是新增加的字段(例如用于记录数据来源的存储位置标识)。
作为一个较佳的例子,服务端在采集到元数据后可以进行去重处理,只存储未存储过的元数据。去重处理的方式可以是根据文件的MD5值和文件名判断所采集的元数据是否已存在,如果不存在,则执行记录所采集元数据的步骤。MD5值是根据公开的MD5算法对原信息进行数学变换后得到的一个128位(bit)的特征码。MD5值相同的文件具有相同的文件内容。
对于云存储系统中存储集群中已存储的云数据,服务端采集所对应的元数据,并将所采集的元数据进行记录的方式可以与现有技术一致。
值得指出的是,作为一个例子,对于从传统存储设备或存储集群中所采集并记录的元数据还可以包含存储位置标识,用来表示元数据所对应的数据是被存储于传统存储设备中还是存储集群中。
S402,客户端访问云数据的过程可以是读取云数据,也可以是写入云数据。当客户端请求获取目标云数据时,服务端查找目标云数据的存放路径信息,并将目标云数据存放路径信息返回给客户端。在本申请中将客户端当前需要获取的云数据称为目标云数据。
客户端从云存储系统中读取目标云数据的时候,首先从服务端中查找该云数据的访问路径,服务端所保存的元数据可以是传统存储设备采集的传统数据的元数据,也可以是云存储系统的存储集群中的数据的元数据,根据所存储的元数据可以查找到客户端请求读取的云数据的存储路径信息。作为一个例子,客户端可以将所要读取的云数据的文件的文件名发给服务端,服务端查找所存储的元数据中是否存在与该文件的文件名一致的信息,如果有,则将该数据文件所对应的存放路径信息返回给客户端。
在传统存储设备中数据的存储策略与存储集群中数据的存储策略有所不同(传统存储设备中通常无需存储多个备份,而存储集群中为了保证数据的可靠性通常采用复制(多副本存储),纠删码,网络raid等方式存储数据),因此服务端可以根据存储位置标识is_Legacy来区分数据的是在传统存储设备中还是在存储集群中,如果数据在传统存储设备中,则可以获取到文件名所对应的唯一的存放路径信息;如果数据被存储于存储集群,则按照预定策略读取至少其中的一个存放路径信息返回给客户端。例如,针对采用复制策略存储的数据,服务端在读取存放路径信息时,可以将所存储文件的正本的存放地址返回给客户端,待该文件不可读时,再尝试读副本的存放地址;另外,也可以将正副本的存放地址均发给客户端。
S403,如果所读取目标云数据的存放路径信息指向所述传统存储设备,则客户端从传统存储设备获取所述云数据。
客户端会根据获取到的存放路径信息,发送读文件的请求时可以在请求中携带存放路径信息,如果存放路径信息是指向云存储系统的存储集群,则从存储集群中获取云数据,如果存放路径信息指向传统存储设备,则从传统存储设备中读取数据。
从步骤S401至S403可以看出,客户端可以直接从传统存储设备中获取数据,传统存储设备也无需将传统数据上传至云存储系统中,由于元数据的数据量小,上传时间快,因此避免了用户在数据上传时间的等待。
本申请还进一步提供了客户端写入云数据的方案,结合图5从服务端所执行的步骤来进行描述。
S501,当客户端请求写入云数据时,服务端判断待写入的云数据是否已经被存储过;
在一个例子中,写入云数据的操作可以是写入新数据、在原有数据上追加数据、覆盖原有数据、修改原数据等操作。客户端可以将待写入的云数据的文件的文件名发给服务端,服务端查找所存储的云数据中该文件的文件名是否存在;在另一个例子中,客户端可以将待写入的云数据的文件的文件名及MD5值发给服务端,服务端查找所存储的云数据中该文件名是否存在,如果存在,则进一步判断该文件名所对应的文件的MD5值是否与待存储的云数据的MD5值一致,当文件名和MD5值均一致时说明待写入的云数据已存在,可提示用户文件已存在,无需上传;如果文件名已存在,但两个文件名的MD5值不同,则可提示用户是否进行覆盖、追加、修改等操作。
S502,如果待写入的云数据在服务端和传统存储设备中均未存储,则服务端分配存储路径,将待写入的云数据在服务端进行存储;
由于数据可靠性是云存储系统的特点之一,为了保证数据的可靠性,服务端存储云数据时可以采用复制(多副本存储),纠删码,网络raid等方式,以复制的方式举例:写入云数据的时候,由于需要写至少两份云数据,因此服务端分配的存储路径可以包括至少两个存储路径,客户端分别发送至少两份云数据到对应的存储地址中;另外,服务端也可以是仅分配给客户端一个存储路径,客户端将数据写入该存储路径后,由服务端再复制多份复本到另外的存储路径。
S503,如果待写入的云数据已经存储于传统存储设备中,且客户端请求继续写入云数据,则客户端向传统存储设备请求将待写入的云数据写入相应存储路径。
如果待写入的云数据已存储于传统存储设备或服务端,则服务端会将查找到的存放路径信息返回给客户端,用户在收到存放路径信息后进一步指示客户端下一步操作,如果放弃上载原已存储数据,则操作结束。如果用户通过客户端请求继续写入云数据,此时,如果原来已经存在的数据的存放路径在服务端上,则直接按照此路径存储待写入的云数据;如果原来已经存在的数据的存放路径在传统存储设备上,客户端将待写入的云数据在传统存储设备上进行存储。由此可见,传统存储设备在本申请中不仅被赋予直接从中读取数据的功能,也承担了响应客户端写入云数据的功能。
在一个实施例中,图6是实现图3中服务端的结构的一个例子,图中的服务端302包括元数据服务器3021和存储集群3022。元数据服务器3021可以是一个也可以是多个,存储集群3022中包含至少一个存储设备。图4中步骤S401至S403以及图5中的步骤S501至S503所实现的功能通过元数据服务器3021来完成,存储集群3022负责存储云数据。
在本例中,客户端301向元数据服务器3021请求读取目标云数据后,会根据所获得的云数据的存放路径来区分应该从存储集群3022中获取云数据还是从传统存储设备303中获取云数据。而在客户端301向元数据服务器3021请求写入云数据后,在执行写入操作时,根据元数据服务器3021返回的存储路径将云数据存储进存储集群3022或传统存储中。
图7是图6中的元数据服务器的具体实现方式。图7中的元数据服务器包括数据采集模块、元数据存储模块和路由模块,元数据服务器可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,元数据服务器除了图7所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中元数据服务器还可以包括其他硬件,对此图7不再详细示出。
图8是元数据服务器的内部结构的逻辑框图。
数据采集模块801,用于采集传统存储设备的元数据,在一个优选例子中,数据采集模块可以进一步用于根据文件的MD5值和文件名判断所采集的元数据是否已存在,如果不存在,则将所采集的元数据发给所述元数据存储模块。
元数据存储模块802,用于存储所采集的元数据,容易理解,来自存储集群的数据的元数据也可以存储于该元数据存储模块。
存储路径路由模块803,用于当客户端读取目标云数据时,将所读取的云数据的存放路径信息发给所述客户端。当所述客户端请求写入云数据时,存储路径路由模块803判断所述请求中携带的文件名是否已存在;如果所述文件名不存在,则分配存放路径,将待写入的云数据在所述服务端的存储集群中进行存储;如果所述文件名已存在,则所述存储路径路由模块根据所述存储位置标识将所述文件名所对应的存放路径发给所述客户端。
以上是对分布式文件存储系统的工作原理以及分布式文件系统具体实现方式的详细阐述。从上述描述可以看出,本申请将传统存储设备的功能进行了改进,使之具有能够被云存储系统的客户端访问的功能。以下详细介绍具体的实现方案。
图9是本申请传统存储设备的工作原理的流程图:
S901,传统存储设备扫描并生成所存储的数据的元数据,
元数据的定义在步骤S401的描述中已经揭示,根据元数据内容的不同,可以是传统存储设备扫描得到相关的元数据(例如文件名、存放路径信息等),也可以是通过计算生成(例如文件的MD5值等)。传统存储设备开始扫描的时机可以是收到云存储系统服务端采集元数据的请求时,也可以是传统存储设备主动触发,本领域技术人员可以根据实际应用场景的需要来设计。需要传统存储设备生成的元数据可以根据现有技术中提供的手段得以实现,在此不再赘述。
作为一个较佳的例子,传统存储设备在扫描云数据之前可以将存储数据的存储区域划分成多个扫描区域,逐一遍历每个扫描区域,将已经扫描完的扫描区域内的数据对应的元数据发给服务端。这种将元数据分批上传服务端的方式会进一步缩短用户访问云数据需要等待的时间,进一步减小因上传数据对用户带来的访问数据不便问题。
S902,将元数据发给分布式文件系统的服务端;
S903,当收到分布式文件系统的客户端访问云数据的请求时,根据请求中的存放路径信息获取相关的数据发给所述客户端。
传统存储设备可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。图10为传统存储设备硬件架构的一个具体实现方式。图10中的传统存储设备包括数据扫描模块、传统数据存储模块和通信模块。从硬件层面而言,传统存储设备除了图10所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中元数据服务器还可以包括其他硬件,对此图10不再详细示出。
图11为图3中传统存储设备303通过软件实现时的内部结构逻辑框图。在本例中,通过数据扫描模块3031扫描并生成所存储的数据的元数据,将元数据发给分布式文件系统的服务端;进一步,数据扫描模块3031还用于将所存储的数据划分扫描区域,以按照扫描区域扫描所存储的数据。
传统数据存储模块3032,用于存储数据;
通信模块3033,用于当收到分布式文件系统的客户端访问云数据的请求时,根据所述请求中的存放路径信息获取相关的数据发给所述客户端。进一步的,当通信模块3033收到客户端继续写入云数据请求时,将客户端发送的待写入的云数据发给传统数据存储模块3032,传统数据存储模块3032将待写入的云数据写入已经存储有相应数据的存储路径,并将更新后的元数据上传至所述服务端,供所述服务端更新元数据。写入的方式可以是在原来已经存在的数据上追加、修改或者直接覆盖原有数据。
以下对本申请所提供的方案的一个典型的应用场景进行介绍,以便对本申请的方案有更加直观的理解。
如图12所示,本应用实例中元数据服务器中增加一个数据采集模块,在传统存储设备中增加一个数据扫描模块。
元数据扫描和采集过程如下描述:
服务端触发数据采集模块时,数据采集模块启动采集工作,向传统存储设备发送请求,传统存储设备中的数据扫描模块收到请求之后,将本地存储的数据划分扫描区域,初始记录扫描状态为未扫描开始扫描,按照每个扫描区域逐一搜集或计算数据的元数据,每扫描完一个区域,就将该区域的扫描状态设置为已扫描,扫描完的区域的元数据发送给数据采集模块。
在本应用实例中,数据采集模块搜集的元数据可以参考下表1中的各参数。其中存储位置标识is_Legacy用来标记是否是传统存储设备中保存的文件。Status用来表示文件状态是否正常,例如,对比某个文件在传输前后的MD5值是否发生变化可以辨别该文件是否在传输过程中是否被损坏。表1中除了文件名、MD5值、存放路径信息外,还包括多个其他的元数据,以便分布式文件系统服务端不仅可以提供云数据读写的服务,还可以提供例如文件统计等管理类的云服务。
数据采集模块和数据扫描模块可以各自保存如表1中所示的各参数的数据表,也可以根据不同的使用需求,各自增减表中的某些参数进行记录。
表1
数据采集模块收到传统存储设备发回的响应后,作出相应的处理:如果元数据收集成功,则写入到元数据服务器中;如果元数据收集失败,则向元数据服务器返回失败原因。在将元数据写入元数据服务器之前,如果有文件名相同,且文件的MD5值也一样的文件,则提示元数据服务器是否删除该文件,不增加记录。元数据收集失败的原因可能是读元数据错误等原因导致的未扫描完成等因素。
云数据的读取流程结合图13如下描述:
客户端从分布式文件系统中读文件(即云数据)的时候,首先从元数据服务器中查找文件的存放路径,如果获取失败,则读文件失败,如果获取成功,则根据获取到的路径,发送读文件的请求。读文件失败的原因可能包括所读取的文件的元数据尚未从传统存储设备采集到等。
存放路径可能是存储集群的存储路径,也可能是传统存储设备的存放路径,存储集群或传统存储设备收到请求后,开始处理读请求,将文件读入到内存中,并进行封装,返回给客户端。如果读文件失败,返回失败响应给客户端。存储集群或传统存储设备处理完数据后,向元数据服务器返回结果,更新元数据信息。
文件的写入流程结合图14进行描述:
客户端写入文件(即云数据)的时候,首先发送请求到元数据服务器中查询,元数据服务器根据文件的文件名查找,如果该文件名存在,则返回存储路径,如果该文件名不存在,则可根据现有技术中已经存在的启示根据算法计算出所分配的存储路径。
客户端收到响应后,如果文件名存在,且确认不继续写入,则结束该流程;
当文件名不存在或文件名存在且确认需要覆盖写入时,客户端获取路径后,下发写命令,携带写入的文件数据,并等待写入的返回结果。
存储集群收到客户端写入命令后,判断相关路径下文件名是否存在;如果文件名不存在,则直接写入;如果文件名存在,则写入客户端发送的云数据;并返回写入的结果给客户端以及元数据服务器(图中未示出)。写入云数据的方式可以是追加、覆盖、修改等方式。
传统存储设备在收到客户端写入命令后,根据文件名找到已经存在的文件;写入客户端发送的云数据;并返回写入的结果给客户端以及元数据服务器。写入云数据的方式可以是追加、覆盖、修改等方式。
元数据服务器在收到写入成功的结果后更新元数据记录表。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种分布式文件系统中访问云数据的方法,所述分布式文件系统包括服务端和客户端,其特征在于,包括步骤:
服务端采集传统存储设备所存储数据对应的元数据并记录;所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;
当客户端请求读取目标云数据时,服务端查找元数据中所述目标云数据的存放路径信息,并将所述目标云数据的存放路径信息返回给所述客户端;
如果所述目标云数据的存放路径信息指向所述传统存储设备,则所述客户端从所述传统存储设备获取所述目标云数据。
2.根据权利要求1所述的方法,其特征在于,所采集的元数据还包括文件的MD5值和文件名,服务端记录所采集的元数据之前还包括步骤:
根据所述文件的MD5值和文件名判断所采集的元数据是否已存在,如果不存在,则执行记录所采集元数据的步骤。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括步骤:所采集的元数据还包括存储位置标识,用于表示元数据所对应的数据存储于传统存储设备或服务端,以供客户端按照所对应存储设备的存储策略写入云数据;
当所述客户端请求写入云数据时,判断所述请求中携带的文件名是否已存在;如果所述文件名不存在,则所述服务端分配存放路径,将所述客户端写入的云数据在所述服务端进行存储;
如果所述文件名已存在,则所述服务端根据所述存储位置标识将所述文件名所对应的存放路径信息发给所述客户端;所述客户端收到继续写入云数据的指令时,所述客户端根据所述文件名所对应的存放路径信息向所述传统存储设备或所述服务端按照所述存储策略写入云数据。
4.一种元数据服务器,位于分布式文件系统的服务端,其特征在于,包括:
数据采集模块,用于采集传统存储设备所存储数据对应的元数据,所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;
元数据存储模块,用于存储所采集的元数据;
存储路径路由模块,用于当客户端读取目标云数据时,将所述元数据中目标云数据的存放路径信息发给所述客户端。
5.根据权利要求4所述的元数据服务器,其特征在于,所采集的元数据还包括文件的MD5值和文件名,
所述数据采集模块进一步用于根据所述文件的MD5值和文件名判断所采集的元数据是否已存在,如果不存在,则将所采集的元数据发给所述元数据存储模块。
6.根据权利要求5所述的元数据服务器,其特征在于,所述数据采集模块所采集的元数据还包括存储位置标识,用于表示元数据所对应的数据存储于传统存储设备或所述服务端的存储集群,以供客户端按照所对应存储设备的存储策略写入云数据;
当所述客户端请求写入云数据时,所述存储路径路由模块判断所述请求中携带的文件名是否已存在;如果所述文件名不存在,则分配存放路径,将所述客户端写入的云数据在所述服务端的存储集群中进行存储;
如果所述文件名已存在,则所述存储路径路由模块根据所述存储位置标识将所述文件名所对应的存放路径信息发给所述客户端。
7.一种传统存储设备,其特征在于,包括:
数据扫描模块,用于扫描并生成所存储的数据的元数据,将所述元数据发给分布式文件系统的服务端;所述元数据包括数据的存放路径信息;
传统数据存储模块,用于存储数据;
通信模块,用于当收到分布式文件系统的客户端访问云数据的请求时,根据所述请求中的存放路径信息获取相关的数据发给所述客户端。
8.根据权利要求7所述的传统存储设备,其特征在于,所述数据扫描模块还用于将所存储的数据划分扫描区域,以按照扫描区域扫描所存储的数据。
9.根据权利要求7所述的传统存储设备,其特征在于,当通信模块收到所述客户端继续写入云数据的请求时,将客户端发送的的待写入的云数据发给所述传统数据存储模块,所述传统数据存储模块将待写入的云数据写入相应存储路径,并将更新后的元数据上传至所述服务端,供所述服务端更新元数据。
10.一种兼容传统数据的云存储架构,其特征在于,包括:
分布式文件系统和传统存储设备,
所述分布式文件系统包括:
元数据服务器,用于采集传统存储设备所存储数据对应的元数据并记录,所采集的元数据包括所述传统存储设备所存储的数据的存放路径信息;以及当客户端请求读取目标云数据时,查找所述目标云数据的存放路径信息,并将所读取的云数据的存放路径信息返回给所述客户端;
客户端,用于向所述元数据服务器请求读取目标云数据,以及当所述元数据服务器所返回的存放路径信息指向所述传统存储设备时,从所述传统存储设备获取所述云数据;
所述传统存储设备包括:
数据扫描模块,用于扫描并生成所存储的数据的元数据,将所述元数据发给分布式文件系统的元数据服务器;所述元数据包括数据的存放路径信息;
传统数据存储模块,用于存储数据;
通信模块,用于当收到分布式文件系统的客户端访问云数据的请求时,根据所述请求中的存放路径信息获取相关的数据发给所述客户端。
11.根据权利要求1所述的云存储架构,其特征在于,所述分布式文件系统还包括存储集群,用于存储云数据,所采集的元数据还包括文件名和存储位置标识,所述存储位置标识用于表示元数据所对应的数据存储于传统存储设备或存储集群,以供客户端按照所对应存储设备的存储策略写入云数据;
所述客户端进一步用于向所述元数据服务器请求写入云数据,
所述元数据服务器进一步用于判断所述请求中携带的文件名是否已存在;如果所述文件名不存在,则分配存放路径,将客户端写入的云数据在所述存储集群中进行存储;如果所述文件名已存在,则根据所述存储位置标识将所述文件名所对应的存放路径发给所述客户端;
所述客户端收到继续写入待写入的云数据的指令时,根据所述文件名所对应的存放路径向所述传统存储设备或所述存储集群按照所对应存储设备的存储策略写入所述待写入的云数据;
所述传统存储设备或所述存储集群将所述待写入的云数据写入相应的存放路径,并将更新后的元数据上传至所述元数据服务器;所述元数据服务器更新元数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053999.0A CN104618482B (zh) | 2015-02-02 | 2015-02-02 | 访问云数据的方法、服务器、传统存储设备、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053999.0A CN104618482B (zh) | 2015-02-02 | 2015-02-02 | 访问云数据的方法、服务器、传统存储设备、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618482A true CN104618482A (zh) | 2015-05-13 |
CN104618482B CN104618482B (zh) | 2019-07-16 |
Family
ID=53152757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510053999.0A Active CN104618482B (zh) | 2015-02-02 | 2015-02-02 | 访问云数据的方法、服务器、传统存储设备、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618482B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649601A (zh) * | 2016-11-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种文件系统数据处理方法、客户端、服务端及系统 |
CN107026876A (zh) * | 2016-01-29 | 2017-08-08 | 杭州海康威视数字技术股份有限公司 | 一种文件数据访问系统及方法 |
CN107592349A (zh) * | 2017-09-04 | 2018-01-16 | 金蝶软件(中国)有限公司 | 一种存储方法、第一边缘网络设备及相关设备 |
WO2018072576A1 (zh) * | 2016-10-20 | 2018-04-26 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、读取、清理方法、装置及云存储系统 |
CN108810043A (zh) * | 2017-04-28 | 2018-11-13 | 北京云中融信网络科技有限公司 | 一种存储评论信息的方法和装置 |
CN110022338A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 文件读取方法、系统、元数据服务器和用户设备 |
CN110308908A (zh) * | 2018-03-20 | 2019-10-08 | 北京小米移动软件有限公司 | 应用的配置文件的生成和应用页面的展示方法、装置及存储介质 |
CN110913017A (zh) * | 2019-12-19 | 2020-03-24 | 深圳市原创科技有限公司 | 一种基于云桌面的文件压缩传输方法 |
CN111045985A (zh) * | 2019-11-25 | 2020-04-21 | 北京百度网讯科技有限公司 | 文件存储处理方法、服务器、电子设备及存储介质 |
WO2020098654A1 (zh) * | 2018-11-13 | 2020-05-22 | 杭州海康威视系统技术有限公司 | 基于云存储的数据存储方法、装置和存储介质 |
CN111367866A (zh) * | 2020-03-10 | 2020-07-03 | 西安奥卡云数据科技有限公司 | 一种数据云的柜模型系统 |
CN111897792A (zh) * | 2020-08-11 | 2020-11-06 | 北京无线电测量研究所 | 一种分布式文件存取方法、系统、介质及设备 |
CN112511612A (zh) * | 2020-11-19 | 2021-03-16 | 中国联合网络通信集团有限公司 | 云存储数据存储方法、装置、系统、设备及存储介质 |
CN112839071A (zh) * | 2019-11-25 | 2021-05-25 | 商汤集团有限公司 | 训练系统、训练数据访问方法及装置、电子设备、介质 |
CN114079659A (zh) * | 2020-08-13 | 2022-02-22 | 支付宝(杭州)信息技术有限公司 | 分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统 |
WO2023109864A1 (zh) * | 2021-12-16 | 2023-06-22 | 华为技术有限公司 | 一种数据系统、数据访问方法及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282330A (zh) * | 2007-04-04 | 2008-10-08 | 华为技术有限公司 | 网络存储访问权限管理方法及装置、网络存储访问控制方法 |
CN101917416A (zh) * | 2010-07-30 | 2010-12-15 | 北京华夏电通科技有限公司 | 一种网络存储中保证数据完整性的方法 |
CN102143199A (zh) * | 2010-10-19 | 2011-08-03 | 华为技术有限公司 | 获取内容的方法、节点及内容网络 |
CN102523301A (zh) * | 2011-12-26 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种云存储中在客户端缓存数据的方法 |
CN102906751A (zh) * | 2012-07-25 | 2013-01-30 | 华为技术有限公司 | 一种数据存储、数据查询的方法及装置 |
EP2725764A1 (en) * | 2012-03-12 | 2014-04-30 | Huawei Technologies Co., Ltd | Data storage method and data storage device |
CN103931156A (zh) * | 2011-05-14 | 2014-07-16 | 比特卡萨公司 | 具有用户不可知加密文件的服务器侧去重的云文件系统 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的系统与方法 |
-
2015
- 2015-02-02 CN CN201510053999.0A patent/CN104618482B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282330A (zh) * | 2007-04-04 | 2008-10-08 | 华为技术有限公司 | 网络存储访问权限管理方法及装置、网络存储访问控制方法 |
CN101917416A (zh) * | 2010-07-30 | 2010-12-15 | 北京华夏电通科技有限公司 | 一种网络存储中保证数据完整性的方法 |
CN102143199A (zh) * | 2010-10-19 | 2011-08-03 | 华为技术有限公司 | 获取内容的方法、节点及内容网络 |
CN103931156A (zh) * | 2011-05-14 | 2014-07-16 | 比特卡萨公司 | 具有用户不可知加密文件的服务器侧去重的云文件系统 |
CN103959302A (zh) * | 2011-06-01 | 2014-07-30 | 安全第一公司 | 用于安全分布式存储的系统与方法 |
CN102523301A (zh) * | 2011-12-26 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种云存储中在客户端缓存数据的方法 |
EP2725764A1 (en) * | 2012-03-12 | 2014-04-30 | Huawei Technologies Co., Ltd | Data storage method and data storage device |
CN102906751A (zh) * | 2012-07-25 | 2013-01-30 | 华为技术有限公司 | 一种数据存储、数据查询的方法及装置 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107026876B (zh) * | 2016-01-29 | 2019-07-19 | 杭州海康威视数字技术股份有限公司 | 一种文件数据访问系统及方法 |
CN107026876A (zh) * | 2016-01-29 | 2017-08-08 | 杭州海康威视数字技术股份有限公司 | 一种文件数据访问系统及方法 |
WO2018072576A1 (zh) * | 2016-10-20 | 2018-04-26 | 杭州海康威视数字技术股份有限公司 | 一种数据存储、读取、清理方法、装置及云存储系统 |
US11003367B2 (en) | 2016-10-20 | 2021-05-11 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data storage, reading, and cleansing method and device, and cloud storage system |
CN106649601A (zh) * | 2016-11-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种文件系统数据处理方法、客户端、服务端及系统 |
CN108810043A (zh) * | 2017-04-28 | 2018-11-13 | 北京云中融信网络科技有限公司 | 一种存储评论信息的方法和装置 |
CN108810043B (zh) * | 2017-04-28 | 2021-11-02 | 北京云中融信网络科技有限公司 | 一种存储评论信息的方法和装置 |
CN107592349B (zh) * | 2017-09-04 | 2021-01-12 | 金蝶软件(中国)有限公司 | 一种存储方法、第一边缘网络设备及相关设备 |
CN107592349A (zh) * | 2017-09-04 | 2018-01-16 | 金蝶软件(中国)有限公司 | 一种存储方法、第一边缘网络设备及相关设备 |
CN110022338A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 文件读取方法、系统、元数据服务器和用户设备 |
CN110308908A (zh) * | 2018-03-20 | 2019-10-08 | 北京小米移动软件有限公司 | 应用的配置文件的生成和应用页面的展示方法、装置及存储介质 |
CN110308908B (zh) * | 2018-03-20 | 2023-07-18 | 北京小米移动软件有限公司 | 应用的配置文件的生成和应用页面的展示方法、装置及存储介质 |
WO2020098654A1 (zh) * | 2018-11-13 | 2020-05-22 | 杭州海康威视系统技术有限公司 | 基于云存储的数据存储方法、装置和存储介质 |
CN111045985B (zh) * | 2019-11-25 | 2023-10-24 | 北京百度网讯科技有限公司 | 文件存储处理方法、服务器、电子设备及存储介质 |
CN112839071B (zh) * | 2019-11-25 | 2024-01-05 | 商汤集团有限公司 | 训练系统、训练数据访问方法及装置、电子设备、介质 |
CN112839071A (zh) * | 2019-11-25 | 2021-05-25 | 商汤集团有限公司 | 训练系统、训练数据访问方法及装置、电子设备、介质 |
CN111045985A (zh) * | 2019-11-25 | 2020-04-21 | 北京百度网讯科技有限公司 | 文件存储处理方法、服务器、电子设备及存储介质 |
CN110913017B (zh) * | 2019-12-19 | 2023-01-17 | 深圳市原创科技有限公司 | 一种基于云桌面的文件压缩传输方法 |
CN110913017A (zh) * | 2019-12-19 | 2020-03-24 | 深圳市原创科技有限公司 | 一种基于云桌面的文件压缩传输方法 |
CN111367866B (zh) * | 2020-03-10 | 2022-02-08 | 西安奥卡云数据科技有限公司 | 一种数据云的柜模型系统 |
CN111367866A (zh) * | 2020-03-10 | 2020-07-03 | 西安奥卡云数据科技有限公司 | 一种数据云的柜模型系统 |
CN111897792A (zh) * | 2020-08-11 | 2020-11-06 | 北京无线电测量研究所 | 一种分布式文件存取方法、系统、介质及设备 |
CN114079659A (zh) * | 2020-08-13 | 2022-02-22 | 支付宝(杭州)信息技术有限公司 | 分布式存储系统的服务器、分布式存储系统、数据存储及数据访问的方法和系统 |
CN112511612A (zh) * | 2020-11-19 | 2021-03-16 | 中国联合网络通信集团有限公司 | 云存储数据存储方法、装置、系统、设备及存储介质 |
WO2023109864A1 (zh) * | 2021-12-16 | 2023-06-22 | 华为技术有限公司 | 一种数据系统、数据访问方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104618482B (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618482A (zh) | 访问云数据的方法、服务器、传统存储设备、架构 | |
CN1692356B (zh) | 用于对现存文件重新条带化的方法 | |
US9906598B1 (en) | Distributed data storage controller | |
CN110046133B (zh) | 一种存储文件系统的元数据管理方法、装置及系统 | |
CN102667772B (zh) | 文件级分级存储管理系统、方法和设备 | |
US7783737B2 (en) | System and method for managing supply of digital content | |
US8918392B1 (en) | Data storage mapping and management | |
US9842153B2 (en) | Usage and bandwidth utilization collection mechanism for a distributed storage system | |
US8898101B2 (en) | Managing file systems and file-based data storage | |
US8700573B2 (en) | File storage service system, file management device, file management method, ID denotative NAS server and file reading method | |
US7788303B2 (en) | Systems and methods for distributed system scanning | |
US9575974B2 (en) | Distributed file system gateway | |
US11314444B1 (en) | Environment-sensitive distributed data management | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
JP2004280283A (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
CN113515487B (zh) | 查询目录的方法、计算设备和分布式文件系统 | |
CN103150394A (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
US10289494B1 (en) | Smart connector for network data management protocol (NDMP) backups | |
CN104778192B9 (zh) | 表示可内容寻址存储系统的目录结构 | |
US20110040788A1 (en) | Coherent File State System Distributed Among Workspace Clients | |
CN106294352A (zh) | 一种文件处理方法、装置和文件系统 | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
CN112597114A (zh) | 一种基于对象存储的olap预计算引擎优化方法及应用 | |
CN110008197A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN109302448A (zh) | 一种数据处理方法及装置 |
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 |