System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于环境变量动态配置数据库的方法、设备及介质技术_技高网

基于环境变量动态配置数据库的方法、设备及介质技术

技术编号:41596791 阅读:15 留言:0更新日期:2024-06-07 00:07
本发明专利技术公开了基于环境变量动态配置数据库的方法、设备及介质,属于数据库中间件技术领域,本发明专利技术要解决的技术问题为如何降低维护Mycat版本的时间成本,并提高项目运维效率,技术方案为:基于Mycat的基础版本,Mycat启动时,调用启动脚本mycat start;Mycat加载schema.xml文件,schema.xml文件中包含Mysql相关配置数据;schema.xml文件将Mysql相关配置数据采用${key}方式占位,生成一个抽象统一模板;根据schema.xml文件中配置的key,查询系统环境变量获取每个key对应的value,并部署在抽象统一模板中${key}的位置。

【技术实现步骤摘要】

本专利技术涉及数据库中间件,具体地说是一种基于环境变量动态配置数据库的方法、设备及介质


技术介绍

1、mycat是一个彻底开源的,面向企业应用开发的大数据库集群,作为mysql数据库中间件优秀产品,针对mysql相关基础配置信息,mycat提供了一个schema.xml配置文件,在部署过程中需要根据具体每个mysql节点信息修改配置文件。

2、在目前云部署和容器化部署的大环境下,不同环境下mycat配置的mysql节点的基础数据(用户名、密码、地址以及驱动配置)不能保证一致,导致了mycat需要根据环境不同制作不同镜像版本,降低了部署的灵活性。

3、同时,mycat相关配置信息修改需要一定的学习成本,这无疑会为系统的维护与开发、服务器资源、版本管理增加额外的成本。

4、故如何降低维护mycat版本的时间成本,并提高项目运维效率是目前亟待解决的技术问题。


技术实现思路

1、本专利技术的技术任务是提供一种基于环境变量动态配置数据库的方法、设备及介质,来解决如何降低维护mycat版本的时间成本,并提高项目运维效率的问题。

2、本专利技术的技术任务是按以下方式实现的,一种基于环境变量动态配置数据库的方法,该方法具体如下:

3、基于mycat的基础版本(mycat官网1.6版本),mycat启动时,调用启动脚本mycatstart;

4、mycat加载schema.xml文件,schema.xml文件中包含mysql相关配置数据;

5、schema.xml文件将mysql相关配置数据采用${key}方式占位,生成一个抽象统一模板;

6、根据schema.xml文件中配置的key,查询系统环境变量获取每个key对应的value,并部署在抽象统一模板中${key}的位置;

7、将处理好的schema.xml文件作为参数,链接mysql数据库;

8、根据mycat启动的输出日志结果进行链接成功或/和 失败处理。

9、作为优选,mysql相关配置数据包括ip地址、用户名、密码及驱动类型的mysql链接关键信息。

10、更优地,根据mycat启动原理,将xmlschemaloader类进行改造,并将加载mysql数据源ip地址、用户名、密码及驱动类型的mysql链接关键参数进行抽象,生成抽象统一模板。

11、更优地,抽象统一模板是对mysql的ip地址、用户名、密码及驱动类型采用${key}占位方式存储,每一个key存在的扩展文件mysql_extend.properties中采用key-value方式存储,每一个key对应value从容器环境变量中获取,最终形成mycat可识别的对象,mycat基础镜像框架大致已经固定,但mysql的ip、用户名、密码和驱动类型可以不同环境灵活变化。

12、作为优选,mycat加载schema.xml文件,schema.xml文件中包含mysql相关配置数据具体如下:

13、mycat启动动态初始化mysql中的ip地址、用户名、密码及驱动类型配置信息;

14、mycat读取schema.xml文件遍历每一个配置项;

15、判断配置型是否以${}包裹:

16、若配置项以${}包裹,则根据${}中的值,获取环境变量配置;

17、判断是否存在对应的环境变量:

18、若存在对应的环境变量,则将值填充mycat的dbhostconfig对象;

19、若不存在对应的环境变量,则判断是否存在默认值:

20、若存在默认值,则初始化成功;

21、若不存在默认值,则初始化失败。

22、更优地,mycat的dbhostconfig对象的生成过程具体如下:

23、mycat启动加载schema.xml文件,抽象统一模板中mysql的ip地址、用户名及密码分别采用${db.mrt.hostmaster1.url},${db.mrt.hostmaster1.user},${db.mrt.hostmaster1.pwd}的方式占位;

24、根据每一个占位key读取mysql_extend.properties中value的信息分别为:${app.db.mrt.hostmaster1.url},${app.db.mrt.hostmaster1.user},${app.db.mrt.hostmaster1.pwd};

25、根据mysql_extend.properties中value的信息分别获取app.db.mrt.hostmaster1.url、app.db.mrt.hostmaster1.user和app.db.mrt.hostmaster1.pwd对应的系统环境变量;

26、创建dbhostconfig对象,将app.db.mrt.hostmaster1.url、app.db.mrt.hostmaster1.user及app.db.mrt.hostmaster1.pwd环境变量的值赋值给dbhostconfig对象的url、user和password属性。

27、作为优选,mycat使用过程中,采用properties文件格式进行保存和配置mysql的信息。

28、一种电子设备,包括:存储器和至少一个处理器;

29、其中,所述存储器上存储有计算机程序;

30、所述至少一个处理器执行所述存储器存储的计算机程序,使得所述至少一个处理器执行如上述的基于环境变量动态配置数据库的方法。

31、一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如上述的基于环境变量动态配置数据库的方法。

32、本专利技术的基于环境变量动态配置数据库的方法、设备及介质具有以下优点:

33、(一)本专利技术为了保证mycat基础版本一致,将mysql数据库相关基础属性进行封装并通过系统变量(支持默认值设置)暴漏给运维和研发人员,减少镜像版本的变化和人员学习成本,保证了版本的稳定性和部署的灵活性;

34、(二)本专利技术在当mycat配置mysql基础属性发生变化或者新项目部署时,不需要再去修改其相关的配置文件,只需要拉取提供的mycat稳定版本并修改暴漏出来的系统变量,就可以完成mycat的升级和部署,降低了维护mycat版本的时间成本与提高项目运维的效率;

35、(三)使用本专利技术配置与使用模板,运维人员只需要关心mysql相关环境变量的正确性,不用考虑mycat底层配置文件是否配置有效,减轻了运维人员的工作量;

36、(四)本专利技术支持不同数据驱动,运维人员可以按照具体环境配置不同的驱动参数,真正做到一个镜像多地部署,不依赖mycat技术储备,全面拥抱云技术;

本文档来自技高网...

【技术保护点】

1.一种基于环境变量动态配置数据库的方法,其特征在于,该方法具体如下:

2.根据权利要求1所述的基于环境变量动态配置数据库的方法,其特征在于,Mysql相关配置数据包括IP地址、用户名、密码及驱动类型的Mysql链接关键信息。

3.根据权利要求1或2所述的基于环境变量动态配置数据库的方法,其特征在于,根据Mycat启动原理,将XMLSchemaLoader类进行改造,并将加载mysql数据源IP地址、用户名、密码及驱动类型的Mysql链接关键参数进行抽象,生成抽象统一模板。

4.根据权利要求3所述的基于环境变量动态配置数据库的方法,其特征在于,抽象统一模板是对Mysql的IP地址、用户名、密码及驱动类型采用${key}占位方式存储,每一个key存在的扩展文件mysql_extend.properties中采用key-value方式存储,每一个key对应value从容器环境变量中获取,最终形成Mycat可识别的对象。

5.根据权利要求1所述的基于环境变量动态配置数据库的方法,其特征在于,Mycat加载schema.xml文件,schema.xml文件中包含Mysql相关配置数据具体如下:

6.根据权利要求5所述的基于环境变量动态配置数据库的方法,其特征在于,Mycat的DBHostConfig对象的生成过程具体如下:

7.根据权利要求1所述的基于环境变量动态配置数据库的方法,其特征在于,Mycat使用过程中,采用properties文件格式进行保存和配置Mysql的信息。

8.一种电子设备,其特征在于,包括:存储器和至少一个处理器;

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序可被处理器执行以实现如权利要求1至7中任一项所述的基于环境变量动态配置数据库的方法。

...

【技术特征摘要】

1.一种基于环境变量动态配置数据库的方法,其特征在于,该方法具体如下:

2.根据权利要求1所述的基于环境变量动态配置数据库的方法,其特征在于,mysql相关配置数据包括ip地址、用户名、密码及驱动类型的mysql链接关键信息。

3.根据权利要求1或2所述的基于环境变量动态配置数据库的方法,其特征在于,根据mycat启动原理,将xmlschemaloader类进行改造,并将加载mysql数据源ip地址、用户名、密码及驱动类型的mysql链接关键参数进行抽象,生成抽象统一模板。

4.根据权利要求3所述的基于环境变量动态配置数据库的方法,其特征在于,抽象统一模板是对mysql的ip地址、用户名、密码及驱动类型采用${key}占位方式存储,每一个key存在的扩展文件mysql_extend.properties中采用key-value方式存储,每一个key对应value从容器环...

【专利技术属性】
技术研发人员:刘泉君王乃永乔君帅
申请(专利权)人:山东浪潮数字商业科技有限公司
类型:发明
国别省市:

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

1