数据处理方法及装置、电子设备及介质与流程
未命名
09-24
阅读:85
评论:0

1.本公开涉及数据库缓存技术领域,尤其涉及一种数据处理方法及装置、电子设备及存储介质。
背景技术:
2.云数据库是部署和虚拟化在云计算环境中的在线关系型数据库,具有高扩展性、高可用性、易用性、支持大规模并行处理等特点。
3.为了应对海量数据存储和多租户的数据访问并非需求,引入了缓存技术。现有的缓存技术中,根据执行数据缓存和数据修改等操作的进程是否属于同一进程,可以分为本地缓存和分布式缓存。
4.本地缓存指在服务进程的内存中缓存数据,数据不需要进行网络传输,访问速度快,但是会占用服务进程的内存空间,也注定不能存储大数据量的缓存。
5.本地缓存架构的缺点是需要与服务进程进行耦合,服务进程不能共享同一缓存,每个服务进程和集群节点都需要提供额外的内存空间进行缓存,当应用进程宕机或者重启时,缓存数据会丢失。
6.分布式缓存指使用与服务进程分离的缓存组件或者服务进行缓存,多个服务进程可以共享一个缓存,拥有独立的内存空间,支持集群扩展和大数据量的缓存。
7.分布式缓存的缺点是在高并发、大数据量的读写场景下,有可能出现数据的缓存雪崩和/或缓存击穿等问题。
8.缓存雪崩:同一时刻出现大量的缓存失效,导致大量的请求直接访问数据库,数据库的压力过大,可能使数据库宕机。
9.缓存击穿:某一个热点数据的缓存在某个时刻过期,这时对该数据有大量的并发请求,也可能导致数据库负载过大而宕机。
技术实现要素:
10.本公开实施例提供了一种数据处理方法及装置、电子设备及存储介质,以解决数据访问响应速率慢、由于访问数量堆积导致的宕机问题。
11.本公开实施例第一方面提供一种数据处理方法,包括:
12.根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;
13.根据所述第一用户的访问模式,将访问热度满足预设条件的目标数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。
14.公开实施例第二方面提供一种数据处理装置,包括:
15.确定模块,用于根据第一用户对一级缓存中的数据页的访问信息,确定所述第一
用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;
16.转移模块,用于根据所述第一用户的访问模式,将访问热度满足预设条件的所述数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。
17.本公开实施例第三方面提供一种电子设备,所述电子设备包括:
18.存储器;
19.处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现第一方面任意一个技术方案提供的数据处理方法。
20.本公开实施例第四方面提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现第一方面任意一个技术方案提供的数据处理方法。
21.本公开实施例提供的技术方案,将数据页采用一级缓存和二级缓存进行分级缓存,如此,访问热度最高的数据页会将被存储在一级缓存(即内存)中,从而使得访问热度较高的数据页由于存储在一级缓存可以快速响应访问,访问热度稍低的数据页被转移至二级缓存中,如此二级缓存为集群节点的硬盘相对于直接从数据库磁盘读取数据,提升了响应效率。一方面相对于纯本地内存缓存减少了本地内存有限的限制,相对于分布式缓存减少了缓存雪崩和/或缓存击穿等问题。且更为重要的是:根据用户访问自身一级缓存的访问信息,确定用户的访问模式,根据访问模式将用户访问过的数据页缓存在二级缓存中的对应的缓存分区,如此,后续可以利用二级缓存中与用户的访问模式对应的目标分区内所存储的数据页优先响应,从而提升响应速率,且基于大数据统计可以减少不必要的数据统计,且可以减少访问请求堆积导致的宕机现象。
附图说明
22.图1为本公开实施例提供的一种数据处理方法的流程示意图;
23.图2为本公开实施例提供的一种数据处理方法的流程示意图;
24.图3为本公开实施例提供的一种数据处理方法的流程示意图;
25.图4为本公开实施例提供的一种缓存队列的示意图;
26.图5为本公开实施例提供的一种数据缓存装置的结构示意图;
27.图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
28.为了能够更加详尽地了解本公开的特点与技术内容,下面结合附图对本公开的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开。
29.如图1所示,本公开实施例提供一种数据处理方法,包括:
30.s1110:根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;
31.s1120:根据所述第一用户的访问模式,将访问热度满足预设条件的目标数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二
级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。
32.该数据处理方法可应用于数据库系统中的数据处理,例如,应用于云数据库系统中。该数据库系统可包括计算机集群构成,一个集群内有一个或多个节点。
33.该数据处理方法可用于数据库系统中的集群节点,例如,可用于集群节点中的缓存节点。
34.本公开实施例的数据处理方法的执行节点可为:所述第一用户可为任意一个租户。
35.为每一个用户在集群节点配置一个一级缓存,该一级缓存配置在集群节点的内存中,如此,可以使用本地缓存为该用户提供一个高访问热度数据的快速响应。
36.同时由于集群节点的内存有限,因此在该集群节点的固态硬盘上设置二级。同一个用户的二级缓存的容量可大于该用户的一级缓存的容量。通常情况下,二级缓存存储的数据页当前时刻的访问热度低于一级缓存内缓存数据页的访问热度。
37.所述访问热度为一个衡量对应数据页将被访问概率的参数值,可与对应数据页在当前时刻以前的历史访问情况和/或修改情况等相关。例如,一个数据页在当前时刻以前被频繁范围,且该数据页的内容是用户喜欢反复读取的内容,则该数据页的访问热度会比较高。再例如,一个数据页在当前时刻正在修改,且尚未修改完毕,则该数据页被继续访问的概率很高,且一般高于已经完成修改的数据页的访问热度。
38.由于一级缓存是在集群节点内存内,因此内存存储的数据页可以被快速响应第一用户的访问请求。二级缓存可位于集群节点的硬盘中。集群节点的硬盘可包括固态硬盘和普通硬盘,进一步的二级缓存可位于集群节点的固态硬盘中。固态硬盘的访问速率低于内存的访问速率;且固态硬盘的访问速率高于普通硬盘的访问速率。普通硬盘包括但不限于:机械硬盘等。但是固态硬盘的造价高于普通硬盘的造价。
39.由于二级缓存位于集群节点中,相对于位于数据库磁盘中的数据页被访问的响应速率是更高一些的。
40.值得注意的是:为了进一步提升访问的响应速率,在本公开实施例中,会根据第一用户访问一级缓存中数据页的访问信息,确定第一用户的访问模式。不同的访问模式,第一用户偏好访问的数据页类型不同,或者,第一用户访问不同类型数据页的频率分布不同。
41.集群节点中的一个二级缓存可被多个用户共用,示例性地,第一用户和第二用户共用一个二级缓存,且共用一个二级缓存同一个缓存分区。例如,此处的第一用户和第二用户的服务进程创建在同一个集群节点中。即所述目标分区为所述二级缓存中与所述第一用户和第二用户的访问模式对应的缓存区间;所述第二用户的访问模式与所述第一用户的访问模式满足相似条件。
42.在本公开实施例中,会建立二级缓存中不同缓存分区和访问模式之间的对应关系,如此,会将具有相似访问模式的多个用户一级缓存中淘汰的数据页转移至同一个缓存分区中。后续该访问模式的用户的访问请求无法基于一级缓存中的数据页进行响应时,优先根据这种对应关系,优先遍历二级缓存中与该用户的访问模式对应的缓存分区。若在该缓存分区检索到响应其访问请求的数据页,则直接响应;若没有检索到,再继续遍历二级缓存中的其他分区,如此可以减少二级缓存响应用户数据访问的速率,且减少不必要二级缓
存中不必要的数据检索,从而提升数据访问的服质量。
43.所述根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式,包括:
44.根据所述第一用户对所述一级缓存中的数据页的访问信息,确定所述第一用户的访问模式值;
45.根据所述访问模式值,确定所述第一用户的访问模式;
46.其中,所述访问信息包括以下至少一项:所述第一用户在所述一级缓存中访问的数据页的类型;所述第一用户对各个类型的数据页的访问频率;各个类型的数据页的第一权重。
47.示例性地,所述根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式,包括:
48.根据所述第一用户访问所述一级缓存中数据页的类型以及各个类型的所述数据页的访问频率,计算访问模式值;
49.其中,所述第二用户的访问模式与所述第一用户的访问模式满足相似条件,包括:所述第二用户的访问模式值和所述第一用户的方式模式值位于同一个模式值区间。
50.进一步地,根据所述第一用户访问所述一级缓存中数据页的类型以及各个类型的所述数据页的访问频率,计算访问模式值,可包括:
51.根据所述第一用户访问所述一级缓存中数据页的类型、各类型数据页的第一权重以及各个类型所述数据页的访问频率,计算所述访问模式值。
52.示例性地,一个租户(或者用户)对一级缓存中的数据页会进行访问,不同类型的数据页被访问的频率会出现差异,从而也反映了该用户的数据页的访问特点。
53.例如,其中,j为该数据页的总类型数、wi为第i类型数据页的访问权重;fi为第一用户访问第i类型数据页的频次。m为前述访问模式值;n为单位时间内第一用户访问一级缓存的总次数。
54.如此,不同用户都可以计算出不同的访问模式值,基于该访问模式值不同,根据访问模式值所分布的区间,就可以将访问模式值相同或者相近的多个对应到二级缓存的同一个缓存分区。例如,一个集群节点为100个用户提供数据缓存和应用服务,则100个用户都有其自身的一级缓存,且根据这100个用户对各自一级缓存内数据页的访问情况,可以确定出100个用户的访问模式值对应的模式值区间,并在二级缓存中的缓存分区中为由用户分布的模式值区间分配缓存区间。一个缓存区间可以对应于一个模式值区间,可对应于一个或多个具有相似访问模式值得用户。
55.如图2所示,本公开实施例提供一种数据处理方法,由集群节点执行,该方法可包括:
56.s2110:当在所述第一用户的一级缓存未查询到指定访问的数据页时,根据所述第一用户的访问模式值,确定优先遍历的二级缓存的缓存分区;
57.s2120:优先遍历(检索)与所述第一用户的访问模式对应的所述二级缓存区。
58.此处的优先遍历与所述第一用户的访问模式对应的所述二级缓存的缓存区可包
括:
59.在遍历完与所述第一用户访问模式对应二级缓存的缓存分区之后,再遍历二级缓存中其他缓存分区;
60.或者,
61.若缓存节点一次性遍历的缓存分区少于二级缓存的总缓存分区数且为多个时,再第一批遍历的缓存分区中必然包括与第一用户访问模式对应的缓存分区。
62.第一批遍历的多个缓存分区可包括:与第一用户访问模式对应的缓存分以及预定分区。该预定分区对应的模式值区间和第一用户的访问模式值所在区间的相邻区间。
63.在一些实施例中,所述根据所述第一用户访问所述一级缓存中数据页的类型以及各个类型的所述数据页的访问频率,计算访问模式值,包括:
64.根据所述第一用户访问所述一级缓存中数据页的类型、各类型所述数据页的第一权重以及各个类型所述数据页的访问频率,计算所述访问模式值。
65.在本公开实施例中,由于不同类型的数据页存储数据重要性不同,为了更好的实现不同用户的访问模式的确定,会引入第一权重来计算。此处的第一权重可为预先配置的权重。
66.示例性地,所述数据页的类型包括:索引页、系统页、元数据页和/或内容页;
67.其中,所述元数据页的所述第一权重大于所述系统页的所述第一权重;
68.所述系统页的所述第一权重大于所述索引页的所述第一权重;
69.所述索引页的所述第一权重大于所述内容页的所述第一权重。
70.在一些实施例中,所述系统页可存储有存储系统生成的一些统计信息。所述元数据页可以存储被存储内容的元数据。内容页为被存储的内容,例如,被存储文件的文件内容。
71.一个用户的一级缓存内存储前述一种或多种类型的数据页。
72.当然在另一些实施例中,所述元数据页的所述第一权重大于所述索引页的所述第一权重;所述索引页的所述第一权重大于所述系统页的所述第一权重;所述索引页的所述第一权重大于所述内容页的所述第一权重。
73.即所述第一权重可为预先配置的权重。值得注意的是:在计算访问模式值也可以不引入不同类型数据页的第一权重,即直接仅仅根据各个类型的数据页的访问频率和该用户的总访问次数来计算所述访问模式值。
74.如图3所示,本公开实施例提供一种数据处理方法,由集群节点执行,该方法可包括:
75.s3110:确定所述二级缓存的各个缓存分区的第一缓存命中率以及缓存容量;
76.s3120:根据所述第一缓存命中率和所述缓存容量,确定所述二级缓存的第二缓存命中率;
77.s3130:根据所述第一缓存命中率和第二缓存命中率,调整所述缓存分区。
78.示例性地,可以根据如下公式计算所述第二缓存命中率:
79.其中,si为第i个缓存分区的第一缓存命中率;hi为第i缓存分区的容量;x+1为二级缓存包含的缓存分区总个数。
80.可为二级缓存的平均缓存命中率。
81.若存在si大于时,则说明该第i个缓存分区存在缓存命中率过高的现象,若si小于时,则说明该第i个缓存分区存在缓存命中率过低现象。为了实现负载均衡,即使得二级缓存中不同缓存分区的负载率趋于一致,会调整各个缓存分区的容量。
82.示例性地,若的取值大于第一取值,则对第i个缓存分区进行缩容;若取值大于第二取值,则对第i个缓存分区进行扩容。
83.通过缩容将访问热度最高一个或多个数据页划分至需要扩容的缓存分区,从而实现不同缓存分区的负载均衡。
84.故在一些实施例中,所述根据所述第一缓存命中率和第二缓存命中率,调整所述缓存分区,包括:
85.当第p1个所述缓存分区的所述第一缓存命中率高于或等于所述第二缓存命中率时,将第p1个所述缓存分区中访问热度最高的一个或多个数据页划分至第p2个所述缓存区,其中,第p2个所述缓存区的所述第一缓存命中率低于所述第二缓存命中率。
86.其中,p1和p2可均为小于或等于x的自然数。即,所述p1不同于所述p2,且所述p1和p2均为小于或等于x的正整数;所述x为所述二级缓存包含的缓存分区总个数。
87.在一些实施例中,所述方法还包括:
88.在所述一级缓存内设置缓存队列;
89.根据所述一级缓存中各个类型的数据页的访问信息和/或预测的未来预设时长内的访问概率,确定访问热度;
90.根据所述访问热度,确定各个数据页在所述缓存队列中的位置;其中,位于所述缓
存队列队首的数据页的访问热度低于位于所述缓存队列队尾的数据页的访问热度;
91.其中,所述根据所述第一用户的访问模式,将访问热度满足预设条件的所述数据页的数据转移至二级缓存的目标分区,包括:
92.当所述一级缓存溢出时,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区位于所述缓存队列队首。
93.构建缓存队列以及缓存队列管的理,实现一级缓存内淘汰的低访问热度的数据转移至二级缓存。图4为一个缓存队列的示意图,在缓存队列中从队首到队尾的访问热度依次降低,高访问热度的数据页从队尾插入,并且从队首丢弃或转移至二级缓存。
94.所述数据页的访问信息可为当前时刻之前的历史访问信息。
95.该历史访问信息可包括如下信息至少其中之一:
96.包含当前时刻的单位时间内的访问频率;
97.最后访问时刻。
98.在单独根据所述访问信息确定所述访问热度时可以采用如下函数关系:
99.h=(α*(1-r)+β*t)*f;其中,h为访问热度;α和β为预定系数,可认为任意整数。
100.r为该数据页在该二级缓存的空间占用比率。
101.t为该数据页的初始权重或最后访问时刻和当前时刻之间的时差的倒数;f为该数据页的访问频次。
102.若t为该数据页的初始权重,则t可为预设值。例如,根据不同类型数据页包含的数据内容确定的值。具体的,同样可满足如下关系式:
103.所述元数据页的所述初始权重大于所述系统页的所述初始权重;
104.所述系统页的所述初始权重大于所述索引页的所述初始权重;
105.所述索引页的所述初始权重大于所述内容页的所述初始权重。
106.当然以上仅仅时根据访问信息确定访问热度的举例,具体实现时不局限于上述举例。
107.所述预测的未来预设时长内的访问概率,可根据如下信息至少其中之一确定:
108.根据历史访问信息、所述第一用户的偏好信息、是否有产生与所述数据页中内容相关的其他数据页、所述第一用户是否正在更新所述数据页等。
109.未来预设时长内的访问概率,与所述历史访问信息中的访问频率正相关;
110.未来预设时长内的访问概率,与所述历史访问信息中的最后访问时刻和当前时刻之间的时长负相关;
111.未来预设时长内的访问概率,与该概率指向的数据页的内容是第一用户喜欢访问的数据页,则未来预设时长内的访问概率增加,否则未来预设时长内的访问概率维持不变;
112.所述第一用户正在更新所述数据页,则未来预设时长内的访问概率增加,否则未来预设时长内的访问概率维持不变。
113.当然以上仅仅是对未来预设时长内的访问概率确定的举例说明,具体实现时不局限于上述举例。
114.若在一级缓存使用缓存队列存储,如此,将访问热度最高的数据页放置在队尾,将访问热度低的数据页放置在队首,如此,在一级缓存溢出(即缓存空间不够)的情况下,可以直接从队首将数据页淘汰至二级缓存等,具有操作更加简单且提升为了后续高访问热度数
据腾空间的效率。
115.在一些实施例中,所述根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区,包括:
116.在位于所述缓存队列队首的数据页的访问热度高于预设值的情况下,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区。
117.由于二级缓存所存储数据页的访问热度低于一级缓存存储的数据页的访问热度,但是也是高于预设值的,减少低访问热度的数据页占用二级缓存。因此在从一级缓存淘汰数据页时,转移至二级缓存的数据页的访问热度需要高于预设值。
118.在一些实施例中,所述方法还包括:
119.在位于所述缓存队列队首的数据页的访问热度低于或者等于所述预设值的情况下,确定位于所述缓存队列队首的数据页是否有更新;
120.在有更新的情况下,将位于所述缓存队列队首的数据页写入数据库磁盘;
121.在没有更新的情况下,丢弃位于所述缓存队列队首的数据页。
122.若从一级缓存的缓存队列中淘汰的数据页访问热度低于或等于预设值时,该数据页不会转移至二级缓存。
123.若在一级缓存中缓存的过程中,根据用户操作对该数据页有进行更新,出于数据一致性,在一级缓存删除该数据页之前,会将更新后的数据页写入到数据库磁盘。
124.若该数据页在一级缓存中存储的版本和数据库磁盘存储的版本没有差异,即在一级缓存中未对该数据页进行过更新,则数据库磁盘中已存储有该数据页,因此可以直接从一级缓存中删除。
125.在一些实施例中,所述二级缓存各个分区的数据页也可以使用存储队列进行存储,可同样根据访问热度确定二级缓存在对应分区中存储队列中的位置。该访问热度的计算方式可以参考一级缓存中各个数据页的访问热度。同样地,该访问热度高的数据页可置于队尾,而访问热度低的数据页可以置于队首,如此,若对应的二级缓存溢出时,同样可以直接从队首丢弃数据页或者将内容更新的数据页写入数据库磁盘。
126.如图5示,本公开实施例提供一种数据处理装置,包括:
127.确定模块110,用于根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;
128.转移模块120,用于根据所述第一用户的访问模式,将访问热度满足预设条件的所述数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。
129.在一些实施例中,所述确定模块110,具体用于根据所述第一用户对所述一级缓存中的数据页的访问信息,确定所述第一用户的访问模式值;根据所述访问模式值,确定所述第一用户的访问模式;其中,所述访问信息包括以下至少一项:所述第一用户在所述一级缓存中访问的数据页的类型;所述第一用户对各个类型的数据页的访问频率;各个类型的数据页的第一权重。。
130.示例性地,所述数据页的类型包括:
131.索引页、系统页、元数据页和/或内容页;
132.其中,所述元数据页的所述第一权重大于所述系统页的所述第一权重;
133.所述系统页的所述第一权重大于所述索引页的所述第一权重;
134.所述索引页的所述第一权重大于所述内容页的所述第一权重;
135.所述确定模块110,可具体用于根据所述一级缓存和所述二级缓存中各个类型的数据页占用的空间比率、所述一级缓存和所述二级缓存中各个类型的数据页的总访问频次以及预先设置的第二权重,确定各个类型的数据页的所述第一权重。
136.在一些实施例中,所述装置,包括:
137.缓存分区模块,用于确定所述二级缓存的各个缓存分区的第一缓存命中率以及缓存容量;
138.第二缓存命中率模块,用于根据所述第一缓存命中率和所述缓存容量,确定所述二级缓存的第二缓存命中率;
139.调整模块,用于根据所述第一缓存命中率和第二缓存命中率,调整所述二级缓存的缓存分区。
140.在一些实施例中,所述调整模块,具体用于当第p1个所述缓存分区的所述第一缓存命中率高于或等于所述第二缓存命中率时,将第p1个所述缓存分区中访问热度最高的一个或多个数据页划分至第p2个所述缓存区,其中,第p2个所述缓存区的所述第一缓存命中率低于所述第二缓存命中率。所述p1不同于所述p2,且所述p1和p2均为小于或等于x的正整数;所述x为所述二级缓存包含的缓存分区总个数。
141.在一些实施例中,所述装置还包括:
142.缓存模块,用于在所述一级缓存内设置缓存队列;
143.访问热度模块,用于根据所述一级缓存中各个类型的数据页的访问信息和/或预测的未来预设时长内的访问概率,确定访问热度;
144.确定模块110,用于根据所述访问热度,确定各个数据页在所述缓存队列中的位置;其中,位于所述缓存队列队首的数据页的访问热度低于位于所述缓存队列队尾的数据页的访问热度位于所述缓存队列队首;
145.所述转移模块120,具体用于当所述一级缓存溢出时,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区。
146.在一些实施例中,所述转移模块120,具体用于位于所述缓存队列队首的数据页的访问热度高于预设值的情况下,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区。
147.在一些实施例中,所述装置还包括:
148.更新确定模块110,用于在位于所述缓存队列队首的数据页的访问热度低于或者等于所述预设值的情况下,确定位于所述缓存队列队首的数据页是否有更新;
149.写入模块,用于在有更新的情况下,将位于所述缓存队列队首的数据页写入数据库磁盘;
150.丢弃模块,用于在没有更新的情况下,丢弃位于所述缓存队列队首的数据页。
151.如图6所示,本公开实施例提供一种电子设备,所述电子设备包括:
152.存储器;
153.处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现前述任意实施例提供的数据处理方法,例如执行如图1至图3意所示的数据处理方法。
154.该电子设备可为前述集群节点。如图6所示,该电子设还可包括网络接口,该网络接口可用于通过网络和对端设备进行交互。
155.本公开实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现前述任意实施例提供的数据处理方法,例如执行如如图1至图3意所示的数据处理方法。
156.该计算机存储介质为非瞬间存储介质。
157.本公开实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
158.在本公开所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
159.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
160.另外,在本公开各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以n个或n个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
161.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。
技术特征:
1.一种数据处理方法,其特征在于,包括:根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;根据所述第一用户的访问模式,将访问热度满足预设条件的目标数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。2.根据权利要求1所述的方法,其特征在于,所述根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式,包括:根据所述第一用户对所述一级缓存中的数据页的访问信息,确定所述第一用户的访问模式值;根据所述访问模式值,确定所述第一用户的访问模式;其中,所述访问信息包括以下至少一项:所述第一用户在所述一级缓存中访问的数据页的类型;所述第一用户对各个类型的数据页的访问频率;各个类型的数据页的第一权重。3.根据权利要求2所述的方法,其特征在于,所述数据页的类型包括:索引页、系统页、元数据页和/或内容页;其中,所述元数据页的所述第一权重大于所述系统页的所述第一权重;所述系统页的所述第一权重大于所述索引页的所述第一权重;所述索引页的所述第一权重大于所述内容页的所述第一权重;所述方法还包括:根据所述一级缓存和所述二级缓存中各个类型的数据页占用的空间比率、所述一级缓存和所述二级缓存中各个类型的数据页的总访问频次以及预先设置的第二权重,确定各个类型的数据页的所述第一权重。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:确定所述二级缓存的各个缓存分区的第一缓存命中率以及缓存容量;根据所述第一缓存命中率和所述缓存容量,确定所述二级缓存的第二缓存命中率;根据所述第一缓存命中率和第二缓存命中率,调整所述二级缓存的缓存分区。5.根据权利要求4所述的方法,其特征在于,所述根据所述第一缓存命中率和第二缓存命中率,调整所述二级缓存的缓存分区,包括:当第p1个所述缓存分区的所述第一缓存命中率高于或等于所述第二缓存命中率时,将第p1个所述缓存分区中访问热度最高的一个或多个数据页划分至第p2个所述缓存区,其中,第p2个所述缓存区的所述第一缓存命中率低于所述第二缓存命中率;所述p1不同于所述p2,且所述p1和p2均为小于或等于x的正整数;所述x为所述二级缓存包含的缓存分区总个数。6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在所述一级缓存内设置缓存队列;根据所述一级缓存中各个类型的数据页的访问信息和/或预测的未来预设时长内的访问概率,确定访问热度;根据所述访问热度,确定各个数据页在所述缓存队列中的位置;其中,位于所述缓存队
列队首的数据页的访问热度低于位于所述缓存队列队尾的数据页的访问热度;其中,所述根据所述第一用户的访问模式,将访问热度满足预设条件的所述数据页的数据转移至二级缓存的目标分区,包括:当所述一级缓存溢出时,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区。7.根据权利要求6所述的方法,其特征在于,所述根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区,包括:在位于所述缓存队列队首的数据页的访问热度高于预设值的情况下,根据所述第一用户的访问模式将位于所述缓存队列队首的数据页转移至所述二级缓存的所述目标分区。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:在位于所述缓存队列队首的数据页的访问热度低于或者等于所述预设值的情况下,确定位于所述缓存队列队首的数据页是否有更新;在有更新的情况下,将位于所述缓存队列队首的数据页写入数据库磁盘;在没有更新的情况下,丢弃位于所述缓存队列队首的数据页。9.一种数据处理装置,其特征在于,包括:确定模块,用于根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;转移模块,用于根据所述第一用户的访问模式,将访问热度满足预设条件的所述数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。10.一种电子设备,其特征在于,所述电子设备包括:存储器;处理器,与所述存储器连接,用于通过执行存储在所述存储器上的计算机可执行指令,能够实现权利要求1至8任一项提供的数据处理方法。11.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令;所述计算机可执行指令被处理器执行后,能够实现权利要求1至8任一项提供的数据处理方法。
技术总结
本公开公开了一种数据处理方法及装置、电子设备及存储介质。所述数据处理方法可包括:根据第一用户对一级缓存中的数据页的访问信息,确定所述第一用户的访问模式;其中,所述一级缓存设置在所述第一用户的服务进程的内存中;根据所述第一用户的访问模式,将访问热度满足预设条件的目标数据页的数据转移至二级缓存的目标分区;其中,所述二级缓存设置在硬盘;所述目标分区为所述二级缓存的多个缓存分区中与所述第一用户的访问模式对应的缓存分区,不同的访问模式对应不同的缓存分区。不同的访问模式对应不同的缓存分区。不同的访问模式对应不同的缓存分区。
技术研发人员:黄亚超 叶志伟 钱岭
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.11.03
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/