通用监控报表平台的设计方法与流程

文档序号:17889868发布日期:2019-06-13 15:30阅读:377来源:国知局
本发明涉及数据库领域,特别是涉及一种通用监控报表平台的设计方法。
背景技术
::随着it技术、互联网技术的蓬勃发展,越来越多的公司、企业开始通过软件系统监控、指导和操作业务生产,软件系统生产出来的数据为公司的日常运转、监控和发展进度、发展方向的制定提供了坚实的基础,各种体现公司业绩、指标、成本、服务质量等方方面面的数据开始海量的被创造出来,人类如何高效、实时、简单、准确的获取数据的信息显得尤为重要。开发一个实时监控的或者海量数据分析汇总的报表页面通常需要准备数据、计算数据、保存数据、开发报表展示页面、开发报表后台查询接口、测试报表页面等多个开发步骤,需要产品、研发、测试等多个角色的参与,开发成本较大,同时计算数据或者查询数据通常会对数据库造成巨大的压力,数据量和监控实时性无法保障。海量数据离线计算汇总、海量数据实时监控,各种维度的数据,各种业务指标等数据的展示需求对公司的开发团队来说成为一个巨大的开发成本,随着公司新业务,新阶段的开展,这种需求会一直伴随着公司的发展不断推陈出新,升级改造。数据的监控报表需求无法及时准确的提供给公司的分析人员成为了限制公司健康发展和准确制定决策和目标的严重问题。技术实现要素:本发明要解决的技术问题是提供一种基于canal和elastisearch平台的通用监控报表平台的设计方法,以适用于实时监控和定时汇总报表等通用数据查询导出的场景,具有无需修改代码、无需测试既可快速、稳定、高效的上线各种监控报表页面的功能。本发明的通用监控报表平台的设计方法,包括:搭建开源基础系统平台:搭建canal服务端、搜索服务器、mq平台、数据库从库;搭建binlog解析模块、监控报表数据组装管理模块、通用监控报表模板管理模块、通用监控报表平台展示模块;配置监控报表数据,写入elasticsearch。本发明的通用监控报表平台的设计方法,其中,还包括:录入和展示监控报表模块。本发明的通用监控报表平台的设计方法,其中,搭建binlog解析模块包括:采集配置信息,控制canal解析binlog,基于解析过滤后的相关数据增删改的消息,查询被修改的数据,发送到mq中对应的topic,表名作为mq的tag。本发明的通用监控报表平台的设计方法,其中,搭建监控报表数据组装管理模块包括:通过配置的数据组装配置信息,消费对应topic或tag对应的mq,改装配置的数据组装sql,替换sql中的变量,改造为查询条件为根据数据主键查询的sql,查询数据库从库,支持所有sql,在数据库从库表结果索引设计合理的情况下,查询sql的执行性能可控。本发明的通用监控报表平台的设计方法,其中,搭建通用监控报表模板管理模块包括:以elasticsearch中的字段名和页面中展示的描述名、页面中的展示形式以及查询判断方式作为查询条件信息;根据elasticsearch中字段名称和查询判断方式生成elasticsearch的查询请求;以查询elasticsearch查询返回字段的名称和页面中对应的展示表头名作为展示字段信息;以查询elasticsearch的排序和分页方式作为排序信息;以页面的样式、分页操作方式、图形展示方式作为页面元素。本发明的通用监控报表平台的设计方法,其中,搭建通用监控报表平台展示模块包括:设计页面主页和后台,利用页面主页展示报表页面,利用后台提供elasticsearch中数据的查询服务以及通用查询条件的基础数据服务。本发明的通用监控报表平台的设计方法,其中,配置监控报表数据,写入elasticsearch包括:操作binlog解析模块和数据组装模块,配置监控数据的原始数据的数据库信息和表信息以及发送mq的信息。本发明的通用监控报表平台的设计方法,其中,录入和展示监控报表模块包括:基于elasticsearch中已经存在的数据格式和查询展示逻辑在模板管理模块中录入模板信息,以在报表平台上查看改模板id对应的报表页面。本发明的技术方案为利用通用语言、通用数据的实时监控报表平台的实现方法,主要有以下优点:1、一次开发部署,支持绝大多数的数据监控报表需求。2、无需二次开发,无需测试既可实时准确的上线监控报表页面,极大的降低此类需求的开发测试成本和上线出错概率。3、监控报表页面动态生成,系统无需停用或重启。4、监控系统的数据实时性、准确性高,性能和可用性满足海量数据和高并发数据场景。5、系统对生产数据库没有任何影响,也不依赖数据生产系统。6、平台停机重启不会造成数据丢失、中断、重复等问题。7、本方案的依赖均为开源且it公司普遍已经广泛使用的技术和平台。8、本方案满足mysql、mariadb、oracle等主流数据库数据,且java、c++、php、jsp、.net等各种前后台语言皆可实现。附图说明图1为本发明的通用监控报表平台的设计方法的流程示意图。具体实施方式如图1所示,本发明的通用监控报表平台的设计方法,包括:搭建开源基础系统平台:搭建canal服务端、搜索服务器、mq平台、数据库从库;搭建binlog解析模块、监控报表数据组装管理模块、通用监控报表模板管理模块、通用监控报表平台展示模块;配置监控报表数据,写入elasticsearch。本发明的通用监控报表平台的设计方法,其中,还包括:录入和展示监控报表模块。本发明的通用监控报表平台的设计方法,其中,搭建binlog解析模块包括:采集配置信息,控制canal解析binlog,基于解析过滤后的相关数据增删改的消息,查询被修改的数据,发送到mq中对应的topic,表名作为mq的tag。本发明的通用监控报表平台的设计方法,其中,搭建监控报表数据组装管理模块包括:通过配置的数据组装配置信息,消费对应topic或tag对应的mq,改装配置的数据组装sql,替换sql中的变量,改造为查询条件为根据数据主键查询的sql,查询数据库从库,支持所有sql,在数据库从库表结果索引设计合理的情况下,查询sql的执行性能可控。本发明的通用监控报表平台的设计方法,其中,搭建通用监控报表模板管理模块包括:以elasticsearch中的字段名和页面中展示的描述名、页面中的展示形式以及查询判断方式作为查询条件信息;根据elasticsearch中字段名称和查询判断方式生成elasticsearch的查询请求;以查询elasticsearch查询返回字段的名称和页面中对应的展示表头名作为展示字段信息;以查询elasticsearch的排序和分页方式作为排序信息;以页面的样式、分页操作方式、图形展示方式作为页面元素。本发明的通用监控报表平台的设计方法,其中,搭建通用监控报表平台展示模块包括:设计页面主页和后台,利用页面主页展示报表页面,利用后台提供elasticsearch中数据的查询服务以及通用查询条件的基础数据服务。本发明的通用监控报表平台的设计方法,其中,配置监控报表数据,写入elasticsearch包括:操作binlog解析模块和数据组装模块,配置监控数据的原始数据的数据库信息和表信息以及发送mq的信息。本发明的通用监控报表平台的设计方法,其中,录入和展示监控报表模块包括:基于elasticsearch中已经存在的数据格式和查询展示逻辑在模板管理模块中录入模板信息,以在报表平台上查看改模板id对应的报表页面。通用监控报表平台系统方案主要有以下4个模块1、binlog解析模块2、监控报表数据组装管理模块3、通用监控报表模板管理模块4、通用监控报表平台展示模块系统从搭建到新监控报表页面上线主要有一下4个步骤:1、依赖系统搭建阶段:搭建canal、elasticsearch、mq平台2、报表平台搭建阶段:搭建上面列出的四个模块3、监控数据配置阶段:配置监控报表数据,写入elasticsearch4、监控模块管理阶段:录入和展示监控报表模块其中步骤1和步骤2为一次性开发步骤,步骤3和步骤4会随着每个监控报表需求执行一次或不执行,比如两个监控报表需要的数据相同,步骤3只需执行一次。通用监控报表平台需要解决2个问题:1、监控报表数据的计算和保存2、计算好数据的展示页面和后台接口的支持通过解析binlog,将数据的实时变化通过mq发送出去,消费mq,在数据库上执行预先配置好的sql,将数据写入到elasticsearch或者solr等查询性能好的数据查询平台既可解决数据的计算和保存问题,并且能够满足海量数据高并发场景的查询和计算等性能需求。基于elasticsearch等平台的数据,通过配置统一规则协议的监控模板,满足不同的数据监控需求,解析模板数据,动态生成监控页面,查询elasticsearch等平台的监控报表数据,既可动态的生成不同的监控报表页面。解决方案一共有四个模块:binlog解析模块、监控报表数据组装模块、通用监控报表模板管理模块、通用监控报表平台展示模块1、binlog解析模块:通过配置好的来源数据库信息(如表1),通过canal技术解析对应的数据库binlog,过滤出有监控报表需求的数据库表的数据增删改操作,查询被修改数据的自增id或者主键,附加上数据库表名和库名等信息,每一条数据发送一个mq。2、监控报表数据组装模块:在本模块配置数据的来源信息、elasticsearch保存数据的index和type信息、带变量的数据查询sql(如表2);消费数据库和表对应的mq,提取数据id等信息,替换sql中的变量,执行sql,将查询到的数据写入到elasticsearch平台既可实现数实时的监控数据需求;在现有elasticsearch中数据基础上,通过配置好的定时任务执行elasticsearch查询聚合等,将数据写入elasticsearch其他的index或者type中既可实现离线数据分析汇总的数据需求。3、通用监控报表模板管理模块:本模块主要负责管理监控报表页面的查询数据来源、查询条件、展示字段、页面效果等监控模板数据(如表3),为监控报表平台提供模板查询服务,支持模板的信息编辑和动态上下线等功能。4、通用监控报表平台展示模块:本模块主要查询和解析监控模板,基于模板定义的规则和样式展示web页面,模块id可以作为页面地址参数,不同id既表示不同的监控页面。提供elasticsearch中数据的分页或全量查询服务、通用的查询条件基础数据服务,web页面可以支持各种通用图表展示,可以支持导出和打印等通用的功能。序号字段名数据类型注释1idint(11)自增id2db_namevarchar(255)数据库名称3db_connectionvarchar(255)数据库连接信息4table_namesvarchar(255)采集数据的表集合5mq_connectionvarchar(255)mq连接信息6mq_topicvarchar(255)mq的topic7statusint(11)状态,1:启用,2:停用8c_tint(11)创建时间戳表1解析binlog发送mq配置表序号字段名数据类型注释1idint(11)自增id2mq_connectionint(11)mq连接信息3mq_topicvarchar(255)mq的topic4sqltext查询数据库的sql5es_connectionvarchar(255)elasticsearch连接信息6es_index_typevarchar(255)写入elasticsearch的index、type信息7c_tint(11)创建时间戳表2消费mq生成监控报表数据配置表表3通用监控模板表系统从开始搭建到上线一个监控报表页面主要有以下7个步骤:1、搭建开源基础系统平台:canal服务端、elasticsearch平台、mq平台、数据库从库等依赖系统资源搭建,均为通用或开源系统。elasticsearch可以考虑使用solr等其他平台替代,mq没有任何要求,数据库为canal支持的mysql、mariadb、oracle等数据库。2、binlog解析模块开发:作为canal客户端,通过采集配置(如表1)的信息,控制canal解析binlog,基于解析过滤后的相关数据增删改的消息,查询被修改的数据,发送到mq中对应的topic,表名可以考虑作为mq的tag等信息,方便mq的分表消费,本模块查询修改的数据,由于数据库查询性能好于查询性能,且数据的读写比为1:1,读取数据发送mq,所以性能不存在什么压力。3、数据组装模块开发:通过配置的数据组装配置的信息,消费对应topic或tag对应的mq,改装配置的数据组装sql,替换sql中的变量,改造为查询条件为根据数据主键查询的sql,查询数据库从库,支持跨表查询等所有sql,在数据库从库表结果索引设计合理的情况下,查询sql的执行性能可控。在高并发的情况下可以考虑消费mq,按表名和主键作为唯一标示,写入缓存去重,然后异步线程查询缓存中的信息,异步写入elasticsearch的方式,降低高并发下重复查询数据库相同数据的性能浪费,单线程读缓存写elasticsearch,性能和数据最终一致性可控,离线定时数据汇总分析查询elasticsearch,写elasticsearch,性能也可通过按时分表、卸载历史数据等方式优化。4、报表模板管理模块:本模块主要为提供监控模板(如表3)数据的增删改查服务,模板主要提供elasticsearch中数据的来源信息;查询条件信息主要是elasticsearch中的字段名和页面中展示的描述名,以及页面中的展示形式,如文字输入、下拉列表、时间选择器,还有查询判断方式,如等于,大于,小于,全文匹配,不等于等,根据elasticsearch中字段名称和查询判断方式既可生成elasticsearch的查询请求;展示字段信息为查询elasticsearch查询返回字段的名称和页面中对应的展示表头名;排序信息为查询elasticsearch的排序和分页方式;页面元素可以配置页面的样式、分页操作方式、图形展示方式如柱状图、饼状图等其他定制的页面信息。5、平台展示模块开发:本模块提供监控报表页面需要的各种通用后台服务。页面主页可以通过模板id的不同,一个页面展示所有报表页面,后台和页面中都基于模板实现不同的数据服务,后台主要提供elasticsearch中数据的查询服务、通用查询条件的基础数据服务;页面解析模板中的查询条件信息、展示字段信息、页面元素信息等动态渲染和展示,可以提供查询、导出、打印等多种通用服务。以上步骤为一次性开发步骤,下面步骤在页面的动态配置时操作一次或不操作,且都为系统操作和配置数据录入,既可实现监控报表的动态生成和查询。6、监控报表数据配置阶段:主要操作binlog解析模块和数据组装模块,配置监控数据的原始数据的数据库信息和表信息,以及发送mq的信息,一套数据配置一次既可;在数据组装平台配置报表数据依赖的mq、写入elasticsearch的信息和查询数据库的sql,生效后平台既可实时或者定时生成监控和汇总分析报表数据到elasticsearch中。7、监控报表模块配置阶段:基于elasticsearch中已经存在的数据格式和查询展示逻辑在模板管理模块中录入模板信息,生效后既可在报表平台上查看改模板id对应的报表页面。以上仅是本发明的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1