CN105426481A - 处理数据的方法及装置 - Google Patents

处理数据的方法及装置 Download PDF

Info

Publication number
CN105426481A
CN105426481A CN201510802569.4A CN201510802569A CN105426481A CN 105426481 A CN105426481 A CN 105426481A CN 201510802569 A CN201510802569 A CN 201510802569A CN 105426481 A CN105426481 A CN 105426481A
Authority
CN
China
Prior art keywords
query language
statement
clusters
sql
cluster
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.)
Granted
Application number
CN201510802569.4A
Other languages
English (en)
Other versions
CN105426481B (zh
Inventor
江龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an jingxundi Supply Chain Technology Co., Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510802569.4A priority Critical patent/CN105426481B/zh
Publication of CN105426481A publication Critical patent/CN105426481A/zh
Application granted granted Critical
Publication of CN105426481B publication Critical patent/CN105426481B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种处理数据的方法及装置,具有处理效率高,扩展性好等优点。本发明的处理数据的方法包括:根据多个集群中的多个业务数据库建立MariaDB报表库,其中多个业务数据库具有相同的表结构;建立MariaDB报表库和报表应用之间的数据源;根据接收到的查询多个集群中的单个集群的第一结构化查询语言语句,确定查询多个集群中的所有集群的总结构化查询语言语句;根据总结构化查询语言语句通过数据源进行查询,得到目标数据。

Description

处理数据的方法及装置
技术领域
本发明涉及计算机技术领域,特别地涉及一种处理数据的方法及装置。
背景技术
目前大型高并发的网站通常会采用分布式方式来部署系统,这样可以提高网站的访问效率和吞吐量。分布式系统的底层包括多个业务数据库,这些业务数据库被划分为多个集群,这些业务数据库之上有报表应用层。但是,现有技术的方案也具有如下缺点:例如需要查询多个数据库,建立多个数据源,效率上比较低;按条件查询的时候需要先收集到所有的数据后再从数据中进行过滤数据,当数据量大时性能较低;当集群数目有增减时,需要手动修改代码达到扩展集群的目的,扩展性差。
发明内容
有鉴于此,本发明提供一种处理数据的方法和装置,具有处理效率高、扩展性好的优点。
为实现上述目的,根据本发明的一个方面,提供了一种处理数据的方法。
本发明的处理数据的方法包括:根据多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;建立所述MariaDB报表库和报表应用之间的数据源;根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。
可选地,所述根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句的步骤包括:获取所有集群的名称;对接收到的所述第一结构化查询语言语句进行集群名称通配,得到查询所述多个集群中其他集群的第二结构化查询语言语句;拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。
可选地,所述获取所有集群的名称的步骤包括:获取记录集群与业务数据库之间映射关系的映射文件;从所述映射文件中提取所述所有集群的名称。
可选地,通过拦截器工具从所述映射文件中找到所述所有集群的名称。
根据本发明的另一方面,提供了一种处理数据的装置。
本发明的处理数据的装置包括:第一建立模块,用于根据所述多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;第二建立模块,用于建立所述MariaDB报表库和报表应用之间的数据源;确定模块,用于根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;查询模块,用于根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。
可选地,所述确定模块还用于:获取所有集群的名称;对接收到的所述第一结构化查询语言语句进行集群名称通配,得到针对查询所述多个集群中其他集群的第二结构化查询语言语句;拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。
可选地,所述确定模块还用于:获取记录集群与业务数据库之间映射关系的映射文件;从所述映射文件中提取所述所有集群的名称。
可选地,所述确定模块还用于:通过拦截器工具从所述映射文件中找到所述所有集群的名称。
根据本发明的技术方案,通过建立MariaDB报表库,建立的是仅一个数据源,效率高;条件查询时先过滤后来进行汇总;集群扩展时,仅需修改映射文件,无需修改代码。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施方式的处理数据的方法的基本步骤的示意图;
图2是根据本发明实施方式的处理数据的装置的主要模块的示意图。
具体实施方式
以下结合附图对本发明的示范性实施方式做出说明,其中包括本发明实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施方式的处理数据的方法的基本步骤的示意图。如图1所示,该实施方式的处理数据的方法主要包括如下的步骤A至步骤D。
步骤A:根据多个集群中的多个业务数据库建立MariaDB报表库,其中多个业务数据库具有相同的表结构,例如所有的业务数据库均采用传统的Mysql。
步骤B:建立MariaDB报表库和报表应用之间的数据源。
MariaDB是一个采用Maria存储引擎的MySQL分支版本,是由原来MySQL的作者MichaelWidenius创办的公司所开发的免费开源的数据库服务器。利用MariaDB的多源复制技术,通过编写复制的脚本程序可以直接把各个业务数据库的数据复制到一台MariaDB数据库服务器上。该复制过程是实时同步复制,当业务数据库添加表或者添加数据时MariaDB报表库都会自动同步更新,以使数据保持一致。
步骤C:根据接收到的查询多个集群中的单个集群的第一结构化查询语言语句,确定查询多个集群中的所有集群的总结构化查询语言语句。
步骤D:根据总结构化查询语言语句通过数据源进行查询,得到目标数据。
在本发明实施方式的处理数据的方法中,步骤C可以具体包括如下的步骤C1至步骤C3。
步骤C1:获取所有集群的名称。具体地,可以首先获取记录集群与业务数据库之间映射关系的映射文件;然后从映射文件中提取所有集群的名称。其中,可以通过Mybatis拦截器工具从映射文件中找到所有集群的名称。需要说明的是,本发明实施方式的处理数据的方法也可以通过其他方式获取集群名称的集合。
步骤C2:对接收到的第一结构化查询语言语句进行集群名称通配,得到查询多个集群中其他集群的第二结构化查询语言语句。
步骤C3:拼接第一结构化查询语言语句和所有的第二结构化查询语言语句,得到总结构化查询语言语句。
为使本领域技术人员更好地理解步骤C的过程,现列举一个具体实施例如下:假设有db1、db2和db3这三个业务数据库,假设用户编写了针对其中一个集群db1的第一结构化查询语言语句“select*fromdb1.user”。首先获得所有集群的名称的集合{db1,db2,db3};然后对“select*fromdb1.user”这一sql语句进行集群名称通配,写出“select*fromdb2.user”和“select*fromdb3.user”;最后将这些sql语句拼接起来,得到针对所有集群的sql语句“select*fromdb1.userunionselect*fromdb2.userunionselect*fromdb3.user”。
由上可知,本发明实施例的处理数据的方法中通过采用MariaDB业务库实现了数据汇总,使得查询各个集群的数据可以通过一个数据源连接来完成,提高了数据处理效率;按条件查询时先过滤后汇总,也提高了处理数据效率,尤其适用于数据量大的情景;以及,当集群有增减时,MariaDB业务库会自动更新,无需手动修改代码,扩展性良好。
图2是根据本发明实施方式的处理数据的装置的主要模块的示意图。如图2所示,该实施方式的处理数据的装置20主要包括第一建立模块21、第二建立模块22、确定模块23以及查询模块24。
第一建立模块21用于根据多个集群中的多个业务数据库建立MariaDB报表库,其中多个业务数据库具有相同的表结构。第二建立模块22用于建立MariaDB报表库和报表应用之间的数据源。确定模块23用于根据接收到的查询多个集群中的单个集群的第一结构化查询语言语句,确定查询多个集群中的所有集群的总结构化查询语言语句。查询模块24用于根据总结构化查询语言语句通过数据源进行查询,得到目标数据。
可选地,确定模块23还用于:获取所有集群的名称;对接收到的第一结构化查询语言语句进行集群名称通配,得到针对查询多个集群中其他集群的第二结构化查询语言语句;拼接第一结构化查询语言语句和所有的第二结构化查询语言语句,得到总结构化查询语言语句。
可选地,确定模块23还用于:获取记录集群与业务数据库之间映射关系的映射文件;从映射文件中提取所有集群的名称。
可选地,确定模块23还用于:通过拦截器工具从映射文件中找到所有集群的名称。
由上可知,本发明实施例的处理数据的装置中通过采用MariaDB业务库实现了数据汇总,使得查询各个集群的数据可以通过一个数据源连接来完成,提高了数据处理效率;按条件查询时先过滤后汇总,也提高了处理数据效率,尤其适用于数据量大的情景;以及,当集群有增减时,MariaDB业务库会自动更新,无需手动修改代码,扩展性良好。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (8)

1.一种处理数据的方法,其特征在于,包括:
根据多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;
建立所述MariaDB报表库和报表应用之间的数据源;
根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;
根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。
2.根据权利要求1所述的处理数据的方法,其特征在于,所述根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句的步骤包括:
获取所有集群的名称;
对接收到的所述第一结构化查询语言语句进行集群名称通配,得到查询所述多个集群中其他集群的第二结构化查询语言语句;
拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。
3.根据权利要求2所述的处理数据的方法,其特征在于,所述获取所有集群的名称的步骤包括:
获取记录集群与业务数据库之间映射关系的映射文件;
从所述映射文件中提取所述所有集群的名称。
4.根据权利要求3所述的处理数据的方法,其特征在于,通过拦截器工具从所述映射文件中找到所述所有集群的名称。
5.一种处理数据的装置,其特征在于,包括:
第一建立模块,用于根据所述多个集群中的多个业务数据库建立MariaDB报表库,其中所述多个业务数据库具有相同的表结构;
第二建立模块,用于建立所述MariaDB报表库和报表应用之间的数据源;
确定模块,用于根据接收到的查询所述多个集群中的单个集群的第一结构化查询语言语句,确定查询所述多个集群中的所有集群的总结构化查询语言语句;
查询模块,用于根据所述总结构化查询语言语句通过所述数据源进行查询,得到目标数据。
6.根据权利要求5所述的处理数据的装置,其特征在于,所述确定模块还用于:获取所有集群的名称;对接收到的所述第一结构化查询语言语句进行集群名称通配,得到针对查询所述多个集群中其他集群的第二结构化查询语言语句;拼接所述第一结构化查询语言语句和所有的所述第二结构化查询语言语句,得到所述总结构化查询语言语句。
7.根据权利要求6所述的处理数据的装置,其特征在于,所述确定模块还用于:获取记录集群与业务数据库之间映射关系的映射文件;从所述映射文件中提取所述所有集群的名称。
8.根据权利要求7所述的处理数据的装置,其特征在于,所述确定模块还用于:通过拦截器工具从所述映射文件中找到所述所有集群的名称。
CN201510802569.4A 2015-11-19 2015-11-19 处理数据的方法及装置 Active CN105426481B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510802569.4A CN105426481B (zh) 2015-11-19 2015-11-19 处理数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510802569.4A CN105426481B (zh) 2015-11-19 2015-11-19 处理数据的方法及装置

Publications (2)

Publication Number Publication Date
CN105426481A true CN105426481A (zh) 2016-03-23
CN105426481B CN105426481B (zh) 2018-09-14

Family

ID=55504693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510802569.4A Active CN105426481B (zh) 2015-11-19 2015-11-19 处理数据的方法及装置

Country Status (1)

Country Link
CN (1) CN105426481B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132936A (zh) * 2016-11-30 2018-06-08 北京国双科技有限公司 数据导入方法及装置
CN108984547A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 数据处理的方法和装置
CN110083655A (zh) * 2018-12-29 2019-08-02 广东益萃网络科技有限公司 商户数据的查询方法、装置、计算机设备及存储介质
CN110109893A (zh) * 2018-02-02 2019-08-09 北京京东尚科信息技术有限公司 数据建模和操作的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310011A (zh) * 2013-07-02 2013-09-18 曙光信息产业(北京)有限公司 集群数据库系统环境下的数据查询解析方法
CN104615713A (zh) * 2015-02-05 2015-05-13 浪潮通用软件有限公司 一种基于多数据库类型的sql执行方法和装置
CN104809254A (zh) * 2015-05-19 2015-07-29 郑州悉知信息技术有限公司 一种数据查询方法及装置
CN104899295A (zh) * 2015-06-09 2015-09-09 苏州国云数据科技有限公司 一种异构数据源数据关联分析方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310011A (zh) * 2013-07-02 2013-09-18 曙光信息产业(北京)有限公司 集群数据库系统环境下的数据查询解析方法
CN104615713A (zh) * 2015-02-05 2015-05-13 浪潮通用软件有限公司 一种基于多数据库类型的sql执行方法和装置
CN104809254A (zh) * 2015-05-19 2015-07-29 郑州悉知信息技术有限公司 一种数据查询方法及装置
CN104899295A (zh) * 2015-06-09 2015-09-09 苏州国云数据科技有限公司 一种异构数据源数据关联分析方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132936A (zh) * 2016-11-30 2018-06-08 北京国双科技有限公司 数据导入方法及装置
CN108984547A (zh) * 2017-05-31 2018-12-11 北京京东尚科信息技术有限公司 数据处理的方法和装置
CN110109893A (zh) * 2018-02-02 2019-08-09 北京京东尚科信息技术有限公司 数据建模和操作的方法和装置
CN110083655A (zh) * 2018-12-29 2019-08-02 广东益萃网络科技有限公司 商户数据的查询方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN105426481B (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
CN102129478B (zh) 数据库同步方法及系统
CN102752372A (zh) 一种基于文件的数据库同步方法
US8078570B2 (en) Versioning data warehouses
US10719560B2 (en) System for identifying, associating, searching and presenting documents based on relation combination
CN103020281B (zh) 一种基于空间数据数值索引的数据存储与检索方法
US8880463B2 (en) Standardized framework for reporting archived legacy system data
CN104408159B (zh) 一种数据关联、加载、查询方法及装置
CN104899295B (zh) 一种异构数据源数据关联分析方法
CN105426481A (zh) 处理数据的方法及装置
CN104111996A (zh) 基于hadoop平台的医保门诊大数据抽取系统及方法
WO2018036324A1 (zh) 一种智慧城市信息共享的方法和装置
CN103064933A (zh) 数据查询方法及系统
WO2016045285A1 (zh) 一种数据库的数据同步方法、装置及系统
CN104221017A (zh) 使用示例来查找连接语料库中的数据
CN105786808A (zh) 一种用于分布式执行关系型计算指令的方法与设备
CN109902114A (zh) Es集群数据复用方法、系统、计算机装置及存储介质
CN103246549B (zh) 一种数据转存的方法及系统
CN102081649B (zh) 一种搜索电脑文件的方法及其系统
CN103714163A (zh) 一种NoSQL数据库的模式管理方法及系统
CN101727473A (zh) 因特网上监视与跟踪视频的方法和系统
CN102902777A (zh) 跨数据源查询装置和跨数据源查询方法
CN106156319A (zh) 可伸缩的分布式的资源描述框架数据存储方法及装置
CN105677915A (zh) 一种基于引擎的分布式业务数据存取方法
CN105095240A (zh) 数据库的数据样本采集
CN104462429A (zh) 数据库查询语句的生成方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200521

Address after: 710100 Building 5, center square, aerospace city, No. 666, East Chang'an Street, national civil aerospace industry base, Xi'an City, Shaanxi Province

Patentee after: Xi'an jingxundi Supply Chain Technology Co., Ltd

Address before: 100080 Beijing city Haidian District xingshikou Road No. 65 west Shan Creative Park District 11C four floor East West 1-4 layer 1-4 layer

Co-patentee before: BEIJING JINGDONG CENTURY TRADING Co.,Ltd.

Patentee before: BEIJING JINGDONG SHANGKE INFORMATION TECHNOLOGY Co.,Ltd.