CN108573035A - 一种数据存储方法 - Google Patents
一种数据存储方法 Download PDFInfo
- Publication number
- CN108573035A CN108573035A CN201810282208.5A CN201810282208A CN108573035A CN 108573035 A CN108573035 A CN 108573035A CN 201810282208 A CN201810282208 A CN 201810282208A CN 108573035 A CN108573035 A CN 108573035A
- Authority
- CN
- China
- Prior art keywords
- hash
- website
- data
- equipment
- device type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据存储方法,采用多机集群,包括以下步骤:对key进行多维度分类;采用hash对数据进行写入、存储和查询;经数据库接口存入数据库。使得数据中心的日志数据存储纳入一个统一框架之下,构建了一个高效、稳定的一种基于规模化模块化数据中心数据存储方法。
Description
技术领域
本发明涉及数据存储技术领域,具体地说是一种数据存储方法。
背景技术
数据中心综合管理系统把模块化数据中心(Module Data Center,MDC)当做一个整体来进行管理,包括:服务器、存储设备、网络设备、虚拟机、UPS、配电柜、精密空调、门禁、温湿度传感器、烟雾探测器、温感探测器、漏水传感器、翻转天窗、网络摄像机及设备监控等多种监控对象。
面对规模化部署的MDC,服务器等IT设备的数据可以到达成千上万台,面对庞大的调用量及复杂的调用链路,单靠人力难以维护,只能依赖一个全方位监控、稳定、快速的运维监控系统。
数据存储同样重要,数据中心综合管理系统每分钟要拿一个月数据出来,还有比如我们的故障分析,一个模块有异常需要要读取所有机器调用信息、CPU、内存、网络、各种进程信息等,如果机器数特别多,一次读取的数据量会超过一万条记录。
常见数据存储方法从日志里面采集,然后本地汇总打包,再发到全局服务器里面汇总。针对规模化模块化数据中心应用场景,文本日志处理消耗过大,日志格式太多难以维护。有时也会采用自定义文本类型日志上报。
由于业务及后台服务非常多,日志格式增长非常快,难以持续进行维护,而且不管是CPU、网络、存储、统计都出现非常大的压力,难以保证监控系统本身的稳定。
发明内容
本发明实施例中提供了一种数据存储方法,以解决现有技术中的数据维护困难、监控系统不稳定的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明提供了一种数据存储方法,采用多机集群,包括以下步骤:
对key进行多维度分类;
采用hash对数据进行写入、存储和查询;
经数据库接口存入数据库。
在第一种可能的实现方式中,所述对key进行多维度分类具体包括:
将key分为时间-站点和设备类型-设备两种维度。
在第二种可能的实现方式中,采用hash对数据进行写入包括以下方法:
按照时间-站点对数据进行hash计算,得到hash(时间-站点)值;
对hash(时间-站点)值按照设备类型-设备再次进行hash计算,得到hash(时间-站点-设备类型-设备)值;
将hash(时间-站点-设备类型-设备)值保存至数据库。
在第三种可能的实现方式中,采用hash对数据进行存储包括以下方式:
根据维度进行多线程共享内存存储,具体包括:logid+自定义数据字段。
在第四种可能的实现方式中,采用hash对数据进行查询包括以下方法:
采用二分查找法实现前置匹配查询。
在第五种可能的实现方式中,还包括对hash(时间-站点-设备类型-设备)值的均衡处理,包括以下方法:
对时间-站点-设备类型-设备在规定时间内进行重新分配。
由以上技术方案可见,本发明通过将key进行多维度分类,采用多机集群,使用hash对数据进行写入和查询的方式本发明通过增加查询结果,这样实现的查询性能非常高。key分成了时间-站点和设备类型-设备两种类型,能够重复性减少存储空间。通过hash(时间-站点-设备类型-设备)值的均衡处理,减少内存占用。对于选择性高,或者常用的维度,采用共享内存存储,能够彼此隔离,在指定了维度去查的时候可以不用扫描所有的数据。使得数据中心的日志数据存储纳入一个统一框架之下,构建了一个高效、稳定的一种基于规模化模块化数据中心数据存储方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种数据存储方法的流程示意图;
图2为本发明实施例对数据进行写入的方法流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,一种数据存储方法,采用多机集群,包括以下步骤:
S1、对key进行多维度分类;
S2、采用hash对数据进行写入、存储和查询;
S3、经数据库接口存入数据库。
因为数据量很大,一台机不可能撑得住,因此本发明采用多机集群,使用hash(时间-站点)对数据进行写入和查询。
对key进行多维度分类具体包括:将key分为时间-站点和设备类型-设备两种维度。能够重复性减少存储空间,不限制数据模型,支持多个维度,支持多个值,允许一个周期内存多个值,能够按时间范围快速读取原数据。
如图2所示,采用hash对数据进行写入包括以下方法:
S201、按照时间-站点对数据进行hash计算,得到hash(时间-站点)值;
S202、对hash(时间-站点)值按照设备类型-设备再次进行hash计算,得到hash(时间-站点-设备类型-设备)值;
S203、将hash(时间-站点-设备类型-设备)值保存至数据库。
对数据写入来说,如果一分钟一条记录,则数据量过大。因此,本发明先缓存一定时间的数据,隔一段时间批量合并成一天一条记录。
采用hash对数据进行存储包括以下方式:
根据维度进行多线程共享内存存储,具体包括:logid+自定义数据字段。对于选择性高,或者常用的维度,采用共享内存,能够彼此隔离,在指定维度去查的时候可以不用扫描所有的数据。
采用hash对数据进行查询包括以下方法:采用二分查找法实现前置匹配查询。
在S203后还包括对hash(时间-站点-设备类型-设备)值的均衡处理,包括以下方法:
对时间-站点-设备类型-设备在规定时间内进行重新分配,减少内存占用。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种数据存储方法,其特征是,采用多机集群,包括以下步骤:
对key进行多维度分类;
采用hash对数据进行写入、存储和查询;
经数据库接口存入数据库。
2.根据权利要求1所述的方法,其特征是,所述对key进行多维度分类具体包括:
将key分为时间-站点和设备类型-设备两种维度。
3.根据权利要求1所述的方法,其特征是,采用hash对数据进行写入包括以下方法:
按照时间-站点对数据进行hash计算,得到hash(时间-站点)值;
对hash(时间-站点)值按照设备类型-设备再次进行hash计算,得到hash(时间-站点-设备类型-设备)值;
将hash(时间-站点-设备类型-设备)值保存至数据库。
4.根据权利要求2所述的方法,其特征是,采用hash对数据进行存储包括以下方式:
根据维度进行多线程共享内存存储,具体包括:logid+自定义数据字段。
5.根据权利要求2所述的方法,其特征是,采用hash对数据进行查询包括以下方法:
采用二分查找法实现前置匹配查询。
6.根据权利要求3所述的方法,其特征是,还包括对hash(时间-站点-设备类型-设备)值的均衡处理,包括以下方法:
对时间-站点-设备类型-设备在规定时间内进行重新分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810282208.5A CN108573035A (zh) | 2018-04-02 | 2018-04-02 | 一种数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810282208.5A CN108573035A (zh) | 2018-04-02 | 2018-04-02 | 一种数据存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108573035A true CN108573035A (zh) | 2018-09-25 |
Family
ID=63574535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810282208.5A Pending CN108573035A (zh) | 2018-04-02 | 2018-04-02 | 一种数据存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108573035A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345521A (zh) * | 2013-07-17 | 2013-10-09 | 腾讯科技(深圳)有限公司 | 一种在哈希表数据库中处理键值的方法和装置 |
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
-
2018
- 2018-04-02 CN CN201810282208.5A patent/CN108573035A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345521A (zh) * | 2013-07-17 | 2013-10-09 | 腾讯科技(深圳)有限公司 | 一种在哈希表数据库中处理键值的方法和装置 |
CN104133661A (zh) * | 2014-07-30 | 2014-11-05 | 西安电子科技大学 | 基于列存储的多核并行哈希分区优化方法 |
CN106294573A (zh) * | 2016-07-28 | 2017-01-04 | Tcl集团股份有限公司 | 一种海量数据实时查询方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309130A (zh) | 一种用于主机性能监控的方法及装置 | |
CN104298588B (zh) | 一种持续集成的实现方法及装置 | |
CN103927631A (zh) | 一种基于电力系统质量体系、风险评估与安全测评的安全综合管理平台 | |
CN108809701A (zh) | 一种数据中心智慧数据平台及其实现方法 | |
CN110224874A (zh) | 一种设备故障的处理方法及装置 | |
CN105005528A (zh) | 一种日志信息提取方法及装置 | |
CN107844506B (zh) | 一种实现数据库与缓存的数据同步的方法及装置 | |
CN111125284A (zh) | 一种一体化时空大数据与地理信息公共服务云平台 | |
CN111858278A (zh) | 基于大数据处理的日志分析方法、系统及可读存储装置 | |
CN109711849B (zh) | 以太坊地址画像生成方法、装置、电子设备及存储介质 | |
CN114840519A (zh) | 一种数据打标签的方法、设备及存储介质 | |
CN108573035A (zh) | 一种数据存储方法 | |
CN115016902B (zh) | 工业流程数字化管理系统及方法 | |
CN107423035A (zh) | 一种软件开发过程产品数据管理系统 | |
CN102436599A (zh) | 基于级联式定密信息同步处理系统的定密信息核算方法 | |
CN112346938B (zh) | 操作审计方法、装置及服务器和计算机可读存储介质 | |
CN114048252A (zh) | 生产数据的分析方法、装置、存储介质及处理器 | |
CN112783920A (zh) | 基于数据编排的工业物联网数据实时计算方法和系统 | |
US10558647B1 (en) | High performance data aggregations | |
CN109885543A (zh) | 基于大数据集群的日志处理方法及装置 | |
CN114997123B (zh) | 一种检查企业的方法、装置、电子设备及存储介质 | |
US20130173340A1 (en) | Product Offering Analytics | |
CN107861995A (zh) | Linux服务器代码实时同步方法及装置 | |
CN109684159A (zh) | 分布式消息系统的状态监控方法、装置、设备及存储介质 | |
CN111597179B (zh) | 自动清洗数据的方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180925 |