一种基于Redis的动态业务参数的配置方法技术

技术编号:24409077 阅读:30 留言:0更新日期:2020-06-06 08:22
本发明专利技术公开了一种基于Redis的动态业务参数的配置方法,涉及互联网技术领域。本发明专利技术包括建立支持动态配置业务参数的数据库模型、基于Java语言建立缓存API模块:基于Redis数据库封装一套动态业务参数加载器,在服务器启动时,将配置的参数缓存至Redis数据库中,提供实时查询、实时维护、实时刷新业务参数的功能。本发明专利技术通过采用Redis作为业务参数的缓存服务器,能大幅提升业务参数的读写效率,并解决了集群环境下多台应用服务器之间的参数同步问题;同时,参考本发明专利技术提出的动态业务参数的数据模型,可实现灵活配置及维护业务参数,降低业务参数的设计、使用、及维护难度,提升开发、测试、实施效率。

A dynamic business parameter configuration method based on redis

【技术实现步骤摘要】
一种基于Redis的动态业务参数的配置方法
本专利技术属于互联网
,特别是涉及一种基于Redis的动态业务参数的配置方法。
技术介绍
随着互联网及软件行业的发展,各行业已经使用了越来越多的软件产品。为满足不同的客户现场,软件产品通常需要根据客户的实际情况对软件运行中必须的参数进行个性化配置,从而满足每个现场的差异化需求。因此,一种灵活的业务参数配置及管理办法显得愈发重要。此外,基于软件产品高可伸缩性、高可用性的考虑,应用软件往往会采用集群部署。当对集群环境中某台服务器上的配置参数进行修改时,为确保集群环境中的多台服务器配置参数的一致性,必须将修改的参数同步至其他服务器。因此,一种简单高效的配置参数同步方法也非常重要。针对参数配置及管理方案,目前主要有以下两种方式:方案一:通过配置文件进行管理。应用软件将所需的参数配置在文件中,当软件启动时,从文件中加载相关的参数,从而软件得以正常运行。这种方式仅适合配置文件中参数较少的情况当参数数目较多时,从文件中查找和修改参数,操作上困难且容易出错;方案二:通过数据库参数表进行管理。应用软件将所需的参数维护在数据库表中,软件启动时,从数据库中获取相关的配置参数,从而软件得以正常运行。采用此种方式时,应用软件运行过程中每次获取业务参数都需要查询数据库,增加了数据库服务器的压力,降低了软件产品的整体性能。针对集群环境中进行参数同步的方案,目前主要有以下两种方式:方案1:在某台服务器修改配置文件后,将该配置文件部署到集群环境的每一台服务器上,完成多台应用服务器之间的参数同步。此种方案中手动部署操作繁琐,极易出错;方案2:数据库参数表管理模式下,因所有多台服务器连接同一台数据库,可规避参数同步问题。此种方案中,所有服务器对参数的获取都需要连接数据库,性能瓶颈较大。
技术实现思路
本专利技术的目的在于提供一种基于Redis的动态业务参数的配置方法,通过采用Redis作为业务参数的缓存服务器,能大幅提升业务参数的读写效率,并解决了集群环境下多台应用服务器之间的参数同步问题,提升软件设计及代码开发过程中的业务参数配置的灵活性,降低软件开发及实施部署的难度。为解决上述技术问题,本专利技术是通过以下技术方案实现的:一种基于Redis的动态业务参数的配置方法,包括以下步骤:建立支持动态配置业务参数的数据库模型;基于Redis数据库封装动态业务参数加载器,在服务器启动时,将配置的参数缓存至Redis数据库中;基于Redis数据库及支持动态配置业务参数的数据库模型,建立缓存API模块,通过刷新缓存功能,使得参数变更立即生效。可选的,还包括:建立前台交互模块,所述前台交互模块支持从前台对动态业务参数进行增删查改,所述前台交互模块包括业务参数定义模块、业务参数维护模块;其中,所述业务参数定义模块用于业务参数类型的定义、修改、删除;所述业务参数维护模块用于根据选择的业务参数类型,配置对应的业务参数实例。可选的,所述业务参数定义模块还用于参数基础信息的维护、创建和定义新的参数类型及为创建的业务参数类型配置具体的参数属性;其中,参数基础信息包括:业务参数名称,所述业务参数名称为描述该参数的名称;业务参数编码:所述业务参数编码为该业务参数在系统中的唯一标识;是否叶子参数:描述该参数是父节点还是叶子节点;业务参数说明:描述该参数的用途;其中,参数属性包括:字段名称,所述字段名称为该参数中的字段属性;字段编码,所述字段编码为该字段的唯一编码;字段长度,所述字段长度为该字段的最大长度;字段顺序,所述字段顺序用于控制该字段在业务参数维护模块表格中的展示顺序。可选的,所述业务参数维护模块根据选择的业务参数类型,配置对应的业务参数实例的具体方法为:通过点击新增按钮,为当前定义的参数类型维护一条参数实例,参数的每一个字段属性的最大长度符合参数基础信息维护的字段长度;选中一条参数实例之后,进行编辑及删除操作。可选的,所述数据库模型包括动态业务参数定义实体表、动态业务参数字段定义实体表、动态业务参数字段数据实例表;所述动态业务参数定义实体表存储有业务参数类型主体数据,业务参数类型主体数据包括唯一标识、业务参数编码、业务参数名称、是否叶子参数、上级参数唯一标识、备注;所述动态业务参数字段定义实体表存储有业务参数类型字段相关数据,业务参数类型字段相关数据包括唯一标识、业务参数编码、字段编码、字段名称、字段长度、字段排序、备注;所述动态业务参数字段数据实例表存储有业务参数类型对应的业务参数实例数据,业务参数类型对应的业务参数实例数据包括唯一标识、字段编码、分组ID、字段值。可选的,基于Redis数据库封装动态业务参数加载器,在服务器启动时,将配置的参数缓存至Redis数据库中的具体方法为:遍历业务参数定义表,根据业务参数编码,全部保存到ArrayList集合中;根据动态业务参数字段定义实体表、动态业务参数字段数据实例表与动态业务参数定义实体表的关系,根据业务参数编码,分别将业务参数对应的实例保存到HashMap中;将业务参数实例HashMap保存到集合ArrayList中;在Redis中定义一个List数据结构,通过Jedis提供的方法,将业务参数实例集合ArrayList缓存至List数据结构。可选的,调用API可灵活地从动态业务参数集合中获取任意目标参数或参数组。可选的,调用API从动态业务参数集合中获取任意目标参数或参数组的方法为:基于Jedis封装API,通过传入业务参数编码从List数据结构中获取目标参数Map或参数组List<Map>,从而获取改业务参数的所有配置数据;基于Jedis封装API,通过传入业务参数编码、过滤条件,从List数据结构中根据过滤条件获取目标参数Map,从而获取改参数的所有业务配置数据。可选的,基于Redis数据库及动态业务参数数据库模型提供刷新缓存功能的方法为:基于Jedis封装API通过传入业务参数编码,将该参数从数据库模型中重新获取,重新保存到内存Redis数据库中;基于Jedis封装API从数据库模型中获取所有的业务参数,重新保存到内存Redis数据库中。可选的,基于Java语言建立缓存API模块时,搭建Redis的集群环境,配置Master、Slave至少3个节点,利用Redis主从复制策略以及RedisSentinel架构,实现缓冲的同步及可用性。本专利技术具有以下有益效果:本专利技术采用Redis作为业务参数的缓存服务器,能大幅提升业务参数的读写效率,并解决了集群环境下多台应用服务器之间的参数同步问题,提升软件设计及代码开发过程中的业务参数配置的灵活性,降低软件开发及实施部署的难度;可灵活配置及维护业务参数。降低业务参数的设计、本文档来自技高网
...

【技术保护点】
1.一种基于Redis的动态业务参数的配置方法,其特征在于,包括以下步骤:/n建立支持动态配置业务参数的数据库模型;/n基于Redis数据库封装动态业务参数加载器,在服务器启动时,将配置的参数缓存至Redis数据库中;/n基于Redis数据库及支持动态配置业务参数的数据库模型,建立缓存API模块,通过刷新缓存功能,使得参数变更立即生效。/n

【技术特征摘要】
1.一种基于Redis的动态业务参数的配置方法,其特征在于,包括以下步骤:
建立支持动态配置业务参数的数据库模型;
基于Redis数据库封装动态业务参数加载器,在服务器启动时,将配置的参数缓存至Redis数据库中;
基于Redis数据库及支持动态配置业务参数的数据库模型,建立缓存API模块,通过刷新缓存功能,使得参数变更立即生效。


2.根据权利要求1所述的一种基于Redis的动态业务参数的配置办法,其特征在于,还包括:
建立前台交互模块,所述前台交互模块支持从前台对动态业务参数进行增删查改,所述前台交互模块包括业务参数定义模块、业务参数维护模块;
其中,所述业务参数定义模块用于业务参数类型的定义、修改、删除;
所述业务参数维护模块用于根据选择的业务参数类型,配置对应的业务参数实例。


3.根据权利要求2所述的一种基于Redis的动态业务参数的配置办法,其特征在于:
所述业务参数定义模块还用于参数基础信息的维护、创建和定义新的参数类型及为创建的业务参数类型配置具体的参数属性;
其中,参数基础信息包括:
业务参数名称,所述业务参数名称为描述该参数的名称;
业务参数编码:所述业务参数编码为该业务参数在系统中的唯一标识;
是否叶子参数:描述该参数是父节点还是叶子节点;
业务参数说明:描述该参数的用途;
其中,参数属性包括:
字段名称,所述字段名称为该参数中的字段属性;
字段编码,所述字段编码为该字段的唯一编码;
字段长度,所述字段长度为该字段的最大长度;
字段顺序,所述字段顺序用于控制该字段在业务参数维护模块表格中的展示顺序。


4.根据权利要求2所述的一种基于Redis的动态业务参数的配置办法,其特征在于,所述业务参数维护模块根据选择的业务参数类型,配置对应的业务参数实例的具体方法为:
通过点击新增按钮,为当前定义的参数类型维护一条参数实例,参数的每一个字段属性的最大长度符合参数基础信息维护的字段长度;
选中一条参数实例之后,进行编辑及删除操作。


5.根据权利要求1所述的一种基于Redis的动态业务参数的配置办法,其特征在于:
所述数据库模型包括动态业务参数定义实体表、动态业务参数字段定义实体表、动态业务参数字段数据实例表;
所述动态业务参数定义实体表存储有业务参数类型主体数据,业务参数类型主体数据包括唯一标识、业务参数编码、业务参数名称、是否叶子参数、上级参数唯一标识、备注;
所述动态业务参数字段定义实体表存储有业务参数类型字...

【专利技术属性】
技术研发人员:张磊郭建波
申请(专利权)人:杭州海兴电力科技股份有限公司杭州粒合信息科技有限公司杭州海兴泽科信息技术有限公司宁波恒力达科技有限公司南京海兴电网技术有限公司
类型:发明
国别省市:浙江;33

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

1