CN114089912A - 基于消息中间件的数据处理方法及装置、存储介质 - Google Patents

基于消息中间件的数据处理方法及装置、存储介质 Download PDF

Info

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.)
Pending
Application number
CN202111215012.2A
Other languages
English (en)
Inventor
李升亮
吴宇晖
吕勤
钟存木
余浩
成刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Ums Co ltd
Original Assignee
China Ums Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Ums Co ltd filed Critical China Ums Co ltd
Priority to CN202111215012.2A priority Critical patent/CN114089912A/zh
Publication of CN114089912A publication Critical patent/CN114089912A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

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中任一项所述的方法。
CN202111215012.2A 2021-10-19 2021-10-19 基于消息中间件的数据处理方法及装置、存储介质 Pending CN114089912A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111215012.2A CN114089912A (zh) 2021-10-19 2021-10-19 基于消息中间件的数据处理方法及装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111215012.2A CN114089912A (zh) 2021-10-19 2021-10-19 基于消息中间件的数据处理方法及装置、存储介质

Publications (1)

Publication Number Publication Date
CN114089912A true CN114089912A (zh) 2022-02-25

Family

ID=80297158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111215012.2A Pending CN114089912A (zh) 2021-10-19 2021-10-19 基于消息中间件的数据处理方法及装置、存储介质

Country Status (1)

Country Link
CN (1) CN114089912A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979179A (zh) * 2022-05-24 2022-08-30 中国工商银行股份有限公司 消息处理方法和相关装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 银联商务股份有限公司 消息中间件的消息写入方法、装置、设备及可读存储介质
CN113093994A (zh) * 2021-04-08 2021-07-09 中国工商银行股份有限公司 一种数据处理方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 银联商务股份有限公司 消息中间件的消息写入方法、装置、设备及可读存储介质
CN113093994A (zh) * 2021-04-08 2021-07-09 中国工商银行股份有限公司 一种数据处理方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979179A (zh) * 2022-05-24 2022-08-30 中国工商银行股份有限公司 消息处理方法和相关装置
CN114979179B (zh) * 2022-05-24 2024-01-30 中国工商银行股份有限公司 消息处理方法和相关装置

Similar Documents

Publication Publication Date Title
CN110555001B (zh) 数据处理方法、装置、终端及介质
US11579777B2 (en) Data writing method, client server, and system
CN110858162B (zh) 内存管理方法及装置、服务器
CN111176549B (zh) 基于云存储的数据存储方法、装置和存储介质
CN110737388A (zh) 数据预读方法、客户端、服务器以及文件系统
CN112954244A (zh) 监控录像的存储实现方法、装置、设备及存储介质
US20060112083A1 (en) Object relation information management program, method, and apparatus
CN110209341B (zh) 一种数据写入方法、装置和存储设备
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
CN111190537B (zh) 一种追加写场景下顺序存储磁盘管理的方法及系统
CN111803917A (zh) 资源的处理方法和装置
WO2014153931A1 (zh) 文件存储方法、装置、访问客户端及元数据服务器系统
CN114089912A (zh) 基于消息中间件的数据处理方法及装置、存储介质
CN113467719B (zh) 数据写入方法及装置
CN108132759B (zh) 一种文件系统中管理数据的方法和装置
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN107181773A (zh) 分布式存储系统的数据存储及数据管理方法、设备
CN113596010A (zh) 一种数据处理方法、装置、节点设备及计算机存储介质
CN107145303B (zh) 一种用于在分布式存储系统中执行文件写入的方法与设备
CN114116649A (zh) 一种实现文件存储QoS的方法及系统
CN114785662A (zh) 一种存储管理方法、装置、设备及机器可读存储介质
CN111399753B (zh) 写入图片的方法和装置
CN111190549A (zh) 一种共享卷可用容量获取方法、装置、设备及介质
CN111405313A (zh) 存储流媒体数据的方法和系统
KR100591840B1 (ko) 이동통신 단말기의 리소스 관리 시스템

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