System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据存储方法、加载方法、电子设备及存储介质技术_技高网

数据存储方法、加载方法、电子设备及存储介质技术

技术编号:41791676 阅读:1 留言:0更新日期:2024-06-24 20:17
本发明专利技术涉及人工智能技术领域,提供一种数据存储方法、加载方法、电子设备及存储介质,该数据存储方法包括:读取记录文件中记录的数据变更操作,根据数据变更操作包括:确定操作类型和、待变更的数据块的标识,以及和待变更的数据内容;将内存中具有标识的内存数据块作为目标数据块,并按操作类型及待变更的数据内容对目标数据块进行变更;将内存中的内存数据块写入外部存储器,形成持久化数据块,以使应用程序在加载数据时,将持久化数据块和内存数据块直接全量加载到应用程序的内存区域,并根据全量加载后的后续数据变更操作对内存区域的相应数据块进行变更,以实现增量加载。本发明专利技术中大大提高了数据全量加载和增量加载的效率。

【技术实现步骤摘要】

本专利技术涉及人工智能,尤其涉及一种数据存储方法、加载方法、电子设备及存储介质


技术介绍

1、目前,人工智能(artificial intelligence,ai)数据存储是基于关系型数据库或非关系型数据库实现的。现有的ai数据存储技术需要访问关系型数据库(例如:mysql、postgresql、oracle db等)或非关系型数据库(例如:mongodb、cassandra等)。

2、通用型数据存储技术在存储结构化数据(如:ai数据,ai数据是具有特定结构化特征的数据)时,均需要将数据转换成通用的数据结构(为了兼容数据库的通用性)并加载到内存中,再存储到数据库中;在ai应用加载数据时,根据应用的请求,再将通用的数据结构转换成特定结构化特征的数据后加载到应用的内存中。可见,数据存储和加载时都需要数据转换,又因为单个ai数据的大小较大(超过1kb),因此,对于需要全量加载数据的ai应用,导致ai应用启动时,进行全量数据加载的效率较低。而且,对于传统关系型数据库和非关系型数据库,对结构化数据的增量修改时,需要对全量数据(至少是全量数据的索引)进行检索,才能获取增量变化的部分,导致增量数据加载复杂、效率低。


技术实现思路

1、本专利技术提供一种数据存储方法、加载方法、电子设备及存储介质,用以解决现有技术中的ai应用程序的全量数据及增量数据加载效率较低的问题。

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、本专利技术提供的数据存储方法、加载方法、电子设备及存储介质,由于数据是基于数据块存储,数据块即为根据不同应用具有不同特定结构化特征的数据块,在应用程序(如ai应用)全量加载数据时可直接将外部存储中的数据块加载到应用程序的内存,避免传统数据库存储导致的数据格式的转换,因此大大提高了全量加载数据的效率。而且只需要对记录文件中数据变更操作顺序读取,即可获取全量加载之后记录的后续数据变更操作。将后续数据变更操作直接加载到应用程序的内存区域,对内存区域相应的数据块进行直接操作,即可完成数据的增量加载,可见不需要对全量数据进行查询以获取增量变化,增量数据加载方式简单且高效。

本文档来自技高网...

【技术保护点】

1.一种数据存储方法,其特征在于,包括:

2.根据权利要求1所述的数据存储方法,其特征在于,根据所述数据变更操作确定操作类型、待变更的数据块的标识和待变更的数据内容,包括:

3.根据权利要求1所述的数据存储方法,其特征在于,按所述操作类型对所述目标数据块进行变更之后,还包括:

4.根据权利要求3所述的数据存储方法,其特征在于,将内存中具有所述标识的内存数据块作为目标数据块,并按所述操作类型及待变更的数据内容对所述目标数据块进行变更,包括:

5.根据权利要求1~4中任一项所述的数据存储方法,其特征在于,将内存中的内存数据块写入外部存储器,形成持久化数据块,包括:

6.根据权利要求5所述的数据存储方法,其特征在于,所述按预设的数据持久化策略将内存数据块写入外部存储器,以形成持久化数据块,包括:

7.一种数据加载方法,其特征在于,包括:

8.根据权利要求7所述的数据加载方法,其特征在于,所述读取应用程序所需的持久化数据块和内存数据块,并将所述持久化数据块和内存数据块全量加载到所述应用程序的内存区域,包括

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6中任一项所述的数据存储方法,或者实现如权利要求7或8所述的数据加载方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~6中任一项所述的数据存储方法,或者实现如权利要求7或8所述的数据加载方法。

...

【技术特征摘要】

1.一种数据存储方法,其特征在于,包括:

2.根据权利要求1所述的数据存储方法,其特征在于,根据所述数据变更操作确定操作类型、待变更的数据块的标识和待变更的数据内容,包括:

3.根据权利要求1所述的数据存储方法,其特征在于,按所述操作类型对所述目标数据块进行变更之后,还包括:

4.根据权利要求3所述的数据存储方法,其特征在于,将内存中具有所述标识的内存数据块作为目标数据块,并按所述操作类型及待变更的数据内容对所述目标数据块进行变更,包括:

5.根据权利要求1~4中任一项所述的数据存储方法,其特征在于,将内存中的内存数据块写入外部存储器,形成持久化数据块,包括:

6.根据权利要求5所述的数据存储方法,其特征在于,所述按预设的数据持久化策略将内存数据块写...

【专利技术属性】
技术研发人员:温明卫周军
申请(专利权)人:北京眼神智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1