一种基于高频数据处理进行数据并行查询加速的方法和设备与流程

文档序号:22759860发布日期:2020-10-31 09:58阅读:157来源:国知局
一种基于高频数据处理进行数据并行查询加速的方法和设备与流程

本申请涉及大数据处理技术领域,更具体地,涉及一种基于高频数据处理进行数据并行查询加速的方法和设备。



背景技术:

大规模静态数据是指数据达到一定量的数据集合,能够为精准决策提供支撑,是互联网、终端智能设备等兴起和普及的产物,数据量级别也有不同划分,如tb级、pb级或zb级。在大数据时代,其数据量级仍在快速增加。为满足这种大规模数据存储和处理需求,目前行业中广泛采用分布式系统,将数据分散存储在多台独立的数据节点(服务器设备)上。同时在此基础上,引入了全内存计算技术,实现了内存既能处理数据,也能存储数据,并基于内存计算技术将最初分布式系统采用的物理介质由磁盘替换成内存,推出了面向大规模规模的分布式全内存数据库管理系统。

如图5所示,现有技术中分布式全内存数据库管理系统具备非常灵活的扩展性和高效的数据处理能力,通过灵活扩展及多台服务器设备共同分担存储和计算负荷,满足大规模数据存储的要求,保障系统具备更好的可靠性、可用性和可扩展性;凭借内存计算,该系统提供了最快的数据存取效率。

分布式全内存数据库管理系统运行通过部署分布式集群来支撑,集群中有多个数据存储节点和至少一个负责任务调度和资源管理的主节点。在处理数据查询请求时,主节点负责接收用户请求,并将任务分解下推至各个数据存储节点上获取数据块,然后将数据块合并成结果数据反馈给用户。尽管相比单机处理和基于磁盘分布式系统,该系统已经在扩展性、处理性能、响应速度等方面均已得到极大改善和提升,但在数据量越来越大且增长迅速的应用场景中,在数据超过一定规模,在大规模数据中找到符合查询条件的数据仍然需要消耗较长的时间,使得系统的查询性能受到较大影响,响应效率也愈加偏离实时性。

由此可见,如何最大化保证大数据并行处理和查询效率不受数据增长的影响,进而提升大数据并行处理和查询效率,成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本发明提供了一种基于高频数据处理进行数据并行查询加速的方法,用以解决现有技术中由于数据增长导致数据并行处理能力以及查询效率降低的技术问题,该方法包括:

所述第一主节点接收用户发送的数据查询请求,所述查询请求中携带查询条件;

所述第一主节点根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;

若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,所述第一主节点将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的;

其中,所述高频数据为访问频率大于所述第一主节点中的预设频率阈值的数据。

优选的,所述方法还包括:

若各所述第一类数据节点中不存在所述匹配数据块,所述第一主节点将所述执行计划推送给所述第二主节点,以使所述第二主节点根据所述执行计划判断各所述第二类数据节点中是否存在所述匹配数据块;

若各所述第二类数据节点中存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的所述结果数据,并将所述结果数据返回所述用户。

优选的,在所述第一主节点接收用户发送的数据查询请求之前,还包括:

所述第一主节点根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群的数据存储空间确定最优频率阈值;

若所述数据存储空间不为空,所述第一主节点删除所述第一存储集群中访问频率小于所述最优频率阈值的数据,并从所述第二存储集群中获取待存储高频数据,将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上,所述待存储高频数据是根据所述第二主节点对所述第二存储集群中访问频率大于所述最优频率阈值且不存在于所述第一存储集群的数据块的合并结果确定的;

若所述数据存储空间为空,所述第一主节点从所述第二存储集群中获取所述待存储高频数据,并将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上;

其中,所述第二存储集群中访问频率大于所述最优频率阈值的数据块的数据量匹配所述数据存储空间的预设分配比例。

优选的,所述第一主节点根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群中数据存储空间确定最优频率阈值,具体为:

所述第一主节点根据所述统计结果确定所述数据量;

若所述数据量高于所述预设分配比例对应的存储空间,所述第一主节点增大所述预设频率阈值直至所述数据量匹配所述预设分配比例,并根据增大后的预设频率阈值确定所述最优频率阈值;

若所述数据量低于所述预设分配比例对应的存储空间,所述第一主节点减小所述预设频率阈值直至所述数据量匹配所述预设分配比例,根据减小后的预设频率阈值确定所述最优频率阈值;

若所述数据量等于所述预设分配比例对应的存储空间,所述第一主节点将所述预设频率阈值确定为所述最优频率阈值。

优选的,所述方法还包括:

若各所述第二类数据节点中不存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并将所述通知返回给所述用户。

相应的,本发明还提出了一种基于高频数据处理进行数据并行查询加速的设备,所述设备应用于包括存储高频数据的第一存储集群和存储大规模静态数据的第二存储集群的分布式系统中,所述第一存储集群包括第一主节点和多个第一类数据节点,所述第二存储集群包括第二主节点和多个第二类数据节点,所述设备包括:

接收模块,用于接收用户发送的数据查询请求,所述查询请求中携带查询条件;

查询模块,用于根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;

返回模块,用于若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的;

其中,所述高频数据为访问频率大于所述第一主节点中的预设频率阈值的数据。

优选的,

还包括推送模块,用于若各所述第一类数据节点中不存在所述匹配数据块,将所述执行计划推送给所述第二主节点,以使所述第二主节点根据所述执行计划判断各所述第二类数据节点中是否存在所述匹配数据块;

所述返回模块,还用于若各所述第二类数据节点中存在所述匹配数据块,接收从所述第二主节点发送的所述结果数据,并将所述结果数据返回所述用户。

优选的,所述设备还包括确定模块和存储模块,其中,

所述确定模块,用于根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群的数据存储空间确定最优频率阈值;

所述存储模块,用于:

若所述数据存储空间不为空,删除所述第一存储集群中访问频率小于所述最优频率阈值的数据,并从所述第二存储集群中获取待存储高频数据,将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上,所述待存储高频数据是根据所述第二主节点对所述第二存储集群中访问频率大于所述最优频率阈值且不存在于所述第一存储集群的数据块的合并结果确定的;

若所述数据存储空间为空,从所述第二存储集群中获取所述待存储高频数据,并将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上;

其中,所述第二存储集群中访问频率大于所述最优频率阈值的数据块的数据量匹配所述数据存储空间的预设分配比例。

优选的,所述确定模块,具体用于:

根据所述统计结果确定所述数据量;

若所述数据量高于所述预设分配比例对应的存储空间,增大所述预设频率阈值直至所述数据量匹配所述预设分配比例,并根据增大后的预设频率阈值确定所述最优频率阈值;

若所述数据量低于所述预设分配比例对应的存储空间,减小所述预设频率阈值直至所述数据量匹配所述预设分配比例,根据减小后的预设频率阈值确定所述最优频率阈值;

若所述数据量等于所述预设分配比例对应的存储空间,所述第一主节点将所述预设频率阈值确定为所述最优频率阈值。

优选的,所述返回模块还用于:

若各所述第二类数据节点中不存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并将所述通知返回给所述用户。

与现有技术对比,本发明具备以下有益效果:

本发明公开了一种基于高频数据处理进行数据并行查询加速的方法和设备,所述第一主节点接收用户发送的数据查询请求,所述查询请求中携带查询条件;所述第一主节点根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,所述第一主节点将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的;其中,所述高频数据为访问频率大于所述第一主节点中的预设频率阈值的数据,以此实现对高频数据并行查询性能、响应速度和大数据处理能力的提升,同时减少数据规模增长对高频数据处理性能的影响,进而提供良好的扩展性、稳定性、灵活性和结果准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例提出的一种基于高频数据处理进行数据并行查询加速的方法的流程示意图;

图2示出了本发明实施例中高频数据提取和存储的流程图;

图3示出了本发明实施例中用户请求响应和处理的流程图;

图4示出了本发明提出的一种基于高频数据处理进行数据并行查询加速设备的结构示意图;

图5示出了现有技术中基于分布式内存数据库的数据并行查询的系统的架构示意图;

图6示出了本发明实施例中提出的基于高频数据处理进行数据并行查询加速的架构示意图;

图7示出了本发明实施例中提出的基于访问频率的高频数据分布线性回归示意图;

图8示出了本发明实施例中提出的基于阈值优化算法确定最优阈值的示意图;

图9示出了本发明实施例中提出的一种高频数据提取和存储的方法的运行示意图;

图10示出了本发明实施例中提出的一种基于高频数据提取进行数据并行查询方法的运行示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如背景技术所言,现有技术中由于数据增长导致数据并行处理能力以及查询效率降低。

本发明实施例提出了一种基于高频数据处理进行数据并行查询加速的方法,第一主节点接收用户发送的数据查询请求,所述查询请求中携带查询条件;所述第一主节点根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,所述第一主节点将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的,以此实现对高频数据并行查询性能、响应速度和大数据处理能力的提升,同时减少数据规模增长对高频数据处理性能的影响,进而提供良好的扩展性、稳定性、灵活性和结果准确性。

如图6所示为本发明实施例中提出的基于高频数据处理进行数据并行查询加速的架构示意图,包括存储高频数据的第一存储集群(高频数据处理集群b)和第二存储集群(大规模数据存储集群a),其中,高频数据处理集群b,用于统计高频数据信息、存储和处理高频数据,集群b包括至少一个主节点b和多个数据节点。大规模数据存储集群a,用于存储大规模静态数据,集群a包括至少一个主节点a和多个数据节点。

主节点主要用于建立与用户端的会话和管理;接收用户的访问请求;sql解析并生成执行计划;将生成的执行计划下推至各个数据节点上执行,获取各个数据节点上的结果数据;收集并合并从各个数据节点获取的结果数据,向所述用户返回查询结果;接收和处理数据接入请求,并将数据均分存储到分布式集群中的各个存储节点上。

数据节点主要用于大规模静态数据的存储和读取;执行主节点分发的sql语句;负责对应数据的存储和计算。

高频数据是通过高频数据统计算法得出的,所述高频数据统计算法运行于集群b的主节点上,用于统计所有数据的访问频率。同时运行于集群b主节点上的还包括阈值优化算法,用于对访问频率的阈值通过算法进行动态调整和优化,以获得最优阈值。其中,所述数据访问频率的阈值,在第一次系统运行时,由系统或用户自定义一个初始阈值,在所述系统运行过程中将通过高频数据统计算法,根据集群b的高频数据存储空间和高频数据量进行动态调优,调优后的阈值既能充分利用所述集群b提供的最大高频数据存储空间(默认为所述系统分配的全部高频数据存储空间的90%),又能够最多的提取访问较为频繁的数据。

如图1所示本发明实施例提出的一种基于高频数据处理进行数据并行查询加速的方法的流程示意图,所述方法应用于包括存储高频数据的第一存储集群和存储大规模静态数据的第二存储集群的分布式系统中,所述第一存储集群包括第一主节点和多个第一类数据节点,所述第二存储集群包括第二主节点和多个第二类数据节点,该方法包括以下步骤:

步骤s101,所述第一主节点接收用户发送的数据查询请求,所述查询请求中携带查询条件。

具体的,第一主节点为第一存储集群中的主节点,用于分布式集群资源管理、任务调度和负载均衡等操作,第一类数据节点为第一存储集群中的数据节点,用于存储数据,第一存储集群即高频数据处理集群,用于提取、存储高频数据和处理用户请求。第一节点接受用户发送的数据查询请求,查询请求中包含查询条件。

为了在第一集群中准确提取和存储高频数据,在本申请的优选实施例中,在所述第一主节点接收用户发送的数据查询请求之前,还包括:

所述第一主节点根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群的数据存储空间确定最优频率阈值;

若所述数据存储空间不为空,所述第一主节点删除所述第一存储集群中访问频率小于所述最优频率阈值的数据,并从所述第二存储集群中获取待存储高频数据,将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上,所述待存储高频数据是根据所述第二主节点对所述第二存储集群中访问频率大于所述最优频率阈值且不存在于所述第一存储集群的数据块的合并结果确定的;

若所述数据存储空间为空,所述第一主节点从所述第二存储集群中获取所述待存储高频数据,并将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上;

其中,所述第二存储集群中访问频率大于所述最优频率阈值的数据块的数据量匹配所述数据存储空间的预设分配比例。

具体的,在第一主节点接收用户发送的数据查询请求之前,第一主节点实时统计所述系统中所有数据的访问频率,并根据访问频率的统计结果和第一存储集群的数据存储空间确定最优频率阈值。

在本申请具体的应用场景中,如图7所示为本发明实施例中提出的基于访问频率的高频数据分布线性回归示意图,在访问频率确定的前提下,所述阈值越小,按照所述方法从所述分布全内存数据库中提取的高频数据量越大,极小值为0,即所述分布式全内存数据库中存储的所有数据均为高频数据;反之,所述阈值越大,所提取的高频数据量越小,当极大值大于最大访问频率时,高频数据量为空,即所述全内存数据库中存储的所有数据均不为高频数据。(因高频数据量与访问频率呈线性相关,因此所述的极大值和极小值即为所述阈值的最大值和最小值。)

如图8所示为本发明实施例中提出的基于阈值优化算法确定最优阈值的示意图,高频数据存储空间和所述阈值呈负相关,即所述阈值越小,需要的高频数据存储空间就越大;反之,需要的高频数据存储空间就越小。因此,使用系统中封装好的“阈值优化算法”,根据所述系统提供的可用高频数据存储空间,以及访问频率从大到小的优先级进行数据量计算,即可确定既能充分利用可用高频数据存储空间,又能最大化提取高频数据的最优阈值,以保障本发明所提出的方法及技术方案的高效性和领先性。

所述阈值优化算法具体为根据所述集群b中高频数据存储空间的大小和所述集群a中访问频率优先级由高到底的数据量的大小,计算出使得高频数据量与其存储空间大致相等或相等(有一定的参考区间)的最优阈值,即访问频率大于所述最优频率阈值的数据块的数据量匹配所述数据存储空间的预设分配比例的优化算法。

当第一存储集群的数据存储空间为空时,第一主节点从第二存储集群中获取待存储高频数据,并将待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上;

当第一存储集群的数据存储空间不为空时,第一主节点删除第一存储集群中访问频率小于最优频率阈值的数据,并从第二存储集群中获取待存储高频数据,将待存储高频数据按负载均衡进行分组后均匀存储到各第一类数据节点上,其中,第二主节点为第二存储集群中的主节点,用于分布式集群资源管理、任务调度和负载均衡等操作,第二类数据节点为第二存储集群中的数据节点,用于存储数据,第二存储集群即大规模静态数据存储集群,用于存储大规模静态数据,存储高频数据是根据第二主节点对第二存储集群中访问频率大于最优频率阈值且不存在于第一存储集群的数据块的合并结果确定的。

需要说明的是,以上实施例的方案仅为本申请所提出的一种具体实现方案,通过其他不同的方式将待处理数据存储到第一类数据节点上并不影响本申请的保护范围。

为了准确确定最优频率阈值,在本申请的优选实施例中,所述第一主节点根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群中数据存储空间确定最优频率阈值,具体为:

所述第一主节点根据所述统计结果确定所述数据量;

若所述数据量高于所述预设分配比例对应的存储空间,所述第一主节点增大所述预设频率阈值直至所述数据量匹配所述预设分配比例,并根据增大后的预设频率阈值确定所述最优频率阈值;

若所述数据量低于所述预设分配比例对应的存储空间,所述第一主节点减小所述预设频率阈值直至所述数据量匹配所述预设分配比例,根据减小后的预设频率阈值确定所述最优频率阈值;

若所述数据量等于所述预设分配比例对应的存储空间,所述第一主节点将所述预设频率阈值确定为所述最优频率阈值。

具体的,第一主节点根据统计结果确定数据量,当数据量高于预设分配比例对应的存储空间时,第一主节点增大预设频率阈值直至数据量匹配预设分配比例,并根据增大后的预设频率阈值确定最优频率阈值,当数据量低于预设分配比例对应的存储空间时,第一主节点减小预设频率阈值直至数据量匹配预设分配比例,根据减小后的预设频率阈值确定最优频率阈值,当数据量等于预设分配比例对应的存储空间时,第一主节点将预设频率阈值确定为最优频率阈值。

需要说明的是,以上实施例的方案仅为本申请所提出的一种具体实现方案,通过其他不同的方式确定最优频率阈值并不影响本申请的保护范围。

步骤s102,所述第一主节点根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点。

具体的,第一主节点根据数据查询请求生成执行计划,并根据执行计划查询各第一类数据节点,其中,将执行计划拆分成与所述数据节点数对应多的子执行计划,并分别下推至各个数据节点上执行。

步骤s103,若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,所述第一主节点将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的。

具体的,当第一类数据节点中存在与查询条件匹配的匹配数据块时,第一主节点将其进行合并,同时向第一存储集群返回“高频数据提取成功”的消息。

需要说明的是,以上实施例的方案仅为本申请所提出的一种具体实现方案,通过其他不同的方式确定高频数据并不影响本申请的保护范围。

为了保证数据查询的可靠性,在本申请的优选实施例中,还包括:

若各所述第一类数据节点中不存在所述匹配数据块,所述第一主节点将所述执行计划推送给所述第二主节点,以使所述第二主节点根据所述执行计划判断各所述第二类数据节点中是否存在所述匹配数据块;

若各所述第二类数据节点中存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的所述结果数据,并将所述结果数据返回所述用户。

具体的,当各第一类数据节点中不存在匹配数据块时,第一主节点将所述执行计划推送给第二主节点,以使第二主节点根据执行计划判断各第二类数据节点中是否存在所述匹配数据块;

当各第二类数据节点中存在所述匹配数据块时,第二主节点将其进行合并,同时向第一存储集群返回查询结果,第一主节点接收从第二主节点发送的结果数据,并将结果数据返回用户。

为了使用户及时了解查询结果,在本申请的优选实施例中,还包括:

若各所述第二类数据节点中不存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并将所述通知返回给所述用户。

具体的,当各第二类数据节点中不存在所述匹配数据块时,所述第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并将所述通知返回给所述用户,并关闭数据查询进程。在查询完成后,查询结果可根据用户需求进行删除或存储或导出等操作,并且根据用户需求系统可以关闭查询进程,以此释放所述查询进程占用的内存、计算、网络传输等资源。

需要说明的是,以上实施例的方案仅为本申请所提出的一种具体实现方案,通过其他不同的方式将无满足条件的数据的通知返回用户并不影响本申请的保护范围。

通过应用以上技术方案,所述第一主节点接收用户发送的数据查询请求,所述查询请求中携带查询条件;所述第一主节点根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,所述第一主节点将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的;其中,所述高频数据为访问频率大于所述第一主节点中的预设频率阈值的数据,从而提升了大数据并行处理能力和查询的效率。

为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。

如图2所示为本发明实施例中高频数据提取和存储的流程图,该方法包括以下步骤:

s201,确定最优频率阈值。

具体的,基于封装的高频数据统计算法,实时统计系统中所有数据的访问频率,同时配置预设频率阈值,并在预设频率阈值和所述统计信息更新时,提醒所述系统更新高频数据。其中,根据所述第一存储集群中高频数据存储空间的大小和所述第二存储集群中访问频率优先级由高到底的数据量的大小,计算出使得高频数据量与其存储空间大致相等或相等(有一定的参考区间)的最优阈值。

s202,判断第一存储集群的数据存储空间是否为空。

具体的,判断第一存储集群的数据存储空间是否为空,若是则执行步骤s203,若否则执行步骤s207。当系统第一次运行时,第一存储集群的数据存储空间可能为空。

s203,第一主节点从第二存储集群中获取访问频率大于预设频率阈值的数据块。

具体的,当第一存储集群的数据存储空间为空时,根据所述统计信息以及预设或当前频率阈值,从第二存储集群中的各个第二类数据节点上获取访问频率大于当前阈值的数据块。

s204,判断所获取的数据量与第一存储集群的数据存储空间是否匹配。

s205,若否,降低预设频率阈值。

具体的,当所获取的数据量与第一存储集群的高频数据存储空间不匹配时,根据第一存储集群中高频数据存储空间大小和第二存储集群中访问频率由高到低的数据量大小,降低或提高频率阈值,直至第二存储集群中访问频率大于频率阈值的数据量与高频数据存储空间匹配。

s206,若是,合并获取的数据块并向第一存储集群返回提取信息。

具体的,当第二存储集群获取的数据量与第一存储集群的高频数据存储空间匹配时,第二主节点合并并提取所获取的数据块,同时向第一存储集群返回高频数据提取信息。

s207,若否,计算第二存储集群中大于预设频率阈值的数据量。

具体的,当第一存储集群的数据存储空间不为空时,计算第一存储集群中大于当前阈值的数据量。

s208,判断数据量是否大于第一存储集群的数据存储空间。

s209,若是,第一主节点提高预设频率阈值。

具体的,当数据量大于第一类数据节点的数据存储空间时,根据第一存储集群中高频数据的存储空间大小和第二存储集群中访问频率由高到低的数据量大小,提高频率阈值,获取使得第一存储集群中访问频率大于频率阈值的数据量与高频数据存储空间匹配的最优频率阈值。

s210,若否,第一主节点降低预设频率阈值。

具体的,当数据量小于第一类数据节点的数据存储空间时,根据第一存储集群中高频数据的存储空间大小和第二存储集群中访问频率由高到低的数据量大小,降低频率阈值,获取使得第一存储集群中访问频率大于频率阈值的数据量与高频数据存储空间匹配的最优频率阈值。

s211,若相等,第一主节点删除第一存储集群中访问频率低于最优频率阈值的数据。

具体的,当数据量等于第一类数据节点的数据存储空间时,删除第一存储集群中高频数据的访问频率低于最优频率阈值的数据,释放存储空间,并向集第二存储集群发送高频数据提取请求。

s212,从第二类数据节点上获取访问频率大于当前频率阈值的数据块。

具体的,当数据量等于第一类数据节点的数据存储空间时,根据统计信息和频率阈值,从第二存储集群的各个第二类数据节点上获取访问频率大于当前频率阈值的数据块。

s213,从所获取的数据块中确定不存在于第一类数据节点上的数据。

具体的,从所获取的数据块中确定不存在于第一存储集群中数据节点上的数据,合并提取新的高频数据,同时向第一存储集群返回高频数据提取信息。

s214,进行分组后均匀存储到内存存储空间上。

具体的,第一存储集群中第一主节点对所获取的所有高频数据进行分组,基于负载均衡将所述的分组数据分别存入到对应的所述系统分布式集群中的第一类数据节点,即所述数据均匀分布到各个存储节点的内存存储空间中。如图9所示为本发明实施例中提出的一种高频数据提取和存储的方法的运行示意图。

如图3所示为本发明实施例中用户请求响应和处理的流程图,该方法包括以下步骤:

s301,第一主节点接收用户发送的数据查询请求。

具体的,第一存储集群中的第一主节点实时接收用户发出的查询请求。

s302,第一主节点根据数据查询请求生成执行计划。

具体的,第一主节点中建立数据查询进程,并对用户提交的sql语句进行解析、优化,生成对应的执行计划。

s303,根据执行计划查询各个第一类数据节点。

具体的,将执行计划下推至第一存储集群的各个第一类数据节点中执行。

s304,判断高频数据中是否存在结果数据。

s305,若不存在,则将执行计划推送给各个第二类数据节点。

具体的,当高频数据中不存在结果数据时,将执行计划拆分成与第二存储集群中数据节点对应的子执行计划并推送给第二存储集群中的各个第二类数据节点。

s306,判断第二类数据节点中是否存在所述匹配数据块。

s307,若存在,第一主节点确定并获取符合查询条件的数据。

具体的,当高频数据中存在结果数据时,第一主节点根据查询请求从各个数据节点中确定并获取符合查询条件的数据

s308,第一主节点将所获取的数据进行合并。

s309,向所述用户返回查询结果。

s310,删除或存储所述结果数据。

s311,若不存在,向用户返回“无满足条件的数据”的通知。

如图10所示为本发明实施例中提出的一种基于高频数据提取对内存数据并行查询方法的运行示意图。

通过应用以上技术方案,第一主节点接收用户发送的数据查询请求;第一主节点根据数据查询请求生成执行计划;根据执行计划查询各第一类数据节点;判断高频数据中是否存在结果数据;若不存在,则将执行计划推送给所述第二主节点,并判断第二类数据节点中是否存在所述匹配数据块;若存在,第一主节点接收从所述第二主节点发送的所述结果数据,并将所述结果数据返回所述用户;若不存在,第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并向用户返回无满足条件的数据的通知;若存在,第一主节点将匹配数据块合并;向用户返回查询结果,从而提升了大数据并行处理能力和查询的效率。

与本申请实施例中的一种高频数据获取方法相对应,本申请实施例提出了一种基于高频数据处理进行数据并行查询加速的设备,如图4所示,所述设备包括:

接收模块401,用于接收用户发送的数据查询请求,所述查询请求中携带查询条件;

查询模块402,用于根据所述数据查询请求生成执行计划,并根据所述执行计划查询各所述第一类数据节点;

返回模块403,用于若各所述第一类数据节点中存在与所述查询条件匹配的匹配数据块,将结果数据返回所述用户,所述结果数据是根据各所述匹配数据块的合并结果确定的;

其中,所述高频数据为访问频率大于所述第一主节点中的预设频率阈值的数据。

在具体的应用场景中,

还包括推送模块,用于若各所述第一类数据节点中不存在所述匹配数据块,将所述执行计划推送给所述第二主节点,以使所述第二主节点根据所述执行计划判断各所述第二类数据节点中是否存在所述匹配数据块;

所述返回模块403,还用于若各所述第二类数据节点中存在所述匹配数据块,接收从所述第二主节点发送的所述结果数据,并将所述结果数据返回所述用户。

在具体的应用场景中,所述设备还包括确定模块和存储模块,其中,

所述确定模块,用于根据所述系统中所有数据的访问频率的统计结果和所述第一存储集群的数据存储空间确定最优频率阈值;

所述存储模块,用于:

若所述数据存储空间不为空,删除所述第一存储集群中访问频率小于所述最优频率阈值的数据,并从所述第二存储集群中获取待存储高频数据,将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上,所述待存储高频数据是根据所述第二主节点对所述第二存储集群中访问频率大于所述最优频率阈值且不存在于所述第一存储集群的数据块的合并结果确定的;

若所述数据存储空间为空,从所述第二存储集群中获取所述待存储高频数据,并将所述待存储高频数据按负载均衡进行分组后均匀存储到各所述第一类数据节点上;

其中,所述第二存储集群中访问频率大于所述最优频率阈值的数据块的数据量匹配所述数据存储空间的预设分配比例。

在具体的应用场景中,所述确定模块,具体用于:

根据所述统计结果确定所述数据量;

若所述数据量高于所述预设分配比例对应的存储空间,增大所述预设频率阈值直至所述数据量匹配所述预设分配比例,并根据增大后的预设频率阈值确定所述最优频率阈值;

若所述数据量低于所述预设分配比例对应的存储空间,减小所述预设频率阈值直至所述数据量匹配所述预设分配比例,根据减小后的预设频率阈值确定所述最优频率阈值;

若所述数据量等于所述预设分配比例对应的存储空间,所述第一主节点将所述预设频率阈值确定为所述最优频率阈值。

在具体的应用场景中,所述返回模块403还用于:

若各所述第二类数据节点中不存在所述匹配数据块,所述第一主节点接收从所述第二主节点发送的无满足查询条件的数据的通知,并将所述通知返回给所述用户。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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