System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储领域,特别是涉及一种数据读写方法、装置、电子设备及介质。
技术介绍
1、随着用户数和访问量越来越大,系统应用需要支撑更多的并发量。但是应用服务器资源是有限的,数据库每秒能接受的请求次数也是有限的。如何利用有限的资源提供尽可能大的吞吐量,一个有效的办法是引入缓存。通过缓存可以使每个环节的请求直接获取目标数据并返回,从而有效提升响应速度,让有限的资源服务更多的用户。
2、但是网络故障、操作失误或者硬件故障可能会导致服务器的重启、断电等问题,进而造成缓存数据丢失。通过持久化可以将数据保存在磁盘、内存或其他非易失性介质上,使数据永久性地保存下来,即使在服务器终止或系统崩溃的情况下,数据也不会丢失,确保了数据的长期存储和可靠性。
3、目前有多种缓存方案和持久化方案,缓存方案和持久化方案又有很多参数,多种处理方案可以进行编排组合,生成一个新方案用于特定的场景。现有技术对缓存组件、持久化组件以及数据读写方案的配置过程比较繁琐,需要在用户终端编写复杂的代码来实现,且针对相同的数据读写流程需要重复编码,数据读写的效率较低。
技术实现思路
1、鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据读写方法和相应的一种数据读写装置、电子设备及介质。
2、第一方面,本专利技术实施例提供了一种数据读写方法,所述方法包括:
3、接收数据读写请求;所述数据读写请求包括配置有目标注解的目标变量,所述目标
4、判断是否存在已创建的与所述目标变量对应的代理类对象;
5、若不存在所述已创建的与所述目标变量对应的代理类对象,则生成代理类对象,将所述目标注解内的所述配置参数配置到所述代理类对象,以及将所述代理类对象赋值到所述目标变量;
6、调用所述目标变量对应的代理类对象,由所述代理类对象请求所述目标数据存储组件按照所述读写流程进行数据读写;
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、可选地,所述读写参数还包括读取参数,所述读写本文档来自技高网...
【技术保护点】
1.一种数据读写方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述配置参数包括读写参数和读写次序,所述调用所述目标变量对应的代理类对象,由所述代理类对象请求所述目标数据存储组件按照所述读写流程进行数据读写,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述读写参数还包括读取参数,所述读写次序还包括读取次序,所述根据所述读写参数和所述读写次序确定所述读写流程,由所述代理类对象请求所述目标数据存储组件按照所述读写流程进行数据读写,还包括:
6.根据权利要求1所述的方法,其特征在于,在所述接收数据读写请求之前,所述方法还包括:
7.一种数据读写装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述配置参数包括读写参数和读写次序,所述第一数据读写模块包括:
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据读写方法的步骤。
...【技术特征摘要】
1.一种数据读写方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述配置参数包括读写参数和读写次序,所述调用所述目标变量对应的代理类对象,由所述代理类对象请求所述目标数据存储组件按照所述读写流程进行数据读写,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述读写参数还包括读取参数,所述读写次序还包括读取次序,所述根据所述读写参数和所述读写次序确定所述读写流程,由所述代理类对象请求所述目标数据存储组件按照所述读写流程进行数据读写,还包括:
6....
【专利技术属性】
技术研发人员:郭宇,
申请(专利权)人:北京爱奇艺科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。