CN106897303B - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN106897303B CN106897303B CN201510959080.8A CN201510959080A CN106897303B CN 106897303 B CN106897303 B CN 106897303B CN 201510959080 A CN201510959080 A CN 201510959080A CN 106897303 B CN106897303 B CN 106897303B
- Authority
- CN
- China
- Prior art keywords
- data
- ssas
- database
- main
- slave
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询方法及装置。其中,该方法包括:检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,主服务器上的SSAS数据库为主SSAS数据库,主服务器上设置有主数据仓库,主SSAS数据库根据主数据仓库的状态确定是否刷新数据;在检测结果为主服务器上的SSAS数据库在执行数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,从SSAS数据库和从数据仓库设置在从服务器上,从服务器为主服务器的备用服务器。本发明解决了相关技术中SSAS在自动刷新数据时由于无法响应数据查询请求而造成的数据查询失败的技术问题。
Description
技术领域
本发明涉及数据库领域,具体而言,涉及一种数据查询方法及装置。
背景技术
SSAS(SQL Server Analysis Service,称为多维度分析服务)是微软出品的一款多维度分析服务软件,用于建立和组织多维度分析数据库,能够为应用程序提供快速的联机分析处理(Online Analytical Processing,简称为OLAP)服务。
一般地,SSAS需要从数据仓库中获取数据。当数据仓库中的数据发生变化时,需要重新对SSAS中的数据进行处理,如更新SSAS中的数据。通常情况下,外部应用程序无法准确、及时地掌握数据仓库的数据变化情况,从而导致SSAS中数据更新不够及时。
为了解决SSAS中数据更新不及时的问题,在相关技术中,通常会启用SSAS的主动缓存技术,这样在数据仓库中的数据发生变化时,就可以使SSAS自动刷新数据。然而,SSAS在自动刷新数据时,无法同时响应外部应用的查询请求,会导致外部程序访问出错,进而导致查询失败。并且,数据量越大,SSAS刷新数据所耗费的时间就越长,这可能会导致应用程序长时间无法访问SSAS。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据查询方法及装置,以至少解决相关技术中SSAS在自动刷新数据时由于无法响应数据查询请求而造成的数据查询失败的技术问题。
根据本发明实施例的一个方面,提供了一种数据查询方法,包括:检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,上述主服务器上的SSAS数据库为主SSAS数据库,上述主服务器上设置有主数据仓库,上述主SSAS数据库根据上述主数据仓库的状态确定是否刷新数据;在检测结果为上述主服务器上的SSAS数据库在执行上述数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,上述从SSAS数据库和上述从数据仓库设置在从服务器上,上述从服务器为上述主服务器的备用服务器。
进一步地,上述方法还包括:在使用上述从SSAS数据库查询上述从数据仓库中的数据的过程中,检测上述主SSAS数据库上的上述数据刷新操作是否执行完毕;在检测结果为上述主SSAS数据库上的上述数据刷新操作执行完毕的情况下,将数据查询操作由使用上述从SSAS数据库查询上述从数据仓库中的数据转向查询上述主SSAS数据库中的数据。
进一步地,检测上述主SSAS数据库上的上述数据刷新操作是否执行完毕包括:每隔预设时间段向上述主SSAS数据库发送一次数据查询请求;根据上述主SSAS数据库对当前数据查询请求的响应情况确定上述主SSAS数据库上的上述数据刷新操作是否执行完毕。
进一步地,检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作包括:检测上述主数据仓库中的数据是否发生变化;在检测结果为上述主数据仓库中的数据发生变化的情况下,确定上述主SSAS数据库在执行上述数据刷新操作;在检测结果为上述主数据仓库中的数据未发生变化的情况下,确定上述主SSAS数据库不在执行上述数据刷新操作。
进一步地,上述方法还包括:在检测结果为上述主数据仓库中的数据发生变化的情况下,将上述主数据仓库中发生变化的数据同步至上述从数据仓库中。
根据本发明实施例的另一方面,还提供了一种数据查询装置,包括:第一检测单元,用于检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,上述主服务器上的SSAS数据库为主SSAS数据库,上述主服务器上设置有主数据仓库,上述主SSAS数据库根据上述主数据仓库的状态确定是否刷新数据;查询单元,用于在检测结果为上述主服务器上的SSAS数据库在执行上述数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,上述从SSAS数据库和上述从数据仓库设置在从服务器上,上述从服务器为上述主服务器的备用服务器。
进一步地,上述装置还包括:第二检测单元,用于在使用上述从SSAS数据库查询上述从数据仓库中的数据的过程中,检测上述主SSAS数据库上的上述数据刷新操作是否执行完毕;转换单元,用于在检测结果为上述主SSAS数据库上的上述数据刷新操作执行完毕的情况下,将数据查询操作由使用上述从SSAS数据库查询上述从数据仓库中的数据转向查询上述主SSAS数据库中的数据。
进一步地,上述第二检测单元包括:发送模块,用于每隔预设时间段向上述主SSAS数据库发送一次数据查询请求;第一确定模块,用于根据上述主SSAS数据库对当前数据查询请求的响应情况确定上述主SSAS数据库上的上述数据刷新操作是否执行完毕。
进一步地,上述第一检测单元包括:检测模块,用于检测上述主数据仓库中的数据是否发生变化;第二确定模块,用于在检测结果为上述主数据仓库中的数据发生变化的情况下,确定上述主SSAS数据库在执行上述数据刷新操作;第三确定模块,用于在检测结果为上述主数据仓库中的数据未发生变化的情况下,确定上述主SSAS数据库不在执行上述数据刷新操作。
进一步地,上述第一检测单元还包括:同步模块,用于在检测结果为上述主数据仓库中的数据发生变化的情况下,将上述主数据仓库中发生变化的数据同步至上述从数据仓库中。
在本发明实施例中,采用设置主、从服务器的方式,通过检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,主服务器上的SSAS数据库为主SSAS数据库,主服务器上设置有主数据仓库,主SSAS数据库根据主数据仓库的状态确定是否刷新数据;在检测结果为主服务器上的SSAS数据库在执行数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,从SSAS数据库和从数据仓库设置在从服务器上,从服务器为主服务器的备用服务器,达到了主SSAS在自动刷新数据时,由从SSAS响应数据查询请求的目的,从而实现了数据查询服务不中止的技术效果,进而解决了相关技术中SSAS在自动刷新数据时由于无法响应数据查询请求而造成的数据查询失败的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据查询方法的流程图;
图2是根据本发明实施例的一种可选的数据查询方法的原理图;
图3是根据本发明实施例的一种可选的数据查询装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种数据查询方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的数据查询方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,主服务器上的SSAS数据库为主SSAS数据库,主服务器上设置有主数据仓库,主SSAS数据库根据主数据仓库的状态确定是否刷新数据;
步骤S104,在检测结果为主服务器上的SSAS数据库在执行数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,从SSAS数据库和从数据仓库设置在从服务器上,从服务器为主服务器的备用服务器。
结合图2可知,整个数据查询系统可以包括两个服务器,分别为主服务器A和从服务器B,其中,从服务器B是主服务器A的备用服务器。每个服务器上都部署有相应的数据仓库和SSAS数据库。具体的,主服务器A上部署有数据仓库C1和主SSAS数据库SSAS-1,数据仓库C1为主SSAS数据库SSAS-1提供数据;从服务器B上部署有数据仓库C2和从SSAS数据库SSAS-2,数据仓库C2为从SSAS数据库SSAS-2提供数据。
实际使用时,需要配置外部程序,使其对数据仓库中的数据进行改写时,只能改写数据仓库C1中的数据,不能改写数据仓库C2中的数据,即数据仓库C2为只读数据库。但是,当数据仓库C1中的数据被改写时,改写的数据会被同步到数据仓库C2中,从而使数据仓库C1和数据仓库C2中的数据永远为最新数据,且两者始终保持一致。这样,当外部程序查询数据时,能保证查询结果正确无误。
服务器上除了设置有数据仓库之外,还设置有SSAS数据库。为了提高查询速度,服务器A上的SSAS-1的存储方式可以设置为多维度联机分析模式(Multidimensional OLAP,简称为MOLAP),并启用主动缓存功能,以实现在主服务器能正常访问时,通过MOLAP使查询速度达到最优,以及保证当服务器A上的数据仓库C1中的数据发生变化时,服务器A上的SSAS-1能够及时刷新数据的目的;服务器B上的SSAS-2的存储方式可以设置为关系联机分析模式(Relational OLAP,简称为ROLAP),并禁用主动缓存功能,以保证使用SSAS-2查询数据时,所查询到的数据一直是最新的。由于禁用主动缓存功能时,SSAS-2不会存储任何数据,所有数据查询操作均需要从与SSAS-2对应的数据仓库C2中动态获取数据,因此这种查询方式的查询速度比MOLAP模式的查询速度慢很多,但能保证数据一直是最新的。也即,在主服务器不能正常访问时,启用备用服务器以保证数据查询服务可用,并能保证查询到最新数据。
在进行数据查询时,通常情况下需要将所有访问都设置为通过服务器A上的SSAS-1进行查询,当发现在服务器A上的SSAS-1由于需要执行数据刷新操作而导致数据查询服务不可用时,应用程序才改为从服务器B上的SSAS-2获取查询数据;当发现在服务器A上的SSAS-1不需要执行数据刷新操作时,直接使用SSAS-1查询数据。
通过上述实施例,对主、从服务器采用不同的存储和更新策略,实现了主SSAS在自动刷新数据时,由从SSAS响应数据查询请求以防止数据查询服务中止目的,从而达到了提高服务的稳定性的技术效果,解决了仅仅使用一个服务器时,SSAS刷新数据时外部应用无法访问的技术问题。例如,可以达到保证系统中的SSAS服务达到7*24小时内始终可用,且查询到最新数据的效果。
由于外部程序查询数据时,会优先访问服务器A,并通过该服务器上的SSAS-1数据库查询数据,只有在发现SSAS-1需要刷新数据时,才会改为从服务器B上的SSAS-2数据库查询数据。并且,由于SSAS-1数据库的查询速度高于SSAS-2数据库查询速度,因此为了提高查询速度,可选地,上述方法还包括:
S2,在使用从SSAS数据库查询从数据仓库中的数据的过程中,检测主SSAS数据库上的数据刷新操作是否执行完毕;
S4,在检测结果为主SSAS数据库上的数据刷新操作执行完毕的情况下,将数据查询操作由使用从SSAS数据库查询从数据仓库中的数据转向查询主SSAS数据库中的数据。否则,继续使用从SSAS数据库查询从数据仓库中的数据。
然而,在使用从SSAS数据库查询从数据仓库中的数据的过程中,实时地、不间断地检测主SSAS数据库上的数据刷新操作是否执行完毕,必然会消耗大量系统资源,影响系统的工作效率。因此,为了实现提高查询速度的目的,同时防止系统资源过度消耗,进一步可选地,检测主SSAS数据库上的数据刷新操作是否执行完毕包括:
S6,每隔预设时间段向主SSAS数据库发送一次数据查询请求;
S8,根据主SSAS数据库对当前数据查询请求的响应情况确定主SSAS数据库上的数据刷新操作是否执行完毕。
实施时,可以将SSAS-1数据库配置为在执行数据刷新操作时,不响应任何数据查询请求,在执行完数据刷新操作时,才响应任何数据查询请求。这样,SSAS-2每次发送完数据查询请求后,可以监听SSAS-1是否相应,若响应,则认为SSAS-1的数据刷新操作已经执行完毕,否则,认为SSAS-1的还在执行数据刷新操作。需要说明的是,当服务器A上的SSAS-1刷新数据完毕后,后续的所有数据查询请求都转为使用服务器A上的SSAS-1执行。
由于数据仓库C1为SSAS-1数据库提供刷新数据,且只要外部程序改写数据仓库C1中的数据,数据仓库C1就会向SSAS-1数据库发送数据刷新请求,指示SSAS-1数据库执行数据刷新操作,否则,SSAS-1数据库不执行数据刷新操作。因此,通过检测数据仓库C1中的数据变化情况,可以方便地推测推测出SSAS-1数据库是否在执行数据刷新操作。也即,可选地,检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作包括:
S10,检测主数据仓库中的数据是否发生变化;
S12,在检测结果为主数据仓库中的数据发生变化的情况下,确定主SSAS数据库在执行数据刷新操作;
S14,在检测结果为主数据仓库中的数据未发生变化的情况下,确定主SSAS数据库不在执行数据刷新操作。
需要说明的是,在本发明实施例中,需要配置外部应用程序,使其更改数据仓库中的数据时,只能更改服务器A上的数据仓库C1中的数据,不能更改服务器B上的数据仓库C2中的数据。并且,服务器A上的SSAS-1数据库启用主动缓存功能,在服务器A上的数据仓库C1中的数据发生变化时,SSAS-1数据库能够及时刷新数据;而服务器B上的SSAS-2数据库禁用主动缓存功能,在服务器A上的数据仓库C1中的数据发生变化时,只会将变化的数据同步到服务器B上的数据仓库C2,SSAS-2数据库本身并不存储数据,此时也不会刷新数据。
由于服务器B上部署的数据仓库C2为只读数据库,为了使数据仓库C2与数据仓库C1中的数据始终保持一致,以实现不论使用SSAS-1数据库,还是使用SSAS-2数据库,都能查询到最新数据的目的,进一步可选地,上述方法还包括:
S16,在检测结果为主数据仓库中的数据发生变化的情况下,将主数据仓库中发生变化的数据同步至从数据仓库中。否则,不对从数据仓库做同步更新处理。
具体地,可以使用数据库的复制订阅功能,实现数据仓库C2对于数据仓库C1的订阅。这样,当数据仓库C1中的数据发生变化时,数据仓库C1会将变化同步给数据仓库C2,使得数据仓库C2与数据仓库C1中的数据能够始终保持一致。
实施例2
根据本发明实施例,提供了一种数据查询装置的装置实施例。
图3是根据本发明实施例的一种可选的数据查询装置的示意图,如图1所示,该装置包括:第一检测单元302,用于检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,主服务器上的SSAS数据库为主SSAS数据库,主服务器上设置有主数据仓库,主SSAS数据库根据主数据仓库的状态确定是否刷新数据;查询单元304,用于在检测结果为主服务器上的SSAS数据库在执行数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,从SSAS数据库和从数据仓库设置在从服务器上,从服务器为主服务器的备用服务器。
结合图2可知,整个数据查询系统可以包括两个服务器,分别为主服务器A和从服务器B,其中,从服务器B是主服务器A的备用服务器。每个服务器上都部署有相应的数据仓库和SSAS数据库。具体的,主服务器A上部署有数据仓库C1和主SSAS数据库SSAS-1,数据仓库C1为主SSAS数据库SSAS-1提供数据;从服务器B上部署有数据仓库C2和从SSAS数据库SSAS-2,数据仓库C2为从SSAS数据库SSAS-2提供数据。
实际使用时,需要配置外部程序,使其对数据仓库中的数据进行改写时,只能改写数据仓库C1中的数据,不能改写数据仓库C2中的数据,即数据仓库C2为只读数据库。但是,当数据仓库C1中的数据被改写时,改写的数据会被同步到数据仓库C2中,从而使数据仓库C1和数据仓库C2中的数据永远为最新数据,且两者始终保持一致。这样,当外部程序查询数据时,能保证查询结果正确无误。
服务器上除了设置有数据仓库之外,还设置有SSAS数据库。为了提高查询速度,服务器A上的SSAS-1的存储方式可以设置为MOLAP,并启用主动缓存功能,以实现在主服务器能正常访问时,通过MOLAP使查询速度达到最优,以及保证当服务器A上的数据仓库C1中的数据发生变化时,服务器A上的SSAS-1能够及时刷新数据的目的;服务器B上的SSAS-2的存储方式可以设置为ROLAP,并禁用主动缓存功能,以保证使用SSAS-2查询数据时,所查询到的数据一直是最新的。由于禁用主动缓存功能时,SSAS-2不会存储任何数据,所有数据查询操作均需要从与SSAS-2对应的数据仓库C2中动态获取数据,因此这种查询方式的查询速度比MOLAP模式的查询速度慢很多,但能保证数据一直是最新的。也即,在主服务器不能正常访问时,启用备用服务器以保证数据查询服务可用,并能保证查询到最新数据。
在进行数据查询时,通常情况下需要将所有访问都设置为通过服务器A上的SSAS-1进行查询,当发现在服务器A上的SSAS-1由于需要执行数据刷新操作而导致数据查询服务不可用时,应用程序才改为从服务器B上的SSAS-2获取查询数据;当发现在服务器A上的SSAS-1不需要执行数据刷新操作时,直接使用SSAS-1查询数据。
通过上述实施例,对主、从服务器采用不同的存储和更新策略,实现了主SSAS在自动刷新数据时,由从SSAS响应数据查询请求以防止数据查询服务中止目的,从而达到了提高服务的稳定性的技术效果,解决了仅仅使用一个服务器时,SSAS刷新数据时外部应用无法访问的技术问题。例如,可以达到保证系统中的SSAS服务达到7*24小时内始终可用,且查询到最新数据的效果。
由于外部程序查询数据时,会优先访问服务器A,并通过该服务器上的SSAS-1数据库查询数据,只有在发现SSAS-1需要刷新数据时,才会改为从服务器B上的SSAS-2数据库查询数据。并且,由于SSAS-1数据库的查询速度高于SSAS-2数据库查询速度,因此为了提高查询速度,可选地,上述装置还包括:第二检测单元,用于在使用从SSAS数据库查询从数据仓库中的数据的过程中,检测主SSAS数据库上的数据刷新操作是否执行完毕;转换单元,用于在检测结果为主SSAS数据库上的数据刷新操作执行完毕的情况下,将数据查询操作由使用从SSAS数据库查询从数据仓库中的数据转向查询主SSAS数据库中的数据。否则,继续使用从SSAS数据库查询从数据仓库中的数据。
然而,在使用从SSAS数据库查询从数据仓库中的数据的过程中,实时地、不间断地检测主SSAS数据库上的数据刷新操作是否执行完毕,必然会消耗大量系统资源,影响系统的工作效率。因此,为了实现提高查询速度的目的,同时防止系统资源过度消耗,进一步可选地,上述第二检测单元包括:发送模块,用于每隔预设时间段向主SSAS数据库发送一次数据查询请求;第一确定模块,用于根据主SSAS数据库对当前数据查询请求的响应情况确定主SSAS数据库上的数据刷新操作是否执行完毕。
实施时,可以将SSAS-1数据库配置为在执行数据刷新操作时,不响应任何数据查询请求,在执行完数据刷新操作时,才响应任何数据查询请求。这样,SSAS-2每次发送完数据查询请求后,可以监听SSAS-1是否相应,若响应,则认为SSAS-1的数据刷新操作已经执行完毕,否则,认为SSAS-1的还在执行数据刷新操作。需要说明的是,当服务器A上的SSAS-1刷新数据完毕后,后续的所有数据查询请求都转为使用服务器A上的SSAS-1执行。
由于数据仓库C1为SSAS-1数据库提供刷新数据,且只要外部程序改写数据仓库C1中的数据,数据仓库C1就会向SSAS-1数据库发送数据刷新请求,指示SSAS-1数据库执行数据刷新操作,否则,SSAS-1数据库不执行数据刷新操作。因此,通过检测数据仓库C1中的数据变化情况,可以方便地推测推测出SSAS-1数据库是否在执行数据刷新操作。也即,可选地,上述第一检测单元包括:检测模块,用于检测主数据仓库中的数据是否发生变化;第二确定模块,用于在检测结果为主数据仓库中的数据发生变化的情况下,确定主SSAS数据库在执行数据刷新操作;第三确定模块,用于在检测结果为主数据仓库中的数据未发生变化的情况下,确定主SSAS数据库不在执行数据刷新操作。
需要说明的是,在本发明实施例中,需要配置外部应用程序,使其更改数据仓库中的数据时,只能更改服务器A上的数据仓库C1中的数据,不能更改服务器B上的数据仓库C2中的数据。并且,服务器A上的SSAS-1数据库启用主动缓存功能,在服务器A上的数据仓库C1中的数据发生变化时,SSAS-1数据库能够及时刷新数据;而服务器B上的SSAS-2数据库禁用主动缓存功能,在服务器A上的数据仓库C1中的数据发生变化时,只会将变化的数据同步到服务器B上的数据仓库C2,SSAS-2数据库本身并不存储数据,此时也不会刷新数据。
由于服务器B上部署的数据仓库C2为只读数据库,为了使数据仓库C2与数据仓库C1中的数据始终保持一致,以实现不论使用SSAS-1数据库,还是使用SSAS-2数据库,都能查询到最新数据的目的,进一步可选地,上述第一检测单元还包括:同步模块,用于在检测结果为主数据仓库中的数据发生变化的情况下,将主数据仓库中发生变化的数据同步至从数据仓库中。否则,不对从数据仓库做同步更新处理。
具体地,可以使用数据库的复制订阅功能,实现数据仓库C2对于数据仓库C1的订阅。这样,当数据仓库C1中的数据发生变化时,数据仓库C1会将变化同步给数据仓库C2,使得数据仓库C2与数据仓库C1中的数据能够始终保持一致。
上述数据查询装置包括处理器和存储器,上述第一检测单元和查询单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数解析文本内容。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,主服务器上的SSAS数据库为主SSAS数据库,主服务器上设置有主数据仓库,主SSAS数据库根据主数据仓库的状态确定是否刷新数据;在检测结果为主服务器上的SSAS数据库在执行数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,从SSAS数据库和从数据仓库设置在从服务器上,从服务器为主服务器的备用服务器。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种数据查询方法,其特征在于,包括:
检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,所述主服务器上的SSAS数据库为主SSAS数据库,所述主服务器上设置有主数据仓库,所述主数据仓库为所述主SSAS数据库提供数据,所述主SSAS数据库的存储方式设置为多维度联机分析模式,并启用主动缓存功能,所述主SSAS数据库根据所述主数据仓库的状态确定是否刷新数据;
在检测结果为所述主服务器上的SSAS数据库在执行所述数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,所述从SSAS数据库和所述从数据仓库设置在从服务器上,所述从服务器为所述主服务器的备用服务器,所述从数据仓库为所述从SSAS数据库提供数据,所述从SSAS数据库的存储方式设置为关系联机分析模式,且禁用主动缓存功能;
其中,所述方法还包括:在使用所述从SSAS数据库查询所述从数据仓库中的数据的过程中,检测所述主SSAS数据库上的所述数据刷新操作是否执行完毕;在检测结果为所述主SSAS数据库上的所述数据刷新操作执行完毕的情况下,将数据查询操作由使用所述从SSAS数据库查询所述从数据仓库中的数据转向查询所述主SSAS数据库中的数据。
2.根据权利要求1所述的方法,其特征在于,检测所述主SSAS数据库上的所述数据刷新操作是否执行完毕包括:
每隔预设时间段向所述主SSAS数据库发送一次数据查询请求;
根据所述主SSAS数据库对当前数据查询请求的响应情况确定所述主SSAS数据库上的所述数据刷新操作是否执行完毕。
3.根据权利要求1所述的方法,其特征在于,检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作包括:
检测所述主数据仓库中的数据是否发生变化;
在检测结果为所述主数据仓库中的数据发生变化的情况下,确定所述主SSAS数据库在执行所述数据刷新操作;
在检测结果为所述主数据仓库中的数据未发生变化的情况下,确定所述主SSAS数据库不在执行所述数据刷新操作。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在检测结果为所述主数据仓库中的数据发生变化的情况下,将所述主数据仓库中发生变化的数据同步至所述从数据仓库中。
5.一种数据查询装置,其特征在于,包括:
第一检测单元,用于检测主服务器上的多维度分析服务SSAS数据库是否在执行数据刷新操作,其中,所述主服务器上的SSAS数据库为主SSAS数据库,所述主服务器上设置有主数据仓库,所述主数据仓库为所述主SSAS数据库提供数据,所述主SSAS数据库的存储方式设置为多维度联机分析模式,并启用主动缓存功能,所述主SSAS数据库根据所述主数据仓库的状态确定是否刷新数据;
查询单元,用于在检测结果为所述主服务器上的SSAS数据库在执行所述数据刷新操作的情况下,使用从SSAS数据库查询从数据仓库中的数据,其中,所述从SSAS数据库和所述从数据仓库设置在从服务器上,所述从服务器为所述主服务器的备用服务器,所述从数据仓库为所述从SSAS数据库提供数据,所述从SSAS数据库的存储方式设置为关系联机分析模式,且禁用主动缓存功能;
其中,所述装置还包括:第二检测单元,用于在使用所述从SSAS数据库查询所述从数据仓库中的数据的过程中,检测所述主SSAS数据库上的所述数据刷新操作是否执行完毕;转换单元,用于在检测结果为所述主SSAS数据库上的所述数据刷新操作执行完毕的情况下,将数据查询操作由使用所述从SSAS数据库查询所述从数据仓库中的数据转向查询所述主SSAS数据库中的数据。
6.根据权利要求5所述的装置,其特征在于,所述第二检测单元包括:
发送模块,用于每隔预设时间段向所述主SSAS数据库发送一次数据查询请求;
第一确定模块,用于根据所述主SSAS数据库对当前数据查询请求的响应情况确定所述主SSAS数据库上的所述数据刷新操作是否执行完毕。
7.根据权利要求5所述的装置,其特征在于,所述第一检测单元包括:
检测模块,用于检测所述主数据仓库中的数据是否发生变化;
第二确定模块,用于在检测结果为所述主数据仓库中的数据发生变化的情况下,确定所述主SSAS数据库在执行所述数据刷新操作;
第三确定模块,用于在检测结果为所述主数据仓库中的数据未发生变化的情况下,确定所述主SSAS数据库不在执行所述数据刷新操作。
8.根据权利要求7所述的装置,其特征在于,所述第一检测单元还包括:
同步模块,用于在检测结果为所述主数据仓库中的数据发生变化的情况下,将所述主数据仓库中发生变化的数据同步至所述从数据仓库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959080.8A CN106897303B (zh) | 2015-12-18 | 2015-12-18 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510959080.8A CN106897303B (zh) | 2015-12-18 | 2015-12-18 | 数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106897303A CN106897303A (zh) | 2017-06-27 |
CN106897303B true CN106897303B (zh) | 2020-09-15 |
Family
ID=59190535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510959080.8A Active CN106897303B (zh) | 2015-12-18 | 2015-12-18 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897303B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595552B (zh) * | 2018-04-10 | 2022-09-27 | 平安科技(深圳)有限公司 | 数据立方体发布方法、装置、电子设备和存储介质 |
CN109033315A (zh) * | 2018-07-18 | 2018-12-18 | 张小剑 | 数据查询方法、客户端、服务器及计算机可读介质 |
CN109063066B (zh) * | 2018-07-20 | 2022-04-01 | 中国邮政储蓄银行股份有限公司 | 数据查询方法及装置、数据管理系统 |
CN109241092A (zh) * | 2018-10-15 | 2019-01-18 | 北京金山云网络技术有限公司 | 数据查询方法、系统及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928873A (zh) * | 2006-09-25 | 2007-03-14 | 华为技术有限公司 | 一种实现负荷分担的数据库访问方法及系统 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104166738A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 数据库查询处理的方法及装置 |
CN104217032A (zh) * | 2014-09-28 | 2014-12-17 | 北京国双科技有限公司 | 数据库维度的处理方法及装置 |
CN104462344A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 在目标服务器构建etl系统的处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7080066B1 (en) * | 2001-08-09 | 2006-07-18 | Ncr Corporation | Systems and methods for refining a decision-making process via executable sequences |
US9098483B2 (en) * | 2010-12-07 | 2015-08-04 | Business Objects Software Limited | Systems and methods to provide dynamic local members associated with an add-in for a spreadsheet application |
-
2015
- 2015-12-18 CN CN201510959080.8A patent/CN106897303B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928873A (zh) * | 2006-09-25 | 2007-03-14 | 华为技术有限公司 | 一种实现负荷分担的数据库访问方法及系统 |
CN103955486A (zh) * | 2014-04-14 | 2014-07-30 | 五八同城信息技术有限公司 | 分布式服务系统及其数据更新、数据查询的方法 |
CN104166738A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 数据库查询处理的方法及装置 |
CN104217032A (zh) * | 2014-09-28 | 2014-12-17 | 北京国双科技有限公司 | 数据库维度的处理方法及装置 |
CN104462344A (zh) * | 2014-12-04 | 2015-03-25 | 北京国双科技有限公司 | 在目标服务器构建etl系统的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106897303A (zh) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106897303B (zh) | 数据查询方法及装置 | |
AU2018203739B2 (en) | Processing mutations for a remote database | |
US11100101B2 (en) | Data operation method and data management server | |
US8954391B2 (en) | System and method for supporting transient partition consistency in a distributed data grid | |
US9262282B2 (en) | System and method for synchornisation of data and recovery of failures during synchronization between two systems | |
JP5523483B2 (ja) | 画像データベース内の画像を更新するための方法およびシステム | |
US11271814B2 (en) | Online capacity-expanding and online capacity-reducing methods and apparatuses for distributed consensus system | |
US20140081927A1 (en) | Data node fencing in a distributed file system | |
US9418094B2 (en) | Method and apparatus for performing multi-stage table updates | |
US10002075B1 (en) | Managing memory resources in a network environment in order to handle querying of logical data structures | |
KR20140147812A (ko) | 데이터베이스로의 미들-티어 트랜잭션 로그들의 인라인 위임을 지원하는 시스템들 및 방법들 | |
US9514176B2 (en) | Database update notification method | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
KR101424568B1 (ko) | 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법 | |
JP2012108651A (ja) | クラスタシステム | |
CN107819556B (zh) | 一种服务状态切换方法及装置 | |
WO2018080943A1 (en) | Highly available and reliable secret distribution infrastructure | |
US11797537B2 (en) | Data processing method, data processing device and non-volatile computer-readable storage media | |
EP3822763B1 (en) | Data reading method, device, system, and distributed system | |
US11341100B2 (en) | System and method for eliminating full rescan synchronizations on service restarts | |
CN111767282B (zh) | 基于MongoDB的存储系统及数据插入方法和存储介质 | |
WO2018010603A1 (zh) | 基于视频云存储系统的存储模式升级方法、装置和系统 | |
CN113626449A (zh) | 数据存储、数据查询方法及相关设备 | |
US20120158673A1 (en) | Storing and publishing contents of a content store | |
EP3082050A1 (en) | Mass data fusion storage method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |