一种基于缓存的数据库访问方法及系统与流程
- 国知局
- 2024-12-06 12:07:53
本发明涉及计算机,特别涉及一种基于缓存的数据库访问方法及系统。
背景技术:
1、随着计算机的发展,数据不断增长,各项业务的顺利开展均涉及大量数据的访问读取;而面对大量数据时从各项数据库中进行数据访问读取会导致响应时间变长,影响业务发展稳定以及使用体验;因此,随着技术的不断发展,引入缓存层进行热点数据的存储以提高数据访问的处理性能;然而缓存层缓存空间有限,难以容纳业务发展过程中的全部热点数据,且存在部分缓存数据在缓存层中反复缓存,影响缓存层的缓存性能。
2、因此,本发明提供一种基于缓存的数据库访问方法及系统。
技术实现思路
1、本发明提供一种基于缓存的数据库访问方法及系统,用以通过获取用户访问请求,从缓存层读取所述访问数据或者从数据库读取所述访问数据并在缓存层进行数据缓存更新;识别缓存层的重复缓存数据以及过期缓存数据,进行数据缓存删除并同步缓存数据;根据数据缓存处理结果以及监听机制获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构;获取缓存层中缓存数据的缓存关系,结合数据缓存处理结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化;有效提高了数据访问效率,优化了缓存层的缓存性能以及缓存空间利用率。
2、本发明提供一种基于缓存的数据库访问方法,包括:
3、步骤1:获取用户访问请求,若缓存层存在所述访问请求的访问数据,则从缓存层读取所述访问数据,否则,从数据库读取所述访问数据并在缓存层进行数据缓存更新;
4、步骤2:当监测到用户发出访问请求时,识别缓存层的重复缓存数据以及过期缓存数据,进行数据缓存删除并同步缓存数据;
5、步骤3:根据数据缓存处理结果以及监听机制获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构,其中,数据缓存处理包括:数据缓存更新、数据缓存删除以及数据缓存同步;
6、步骤4:根据历史缓存数据以及所述最新缓存架构获取缓存层中缓存数据的缓存关系,结合数据缓存处理结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化。
7、根据本发明提供的一种基于缓存的数据库访问方法,获取用户访问请求之后,包括:
8、当监测到用户发出访问请求时,若所述访问请求合格检查通过,则优先发送至缓存层,缓存层对所述访问请求进行访问分析,获取访问数据;
9、若所述访问数据判定存储于缓存层中,则通过缓存层直接返回所述访问数据,拒绝对数据库的访问;
10、否则,将所述访问请求转发至数据库进行访问数据获取;
11、当从数据库获取所述访问数据时,将所述访问数据返回用户并在缓存层中进行数据缓存更新。
12、根据本发明提供的一种基于缓存的数据库访问方法,当监测到用户发出访问请求时,进行数据缓存删除并同步缓存数据,包括:
13、根据预设缓存数据分包策略对缓存层的缓存数据进行数据分包,获取缓存数据的子数据包;
14、根据哈希计算获取子数据包的哈希值并嵌入对应子数据包中,当监测到用户发出访问请求时,根据所述子数据包的哈希值进行数据重复判定,将哈希值一致的对应子数据包判定为重复缓存数据;
15、当缓存层中存在数据缓存更新时,根据缓存更新数据的更新哈希值进行数据查找,若存在与所述更新哈希值一致的子数据包哈希值,则判定数据缓存更新执行成功;
16、否则,重新从对应数据库进行所述访问数据的缓存更新;
17、根据子数据包的数据写入时间确定子数据包的数据缓存时间,当监测到数缓存时间超过缓存层的预设缓存过期时间时,标记为过期缓存数据;
18、将缓存层中被标记为重复缓存数据以及过期缓存数据的子数据包进行数据删除并将缓存层的剩余缓存数据与数据库的存储数据进行数据同步。
19、根据本发明提供的一种基于缓存的数据库访问方法,将缓存层的剩余缓存数据与数据库的存储数据进行数据同步,包括:
20、当监测到数据库的存储数据存在数据更新且所述存储数据在缓存层中存在对应缓存数据时,获取所述存储数据的数据更新时间以及数据存储版本;
21、当所述数据更新时间与对应所述数据写入时间的时间误差不高于预设数据同步时间误差且数据存储版本一致时,缓存层的剩余缓存数据完成与数据库的存储数据的数据同步;
22、否则,优化所述时间误差以及同步数据存储版本。
23、根据本发明提供的一种基于缓存的数据库访问方法,获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构,包括:
24、根据用户获取访问数据的访问流程确定缓存层的逻辑架构并存储于缓存层中,根据监听机制获取缓存层缓存数据的数据库存储位置、缓存层存储位置以及缓存层与数据库之间的初始连接参数;
25、根据数据缓存处理结果对所述初始连接参数进行参数更新,若缓存数据为重复缓存数据,则获取所述重复缓存数据最后保留缓存数据的唯一缓存层存储位置,结合各所述重复缓存数据对应的数据库存储位置,对所述初始连接参数进行参数更新;
26、若缓存数据为过期缓存数据且存在从数据库原有存储位置重新读取写入缓存数据时,保留对应所述初始连接参数;
27、否则,删除对应所述初始连接参数;
28、根据数据同步处理结果对参数更新处理后的初始连接参数进行二次参数更新,确定数据库与缓存层之间的最新连接参数以及确定缓存层的最新缓存架构。
29、根据本发明提供的一种基于缓存的数据库访问方法,根据历史缓存数据以及所述最新缓存架构获取缓存层缓存数据的缓存关系,包括:
30、根据历史缓存数据获取缓存层缓存数据的子数据包的历史访问次数以及与其它子数据包的同时访问次数,确定子数据包之间的同时访问频率;
31、若所述同时访问频率不低于预设访问频率,则进行高关联访问关系标记并根据所述最新缓存架构获取标记高关联访问关系的子数据包之间的缓存访问关联性;
32、根据所述同时访问频率以及所述缓存访问关联性确定缓存数据的缓存关系,其中,缓存数据的缓存关系包括:强缓存关系、弱缓存关系以及无缓存关系。
33、根据本发明提供的一种基于缓存的数据库访问方法,结合数据缓存处理结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化,包括:
34、根据数据缓存处理结果获取缓存层的现有缓存量,当缓存层的现有缓存量低于预设缓存量时,则获取缓存层的空白缓存区域,当监测到用于访问请求的访问数据时,将所述访问数据缓存于空白缓存区域;
35、否则,根据缓存数据的历史访问次数进行缓存数据初步排序,将低于预设访问次数的缓存数据初始标记为低访问缓存数据;
36、根据数据缓存处理结果获取缓存层的缓存数据相对变化量,当低访问缓存数据的数据量不小于所述缓存数据相对变化量时,伪删除低访问缓存数据;
37、否则,根据现有缓存量与预设缓存量的差值,将低访问缓存数据进行数据伪删除,并将与低访问缓存数据存在缓存关系的缓存数据结合所述缓存关系进行缓存数据伪删除;
38、对所述伪删除缓存数据根据预设访问次数衰减机制进行访问次数衰减,当对应访问次数衰减至0时,执行数据删除,释放对应缓存区域为空白缓存区域;
39、将缓存层数据缓存区域划分为缓存保留区以及缓存替换区,根据历史访问数据确定缓存保留区以及缓存替换区的区域大小,当缓存数据的缓存关系为强缓存关系时,将对应缓存数据移动至缓存保留区;
40、否则,将对应缓存数据移动至缓存替换区;
41、当缓存保留区缓存满数据时,根据缓存保留区各缓存数据的访问次数进行逐级数据替换,将被替换缓存数据移动至缓存替换区;
42、当缓存数据的历史时段访问次数不低于当前时段访问次数,判定缓存数据访问频率下降,根据访问频率下降数值对访问次数衰减周期进行动态调整,当达到访问次数衰减周期时,执行访问次数衰减并对缓存保留区以及缓存替换区进行区域大小调整;
43、根据历史缓存数据获取各缓存数据的历史访问次数,当监测到访问数据在缓存层中进行数据缓存时,进行缓存位置标记以及缓存数据量标记,确定历史缓存数据访问特征;
44、根据数据缓存处理结果结合历史缓存数据访问特征对缓存层缓存保留区的当前缓存数据进行缓存查找,当根据缓存层的最新缓存架构成功查找到所述缓存数据,则判定缓存层缓存运行正常,根据所述访问数据确定缓存数据的访问热度;
45、根据缓存数据的缓存热度、缓存层的缓存效率以及缓存层的缓存利用率,计算得到缓存层的缓存管理值;
46、;
47、其中,f表示缓存层的缓存管理值;xi1表示缓存层中第i1个缓存数据进行数据访问时调用的子数据包数量;x1表示缓存层中可缓存子数据包的数量;y1表示缓存层各子数据包的历史访问次数数量;yi1表示第i1个缓存数据涉及的缓存层子数据包的历史访问次数数量;max表示第i1个缓存数据的缓存热度;表示缓存层的缓存效率,当缓存热度高于缓存层预设缓存热度h1时,输出高缓存效率,否则输出低缓存效率;dj1表示缓存层最新缓存架构中第j1个缓存节点的数据缓存量;d表示缓存层最新缓存架构的节点最大数据缓存量;表示缓存层的缓存效率对缓存管理值的影响权重;表示缓存利用率对缓存管理值的影响权重;n1表示缓存层缓存数据的总个数;m1表示缓存层的最新缓存架构的节点数量;
48、当缓存层的缓存管理值不高于预设管理值时,根据缓存数据的缓存热度执行缓存管理优化;
49、判定缓存热度不低于预设缓存热度的对应缓存数据为热缓存数据,根据所述缓存热度移动至缓存保留区对应缓存热度范围的热访问缓存区并更新所述热访问缓存区的缓存热度;
50、判定缓存热度低于预设缓存热度的对应缓存数据为冷缓存数据,移动至缓存保留区对应缓存热度范围的冷访问缓存区并更新所述冷访问缓存区的缓存热度;
51、根据缓存层的最新缓存架构对缓存替换区的缓存数据进行缓存查找,若对应缓存子数据包不存在,则删除对应缓存数据;
52、获取缓存替换区剩余缓存数据的缓存热度,当所述缓存热度不低于冷访问缓存区的缓存热度且缓存数据未执行数据伪删除时,判定缓存数据为二类热缓存数据,移动至对应缓存热度范围的访问缓存区并更新所述访问缓存区的缓存热度。
53、本发明提供一种基于缓存的数据库访问系统,包括:
54、数据访问模块,用于获取用户访问请求,若缓存层存在所述访问请求的访问数据,则从缓存层读取所述访问数据,否则,从数据库读取所述访问数据并在缓存层进行数据缓存更新;
55、缓存处理模块,用于当监测到用户发出访问请求时,识别缓存层的重复缓存数据以及过期缓存数据,进行数据缓存删除并同步缓存数据;
56、架构更新模块,用于根据数据缓存处理结果以及监听机制获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构,其中,数据缓存处理包括:数据缓存更新、数据缓存删除以及数据缓存同步;
57、缓存优化模块,用于根据历史缓存数据以及所述最新缓存架构获取缓存层缓存数据的缓存关系,结合数据缓存更新结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化。
58、与现有技术相比,本技术的有益效果如下:
59、获取用户访问请求,若缓存层存在所述访问请求的访问数据,则从缓存层读取所述访问数据,否则,从数据库读取所述访问数据并在缓存层进行数据缓存更新;便于使用缓存层减轻数据库访问负担;识别缓存层的重复缓存数据以及过期缓存数据,进行数据缓存删除并同步缓存数据,;根据数据缓存处理结果以及监听机制获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构,提高了缓存层的缓存空间利用率;根据历史缓存数据以及所述最新缓存架构获取缓存层中缓存数据的缓存关系,结合数据缓存处理结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化,有效提高了数据访问效率,优化了缓存层的缓存性能以及缓存空间利用率。
60、本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
61、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
本文地址:https://www.jishuxx.com/zhuanli/20241204/339490.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。