System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 索引操作方法、装置、计算设备集群及存储介质制造方法及图纸_技高网

索引操作方法、装置、计算设备集群及存储介质制造方法及图纸

技术编号:44087610 阅读:5 留言:0更新日期:2025-01-21 12:24
本申请公开了一种索引操作方法、装置、计算设备集群及存储介质,该方法包括:首先,键值数据库接收第一索引操作命令,第一索引操作命令包括目标索引的索引名和第一索引操作类型,然后根据第一索引操作命令,对目标索引执行第一索引操作类型的操作。其中,目标索引包括目标主键索引和/或目标二级索引,目标主键索引包括目标主键和目标主键对应的目标数据,目标二级索引包括目标二级索引键和目标主键,目标二级索引用于键值数据库获取目标主键,并基于目标主键获取目标主键对应的目标数据。本申请的方案支持用户指定索引进行操作,有助于提升键值数据库的操作效率和用户体验。

【技术实现步骤摘要】

本申请涉及云计算,尤其涉及一种索引操作方法、装置、计算设备集群及存储介质


技术介绍

1、键值数据库是一种非关系型数据库,它以键值对的形式存储数据,每个值(value)都有一个唯一的键(key)关联。键值数据库中的键和值可以是从简单对象到复杂复合对象的任何内容,因而常用于存储如文档、日志文件、电子邮件等半结构化数据。

2、索引是用于提高键值数据库的性能和查询效率的重要组成部分,可以分为主键索引和二级索引。用户在键值数据库中创建一张数据库表(table)时,可以为该数据库表设置一个主键索引,还可以为其设置一个或多个二级索引。

3、然而,当前的键值数据库不支持用户指定索引,需要对哪个/哪些索引进行操作是由键值数据库自动确定的,用户体验较差。例如,当用户请求往某个数据库表中插入或更新一条数据时,键值数据库会自动在该数据库表的主键索引中生成一条相应的主键索引记录(包含该条数据及该条数据对应的主键),并且在该数据库表的每个二级索引中生成一条相应的二级索引记录(包含上述主键及二级索引键),用户无法控制索引记录的生成和修改。再如,当用户请求对键值数据库进行扫描时,键值数据库会根据用户给出的条件自动匹配到相应的索引进行扫描,但不支持在上述条件中直接指定索引,导致用户很难设置出合适的条件。


技术实现思路

1、本申请提供一种索引操作方法、装置、计算设备集群及存储介质,支持用户指定索引进行操作,有助于提升键值数据库的操作效率和用户体验。

2、第一方面,本申请提供了一种索引操作方法:键值数据库接收第一索引操作命令,第一索引操作命令包括目标索引的索引名和第一索引操作类型,然后键值数据库根据第一索引操作命令,对目标索引执行第一索引操作类型的操作。其中,键值数据库以键值对的形式存储数据,键值数据库至少包括主键索引(还可以额外包括二级索引),主键索引包括至少一个主键和至少一个主键对应的数据。上述目标索引是需要操作的索引,包括目标主键索引(包括至少一个主键索引)和/或目标二级索引(包括至少一个二级索引),目标主键索引包括目标主键和目标主键对应的目标数据,目标二级索引包括目标二级索引键和目标主键,目标二级索引用于键值数据库获取目标主键,并基于目标主键获取目标主键对应的目标数据。

3、由于本方案支持用户指定索引进行操作,即用户可以根据自身的需求,向键值数据库指定需要操作的索引(即目标索引)的索引名以及相应的索引操作类型,因此可以提升键值数据库的操作效率和灵活性,并提升用户体验。

4、基于第一方面,在可能的实施方案中,用户可以在第一索引操作命令中,指示第一主键索引(属于目标主键索引)和第一二级索引(属于目标二级索引)的索引名,并指示第一索引操作类型为更新类型,还可以在第一索引操作命令中指示第一主键(即某一个主键)。然后,键值数据库可以根据该第一索引操作命令,获取第一主键索引中的第一主键对应的第一数据,再将第一数据移动至第一二级索引中。

5、也就是说,本方案支持指定索引的更新操作将用户指定的数据(可通过给出该数据对应的主键来指定),从用户指定的主键索引移动到用户指定的二级索引,即数据存储在哪个索引上可以由用户主动控制,灵活性较高。数据被移动至二级索引之后,后续键值数据库只需要访问一次该二级索引即可获得该数据,而不需要经过两次访问过程(先访问二级索引得到主键,再根据主键访问主键索引得到主键对应的数据),从而提升了数据访问效率。

6、基于第一方面,在可能的实施方案中,用户可以在第一索引操作命令中,指示第二二级索引的和第三二级索引(都属于目标二级索引)的索引名,并指示第一索引操作类型为更新类型,还可以在第一索引操作命令中指示第一二级索引键。然后,键值数据库可以根据该第一索引操作命令,读取第二二级索引中的第一二级索引键对应的第二数据,再将第二数据移动至第三二级索引中。

7、也就是说,本方案支持将用户指定的数据(可通过给出该数据对应的二级索引键来指定),从用户指定的其中一个二级索引移动到用户指定的另外一个二级索引中,灵活性较高。比如,假设某个主键索引中的某个主键对应的数据被移动到了第二二级索引,随后,用户如果想再次更改该数据的位置,则可以按照本方案的方法指示键值数据库将该数据从第二二级索引移动至第三二级索引中。

8、基于第一方面,在可能的实施方案中,用户可以在第一索引操作命令中,指示第二主键索引(属于目标主键索引)和/或第四二级索引(属于目标二级索引),并指示第一索引操作类型为查询类型,还可以在第一索引操作命令中指定第二主键。然后,键值数据库可以根据该第一索引操作命令,查询第二主键索引和/或第四二级索引中的该第二主键对应的第三数据。同理,可以在第一索引操作命令中指定某个二级索引键和第四二级索引,然后键值数据库可以根据该第一索引操作命令查询第四二级索引中的该二级索引键对应的数据。

9、由于本方案支持指定索引进行查询操作,因此方便用户设置出满足查询需求的操作命令,从而提升用户体验。并且,键值数据库可以直接将第一索引操作命令中指示的目标索引确定为需要查询的索引,而不需要通过条件匹配来间接确定出需要查询的索引,从而简化了键值数据库的工作,并提升了键值数据库的数据查询效率。

10、基于第一方面,在可能的实施方案中,用户可以在第一索引操作命令中,指示第三主键索引(属于目标主键索引)和/或第五二级索引(属于目标二级索引),并指示第一索引操作类型为扫描类型,然后,键值数据库根据该第一索引操作命令,对第三主键索引和/或第五二级索引进行扫描,获取第三主键索引和/或第五二级索引中多个主键和/或多个二级索引键对应的多个数据。

11、由于本方案支持指定索引进行扫描操作,因此方便用户设置出满足扫描需求的操作命令,从而提升用户体验。并且,键值数据库可以直接将第一索引操作命令中指示的目标索引确定为需要扫描的索引,而不需要通过条件匹配来间接确定出需要扫描的索引,从而简化了键值数据库的工作,并提升了键值数据库的数据扫描效率。

12、第二方面,本申请提供一种索引操作装置,该索引操作装置应用于键值数据库(可参考第一方面的介绍),该索引操作装置包括接收模块和处理模块。接收模块用于接收第一索引操作命令,第一索引操作命令包括目标索引的索引名和第一索引操作类型,其中,目标索引包括目标主键索引和/或目标二级索引,目标主键索引包括目标主键和目标主键对应的目标数据,目标二级索引包括目标二级索引键和目标主键,目标二级索引用于键值数据库获取目标主键,并基于目标主键获取目标主键对应的目标数据。处理模块用于根据第一索引操作命令,对目标索引执行第一索引操作类型的操作。

13、上述第二方面的索引操作装置,还可以包含更多或更少的功能模块,还可以有其他功能模块的划分方式,此处不做具体限定。第二方面的索引操作装置具体用于执行如第一方面中任一实施方案的方法,具体请参前文介绍,此处不赘述。

14、第三方面,本申请还提供一种计算设备集群,包括至少一个计算设备,本文档来自技高网...

【技术保护点】

1.一种索引操作方法,其特征在于,所述方法应用于键值数据库,所述键值数据库以键值对的形式存储数据,所述键值数据库至少包括主键索引,所述主键索引包括至少一个主键和所述至少一个主键对应的数据,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第一主键索引和第一二级索引,所述第一索引操作命令还包括第一主键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

3.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第二二级索引和第三二级索引,所述第一索引操作命令还包括第一二级索引键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

4.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为查询类型,所述目标索引包括第二主键索引和/或第四二级索引,所述第一索引操作命令还包括第二主键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

5.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为扫描类型,所述目标索引包括第三主键索引和/或第五二级索引,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

6.一种索引操作装置,其特征在于,所述索引操作装置应用于键值数据库,所述键值数据库以键值对的形式存储数据,所述键值数据库至少包括主键索引,所述主键索引包括至少一个主键和所述至少一个主键对应的数据,所述索引操作装置包括:

7.根据权利要求6所述的装置,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第一主键索引和第一二级索引,所述第一索引操作命令还包括第一主键,所述处理模块具体用于:

8.根据权利要求6所述的装置,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第二二级索引和第三二级索引,所述第一索引操作命令还包括第一二级索引键,所述处理模块具体用于:

9.根据权利要求6所述的装置,其特征在于,所述第一索引操作类型为查询类型,所述目标索引包括第二主键索引和/或第四二级索引,所述第一索引操作命令还包括第二主键,所述处理模块具体用于:

10.根据权利要求6所述的装置,其特征在于,所述第一索引操作类型为扫描类型,所述目标索引包括第三主键索引和/或第五二级索引,所述处理模块具体用于:

11.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;

12.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求1至5中任意一项所述的方法。

13.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至5中任意一项所述的方法。

...

【技术特征摘要】

1.一种索引操作方法,其特征在于,所述方法应用于键值数据库,所述键值数据库以键值对的形式存储数据,所述键值数据库至少包括主键索引,所述主键索引包括至少一个主键和所述至少一个主键对应的数据,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第一主键索引和第一二级索引,所述第一索引操作命令还包括第一主键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

3.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为更新类型,所述目标索引包括第二二级索引和第三二级索引,所述第一索引操作命令还包括第一二级索引键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

4.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为查询类型,所述目标索引包括第二主键索引和/或第四二级索引,所述第一索引操作命令还包括第二主键,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

5.根据权利要求1所述的方法,其特征在于,所述第一索引操作类型为扫描类型,所述目标索引包括第三主键索引和/或第五二级索引,所述根据所述第一索引操作命令,对所述目标索引执行所述第一索引操作类型的操作,包括:

6.一种索引操作装置,其特征在于,所述索引操作装置应用于键值数据库,所述键值数据库以键值对的形式存储...

【专利技术属性】
技术研发人员:秦华东谢晓芹伍华涛
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1