CN114089912A - 基于消息中间件的数据处理方法及装置、存储介质 - Google Patents
基于消息中间件的数据处理方法及装置、存储介质 Download PDFInfo
- Publication number
- CN114089912A CN114089912A CN202111215012.2A CN202111215012A CN114089912A CN 114089912 A CN114089912 A CN 114089912A CN 202111215012 A CN202111215012 A CN 202111215012A CN 114089912 A CN114089912 A CN 114089912A
- Authority
- CN
- China
- Prior art keywords
- storage
- target
- target data
- data
- space
- 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 16
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000013500 data storage Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 15
- 230000001680 brushing effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 238000011010 flushing procedure Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于消息中间件的数据处理方法及装置、存储介质、计算机设备,该方法包括:响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。本申请可以优化消息中间件的稳定性,减少消息中间件的性能毛刺。
Description
技术领域
本申请涉及数据处理技术领域,尤其是涉及到一种基于消息中间件的数据处理方法及装置、存储介质、计算机设备。
背景技术
消息中间件应用广泛,例如在多个应用***之间异步解耦、在流量入口削峰填谷等,同时在大数据领域里还起到数据缓冲与分发的作用。消息中间件性能的稳定性极大地影响消息相关的业务***、大数据***的稳定性。
当前消息中间件在处理消费应用程序发送的数据读取请求时,消息中间件调用文件***页面缓存的读取请求,首先从页面缓存中读取数据,如果文件***页面缓存中不存在消费应用程序想要读取的数据时,文件***页面缓存会将数据从磁盘读入到页面缓存,随后将读入页面缓存后的数据返回给消息中间件。当页面缓存空间不足时,会按照策略开始淘汰部分页面缓存,此时延迟消费的消费应用读取到的数据会替换页面缓存中实时的缓存数据。后续当实时消费请求到达时,由于页面缓存中的数据已被替换掉,会产生预期外的磁盘读取,从而导致数据处理延迟,影响业务***、大数据***的稳定性。
发明内容
有鉴于此,本申请提供了一种基于消息中间件的数据处理方法及装置、存储介质、计算机设备,本申请可以减小消息中间件所处服务器对应的数据处理压力,优化消息中间件的稳定性,减少消息中间件的性能毛刺。
根据本申请的一个方面,提供了一种基于消息中间件的数据处理方法,包括:
响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
可选地,所述判断所述目标缓存空间内的缓存数据是否包含所述目标数据,具体包括:
获取所述目标缓存空间对应的数据存储记录,并识别所述数据存储记录中是否存储有所述目标数据的存储位置;
所述当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,具体包括:
当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据;
所述当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,具体包括:
当不包含所述目标数据的存储位置时,获取预设可共享存储空间对应的地址存储列表,并从所述地址存储列表中查询所述目标数据对应的存储地址。
可选地,所述目标缓存空间中至少包括一个存储文件,每个所述存储文件对应唯一的文件标识;所述当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据,具体包括:
当包含所述目标数据的存储位置时,基于所述存储位置确定所述目标数据对应的所述文件标识,以及在所述文件标识对应的存储文件中的目标位置,依据所述目标位置从所述存储文件中读取所述目标数据。
可选地,所述响应于来自预设应用程序的目标数据读取请求之前,所述方法还包括:
响应于来自所述预设应用程序的目标数据写入请求,确定所述目标数据对应的目标缓存空间;
当所述目标缓存空间中的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,其中,所述存储位置包括所述目标数据对应的所述文件标识以及所述目标位置;
当所述目标缓存空间中的剩余空间小于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的新建存储文件中,以使所述目标缓存空间按照预设淘汰机制删除所述目标缓存空间中的所述存储文件,并将删除的所述存储文件对应的存储位置从所述数据存储记录删除。
可选地,所述方法还包括:
确定所述目标缓存空间对应的目标磁盘,并监控所述目标缓存空间中的所述存储文件是否满足预设刷盘条件;
当所述目标缓存空间中的所述存储文件满足所述预设刷盘条件时,确定所述目标磁盘中不存在的所述目标存储文件,并将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中。
可选地,所述确定所述目标磁盘中不存在的所述目标存储文件之后,所述方法还包括:
将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中,并将刷入所述目标磁盘的所述目标存储文件写入预设内存;
当监测到所述目标磁盘刷盘结束时,将写入所述预设内存中的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中。
可选地,所述将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,具体包括:
确定所述目标缓存空间中的最新存储文件的剩余空间;
当所述最新存储文件的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述最新存储文件中,并将所述最新存储文件对应的文件标识以及所述目标数据在所述最新存储文件中的目标位置写入所述数据存储记录中;
当所述最新存储文件的剩余空间小于所述目标数据的占用空间时,创建文件并将所述创建文件之前的最新存储文件剩余空间中填充预设标识,将所述目标数据写入创建的文件中,并将创建的文件对应的文件标识以及所述目标数据在所述创建文件中的目标位置写入所述数据存储记录中。
根据本申请的另一方面,提供了一种基于消息中间件的数据处理装置,包括:
判断模块,用于响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
数据读取模块,用于当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
地址发送模块,用于当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
可选地,所述判断模块,具体用于:
获取所述目标缓存空间对应的数据存储记录,并识别所述数据存储记录中是否存储有所述目标数据的存储位置;
所述数据读取模块,具体用于:
当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据;
所述地址发送模块,具体用于:
当不包含所述目标数据的存储位置时,获取预设可共享存储空间对应的地址存储列表,并从所述地址存储列表中查询所述目标数据对应的存储地址。
可选地,所述目标缓存空间中至少包括一个存储文件,每个所述存储文件对应唯一的文件标识;所述数据读取模块,具体还用于:
当包含所述目标数据的存储位置时,基于所述存储位置确定所述目标数据对应的所述文件标识,以及在所述文件标识对应的存储文件中的目标位置,依据所述目标位置从所述存储文件中读取所述目标数据。
可选地,所述装置还包括:
空间确定模块,用于所述响应于来自预设应用程序的目标数据读取请求之前,响应于来自所述预设应用程序的目标数据写入请求,确定所述目标数据对应的目标缓存空间;
数据写入模块,用于当所述目标缓存空间中的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,其中,所述存储位置包括所述目标数据对应的所述文件标识以及所述目标位置;
删除模块,用于当所述目标缓存空间中的剩余空间小于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的新建存储文件中,以使所述目标缓存空间按照预设淘汰机制删除所述目标缓存空间中的所述存储文件,并将删除的所述存储文件对应的存储位置从所述数据存储记录删除。
可选地,所述装置还包括:
监控模块,用于确定所述目标缓存空间对应的目标磁盘,并监控所述目标缓存空间中的所述存储文件是否满足预设刷盘条件;
磁盘写入模块,用于当所述目标缓存空间中的所述存储文件满足所述预设刷盘条件时,确定所述目标磁盘中不存在的所述目标存储文件,并将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中。
可选地,所述装置还包括:
内存写入模块,用于所述确定所述目标磁盘中不存在的所述目标存储文件之后,将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中,并将刷入所述目标磁盘的所述目标存储文件写入预设内存;
数据转存模块,用于当监测到所述目标磁盘刷盘结束时,将写入所述预设内存中的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中。
可选地,所述数据写入模块,具体用于:
确定所述目标缓存空间中的最新存储文件的剩余空间;
当所述最新存储文件的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述最新存储文件中,并将所述最新存储文件对应的文件标识以及所述目标数据在所述最新存储文件中的目标位置写入所述数据存储记录中;
当所述最新存储文件的剩余空间小于所述目标数据的占用空间时,创建文件并将所述创建文件之前的最新存储文件剩余空间中填充预设标识,将所述目标数据写入创建的文件中,并将创建的文件对应的文件标识以及所述目标数据在所述创建文件中的目标位置写入所述数据存储记录中。
依据本申请又一个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述基于消息中间件的数据处理方法。
依据本申请再一个方面,提供了一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述基于消息中间件的数据处理方法。
借由上述技术方案,本申请提供的一种基于消息中间件的数据处理方法及装置、存储介质、计算机设备,消息中间件接收到预设应用程序发送的目标数据读取请求后,响应于该目标数据读取请求,进而确定与目标数据相对应的目标缓存空间,并判断目标缓存空间存储的缓存数据中是否包括目标数据读取请求对应的目标数据,当包括时,消息中间件从目标缓存空间中读取目标数据,之后将读取到的目标数据反馈给对应的预设应用程序;当不包括时,消息中间件转而从预设可共享存储空间中查询目标数据在预设可共享存储空间中的存储地址,接着将该存储地址反馈给对应的预设应用程序,预设应用程序接收到消息中间件反馈的存储地址后,可以以存储地址为基础,从预设可共享存储空间中找到存储地址对应的位置,进而读取到目标数据。本申请实施例消息中间件在接收到目标数据读取请求后,判断预设应用程序想要读取的目标数据是否存储在目标缓存空间中,并当目标缓存空间中不包括对应的目标数据时直接从预设可共享存储空间查找该目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间获取对应的目标数据,一方面可以避免预设应用程序读取过时数据时,将过时数据从磁盘返回目标缓存空间从而造成目标缓存空间中的实时数据被淘汰,导致后续预设应用程序读取新数据时产生额外的磁盘读取,另一方面直接从预设可共享存储空间获得目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间读取目标数据,可以大大减少消息中间件所处服务器对应的数据处理压力,所以,本申请在减小消息中间件所处服务器对应的数据处理压力的同时,可以优化消息中间件的稳定性,减少消息中间件的性能毛刺。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种基于消息中间件的数据处理方法的流程示意图;
图2示出了本申请实施例提供的另一种基于消息中间件的数据处理方法的流程示意图;
图3示出了本申请实施例提供的一种基于消息中间件的数据处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在本实施例中提供了一种基于消息中间件的数据处理方法,如图1所示,该方法包括:
步骤101,响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
本申请实施例提供的基于消息中间件的数据处理方法,预设应用程序可以向消息中间件发送目标数据读取请求,消息中间件响应于该目标数据读取请求,并确定目标数据存储在哪个缓存空间中,即可以确定与目标数据相对应的目标缓存空间。接着,确定目标缓存空间后,消息中间件可以判断目标缓存空间中是否包括与目标数据读取请求对应的目标数据。在这里,目标缓存空间可以是页面缓存空间,具体可以是文件***页面缓存。由于硬件结构限制,磁盘的I/O速度比页面缓存空间慢很多,因此使用页面缓存空间进行数据的读写能够大大加速文件的读写速度。例如,RocketMQ、Kafka等消息中间件,均利用页面缓存空间来优化磁盘数据读写性能。
步骤102,当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
在该实施例中,当经过判断发现目标缓存空间存储的缓存数据中包括预设应用程序想要读取的目标数据时,消息中间件可以从目标缓存空间中读取该目标数据,并将读取到的目标数据反馈给对应的预设应用程序,这样预设应用程序可以直接获取到该目标数据。
步骤103,当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
在该实施例中,当经过判断发现目标缓存空间存储的缓存数据中不包括预设应用程序想要读取的目标数据时,消息中间件可以转而从预设可共享存储空间中查询目标数据在预设可共享存储空间中的存储地址,接着将该存储地址反馈给对应的预设应用程序。在这里,预设可共享存储空间可以是网络存储,例如公有云、私有云等,具体可以是Amazon S3对象存储等。预设应用程序接收到消息中间件反馈的存储地址后,可以以该存储地址为基础,从预设可共享存储空间中找到该存储地址对应的位置,进而从预设可共享存储空间中读取到目标数据。
通过应用本实施例的技术方案,消息中间件接收到预设应用程序发送的目标数据读取请求后,响应于该目标数据读取请求,进而确定与目标数据相对应的目标缓存空间,并判断目标缓存空间存储的缓存数据中是否包括目标数据读取请求对应的目标数据,当包括时,消息中间件从目标缓存空间中读取目标数据,之后将读取到的目标数据反馈给对应的预设应用程序;当不包括时,消息中间件转而从预设可共享存储空间中查询目标数据在预设可共享存储空间中的存储地址,接着将该存储地址反馈给对应的预设应用程序,预设应用程序接收到消息中间件反馈的存储地址后,可以以存储地址为基础,从预设可共享存储空间中找到存储地址对应的位置,进而读取到目标数据。本申请实施例消息中间件在接收到目标数据读取请求后,判断预设应用程序想要读取的目标数据是否存储在目标缓存空间中,并当目标缓存空间中不包括对应的目标数据时直接从预设可共享存储空间查找该目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间获取对应的目标数据,一方面可以避免预设应用程序读取过时数据时,将过时数据从磁盘返回目标缓存空间从而造成目标缓存空间中的实时数据被淘汰,导致后续预设应用程序读取新数据时产生额外的磁盘读取,另一方面直接从预设可共享存储空间获得目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间读取目标数据,可以大大减少消息中间件所处服务器对应的数据处理压力,所以,本申请在减小消息中间件所处服务器对应的数据处理压力的同时,可以优化消息中间件的稳定性,减少消息中间件的性能毛刺。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的具体实施过程,提供了另一种基于消息中间件的数据处理方法,如图2所示,该方法包括:
步骤201,响应于目标数据写入请求,确定所述目标数据对应的目标缓存空间;
在该实施例中,消息中间件还可以响应于其他应用程序或应用***发送的目标数据的写入请求,并确定目标数据应该存储在哪个缓存空间中,即可以确定该目标数据相对应的目标缓存空间。
步骤202,当所述目标缓存空间中的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,其中,所述存储位置包括所述目标数据对应的所述文件标识以及所述目标位置;
在该实施例中,当目标缓存空间对应的剩余空间大于或者正好等于目标数据存储所需占用的空间时,说明目标数据可以被直接存储在目标缓存空间中。目标缓存空间中可以包括多个存储文件,那么可以将目标数据写入有空余空间的存储文件中,与此同时将该存储文件对应的文件标识以及目标数据在该存储文件中的目标位置作为目标数据对应的存储位置写入数据存储记录中。例如,目标数据存储所需占用的空间为200Byte,而目标缓存空间对应的剩余空间为400Byte,且这400Byte的空间位于存储文件10中,存储文件10当前已经写入的数据占用的空间为600Byte,在这里,目标缓存空间中的每个存储文件对应的存储空间均是相同的,具体可以均为1000Byte,那么目标数据在该目标缓存空间中的目标位置为:目标起始位置9601Byte,目标终止位置9800Byte,目标数据对应的存储位置可以是:<目标起始位置9601Byte,目标终止位置9800Byte>。
步骤203,当所述目标缓存空间中的剩余空间小于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的新建存储文件中,以使所述目标缓存空间按照预设淘汰机制删除所述目标缓存空间中的所述存储文件,并将删除的所述存储文件对应的存储位置从所述数据存储记录删除;
在该实施例中,当经过判断发现目标缓存空间对应的剩余空间比目标数据存储所需占用的空间小时,说明目标缓存空间已经不足以存储目标数据,需要释放一部分空间。此时可以在目标缓存空间中新建存储文件,并将目标数据写入至目标缓存空间中,在目标数据写入目标缓存空间的同时,目标缓存空间可以按照预设淘汰机制对其中的存储文件进行删除,以释放空间,与此同时将这些存储文件对应的存储位置从数据存储记录中删除。
步骤204,确定所述目标缓存空间对应的目标磁盘,并监控所述目标缓存空间中的所述存储文件是否满足预设刷盘条件;当所述目标缓存空间中的所述存储文件满足所述预设刷盘条件时,确定所述目标磁盘中不存在的所述目标存储文件,并将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中,并将刷入所述目标磁盘的所述目标存储文件写入预设内存;
在该实施例中,目标缓存空间中的存储文件还可以进一步刷入磁盘中。刷入磁盘前先确定目标缓存空间对应的目标磁盘,接着消息中间件还可以对目标缓存空间进行实时监控,确定目标缓存空间中的存储文件是否符合预设刷盘条件,并当监控到目标缓存空间中的存储文件符合预设刷盘条件时,消息中间件可以调用刷盘命令,并确定当前目标缓存空间中的哪些存储文件是目标磁盘中不包括的,可以选择将目标磁盘中不存在的全部目标存储文件一次性刷入目标磁盘中,也可以选择每次将目标磁盘中不存在的一个或几个目标存储文件刷入目标磁盘中,刷入目标磁盘中的目标存储文件应该是在目标缓存空间中存储时间最长的一个或几个存储文件。例如,预设刷盘条件可以是每0.1s刷一次磁盘,预设数量可以是每次2个存储文件,当前目标缓存空间中共有5个存储文件,分别是存储文件1至存储文件5,其中存储文件1是最先存储在目标缓存空间中的,存储顺序分别是存储文件1至存储文件5,目标磁盘中现有存储文件为存储文件1和存储文件2,那么当到了0.1s时,消息中间件调用刷盘命令,接下来要刷入目标磁盘的目标存储文件可以是存储文件3和存储文件4,等再过了0.1s时,如果目标缓存空间中并没有出现新的存储文件,那么刷入目标磁盘的目标存储文件可以只是存储文件5。此外,预设刷盘条件还可以是实时刷入目标磁盘,即只要目标缓存空间中存在目标磁盘中没有的目标存储文件,就可以实时刷入目标磁盘中;还可以是当目标缓存空间中的存储文件个数大于预设数量阈值时刷一次盘,还可以是目标缓存空间中的存储文件占用空间大于预设比例阈值时刷一次盘等等。在将目标存储文件刷入目标磁盘时,还可以将这些刷入目标磁盘的目标存储文件写入到对应的预设内存中,从而实现后续目标存储文件的准实时异步转存至预设可共享存储空间中。
步骤205,当监测到所述目标磁盘刷盘结束时,将写入所述预设内存中的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中;
在该实施例中,当监测到想要刷入目标磁盘的目标存储文件已经全部刷入完毕后,可以将写入预设内存中的与刷入目标磁盘中一样的目标存储文件进一步转存到预设可共享存储空间中,这样预设可共享存储空间可以将目标存储文件进行存储并将每个目标存储文件对应的存储地址保存在预设可共享存储空间中的地址存储列表中。本申请将刷入目标磁盘的目标存储文件同时写入预设内存,并在目标磁盘刷盘完毕后将预设内存中写入的目标存储文件转存至预设可共享存储空间中,可以实现目标数据的准实时异步写入,在转存入预设可共享存储空间时将目标存储文件在预设可共享存储空间中的存储地址保存至地址存储列表中,便于后续直接从预设可共享存储空间中获取数据的存储地址。
步骤206,响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
步骤207,当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
步骤208,当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
在该实施例中,消息中间件接收到预设应用程序发送的目标数据读取请求后,响应于该目标数据读取请求,进而确定与目标数据相对应的目标缓存空间,并判断目标缓存空间存储的缓存数据中是否包括目标数据读取请求对应的目标数据,当包括时,消息中间件从目标缓存空间中读取目标数据,之后将读取到的目标数据反馈给对应的预设应用程序;当不包括时,消息中间件转而从预设可共享存储空间中查询目标数据在预设可共享存储空间中的存储地址,接着将该存储地址反馈给对应的预设应用程序,预设应用程序接收到消息中间件反馈的存储地址后,可以以存储地址为基础,从预设可共享存储空间中找到存储地址对应的位置,进而读取到目标数据。
在本申请实施例中,可选地,步骤206中所述“判断所述目标缓存空间内的缓存数据是否包含所述目标数据”,具体包括:获取所述目标缓存空间对应的数据存储记录,并识别所述数据存储记录中是否存储有所述目标数据的存储位置;步骤207中所述“当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据”,具体包括:当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据;步骤208中所述“当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址”,具体包括:当不包含所述目标数据的存储位置时,获取预设可共享存储空间对应的地址存储列表,并从所述地址存储列表中查询所述目标数据对应的存储地址。
在该实施例中,消息中间件接收到预设应用程序发送的目标数据读取请求后,响应于该目标数据读取请求,进而确定与目标数据相对应的目标缓存空间。目标缓存空间中可以存储有数据存储记录。接着,消息中间件可以从目标缓存空间中获取该数据存储记录,通过识别数据存储记录中是否对应有目标数据的存储位置,来判断目标缓存空间中是否对应存储有目标数据。数据存储记录中的内容可以是随着目标缓存空间中存储数据的变化而变化的。当从数据存储记录中找到目标数据对应的存储位置时,以存储位置为基础,根据存储位置从目标缓存空间中找到目标数据,并读取该目标数据。当从数据存储记录中不能找到目标数据对应的存储位置时,说明目标数据被存储在预设可共享存储空间中,进而可以从预设可共享存储空间中获取地址存储列表,从地址存储列表中查询目标数据对应的存储地址。
在本申请实施例中,可选地,所述“当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据”,具体包括:当包含所述目标数据的存储位置时,基于所述存储位置确定所述目标数据对应的所述文件标识,以及在所述文件标识对应的存储文件中的目标位置,依据所述目标位置从所述存储文件中读取所述目标数据。
在该实施例中,所述目标缓存空间中至少包括一个存储文件,每个所述存储文件对应唯一的文件标识。当经过判断发现目标缓存空间对应的数据存储记录中包括目标数据的存储位置时,以该存储位置为基础,进一步确定该存储位置对应哪一个存储文件,并确定目标数据在这一存储文件中的目标位置。这样可以根据目标数据所在的存储文件以及在该存储文件中的目标位置查找目标数据。本申请实施例目标缓存空间中可以存储预设数量的存储文件,每个存储文件对应的占用空间可以相同。这样确定目标数据对应的文件标识后,可以直接依据目标位置从与该文件标识对应的存储文件中读取目标数据,可以增加数据读取速度和处理便利性。
在本申请实施例中,可选地,步骤202中所述“将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中”,具体包括:确定所述目标缓存空间中的最新存储文件的剩余空间;当所述最新存储文件的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述最新存储文件中,并将所述最新存储文件对应的文件标识以及所述目标数据在所述最新存储文件中的目标位置写入所述数据存储记录中;当所述最新存储文件的剩余空间小于所述目标数据的占用空间时,创建文件并将所述创建文件之前的最新存储文件剩余空间中填充预设标识,将所述目标数据写入创建的文件中,并将创建的文件对应的文件标识以及所述目标数据在所述创建文件中的目标位置写入所述数据存储记录中。
在该实施例中,为了后续数据读取方便,还可以保证将每次写入的数据存储至同一存储文件中,这样可以有效避免后续数据读取时,想要读取的数据一部分存储在目标缓存空间中,一部分存储在预设可共享存储空间中。当目标数据想要写入目标缓存空间时,消息中间件可以先确定目标缓存空间中存储时间最短的存储文件中的剩余空间,并判断该剩余空间与目标数据存储需要占用的空间的大小关系。当判断发现剩余空间大于或等于目标数据存储需要占用的空间时,说明目标数据可以被写入该存储文件,并在写入后将该存储文件对应的文件标识以及目标数据在该存储文件中的存储目标位置记录在与目标缓存空间对应的数据存储记录中。当判断发现剩余空间小于目标数据存储需要占用的空间时,说明目标数据不能完全被写入该存储文件,可以创建新的存储文件,并将该新创建的存储文件对应的文件标识以及目标数据在该新建文件中的存储目标位置记录在数据存储记录中。此外,还可以将创建文件之前的最新存储文件的剩余空间中填充预设标识,避免再次写入数据时将数据写入至该存储文件中。
在本申请实施例中,可选地,步骤204中所述“将预设数量的存储时间最长的所述存储文件刷入所述目标磁盘中”之后,所述方法还可以包括:基于预设统计周期,统计所述目标磁盘中的所述存储文件的总量;当所述存储文件的总量大于预设文件阈值时,基于所述存储文件对应的存储时间,从所述存储文件中确定存储时间最长的超过所述预设文件阈值的至少一个所述目标存储文件,并从所述至少一个所述目标存储文件中确定所述预设可共享存储空间中不存在的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中。
在该实施例中,当目标磁盘中的存储文件总量大于预设文件阈值时,还可以将目标磁盘中的存储文件转存入预设可共享存储空间中,以保证在后续进行数据读取时,从目标缓存空间中读取不到的数据可以转而直接从预设可共享存储空间中获得想要读取数据对应的存储地址。在这里,目标磁盘的存储空间可以大于或等于目标缓存空间对应的存储空间,预设文件阈值可以小于或等于目标缓存空间对应的存储空间。消息中间件可以以预设统计周期为基础,对目标磁盘中的存储文件的总量每个预设统计周期进行一次统计,当统计结果显示目标磁盘中存储文件的总量大于预设文件阈值时,按照存储文件在目标磁盘中存储时间的长短,从目标磁盘对应的存储文件中找出存储时间较长的且超过预设文件阈值的一个或几个目标存储文件。例如,目标磁盘中有12个存储文件,分别是存储文件1至存储文件12,其中,存储文件的存储时间从长到短排序依次是存储文件1至存储文件12,预设文件阈值为10个存储文件,那么可以先确定存储时间最长的且超过预设文件阈值的目标存储文件,即存储文件1和存储文件2。接着,从确定的一个或几个目标存储文件中进一步确定预设可共享存储空间中不存在的目标存储文件,例如,当前预设可共享存储空间中已经存在存储文件1,那么最终确定可以转存入预设可共享存储空间的存储文件为存储文件2。此外,转存入预设可共享存储空间中的目标存储文件也可以是实时转存的,即当有满足条件的存储文件存在时,就将该存储文件转存入预设可共享存储空间中。将目标磁盘中的目标存储文件转存至预设可共享存储空间后,预设可共享存储空间可以将目标存储文件进行存储并将每个目标存储文件对应的存储地址保存在预设可共享存储空间中的地址存储列表中。本申请将满足条件的目标存储文件转存入预设可共享存储空间时将目标存储文件在预设可共享存储空间中的存储地址保存至地址存储列表中,便于后续直接从预设可共享存储空间中获取数据的存储地址。
此外,当将目标磁盘中的部分存储文件转存至预设可共享存储空间后,还可以将这部分存储文件从目标磁盘中删除,这样可以设置与目标缓存空间的存储空间大小相同的目标磁盘,能够充分利用目标磁盘的存储空间,节省目标磁盘的购买成本。
进一步的,作为图1方法的具体实现,本申请实施例提供了一种基于消息中间件的数据处理装置,如图3所示,该装置包括:
判断模块,用于响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
数据读取模块,用于当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
地址发送模块,用于当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
可选地,所述判断模块,具体用于:
获取所述目标缓存空间对应的数据存储记录,并识别所述数据存储记录中是否存储有所述目标数据的存储位置;
所述数据读取模块,具体用于:
当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据;
所述地址发送模块,具体用于:
当不包含所述目标数据的存储位置时,获取预设可共享存储空间对应的地址存储列表,并从所述地址存储列表中查询所述目标数据对应的存储地址。
可选地,所述目标缓存空间中至少包括一个存储文件,每个所述存储文件对应唯一的文件标识;所述数据读取模块,具体还用于:
当包含所述目标数据的存储位置时,基于所述存储位置确定所述目标数据对应的所述文件标识,以及在所述文件标识对应的存储文件中的目标位置,依据所述目标位置从所述存储文件中读取所述目标数据。
可选地,所述装置还包括:
空间确定模块,用于所述响应于来自预设应用程序的目标数据读取请求之前,响应于来自所述预设应用程序的目标数据写入请求,确定所述目标数据对应的目标缓存空间;
数据写入模块,用于当所述目标缓存空间中的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,其中,所述存储位置包括所述目标数据对应的所述文件标识以及所述目标位置;
删除模块,用于当所述目标缓存空间中的剩余空间小于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的新建存储文件中,以使所述目标缓存空间按照预设淘汰机制删除所述目标缓存空间中的所述存储文件,并将删除的所述存储文件对应的存储位置从所述数据存储记录删除。
可选地,所述装置还包括:
监控模块,用于确定所述目标缓存空间对应的目标磁盘,并监控所述目标缓存空间中的所述存储文件是否满足预设刷盘条件;
磁盘写入模块,用于当所述目标缓存空间中的所述存储文件满足所述预设刷盘条件时,确定所述目标磁盘中不存在的所述目标存储文件,并将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中。
可选地,所述装置还包括:
内存写入模块,用于所述确定所述目标磁盘中不存在的所述目标存储文件之后,将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中,并将刷入所述目标磁盘的所述目标存储文件写入预设内存;
数据转存模块,用于当监测到所述目标磁盘刷盘结束时,将写入所述预设内存中的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中。
可选地,所述数据写入模块,具体用于:
确定所述目标缓存空间中的最新存储文件的剩余空间;
当所述最新存储文件的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述最新存储文件中,并将所述最新存储文件对应的文件标识以及所述目标数据在所述最新存储文件中的目标位置写入所述数据存储记录中;
当所述最新存储文件的剩余空间小于所述目标数据的占用空间时,创建文件并将所述创建文件之前的最新存储文件剩余空间中填充预设标识,将所述目标数据写入创建的文件中,并将创建的文件对应的文件标识以及所述目标数据在所述创建文件中的目标位置写入所述数据存储记录中。
需要说明的是,本申请实施例提供的一种基于消息中间件的数据处理装置所涉及各功能单元的其他相应描述,可以参考图1至图2方法中的对应描述,在此不再赘述。
基于上述如图1至图2所示方法,相应的,本申请实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述如图1至图2所示的基于消息中间件的数据处理方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图2所示的方法,以及图3所示的虚拟装置实施例,为了实现上述目的,本申请实施例还提供了一种计算机设备,具体可以为个人计算机、服务器、网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序;处理器,用于执行计算机程序以实现上述如图1至图2所示的基于消息中间件的数据处理方法。
可选地,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作***、网络通信模块。操作***是管理和保存计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。消息中间件接收到预设应用程序发送的目标数据读取请求后,响应于该目标数据读取请求,进而确定与目标数据相对应的目标缓存空间,并判断目标缓存空间存储的缓存数据中是否包括目标数据读取请求对应的目标数据,当包括时,消息中间件从目标缓存空间中读取目标数据,之后将读取到的目标数据反馈给对应的预设应用程序;当不包括时,消息中间件转而从预设可共享存储空间中查询目标数据在预设可共享存储空间中的存储地址,接着将该存储地址反馈给对应的预设应用程序,预设应用程序接收到消息中间件反馈的存储地址后,可以以存储地址为基础,从预设可共享存储空间中找到存储地址对应的位置,进而读取到目标数据。本申请实施例消息中间件在接收到目标数据读取请求后,判断预设应用程序想要读取的目标数据是否存储在目标缓存空间中,并当目标缓存空间中不包括对应的目标数据时直接从预设可共享存储空间查找该目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间获取对应的目标数据,一方面可以避免预设应用程序读取过时数据时,将过时数据从磁盘返回目标缓存空间从而造成目标缓存空间中的实时数据被淘汰,导致后续预设应用程序读取新数据时产生额外的磁盘读取,另一方面直接从预设可共享存储空间获得目标数据对应的存储地址,由预设应用程序根据存储地址从预设可共享存储空间读取目标数据,可以大大减少消息中间件所处服务器对应的数据处理压力,所以,本申请在减小消息中间件所处服务器对应的数据处理压力的同时,可以优化消息中间件的稳定性,减少消息中间件的性能毛刺。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种基于消息中间件的数据处理方法,其特征在于,包括:
响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述判断所述目标缓存空间内的缓存数据是否包含所述目标数据,具体包括:
获取所述目标缓存空间对应的数据存储记录,并识别所述数据存储记录中是否存储有所述目标数据的存储位置;
所述当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,具体包括:
当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据;
所述当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,具体包括:
当不包含所述目标数据的存储位置时,获取预设可共享存储空间对应的地址存储列表,并从所述地址存储列表中查询所述目标数据对应的存储地址。
3.根据权利要求2所述的方法,其特征在于,所述目标缓存空间中至少包括一个存储文件,每个所述存储文件对应唯一的文件标识;所述当包含所述目标数据的存储位置时,基于所述存储位置从所述目标缓存空间中读取所述目标数据,具体包括:
当包含所述目标数据的存储位置时,基于所述存储位置确定所述目标数据对应的所述文件标识,以及在所述文件标识对应的存储文件中的目标位置,依据所述目标位置从所述存储文件中读取所述目标数据。
4.根据权利要求3所述的方法,其特征在于,所述响应于来自预设应用程序的目标数据读取请求之前,所述方法还包括:
响应于目标数据写入请求,确定所述目标数据对应的目标缓存空间;
当所述目标缓存空间中的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,其中,所述存储位置包括所述目标数据对应的所述文件标识以及所述目标位置;
当所述目标缓存空间中的剩余空间小于所述目标数据的占用空间时,将所述目标数据写入所述目标缓存空间的新建存储文件中,以使所述目标缓存空间按照预设淘汰机制删除所述目标缓存空间中的所述存储文件,并将删除的所述存储文件对应的存储位置从所述数据存储记录删除。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
确定所述目标缓存空间对应的目标磁盘,并监控所述目标缓存空间中的所述存储文件是否满足预设刷盘条件;
当所述目标缓存空间中的所述存储文件满足所述预设刷盘条件时,确定所述目标磁盘中不存在的所述目标存储文件,并将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中。
6.根据权利要求5所述的方法,其特征在于,所述确定所述目标磁盘中不存在的所述目标存储文件之后,所述方法还包括:
将预设数量的存储时间最长的所述目标存储文件刷入所述目标磁盘中,并将刷入所述目标磁盘的所述目标存储文件写入预设内存;
当监测到所述目标磁盘刷盘结束时,将写入所述预设内存中的所述目标存储文件转存至所述预设可共享存储空间,以使所述预设可共享存储空间存储所述目标存储文件并将所述目标存储文件对应的存储地址保存在所述地址存储列表中。
7.根据权利要求4所述的方法,其特征在于,所述将所述目标数据写入所述目标缓存空间的存储文件中,并将所述存储位置写入所述数据存储记录中,具体包括:
确定所述目标缓存空间中的最新存储文件的剩余空间;
当所述最新存储文件的剩余空间大于或等于所述目标数据的占用空间时,将所述目标数据写入所述最新存储文件中,并将所述最新存储文件对应的文件标识以及所述目标数据在所述最新存储文件中的目标位置写入所述数据存储记录中;
当所述最新存储文件的剩余空间小于所述目标数据的占用空间时,创建文件并将所述创建文件之前的最新存储文件剩余空间中填充预设标识,将所述目标数据写入创建的文件中,并将创建的文件对应的文件标识以及所述目标数据在所述创建文件中的目标位置写入所述数据存储记录中。
8.一种基于消息中间件的数据处理装置,其特征在于,包括:
判断模块,用于响应于来自预设应用程序的目标数据读取请求,确定所述目标数据对应的目标缓存空间,并判断所述目标缓存空间内的缓存数据是否包含所述目标数据;
数据读取模块,用于当包含所述目标数据时,从所述目标缓存空间中读取所述目标数据,并将所述目标数据返回至所述预设应用程序;
地址发送模块,用于当不包含所述目标数据时,从所述目标数据对应的预设可共享存储空间中查询所述目标数据对应的存储地址,并将所述存储地址发送至所述预设应用程序,以使所述预设应用程序依据所述存储地址从所述预设可共享存储空间中读取所述目标数据。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
10.一种计算机设备,包括存储介质、处理器及存储在存储介质上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215012.2A CN114089912B (zh) | 2021-10-19 | 2021-10-19 | 基于消息中间件的数据处理方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215012.2A CN114089912B (zh) | 2021-10-19 | 2021-10-19 | 基于消息中间件的数据处理方法及装置、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114089912A true CN114089912A (zh) | 2022-02-25 |
CN114089912B CN114089912B (zh) | 2024-05-24 |
Family
ID=80297158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111215012.2A Active CN114089912B (zh) | 2021-10-19 | 2021-10-19 | 基于消息中间件的数据处理方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114089912B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979179A (zh) * | 2022-05-24 | 2022-08-30 | 中国工商银行股份有限公司 | 消息处理方法和相关装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及*** |
CN108132757A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 数据的存储方法、装置及电子设备 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署***和文件部署方法 |
CN110807010A (zh) * | 2019-10-29 | 2020-02-18 | 北京猎豹移动科技有限公司 | 文件读取方法、装置、电子设备和存储介质 |
CN111061429A (zh) * | 2019-11-22 | 2020-04-24 | 北京浪潮数据技术有限公司 | 一种数据访问方法、装置、设备、介质 |
CN111143418A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮商用机器有限公司 | 一种数据库读取数据方法、装置、设备及存储介质 |
CN111930528A (zh) * | 2020-08-12 | 2020-11-13 | 银联商务股份有限公司 | 消息中间件的消息写入方法、装置、设备及可读存储介质 |
CN112051968A (zh) * | 2020-08-07 | 2020-12-08 | 东北大学 | 基于Kafka的分布式数据流分级缓存自动迁移算法 |
CN113093994A (zh) * | 2021-04-08 | 2021-07-09 | 中国工商银行股份有限公司 | 一种数据处理方法及装置 |
US20220382461A1 (en) * | 2019-09-05 | 2022-12-01 | Shadow | Method for managing a data group in a computer system |
-
2021
- 2021-10-19 CN CN202111215012.2A patent/CN114089912B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092670A (zh) * | 2014-06-25 | 2014-10-08 | 北京蓝汛通信技术有限责任公司 | 网络缓存服务器处理文件的方法及处理缓存文件的设备 |
CN104462225A (zh) * | 2014-11-12 | 2015-03-25 | 华为技术有限公司 | 一种数据读取的方法、装置及*** |
CN108132757A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 数据的存储方法、装置及电子设备 |
CN110795395A (zh) * | 2018-07-31 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 文件部署***和文件部署方法 |
US20220382461A1 (en) * | 2019-09-05 | 2022-12-01 | Shadow | Method for managing a data group in a computer system |
CN110807010A (zh) * | 2019-10-29 | 2020-02-18 | 北京猎豹移动科技有限公司 | 文件读取方法、装置、电子设备和存储介质 |
CN111061429A (zh) * | 2019-11-22 | 2020-04-24 | 北京浪潮数据技术有限公司 | 一种数据访问方法、装置、设备、介质 |
CN111143418A (zh) * | 2019-12-28 | 2020-05-12 | 浪潮商用机器有限公司 | 一种数据库读取数据方法、装置、设备及存储介质 |
CN112051968A (zh) * | 2020-08-07 | 2020-12-08 | 东北大学 | 基于Kafka的分布式数据流分级缓存自动迁移算法 |
CN111930528A (zh) * | 2020-08-12 | 2020-11-13 | 银联商务股份有限公司 | 消息中间件的消息写入方法、装置、设备及可读存储介质 |
CN113093994A (zh) * | 2021-04-08 | 2021-07-09 | 中国工商银行股份有限公司 | 一种数据处理方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979179A (zh) * | 2022-05-24 | 2022-08-30 | 中国工商银行股份有限公司 | 消息处理方法和相关装置 |
CN114979179B (zh) * | 2022-05-24 | 2024-01-30 | 中国工商银行股份有限公司 | 消息处理方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114089912B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555001B (zh) | 数据处理方法、装置、终端及介质 | |
CN109614377A (zh) | 分布式文件***的文件删除方法、装置、设备及存储介质 | |
US11579777B2 (en) | Data writing method, client server, and system | |
CN110858162B (zh) | 内存管理方法及装置、服务器 | |
CN111176549B (zh) | 基于云存储的数据存储方法、装置和存储介质 | |
CN110737388A (zh) | 数据预读方法、客户端、服务器以及文件*** | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN112954244A (zh) | 监控录像的存储实现方法、装置、设备及存储介质 | |
KR20170010810A (ko) | 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비 | |
US20060112083A1 (en) | Object relation information management program, method, and apparatus | |
CN110209341B (zh) | 一种数据写入方法、装置和存储设备 | |
CN111190537B (zh) | 一种追加写场景下顺序存储磁盘管理的方法及*** | |
CN107181773A (zh) | 分布式存储***的数据存储及数据管理方法、设备 | |
WO2014153931A1 (zh) | 文件存储方法、装置、访问客户端及元数据服务器*** | |
CN114089912B (zh) | 基于消息中间件的数据处理方法及装置、存储介质 | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
CN108132759B (zh) | 一种文件***中管理数据的方法和装置 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN108304144B (zh) | 数据写入、读取方法与***、数据读写*** | |
CN113467719A (zh) | 数据写入方法及装置 | |
CN117076341A (zh) | 数据存储方法、装置、计算机设备及计算机可读存储介质 | |
CN107145302B (zh) | 一种用于在分布式存储***中执行文件写入的方法与设备 | |
CN114116649A (zh) | 一种实现文件存储QoS的方法及*** | |
CN114785662A (zh) | 一种存储管理方法、装置、设备及机器可读存储介质 | |
CN111190549A (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 |