CN111399756A - 一种数据存储方法、数据下载方法及装置 - Google Patents
一种数据存储方法、数据下载方法及装置 Download PDFInfo
- Publication number
- CN111399756A CN111399756A CN201910935398.0A CN201910935398A CN111399756A CN 111399756 A CN111399756 A CN 111399756A CN 201910935398 A CN201910935398 A CN 201910935398A CN 111399756 A CN111399756 A CN 111399756A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- storage area
- area
- stored
- 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
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013500 data storage Methods 0.000 title claims abstract description 38
- 238000007726 management method Methods 0.000 claims abstract description 127
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000012856 packing Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 8
- 238000005192 partition Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据存储方法、数据下载方法和装置。数据存储方法应用于存储节点,包括:按照预设分类规则,确定待存储数据的目标数据类型;从本地存储区域中确定与目标数据类型对应的第一存储区域;将待存储数据存储到第一存储区域。数据下载方法应用于管理节点,包括:向存储节点发送检索条件,以使存储节点检索所对应数据类型与检索条件匹配的第二存储区域,并反馈检索结果;获得待利用的检索结果,并基于待利用的检索结果,生成反馈结果;向数据检索客户端发送反馈结果,以使客户端基于反馈结果,获得与检索条件匹配的数据。与现有技术相比,应用本发明实施例提供的方案,能够提高数据下载的效率。
Description
技术领域
本发明涉及云存储技术领域,特别是涉及一种数据存储方法、数据下载方法和装置。
背景技术
随着云存储技术的不断发展,云存储系统凭借其成本低、安全性高等诸多优势被越来越多的企业所应用。
相关技术中,为了保证云存储系统中各个存储节点的负载均衡,数据是在各个存储节点中分散存储的。相应的,当用户从云存储系统中下载数据时,云存储系统中的管理节点首先获取到用户输入的检索条件;进而,管理节点向各个存储节点发送包括该检索条件的数据查询指令。各个存储节点在接收到该数据查询指令后,在所存储的数据中检索符合该检索条件的数据,并将检索到的数据发送给管理节点。这样,管理节点便可以将接收到的数据推送给用户,以使得用户可以进行数据下载。
显然,在上述相关技术中,数据下载过程中,云存储系统中的各个存储节点需要对所存储的数据进行逐一检索。这样,在数据下载过程中,无疑会出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题。其中,存储节点的读取损耗包括存储节点的读取时间,以及存储节点中存储介质使用寿命的损耗等。
发明内容
本发明实施例的目的在于提供一种数据存储方法、装置及电子设备和一种数据下载方法、装置及电子设备,以实现提高数据下载的效率。
具体技术方案如下:
第一方面,本发明实施例提供了一种数据存储方法,应用于云存储系统的存储节点,所述方法包括:
获取待存储数据;
按照预设分类规则,确定所述待存储数据的目标数据类型;其中,所述预设分类规则是根据用户需求设定的数据分类规则;
从预设的各个本地存储区域中,确定与所述目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
将所述待存储数据存储到所述第一存储区域。
可选的,一种具体实现方式中,在所述将所述待存储数据存储到所述第一存储区域的步骤之前,所述方法还包括:
基于所述第一存储区域的位置信息,生成所述待存储数据的统一资源定位符URL;
所述将所述待存储数据存储到所述第一存储区域的步骤,包括:
对所述URL和所述待存储数据进行打包,并将打包得到的数据包存储到所述第一存储区域。
可选的,一种具体实现方式中,所述对所述URL与所述待存储数据进行打包的步骤,包括:
按照预定的数据格式,对所述URL和所述待存储数据进行打包;
其中,所述预定的数据格式为:所述待存储数据、所述预设分隔符、所述URL和所述预设分隔符的排列格式。
可选的,一种具体实现方式中,每一本地存储区域对应于一备份存储区域,所述方法还包括:
将所述待存储数据存储到所述第一存储区域对应的备份存储区域。
第二方面,本发明实施例提供了一种数据下载方法,应用于云存储系统的管理节点,其中,各个待存储数据是存储在所述云存储系统的各个存储节点的各个本地存储区域中与该待存储数据的目标数据类型对应的第一存储区域中的,所述目标数据类型是按照预设分类规则确定的,所述预设分类规则是根据用户需求设定的数据分类规则;所述方法包括:
获取数据检索客户端发送的检索条件;其中,所述检索条件与各个所述存储节点中自身包括的各个本地存储区域的划分规则相匹配;
向各个所述存储节点发送所述检索条件,以使各个所述存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与所述检索条件匹配的第二存储区域,并基于所述第二存储区域,向所述管理节点反馈检索结果;其中,所述检索结果为:所述第二存储区域存储的数据或所述第二存储区域的区域信息;
获得待利用的各个检索结果,并基于所述待利用的各个所述检索结果,生成反馈结果;
向所述数据检索客户端发送所述反馈结果,以使所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息;
所述基于所述待利用的各个所述检索结果,生成反馈结果的步骤,包括:
基于待利用的各个所述第二存储区域的区域信息,生成待利用的各个所述第二存储区域的区域编号,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的区域编号,并在检测到所述用户对目标区域编号的第一指定操作时,生成第一数据下载指令;其中,所述目标区域编号为:所述待利用的各个所述第二存储区域的区域编号中的至少一个,所述第一数据下载指令中携带有所述目标区域编号;
向所述管理节点发送所述第一数据下载指令,以使所述管理节点定位所述目标区域编号对应的第二存储区域所在的第一存储节点,并使所述第一存储节点向所述数据检索客户端,发送所述目标区域编号对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,所述基于所述待利用的各个所述第二存储区域的区域信息,生成各个所述第二存储区域的区域编号的步骤,包括:
按照预设顺序,分别排列所述待利用的各个所述第二存储区域的区域信息中的各类信息,生成所述待利用的各个所述第二存储区域的区域编号;
其中,所述预设顺序为:
所述第二存储区域所在的存储节点ID、所述第二存储区域所在的磁盘ID、所述第二存储区域所存储的数据在磁盘内偏移量和所述第二存储区域所存储数据的长度。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息;
所述基于所述待利用的各个所述检索结果,生成反馈结果的步骤,包括:
基于待利用的各个所述第二存储区域的区域信息,以及发送各个所述待利用的所述第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个所述第二存储区域的第二网络访问地址,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的第二网络访问地址,并在检测到所述用户对目标访问地址的第二指定操作时,生成第二数据下载指令;其中,所述目标访问地址为:所述待利用的各个所述第二存储区域的第二网络访问地址中的至少一个,所述第二数据下载指令携带有所述目标网络访问地址;
向所述目标网络访问地址所对应的第二存储节点发送所述第二数据下载指令,以使所述第二存储节点向所述数据检索客户端,发送所述目标网络访问地址对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息,每一所述本地存储区域对应一备份存储区域;
所述基于所述第二存储区域,向所述管理节点反馈检索结果的步骤,包括:
基于所述第二存储区域,向所述管理节点反馈检索结果、所述第二存储区域的通用唯一识别码UUID和主备标识;
所述获得待利用的各个检索结果的步骤,包括:
接收各个所述存储节点反馈的检索结果、UUID和主备标识;
将对应相同UUID的每对区域信息中,所述主备标识为备份标识的区域信息删除;
将剩余的检索结果,作为待利用的各个检索结果。
第三方面,本发明实施例提供了一种存储节点,所述存储节点包括:
数据获取模块,用于获取待存储数据;
类型确定模块,用于按照预设分类规则,确定所述待存储数据的目标数据类型;其中,所述预设分类规则是根据用户需求设定的数据分类规则;
区域确定模块,用于从预设的各个本地存储区域中,确定与所述目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
数据存储模块,用于将所述待存储数据存储到所述第一存储区域。
可选的,一种具体实现方式中,所述存储节点还包括:
定位符确定模块,用于在所述将所述待存储数据存储到所述第一存储区域的步骤之前,基于所述第一存储区域的位置信息,生成所述待存储数据的统一资源定位符URL;
所述数据存储模块,具体用于对所述URL和所述待存储数据进行打包,并将打包得到的数据包存储到所述第一存储区域。
可选的,一种具体实现方式中,所述定位符确定模块,具体用于按照预定的数据格式,对所述URL和所述待存储数据进行打包;
其中,所述预定的数据格式为:所述待存储数据、所述预设分隔符、所述URL和所述预设分隔符的排列格式。
可选的,一种具体实现方式中,每一本地存储区域对应于一备份存储区域,所述存储节点还包括:
数据备份模块,用于将所述待存储数据存储到所述第一存储区域对应的备份存储区域。
第四方面,本发明实施例提供了一种管理节点,各个待存储数据是存储在所述云存储系统的各个存储节点的各个本地存储区域中与该待存储数据的目标数据类型对应的第一存储区域中的,所述目标数据类型是按照预设分类规则确定的,所述预设分类规则是根据用户需求设定的数据分类规则;所述管理节点包括:
条件获取模块,用于获取数据检索客户端发送的检索条件;其中,所述检索条件与各个所述存储节点中自身包括的各个本地存储区域的划分规则相匹配;
条件发送模块,用于向各个所述存储节点发送所述检索条件,以使各个所述存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与所述检索条件匹配的第二存储区域,并基于所述第二存储区域,向所述管理节点反馈检索结果;其中,所述检索结果为:所述第二存储区域存储的数据或所述第二存储区域的区域信息;
结果获得模块,用于获得待利用的各个检索结果;
结果生成模块,用于基于所述待利用的各个所述检索结果,生成反馈结果;
结果反馈模块,用于向所述数据检索客户端发送所述反馈结果,以使所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息;所述结果生成模块包括:
第一生成子模块,用于基于待利用的各个所述第二存储区域的区域信息,生成待利用的各个所述第二存储区域的区域编号,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的区域编号,并在检测到所述用户对目标区域编号的第一指定操作时,生成第一数据下载指令;其中,所述目标区域编号为:所述待利用的各个所述第二存储区域的区域编号中的至少一个,所述第一数据下载指令中携带有所述目标区域编号;
向所述管理节点发送所述第一数据下载指令,以使所述管理节点定位所述目标区域编号对应的第二存储区域所在的第一存储节点,并使所述第一存储节点向所述数据检索客户端,发送所述目标区域编号对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,所述第一生成子模块,具体用于按照预设顺序,分别排列所述待利用的各个所述第二存储区域的区域信息中的各类信息,生成所述待利用的各个所述第二存储区域的区域编号;
其中,所述预设顺序为:所述第二存储区域所在的存储节点ID、所述第二存储区域所在的磁盘ID、所述第二存储区域所存储的数据在磁盘内偏移量和所述第二存储区域所存储数据的长度。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息;所述结果生成模块包括:
第二生成子模块,用于基于待利用的各个所述第二存储区域的区域信息,以及发送各个所述待利用的所述第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个所述第二存储区域的第二网络访问地址,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的第二网络访问地址,并在检测到所述用户对目标访问地址的第二指定操作时,生成第二数据下载指令;其中,所述目标访问地址为:所述待利用的各个所述第二存储区域的第二网络访问地址中的至少一个,所述第二数据下载指令携带有所述目标网络访问地址;
向所述目标网络访问地址所对应的第二存储节点发送所述第二数据下载指令,以使所述第二存储节点向所述数据检索客户端,发送所述目标网络访问地址对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,所述检索结果为:所述第二存储区域的区域信息,每一所述本地存储区域对应一备份存储区域;
所述基于所述第二存储区域,向所述管理节点反馈检索结果的方式,包括:
基于所述第二存储区域,向所述管理节点反馈检索结果、所述第二存储区域的通用唯一识别码UUID和主备标识;
所述结果获得模块,具体用于接收各个所述存储节点反馈的检索结果、UUID和主备标识;将对应相同UUID的每对区域信息中,所述主备标识为备份标识的区域信息删除;将剩余的检索结果,作为待利用的各个检索结果。
第五方面,本发明实施例提供了一种存储节点,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的一种数据存储方法中任一所述的方法步骤。
第六方面,本发明实施例提供了一种管理节点,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面提供的一种数据下载中任一所述的方法步骤。
第七方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的一种数据存储方法中任一所述的方法步骤。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面提供的一种数据下载中任一所述的方法步骤。
以上可见,应用本发明实施例提供的方案,云存储系统的存储节点可以预先得到根据用户需求设定的数据分类规则,并将自身所具有的存储空间划分为多个本地存储区域,进而,根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。这样,在存储待存储数据时,在获取到待存储数据后,存储节点首先按照上述数据分类规则,确定该待存储数据的目标数据类型,进而,在各个本地存储区域中,确定所对应数据类型与该目标数据类型对应的第一存储区域,并将待存储数据存储到该第一存储区域。基于此,存储节点中每个本地存储区域中所存储的数据的数据类型是相同的,也就是说,存储节点将数据类型相同的数据存储到同一本地存储区域。
相应的,在数据下载时,用户通过与云存储系统中的管理节点,以及存储节点通信连接的数据检索客户端进行数据下载。其中,在接收到用户输入的,且与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配的检索条件后,数据检索客户端便可以将该检索条件发送给管理节点。进而,管理节点在接收到该检索条件后,向各个存储节点发送该检索条件。然后,各个存储节点在接收到该检索条件后,便可以在自身包括的各个本地存储区域中,检索所对应数据类型与该检索条件匹配的第二存储区域,并向管理节点反馈检索结果。这样,管理节点便可以利用得到的待利用的各个检索结果,生成反馈结果,并将反馈结果反馈给上述数据检索客户端。从而数据检索客户端便可以基于反馈结果,获得与上述检索条件匹配的数据。
基于此,在数据下载过程中,存储节点不需要对所存储的数据进行逐一检索,而只需要检索自身所包括的各个本地存储区域所对应的数据类型是否与检索条件相匹配即可,即存储节点不需要对所存储的数据进行逐一读取,而只需要读取自身所包括的各个本地存储区域所对应的数据类型即可。
可见,由于存储节点自身所包括的本地存储区域的数量有限且较少,因此,在数据下载过程中,存储节点的读取时间将大大缩短,且存储节点中存储介质使用寿命的损耗也将大大减少,从而避免出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题,提高数据下载效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的流程示意图;
图2为本发明实施例提供的另一种数据存储方法的流程示意图;
图3为本发明实施例提供的一种数据存储结构图;
图4为本发明实施例提供的一种数据下载方法的流程示意图;
图5为本发明实施例提供的一种数据下载方法的一种具体应用实例中的信令交互图;
图6为本发明实施例提供的一种数据检索客户端基于反馈结果,获得与检索条件匹配的数据的具体实现方式中的信令交互图;
图7为本发明实施例提供的一种存储节点的结构示意图;
图8为本发明实施例提供的一种管理节点的结构示意图;
图9为本发明实施例提供的一种存储节点的结构示意图;
图10为本发明实施例提供的一种管理节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在云存储系统的相关技术中,数据下载过程中,云存储系统中的各个存储节点需要对所存储的数据进行逐一检索。这样,在数据下载过程中,无疑会出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题。为了解决上述问题,本发明实施例提供了一种数据存储方法和一种数据下载方法。
其中,需要说明的是,在本发明实施例中所涉及到的管理节点可以为任一能够对至少一个存储节点进行管理的电子设备,例如,笔记本电脑、台式电脑、平板电脑等,对此,本发明实施例不做具体限定,以下简称管理节点;同样的,在本发明实施例中所涉及到的存储节点可以为任一能够与其他存储节点进行数据交互,且能够进行数据存储的电子设备,例如,笔记本电脑、台式电脑、平板电脑等,对此,本发明实施例不做具体限定,以下简称存储节点。
另外,在本发明实施例提供的方案中,在确定云存储系统中的管理节点和存储节点时,是根据节点在执行本发明实施例提供的方案时,所实现的功能进行划分的。也就是说,管理节点可以为云存储系统中任一可以实现对存储节点以及存储节点所存储的数据进行管理,且与其他电子设备进行指令、数据等信息交互的节点,存储节点可以为云存储系统中任一可以实现数据存储的节点。
基于此,在无管理节点化的云存储系统中,在该云存储系统的多个节点中,可以指定其中一节点为管理节点,用于实现对存储节点进行管理,且与其他电子设备进行指令、数据等信息交互,并指定其他节点为存储节点,用于存储待存储数据。
下面,首先对本发明实施例提供的一种数据存储方法进行介绍。
图1为本发明实施例提供的一种数据存储方法的流程示意图,其中,该方法应用于云存储系统中的存储节点。如图1所示,该数据存储方法可以包括如下步骤:
S101:获取待存储数据;
在进行数据存储时,存储节点首先获取待存储数据。
其中,存储节点可以通过多种方式获取待存储数据,对此,本发明实施例不做具体限定。
例如,该待存储数据可以是存储节点通过用于与云存储系统外部的电子设备进行数据交互的数据接口,直接从云存储系统外部的电子设备处获得的,举例而言,用户直接通过数据存储客户端向存储节点发送待存储数据;
又例如,该待存储数据可以是存储节点从云存储系统中管理自身的管理节点处获得的,举例而言,用户通过数据存储客户端将待存储数据发送至管理节点,管理节点在接收到待存储数据时,向所管理的存储节点发送该待存储数据。
S102:按照预设分类规则,确定待存储数据的目标数据类型;
其中,预设分类规则是根据用户需求设定的数据分类规则;
由于存储节点可以事先获得根据用户需求设定的数据分类规则,因此,在获取到待存储数据后,存储节点便可以按照该预设的分类规则,确定该待存储数据的目标数据类型。
其中,该数据分类规则可以根据用户需求从一个或多个数据分类角度进行设定,对此,本发明实施例不做具体限定。
其中,可以根据待存储数据的文件存储资源池标识(Pool Identification,PoolID)进行分类,具体的,可以为存储节点所划分的各个本地存储区域设置PoolID,并将所设置的每个PoolID作为一数据类型,进而,存储节点所获取到的待存储数据中可以携带该待存储数据所对应的PoolID。这样,存储节点在获取到待存储数据时,便可以将待存储数据所携带的PoolID确定为待存储数据的目标数据类型,从而将各个本地存储区域中设置有待存储数据所携带的PoolID的本地存储区域确定为所对应数据类型与目标数据类型对应的第一存储区域。
也可以根据待存储数据的文件时间戳(Timestamp)进行分类,举例而言,待存储数据为所携带文件时间戳为采集时间的视频帧,则可以按照该视频帧的采集时间对该视频帧进行分类,示例性的,采集时间在0:00-6:00之间为第一类型,采集时间在6:00-12:00之间为第二类型,采集时间在12:00-18:00之间为第三类型,采集时间在18:00-24:00之间为第四类型。
也可以根据待存储数据的文件类型(FileType)进行分类,举例而言,图片数据为第一类型、视频数据为第二类型、音频数据为第三类型、文本文档数据为第四类型。
也可以根据待存储数据的文件数据来源用户标识(User Identification,UserID)进行分类,举例而言,待存储数据为道路交通智能管理系统中的图像采集设备采集并发送的违章车辆图像,则可以根据该采集设备的标识对待存储数据进行分类,即将每一采集设备的标识作为一数据类型。
当然,还可以根据待存储数据的Timestamp和UserID进行分类。
S103:从预设的各个本地存储区域中,确定与目标数据类型对应的第一存储区域;
其中,每一本地存储区域唯一对应一数据类型;
S104:将待存储数据存储到第一存储区域。
存储节点在预先得到上述预设分类规则后,便可以将自身所具有的存储空间划分为多个本地存储区域,并根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。也就是说,存储节点可以预先设定自身所包括的各个本地存储区域中,每个本地存储区域所存储的数据的数据类型。其中,每一本地存储区域唯一对应一数据类型,即每一本地存储区域用于只用于存储一个类型的数据。
这样,在确定了待存储数据的目标数据类型后,存储节点便可以从预设的各个本地存储区域中,确定所存储的数据的数据类型为该目标数据类型的存储区域,并将所确定的存储区域作为第一存储区域。进而,存储节点便可以将待存储数据存储到该第一存储区域,完成对待存储数据的存储。
例如,存储节点A中包括4个本地存储区域1-4,上述预设分类规则为根据待存储数据的FileType进行分类,且该分类规则中包括图片数据、视频数据、音频数据和文本文档数据四种数据类型。则存储节点A可以设定本地存储区域1用于存储图片数据,本地存储区域2用于存储视频数据,本地存储区域3用于存储音频数据,本地存储区域4用于存储文本文档数据。进而,当存储节点A所获取到的待存储数据为一张人脸图像,则存储节点A可以确定该待存储数据的目标数据类型为图片数据,进而,确定与该目标数据类型对应的第一存储区域为本地存区域1。这样,待存储数据便可以将该张人脸图像存储到本地存储区域1。
以上可见,应用本发明实施例提供的方案,云存储系统的存储节点可以预先得到根据用户需求设定的数据分类规则,并将自身所具有的存储空间划分为多个本地存储区域,进而,根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。这样,在存储待存储数据时,在获取到待存储数据后,存储节点首先按照上述数据分类规则,确定该待存储数据的目标数据类型,进而,在各个本地存储区域中,确定所对应数据类型与该目标数据类型对应的第一存储区域,并将待存储数据存储到该第一存储区域。基于此,存储节点中每个本地存储区域中所存储的数据的数据类型是相同的,也就是说,存储节点将数据类型相同的数据存储到同一本地存储区域。
进而,在数据下载过程中,存储节点便可以不需要对所存储的数据进行逐一检索,而只检索自身所包括的各个本地存储区域所对应的数据类型是否与检索条件相匹配即可,即存储节点不需要对所存储的数据进行逐一读取,而只需要读取自身所包括的各个本地存储区域所对应的数据类型即可。
可见,由于存储节点自身所包括的本地存储区域的数量有限且较少,因此,在数据下载过程中,存储节点的读取时间将大大缩短,且存储节点中存储介质使用寿命的损耗也将大大减少,从而避免出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题,提高数据下载效率。
此外,在有些情况中,用户可能只需要存储节点中所储存的某一个数据,那么在这种情况下,用户可以利用所要获得的数据的URL在存储节点中下载该数据。具体的,存储节点在获取到该URL后,便可以根据该URL在存储空间所储存的各个数据中,查找该URL对应的数据,并将所查找到的数据反馈给用户。
基于此,可选的,一种具体实现方式中,如图2所示,本发明实施例提供的另一种数据存储方法中,可以包括如下步骤:
S201:获取待存储数据;
S202:按照预设分类规则,确定待存储数据的目标数据类型;其中,预设分类规则是根据用户需求设定的数据分类规则;
S203:从预设的各个本地存储区域中,确定与目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
其中,上述步骤S201-S203与上述图1所示的一种数据存储方法中的步骤S201-S203相同,在此不再赘述。
S204:基于第一存储区域的位置信息,生成待存储数据的统一资源定位符URL;
在本具体实现方式中,在确定与目标数据类型对应的第一存储区域后,存储节点可以不直接将该待存储数据存储到所确定的第一存储区域中,而是基于所确定的第一存储区域的位置信息,生成该待存储数据的URL。
优选的,在确定第一存储区域后,存储节点可以首先为待存储数据生成该待存储数据唯一对应的索引KEY,且所生成的KEY的数据格式为:存储服务序列号+存储时间戳+5位随机码。
其中,存储服务序列号用于表征所确定的第一存储区域的位置信息;存储时间戳表征存储节点存储该待存储数据的时间,且该存储时间戳可以为存储节点根据获取该待存储数据的时间和/或确定第一存储区域的时间所确定的时间,例如,为存储节点获取该待存储数据的时间,或者,为存储节点确定第一存储区域的时间;对此,本发明实施例不做具体限定。
进而,存储节点便可以基于所确定的KEY,生成该待存储数据的URL,且所生成的URL的数据格式为:http://ip:port/smart?KEY。
当然,除上述所提供的待存储数据的URL的生成方式外,存储节点还可以采用其他任一能够生成数据的URL的方式生成所获取到的待存储数据的URL,对此,本发明实施例同样不做具体限定。
S205:对URL和待存储数据进行打包,并将打包得到的数据包存储到第一存储区域。
进而,在生成待存储数据的URL后,存储节点便可以对待存储数据的URL和待存储数据进行打包,并将打包得到的数据包存储到第一存储区域。
其中,存储节点可以通过多种方式,对待存储数据的URL和待存储数据进行打包,对此,本发明实施例不做具体限定。
优选的,存储节点可以按照预定的数据格式,对待存储数据的URL和待存储数据进行打包;
其中,预定的数据格式为:待存储数据、预设分隔符、URL和预设分隔符的排列格式。
具体的,图3为本发明实施例提供的一种数据存储结构图,如图3所示,打包后的数据按照上述预定的数据格式存储在第一存储区域中的源数据区中。
其中,上述预设分割符可以为多个特殊字符组成的字符串,例如,可以为“@#$”,当然,上述预设分隔符也可以为其他形式的符号,这都是合理的。
此外,为了提高数据安全性,避免出现由于存储区域故障或者其他原因所处造成的数据丢失,无法找回的问题,可选的,一种具体实现方式中,在构建云存储系统时,可以事先为一存储节点中的每一本地存储区域,在其他存储节点中设置一备份存储区域。
即在本具体实现方式中,每一本地存储区域对应于一备份存储区域。这样,当存储节点确定了上述目标数据类型所对应的第一存储区域后,便可以随之确定该第一存储区域所对应的备份存储区域。
从而,上述本发明实施例所提供的一种数据存储方法中,还可以包括如下步骤:将待存储数据存储到第一存储区域对应的备份存储区域。也就是说,存储节点可以在第一存储区域和第一存储区域对应的备份存储区域中存储相同的待存储数据。
优选的,当存储节点对待存储数据的URL和待存储数据进行打包,得到打包后的数据包时,存储节点也可以将打包后的数据包存储到第一存储区域对应的备份存储区域中。也就是说,存储节点可以在第一存储区域和第一存储区域对应的备份存储区域中存储相同的,且对待存储数据的URL和待存储数据进行打包得到的数据包。
这样,当第一存储区域出现故障,或者由于其他原因造成第一存储区域中所存储的待存储数据出现丢失、错误等问题时,可以从第一存储区域对应的备份存储区域中获取到该待存储数据。
下面,继续对本发明实施例提供的一种数据下载方法进行介绍。
其中,需要说明的是,在本发明实施例中所涉及到的数据检索客户端可以为任一能够与云存储系统中的存储节点和管理节点通信,且能够接收用户发送的检索条件,并向用户反馈检索得到的各类数据的应用软件或者数据平台。例如,该数据检索客户端可以是安装在手机、笔记本电脑等电子设备中的应用软件,也可以是手机、笔记本电脑等电子设备自身构成的数据检索平台。对此,本发明实施例不做具体限定,以下简称数据检索客户端。
其中,用户可以通过多种方式向该数据检索客户端发送检索条件,例如,输入文字信息、输入语音信息、在数据检索客户端提供的检索条件选择页面中进行点选操作等。这都是合理的。当然,该数据检索客户端也可以通过多种方式向用户反馈检索得到的各类数据,对此,本发明实施例不做具体限定。
图4为本发明实施例提供的一种数据下载方法的流程示意图,其中,该方法应用于云存储系统中的管理节点。此外,在该方法中,云存储系统中的各个存储节点中存储有待存储数据,且各个待存储数据是存储在各个存储节点的本地存储区中与该代存数据的目标数据类型对应的第一存储区域中,并且,各个待存储数据的目标数据类型是根据预设分类规则确定的,而预设分类规则则是根据用户需求设定的。
如图4所示,该数据下载方法可以包括如下步骤:
S401:获取数据检索客户端发送的检索条件;
其中,检索条件与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配;
管理节点可以获取数据检索客户端发送的检索条件,其中,该检索条件是与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配的。
由于在该数据下载方法中,云存储系统中的各个存储节点是按照上述本发明实施例提供的一种数据存储方法存储数据的,因此,各个存储节点中自身包括的各个本地存储区域的划分规则中,所包括的数据类型是根据上述存储方法中的预设分类规则所确定的。基于此,上述检索条件应为上述存储方法中的预设分类规则中所包括的一个或多个数据类型。
例如,上述存储方法中的预设分类规则是根据待存储数据的文件类型(FileType)进行分类的,且图片数据为第一类型、视频数据为第二类型、音频数据为第三类型、文本文档数据为第四类型。则该检索条件可以为图片,即下载存储节点中所存储的图片数据;还可以为图片+视频,即下载存储节点中所存储的图片数据和视频数据。
又例如,上述存储方法中的预设分类规则是图片内容进行分类的,且人脸图片数据为第一类型、车辆图片数据为第二类型、人体图片数据为第三类型。则该检索条件可以为人脸图片,即下载存储节点中所存储的人脸图片;也可以为人脸图片+车辆图片,即下载存储节点中所存储的人脸图片和车辆图片。
S402:向各个存储节点发送检索条件,以使各个存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与检索条件匹配的第二存储区域,并基于第二存储区域,向管理节点反馈检索结果;
其中,检索结果为:第二存储区域存储的数据或第二存储区域的区域信息;
进而,管理节点在接收到上述检索条件后,便可以将上述检索条件发送给各个存储节点。
这样,每个存储节点在接收到该检索条件时,便可以在自身所包括的各个本地存储区域中,检索所对应数据类型与检索条件匹配的存储区域,即该存储节点在自身所包括的各个本地存储区域中,检索所存储的数据的数据类型与上述检索条件相匹配的存储区域。
并且,该存储节点将检索得到的存储区域作为第二存储区域。并且,针对所检索到的每个第二存储区域,该存储节点可以基于该第二存储区域,向管理节点反馈该第二存储区域存储的数据,或者,向向管理节点反馈该第二存储区域的区域信息。其中,该存储节点向管理节点所反馈的该第二存储区域存储的数据或者该第二存储区域的区域信息均可以称为该第二存储区域的检索结果。
其中,当该存储节点向管理节点所反馈的是该第二存储区域的区域信息时,该区域信息中,可以包括第二存储区域所在的存储节点ID、第二存储区域所在的磁盘ID、第二存储区域所存储的数据在磁盘内偏移量和第二存储区域所存储数据的长度。当然,该区域信息中还可以包括该第二存储区域的其他信息。
S403:获得待利用的各个检索结果,并基于待利用的各个检索结果,生成反馈结果;
S404:向数据检索客户端发送反馈结果,以使数据检索客户端基于反馈结果,获得与检索条件匹配的数据。
这样,管理节点在接收到各个存储节点反馈的检索结果后,便可以基于所接收到的检索结果,获得待利用的各个检索结果,并基于所获得的待利用的各个检索结果,生成反馈结果。
进而,管理节点便可以向上述数据检索客户端发送所生成的反馈结果。从而,上述数据检索客户端在接收到该反馈结果后,可以基于该反馈结果,获得与检索条件匹配的数据。
以上可见,应用本发明实施例提供的方案,云存储系统的存储节点可以预先得到根据用户需求设定的数据分类规则,并将自身所具有的存储空间划分为多个本地存储区域,进而,根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。这样,在存储待存储数据时,在获取到待存储数据后,存储节点首先按照上述数据分类规则,确定该待存储数据的目标数据类型,进而,在各个本地存储区域中,确定所对应数据类型与该目标数据类型对应的第一存储区域,并将待存储数据存储到该第一存储区域。基于此,存储节点中每个本地存储区域中所存储的数据的数据类型是相同的,也就是说,存储节点将数据类型相同的数据存储到同一本地存储区域。
相应的,在数据下载时,用户通过与云存储系统中的管理节点,以及存储节点通信连接的数据检索客户端进行数据下载。其中,在接收到用户输入的,且与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配的检索条件后,数据检索客户端便可以将该检索条件发送给管理节点。进而,管理节点在接收到该检索条件后,向各个存储节点发送该检索条件。然后,各个存储节点在接收到该检索条件后,便可以在自身包括的各个本地存储区域中,检索所对应数据类型与该检索条件匹配的第二存储区域,并向管理节点反馈检索结果。这样,管理节点便可以利用得到的待利用的各个检索结果,生成反馈结果,并将反馈结果反馈给上述数据检索客户端。从而数据检索客户端便可以基于反馈结果,获得与上述检索条件匹配的数据。
基于此,在数据下载过程中,存储节点不需要对所存储的数据进行逐一检索,而只需要检索自身所包括的各个本地存储区域所对应的数据类型是否与检索条件相匹配即可,即存储节点不需要对所存储的数据进行逐一读取,而只需要读取自身所包括的各个本地存储区域所对应的数据类型即可。
可见,由于存储节点自身所包括的本地存储区域的数量有限且较少,因此,在数据下载过程中,存储节点的读取时间将大大缩短,且存储节点中存储介质使用寿命的损耗也将大大减少,从而避免出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题,提高数据下载效率。
为了提高数据安全性,避免出现由于存储区域故障或者其他原因所处造成的数据丢失,无法找回的问题,在构建云存储系统时,可以事先为一存储节点中的每一本地存储区域,在其他存储节点中设置一备份存储区域。其中,针对每一本地存区域,该本地存储区域与该本地存储区域对应的备份存储区域中所存储的数据相同。因此,当每一本地存储区域对应一备份存储区域时,上述各个存储节点在自身包括的各个本地存储区域中检索到的各个第二存储区域中,会存在两个第二存储区域所存储数据相同的情况发生。
基于此,可选的,一种具体实现方式中,每个存储节点向管理节点反馈的检索结果为:该存储节点在自身所包括的各个本地存储区域中检索到的第二存储区域的区域信息,且每一本地存储区域对应一备份存储区域;
则在本具体实现方式中,上述步骤S402中,每个存储节点基于基于第二存储区域,向管理节点反馈检索结果的方式,可以包括如下步骤:
基于第二存储区域,向管理节点反馈检索结果、第二存储区域的通用唯一识别码UUID和主备标识;
也就是说,在本具体实现方式中,每个存储节点在自身所包括的各个本地存储区域中检索得到第二存储区域后,基于所检索得到的每个第二存储区域,确定该第二存储区域的区域信息、UUID和主备标识,并将所确定的每个第二存储区域的区域信息、UUID和主备标识反馈给管理节点。
相应的,管理节点执行上述步骤S403中,获得待利用的各个检索结果的方式,可以包括如下步骤:
步骤11:接收各个存储节点反馈的检索结果、UUID和主备标识;
步骤12:将对应相同UUID的每对区域信息中,主备标识为备份标识的区域信息删除;
步骤13:将剩余的检索结果,作为待利用的各个检索结果。
管理节点接收每个存储节点发送的在自身所包括的各个本地存储区域中确定的每个第二存储区域的区域信息、UUID和主备标识。
进而,由于每一本地存储区域与该本地存储区域对应的备份存储区域具有相同的UUID,因此,管理节点可以确定所接收到的区域信息中,所对应UUID相同的每对区域信息。进而,将对应相同UUID的每对区域信息中,主备标识为备份标识的区域信息删除。这样,管理节点便可以将剩余的检索结果,作为待利用的各个检索结果。
其中,上述管理节点获得待利用的各个检索结果的方式中的步骤12,可以称为去重操作。
优选的,如图5所示,为本发明实施例提供的一种数据下载方法的一种具体应用实例中的信令交互图。
其中,数据检索客户端首先向管理节点发送检索条件。管理节点在接收到该检索条件后,向存储节点1-n中每一个存储节点发送该检索条件。
则每个存储节点在接收到该检索条件后,便在自身包括的各个本地存储区域中,检索所对应数据类型与检索条件匹配的第二存储区域,进而,针对检索到的每一第二存储区域,该存储节点基于该第二存储区域,向管理节点发送该第二存储区域的区域标识、UUID和主备标识。
这样,管理节点在接收到每个存储节点发送的,该存储节点在自身包括的各个本地存储区域中检索到的每个第二存储区域的区域标识、UUID和主备标识后,便可以将对应于相同UUID的每对区域信息中,主备标识为备份标识的区域信息删除,并将剩余的区域信息确定为待利用的各个检索结果。进而,基于所确定的待利用的各个检索结果,生成反馈结果,并向数据检索客户端反馈所生成的反馈结果。
数据检索客户端在接收到管理节点发送的反馈结果后,便可以基于该反馈结果,获得与上述检索条件匹配的数据。
可选的,一种具体实现方式中,每个存储节点向管理节点反馈的检索结果为:该存储节点在自身所包括的各个本地存储区域中检索到的第二存储区域的区域信息;
则在本具体实现方式中,上述步骤S403中,基于待利用的各个检索结果,生成反馈结果的方式,可以包括如下步骤:
基于待利用的各个第二存储区域的区域信息,生成待利用的各个第二存储区域的区域编号,作为反馈结果;
在本具体实现方式中,管理节点在确定待利用的各个第二存储区域的区域信息后,便可以基于待利用的各个第二存储区域的区域信息,生成待利用的各个第二存储区域的区域编号,并将所生成的各个第二存储区域的区域编号作为反馈结果。
其中,当每一本地存储区域对应一备份存储区域时,则管理节点所获得的待利用的各个第二存储区域的区域信息为:对所接收到的每个第二存储区域的区域信息进行去重操作后剩余的各个第二存储区域的区域信息。
当每一本地存储区域不存在对应的一备份存储区域时,则管理节点所获得的待利用的各个第二存储区域的区域信息为:接收到的每个第二存储区域的区域信息。
其中,管理节点可以通过多种方式基于待利用的各个第二存储区域的区域信息,生成各个第二存储区域的区域编号。对此,本发明实施例不做具体限定。
优选的,管理节点基于待利用的各个第二存储区域的区域信息,生成各个第二存储区域的区域编号的方式,可以包括如下步骤:
按照预设顺序,分别排列待利用的各个第二存储区域的区域信息中的各类信息,生成待利用的各个第二存储区域的区域编号;
其中,预设顺序为:第二存储区域所在的存储节点ID、第二存储区域所在的磁盘ID、第二存储区域所存储的数据在磁盘内偏移量和第二存储区域所存储数据的长度。
也就是说,待利用的每个第二存储区域的区域信息中可以包括:该第二存储区域所在的存储节点ID、该第二存储区域所在的磁盘ID、该第二存储区域所存储的数据在磁盘内偏移量和该第二存储区域所存储数据的长度。则管理节点便可以将对该第二存储区域所在的存储节点ID、该第二存储区域所在的磁盘ID、该第二存储区域所存储的数据在磁盘内偏移量和该第二存储区域所存储数据的长度进行排列所得到的字符串,作为该第二存储区域的区域编号。
进一步的,在本具体实现方式中,由于反馈结果为:所生成的待利用的各个第二存储区域的区域编号,则数据检索客户端基于反馈结果,获得与检索条件匹配的数据的方式,可以包括如下步骤:
步骤21:向用户展示待利用的各个第二存储区域的区域编号,并在检测到用户对目标区域编号的第一指定操作时,生成第一数据下载指令;
其中,目标区域编号为:待利用的各个第二存储区域的区域编号中的至少一个,第一数据下载指令中携带有目标区域编号;
步骤22:向管理节点发送第一数据下载指令,以使管理节点定位目标区域编号对应的第二存储区域所在的第一存储节点,并使第一存储节点向数据检索客户端,发送目标区域编号对应的第二存储区域所存储的数据。
其中,在本具体实现方式中,第一存储节点在向数据检索客户端,发送目标区域编号对应的第二存储区域所存储的数据时,可以将目标区域编号对应的第二存储区域所存储的数据作为一个第一数据包一次性地发送给数据检索客户端。这样,由于在数据发送过程中,第一存储节点仅需要对该第一数据包添加网络消息报文头即可,即只需要添加一个网络消息报文头,而不需要对每个与检索条件所匹配的数据条件网络消息报文头,因此,也可以减少数据发送过程中所占用的网络带宽,进而节省网络成本。
在这种情况下,数据检索客户端可以预先获知存储节点中的各个本地存储区域所存储的数据在该本地存储区域中的存储结构,进而按照该存储结构,对该第一数据包进行分割,得到每一与检索条件所匹配的数据。
例如,存储节点是按照待存储数据、预设分隔符、URL和预设分隔符的排列格式,对每一待存储数据进行打包存储到,则数据检索客户端便可以在所接收到的第一数据包中检索预设分隔符,并基于所检索到的预设分隔符对所接收到的第一数据包进行分割,得到每一与检索条件所匹配的数据。
其中,如图6所示,为在本具体实现方式中,数据检索客户端基于反馈结果,获得与检索条件匹配的数据的过程中的信令交互图。
具体的:数据检索客户端在接收到待利用的各个第二存储区域的区域编号后,便可以向用户展示所接收到的各个区域编号。其中,数据检索客户端可以通过多种形式展示上述各个区域编号,例如,以列表的形式展示上述各个区域编号等,对此,本发明实施例不做具体限定。
进而,用户便可以数据检索客户端所展示的各个区域编号中的至少一个进行第一指定操作,其中,用户所针对的区域编号为目标区域编号。这样,当数据检索客户端在检测用户针对上述目标区域编号的第一指定操作时,便可以生成携带有该目标区域编号的第一数据下载指令,并将该第一数据下载指令发送给管理节点。
其中,本发明实施例不对上述第一指定操作的具体内容进行限定,例如,该第一指定操作可以为鼠标单击操作,也可以为用户手指在触摸屏上的点击操作等。
其中,第一数据下载指令所携带的目标区域编号中可以包括一个区域编号,也可以包括多个区域编号,即检索客户端在检测用户针对上述各个区域编号中的一个区域编号的第一指定操作时,生成携带有该区域编号的一个第一数据下载指令,即该区域编号为目标区域编号,每个第一数据下载指令针对一个第二存储区域;也可以在检测用户针对上述各个区域编号中的多个区域编号的第一指定操作时,生成携带有该多个区域编号的一个第一数据下载指令,即该多个区域编号为目标区域编号,每个第一数据下载指令针对多个第二存储区域。
管理节点在接收到上述第一数据下载指令后,由于上述各个区域编号是管理节点基于待利用的各个第二存储区域的区域信息生成的,因此,管理节点可以基于该第一数据下载指令所携带的目标区域编号,确定该目标区域编号所对应的第二存储区域,进而,定位该目标区域编号对应的第二存储区域所在的第一存储节点。这样,管理节点便可以进一步确定该第一存储节点的网络访问地址,并将所确定的第一存储节点的网络访问地址发送给数据检索客户端。
其中,管理节点将所确定的第一存储节点的网络访问地址发送给数据检索客户端的操作可以称为重定向操作。
数据检索客户端在接收到上述第一存储节点的网络访问地址,并可以直接访问该第一存储节点,因此,数据检索客户端便可以将上述所生成的,且携带有目标区域编号的第一数据下载指令发送给上述第一存储节点。
进而,第一存储节点在接收到第一数据下载指令后,由于上述各个区域编号是基于待利用的各个第二存储区域的区域信息生成的,则目标区域编号可以表征目标区域编号所确定的第二存储区域,因此,第一存储节点可以基于第一数据下载指令所携带的目标区域编号确定目标区域编号所对应的第二存储区域。这样,第一存储节点便可以读取所确定的第二存储区域所存储的数据,并将所读取的数据发送给数据检索客户端。
基于此,数据检索客户端接收第一存储节点发送的数据,便可以得到与上述检索条件匹配的数据。
可选的,一种具体实现方式中,每个存储节点向管理节点反馈的检索结果为:该存储节点在自身所包括的各个本地存储区域中检索到的第二存储区域的区域信息;
则在本具体实现方式中,上述步骤S403中,基于待利用的各个检索结果,生成反馈结果的方式,可以包括如下步骤:
基于待利用的各个第二存储区域的区域信息,以及发送各个待利用的第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个第二存储区域的第二网络访问地址,作为反馈结果;
在本具体实现方式中,管理节点在接收各个存储节点反馈的在自身所包括的各个本地存储区域中检索到的第二存储区域的区域信息时,由于与各个存储节点进行了信息交互,则该管理节点可以获知各个存储节点的网络访问地址。基于此,管理节点便可以获得发送各个待利用的第二存储区域的区域信息的存储节点的网络访问地址,即获得各个第一网络访问地址。
进而,针对待利用的每个第二存储区域的区域信息,管理节点便可以基于该第二存储区域的区域信息和发送该第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的该第二存储区域的网络访问地址,即生成第二网络访问地址。这样,管理节点便可以将所生成的各个第二网络访问地址作为反馈结果。
其中,本发明实施例不对管理节点基于待利用的各个第二存储区域的区域信息,以及发送各个待利用的第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个第二存储区域的第二网络访问地址的方式进行具体限定。
进一步的,在本具体实现方式中,由于反馈结果为:待利用的各个第二存储区域的第二网络访问地址,则数据检索客户端基于反馈结果,获得与检索条件匹配的数据的方式,可以包括如下步骤:
步骤31:向用户展示待利用的各个第二存储区域的第二网络访问地址,并在检测到用户对目标访问地址的第二指定操作时,生成第二数据下载指令;
其中,目标访问地址为:待利用的各个第二存储区域的第二网络访问地址中的至少一个,第二数据下载指令携带有目标网络访问地址;
步骤32:向目标网络访问地址所对应的第二存储节点发送第二数据下载指令,以使第二存储节点向数据检索客户端,发送目标网络访问地址对应的第二存储区域所存储的数据。
其中,在本具体实现方式中,第二存储节点在向数据检索客户端,发送目标区域编号对应的第二存储区域所存储的数据时,可以将目标区域编号对应的第二存储区域所存储的数据作为一个第二数据包一次性地发送给数据检索客户端。这样,由于在数据发送过程中,第二存储节点仅需要对该第二数据包添加网络消息报文头即可,即只需要添加一个网络消息报文头,而不需要对每个与检索条件所匹配的数据条件网络消息报文头,因此,也可以减少数据发送过程中所占用的网络带宽,进而节省网络成本。
在这种情况下,数据检索客户端可以预先获知存储节点中的各个本地存储区域所存储的数据在该本地存储区域中的存储结构,进而按照该存储结构,对该第二数据包进行分割,得到每一与检索条件所匹配的数据。
例如,存储节点是按照待存储数据、预设分隔符、URL和预设分隔符的排列格式,对每一待存储数据进行打包存储到,则数据检索客户端便可以在所接收到的第二数据包中检索预设分隔符,并基于所检索到的预设分隔符对所接收到的第二数据包进行分割,得到每一与检索条件所匹配的数据。
具体的,数据检索客户端在接收到待利用的各个第二存储区域的第二网络访问地址后,便可以向用户展示所接收到的各个第二网络访问地址。其中,数据检索客户端可以通过多种形式展示上述各个第二网络访问地址,例如,以列表的形式展示上述各个第二网络访问地址等,对此本发明实施例不做具体限定。
进而,用户便可以数据检索客户端所展示的各个第二网络访问地址中的至少一个进行第二指定操作,其中,用户所针对的第二网络访问地址为目标网络访问地址。这样,当数据检索客户端在检测用户针对上述目标网络访问地址的第二指定操作时,便可以生成携带有该目标网络访问地址的第二数据下载指令,并将该第二数据下载指令发送给管理节点。
其中,本发明实施例不对上述第一指定操作的具体内容进行限定,例如,该第一指定操作可以为鼠标单击操作,也可以为用户手指在触摸屏上的点击操作等。
其中,第二数据下载指令所携带的目标网络访问地址中可以包括一个第二网络访问地址,也可以包括多个第二网络访问地址,即检索客户端在检测用户针对上述各个区域编号中的一个第二网络访问地址的第二指定操作时,生成携带有该第二网络访问地址的一个第二数据下载指令,即该第二网络访问地址为目标访问地址,每个第二数据下载指令针对一个第二存储区域;也可以在检测用户针对上述各个第二网络访问地址中的多个第二网络访问地址的第二指定操作时,生成携带有该多个第二网络访问地址的一个第二数据下载指令,即该多个第二网络访问地址为目标访问地址,每个第一数据下载指令针对多个第二存储区域。
由于数据检索客户端可以获得待利用的各个第二存储区域的第二网络访问地址,而每个第二存储区域是位于一存储节点中的,因此,数据检索客户端可以根据目标访问地址,确定该目标访问地址所对应的第二存储区域所在的第二存储节点的网络访问地址。基于此,数据检索客户端便可以与该第二存储节点直接进行通信。
这样,数据检索客户端在生成上述第二数据下载指令时,便可以目标访问地址,并将上述所生成的,且携带有目标访问地址的第二数据下载指令发送给上述第二存储节点。
进而,第二存储节点在接收到上述第二数据下载指令后,由于上述各个第二网络访问地址是基于待利用的各个第二存储区域的区域信息生成的,则第二存储节点可以基于第二数据下载指令所携带的目标访问地址确定目标访问地址对应的第二存储区域。这样,第二存储节点便可以读取所确定的第二存储区域所存储的数据,并将所读取的数据发送给数据检索客户端。
基于此,数据检索客户端接收第一存储节点发送的数据,便可以得到与上述检索条件匹配的数据。
可选的,一种具体实现方式中,每个存储节点向管理节点反馈的检索结果为:该存储节点在自身所包括的各个本地存储区域中检索到的第二存储区域中所存储的数据。
其中,由于每个第二存储区域中所存储的数据为与上述检索条件相匹配的数据,则每个存储节点向管理节点反馈的检索结果即为与上述检索条件相匹配的数据,因此,则在本具体实现方式中,管理节点在接收到该检索结果,即接收到各个存储节点在自身所包括的各个本地存储区域中检索到的第二存储区域中所存储的数据后,便可以直接向上述检索客户端发送所接收到的数据。
这样,上述检索客户端便可以直接接收到与检索条件匹配的数据,并向用户展示所接收到的与检索条件匹配的数据。
相应于上述本发明实施例提供的一种数据存储方法,本发明实施例还提供了一种存储节点。
图7为本发明实施例提供的一种存储节点的结构示意图,如图7所示,该存储节点包括如下模块:
数据获取模块710,用于获取待存储数据;
类型确定模块720,用于按照预设分类规则,确定待存储数据的目标数据类型;其中,预设分类规则是根据用户需求设定的数据分类规则;
区域确定模块730,用于从预设的各个本地存储区域中,确定与目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
数据存储模块740,用于将待存储数据存储到第一存储区域。
以上可见,应用本发明实施例提供的方案,云存储系统的存储节点可以预先得到根据用户需求设定的数据分类规则,并将自身所具有的存储空间划分为多个本地存储区域,进而,根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。这样,在存储待存储数据时,在获取到待存储数据后,存储节点首先按照上述数据分类规则,确定该待存储数据的目标数据类型,进而,在各个本地存储区域中,确定所对应数据类型与该目标数据类型对应的第一存储区域,并将待存储数据存储到该第一存储区域。基于此,存储节点中每个本地存储区域中所存储的数据的数据类型是相同的,也就是说,存储节点将数据类型相同的数据存储到同一本地存储区域。
进而,在数据下载过程中,存储节点便可以不需要对所存储的数据进行逐一检索,而只检索自身所包括的各个本地存储区域所对应的数据类型是否与检索条件相匹配即可,即存储节点不需要对所存储的数据进行逐一读取,而只需要读取自身所包括的各个本地存储区域所对应的数据类型即可。
可见,由于存储节点自身所包括的本地存储区域的数量有限且较少,因此,在数据下载过程中,存储节点的读取时间将大大缩短,且存储节点中存储介质使用寿命的损耗也将大大减少,从而避免出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题,提高数据下载效率。
可选的,一种具体实现方式中,上述存储节点还可以包括:
定位符确定模块,用于在将待存储数据存储到第一存储区域的步骤之前,基于第一存储区域的位置信息,生成待存储数据的统一资源定位符URL;
数据存储模块,具体用于对URL和待存储数据进行打包,并将打包得到的数据包存储到第一存储区域。
可选的,一种具体实现方式中,上述定位符确定模块可以具体用于按照预定的数据格式,对URL和待存储数据进行打包;
其中,预定的数据格式为:待存储数据、预设分隔符、URL和预设分隔符的排列格式。
可选的,一种具体实现方式中,每一本地存储区域可以对应于一备份存储区域,则在本具体实现方式中,上述存储节点还可以包括:
数据备份模块,用于将待存储数据存储到第一存储区域对应的备份存储区域。
相应于上述本发明实施例提供的一种数据下载方法,本发明实施例还提供了一种管理节点。其中,各个待存储数据是存储在云存储系统的各个存储节点的各个本地存储区域中与该待存储数据的目标数据类型对应的第一存储区域中的,目标数据类型是按照预设分类规则确定的,预设分类规则是根据用户需求设定的数据分类规则。
图8为本发明实施例提供的一种管理节点的结构示意图,如图8所示,该管理节点可以包括如下模块:
条件获取模块810,用于获取数据检索客户端发送的检索条件;其中,检索条件与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配;
条件发送模块820,用于向各个存储节点发送检索条件,以使各个存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与检索条件匹配的第二存储区域,并基于第二存储区域,向管理节点反馈检索结果;其中,检索结果为:第二存储区域存储的数据或第二存储区域的区域信息;
结果获得模块830,用于获得待利用的各个检索结果;
结果生成模块840,用于基于待利用的各个检索结果,生成反馈结果;
结果反馈模块850,用于向数据检索客户端发送反馈结果,以使数据检索客户端基于反馈结果,获得与检索条件匹配的数据。
以上可见,应用本发明实施例提供的方案,云存储系统的存储节点可以预先得到根据用户需求设定的数据分类规则,并将自身所具有的存储空间划分为多个本地存储区域,进而,根据该数据分类规则中所包括的各个数据类型,为各个本地存储区域设定各自所对应的数据类型。这样,在存储待存储数据时,在获取到待存储数据后,存储节点首先按照上述数据分类规则,确定该待存储数据的目标数据类型,进而,在各个本地存储区域中,确定所对应数据类型与该目标数据类型对应的第一存储区域,并将待存储数据存储到该第一存储区域。基于此,存储节点中每个本地存储区域中所存储的数据的数据类型是相同的,也就是说,存储节点将数据类型相同的数据存储到同一本地存储区域。
相应的,在数据下载时,用户通过与云存储系统中的管理节点,以及存储节点通信连接的数据检索客户端进行数据下载。其中,在接收到用户输入的,且与各个存储节点中自身包括的各个本地存储区域的划分规则相匹配的检索条件后,数据检索客户端便可以将该检索条件发送给管理节点。进而,管理节点在接收到该检索条件后,向各个存储节点发送该检索条件。然后,各个存储节点在接收到该检索条件后,便可以在自身包括的各个本地存储区域中,检索所对应数据类型与该检索条件匹配的第二存储区域,并向管理节点反馈检索结果。这样,管理节点便可以利用得到的待利用的各个检索结果,生成反馈结果,并将反馈结果反馈给上述数据检索客户端。从而数据检索客户端便可以基于反馈结果,获得与上述检索条件匹配的数据。
基于此,在数据下载过程中,存储节点不需要对所存储的数据进行逐一检索,而只需要检索自身所包括的各个本地存储区域所对应的数据类型是否与检索条件相匹配即可,即存储节点不需要对所存储的数据进行逐一读取,而只需要读取自身所包括的各个本地存储区域所对应的数据类型即可。
可见,由于存储节点自身所包括的本地存储区域的数量有限且较少,因此,在数据下载过程中,存储节点的读取时间将大大缩短,且存储节点中存储介质使用寿命的损耗也将大大减少,从而避免出现由于存储节点的读取损耗较多而造成的数据下载效率较低的问题,提高数据下载效率。
可选的,一种具体实现方式中,上述检索结果可以为第二存储区域的区域信息;则在本具体实现方式中,上述结果生成模块840可以包括:
第一生成子模块,用于基于待利用的各个第二存储区域的区域信息,生成待利用的各个第二存储区域的区域编号,作为反馈结果;
进而,在本具体实现方式中,数据检索客户端基于反馈结果,获得与检索条件匹配的数据的方式,可以包括:
向用户展示待利用的各个第二存储区域的区域编号,并在检测到用户对目标区域编号的第一指定操作时,生成第一数据下载指令;其中,目标区域编号为:待利用的各个第二存储区域的区域编号中的至少一个,第一数据下载指令中携带有目标区域编号;
向管理节点发送第一数据下载指令,以使管理节点定位目标区域编号对应的第二存储区域所在的第一存储节点,并使第一存储节点向数据检索客户端,发送目标区域编号对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,上述第一生成子模块可以具体用于按照预设顺序,分别排列待利用的各个第二存储区域的区域信息中的各类信息,生成待利用的各个第二存储区域的区域编号;
其中,预设顺序为:第二存储区域所在的存储节点ID、第二存储区域所在的磁盘ID、第二存储区域所存储的数据在磁盘内偏移量和第二存储区域所存储数据的长度。
可选的,一种具体实现方式中,上述检索结果可以为第二存储区域的区域信息;则在本具体实现方式中,上述结果生成模块840可以包括:
第二生成子模块,用于基于待利用的各个第二存储区域的区域信息,以及发送各个待利用的第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个第二存储区域的第二网络访问地址,作为反馈结果;
进而,在本具体实现方式中,数据检索客户端基于反馈结果,获得与检索条件匹配的数据的方式,可以包括:
向用户展示待利用的各个第二存储区域的第二网络访问地址,并在检测到用户对目标访问地址的第二指定操作时,生成第二数据下载指令;其中,目标访问地址为:待利用的各个第二存储区域的第二网络访问地址中的至少一个,第二数据下载指令携带有目标网络访问地址;
向目标网络访问地址所对应的第二存储节点发送第二数据下载指令,以使第二存储节点向数据检索客户端,发送目标网络访问地址对应的第二存储区域所存储的数据。
可选的,一种具体实现方式中,上述检索结果可以为:第二存储区域的区域信息,每一本地存储区域对应一备份存储区域;
则在本具体实现方式中,基于第二存储区域,向管理节点反馈检索结果的方式,可以包括:
基于第二存储区域,向管理节点反馈检索结果、第二存储区域的通用唯一识别码UUID和主备标识;
进而,上述结果获得模块830可以具体用于接收各个存储节点反馈的检索结果、UUID和主备标识;将对应相同UUID的每对区域信息中,主备标识为备份标识的区域信息删除;将剩余的检索结果,作为待利用的各个检索结果。
相应于上述本发明实施例提供的一种数据存储方法,本发明实施例还提供了一种存储节点,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现上述本发明实施例提供的一种数据存储方法。
相应于上述本发明实施例提供的一种数据下载方法,本发明实施例还提供了一种管理节点,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现上述本发明实施例提供的一种数据下载方法。
上述存储节点和管理节点中提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述本发明实施例提供的一种数据存储方法,本发明实施例还提供了一种计算机可读存储介质,该计算机程序被处理器执行时实现上述本发明实施例提供的一种数据存储方法。
相应于上述本发明实施例提供的一种数据下载方法,本发明实施例还提供了一种计算机可读存储介质,该计算机程序被处理器执行时实现上述本发明实施例提供的一种数据下载方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于管理节点实施例、存储节点实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种数据存储方法,其特征在于,应用于云存储系统的存储节点,所述方法包括:
获取待存储数据;
按照预设分类规则,确定所述待存储数据的目标数据类型;其中,所述预设分类规则是根据用户需求设定的数据分类规则;
从预设的各个本地存储区域中,确定与所述目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
将所述待存储数据存储到所述第一存储区域。
2.根据权利要求1所述的方法,其特征在于,在所述将所述待存储数据存储到所述第一存储区域的步骤之前,所述方法还包括:
基于所述第一存储区域的位置信息,生成所述待存储数据的统一资源定位符URL;
所述将所述待存储数据存储到所述第一存储区域的步骤,包括:
对所述URL和所述待存储数据进行打包,并将打包得到的数据包存储到所述第一存储区域。
3.根据权利要求2所述的方法,其特征在于,所述对所述URL与所述待存储数据进行打包的步骤,包括:
按照预定的数据格式,对所述URL和所述待存储数据进行打包;
其中,所述预定的数据格式为:所述待存储数据、所述预设分隔符、所述URL和所述预设分隔符的排列格式。
4.根据权利要求1所述的方法,其特征在于,每一本地存储区域对应于一备份存储区域,所述方法还包括:
将所述待存储数据存储到所述第一存储区域对应的备份存储区域。
5.一种数据下载方法,其特征在于,应用于云存储系统的管理节点,其中,各个待存储数据是存储在所述云存储系统的各个存储节点的各个本地存储区域中与该待存储数据的目标数据类型对应的第一存储区域中的,所述目标数据类型是按照预设分类规则确定的,所述预设分类规则是根据用户需求设定的数据分类规则;所述方法包括:
获取数据检索客户端发送的检索条件;其中,所述检索条件与各个所述存储节点中自身包括的各个本地存储区域的划分规则相匹配;
向各个所述存储节点发送所述检索条件,以使各个所述存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与所述检索条件匹配的第二存储区域,并基于所述第二存储区域,向所述管理节点反馈检索结果;其中,所述检索结果为:所述第二存储区域存储的数据或所述第二存储区域的区域信息;
获得待利用的各个检索结果,并基于所述待利用的各个所述检索结果,生成反馈结果;
向所述数据检索客户端发送所述反馈结果,以使所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据。
6.根据权利要求5所述的方法,其特征在于,所述检索结果为:所述第二存储区域的区域信息;
所述基于所述待利用的各个所述检索结果,生成反馈结果的步骤,包括:
基于待利用的各个所述第二存储区域的区域信息,生成待利用的各个所述第二存储区域的区域编号,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的区域编号,并在检测到所述用户对目标区域编号的第一指定操作时,生成第一数据下载指令;其中,所述目标区域编号为:所述待利用的各个所述第二存储区域的区域编号中的至少一个,所述第一数据下载指令中携带有所述目标区域编号;
向所述管理节点发送所述第一数据下载指令,以使所述管理节点定位所述目标区域编号对应的第二存储区域所在的第一存储节点,并使所述第一存储节点向所述数据检索客户端,发送所述目标区域编号对应的第二存储区域所存储的数据。
7.根据权利要求6所述的方法,其特征在于,所述基于所述待利用的各个所述第二存储区域的区域信息,生成各个所述第二存储区域的区域编号的步骤,包括:
按照预设顺序,分别排列所述待利用的各个所述第二存储区域的区域信息中的各类信息,生成所述待利用的各个所述第二存储区域的区域编号;
其中,所述预设顺序为:
所述第二存储区域所在的存储节点ID、所述第二存储区域所在的磁盘ID、所述第二存储区域所存储的数据在磁盘内偏移量和所述第二存储区域所存储数据的长度。
8.根据权利要求5所述的方法,其特征在于,所述检索结果为:所述第二存储区域的区域信息;
所述基于所述待利用的各个所述检索结果,生成反馈结果的步骤,包括:
基于待利用的各个所述第二存储区域的区域信息,以及发送各个所述待利用的所述第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个所述第二存储区域的第二网络访问地址,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的第二网络访问地址,并在检测到所述用户对目标访问地址的第二指定操作时,生成第二数据下载指令;其中,所述目标访问地址为:所述待利用的各个所述第二存储区域的第二网络访问地址中的至少一个,所述第二数据下载指令携带有所述目标网络访问地址;
向所述目标网络访问地址所对应的第二存储节点发送所述第二数据下载指令,以使所述第二存储节点向所述数据检索客户端,发送所述目标网络访问地址对应的第二存储区域所存储的数据。
9.根据权利要求5-8任一项所述的方法,其特征在于,所述检索结果为:所述第二存储区域的区域信息,每一所述本地存储区域对应一备份存储区域;
所述基于所述第二存储区域,向所述管理节点反馈检索结果的步骤,包括:
基于所述第二存储区域,向所述管理节点反馈检索结果、所述第二存储区域的通用唯一识别码UUID和主备标识;
所述获得待利用的各个检索结果的步骤,包括:
接收各个所述存储节点反馈的检索结果、UUID和主备标识;
将对应相同UUID的每对区域信息中,所述主备标识为备份标识的区域信息删除;
将剩余的检索结果,作为待利用的各个检索结果。
10.一种存储节点,其特征在于,所述存储节点包括:
数据获取模块,用于获取待存储数据;
类型确定模块,用于按照预设分类规则,确定所述待存储数据的目标数据类型;其中,所述预设分类规则是根据用户需求设定的数据分类规则;
区域确定模块,用于从预设的各个本地存储区域中,确定与所述目标数据类型对应的第一存储区域;其中,每一本地存储区域唯一对应一数据类型;
数据存储模块,用于将所述待存储数据存储到所述第一存储区域。
11.根据权利要求10所述的存储节点,其特征在于,所述存储节点还包括:
定位符确定模块,用于在所述将所述待存储数据存储到所述第一存储区域的步骤之前,基于所述第一存储区域的位置信息,生成所述待存储数据的统一资源定位符URL;
所述数据存储模块,具体用于对所述URL和所述待存储数据进行打包,并将打包得到的数据包存储到所述第一存储区域。
12.根据权利要求11所述的存储节点,其特征在于,所述定位符确定模块,具体用于按照预定的数据格式,对所述URL和所述待存储数据进行打包;
其中,所述预定的数据格式为:所述待存储数据、所述预设分隔符、所述URL和所述预设分隔符的排列格式。
13.根据权利要求10所述的存储节点,其特征在于,每一本地存储区域对应于一备份存储区域,所述存储节点还包括:
数据备份模块,用于将所述待存储数据存储到所述第一存储区域对应的备份存储区域。
14.一种管理节点,其特征在于,各个待存储数据是存储在所述云存储系统的各个存储节点的各个本地存储区域中与该待存储数据的目标数据类型对应的第一存储区域中的,所述目标数据类型是按照预设分类规则确定的,所述预设分类规则是根据用户需求设定的数据分类规则,所述管理节点包括:
条件获取模块,用于获取数据检索客户端发送的检索条件;其中,所述检索条件与各个所述存储节点中自身包括的各个本地存储区域的划分规则相匹配;
条件发送模块,用于向各个所述存储节点发送所述检索条件,以使各个所述存储节点在自身包括的各个本地存储区域中,检索所对应数据类型与所述检索条件匹配的第二存储区域,并基于所述第二存储区域,向所述管理节点反馈检索结果;其中,所述检索结果为:所述第二存储区域存储的数据或所述第二存储区域的区域信息;
结果获得模块,用于获得待利用的各个检索结果;
结果生成模块,用于基于所述待利用的各个所述检索结果,生成反馈结果;
结果反馈模块,用于向所述数据检索客户端发送所述反馈结果,以使所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据。
15.根据权利要求14所述的管理节点,其特征在于,所述检索结果为:所述第二存储区域的区域信息;所述结果生成模块包括:
第一生成子模块,用于基于待利用的各个所述第二存储区域的区域信息,生成待利用的各个所述第二存储区域的区域编号,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的区域编号,并在检测到所述用户对目标区域编号的第一指定操作时,生成第一数据下载指令;其中,所述目标区域编号为:所述待利用的各个所述第二存储区域的区域编号中的至少一个,所述第一数据下载指令中携带有所述目标区域编号;
向所述管理节点发送所述第一数据下载指令,以使所述管理节点定位所述目标区域编号对应的第二存储区域所在的第一存储节点,并使所述第一存储节点向所述数据检索客户端,发送所述目标区域编号对应的第二存储区域所存储的数据。
16.根据权利要求15所述的管理节点,其特征在于,所述第一生成子模块,具体用于按照预设顺序,分别排列所述待利用的各个所述第二存储区域的区域信息中的各类信息,生成所述待利用的各个所述第二存储区域的区域编号;
其中,所述预设顺序为:所述第二存储区域所在的存储节点ID、所述第二存储区域所在的磁盘ID、所述第二存储区域所存储的数据在磁盘内偏移量和所述第二存储区域所存储数据的长度。
17.根据权利要求14所述的管理节点,其特征在于,所述检索结果为:所述第二存储区域的区域信息;所述结果生成模块包括:
第二生成子模块,用于基于待利用的各个所述第二存储区域的区域信息,以及发送各个所述待利用的所述第二存储区域的区域信息的存储节点的第一网络访问地址,生成待利用的各个所述第二存储区域的第二网络访问地址,作为反馈结果;
所述数据检索客户端基于所述反馈结果,获得与所述检索条件匹配的数据的方式,包括:
向所述用户展示所述待利用的各个所述第二存储区域的第二网络访问地址,并在检测到所述用户对目标访问地址的第二指定操作时,生成第二数据下载指令;其中,所述目标访问地址为:所述待利用的各个所述第二存储区域的第二网络访问地址中的至少一个,所述第二数据下载指令携带有所述目标网络访问地址;
向所述目标网络访问地址所对应的第二存储节点发送所述第二数据下载指令,以使所述第二存储节点向所述数据检索客户端,发送所述目标网络访问地址对应的第二存储区域所存储的数据。
18.根据权利要求14-17任一项所述的管理节点,其特征在于,所述检索结果为:所述第二存储区域的区域信息,每一所述本地存储区域对应一备份存储区域;
所述基于所述第二存储区域,向所述管理节点反馈检索结果的方式,包括:
基于所述第二存储区域,向所述管理节点反馈检索结果、所述第二存储区域的通用唯一识别码UUID和主备标识;
所述结果获得模块,具体用于接收各个所述存储节点反馈的检索结果、UUID和主备标识;将对应相同UUID的每对区域信息中,所述主备标识为备份标识的区域信息删除;将剩余的检索结果,作为待利用的各个检索结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935398.0A CN111399756B (zh) | 2019-09-29 | 2019-09-29 | 一种数据存储方法、数据下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910935398.0A CN111399756B (zh) | 2019-09-29 | 2019-09-29 | 一种数据存储方法、数据下载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399756A true CN111399756A (zh) | 2020-07-10 |
CN111399756B CN111399756B (zh) | 2024-01-02 |
Family
ID=71432228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910935398.0A Active CN111399756B (zh) | 2019-09-29 | 2019-09-29 | 一种数据存储方法、数据下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399756B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814024A (zh) * | 2020-08-14 | 2020-10-23 | 北京斗米优聘科技发展有限公司 | 分布式数据采集方法、系统及存储介质 |
CN112231526A (zh) * | 2020-11-02 | 2021-01-15 | 北京蜂窝科技有限公司 | 一种用于数据存储和读取的系统及方法 |
CN112685778A (zh) * | 2020-12-31 | 2021-04-20 | 北京聚云科技有限公司 | 一种数据存储方法及装置 |
CN113791733A (zh) * | 2021-09-06 | 2021-12-14 | 青岛中科曙光科技服务有限公司 | 信息的存储方法、装置、设备及存储介质 |
CN114185493A (zh) * | 2022-02-15 | 2022-03-15 | 烟台市地理信息中心 | 测绘数据的分割及存储方法 |
CN114285797A (zh) * | 2021-12-30 | 2022-04-05 | 北京天融信网络安全技术有限公司 | Ip地址的处理方法、装置、存储介质 |
CN114466050A (zh) * | 2022-04-11 | 2022-05-10 | 国汽智控(北京)科技有限公司 | 基于区块链的车载数据处理方法、装置及电子设备 |
US11675413B2 (en) * | 2020-09-30 | 2023-06-13 | Dell Products L.P. | Reducing power consumption of memory devices at an information handling system |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11316761A (ja) * | 1998-04-30 | 1999-11-16 | Nippon Telegr & Teleph Corp <Ntt> | マスメディアコンテンツ配信装置及び放送先行受信型キャッシュサーバ装置並びに放送先行受信型キャッシュサーバシステム |
JP2004213149A (ja) * | 2002-12-27 | 2004-07-29 | Panasonic Communications Co Ltd | サーバ装置及び印刷装置 |
WO2006027589A1 (en) * | 2004-09-09 | 2006-03-16 | Surfcontrol Plc | System, method and apparatus for use in monitoring or controlling internet access |
CN1816824A (zh) * | 2003-07-14 | 2006-08-09 | 索尼株式会社 | 服务利用方法和管理方法 |
US20070219965A1 (en) * | 2006-03-14 | 2007-09-20 | Canon Kabushiki Kaisha | Document retrieving system, document retrieving apparatus, method, program and storage medium therefor |
JP2007256992A (ja) * | 2006-03-20 | 2007-10-04 | Nifty Corp | コンテンツ特定方法及び装置 |
JP2009147578A (ja) * | 2007-12-13 | 2009-07-02 | Fujitsu Telecom Networks Ltd | Ipネットワークにおけるスイッチ装置及びダウンストリームデータ分散配信方法 |
CN101669328A (zh) * | 2007-02-09 | 2010-03-10 | 达丽星网络有限公司 | 用于电信网络中的多媒体内容适配的方法和装置 |
CN102054121A (zh) * | 2009-11-04 | 2011-05-11 | 沈阳隆惠科技有限公司 | 3d全景实景网络游戏平台构建方法 |
US20130346472A1 (en) * | 2012-06-21 | 2013-12-26 | Cisco Technology, Inc. | Redirecting From a Cloud Service to a Third Party Website to Save Costs Without Sacrificing Security |
CN104133907A (zh) * | 2014-08-06 | 2014-11-05 | 汉柏科技有限公司 | 一种云计算数据自动分类统计的方法和系统 |
US20160239615A1 (en) * | 2013-09-26 | 2016-08-18 | Siemens Healthcare Gmbh | Method and system for managing and editing data of a medical device |
CN106598973A (zh) * | 2015-10-14 | 2017-04-26 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储管理的智能检索的方法及系统 |
US20180032575A1 (en) * | 2016-08-01 | 2018-02-01 | Palantir Technologies Inc. | Techniques for data extraction |
CN108600281A (zh) * | 2017-03-16 | 2018-09-28 | 杭州海康威视数字技术股份有限公司 | 一种云存储系统、媒体数据存储方法及系统 |
CN109274548A (zh) * | 2018-08-22 | 2019-01-25 | 平安普惠企业管理有限公司 | 一种应用程序监控方法、计算机可读存储介质及终端设备 |
CN109521956A (zh) * | 2018-10-18 | 2019-03-26 | 上海达家迎信息科技有限公司 | 一种基于区块链的云存储方法、装置、设备及存储介质 |
-
2019
- 2019-09-29 CN CN201910935398.0A patent/CN111399756B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11316761A (ja) * | 1998-04-30 | 1999-11-16 | Nippon Telegr & Teleph Corp <Ntt> | マスメディアコンテンツ配信装置及び放送先行受信型キャッシュサーバ装置並びに放送先行受信型キャッシュサーバシステム |
JP2004213149A (ja) * | 2002-12-27 | 2004-07-29 | Panasonic Communications Co Ltd | サーバ装置及び印刷装置 |
CN1816824A (zh) * | 2003-07-14 | 2006-08-09 | 索尼株式会社 | 服务利用方法和管理方法 |
WO2006027589A1 (en) * | 2004-09-09 | 2006-03-16 | Surfcontrol Plc | System, method and apparatus for use in monitoring or controlling internet access |
US20070219965A1 (en) * | 2006-03-14 | 2007-09-20 | Canon Kabushiki Kaisha | Document retrieving system, document retrieving apparatus, method, program and storage medium therefor |
JP2007256992A (ja) * | 2006-03-20 | 2007-10-04 | Nifty Corp | コンテンツ特定方法及び装置 |
CN101669328A (zh) * | 2007-02-09 | 2010-03-10 | 达丽星网络有限公司 | 用于电信网络中的多媒体内容适配的方法和装置 |
JP2009147578A (ja) * | 2007-12-13 | 2009-07-02 | Fujitsu Telecom Networks Ltd | Ipネットワークにおけるスイッチ装置及びダウンストリームデータ分散配信方法 |
CN102054121A (zh) * | 2009-11-04 | 2011-05-11 | 沈阳隆惠科技有限公司 | 3d全景实景网络游戏平台构建方法 |
US20130346472A1 (en) * | 2012-06-21 | 2013-12-26 | Cisco Technology, Inc. | Redirecting From a Cloud Service to a Third Party Website to Save Costs Without Sacrificing Security |
US20160239615A1 (en) * | 2013-09-26 | 2016-08-18 | Siemens Healthcare Gmbh | Method and system for managing and editing data of a medical device |
CN104133907A (zh) * | 2014-08-06 | 2014-11-05 | 汉柏科技有限公司 | 一种云计算数据自动分类统计的方法和系统 |
CN106598973A (zh) * | 2015-10-14 | 2017-04-26 | 杭州海康威视数字技术股份有限公司 | 一种基于云存储管理的智能检索的方法及系统 |
US20180032575A1 (en) * | 2016-08-01 | 2018-02-01 | Palantir Technologies Inc. | Techniques for data extraction |
CN108600281A (zh) * | 2017-03-16 | 2018-09-28 | 杭州海康威视数字技术股份有限公司 | 一种云存储系统、媒体数据存储方法及系统 |
CN109274548A (zh) * | 2018-08-22 | 2019-01-25 | 平安普惠企业管理有限公司 | 一种应用程序监控方法、计算机可读存储介质及终端设备 |
CN109521956A (zh) * | 2018-10-18 | 2019-03-26 | 上海达家迎信息科技有限公司 | 一种基于区块链的云存储方法、装置、设备及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111814024A (zh) * | 2020-08-14 | 2020-10-23 | 北京斗米优聘科技发展有限公司 | 分布式数据采集方法、系统及存储介质 |
US11675413B2 (en) * | 2020-09-30 | 2023-06-13 | Dell Products L.P. | Reducing power consumption of memory devices at an information handling system |
CN112231526A (zh) * | 2020-11-02 | 2021-01-15 | 北京蜂窝科技有限公司 | 一种用于数据存储和读取的系统及方法 |
CN112685778A (zh) * | 2020-12-31 | 2021-04-20 | 北京聚云科技有限公司 | 一种数据存储方法及装置 |
CN113791733A (zh) * | 2021-09-06 | 2021-12-14 | 青岛中科曙光科技服务有限公司 | 信息的存储方法、装置、设备及存储介质 |
CN113791733B (zh) * | 2021-09-06 | 2024-07-19 | 青岛中科曙光科技服务有限公司 | 信息的存储方法、装置、设备及存储介质 |
CN114285797A (zh) * | 2021-12-30 | 2022-04-05 | 北京天融信网络安全技术有限公司 | Ip地址的处理方法、装置、存储介质 |
CN114285797B (zh) * | 2021-12-30 | 2024-04-19 | 北京天融信网络安全技术有限公司 | Ip地址的处理方法、装置、存储介质 |
CN114185493A (zh) * | 2022-02-15 | 2022-03-15 | 烟台市地理信息中心 | 测绘数据的分割及存储方法 |
CN114466050A (zh) * | 2022-04-11 | 2022-05-10 | 国汽智控(北京)科技有限公司 | 基于区块链的车载数据处理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111399756B (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111399756B (zh) | 一种数据存储方法、数据下载方法及装置 | |
EP3726411A1 (en) | Data desensitising method, server, terminal, and computer-readable storage medium | |
CN109729183B (zh) | 请求处理方法、装置、设备及存储介质 | |
CN110471848B (zh) | 一种动态返回报文的方法和装置 | |
CN111786984B (zh) | Pod通信连接方法、装置及电子设备、存储介质 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN104636437A (zh) | 一种事件通知方法、监听器的处理方法及装置 | |
CN109768980B (zh) | 服务器访问方法、装置、移动终端及计算机可读存储介质 | |
CN114389874B (zh) | 云应用服务的响应方法、装置、服务器及存储介质 | |
CN105450585A (zh) | 一种信息传输方法及装置 | |
US20170318521A1 (en) | Method for realizing resource attribute notification, and common service entity | |
CN111818175A (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
CN111008254B (zh) | 一种对象创建方法、装置、计算机设备和存储介质 | |
EP3435253B1 (en) | Method and device for page display | |
CN113986835A (zh) | FastDFS分布式文件的管理方法、装置、设备及存储介质 | |
CN105872635A (zh) | 视频资源分发的方法和装置 | |
CN114417202A (zh) | 基于人工智能的混合页面的跳转方法、装置及设备 | |
CN108600255B (zh) | Mock服务管理方法、装置、计算机设备以及存储介质 | |
CN112114871B (zh) | 一种代码共享方法、装置、服务器、终端及介质 | |
CN111767104B (zh) | 一种语言种类切换方法、装置、计算机设备及存储介质 | |
CN110737662B (zh) | 一种数据分析方法、装置、服务器及计算机存储介质 | |
CN107547605B (zh) | 一种基于节点队列的消息读写方法及节点设备 | |
CN111078773A (zh) | 一种数据处理方法及装置 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN116302602A (zh) | 一种Flutter原生混合开发的消息传输方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |