数据存储方法及装置制造方法及图纸

技术编号:26170830 阅读:24 留言:0更新日期:2020-10-31 13:40
本发明专利技术实施例公开了一种数据存储方法及装置,涉及数据处理技术领域。其中方法包括:获取监控指标的多个样本数据;将所述多个样本数据逐个存储到本地内存和临时缓存队列;监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在有空闲线程的情况下,启动空闲线程来将所述样本数据存储到远程存储队列;以及将所述远程存储队列中的所述样本数据存储到远程数据库。多个线程同时进行克隆指标、添加额外标签、重新调整标签的操作以将样本数据存储到远程存储队列,保证临时缓存队列不被打满。降低了将样本数据存入远程数据库的时间,提高了样本数据的存储效率。

【技术实现步骤摘要】
数据存储方法及装置
本专利技术涉及数据处理
,具体涉及一种数据存储方法及装置。
技术介绍
无论是车间生产流水线,还是大数据云计算等集群类服务,都需要进行系统的监控和告警,从而尽早发现潜在问题,规避风险,保证服务的持续正常运转。目前,通常采用诸如Ganglia等集群监控系统对集群设备中目标设备的监控指标进行监控,采集监控样本数据,并将监控样本数据存储在数据库中。相关技术中,存储监控样本数据的方式结合了本地存储和远程存储两种方式,即将监控样本数据存储到本地内存和远程数据库中。在这种存储方式中,应用服务器通过访问本地内存获取监控样本数据,与该应用服务器属于同一应用服务器集群的其他应用服务器通过访问远程数据库获取监控样本数据。然而,目前,将监控样本数据存入本地内存和写入远程数据库的存储操作是串行操作,只有当一个监本样本数据完成存入本地内存和写入远程数据库的串行操作之后,才能读取下一个监控样本数据进而将下一个监控样本数据存入本地内存和写入远程数据库。当监控样本数据的样本数非常大时,会导致将全部样本数据写入本地内存和远程数据库的整体时间过长,降低监控样本数据的存储效率。
技术实现思路
为了克服相关技术中存在的将监控样本数据存入本地内存和写入远程数据库的耗时长、存储效率低的问题,本专利技术实施例提供了一种数据存储方法和装置,多个线程同时进行克隆指标、添加额外标签、重新调整标签的操作以将样本数据存储到远程存储队列,保证临时缓存队列不被打满。降低了将样本数据存入远程数据库的时间,提高了样本数据的存储效率。根据本专利技术的一方面,提供一种数据存储方法,其特征在于,包括:获取监控指标的多个样本数据;将所述多个样本数据逐个存储到本地内存和临时缓存队列;监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在有空闲线程的情况下,启动空闲线程来将所述样本数据存储到远程存储队列;以及将所述远程存储队列中的所述样本数据存储到远程数据库。优选地,所述的数据存储方法,还包括:监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在没有空闲线程的情况下,等待处于工作状态的线程工作完毕后,启动空闲线程来将所述样本数据存储到所述远程存储队列。优选地,所述将所述多个样本数据逐个存储到本地内存和临时缓存队列,包括:逐个读取所述多个样本数据,将当前读取的所述样本数据作为第一样本数据;判断所述第一样本数据是否已经被标记为被丢弃;如果所述第一样本数据已经被标记为被丢弃,则读取下一个所述样本数据;如果所述第一样本数据没有被标记为被丢弃,则将所述第一样本数据存储到所述本地内存和所述临时缓存队列。优选地,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,包括:判断所述本地内存中是否存在所述第一样本数据所属于的所述监控指标对应的本地存储单元;如果所述本地内存中存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则将所述第一样本数据存储到所述本地存储单元中;如果所述本地内存中不存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则在所述本地内存创建所述监控指标对应的本地存储单元后,将所述第一样本数据存储到所述本地存储单元中。优选地,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,还包括:判断所述临时缓存队列的长度是否超过预设阈值;如果所述临时缓存队列的长度超过所述预设阈值,则将所述第一样本数据标记为被丢弃并且写入日志信息;如果所述临时缓存队列的长度没有超过所述预设阈值,则将所述第一样本数据插入到所述临时缓存队列的队尾。优选地,所述启动空闲线程来将所述样本数据存储到远程存储队列,包括:将当前处于所述临时缓存队列的队首的所述样本数据作为第二样本数据,对所述第二样本数据进行出队操作;在所述空闲线程,克隆所述第二样本数据的所述监控指标,为所述第二样本数据添加额外标签,重新调整所述第二样本数据的标签;对所述第二样本数据进行入队操作,插入所述远程存储队列。优选地,所述将所述远程存储队列中的所述样本数据存储到远程数据库,包括:监听所述远程存储队列,如果所述远程存储队列中存储有所述第二样本数据,则当前处于所述远程存储队列的队首的所述第二样本数据出队后,将所述第二样本数据存储到数组中;如果所述数组中的所述第二样本数据的数量大于等于设定数值,则将所述数组中的所述第二样本数据存储到所述远程数据库;如果将所述数组中的所述第二样本数据存储到所述远程数据库的等待时间大于等于设定时间,则将所述数组中的所述第二样本数据存储到所述远程数据库。根据本专利技术的另一方面,提供一种数据存储装置,包括:获取单元,被配置为获取监控指标的多个样本数据;第一存储单元,被配置为将所述多个样本数据逐个存储到本地内存和临时缓存队列;第二存储单元,被配置为监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在有空闲线程的情况下,启动空闲线程来将所述样本数据存储到远程存储队列;以及第三存储单元,被配置为将所述远程存储队列中的所述样本数据存储到远程数据库。优选地,所述的数据存储装置,还包括:第四存储单元,被配置为监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在没有空闲线程的情况下,等待处于工作状态的线程工作完毕后,启动空闲线程来将所述样本数据存储到所述远程存储队列。优选地,所述将所述多个样本数据逐个存储到本地内存和临时缓存队列,包括:逐个读取所述多个样本数据,将当前读取的所述样本数据作为第一样本数据;判断所述第一样本数据是否已经被标记为被丢弃;如果所述第一样本数据已经被标记为被丢弃,则读取下一个所述样本数据;如果所述第一样本数据没有被标记为被丢弃,则将所述第一样本数据存储到所述本地内存和所述临时缓存队列。优选地,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,包括:判断所述本地内存中是否存在所述第一样本数据所属于的所述监控指标对应的本地存储单元;如果所述本地内存中存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则将所述第一样本数据存储到所述本地存储单元中;如果所述本地内存中不存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则在所述本地内存创建所述监控指标对应的本地存储单元后,将所述第一样本数据存储到所述本地存储单元中。优选地,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,还包括:判断所述临时缓存队列的长度是否超过预设阈值;如果所述临时缓存队列的长度超过所述预设阈值,则将所述第一样本数据标记为被丢弃并且写入日志信息;如果所述临时缓存队列的长度没有超过所述预设阈值,则将所述第一样本数据插入到所述临时缓存队列的队尾。优选地,所述本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:/n获取监控指标的多个样本数据;/n将所述多个样本数据逐个存储到本地内存和临时缓存队列;/n监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在有空闲线程的情况下,启动空闲线程来将所述样本数据存储到远程存储队列;以及/n将所述远程存储队列中的所述样本数据存储到远程数据库。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:
获取监控指标的多个样本数据;
将所述多个样本数据逐个存储到本地内存和临时缓存队列;
监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在有空闲线程的情况下,启动空闲线程来将所述样本数据存储到远程存储队列;以及
将所述远程存储队列中的所述样本数据存储到远程数据库。


2.根据权利要求1所述的数据存储方法,其特征在于,还包括:
监听所述临时缓存队列,当所述临时缓存队列中存储有所述样本数据时,在没有空闲线程的情况下,等待处于工作状态的线程工作完毕后,启动空闲线程来将所述样本数据存储到所述远程存储队列。


3.根据权利要求1所述的数据存储方法,其特征在于,所述将所述多个样本数据逐个存储到本地内存和临时缓存队列,包括:
逐个读取所述多个样本数据,将当前读取的所述样本数据作为第一样本数据;
判断所述第一样本数据是否已经被标记为被丢弃;
如果所述第一样本数据已经被标记为被丢弃,则读取下一个所述样本数据;
如果所述第一样本数据没有被标记为被丢弃,则将所述第一样本数据存储到所述本地内存和所述临时缓存队列。


4.根据权利要求3所述的数据存储方法,其特征在于,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,包括:
判断所述本地内存中是否存在所述第一样本数据所属于的所述监控指标对应的本地存储单元;
如果所述本地内存中存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则将所述第一样本数据存储到所述本地存储单元中;
如果所述本地内存中不存在所述第一样本数据所属于的所述监控指标对应的本地存储单元,则在所述本地内存创建所述监控指标对应的本地存储单元后,将所述第一样本数据存储到所述本地存储单元中。


5.根据权利要求4所述的数据存储方法,其特征在于,所述将所述第一样本数据存储到所述本地内存和所述临时缓存队列,还包括:
判断所述临时缓存队列的长度是否超过预设阈值;
如果所述临时缓存队列的长度超过所述预设阈值,则将所述第一样本数据标记为被丢弃并且写入日志信息;
如果所述临时缓存队列的长度没有超过所述预设阈值,则将所述第一样本数据插入到所述临时缓存队列的队尾。


6.根据权利要求1或2所述的数据存储方法,其特征在于,所述启动空闲线程来将所述样本数据存储到远程存储队列,包括:
将当前处于所述临时缓存队列的队首的所述样本数据作为第二样本数据,对所述第二样本数据进行出队操作;
在所述空闲线程,克隆所述第二样本数据的所述监控指标,为所述第二样本数据添加额外标签,重新调整所述第二样本数据的标签;
对所述第二样本数据进行入队操作,插入所述远程存储队列。


7.根据权利要求6所述的数据存储方法,其特征在于,所述将所述远程存储队列中的所述样本数据存储到远程数据库,包括:
监听所述远程存储队列,如果所述远程存储队列中存储有所述第二样本数据,则当前处于所述远程存储队列的队首的所述第二样本数据出队后,将所述第二样本数据存储到数组中;
如果所述数组中的所述第二样本数据的数量大于等于设定数值,则将所述数组中的所述第二样本数据存储到所述远程数据库;
如果将所述数组中的所述第二样本数据存储到所述远程数据库的等待时间大于等于设定时间,则将所述数组中的所述第二样本数据存储到所述远程数据库。


8.一种数据存储装置,其特征在于,包括:
获取单元,被配置为获取监控指标的多个样本数据;
第一存储单元,被配置为将所述多个样本数据逐个存储到本地内存和临时缓存队列;
第二存储单元,被配置为监听所述临时缓存队列,当所述临时缓存队列...

【专利技术属性】
技术研发人员:王亚强
申请(专利权)人:北京沃东天骏信息技术有限公司
类型:发明
国别省市:北京;11

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

1