CN111427872A - 一种数据写入方法、装置及计算机可读存储介质 - Google Patents
一种数据写入方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111427872A CN111427872A CN202010126963.1A CN202010126963A CN111427872A CN 111427872 A CN111427872 A CN 111427872A CN 202010126963 A CN202010126963 A CN 202010126963A CN 111427872 A CN111427872 A CN 111427872A
- Authority
- CN
- China
- Prior art keywords
- data
- lossy compression
- lossy
- established
- rule
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据写入方法、装置及计算机可读存储介质,首先建立有损压缩规则;接着识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分;之后对所述第一数据部分执行有损压缩操作,得到压缩数据;最后将所得到的压缩数据和所述第二数据部分写入存储空间中。
Description
技术领域
本发明涉及数据读写技术,尤其涉及一种数据写入方法、装置及计算机可读存储介质。
背景技术
在实现数据的时间序列持久化中,如果监控系统或者IoT系统需要支持大范围、高频的监控采样和数据持久化,将可能消耗非常巨大的存储资源。消耗存储资源巨大,同时造成数据分析中磁盘IO读取量巨大,进而造成时间序列分析性能不佳。
发明内容
本发明实施例为了现有时间序列持久化方案中存在的种种问题,创造性地提出了一种数据写入方法、装置及计算机可读存储介质。
根据本发明第一方面,提供了一种数据写入方法,该方法包括:建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;对所述第一数据部分执行有损压缩操作,得到压缩数据;将所得到的压缩数据和所述第二数据部分写入存储空间中。
根据本发明一实施方式,所述建立有损压缩规则包括:确定有损压缩的指标范围;为所确定的有损压缩的指标范围生成对应的有损压缩规则。
根据本发明一实施方式,所述识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分,包括:基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的指标数据,得到满足所建立的有损压缩规则的第一数据部分,所述有损数据压缩过滤器的哈希或列表用于保存适合于有损压缩的指标。
根据本发明一实施方式,所述识别待写入时间序列数据中不满足所建立的有损压缩规则的第二数据部分,包括:识别所述待写入时间序列数据中超出有损压缩的指标范围的数据,得到不满足所建立的有损压缩规则的第二数据部分;或,识别所述待写入时间序列数据中数据缺失超过缺失阈值的数据,得到不满足所建立的有损压缩规则的第二数据部分。
根据本发明一实施方式,将所得到的压缩数据和所述第二数据部分写入存储空间中,包括:基于第一存储方式将所得到的压缩数据写入存储空间中;基于不同于第一存储方式的第二存储方式将所述第二数据部分写入存储空间中。
根据本发明一实施方式,所述方法还包括:定时更新所建立的有损压缩规则。
根据本发明第二方面,还提供了一种数据写入装置,所述装置包括:有损压缩规则生成器,用于建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;有损数据压缩过滤器,用于识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;有损数据压缩处理器,用于对所述第一数据部分执行有损压缩操作,得到压缩数据;存储器,用于将所得到的压缩数据和所述第二数据部分写入存储空间中。
根据本发明一实施方式,所述有损压缩规则生成器,具体用于确定有损压缩的指标范围;为所确定的有损压缩的指标范围生成对应的有损压缩规则。
根据本发明一实施方式,所述有损数据压缩过滤器,具体用于基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的数据,得到满足所建立的有损压缩规则的第一数据部分,所述有损数据压缩过滤器的哈希或列表用于保存适合于有损压缩的指标。
根据本发明一实施方式,所述有损数据压缩过滤器,具体用于识别所述待写入时间序列数据中超出有损压缩的指标范围的数据,得到不满足所建立的有损压缩规则的第二数据部分;或,识别所述待写入时间序列数据中数据缺失超过缺失阈值的数据,得到不满足所建立的有损压缩规则的第二数据部分。
根据本发明一实施方式,所述存储器,具体用于基于第一存储方式将所得到的压缩数据写入存储空间中;基于不同于第一存储方式的第二存储方式将所述第二数据部分写入存储空间中。
根据本发明一实施方式,所述有损压缩规则生成器,还用于定时更新所建立的有损压缩规则。
根据本发明第三方面,又提供了一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任一所述的数据写入方法。
本发明实施例数据写入方法、装置及计算机可读存储介质,首先建立有损压缩规则;接着识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分;之后对所述第一数据部分执行有损压缩操作,得到压缩数据;最后将所得到的压缩数据和所述第二数据部分写入存储空间中。如此,本发明在以列存储的时间序列数据持久化方案下,对于支持有损压缩和不需要支持有损压缩的数据采用不同规则进行数据写入,有效提升数据压缩率,改善磁盘空间,从而提升数据分析能力。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明实施例数据写入方法的实现流程示意图一;
图2示出了本发明实施例数据写入方法的实现流程示意图二;
图3示出了本发明实施例数据写入方法的实现流程示意图三;
图4示出了本发明实施例数据写入装置的组成结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明实施例数据写入方法的实现流程示意图一。
在数据中心实际运维中,存在大量服务器指标变化极小,且数值远离报警阈值。这样的数据如果保存原始数值,在基于列存储的时间序列处理系统中,如HBase或InfluxDB中数据压缩率通常不会很好。而对于这样的数据采用有损压缩,则通过实测,对于监控系统中广泛使用的度量数据类型,float类型数据的压缩率可能因为数据分布不同,可以提高2-20倍。因此,在常用的时间列存储和分析系统支持通用的时间序列处理方案中,结合监控系统和IoT场景,将有可能使得数据有进一步的压缩空间。
基于此,本发明实施例创造性地提出了一种数据写入方法,如图1所示,该方法包括:操作101,建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;操作102,识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;操作103,对所述第一数据部分执行有损压缩操作,得到压缩数据;操作104,将所得到的压缩数据和所述第二数据部分写入存储空间中。
在操作101,为了实现对于支持有损压缩和不需要支持有损压缩的数据采用不同规则进行数据写入,需要首先通过有损压缩规则生成器来建立有损压缩规则。
这里,有损压缩规则通常包括有损压缩的数据区间范围和步长范围。具体地,有损压缩规则生成器建立有损压缩规则包括:确定有损压缩的指标范围;为所确定的有损压缩的指标范围生成对应的有损压缩规则。
其中,有损压缩的数据区间范围的作用在于区分系统运行安全范围内的状态和可能出现异常的系统状态下的数据写入规则。例如,CPU workload在50%之内,则执行有损压缩;在50%以上则可能因为负载而出发系统运行延迟或异常,则对于这样的区间则不执行有损压缩。其数值区间可能基于历史数据的动态阈值算法(如XGBoost或LSTM)计算所获得,也可能通过集成监控系统(如Zabbix或普罗米修斯)所获得。动态阈值算法如,XGBoost或LSTM等。监控系统等。
有损压缩的步长范围记录不同粒度的有损压缩合并规则。例如,CPU Workload在0%--25%之间,每5%一个区间。落在区间内的监控数据被归一化到临近的数值,如2.7%、3.1%、4.6%等被记录为5%,而14.1%、15.1%等则被记录为15%。而在25%到50%之间,每3%则被记录为一个区间。超过50%则不再进行有损压缩。不同的有损压缩规则基于人工标注,或者基于统计学方法计算,例如通过标准差等方法计算获得合适的步长范围。
需要补充说明的是,有损压缩规则生成器是一个可以离线或者在线模式运行的规则生成器。该有损压缩规则生成器的产出主要包括可以执行有损压缩的指标范围和有损压缩规则。有损压缩指标范围和有损压缩规则通常是一同使用的。对于可以执行有损压缩的指标范围,以监控系统为例,可能同样的CPU工作负荷(CPU workload)在不同的数据库、应用服务器等业务场景下,其报警阈值和负载呈现不同。所以其指标范围不仅包含监控指标属性,也将包含应用、服务器等属性,例如,某一数据库服务器的CPU workload和某一Web服务器的CPU workload可能被作为不同指标而进行分别标记。
这里,作为一种可选方式,在有损压缩规则生成器中,可以集成有损压缩规则表合并功能。以监控系统为例,由于相同类型的资源的相同指标,其有损压缩规则表是可以进行合并的。经过合并,可能服务器A,服务器B,服务器C的CPU Workload使用相同的有损压缩规则表,而不需要为每个服务器设置一个独立的有损压缩规则表。
进一步地,本发明该方法还可以包括:更新所建立的有损压缩规则。具体地,有损压缩规则生成器定期自动执行有损压缩规则更新,或者基于人工触发下执行有损压缩规则更新:1)如果历史数据达到一定规模(例如,拥有连续若干天或若干小时数据),且数据无严重丢失(如80%的数据被记录),则可以执行有损压缩规则。2)如果有损压缩规则存在时间达到一定时间(如连续运行30天),则根据定时规则触发有损压缩规则更新。更新之后,可能使用新的规则,也可能由于近期数据缺失而根据策略使用不同规则。即在可能数据缺失下,继续训练和应用新的规则;或继续使用已有规则;或删除该有损压缩规则,而使用无损压缩方式进行数据持久化。
在操作102~103,通过有损数据压缩过滤器来识别相应时间序列数据是否需要执行有损压缩操作。具体地,识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分。在识别得到需要进行有损压缩的第一数据部分后,执行有损压缩操作,得到对应的压缩数据;而对于识别得到的不需要进行有损压缩的第二数据部分,则不进行有损压缩。
在操作104,在操作102~103,基于有损压缩规则选择性地对时间序列数据进行压缩后,将所得到的压缩数据和未进行压缩处理的第二数据部分写入存储空间中。
本发明实施例数据写入方法、装置及计算机可读存储介质,首先建立有损压缩规则;接着识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分;之后对所述第一数据部分执行有损压缩操作,得到压缩数据;最后将所得到的压缩数据和所述第二数据部分写入存储空间中。如此,本发明在以列存储的时间序列数据持久化方案下,对于支持有损压缩和不需要支持有损压缩的数据采用不同规则进行数据写入,有效提升数据压缩率,改善磁盘空间,从而提升数据分析能力。另外,兼容既有基于列存储的时间序列数据库接口,上层应用不需要修改就可以与此方案集成。系统适应性更强,易于各个系统接入和集成。而且,伴随存储成本和分析成本降低,将有助于持久化更多时间序列数据。
图2示出了本发明实施例数据写入方法的实现流程示意图二。
参考图2,本发明实施例数据写入方法包括:操作201,建立有损压缩规则;操作202,基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的指标数据,得到满足所建立的有损压缩规则的第一数据部分;操作203,识别待写入时间序列数据中不满足所建立的有损压缩规则的第二数据部分;操作204,对所述第一数据部分执行有损压缩操作,得到压缩数据;操作205,将所得到的压缩数据和所述第二数据部分写入存储空间中。
其中,操作201,204和205的具体实现过程与图1所示实施例中操作101,103和104的具体实现过程相类似,这里不再赘述。
在操作202,通过有损数据压缩过滤器是基于哈希算法来执行有损压缩的指标。如果输入数据的指标位于有损数据压缩过滤器的哈希或列表中,则基于表明该数据满足所建立的有损压缩规则的第一数据部分,进入后续操作204的有损压缩处理流程。否则,说明该数据为不满足所建立的有损压缩规则的第二数据部分,跳过有损压缩过程,直接以无损压缩形式入库。
在操作203,识别待写入时间序列数据中不满足所建立的有损压缩规则的第二数据部分,包括:识别所述待写入时间序列数据中超出有损压缩的指标范围的数据,得到不满足所建立的有损压缩规则的第二数据部分;或,识别所述待写入时间序列数据中数据缺失超过缺失阈值的数据,得到不满足所建立的有损压缩规则的第二数据部分。
在一示例中,如果数据为新接入的监控系统或IoT系统的数据,即超出了已建立的有损压缩规则的指标范围,则表明该数据为不满足有损压缩规则的第二数据部分,跳过有损压缩过程,直接以无损压缩形式入库。
又一示例中,如果数据存在严重丢失(如80%的数据丢失,仅有20%的数据被记录),则表明数据缺失超过缺失阈值,该数据为不满足有损压缩规则的第二数据部分,跳过有损压缩过程,直接以无损压缩形式入库。
如此,本发明在以列存储的时间序列数据持久化方案下,对于支持有损压缩和不需要支持有损压缩的数据采用不同规则进行数据写入,有效提升数据压缩率,改善磁盘空间,从而提升数据分析能力。另外,兼容既有基于列存储的时间序列数据库接口,上层应用不需要修改就可以与此方案集成。系统适应性更强,易于各个系统接入和集成。而且,伴随存储成本和分析成本降低,将有助于持久化更多时间序列数据。
图3示出了本发明实施例数据写入方法的实现流程示意图三。
参考图3,本发明实施例数据写入方法包括:操作301,建立有损压缩规则;操作302,识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分;操作303,对所述第一数据部分执行有损压缩操作,得到压缩数据;操作304,基于第一存储方式将所得到的压缩数据写入存储空间中;基于不同于第一存储方式的第二存储方式将所述第二数据部分写入存储空间中。
其中,操作301~303的具体实现过程与图1所示实施例中操作101~103的具体实现过程相类似,这里不再赘述。
在操作304,对于有损压缩数据(即对第一数据部分执行有损压缩处理后的压缩数据)和无损压缩数据(即第二数据部分)采用不同的存储方式进行存储。
对于有损压缩数据而言,其存储方式存在两种模式:a)数据写入代理模式;b)基于重写的数据清洗模式。通常来讲,采用数据写入代理模式或基于重写的数据清洗模式两种中的一种运行即可满足应用需求。如果需要,也可以同时使用两种模式。在实际应用中,需要至少选择一种以实现有损压缩。
在数据写入代理模式下,被持久化的数据首先通过数据写入代理进行过滤然后再进行入库。在这个模式中,通常在数据写入代理中内置“有损数据压缩过滤器”通过查表法将数据按照确定的步长进行自动清洗,然后将清洗之后的数据保存到时间序列数据库中。这里,查表法的计算方式可能有多种。例如,计算方式a,首先进行不同步长范围比较,然后通过余数计算获得对应步长的数值,如16对5取余数为3倍余1,则抛去1,使用3x5=15,则以15进行入库;计算方式b,基于索引获得步长,如15<16<20,则使用15或者20或者四舍五入到临近值的方式获得入库数值;计算方式c,将每个数值建立映射表,如{15,15},{16,15},{17,15}等通过映射表进行查表获得。
这里,数据代理写入模式可以应用在所有列式存储的时间序列数据库中,无论基于HBase或者InfluxDB等都可以适用。通常数据写入代理模式的调用接口与其背后的时间序列数据库协议一致。例如,以InfluxDB保存时间序列数据,则其数据写入代理所接受的调用接口与InfluxDB一致,以保证可以与其生态下相关应用或模块良好集成。如果调用接口不一致,则需要提供独立的接口调用方式,例如不同的Web API协议。
在基于重写的数据清洗模式下,数据以无损压缩模式入库。独立运行的服务进程记录清洗数据的时间位置,并对时间位置之后的数据读取、清洗并更新到时间序列数据库中。基于重写的模式,不可以应用在以Hadoop生态下的列存储,例如HBase,因为会带来更大的存储开销。但是可以应用在以InfluxDB为代表的时间序列数据库中。
另外,需要补充说明是,在基于重新写入的模式下,对于无损压缩数据而言,可以获取历史一段时间的数据,在离线计算中通过执行离群点计算获得一段时间系统运行的离群点数据。尽管离群点数据可能没有超过阈值,也将以原始数据方式进行无损压缩。离群点计算方式有很多。常见的方式,如使用XGBoost或者LSTM配合马氏距离(Mahalanobisdistance)等方式计算。在此模式中,离群点计算位于重新写入模块中,有损过滤器之前执行计算。因为一旦经过有损压缩过滤器,将可能离群点数据也被清洗而无法对其执行无损压缩保存。
如此,本发明在以列存储的时间序列数据持久化方案下,对于支持有损压缩和不需要支持有损压缩的数据采用不同规则进行数据写入,有效提升数据压缩率,改善磁盘空间,从而提升数据分析能力。另外,兼容既有基于列存储的时间序列数据库接口,上层应用不需要修改就可以与此方案集成。系统适应性更强,易于各个系统接入和集成。而且,伴随存储成本和分析成本降低,将有助于持久化更多时间序列数据。
同理,基于上文所述数据写入方法,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器至少执行如下所述的操作步骤:操作101,建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;操作102,识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;操作103,对所述第一数据部分执行有损压缩操作,得到压缩数据;操作104,将所得到的压缩数据和所述第二数据部分写入存储空间中。
进一步,基于如上所述数据写入方法,本发明实施例还提供一种数据写入装置,如图4所示,该数据写入装置40包括:有损压缩规则生成器401,用于建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;有损数据压缩过滤器402,用于识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;有损数据压缩处理器403,用于对所述第一数据部分执行有损压缩操作,得到压缩数据;存储器404,用于将所得到的压缩数据和所述第二数据部分写入存储空间中。
根据本发明一实施方式,有损压缩规则生成器401,具体用于确定有损压缩的指标范围;为所确定的有损压缩的指标范围生成对应的有损压缩规则。
根据本发明一实施方式,有损数据压缩过滤器402,具体用于基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的数据,得到满足所建立的有损压缩规则的第一数据部分,所述有损数据压缩过滤器的哈希或列表用于保存适合于有损压缩的指标。
根据本发明一实施方式,有损数据压缩过滤器402,具体用于识别所述待写入时间序列数据中超出有损压缩的指标范围的数据,得到不满足所建立的有损压缩规则的第二数据部分;或,识别所述待写入时间序列数据中数据缺失超过缺失阈值的数据,得到不满足所建立的有损压缩规则的第二数据部分。
根据本发明一实施方式,存储器404,具体用于基于第一存储方式将所得到的压缩数据写入存储空间中;基于不同于第一存储方式的第二存储方式将所述第二数据部分写入存储空间中。
根据本发明一实施方式,有损压缩规则生成器401,还用于定时更新所建立的有损压缩规则。
这里需要指出的是:以上对数据写入装置实施例的描述,与前述图1至3所示的方法实施例的描述是类似的,具有同前述图1至3所示的方法实施例相似的有益效果,因此不做赘述。对于本发明数据写入装置实施例中未披露的技术细节,请参照本发明前述图1至3所示的方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据写入方法,其特征在于,所述方法包括:
建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;
识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;
对所述第一数据部分执行有损压缩操作,得到压缩数据;
将所得到的压缩数据和所述第二数据部分写入存储空间中。
2.根据权利要求1所述的方法,其特征在于,所述建立有损压缩规则包括:
确定有损压缩的指标范围;
为所确定的有损压缩的指标范围生成对应的有损压缩规则。
3.根据权利要求1所述的方法,其特征在于,所述识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分,包括:
基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的指标数据,得到满足所建立的有损压缩规则的第一数据部分,所述有损数据压缩过滤器的哈希或列表用于保存适合于有损压缩的指标。
4.根据权利要求1所述的方法,其特征在于,所述识别待写入时间序列数据中不满足所建立的有损压缩规则的第二数据部分,包括:
识别所述待写入时间序列数据中超出有损压缩的指标范围的数据,得到不满足所建立的有损压缩规则的第二数据部分;
或,识别所述待写入时间序列数据中数据缺失超过缺失阈值的数据,得到不满足所建立的有损压缩规则的第二数据部分。
5.根据权利要求1所述的方法,其特征在于,将所得到的压缩数据和所述第二数据部分写入存储空间中,包括:
基于第一存储方式将所得到的压缩数据写入存储空间中;
基于不同于第一存储方式的第二存储方式将所述第二数据部分写入存储空间中。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
定时更新所建立的有损压缩规则。
7.一种数据写入装置,其特征在于,所述装置包括:
有损压缩规则生成器,用于建立有损压缩规则,所述有损压缩规则包括有损压缩的数据区间范围和步长范围;
有损数据压缩过滤器,用于识别待写入时间序列数据中满足所建立的有损压缩规则的第一数据部分和不满足所建立的有损压缩规则的第二数据部分,所述第二数据部分为无压缩数据;
有损数据压缩处理器,用于对所述第一数据部分执行有损压缩操作,得到压缩数据;
存储器,用于将所得到的压缩数据和所述第二数据部分写入存储空间中。
8.根据权利要求7所述的装置,其特征在于,
所述有损压缩规则生成器,具体用于确定有损压缩的指标范围;为所确定的有损压缩的指标范围生成对应的有损压缩规则。
9.根据权利要求7所述的装置,其特征在于,
所述有损数据压缩过滤器,具体用于基于哈希算法识别待写入时间序列数据中位于有损数据压缩过滤器的哈希或列表的数据,得到满足所建立的有损压缩规则的第一数据部分,所述有损数据压缩过滤器的哈希或列表用于保存适合于有损压缩的指标。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1至6任一项所述的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126963.1A CN111427872A (zh) | 2020-02-28 | 2020-02-28 | 一种数据写入方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010126963.1A CN111427872A (zh) | 2020-02-28 | 2020-02-28 | 一种数据写入方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111427872A true CN111427872A (zh) | 2020-07-17 |
Family
ID=71547328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010126963.1A Pending CN111427872A (zh) | 2020-02-28 | 2020-02-28 | 一种数据写入方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427872A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568959A (zh) * | 2021-08-06 | 2021-10-29 | 联想(北京)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197181A (zh) * | 2017-12-25 | 2018-06-22 | 广州亦云信息技术股份有限公司 | 一种时序数据的压缩存储方法、电子设备及存储介质 |
US10203897B1 (en) * | 2016-12-02 | 2019-02-12 | Nutanix, Inc. | Dynamic data compression |
CN109756230A (zh) * | 2019-01-03 | 2019-05-14 | Oppo广东移动通信有限公司 | 数据压缩存储方法、数据压缩方法、装置、设备及介质 |
CN109962710A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 数据压缩方法、电子设备及计算机可读存储介质 |
CN110543281A (zh) * | 2019-07-19 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种存储压缩实现方法、装置、设备及存储介质 |
-
2020
- 2020-02-28 CN CN202010126963.1A patent/CN111427872A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10203897B1 (en) * | 2016-12-02 | 2019-02-12 | Nutanix, Inc. | Dynamic data compression |
CN109962710A (zh) * | 2017-12-14 | 2019-07-02 | 阿里巴巴集团控股有限公司 | 数据压缩方法、电子设备及计算机可读存储介质 |
CN108197181A (zh) * | 2017-12-25 | 2018-06-22 | 广州亦云信息技术股份有限公司 | 一种时序数据的压缩存储方法、电子设备及存储介质 |
CN109756230A (zh) * | 2019-01-03 | 2019-05-14 | Oppo广东移动通信有限公司 | 数据压缩存储方法、数据压缩方法、装置、设备及介质 |
CN110543281A (zh) * | 2019-07-19 | 2019-12-06 | 苏州浪潮智能科技有限公司 | 一种存储压缩实现方法、装置、设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568959A (zh) * | 2021-08-06 | 2021-10-29 | 联想(北京)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dong et al. | Optimizing Space Amplification in RocksDB. | |
CN108399263B (zh) | 时序数据的存储和查询方法及存储和处理平台 | |
US9355112B1 (en) | Optimizing compression based on data activity | |
CN108197181B (zh) | 一种时序数据的压缩存储方法、电子设备及存储介质 | |
US20180314712A1 (en) | Multi-level compression for storing data in a data store | |
CN109241072A (zh) | 基于Canal的缓存更新方法及系统 | |
US20180329921A1 (en) | Method and apparatus for storing time series data | |
CN111339175B (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN108399186A (zh) | 一种数据采集方法及装置 | |
WO2017162086A1 (zh) | 任务调度方法和装置 | |
CN114979158B (zh) | 一种资源监控方法、系统、设备及计算机可读存储介质 | |
CN112800061B (zh) | 一种数据存储方法、装置、服务器及存储介质 | |
JP2012198598A (ja) | データ保存装置、データ保存方法 | |
CN111143158A (zh) | 一种监控数据实时存储方法、系统、电子设备及存储介质 | |
CN110502510B (zh) | 一种wifi终端设备轨迹数据的实时分析和去重方法及系统 | |
CN105653561A (zh) | 数据的处理方法及装置 | |
CN111159515B (zh) | 数据处理方法、装置及电子设备 | |
CN111427872A (zh) | 一种数据写入方法、装置及计算机可读存储介质 | |
CN111291083A (zh) | 网页源码数据处理方法、装置及计算机设备 | |
JP5956064B2 (ja) | 計算機システム、データ管理方法、及び計算機 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN110909062A (zh) | 数据处理方法、装置、电子设备及可读存储介质 | |
CN114518848B (zh) | 存储数据的处理方法、装置、设备和介质 | |
CN115878035A (zh) | 一种数据读取方法、装置、电子设备及存储介质 | |
CN112631517B (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 |