CN111427871A - 数据处理方法、装置、设备 - Google Patents
数据处理方法、装置、设备 Download PDFInfo
- Publication number
- CN111427871A CN111427871A CN201910019653.7A CN201910019653A CN111427871A CN 111427871 A CN111427871 A CN 111427871A CN 201910019653 A CN201910019653 A CN 201910019653A CN 111427871 A CN111427871 A CN 111427871A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- processed
- value
- determining
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims description 62
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据处理方法、装置、设备,该方法包括:获取待处理数据的数据编码值和数据产生时间;根据数据编码值和数据产生时间确定与待处理数据对应的索引;若与该索引对应的数据指纹集合中存在上述数据编码值,则删除这条待处理数据,以避免数据指纹集合中存入重复的数据。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据处理方法、装置、设备。
背景技术
随着互联网的发展,一些大数据平台每天需要处理高达十几PB级别的海量数据。所有的数据分析、报表统计等业务需求都依赖于高质量的数据,如果数据质量不高,依赖数据做决策的业务都会受到严重影响。
而与此同时,很多业务对于大量的实时流式数据的处理需求也日益增加,从而出现了一些适用于流式数据处理的解决方案。
对于某种业务来说,其为用户提供的服务需要满足幂等性的特点。所谓幂等性,就是指一次请求和多次请求会返回同样的数据。比如,用户发起一次付款请求,支付业务应该只扣用户账户一次钱,即使是遇到网络故障等问题而重发付款请求,也应该只扣一次钱。
而要满足业务的幂等性需求,一个重要的前提是:需要保证业务所处理的数据中不存在重复数据。
发明内容
本发明实施例提供一种数据处理方法、装置、设备,用以实现数据的去重处理。
第一方面,本发明实施例提供一种数据处理方法,包括:
获取待处理数据的数据编码值和数据产生时间;
根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引;
若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
第二方面,本发明实施例提供一种数据处理装置,包括:
获取模块,用于获取待处理数据的数据编码值和数据产生时间;
确定模块,用于根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引;
处理模块,用于若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
第三方面,本发明实施例提供一种电子设备,该电子设备包括处理器和存储器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的数据处理方法。
本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的数据处理方法。
在本发明实施例提供的数据处理方案中,对数据的指纹信息进行了定义,定义数据的指纹信息中至少包括数据编码值和数据产生时间,从而保证数据标识的唯一性。当一条新的数据产生后,在对该条数据进行处理的过程中,首先获取该数据的数据编码值和数据产生时间,进而根据数据编码值和数据产生时间确定该数据对应的索引,在该索引所对应的数据指纹集合中对该数据进行判重处理:若该索引对应的数据指纹集合中存在这条数据的数据编码值,说明这条数据是一条重复数据,删除这条数据,以避免数据指纹集合中存入重复的数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的一种数据处理方法的流程图;
图2为根据本发明实施例提供的另一种数据处理方法的流程图;
图3为根据本发明实施例提供的又一种数据处理方法的流程图;
图4为根据本发明实施例提供的再一种数据处理方法的流程图;
图5为根据本发明实施例提供的一种数据处理方法的执行过程的交互示意图;
图6为根据本发明实施例提供的一种数据处理装置的结构示意图;
图7为与图6提供的数据处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
下面先对本发明实施例提供的数据处理方法可以适用于的场景以及背景进行概要介绍。
本发明实施例提供的数据处理方法可以适用于对流式数据进行计算的场景中,在该场景中,本文所提及的待处理的数据可以是从数据源直接收集的数据,也可以是数据源产生的数据经过流计算引擎进行某种处理后的数据。
其中,数据源例如可以是某种应用程序、某个服务进程等等。
其中,流计算引擎对数据源产生的数据的处理比如可以是:从某个数据源产生的若干数据中采集某种特定类型的数据,或者,从多个数据源产生的数据中采集某个特定的数据源产生的数据,或者,从某个数据源产生的数据中采集特定字段内容符合设定条件的数据。其中,一条数据可以包括多个字段。
本发明实施例提供的数据处理方法可以由某个服务器来执行,该服务器可以被用于对一个或多个业务进行管理,该一个或多个业务需要根据服务器对待处理的数据的处理结果做决策。
举例来说,假设服务器对数据的处理规则为:计数符合特定条件的数据的个数,从而,某业务在发现该个数的累计值达到预设值时,产生告警信息。
以该告警业务为例,假设截止到T1时刻,服务器已经处理的数据个数为N条,如果此时,由于网络故障或其他意外情况,服务器短暂时间内无法继续正常地对数据进行处理。假设在T2时刻恢复正常运行,此时,服务器可能会从T1时刻之前产生的某条数据开始,对其后续产生的数据进行处理,这就意味着,会有一部分数据被服务器重复地进行处理,从而,服务器的计数结果中可能包含重复数据的作用,这将最终导致告警业务的幂等性受到影响。
因此,为了保证业务的幂等性,本发明实施例提供了一种数据处理方法,以避免数据的重复性。
图1为根据本发明实施例提供的一种数据处理方法的流程图,如图1所示,该方法包括如下步骤:
101、获取待处理数据数据编码值和数据产生时间。
102、根据数据编码值和数据产生时间确定与待处理数据对应的索引。
103、若与该索引对应的数据指纹集合中存在待处理数据的数据编码值,则删除该待处理数据。
本实施例中,待处理数据可以是数据源不断产生的流式数据中的每条数据,也可以是比如某个数据表中包含的多条数据。
数据的指纹信息用于唯一地标识一条数据。本实施例中,定义一条数据的指纹信息包括该数据的数据编码值以及数据产生时间,因此,步骤101中实质上就是获得待处理数据的指纹信息。
其中,待处理数据的数据编码值由对待处理数据中包含的至少一个字段内容进行哈希运算得到,当然,也可以由其他编码算法对待处理数据进行编码以得到其对应的数据编码值。
举例来说,假设一条待处理数据包括字段1、字段2和字段3,且这三个字段的字段内容分别是a、b和c,则可以将a、b和c拼接起来得到abc,对abc进行哈希运算得到该条待处理数据的数据编码值。
本实施例中,之所以说以数据编码值和数据产生时间能够对数据进行唯一性的标识,是因为,即使两条不同的数据对应的数据编码值可能会相同,但是,这两天数据的产生时间却不相同,因此,以数据编码值和数据产生时间可以对数据进行唯一性标识。
另外,可选地,数据的指纹信息中还可以包括处理规则标识。该处理规则标识用于标识一条处理规则,该处理规则体现了某业务对该数据的处理需求。比如前文举例的告警业务,其对应的处理规则比如可以是:从某数据源产生的流式数据中采集某个字段的字段内容符合某设定条件的数据,统计采集出的数据的个数。从而,在数据产生后,可以基于各条处理规则对数据来源的要求,确定该条数据对应的处理规则标识。
本发明实施例中,服务器可以引入redis作为一种存储载体,以用于内存计算和数据暂存。实际应用中,该内存计算和数据暂存比如可以体现为:在服务器获取到待处理数据后,可以先将待处理数据暂存到诸如redis等存储载体中,之后可以根据该待处理数据对应的处理规则对该待处理数据进行处理,将处理结果暂存到诸如redis等存储载体中。而其中,对待处理数据的存储和对数据处理结果的存储是两种不同的存储行为,每种存储行为对应的存储索引是不同的。
而众所周知,redis对数据的存储是采用键值对(key-value)的形式存储的。因此,本文中所说的索引可以是指key,数据指纹集合是指value集合,value集合中用于存储对应于同一key的各value值,value值实际上就是某条数据的数据编码值。
当然,可以用作存储载体的不止可以是redis,也可以是其他类型的数据库。
本实施例中,主要说明服务器对获取到的数据(即为上述待处理数据)向存储载体中进行存储的过程。
具体地,服务器在得到待处理数据的指纹信息后,可以根据该指纹信息生成与该待处理数据对应的索引。其中,可选地,在指纹信息中包括待处理数据的数据编码值和数据产生时间的情况下,可以根据该数据编码值和数据产生时间确定待处理数据对应的索引。可选地,在指纹信息中包括数据的数据编码值、数据产生时间和数据对应的处理规则标识的情况下,可以根据该数据编码值、数据产生时间和处理规则标识确定待处理数据对应的索引。
其中,一种最为简单的确定索引的方式为:待处理数据对应的索引即为该待处理数据的指纹信息中所包含的参数的组合。比如,在指纹信息中包括待处理数据的数据编码值和数据产生时间的情况下,该待处理数据对应的索引即为:数据产生时间_数据编码值。再比如,在指纹信息中包括待处理数据的数据编码值、数据产生时间和数据对应的处理规则标识的情况下,该待处理数据对应的索引即为:处理规则标识_数据产生时间_数据编码值。
针对某个索引来说,其对应的数据指纹集合即value集合中存储有:具有该索引的各数据所分别对应的数据编码值。举例来说,假设某索引为AAA,其对应的数据指纹集合中存储有hashcode1和hashcode2这两个数据编码值,则说明这两个数据编码值对应的两条数据具有相同的索引值AAA。
因此,针对当前的待处理数据,在确定出其对应的索引之后,可以遍历该索引对应的数据指纹集合,判断该数据指纹集合中存储的数据编码值中是否存在该待处理数据对应的数据编码值,如果存在,说明该待处理数据与该数据指纹集合中某数据编码值所对应的数据是重复的,删除该待处理数据,以避免数据的重复存入。相反地,如果数据指纹集合中存储的数据编码值中不存在该待处理数据对应的数据编码值,则可以将该待处理数据的数据编码值存入该数据指纹集合,进而可以根据待处理数据对应的处理规则标识对待处理数据进行数据处理。
综上,在上述实施例中,至少根据数据的数据编码值和数据产生时间定义数据的指纹信息,使得数据具有唯一性标识,以避免数据标识不唯一对数据是否为重复数据的判定结果的不利影响,以便基于该数据指纹信息实现对数据的准确去重。
图2为根据本发明实施例提供的另一种数据处理方法的流程图,如图2所示,该方法包括如下步骤:
201、获取待处理数据的数据编码值和数据产生时间。
202、根据设定的时间分片条件,确定数据产生时间对应的时间分片。
203、确定待处理数据对应的索引包括该时间分片和数据编码值。
204、若与该索引对应的数据指纹集合中存在上述数据编码值,则删除待处理数据。
以redis作为数据的暂存载体为例,由于存储资源有限,而流式数据的产生量又是海量的,因此,为了更加高效地使用存储空间,也为了进一步保证数据去重效果,本实施例中,提供了如下的索引(key)定义方式:
key:{timesplit}_{hashcode},其中,_代表的含义是拼接,timesplit代表时间分片,hashcode代表数据编码值。
举例来说,假设某条待处理的数据A对应的数据产生时间即时间戳为timestamp(A),该数据A对应的数据编码值为hashcode(A),则可以根据timestamp(A)和时间分片的定义确定该数据A对应的时间分片为timesplit(A),从而,该数据A对应的索引为:{timesplit(A)}_{hashcode(A)}。比如,数据A的数据产生时间为2018年12月12日14:28:15,时间分片的定义为:取时间精度为1分钟,则数据A对应的时间分片为:2018年12月12日14:28。基于此,假设另一条数据B的数据产生时间为2018年12月12日14:28:37,则根据该时间分片的定义数据B对应的时间分片也是:2018年12月12日14:28。但是,在本实施例的索引定义方式中,由于数据A和数据B对应的数据编码值不同,所以这两条数据对应的索引是不同的。
上述仅示意性地举例了一种时间分片的定义,实际上,可以根据业务需求而灵活地定义一个时间分片的时间范围,比如5分钟、10分钟。
另外,可选地,在考虑数据处理规则标识的情况下,上述索引还可以定义为:
key:{ruleid}_{timesplit}_{hashcode},其中,ruleid代表处理规则标识。
在索引中加入ruleid,相当于对数据按照ruleid进行了聚类存储。
基于上述索引的定义方式可知,如果多条数据,其对应于相同的数据编码值,同时也对应于相同的时间分片,则该多条数据将具有相同的索引,从而针对这多条数据来说,仅需要存储一条索引即可。也就是说,该时间分片的定义,可以降低需要存储的索引的数量,从而节省redis等存储载体的存储空间。
图3为根据本发明实施例提供的又一种数据处理方法的流程图,如图3所示,该方法包括如下步骤:
301、获取待处理数据的数据编码值和数据产生时间。
302、以设定的数值对数据编码值进行取模运算。
303、确定待处理数据对应的索引包括数据产生时间和取模运算结果。
304、若与该索引对应的数据指纹集合中存在上述数据编码值,则删除待处理数据。
本实施例中,提供了另一种如下的索引(key)定义方式:
key:{timestamp}_{hashcode%i}。
另外,可选地,在考虑数据处理规则标识的情况下,上述索引还可以定义为:
key:{ruleid}_{timestamp}_{hashcode%i}。
其中,ruleid代表处理规则标识,_代表的含义是拼接,timestamp代表数据产生时间即数据对应的时间戳,hashcode代表数据编码值,%为取模运算符,i代表设定的数值。
其中,可以根据存储索引和数据指纹集合的存储载体比如redis的负载,确定该设定的数值i,也可以经验设定该数值i。
本实施例中,对数据编码值进行取模运算,可以降低索引的数量,从而节省redis等存储载体的存储空间。因为,假设多条数据对应于相同的ruleid和timestamp,i取值为6,则不管该多条数据的个数具体是多少,各自对应的数据编码值对6取模的结果仅为0至5这六个数,从而,该多条数据最多只占用6条索引。
图4为根据本发明实施例提供的再一种数据处理方法的流程图,如图4所示,该方法包括如下步骤:
401、获取待处理数据的数据编码值和数据产生时间。
402、根据设定的时间分片条件,确定数据产生时间对应的时间分片。
403、以设定的数值对数据编码值进行取模运算。
404、确定待处理数据对应的索引包括时间分片和取模运算结果。
405、若与该索引对应的数据指纹集合中存在数据编码值,则删除待处理数据。
本实施例中,提供了另一种如下的索引(key)定义方式:
key:{timesplit}_{hashcode%i}。
另外,可选地,在考虑数据处理规则标识的情况下,上述索引还可以定义为:
key:{ruleid}_{timesplit}_{hashcode%i}。
其中,ruleid代表处理规则标识,_代表的含义是拼接,timesplit代表数据分片,hashcode代表数据编码值,%为取模运算符,i代表设定的数值。
通过本实施例定义的索引,可以通过时间分片、数据编码值的取模运算结果实现对数据的聚类,以降低索引的存储量。
下面以告警业务场景为例,结合图5对告警业务对数据的处理过程进行示意性说明。
图5为根据本发明实施例提供的一种数据处理方法的执行过程的交互示意图,如图5所示,该方法包括如下步骤:
501、告警业务触发数据采集器进行数据采集。
502、数据采集器从数据源获取待处理的数据,数据的指纹信息中包括数据编码值、数据产生时间和数据对应的处理规则标识。
其中,告警业务和数据采集器可以是部署在同一服务器中的两个功能模块,也可以是独立部署在不同的硬件设备中的功能模块。
503、数据采集器根据数据编码值、数据产生时间和处理规则标识确定数据对应的索引key1={ruleid}_{timesplit}_{hashcode%i}。
504、数据采集器在redis中查询索引key1对应的数据指纹集合value1,并确定该数据指纹集合value1中是否存在这条数据的数据编码值。
505、若数据指纹集合value1中不存在这条数据的数据编码值,则数据采集器将该数据编码值写入该数据指纹集合value1。
经过上述步骤的执行,完成了对数据的去重处理,保证redis中存储的数据不具有重复数据。
506、数据采集器以处理规则标识为索引即key2={ruleid},从redis中查询获得对应于该处理规则标识的各数据编码值。
其中,可选地,当存在多种业务的情况下,为区别不同的业务的处理过程,key2可以设置为:key2={alarm}_{ruleid},其中,alarm代表告警业务,是一种业务标识。
507、数据采集器计数查询获得的各数据编码值。
508、数据采集器将计数结果更新至处理规则标识对应的数据指纹集合value2中,即value2={count}。
其中,count为计数结果。
509、告警业务每隔设定的时间间隔以key2为索引查询redis,以获得对应的value2的取值情况。
510、告警业务确定value2的取值count大于设定阈值。
511、告警业务清空redis中value2的取值。
512、告警业务将count对应的数据详情发送到告警业务对应的数据库DB中。
在分布式系统中,由于同时可能会有多个业务对象和多个数据采集器共同工作,也就是说,redis、数据源可能被多个数据采集器、多个业务对象使用,为了保证数据处理的可靠性,在步骤503-508的执行过程中,上述数据采集器需要对redis进行上锁处理,在步骤508执行完成后,可以对redis进行解锁。类似地,执行步骤509前,告警业务也需要对redis进行上锁,执行完步骤511之后,对redis进行解锁。
以下将详细描述本发明的一个或多个实施例的数据处理装置。本领域技术人员可以理解,这些数据处理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为根据本发明实施例提供的一种数据处理装置的结构示意图,如图6所示,该装置包括:获取模块11、确定模块12、处理模块13。
获取模块11,用于获取待处理数据的数据编码值和数据产生时间。
确定模块12,用于根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引。
处理模块13,用于若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
可选地,所述获取模块11还用于获取所述待处理数据的处理规则标识,所述处理模块13还可以用于:若与所述索引对应的数据指纹集合中不存在所述数据编码值,则将所述数据编码值存入所述数据指纹集合;根据所述处理规则标识对所述待处理数据进行数据处理。
可选地,所述数据编码值由对所述数据中包含的至少一个字段内容进行哈希运算得到。
可选地,所述确定模块12具体可以用于:根据设定的时间分片条件,确定所述数据产生时间对应的时间分片;确定所述索引包括所述时间分片和所述数据编码值。
可选地,所述确定模块12具体可以用于:以设定的数值对所述数据编码值进行取模运算;确定所述索引包括所述数据产生时间和取模运算结果。
可选地,所述确定模块12具体可以用于:根据设定的时间分片条件,确定所述数据产生时间对应的时间分片;以设定的数值对所述数据编码值进行取模运算;确定所述索引包括所述时间分片和取模运算结果。
可选地,所述索引中还包括所述待处理数据对应的处理规则标识。
可选地,所述设定的数值可以根据存储所述索引和所述数据指纹集合的存储载体的负载确定。
图6所示装置可以执行图1-图5所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图5所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图6所示数据处理装置的结构可实现为一电子设备,该电子设备可以是PC机、服务器、云主机等各种设备。如图7所示,该电子设备可以包括:处理器21和存储器22。其中,所述存储器22用于存储支持电子设备执行上述图1-图5所示实施例中提供的数据处理方法的程序,所述处理器21被配置为用于执行所述存储器22中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器21执行时能够实现如下步骤:
获取待处理数据的数据编码值和数据产生时间;
根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引;
若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
可选地,所述处理器21还用于执行前述图1-图5所示实施例中的全部或部分步骤。
其中,所述电子设备的结构中还可以包括通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图5所示方法实施例中数据处理方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据处理方法,包括:
获取待处理数据的数据编码值和数据产生时间;
根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引;
若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
2.根据权利要求1所述的方法,所述方法还包括:
获取所述待处理数据的处理规则标识;
若所述索引对应的数据指纹集合中不存在所述数据编码值,则将所述数据编码值存入所述数据指纹集合;
根据所述处理规则标识对所述待处理数据进行数据处理。
3.根据权利要求1所述的方法,所述数据编码值由对所述待处理数据中包含的至少一个字段内容进行哈希运算得到。
4.根据权利要求1所述的方法,所述索引的确定步骤,包括:
根据设定的时间分片条件,确定所述数据产生时间对应的时间分片;
确定所述索引包括所述时间分片和所述数据编码值。
5.根据权利要求1所述的方法,所述索引的确定步骤,包括:
以设定的数值对所述数据编码值进行取模运算;
确定所述索引包括所述数据产生时间和取模运算结果。
6.根据权利要求1所述的方法,所述索引的确定步骤,包括:
根据设定的时间分片条件,确定所述数据产生时间对应的时间分片;
以设定的数值对所述数据编码值进行取模运算;
确定所述索引包括所述时间分片和取模运算结果。
7.根据权利要求1至6中任一项所述的方法,所述索引中还包括所述待处理数据对应的处理规则标识。
8.根据权利要求5或6所述的方法,所述方法还包括:
根据存储所述索引和所述数据指纹集合的存储载体的负载,确定所述设定的数值。
9.一种数据处理装置,包括:
获取模块,用于获取待处理数据的数据编码值和数据产生时间;
确定模块,用于根据所述数据编码值和所述数据产生时间确定与所述待处理数据对应的索引;
处理模块,用于若与所述索引对应的数据指纹集合中存在所述数据编码值,则删除所述待处理数据。
10.一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至8中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019653.7A CN111427871B (zh) | 2019-01-09 | 2019-01-09 | 数据处理方法、装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910019653.7A CN111427871B (zh) | 2019-01-09 | 2019-01-09 | 数据处理方法、装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427871A true CN111427871A (zh) | 2020-07-17 |
CN111427871B CN111427871B (zh) | 2024-03-29 |
Family
ID=71546105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910019653.7A Active CN111427871B (zh) | 2019-01-09 | 2019-01-09 | 数据处理方法、装置、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427871B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858637A (zh) * | 2020-07-28 | 2020-10-30 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370315B1 (en) * | 2010-05-28 | 2013-02-05 | Symantec Corporation | System and method for high performance deduplication indexing |
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
CN104063374A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 一种对数据进行去重的方法和设备 |
US20150213105A1 (en) * | 2012-10-11 | 2015-07-30 | Tencent Technology (Shenzhen) Company Limited | Data processing method, apparatus, and storage medium |
US9298726B1 (en) * | 2012-10-01 | 2016-03-29 | Netapp, Inc. | Techniques for using a bloom filter in a duplication operation |
CN106407226A (zh) * | 2015-07-31 | 2017-02-15 | 华为技术有限公司 | 一种数据处理方法、备份服务器及存储系统 |
US20170091232A1 (en) * | 2015-09-25 | 2017-03-30 | Netapp, Inc. | Elastic, ephemeral in-line deduplication service |
CN106610790A (zh) * | 2015-10-26 | 2017-05-03 | 华为技术有限公司 | 一种重复数据删除方法及装置 |
CN107038579A (zh) * | 2016-02-04 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种电子支付业务处理、电子支付方法及装置 |
CN107315693A (zh) * | 2016-04-26 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 一种数据存储方法和装置 |
CN108563697A (zh) * | 2018-03-22 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
-
2019
- 2019-01-09 CN CN201910019653.7A patent/CN111427871B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370315B1 (en) * | 2010-05-28 | 2013-02-05 | Symantec Corporation | System and method for high performance deduplication indexing |
CN102915278A (zh) * | 2012-09-19 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 重复数据删除方法 |
US9298726B1 (en) * | 2012-10-01 | 2016-03-29 | Netapp, Inc. | Techniques for using a bloom filter in a duplication operation |
US20150213105A1 (en) * | 2012-10-11 | 2015-07-30 | Tencent Technology (Shenzhen) Company Limited | Data processing method, apparatus, and storage medium |
CN104063374A (zh) * | 2013-03-18 | 2014-09-24 | 阿里巴巴集团控股有限公司 | 一种对数据进行去重的方法和设备 |
CN106407226A (zh) * | 2015-07-31 | 2017-02-15 | 华为技术有限公司 | 一种数据处理方法、备份服务器及存储系统 |
US20170091232A1 (en) * | 2015-09-25 | 2017-03-30 | Netapp, Inc. | Elastic, ephemeral in-line deduplication service |
CN106610790A (zh) * | 2015-10-26 | 2017-05-03 | 华为技术有限公司 | 一种重复数据删除方法及装置 |
CN107038579A (zh) * | 2016-02-04 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种电子支付业务处理、电子支付方法及装置 |
CN107315693A (zh) * | 2016-04-26 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 一种数据存储方法和装置 |
CN108563697A (zh) * | 2018-03-22 | 2018-09-21 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置和存储介质 |
CN108876377A (zh) * | 2018-07-06 | 2018-11-23 | 杭州复杂美科技有限公司 | 一种防止重复支付的方法和系统 |
Non-Patent Citations (3)
Title |
---|
孙竞;余宏亮;郑纬民;: "支持分布式存储删冗的相似文件元数据集合索引", 计算机研究与发展, no. 01, pages 199 - 207 * |
朱江;冀鸣;杨志成;张嘉贤;曹雄;: "基于重复数据删除技术的存储系统分析", 信息系统工程, no. 04, pages 72 - 74 * |
王青松;葛慧;: "相似聚类的二级索引重复数据删除算法", 小型微型计算机系统, no. 12, pages 175 - 179 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858637A (zh) * | 2020-07-28 | 2020-10-30 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
CN111858637B (zh) * | 2020-07-28 | 2023-08-18 | 厦门网宿有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111427871B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11087329B2 (en) | Method and apparatus of identifying a transaction risk | |
US11281793B2 (en) | User permission data query method and apparatus, electronic device and medium | |
KR102099544B1 (ko) | 스트리밍 데이터의 분배 처리 방법 및 디바이스 | |
CN111078513B (zh) | 日志处理方法、装置、设备、存储介质及日志告警系统 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
CN104731816A (zh) | 一种处理异常业务数据的方法和装置 | |
CN109828993B (zh) | 一种统计数据的查询方法及装置 | |
CN115129716A (zh) | 一种针对工业大数据的数据管理方法、设备及存储介质 | |
WO2022134471A1 (zh) | 区块链节点的管理方法、装置、计算机设备和存储介质 | |
CN112347501A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111784468B (zh) | 一种账户关联方法、装置及电子设备 | |
CN106878365B (zh) | 一种数据同步方法和设备 | |
CN111427871B (zh) | 数据处理方法、装置、设备 | |
CN117492670A (zh) | 日志打印序列的确定方法、装置及电子设备 | |
CN110928941A (zh) | 一种数据分片抽取方法及装置 | |
CN115543918A (zh) | 一种文件快照方法、系统、电子设备及存储介质 | |
CN111552703B (zh) | 一种数据处理方法及装置 | |
CN114077532A (zh) | 一种sql语句执行效率检测方法及装置 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN113419792A (zh) | 一种事件处理方法、装置、终端设备和存储介质 | |
CN114625595B (zh) | 一种业务系统动态配置信息的复核方法、装置和系统 | |
CN118264491A (zh) | 一种实时计费方法及装置 | |
CN110677419A (zh) | 集群检测方法和装置 | |
CN115964529A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |