CN108009254A - 多索引方法及装置、云系统以及计算机可读存储介质 - Google Patents
多索引方法及装置、云系统以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108009254A CN108009254A CN201711271300.3A CN201711271300A CN108009254A CN 108009254 A CN108009254 A CN 108009254A CN 201711271300 A CN201711271300 A CN 201711271300A CN 108009254 A CN108009254 A CN 108009254A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- stored
- indexing
- storage
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种用于云数据库的多索引方法、多索引装置、云系统和计算机可读存储介质。所述云数据库包括存储单元和索引单元,所述多索引方法包括:将多个数据存储在所述存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
Description
技术领域
本发明涉及云计算领域,尤其涉及用于云数据库的多索引方法、多索引装置、云系统以及计算机可读存储介质。
背景技术
在云计算系统中,云数据库扮演着重要角色。与传统数据库类似,云数据库也存储有若干表格,每个表格有行、有列;但是与传统数据库不同的是,云数据库将表切分成若干分片,每个分片被放在云系统的不同节点上。为了查询方便,一个表通常需要建立多个索引,而在云数据库中,由于数据分散在不同节点上,实现多索引比较困难。
有鉴于此,希望能够提供一种用于云数据库的多索引机制。
发明内容
本发明实施例提供一种多索引方法、多索引装置、云系统以及计算机可读存储介质,以至少解决现有技术中的以上技术问题。
第一方面,本发明实施例提供了一种用于云数据库的多索引方法,其中,所述云数据库包括索引单元,所述多索引方法包括:将多个数据存储在存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
第二方面,本发明实施例提供了一种用于云数据库的多索引设备,其中,所述云数据库包括索引单元,所述多索引设备包括:获取装置,用于将多个数据存储在存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及存储装置,用于将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面,本发明实施例提供了一种云系统,包括:客户端,用于输入多个数据及每个数据的多个索引关键字;存储单元,用于存储由客户端写入的多个数据,并且将所述多个数据的存储地址信息反馈给所述客户端;云数据库,用于将从所述客户端接收的所述每个数据的多个索引关键字中的每一个与该数据的存储地址信息相关联地存储在该云数据库的索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
第四方面,本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,其中,该程序被处理器执行时实现如上所述的信息处理方法。
上述技术方案中的一个技术方案至少具有如下优点或有益效果之一:通过将数据和索引关键字分别存储,使得一张索引表不再包含数据,从而减小了数据库中存储的表的大小,使得查找数据的速度加快了并且减少了存储空间的压力;能够支持云数据库的多索引机制;并且更新一行时能够同时更新所有的索引表,并且利用事务来保证一致性。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1为根据本发明一个实施例的用于云数据库的多索引方法的示例性流程图。
图2示出了根据本发明实施例的多索引方法而分别存储在存储单元和所引单元中的一种示例性表格。
图3示出了根据本发明实施例的多索引方法而分别存储在存储单元和所引单元中的另一种示例性表格。
图4示出了根据本发明另一实施例的用于云数据库的多索引方法的示例性流程图。
图5示出了根据本发明实施例的一种用于云数据库的多索引装置的示例性结构。
图6示出了根据本发明实施例的一种云系统的示例性结构。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在云数据库中存储的通常是包括多行和多列的复杂表格。如下表1示出了一种4行3列的数据表格。
表1
第一关键字 | 第二关键字 | 数据 |
1 | AAA | xxx |
2 | CCC | yyy |
3 | BBB | zzz |
如上表1所示,与数据对应的关键字包括第一关键字和第二关键字,数据通常是很长的字符串,在此以xxx、yyy、zzz表示。
以上4行3列的数据表格仅仅是示例,本发明不限于此。本领域技术人员可以理解,根据本发明的云数据库中存储的表格还可以包括更多行、更多列,并且更多列可以对应于更多的索引关键字。
以表1为例,如果我们需要查找第一关键字为“1”,第二关键字为“AAA”的行,只需要通过搜索云数据库中存储的上述表1,找到对应的行后,然后根据指针找到相应的数据值。搜索存储单元中存储的上述表很简单,因为它是按照第一关键字和第二关键字排序的。比如,先对第一关键字列做二分查找,找到第一关键字为“1”的行。如果有多行第一关键字都是“1”,就对这些行的第二列做二分查找,找到第二关键字为“AAA”的行即可。
假设用户需要查找第二关键字为“CCC”的行,仅通过上述表1就不行了。因为在存储单元中,表不是按照第二关键字排序,也就是说,表的第二列是不排序的(AAA、CCC、BBB),因此在要找到第二关键字为CCC的行需要扫描整张表,效率很低。在此情况下,需要建立第二索引。
建立第二索引其实就是建立一张新表,这个新表称为简单表索引,如下:
表2
第二关键字 | 第一关键字 | 数据 |
AAA | 1 | xxx |
BBB | 3 | zzz |
CCC | 2 | yyy |
它的第一列是第二关键字,第二列是第一关键字,第三列是数据。表2的索引关键字的顺序和表1的不同,其第二关键字放在了首位。虽然表一和表二包含的行其实是一样的,但是行的排列顺序不同。很显然,有了表2的索引,查询第二关键字为CCC的行就很容易了,只需对表2的第一列做二分查找就可以了。这就是多索引处理的基本思路。
可以根据本发明实施例的多索引方法存储并索引云数据库中存储的数据。
本发明实施例提供一种用于云数据库的多索引方法,该云数据库包括索引单元。
图1是根据本发明一个实施例的用于云数据库的多索引方法的示例性流程图。
如图1所示,根据本发明一个实施例的多索引方法包括以下步骤:
在步骤S101,将多个数据存储在存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;
在步骤S102,根据各个所述候选词条的词条属性,从所述多个候选词条中确定所述预定文本的关键词条将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
根据本发明实施例的用于云数据库的多索引方法能够将数据与索引关键字分别存储。
根据本发明的一个实施例,在针对云数据库建立索引时,可以在步骤S101,通过客户端将多个数据写入存储单元中、即将多个数据存储在存储单元中,并且获取该数据在存储单元的存储地址信息。数据在存储单元的存储地址信息例如可以是表示偏移量和数据长度的指针,通过该指针可以指向对应的数据,从而在查找数据时,可以通过指针找到该数据。本发明不限于此,只要是能够通过其找到相应数据的信息都可以作为根据本发明实施例的存储地址信息。
根据本发明的一个实施例,存储数据的存储单元例如可以是永久存储单元,一旦数据写入其中,就不会丢失。例如,存储数据的存储单元可以是底层分布式文件系统中的一个或者若干个文件,例如Value store,它的存储是永久地,一旦将数据写入Value Store,就不会丢失。Value Store可以采用多个文件以分担负载,因此Value Store本身不够成性能瓶颈。当数据写入Value Store的一个文件后,可以获取该数据的存储地址信息、即指针,指针通常包括该数据被存储于其中的文件的文件名、偏移量和数据长度,通过“文件名+偏移量+数据长度”可以在用户使用时找到这个数据。
接着,在步骤S102,可以将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中。根据本发明,索引单元可以位于云数据库服务器上,更具体地,可以位于云数据库服务器的节点上。可以通过将指针返回客户端,由客户端将返回的指针与该数据对应的索引关键字相关联地提供给云数据库服务器,并由云数据库服务器将该索引关键字与相应的指针相关联的存储在云数据库服务器的存储装置中。
根据本发明的优选实施例,例如,云数据库服务器在将数据的索引关键字及其存储地址信息写入索引单元中之前,还可以将接收到的数据的索引关键字及其存储地址信息相关联地写入一个另外的存储装置中,以防止数据丢失。另外的存储装置例如可以是预写式日志(Write-Ahead-Log),其为本领域技术人员所公知的,在此不再赘述。
此外,根据本发明的实施例,索引单元例如可以通过内存来实现。例如,云数据库服务器可以先将索引关键字和存储地址信息以表格形式写入内存中的中,然后由后台线程将该存储表中的内容存储到检查点文件(checkpoint file)中。Checkpoint file一般都是能够永久存储信息的(比如磁盘),即一旦数据进入checkpoint file,就不会再丢失了。
图2示出了根据本发明实施例的多索引方法而分别存储在存储单元和索引单元中的一种示例性表格。
以存储如上所述的表1中的数据为例,如图2所示,在存储单元中存储有如上表1中示出的各个数据xxx、yyy、zzz;在索引单元中相关联地存储有数据的索引关键字和该数据的指针。如图2所示,索引单元中存储的信息不包括数据本身,而是通过一个指针指向存储单元中的数据。
通过如上所述地将数据及其索引关键字分离存储,使得存储在索引单元中的、包括相关联的索引关键字和数据的指针的表格作为索引。由于指针的大小通常都远小于数据本身,因此,存储在数据库中的表通常很小,使得能够加速后续数据查找的速度,并且减少了存储空间的压力。
根据本发明的实施例,索引单元可以包括多个索引子单元。
在步骤S102,将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储包括:将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述多个索引子单元中。根据本发明的实施例,多个索引子单元可以是分别位于多个云服务器节点的每一个上的存储装置。
下面以多个索引子单元包括两个索引子单元、数据的多个索引关键字包括两个索引关键字为例对本发明的多索引方法进行描述。
根据发明的一个实施例,每个数据的所述多个索引关键字包括第一索引关键字和第二索引关键字。
在步骤S102中,将与每个数据对应的多个索引关键字与该数据的所述存储地址信息相关联地存储包括:按照基于第一关键字的第一预定顺序,将每个所述数据的存储地址信息与相应的所述第一索引关键字相关联地存储在所述索引单元的第一索引子单元中;以及按照基于第二关键字的第二预定顺序,将每个所述数据的存储地址信息与相应的所述第二索引关键字相关联地存储在所述索引单元的第二索引子单元中。
图3示出了根据本发明实施例的多索引方法而分别存储在存储单元和所引单元中的另一示例表格。
仍以存储如上所述的表1中的数据为例,如图3所示,在存储单元中存储有如上表1中示出的各个数据xxx、yyy、zzz;在第一索引子单元中相关联地存储有数据的索引关键字和该数据的指针,其中,数据的索引关键字和该数据的指针是按照第一索引关键字顺序存储地;在第二索引子单元中相关联地存储有数据的索引关键字和该数据的指针,其中,数据的索引关键字和该数据的指针是按照第二索引关键字顺序存储地。
如图3所示,第一索引子单元和第二索引子单元中存储的表格中都不包括数据,而是都通过同一指针指向存储单元中的数据。根据本发明的实施例,数据(比如xxx、yyy、zzz)最终只存储了一份,两个索引子单元各自通过指针指向这些数据。
图4示出了根据本发明另一实施例的用于云数据库的多索引方法的示例性流程图。
如图4所示,根据本发明另一实施例的用于云数据库的多索引方法除了包括图1中示出的步骤S101和S102之外,还包括:在步骤S103中,通过事务(transaction)对所述多个索引子单元同时进行更新,以实现对所述云数据库的更新。
在多索引的情况下,在索引形成后、需要写入新的数据而对数据库进行更新时,可以先将新的数据写入存储单元中,然后将多个索引关键字中的每一个与该数据在存储单元中的存储地址信息分别相关联地写入多个索引子单元中,并且通过事务保证写入多个索引子单元中的写入操作同时成功或者同时失败。通过事务保证写入多个索引子单元中的操作同时成功或者同时失败的处理时本领域技术人员公知的,在此不再赘述。
通过上述处理,可以确保在需要写入新数据时,同时更新数据库中的所有索引子单元中存储的索引表,从而保证索引子单元存储的索引表的一致性。
本发明实施例还提供一种用于云数据库的多索引设备,云数据库包括存储单元和索引单元,如图5所示,多索引设备包括:获取装置10,用于将多个数据存储在所述存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及存储装置20,用于将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
根据本发明的实施例,索引单元可以包括多个索引子单元;所述存储装置20可以被配置为将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述多个索引子单元中。
根据本发明的实施例,所述多索引设备还可以包括:更新装置30,用于通过事务对所述多个索引子单元同时进行更新,以实现对所述云数据库的更新。
根据本发明的实施例,每个数据的所述多个索引关键字包括第一索引关键字和第二索引关键字。存储装置20被配置为按照第一预定顺序,将每个所述数据的存储地址信息与相应的所述第一索引关键字相关联地存储在所述索引单元的第一索引子单元中;以及按照第二预定顺序,将每个所述数据的存储地址信息与相应的所述第二索引关键字相关联地存储在所述索引单元的第二索引子单元中。
根据本发明的实施例,获取装置10、存储装置20、更新装置30的处理例如可以参照图1-4描述的步骤S101、S102、S103的处理,在此不再赘述。
本发明实施例还提供一种云系统,如图6所示,该云系统包括:客户端100,用于输入多个数据及每个数据的多个索引关键字;存储单元200,用于存储由客户端写入的多个数据,并且将所述多个数据的存储地址信息反馈给所述客户端;云数据库300,用于将从所述客户端接收的所述每个数据的多个索引关键字中的每一个与该数据的存储地址信息分别相关联地存储在该云数据库的索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
如图所示,云数据库包括两个云服务器节点301、302,每个云服务器节点具有用于将从所述客户端接收的所述每个数据的多个索引关键字中的每一个与该数据的存储地址信息相关联地存储在该服务器节点的索引子单元中。虽然图6中仅示出了云数据库包括两个云服务器节点,但是本发明不限于此,本领域技术人员可以理解,根据本发明实施例的云数据库可以包括更多个云服务器节点。
存储单元200存储数据的操作以及云数据库300关联地存储数据的多个索引关键字与存储地址信息的操作与以上结合图1描述的步骤S101和S102的处理类似,在此省略对其的详细描述。
本发明实施例还提供一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现如上所述的信息处理方法。
根据本发明实施例的信息处理装置、信息处理方法、终端设备以及存储介质相比现有技术至少具有以下优点之一:通过将数据和索引关键字分别存储,使得一张索引表不再包含数据,从而减小了数据库中存储的表的大小,使得查找数据的速度加快了并且减少了存储空间的压力;能够支持云数据库的多索引机制;并且更新一行时能够同时更新所有的索引表,并且利用事务来保证一致性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
本发明实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质的更具体的示例至少(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
在本发明实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于指令执行系统、输入法或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种用于云数据库的多索引方法,其中,所述云数据库包括索引单元,所述多索引方法包括:
将多个数据存储在存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及
将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
2.根据权利要求1所述的多索引方法,
其中,所述索引单元包括多个索引子单元;
其中,将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储包括:将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述多个索引子单元中。
3.根据权利要求2所述的多索引方法,还包括:通过事务对所述多个索引子单元同时进行更新,以实现对所述云数据库的更新。
4.根据权利要求1-3中任一项所述的多索引方法,其中,每个数据的所述多个索引关键字包括第一索引关键字和第二索引关键字。
5.根据权利要求4所述的多索引方法,其中,将与每个数据对应的多个索引关键字与该数据的所述存储地址信息分别相关联地存储包括:按照基于第一索引关键字的第一预定顺序,将每个所述数据的存储地址信息与相应的所述第一索引关键字相关联地存储在所述索引单元的第一索引子单元中;以及按照基于第二索引关键字的第二预定顺序,将每个所述数据的存储地址信息与相应的所述第二索引关键字相关联地存储在所述索引单元的第二索引子单元中。
6.一种用于云数据库的多索引设备,其中,所述云数据库包括索引单元,所述多索引设备包括:
获取装置,用于将多个数据存储在所述存储单元中,并获取每个所述数据在所述存储单元中的存储地址信息;以及
存储装置,用于将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
7.根据权利要求6所述的多索引设备,
其中,所述索引单元包括多个索引子单元;
其中,所述存储装置被配置为将与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息分别相关联地存储在所述多个索引子单元中。
8.根据权利要求7所述的多索引设备,还包括:更新装置,用于通过事务对所述多个索引子单元同时进行更新,以实现对所述云数据库的更新。
9.根据权利要求6-8中任一项所述的多索引设备,其中,每个数据的所述多个索引关键字包括第一索引关键字和第二索引关键字。
10.根据权利要求9所述的多索引设备,其中,所述存储装置被配置为按照基于第一索引关键字的第一预定顺序,将每个所述数据的存储地址信息与相应的所述第一索引关键字相关联地存储在所述索引单元的第一索引子单元中;以及按照基于第二索引关键字的第二预定顺序,将每个所述数据的存储地址信息与相应的所述第二索引关键字相关联地存储在所述索引单元的第二索引子单元中。
11.一种云系统,包括:
客户端,用于输入多个数据及每个数据的多个索引关键字;
存储单元,用于存储由客户端写入的多个数据,并且将所述多个数据的存储地址信息反馈给所述客户端;
云数据库,用于将从所述客户端接收的所述每个数据的多个索引关键字中的每一个与该数据的存储地址信息分别相关联地存储在该云数据库的索引单元中,以便根据所述多个索引关键字中的至少两个索引关键字对所述云数据库进行索引。
12.根据权利要求11所述的云系统,其中,所述索引单元包括多个索引子单元;所述多个索引单元分别相关联地存储有与每个数据对应的多个索引关键字中的每一个与该数据的所述存储地址信息。
13.根据权利要求11或12所述的云数据库,其中,每个数据的所述多个索引关键字包括第一索引关键字和第二索引关键字;所述索引单元包括第一索引子单元和第二索引子单元,
其中,所述第一索引单元被配置为按照基于第一索引关键字的第一预定顺序、相关联地存储有每个所述数据的存储地址信息与相应的所述第一索引关键字;以及按照基于第二索引关键字的第二预定顺序,相关联地存储有每个所述数据的存储地址信息与相应的所述第二索引关键字。
14.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711271300.3A CN108009254A (zh) | 2017-12-05 | 2017-12-05 | 多索引方法及装置、云系统以及计算机可读存储介质 |
US16/130,236 US11222067B2 (en) | 2017-12-05 | 2018-09-13 | Multi-index method and apparatus, cloud system and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711271300.3A CN108009254A (zh) | 2017-12-05 | 2017-12-05 | 多索引方法及装置、云系统以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108009254A true CN108009254A (zh) | 2018-05-08 |
Family
ID=62057089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711271300.3A Pending CN108009254A (zh) | 2017-12-05 | 2017-12-05 | 多索引方法及装置、云系统以及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11222067B2 (zh) |
CN (1) | CN108009254A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413029A (zh) * | 2018-08-29 | 2019-03-01 | 国网河南省电力公司电力科学研究院 | 定值数据接入方法、装置及系统 |
CN110134691A (zh) * | 2019-05-15 | 2019-08-16 | 北京百度网讯科技有限公司 | 数据校验方法、装置、设备和介质 |
CN111506628A (zh) * | 2020-04-22 | 2020-08-07 | 中国民航信息网络股份有限公司 | 数据处理方法及装置 |
WO2023179787A1 (zh) * | 2022-03-25 | 2023-09-28 | 阿里巴巴(中国)有限公司 | 分布式文件系统的元数据管理方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11144548B2 (en) * | 2018-04-24 | 2021-10-12 | Dremio Corporation | Optimized data structures of a relational cache with a learning capability for accelerating query execution by a data system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020204A (zh) * | 2012-12-05 | 2013-04-03 | 北京普泽天玑数据技术有限公司 | 一种对分布式顺序表进行多维区间查询的方法及其系统 |
CN103150397A (zh) * | 2013-03-26 | 2013-06-12 | 北京经纬恒润科技有限公司 | 一种数据索引创建方法、数据检索方法和系统 |
CN105488050A (zh) * | 2014-09-17 | 2016-04-13 | 阿里巴巴集团控股有限公司 | 一种数据库多索引方法、装置及系统 |
US9633074B1 (en) * | 2014-01-03 | 2017-04-25 | Amazon Technologies, Inc. | Querying data set tables in a non-transactional database |
CN107239568A (zh) * | 2017-06-27 | 2017-10-10 | 石化盈科信息技术有限责任公司 | 分布式索引实现方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496830B1 (en) * | 1999-06-11 | 2002-12-17 | Oracle Corp. | Implementing descending indexes with a descend function |
US8392408B1 (en) * | 2011-05-04 | 2013-03-05 | Google Inc. | Coordinating successive search queries using a query cursor |
CN102521303B (zh) | 2011-11-30 | 2016-08-10 | 北京人大金仓信息技术股份有限公司 | 一种用于列数据库的单表多列序存储方法 |
US10394848B2 (en) | 2013-07-29 | 2019-08-27 | Amazon Technologies, Inc. | Generating a multi-column index for relational databases by interleaving data bits for selectivity |
CN104766024B (zh) | 2015-03-13 | 2017-10-27 | 河南群智信息技术有限公司 | 基于云平台的医疗系统病例信息存储调用方法 |
-
2017
- 2017-12-05 CN CN201711271300.3A patent/CN108009254A/zh active Pending
-
2018
- 2018-09-13 US US16/130,236 patent/US11222067B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020204A (zh) * | 2012-12-05 | 2013-04-03 | 北京普泽天玑数据技术有限公司 | 一种对分布式顺序表进行多维区间查询的方法及其系统 |
CN103150397A (zh) * | 2013-03-26 | 2013-06-12 | 北京经纬恒润科技有限公司 | 一种数据索引创建方法、数据检索方法和系统 |
US9633074B1 (en) * | 2014-01-03 | 2017-04-25 | Amazon Technologies, Inc. | Querying data set tables in a non-transactional database |
CN105488050A (zh) * | 2014-09-17 | 2016-04-13 | 阿里巴巴集团控股有限公司 | 一种数据库多索引方法、装置及系统 |
CN107239568A (zh) * | 2017-06-27 | 2017-10-10 | 石化盈科信息技术有限责任公司 | 分布式索引实现方法及装置 |
Non-Patent Citations (1)
Title |
---|
凃云杰 著: "《云背景下数据库安全性与数据库完整性研究》", 30 November 2014, 北京:中国水利水电出版社 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109413029A (zh) * | 2018-08-29 | 2019-03-01 | 国网河南省电力公司电力科学研究院 | 定值数据接入方法、装置及系统 |
CN110134691A (zh) * | 2019-05-15 | 2019-08-16 | 北京百度网讯科技有限公司 | 数据校验方法、装置、设备和介质 |
CN110134691B (zh) * | 2019-05-15 | 2021-06-01 | 北京百度网讯科技有限公司 | 数据校验方法、装置、设备和介质 |
CN111506628A (zh) * | 2020-04-22 | 2020-08-07 | 中国民航信息网络股份有限公司 | 数据处理方法及装置 |
WO2023179787A1 (zh) * | 2022-03-25 | 2023-09-28 | 阿里巴巴(中国)有限公司 | 分布式文件系统的元数据管理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190171773A1 (en) | 2019-06-06 |
US11222067B2 (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009254A (zh) | 多索引方法及装置、云系统以及计算机可读存储介质 | |
US8099415B2 (en) | Method and apparatus for assessing similarity between online job listings | |
CN103390020B (zh) | 在数据库中存储数据的方法和系统 | |
CN108733681A (zh) | 信息处理方法及装置 | |
US9626368B2 (en) | Document merge based on knowledge of document schema | |
US20080005134A1 (en) | Derivation of relationships between data sets using structured tags or schemas | |
CN107609186A (zh) | 信息处理方法及装置、终端设备及计算机可读存储介质 | |
US20080005148A1 (en) | Automated knowledge base of feed tags | |
US20150278268A1 (en) | Data encoding and corresponding data structure | |
US10922288B2 (en) | Method for storing data elements in a database | |
CN106528579A (zh) | 一种基于分库分表结构数据库的查询方法、装置及系统 | |
KR20040104465A (ko) | 수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치 | |
US11216516B2 (en) | Method and system for scalable search using microservice and cloud based search with records indexes | |
US20190005041A1 (en) | Locating data in a set with a single index using multiple property values | |
US20130179431A1 (en) | Tokenized javascript indexing system | |
JP2020074105A (ja) | ガイド付きデータ探索 | |
CN110874358A (zh) | 多属性列的存储、检索方法和装置以及电子设备 | |
US6701328B1 (en) | Database management system | |
CN108133000A (zh) | 一种元数据存储方法、装置和服务器 | |
CN114741570A (zh) | 图数据库的查询方法、索引创建方法及相关设备 | |
CN102270201A (zh) | 用于网络文件的多维索引的方法和设备 | |
CN108897819A (zh) | 一种数据搜索方法和装置 | |
CN111045994A (zh) | 一种基于kv数据库的文件分类检索方法及系统 | |
US20200311151A1 (en) | Document structures for searching within and across messages | |
US10324991B2 (en) | Search promotion systems and method |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180508 |