APP下载

基于缓存的实时数据存储及规则计算的方法研究

2019-12-11姬渭孟于雪莲

科学与财富 2019年19期
关键词:实时存储计算

姬渭孟 于雪莲

摘 要:针对运营商IT系统产品规则校验复杂的情况,提出一种基于缓存的规则计算方法,通过基于缓存的实时数据存储与规则计算,能够实现对于整个规则计算过程,全部基于缓存实现,从而提高规则计算的效率。

关键词:缓存;实时;数据;存储;规则;计算

1 方案提出的背景

随着通信业务的发展,尤其是近年来流量业务的快速发展,各类产品不断推出,产品的订购规则也越来越复杂,如产品与产品件的互斥,产品对于用户余额、入网时间等的规则要求。在通信运营商层面,用户进行产品订购时,由IT系统进行规则校验。如校验较慢,会降低用户体验,影响产品推广。

目前的主流方案是基于缓存计算装置,包括缓存单元和计算单元,计算单元通过读取缓存单元的规则数据,并完成计算。但需要进行多次的物理磁盘读的操作,以获取所需要的实例数据,存在数据读取计算时间过长的问题。

本方案要解决的技术问题:通过数据的实时存储,将规则计算所需要的配置数据、实例数据均保存在缓存中,并提前进行规则计算,将计算结果也保存在缓存中,这样当需要进行规则计算时,所有的数据均从内存中获取,避免了进行磁盘的读写操作,从而可以大大缩短规则计算的时间。

2 具体方案介绍

本方案提出一种方案,具体组成如下,包括5个单元,单元一:数据加载单元;单元二:原始数据缓存单元;单元三:数据服务单元;单元四:数据计算单元;单元五:数据持久化单元。

单元一:数据加载单元,原始数据加载单元的主要工作有两项,一是在首次启动时,会进行数据初始化工作,从BSS系统的物理数据库,提取当前时刻全量的产品配置数据和“活跃用户”订购实例数据,通过数据加载功能,全量加载到单元二中,key-value方式后保存到缓存。二是对于实时的增加变化数据,提供两种适配器,消息适配器和文件适配器,当业务系统用户数据发生变更时,如用户进行了产品订购,则业务系统可以通过消息或文件的方式,与数据加载单元的对应适配器进对接,将增量变化数据同步到数据加载单元,由数据加载单元将变更

单元二:原始数据存储单元,主要为数据存储功能,以key-value方式将数据保存在缓存中。数据主要分为两类,一类是用户实例数据,一类是配置数据。实现将静态数据缓存到共享内存中,利用共享内存实现数据的快速计算及读取,同时采用RBTREE排序方法实现对数据的快速查找。

其中用户实例数据缓存通过LRU(最近最少使用算法)及MRU(最近最长使用算法)实现缓存数据替换,如果缓存结果达到系统配置的内存值,将提供一定的策略将最近最不常被查询到的数据替换出去,而将最近最常被使用的数据保持在缓存中。

单元三:数据服务单元,主要是对外提供缓存的计算和查询服务,同时具有服务管理功能,能够对服务进行注册和管理,并记录服务调用信息,并对服务调用的频次、渠道等进行管理和控制。

單元四:数据计算单元,当热点用户生成或新增热点数据后,会调用数据计算单元的数据计算模块,完成规则的计算,并将计算结果保存在共享缓存中。

当有服务通过数据服务单元提供的数据校验服务要求进行规则校验时,根据服务入参提供的操作员ID,用户ID,先到单元二中,将操作员ID+用户ID作为Key值,获取包括用户订购实例的Value值,与用户的当前订购实例进行比对。

1)如果比对结果一致,标识该用户未做过其它业务操作,可以直接将规则计算结果返回

2)如果比对结果不一致,或没有记录,则通过单元一,重新将此用户数据作为“热点数据”进行加载到共享缓存,并调用数据计算模块,快速进行规则计算,并将计算结果更新到共享缓存中。

进程管理模块,可以依据规则计算类型,将进程进行分组,如产品互斥规则计算为单独一组进程,产品依赖规则计算为另外一组进程,这样当有多个产品规则计算时,可以进行多进程并行计算,从而提高计算速度。

单元五:数据持久化单元,主要采用文件或数据库的方式,将共享缓存中心数据同步至磁盘,实现数据持久化。这样做的好处时当单元二发生故障,重新启动时,共享缓存中的数据会全部丢失,可以从数据持久化单元中快速恢复。而不再需要重新通过单元一进行数据的全量抽取和加载,提高了共享缓存数据恢复速度。

4 结束语

本方案的技术优点:一是通过建立“活跃用户”的模型,降低了缓存中的数据量。二是将用户订购实例数据放入缓存,解决了规则计算涉及用户实例数据时,与物理数据库频繁交互造成计算效率明显下降的问题。三是通过缓存与用户实例的对比,实现了缓存数据的强一致性,保证缓存规则计算的正确性。4四是通过将缓存计算结果保存,避免了每次规则计算都要重新计算的问题,有效提高计算效率。

本方案基于缓存平台,实现了用户实例等实时变化类数据的实时的存储和计算,大大提升了规则计算的效率。

猜你喜欢

实时存储计算
经济增加值EVA——企业业绩评价新指标
云计算与虚拟化
等公交,从“实时”开始
一种基于鼠标定位原理的单目视觉定位技术