CN118170310A - 一种数据处理性能优化方法、装置、计算机设备及介质 - Google Patents
一种数据处理性能优化方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN118170310A CN118170310A CN202410198894.3A CN202410198894A CN118170310A CN 118170310 A CN118170310 A CN 118170310A CN 202410198894 A CN202410198894 A CN 202410198894A CN 118170310 A CN118170310 A CN 118170310A
- Authority
- CN
- China
- Prior art keywords
- data
- copy
- original data
- original
- storage device
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 145
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000005457 optimization Methods 0.000 title claims abstract description 49
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 18
- 230000000630 rising effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据处理性能优化方法、装置、计算机设备及介质。该方法包括:获取原始数据的处理请求;判断是否存在所述原始数据的N个副本数据,其中原始数据和原始数据的N个副本数据分别存储在互不相同的存储设备中;若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。本发明提高了数据读取性能的同时;只利用少数存储设备存储热度较高的原始数据的副本数据,既达到了数据读取性能优化的目的,又大大节省了存储资源,一定程度上降低了数据读取性能优化的成本。
Description
技术领域
本发明适用于计算机领域,尤其涉及一种数据处理性能优化方法、装置、计算机设备及介质。
背景技术
现有技术中,用于进行数据处理性能优化的方法通常包括:
第一,利用缓存或多级存储技术,例如采用昂贵的快速存储设备如内存、SSD(固态硬盘)等保存常用数据,提高常用数据的访问速度。对于未命中缓存的读写数据请求则由下层更慢的设备来响应,进而提升***总体性能,缺点是成本较高。
第二,利用RAID(Redundant Arrays of Independent Drives,磁盘阵列)技术,结合一些策略来整合廉价磁盘,通过设置多个内存条或磁盘镜像(RAID 1)等提升总体的数据读写性能、可靠性等,例如,进行磁盘镜像时,需要2个以上磁盘,且各个磁盘的存储空间大小通常相等;由于这些磁盘为完全的镜像,写入的数据会被同步写到所有的磁盘上,而读请求可以由任一磁盘处理,无论读取哪一个磁盘中的数据都能得到相同的结果。由于在处理并发读请求时,所有镜像的磁盘可以一起服务,读数据带宽为所有磁盘之和,因此磁盘镜像通常用于组建高速读性能的存储。申请人发现,采用上述磁盘镜像技术的缺点在于:
第一方面,当存储数据的镜像数量为N镜像时,需要设置的镜像磁盘的数量也为N个,增大了数据存储空间。
第二方面,采用磁盘镜像技术提升数据处理性能的颗粒度粗大,由于对各个数据的存储设备的分配是均衡的,访问存储设备的任意位置数据的性能是相同的。但业务端对数据的访问有局部性,例如某一段时间内频繁访问某一部分数据,很少或不需要访问全部数据,因此,通常的情况是对存储设备中的一部分数据要求有更高的读性能,而对其他部分的数据读取性能的要求不高。因此,采用磁盘镜像技术会使存储资源与业务需求匹配度不高,没有最大化利用存储的读写带宽,导致存储资源的浪费。
第三方面,采用磁盘镜像技术提升数据处理性能时无法随着业务动态调整存储资源分配,而基于文件级冗余、多副本技术的存储管理颗粒度,优于采用磁盘镜像技术的存储管理颗粒度,但文件的冗余度是确定,调整比较困难,也需要业务层做相应适配,仍然无法提高存储资源与业务需求匹配度的问题。
发明内容
有鉴于此,本发明实施例提供了一种数据处理性能优化方法、装置、计算机设备及介质,以解决现有技术中的数据处理性能优化方法的成本高、存储资源浪费的问题。
第一方面,提供一种数据处理性能优化方法,所述数据处理性能优化方法包括:
获取原始数据的处理请求;
判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
第二方面,提供一种数据处理性能优化装置,所述数据处理性能优化装置包括:
数据采集模块,用于获取原始数据的处理请求;
副本数据判断模块,用于判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
数据改写模块,用于若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
数据读取模块,用于根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
第三方面,一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的数据处理性能优化方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的数据处理性能优化方法。
本发明与现有技术相比存在的有益效果是:
通过对原始数据的副本数据的存在性进行判断,甄别出具有一定热度的原始数据,当存在原始数据的副本数据时,将原始数据的读请求改写为其中一个副本数据的读请求。当多个原始数据的读请求并发时,由于原始数据和各个副本数据分别存储在不同存储设备中,能够分别从不同的存储设备读取原始数据或副本数据,提高了数据读取性能的同时;只利用少数存储设备存储热度较高的原始数据的副本数据,既达到了数据读取性能优化的目的,又大大节省了存储资源,一定程度上降低了数据读取性能优化的成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种数据处理性能优化方法的一应用环境示意图;
图2是本发明实施例一提供的一种数据处理性能优化方法的流程示意图;
图3是本发明实施例四提供的一种数据处理性能优化方法的流程示意图;
图4是本发明实施例五提供的一种数据处理性能优化方法的流程示意图;
图5是本发明实施例六提供的一种数据处理性能优化方法的流程示意图;
图6是本发明应用场景实例一提供的一种数据处理性能优化方法的场景示意图;
图7是本发明实施例五提供的一种数据处理性能优化装置的结构示意图;
图8是本发明实施例四提供的一种计算机设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本发明说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本发明说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本发明说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本发明说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本发明的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
应理解,以下实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
为了说明本发明的技术方案,下面通过具体实施例来进行说明。
本发明实施例一提供的一种数据处理性能优化方法,可应用在如图1的应用环境中,其中,客户端与服务端进行通信。其中,客户端包括但不限于掌上电脑、桌上型计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、云端终端设备、个人数字助理(personal digital assistant,PDA)等终端设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
参见图2,是本发明实施例一提供的一种数据处理性能优化方法的流程示意图,上述数据处理性能优化方法可以应用于图1中的服务端,服务端对应的终端设备通过预设的应用程序接口(Application Programming Interface,API)连接目标数据库。在目标数据被驱动运行以执行相应的任务时,会产生对应的任务日志,通过API可以采集到上述任务日志。如图2所示,该数据处理性能优化方法可以包括以下步骤:
步骤S201,获取原始数据的处理请求;
其中,原始数据指的是首次处理目标数据时存储至某一存储设备中的目标数据;原始数据的处理请求可以包括该目标数据的读请求,或者包括该目标数据的写请求。
步骤S202,判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
其中,N个副本数据是指分别存储在不同存储设备中的原始数据的副本数据,即原始数据以及N个副本数据分别对应存储在各自的存储设备中。其中,存储设备可以为磁盘。例如,原始数据的各个数据块存储在第一磁盘中,第一个副本数据的各个数据块存储在第二磁盘中,第二个副本数据的各个数据块存储在第三磁盘中,以此类推,第N个副本数据的各个数据块存储在第N+1磁盘中。
示例性的,判断是否存在所述原始数据的N个副本数据的具体方法可以包括:
检测缓存中是否存在所述原始数据的处理请求,若命中缓存,则可以判定所述原始数据存在副本数据。
本步骤中,只为少量的原始数据创建副本数据,不会为大多数的原始数据创建副本数据,因此获取到某个原始数据的处理请求时,需要进一步判别是否对应该原始数据配置有副本数据。
步骤S203,若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
其中,当判定为存在原始数据的副本数据时,说明该原始数据为具有一定点击热度的目标数据,当处理请求为读请求时,可以将原始数据的读请求改写为原始数据的一个副本数据的读请求。
举例说明,当某个原始数据的副本数据的数目N为3时,第一次获取该原始数据的处理请求,经过步骤S202,能够判断出存在3个副本数据,第一副本数据、第二副本数据和第三副本数据依次分别存储在第二磁盘、第三磁盘和第四磁盘中(第一磁盘用于存储原始数据),再执行本步骤,将该原始数据的读请求改写为第一副本数据的读请求;当第二次获取该原始数据的处理请求时,依次经过步骤S202和本步骤,将该原始数据的读请求改写为第二副本数据的读请求;当第三次获取该原始数据的处理请求时,依次经过步骤S202和本步骤,将该原始数据的读请求改写为第三副本数据的读请求;当第四次获取该原始数据的处理请求时,依次经过步骤S202和以及获取的读请求改写次数为N次时,则不改写原始数据的读请求。以此类推,当再次获取该原始数据的处理请求时,循环上述过程,相当于将原始数据的读请求改写为原始数据的各个副本数据的读请求。
步骤S204,根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
其中,由于原始数据的各个副本数据分别存储在互不相同的存储设备中,因此,在执行步骤S203之后,可以分别从不同的存储设备中读取原始数据的副本数据。
举例说明,当某个原始数据的副本数据的数目N为3时,第一次获取该原始数据的处理请求,经过上述的步骤S201至本步骤,根据改写为第一副本数据的读请求,从第二磁盘中读取原始数据的第一副本数据;第二次获取该原始数据的处理请求时,经过上述的步骤S201至本步骤,根据改写为第二副本数据的读请求,从第三磁盘中读取原始数据的第二副本数据;第三次获取该原始数据的处理请求时,经过上述的步骤S201至本步骤,根据改写为第三副本数据的读请求,从第四磁盘中读取原始数据的第三副本数据;第四次获取该原始数据的处理请求时,由于没有改写读请求,还从第一磁盘中读取原始数据即可。
本实施例的数据处理性能优化方法,具有以下优点:
第一,通过对原始数据的副本数据的存在性进行判断,甄别出具有一定缓存命中率的原始数据,当存在原始数据的副本数据时,将原始数据的读请求改写为其中一个副本数据的读请求。当多个原始数据的读请求并发时,由于原始数据和各个副本数据分别存储在不同存储设备中,能够分别从不同的存储设备读取原始数据或副本数据,提高了数据读取性能。
第二,由于能够感知业务需求端的数据热度,即大多数的原始数据的热度较低,可以不配置副本数据,也不必改写处理请求,直接读取相应存储设备中的原始数据;少量的原始数据的热度较高,可以读取多个存储设备中的副本数据;提高了存储资源与业务需求之间的匹配度。
第三,只利用少数存储设备存储热度较高的原始数据的副本数据,既达到了数据读取性能优化的目的,又大大节省了存储资源,一定程度上降低了数据读取性能优化的成本。
第四,在文件***内改写数据处理请求,上层业务端不感知该数据处理请求的改写行为,因此不存在数据改写的迁移成本。
在实施例二中,在实施例一的基础上,该数据处理性能优化方法还包括:
若所述处理请求为写请求,且存在所述原始数据的副本数据,根据所述原始数据的写请求,同步更新所述原始数据的所有副本数据。
其中,当上述的步骤S202中判定为存在所述原始数据的副本数据,且获取的原始数据的处理请求为写请求时,在相应的存储设备中同步更新原始数据和原始数据的各个副本数据。
本实施例的数据处理性能优化方法,在原始数据具有一定热度时,需要同步更新原始数据和副本数据;对于热度较低的原始数据,则不需要创建和同步副本数据,在提高了数据读取性能的基础上,提高了数据写入性能,实现了数据处理性能的优化。
在实施例三中,在实施例一的基础上,该数据处理性能优化方法还包括:
若所述处理请求为读请求,且不存在所述原始数据的副本数据,不改写所述原始数据的读请求。
其中,当上述的步骤S202中判定为不存在原始数据的副本数据,说明该原始数据为热度较低的目标数据,因此,不必为其创建副本数据,用以节省存储资源,降低性能优化成本。
在实施例四中,如图3所示,在实施例一的基础上,该数据处理性能优化方法还包括:
步骤S301,获取各个原始数据在预设时间内的处理请求次数,当所述处理请求次数大于第一预设阈值时,确定所述原始数据为热数据;所述处理请求次数为读请求次数;
示例性的,一种判定热数据的方法可以包括:在预设时间内(例如当前时刻之前的10分钟内),统计各个原始数据的读请求次数,如果该读请求次数大于第一预设阈值,则标记为热数据。其中,第一预设阈值的范围可以为五千次以上,该范围也可以根据具体设置的预设时间来设置合适的阈值范围。
在其他示例中,判定热数据的方法还可以包括:在预设时间内统计各个原始数据的读请求次数和写请求次数之和,如果该读请求次数和写请求次数之和大于第一预设阈值,则标记为热数据。
步骤S302,判断缓存中是否存在所述热数据的副本数据信息;
其中,可以通过在缓存(高速存储器)中的副本缓存记录中查询是否存在热数据的副本数据信息。缓存的副本缓存记录中记录有原始数据和对应各个副本数据的映射关系,例如,副本缓存记录中的第一条记录为:第一个原始数据,存储该原始数据的存储位置;第二个原始数据的第一副本数据,存储该第二副本数据的存储位置;第三个原始数据的第一副本数据,存储该第三副本数据的存储位置。
上述的副本缓存记录中,原始数据和对应各个副本数据之间的映射关系,是一对多的映射关系,例如某个原始数据的副本数据为N个,那么该映射关系为一对N的映射关系。
步骤S303,当缓存中不存在所述热数据的副本数据信息时,在预设的第一存储设备中创建并存储所述热数据的副本数据;所述第一存储设备与存储所述热数据的存储设备是不同的存储设备;
其中,根据上述步骤S302判定缓存中不存在热数据的副本数据信息时,说明此热数据为步骤S301中新判定得到的热数据,在判定为热数据之前的原始数据为热度较低的目标数据,因此,当热度较低的目标数据经过步骤S301中变为热数据后,且经过步骤S302能够确定处理没有为其创建副本数据时,需要在预设的第一存储设备中创建并存储热数据的副本数据。
步骤S304,将所述热数据与所述热数据的副本数据之间的映射关系存储至预设的副本缓存记录中。
其中,当热度较低的目标数据经过步骤S301中变为热数据后,且经过步骤S302能够确定处理没有为其创建副本数据,经过步骤S303创建热数据的副本数据之后,需要将此热数据和对应的副本数据之间的映射关系记录在副本缓存记录中。
本实施例的数据处理性能优化方法,具有以下优点:
第一,通过数据的处理请求次数来实时判断并统计热数据,来感知业务需求,能够自动、在线、动态的调整存储资源的分配,无需人工干预,具有较高的存储资源与业务需求匹配度;
第二,相对于原始数据的存储设备数量的基础上,需要的额外存储设备数量仅与确定的少量热数据的数据大小有关,与总体的原始数据大小无关,因此无需为所有原始数据无差别分配存储资源,成本低廉。
第三,不改变文件***中的元数据(是用来描述一个文件的特征的***数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等),热数据的副本数据信息仅为运行时内存状态,记录在副本缓存记录中,发生数据异常时不影响文件***中的元数据,保证文件***中元数据的安全性。
在实施例五中,如图4所示,在实施例四的基础上,该数据处理性能优化方法还包括:
步骤S401,获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数大于第二预设阈值时,确定所述热数据的热度上升;所述第二预设阈值大于所述第一预设阈值;
其中,在前面的步骤S301至步骤S304确定热数据并为热数据创建副本数据之后,通过统计热数据在预设时间内的处理请求次数,来感知热数据的热度变化,即将热数据在预设时间内的处理请求次数与第二预设阈值进行比较,若在相同的预设时间内,热数据的处理请求次数比最初判定为热数据的次数阈值(第一预设阈值)还多很多,例如热数据的处理请求次数大于第二预设阈值,判定为热数据的热度上升。
本步骤中,关于热数据的热度上升的程度,可以通过设置第二预设阈值大于第一预设阈值的百分比来确定,例如设置第二预设阈值大于第一预设阈值的百分至二十,也就是当热数据在预设时间内的处理请求次数大于第一预设阈值的百分至二十,即认为热数据的热度上升。
步骤S402,在预设的第二存储设备中创建并存储所述热度上升的热数据的副本数据;所述第二存储设备与所述第一存储设备,以及与存储所述热数据的存储设备是互不相同的存储设备;
其中,在上一步骤判定热数据的热度上升之后,说明业务需求较高,但该热数据和现有的副本数据的存储设备不够,需要进一步提高存储资源与业务需求之间的匹配度。因此,需要进一步为热度上升的热数据匹配更多的存储资源,继续为热度上升的热数据创建其他副本数据,并将本步骤创建的副本数据存储在第二存储设备中。
步骤S403,更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
其中,经过上面步骤S402得到的新创建的副本数据,需要在副本缓存记录中查找到对应的热数据和副本数据的映射关系,将新增加的副本数据和该热数据之间的映射关系增加到副本缓存记录中。
本实施例的数据处理性能优化方法,通过实时统计并判断热数据的热度上升变化,为热数据创建更多的副本数据,并随着业务热度的不断增加,会为热数据自动创建更多的副本数据,并且这些副本数据会分布在不同的存储设备如磁盘上,保证在执行热数据的处理请求能获得所有副本数据所在磁盘的带宽,增加热数据的处理请求速度。
在实施例六中,如图5所示,在实施例五的基础上,该数据处理性能优化方法还包括:
步骤S501,获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数小于第三预设阈值时,确定所述热数据的热度下降;所述第三预设阈值小于所述第二预设阈值和/或所述第一预设阈值;
其中,在前面的步骤S301至步骤S304确定热数据并为热数据创建副本数据之后,或者在前面的步骤S402至步骤S403确定热数据的热度上升并创建更多的副本数据之后,通过统计热数据在预设时间内的处理请求次数,来感知热数据的热度下降变化,将热数据在预设时间内的处理请求次数与第三预设阈值进行比较,若在相同的预设时间内,热数据的处理请求次数比最初判定为热数据的次数阈值(第一预设阈值)还少很多,例如热数据的处理请求次数小于第三预设阈值,判定为热数据的热度下降。
或者,若在相同的预设时间内,热数据的处理请求次数比第二预设阈值还少很多,例如热数据的处理请求次数小于第三预设阈值,判定为热数据的热度下降。
本步骤中,关于热数据的热度下降的程度,可以通过设置第三预设阈值小于第一/第二预设阈值的百分比来确定,例如设置第三预设阈值小于第一预设阈值的百分至二十,也就是当热数据在预设时间内的处理请求次数小于第一预设阈值的百分至二十,即认为热数据的热度上下降;或者设置第三预设阈值小于第二预设阈值的百分至二十,也就是当热数据在预设时间内的处理请求次数小于第二预设阈值的百分至二十,即认为热数据的热度上下降。
步骤S502,在对应的所述第一存储设备或所述第二存储设备中删除所述热数据的部分副本数据,更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
其中,当判定为热数据的热度下降之后,说明业务需求降低,但该热数据和现有的副本数据的存储设备出现多余情况,为了提高存储资源与业务需求之间的匹配度。因此,需要为热度下降的热数据减少一定的存储资源,删除热数据的部分副本数据,并在副本缓存记录中删除对应的热数据与部分副本数据之间的映射关系。
本实施例的数据处理性能优化方法,通过实时统计并判断热数据的热度下降变化,为热数据删除多余的副本数据,并随着业务热度的不断下降,会为热数据自动删除更多的副本数据,保证热数据的处理请求速度的同时,兼顾存储资源与业务需求之间的匹配度。
在实施例七中,在实施例六的基础上,在对应的所述第一存储设备或所述第二存储设备中删除所述热数据的部分副本数据之后,所述数据处理性能优化方法还包括:
将所述第一存储设备或所述第二存储设备的存储空间分配给其他热数据的副本数据。
其中,当判定为热数据的热度下降且删除部分副本数据之后,释放了热度下降的热数据的部分副本数据的存储资源,使得一部分存储资源例如第一存储设备或者第二存储设备的存储空间空闲,可以将该存储空间分配给其他新判定的热数据用以创建副本数据,或者将该存储空间分配给其他判定为热度上升的热数据用以创建副本数据。
本实施例的数据处理性能优化方法,能够根据热数据的热度上升变化或下降变化,动态调整发生热度变化的热数据对应副本数据的存储资源,实现存储资源与业务需求之间的最佳匹配度。
应用场景实例一:
如图6所示,是本申请的数据处理性能优化方法的具体应用场景示意图,图中数据文件FAT(File Allocation Table,文件配置表)中记录了文件的数据块信息,即文件由磁盘上具体的哪些数据块Block构成,当用户在web网页上集中查询某类产品时,***经过统计并标记了产品信息所在存储位置的原始数据为热数据,并为磁盘1上判定为热数据的原始数据,在磁盘2和磁盘3上各创建了1个副本数据。
当用户向web网页上查询该类产品信息时,web网页的查询数据库DB从数据文件中查询可以得知,原始数据保存在磁盘1。当数据库DB向磁盘1的标记位置发起读请求时,该读请求经过设置的中间层(该中间层能够执行上述实施例一至实施例七中的方法),通过中间层检测到磁盘1的区域中的原始数据存在对应的副本数据,则将读请求改写,从磁盘1、2、3中任选1个存储设备(比如磁盘2)读取相应数据。同时,另一用户也查询该热门产品信息,流程类似,但中间层可能将该读请求改写到磁盘3;当大量用户并发查询时,大量的读请求会被分摊到磁盘1、2、3上,从而实现数据处理的性能优化。
应用场景实例二:
对于一个购物网站的数据库,该数据库中保存了这个网站的所有商品信息,该数据库的数据保存在一个文件***上,该文件***采用了上述实施例六或实施例七中的方案。由于某些原因,某类型产品的访问量迅速增加,大量用户需读取该类产品信息,此时此类商品信息被标记为热数据,并且数据热度逐步增加。
根据上述实施例六中的方法,***标记热数据后,为热数据创建副本数据,并随着业务热度的增加,会为热数据自动创建更多的副本数据,并且这些副本数据会分布在不同的磁盘上,保证热数据能获得所有副本所在磁盘的带宽。然而,随着时间推移,此类商品的搜索热度或点击热度下降,相当于热数据逐步冷却,即数据的热度下降,***淘汰回收部分的副本数据,减少副本数据的数量,直至热数据的热度下降变为普通的原始数据,所有副本数据的存储资源回收。
对应于上文实施例的方法,图7示出了本发明实施例八提供的数据处理性能优化装置的结构框图,上述数据处理性能优化装置应用于终端设备,终端设备通过预设的应用程序接口连接目标数据库。在目标数据库被驱动运行以执行相应的任务时,会产生对应的任务日志,通过API可以采集到上述任务日志。为了便于说明,仅示出了与本发明实施例相关的部分。
参见图7,该数据处理性能优化装置包括:
数据采集模块71,用于获取原始数据的处理请求;
第一副本数据判断模块72,用于判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
数据改写模块73,用于若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
数据读取模块74,用于根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
可选的是,上述数据处理性能优化装置还包括:
写请求数据同步模块,用于若所述处理请求为写请求,且存在所述原始数据的副本数据,根据所述原始数据的写请求,同步更新所述原始数据的所有副本数据。
可选的是,上述数据处理性能优化装置还包括:
读请求数据处理模块,用于若所述处理请求为读请求,且不存在所述原始数据的副本数据,不改写所述原始数据的读请求。
可选的是,上述数据处理性能优化装置还包括:
热数据判断模块,用于获取各个原始数据在预设时间内的处理请求次数,当所述处理请求次数大于第一预设阈值时,确定所述原始数据为热数据;所述处理请求次数为读请求次数;
第二副本数据判断模块,用于判断缓存中是否存在所述热数据的副本数据信息;
第一副本数据生成模块,用于当缓存中不存在所述热数据的副本数据信息时,在预设的第一存储设备中创建并存储所述热数据的副本数据;所述第一存储设备与存储所述热数据的存储设备是不同的存储设备;
第一副本缓存记录更新模块,用于将所述热数据与所述热数据的副本数据之间的映射关系存储至预设的副本缓存记录中。
可选的是,上述数据处理性能优化装置还包括:
数据热度上升判断模块,用于获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数大于第二预设阈值时,确定所述热数据的热度上升;所述第二预设阈值大于所述第一预设阈值;
第二副本数据生成模块,用于在预设的第二存储设备中创建并存储所述热度上升的热数据的副本数据;所述第二存储设备与所述第一存储设备,以及与存储所述热数据的存储设备是互不相同的存储设备;
第二副本缓存记录更新模块,用于更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
可选的是,上述数据处理性能优化装置还包括:
数据热度下降判断模块,用于获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数小于第三预设阈值时,确定所述热数据的热度下降;所述第三预设阈值小于所述第二预设阈值和/或所述第一预设阈值;
副本数据删除模块,用于在对应的所述第一存储设备或所述第二存储设备中删除所述热数据的部分副本数据;
第三副本缓存记录更新模块,用于更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
可选的是,上述数据处理性能优化装置还包括:
存储空间分配模块,用于将所述第一存储设备或所述第二存储设备的存储空间分配给其他热数据的副本数据。
需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图8为本发明实施例就提供的一种计算机设备的结构示意图。如图8所示,该实施例的计算机设备包括:至少一个处理器(图8中仅示出一个)、存储器以及存储在存储器中并可在至少一个处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意各个方法实施例中的步骤。
该计算机设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图8仅仅是计算机设备的举例,并不构成对计算机设备的限定,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括网络接口、显示屏和输入装置等。
所称处理器可以是CPU,该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器包括可读存储介质、内存储器等,其中,内存储器可以是计算机设备的内存,内存储器为可读存储介质中的操作***和计算机可读指令的运行提供环境。可读存储介质可以是计算机设备的硬盘,在另一些实施例中也可以是计算机设备的外部存储设备,例如,计算机设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,存储器还可以既包括计算机设备的内部存储单元也包括外部存储设备。存储器用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,该其他程序如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质至少可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
本发明实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当计算机程序产品在计算机设备上运行时,使得计算机设备执行时实现可实现上述方法实施例中的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据处理性能优化方法,其特征在于,所数据处理性能优化方法包括:
获取原始数据的处理请求;
判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
2.根据权利要求1所述的数据处理性能优化方法,其特征在于,所述数据处理性能优化方法还包括:
若所述处理请求为写请求,且存在所述原始数据的副本数据,根据所述原始数据的写请求,同步更新所述原始数据的所有副本数据。
3.根据权利要求1所述的数据处理性能优化方法,其特征在于,所述数据处理性能优化方法还包括:
若所述处理请求为读请求,且不存在所述原始数据的副本数据,不改写所述原始数据的读请求。
4.根据权利要求1所述的数据处理性能优化方法,其特征在于,所述数据处理性能优化方法还包括:
获取各个原始数据在预设时间内的处理请求次数,当所述处理请求次数大于第一预设阈值时,确定所述原始数据为热数据;所述处理请求次数为读请求次数;
判断缓存中是否存在所述热数据的副本数据信息;
当缓存中不存在所述热数据的副本数据信息时,在预设的第一存储设备中创建并存储所述热数据的副本数据;所述第一存储设备与存储所述热数据的存储设备是不同的存储设备;
将所述热数据与所述热数据的副本数据之间的映射关系存储至预设的副本缓存记录中。
5.根据权利要求4所述的数据处理性能优化方法,其特征在于,所述数据处理性能优化方法还包括:
获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数大于第二预设阈值时,确定所述热数据的热度上升;所述第二预设阈值大于所述第一预设阈值;
在预设的第二存储设备中创建并存储所述热度上升的热数据的副本数据;所述第二存储设备与所述第一存储设备,以及与存储所述热数据的存储设备是互不相同的存储设备;
更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
6.根据权利要求5所述的数据处理性能优化方法,其特征在于,所述数据处理性能优化方法还包括:
获取各个热数据在预设时间内的处理请求次数,当所述处理请求次数小于第三预设阈值时,确定所述热数据的热度下降;所述第三预设阈值小于所述第二预设阈值和/或所述第一预设阈值;
在对应的所述第一存储设备或所述第二存储设备中删除所述热数据的部分副本数据,更新所述副本缓存记录中所述热数据与所述热数据的副本数据之间的映射关系。
7.根据权利要求6所述的数据处理性能优化方法,其特征在于,在对应的所述第一存储设备或所述第二存储设备中删除所述热数据的部分副本数据之后,所述数据处理性能优化方法还包括:
将所述第一存储设备或所述第二存储设备的存储空间分配给其他热数据的副本数据。
8.一种数据处理性能优化装置,其特征在于,所述数据处理性能优化装置包括:
数据采集模块,用于获取原始数据的处理请求;
副本数据判断模块,用于判断是否存在所述原始数据的N个副本数据,N为整数且N≥1,其中所述原始数据和所述原始数据的N个副本数据分别存储在互不相同的存储设备中;
数据改写模块,用于若所述处理请求为读请求,且存在所述原始数据的副本数据,将所述原始数据的读请求改写为所述原始数据的一个副本数据的读请求;
数据读取模块,用于根据改写为所述原始数据的一个副本数据的读请求,从对应的存储设备中读取所述原始数据的副本数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的数据处理性能优化方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据处理性能优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410198894.3A CN118170310A (zh) | 2024-02-22 | 2024-02-22 | 一种数据处理性能优化方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410198894.3A CN118170310A (zh) | 2024-02-22 | 2024-02-22 | 一种数据处理性能优化方法、装置、计算机设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118170310A true CN118170310A (zh) | 2024-06-11 |
Family
ID=91357807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410198894.3A Pending CN118170310A (zh) | 2024-02-22 | 2024-02-22 | 一种数据处理性能优化方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118170310A (zh) |
-
2024
- 2024-02-22 CN CN202410198894.3A patent/CN118170310A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010300B2 (en) | Optimized record lookups | |
US10169365B2 (en) | Multiple deduplication domains in network storage system | |
US9507800B2 (en) | Data management in distributed file systems | |
US11347443B2 (en) | Multi-tier storage using multiple file sets | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
EP2502148B1 (en) | Selective file system caching based upon a configurable cache map | |
US20200159419A1 (en) | System and method for optimization of global data placement to mitigate wear-out of write cache and nand flash | |
US9122584B2 (en) | File system for maintaining data version in solid state memory | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
CN109697016B (zh) | 用于改进容器的存储性能的方法和装置 | |
US10970209B2 (en) | Destaging metadata tracks from cache | |
US7475211B2 (en) | Method and system for restoring data | |
US10387369B1 (en) | Managing file deletions of files and versions of files in storage systems | |
US9189408B1 (en) | System and method of offline annotation of future accesses for improving performance of backup storage system | |
US8935481B2 (en) | Apparatus system and method for providing raw data in a level-two cache | |
US10929066B1 (en) | User stream aware file systems with user stream detection | |
US8595454B1 (en) | System and method for caching mapping information for off-host backups | |
US20130332657A1 (en) | Flash translation layer system for maintaining data versions in solid state memory | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN114442937B (zh) | 文件缓存方法、装置、计算机设备及存储介质 | |
US11016884B2 (en) | Virtual block redirection clean-up | |
US11315028B2 (en) | Method and apparatus for increasing the accuracy of predicting future IO operations on a storage system | |
US20230305930A1 (en) | Methods and systems for affinity aware container preteching | |
CN115470157A (zh) | 预取方法、电子设备、存储介质及程序产品 | |
US20150012628A1 (en) | Boot acceleration by consolidating client-specific boot data in a data storage system |
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 |