一种数据应用共享平台及方法与流程

文档序号:15445873发布日期:2018-09-14 23:21阅读:199来源:国知局

本发明属于大数据共享服务信息系统技术领域,尤其涉及一种数据应用共享平台及方法。



背景技术:

目前,业内常用的现有技术是这样的:

现如今企业应用架构或互联网应用架构越来越多的基于混合数据库进行构建,同时随着应用的长时间运营及业务量的增加,数据量越来越庞大,使得业务系统的常规业务事务处理及查询性能越发吃力,而不得不采用分为库表,及读写分离和数据归档等操作,对数据进行切分与隔离,使得业务数据库保持轻量级,以便支持应用的生产业务;这样的数据不能支持生产所需基本业务查询和统计分析,同时分库所带来的多数据源操作及数据的拼装也给业务应用系统增加了技术难度,降低了可维护性和扩展性,若再直接基于大数据服务组件使得应用系统架构更加复杂臃肿。

在业务应用系统中通常存在很多查询统计和分析报表,这些功能的关键点是sql的开发,其他工作都是些简单的界面操作、参数解析操作和数据封装操作,重复而繁琐,不能激发开发人员的热情,同时也增加了整体项目的开发工作量和开发成本。

综上所述,现有技术存在的问题是:

现有数据应用共享平台不能进行混合多元数据库的数据同步、协作一致;对于大数据量下的全量数据不能快速查询;大数据离线分析的高并发访问速度慢;多数据源适配能力、多元查询脚本解析能力和数据二次加工处理能力差;查询统计和分析报表开发效率低,开发成本高;安全性和在线实时计算能力差。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种快速获取数据和动态生成查询统计、分析报表的数据服务能力和可视化能力,屏蔽了大数据环境下复合异构数据存取的复杂度,发明中的各工作单元的工作原理如下:

数据同步单元,用于通过监听生产事务型数据库的bin-log日志文件,实时捕获数据的状态(新增、更新和删除),将数据状态变更信息实时发送到mq消息中间件;或监听业务应用中的数据变化状态,通过事件消息机制将数据状态变更信息实时发送到mq消息中间件,提供mq消费程序实时监控消息数据,根据配置将数据保存到分布式大数据存储服务器和全文索引服务器,实现数据同步,为后续数据处理提供数据准备;

数据协作单元,用于基于大数据离线计算(hive、spark)和实现流计算(storm),进一步对数据进行etl处理和mq消息通知协作,输出构建数仓和数据集市,热点数据、画像数据、高粒度的汇聚结果数据输出到对应的缓存服务器、全文索引服务器或结果数据库,以备后续查询;

高并发访问单元,用于结合分布式缓存(redis)和分布式全文索引中间件(elasticsearch)的高并发特性,为上层提供数据查询服务,确保高并发访问能力;

动态数据源适配单元,用于根据查询上下文可动态创建目标数据源,为每一数据源命名唯一的domaincode,与上层xml查询脚本进行绑定,实现动态数据源适配和访问能力;

动态查询单元,用于借鉴mybatis动态sql原理构建,但不局限于jdbcsql的基于xml的配置与解析,还可支持如elasticsearchjson查询脚本、mongodbbson查询脚本等的配置与解析,每一个查询脚本分配一个全局唯一id,作为对外访问调用标识,同时也做为鉴权标识,真实请求时再传入查询参数及可;

动态报表单元,用于以动态查询为基础,配置一个或多查询作为报表的初始数据,再配置定义报表呈现区域块数据,现支持的呈现区域块有:指标数组区域块、datagrid表格区域块和图形区域块;每一个报表分配一个全局唯一id,作为对外访问调用的唯一url标识,同时也做为鉴权资源标识,真实请求时再传入查询参数及可;

元数据应用单元,元数据分为技术元数据、对照元数据和业务元数据。技术元数据定义数据的存储结构,包括存储位置、存储名称和存储的数据类型;业务元数据定义技术元数据在业务层的业务含义和约束规则;对照元数据则定义输入数据如何与技术元进行匹配对照。组合应用元数据即可用于动态生成界面交互的输入、输出参数控件,及数据的个性化呈现与规则约束检查;同时元数据也可应用于数据同步与协作期间的规则约束检查;

支撑应用单元,基于该平台的技术特性和业务特性,确保能长期稳定的对上层应用提供数据服务,将平台拆分为查询读应用(fastq-qserver)和管理写应用(fastq-manager),管理写应用的配置管理和数据接入功能扩展相对频繁,拆分独立后对该部分的升级维护不影响对外的查询读服务,同时查询读应用能更好的保持无状态性,方便分布多节点水平扩展。

本发明的另一目的在于提供一种共享方法具体包括:

通过对业务数据库bin-log日志的监听,实时将数据变化同步到kafka,供应用平台消费和落地;

共享平台通过监听消费kafka,结合元数据配置定义,对数据进行清洗校验,并可根据需求分别输出到hadoop、hive、es等nosql数据库;

基于大数据环境与技术,对数据进行离线汇聚处理,根据最终汇聚的数据特征将数据输出到hbase、kylin、或es这样的nosql数据库中,供上层共享平台查询;

共享应用平台提供动态数据脚本查询引擎,适配jdbc数据源和esjson数据源,通过配置和定义查询脚本和绑定数据源实现数据的动态查询;

同时平台提供缓存和数据二次处理的接口,确保数据查询的并发性和二次处理能力;

基于动态查询脚本进行一步扩展动态报表、动态表单的能力。

本发明的另一目的在于提供一种实现所述共享方法的计算机程序。

本发明的另一目的在于提供一种搭载有所述计算机程序的信息处理终端。

本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的共享方法。

本发明的优点及积极效果为:

本发明构建开发了基于大数据的混合多元数据库的数据应用共享平台,实现对各方数据的统一接入和治理,对上屋应用提供透明、高效的数据服务接口和功能应用,使得业务应用在数据屋和应用层都可轻装上阵,提升业务处理能力和需求应变能力。解决了如下问题:

1.解决了混合多元数据库的同步、协作问题;

2.解决了大数据量下的全量数据快速查询问题;

3.解决了大数据离线分析的高并发访问问题;

4.提供动态数据源适配、动态查询脚本解析能力,和数据二次加工处理能力,

5.用于支撑动态查询和动态报表的数据接口;

6.本发明提供元数据管理及应用能力,实现动态查询和动态报表的可视化,实现在线配置及可见,解决业务应用中繁琐的查询统计和分析报表开发,提升开发效率和降低开发成本;

7.提供认证和鉴权能力,解决了安全问题;

8.提供在线实时计算能力,解决了准实时数据需求。

本发明实施运营后,减轻了生产业务系统数据层和应用层的整合难度,同时解决业务应用中繁琐的查询统计和分析报表开发,提升开发效率和降低开发成本。

附图说明

图1是本发明实施例提供的数据应用共享平台示意图。

图2是本发明实施例提供的数据应用共享平台的数据交互流程图。

图3是本发明实施例提供的数据应用共享平台的动态查询基本架构示意图。

图4是本发明实施例提供的数据应用共享平台一具体应用流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

现有数据应用共享平台不能进行混合多元数据库的数据同步、协作一致;对于大数据量下的全量数据不能快速查询;大数据离线分析的高并发访问速度慢;多数据源适配能力、多元查询脚本解析能力和数据二次加工处理能力差;查询统计和分析报表开发效率低,开发成本高;安全性和在线实时计算能力差

如图1至图4所示,本发明实施例提供的数据应用共享平台包括:

数据同步单元,用于基于事务数据库bin-log或业务应用数据消息同步到mq中间件,通过消息订阅再分别同步到分析式大数据存储服务器和全文索引服务器,为后续数据处理提供全量数据准备;

数据协作单元,用于基于大数据离线计算和实现流计算,进一步对数据进行etl处理和mq消息通知协作,输出构建数仓和数据集市,热点数据、画像数据、高粒度的汇聚结果数据输出到对应的缓存服务器、全文索引服务器或结果数据库,以备后续查询;

高并发访问单元,用于结合分布式缓存和分布式全文索引中间件的高并发特性,为上层提供数据查询服务,确保高并发访问能力;

数据源的动态适配单元,用于并为每一数据源命名唯一的domaincode,与上层查询脚本进行配置绑定,实现动态数据源适合和访问能力;

动态查询脚本配置与解析单元,用于借鉴mybatis动态sql原理构建,但不局限于jdbcsql的配置与解析,还支持查询脚本、mongodbbson查询脚本的配置与解析,每一个查询脚本分配一个全局唯一id,作为对外访问调用标识,同时也做为鉴权标识,真实请求时再传入查询参数;

动态报表配置单元,用于以动态查询为基础,配置一个或多查询作为报表的初始数据,再配置定义报表呈现区域块数据,现支持的呈现区域块有:指标数组区域块、datagrid表格区域块和图形区域块;每一个报表分配一个全局唯一id,作为对外访问调用标识,同时也做为鉴权标识,真实请求时再传入查询参数及可;

元数据管理和应用单元,分为技术元数据、对照元数据和业务元数据,组合应用及用于动态生成界面交互的输入、输出参数控件,及数据的个性化呈现与规则约束检查;同时元数据或应用于数据同步与协作期间的规则约束检查;

应用架构优化单元,用于确保能长期稳定的对上层应用提供数据服务,将平台拆分为查询读应用和管理写应用。

管理写应用进行配置管理和数据接入功能扩展;

查询读应用进行分布多节点扩展。

本发明提供一种数据应用共享方法包括:

基于事务数据库bin-log或业务应用数据消息同步到mq中间件,通过消息订阅再分别同步到分析式大数据存储服务器和全文索引服务器,为后续数据处理提供全量数据准备;

基于大数据离线计算和实现流计算,进一步对数据进行etl处理和mq消息通知协作,输出构建数仓和数据集市,热点数据、画像数据、高粒度的汇聚结果数据输出到对应的缓存服务器、全文索引服务器或结果数据库,以备后续查询;

结合分布式缓存和分布式全文索引中间件的高并发特性,为上层提供数据查询服务,确保高并发访问能力;

为每一数据源命名唯一的domaincode,与上层查询脚本进行配置绑定,实现动态数据源适合和访问能力;

借鉴mybatis动态sql原理构建,但不局限于jdbcsql的配置与解析,还可支持如elasticsearchjson查询脚本、mongodbbson查询脚本等的配置与解析,每一个查询脚本分配一个全局唯一id,作为对外访问调用标识,同时也做为鉴权标识,真实请求时再传入查询参数及可;

以动态查询为基础,配置一个或多查询作为报表的初始数据,再配置定义报表呈现区域块数据,现支持的呈现区域块有:指标数组区域块、datagrid表格区域块和图形区域块;每一个报表分配一个全局唯一id,作为对外访问调用标识,同时也做为鉴权标识,真实请求时再传入查询参数;

技术元数据、对照元数据和业务元数据,组合应用及用于动态生成界面交互的输入、输出参数控件,及数据的个性化呈现与规则约束检查;同时元数据或应用于数据同步与协作期间的规则约束检查;

查询读应用和管理写应用进行扩展。

本发明基于该平台的技术特性和业务特性,确保能长期稳定的对上层应用提供数据服务,将平台拆分为查询读应用(fastq-qserver)和管理写应用(fastq-manager),管理写应用的配置管理和数据接入功能扩展相对频繁,拆分独立后对该部分的升级维护不影响对外的查询读服务,同时查询读应用能更好的保持无状态性,方便分布多节点扩展。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如

dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1