一种数据存储的方法、电子设备及计算机可读存储介质与流程

文档序号:36868965发布日期:2024-02-02 20:49阅读:23来源:国知局
一种数据存储的方法、电子设备及计算机可读存储介质与流程

本技术实施例涉及数据处理,尤其涉及一种数据存储的方法、电子设备及计算机可读存储介质。


背景技术:

1、在电子设备的过程中,电子设备可以采集电子设备的位置数据、联网情况等数据。或者,在经用户授权后,电子设备也可以采集用户的行为数据,如对应用程序的使用数据、运动数据等。电子设备可以存储上述采集的数据。后续,电子设备可以在有需要的情况下查询并使用存储的数据,如使用查询到的数据为用户提供服务。

2、现有技术中,上述采集的数据通常存储在电子设备的非易失性存储器(nonvolatilememory,nvm)(如磁盘)中。可以理解的是,从nvm中读取数据的效率是较低的。因此,电子设备在查询上述存储在nvm中的数据时,通常会出现查询耗时长的问题,从而无法快速查询到结果并使用。


技术实现思路

1、本技术提供一种数据存储的方法、电子设备及计算机可读存储介质,通过运行内存(dynamic random access memory,dram)和nvm结合存储的形式,并动态调节dram中的存储参数,以节约查询耗时。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,本技术提供了一种数据存储方法,应用于电子设备,电子设备中包括动态随机存取存储器dram和非易失性存储器nvm,dram中包括缓存组件,nvm中包括数据库,缓存组件和数据库用于存储数据。在第一时间区间内,电子设备在缓存组件中存储第一生命周期的第一数据,在数据库中存储第二生命周期的第一数据。其中,第一生命周期的第一数据包括当前时刻之前、且与当前时刻的距离为第一时长内产生的第一数据,第二生命周期的第一数据包括当前时刻之前、且与当前时刻的距离为第二时长内产生的第一数据,和/或,第一生命周期的第一数据包括当前时刻之前最新产生的第一数量的第一数据,第二生命周期的第一数据包括当前时刻之前最新产生的第二数量的第一数据。第二时长大于第一时长,第二数量大于第一数量。

4、在第二时间区间内,电子设备在缓存组件中存储第三生命周期的第一数据,在数据库中存储第二生命周期的第一数据。第三生命周期的第一数据包括当前时刻之前、且与当前时刻的距离为第三时长内产生的第一数据,和/或,第三生命周期的第一数据包括当前时刻之前最新产生的第三数量的第一数据。第一时长、第二时长和第三时长两两不相同,第二时长大于第三时长。第一数量、第二数量和第三数量两两不相同,第二数量大于第三数量。也就是说,电子设备可以将缓存组件存储的第一数据的生命周期调整为第三生命周期。

5、综上,电子设备结合数据库和缓存组件来存储数据,电子设备在缓存组件中查询数据的耗时,低于从数据库中查询数据的耗时,可以提高数据查询的效率。进一步,在第一时间区间内,缓存组件存储第一生命周期的第一数据,在第二时间区间内缓存组件存储第三生命周期的第一数据,实现缓存组件中存储数据的生命周期的动态变化。示例性的,电子设备分析查询请求,根据分析结果调整缓存组件中缓存数据的生命周期,使得变化后的生命周期参数可以满足查询请求的查询条件,电子设备可以直接在缓存组件中查询到数据。

6、在一种具体的实现方式中,第二时间区间位于第一时间区间之后。在第一时间区间内,从缓存组件中未查询到目标生命周期内的第一数据,从数据库中查询到目标生命周期内的第一数据。在第二时间区间内,从缓存组件中查询到目标生命周期内的第一数据。其中,第一时间区间内查询到目标生命周期内的第一数据的耗时,长于第二时间区间内查询到目标生命周期内的第一数据的耗时。

7、电子设备采用更新缓存组件存储数据的生命周期的方式,使得电子设备可以从缓存组件中查询到目标生命周期内的第一数据,且从缓存组件中查询到目标生命周期内的第一数据的耗时比从数据库查询要短,提高了数据查询效率。

8、在一种具体的实现方式中,第二时间区间位于第一时间区间之后。在第二时间区间内,在缓存组件中存储第三生命周期的第一数据之前,电子设备需要获取第二时间区间之前的多条目标查询请求,每条目标查询请求用于查询第一数据。然后解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件,基于多组查询条件确定第三生命周期。

9、电子设备分析第二时间区间之前的多条目标查询请求,根据多条目标查询请求中的多组查询条件确定第三生命周期参数,可以得到更能满足查询请求中查询条件的第三生命周期参数。电子设备将缓存组件中存储数据的生命周期调整为第三生命周期,使得电子设备可以在缓存组件存储的第三生命周期的数据中,查询到满足查询请求中查询条件的数据。

10、在一种具体的实现方式中,每组查询条件包括查询时间范围和/或查询数量范围。对应的,基于多组查询条件确定第三生命周期,包括基于多个查询时间范围中的目标时间范围确定第三时长,和/或,基于多个查询数量范围中的目标数量范围确定第三数量。

11、在一些应用场景中,目标时间范围可以包括长度最长的查询时间范围。例如,电子设备可以在多个查询请求的多个查询时间范围中,选择长度最长的查询时间范围作为目标时间范围。

12、电子设备选择长度最长的查询时间范围作为目标时间范围,得到缓存组件中存储数据的第三时长,可以使大部分的查询请求的查询时间范围落在第三时长内,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询时间范围对应的数据。

13、在一些应用场景中,目标时间范围可以包括出现次数最多的查询时间范围。例如,电子设备可以在多个查询请求的多个查询时间范围中,选择出现次数最多的查询时间范围作为第三时长。

14、电子设备选择出现次数最多的查询时间范围作为目标时间范围,得到缓存组件中存储数据的第三时长,第三时长可以满足大部分的查询请求的查询时间范围,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询时间范围对应的数据。

15、在一些应用场景中,目标时间范围可以包括得分最高的查询时间范围。例如,电子设备可以根据每个查询时间范围的权重,加权计算得到每个查询时间范围的得分,从多个查询时间范围中选择得分最高的查询时间范围。

16、电子设备权衡不同查询时间范围分配不同的权重,根据查询时间范围的权重计算得到查询时间范围的得分。在多个查询请求的多个查询时间范围中,选择的得分最高的作为目标时间范围,得到缓存组件中存储数据的第三时长,第三时长可以满足大部分查询请求的查询时间范围,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询时间范围对应的数据。

17、在一些应用场景中,目标数量范围包括间隔数量最多的查询数量范围。例如,电子设备可以在多个查询请求的多个查询数量范围中,选择间隔数量最多的查询数量范围作为第三数量。

18、电子设备选择间隔数量最多的查询数量范围作为目标数量范围,得到缓存组件中存储数据的第三数量,可以使大部分的查询请求的查询数量范围落在第三数量内,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询数量范围对应的数据。

19、在一些应用场景中,目标数量范围包括出现次数最多的查询数量范围。例如,电子设备可以在多个查询请求的多个查询数量范围中,选择出现次数最多的查询数量范围作为第三数量。

20、电子设备选择出现次数最多的查询数量范围作为目标数量范围,得到缓存组件中存储数据的第三数量,第三数量可以满足大部分的查询请求的查询数量范围,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询数量范围对应的数据。

21、在一些应用场景中,目标数量范围包括得分最高的查询数量范围。例如,电子设备可以根据每个查询数量范围的权重,加权计算得到每个查询数量范围的得分,从多个查询数量范围中选择得分最高的查询数量范围。

22、电子设备权衡不同查询数量范围分配不同的权重,根据查询数量范围的权重计算得到得分。在多个查询请求的多个查询时间范围中,选择的得分最高的作为目标数量范围,得到缓存组件中存储数据的第三数量,第三数量可以满足大部分查询请求的查询数量范围,因此电子设备可以在缓存组件存储的数据中,查询到与查询请求的查询数量范围对应的数据。

23、在一种具体的实现方式中,查询时间范围的长度越长,查询时间范围的权重值越小。查询时间范围的得分为查询时间范围的权重值与查询时间范围的出现次数的乘积。也就是说,不同查询时间范围长度的得分不相同,长度越长的查询时间范围的得分可能越小。电子设备对长度越长的查询时间范围分配的权重值越小,根据查询时间范围的权重值和出现次数来计算得到查询时间范围的得分,从而筛选得到得分最高的查询时间范围作为第三时长,可以得到更符合查询需求的第三时长。

24、电子设备考虑到查询时间范围的长度越长,存储该查询时间范围的数据占用的空间越大,以及电子设备对查询时间范围的查询需求越高,查询时间范围的出现次数越多的情况。电子设备为越大的时间范围,分配更小的权重值。电子设备在根据查询时间范围的权重和出现次数计算得到的得分中,选择得分最高的查询时间范围,可以选择到更符合查询需求的第三时长。并且,电子设备将缓存组件的生命周期调整为第三时长后,可以根据第三时长在pipeline中存储占用空间更合理的时间范围的数据,减少在pipeline中存储过多不存在查询需求的数据的情况,避免存储空间的浪费。

25、在一种具体的实现方式中,响应于满足第一条件,电子设备解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。第一条件指示电子设备解析目标查询请求的时机。

26、示例性的,电子设备在达到第一时间点时,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。

27、电子设备只需要定期(达到第一时间点)触发分析查询请求的操作,无需额外监测拦截到的目标查询请求的数量等信息,可以节省功耗。

28、示例性的,电子设备在目标查询请求的数量超过第四数量时,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。

29、电子设备仅在目标查询请求的数量超过第四数量时,触发分析查询请求的操作,无需频繁分析拦截到的目标查询请求,可以节省功耗。

30、示例性的,电子设备监测到在多条目标查询请求中,从数据库中查到结果的次数超过第五数量时,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。其中,从数据库中查到结果的次数为电子设备在缓存组件中未查到结果的情况下,则从数据库中查询的次数。

31、电子设备仅在从数据库中查到结果的次数超过第五数量时(可以理解为,缓存组件中存储的数据无法满足电子设备的查询需求),触发分析查询请求的操作,无需频繁分析拦截到的目标查询请求。并且,电子设备可以基于分析结果确定第三生命周期,在缓存组件中存储第三生命周期的数据,电子设备可以直接在缓存组件中查询到电子设备所需要的数据,减少从数据库查询数据的次数,进一步减小查询请求的访问时延。

32、示例性的,第一条件可以包括多种时机的结合。例如,电子设备在达到第一时间点,且目标查询请求的数量超过第四数量时,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。

33、电子设备仅在达到第一时间点才触发确定查询请求数量的操作,在未达到第一时间点时,电子设备无需实时监测查询请求的数量,节省功耗。并且,电子设备仅在在达到第一时间点,且目标查询请求的数量超过第四数量时,触发分析查询请求的操作。电子设备在达到第一时间点时,目标查询请求的数量没有超过第四数量的情况下,不触发分析查询请求的操作,避免频繁分析查询请求的情况,进一步节省功耗。

34、例如,电子设备在达到第一时间点,且多条目标查询请求中,从数据库中查到结果的次数超过第五数量时,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。

35、电子设备仅在达到第一时间点才触发确定查询请求数量的操作,在未达到第一时间点时,电子设备不确定查询请求数量,也不触发分析查询请求的操作,无需额外监测查询请求的数量等信息,节省功耗。并且,电子设备仅在在达到第一时间点,且多条目标查询请求中,从数据库中查到结果的次数超过第五数量时,触发分析查询请求的操作。电子设备在达到第一时间点,多条目标查询请求中,从数据库中查到结果的次数没有超过第五数量的情况下,不触发分析查询请求的操作,避免频繁分析查询请求的情况,进一步节省功耗。

36、在一种具体的实现方式中,电子设备在缓存组件和/或数据库中存储的第一数据包括以下至少一项:应用程序的开启数据、电子设备的wi-fi状态数据和电子设备的运动状态数据。电子设备在目标查询请求有需要的时候,通过缓存组件和/或数据库查询存储的数据。

37、在一种具体的实现方式中,电子设备还包括拦截器、查询引擎和缓存管理服务。其中,拦截器可以获取第二时间区间之前的多条目标查询请求。

38、查询引擎从拦截器读取多条目标查询请求,解析每条目标查询请求中第一数据的一组查询条件,得到多组查询条件。进一步,查询引擎基于多组查询条件确定第三生命周期。

39、在一种具体的实现方式中,在查询引擎基于多组查询条件确定第三生命周期之后,查询引擎还可以向缓存管理服务发送第三生命周期。

40、在第二时间区间内,缓存管理服务基于第三生命周期控制在缓存组件中存储第三生命周期的第一数据。

41、电子设备中查询引擎分析拦截器拦截的目标查询请求,确定出第三生命周期,并通过缓存管理服务基于第三生命周期控制在缓存组件中存储第三生命周期的第一数据,实现基于查询请求动态调整缓存组件中存储数据的生命周期,可以节省电子设备查询数据的耗时。

42、第二方面,本技术提供一种电子设备,电子设备包括处理器和用于存储所述处理器可执行指令的存储器,当所述处理器被配置为执行所述指令时,使得所述电子设备实现如第一方面及其任一种可能的设计方式所述的方法。

43、第三方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如第一方面及其任一种可能的设计方式所述的方法。

44、第四方面,本技术提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如第一方面及其任一种可能的设计方式所述的方法。

45、可以理解地,上述提供的第二方面所述的电子设备,第三方面所述的计算机可读存储介质,第四方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1