一种分布式数据存储引擎调度方法与流程

文档序号:26050597发布日期:2021-07-27 15:25阅读:108来源:国知局
一种分布式数据存储引擎调度方法与流程

本发明属于分布式存储技术领域,具体地说涉及一种分布式数据存储引擎调度方法。



背景技术:

随着大数据时代的到来,企业数据也随之越来越多,这对数据存储提出了更高的要求,基于传统的单机数据库的基础上发展出的分布式数据库技术虽然能够很好的满足存储需求,但在海量数据的查找仍处于较低效的状态,如何处理分布式、高并发的pb级存储数据仍是目前亟待解决的难题。

因此,现有技术还有待于进一步发展和改进。



技术实现要素:

针对现有技术的种种不足,为了解决上述问题,现提出一种分布式数据存储引擎调度方法。本发明提供如下技术方案:

一种分布式数据存储引擎调度方法,包括:

获取并基于分布式数据库的个数构建多个并行的时序引擎;

基于每个时序引擎得到多个分布式数据库的时序查询结果;

对多个时序查询结果通过分布式存储引擎处理实现数据的读写。

进一步的,所述时序引擎包括依次执行的前台引擎、计划引擎、调度引擎以及查询引擎。

进一步的,所述前台引擎包括对用户进行身份认证,过滤用户的单批次重复请求后,将用户请求分发给计划引擎。

进一步的,所述计划引擎包括基于前台引擎分发的用户请求,进行sql语句的解析、语义检查和查询优化,产生逻辑任务规划。

进一步的,所述调度引擎包括执行并跟踪计划引擎的逻辑任务规划。

进一步的,所述查询引擎包括将调度引擎执行的逻辑任务规划转化为对应的物理计划,基于该物理计划进行相应的资源配置,控制物理计划的执行,并将执行结果返回上一层级。

进一步的,构建多个并行的时序引擎包括基于用户的一个请求构建多个相同的时序引擎以及基于用户的多个请求构建多个不同的时序引擎,并对该多个不同的时序引擎进行顺序编码。

进一步的,所述分布式数据库为预先基于相近语义构建的多个数据库,获取分布式数据库的个数为获取包含有效数据的数据库个数。

进一步的,所述分布式存储引擎包括交叉互联式混合存储、分布式文件系统存储管理以及动态读写调度管理。

进一步的,所述分布式存储引擎还包括组合数据压缩算法、自适应数据整理以及数据更新算法。

有益效果:

1.通过构建时序引擎,对分布式数据库进行并行且顺序查找存储节点位置,从而实现大规模、有序的数据查找,在保证查找全面性的同时,提高数据库的查找效率。

2.通过在前台引擎中添加对用户的身份认证步骤,有效降低数据库的资源浪费,通过对重复提交的数据请求进行去重,降低用户的请求发送重复等误操作,减少搜索资源占用,通过前台引擎对已认证的单次请求进行有序分发,实现数据查找的顺序、有效进行。

3.通过计划引擎对用户请求进行初步分类,产生逻辑任务规划,有效降低无序查找的搜索数据量,基于分布式存储特点进行定向规划,最终产生分布式的查询任务规划工作,实现引擎在分布式数据库内的有序查找。

4.通过对不同的时序引擎进行编码,极大的缩短了多数据请求的查询时间,通过编码验证实现数据查找及返回的准确性,实现多个时序引擎同步查询功能,提高了分布式数据库的水平横向扩展能力,加快数据读取速度。

5.基于包含有效数据的数据库构建时序引擎,基于数据库个数进行合理规划,避免对无数据占用的部分数据库进行无效扫描,节省系统运行资源。

附图说明

图1是本发明具体实施例中一种分布式数据存储引擎调度方法流程示意图。

具体实施方式

为了使本领域的人员更好地理解本发明的技术方案,下面结合本发明的附图,对本发明的技术方案进行清楚、完整的描述,基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的其它类同实施例,都应当属于本申请保护的范围。此外,以下实施例中提到的方向用词,例如“上”“下”“左”“右”等仅是参考附图的方向,因此,使用的方向用词是用来说明而非限制本发明创造。

如图1所示,一种分布式数据存储引擎调度方法,包括:

s100、获取并基于分布式数据库的个数构建多个并行的时序引擎;

s200、基于每个时序引擎得到多个分布式数据库的时序查询结果;

s300、对多个时序查询结果通过分布式存储引擎处理实现数据的读写。

通过构建时序引擎,对分布式数据库进行并行且顺序查找存储节点位置,从而实现大规模、有序的数据查找,在保证查找全面性的同时,提高数据库的查找效率。

进一步的,所述时序引擎包括依次执行的前台引擎、计划引擎、调度引擎以及查询引擎。基于用户的请求分别顺次进行前台引擎、计划引擎、调度引擎以及查询引擎的查找,通过前台引擎对请求进行认证授权、去重以及分发,通过计划引擎对请求进行分类规划,通过调度引擎执行计划引擎发布的任务,最后通过查询引擎查找对应的执行结果。

进一步的,所述前台引擎包括对用户进行身份认证,过滤用户的单批次重复请求后,将用户请求分发给计划引擎。具体的,实时获取身份认证信息,将身份认证信息与预设身份信息和权限对应表相匹配,当匹配成功时,输出与该身份信息对应的权限信息,基于输出的权限信息和预设权限数据库对应表,匹配出该权限信息对应的数据库,使该用户仅在对应匹配的数据库范围内进行遍历,从而降低数据库遍历范围。进一步的,获取用户请求,并对用户请求进行逐一判断,删选重复请求暂存,将非重复请求分发给计划引擎。通过在前台引擎中添加对用户的身份认证步骤,有效降低数据库的资源浪费,通过对重复提交的数据请求进行去重,降低用户的请求发送重复等误操作,减少搜索资源占用,通过前台引擎对已认证的单次不重复请求向计划引擎进行有序分发,实现数据查找的顺序、有效进行。

进一步的,所述计划引擎包括基于前台引擎分发的用户请求,进行sql语句的解析、语义检查和查询优化,产生逻辑任务规划。通过计划引擎对用户请求进行初步分类,产生逻辑任务规划,有效降低无序查找的搜索数据量,基于分布式存储特点进行定向规划,最终产生分布式的查询任务规划工作,实现引擎在分布式数据库内的有序查找。计划引擎的逻辑任务规划包括查询任务规划和加载任务规划。支持sql语句,通过编写sql实现复杂的业务逻辑,极大的降低了使用成本,根据sql语句的解析选择优化器,获得对应的优化器选择结果,从而选择对应的数据连接方式以及连接顺序,即找到对应的搜索路径,产生最优化的逻辑任务规划。

进一步的,所述调度引擎包括执行并跟踪计划引擎的逻辑任务规划。逻辑任务规划包括子任务节点的调度服务、数据包交换服务、数据包传送接口、数据包接收接口、主控节点调度服务等。

进一步的,所述查询引擎包括将调度引擎执行的逻辑任务规划转化为对应的物理计划,基于该物理计划进行相应的资源配置,控制物理计划的执行,并将执行结果返回上一层级。查询引擎包括查询执行器、批量数据加载器、本地资源规划器、jit运算优化器以及轻量级编码,负责将分布式调度引擎转发的逻辑计划转换成物理计划并完成资源配置,启动并控制整个查询计划的执行并将执行结果透过分布式调度引擎传回上层执行节点。

进一步的,构建多个并行的时序引擎包括基于用户的一个请求构建多个相同的时序引擎以及基于用户的多个请求构建多个不同的时序引擎,并对该多个不同的时序引擎进行顺序编码。当同一用户在一定时间内同时发布多个请求时,去掉相同请求后,剩下的不同的请求进行顺序编码,并以该编码为二次认证基础在前台引擎进行认证传输,前台引擎分别基于不同的编码同步向计划引擎进行任务分发,计划引擎基于不同的编码分别配置不同的逻辑任务规划,从而实现多条请求搜索的同步调度。通过对不同的时序引擎进行编码,极大的缩短了多数据请求的查询时间,通过编码验证实现数据查找及返回的准确性,实现多个时序引擎同步查询功能,提高了分布式数据库的水平横向扩展能力,加快数据读取速度。

进一步的,所述分布式数据库为预先基于相近语义构建的多个数据库,获取分布式数据库的个数为获取包含有效数据的数据库个数。基于包含有效数据的数据库构建时序引擎,基于数据库个数进行合理规划,避免对无数据占用的部分数据库进行无效扫描,节省系统运行资源。

进一步的,所述分布式存储引擎包括交叉互联式混合存储、分布式文件系统存储管理以及动态读写调度管理。交叉互联式混合存储能够实现分布式存储的广泛互联性及数据读取的顺序全面性,通过交叉存储将数据分别存储在不同的数据库节点上,再通过将各个数据库节点进行互联,实现数据的网状联通。分布式文件系统中由于采用的存储区较多,不同的存储区间也存在存储性能间的差异,文件的访问次数也存在不均匀性,通过设置分布式文件系统存储管理和动态读写调度管理,将用户经常访问的数据存储到高性能存储区,不常访问的数据存储到性能低的存储区,依据不同的调度请求关键词分配不同的存储区域,有效提高分布式文件系统的读写性能,避免存储不合理导致的数据读取缓慢拥堵情况发生。

进一步的,所述分布式存储引擎还包括组合数据压缩算法、自适应数据整理以及数据更新算法。不同的压缩算法对不同类型的数据压缩效果不同,通过设置组合数据压缩算法,最大限度且最优化的对数据进行分类压缩,在保证数据不受损失的前提下降低内存的占用,提高存储空间利用率。需要存储的数据存在大量性、复杂性和关联性,只有对数据不断进行整理、更新,才能适应最优化的快速查找目标。

本发明实施例还提供了一种计算机存储介质,计算机存储介质存储有计算机程序代码,当计算机程序代码在计算设备上运行时,导致计算设备执行上文任一实施例中的分布式数据存储引擎调度方法。

另外,本发明实施例还提供了一种计算设备,包括处理器;存储有计算机程序代码的存储器;当计算机程序代码被处理器运行时,导致计算设备执行上文任一实施例中的分布式数据存储引擎调度方法。

所属领域的技术人员可以清楚地了解到,上述描述的系统、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,为简洁起见,在此不另赘述。

另外,在本发明各个实施例中的各功能单元可以物理上相互独立,也可以两个或两个以上功能单元集成在一起,还可以全部功能单元都集成在一个处理单元中。上述集成的功能单元既可以采用硬件的形式实现,也可以采用软件或者固件的形式实现。

本领域普通技术人员可以理解:集成的功能单元如果以软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,其包括若干指令,用以使得一台计算设备(例如个人计算机,服务器,或者网络等)在运行指令时执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom)、随机存取存储器(ram),磁碟或者光盘等各种可以存储程序代码的介质。

或者,实现前述方法实施例的全部或部分步骤可以通过程序指令相关的硬件(诸如个人计算机,服务器,或者网络等的计算设备)来完成,所述程序指令可以存储于一计算机可读取存储介质中,当所述程序指令被计算设备的处理器执行时,所述计算设备执行本发明各实施例所述方法的全部或部分步骤。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1