System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别涉及一种基于缓存的数据库访问方法及系统。
技术介绍
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、否则,根据现有缓存量与本文档来自技高网...
【技术保护点】
1.一种基于缓存的数据库访问方法,其特征在于,包括:
2.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,获取用户访问请求之后,包括:
3.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,当监测到用户发出访问请求时,进行数据缓存删除并同步缓存数据,包括:
4.根据权利要求3所述的一种基于缓存的数据库访问方法,其特征在于,将缓存层的剩余缓存数据与数据库的存储数据进行数据同步,包括:
5.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,获取数据库与缓存层之间的最新连接参数并确定缓存层的最新缓存架构,包括:
6.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,根据历史缓存数据以及所述最新缓存架构获取缓存层缓存数据的缓存关系,包括:
7.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,结合数据缓存处理结果以及历史缓存数据访问特征确定缓存数据的缓存热度,对缓存层进行缓存管理优化,包括:
8.一种基于缓存的数据库访问系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于缓存的数据库访问方法,其特征在于,包括:
2.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,获取用户访问请求之后,包括:
3.根据权利要求1所述的一种基于缓存的数据库访问方法,其特征在于,当监测到用户发出访问请求时,进行数据缓存删除并同步缓存数据,包括:
4.根据权利要求3所述的一种基于缓存的数据库访问方法,其特征在于,将缓存层的剩余缓存数据与数据库的存储数据进行数据同步,包括:
5.根据权利要求1所述的一种基于缓存的...
【专利技术属性】
技术研发人员:文子强,吴家乐,杜万波,许铭芮,吕英良,祝家鑫,徐婷婷,崔超,李振明,林东煦,
申请(专利权)人:华能信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。