数据存储方法、查询方法及相关设备、存储介质技术

技术编号:27235839 阅读:26 留言:0更新日期:2021-02-04 12:05
本申请实施例提供一种数据存储方法及设备、查询方法及设备,计算机存储介质和计算机设备,其中,所述存储方法包括:获得存储对象以及存储对象的属性,所述属性包括存储对象的待存储生效时间及第一数据,所述第一数据表征为在所述待存储生效时间内所述存储对象的取值;获得所述属性的已存储生效时间以及第二数据,其中,所述第二数据表征为在所述已存储生效时间内所述属性的取值;依据所述待存储生效时间和已存储生效时间,确定是否对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;依据确定结果,确定目标待存储数据;对目标待存储数据进行存储。储数据进行存储。储数据进行存储。

【技术实现步骤摘要】
数据存储方法、查询方法及相关设备、存储介质


[0001]本申请涉及数据管理技术,具体涉及一种数据存储方法及设备、查询方法及设备,计算机存储介质和计算机设备。

技术介绍

[0002]在对海量数据进行存储的方案中存在有这样一种情形:同一类型的数据在不同的时间上的取值不同。例如,在维护电商的商品价格这一应用场景中,商品价格在不同的时间上可不同,为方便对这些价格的记录,通常将该商品的标识、售卖该商品的商家的标识、商品的进货或售卖价格以及各价格的生效时间存储在数据存储设备中。示例性地,数据存储设备可进行如下对应关系的记录,对应关系1是:商家1、A商品、9月1日-5日、220元,对应关系1表示商家1在9月1日-5日期间以220元的价格进行A商品的售卖。对应关系2是:商家2、A商品、9月4日-6日、210元,对应关系2表示商家2在9月4日-6日期间以210元的价格进行A商品的售卖。对应关系3是:商家1、A商品、9月6日、200元,对应关系3表示商家1在9月6日这天以200元的价格进行A商品的售卖。相当于,数据存储设备中按照各个商家对各个商品在不同时间段的售卖需求进行存储。这种存储方式过于粗糙,由于不同商家在同一时间段的进货价或售卖价可能不同,同一商家在不同的时间上进货或售卖的价格也不同,所以在对商品的价格进行查询时,会导致在某个查询时间上同一商品出现多种价格的情形,导致无法获取到准确价格。且这种存储方式,在查询时某个时间点上的价格时都存在多种价格,更无法实现对某个时间段上商品价格的查询。可见,亟需一种细腻的存储方式,至少能够解决以上问题。

技术实现思路

[0003]为解决现有存在的技术问题,本申请实施例提供一种数据存储方法及设备、查询方法及设备,计算机存储介质和计算机设备。
[0004]本申请实施例的技术方案是这样实现的:
[0005]本申请实施例提供一种数据存储方法,包括:
[0006]获得存储对象以及存储对象的属性,所述属性包括存储对象的待存储生效时间及第一数据,所述第一数据表征为在所述待存储生效时间内所述存储对象的取值;
[0007]获得所述属性的已存储生效时间以及第二数据,其中,所述第二数据表征为在所述已存储生效时间内所述属性的取值;
[0008]依据所述待存储生效时间和已存储生效时间,确定是否对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;
[0009]依据确定结果,确定目标待存储数据;
[0010]对目标待存储数据进行存储。
[0011]前述方案中,所述依据所述待存储生效时间和已存储生效时间,确定是否对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效
时间进行调整,包括:
[0012]判断所述待存储生效时间和所述已存储生效时间是否存在有相交的时间点;
[0013]判断为存在的情况下,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;
[0014]相应的,所述依据确定结果,确定目标待存储数据,包括:
[0015]确定调整后的生效时间以及所述存储对象在所述调整后的生效时间内的取值为目标待存储数据。
[0016]前述方案中,所述判断为存在的情况下,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整,包括:
[0017]所述待存储生效时间和所述已存储生效时间均为时间段;所述时间段包括生效时间的起始时刻和结束时刻;
[0018]判断为存在的情况下,
[0019]获得所述待存储生效时间段的第一起始时刻和第一结束时刻;
[0020]获得所述已存储生效时间段的第二起始时刻和第二结束时刻;
[0021]依据所述第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻,获得第一元素集;
[0022]依据第一元素集中至少部分元素为新数据或为老数据的判断结果,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;
[0023]其中,所述第一元素集中取值为第一起始时刻或第一结束时刻的元素为新数据,第一元素集中取值为第二起始时刻或第二结束时刻的元素为老数据。
[0024]前述方案中,所述依据所述第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻,获得第一元素集,包括:
[0025]按照时间顺序将第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻进行排序,得到第一元素集。
[0026]前述方案中,所述依据第一元素集中至少部分元素为新数据或为老数据的判断结果,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整,包括:
[0027]在第一元素集中的第一个元素和最后一个元素均为新数据的情况下,确定由所述第一个元素和所述最后一个元素构成的时间段为取值为所述第一数据的所述存储对象的新生效时间;
[0028]在第一元素集中的第一个元素为新数据且最后一个元素为老数据的情况下,获得第一元素集中除第一个元素之外的下一个表示为新数据的元素,所述第一个元素和所述下一个表示为新数据的元素构成的时间段为取值为所述第一数据的所述存储对象的新生效时间;所述元素和所述最后一个元素构成的时间段为取值为第二数据的所述存储对象的新生效时间;
[0029]在第一元素集中的第一个元素和最后一个元素均为老数据的情况下,由第一个元素和第二个元素构成的时间段为取值为第一目标数据的所述存储对象的新生效时间;其中,所述第二数据包括第一目标数据和第二目标数据,所述第一目标数据为所述第一个元
素对应的已存储生效时间段内所述存储对象的取值;由第二个元素和所述第一元素集中除第一、二个元素之外的下一个表示为新数据的元素构成的时间段为取值为第一数据的所述存储对象的新生效时间;由所述下一个表示为新数据的元素和最后一个元素构成的时间段为取值为第二目标数据的所述存储对象的新生效时间;其中,所述第二目标数据为所述最后一个元素对应的已存储生效时间段内所述存储对象的取值。
[0030]前述方案中,在确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整之后,所述方法还包括:
[0031]获得对所述存储对象的查询时间段;
[0032]基于所述存储对象在各取值下的生效时间段,确定在查询时间段下所述存储对象的取值;
[0033]输出所述存储对象在所述查询段时间下的取值。
[0034]前述方案中,在确定在查询时间段下所述存储对象的取值之前,所述方法还包括:
[0035]判断所述存储对象在各取值下的生效时间中是否存在有与所述查询时间段相交的生效时间;
[0036]判断为存在的情况下,依据与所述查询时间段相交的生效时间段,对所述查询时间段进行分段本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:获得存储对象以及存储对象的属性,所述属性包括存储对象的待存储生效时间及第一数据,所述第一数据表征为在所述待存储生效时间内所述存储对象的取值;获得所述属性的已存储生效时间以及第二数据,其中,所述第二数据表征为在所述已存储生效时间内所述属性的取值;依据所述待存储生效时间和已存储生效时间,确定是否对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;依据确定结果,确定目标待存储数据;对目标待存储数据进行存储。2.根据权利要求1所述的方法,其特征在于,所述依据所述待存储生效时间和已存储生效时间,确定是否对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整,包括:判断所述待存储生效时间和所述已存储生效时间是否存在有相交的时间点;判断为存在的情况下,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;相应的,所述依据确定结果,确定目标待存储数据,包括:确定调整后的生效时间以及所述存储对象在所述调整后的生效时间内的取值为目标待存储数据。3.根据权利要求2所述的方法,其特征在于,所述判断为存在的情况下,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整,包括:所述待存储生效时间和所述已存储生效时间均为时间段;所述时间段包括生效时间的起始时刻和结束时刻;判断为存在的情况下,获得所述待存储生效时间段的第一起始时刻和第一结束时刻;获得所述已存储生效时间段的第二起始时刻和第二结束时刻;依据所述第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻,获得第一元素集;依据第一元素集中至少部分元素为新数据或为老数据的判断结果,确定对待存储为第一数据的所述存储对象的生效时间和/或已存储为第二数据的所述存储对象的生效时间进行调整;其中,所述第一元素集中取值为第一起始时刻或第一结束时刻的元素为新数据,第一元素集中取值为第二起始时刻或第二结束时刻的元素为老数据。4.根据权利要求3所述的方法,其特征在于,所述依据所述第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻,获得第一元素集,包括:按照时间顺序将第一起始时刻、第一结束时刻、第二起始时刻和第二结束时刻进行排序,得到第一元素集。5.根据权利要求3或4所述的方法,其特征在于,所述依据第一元素集中至少部分元素为新数据或为老数据的判断结果,确定对待存储为第一数据的所述存储对象的生效时间
和/或已存储为第二数据的所述存储对象的生效时间进行调整,包括:在第一元素集中的第一个元素和最后一个元素均为新数据的情况下,确定由所述第一个元素和所述最后一个元素构成的时间段为取值为所述第一数据的所述存储对象的新生效时间;在第一元素集中的第一个元素为新数据且最后一个元素为老数据的情况下,获得第一元素集中除第一个元素之外的下一个表示为新数据的元素,所述第一个元素和所述下一个表示为新数据的元素构成的时间段为取值为所述第一数据的所述存储对象的新生效时间;所述元素和所述最后一个元素构成的时间段为取值为第二数据的所述存储对象的新生效时间;在第一元素集中的第一个元素和最后一个元素均为老数据的情况下,由第一个元素和第二个元素构成的时间段为取值为第一目标数据的所述存储对象的新生效时间;其中,所述第二数据包括第一目标数据和第二目标数据,所述第一目标数据为所述第一个元素对应的已存储生效时间段内所述存储对象的取值;由第二个元素和所述第一元素集中除第一、二个元素之外的下一个表示为新数据的元素构成的时间段为取值为第一数据的所述存储对象的新生效时间;由所述下一个表示为新数据的元素和最后一个元素构成的时间段为取值为第二目标数据的所述存储对象的新生效时间;其中,所述第二目标数据为所述最后一个元素对应的已存储生效时间段内所述存...

【专利技术属性】
技术研发人员:路学士何海泉戚依楠陈志良
申请(专利权)人:北京京东尚科信息技术有限公司
类型:发明
国别省市:

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

1