System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本说明书一个或多个实施例涉及数据库,尤其涉及一种数据管理方法及装置、电子设备及存储介质。
技术介绍
1、在数据库的领域中,有一类高频的应用场景,即大批量的数据更新或者删除场景。例如银行定期发放利息,需要大批量更新用户账号的余额;又例如数据库大量的数据需要订正等。这种场景需要在一个事务中操作大量的数据。相关技术在上述场景中的操作效率较低,导致数据库的服务效率降低。
技术实现思路
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、根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:
39、处理器;
40、用于存储处理器可执行指令的存储器;
41、其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
42、根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
43、本说明书的实施例提供的技术方案可以包括以下有益效果:
44、本说明书实施例所提供的数据管理方法,接收用于指示删除或更新至少一个数据行的指令,且所述至少一个数据行的数量不大于预设阈值,则将所述指令对应的至少一个删除行或更新行写入数据库的内存中;接收用于指示删除或更新多个数据行的指令,且所述多个数据行的数量大于预设阈值,则将所述指令对应的多个删除行或更新行写入数据库的持久化存储设备中。换句话说,该方法在删除或更新数量较少的数据行时,可以按照常规方式在内存中执行操作,即在内存中写入删除行或更新行,而在删除或更新数量较多的本文档来自技高网...
【技术保护点】
1.一种数据管理方法,所述方法包括:
2.根据权利要求1所述的数据管理方法,所述接收用于指示删除或更新多个数据行的指令,且所述多个数据行的数量大于预设阈值,则将所述指令对应的删除行或更新行写入数据库的持久化存储设备中,包括:
3.根据权利要求2所述的数据管理方法,所述将所述指令对应的多个删除行或更新行生成一个有序字符串表,包括:
4.根据权利要求3所述的数据管理方法,所述将所述指令对应的多个删除行或更新行写入临时文件并排序,以生成有序字符串表,包括:
5.根据权利要求2所述的数据管理方法,所述将生成的有序字符串表写入数据库的持久化存储设备中,包括:
6.根据权利要求1所述的数据管理方法,所述将所述指令对应的多个更新行写入数据库的持久化存储设备中,包括:
7.根据权利要求1所述的数据管理方法,所述方法还包括:
8.根据权利要求1所述的数据管理方法,所述方法还包括:
9.一种数据管理装置,所述装置包括:
10.根据权利要求9所述的数据管理装置,所述第二操作模块用于:
12.根据权利要求10所述的数据管理装置,所述第二操作模块用于将生成的有序字符串表写入数据库的持久化存储设备中时,用于:
13.一种计算机程序产品,包括计算机程序/指令,该计算程序/指令被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
14.一种电子设备,包括:
15.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
...【技术特征摘要】
1.一种数据管理方法,所述方法包括:
2.根据权利要求1所述的数据管理方法,所述接收用于指示删除或更新多个数据行的指令,且所述多个数据行的数量大于预设阈值,则将所述指令对应的删除行或更新行写入数据库的持久化存储设备中,包括:
3.根据权利要求2所述的数据管理方法,所述将所述指令对应的多个删除行或更新行生成一个有序字符串表,包括:
4.根据权利要求3所述的数据管理方法,所述将所述指令对应的多个删除行或更新行写入临时文件并排序,以生成有序字符串表,包括:
5.根据权利要求2所述的数据管理方法,所述将生成的有序字符串表写入数据库的持久化存储设备中,包括:
6.根据权利要求1所述的数据管理方法,所述将所述指令对应的多个更新行写入数据库的持久化存储设备中,包括:
7.根据权利要求1所述的数据管理方法,所述方法...
【专利技术属性】
技术研发人员:陈俊全,杨涛,余亚,
申请(专利权)人:北京奥星贝斯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。