一种基于云存储的数据库服务分配方法、设备及介质与流程
本发明涉及数据库服务分配,特别是一种基于云存储的数据库服务分配方法、设备及介质。
背景技术:
1、随着云计算和分布式存储技术的发展,数据库服务逐渐由单节点集中式部署转向计算与存储分离的云数据库架构。现有云数据库通常采用列式存储、分片存储、副本容灾和缓存加速等方式提升数据访问性能,其中列式存储文件通过行组、条带和文件片段组织数据,分布式存储层通过分片副本保障数据可用性,数据库计算节点则根据查询请求访问对应数据分片,并借助本地缓存、分布式缓存或云存储对象读取机制完成查询处理。
2、现有基于云存储的数据库服务分配通常更关注数据库服务实例的运行状态、连接数量、主副本位置或存储节点可用性,而对目标数据所在碎片副本、行组物理连续性、缓存对象位置以及请求片段之间的共同访问关系缺少统一协同判断。当数据库请求涉及多个连续文件片段或多个副本节点时,服务实例分配与缓存命中状态容易脱节,导致请求被分配至未持有目标缓存对象的实例,进而产生重复云存储读取、跨节点数据访问和缓存对象复用不足的问题,影响工业云存储环境下数据库服务分配的稳定性和执行效率。
技术实现思路
1、鉴于上述现有存在的问题,提出了本发明。
2、因此,本发明提供了一种基于云存储的数据库服务分配方法解决云存储数据库服务分配中副本位置与缓存对象位置割裂的问题。
3、为解决上述技术问题,本发明提供如下技术方案:
4、第一方面,本发明提供了一种基于云存储的数据库服务分配方法,其包括,
5、将云存储数据库表按有效键列划分为连续键范围碎片,并为连续键范围碎片建立分散副本及行组地址索引,生成碎片副本服务目录;
6、采用碎片副本服务目录解析数据库服务请求,筛选目标碎片中的命中行组并合并连续文件片段,生成请求片段队列;
7、基于请求片段队列匹配共同访问路径,将连续文件片段归并为共同访问缓存包,并结合碎片副本服务目录构造双映射候选结果;
8、按照双映射候选结果选取同时持有有效副本和目标缓存对象的数据库服务实例,并合并同实例请求片段,生成数据库服务分配计划;
9、对数据库服务分配计划执行行组数据筛选、缓存对象保留及循环布局编码重平衡,更新碎片副本服务目录和分离式缓存目录,生成数据库片段服务执行结果。
10、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述生成碎片副本服务目录,具体包括:
11、提取云存储数据库表的有效键列,按有效键列的键值顺序切分连续键范围并设定碎片标识,在不同存储节点部署分散副本并标注主副本和从副本,得到碎片副本位置表;
12、在连续键范围碎片内定位列式存储文件的条带、目标列、行组及文件片段,得到行组地址索引;
13、通过碎片标识、连续键范围、碎片副本位置表、主副本标记、从副本标记和行组地址索引建立根碎片记录,并提取根碎片记录中的查找项设置目录查找入口,得到碎片副本服务目录。
14、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述生成请求片段队列,具体包括:
15、解析数据库服务请求并检索碎片副本服务目录中的连续键范围,确定目标碎片序列;
16、在目标碎片序列内提取目标列的行组统计范围,剔除与数据筛选条件不相交的行组,并按物理地址顺序拼接相邻文件片段,得到命中行组集合和文件片段读取区间;
17、按照文件片段读取区间设定缓存块组标识,将目标碎片序列、命中行组集合、文件片段读取区间和缓存块组标识编排为请求片段队列。
18、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述基于请求片段队列匹配共同访问路径,将连续文件片段归并为共同访问缓存包,具体包括:
19、从请求片段队列中提取文件片段读取区间和缓存块组标识,得到请求缓存序列,并通过根碎片记录中的频繁模式树入口查验请求缓存序列的共同访问路径,得到共同访问路径匹配结果;
20、当共同访问路径匹配结果包含多个连续出现的缓存块组时,封装对应的文件片段读取区间,得到共同访问缓存包;
21、当共同访问路径匹配结果未包含连续出现的缓存块组时,保留请求缓存序列中的文件片段读取区间,得到待分配缓存对象;
22、将共同访问缓存包和待分配缓存对象确定为目标缓存对象,并将目标缓存对象与数据库服务实例的已存缓存对象位置相匹配,得到目标缓存对象清单和分离式缓存目录。
23、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述构造双映射候选结果,具体包括:
24、将目标缓存对象清单嵌入请求片段队列,并从中提取目标碎片标识、缓存块组标识和共同访问缓存包标识,得到分配索引键集;
25、通过分配索引键集中的目标碎片标识在碎片副本服务目录中检索有效副本所在的数据库服务实例,得到副本候选实例集;
26、通过分配索引键集中的缓存块组标识和共同访问缓存包标识在分离式缓存目录中检索目标缓存对象所在的数据库服务实例,得到缓存候选实例集;
27、交叉校验副本候选实例集和缓存候选实例集中的数据库服务实例,标注同时持有有效副本和目标缓存对象的实例,得到重合候选实例集;
28、当重合候选实例集非空时,将重合候选实例集中的数据库服务实例确定为优先候选实例,得到第一候选分支;
29、当重合候选实例集为空且副本候选实例集包含从副本标记对应的数据库服务实例时,将副本版本最新的数据库服务实例确定为替代候选实例,得到第二候选分支;
30、当重合候选实例集为空且副本候选实例集包含主副本标记对应的数据库服务实例时,将主副本标记对应的数据库服务实例确定为回源候选实例,得到第三候选分支;
31、依据第一候选分支、第二候选分支和第三候选分支确定请求片段对应的服务实例选择链,形成双映射候选结果。
32、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述生成数据库服务分配计划,具体包括:
33、从双映射候选结果中选取第一候选分支对应的数据库服务实例作为目标服务实例;
34、当双映射候选结果缺少第一候选分支时,选取第二候选分支对应的数据库服务实例作为目标服务实例;
35、当双映射候选结果缺少第一候选分支和第二候选分支时,选取第三候选分支对应的数据库服务实例作为目标服务实例;
36、按目标服务实例归并请求片段队列中的请求片段,形成服务执行单元,并封装服务执行单元、文件片段读取区间和目标缓存对象标识,得到数据库服务分配计划。
37、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述行组数据筛选和缓存对象保留,具体包括:
38、按照数据库服务分配计划定位目标缓存对象并解析压缩文件片段,得到目标行组数据,并采用数据筛选条件和查询算子处理目标行组数据,得到行组筛选结果;
39、当目标缓存对象命中时,标记对应缓存对象为已访问对象,得到缓存访问记录;
40、当目标缓存对象未命中时,按照文件片段读取区间取得连续压缩文件片段,并建立新的缓存块组,得到新增缓存对象;
41、当分离式缓存目录缺少新增缓存对象的存放空间时,巡检缓存队列中的缓存对象,清除已访问对象的访问标记,并移出未被数据库服务分配计划引用的缓存对象,得到缓存对象保留结果;
42、采用缓存对象保留结果登记新增缓存对象的位置,得到更新后的分离式缓存目录。
43、作为本发明所述基于云存储的数据库服务分配方法的一种优选方案,其中:所述生成数据库片段服务执行结果,具体包括:
44、将行组筛选结果按照数据库服务请求中的查询算子进行结果合成,得到数据库服务结果,并利用缓存访问记录和新增缓存对象修正共同访问路径,得到服务执行记录;
45、基于服务执行记录统计各存储节点保存的同一数据库表碎片副本数量,并选取未被服务执行单元引用的非主副本,得到待迁移副本;
46、按照循环布局段标识拆分待迁移副本,得到副本数据段,调用保存相邻循环布局段的可用存储节点处理副本数据段,得到编码传输段;
47、目标存储节点通过编码传输段还原副本数据段,并组合还原后的副本数据段,得到新的碎片副本;
48、校验新的碎片副本后删除原存储节点中的待迁移副本,并修订副本所在存储节点、副本版本、副本重排序号和循环布局段标识,得到更新后的碎片副本服务目录;
49、采用更新后的碎片副本服务目录和更新后的分离式缓存目录记录数据库服务结果、服务执行记录和新的碎片副本位置,生成数据库片段服务执行结果。
50、第二方面,本发明提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中:所述计算机程序被处理器执行时实现如本发明第一方面所述的基于云存储的数据库服务分配方法的任一步骤。
51、第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其中:所述计算机程序被处理器执行时实现如本发明第一方面所述的基于云存储的数据库服务分配方法的任一步骤。
52、本发明有益效果为:通过将碎片副本位置、行组地址索引、目标缓存对象位置和数据库服务实例选择结果纳入同一服务分配链路,使数据库服务请求能够围绕目标数据实际存放位置和缓存可用状态进行分配,相比仅依据实例负载或主副本位置进行调度的方式,能够降低请求落入非目标缓存实例的概率,减少云存储回源访问和跨节点文件片段读取;通过连续键范围碎片和行组地址索引的协同限定,可以在服务分配前缩小目标数据范围,提高列式存储文件中目标行组的定位精度,避免无关行组和无关文件片段参与后续处理;通过共同访问路径和共同访问缓存包的设置,可以增强多个连续文件片段之间的缓存复用关系,使经常共同访问的数据片段以缓存对象形式被统一识别,从而提升缓存对象命中率和压缩文件片段复用率;通过双映射候选结果,可以优先确定同时持有有效副本和目标缓存对象的数据库服务实例,使服务分配与数据副本状态、缓存对象状态保持一致,提高数据库服务分配的确定性和稳定性;通过缓存对象保留和循环布局编码重平衡,可以在服务执行后继续修正碎片副本服务目录和分离式缓存目录,减少副本迁移、缓存替换和目录滞后对后续请求分配造成的影响,从而提升云存储数据库在高并发查询、分片副本迁移和缓存对象动态变化场景下的服务连续性、查询响应效率和存储资源利用率。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com