CN105446982A - 用于管理数据存储系统的方法和装置 - Google Patents
用于管理数据存储系统的方法和装置 Download PDFInfo
- Publication number
- CN105446982A CN105446982A CN201410305761.8A CN201410305761A CN105446982A CN 105446982 A CN105446982 A CN 105446982A CN 201410305761 A CN201410305761 A CN 201410305761A CN 105446982 A CN105446982 A CN 105446982A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- storage system
- inquiry
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了用于管理数据存储系统的方法和装置。在一个实施方式中,提供了一种用于管理数据存储系统的方法,包括:响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份;在数据存储系统中存储第一备份;在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。在一个实施方式中,提供了一种用于查询数据存储系统的方法,包括:接收针对数据存储系统的查询;响应于数据存储系统的索引中存在与查询相匹配的查询,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;其中数据存储系统是根据本发明的方法管理的数据存储系统。采用本发明的技术方案,可以提高数据查询效率。
Description
技术领域
本发明的各实施方式涉及数据存储(datastorage),更具体地,涉及用于管理数据存储系统的方法和装置。
背景技术
随着数据存储技术的发展,数据存储系统在存储空间、可靠性和响应效率方面都有了显著进步。在技术进步的同时,人们对于存储系统的要求也越来越高。例如,人们日常工作和生活涉及到的数据类型越来越多,一方面人们期望可以将这些数据存储至大容量数据库中,另一方面,人们对于数据查询的准确性和实时性的要求也逐渐提高。
仅以电力行业为例,人们已经不再满足于查询每月的耗电总量,而是希望能够实时地查询到各种数据,例如,当前的耗电量、电流值、电压值、以及电阻值等等其他信息。电力公司通常以多维数据库来存储各种类型的数据,例如,电力公司的数据库可能会涉及如下维度:电表ID、时间点、电流、电压、以及电阻等(在此的电流、电压和电阻均为在某时间点采集到的数值)。随着多维数据库的维度的提高,针对多维数据库的查询可能会涉及多方面的内容。例如,可以查询在一定时间范围内的从各个电表采集到的数据、可以查询特定电表在全部时间范围内采集到的数据,等等。
应当注意,随着数据库维度的增加以及数据量的增加,查询效率将会受到数据库中的数据记录的存储方式的影响。然而,按照目前的数据存储方式,查询效率并不令人满意。尤其是,当需要跨越数据库中的多个数据记录来查找满足查询条件的数据记录时,查询效率通常并不理想。
例如,假设数据库中存储了100个电表在10000个时间点采集到的数据,并且数据库中依次存储了电表1在时间点t1-t10000采集的数据、电表2在时间点t1-t10000采集的数据、…、电表100在时间点t1-t10000采集到的数据。当需要查询每个电表在时间点t1采集的数据时,则需要依次读取第1行、第10001行、第20001行、…、等数据记录。由于在查询时需要在数据库内跨越大的区域读取数据,造成了查询效率底下。
因而,如何提高数据存储系统中的查询效率成为一个亟待解决的问题。
发明内容
因而,期望可以开发出一种能够有效地管理数据存储系统的技术方案,期望该技术方案可以提高在数据存储系统中的查询效率,并且期望该技术方案的查询效率可以在数据库中存储了多维数据和/或海量数据时仍然保持有效。进一步,期望该技术方案可以与现有的数据存储系统(例如,集中式数据存储系统和/或分布式数据存储系统)相结合,在尽量不改变现有硬件资源配置的情况下,提高查询效率。
在本发明的一个实施方式中,提供了一种用于管理数据存储系统的方法,包括:响应于接收到数据对象(dataobject),基于第一查询将数据对象中的数据记录排序以形成第一备份;在数据存储系统中存储第一备份;以及在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。
在本发明的一个实施方式中,提供了一种用于查询数据存储系统的方法,包括:接收针对数据存储系统的查询;以及响应于数据存储系统的索引中存在与查询相匹配的查询,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;其中数据存储系统是根据本发明的方法管理的数据存储系统。
在本发明的一个实施方式中,提供了一种用于管理数据存储系统的装置,包括:排序模块,配置用于响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份;存储模块,配置用于在数据存储系统中存储第一备份;以及索引模块,配置用于在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。
在本发明的一个实施方式中,提供了一种用于查询数据存储系统的装置,包括:接收模块,配置用于接收针对数据存储系统的查询;以及第一查询模块,配置用于响应于数据存储系统的索引中存在与查询相匹配的查询,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;其中数据存储系统是根据本发明的装置管理的数据存储系统。
采用本发明所述的方法和装置,可以有效地管理数据存储系统,并且可以提高针对数据存储系统的查询的效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1示意性示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
图2示意性示出了根据一个技术方案的用于管理数据存储系统的技术方案的框图;
图3示意性示出了根据本发明一个实施方式的用于管理数据存储系统的技术方案的框图;
图4示意性示出了根据本发明一个实施方式的用于管理数据存储系统的方法的流程图;
图5示意性示出了根据本发明一个实施方式的用于管理数据存储系统的技术方案的框图;
图6示意性示出了根据本发明一个实施方式的用于恢复数据存储系统中的备份的示意图;
图7示意性示出了根据本发明一个实施方式的用于针对数据存储系统进行查询的方法的流程图;以及
图8A示意性示出了根据本发明一个实施方式的用于管理数据存储系统的装置的框图;以及图8B示意性示出了根据本发明一个实施方式的用于查询数据存储系统的装置的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施方式的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施方式的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施方式中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其他模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
为清楚起见,在本发明的上下文中将结合数据库表的具体示例来描述本发明的各个实施方式。例如,电力公司中用于存储从电表1-n、在不同时间点采集到的数据的表Record可以如下文表1所示。
表1数据对象的示例
在上文表1所示的数据对象中,各个数据记录按照时间戳的顺序排序,即,首先存储在时间点“2010-12-0101:00:00.0000”、由电表1-n采集到的n行数据记录,接着存储在时间点“2010-12-0101:00:10.0000”、由电表采集到的n行数据记录,以此类推。应当注意,尽管在本文中以时间序列数据(timeseriesdata)为示例而描述了本发明的各个实施方式,本领域技术人员应当理解,本发明的各个实施方式并不仅限于被应用于时间序列数据,而是可以被应用于各种类型的关系数据库。
目前的数据库的维度越来越高并且数据量越来越大,为了提供更加可靠的数据存储,目前已经提出了分布式数据存储的技术方案。在分布式数据存储系统中,可以在多个数据节点中存储数据对象的多个备份,从而在当部分数据节点出现故障时,可以基于其他未出现故障的数据节点中的数据来恢复故障节点中的备份。
图2示意性示出了根据一个技术方案的用于管理数据存储系统的技术方案的框图200。如图2所示,数据存储系统可以包括管理节点210,该管理节点210用于管理多个数据节点(即,数据节点1220、数据节点2230、…、以及数据节点N240)。为了提供更高的可靠性,每个数据节点中可以包括数据对象的备份,例如,数据节点1220中包括备份222,数据节点2230中包括备份232,以及数据节点N240中包括备份242。应当注意,在此的“备份”是指数据对象的完整拷贝。尽管在图2中以不同的参考数字表示,各个备份的内容是完全相同的。
目前已经发现,对于同一个查询语句,当数据对象中的数据记录的排列顺序不同时,查询效率将会有所不同。基于这一现象,本发明提出了一种用于管理数据存储系统的技术方案。具体地,可以基于针对数据对象执行的历史查询来调整备份中的数据记录的顺序,继而可以针对调整后的备份进行查询,以便提高查询效率。进一步,还可以基于多个历史查询来生成多个备份,并且将多个备份存储至多个数据节点中。
图3示意性示出了根据本发明一个实施方式的用于管理数据存储系统的技术方案的框图300。如图3所示,数据对象310表示原始的数据对象,与表1所示相同,此时各个数据记录按照时间戳的顺序排序。例如,存在查询语句320“SELECT*FROMRECORDWHEREMETER_ID=XXX”,该语句表示需要从数据表RECORD中查找由特定电表“XXX”在各个时间点采集到的所有数据。假设存在10000个不同的时间点,按照现有数据对象310中数据记录的顺序,则需要跨越大量数据记录来获得满足查询条件的语句(即,依次读取第1行、第10001行、第20001行等数据记录),因而查询效率较低。
根据本发明的各个实施方式,可以基于查询语句320来将数据对象310中的数据记录重新排序(如箭头A所示)以形成备份330,并将该备份330存储至数据存储系统340(如箭头B所示)。在备份330中,数据记录按照电表ID重新排序,此时原本存储在数据对象310中的第1行、第10001行、第20001行等数据记录变为连续存储方式(例如,存储在连续的数据块中)。以此方式,不必再跨越大量数据记录读取数据,而是可以从备份中读取一段连续的数据即可。尽管将数据对象310转换为备份330需要一定的时间,然而转换是在查询之前预先完成的,因而这一预处理步骤不会影响查询的效率。另外,当存在大量类似于“SELECT*FROMRECORDWHEREMETER_ID=XXX”形式的查询时,本发明的技术方案将大大提高查询效率。
在本发明的一个实施方式中,提出了一种用于管理数据存储系统的方法,包括:响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份;在数据存储系统中存储第一备份;以及在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。
在下文中,将参见附图详细描述本发明的各个实施方式。图4示意性示出了根据本发明一个实施方式的用于管理数据存储系统的方法的流程图400。在步骤S402中,响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份。在本发明的一个实施方式中,例如可以基于数据存储系统的主要功能来确定第一查询,或者还可以基于历史查询中各个查询语句出现的频率而确定第一查询。
例如,当数据存储系统仅能够查询与特定电表相关联的数据时,可以按照图3中以附图标记330示出的格式来排序各个数据记录。又例如,当针对数据存储系统的历史查询显示:80%的历史查询是查询在特定时间点采集的各个电表的数据时,则可以按照图3中以附图标记310所示的格式来排序数据记录。基于出现可能性最高的查询来排序数据对象中的各个数据记录并生成备份,可以在将来针对备份执行查询时获得满意的查询效率。
接着,在步骤S404中,在数据存储系统中存储第一备份。由于数据存储系统可以具有海量数据存储,为了在后续的写入和读取操作中能够方便地访问第一备份,在步骤S406中,还需要在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。
在本发明的一个实施方式中,进一步包括:在数据存储系统中维护数据对象的备份。在此实施方式中,可以在数据存储系统中维护数据对象的备份和第一备份,第一备份中的数据记录的排列顺序是针对第一查询而设置的,因而第一备份不但可以提高数据可靠性,还可以提高查询效率。
在本发明的一个实施方式中,响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份包括:基于第一查询获取第一标准;以及按照第一标准,将数据对象中的数据记录排序以形成第一备份。
在本发明的实施方式中,可以基于第一查询来获取第一标准。例如,查询语句“SELECT*FROMRECORDWHEREMETER_ID=XXX”的目的在于查询由特定电表“XXX”采集到的所有数据。此时,当以查询语句中指定的“METER_ID”为标准来将数据对象中的各个数据记录进行排序并形成备份时,可以获得较高的查询效率。又例如,查询语句“SELECT*FROMRECORDWHERETIMESTAMP=XXX”的目的在于查询在特定时间点“XXX”采集到的所有数据。此时,当以查询语句中指定的“TIMESTAMP”为标准将数据对象中的各个数据记录进行排序并形成备份时,可以获得较高的查询效率。
在本发明的一个实施方式中,第一标准使得在第一备份中执行第一查询时的查询效率高于在按照其他标准将数据对象中的数据记录排序以形成的其他文件中执行第一查询时的查询效率。
应当注意,由于第一备份是专门按照第一查询而排序并形成的,因而,此时针对该第一备份执行第一查询时的效率最高。换言之,采用第一标准来进行排序,可以使得在第一备份中执行第一查询时的查询效率高于在按照其他标准将数据对象中的数据记录排序以形成的其他文件中执行第一查询时的查询效率。
具体而言,针对上文中的具体示例,当第一查询为“SELECT*FROMRECORDWHEREMETER_ID=XXX”时,第一备份可以如图3中的备份330所示,此时针对第一备份进行查询的效率要远高于针对如图3中的数据对象310进行查询的效率。这是因为,在针对数据对象310进行查询时,需要在跳跃地读取各个数据记录,因而效率较低。
在本发明的一个实施方式中,数据对象是多维数据库,以及基于第一查询获取第一标准包括:基于多维数据库中与第一查询相对应的至少一个维度获取第一标准。在针对多维数据库进行查询时可能会涉及到多个维度,例如,可以查询第1-u个电表在每周之内采集到的数据,此时可以将第1-u个电表在每周内采集到的数据排列在一起,以便在获得较高的查询效率。根据数据存储系统的功能,可以按照查询所涉及的多个维度来将数据对象进行排序。
在本发明的一个实施方式中,响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份包括:按照数据存储系统支持的块大小,将排序后的数据记录划分为多个数据块;以及基于多个数据块形成第一备份。
在存储系统中以数据块为单位来存储数据,因而可以基于数据块来组织排序后的数据记录。假设数据库存储系统中的数据块的大小为64M,并且如图3中所示的备份330中与每个电表ID相关联的数据记录的总容量为64M,则可以在每个数据块中存储关于一个电表ID的所有数据。假设共存在10个电表,则10个数据块一起构成第一备份。
尽管在上文中仅示意性示出了关于每个电表的数据记录总容量恰好为64M的情况,本领域技术人员还可以理解,当总容量不足或者超过64M时,也可以采用本发明的实施方式。例如,假设关于每个电表的数据记录的总容量是60M,可以利用一个数据块来存储关于一个电表的数据。具体地,可以将剩余的4M空间闲置或者还可以将其用于存储用于下一电表的数据。又例如,假设关于每个电表的数据记录的总容量为100M,则可以在两个或者更多的数据块中存储关于一个电表的数据。
在本发明的一个实施方式中,还可以在索引中存储每个数据块的地址,以便响应于接收到查询而快速地定位满足查询条件的数据块。本领域技术人员可以基于具体应用环境的要求来实现。
在本发明的一个实施方式中,进一步包括:基于第二查询将数据对象中的数据记录排序以形成第二备份;在数据存储系统中存储第二备份;以及在数据存储系统的索引中存储第二查询以及第二备份在数据存储系统中的第二地址。
为了进一步提高数据查询效率,可以在数据存储系统中存储数据对象的多个备份,并且该多个备份中的每个备份都是按照一个查询来将数据对象中的数据记录进行排序后形成的。在执行查询时,可以与查询相对应的备份,进而提高查询的效率。
图5示意性示出了根据本发明一个实施方式的用于管理数据存储系统的技术方案的框图500。在该数据存储系统中,管理节点210可以管理各个数据节点,如数据节点1220、数据节点2230、…、数据节点N240,并且还可以维护记录了各个查询与相应的备份之间的映射关系的索引510。不同于如图2所示的技术方案,在图5所示的实施方式中,各个数据节点中存储的备份(即,第一备份522、第二备份532、第N文件542)并不相同,而是分别基于不同的查询来将数据对象中的数据记录进行排序后形成的备份。
如图5所示,可以按照第一数据表524的格式存储第一备份522,并且该第一备份522对应于第一查询520。还可以按照第二数据表534所示的格式存储第二备份532,并且该第二备份532对应于第二查询530。以此方式,可以在接收到不同的查询时将查询引导至相应的备份,以便提高查询效率。相对于现有技术中在各个数据节点中存储相同备份的技术方案,采用本发明的技术方案,可以在提高数据可靠性的同时提高数据查询效率。
应当注意,尽管在图5中参见分布式数据存储系统的应用环境来描述了本发明的各个实施方式,本领域技术人员应当理解,本发明的各个实施方式并不仅限于应用于分布式数据存储环境,而是还可以应用于其他数据存储环境中。例如,可以在一个数据服务器上存储基于多个查询而生成的多个备份,尽管此时多个备份将会占据额外的存储空间,然而将不同的查询引导至不同的备份可以大大提高查询效率。又例如,本发明还可以在虚拟机的环境中运行,例如,如图5中所示的管理节点210和各个数据节点220-240可以是虚拟机。
在上文中已经介绍了在多个数据节点中存储对应于多个查询的多个备份,尽管多个备份中的数据记录是相同的,然而数据记录的排列顺序有所不同。因而,在一个数据节点中的备份被损坏或者更新时,还需要附加处理过程。
在本发明的一个实施方式中,进一步包括:获得第一备份中的数据块与第二备份中的数据块的映射关系;以及响应于第一备份被损坏,基于映射文件从第二备份中恢复第一备份。在本发明的一个实施方式中,第一备份和第二备份中内容在整体上是相同的,不同之处在于数据记录的排序不同,因而导致了第一备份和第二备份中的数据块之间可以具有映射关系。例如,第一备份中的数据块A可以对应于第二备份中的数据块B。此时,当第一备份中的数据块A被损坏时可以利用第二备份中的数据块B来恢复该数据块A。
在本发明的一个实施方式中,响应于第一备份被损坏,基于映射关系从第二备份中恢复第一备份包括:基于映射关系,在第二备份中查找与第一备份中被损坏的第一备份块相对应的第二备份块;以及拷贝第二备份块以替换被损坏的第一备份块。
在下文中将参见图6详细描述恢复步骤的具体细节。图6示意性示出了根据本发明一个实施方式的用于恢复数据存储系统中的文件的示意图600。如图6所示,第一备份610包括多个数据块A11-A23,并且第二备份620包括多个数据块B11-B23,第一备份中的数据块和第二备份中的数据块的映射关系如表630所示。当第一备份中的数据块A22(以阴影示出)被损坏时,基于映射关系630可知,第一备份610中的数据块A22对应于第二备份620中的数据块B23。因而,可以直接拷贝数据块B23以覆盖损坏的数据块A22。
在上文中已经参见附图详细示出了恢复操作的具体步骤,在下文中将描述当数据存储系统中的一个备份被更新时,如何更新其他备份的操作。在本发明的一个实施方式中,进一步包括:获得第一备份中的数据块与第二备份中的数据块的映射关系;以及响应于第二备份被更新,基于映射关系利用已更新的第二备份来更新第一备份。
更新操作类似于恢复操作,在已经知晓第一备份和第二备份中的数据块的映射关系的情况下,在第二备份被更新的情况下可以基于该映射关系来查找需要更新第一备份中的哪部分,进而进行更新。具体地,参见图6的示例,假设第二备份620中的数据块B23被更新,并且第二备份620中的数据块B23对应于第一备份610中的数据块A22,则此时可以拷贝数据块B23以覆盖数据块A22。以此方式,可以将数据存储系统中的各个备份保持最新。
在本发明的一个实施方式中,数据存储系统是Hadoop分布式文件系统。Hadoop分布式文件系统是目前的一种流行的数据存储系统,该系统可以在多个数据节点中保存数据对象的多个备份,因而可以提供较高的可靠性。通过在Hadoop分布式文件系统中应用本发明的技术方案,可以在各个数据节点中保存基于不同查询而将数据对象中的数据记录重新排序后生成的备份。以此方式,可以在确保可靠性的前提下提高数据查询效率。
在上文中已经参见附图描述了如何管理数据存储系统,在下文中将详细描述如何在本发明所述的数据存储系统中执行查询。具体地,在本发明的一个实施方式中,提供了一种用于查询数据存储系统的方法,包括:接收针对数据存储系统的查询;以及响应于数据存储系统的索引中存在与查询相匹配的查询,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;其中数据存储系统是根据本发明的方法管理的数据存储系统。
在已经在数据存储系统中保存了基于不同查询生成的备份的情况下,可以基于索引来搜索在数据存储系统中是否存在与接收到的查询相匹配的备份。例如,在数据存储系统中已经存储了如图5中的第一备份522和第二备份532,并且在索引中已经记载了分别与两个备份相关联的第一查询520和第二查询530。此时,当接收到类似于第一查询520的查询时,可以在第一备份522中执行查询,当接收到类似于第二查询530的查询时,则可以在第二备份532中执行查询,以便提高查询效率。
在本发明的一个实施方式中,进一步包括:响应于数据存储系统的索引中不存在与查询相匹配的查询,访问数据存储系统中与任一查询相关联的地址以执行查询。换言之,当在数据存储系统中不存在匹配于接收到的查询的备份时,则可以在存储系统中的任一备份中执行查询。由于数据存储系统中的各个备份是基于数据存储系统的功能和/或历史查询的频率而设置的,在索引中不存在相匹配查询的可能性较低。因而,在大多数情况下,采用本发明的实施方式可以显著提高查询效率。
图7示意性示出了根据本发明一个实施方式的用于针对数据存储系统进行查询的方法的流程图700。如图7所示,在步骤S702中,接收对数据存储系统的查询。继而,在步骤S704中,判断在数据存储系统中是否存在与接收到的查询相匹配的查询。如果判断结果为“是”,则操作流程前进至步骤S706,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;否则,操作流程前进至步骤S708,访问数据存储系统中与任一查询相关联的地址以执行查询。
应当注意,尽管在说明书和附图中以在数据存储系统维护一个备份、两个备份为具体示例描述了本发明的细节,本领域技术人员应当理解,为了提高数据可靠性和/或进一步提高查询效率,还可以在数据存储系统中保持更多的备份。具体而言,在Hadoop分布式文件系统中,可以维护三个备份。
前面已经参考附图描述了实现本发明的方法的各个实施方式。本领域技术人员可以理解的是,上述方法既可以以软件方式实现,也可以以硬件方式实现,或者通过软件与硬件相结合的方式实现。并且,本领域技术人员可以理解,通过以软件、硬件或者软硬件相结合的方式实现上述方法中的各个步骤,可以提供一种基于相同发明构思的一种设备。即使该设备在硬件结构上与通用处理设备相同,由于其中所包含的软件的作用,使得该设备表现出区别于通用处理设备的特性,从而形成本发明的各个实施方式的设备。本发明中所述设备包括若干装置或模块,所述装置或模块被配置为执行相应步骤。本领域的所述技术人员通过阅读本说明书可以理解如何编写程序实现所述装置或模块执行的动作。由于所述设备与方法基于相同的发明构思,因此其中相同或相应的实现细节同样适用于与上述方法对应的装置或模块,由于其在上文中已经进行了详细和完整的描述,因此在下文中可能不再进行赘述。
图8A示意性示出了根据本发明一个实施方式的用于管理数据存储系统的装置的框图800A。如图8A所示,提供了一种用于管理数据存储系统的装置,包括:排序模块810A,配置用于响应于接收到数据对象,基于第一查询将数据对象中的数据记录排序以形成第一备份;存储模块820A,配置用于在数据存储系统中存储第一备份;以及索引模块830A,配置用于在数据存储系统的索引中存储第一查询以及第一备份在数据存储系统中的第一地址。
在本发明的一个实施方式中,排序模块810A包括:获取模块,配置用于基于第一查询获取第一标准;以及第一排序模块,配置用于按照第一标准,将数据对象中的数据记录排序以形成第一备份。
在本发明的一个实施方式中,第一标准使得在第一备份中执行第一查询时的查询效率高于在按照其他标准将数据对象中的数据记录排序以形成的其他文件中执行第一查询时的查询效率。
在本发明的一个实施方式中,数据对象是多维数据库,以及获取模块包括:第一获取模块,配置用于基于多维数据库中与第一查询相对应的至少一个维度获取第一标准。
在本发明的一个实施方式中,排序模块810A包括:划分模块,配置用于按照数据存储系统支持的块大小,将排序后的数据记录划分为多个数据块;以及形成模块,配置用于基于多个数据块形成第一备份。
在本发明的一个实施方式中,排序模块810A进一步配置用于基于第二查询将数据对象中的数据记录排序以形成第二备份;存储模块820A进一步配置用于在数据存储系统中存储第二备份;以及索引模块830A进一步配置用于在数据存储系统的索引中存储第二查询以及第二备份在数据存储系统中的第二地址。
在本发明的一个实施方式中,进一步包括:映射模块,配置用于获得第一备份中的数据块与第二备份中的数据块的映射关系;以及恢复模块,配置用于响应于第一备份被损坏,基于映射关系从第二备份中恢复第一备份。
在本发明的一个实施方式中,恢复模块包括:查找模块,配置用于基于映射关系,在第二备份中查找与第一备份中被损坏的第一备份块相对应的第二备份块;以及拷贝模块,配置用于拷贝第二备份块以替换被损坏的第一备份块。
在本发明的一个实施方式中,进一步包括:映射模块,配置用于获得第一备份中的数据块与第二备份中的数据块的映射关系;以及更新模块,配置用于响应于第二备份被更新,基于映射关系利用更新的第二备份来更新第一备份。
图8B示意性示出了根据本发明一个实施方式的用于查询数据存储系统的装置的框图800B。具体地,提供了一种用于查询数据存储系统的装置,包括:接收模块810B,配置用于接收针对数据存储系统的查询;以及第一查询模块820B,配置用于响应于数据存储系统的索引中存在与查询相匹配的查询,访问数据存储系统中与相匹配的查询相关联的地址以执行查询;其中数据存储系统是根据本发明的装置管理的数据存储系统。
在本发明的一个实施方式中,进一步包括:第二查询模块830B,配置用于响应于数据存储系统的索引中不存在与查询相匹配的查询,访问数据存储系统中与任一查询相关联的地址以执行查询。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施方式中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
Claims (20)
1.一种用于管理数据存储系统的方法,包括:
响应于接收到数据对象,基于第一查询将所述数据对象中的数据记录排序以形成第一备份;
在所述数据存储系统中存储所述第一备份;以及
在所述数据存储系统的索引中存储所述第一查询以及所述第一备份在所述数据存储系统中的第一地址。
2.根据权利要求1所述的方法,其中响应于接收到数据对象,基于第一查询将所述数据对象中的数据记录排序以形成第一备份包括:
基于第一查询获取第一标准;以及
按照所述第一标准,将所述数据对象中的数据记录排序以形成所述第一备份。
3.根据权利要求2所述的方法,其中所述数据对象是多维数据库,以及所述基于所述第一查询获取第一标准包括:
基于所述多维数据库中与所述第一查询相对应的至少一个维度获取所述第一标准。
4.根据权利要求1-3所述的方法,其中响应于接收到数据对象,基于第一查询将所述数据对象中的数据记录排序以形成第一备份包括:
按照所述数据存储系统支持的块大小,将排序后的数据记录划分为多个数据块;以及
基于所述多个数据块形成所述第一备份。
5.根据权利要求4所述的方法,进一步包括:
基于第二查询将所述数据对象中的所述数据记录排序以形成第二备份;
在所述数据存储系统中存储所述第二备份;以及
在所述数据存储系统的所述索引中存储所述第二查询以及所述第二备份在所述数据存储系统中的第二地址。
6.根据权利要求5所述的方法,进一步包括:
获得所述第一备份中的数据块与所述第二备份中的数据块的映射关系;以及
响应于所述第一备份被损坏,基于所述映射关系从所述第二备份中恢复所述第一备份。
7.根据权利要求6所述的方法,其中响应于所述第一备份被损坏,基于所述映射文件从所述第二备份中恢复所述第一备份包括:
基于所述映射关系,在所述第二备份中查找与所述第一备份中被损坏的第一备份块相对应的第二备份块;以及
拷贝所述第二备份块以替换被损坏的所述第一备份块。
8.根据权利要求5所述的方法,进一步包括:
获得所述第一备份中的数据块与所述第二备份中的数据块的映射关系;以及
响应于所述第二备份被更新,基于所述映射关系利用已更新的第二备份来更新所述第一备份。
9.一种用于查询数据存储系统的方法,包括:
接收针对所述数据存储系统的查询;以及
响应于所述数据存储系统的索引中存在与所述查询相匹配的查询,访问所述数据存储系统中与所述相匹配的查询相关联的地址以执行所述查询;
其中所述数据存储系统是根据权利要求1-8中的任一项所述的方法管理的数据存储系统。
10.根据权利要求9所述的方法,进一步包括:
响应于所述数据存储系统的索引中不存在与所述查询相匹配的查询,访问所述数据存储系统中与任一查询相关联的地址以执行所述查询。
11.一种用于管理数据存储系统的装置,包括:
排序模块,配置用于响应于接收到数据对象,基于第一查询将所述数据对象中的数据记录排序以形成第一备份;
存储模块,配置用于在所述数据存储系统中存储所述第一备份;以及
索引模块,配置用于在所述数据存储系统的索引中存储所述第一查询以及所述第一备份在所述数据存储系统中的第一地址。
12.根据权利要求11所述的装置,其中所述排序模块包括:
获取模块,配置用于基于第一查询获取第一标准;以及
第一排序模块,配置用于按照所述第一标准,将所述数据对象中的数据记录排序以形成所述第一备份。
13.根据权利要求12所述的装置,其中所述数据对象是多维数据库,以及所述获取模块包括:
第一获取模块,配置用于基于所述多维数据库中与所述第一查询相对应的至少一个维度获取所述第一标准。
14.根据权利要求11-13所述的装置,其中所述排序模块包括:
划分模块,配置用于按照所述数据存储系统支持的块大小,将排序后的数据记录划分为多个数据块;以及
形成模块,配置用于基于所述多个数据块形成所述第一备份。
15.根据权利要求14所述的装置,其中:
所述排序模块进一步配置用于基于第二查询将所述数据对象中的所述数据记录排序以形成第二备份;
所述存储模块进一步配置用于在所述数据存储系统中存储所述第二备份;以及
所述索引模块进一步配置用于在所述数据存储系统的所述索引中存储所述第二查询以及所述第二备份在所述数据存储系统中的第二地址。
16.根据权利要求15所述的装置,进一步包括:
映射模块,配置用于获得所述第一备份中的数据块与所述第二备份中的数据块的映射关系;以及
恢复模块,配置用于响应于所述第一备份被损坏,基于所述映射关系从所述第二备份中恢复所述第一备份。
17.根据权利要求16所述的装置,其中所述恢复模块包括:
查找模块,配置用于基于所述映射关系,在所述第二备份中查找与所述第一备份中被损坏的第一备份块相对应的第二备份块;以及
拷贝模块,配置用于拷贝所述第二备份块以替换被损坏的所述第一备份块。
18.根据权利要求15所述的装置,进一步包括:
映射模块,配置用于获得所述第一备份中的数据块与所述第二备份中的数据块的映射关系;以及
更新模块,配置用于响应于所述第二备份被更新,基于所述映射关系利用已更新的第二备份来更新所述第一备份。
19.一种用于查询数据存储系统的装置,包括:
接收模块,配置用于接收针对所述数据存储系统的查询;以及
第一查询模块,配置用于响应于所述数据存储系统的索引中存在与所述查询相匹配的查询,访问所述数据存储系统中与所述相匹配的查询相关联的地址以执行所述查询;
其中所述数据存储系统是根据权利要求11-18中的任一项所述装置管理的数据存储系统。
20.根据权利要求19所述的装置,进一步包括:
第二查询模块,配置用于响应于所述数据存储系统的索引中不存在与所述查询相匹配的查询,访问所述数据存储系统中与任一查询相关联的地址以执行所述查询。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305761.8A CN105446982A (zh) | 2014-06-30 | 2014-06-30 | 用于管理数据存储系统的方法和装置 |
US14/738,783 US11175993B2 (en) | 2014-06-30 | 2015-06-12 | Managing data storage system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410305761.8A CN105446982A (zh) | 2014-06-30 | 2014-06-30 | 用于管理数据存储系统的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105446982A true CN105446982A (zh) | 2016-03-30 |
Family
ID=54930619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410305761.8A Pending CN105446982A (zh) | 2014-06-30 | 2014-06-30 | 用于管理数据存储系统的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11175993B2 (zh) |
CN (1) | CN105446982A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018058942A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种数据处理方法以及备份服务器 |
CN108153492A (zh) * | 2017-12-22 | 2018-06-12 | 联想(北京)有限公司 | 数据处理方法、系统和电子设备 |
US10868303B2 (en) | 2016-02-23 | 2020-12-15 | Shin-Etsu Chemical Co., Ltd. | Negative electrode active material, material of mixed negative electrode active material, negative electrode for non-aqueous electrolyte secondary battery, lithium ion secondary battery, method for producing negative electrode active material and method for producing lithium ion secondary battery |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2017138620A1 (ja) * | 2016-02-09 | 2018-11-29 | 株式会社東芝 | メモリデバイス、蓄積可能データを扱うエッジ装置及びデータ管理方法 |
US20170270149A1 (en) * | 2016-03-15 | 2017-09-21 | Huawei Technologies Co., Ltd. | Database systems with re-ordered replicas and methods of accessing and backing up databases |
US9934095B2 (en) * | 2016-06-29 | 2018-04-03 | International Business Machines Corporation | System, method and recording medium for antifragile computing problem management |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060048002A1 (en) * | 2004-08-25 | 2006-03-02 | Kodi Sathees B | Apparatus, system, and method for verifying backup data |
US20060106766A1 (en) * | 2004-11-12 | 2006-05-18 | International Business Machines Corporation | Method, system and program product for rewriting structured query language (SQL) statements |
US20060224554A1 (en) * | 2005-03-29 | 2006-10-05 | Bailey David R | Query revision using known highly-ranked queries |
US20070143246A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query |
CN101176058A (zh) * | 2005-03-29 | 2008-05-07 | 谷歌公司 | 使用已知高级查询的查询修订 |
US20080177961A1 (en) * | 2007-01-23 | 2008-07-24 | International Business Machines Corporation | Partial Backup and Restore with Backup Versioning |
US7660822B1 (en) * | 2004-03-31 | 2010-02-09 | Google Inc. | Systems and methods for sorting and displaying search results in multiple dimensions |
US20120054280A1 (en) * | 2010-08-25 | 2012-03-01 | International Business Machines Corporation | Sharing Cloud Data Resources With Social Network Associates |
US20130018890A1 (en) * | 2011-07-13 | 2013-01-17 | Salesforce.Com, Inc. | Creating a custom index in a multi-tenant database environment |
US20130282976A1 (en) * | 2012-04-22 | 2013-10-24 | 9livesdata Cezary Dubnicki | Self-protecting mass storage systems and methods |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002140404A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | データベース統合処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体 |
US7154091B2 (en) * | 2004-04-02 | 2006-12-26 | California Institute Of Technology | Method and system for ultrafast photoelectron microscope |
US7007364B2 (en) * | 2004-07-13 | 2006-03-07 | Infosight Corporation | Tag nailing system |
JP5376104B2 (ja) * | 2005-07-04 | 2013-12-25 | ソニー株式会社 | 面発光型半導体レーザ |
JP4693589B2 (ja) * | 2005-10-26 | 2011-06-01 | 株式会社日立製作所 | 計算機システム、記憶領域割当方法及び管理計算機 |
US7472242B1 (en) | 2006-02-14 | 2008-12-30 | Network Appliance, Inc. | Eliminating duplicate blocks during backup writes |
US8621166B1 (en) | 2009-02-09 | 2013-12-31 | American Megatrends, Inc. | Efficient backup of multiple versions of a file using data de-duplication |
US8650162B1 (en) | 2009-03-31 | 2014-02-11 | Symantec Corporation | Method and apparatus for integrating data duplication with block level incremental data backup |
US20100306177A1 (en) * | 2009-05-29 | 2010-12-02 | Khosravi Hormuzd M | Host operating system independent storage-related remote access and operations |
US9454511B2 (en) * | 2011-05-04 | 2016-09-27 | American University | Windowing methods and systems for use in time-frequency analysis |
US20120323923A1 (en) * | 2011-06-14 | 2012-12-20 | Bank Of America Corporation | Sorting Data in Limited Memory |
ITTO20110581A1 (it) * | 2011-07-01 | 2013-01-02 | Skf Ab | Complesso anulare di tenuta, in particolare per l'interposizione tra elementi soggetti a disassamento |
CN105956137B (zh) * | 2011-11-15 | 2019-10-01 | 阿里巴巴集团控股有限公司 | 一种搜索方法、搜索装置及一种搜索引擎系统 |
US9501550B2 (en) | 2012-04-18 | 2016-11-22 | Renmin University Of China | OLAP query processing method oriented to database and HADOOP hybrid platform |
US20130325812A1 (en) | 2012-05-30 | 2013-12-05 | Spectra Logic Corporation | System and method for archive in a distributed file system |
US9753954B2 (en) | 2012-09-14 | 2017-09-05 | Cloudera, Inc. | Data node fencing in a distributed file system |
-
2014
- 2014-06-30 CN CN201410305761.8A patent/CN105446982A/zh active Pending
-
2015
- 2015-06-12 US US14/738,783 patent/US11175993B2/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7660822B1 (en) * | 2004-03-31 | 2010-02-09 | Google Inc. | Systems and methods for sorting and displaying search results in multiple dimensions |
US20060048002A1 (en) * | 2004-08-25 | 2006-03-02 | Kodi Sathees B | Apparatus, system, and method for verifying backup data |
US20060106766A1 (en) * | 2004-11-12 | 2006-05-18 | International Business Machines Corporation | Method, system and program product for rewriting structured query language (SQL) statements |
US20060224554A1 (en) * | 2005-03-29 | 2006-10-05 | Bailey David R | Query revision using known highly-ranked queries |
CN101176058A (zh) * | 2005-03-29 | 2008-05-07 | 谷歌公司 | 使用已知高级查询的查询修订 |
US20070143246A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and apparatus for analyzing the effect of different execution parameters on the performance of a database query |
US20080177961A1 (en) * | 2007-01-23 | 2008-07-24 | International Business Machines Corporation | Partial Backup and Restore with Backup Versioning |
US20120054280A1 (en) * | 2010-08-25 | 2012-03-01 | International Business Machines Corporation | Sharing Cloud Data Resources With Social Network Associates |
US20130018890A1 (en) * | 2011-07-13 | 2013-01-17 | Salesforce.Com, Inc. | Creating a custom index in a multi-tenant database environment |
US20130282976A1 (en) * | 2012-04-22 | 2013-10-24 | 9livesdata Cezary Dubnicki | Self-protecting mass storage systems and methods |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10868303B2 (en) | 2016-02-23 | 2020-12-15 | Shin-Etsu Chemical Co., Ltd. | Negative electrode active material, material of mixed negative electrode active material, negative electrode for non-aqueous electrolyte secondary battery, lithium ion secondary battery, method for producing negative electrode active material and method for producing lithium ion secondary battery |
WO2018058942A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种数据处理方法以及备份服务器 |
CN108153492A (zh) * | 2017-12-22 | 2018-06-12 | 联想(北京)有限公司 | 数据处理方法、系统和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11175993B2 (en) | 2021-11-16 |
US20150378835A1 (en) | 2015-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446982A (zh) | 用于管理数据存储系统的方法和装置 | |
JP6971542B2 (ja) | 不揮発性メモリ装置におけるデータ特性基盤データ配置を活用するためのインターフェイス提供方法及びシステム並びに不揮発性メモリ装置とそのデータ特性基盤データ配置方法 | |
US9767035B2 (en) | Pass-through tape access in a disk storage environment | |
US9170885B2 (en) | Independent management of data and parity logical block addresses | |
US7480643B2 (en) | System and method for migrating databases | |
US9772906B2 (en) | Disaster recovery systems and methods | |
CN107003935A (zh) | 优化数据库去重 | |
US20140358977A1 (en) | Management of Intermediate Data Spills during the Shuffle Phase of a Map-Reduce Job | |
CN106233259A (zh) | 在分散存储网络中检索多世代存储数据 | |
WO2017005192A1 (en) | Mechanisms for merging index structures in molap while preserving query consistency | |
US20170031613A1 (en) | Disaster recovery systems and methods | |
DE112020003277T5 (de) | Erzeugen von tags für die datenzuweisung | |
CN105511957A (zh) | 用于生成作业告警的方法和系统 | |
US20220019739A1 (en) | Item Recall Method and System, Electronic Device and Readable Storage Medium | |
CN107506484B (zh) | 运维数据关联审计方法、系统、设备及存储介质 | |
CN104346479A (zh) | 一种数据库同步方法及装置 | |
CN109783023B (zh) | 一种数据下刷的方法和相关装置 | |
CN103049355B (zh) | 一种数据库系统恢复方法及设备 | |
CN105224536A (zh) | 划分数据库的方法和装置 | |
US20150294741A1 (en) | Method and apparatus for defect repair in nand memory device | |
CN105511801A (zh) | 数据存储的方法和装置 | |
CN104951462A (zh) | 用于管理数据库的方法和系统 | |
CN105446705A (zh) | 用于确定配置文件的特性的方法和装置 | |
US10235401B2 (en) | Method and system for handling binary large objects | |
CN104969169A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160330 |
|
RJ01 | Rejection of invention patent application after publication |