CN117931805A - 一种数据处理方法、装置、电子设备和存储介质 - Google Patents
一种数据处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117931805A CN117931805A CN202410109316.8A CN202410109316A CN117931805A CN 117931805 A CN117931805 A CN 117931805A CN 202410109316 A CN202410109316 A CN 202410109316A CN 117931805 A CN117931805 A CN 117931805A
- Authority
- CN
- China
- Prior art keywords
- message
- delay
- key value
- data processing
- consumption time
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000013500 data storage Methods 0.000 claims abstract description 13
- 230000003111 delayed effect Effects 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003780 insertion Methods 0.000 abstract description 13
- 230000037431 insertion Effects 0.000 abstract description 13
- 238000010276 construction Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 20
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法、装置、电子设备和存储介质,涉及数据存储技术领域。该数据处理方法包括:响应于数据存储指令,获取预先生成的延时消息;以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值至少包括消息消费时间;目标存储系统为支持日志结构合并LSM树构建的键值存储系统。本发明可解决现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现不受内存大小限制的数据高效插入和查询性能,提高数据处理的吞吐量。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据处理方法、装置、电子设备和存储介质。
背景技术
在日常生活中,经常会有涉及需要消息延时发送的场景,这种消息可以称为延时任务。这里,所谓“延时发送”指生产者产生消息后,消费者并不能立即获得消息,而是等待指定时长后(可以是秒级别,也可以是小时级别,也可以是天级别),消费者才能获得这个消息并进行相应的处理。
目前,通常的实现方案有在编程语言程序(Java)中实现,或者使用Redis等内存数据库实现,并在传统数据库中使用B+树存储,实现延时任务的存储。
然而,现有的两种实现方案存在受内存限制吞吐量小,消息处理失败无法恢复等问题,如果使用传统数据库实现,虽然没有内存限制,但传统数据库使用B+树存储,B+树随着数据量的提升导致插入性能逐渐降低。
发明内容
本发明提供了一种数据处理方法、装置、电子设备和存储介质,解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题。
第一方面,本发明实施例提供了一种数据处理方法,包括:
响应于数据存储指令,获取预先生成的延时消息;
以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值至少包括消息消费时间;目标存储系统为支持日志结构合并LSM树构建的键值存储系统。
第二方面,本发明实施例还提供了一种数据处理装置,包括:
延时消息生成模块,用于响应于数据存储指令,获取预先生成的延时消息;
消息存储模块,用于以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值至少包括消息消费时间;目标存储系统为支持日志结构合并LSM树构建的键值存储系统。
第三方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,
存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明实施例中任一项的数据处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明实施例中任一项的数据处理方法。
根据本发明实施例的技术方案,通过获取预先生成的延时消息,以键值对的形式将延时消息存储至支持日志结构合并LSM树构建的目标存储系统,延时消息的键值至少包括消息消费时间,解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例提供的一种数据处理方法的流程图;
图2为本发明实施例提供的另一种数据处理方法的流程图;
图3为本发明实施例提供的另一种数据处理方法的流程图;
图4为本发明实施例提供的另一种数据处理方法的流程图;
图5为根据本发明实施例提供的一种数据处理装置的结构示意图;
图6为实现本发明实施例的数据处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一实施例中,图1为根据本发明实施例提供的一种数据处理方法的流程图,本实施例可适用于对较大数据量的延时消息进行数据处理的情况,该方法可以由数据处理装置来执行,该数据处理装置可以采用硬件和/或软件的形式实现,该数据处理装置可配置于电子设备中。
如图1所示,本实施例提供的一种数据处理方法可以包括:
S110、响应于数据存储指令,获取预先生成的延时消息。
本发明实施例中,数据存储指令可以理解为开始将延时消息的信息存储至数据库的指令。延时消息可以理解为消费者无法立即获得,而是等待一定时长后,消费者才可以获得该消息并进行相应处理的消息;延时消息可以包括消息消费时间和消息体;其中,消息体可以理解为延迟消息的具体消息内容,也就是延迟消息所存储的具体消息,比如,消息体可以包括:元数据和消息头部等。示例性的,延时消息可以为5分钟之后执行删除操作,一般可以用于交易量比较大的场景。消息消费时间指的是从延时时间结束到消费者成功处理消息的时间间隔,该消息消费时间包括:延时消息在消息队列中的等待时间,以及消费者实际处理消息的时间。
具体的,在接收到数据存储的触发指令之后,从作为消息生产者的客户端中获取预先生成,并需要进行存储的延时消息。
S120、以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值至少包括消息消费时间;目标存储系统为支持日志结构合并(Log Structured Merge,LSM)树构建的键值存储系统。
本发明实施例中,键值对结构指的是由一个键值和一个相应的值组成的数据结构,键值是数组元素的标识符,而值是与键相关联的数据,可以以键值为标识来存储和访问数据。目标存储系统指的是进行延迟消息存储的数据库,目标存储系统可以进行批量信息插入和批量信息删除。LSM树指的是一个横跨内存和磁盘,包含多棵子树的一个森林,内存子树可以采用排序树等数据结构,磁盘子树存储的是有序文件,LSM树相对于现有技术中的B+树,有更高效的插入性能,支持批量插入和批量删除。
在一实施例中,以键值对结构将延时消息存储至目标存储系统,包括:
将延时消息的消息消费时间作为键值,以及将延时消息的消息体作为值,将延时消息存储至目标存储系统。
具体的,可以将预先生成的延时消息的消息消费时间作为键值对结构中的键值(即Key),以及可以将延时消息的消息体设置为键值对结构中键值对应的值(即value),并以键值对结构将延时消息存储至目标存储系统。
在一实施例中,目标存储系统包括下述之一:RocksDB系统;HBase系统。
本发明实施例中,RocksDB系统指的是持久化存储的键值对结构的数据库系统,与现有技术中的Redis这种内存型的数据库系统不同,RocksDB系统不会像Redis一样完全依赖内存,而是可以将大部分数据存储到磁盘上,基于LSM树数据结构实现,可提高服务工作负载的性能,最大限度的发挥闪存和RAM的高速读写性能。HBase系统指的是一种基于Hadoop-HDFS分布式列存储数据的非关系数据库,可以进行数据的批量插入及删除,可以对大批量的数据进行处理。
具体的,目标存储系统可以包括RocksDB系统和HBase系统之一,对延时消息进行批量插入和删除,且可以支持存储键值对结构存储及支持支持LSM树的数据库。
根据本发明实施例的技术方案,通过获取预先生成的延时消息,以键值对的形式将延时消息存储至支持日志结构合并LSM树构建的目标存储系统,延时消息的键值至少包括消息消费时间,解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
在上述实施例基础上,一种数据处理方法,还包括:
获取消息消费时间与当前系统时间之间的时间差值达到预先配置的消费时间阈值的所有延时消息,作为待删除消息;
响应于数据删除指令,对待删除消息进行批量删除操作。
其中,数据删除指令用于触发对目标存储系统中的延时消息进行批量删除的指令。本发明实施例中,消费时间阈值用于表征是否可以对延时消息进行删除的临界值,一般来说,可以根据延时消息的属性信息及实际使用情景灵活配置每个延时消息对应的消息时间阈值,以便于在后续延时消息处理出错时可以进行追溯。当一个延时消息对应的消息消费时间与当前系统时间之间的时间差值达到该消费时间阈值时,可以理解为该延时消息为过时消息,可以从目标存储系统中删除,以避免占用目标存储系统的存储资源。
具体的,可以获取目标存储系统中存储的每个延时消息的消息消费时间,可以将消息消费时间与预先配置的消费时间阈值进行比较,可以将消息消费时间与当前系统时间之间的时间差值达到预先配置的消费时间阈值的所有延时消息,设定为待删除消息,也就是设定为过时的,然后可以从目标存储系统中批量删除符合该条件的所有延迟消息,从而可以及时释放目标存储系统的存储资源,提高延时消息的存储效率。
在一实施例中,图2为本发明实施例提供的另一种数据处理方法的流程图,本实施例在上述各实施例的基础上,在延时消息的键值包括消息存储时间戳和消息消费时间的情况下,对在目标存储系统中查询需要消费者进行处理的延时消息的过程进一步优化和扩展。
如图2所示,本实施例提供的另一种数据处理方法可以包括:
S210、响应于数据存储指令,获取预先生成的延时消息。
S220、以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值的前缀为消息消费时间,键值的后缀为消息存储时间戳。
本发明实施例中,消息存储时间戳可以理解为将延时消息存储至目标存储系统时对应的存储时间,消息存储时间戳可以精确到微秒,可以作为延时消息唯一的标识,以此来保证键值的唯一性,也就是消息存储时间戳与延时消息为一一对应关系。当然,在实际操作过程中,键值的后缀也可以为其它可以用于表征每个延时消息唯一性的参数,比如,键值的后缀可以为消息标识,以表征每个延时消息的唯一性。
具体的,可以获取到消息生产者预先生成的延时消息,可以将延时消息消息消费时间作为键值的前缀,以及将消息存储时间戳作为键值的后缀,从而可以保证每个延迟消息所对应键值的唯一性。
S230、响应于数据查询指令,基于消息消费时间作为键值的前缀对目标存储系统进行消息查询。
本发明实施例中,数据查询指令用于表征对目标存储系统中的延时消息进行轮询的指令。一般来说,数据查询过程可以理解为,将目标存储系统中中每个延时消息的消息消费时间与当前系统时间进行匹配的过程
具体的,在目标存储系统中,将每个延时消息的消息消费时间与当前系统时间进行匹配,如果没查询到与当前系统时间相匹配的延时消息,则可以结束本次查询;若查询到与当前系统时间相匹配的一条或多条延时消息,则依次将延时消息作为普通消息发送至消息服务器集群。由于每个延时消息所对应键值的后缀为消息存储时间戳,并且,该消息存储时间戳为用于表征每个延时消息唯一性的时间戳,即与延时消息为一一对应关系。因此,在数据查询过程中,在目标存储系统中不会出现延时消息存在历史版本的情况。
S240、将消息消费时间与当前系统时间相匹配的所有延时消息发送至消息服务器集群,以使消息消费者在消息消费时间对消息服务器集群中的所有延时消息进行数据处理。
其中,消息服务器集群指的是用于提供高可用性、可伸缩性和性能的消息传递服务的一组相互连接的消息服务器。示例性地,消息服务器集群可以为kafka集群。具体的,可以将上述在目标存储系统中查询到的消息消费时间与当前系统时间相匹配的所有延时消息发送至消息服务器集群,以便消息消费者可以在消息消费时间对消息服务器集群中的所有延时消息进行处理,从而可以将消息消费时间与当前系统时间相匹配的延时消息发送至消息服务器集群,可以确保每条消息正确处理,而未正确处理的消息可以重复处理,确保不丢失消息。
根据本发明实施例的技术方案,通过在接收到数据查询指令时,可以基于消息消费时间作为键值的前缀对目标存储系统进行消息查询,将消息消费时间与当前系统时间相匹配的所有延时消息发送至消息服务器集群,以便消息消费者在消息消费时间对消息服务器集群中的所有延时消息进行数据处理。解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
在一实施例中,图3为本发明实施例提供的另一种数据处理方法的流程图,本实施例在上述各实施例的基础上,在延时消息的键值包括消息消费时间的情况下,对在目标存储系统中查询需要消费者进行处理的延时消息的过程进一步优化和扩展。
如图3所示,本实施例提供的另一种数据处理方法可以包括:
S310、响应于数据存储指令,获取预先生成的延时消息。
S320、以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值包括消息消费时间。
S330、响应于历史版本数据查询指令,基于消息消费时间作为键值对目标存储系统进行消息查询。
一般来说,在对目标存储系统的延时消息进行数据查询时,即接收到数据查询指令时,只对目标存储系统中最新版本的延时消息进行查询,并不对历史版本的延时消息进行查询。但在实际操作过程中,延时消息的主键存在只包括消息消费时间的情况,对应的,可能存在消息消费时间相同的多个延时消息,即多个延时消息的主键相同,则无法对历史版本的延时消息进行查询。也就是说,在目标存储系统中存储的延时消息可能存在对应任务不同,而消息消费时间是相同的情况,示例性的,12点关闭网络连接,12点发送短信,这两个是不同的任务,但其消息消费时间是相同的。一般在目标存储系统中查询与当前系统时间相匹配的延时消息时,只能查询到版本最新的延时消息。本发明实施例中,可以通过历史版本数据查询指令对目标存储系统的延时消息进行轮询。其中,历史版本数据查询指令指的是在目标存储系统中对消息消费时间与当前系统时间相匹配的所有延时消息进行查询的指令,所有延时消息可以包括历史版本的延时消息及最新版本的延时消息。
具体的,在接收到对历史版本数据进行轮询的触发指令时,在目标存储系统中对延时消息的消息消费时间与当前系统时间相匹配的所有延时消息进行查询,包括历史版本的延时消息及最新版本的延时消息。如果没查询到与当前系统时间相匹配的延时消息,则可以结束本次查询。
S340、将消息消费时间与当前系统时间相匹配的所有历史版本延时消息发送至消息服务器集群,以使消息消费者在消息消费时间对消息服务器集群中的所有历史版本延时消息进行数据处理。
具体的,可以将上述在目标存储系统中查询到的消息消费时间与当前系统时间相匹配的所有历史版本延时消息发送至消息服务器集群,查询到的延时消息可以包一条或多条历史版本延时消息,可以依次把延时消息作为普通消息发送到消息服务器集群,以便消息消费者可以在消息消费时间对消息服务器集群中的所有历史版本延时消息进行数据处理,从而可以将消息消费时间与当前系统时间相匹配的历史版本延时消息发送至消息服务器集群,可以确保每条消息正确处理,而未正确处理的消息可以重复处理,确保不丢失消息。
根据本发明实施例的技术方案,通过在接收到历史版本数据查询指令时,可以基于消息消费时间作为键值对目标存储系统进行消息查询,将消息消费时间与当前系统时间相匹配的所有历史版本延时消息发送至消息服务器集群,以便消息消费者在消息消费时间对消息服务器集群中的所有历史版本延时消息进行数据处理。解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
在一实施例中,图4为本发明实施例提供的另一种数据处理方法的流程图,在上述各实施例的基础上,本实施例作为优选实施例,以RocksDB系统为目标存储系统为例,并对延时消息在目标存储系统存储及消息消费者对延时消息的处理过程进行具体说明。
如图4所示,本实施例提供的另一种数据处理方法可以包括:
S410、消息生产者生产延时消息。
具体的,消息生产者可以根据系统使用情况产生延时消息。
S420、将延时消息存储至RocksDB系统。
具体的,由于RocksDB系统仅支持键值对结构,不支持列表,可以将延时消息的键值设置为前缀-后缀的形式,前缀可以为消息消费时间,后缀可以为精确到微秒的消息存储时间戳,以此保证键值的唯一性,值可以为延时消息的消息体,收到消息生产者的延时消息后可以以该键值对的形式存入RocksDB系统,消息消费者可以清楚地知道自身发送了哪些延时消息。也可以将延时消息的键值设置为消息消费时间,可以为延时消息的消息体,收到消息生产者的延时消息后可以以该键值对的形式存入Rocks DB系统,消息消费者只需要将延时消息发送出去,但无法知晓自身发送哪些延时消息,也不能确定与别的消息消费者是否冲突。
S430、对RocksDB系统中的延时消息进行轮询。
具体的,可以轮询也就是查询以当前时间(即当前系统时间)为Roc ksDB系统键值的前缀,在RocksDB系统中查找对应的延时消息,如果没查到对应的延时消息,则可以结束本次轮询,由于主键也包括唯一的消息存储时间戳,一般不会存在延时消息历史版本的情况。也可以轮询当前时间为RocksDB系统的键值,查找延时消息所有历史版本,如果没查到对应的延时消息,则可以结束本次轮询,在默认情况下,只查询RocksDB系统当前的最新版本的延时消息,可以发送一个查询历史版本数据的指令。只有两个延时消息的主键相同,才会存在历史版本。
S440、将轮询后的延时消息发送至消息服务器集群。
具体的,可以将上述查询到一条或多条延时消息依次作为普通消息发送到消息服务器集群。
S450、消息消费者在消息服务器集群中对延时消息进行处理。
具体的,消息消费者可以在消息消费时间对消息服务器集群中的所有延时消息进行处理。
根据本发明实施例的技术方案,通过消息生产者生产延时消息,延时消息存储至RocksDB系统,对RocksDB系统中的延时消息进行轮询,将轮询后的延时消息发送至消息服务器集群,消息消费者在消息服务器集群中对延时消息进行处理。解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
在一实施例中,图5为根据本发明实施例提供的一种数据处理装置的结构示意图。本实施例可以执行上述实施方式。本实施例可适用于存在延时处理任务的需求,需对延时任务进行存储的情况,该装置可以采用硬件/软件的方式来实现,并可配置在电子设备中。
如图5所示,本实施例中提供的数据处理装置包括:延时消息生成模块401和消息存储模块402,其中:
延时消息生成模块401,用于响应于数据存储指令,获取预先生成的延时消息;
消息存储模块402,用于以键值对结构将延时消息存储至目标存储系统;其中,延时消息的键值至少包括消息消费时间;目标存储系统为支持日志结构合并LSM树构建的键值存储系统。
根据本发明实施例的技术方案,通过获取预先生成的延时消息,以键值对的形式将延时消息存储至支持日志结构合并LSM树构建的目标存储系统,延时消息的键值至少包括消息消费时间,解决了现有技术中数据处理受内存限制吞吐量小和消息处理失败无法恢复的问题,实现了不受内存大小限制的数据高效插入和查询性能,提高了数据处理的吞吐量。
在上述实施例基础上,延时消息的键值还包括:消息存储时间戳;其中,键值的前缀为消息消费时间,键值的后缀为消息存储时间戳。
在上述实施例基础上,在延时消息的键值包括消息存储时间戳和消息消费时间的情况下,数据处理装置,还包括:
消息查询一模块,用于响应于数据查询指令,基于消息消费时间作为键值的前缀对目标存储系统进行消息查询。
数据处理一模块,用于将消息消费时间与当前系统时间相匹配的所有延时消息发送至消息服务器集群,以使消息消费者在消息消费时间对消息服务器集群中的所有延时消息进行数据处理。
在上述实施例基础上,在延时消息的键值包括消息消费时间的情况下,数据处理装置,还包括:
消息查询二模块,用于响应于历史版本数据查询指令,基于消息消费时间作为键值对目标存储系统进行消息查询。
数据处理二模块,用于将消息消费时间与当前系统时间相匹配的所有历史版本延时消息发送至消息服务器集群,以使消息消费者在消息消费时间对消息服务器集群中的所有历史版本延时消息进行数据处理。
在上述实施例基础上,数据处理装置,还包括:
待删除消息确定模块,用于获取消息消费时间与当前系统时间之间的时间差值达到预先配置的消费时间阈值的所有延时消息,作为待删除消息。
批量删除模块,用于响应于数据删除指令,对待删除消息进行批量删除操作。
在上述实施例基础上,消息存储模块402,具体用于:
将延时消息的消息消费时间作为键值,以及将延时消息的消息体作为值,将延时消息存储至目标存储系统。
在上述实施例基础上,目标存储系统包括下述之一:RocksDB系统;HBase系统。
本发明实施例提供的一种数据处理装置可执行本发明实施例所提供的任意的数据处理方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本发明任意方法实施例中的描述。
在一实施例中,图6为实现本发明实施例的数据处理方法的电子设备的结构示意图。可以用来实施本发明的实施例的电子设备50,电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备50包括至少一个处理器51,以及与至少一个处理器51通信连接的存储器,如只读存储器(ROM)52、随机访问存储器(RAM)53等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器51可以根据存储在只读存储器(ROM)52中的计算机程序或者从存储单元58加载到随机访问存储器(RAM)53中的计算机程序,来执行各种适当的动作和处理。在RAM 53中,还可存储电子设备50操作所需的各种程序和数据。处理器51、RAM 52以及RAM 53通过总线54彼此相连。输入/输出(I/O)接口55也连接至总线54。
电子设备50中的多个部件连接至I/O接口55,包括:输入单元55,例如键盘、鼠标等;输出单元57,例如各种类型的显示器、扬声器等;存储单元58,例如磁盘、光盘等;以及通信单元59,例如网卡、调制解调器、无线通信收发机等。通信单元59允许电子设备50通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器51可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器51的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器51执行上文所描述的各个方法和处理,例如数据处理方法。
在一些实施例中,数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元58。在一些实施例中,计算机程序的部分或者全部可以经由ROM 52和/或通信单元59而被载入和/或安装到电子设备50上。当计算机程序加载到RAM 53并由处理器51执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器51可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
响应于数据存储指令,获取预先生成的延时消息;
以键值对结构将所述延时消息存储至目标存储系统;其中,所述延时消息的键值至少包括消息消费时间;所述目标存储系统为支持日志结构合并LSM树构建的键值存储系统。
2.根据权利要求1所述的方法,其特征在于,所述延时消息的键值还包括:消息存储时间戳;其中,所述键值的前缀为消息消费时间,所述键值的后缀为消息存储时间戳。
3.根据权利要求2所述的方法,其特征在于,在所述延时消息的键值包括消息存储时间戳和消息消费时间的情况下,所述方法,还包括:
响应于数据查询指令,基于消息消费时间作为键值的前缀对所述目标存储系统进行消息查询;
将所述消息消费时间与当前系统时间相匹配的所有延时消息发送至消息服务器集群,以使消息消费者在所述消息消费时间对所述消息服务器集群中的所有延时消息进行数据处理。
4.根据权利要求1所述的方法,其特征在于,在所述延时消息的键值包括消息消费时间的情况下,所述方法,还包括:
响应于历史版本数据查询指令,基于消息消费时间作为键值对所述目标存储系统进行消息查询;
将所述消息消费时间与当前系统时间相匹配的所有历史版本延时消息发送至消息服务器集群,以使消息消费者在所述消息消费时间对所述消息服务器集群中的所有历史版本延时消息进行数据处理。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
获取所述消息消费时间与当前系统时间之间的时间差值达到预先配置的消费时间阈值的所有延时消息,作为待删除消息;
响应于数据删除指令,对所述待删除消息进行批量删除操作。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述以键值对结构将所述延时消息存储至目标存储系统,包括:
将所述延时消息的消息消费时间作为键值,以及将所述延时消息的消息体作为值,将所述延时消息存储至目标存储系统。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述目标存储系统包括下述之一:RocksDB系统;HBase系统。
8.一种数据处理装置,其特征在于,所述装置包括:
延时消息生成模块,用于响应于数据存储指令,获取预先生成的延时消息;
消息存储模块,用于以键值对结构将所述延时消息存储至目标存储系统;其中,所述延时消息的键值至少包括消息消费时间;所述目标存储系统为支持日志结构合并LSM树构建的键值存储系统。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109316.8A CN117931805A (zh) | 2024-01-25 | 2024-01-25 | 一种数据处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109316.8A CN117931805A (zh) | 2024-01-25 | 2024-01-25 | 一种数据处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931805A true CN117931805A (zh) | 2024-04-26 |
Family
ID=90764232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410109316.8A Pending CN117931805A (zh) | 2024-01-25 | 2024-01-25 | 一种数据处理方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931805A (zh) |
-
2024
- 2024-01-25 CN CN202410109316.8A patent/CN117931805A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555068A (zh) | 数据导出方法和装置 | |
CN113568938A (zh) | 数据流处理方法、装置、电子设备及存储介质 | |
CN115617849A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN115934414A (zh) | 数据备份方法、数据恢复方法、装置、设备及存储介质 | |
CN115495473A (zh) | 数据库查询方法、装置、电子设备和存储介质 | |
CN113220710B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
CN109947736B (zh) | 实时计算的方法和系统 | |
CN116545905A (zh) | 一种服务健康检测方法、装置、电子设备及存储介质 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
CN115525659A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN117931805A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN113239054A (zh) | 信息生成方法、相关装置及计算机程序产品 | |
CN113760568A (zh) | 数据处理的方法和装置 | |
CN111459981A (zh) | 查询任务的处理方法、装置、服务器及系统 | |
CN114553894B (zh) | 数据同步方法、装置、系统及存储介质 | |
CN114416881A (zh) | 一种多源数据的实时同步方法、装置、设备及介质 | |
CN117271667A (zh) | 数据读取方法、装置、电子设备及存储介质 | |
CN115495528A (zh) | 分布式数据库语句执行方法、装置、设备及存储介质 | |
CN117633116A (zh) | 数据同步方法、装置、电子设备及存储介质 | |
CN116932623A (zh) | 一种云容器调度数据的转换方法、装置、设备及存储介质 | |
CN117149784A (zh) | 一种高性能更新clickhouse数据库的方法及装置 | |
CN117633088A (zh) | 文件数据导入方法、装置、设备及存储介质 | |
CN116595110A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
CN117971872A (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 |