CN113778977A - 数据处理方法和数据处理装置 - Google Patents
数据处理方法和数据处理装置 Download PDFInfo
- Publication number
- CN113778977A CN113778977A CN202011181811.8A CN202011181811A CN113778977A CN 113778977 A CN113778977 A CN 113778977A CN 202011181811 A CN202011181811 A CN 202011181811A CN 113778977 A CN113778977 A CN 113778977A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- cache
- sample data
- redis cluster
- 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/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/217—Database tuning
-
- 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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了数据处理方法和数据处理装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据数据处理请求,获取待处理Redis集群,确定待处理Redis集群对应的待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式;按照待处理数据格式,从待处理Redis集群中选择出样本数据,根据非数字字符对样本数据进行分组,获得至少一组子样本数据;设置至少一组子样本数据对应的目标过期时间,根据至少一组子样本数据和目标过期时间,对待处理Redis集群中的数据进行更新处理。该实施方式能够对Redis集群中的数据进行处理,减少Redis集群中的不合理数据,提高Redis集群的性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法和数据处理装置。
背景技术
Redis集群中存在大量不合理数据,如忘记设置过期时间的数据、过期时间设置不合理的数据,这会导致应该过期但未过期的数据堆积在集群中,影响Redis集群的性能。但是,现有技术中未提供对Redis集群中的数据进行统一处理的方法,导致当Redis集群出现性能问题时,无法有效处理。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法和数据处理装置,能够对Redis集群中的数据进行处理,减少Redis集群中的不合理数据,提高Redis集群的性能。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理方法。
本发明实施例的一种数据处理方法,包括:根据数据处理请求,获取待处理Redis集群,确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式;按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据;设置所述至少一组子样本数据对应的目标过期时间,根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理。
可选地,所述确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式,包括:从所述待处理Redis集群包含的数据中选择出第一预设数量的第一采样数据;对所述第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,根据所述至少一个缓存过期类型对应的数据占比,从所述至少一个缓存过期类型中选择所述待处理缓存过期类型;对所述第一采样数据进行格式转换,确定所述第一采样数据对应的特定数据格式;对所述待处理缓存过期类型对应的第一采样数据进行格式分类,确定所述待处理缓存过期类型对应的至少一个特定数据格式,从所述至少一个特定数据格式中选择所述待处理数据格式。
可选地,所述对所述第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,包括:针对每个第一采样数据,根据所述每个第一采样数据的关键字,查询所述每个第一采样数据对应的过期时间,以获得所述每个第一采样数据对应的缓存过期类型;利用所述每个第一采样数据对应的缓存过期类型,计算所述至少一个缓存过期类型对应的数据占比。
可选地,所述对所述第一采样数据进行格式转换,确定所述第一采样数据对应的特定数据格式,包括:针对每个第一采样数据,将所述每个第一采样数据的关键字包含的非数字字符和数字字符进行特定字符转换,以获得所述每个第一采样数据对应的特定数据格式。
可选地,所述按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据,包括:从所述待处理Redis集群包含的数据中选择出第二预设数量的第二采样数据,确定每个第二采样数据对应的缓存过期类型和特定数据格式;从所述第二采样数据中,选择出所述样本数据,其中,所述样本数据对应的缓存过期类型为所述待处理缓存过期类型,且所述样本数据对应的特定数据格式为所述待处理数据格式;将非数字字符相同的样本数据分成一组,以获得所述样本数据对应的至少一组子样本数据。
可选地,在获得所述样本数据对应的至少一组子样本数据之后,所述方法还包括:针对每组子样本数据,若该组子样本数据包含的数据数量小于预设数量阈值,则将该组子样本数据过滤掉。
可选地,所述根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理,包括:从所述待处理Redis集群中抓取数据;判断抓取的数据对应的缓存过期类型是否为所述待处理缓存过期类型,且所述抓取的数据对应的数据格式是否与所述至少一组子样本数据对应的数据格式相同;若是,则将所述抓取的数据对应的过期时间更新为所述目标过期时间;若否,则确定不需要对所述抓取的数据进行更新处理。
可选地,所述缓存过期类型包括:一小时内过期、一天内过期、一星期内过期、一个月内过期、一年内过期和永不过期。
为实现上述目的,根据本发明实施例的另一个方面,提供了一种数据处理装置。
本发明实施例的一种数据处理装置,包括:确定模块,用于根据数据处理请求,获取待处理Redis集群,确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式;分组模块,用于按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据;处理模块,用于设置所述至少一组子样本数据对应的目标过期时间,根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理。
可选地,所述确定模块还用于:从所述待处理Redis集群包含的数据中选择出第一预设数量的第一采样数据;对所述第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,根据所述至少一个缓存过期类型对应的数据占比,从所述至少一个缓存过期类型中选择所述待处理缓存过期类型;对所述第一采样数据进行格式转换,确定所述第一采样数据对应的特定数据格式;对所述待处理缓存过期类型对应的第一采样数据进行格式分类,确定所述待处理缓存过期类型对应的至少一个特定数据格式,从所述至少一个特定数据格式中选择所述待处理数据格式。
可选地,所述确定模块还用于:针对每个第一采样数据,根据所述每个第一采样数据的关键字,查询所述每个第一采样数据对应的过期时间,以获得所述每个第一采样数据对应的缓存过期类型;利用所述每个第一采样数据对应的缓存过期类型,计算所述至少一个缓存过期类型对应的数据占比。
可选地,所述确定模块还用于:针对每个第一采样数据,将所述每个第一采样数据的关键字包含的非数字字符和数字字符进行特定字符转换,以获得所述每个第一采样数据对应的特定数据格式。
可选地,所述分组模块还用于:从所述待处理Redis集群包含的数据中选择出第二预设数量的第二采样数据,确定每个第二采样数据对应的缓存过期类型和特定数据格式;从所述第二采样数据中,选择出所述样本数据,其中,所述样本数据对应的缓存过期类型为所述待处理缓存过期类型,且所述样本数据对应的特定数据格式为所述待处理数据格式;将非数字字符相同的样本数据分成一组,以获得所述样本数据对应的至少一组子样本数据。
可选地,所述分组模块还用于:针对每组子样本数据,若该组子样本数据包含的数据数量小于预设数量阈值,则将该组子样本数据过滤掉。
可选地,所述处理模块还用于:从所述待处理Redis集群中抓取数据;判断抓取的数据对应的缓存过期类型是否为所述待处理缓存过期类型,且所述抓取的数据对应的数据格式是否与所述至少一组子样本数据对应的数据格式相同;若是,则将所述抓取的数据对应的过期时间更新为所述目标过期时间;若否,则确定不需要对所述抓取的数据进行更新处理。
可选地,所述缓存过期类型包括:一小时内过期、一天内过期、一星期内过期、一个月内过期、一年内过期和永不过期。
为实现上述目的,根据本发明实施例的再一个方面,提供了一种电子设备。
本发明实施例的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例的数据处理方法。
为实现上述目的,根据本发明实施例的还一个方面,提供了一种计算机可读介质。
本发明实施例的一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例的数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:能够对Redis集群中的数据进行处理,在确定待处理Redis集群对应的待处理缓存过期类型和待处理数据格式后,按照待处理数据格式得到至少一组子样本数据,接着设置子样本数据对应的目标过期时间,最后利用设置的目标过期时间对待处理Redis集群中的数据进行更新,减少Redis集群中的不合理数据,提高Redis集群的性能。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的数据处理方法的主要步骤的示意图;
图2是根据本发明实施例的确定待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式的主要过程的示意图;
图3是根据本发明实施例的获得至少一组子样本数据的主要过程的示意图;
图4是根据本发明实施例的对待处理Redis集群中的数据进行更新处理的主要过程的示意图;
图5是根据本发明实施例的数据处理装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的数据处理方法的主要步骤的示意图。如图1所示,数据处理方法的主要步骤可以包括:
步骤S101,根据数据处理请求,获取待处理Redis集群,确定待处理Redis集群对应的待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式;
步骤S102,按照待处理数据格式,从待处理Redis集群中选择出样本数据,根据非数字字符对样本数据进行分组,获得至少一组子样本数据;
步骤S103,设置至少一组子样本数据对应的目标过期时间,根据至少一组子样本数据和目标过期时间,对待处理Redis集群中的数据进行更新处理。
其中,待处理Redis集群是指需要进行数据处理的Redis集群。实际中,可以存在多个Redis集群,每个Redis集群可以被多个业务使用。比如,有用户Redis集群,该用户Redis集群可以被登录业务、积分业务等业务使用,还有统计Redis集群,该统计数据集群可以被考勤业务、电商业务、评论业务等业务使用。本发明实施例的数据处理方法中,可以根据数据处理请求,获取待处理Redis集群,还可以获取该待处理Redis集群的基本信息,如集群唯一标识、集群名称、集群对外服务地址、集群对外服务端口、集群密码等信息,这样便于后续查询该待处理Redis集群的相关信息。
目前,Redis集群中包含应该过期但未过期的数据,对集群性能造成影响,因此需要对待处理Redis集群中的数据进行处理。本发明实施例中,可以确定待处理Redis集群对应的待处理缓存过期类型,即确定需要对何种缓存过期类型对应的数据进行处理。其中,缓存过期类型可以包括:一小时内过期、一天内过期、一星期内过期、一个月内过期、一年内过期和永不过期。需要注意的是,一天内过期不包括一小时内过期,一星期内过期不包括一小时内过期和一天内过期,一个月内过期不包括一小时内过期、一天内过期和一星期内过期,一年内过期不包括一小时内过期、一天内过期、一星期内过期和一个月内过期。考虑到Redis集群中的数据较多,且数据具有不同数据格式,那么在确定待处理缓存过期类型后,可以确定需要对待处理缓存过期类型对应的某具体数据格式进行分析,判断某具体数据格式的数据是否存在缓存过期设置不合理的问题。
通过步骤S101确定待处理数据格式后,可以从待处理Redis集群中选择出与待处理数据格式相同的数据,命名选择出的数据为样本数据。考虑到每个样本数据对应的业务可以不同,不同业务的缓存过期时间是不同的,且研发人员采用非数字字符表示业务,所以可以根据非数字字符对选择出的样本数据进行分组,使得获得的每组子样本数据为同一业务产生的数据。
步骤S102中可以得到至少一组子样本数据,并且每组子样本数据为同一业务产生的数据,因此可以根据具体的业务设置每组子样本数据对应的目标过期时间,比如,A组子样本数据对应的业务为登录业务,通过调研得到登录业务对应的缓存过期时间为一星期左右,则设置A组子样本数据对应的目标过期时间为一星期内过期。最后,可以利用至少一组子样本数据和目标过期时间,对待处理Redis集群中的数据进行更新处理。
现有技术未提供对Redis集群中的数据进行统一处理的方法,会导致Redis集群中存在大量不合理数据,影响Redis集群的性能。本发明实施例提供了对Redis集群中的数据进行处理的技术方案,在确定待处理Redis集群对应的待处理缓存过期类型和待处理数据格式后,按照待处理数据格式得到至少一组子样本数据,接着设置子样本数据对应的目标过期时间,最后利用设置的目标过期时间对待处理Redis集群中的数据进行更新,减少Redis集群中的不合理数据,提高Redis集群的性能。
目前,Redis集群中包含应该过期但未过期的数据,对集群性能造成影响,因此需要对待处理Redis集群中的数据进行处理。考虑到Redis集群中包含的数据比较多,为了尽快提高Redis集群的性能,减少Redis集群中应该过期但未过期的数据,在根据数据处理请求获取Redis集群后,需要确定待缓存过期类型,也就是确定首先对哪种缓存过期类型对应的数据进行处理,接着确定需要对待处理缓存过期类型对应的某具体数据格式进行分析,判断某具体数据格式的数据是否存在缓存过期设置不合理的问题。图2是根据本发明实施例的确定待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式的主要过程的示意图。如图2所示,确定待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式的主要过程可以包括步骤S201至步骤S205。
步骤S201:从待处理Redis集群包含的数据中选择出第一预设数量的第一采样数据。
由于Redis集群中包含的数据比较多,为了提高速率,可以从Redis集群中采样部分数据进行统计分析,为了与下文的第二采样数据进行区分,此处从Redis集群中采样的数据命名为第一采样数据,具体采样值为第一预设数量。比如,待处理Redis集群中有2亿多个数据,可以随机选择10000个数据进行分析,当然也可以选择20000个数据进行分析,具体可以根据经验值或者实际需求设置第一预设数量。
步骤S202:对第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比。
Redis是Key-Value型数据库,Key是关键字,Value是值,能够根据关键字查询到具体的值。所以本发明实施例中,可以通过统计Redis集群中的关键字,得到Redis集群包含的数据情况。具体实现为:针对每个第一采样数据,根据每个第一采样数据的关键字,查询每个第一采样数据对应的过期时间,以获得每个第一采样数据对应的缓存过期类型;然后利用每个第一采样数据对应的缓存过期类型,计算至少一个缓存过期类型对应的数据占比。需要注意的是,如果没有设置某采样数据对应的过期时间,则可以将该采样数据归类为永不过期。
举例说明,有10000个第一采样数据,针对每个第一采样数据,获取该第一采样数据的关键字,查询该第一采样数据的关键字对应的过期时间,进而得到该第一采样数据对应的缓存过期类型,这样就可以统计这10000个第一采样数据中,每个缓存过期类型对应的数据数量。如,一小时内过期的数据数量为17个,一天内过期的数据数量为304个,一星期内过期的数据数量为801个,一个月内过期的数据数量为1586个,一年内过期的数据数量为2362个,永不过期的数据数量为4930个,这样就可以得到每个缓存过期类型对应的数据占比。
步骤S203:根据至少一个缓存过期类型对应的数据占比,从至少一个缓存过期类型中选择待处理缓存过期类型。
通过步骤S202得到至少一个缓存过期类型对应的数据占比,即得到每个缓存过期类型对应的数据占比,就可以获取待处理Redis集群包含的数据的过期情况分布。对Redis集群的性能造成影响的原因是,应该过期但未过期的数据堆积在集群中,显然缓存时间越久的数据对Redis集群造成的影响比较大,即永不过期的数据对Redis集群造成的影响比较大,然后是一年内过期的数据对Redis集群造成的影响比较大。因此得到至少一个缓存过期类型对应的数据占比后,首先分析永不过期类型,如果永不过期类型对应的数据占比不小于预设占比阈值(可以但不限于为3%),则可以确定待处理缓存过期类型为永不过期类型。如果永不过期类型对应的数据占比小于预设占比阈值,则可以分析一年内过期类型,如果一年内过期类型对应的数据占比不小于预设占比阈值(可以但不限于为5%,不同缓存过期类型设置的预设占比阈值可以不同),则可以确定待处理缓存过期类型为一年内过期类型。
此外,还可以为每个缓存过期类型设置权重值,根据设置的权重值和每个缓存过期类型对应的数据占比,加权计算每个缓存过期类型的影响分数,选择分数最高的缓存过期类型为待处理缓存过期类型。
步骤S204:对第一采样数据进行格式转换,确定第一采样数据对应的特定数据格式。
考虑到Redis集群中的数据较多,为了便于分析,可以对Redis集群中的数据进行格式转换,实现用少量的数据格式表示大量数量的目的。本发明实施例中,针对每个第一采样数据,将每个第一采样数据的关键字包含的非数字字符和数字字符进行特定字符转换,以获得每个第一采样数据对应的特定数据格式。具体的,可以将关键字中的非数字字符转换为0,将数字字符转换为1。比如,对于关键字abc123,得到的特定数据格式为000111,对于关键字eee133,得到的特定数据格式也为000111。同样的,对于关键字Aaa111、efg123、tuu666,得到的特定数据格式均为000111。对于关键字的某位,如果是原始值,可能为数字0到9中任意一个,也可能为26个字母以及下划线横线等符号,所以会有超过40个以上的可能性。本发明实施例中,将关键字中的非数字字符转换为0,将数字字符转换为1,使得每位只存在2个可能性,能够将大量数据用少量的数据格式表示。
步骤S205:对待处理缓存过期类型对应的第一采样数据进行格式分类,确定待处理缓存过期类型对应的至少一个特定数据格式,从至少一个特定数据格式中选择待处理数据格式。
通过步骤S202可以得到,每个第一采样数据对应的缓存过期类型,通过步骤S204可以得到,每个第一采样数据对应的特定数据格式,通过步骤S203确定待处理缓存过期类型,因此在步骤S205中,可以对待处理缓存过期类型对应的第一采样数据进行格式分类,进而得到待处理缓存过期类型对应的至少一个特定数据格式,最后可以从至少一个特定数据格式中选择出待处理数据格式。
比如,待处理缓存过期类型为永不过期,对10000个第一采样数据进行分析,得到特定数据格式00111111对应的数据数量为3797个,特定数据格式0011111对应的数据数量为320个,特定数据格式001111对应的数据数量为25个。可以看出,特定数据格式00111111对应的数据数量比较多,那么优先处理特定数据格式00111111对应的数据得到的收益比较大,也即,释放的资源比较多,能够更快的提高待处理Redis集群的性能。当然,本发明实施例中,在选择待处理数据格式的过程中,也可以设置每个特定数据格式的权重值,根据设置的权重值和每个特定数据格式对应的数据数量,加权计算每个特定数据格式的影响分数,选择分数最高的特定数据格式为待处理数据格式。
此外,本发明实施例中,也可以创建集群统计数据表,具体实现可以为:(1)利用步骤S201获取某Redis集群中的第一采样数据;(2)利用步骤S202对获取的该Redis集群的第一采样数据进行缓存过期分类,获取该Redis集群包含的至少一个缓存过期类型,计算获取的至少一个缓存过期类型对应的数据占比;(3)利用步骤S204对获取的该Redis集群的第一采样数据进行格式转换,确定第一采样数据对应的特定数据格式;(4)统计每个缓存过期类型下的各特定数据格式的数量。
通过上述步骤(1)至步骤(4)可以得到该Redis集群的统计数据,根据统计数据构建如下表所示的集群统计数据表。此外,下表中仅记录了一个Redis集群的数据情况,当然还可以统计其他Redis集群的数据情况,还需要定期更新集群统计数据表,从而可以对Redis集群的数据情况进行监控,及时对Redis集群中的数据进行处理,提高Redis集群的性能。还有,在数据处理过程中,可以从集群统计数据表中获取待处理Redis集群的当前数据情况,然后根据当前数据情况,确定待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式。
集群统计数据表
图3是根据本发明实施例的获得至少一组子样本数据的主要过程的示意图。如图3所示,获得至少一组子样本数据的主要过程可以包括步骤S301至步骤S303。
步骤S301:从待处理Redis集群包含的数据中选择出第二预设数量的第二采样数据,确定每个第二采样数据对应的缓存过期类型和特定数据格式。
在确定待处理缓存类型和待处理缓存类型对应的待处理数据格式后,可以对待处理Redis集群中的数据进行分析。首先,从待处理Redis集群中选择出第二预设数量的第二采样数据,比如随机选择10000个第二采样数据,需要注意的是,此处的第二采样数据与上文的第一采样数据均是为了便于描述,没有实际意义。还有,第一预设数量可以与第二预设数量相同,第一预设数量也可以与第二预设数量不同。
在随机选取第二采样数据后,可以按照上文步骤S202描述的方法确定每个第二采样数据对应的缓存过期类型,还可以按照上文步骤S204描述的方法确定每个第二采样数据对应的特定数据格式。
步骤S302:从第二采样数据中,选择出样本数据。
由于第二采样数据是从待处理Redis集群中随机选择的数据,因此,需要从第二采样数据中,筛选出缓存过期类型为待处理缓存过期类型、且特定数据格式为待处理数据格式的数据,命名筛选出的数据为样本数据。比如,待处理缓存过期类型为永不过期,待处理数据格式为00111111,那么从待处理Redis集群中随机抓取10000个数据,然后将这10000个数据中,永不过期的且特定数据格式为00111111的数据筛选出来。
步骤S303:将非数字字符相同的样本数据分成一组,以获得样本数据对应的至少一组子样本数据。
在上文中提到,每个样本数据对应的业务可以不同,不同业务的缓存过期时间是不同的,且研发人员采用非数字字符表示业务,所以可以根据非数字字符对选择出的样本数据进行分组。具体的,在选取样本数据后,可以将非数字字符相同的样本数据分在一起,使得获得的每组子样本数据为同一业务产生的数据。由于样本数据为特定数据格式相同的数据,比如00111111,因此在对样本数据进行分组的过程中,可以将非数字字符位打开,即将00位打开,还原为原来的字符,统计得到的格式包括xx111111、ea111111、pb111111、VC111111、xN111111、su111111、Vm111111。也就是说,最后可以得到7组子样本数据,这7组子样本数据对应的数据格式分别为xx111111、ea111111、pb111111、VC111111、xN111111、su111111、Vm111111。
本发明实施例中,在获得样本数据对应的至少一组子样本数据之后,数据处理方法还可以包括:针对每组子样本数据,若该组子样本数据包含的数据数量小于预设数量阈值,则将该组子样本数据过滤掉。得到至少一组子样本数据后,表示需要对得到的至少一组子样本数据对应的业务数据进行处理。但是考虑到有些业务数据的数量比较少,对集群造成的影响较小,如果优先处理这些数据,会降低处理其他数据的效率,所以在得到每组子样本数据后,可以对每组子样本数据进行验证,判断该组子样本数据包含的数据数量是否小于预设数量阈值,如果是,则可以将该组子样本数据过滤掉,也即,当前不对该子样本数据代表的业务数据进行处理,减少集群性能的优化时间。
在获得至少一组子样本数据后,可以设置至少一组子样本数据对应的目标过期时间。比如,子样本数据对应的数据格式为xx111111,查询得到该子样本数据属于A业务研发团队开发的,表示的是不同年龄段的用户充值概率,且合理的过期时间为一天,由于该子样本数据当前被设置为永不过期,因此需要对其过期时间进行更新。为了便于后续查询,在设置至少一组子样本数据对应的目标过期时间后,可以对设置的目标过期时间进行记录,也即,创建Redis集群的问题追踪表。
图4是根据本发明实施例的对待处理Redis集群中的数据进行更新处理的主要过程的示意图。如图4所示,对待处理Redis集群中的数据进行更新处理的主要过程可以包括:
步骤S401,从待处理Redis集群中抓取数据;
步骤S402,判断抓取的数据对应的缓存过期类型是否为待处理缓存过期类型,且抓取的数据对应的数据格式是否与至少一组子样本数据对应的数据格式相同,若是,则执行步骤S403,若否,则执行步骤S404;
步骤S403,将抓取的数据对应的过期时间更新为目标过期时间;
步骤S404,确定不需要对抓取的数据进行更新处理。
具体的,可以随机获取Redis集群中的关键字,如果该关键字对应的缓存过期类型为待处理缓存过期类型,且该关键字对应的数据格式与任意一组子样本数据对应的数据格式相同,那么就可以将该关键字对应的过期时间更新为目标过期时间。否则的话,不需要对该关键字对应的过期时间进行处理。此外,还可以记录Redis集群的数据处理日志,将这个处理日志写入日志文件中,以便后续追溯。
图5是根据本发明实施例的数据处理装置的主要模块的示意图。如图5所示,数据处理装置500的主要模块可以包括:确定模块501、分组模块502和处理模块503。
其中,确定模块501可用于:根据数据处理请求,获取待处理Redis集群,确定待处理Redis集群对应的待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式;分组模块502可用于:按照待处理数据格式,从待处理Redis集群中选择出样本数据,根据非数字字符对样本数据进行分组,获得至少一组子样本数据;处理模块503可用于:设置至少一组子样本数据对应的目标过期时间,根据至少一组子样本数据和目标过期时间,对待处理Redis集群中的数据进行更新处理。
本发明实施例中,确定模块501还可用于:从待处理Redis集群包含的数据中选择出第一预设数量的第一采样数据;对第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,根据至少一个缓存过期类型对应的数据占比,从至少一个缓存过期类型中选择待处理缓存过期类型;对第一采样数据进行格式转换,确定第一采样数据对应的特定数据格式;对待处理缓存过期类型对应的第一采样数据进行格式分类,确定待处理缓存过期类型对应的至少一个特定数据格式,从至少一个特定数据格式中选择待处理数据格式。
本发明实施例中,确定模块501还可用于:针对每个第一采样数据,根据每个第一采样数据的关键字,查询每个第一采样数据对应的过期时间,以获得每个第一采样数据对应的缓存过期类型;利用每个第一采样数据对应的缓存过期类型,计算至少一个缓存过期类型对应的数据占比。
本发明实施例中,确定模块501还可用于:针对每个第一采样数据,将每个第一采样数据的关键字包含的非数字字符和数字字符进行特定字符转换,以获得每个第一采样数据对应的特定数据格式。
本发明实施例中,分组模块502还可用于:从待处理Redis集群包含的数据中选择出第二预设数量的第二采样数据,确定每个第二采样数据对应的缓存过期类型和特定数据格式;从第二采样数据中,选择出样本数据,其中,样本数据对应的缓存过期类型为待处理缓存过期类型,且样本数据对应的特定数据格式为待处理数据格式;将非数字字符相同的样本数据分成一组,以获得样本数据对应的至少一组子样本数据。
本发明实施例中,分组模块502还可用于:针对每组子样本数据,若该组子样本数据包含的数据数量小于预设数量阈值,则将该组子样本数据过滤掉。
本发明实施例中,处理模块503还可用于:从待处理Redis集群中抓取数据;判断抓取的数据对应的缓存过期类型是否为待处理缓存过期类型,且抓取的数据对应的数据格式是否与至少一组子样本数据对应的数据格式相同;若是,则将抓取的数据对应的过期时间更新为目标过期时间;若否,则确定不需要对抓取的数据进行更新处理。
本发明实施例中,缓存过期类型可以包括:一小时内过期、一天内过期、一星期内过期、一个月内过期、一年内过期和永不过期。
本发明实施例的数据处理装置能够对Redis集群中的数据进行处理,在确定待处理Redis集群对应的待处理缓存过期类型和待处理数据格式后,按照待处理数据格式得到至少一组子样本数据,接着设置子样本数据对应的目标过期时间,最后利用设置的目标过期时间对待处理Redis集群中的数据进行更新,减少Redis集群中的不合理数据,提高Redis集群的性能。
图6示出了可以应用本发明实施例的数据处理方法或数据处理装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如作为用户利用终端设备601、602、603进行数据处理过程中,提供支持的后台管理服务器(仅为示例);再例如,服务器605可以完成本发明实施例的数据处理。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器605执行,相应地,数据处理装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括确定模块、分组模块和处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,确定模块还可以被描述为“根据数据处理请求,获取待处理Redis集群,确定待处理Redis集群对应的待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:根据数据处理请求,获取待处理Redis集群,确定待处理Redis集群对应的待处理缓存过期类型和待处理缓存过期类型对应的待处理数据格式;按照待处理数据格式,从待处理Redis集群中选择出样本数据,根据非数字字符对样本数据进行分组,获得至少一组子样本数据;设置至少一组子样本数据对应的目标过期时间,根据至少一组子样本数据和目标过期时间,对待处理Redis集群中的数据进行更新处理。
根据本发明实施例的技术方案,在确定待处理Redis集群对应的待处理缓存过期类型和待处理数据格式后,按照待处理数据格式得到至少一组子样本数据,接着设置子样本数据对应的目标过期时间,最后利用设置的目标过期时间对待处理Redis集群中的数据进行更新,减少Redis集群中的不合理数据,提高Redis集群的性能。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种数据处理方法,其特征在于,包括:
根据数据处理请求,获取待处理Redis集群,确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式;
按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据;
设置所述至少一组子样本数据对应的目标过期时间,根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式,包括:
从所述待处理Redis集群包含的数据中选择出第一预设数量的第一采样数据;
对所述第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,根据所述至少一个缓存过期类型对应的数据占比,从所述至少一个缓存过期类型中选择所述待处理缓存过期类型;
对所述第一采样数据进行格式转换,确定所述第一采样数据对应的特定数据格式;
对所述待处理缓存过期类型对应的第一采样数据进行格式分类,确定所述待处理缓存过期类型对应的至少一个特定数据格式,从所述至少一个特定数据格式中选择所述待处理数据格式。
3.根据权利要求2所述的方法,其特征在于,所述对所述第一采样数据进行缓存过期分类,获取至少一个缓存过期类型对应的数据占比,包括:
针对每个第一采样数据,根据所述每个第一采样数据的关键字,查询所述每个第一采样数据对应的过期时间,以获得所述每个第一采样数据对应的缓存过期类型;
利用所述每个第一采样数据对应的缓存过期类型,计算所述至少一个缓存过期类型对应的数据占比。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一采样数据进行格式转换,确定所述第一采样数据对应的特定数据格式,包括:
针对每个第一采样数据,将所述每个第一采样数据的关键字包含的非数字字符和数字字符进行特定字符转换,以获得所述每个第一采样数据对应的特定数据格式。
5.根据权利要求1所述的方法,其特征在于,所述按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据,包括:
从所述待处理Redis集群包含的数据中选择出第二预设数量的第二采样数据,确定每个第二采样数据对应的缓存过期类型和特定数据格式;
从所述第二采样数据中,选择出所述样本数据,其中,所述样本数据对应的缓存过期类型为所述待处理缓存过期类型,且所述样本数据对应的特定数据格式为所述待处理数据格式;
将非数字字符相同的样本数据分成一组,以获得所述样本数据对应的至少一组子样本数据。
6.根据权利要求5所述的方法,其特征在于,在获得所述样本数据对应的至少一组子样本数据之后,所述方法还包括:
针对每组子样本数据,若该组子样本数据包含的数据数量小于预设数量阈值,则将该组子样本数据过滤掉。
7.根据权利要求1所述的方法,其特征在于,所述根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理,包括:
从所述待处理Redis集群中抓取数据;
判断抓取的数据对应的缓存过期类型是否为所述待处理缓存过期类型,且所述抓取的数据对应的数据格式是否与所述至少一组子样本数据对应的数据格式相同;
若是,则将所述抓取的数据对应的过期时间更新为所述目标过期时间;
若否,则确定不需要对所述抓取的数据进行更新处理。
8.根据权利要求1-7任一所述的方法,其特征在于,所述缓存过期类型包括:一小时内过期、一天内过期、一星期内过期、一个月内过期、一年内过期和永不过期。
9.一种数据处理装置,其特征在于,包括:
确定模块,用于根据数据处理请求,获取待处理Redis集群,确定所述待处理Redis集群对应的待处理缓存过期类型和所述待处理缓存过期类型对应的待处理数据格式;
分组模块,用于按照所述待处理数据格式,从所述待处理Redis集群中选择出样本数据,根据非数字字符对所述样本数据进行分组,获得至少一组子样本数据;
处理模块,用于设置所述至少一组子样本数据对应的目标过期时间,根据所述至少一组子样本数据和所述目标过期时间,对所述待处理Redis集群中的数据进行更新处理。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181811.8A CN113778977A (zh) | 2020-10-29 | 2020-10-29 | 数据处理方法和数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181811.8A CN113778977A (zh) | 2020-10-29 | 2020-10-29 | 数据处理方法和数据处理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778977A true CN113778977A (zh) | 2021-12-10 |
Family
ID=78835157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181811.8A Pending CN113778977A (zh) | 2020-10-29 | 2020-10-29 | 数据处理方法和数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778977A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509465A (zh) * | 2022-11-21 | 2022-12-23 | 杭州字节方舟科技有限公司 | 一种扇区管理方法、装置、电子设备及存储介质 |
-
2020
- 2020-10-29 CN CN202011181811.8A patent/CN113778977A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115509465A (zh) * | 2022-11-21 | 2022-12-23 | 杭州字节方舟科技有限公司 | 一种扇区管理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008045B (zh) | 微服务的聚合方法、装置、设备及存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN109947668B (zh) | 存储数据的方法和装置 | |
CN112636957B (zh) | 基于日志的预警方法、装置、服务器及存储介质 | |
CN112162965B (zh) | 一种日志数据处理的方法、装置、计算机设备及存储介质 | |
CN112527649A (zh) | 一种测试用例的生成方法和装置 | |
CN112860706A (zh) | 一种业务的处理方法、装置、设备及存储介质 | |
US10609206B1 (en) | Auto-repairing mobile communication device data streaming architecture | |
CN111314063A (zh) | 一种基于物联网大数据信息管理方法、系统及装置 | |
CN113778977A (zh) | 数据处理方法和数据处理装置 | |
CN111401934A (zh) | 分布式广告统计方法以及装置 | |
CN110737691B (zh) | 用于处理访问行为数据的方法和装置 | |
CN116521639A (zh) | 一种日志数据的处理方法、电子设备和计算机可读介质 | |
CN113590447B (zh) | 埋点处理方法和装置 | |
CN112910855B (zh) | 一种样例报文处理方法及装置 | |
CN114356712A (zh) | 数据处理方法、装置、设备、可读存储介质及程序产品 | |
CN109218411B (zh) | 数据处理方法及装置、计算机可读存储介质、电子设备 | |
CN113239687A (zh) | 一种数据处理方法和装置 | |
CN110119364B (zh) | 一种输入/输出批量提交的方法和系统 | |
CN112862554A (zh) | 一种订单数据的处理方法和装置 | |
CN114448976B (zh) | 网络报文的组装方法、装置、设备、介质和程序产品 | |
CN111625524B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN116820539B (zh) | 一种基于互联网的系统软件运行维护系统及方法 | |
CN114584616B (zh) | 一种消息推送方法、装置、电子设备及存储介质 | |
CN110716885B (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 |