本发明涉及监控系统的数据处理的,尤其是涉及一种监控系统数据的分类存储方法和系统。
背景技术:
1、目前监控系统采集数据和存储数据的手段为:esb通过监控采集sdk推送交易流水至esb监控处理中心,esb监控处理中心通过本地缓存对数据进行清洗,然后存储至mysql数据库,后续基于mysql数据进行数据统计分析。现有的技术方案有以下缺点:
2、一是sdk与监控处理中心强耦合,流水推送数据量大时,直接影响当前监控处理中心的其他统计及监控功能的性能;二是单一采用本地缓存进行数据处理当服务宕机或重启会造成数据丢失;三是单一使用mysql数据库进行流水的存储及处理,出现存储资源瓶颈及性能评级,导致数据分析延迟等问题。
技术实现思路
1、本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种采用多组缓存进行数据存储,适用于大量流水数据的监控系统数据的分类存储方法和系统。
2、本发明的目的可以通过以下技术方案来实现:
3、一种监控系统数据的分类存储方法,包括以下步骤:
4、s1、逐条接收流水数据;
5、s2、对流水数据进行数据过滤,得到过滤的流水数据,将过滤的流水数据存入第一redis数据库中;
6、s3、对流水数据进行数据映射,异步调用mongodb数据库,将流水数据映射得到的流水明细数据存入mongodb数据库中;
7、s4、监控处理中心定时获取第一redis数据库的过滤的流水数据,遍历过滤的流水数据,按照不同的统计维度进行统计,得到统计数据,并基于统计数据得到统计明细数据;
8、s5、将统计数据存入第二redis数据库中,并将统计明细数据存入mysql数据库中;
9、其中,第一redis数据库、mongodb数据库、第二redis数据库和mysql数据库统一设有面向监控处理中心的接口,监控处理中心通过统一的接口获取上述四个数据库的数据。
10、进一步地,完成s4的统计后,定时从第一redis数据库中将经过统计的过滤的流水数据进行清除。
11、进一步地,监控处理中心定时获取第一redis数据库的过滤的流水数据时,向第一redis数据库发送监控处理中心的标识,监控处理中心的标识用于和其他平台获取redis数据库的数据进行区分。
12、进一步地,所述流水明细数据的格式为xml格式或json格式,流水明细数据以字符串形式存储在mongodb数据库中,流水明细数据进入mongodb数据库时,以全局流水号作为文档id,基于全局流水号区分不同的流水明细数据。
13、进一步地,redis数据库采用哈希散列数据结构。
14、进一步地,redis数据库采用redis集群部署,设有3个主节点,每个主节点设有2个从节点。
15、进一步地,mongodb数据库采用分片加副本集的部署模式,设有2个查询路由、3个配置服务器和3个分片节点,每个分片节点设有1个主节点、1个从节点和1个仲裁节点。
16、进一步地,当分片节点的主节点出现异常,进入不可用状态时,仲裁节点参与到新的主节点的投票中,选出新的主节点。
17、进一步地,查询路由通过配置服务器的配置信息将任务分配到对应的分片节点上。
18、本发明的另一方面,提出一种监控系统数据的分类存储系统,基于上述的方法,系统包括企业服务总线、流水数据组织模块、入库数据组织模块、第一redis数据库、mongodb数据库、第二redis数据库、mysql数据库和统计模块,统计模块为监控处理中心的一部分;
19、其中,企业服务总线用于逐条获取流水数据;
20、流水数据组织模块用于对流水数据进行数据过滤,得到过滤的流水数据,并对流水数据进行数据映射;
21、统计模块用于遍历过滤的流水数据,按照不同的统计维度进行统计,得到统计明细数据和统计数据;
22、入库数据组织模块用于将统计数据转化为统计明细数据;
23、所述第一redis数据库、mongodb数据库、第二redis数据库、mysql数据库组成统一数据访问层,统一数据访问层设有面向监控处理中心的接口,监控处理中心通过统一的接口获取上述四个数据库的数据。
24、与现有技术相比,本发明具有以下有益效果:
25、(1)本发明相对于现有的监控中心单数据库接收处理数据,加入了数据采集及清洗,采用redis数据库存储热点数据和当天的统计数据,mysql数据库存储统计明细数据,mongodb数据库存储流水的明细数据,将冷热数据存储分离,减轻mysql端的压力,提升系统性能。
26、(2)采用redis替换现有监控处理中心本地缓存,将缓存与应用解耦的同时提升缓存存储的可靠性和处理性能,防止数据丢失。
27、(3)将mongodb数据库替换mysql进行流水的明细数据存储,提升监控处理中心的交易明细存储能力及查询效率。
1.一种监控系统数据的分类存储方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,完成s4的统计后,定时从第一redis数据库中将经过统计的过滤的流水数据进行清除。
3.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,监控处理中心定时获取第一redis数据库的过滤的流水数据时,向第一redis数据库发送监控处理中心的标识,监控处理中心的标识用于和其他平台获取redis数据库的数据进行区分。
4.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,所述流水明细数据的格式为xml格式或json格式,流水明细数据以字符串形式存储在mongodb数据库中,流水明细数据进入mongodb数据库时,以全局流水号作为文档id,基于全局流水号区分不同的流水明细数据。
5.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,redis数据库采用哈希散列数据结构。
6.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,redis数据库采用redis集群部署,设有3个主节点,每个主节点设有2个从节点。
7.根据权利要求1所述的一种监控系统数据的分类存储方法,其特征在于,mongodb数据库采用分片加副本集的部署模式,设有2个查询路由、3个配置服务器和3个分片节点,每个分片节点设有1个主节点、1个从节点和1个仲裁节点。
8.根据权利要求7所述的一种监控系统数据的分类存储方法,其特征在于,当分片节点的主节点出现异常,进入不可用状态时,仲裁节点参与到新的主节点的投票中,选出新的主节点。
9.根据权利要求7所述的一种监控系统数据的分类存储方法,其特征在于,查询路由通过配置服务器的配置信息将任务分配到对应的分片节点上。
10.一种监控系统数据的分类存储系统,其特征在于,基于如权利要求1~9中任一项所述的方法,系统包括企业服务总线、流水数据组织模块、入库数据组织模块、第一redis数据库、mongodb数据库、第二redis数据库、mysql数据库和统计模块,统计模块为监控处理中心的一部分;