本发明专利技术提供一种处理数据的方法及装置,具有处理效率高,扩展性好等优点。本发明专利技术的处理数据的方法包括:根据多个集群中的多个业务数据库建立MariaDB报表库,其中多个业务数据库具有相同的表结构;建立MariaDB报表库和报表应用之间的数据源;根据接收到的查询多个集群中的单个集群的第一结构化查询语言语句,确定查询多个集群中的所有集群的总结构化查询语言语句;根据总结构化查询语言语句通过数据源进行查询,得到目标数据。
【技术实现步骤摘要】
本专利技术涉及计算机
,特别地涉及一种处理数据的方法及装置。
技术介绍
目前大型高并发的网站通常会采用分布式方式来部署系统,这样可以提高网站的访问效率和吞吐量。分布式系统的底层包括多个业务数据库,这些业务数据库被划分为多个集群,这些业务数据库之上有报表应用层。但是,现有技术的方案也具有如下缺点:例如需要查询多个数据库,建立多个数据源,效率上比较低;按条件查询的时候需要先收集到所有的数据后再从数据中进行过滤数据,当数据量大时性能较低;当集群数目有增减时,需要手动修改代码达到扩展集群的目的,扩展性差。
技术实现思路
有鉴于此,本专利技术提供一种处理数据的方法和装置,具有处理效率高、扩展性好的优点。为实现上述目的,根据本专利技术的一个方面,提供了一种处理数据的方法。本专利技术的处理数据的方法包括:根据多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;建立所述MariaDB报表库和报表应用之间的数据源;根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。可选地,所述根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句的步骤包括:获取所有集群的名称;对接收到的所述第一结构化查询语言语句进行集群名称通配,得到查询所述多个集群中其他集群的第二结构化查询语言语句;拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。可选地,所述获取所有集群的名称的步骤包括:获取记录集群与业务数据库之间映射关系的映射文件;从所述映射文件中提取所述所有集群的名称。可选地,通过拦截器工具从所述映射文件中找到所述所有集群的名称。根据本专利技术的另一方面,提供了一种处理数据的装置。本专利技术的处理数据的装置包括:第一建立模块,用于根据所述多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;第二建立模块,用于建立所述MariaDB报表库和报表应用之间的数据源;确定模块,用于根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;查询模块,用于根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。可选地,所述确定模块还用于:获取所有集群的名称;对接收到的所述第一结构化查询语言语句进行集群名称通配,得到针对查询所述多个集群中其他集群的第二结构化查询语言语句;拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。可选地,所述确定模块还用于:获取记录集群与业务数据库之间映射关系的映射文件;从所述映射文件中提取所述所有集群的名称。可选地,所述确定模块还用于:通过拦截器工具从所述映射文件中找到所述所有集群的名称。根据本专利技术的技术方案,通过建立MariaDB报表库,建立的是仅一个数据源,效率高;条件查询时先过滤后来进行汇总;集群扩展时,仅需修改映射文件,无需修改代码。【附图说明】附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施方式的处理数据的方法的基本步骤的示意图;图2是根据本专利技术实施方式的处理数据的装置的主要模块的示意图。【具体实施方式】以下结合附图对本专利技术的示范性实施方式做出说明,其中包括本专利技术实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施方式的处理数据的方法的基本步骤的示意图。如图1所示,该实施方式的处理数据的方法主要包括如下的步骤A至步骤D。步骤A:根据多个集群中的多个业务数据库建立MariaDB报表库,其中多个业务数据库具有相同的表结构,例如所有的业务数据库均采用传统的Mysql。步骤B:建立MariaDB报表库和报表应用之间的数据源。MariaDB是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者Michael Widenius创办的公司所开发的免费开源的数据库服务器。利用MariaDB的多源复制技术,通过编写复制的脚本程序可以直接把各个业务数据库的数据复制到一台MariaDB数据库服务器上。该复制过程是实时同步复制,当业务数据库添加表或者添加数据时MariaDB报表库都会自动同步更新,以使数据保持一致。步骤C:根据接收到的查询多个集群中的单个集群的第一结构化查询语言语句,确定查询多个集群中的所有集群的总结构化查询语言语句。步骤D:根据总结构化查询语言语句通过数据源进行查询,得到目标数据。在本专利技术实施方式的处理数据的方法中,步骤C可以具体包括如下的步骤C1至步骤C3。步骤Cl:获取所有集群的名称。具体地,可以首先获取记录集群与业务数据库之间映射关系的映射文件;然后从映射文件中提取所有集群的名称。其中,可以通过Mybatis拦截器工具从映射文件中找到所有集群的名称。需要说明的是,本专利技术实施方式的处理数据的方法也可以通过其他方式获取集群名称的集合。步骤C2:对接收到的第一结构化查询语言语句进行集群名称通配,得到查询多个集群中其他集群的第二结构化查询语言语句。步骤C3:拼接第一结构化查询语言语句和所有的第二结构化查询语言语句,得到总结构化查询语言语句。为使本领域技术人员更好地理解步骤C的过程,现列举一个具体实施例如下:假设有dbl、db2和db3这三个业务数据库,假当前第1页1 2 本文档来自技高网...
【技术保护点】
一种处理数据的方法,其特征在于,包括:根据多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;建立所述MariaDB报表库和报表应用之间的数据源;根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:江龙飞,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。