数据处理及查询方法、装置与流程

文档序号:12063674阅读:274来源:国知局
数据处理及查询方法、装置与流程

本发明涉及通信领域,具体而言,涉及一种数据处理及查询方法、装置。



背景技术:

联机分析处理(Online Analytical Processing,简称为OLAP)是数据仓库系统的一种应用,它针对特定的分析主题,设计多种可能的观察方式,设计相应的分析主题结构(即进行事实表和维度表设计),使用户在多维模型的基础上进行快速、稳定、交互式的访问,以达到复杂分析和数据预测的作用。

OLAP作为面向数据分析人员的工具,现阶段很多种类的OLAP都是单机版,支持用户并发数有限。因此,在高并发场景下,OLAP无法处理用户的分析请求;并且随着数据源规模增大,当事实表数据量规模达到TB(Terabyte万亿字节)级别规模,OLAP将无法分析数据。

针对相关技术中存在的OLAP在高并发、数据库中存储的数据量大的情况下无法快速响应用户需求的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了一种数据处理及查询方法、装置,以至少解决相关技术中存在的OLAP在高并发、数据库中存储的数据量大的情况下无法快速响应用户需求的问题。

根据本发明的一个方面,提供了一种数据处理方法,包括:负载均衡服务器接收用于请求查询预定数据的查询请求;所述负载均衡服务器根据选择策略从联机分析处理OLAP服务器集群中选择用于对所述查询请求进行处理的OLAP服务器,其中,所述OLAP服务器集群中包括至少两个OLAP服务器且所述OLAP服务器集群中的各个OLAP服务器相互独立;所述负载均衡服务器将所述查询请求转发给所述OLAP服务器。

可选地,所述负载均衡服务器根据选择策略从联机分析处理OLAP服务器集群中选择用于对所述查询请求进行处理的OLAP服务器之后,还包括:所述负载均衡服务器确定选择的所述OLAP服务器发生故障;所述负载均衡服务器根据所述选择策略从所述OLAP服务器集群中的其他OLAP服务器中选择一个新的用于对所述查询请求进行处理的OLAP服务器;所述负载均衡服务器将所述查询请求转发给新的OLAP服务器。

可选地,所述选择策略包括以下至少之一:所述OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。

根据本发明的另一个方面,提供了一种数据查询方法,包括:联机分析处理OLAP服务器接收数据请求方发送的用于请求查询预定数据的查询请求,其中,所述OLAP服务器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,所述OLAP服务器集群中包括至少两个OLAP服务器且所述OLAP服务器集群中的各个OLAP服务器相互独立;所述OLAP服务器根据所述查询请求查询所述预定数据;所述OLAP服务器将查询到的所述预定数据返回给所述数据请求方。

可选地,所述OLAP服务器根据所述查询请求查询所述预定数据,包括:所述OLAP服务器根据所述查询请求在全局数据缓存服务器中查询所述预定数据,其中,所述全局数据缓存服务器中预先缓存有数据,且缓存的所述数据被分布地存储在所述全局数据缓存服务器的两个以上节点中,所述全局数据缓存服务器支持增加和/或删除节点。

可选地,所述OLAP服务器根据所述查询请求在全局数据缓存服务器中查询所述预定数据之后,包括:当所述全局数据缓存服务器中未缓存所述预定数据时,所述OLAP服务器从数据库中查询所述预定数据;所述OLAP服务器将查询到的所述预定数据缓存至所述全局数据缓存服务器中。

可选地,所述方法还包括:所述OLAP服务器确定所述OLAP服务器集群中的一个OLAP服务器的用于查询数据的多维模型发生了变化;所述OLAP服务器将所述OLAP服务器的多维模型与发生变化的多维模型进行同步处理;和/或,所述OLAP服务器确定所述OLAP服务器的用于查询数据的多维模型发生了变化;所述OLAP服务器向所述OLAP服务器集群中的其他OLAP服务器发送变更通知,其中,所述变更通知用于标识所述OLAP服务器的多维模型发生的变化。

可选地,所述方法还包括:所述OLAP服务器将所述OLAP服务器的多维模型同步到全局数据缓存服务器中。

可选地,所述选择策略包括以下至少之一:所述OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。

根据本发明的另一个方面,提供了一种数据处理装置,应用于负载均衡服务器,包括:第一接收模块,用于接收用于请求查询预定数据的查询请求;第一选择模块,用于根据选择策略从联机分析处理OLAP服务器集群中选择用于对所述查询请求进行处理的OLAP服务器,其中,所述OLAP服务器集群中包括至少两个OLAP服务器且所述OLAP服务器集群中的各个OLAP服务器相互独立;第一转发模块,用于将所述查询请求转发给所述OLAP服务器。

可选地,所述装置还包括:第一确定模块,用于确定选择的所述OLAP服务器发生故障;第二选择模块,用于根据所述选择策略从所述OLAP服务器集群中的其他OLAP服务器中选择一个新的用于对所述查询请求进行处理的OLAP服务器;第二转发模块,用于将所述查询请求转发给新的OLAP服务器。

可选地,所述选择策略包括以下至少之一:所述OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。

根据本发明的再一个方面,还提供了一种数据查询装置,应用于联机分析处理OLAP服务器,包括:第二接收模块,用于接收数据请求方发送的用于请求查询预定数据的查询请求,其中,所述OLAP服务器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,所述OLAP服务器集群中包括至少两个OLAP服务器且所述OLAP服务器集群中的各个OLAP服务器相互独立;第一查询模块,用于根据所述查询请求查询所述预定数据;返回模块,用于将查询到的所述预定数据返回给所述数据请求方。

可选地,所述第一查询模块包括:根据所述查询请求在全局数据缓存服务器中查询所述预定数据,其中,所述全局数据缓存服务器中预先缓存有数据,且缓存的所述数据被分布地存储在所述全局数据缓存服务器的两个以上节点中,所述全局数据缓存服务器支持增加和/或删除节点。

可选地,所述装置还包括:第二查询模块,用于当所述全局数据缓存服务器中未缓存所述预定数据时,从数据库中查询所述预定数据;缓存模块,用于将查询到的所述预定数据缓存至所述全局数据缓存服务器中。

可选地,所述装置还包括:第二确定模块,用于确定所述OLAP服务器集群中的一个OLAP服务器的用于查询数据的多维模型发生了变化;第一同步模块,用于将所述OLAP服务器的多维模型与发生变化的多维模型进行同步处理;和/或,第三确定模块,用于确定所述OLAP服务器的用于查询数据的多维模型发生了变化;发送模块,用于向所述OLAP服务器集群中的其他OLAP服务器发送变更通知,其中,所述变更通知用于标识所述OLAP服务器的多维模型发生的变化。

可选地,所述装置还包括:第二同步模块,用于将所述OLAP服务器的多维模型同步到全局数据缓存服务器中。

可选地,所述选择策略包括以下至少之一:所述OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。

通过本发明,采用负载均衡服务器接收用于请求查询预定数据的查询请求;所述负载均衡服务器根据选择策略从联机分析处理OLAP服务器集群中选择用于对所述查询请求进行处理的OLAP服务器,其中,所述OLAP服务器集群中包括至少两个OLAP服务器且所述OLAP服务器集群中的各个OLAP服务器相互独立;所述负载均衡服务器将所述查询请求转发给所述OLAP服务器的方法,OLAP服务器集群中的各个OLAP服务器相互独立,各个OLAP服务器都可以为请求方进行数据处理,解决了相关技术中存在的OLAP在高并发、数据库中存储的数据量大的情况下无法快速响应用户需求的问题,进而达到了在高并发、数据库中存储的数据量大的情况下快速响应用户需求的效果,提 高了用户的体验度。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的数据处理方法的流程图;

图2是根据本发明实施例的数据查询方法的流程图;

图3是根据本发明实施例的数据处理装置的结构框图;

图4是根据本发明实施例的数据处理装置的优选结构框图;

图5是根据本发明实施例的数据查询装置的结构框图;

图6是根据本发明实施例的数据查询装置的优选结构框图;

图7是根据本发明实施例的数据查询装置的另一优选结构框图;

图8是根据本发明实施例的数据查询装置的再一优选结构框图;

图9是根据本发明实施例的多维数据分析系统组件图;

图10是根据本发明实施例的多维分析系统中OLAP集群架构组件92的结构示意图;

图11是根据本发明实施例中多维分析系统中多维模型同步组件96的结构框图;

图12是根据本发明实施例的多维分析系统中数据缓存管理组件910的结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种数据处理方法,图1是根据本发明实施例的数据处理方法的流程图,如图1所示,该流程包括如下步骤:

步骤S102,负载均衡服务器接收用于请求查询预定数据的查询请求;

步骤S104,负载均衡服务器根据选择策略从联机分析处理OLAP服务器集群中选择用于对查询请求进行处理的OLAP服务器,其中,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;

步骤S106,负载均衡服务器将查询请求转发给OLAP服务器。

通过上述步骤,负载均衡服务器接收用于请求查询预定数据的查询请求;负载均衡服务器根据选择策略从联机分析处理OLAP服务器集群中选择用于对所述查询请求进行处理的OLAP服务器,其中,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;负载均衡服务器将查询请求转发给OLAP服务器,因为OLAP服务器集群中的各个OLAP服务器相互独立,各个OLAP服务器都可以作为一个独立的OLAP服务器为请求方的查询请求进行服务,解决了相关技术中存在的OLAP在高并发、数据库中存储的数据量大的情况下无法快速响应用户需求的问题,进而达到了在高并发、数据库中存储的数据量大的情况下快速响应用户需求的效果,提高了用户的体验度。

在一个可选实施例中,在上述步骤S104之后,该数据处理方法还可以包括:负载均衡服务器确定选择的OLAP服务器发生故障;负载均衡服务器根据选择策略从OLAP服务器集群中的其他OLAP服务器中选择一个新的用于对查询请求进行处理的OLAP服务器;负载均衡服务器将查询请求发送给新的OLAP服务器。在该可选实施例中,当处理当前查询请求的OLAP服务器发生故障之后,负载均衡服务器可以再次从OLAP集群架构中选择一个新的OLAP服务器为请求方进行服务,从而提高了该OLAP集群架构的容错率,保证了请求方的请求可以得到满足。

在一个可选的实施例中,负载均衡服务器可以根据选择策略从OLAP服务器集群中选择OLAP服务器,该选择策略可以包括以下至少之一:OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。在该可选实施例中,可以使得OLAP服务器集群中的各个OLAP得到充分利用,有效防止了OLAP服务器集群中负载失衡。

在本发明实施例中还提供了一种数据查询方法,图2是根据本发明实施例的数据查询方法的流程图,如图2所示,该方法包括以下步骤:

步骤S202,联机分析处理OLAP服务器接收数据请求方发送的用于请求查询预定数据的查询请求,其中,OLAP服务器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;

步骤S204,OLAP服务器根据查询请求查询预定数据;

步骤S206,OLAP服务器将查询到的预定数据返回给数据请求方。

通过上述步骤,OLAP服务器接收数据请求方发送的用于请求查询预定数据的查询请求,其中,OLAP服务器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;OLAP服务器根据查询请求查询预定数据;OLAP服 务器将查询到的预定数据返回给数据请求方,因为OLAP服务器集群中的各个OLAP服务器相互独立,都可以作为一个独立的OLAP服务器为请求方的查询请求进行服务,解决了相关技术中存在的OLAP在高并发、数据库中存储的数据量大的情况下无法快速响应用户需求的问题,进而达到了在高并发、数据库中存储的数据量大的情况下快速响应用户需求的效果,提高了用户的体验度。

步骤S204有多种实现方式,例如可以根据数据输入输出(Input&Output,简称为IO)接口从数据库中查询数据,在一个可选实施例中,步骤S204可以包括:OLAP服务器根据查询请求在全局数据缓存服务器中查询预定数据,其中,全局数据缓存服务器中预先缓存有数据,且缓存的数据被分布地存储在全局数据缓存服务器的两个以上节点中,全局数据缓存服务器支持增加和/或删除节点。在该可选实施例中,OLAP服务器可以直接从缓存中查询数据,减少了数据IO查询的次数,提高了查询的效率。并且,全局数据缓存服务器中采取分布式的数据存储方式,能够存储海量数据,还可扩展,能够在一定程度上解决请求方的海量数据的查询导致的查询速度低的问题。

在一个可选的实施例中,OLAP服务器根据查询请求在全局数据缓存服务器中查询预定数据之后,包括:当所述全局数据缓存服务器中未缓存预定数据时,OLAP服务器从数据库中查询所述预定数据;OLAP服务器将查询到的预定数据缓存至全局数据缓存服务器中。在该可选实施例中,当OLAP服务器在全局缓存数据服务器中查询数据失败的情况下,OLAP还可以通过数据IO查询从数据库中查询数据,从而提高了查询数据的可靠性,并且,将查询到的数据缓存到全局数据缓存服务器,保证了下次查询该数据时可以直接从全局数据缓存服务器中查找,提高了查询数据的效率。

在一个可选的实施例中,该数据查询方法,还可以包括:OLAP服务器确定OLAP服务器集群中的一个OLAP服务器的用于查询数据的多维模型发生了变化;OLAP服务器将OLAP服务器的多维模型与发生变化的多维模型进行同步处理;和/或,OLAP服务器确定OLAP服务器的用于查询数据的多维模型发生了变化;OLAP服务器向OLAP服务器集群中的其他OLAP服务器发送变更通知,其中,变更通知用于标识OLAP服务器的多维模型发生的变化。在该可选实施例中,由于用户配置等原因,某一OLAP服务器上的多维模型可能会发生变化,但是,OLAP服务器集群中的其他OLAP服务器却没有发生变化,通过其他OLAP服务器对变化的多维模型进行同步,使得再一次接入请求方的查询请求时,可以只根据选择策略选择各个OLAP服务器,不必考虑各个OLAP服务器上的多维模型是否同步的问题,提高了选择的效率。同时,多维模型发生变化的OLAP服务器主动发送变更通知,可以提高同步的效率。

该实施例中的确定OLAP服务器集群中的一个OLAP服务器中的多维模型发生变化,并进行同步或者通知的过程,可以发生在如图2所示的数据查询方法的任何位置,例如发生在步骤S202之前或之后、步骤S206之前或者之后,它可以是一个实时的同步过程,也可以是定时的同步过程。

在一个可选的实施例中,OLAP服务器将OLAP服务器的多维模型同步到全局数据缓存服务器中。从而可以将多维模型的数据进行备份,同时各个OLAP服务器也可以从全局数据缓存服务器中对多维模型进行同步。

在一个可选的实施例中,选择策略可以包括以下至少之一:OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。从而使得OLAP服务器集群中的各个OLAP服务器得到有效利用,防止了OLAP服务器集群的负载失衡。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种数据处理及查询装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的数据处理装置的结构框图,如图3所示,该装置应用于负载均衡服务器,包括第一接收模块32、第一选择模块34及第一转发模块36,下面对该装置进行说明。

第一接收模块32,用于接收用于请求查询预定数据的查询请求;第一选择模块34,连接于上述第一接收模块32,用于根据选择策略从OLAP服务器集群中选择用于对查询请求进行处理的OLAP服务器,其中,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;第一转发模块36,连接于上述第一选择模块34,用于将查询请求转发给OLAP服务器。

图4是根据本发明实施例的数据处理装置的优选结构框图,如图4所示,该装置除包括图3所示的所有模块外,还包括第一确定模块42、第二选择模块44及第二转发模块46,下面对该装置进行说明。

第一确定模块42,连接于上述第一选择模块34,用于确定选择的OLAP服务器发生故障;第二选择模块44,连接于上述第一确定模块42,用于根据选择策略从OLAP服务器集群中的其他OLAP服务器中选择一个新的用于对所述查询请求进行处理的OLAP服务器;第二转发模块46,连接于上述第二选择模块44,用于将查询请求转发给新的OLAP服务器。

在一个可选的实施例中,选择策略包括以下至少之一:OLAP服务器集群中的OLAP 服务器的负载情况、OLAP服务器负荷策略。

本发明实施例还提供了一种数据查询装置,图5是根据本发明实施例的数据查询装置的结构框图,如图5所示,该装置应用于OLAP服务器中,包括第二接收模块52、第一查询模块54及返回模块56,下面对该装置进行说明。

第二接收模块52,用于接收数据请求方发送的用于请求查询预定数据的查询请求,其中,OLAP服务器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;第一查询模块54,连接于上述第二接收模块52,用于根据查询请求查询预定数据;返回模块56,连接于上述第一查询模块54,用于将查询到的预定数据返回给数据请求方。

在一个可选实施例中,第一查询模块54可以包括:根据查询请求在全局数据缓存服务器中查询预定数据,其中,全局数据缓存服务器中预先缓存有数据,且缓存的数据被分布地存储在全局数据缓存服务器的两个以上节点中,全局数据缓存服务器支持增加和/或删除节点。

图6是根据本发明实施例的数据查询装置的优选结构框图,如图6所示,该装置除包括图5所示的所有模块外,还包括:第二查询模块62和缓存模块64,下面对该装置进行说明。

第二查询模块62,连接于上述第一查询模块54,用于当全局数据缓存服务器中未缓存预定数据时,从数据库中查询预定数据;缓存模块64,连接于上述第二查询模块62,用于将查询到的预定数据缓存至全局数据缓存服务器中。图6所示的连接关系仅仅是一种示例,第二查询模块62和缓存模块64与图5中所示的模块的连接关系可以有多种,例如,返回模块56也可以连接于第二查询模块62与缓存模块64之间。

图7是根据本发明实施例的数据查询装置的另一优选结构框图,如图7所示,该装置除包括图5所示的所有模块外,还包括:第二确定模块72和第一同步模块74,和/或,还包括第三确定模块76和发送模块78,下面对该装置进行说明。

第二确定模块72,连接于上述返回模块56,用于确定OLAP服务器集群中的一个OLAP服务器的用于查询数据的多维模型发生了变化;第一同步模块74,连接于上述第二确定模块72,用于将OLAP服务器的多维模型与发生变化的多维模型进行同步处理;第三确定模块76,连接于上述返回模块56,用于确定OLAP服务器的用于查询数据的多维模型发生了变化;发送模块78,连接于上述第三确定模块76,用于向OLAP服务器集群中的其他OLAP服务器发送变更通知,其中,变更通知用于标识OLAP服务器的多维模型发生的变化。

图7中所示的连接关系仅是一种示例,第二确定模块72和图5中的各个模块的连 接关系可以是多种,例如,该第二确定模块72可以连接于第二接收模块52或者连接于第一查询模块54,同理,第三确定模块76还可以连接于第二接收模块52或者连接于第一查询模块54,确定OLAP服务器集群中的某一OLAP服务器的多维结构发生变化并进行通知或者同步,可以实时的发生在该数据查询装置中。

图8是根据本发明实施例的数据查询装置的再一优选结构框图,如图8所示,该装置除包括图7所示的所有模块外,还包括:第二同步模块82,下面对该装置进行说明。

第二同步模块82,连接于上述第一同步模块74和/或发送模块78,用于将OLAP服务器的多维模型同步到全局数据缓存服务器中。

在一个可选的实施例中,上述选择策略可以包括以下至少之一:OLAP服务器集群中的OLAP服务器的负载情况、OLAP服务器负荷策略。

下面结合实际应用环境对本发明实施例进行说明。

本发明实施例可以应用于高并发、海量数据的多维数据分析系统,图9是根据本发明实施例的多维数据分析系统组件图,如图9所示,该多维数据分析系统包括:全局数据缓存组件94(相当于上述全局数据缓存服务器)、多维模型同步组件96(相当于上述第二接收模块52、第二确定模块72、第一同步模块74、第三确定模块76和发送模块78)、动态会话集群组件98和数据缓存管理组件910(相当于上述第一查询模块54、第二查询模块62、缓存模块64和返回模块56)。该多维数据分析系统还OLAP集群架构组件92(相当于上述OLAP服务器集群),由于该OLAP集群架构组件92是由各个OLAP服务器分布式、无主架构构成的,没有在图9中展示,仅在图9中明确展示了一个OLAP服务器的组件图,其他OLAP服务器与图9中的OLAP服务器的组件图相同,各个OLAP服务器构成OLAP集群架构组件92。下面对该多维数据数据分析体统进行说明。

OLAP集群架构组件92,OLAP集群架构采用无主集群架构方式,每个OLAP实例(即OLAP服务器)都是一个独立的服务实例。OLAP集群对外通过负载均衡服务器实现统一服务地址、服务前转、负荷分担的功能。

全局数据缓存组件94,全局数据缓存组件94是一个分布式、可扩展架构。当数据源规模增大,OLAP可以利用全局数据缓存组件94改进数据规模增大引起的数据缓存上限问题。

OLAP放入内存中的数据分为三种:模型(Schema)、维度成员(Member)、数据段(Segment),其中Segment类型的数据量最大,它的结构包含了模型、维度成员、列轴、行轴数据,以及发起的多维分析查询语句(Multi-Dimensional eXpressions,简称为MDX)信息等。

OLAP集群中的各个服务实例在进行数据分析时,先从全局缓存数据组件94中命中数据,如果找不到数据,则发起数据存储IO查询数据,并将本次分析的数据存入全 局缓存数据组件94,数据存储IO请求次数将进一步减少。

为了提高数据分析效率,OLAP将分析过程中的数据放入内存中,后续发起的分析请求先从内存中命中数据,减少了数据存储IO的请求次数。

多维模型同步组件96,多维模型同步组件96负责跟踪、计算集群成员稳定性,以具备最新、最完整的多维模型的服务实例为基准,对其它服务实例进行同步。

无主架构OLAP服务器集群中,每个OLAP服务实例上都配置了多维模型,每个OLAP服务实例可以独立接收分析请求。多维模型同步组件96避免了OLAP集群中不同服务实例上的多维模型出现不一致的现象。

动态会话集群组件98,动态会话集群组件98保证会话不丢失,前提条件是会话中的数据是可序列化的。

假设我们有3个OLAP服务实例A、B、C,当A宕机时,A上的用户发起的请求会转向到B或C,A上的用户会话不会丢失,用户可以继续发起OLAP分析操作。

数据缓存管理组件910,数据缓存管理组件910功能包括:命中数据,数据缓存,缓存数据更新。

用户发起数据分析操作,操作参数经过解析后,传入数据缓存管理组件910,按照模型-维度成员-数据段顺序查找,找到匹配数据便返回。

数据缓存管理组件910将新的用户数据分析结果缓存到全局缓存中,更新全局缓存数据。

数据源变更,例如维度成员数据更新、度量指标数据更新,数据缓存管理组件910负责清理全局缓存中相应数据,以保证数据的准确性。

在本发明上述实施例中,通过多位模型同步组件96接收用户发起的数据查询请求,将该数据查询请求发送给数据缓存管理组件910,数据缓存管理组件910根据该数据查询请求在全局数据缓存组件94中查找数据,如果查找数据失败,则数据缓存管理组件910根据数据IO查询数据库中的数据,并将查询到的数据缓存至全局数据缓存组件94。同时,在当前服务的OLAP服务实例发生故障的情况下,动态会话集群组件98会确认该OLAP服务实例发生故障,由负载均衡服务器再次选择OLAP服务实例为用户进行服务。并且,在当前服务的OLAP服务实例的多维模型发生变更的情况下,各个OLAP服务实例中的多维模型同步组件96会对该发生变更的多维模型进行同步。从而使得用户在各个OLAP服务实例的服务都得到保障。

图10是根据本发明实施例的多维分析系统中OLAP集群架构组件92的结构示意图,如图10所示,OLAP集群架构组件92中的各个OLAP服务器相互独立,每个OLAP服务器都可以为用户进行数据查询服务,下面对该OLAP集群架构组件92,以及全局数 据缓存组件94、多维模型同步组件96、动态会话集群组件98、数据缓存管理组件910在该OLAP集群架构组件92中的其中一个OLAP服务实例上的作用进行说明。

本实施例按照组件化方法设计,可以实现高并发、海量数据的多维分析。

OLAP集群架构组件92,为OLAP服务器无主集群,每个OLAP服务器是独立的服务实例。

在接入层架设负载均衡软件,负载均衡软件实现HTTP层的负载均衡能力服务。它对外发布统一服务地址;它负责客户端的接入,根据服务器负载情况和服务器负荷策略将客户端接入到OLAP服务实例;它负责服务跳转,根据客户端的请求将客户前转到对应的功能服务器上;它负责服务器容灾,若正在服务的服务器宕机,原前转到该服务器的用户后续发起的多维分析操作可以跳转到其它可服务的实例上去。

全局数据缓存组件94,全局数据缓存组件94是一个可扩展的数据分发和集群平台,支持对象级数据缓存。集群中每个节点地位相同,无主架构;数据和数据备份都是分布式的;节点动态加入移除集群,节点之间相互感知存在。

全局数据缓存组件94提供安全机制如套接字(Socket)截获器,对接入节点进行身份认证,控制节点接入集群。

全局数据基本是平均分布在集群中的各个节点中,当一个节点成员宕机,它的备份数据副本含有相同的数据,数据副本会重新分布在剩下的活动节点上,这样就没有数据会丢失。当一个节点新加入全局数据缓存集群,新节点会赋予数据存取的责任,加载所有数据的一部分。

在一个可选的实施例中,可以进行每个全局数据缓存节点与每个OLAP服务实例合一部署,即每个运行的OLAP服务实例同时具备全局数据缓存功能。这样可以省略全局数据缓存组件94安装、部署、安全认证的工作。

图11是根据本发明实施例中多维分析系统中多维模型同步组件96的结构框图,如图11所示,该多维模型同步组件96包括监控模块112、稳定性计算模块114、多维模型更新模块116。各个OLAP服务实例上的多维模型同步组件96之间可以相互通讯。

监控模块112,用于监听多维模型变更通知,某个OLAP服务实例上多维模型发生变更发送广播通知,进行本实例多维模型更新。

监控模块监听本实例与其它实例之间的链路,稳定性计算模块114,用于计算本实例与其它实例的稳定性系数,并选取稳定性最高的OLAP服务实例。

多维模型更新模块116,用于与多维模型适配组件交互,负责更新本实例的多维模型。

动态会话集群组件98,该动态会话集群组件98与全局数据缓存组件94交互,用户会话数据保存在全局数据缓存中。动态会话集群组件98保证会话不丢失,对用户屏蔽OLAP集群的容灾策略。

多维分析操作前后步骤关联性强,为保证客户端操作的连贯性,保证服务器宕机用户操作不受影响,用户会话中应放入完整的多维模型分析数据,包括模型、当前分析对应的数据源、当前正在分析的MDX语句、当前的数据分析结果、过滤信息、排序信息、是否行列切换等,用户会话要保证可序列化。

图12是根据本发明实施例的多维分析系统中数据缓存管理组件910的结构示意图,如图12所示,数据缓存管理组件910包括:全局数据缓存代理122、数据缓存加载器124,下面对该数据缓存管理组件910进行说明。

全局数据缓存代理122,连接外部全局数据缓存,全局数据缓存代理122主要的功能是获取(GET)和存入(PUT)功能。

数据缓存加载器124,它与全局数据缓存代理122交互,加载数据时首先从缓存中查找数据,如果没有命中则与数据源适配组件交互,获取数据并将数据放入缓存中。

数据缓存管理组件910与数据源适配组件交互,当发送数据源变更,数据缓存加载器命中数据,并进行清理。

在上述实施例中,采用OLAP服务器集群以及全局数据分布式节点缓存的方法,可以使得用户在高并发、海量数据的存储模式下,高效进行在线多维数据分析。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,接收用于请求查询预定数据的查询请求;

S2,根据选择策略从OLAP服务器集群中选择用于对查询请求进行处理的OLAP服务器,其中,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;

S3,将所述查询请求转发给所述OLAP服务器。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

S1,接收数据请求方发送的用于请求查询预定数据的查询请求,其中,OLAP服务 器为负载均衡服务器根据选择策略从OLAP服务器集群中选择的OLAP服务器,OLAP服务器集群中包括至少两个OLAP服务器且OLAP服务器集群中的各个OLAP服务器相互独立;

S2,根据查询请求查询所述预定数据;

S3,将查询到的预定数据返回给数据请求方。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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