一种微服务架构智能数据库分析适配方法组成比例

技术编号:32578175 阅读:11 留言:0更新日期:2022-03-09 17:08
本发明专利技术提供一种微服务架构智能数据库分析适配方法,属于兼容适配技术领域,本发明专利技术自动分析数据库类型及版本信息,然后将获取的信息存入redis或系统缓存中,同时通过自动抓取过滤业务系统报错信息,通过智能算法系统分析出问题并给出解决方案。本发明专利技术充分考虑到信创环境下性能及兼容性问题,对于微服务架构系统由非信创数据库迁移到信创数据库起到了很好的辅助作用,具有良好的通用性、移植性和扩展性。性。性。

【技术实现步骤摘要】
一种微服务架构智能数据库分析适配方法


[0001]本专利技术涉及兼容适配
,尤其涉及一种微服务架构智能数据库分析适配方法。

技术介绍

[0002]基于信创环境微服务架构的软件系统已经在很多地区投入使用。
[0003]随着前期试点项目的顺利上线证明信创环境是可行、可靠、好用的,后续将会有更多类型的软件系统迁移到信创环境,参与进来的单位和公司将会越来越多,鉴于信创环境下性能、兼容性等问题,新参与进来的建设单位和公司并没有相关经验,而网上的相关经验分享还非常稀缺,这样将会严重拖慢工程进度且不断重复造车造成资源浪费。

技术实现思路

[0004]为了解决以上技术问题,本专利技术提供了一种基于国产CPU和操作系统的微服务架构智能数据库分析适配方法。
[0005]自动分析数据库类型及版本信息,然后将获取的信息存入redis或系统缓存中,同时可由运维人员将数据库识别特征维护到数据库检测与适配系统中,后续系统将通过这些新识别特征更准确识别数据库,随后通过自动抓取过滤业务系统报错信息,通过智能算法系统分析出问题并给出解决方案。
[0006]本专利技术的技术方案是:
[0007]一种微服务架构智能数据库分析适配方法,当数据库检测与适配系统检测到不兼容sql时,定位到有问题的代码位置,自动分析生成以java语言形成的一套解决方案,按照生成的解决方案将代码融入到业务代码后工具将读取缓存中的数据库信息,自动补全sql语句进行执行,从而实现一步操作解决数据库兼容问题。
[0008]进一步的,
[0009]设置DBAdapter数据库适配工具,以jar包形式运行在系统中,通过对数据库驱动jar包的分析将识别的信息,存放到系统缓存或redis缓存中供后续程序运行使用,该工具每次在启动应用时运行进行自动检测。
[0010]再进一步的,
[0011]1)数据库识别
[0012]在分布式场景下,各个应用微服务上都增加了一个数据库识别模块,这个数据库识别模块负责识别本微服务上的数据库类型或版本信息并将信息存入redis 缓存中,运维可通过数据库检测与适配系统后台管理界面配置扩展,如果需要有新数据库需要适配则可将数据库识别特征维护到数据库检测与适配系统中,后续系统将通过这些新识别特征更准确识别数据库。
[0013]2)数据库交互信息收集
[0014]在分布式场景下,各个业务系统上都增加了一个数据库交互信息采集模块,采集
端使用filebeat;数据库交互信息过滤、清洗采用的是Log Streams流处理服务,Log Streams服务引入了过滤器,过滤没有价值的数据,采用Kafka Streams 作为ETL流处理实现动态过滤清洗;通过界面化配置实现动态过滤清洗的规则如下:
[0015]2.1)、界面化配置采集策略;默认error级别的数据库交互信息全量采集;
[0016]2.2)、以错误时间点为中心,在流处理中开窗,辐射上下可配的N时间点采集非error级别数据库交互信息,默认只采info级别;
[0017]2.3)、按业务需求实时统计业务sql;
[0018]2.4)、高峰时段按业务类型的权重指标、数据库交互信息等级指标、每个服务在一个时段内数据库交互信息最大限制量指标、时间段指标清洗过滤数据库交互信息,根据不同的时间段动态收缩时间窗口。
[0019]3)数据库交互信息分析
[0020]LogStash indexer负责从kafka拉取数据库交互信息,进行从原始数据到 ElasticSearch所要求的数据格式的转换;从数据库交互信息中抓取关键字,判断出应该写入到ElasticSearch的哪个index中,并将信息存入对应的index,同时集成智能深度分析算法,可同时生成java和xml两种语言解决方案及报错位置,可应对SQL和ORM两种形式数据库持久化框架,维护到代码中即可,运维可通过数据库检测与适配系统后台管理界面化配置扩展sql语法和ORM语法,后台管理页面以数据库类型、版本分类维护不同的sql语法和ORM语法。
[0021]4)SQL形式操作数据库适配
[0022]系统业务代码在进行数据库持久化操作时,将数据库检测与适配系统生成的 java代码维护到业务代码中,DBAdapter数据库适配工具将这些java代码解析成兼容对应数据库的sql语句。
[0023]5)ORM形式操作数据库适配
[0024]原系统业务代码进行数据库持久化操作时,ORM形式操作数据库适配采用 PropertiesFactoryBean进行数据库持久化操作适配,采用databaseIdProvider 配置数据库映射,结合数据库检测与适配系统当检测到数据库不兼容时自动生成 XML语句,将生成的XML语句维护到业务代码中通过识别databaseId实现数据库适配。
[0025]6)数据库交互优化
[0026]集成数据库智能深度分析、性能优化功能,检测一个时间段内sql的查询频率和查询时间超长sql并记录预警,可为dba提供优化数据库的依据。
[0027]7)数据库检测与适配系统展示
[0028]界面使用web页面方式,前端采用的是angularJs,后端采用的是springboot;拆分了几个界面专门做展示微服务,该微服务在web界面中开发集成了数据库特征设置、sql语法设置、ORM语法设置、数据库兼容性问题日志查询、数据库预警日志查询。
[0029]数据库交互信息的采集功能可支持筛选,可以根据配置的采集级别对信息进行过滤,可以根据关键词自定义要采集哪些内容的信息,后续根据需求可以二次扩展。
[0030]可依据sql/orm语法算法库,充分考虑了信创环境下各数据库神通、金仓、达梦等数据库语法不同问题,智能算法会依据当前使用的数据库自动生成对应正确的java和xml语句解决方案以分别应对sql或orm形式数据库持久化框架。
[0031]支持sql优化提取,针对某个特定业务服务按业务需求实时统计业务sql,比如:会检测某时间段内sql的查询频率和查询时间超长sql并记录预警,可为dba 提供优化数据库的依据,如按查询的sql创建索引。
[0032]本专利技术充分考虑到信创环境下性能及兼容性问题,对于微服务架构系统由非信创数据库迁移到信创数据库起到了很好的辅助作用,具有良好的通用性、移植性和扩展性。
附图说明
[0033]图1是本专利技术的工作流程示意图;
[0034]图2是本专利技术的架构示意图。
具体实施方式
[0035]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务架构智能数据库分析适配方法,其特征在于,当数据库检测与适配系统检测到不兼容sql时,定位到有问题的代码位置,自动分析生成以java语言形成的一套解决方案,按照生成的解决方案将代码融入到业务代码后工具将读取缓存中的数据库信息,自动补全sql语句进行执行,从而实现一步操作解决数据库兼容问题。2.根据权利要求1所述的方法,其特征在于,设置DBAdapter数据库适配工具,以jar包形式运行在系统中,通过对数据库驱动jar包的分析将识别的信息,存放到系统缓存或redis缓存中供后续程序运行使用,该工具每次在启动应用时运行进行自动检测。3.根据权利要求1所述的方法,其特征在于,1)数据库识别在分布式场景下,各个应用微服务上都增加了一个数据库识别模块,这个数据库识别模块负责识别本微服务上的数据库类型或版本信息并将信息存入redis缓存中,运维可通过数据库检测与适配系统后台管理界面配置扩展,如果需要有新数据库需要适配则可将数据库识别特征维护到数据库检测与适配系统中,后续系统将通过这些新识别特征更准确识别数据库。4.根据权利要求3所述的方法,其特征在于,2)数据库交互信息收集在分布式场景下,各个业务系统上都增加了一个数据库交互信息采集模块,采集端使用filebeat;数据库交互信息过滤、清洗采用的是Log Streams流处理服务,Log Streams服务引入了过滤器,过滤没有价值的数据,采用Kafka Streams作为ETL流处理实现动态过滤清洗;通过界面化配置实现动态过滤清洗的规则如下:2.1)、界面化配置采集策略;默认error级别的数据库交互信息全量采集;2.2)、以错误时间点为中心,在流处理中开窗,辐射上下可配的N时间点采集非error级别数据库交互信息,默认只采info级别;2.3)、按业务需求实时统计业务sql;2.4)、高峰时段按业务类型的权重指标、数据库交互信息等级指标、每个服务在一个时段内数据库交互信息最大限制量指标、时间段指标清洗过滤数据库交互信息,根据不同的时间段动态收缩时间窗口。5.根据权利要求4所述的方法,其...

【专利技术属性】
技术研发人员:王松王威刘厚亮
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1