CN108228799B - 对象索引信息的存储方法及装置 - Google Patents
对象索引信息的存储方法及装置 Download PDFInfo
- Publication number
- CN108228799B CN108228799B CN201711479269.2A CN201711479269A CN108228799B CN 108228799 B CN108228799 B CN 108228799B CN 201711479269 A CN201711479269 A CN 201711479269A CN 108228799 B CN108228799 B CN 108228799B
- Authority
- CN
- China
- Prior art keywords
- storage
- storage object
- data
- database system
- distributed database
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 title claims abstract description 360
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013467 fragmentation Methods 0.000 claims abstract description 40
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 40
- 239000012634 fragment Substances 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 15
- 238000012432 intermediate storage Methods 0.000 claims description 2
- 230000007547 defect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 101150055297 SET1 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 101150117538 Set2 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对象索引信息的存储方法及装置,用于将对象索引信息存储在内存型的中间层存储空间中,其中,方法包括:获取存储对象的对象名;将存储对象的对象名存储到相应的存储对象集中;将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。采用本方案,可将分布式数据库系统中的对象索引信息存储在内存型的中间层存储空间中,避免了现有技术中分布式数据库系统采用树形索引结构而引起的索引信息增删改查效率低的弊端,便于提高对分布式数据库系统中索引信息的检索速度,并提高插入或删除索引信息速率及提升索引信息的遍历效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种对象索引信息的存储方法及装置。
背景技术
随着数据井喷式的增长和用户需求的快速增长,分布式数据库系统应运而生。分布式数据库系统以其高可扩展性、高可用性、以及高并发性等特点满足了对海量数据存储的需求。
目前,基于分布式数据库系统的特点,分布式数据库系统中采用B+树形结构的索引存储方式。然而,采用树形结构的索引存储方式,在获取索引信息时需从根节点开始查找,最终获得相应的索引信息,从而大大增加索引信息的检索、修改及删除速率,进而影响对分布式数据库系统中数据增删改查效率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的对象索引信息的存储方法及装置。
根据本发明的一个方面,提供了一种对象索引信息的存储方法,用于将对象索引信息存储在内存型的中间层存储空间中,其中,方法包括:
获取存储对象的对象名;
将所述存储对象的对象名存储到相应的存储对象集中;
将所述对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
根据本发明的另一方面,提供了一种对象索引信息的存储装置,用于将对象索引信息存储在内存型的中间层存储空间中,其中,装置包括:
获取模块,适于获取存储对象的对象名;
第一存储模块,适于将所述存储对象的对象名存储到相应的存储对象集中;
第二存储模块,适于将所述对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
根据本发明的又一方面,提供了一种电子设备/终端/服务器,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述对象索引信息的存储方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述对象索引信息的存储方法对应的操作。
根据本发明提供的对象索引信息的存储方法及装置,首先获取存储对象的对象名;将存储对象的对象名存储到相应的存储对象集中;将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。采用本方案,可将分布式数据库系统中的对象索引信息存储在内存型的中间层存储空间中,避免了现有技术中分布式数据库系统采用树形索引结构而引起的索引信息增删改查效率低的弊端,便于提高对分布式数据库系统中索引信息的检索速度,并提高插入或删除索引信息速率及提升索引信息的遍历效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例提供的对象索引信息的存储方法的流程示意图;
图2示出了根据本发明另一个实施例提供的对象索引信息的存储方法的流程示意图;
图3示出了根据本发明一个实施例提供的对象索引信息的存储装置的结构框图;
图4示出了根据本发明一个实施例提供的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例提供的对象索引信息的存储方法的流程示意图。如图1所示,该方法包括:
步骤S110,获取存储对象的对象名。
其中,本发明提供的对象索引信息的存储方法用于将对象索引信息存储在内存型的中间层存储空间中。本发明对中间层存储空间的具体类别不做限定,例如,中间层存储空间可以为redis数据库、Memcached数据库等。将对象索引信息存储在内存型的中间层存储空间中,可利用内存型的中间层存储空间的高读写速率等特点进一步提高索引信息的读写效率。
在本步骤中,获取存入分布式数据库系统中的存储对象的对象名称。具体的获取方式本领域技术人员可自行设置,本实施例对此不做限定,例如,可批量获取存入分布式数据库系统中的存储对象的对象名称,也可以每次获取单个存储对象的对象名称。
步骤S120,将存储对象的对象名存储到相应的存储对象集中。
具体地,中间层存储空间中存储有各个存储对象集。在获取存储对象的对象名后,将其存储至相应的存储对象集中。当获取多个存储对象的对象名后,可批量地将获取的各个存储对象的对象名存储至相应的存储对象集中。即采用set(集合)的数据结构存储存储对象的对象名。例如,分布式数据库中存储有存储对象user1、user2、及user3,其中,存储对象user1、user2对应存储对象集set1,即存储对象user1、user2隶属于同一存储对象集;而存储对象user3对应存储对象集set2,则当获取存储对象user1的对象名后,将存储对象user1的对象名存储至中间层存储空间中的set1的存储对象集中。
步骤S130,将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。
其中,本实施例对步骤S130与步骤S120的执行顺序不做限定,例如,步骤S130与步骤S120可并行执行,或者步骤S130可在步骤S120之前或之后执行。
在步骤S110获取存储对象的对象名之后,将对象名进行哈希运算得到对象名的哈希值,并根据获得的哈希值确定该存储对象在中间层存储空间对应的存储位置,并在该存储位置中存储该存储对象在分布式数据库系统对应的各个数据分片键值,从而实现以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。
根据本实施例提供的对象索引信息的存储方法,首先获取存储对象的对象名;将存储对象的对象名存储到相应的存储对象集中;将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。采用本方案,可将分布式数据库系统中的对象索引信息存储在内存型的中间层存储空间中,避免了现有技术中分布式数据库系统采用树形索引结构而引起的索引信息增删改查效率低的弊端,便于提高对分布式数据库系统中索引信息的检索速度,并提高插入或删除索引信息速率及提升索引信息的遍历效率。
图2示出了根据本发明另一个实施例提供的对象索引信息的存储方法的流程示意图。如图2所示,该方法包括:
步骤S210,获取存储对象的对象名。
其中,本发明提供的对象索引信息的存储方法用于将对象索引信息存储在内存型的中间层存储空间中。本发明对中间层存储空间的具体类别不做限定,例如,中间层存储空间可以为redis数据库、Memcached数据库等。将对象索引信息存储在内存型的中间层存储空间中,可利用内存型的中间层存储空间的高读写速率等特点进一步提高索引信息的读写效率。
本步骤中,获取存入分布式数据库系统中的存储对象的对象名称。其中,在获取存储对象的对象名称时可同时获取在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。具体地,获取存储对象的对象名称及各个数据分片键值的方法包括但不限于以下实施方式中的一种或多种的组合。
在一种可选的实施方式中,每当在分布式数据库系统中存储存储对象之后,获取该存储对象的对象名,以及在分布式数据库系统中存储的存储对象对应的各个数据分片键值。例如,在分布式数据库系统中存储存储对象时,通常将存储对象划分为至少一个数据分片,并将各个数据分片分别存储于不同的位置,如在分布式数据库系统中存储存储对象user1时,将存储对象user1划分为两个数据分片P1及P2,并将两个数据分片P1及P2存储于相应的存储节点中,当将存储对象user1存储至分布式数据库系统之后,获取存储对象user1的对象名,以及存储对象user1的两个数据分片P1及P2的键值。
在另一种可选的实施方式中,首先获取分布式数据库系统中的树形索引信息;根据树形索引信息,从根节点开始依次查询存储对象的对象名,以及在分布式数据库系统中存储的存储对象对应的各个数据分片键值。从而可批量获取分布式数据库系统中已存储的各个存储对象的对象名及对应的各个数据分片键值。
在又一种可选的实施方式中,在中间层存储空间设立初期,可根据分布式数据库系统中的树形索引信息,从根节点开始依次查询分布式数据库中存储的各个存储对象的对象名,以及在分布式数据库系统中存储的各个存储对象对应的各个数据分片键值,从而批量地获取分布式数据库系统中已存储的各个存储对象的对象名及对应的各个数据分片键值;待中间层存储空间中记录有分布式数据库系统中所有的存储对象的对象名之后,每当在分布式数据库系统中存储新的存储对象之后,获取该新的存储对象的对象名,以及在分布式数据库系统中存储的该新的存储对象对应的各个数据分片键值。
步骤S220,确定存储对象对应的数据类型,将存储对象的对象名存储到该数据类型对应的存储对象集中。
具体地,中间层存储空间中存储有第一类信息,其中,第一类信息为基于set(集合)数据结构的存储方式,第一类信息中记录有各个存储对象集,每个存储对象集对应于至少一个数据类型。例如,数据类型为“生鲜类数据”对应存储对象集“促销”。其中,数据类型与存储对象集的对应关系可根据用户的更改动态调整。
在获取存储对象的对象名后,首先确定存储对象对应的数据类型,并将存储对象的对象名存储到该数据类型对应的存储对象集中。例如,获取存储对象为“鱼类数据”,则确定该存储对象对应的数据类型为“生鲜类数据”,则将该存储对象存储至存储对象集“促销”中。即采用set(集合)的数据结构存储存储对象的对象名。
步骤S230,将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值和存储对象的元信息。
其中,本实施例对步骤S230与步骤S220的执行顺序不做限定,例如,步骤S230与步骤S220可并行执行,或者步骤S230可在步骤S220之前或之后执行。
在步骤S210获取存储对象的对象名之后,将对象名进行哈希运算得到对象名的哈希值,并根据获得的哈希值确定该存储对象在中间层存储空间对应的存储位置,并在该存储位置中存储该存储对象在分布式数据库系统对应的各个数据分片键值,以及存储对象的元信息。其中,存储对象的元信息包括存储对象的大小、数据修改时间等信息。从而在中间层存储空间中记录第二类信息,其中,第二类信息为基于哈希结构的存储方式,第二类信息中存储的为存储对象的哈希值及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值及元信息。
步骤S240,接收客户端对指定存储对象集的查询请求;查询中间层存储空间得到指定存储对象集中所有的存储对象的对象名;将指定存储对象集中所有的存储对象的对象名返回给客户端。
在具体的实施过程中,通常需对分布式数据库系统中指定的存储对象集中的所有存储对象的对象名进行遍历后呈现,现有技术中通常需遍历树形索引,依次判断各个存储对象是否属于该指定存储对象集,将判断属于该指定存储对象集的存储对象返回给客户端,从而使查询效率大幅降低。而本实施例中,在接收到客户端对指定存储对象集的查询请求之后,无需查询分布式数据库系统中的树形索引,而直接在中间层存储空间中查询第一类信息,即查询指定存储对象集中所有的存储对象的对象名,并将指定存储对象集中所有的存储对象的对象名返回给客户端,从而大幅提高查询效率。
步骤S250,接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;查询中间层存储空间得到指定存储对象对应的各个数据分片键值;根据各个数据分片键值在分布式数据库系统中进行索引,得到与各个数据分片键值相对应的各个数据分片;将各个数据分片进行处理后,返回处理结果。
在具体的实施过程中,通常会接收到客户端对分布式数据库系统中存储的指定存储对象的操作请求,如查询请求、插入请求、删除请求、和/或插入请求等。而现有技术中,在接收到客户端对分布式数据库系统中存储的指定存储对象的操作请求时,通常需查询分布式数据库系统中的树形索引,从根节点逐级遍历,最终确定存储对象对应的各个数据分片键值,从而使得确定存储对象对应的各个数据分片键值的效率大幅降低;而本实施例中,在接收到客户端对分布式数据库系统中存储的指定存储对象的操作请求之后,直接查询中间层存储空间中的第二类信息,即对指定存储对象的对象名进行哈希运算获得该指定存储对象对应的哈希值,根据该哈希值在中间层存储中间快速地确定该哈希值对应的存储位置,从该存储位置中获取各个数据分片键值,进而可根据该数据分片键值在分布式数据库系统中进行索引,得到与各个数据分片键值相对应的各个数据分片,将各个数据分片进行处理后,返回处理结果,从而快速地获得处理结果。
根据本实施例提供的对象索引信息的存储方法,首先获取存储对象的对象名;确定存储对象对应的数据类型,将存储对象的对象名存储到该数据类型对应的存储对象集中;将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值和存储对象的元信息;接收客户端对指定存储对象集的查询请求;查询中间层存储空间得到指定存储对象集中所有的存储对象的对象名;将指定存储对象集中所有的存储对象的对象名返回给客户端;接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;查询中间层存储空间得到指定存储对象对应的各个数据分片键值;根据各个数据分片键值在分布式数据库系统中进行索引,得到与各个数据分片键值相对应的各个数据分片;将各个数据分片进行处理后,返回处理结果。采用本方案,可将分布式数据库系统中的对象索引信息存储在内存型的中间层存储空间中,在接收到对指定在接收到客户端对指定存储对象集的查询请求之后,无需查询分布式数据库系统中的树形索引,而直接在中间层存储空间中查询第一类信息,即查询指定存储对象集中所有的存储对象的对象名便可获得查询结构,从而大幅提高查询效率;并且,在接收到对指定存储对象的操作时,可直接查询中间层存储空间中的第二类信息,即对指定存储对象的对象名进行哈希运算获得该指定存储对象对应的哈希值,根据该哈希值在中间层存储中间快速地确定该哈希值对应的存储位置,从该存储位置中获取各个数据分片键值,从而降低获取存储对象对应的各个数据分片键值的时间复杂度,进而降低对指定存储对象的处理效率。
图3示出了根据本发明一个实施例提供的对象索引信息的存储装置的结构框图,该装置用于将对象索引信息存储在内存型的中间层存储空间中。如图3所示,该装置包括:获取模块31、第一存储模块32、以及第二存储模块33。
获取模块31,适于获取存储对象的对象名。
第一存储模块32,适于将存储对象的对象名存储到相应的存储对象集中。
第二存储模块33,适于将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。
可选的,第二存储模块33进一步适于:以哈希结构存储哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值存储对象的元信息。
可选的,第一存储模块32进一步适于:确定存储对象对应的数据类型,将存储对象的对象名存储到数据类型对应的存储对象集中。
可选的,获取模块31进一步适于:每当在分布式数据库系统中存储存储对象之后,获取存储对象的对象名,以及在分布式数据库系统中存储的存储对象对应的各个数据分片键值。
可选的,获取模块31进一步适于:获取分布式数据库系统中的树形索引信息;根据树形索引信息,从根节点开始依次查询存储对象的对象名,以及在分布式数据库系统中存储的存储对象对应的各个数据分片键值。
可选的,该装置还包括:第一接收模块(图中未示出)、第一查询模块(图中未示出)、以及第一返回模块(图中未示出)。
其中,第一接收模块,适于接收客户端对指定存储对象集的查询请求;第一查询模块,适于查询中间层存储空间得到指定存储对象集中的存储对象的对象名;第一返回模块,适于将指定存储对象集中所有的存储对象的对象名返回给客户端。
可选的,该装置还包括:第二接收模块(图中未示出)、第二查询模块(图中未示出)、分片获取模块(图中未示出)、以及第二返回模块(图中未示出)。
其中,第二接收模块,适于接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;第二查询模块,适于查询中间层存储空间得到指定存储对象对应的各个数据分片键值;分片获取模块,适于根据各个数据分片键值在分布式数据库系统中进行索引,得到与各个数据分片键值相对应的各个数据分片;第二返回模块,适于将各个数据分片进行处理后,返回处理结果。
根据本实施例提供的对象索引信息的存储装置,首先获取存储对象的对象名;将存储对象的对象名存储到相应的存储对象集中;将对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的存储对象对应的各个数据分片键值。采用本方案,可将分布式数据库系统中的对象索引信息存储在内存型的中间层存储空间中,避免了现有技术中分布式数据库系统采用树形索引结构而引起的索引信息增删改查效率低的弊端,便于提高对分布式数据库系统中索引信息的检索速度,并提高插入或删除索引信息速率及提升索引信息的遍历效率。
根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的对象索引信息的存储方法。
图4示出了根据本发明一个实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述对象索引信息的存储方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
获取存储对象的对象名;
将所述存储对象的对象名存储到相应的存储对象集中;
将所述对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值和所述存储对象的元信息。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
确定所述存储对象对应的数据类型,将所述存储对象的对象名存储到所述数据类型对应的存储对象集中。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
每当在分布式数据库系统中存储所述存储对象之后,获取所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
获取分布式数据库系统中的树形索引信息;
根据所述树形索引信息,从根节点开始依次查询所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
接收客户端对指定存储对象集的查询请求;
查询所述中间层存储空间得到指定存储对象集中所有的存储对象的对象名;
将所述指定存储对象集中所有的存储对象的对象名返回给客户端。
在一种可选的实施方式中,程序410具体可以用于使得处理器402执行以下操作:
接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;
查询所述中间层存储空间得到所述指定存储对象对应的各个数据分片键值;
根据所述各个数据分片键值在分布式数据库系统中进行索引,得到与所述各个数据分片键值相对应的各个数据分片;
将所述各个数据分片进行处理后,返回处理结果。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的对象索引信息的存储装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (14)
1.一种对象索引信息的存储方法,用于将对象索引信息存储在内存型的中间层存储空间中,所述方法包括:
获取存储对象的对象名;
将所述存储对象划分为至少一个数据分片;
将所述存储对象的对象名存储到相应的存储对象集中;
将所述对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及根据所述哈希值确定所述存储对象对应的存储位置,并在所述存储位置中存储所述存储对象的各个数据分片键值;
将所述存储对象的对象名存储到相应的存储对象集中进一步包括:
确定所述存储对象对应的数据类型,将所述存储对象的对象名存储到所述数据类型对应的存储对象集中;
接收到对指定存储对象集的查询请求时,查询所述指定存储对象集中所有的存储对象的对象名,获得所述指定存储对象集中所有的存储对象的对象名;
接收到对指定存储对象的操作请求时,根据所述指定存储对象的对象名对应的哈希值,获得指定存储对象对应的存储位置和数据分片键值,进而根据所述数据分片键值,获得数据分片,并对所述数据分片进行处理。
2.根据权利要求 1 所述的方法,其中,所述以哈希结构存储所述哈希值以及根据所述哈希值确定所述存储对象对应的存储位置,并在所述存储位置中存储所述存储对象的各个数据分片键值进一步包括:
以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值和所述存储对象的元信息。
3.根据权利要求1所述的方法,其中,所述获取存储对象的对象名进一步包括:
每当在分布式数据库系统中存储所述存储对象之后,获取所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
4.根据权利要求1所述的方法,其中,所述获取存储对象的对象名进一步包括:
获取分布式数据库系统中的树形索引信息;
根据所述树形索引信息,从根节点开始依次查询所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
5.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
接收客户端对指定存储对象集的查询请求;
查询所述中间层存储空间得到指定存储对象集中所有的存储对象的对象名;
将所述指定存储对象集中所有的存储对象的对象名返回给客户端。
6.根据权利要求1-4中任一项所述的方法,其中,所述方法还包括:
接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;
查询所述中间层存储空间得到所述指定存储对象对应的各个数据分片键值;
根据所述各个数据分片键值在分布式数据库系统中进行索引,得到与所述各个数据分片键值相对应的各个数据分片;
将所述各个数据分片进行处理后,返回处理结果。
7.一种对象索引信息的存储装置,用于将对象索引信息存储在内存型的中间层存储空间中,所述装置包括:
获取模块,适于获取存储对象的对象名,并将所述存储对象划分为至少一个数据分片;
第一存储模块,适于将所述存储对象的对象名存储到相应的存储对象集中;
第二存储模块,适于将所述对象名进行哈希运算得到对象名的哈希值,以哈希结构存储所述哈希值以及根据所述哈希值确定所述存储对象对应的存储位置,并在所述存储位置中存储所述存储对象的各个数据分片键值;
所述第一存储模块进一步适于:
确定所述存储对象对应的数据类型,将所述存储对象的对象名存储到所述数据类型对应的存储对象集中;
检索模块:适于接收到对指定存储对象集的查询请求时,查询所述指定存储对象集中所有的存储对象的对象名,获得所述指定存储对象集中所有的存储对象的对象名;
处理模块:适于接收到对指定存储对象的操作请求时,根据所述指定存储对象的对象名对应的哈希值,获得指定存储对象对应的存储位置和数据分片键值,进而根据所述数据分片键值获得数据分片,并对所述数据分片进行处理。
8.根据权利要求7所述的装置,其中,所述第二存储模块进一步适于:
以哈希结构存储所述哈希值以及相应的在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值和所述存储对象的元信息。
9.根据权利要求7所述的装置,其中,所述获取模块进一步适于:
每当在分布式数据库系统中存储所述存储对象之后,获取所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
10.根据权利要求7所述的装置,其中,所述获取模块进一步适于:
获取分布式数据库系统中的树形索引信息;
根据所述树形索引信息,从根节点开始依次查询所述存储对象的对象名,以及在分布式数据库系统中存储的所述存储对象对应的各个数据分片键值。
11.根据权利要求7-10中任一项所述的装置,其中,所述装置还包括:
第一接收模块,适于接收客户端对指定存储对象集的查询请求;
第一查询模块,适于查询所述中间层存储空间得到指定存储对象集中所有的存储对象的对象名;
第一返回模块,适于将所述指定存储对象集中所有的存储对象的对象名返回给客户端。
12.根据权利要求7-10中任一项所述的装置,其中,所述装置还包括:
第二接收模块,适于接收客户端对分布式数据库系统中存储的指定存储对象的操作请求;
第二查询模块,适于查询所述中间层存储空间得到所述指定存储对象对应的各个数据分片键值;
分片获取模块,适于根据所述各个数据分片键值在分布式数据库系统中进行索引,得到与所述各个数据分片键值相对应的各个数据分片;
第二返回模块,适于将所述各个数据分片进行处理后,返回处理结果。
13.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的对象索引信息的存储方法对应的操作。
14.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的对象索引信息的存储方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479269.2A CN108228799B (zh) | 2017-12-29 | 2017-12-29 | 对象索引信息的存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479269.2A CN108228799B (zh) | 2017-12-29 | 2017-12-29 | 对象索引信息的存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228799A CN108228799A (zh) | 2018-06-29 |
CN108228799B true CN108228799B (zh) | 2021-09-28 |
Family
ID=62647125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711479269.2A Expired - Fee Related CN108228799B (zh) | 2017-12-29 | 2017-12-29 | 对象索引信息的存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228799B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271936B (zh) * | 2018-09-18 | 2021-09-24 | 哈尔滨工程大学 | 基于感知哈希算法的飞机振动故障数据库构建与检索方法 |
CN109828828A (zh) * | 2019-01-23 | 2019-05-31 | 杭州宏杉科技股份有限公司 | 对象上传方法、装置、电子设备及机器可读存储介质 |
CN109871416A (zh) * | 2019-02-28 | 2019-06-11 | 上海汽车集团股份有限公司 | 数据储存方法、装置以及计算机存储介质 |
CN112231398B (zh) * | 2020-09-25 | 2024-07-23 | 北京金山云网络技术有限公司 | 数据存储方法、装置、设备及存储介质 |
CN112579575A (zh) * | 2020-12-28 | 2021-03-30 | 超越科技股份有限公司 | 一种数据库索引结构的快速构建方法 |
CN115455218A (zh) * | 2022-06-09 | 2022-12-09 | 中国公路工程咨询集团有限公司 | 公路图像分布式存储方法、搜索方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235825A (zh) * | 2013-05-08 | 2013-08-07 | 重庆大学 | 一种基于Hadoop云计算框架的海量人脸识别搜索引擎设计方法 |
CN104765840A (zh) * | 2015-04-16 | 2015-07-08 | 成都睿峰科技有限公司 | 一种大数据分布式存储的方法和装置 |
CN105260136A (zh) * | 2015-09-24 | 2016-01-20 | 北京百度网讯科技有限公司 | 数据读写方法及分布式存储系统 |
CN106951431A (zh) * | 2016-12-16 | 2017-07-14 | 华南理工大学 | 一种集群监控数据采集方法 |
CN107391632A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库存储处理方法、装置、计算设备及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740309B2 (en) * | 2015-12-18 | 2020-08-11 | Cisco Technology, Inc. | Fast circular database |
-
2017
- 2017-12-29 CN CN201711479269.2A patent/CN108228799B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103235825A (zh) * | 2013-05-08 | 2013-08-07 | 重庆大学 | 一种基于Hadoop云计算框架的海量人脸识别搜索引擎设计方法 |
CN104765840A (zh) * | 2015-04-16 | 2015-07-08 | 成都睿峰科技有限公司 | 一种大数据分布式存储的方法和装置 |
CN105260136A (zh) * | 2015-09-24 | 2016-01-20 | 北京百度网讯科技有限公司 | 数据读写方法及分布式存储系统 |
CN106951431A (zh) * | 2016-12-16 | 2017-07-14 | 华南理工大学 | 一种集群监控数据采集方法 |
CN107391632A (zh) * | 2017-06-30 | 2017-11-24 | 北京奇虎科技有限公司 | 数据库存储处理方法、装置、计算设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108228799A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228799B (zh) | 对象索引信息的存储方法及装置 | |
CN106933854B (zh) | 短链接处理方法、装置及服务器 | |
US20230185857A1 (en) | Method and system for providing context based query suggestions | |
EP2812815B1 (en) | Web page retrieval method and device | |
CN107704202B (zh) | 一种数据快速读写的方法和装置 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
WO2013030595A1 (en) | Identifying data items | |
CN109766318B (zh) | 文件读取方法及装置 | |
JP6932360B2 (ja) | オブジェクト検索方法、装置およびサーバ | |
CN113377289B (zh) | 一种缓存管理方法、系统、计算设备及可读存储介质 | |
CN112800067B (zh) | 范围查询方法、装置、计算机可读存储介质及电子设备 | |
CN106599247B (zh) | LSM-tree结构中数据文件的合并方法及装置 | |
CN110597852A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN107368563B (zh) | 数据库数据的删除方法及装置、电子设备、存储介质 | |
CN107085615B (zh) | 文本消重系统、方法、服务器及计算机存储介质 | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN110909266A (zh) | 深度分页的方法、装置及服务器 | |
CN110851419A (zh) | 一种数据迁移的方法和装置 | |
CN112527900A (zh) | 一种数据库读多副本一致性的方法、装置、设备及介质 | |
CN109992708B (zh) | 一种元数据查询的方法、装置、设备以及存储介质 | |
CN105653540B (zh) | 文件属性信息的处理方法和装置 | |
CN106446080B (zh) | 数据查询的方法、查询服务设备、客户端设备和数据系统 | |
CN113411364B (zh) | 资源获取方法、装置及服务器 | |
CN108984780B (zh) | 基于支持重复键值树数据结构管理磁盘数据的方法和装置 | |
CN111858609A (zh) | 区块链模糊查询方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210928 |
|
CF01 | Termination of patent right due to non-payment of annual fee |