CN109857768B - 一种大数据聚合查询方法 - Google Patents
一种大数据聚合查询方法 Download PDFInfo
- Publication number
- CN109857768B CN109857768B CN201811653164.9A CN201811653164A CN109857768B CN 109857768 B CN109857768 B CN 109857768B CN 201811653164 A CN201811653164 A CN 201811653164A CN 109857768 B CN109857768 B CN 109857768B
- Authority
- CN
- China
- Prior art keywords
- data
- logstar
- cluster
- logstack
- service
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种大数据聚合查询方法,该方法包括:在需要同步的源数据表中增加标识字段;在聚合数据库中设置中间表作为业务查询表;部署Logstash集群作为数据同步中间件;在Logstash集群中设置数据同步配置文件;启动Logstash集群同步数据。应用本发明可以可以解决微服务架构中跨服务、跨数据库的关联查询问题,提高教育云平台上的软件的查询效率。
Description
技术领域
本申请涉及数据查询技术领域,尤其涉及一种大数据聚合查询方法。
背景技术
目前,随着计算机技术和网络技术创新进步,特别是虚拟化技术的进步,还有新概念、新方案的创新和发展,尤其是Docker技术的快速发展,为在线教育云平台的推出奠定了基础。
在现有技术中,教育云平台一般采用微服务架构。微服务架构解决了传统的分层架构中的一些问题,它的核心特点是高可伸缩性、易于开发、测试和部署独立的服务组件,这些服务组件解耦的、分布式的、相互独立的。
但是,在教育云平台上采用微服务架构时,由于源数据分布在各个数据库中,因此在对源数据进行查询时,难以解决跨服务、跨数据库的关联查询问题,查询效率较低。
发明内容
有鉴于此,本发明提供了一种大数据聚合查询方法,从而可以解决微服务架构中跨服务、跨数据库的关联查询问题,提高教育云平台上的软件的查询效率。
本发明的技术方案具体是这样实现的:
一种大数据聚合查询方法,该方法包括如下步骤:
在需要同步的源数据表中增加标识字段;
在聚合数据库中设置中间表作为业务查询表;
部署Logstash集群作为数据同步中间件;
在Logstash集群中设置数据同步配置文件;
启动Logstash集群同步数据。
较佳的,所述源数据表为基础数据库中的用户表或业务数据库中的业务表。
较佳的,所述标识字段为时间戳。
较佳的,所述启动Logstash集群同步数据包括:
当源数据表中的数据发生变更时,更改源数据表中的标识字段的取值;
Logstash集群按照预设时间间隔轮询相应的源数据表;
当Logstash集群检测到源数据表中的标识字段的取值发生变化时,从源数据表中读取变更后的数据并进行处理;
Logstash集群将处理后的数据输出至聚合数据库中的中间表。
较佳的,所述Logstash集群包括多个Logstash。
较佳的,当Logstash集群包括第一Logstash、第二Logstash和第三Logstash时:
将第一Logstash、第二Logstash和第三Logstash注册到ZooKeeper中;
将第一Logstash和第三Logstash作为主Logstash,将第二Logstash作为从Logstash,将各个主Logstash的同步状态保存到ZooKeeper中;
当任意一个主Logstash的服务出现问题时,由ZooKeeper选举产生新的主Logstash;
新的主Logstash从ZooKeeper获取数据同步状态,继续执行任务。
较佳的,所述基础数据库中的用户表中的数据包括:用户编号、姓名和性别;
所述业务数据库中的业务表中的数据包括:用户编号和业务数据。
较佳的,所述更改源数据表中的标识字段的取值为:
将时间戳的取值更改为当前数据发生变更的时间。
如上可见,在本发明中的大数据聚合查询方法中,由于在源数据表中增加了标识字段,在聚合数据库中设置中间表作为业务查询表,并将Logstash集群作为数据同步中间件,因此引入了数据更新的触发机制,并在中间表中同步冗余了业务数据,使得业务查询只需进行单表聚合查询,而不必考虑具体的源数据分布在哪个数据库,从而解决了微服务架构中跨服务、跨数据库的关联查询问题。
另外,由于使用中间表可以快速地进行查询、分页及排序,因此还解决了微服务架构中无法进行模糊查询、分页、排序的问题,从而大大提高了教育云平台上的软件的查询效率。
另外,在本发明的技术方案中,由于部署了Logstash集群作为数据同步中间件,并在Logstash集群中设置了数据同步配置文件,因此可以通过同步机制在数据同步时就进行计算、统计、分析,并将相应的结果保存在订制好的数据表中,从而解决了现有技术中的其它方案中无法处理查询返回大量数据的问题。
另外,在本发明的技术方案中,还可以根据实际的业务需求调整中间表的结构,冗余不同数据,以满足业务需求,从而解决了微服务架构中的业务的可扩展性的问题。
此外,由于还可以进一步在Logstash集群中设置多个Logstash,从而还可以有效地避免在数据同步过程中由于Logstash集群出现单点故障而导致无法进行数据同步的问题。
附图说明
图1为本发明实施例中的大数据聚合查询方法的流程图。
图2为本发明实施例中的大数据聚合查询方法的部署示意图。
具体实施方式
为使本发明的技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本发明作进一步详细的说明。
图1为本发明实施例中的大数据聚合查询方法的流程图,图2为本发明实施例中的大数据聚合查询方法的部署示意图。如图1和图2所示,本发明实施例中的大数据聚合查询法包括如下所述步骤:
步骤11,在需要同步的源数据表中增加标识字段。
在本步骤中,可以在需要同步的各个源数据表中都增加一个标识字段,作为校验数据是否变更的标识。
例如,较佳的,在本发明的一个具体实施例中,所述源数据表可以是基础数据库中的用户表,也可以是业务数据库中的业务表。
另外,较佳的,在本发明的一个具体实施例中,所述标识字段可以是时间戳,也可以是其它的可以作为校验数据是否变更的标识的标识字段。
步骤12,在聚合数据库中设置中间表作为业务查询表。
在本步骤中,可以预先在聚合数据库中设置一个中间表,并将该中间表作为业务查询表。
例如,如图2所示,可以在聚合数据库中设置一个中间表,该中间表可以存储各种数据信息(例如,用户编号、姓名、性别和业务数据等)。
步骤13,部署Logstash集群作为数据同步中间件。
在本步骤中,可以预先设置一个Logstash集群,并将该Logstash集群作为数据同步中间件。其中,Logstash是一种开源数据搜集引擎。
另外,在本发明的技术方案中,上述步骤12和步骤13可以同时执行,也可以先后执行。例如,可以先执行步骤12,也可以先执行步骤13,也可以同时执行步骤12和步骤13。
步骤14,在Logstash集群中设置数据同步配置文件。
步骤15,启动Logstash集群同步数据。
当通过上述的步骤11~14完成所有的设置之后,在本步骤中,即可启动Logstash集群同步数据。
在本发明的技术方案中,可以通过多种方式来实现上述的步骤15。以下将以其中的一种实现方式为例对本发明的技术方案进行详细的介绍。
例如,较佳的,在本发明的一个具体实施例中,所述步骤15可以包括如下的步骤:
步骤151,当源数据表中的数据发生变更时,更改源数据表中的标识字段的取值。
例如,当基础数据库中的用户表中的数据(例如,用户编号、姓名和性别等)发生变更时,如果此时的标识字段是时间戳,则更改用户表中的时间戳的取值,将时间戳的取值更改为当前数据发生变更的时间。
再例如,当业务数据库中的业务表中的数据(例如,用户编号和业务数据等)发生变更时,如果此时的标识字段是时间戳,则更改业务表中的时间戳的取值,将时间戳的取值更改为当前数据发生变更的时间。
步骤152,Logstash集群按照预设时间间隔轮询相应的源数据表。
步骤153,当Logstash集群检测到源数据表中的标识字段的取值发生变化时,从源数据表中读取变更后的数据并进行处理。
步骤154,Logstash集群将处理后的数据输出至聚合数据库中的中间表。
通过上述的步骤151~154,即可在源数据表中的数据发生变更时,及时地将变更后的数据输出至聚合数据库中的中间表中。因此,业务只需通过对聚合数据库中的中间表的查询操作即可执行所需的操作,而不必考虑具体的源数据分布在哪个数据库。
另外,较佳的,在本发明的一个具体实施例中,所述Logstash集群可以包括多个Logstash。
例如,如图2所示,在本发明的一个较佳的具体实施例中,所述Logstash集群包括三个Logstash:第一Logstash、第二Logstash和第三Logstash。
通过在上述Logstash集群中设置多个Logstash,可以有效地避免在数据同步过程中由于Logstash集群出现单点故障而导致无法进行数据同步的问题。
例如,较佳的,在本发明的一个具体实施例中,当Logstash集群包括三个Logstash时,所述步骤13可以包括如下的步骤:
步骤131,将第一Logstash、第二Logstash和第三Logstash注册到ZooKeeper(一种分布式的,开放源码的分布式应用程序协调服务)中。
步骤132,将第一Logstash和第三Logstash作为主Logstash(LogstashMaster),将第二Logstash作为从Logstash(Logstash Slave),将各个主Logstash的同步状态保存到ZooKeeper中。
步骤133,当任意一个主Logstash的服务出现问题时,由ZooKeeper选举产生新的主Logstash。
步骤134,新的主Logstash从ZooKeeper获取数据同步状态,继续执行任务。
同理,如果Logstash集群包括其它数量(例如,2个、4个等)Logstash时,也可以执行与上述步骤131~134相类似的操作,以避免Logstash集群出现单点故障而导致无法进行数据同步的问题,具体的操作方式在此不再赘述。
通过上述的步骤11~15,即可实现一种大数据聚合查询方法。
综上所述,在本发明的技术方案中,由于在源数据表中增加了标识字段,在聚合数据库中设置中间表作为业务查询表,并将Logstash集群作为数据同步中间件,因此引入了数据更新的触发机制,并在中间表中同步冗余了业务数据,使得业务查询只需进行单表聚合查询,而不必考虑具体的源数据分布在哪个数据库,从而解决了微服务架构中跨服务、跨数据库的关联查询问题。
另外,由于使用中间表可以快速地进行查询、分页及排序,因此还解决了微服务架构中无法进行模糊查询、分页、排序的问题,从而大大提高了教育云平台上的软件的查询效率。
另外,在本发明的技术方案中,由于部署了Logstash集群作为数据同步中间件,并在Logstash集群中设置了数据同步配置文件,因此可以通过同步机制在数据同步时就进行计算、统计、分析,并将相应的结果保存在订制好的数据表中,从而解决了现有技术中的其它方案中无法处理查询返回大量数据的问题。
另外,在本发明的技术方案中,还可以根据实际的业务需求调整中间表的结构,冗余不同数据,以满足业务需求,从而解决了微服务架构中的业务的可扩展性的问题。
此外,由于还可以进一步在Logstash集群中设置多个Logstash,从而还可以有效地避免在数据同步过程中由于Logstash集群出现单点故障而导致无法进行数据同步的问题。
因此,本发明中提供了一种在教育云平台上使用数据库聚合的查询方案,该查询方案应用于教育云平台上,可以更快速地创新出新的应用场景,也可以更快速的满足教育云平台上创造新业务的需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (5)
1.一种大数据聚合查询方法,其特征在于,该方法包括如下步骤:
在需要同步的源数据表中增加标识字段;
在聚合数据库中设置中间表作为业务查询表;
部署Logstash集群作为数据同步中间件;
在Logstash集群中设置数据同步配置文件;
启动Logstash集群同步数据;
所述启动Logstash集群同步数据包括:
当源数据表中的数据发生变更时,更改源数据表中的标识字段的取值;
Logstash集群按照预设时间间隔轮询相应的源数据表;
当Logstash集群检测到源数据表中的标识字段的取值发生变化时,从源数据表中读取变更后的数据并进行处理;
Logstash集群将处理后的数据输出至聚合数据库中的中间表;
当Logstash集群包括第一Logstash、第二Logstash和第三Logstash时:
将第一Logstash、第二Logstash和第三Logstash注册到ZooKeeper中;
将第一Logstash和第三Logstash作为主Logstash,将第二Logstash作为从Logstash,将各个主Logstash的同步状态保存到ZooKeeper中;
当任意一个主Logstash的服务出现问题时,由ZooKeeper选举产生新的主Logstash;
新的主Logstash从ZooKeeper获取数据同步状态,继续执行任务。
2.根据权利要求1所述的方法,其特征在于:
所述源数据表为基础数据库中的用户表或业务数据库中的业务表。
3.根据权利要求2所述的方法,其特征在于:
所述标识字段为时间戳。
4.根据权利要求2所述的方法,其特征在于:
所述基础数据库中的用户表中的数据包括:用户编号、姓名和性别;
所述业务数据库中的业务表中的数据包括:用户编号和业务数据。
5.根据权利要求1所述的方法,其特征在于,所述更改源数据表中的标识字段的取值为:
将时间戳的取值更改为当前数据发生变更的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811653164.9A CN109857768B (zh) | 2018-12-29 | 2018-12-29 | 一种大数据聚合查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811653164.9A CN109857768B (zh) | 2018-12-29 | 2018-12-29 | 一种大数据聚合查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857768A CN109857768A (zh) | 2019-06-07 |
CN109857768B true CN109857768B (zh) | 2023-09-08 |
Family
ID=66893750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811653164.9A Active CN109857768B (zh) | 2018-12-29 | 2018-12-29 | 一种大数据聚合查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857768B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888774B (zh) * | 2019-11-07 | 2023-06-23 | 中盈优创资讯科技有限公司 | 基于hbase的大数据报表处理方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
WO2017016336A1 (zh) * | 2015-07-30 | 2017-02-02 | 中兴通讯股份有限公司 | 数据处理及查询方法、装置 |
CN107203642A (zh) * | 2017-06-19 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种数据同步方法和装置 |
CN107861859A (zh) * | 2017-11-22 | 2018-03-30 | 北京汇通金财信息科技有限公司 | 一种基于微服务架构的日志管理方法及系统 |
CN107958046A (zh) * | 2017-11-24 | 2018-04-24 | 小花互联网金融服务(深圳)有限公司 | 互联网金融大数据仓库分析挖掘方法 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11263612B2 (en) * | 2017-04-28 | 2022-03-01 | Aptos, Inc. | Systems and methods for point of sale data synchronization |
-
2018
- 2018-12-29 CN CN201811653164.9A patent/CN109857768B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915336A (zh) * | 2012-09-18 | 2013-02-06 | 北京金和软件股份有限公司 | 一种基于时间戳和日志的增量数据捕获和抽取方法 |
CN104065741A (zh) * | 2014-07-04 | 2014-09-24 | 用友软件股份有限公司 | 数据采集系统和数据采集方法 |
WO2017016336A1 (zh) * | 2015-07-30 | 2017-02-02 | 中兴通讯股份有限公司 | 数据处理及查询方法、装置 |
CN107203642A (zh) * | 2017-06-19 | 2017-09-26 | 山东浪潮通软信息科技有限公司 | 一种数据同步方法和装置 |
CN107861859A (zh) * | 2017-11-22 | 2018-03-30 | 北京汇通金财信息科技有限公司 | 一种基于微服务架构的日志管理方法及系统 |
CN107958046A (zh) * | 2017-11-24 | 2018-04-24 | 小花互联网金融服务(深圳)有限公司 | 互联网金融大数据仓库分析挖掘方法 |
CN109086409A (zh) * | 2018-08-02 | 2018-12-25 | 泰康保险集团股份有限公司 | 微服务数据处理方法、装置、电子设备及计算机可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109857768A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840251B (zh) | 一种大数据聚合查询方法 | |
CN107273540B (zh) | 分布式搜索及索引更新方法、系统、服务器及计算机设备 | |
CN110292775B (zh) | 获取差异数据的方法及装置 | |
AU2014238484B2 (en) | Dynamically managing memberships in replicated state machines within a distributed computing environment | |
CN106250543A (zh) | 一种自动化数据查询同步存储方法 | |
CN110119292A (zh) | 系统运行参数查询方法、匹配方法、装置及节点设备 | |
CN101854400A (zh) | 一种数据库同步部署及监控的方法和装置 | |
CN104809201A (zh) | 一种数据库同步的方法和装置 | |
CN106294741B (zh) | 一种自动化数据查询同步存储系统 | |
CN106936899A (zh) | 分布式统计分析系统的配置方法及分布式统计分析系统 | |
CN105446724B (zh) | 软件参数的管理方法及装置 | |
CN109977099A (zh) | 数据库部署方法、用户设备、存储介质及装置 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
CN110198327B (zh) | 一种数据传输方法及相关设备 | |
CN109857768B (zh) | 一种大数据聚合查询方法 | |
CN106372160A (zh) | 一种分布式数据库及管理方法 | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN105550351B (zh) | 旅客行程数据即席查询系统及方法 | |
CN111026397A (zh) | 一种rpm包分布式编译方法及装置 | |
CN112799868B (zh) | 一种根因确定方法、装置、计算机设备及存储介质 | |
CN107203437A (zh) | 防止内存数据丢失的方法、装置和系统 | |
CN112416944A (zh) | 一种同步业务数据的方法和设备 | |
JPWO2014051071A1 (ja) | 分散ストレージ装置、ストレージノード、データ提供方法およびプログラム | |
CN113590651B (zh) | 一种基于hql的跨集群数据处理系统及方法 | |
WO2022033291A1 (zh) | 榜单服务系统、榜单生成方法、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |