System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种数据操作方法、装置、电子设备、存储介质及程序产品。
技术介绍
1、随着大数据技术的发展,越来越多的业务依赖于数据库系统。为此,在大数据领域存在许多各种各样的数据(仓)库系统来应对各类型的大数据业务。一般在实际业务中往往需要多个数据引擎才能够满足不同场景的需求。
2、在相关技术中,针对多个数据引擎的数据操作,往往采取单一的数据操作方式进行数据操作,而针对不同的数据操作,单一的数据操方式的操作效率往往存在差异,导致针对多个数据引擎的数据操作的操作效率低下。
技术实现思路
1、本申请实施例提供一种数据操作方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效提高针对多个数据引擎的数据操作的操作效率。
2、本申请实施例的技术方案是这样实现的:
3、本申请实施例提供一种数据操作方法,包括:
4、响应于针对多个数据引擎的数据操作请求,构建所述数据操作请求对应的中间数据;
5、其中,所述数据操作请求用于请求基于所述多个数据引擎对目标数据执行目标操作,所述中间数据包括各所述数据引擎存储的至少部分数据;
6、获取所述中间数据的数据量,并基于所述数据量,从多个候选数据操作方式中,确定所述数据操作请求对应的目标数据操作方式;
7、按照所述目标数据操作方式对所述目标数据执行所述目标操作。
8、本申请实施例提供一种数据操作装置,包括:
9、构建模块,用于响应于
10、确定模块,用于获取所述中间数据的数据量,并基于所述数据量,从多个候选数据操作方式中,确定所述数据操作请求对应的目标数据操作方式;
11、数据操作模块,用于按照所述目标数据操作方式对所述目标数据执行所述目标操作。
12、上述方案中,上述构建模块,还用于响应于所述数据操作请求,分别向各所述数据引擎发送虚拟表获取请求,并接收返回的至少一个子虚拟表,所述子虚拟表基于相应的所述数据引擎的数据库所创建,且与所述数据引擎存在一一对应关系;当所述子虚拟表的数量为多个时,将各所述子虚拟表进行融合,得到所述数据操作请求对应的虚拟表。
13、上述方案中,所述子虚拟表包括第i子虚拟表,,n用于指示所述子虚拟表的数量,i为正整数;上述构建模块,还用于将第1子虚拟表,确定为第1虚拟表;遍历i执行以下处理:获取第i-1虚拟表中的各所述子虚拟表与第i子虚拟表之间的关联信息,基于所述关联信息,将所述第i-1虚拟表和所述第i子虚拟表进行融合,得到第i虚拟表;对i进行遍历,并在i取值为所述n时得到第n虚拟表,将所述第n虚拟表,确定为所述数据操作请求对应的虚拟表。
14、上述方案中,上述构建模块,还用于当所述关联信息指示所述第i-1虚拟表中的各所述子虚拟表均与所述第i子虚拟表不存在关联时,将所述第i子虚拟表和所述第i-1虚拟表中的任意一个所述子虚拟表进行融合,得到所述第i虚拟表;当所述关联信息指示所述第i-1虚拟表中存在所述子虚拟表与所述第i子虚拟表相关联时,将所述第i-1虚拟表中与所述第i子虚拟表存在关联的所述子虚拟表,确定为所述第i-1虚拟表对应的目标子虚拟表;将所述第i子虚拟表和所述第i-1虚拟表中的任意一个所述目标子虚拟表进行融合,得到所述第i虚拟表。
15、上述方案中,上述数据操作装置应用于数据引擎,上述构建模块,还用于将所述多个数据引擎返回的子虚拟表与当前所述数据引擎生成的子虚拟表进行融合,得到所述数据操作请求对应的虚拟表;上述数据操作装置,还包括:查询模块,用于所述数据引擎响应于携带有虚拟表查询条件的虚拟表获取请求,针对各所述子基础表,当所述子基础表满足所述虚拟表查询条件时,将所述子基础表,确定为目标基础表;当所述目标基础表的数量为一条时,将所述目标基础表,确定为当前所述数据引擎对应的子虚拟表;当所述目标基础表的数量为多条时,将各所述目标基础表进行融合,得到当前所述数据引擎对应的子虚拟表。
16、上述方案中,上述构建模块,还用于响应于携带有数据操作条件的数据操作请求,基于所述数据操作条件,对所述数据操作请求进行请求权限验证,得到权限验证结果;当所述权限验证结果指示所述数据操作请求通过所述请求权限验证时,构建所述数据操作请求对应的中间数据。
17、上述方案中,上述构建模块,还用于当所述权限验证结果指示所述数据操作请求没有通过所述请求权限验证时,向各所述数据引擎发送所述数据操作请求,以使所述数据引擎基于所述数据操作请求对所述目标数据执行所述目标操作。
18、上述方案中,上述确定模块,还用于获取所述多个候选数据操作方式与相应的预设数据量之间的映射关系,并确定所述数据量分别与所述映射关系中的各所述预设数据量之间的数据量差值;将所述数据量差值最小的所述预设数据量,确定为所述数据量对应的目标数据量,并将所述映射关系中所述目标数据量对应的候选数据操作方式,确定为所述目标数据操作方式。
19、上述方案中,上述确定模块,还用于将所述数据量与数据量阈值进行比较,得到阈值比较结果,其中,所述阈值比较结果用于指示所述数据量阈值是否大于所述数据量;基于所述阈值比较结果,从多个候选数据操作方式中,选取操作效率最高的所述候选数据操作方式作为所述目标数据操作方式。
20、上述方案中,上述多个候选数据操作方式包括:基于所述中间数据执行所述目标操作的第一数据操作方式和基于所述多个数据引擎执行所述目标操作的第二数据操作方式;上述确定模块,还用于当所述阈值比较结果指示所述数据量小于或等于所述数据量阈值时,确定所述第一数据操作方式的操作效率高于所述第二数据操作方式的操作效率,并将所述第一数据操作方式确定为所述目标数据操作方式;当所述阈值比较结果指示所述数据量大于所述数据量阈值时,确定所述第一数据操作方式的操作效率低于所述第二数据操作方式的操作效率,并将所述第二数据操作方式确定为所述目标数据操作方式。
21、上述方案中,所述目标数据操作方式指示基于所述中间数据执行所述目标操作;上述数据操作模块,还用于当所述目标操作包括数据查询时,从所述虚拟表中查询到所述目标数据或基于所述虚拟表中存储的数据存储位置,查询到所述目标数据,并返回至所述数据操作请求的发送方;当所述目标操作包括数据删除时,从所述虚拟表中查询到所述目标数据或基于所述虚拟表中存储的数据存储位置,查询到所述目标数据,并从所述虚拟表中删除所述目标数据;当所述目标操作包括数据写入时,基于所述数据操作请求所指示的写入位置,将所述数据操作请求携带的所述目标数据写入至所述虚拟表的相应位置;其中,所述虚拟表与各所述数据引擎的数据库相关联,用于将针对所述虚拟表的数据操作同步至相应的所述数据引擎的数据库。
22、上本文档来自技高网...
【技术保护点】
1.一种数据操作方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述中间数据包含于虚拟表中,所述响应于数据操作请求,构建所述数据操作请求对应的中间数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述子虚拟表包括第i子虚拟表,,N用于指示所述子虚拟表的数量,i为正整数;
4.根据权利要求3所述的方法,其特征在于,所述基于所述关联信息,将所述第i-1虚拟表和所述第i子虚拟表进行融合,得到第i虚拟表,包括:
5.根据权利要求2所述的方法,其特征在于,所述方法应用于所述数据引擎,所述将各所述子虚拟表进行融合,得到所述数据操作请求对应的虚拟表,包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于针对多个数据引擎的数据操作请求,构建所述数据操作请求对应的中间数据,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述数据操作条件,对所述数据操作请求进行请求权限验证,得到权限验证结果之后,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述
9.根据权利要求1所述的方法,其特征在于,所述基于所述数据量,从多个候选数据操作方式中,确定所述数据操作请求对应的目标数据操作方式,包括:
10.根据权利要求9所述的方法,其特征在于,所述多个候选数据操作方式包括:基于所述中间数据执行所述目标操作的第一数据操作方式和基于所述多个数据引擎执行所述目标操作的第二数据操作方式;
11.根据权利要求2所述的方法,其特征在于,所述目标数据操作方式指示基于所述中间数据执行所述目标操作;所述按照所述目标数据操作方式对所述目标数据执行所述目标操作,包括:
12.根据权利要求2所述的方法,其特征在于,所述目标数据操作方式指示基于所述多个数据引擎执行所述目标操作的第二数据操作方式;
13.一种数据操作装置,其特征在于,所述装置包括:
14.一种电子设备,其特征在于,所述电子设备包括:
15.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至12任一项所述的数据操作方法。
16.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至12任一项所述的数据操作方法。
...【技术特征摘要】
1.一种数据操作方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述中间数据包含于虚拟表中,所述响应于数据操作请求,构建所述数据操作请求对应的中间数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述子虚拟表包括第i子虚拟表,,n用于指示所述子虚拟表的数量,i为正整数;
4.根据权利要求3所述的方法,其特征在于,所述基于所述关联信息,将所述第i-1虚拟表和所述第i子虚拟表进行融合,得到第i虚拟表,包括:
5.根据权利要求2所述的方法,其特征在于,所述方法应用于所述数据引擎,所述将各所述子虚拟表进行融合,得到所述数据操作请求对应的虚拟表,包括:
6.根据权利要求1所述的方法,其特征在于,所述响应于针对多个数据引擎的数据操作请求,构建所述数据操作请求对应的中间数据,包括:
7.根据权利要求6所述的方法,其特征在于,所述基于所述数据操作条件,对所述数据操作请求进行请求权限验证,得到权限验证结果之后,所述方法还包括:
8.根据权利要求1所述的方法,其特征在于,所述基于所述数据量,从多个候选数据操作方式中,确定所述数据操作请求对应的目标数据操作方式,包括:
9.根据权利要...
【专利技术属性】
技术研发人员:叶强盛,蒋杰,刘煜宏,陈鹏,唐暾,邹若晨,邓启斌,薛文伟,程广旭,宋新村,何志鸣,吴怡雯,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。