基于分布式业务系统的缓存控制方法、系统、及电子设备与流程

文档序号:18796714发布日期:2019-09-29 19:47阅读:162来源:国知局
基于分布式业务系统的缓存控制方法、系统、及电子设备与流程

本发明涉及计算机软件应用技术领域,特别是涉及基于分布式业务系统的缓存控制方法、系统、及电子设备。



背景技术:

在现有技术中,通常将常用的业务系统数字字典信息配置在传统的关系型数据库或nosql数据库(如redis)中。在进行业务操作时,往往都需要频繁地访问底层数据源的数字字典信息。

众所周知,在分布式应用需要使用低层的数字字典时,如果直接访问低层的数据源(关系型或nosql缓存数据库),系统开销将会很大,需要频繁地进行创建连接、打开连接、关闭连接等一系列的高消耗、频交互调用操作,低速磁盘的存取,各种低速i/o直接的传输,都会严重影响系统的性能。对于实时性要求高、高并发的api接口来说,这种获取数字字典的方式无疑是致命的。如果分布式架构中的核心应用系统都是通过传统的进行多次交互低层数据源的方式获取数字字典,那么分布式架构整体的性能将会变得非常差。

为避免上述问题,可通过一个存储服务器主动地将消息推送至产品层应用。但是,这种方式可能会因为消息的丢失而导致产品层部分数字字典缺失,严重的可能会导致系统业务异常。由于分布式结构的应用数字字典丢失并没有告警机制,所以研发人员无法第一时间知晓并进行补录操作。再者,数字字典信息基本都是以k/v形式直接通过可视化配置平台预先设置的,如果遇到大集合时,这样的配置工作十分繁琐、耗时较长。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供基于分布式业务系统的缓存控制方法、系统、及电子设备,用于弥补现有技术中分布式缓存在高并发和低耗时性能方面的不足。

为实现上述目的及其他相关目的,本发明提供一种基于分布式业务系统的缓存控制系统,包括:缓存配置器,用于数字字典缓存数据的配置管理;缓存通知器,用于将数字字典缓存数据实时更新至对应的产品应用缓存中;缓存监控器,用于监控各所述产品应用缓存的数字字典缓存数据的获取情况;若监测到所述产品应用缓存获取数字字典缓存数据失败,则从所述缓存配置器中获取对应的数字字典缓存数据至得到产品应用缓存;缓存服务器,用于对所述缓存配置器、所述缓存通知器、及所述缓存监控器进行调用调度及管理,提供查询指定产品应用缓存的服务,并定期地将关系型数据库中更新的数字字典缓存数据预存到非关系型数据库。

于本发明一实施例中,所述缓存配置器用于数字字典缓存数据的配置管理,包括:基础缓存码表管理和sql缓存码表管理。

于本发明一实施例中,所述缓存配置器还用于设置单个数字字典元素的上限值。

于本发明一实施例中,所述缓存配置器还用于根据数字字典缓存数据的业务类型和系统类别对数字字典缓存数据分组存储。

于本发明一实施例中,所述缓存通知器在数字字典缓存数据更新时以广播的形式将更新的数字字典缓存数据补录至对应的产品应用缓存。

于本发明一实施例中,所述缓存服务器用于提供全量查询指定产品应用缓存的服务。

于本发明一实施例中,所述缓存服务器包括:缓存接口组件;所述缓存接口组件,用于对外暴露api接口,提供全量查询指定产品应用缓存的服务、根据本地版本号和远程版本号差异查询增量的缓存信息的服务,以及根据缓存关键字查询数字字典缓存的服务。

于本发明一实施例中,所述缓存服务器包括:缓存预处理组件;所述缓存预处理组件用于定期地将关系型数据库中更新的数字字典缓存数据预存到非关系型数据库。

为实现上述目的及其他相关目的,本发明提供一种基于分布式业务系统的缓存控制方法,应用于缓存服务器,所述方法包括:控制缓存配置器进行数字字典缓存数据的配置管理;控制缓存通知器将数字字典缓存数据实时更新至对应的产品应用缓存中;控制缓存监控器监控各所述产品应用缓存的数字字典缓存数据的获取情况;其中,所述缓存监控器若监测到所述产品应用缓存获取数字字典缓存数据失败,则从所述缓存配置器中获取对应的数字字典缓存数据至得到产品应用缓存;提供查询指定产品应用缓存的服务,并定时地将关系型数据库中更新的数字字典缓存数据预存到非关系型数据库。

为实现上述目的及其他相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的基于分布式业务系统的缓存控制方法。

如上所述,本发明的基于分布式业务系统的缓存控制方法、系统、及电子设备,具有以下有益效果:

(1)支持高并发、低延时的分布式业务系统,能够解决因为读取数字字典缓存信息而造成的系统消耗,使得产品应用层系统能够对外提供高并发、低延时接口服务和系统计算能力;

(2)数字字典缓存的配置对应用产品层实时生效,能够适用于高频或低频修改数字字典的需求,通过缓存通知器可以做到实时通知调用者最新的变更信息;

(3)数字字典缓存获取数据内容更安全、更具有完善的高可用和容错修复机制,通过缓存监控器可以实时的提供容错处理;

(4)缓存配置数字字典数据管理更加灵活高效,支持人工批量的配置k/v缓存数据,支持通过指定sql批量自动化地加载k/v缓存数据,并且可以加载大元素集合类型的缓存数据;

(5)数据加载速度快,利用缓存预处理组件定时更新全量的缓存信息加载至nosql数据缓存模块来提高外部请求查询的响应速度,利用分组缓存加通用缓存信息组降低缓存数据冗余,节约数据空间。

附图说明

图1显示为本发明一实施例中的基于分布式业务系统的缓存控制系统的架构示意图。

图2显示为本发明一实施例中的基本码表配置管理界面示意图。

图3显示为本发明一实施例中的sql码表配置管理界面示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

在现有技术中,通常将常用的业务系统数字字典信息配置在传统的关系型数据库或nosql数据库中。在进行业务操作时,往往都需要频繁地访问底层数据源的数字字典信息,这将严重影响整个系统的性能。为弥补现有分布式缓存在高并发(单个服务秒并发请求在1000以上)和低耗(单次请求响应时间小于50ms)时性能方面的不足,本实施例提出基于分布式业务系统的缓存控制方法系统,具体如图1所示。

本实施例的分布式业务系统的缓存控制系统包括:缓存配置器、缓存通知器、缓存监控器、缓存服务器。以下将对每个部分做详细介绍。

缓存配置器,用于数字字典缓存数据的配置管理。

具体的,缓存配置器可以实现的数字字典缓存数据的管理配置包括:基础缓存码表管理(见图2)、sql缓存码表管理(见图3)。基础缓存码表管理通过设定的格式配置基础码表,实现传统手工配置k/v数字字典的本地缓存管理;sql缓存码表管理可以通过设定格式的sql语句查询出k/v结构的码表信息,实现缓存加载,这样可以更加灵活地直接加载不同类型的sql,实现自动化加载至缓存,进行本地缓存管理。另外,缓存配置器通过添加业务类型和系统类别进行缓存类型分组,可达到不同产品应用按需加载,避免缓存的冗余。此外,sql缓存码表管理有预设值默认上限和自定义上限,防止定义sql对应的查询元素过多(内容过大)而导致内存(jvm缓存)耗尽的风险。

缓存通知器,用于将数字字典缓存数据实时更新至对应的产品应用缓存中。

具体的,缓存通知器提供一种基于分布式本地缓存实时变更通知机制,实现实时更新各产品应用的数字字典缓存配置加载至各个产品应用缓存中。如果缓存配置器中有更新,缓存通知器通过指定具体应用名称(支持多个)以广播的形式主动推送具体更新的数字字典缓存信息至目标应用。

缓存监控器,用于监控各所述产品应用缓存的数字字典缓存数据的获取情况;若监测到所述产品应用缓存获取数字字典缓存数据失败,则从所述缓存配置器中获取对应的数字字典缓存数据至得到产品应用缓存,由此实现了自动化的监控补录机制。

缓存服务器,用于对所述缓存配置器、所述缓存通知器、及所述缓存监控器进行调用调度及管理,提供查询指定产品应用缓存的服务,并定期地将关系型数据库中更新的数字字典缓存数据预存到非关系型数据库。

具体的,缓存服务器主要负责对其他组件的统一调用调度和管理、分组管理缓存,默认情况按系统类别进行分组存储。较佳的,为了对外提供充足的服务能力,缓存服务器本身的架构也采用分布式服务。缓存接口组件对外暴露api接口,提供全量查询指定产品应用缓存服务,全量查询时效性高,并且按需查询减少了本地存储的浪费;提供根据本地版本号和远程版本号差异查询增量的缓存信息;提供指定缓存key查询具体的数字字典。缓存服务器为了对外提供充足的服务能力,本身结构业务分布式服务,通过缓存预处理组件按组读取关系型数据库服务模块中的数字字典缓存内容并预存到nosql缓存服务模块(非关系型数据库),使用分布式任务job进行单任务预处理工作。考虑到分布式结构特点,缓存预处理组件同一时间只能有一个节点进行工作,通过分布式任务进行控制。缓存预处理组件定期地重载按系统类型分组后的全量的缓存信息至nosql缓存服务模块,通过分布式定时任务执行缓存预处理构建不同系统分组的全量缓存信息及通用的缓存信息,将存储于关系型数据库服务模块的信息预存至nosql缓存服务模块,这样外部指定系统类型请求缓存服务器后直接读取nosql缓存服务模块的分组数据及公共分组数据,即可减少对关系型数据库服务模块的依赖及交互次数,从而提高服务响应效率。

本发明还提供一种基于分布式业务系统的缓存控制方法,以及用于执行该方法的电子设备。该电子设备具体指图1所示的缓存服务器,其执行的缓存控制方法包括:控制缓存配置器进行数字字典缓存数据的配置管理;控制缓存通知器将数字字典缓存数据实时更新至对应的产品应用缓存中;控制缓存监控器监控各所述产品应用缓存的数字字典缓存数据的获取情况;其中,所述缓存监控器若监测到所述产品应用缓存获取数字字典缓存数据失败,则从所述缓存配置器中获取对应的数字字典缓存数据至得到产品应用缓存;提供查询指定产品应用缓存的服务,并定时地将关系型数据库中更新的数字字典缓存数据预存到非关系型数据库。

由于方法实施例的技术原理与前述系统实施例的技术原理相似,故于此不再重复赘述。

需要说明的是,所谓的电子设备需至少包括:处理器及存储器,其中,所述存储器用于存储计算机程序,所述处理器用于加载执行所述计算机程序,以使所述电子设备执行上述的基于分布式业务系统的缓存控制方法。

上述的存储器可能包含随机存取存储器(randomaccessmemory,简称ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

综上所述,本发明的基于分布式业务系统的缓存控制方法、系统、及电子设备,有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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