CN117492648A - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117492648A CN117492648A CN202311446303.1A CN202311446303A CN117492648A CN 117492648 A CN117492648 A CN 117492648A CN 202311446303 A CN202311446303 A CN 202311446303A CN 117492648 A CN117492648 A CN 117492648A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- target
- weight
- cached
- 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
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000000875 corresponding effect Effects 0.000 claims description 69
- 238000012545 processing Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 20
- 230000002596 correlated effect Effects 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 19
- 238000012217 deletion Methods 0.000 description 10
- 230000037430 deletion Effects 0.000 description 10
- 230000006854 communication Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 239000012792 core layer Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
Abstract
本公开提供了一种数据处理方法、装置、设备及存储介质,可以应用于计算机技术领域和金融科技领域。该方法包括:响应于接收到数据缓存请求,基于所述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,所述数据权重表征所述待缓存数据的重要程度;基于所述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,所述索引队列优先级排序结果是按照优先级对所述多个索引队列排序得到的;基于所述待缓存数据,确定所述待缓存数据的待缓存数据索引;将所述待缓存数据索引存储至所述第一目标索引队列中;以及将所述待缓存数据存储至缓存空间中。
Description
技术领域
本公开涉及计算机技术领域和金融科技领域,尤其涉及一种数据处理方法、装置、设备、介质和程序产品。
背景技术
缓存技术是指计算机系统中将热点数据存储在具有更低访问延迟的高速存储器中,当请求调用缓存数据时,响应耗时将大大缩短。在进行缓存数据存储时,通常为按照存储时间将缓存数据直接存储至高速存储器中,在高速存储器存满时,通常需要一定策略选择把高速存储器内的某些数据淘汰出去。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在进行缓存数据存储时,通常为按照存储时间将存储数据直接存储至高速存储器中,无法区分数据是否重要,可能存在对于重要数据的误删问题。
发明内容
鉴于上述问题,本公开提供了一种数据处理方法、装置、设备、介质和程序产品。
根据本公开的第一个方面,提供了一种数据处理方法,包括:响应于接收到数据缓存请求,基于上述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,上述数据权重表征上述待缓存数据的重要程度;基于上述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,上述索引队列优先级排序结果是按照优先级对上述多个索引队列排序得到的;基于上述待缓存数据,确定上述待缓存数据的待缓存数据索引;将上述待缓存数据索引存储至上述第一目标索引队列中;以及将上述待缓存数据存储至缓存空间中。
根据本公开的实施例,上述方法还包括:响应于数据删除指令,基于上述索引队列优先级排序结果,从上述多个索引队列中,确定第二目标索引队列,其中,上述第二目标索引队列为优先级最低的索引队列;从上述第二目标索引队列包括的多个数据索引中,确定待删除数据索引;将与上述待删除数据索引对应的待删除数据从上述缓存空间中删除;以及将上述待删除数据索引从上述第二目标索引队列中删除。还包括:确定上述待缓存数据的第一数据量;在上述缓存空间的可用存储容量小于上述第一数据量的情况下,生成上述数据删除指令。
根据本公开的实施例,上述第二目标索引队列包括的多个数据索引各自的使用属性;其中,上述从上述第二目标索引队列包括的多个数据索引中,确定待删除数据索引,包括:基于上述第二目标索引队列包括的多个数据索引的使用属性,确定第一初始待删除数据索引;从上述存储空间中确定与第一初始待删除数据索引对应的第一初始待删除数据的第二数据量;将上述第二数据量与上述可用存储容量之和,与上述第一数据量进行比对,得到第一比对结果;在上述第一比对结果表征上述第二数据量与上述可用存储容量之和大于或等于上述第一数据量的情况下,将上述第一初始待删除数据索引作为待删除数据索引;其中,使用属性包括上述数据索引的使用频次、最近使用时间以及与上述数据索引对应的目标数据权重。
根据本公开的实施例,上述方法还包括:在上述第一比对结果表征上述第二数据量与上述可用存储容量之和小于上述第一数据量的情况下,基于上述多个数据索引各自的使用属性,确定第二初始待删除数据索引;从上述存储空间中确定与第二初始待删除数据索引对应的第二初始待删除数据的第三数据量;将上述第二数据量、第三数据量以及上述可用存储容量之和,与上述第一数据量进行比对,得到第二比对结果;在上述第二比对结果表征上述第二数据量、第三数据量以及上述可用存储容量之和大于上述第一数据量的情况下,确定上述待删除数据索引为第一初始待删除数据索引和第二初始待删除数据索引。
根据本公开的实施例,上述多个索引队列各自包括权重域值,上述权重域值与上述索引队列的优先级呈正相关;上述基于上述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,包括:将上述目标数据权重与多个上述权重域值进行匹配,确定与上述目标数据权重匹配的目标权重域值;将与上述目标权重域值相对应的索引队列作为第一目标索引队列。
根据本公开的实施例,上述基于上述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,包括:基于上述数据缓存请求包括的待缓存数据的数据权重,从权重直方图包括的多个权重组中,确定与上述数据权重对应的目标权重组,其中,上述多个权重组包括各自对应的数据权重范围;基于上述目标权重组,确定上述目标数据权重。
根据本公开的实施例,上述第一目标索引队列还包括与上述数据索引相对应的数据摘要;上述方法还包括:基于上述待缓存数据,生成待缓存数据摘要;将上述待缓存数据摘要,与多个上述数据索引各自的数据摘要进行匹配,得到匹配结果;在上述匹配结果表征上述第一目标索引队列中存在与上述待缓存数据摘要相同的目标数据摘要的情况下,确定与上述目标数据摘要对应的目标数据索引和与上述目标数据索引对应的目标数据;基于上述待缓存数据索引更新上述目标数据索引;基于上述待缓存数据更新上述目标数据。
本公开的第二方面提供了一种数据处理装置,包括:权重确定模块,用于响应于接收到数据缓存请求,基于上述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,上述数据权重表征上述待缓存数据的重要程度;队列确定模块,用于基于上述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,上述索引队列优先级排序结果是按照优先级对上述多个索引队列排序得到的;索引确定模块,用于基于上述待缓存数据,确定上述待缓存数据的待缓存数据索引;索引存储模块,用于将上述待缓存数据索引存储至上述第一目标索引队列中;以及数据存储模块,用于将上述待缓存数据存储至缓存空间中。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述数据处理方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述数据处理方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述数据处理方法。
根据本公开的实施例,通过数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,数据权重可以表征待缓存数据的重要程度,并且利用目标数据权重和索引队列优先级排序结果,可以从多个索引队列中确定第一目标索引队列,以及可以基于待缓存数据确定待缓存数据索引,将待缓存数据索引存储至第一目标索引队列中,将待缓存数据存储至缓存空间中。由于为待缓存数据确定了目标数据权重,从而知悉了待缓存数据的重要程度,又利用目标数据权重和索引队列优先级排序结果,为待缓存数据确定对应的第一目标索引队列,以及采用了对待缓存数据计算待缓存数据索引的方式,将待缓存数据索引存储至第一目标索引队列中,以使得将不同重要程度的缓存数据的数据索引放置于不同的索引队列中,从而确定了待缓存数据的重要程度,因此,至少部分的解决了无法区分缓存数据是否重要的技术问题,实现了对缓存数据重要程度的有效区分,以及避免对重要缓存数据的误删的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据处理方法、装置、设备、介质和程序产品的应用场景图。
图2示意性示出了根据本公开实施例的数据处理方法的流程图。
图3示意性示出了根据本公开实施例的确定目标数据权重的示意图。
图4示意性示出了根据本公开实施例的在对目标数据权重进行配置同步的示意图。
图5示意性示出了根据本公开实施例的确定第一目标索引队列的流程图。
图6示意性示出了根据本公开实施例的删除待删除数据的流程图。
图7示意性示出了根据本公开实施例的在缓存空间写满的情况下对缓存空间中缓存数据进行处理的流程图。
图8示意性示出了根据本公开实施例的写入待缓存数据的流程图。
图9示意性示出了根据本公开实施例查找缓存数据的流程图。
图10示意性示出了根据本公开实施例的数据处理方法的示意图。
图11示意性示出了根据本公开另一实施例的数据处理方法的示意图。
图12示意性示出了根据本公开实施例的数据处理装置的结构框图。
图13示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
需要说明的是,本公开的数据处理方法和装置可用于金融领域,也可用于除金融领域之外的任意领域,对本公开的数据处理方法和装置的应用领域不做限定。
在本发明的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
在研究过程中发现,由于计算机系统中高速存储器的存储资源较为紧张,存储容量存在上限,当高速存储器被写满时,通常需要一定策略选择把高速存储器内的某些数据淘汰出去。在相关技术中,对高速存储器内的某些数据淘汰时,可能采用利用缓存数据的时间或者使用特征的置换算法将某些数据淘汰出去,但是在对缓存数据进行淘汰时,无法对缓存数据的业务语义进行考虑,对于某些重要数据无法进行区分,可能存在对重要数据的误删问题。
本公开的实施例提供了一种数据处理方法,包括:响应于接收到数据缓存请求,基于数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,数据权重表征待缓存数据的重要程度;基于目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,索引队列优先级排序结果是按照优先级对多个索引队列排序得到的;基于待缓存数据,确定待缓存数据的待缓存数据索引;将待缓存数据索引存储至第一目标索引队列中;以及将待缓存数据存储至缓存空间中。
图1示意性示出了根据本公开实施例的数据处理方法、装置、设备、介质和程序产品的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103、网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的数据处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据处理装置一般可以设置于服务器105中。本公开实施例所提供的数据处理方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据处理装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图10对公开实施例的数据处理方法进行详细描述。
图2示意性示出了根据本公开实施例的数据处理方法的流程图。
如图2所示,数据处理方法包括操作S210~操作S250。
在操作S210,响应于接收到数据缓存请求,基于数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,数据权重表征待缓存数据的重要程度。
根据本公开的实施例,在接收到数据缓存请求的情况下,对数据缓存请求数据的待缓存数据的数据权重进行归一化处理,可以转化为目标数据权重。
根据本公开的实施例,对于数据权重的数据格式不进行限定,可以为任意整型无符号数。
根据本公开的实施例,通过对待缓存数据的数据权重进行归一化处理,可以得到系统可以识别的目标数据权重,从而确定待缓存数据的重要程度。
在操作S220,基于目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,索引队列优先级排序结果是按照优先级对多个索引队列排序得到的。
根据本公开的实施例,将目标数据权重与各个索引队列各自对应的权重域值进行匹配,将与目标数据权重所处的权重域值的对应的索引队列作为第一目标索引队列。
根据本公开的实施例,由于权重域值和索引队列的优先级呈正相关,因此,权重域值越大,索引队列的优先级越高,基于多个索引队列优先级的排序结果,可以确定索引队列优先级排序结果。
根据本公开的实施例,通过基于目标数据权重和索引队列优先级排序结果可以确定与目标数据权重对应的第一目标索引队列,即可以确定与待缓存数据对应的第一目标索引队列,从而可以确定该待缓存数据的数据索引所属的索引队列优先级,从而实现了将缓存数据区分等级,避免了重要数据的误删。
在操作S230,基于待缓存数据,确定待缓存数据的待缓存数据索引。
根据本公开的实施例,通过待缓存数据可以确定待缓存数据的待缓存数据索引,待缓存数据索引可以实现待缓存数据的唯一指向的数据,待缓存数据索引可以通过相关数据属性或者相关索引计算算法得到,例如:可以在待缓存数据为数组的情况下,可以将待缓存数据的索引记为数组编号。
根据本公开的实施例,基于待缓存数据,确定的待缓存数据索引,可以实现对待缓存数据的唯一指向,从而在后续进行待缓存数据的重要程度确认时,可以通过确定待缓存数据索引的所处数据队列的优先级等方式快速进行确定。
在操作S240,将待缓存数据索引存储至第一目标索引队列中。
根据本公开的实施例,将待缓存数据索引存储至第一目标索引队列中可以实现对从索引队列中确定各个缓存数据的优先级,进而得到缓存数据的重要程度,同时,先对索引队列进行查询,可以实现小数据量且快速的查询。
在操作S250,将待缓存数据存储至缓存空间中。
根据本公开的实施例,待缓存数据索引和待缓存数据进行分开存储,将待缓存数据索引存储至第一目标索引队列中,待缓存数据存储在缓存空间中。
根据本公开的实施例,通过数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,数据权重可以表征待缓存数据的重要程度,并且利用目标数据权重和索引队列优先级排序结果,可以从多个索引队列中确定第一目标索引队列,以及可以基于待缓存数据确定待缓存数据索引,将待缓存数据索引存储至第一目标索引队列中,将待缓存数据存储至缓存空间中。由于为待缓存数据确定了目标数据权重,从而知悉了待缓存数据的重要程度,又利用目标数据权重和索引队列优先级排序结果,为待缓存数据确定对应的第一目标索引队列,以及采用了对待缓存数据计算待缓存数据索引的方式,将待缓存数据索引存储至第一目标索引队列中,以使得将不同重要程度的缓存数据的数据索引放置于不同的索引队列中,因此,至少部分的解决了无法区分缓存数据是否重要的技术问题,实现了对缓存数据重要程度的有效区分,以及避免对重要缓存数据的误删的技术效果。
根据本公开的实施例,基于数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,可以包括以下操作。
基于数据缓存请求包括的待缓存数据的数据权重,从权重直方图包括的多个权重组中,确定与数据权重对应的目标权重组,其中,多个权重组包括各自对应的数据权重范围;基于目标权重组,确定目标数据权重。
根据本公开的实施例,权重直方图包括了多个权重组,每个权重组包括各自对应的数据权重范围,例如:权重组1包括的数据权重范围可以为1~10。
根据本公开的实施例,通过确定的待缓存数据的数据权重所在的目标权重组,可以确定归一化后的数据权重,即目标数据权重,对于目标数据权重的确定方式不进行限定,可以为对目标权重组进行赋值,将赋值结果作为目标数据权重,或者将目标权重组的编号作为目标数据权重,如:目标权重组的编号为5,则目标数据权重可以为5。
根据本公开的实施例,目标数据权重为对数据权重归一化后的权重数据,是可以被底层缓存系统理解的权重数据。
图3示意性示出了根据本公开实施例的确定目标数据权重的示意图。
根据本公开的实施例,将待缓存数据的数据权重输入至权重直方图中,通过对直方图中权重组的数据权重范围进行匹配,从而可以确定目标数据权重,如图3示意性示出的权重直方图中包括四个权重组,每个权重组的数据权重范围不同,如第一个权重组的数据权重范围为0~10、第二个权重组的数据权重范围为10~100、第三个权重组的数据权重范围为100~500以及第四个权重组的数据权重范围为大于500。
根据本公开的实施例,对于权重直方图中的权重组数量、每个权重组对应的数据权重范围不进行限定,可以根据实际情况进行设置。
根据本公开的实施例,每个权重组的宽度与权重组对应的数据权重范围呈正相关,权重组对应的数据权重范围越大,则权重组越宽。
图4示意性示出了根据本公开实施例的在对目标数据权重进行配置同步的示意图。
如图4所示,将待缓存数据的数据权重输入至权重生成器中,可以得到目标数据权重,对于权重生成器不进行限定,可以为权重直方图,也可以为可以将数据权重转化为目标数据权重的任意方式。
根据本公开的实施例,权重生成器可以配置于客户端,也可以配置于服务端,在权重生成器配置于客户端的情况下,对权重生成器中的任意配置参数进行变更时,需要与服务端进行配置同步,例如:在权重生成器为权重直方图的情况下,变更每个权重组的数据权重范围、增加或减少每个权重组的宽度以及增加或减少权重组的个数,都需要与服务端进行配置同步。
根据本公开的实施例,通过待缓存数据的数据权重,从权重直方图包括的多个权重组中,确定与数据权重对应的目标权重组,并基于目标权重组确定系统可识别的目标数据权重,可以快速且简便的实现对待缓存数据权重的转换,加快缓存速率。
图5示意性示出了根据本公开实施例的确定第一目标索引队列的流程图。
如图5所示,多个索引队列各自包括权重域值,权重域值与索引队列的优先级呈正相关;确定第一目标索引队列包括操作S510~S520。
在操作S510,将目标数据权重与多个权重域值进行匹配,确定与目标数据权重匹配的目标权重域值。
在操作S520,将与目标权重域值相对应的索引队列作为第一目标索引队列。
根据本公开的实施例,对于多个索引队列各自包括权重域值不进行限定,可以为任意权重域值,例如:索引队列A的权重域值可以为[10,20]。
根据本公开的实施例,权重域值与索引队列的优先级呈正相关,权重域值中包括的数据权重越大,则优先级越高,例如:权重域值b为[1,5],权重域值c为[6,10],则认为与权重域值c对于的索引队列的优先级高于与权重域值b对于的索引队列的优先级。
根据本公开的实施例,将目标数据权重与多个权重域值进行匹配,可以确定与目标数据权重匹配的目标权重阈值,从而与目标权重阈值对应的索引队列即为第一目标索引队列,从而实现了对与待缓存数据的目标数据权重对应的第一目标索引队列的快速确定,直接且精准的确定出了与待缓存数据的优先级,以及加快待缓存数据的缓存速率。
图6示意性示出了根据本公开实施例的删除待删除数据的流程图。
如图6所示删除待删除数据包括操作S610~操作S640。
在操作S610,响应于数据删除指令,基于索引队列优先级排序结果,从多个索引队列中,确定第二目标索引队列,其中,第二目标索引队列为优先级最低的索引队列。
在操作S620,从第二目标索引队列包括的多个数据索引中,确定待删除数据索引。
在操作S630,将与待删除数据索引对应的待删除数据从缓存空间中删除。
在操作S640,将待删除数据索引从第二目标索引队列中删除。
根据本公开的实施例,在接收到删除指令的情况下,基于索引队列优先级排序结果,可以从多个索引队列中,确定优先级最低的索引队列,从而实现对重要数据的保护。
根据本公开的实施例,从第二目标索引队列包括的多个数据索引中,确定待删除数据索引的过程可以为通过第二目标索引队列包括的多个数据索引的使用属性确定待删除数据索引。
根据本公开的实施例,确定待删除数据索引的具体过程可以为,基于第二目标索引队列包括的多个数据索引各自的使用属性,对多个数据索引进行排序,得到排序结果。将排序结果中表征使用属性最低的数据索引作为待删除数据索引。
根据本公开的实施例,在确定好待删除数据索引后可以对缓存空间中与该待删除数据索引对应的待删除数据进行删除,从而实现了对缓存空间中数据的淘汰,并且基于先确定优先级最低的索引队列再在优先级最低的索引队列中确定使用属性最低的数据索引的过程,使得每次确定的待删除数据索引皆为最不重要的数据的索引,从而保证了对重要数据的保护,很大程度的减少了对重要数据的误删概率。
根据本公开的实施例,数据处理方法还包括以下操作。
确定待缓存数据的第一数据量;在缓存空间的可用存储容量小于第一数据量的情况下,生成数据删除指令。
根据本公开的实施例,对于生成数据删除指令的情况不进行限定,可以为再进行待缓存数据的缓存时,在检测到缓存空间的可用存储容量小于第一数据量的情况下,生成数据删除指令。也可以为对定时对缓存空间的可用存储容量进行检测,在可用存储容量小于预设值的情况下,生成数据删除指令。
根据本公开的实施例,第二目标索引队列包括的多个数据索引各自的使用属性;从第二目标索引队列包括的多个数据索引中,确定待删除数据索引,可以包括以下操作。
基于第二目标索引队列包括的多个数据索引的使用属性,确定第一初始待删除数据索引;从存储空间中确定与第一初始待删除数据索引对应的第一初始待删除数据的第二数据量;将第二数据量与可用存储容量之和,与第一数据量进行比对,得到第一比对结果;在第一比对结果表征第二数据量与可用存储容量之和大于或等于第一数据量的情况下,将第一初始待删除数据索引作为待删除数据索引;其中,使用属性包括数据索引的使用频次、最近使用时间以及与数据索引对应的目标数据权重。
根据本公开的实施例,数据索引的使用属性可以包括数据索引的使用频次、最近使用时间以及与数据索引对应的目标数据权重,在数据索引的使用频次越高的情况下,则认为数据索引的使用属性越大。在最近使用时间越短的情况下,则认为数据索引的使用属性越大。在目标数据权重越大的情况下,则认为数据索引的使用属性越大。
根据本公开的实施例,可以通过以上三个使用属性中的任意一个或两个作为第二目标索引队列包括的多个数据索引的使用属性,再基于该使用属性对第二目标索引队列包括的多个数据索引进行排序。
根据本公开的实施例,还可以对以上三个使用属性赋值后取平均,从而确定第二目标索引队列包括的多个数据索引的使用属性。
根据本公开的实施例,还可以为以上三个使用属性分别预设权重值,通过加权平均计算后,确定每个数据索引的使用属性,再基于该使用属性对数据索引进行排序。
根据本公开的实施例,基于第二目标索引队列包括的多个数据索引的使用属性,对多个数据索引进行排序,将其中使用属性最小的作为为第一初始待删除数据索引。
根据本公开的实施例,在与第一初始待删除数据索引对应的第一初始待删除数据的第二数据量与缓存空间的可用存储容量之和大于待缓存数据的第一数据量的情况下,则认为待缓存数据可以存储至缓存空间中,则可以确定删除该待删除数据即可,不用再去确定其他待删除数据,从而可以在缓存空间存储满的情况下,及时且智能的进行不重要缓存数据的淘汰。
根据本公开的实施例,上述数据处理方法还包括:在第一比对结果表征第二数据量与可用存储容量之和小于第一数据量的情况下,基于多个数据索引各自的使用属性,确定第二初始待删除数据索引;从存储空间中确定与第二初始待删除数据索引对应的第二初始待删除数据的第三数据量;将第二数据量、第三数据量以及可用存储容量之和,与第一数据量进行比对,得到第二比对结果;在第二比对结果表征第二数据量、第三数据量以及可用存储容量之和大于第一数据量的情况下,确定待删除数据索引为第一初始待删除数据索引和第二初始待删除数据索引。
根据本公开的实施例,如果第二数据量与可用存储容量之和小于第一数据量,则可知待缓存数据无法缓存至缓存空间中,因此,还需要确定下一个待删除数据,而在确定待删除数据的过程中需要利用待删除数据的数据索引,确定该待删除数据的优先级以及重要程度,再进行数据删除,从而保证了在缓存空间存储满的情况下,对不重要数据进行智能的淘汰,并且不会造成对重要数据的误删。
图7示意性示出了根据本公开实施例的在缓存空间写满的情况下对缓存空间中缓存数据进行处理的流程图。
如图7所示,在缓存空间写满的情况下对缓存空间数据进行处理包括操作S710~操作S750。
在操作S710,在多个索引队列中选择最低优先级队列。
在操作S720,将最低优先级队列的队尾数据索引删除,其中,队尾数据索引为使用属性最小的数据索引。
在操作S730,在缓存空间中删除与队尾数据索引对应的缓存数据。
在操作S740,缓存空间中可用存储容量是否满足预设值?
在操作S750,在可用存储容量满足预设值的情况下,结束对缓存空间处理流程;在可用存储容量是否满足预设值的情况下,返回操作S710。
根据本公开的实施例,第一目标索引队列还包括与数据索引相对应的数据摘要;方法还包括以下操作。
基于待缓存数据,生成待缓存数据摘要;将待缓存数据摘要,与多个数据索引各自的数据摘要进行匹配,得到匹配结果;在匹配结果表征第一目标索引队列中存在与待缓存数据摘要相同的目标数据摘要的情况下,确定与目标数据摘要对应的目标数据索引和与目标数据索引对应的目标数据;基于待缓存数据索引更新目标数据索引;基于待缓存数据更新目标数据。
根据本公开的实施例,基于待缓存数据生成待缓存数据摘要,对于待缓存数据摘要的生成方法不进行限定,可以为通过抽样算法的方式进行生成、对待缓存数据提取预设位置元素的方式生成,以及其他方式生成。
根据本公开的实施例,将匹配结果表征第一目标索引队列中存在与待缓存数据摘要相同的目标数据摘要的情况下,可以确定缓存空间中包括有与待缓存数据相同但版本不同的目标数据,则可以利用待缓存数据对缓存空间中的目标数据进行更新,以及利用待缓存数据索引更新目标数据索引,从而保证了缓存数据的时效性,且避免相同数据占用缓存空间,及时对变更的数据进行更新。
图8示意性示出了根据本公开实施例的写入待缓存数据的流程图。
如图8所示,写入待缓存数据包括操作S801~操作S810。
在操作S801,响应于接收到数据缓存请求,确定待缓存数据和待缓存数据的权重值。
在操作S802,将待缓存数据的数据权重进行归一化,得到目标数据权重。
在操作S803,基于目标数据权重,确定与该目标数据权重对应第一目标索引队列。
在操作S804,基于待缓存数据,生成待缓存数据摘要。
在操作S805,在第一目标索引队列确定是否存在待缓存数据摘要。
在操作S806,在第一目标索引队列存在待缓存数据摘要的情况下,确定与目标数据摘要对应的目标数据索引和与目标数据索引对应的目标数据。
在操作S807,基于待缓存数据索引,在第一目标索引队列中更新目标数据索引。
在操作S808,基于待缓存数据,在缓存空间中更新目标数据。
在操作S809,在第一目标索引队列不存在待缓存数据摘要的情况下,将待缓存数据索引存储至第一目标索引队列中。
在操作S810,将待缓存数据存储至缓存空间中。
图9示意性示出了根据本公开实施例查找缓存数据的流程图。
如图9所示,查找缓存数据包括操作S910~操作S940。
在操作S910,响应于接收到数据查询请求,从数据查询请求中确定待查询数据。
在操作S920,确定缓存空间中是否存在待查询数据。
在操作S930,在缓存空间中存在待查询数据的情况下,返回待查询数据和与待查询数据对应的待查询索引。
在操作S940,在缓存空间中不存在待查询数据的情况下,向发送数据查询请求的业务方返回数据不存在通知。
图10示意性示出了根据本公开实施例的数据处理方法的示意图。
如图10所示,示意性示出了多级索引队列1010和缓存空间1020,多级索引队列1010中包括有多个索引队列且分别具有不同的优先级,可以按照优先级高到优先级低的排序方式对索引队列进行排序。缓存空间1020中包括有缓存数据,缓存数据与多级索引队列1010中包括的数据索引为一一对应的关系。
根据本公开的实施例,在接收到数据缓存请求下,进行缓存写入,基于待缓存数据,确定第一目标索引队列,再确定第一目标索引队列中是否存在待缓存数据的数据摘要,在第一目标索引队列存在待缓存数据摘要的情况下,确定与目标数据摘要对应的目标数据索引和与目标数据索引对应的目标数据,并基于待缓存数据对目标数据进行更新,以及基于待缓存数据的数据索引更新目标数据索引。
根据本公开的实施例,在接收到数据删除指令的情况下,进行缓存淘汰,则为在多个索引队列中选择最低优先级队列,将最低优先级队列的队尾数据索引删除,再将与队尾数据索引对应的缓存数据进行删除。
根据本公开的实施例,在接收到数据查询请求的情况下,在缓存空间中查询数据查询请求中的待查询数据,在缓存空间中存在待查询数据的情况下,将待查询数据返回给业务方,并将与待查询数据对应的待查询数据索引返回给业务方,以便业务方基于待查询数据索引所在的索引队列,以及待查询数据索引的使用属性确定待查询数据的重要程度。
图11示意性示出了根据本公开另一实施例的数据处理方法的示意图。
根据本公开的实施例,在将权重生成器配置于客户端的情况下,如图11所示,存在客户端和服务端两部分的处理过程。客户端主要由权重生成器组成,为用户写入数据权重生成缓存系统可理解的目标数据权重。服务端包括有交互层和核心层。交互层包括有配置同步部分和缓存读写部分。配置同步部分主要负责与客户端的权重生成器进行配置同步操作;缓存读写部分主要作为缓存数据读取和写入的入口。核心层包括多级索引队列、缓存空间和可拔插置换算法部分。
根据本公开的实施例,可拔插置换算法部分可以选择任意的置换算法进行缓存数据的淘汰,例如:最近最少使用(Least Recently Used,简称LRU)或最不经常使用(LeastFrequently Used,简称LFU)等等。
基于上述数据处理方法,本公开还提供了一种数据处理装置。以下将结合图12对该装置进行详细描述。
图12示意性示出了根据本公开实施例的数据处理装置的结构框图。
如图12所示,该实施例的数据处理装置1200包括权重确定模块1210、队列确定模块1220、索引确定模块1230、索引存储模块1240和数据存储模块1250。
权重确定模块1210,用于响应于接收到数据缓存请求,基于数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,数据权重表征待缓存数据的重要程度。
队列确定模块1220,用于基于目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,索引队列优先级排序结果是按照优先级对多个索引队列排序得到的。
索引确定模块1230,用于基于待缓存数据,确定待缓存数据的待缓存数据索引。
索引存储模块1240,用于将待缓存数据索引存储至第一目标索引队列中。
数据存储模块1250,用于将待缓存数据存储至缓存空间中。
根据本公开的实施例,数据处理装置1200还包括:第二目标索引队列确定模块、待删除数据索引确定模块、数据删除模块以及索引删除模块。
第二目标索引队列确定模块,用于响应于数据删除指令,基于索引队列优先级排序结果,从多个索引队列中,确定第二目标索引队列,其中,第二目标索引队列为优先级最低的索引队列。
待删除数据索引确定模块,用于从第二目标索引队列包括的多个数据索引中,确定待删除数据索引。
数据删除模块,用于将与待删除数据索引对应的待删除数据从缓存空间中删除。
索引删除模块,用于将待删除数据索引从第二目标索引队列中删除。
根据本公开的实施例,数据处理装置1200还包括:第一数据量确定模块和删除指令生成模块。
第一数据量确定模块,用于确定待缓存数据的第一数据量。
删除指令生成模块,用于在缓存空间的可用存储容量小于第一数据量的情况下,生成数据删除指令。
根据本公开的实施例,第二目标索引队列包括的多个数据索引各自的使用属性。待删除数据索引确定模块还包括:第一索引确定子模块、第二数据了确定子模块、第一数据量比对子模块以及第一索引确定子模块。
第一索引确定子模块,用于基于第二目标索引队列包括的多个数据索引的使用属性,确定第一初始待删除数据索引。
第二数据了确定子模块,用于从存储空间中确定与第一初始待删除数据索引对应的第一初始待删除数据的第二数据量。
第一数据量比对子模块,用于将第二数据量与可用存储容量之和,与第一数据量进行比对,得到第一比对结果。
第一索引确定子模块,用于在第一比对结果表征第二数据量与可用存储容量之和大于或等于第一数据量的情况下,将第一初始待删除数据索引作为待删除数据索引。其中,使用属性包括数据索引的使用频次、最近使用时间以及与数据索引对应的目标数据权重。
根据本公开的实施例,数据处理装置1200还包括:第二索引模块、第三数据量确定模块、第二对比模块和第二索引确定模块。
第二索引模块,用于在第一比对结果表征第二数据量与可用存储容量之和小于第一数据量的情况下,基于多个数据索引各自的使用属性,确定第二初始待删除数据索引。
第三数据量确定模块,用于从存储空间中确定与第二初始待删除数据索引对应的第二初始待删除数据的第三数据量。
第二对比模块,用于将第二数据量、第三数据量以及可用存储容量之和,与第一数据量进行比对,得到第二比对结果。
第二索引确定模块,用于在第二比对结果表征第二数据量、第三数据量以及可用存储容量之和大于第一数据量的情况下,确定待删除数据索引为第一初始待删除数据索引和第二初始待删除数据索引。
根据本公开的实施例,多个索引队列各自包括权重域值,权重域值与索引队列的优先级呈正相关。队列确定模块1220包括:权重域值确定子模块和队列确定子模块。
权重域值确定子模块,用于将目标数据权重与多个权重域值进行匹配,确定与目标数据权重匹配的目标权重域值。
队列确定子模块,用于将与目标权重域值相对应的索引队列作为第一目标索引队列。
根据本公开的实施例,权重确定模块1210包括:权重组确定子模块和权重确定子模块。
权重组确定子模块,用于基于数据缓存请求包括的待缓存数据的数据权重,从权重直方图包括的多个权重组中,确定与数据权重对应的目标权重组,其中,多个权重组包括各自对应的数据权重范围。
权重确定子模块,用于基于目标权重组,确定目标数据权重。
根据本公开的实施例,第一目标索引队列还包括与数据索引相对应的数据摘要。数据处理装置1200还包括:摘要确定模块、摘要匹配模块、数据确定模块、索引更新模块以及数据更新模块。
摘要确定模块,用于基于待缓存数据,生成待缓存数据摘要。
摘要匹配模块,用于将待缓存数据摘要,与多个数据索引各自的数据摘要进行匹配,得到匹配结果。
数据确定模块,用于在匹配结果表征第一目标索引队列中存在与待缓存数据摘要相同的目标数据摘要的情况下,确定与目标数据摘要对应的目标数据索引和与目标数据索引对应的目标数据。
索引更新模块,用于基于待缓存数据索引更新目标数据索引。
数据更新模块,用于基于待缓存数据更新目标数据。
根据本公开的实施例,权重确定模块1210、队列确定模块1220、索引确定模块1230、索引存储模块1240和数据存储模块1250中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,权重确定模块1210、队列确定模块1220、索引确定模块1230、索引存储模块1240和数据存储模块1250中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,权重确定模块1210、队列确定模块1220、索引确定模块1230、索引存储模块1240和数据存储模块1250中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现数据处理方法的电子设备的方框图。
如图13所示,根据本公开实施例的电子设备1300包括处理器1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1303中,存储有电子设备1300操作所需的各种程序和数据。处理器1301、ROM 1302以及RAM 1303通过总线1304彼此相连。处理器1301通过执行ROM 1302和/或RAM1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1302和RAM 1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1300还可以包括输入/输出(I/O)接口1305,输入/输出(I/O)接口1305也连接至总线1304。电子设备1300还可以包括连接至I/O接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1302和/或RAM 1303和/或ROM 1302和RAM1303以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的数据处理方法。
在该计算机程序被处理器1301执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (11)
1.一种数据处理方法,包括:
响应于接收到数据缓存请求,基于所述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,所述数据权重表征所述待缓存数据的重要程度;
基于所述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,所述索引队列优先级排序结果是按照优先级对所述多个索引队列排序得到的;
基于所述待缓存数据,确定所述待缓存数据的待缓存数据索引;
将所述待缓存数据索引存储至所述第一目标索引队列中;以及
将所述待缓存数据存储至缓存空间中。
2.根据权利要求1所述的方法,还包括:
响应于数据删除指令,基于所述索引队列优先级排序结果,从所述多个索引队列中,确定第二目标索引队列,其中,所述第二目标索引队列为优先级最低的索引队列;
从所述第二目标索引队列包括的多个数据索引中,确定待删除数据索引;
将与所述待删除数据索引对应的待删除数据从所述缓存空间中删除;以及
将所述待删除数据索引从所述第二目标索引队列中删除。
还包括:
确定所述待缓存数据的第一数据量;
在所述缓存空间的可用存储容量小于所述第一数据量的情况下,生成所述数据删除指令。
3.根据权利要求2所述的方法,其中,所述第二目标索引队列包括的多个数据索引各自的使用属性;
所述从所述第二目标索引队列包括的多个数据索引中,确定待删除数据索引,包括:
基于所述第二目标索引队列包括的多个数据索引的使用属性,确定第一初始待删除数据索引;
从所述存储空间中确定与第一初始待删除数据索引对应的第一初始待删除数据的第二数据量;
将所述第二数据量与所述可用存储容量之和,与所述第一数据量进行比对,得到第一比对结果;
在所述第一比对结果表征所述第二数据量与所述可用存储容量之和大于或等于所述第一数据量的情况下,将所述第一初始待删除数据索引作为待删除数据索引;
其中,使用属性包括所述数据索引的使用频次、最近使用时间以及与所述数据索引对应的目标数据权重。
4.根据权利要求3所述的方法,还包括:
在所述第一比对结果表征所述第二数据量与所述可用存储容量之和小于所述第一数据量的情况下,基于所述多个数据索引各自的使用属性,确定第二初始待删除数据索引;
从所述存储空间中确定与第二初始待删除数据索引对应的第二初始待删除数据的第三数据量;
将所述第二数据量、第三数据量以及所述可用存储容量之和,与所述第一数据量进行比对,得到第二比对结果;
在所述第二比对结果表征所述第二数据量、第三数据量以及所述可用存储容量之和大于所述第一数据量的情况下,确定所述待删除数据索引为第一初始待删除数据索引和第二初始待删除数据索引。
5.根据权利要求1所述的方法,其中,所述多个索引队列各自包括权重域值,所述权重域值与所述索引队列的优先级呈正相关;
所述基于所述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,包括:
将所述目标数据权重与多个所述权重域值进行匹配,确定与所述目标数据权重匹配的目标权重域值;
将与所述目标权重域值相对应的索引队列作为第一目标索引队列。
6.根据权利要求1所述的方法,其中,所述基于所述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,包括:
基于所述数据缓存请求包括的待缓存数据的数据权重,从权重直方图包括的多个权重组中,确定与所述数据权重对应的目标权重组,其中,所述多个权重组包括各自对应的数据权重范围;
基于所述目标权重组,确定所述目标数据权重。
7.根据权利要求1所述的方法,所述第一目标索引队列还包括与所述数据索引相对应的数据摘要;所述方法还包括:
基于所述待缓存数据,生成待缓存数据摘要;
将所述待缓存数据摘要,与多个所述数据索引各自的数据摘要进行匹配,得到匹配结果;
在所述匹配结果表征所述第一目标索引队列中存在与所述待缓存数据摘要相同的目标数据摘要的情况下,确定与所述目标数据摘要对应的目标数据索引和与所述目标数据索引对应的目标数据;
基于所述待缓存数据索引更新所述目标数据索引;
基于所述待缓存数据更新所述目标数据。
8.一种数据处理装置,包括:
权重确定模块,用于响应于接收到数据缓存请求,基于所述数据缓存请求包括的待缓存数据的数据权重,确定目标数据权重,其中,所述数据权重表征所述待缓存数据的重要程度;
队列确定模块,用于基于所述目标数据权重和索引队列优先级排序结果,从多个索引队列中确定第一目标索引队列,其中,所述索引队列优先级排序结果是按照优先级对所述多个索引队列排序得到的;
索引确定模块,用于基于所述待缓存数据,确定所述待缓存数据的待缓存数据索引;
索引存储模块,用于将所述待缓存数据索引存储至所述第一目标索引队列中;以及
数据存储模块,用于将所述待缓存数据存储至缓存空间中。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311446303.1A CN117492648A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311446303.1A CN117492648A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117492648A true CN117492648A (zh) | 2024-02-02 |
Family
ID=89682159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311446303.1A Pending CN117492648A (zh) | 2023-11-02 | 2023-11-02 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117492648A (zh) |
-
2023
- 2023-11-02 CN CN202311446303.1A patent/CN117492648A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093451B2 (en) | Data fragmentation tuning and candidacy persistence | |
US20190114363A1 (en) | Method And Apparatus For Pushing Information | |
CN111273999B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111309732A (zh) | 数据处理方法、装置、介质和计算设备 | |
US9124647B2 (en) | Communication protocol abstraction | |
CN110008740B (zh) | 一种文档访问权限的处理方法、装置、介质和电子设备 | |
US9454328B2 (en) | Controlling hierarchical storage | |
CN109862069B (zh) | 消息处理方法和装置 | |
US10878821B2 (en) | Distributed system for conversational agent | |
CN117492648A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111859225B (zh) | 程序文件的访问方法、装置、计算设备和介质 | |
US20210097049A1 (en) | Method, device and computer program product for managing index tables | |
US20160150038A1 (en) | Efficiently Discovering and Surfacing Content Attributes | |
CN113342759A (zh) | 内容共享方法、装置、设备以及存储介质 | |
CN113760178A (zh) | 缓存数据处理方法、装置、电子设备和计算机可读介质 | |
US10956037B2 (en) | Provisioning storage allocation using prioritized storage system capabilities | |
CN113177173B (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN117633111A (zh) | 基于ClickHouse的请求处理方法、装置、设备及介质 | |
CN113032650B (zh) | 图书馆图书管理方法、装置、服务器及存储介质 | |
CN112783925B (zh) | 分页检索方法和装置 | |
CN112800413B (zh) | 一种权限信息推送方法、装置、设备及存储介质 | |
CN109240878B (zh) | 数据处理方法和装置 | |
CN117640754A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN117555820A (zh) | 数据处理方法、装置、电子设备及介质 | |
CN116561803A (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 |