一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多级时序数据压缩方法、装置、电子设备及存储介质

2022-06-01 11:21:26 来源:中国专利 TAG:

多级时序数据压缩方法、装置、电子设备及存储介质
1.本技术要求于2022年01月20日提交中国国家知识产权局、申请号为2022100643941、申请名称为“时序数据压缩方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部或部分内容通过引用结合在本技术中。
技术领域
2.本技术涉及数据库技术领域,尤其涉及一种多级时序数据压缩方法、装置、电子设备及存储介质。


背景技术:

3.随着信息技术的发展,各种行业或应用产生的数据越来越多,而时序数据便是其中非常重要的数据之一,时序数据是一种存在特定规律的数据,其代表一系列时间点上的观测值按等时间间隔获取所得的数据集合,为了降低时序数据的存储成本,一般通过对时序数据进行压缩来实现,针对时序数据进行有效压缩的要求越来越高。
4.现有技术中,一般采取抽样或其他方式选择时间序列中的部分数据来近似表达完整的时间序列,即通过保留时序数据的重要规律特征,丢弃部分不重要的数据或信息,来进行降采样压缩。
5.但是,上述方法如果针对除原始数据外的其它形式的数据进行压缩,例如部分已压缩数据部分原始数据的情况,或者全部为压缩数据的情况,则难以确保其保留数据最重要规律特征的效果,压缩性能较差,精度较低。


技术实现要素:

6.本技术提供一种多级时序数据压缩方法、装置、电子设备及存储介质,用以解决在部分已压缩数据部分原始数据的情况,或者全部为压缩数据的情况,难以确保其保留数据最重要规律特征效果的问题。
7.第一方面,本技术实施例提供一种多级时序数据压缩方法,所述方法包括:
8.接收待存储的时序数据并判断所述时序数据中是否存在压缩数据;
9.若存在,则将所述压缩数据基于预定义的算法进行数据恢复;
10.将恢复后的数据和除所述压缩数据外的时序数据按照时间顺序进行拼接,并对拼接后的数据进行压缩和存储。
11.可选的,所述对拼接后的数据进行压缩和存储,包括:
12.获取压缩比,并基于所述压缩比和拼接后的数据的个数计算得到目标输出数据对应的目标个数;
13.将所述拼接后的数据按照所述目标个数进行均分,得到m个数据集;
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.图1为本技术实施例提供的一种多级时序数据压缩方法的应用场景示意图;
39.图2为本技术实施例提供的一种多级时序数据压缩方法的流程图;
40.图3为本技术实施例提供的一种利用降采样方式选取特征时序数据的示意图;
41.图4为本技术实施例提供的多级时序数据压缩装置的结构示意图;
42.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
43.为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一设备和第二设备仅仅是为了区分不同的设备,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
44.需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
45.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
46.下面结合附图对本技术实施例进行介绍。图1为本技术实施例提供的一种多级时序数据压缩方法的应用场景示意图;本技术提供的多级时序数据压缩方法可以应用于如图1所示的应用场景中。该应用场景包括:用户101,终端设备102,服务器103和待压缩时序数据104;其中,待压缩时序数据104中可以为部分已经被压缩过的时序数据和部分未被压缩过的时序数据;也可以为全部被压缩过的时序数据,或者为全部未被压缩过的时序数据;该时序数据指的是基于统一指标按时间顺序记录的数据列,例如,某省从1940年至1999年各个年末的人口数,是由50个时点数组成的时序数列。
47.具体的,用户101可以操作终端设备102将终端设备102上的待压缩时序数据104和压缩指令发送给服务器103,进一步的,服务器103根据压缩指令将待压缩时序数据104进行压缩并存储,然后服务器103将处理结果反馈给终端设备102,以供用户101查看。
48.可以理解的是,终端设备102也可以直接将待压缩时序数据104进行压缩并存储,直接反馈压缩结果供用户101查看,本技术实施例对此不做具体限定。
49.上述终端设备可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radio access network,简称ran)与一个或多个核心网设备进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。再例如,无线终端还可以是个人通信业务(personal communication service,简称pcs)电话、无绳电话、会话发起协议(session initiation protocol,简称sip)话机、无线本地环路(wireless local loop,简称wll)站、个人数字助理(personal digital assistant,简称pda)等设备。无线终端也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、远程终端(remote terminal)、接入终端(access terminal)、用户终端(user terminal)、用户代理(user agent)、用户设备(user device or user equipment),在此不作限定。可选的,上述终端设备还可以是智能手机、台式电脑等设备。
50.现有技术中,一般采取抽样或其他方式选择时间序列中的部分数据来近似表达完整的时间序列,即通过保留时序数据的重要规律特征,丢弃部分不重要的数据或信息,来进行降采样压缩。
51.其中,采用不同的降采样压缩方法保留不同的数据规律特征,例如,可以利用降采样压缩方法保留部分原始数据,也可以利用lttb算法、visvalingam-whyatt(vw)算法等保留原始数据,可以理解的是,数据在随着年龄增加,其被分析利用也足够充分后,可以被不断地多次压缩。
52.但是,上述方法如果针对除原始数据外的其它形式的数据进行压缩,例如部分已被压缩的数据和部分未被压缩的原始数据的情况,或者全部为压缩数据的情况,则难以确保其保留数据最重要规律特征的效果,压缩性能较差,精度较低。
53.因此,本技术实施例提供了一种多级时序数据压缩方法,该方法可以对时序数据进行高倍压缩,即可以针对存在压缩数据的时序数据先进行数据恢复再进行数据拼接后的压缩,同时使得压缩后的数据仍然保留数据规律特征,并可以被用于分析预测,故本技术实施例提供的方法既可以提供更高的精度和速度,还可以保留时序数据的总体特征。
54.示例性的,图2为本技术实施例提供的一种多级时序数据压缩方法的流程图,如图2所示,本技术实施例的方法包括:
55.s201、接收待存储的时序数据并判断所述时序数据中是否存在压缩数据。
56.本技术实施例中,压缩数据可以指的是在不丢失有用信息的前提下,以减少存储空间,提高其传输、存储和处理效率为目的进行缩减后的数据,或指的是基于按照一定的算法进行重新组织和提取特征的数据,可以减少数据的冗余和存储的空间。
57.示例性的,在图1的应用场景下,服务器103可以接收待压缩时序数据104,例如,该接收待压缩时序数据104为某省从1940年至1999年各个年末的人口数,其包括40个时点数(通常情况下应该为50个时点数),进一步的,服务器103判断该40个时点数中是否存在压缩数据。
58.s202、若存在,则将所述压缩数据基于预定义的算法进行数据恢复。
59.本技术实施例中,预定义的算法可以指的是系统设定的可以将压缩数据进行解压并对解压后的数据按照算法进行数据补充,使得补充后的数据具有跟原始数据相同的数据个数和类似规律特征的方法,其中,原始数据可以指的是未被压缩过的初始时序数据。
60.优选的,预定义的算法可以选取线性插值法、抛物线插值法或者与数据压缩方法相匹配的数据恢复方法,本技术实施例对此不做具体限定。
61.示例性的,在图1的应用场景下,若服务器103接收40个时点数,该40个时点数为1940年至1999年各个年末的人口数,通过判断可以确定该40个时点数中存在压缩数据,例如,该40个时点数中存在10个压缩数据,进一步的,服务器103将该10个压缩数据按照线性插值法进行恢复,得到20个恢复后的数据。
62.s203、将恢复后的数据和除所述压缩数据外的时序数据按照时间顺序进行拼接,并对拼接后的数据进行压缩和存储。
63.在本步骤中,将恢复后的数据和除压缩数据外的时序数据按照时间的先后顺序进行拼接,例如,恢复后的数据为1940年至1959年各个年末的20个人口数,压缩数据外的时序数据为1960年至1999年各个年末的30个人口数,进一步的,则将上述数据按照年份的先后顺序进行拼接,连接成1940年至1999年各个年末的50个人口数,便于数据进行压缩,可以保证1940年至1999年人口数具有的特征,其中,对拼接后的数据进行压缩的具体方法本技术实施例不做具体限定,可以为跟压缩数据利用的压缩方法相同,也可以不同。例如,可以为lttb算法、visvalingam-whyatt算法或降采样方法。
64.示例性的,在图1的应用场景下,若服务器103将1940年至1999年各个年末的人口数按照年份的先后顺序连接成50个人口数后,可以按照visvalingam-whyatt算法将该50个人口数进行压缩,得到25个人口数(即每隔2年取一个特征数据)进行存储。
65.需要说明的是,本技术实施例对压缩后数据的个数不做具体限定,可以人为设定,也可以基于算法确定。
66.可以理解的是,本技术实施例提供的方法可以按需要对数据进行多次压缩,压缩效果和单次压缩效果基本等同,总是保留最重要的数据规律特征,而且,待存储的时序数据对应的数量可以为多份,即每一份待存储的时序数据中包括多个时序数据,该多个时序数据中可以包括部分已经被压缩过的时序数据和部分未被压缩过的时序数据;或者包括全部被压缩过的时序数据,或者为全部未被压缩过的时序数据。
67.需要说明的是,本技术实施例中提供的多级时序数据压缩方法,所述多级可以指的是多次,即所述多级时序数据压缩方法可以针对时序数据进行多次压缩,其中每次压缩时使用步骤s201-s203,例如,要求对某时序数据进行两次压缩,在接收到某时序数据并判断所述时序数据中存在压缩数据后,则将所述压缩数据基于预定义的算法进行数据恢复,并将恢复后的数据和除所述压缩数据外的时序数据按照时间顺序进行拼接,并对拼接后的数据进行压缩和存储,进一步的,按照要求,还需对压缩后的数据基于预定义的算法进行数据恢复,在数据恢复后,可以加入其它未被压缩的新的时序数据按照时间顺序进行拼接,并对拼接后的数据进行压缩和存储,使得最终生成的数据保留了某时序数据的重要特征规律。
68.上述对时序数据进行多次压缩的方法可以适用于随着时间的增长,在不同的时间段内对时序数据进行压缩,其中,在每次压缩时可能增加了其他的时序数据的应用场景。
69.可以理解的是,所述多级时序数据压缩方法也适用于对时序数据进行单次压缩,本技术实施例对此不作具体限定。
70.因此,本技术实施例提供的多级时序数据压缩方法,可以解决在部分已压缩数据部分原始数据的情况,或者全部为压缩数据的情况,难以确保其保留数据最重要规律特征效果的问题,在解决问题的同时,还提高了精度和处理速度。
71.可选的,若接收待存储的时序数据中是不存在压缩数据,则可以将所述时序数据按照一定的算法进行压缩并存储,即将所述时序数据基于时间顺序进行排列后,进行压缩并存储,其中,一定的算法可以是本技术实施例中描述的算法,例如,降采样方法,vw算法等,也可以是现有的其他算法,本技术实施例对此不作具体限定。
72.可选的,所述对拼接后的数据进行压缩和存储,包括:
73.获取压缩比,并基于所述压缩比和拼接后的数据的个数计算得到目标输出数据对应的目标个数;
74.将所述拼接后的数据按照所述目标个数进行均分,得到m个数据集;
75.针对每一个数据集,按照降采样方式从中选取特征时序数据,得到所述数据集对应的压缩数据。
76.其中,m为大于1的正整数,其具体数值本技术实施例不做限定。
77.本技术实施例中,压缩比可以指的是原始时序数据需要被压缩的比例,即原始时序数据与目标输出数据的个数之比,其中,目标输出数据可以指的是最终需要输出的被压缩后的数据,而目标个数为目标输出数据对应的数据个数,例如,对于给定的原始时序数据共n个,设定压缩比为r,则根据r=n/k可以计算得到对应的目标个数k,因此,本压缩方法将产生压缩比为r=n/k的压缩数据。
78.在本步骤中,数据集可以指的是包含多个时序数据的集合,特征时序数据可以指的是最能体现时序数据规律特征的数据,该特征时序数据可以体现时序数据的整体趋势和规律,例如,可以提取时序数据对应的均值、方差、极值、过零点、边界点、波段长短峰值等特征数据。而提取特征时序数据的方法可以是利用降采样方法,也可以是其他方法,例如lttb算法,vw算法等,本技术实施例对此不作具体限定。
79.可以理解是,压缩比可以是人为设定的,也可以是系统中设定的每个压缩算法对应的比例,本技术实施例对此不做具体限定。
80.示例性的,在图1的应用场景下,服务器103获取压缩比r,拼接后的数据的个数为n,进一步的,根据r=n/k可以计算得到对应的目标个数k,然后,服务器103可以将n个时序数据均分到k个桶中,随后按照降采样方式在每个桶内选出一个最能体现时序数据规律特征的数据。
81.需要说明的是,若拼接后的数据按照目标个数不能进行均分,则可以将余数保留在第一个和/或最后一个数据集中,例如,有16个拼接后的数据,需要按照时间顺序均分成5份,可以为第一个数据集中有4个时序数据,其余4个数据集中分别有3个时序数据,或者最后一个数据集中有4个时序数据,其余4个数据集中分别有3个时序数据,也可以将余数再次均分到任意的数据集中,若18个拼接后的数据均分为7份,其中,有4份数据集中有3个时序数据,3份数据集中有2个时序数据,本技术实施例对此不做具体限定。
82.因此,本技术实施例提供的方法可以从待存储的时序数据中选取能体现时序数据
规律特征的数据进行压缩,在保证了压缩速率的条件下,还可以保留数据的规律性,使得压缩数据的准确性提高。
83.可以理解的是,可以将每一次的压缩比存储到所述时序数据对应的索引项中,用于计算压缩数据对应的原始时序数据的个数时使用,或者,可以将压缩比与目标个数的乘积存储到所述时序数据对应的索引项中,用于计算压缩数据对应的原始时序数据的个数时使用,本技术实施例对此不作具体限定。
84.可选的,按照降采样方式从中选取特征时序数据,包括:
85.判断该数据集是否存在左右相邻的数据集;
86.若是,则选取该数据集左右相邻的第一数据集和第二数据集,计算所述第一数据集中的第一均值和所述第二数据集中的第二均值,并计算该数据集中每一数据对应的点与所述第一均值和所述第二均值对应的点构成的三角形面积,选取构成所述三角形面积最大的点对应的时序数据;
87.若否,则基于时间顺序选取该数据集中的第一个时序数据或最后一个时序数据。
88.在本步骤中,第一数据集和第二数据集可以指的是每一数据集左右相邻的两个包含时序数据的集合,具体的,可以将拼接后的数据表示成二维坐标系中的点,该二维坐标系的横坐标代表时间,纵坐标代表具体的数据值,其中,数据集中每一数据对应的点指的是将数据表示在二维坐标系中对应的点,例如,1999年的人口数为11亿,则表示在二维坐标系中的点坐标为(1999,11),即1999年的人口数为11亿对应的点。
89.需要说明的是,第一均值对应的点指的是将第一数据集中所有数据对应的横坐标的数值加起来求均值、所有数据对应的纵坐标的数值加起来求均值,该两个均值在二维坐标系中对应的点,第二均值对应的点与第一均值对应的点类似,在此不再赘述。其中,第一均值对应的点或第二均值对应的点可以是真实数据存在对应的点,也可以是虚拟数据对应的点。
90.示例性的,图3为本技术实施例提供的一种利用降采样方式选取特征时序数据的示意图,如图3所示,以中间的数据集为例,在图1的应用场景下,服务器103可以判断图3所示的中间的数据集存在左右相邻的数据集,则选择中间的数据集内所有点与左右相邻数据集的中间点组成的三角形面积最大的点,其中数据集内中间点指的是时间为数据集所在横坐标t与纵坐标n的平均值对应的点,例如,点a和点c为中间点,即第一均值对应的点与第二均值对应的点,点a对应的为真实数据存在对应的点,点c对应的为虚拟数据对应的点。
91.具体的,服务器103会分别计算三角形ab1c、三角形ab2c和三角形ab3c对应的面积,进一步的,选取上述三个三角形面积中面积最大的为三角形ab1c,进一步,可以确定点b1为最终选取的时序数据对应的点,即为最能体现时序数据规律特征的数据。
92.可以理解的是,若某个数据集不存在左右相邻的数据集,例如,图3所示的两边的数据集,则由于两者都没有两个相邻的据集,因此,第一个数据集和最后一个数据集中分别取第一个点和最后一个点(基于时间顺序确定),以保留时序数据的起始特征点和终止特征点。
93.需要说明的是,图3所示的每个数据集中的包括时序数据的个数仅是示例说明,以上每个数据集中表示的时序数据不全,具体应根据实际情况而定,本技术实施例对此不做具体限定。
94.因此,可以采用降采样方式选取特征时序数据,保留了每个数据集中最具特征数据的点,提高计算的精度,使得最终的压缩数据更具合理性。
95.可选的,将所述压缩数据基于预定义的算法进行数据恢复,包括:
96.获取第三均值和所述压缩数据对应的原始时序数据的个数;所述第三均值为所述原始时序数据的时间戳间隔的均值;
97.基于所述第三均值和所述原始时序数据的个数进行数据恢复。
98.本技术实施例中,原始时序数据可以指的是压缩数据在未被压缩时对应的时序数据,时间戳间隔可以指的是每两个连续的时序数据对应的时间间隔,例如,原始时序数据有1990年的粮食产量,1993年的粮食产量,1996年的粮食产量等,则该时间戳间隔为2年。
99.优选的,可以通过线性插值法,并基于第三均值和原始时序数据的个数进行数据恢复,其中,线性插值法为概述图中利用过a点和b点的直线来近似表示原函数的一次多项式的插值方式,可以通过近似代替原函数,用来计算得到a点和b点之间没有的数值。
100.示例性的,在图1的应用场景下,服务器103获取的压缩数据有1990-2009年的粮食产量中的4个时序数据,进一步的,可以获取该压缩数据对应的原始时序数据的个数为10个,该原始时序数据的时间戳间隔的均值为2年;利用线性插值法,可以知道每两个连续的压缩数据需要插入一个时序数据进行数据恢复,例如,压缩数据1990年的粮食产量和1994年的粮食产量之间需要插入1992年的粮食产量,类似的,可以将压缩数据恢复成10个时序数据。
101.需要说明的是,所述压缩数据对应的原始时序数据的个数可以通过压缩比计算得到,也可以从数据查找表中获取得到,在数据量少的时候,也是可以通过人为输入获取到的,本技术实施例对此不作具体限定。其中,数据查找表为预存的每一压缩数据的内存占用量与其对应的原始时序数据的个数的对应关系表,即可以通过基于压缩数据的内存占用量在该表中找到其对应的原始时序数据的个数,或者,该数据查找表为基于其他模型或程序生成的可以用于查询到原始时序数据的个数的表。
102.因此,本技术可以将压缩数据恢复成与原始时序数据具有相同个数和相似特征的数据,保留了数据规律特征,使得恢复后的压缩数据可以表征原始时序数据,不需要去再去获取原始时序数据,即可以不需要内存去存储原始时序数据,减少内存使用量,提高处理速率。
103.可选的,基于所述第三均值和所述原始时序数据的个数进行数据恢复,包括:
104.计算任意两个连续的压缩数据对应的点构成的直线函数以及所述两个连续的压缩数据对应的时间戳的差值;
105.基于所述差值和所述第三均值计算得到所述两个连续的压缩数据之间需要插入的时序数据的个数;
106.利用所述两个连续的压缩数据、所述差值、所述个数和所述直线函数求得需要插入的时序数据对应的点,并获取所述点对应的时序数据。
107.本技术实施例中,直线函数可以指的是线性的函数,即利用直线函数可以基于时间戳间隔便可以求得每两个连续压缩数据之间需要插入的时序数据。
108.示例性的,在图1的应用场景下,服务器103可以计算任意两个连续的压缩数据对应的点构成的直线函数以及两个连续的压缩数据对应的时间戳的差值,例如,两个连续的
压缩数据为1990年的粮食产量100吨和1994年的粮食产量200吨,将1990年的粮食产量100吨和1994年的粮食产量200吨对应的点表征在二维坐标系中,即(1990,100)和(1994,200),分别用点e和点f表示,进一步的,连接点e和点f,求得由点e和点f构成的直线函数为y=25x-49650,并计算点e和点f二点对应的时间戳的差值为4,进一步的,基于差值4和第三均值1计算得到点e和点f之间需要插入的时序数据的个数为3个;进一步的,利用上述数据和直线函数求得需要插入的时序数据对应的点为(1991,125)、(1992,150)和(1993,175),并获取所述点对应的时序数据有1991年的粮食产量125吨、1992年的粮食产量150吨和1993年的粮食产量175吨,最终可以获取1990年-1994年中每一年对应的粮食产量。
109.需要说明的是,在计算得到两个连续的压缩数据对应的时间戳的差值后,所述插值还需减1才可以用于计算,因为年份对应的数据相减,其中相当于多加了1年。
110.因此,本技术可以将压缩数据快速进行恢复,提高的计算速率。
111.可选的,判断所述时序数据中是否存在压缩数据,包括:
112.判断所述时序数据对应的索引项中是否存在表示文件压缩大小的字段;
113.若是,则确定所述时序数据中存在压缩数据,并根据所述字段确定压缩数据;
114.若否,则确定所述时序数据中没有压缩数据。
115.本技术实施例中,索引项可以指的是标记索引中的特定文字的域代码,可以用于判断时序数据是否被压缩过,每一时序数据均对应有索引项。
116.在本步骤中,表示文件压缩大小的字段可以指的是用于标识时序数据被压缩过的特定字段,例如,表示文件压缩大小的字段可以为00a1,若判断时序数据对应的索引项中存在字段00a1,则可以确定该时序数据被压缩过。
117.需要说明的是,表示文件压缩大小的字段对应的具体内容和形式,本技术实施例不做具体限定,以上仅是示例说明,可以人为进行修改,也可以按照现有技术中的规定进行设定。
118.示例性的,在图1的应用场景下,服务器103可以判断待压缩时序数据104中的每一个时序数据对应的索引项中是否存在字段00a1;若某一个或几个时序数据对应的索引项中存在字段00a1,则可以确定这几个时序数据中存在压缩数据,并根据该字段对应时序数据确定压缩数据;若待压缩时序数据104中每一个时序数据对应的索引项均不存在字段00a1,则可以确定待压缩时序数据104中没有压缩数据。
119.可以理解的是,本技术实施例还可以利用其他的方法判断时序数据中是否存在压缩数据,在此不一一列举。
120.因此,本技术可以利用上述方法判断待存储的时序数据是否存在压缩数据,提高了处理速率,保证了时序数据压缩的精度。
121.可选的,所述方法还包括:
122.每隔预设周期,检查服务器中的时序数据,当所述时序数据占用空间超过预设阈值或所述时序数据对应的时间戳早于预设时间时,删除所述时序数据。
123.在本步骤中,预设周期可以指的是设定的每隔一段时间对时序数据进行检查的周期,预设阈值可以指的是设定的时序数据可以占用空间的上限值,预设时间可以指的是设定的用于判定时序数据对应的时间过早的数值,超过预设时间的时序数据其可能没有利用价值,上述预设周期、预设阈值和预设时间可以人为进行修改,本技术实施例对此不做具体
限定,例如,预设周期可以为1天,预设阈值为5m,预设时间为1900年。
124.示例性的,在图1的应用场景下,每隔1天,服务器103可以检查本地数据库中的时序数据,当确定数据库中存储的时序数据占用空间超过5m或所述时序数据对应的时间戳早于1900年时,删除对应的时序数据,并向用户101的终端设备102发送相应提示消息,供用户101查看删除的时序数据。
125.可以理解的是,若用户101查看删除的时序数据后,认为该时序数据还需要保存,则可以人工进行恢复。
126.因此,通过删除时间过早或占用内存过大的时序数据,可以节约内存,减少资源浪费。
127.可选的,所述方法还包括:
128.接收查询压缩后时序数据的请求;所述请求包括所述时序数据对应的时间戳;
129.基于所述时间戳查找对应的时序数据;
130.将所述时序数据返回给客户端进行显示,以供用户进行查看。
131.示例性的,在图1的应用场景下,服务器103可以接收查询压缩后时序数据的请求,进一步的,服务器103基于请求中时序数据对应的时间戳查找对应的时序数据,在查找到对应的时序数据后,可以将时序数据返回给终端设备102进行显示,以供用户101进行查看。
132.因此,用户可以通过时间戳查找对应的时序数据,提高查找速率,方便用户操作并查看。
133.需要说明的是,本技术实施例中出现的具体数值均为举例说明,本技术实施例对此不做具体限定。
134.在前述实施例中,对本技术实施例提供的多级时序数据压缩方法进行了介绍,而为了实现上述本技术实施例提供的方法中的各功能,作为执行主体的电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
135.例如,图4为本技术实施例提供的多级时序数据压缩装置的结构示意图,如图4所示,该装置包括:判断模块410,数据恢复模块420和拼接压缩模块430;其中,判断模块410,用于接收待存储的时序数据并判断所述时序数据中是否存在压缩数据;
136.数据恢复模块420,用于当存在压缩数据时,将所述压缩数据基于预定义的算法进行数据恢复;
137.拼接压缩模块430,用于将恢复后的数据和除所述压缩数据外的时序数据按照时间顺序进行拼接,并对拼接后的数据进行压缩和存储。
138.可选的,所述拼接压缩模块430包括计算单元,均分单元和压缩单元;
139.具体的,所述计算单元,用于获取压缩比,并基于所述压缩比和拼接后的数据的个数计算得到目标输出数据对应的目标个数;
140.所述均分单元,用于将所述拼接后的数据按照所述目标个数进行均分,得到m个数据集;
141.所述压缩单元,用于针对每一个数据集,按照降采样方式从中选取特征时序数据,得到所述数据集对应的压缩数据。
142.可选的,所述压缩单元,具体用于:
143.判断该数据集是否存在左右相邻的数据集;
144.若是,则选取该数据集左右相邻的第一数据集和第二数据集,计算所述第一数据集中的第一均值和所述第二数据集中的第二均值,并计算该数据集中每一数据对应的点与所述第一均值和所述第二均值对应的点构成的三角形面积,选取构成所述三角形面积最大的点对应的时序数据;
145.若否,则基于时间顺序选取该数据集中的第一个时序数据或最后一个时序数据。
146.可选的,所述数据恢复模块420包括获取单元和恢复单元;
147.具体的,所述获取单元,用于获取第三均值和所述压缩数据对应的原始时序数据的个数;所述第三均值为所述原始时序数据的时间戳间隔的均值;
148.所述恢复单元,用于基于所述第三均值和所述原始时序数据的个数进行数据恢复。
149.可选的,所述恢复单元,具体用于:
150.计算任意两个连续的压缩数据对应的点构成的直线函数以及所述两个连续的压缩数据对应的时间戳的差值;
151.基于所述差值和所述第三均值计算得到所述两个连续的压缩数据之间需要插入的时序数据的个数;
152.利用所述两个连续的压缩数据、所述差值、所述个数和所述直线函数求得需要插入的时序数据对应的点,并获取所述点对应的时序数据。
153.可选的,判断模块410,具体用于:
154.判断所述时序数据对应的索引项中是否存在表示文件压缩大小的字段;
155.若是,则确定所述时序数据中存在压缩数据,并根据所述字段确定压缩数据;
156.若否,则确定所述时序数据中没有压缩数据。
157.本技术实施例提供的多级时序数据压缩装置的具体实现原理和效果可以参见上述实施例对应的相关描述和效果,此处不做过多赘述。
158.本技术实施例还提供一种电子设备的结构示意图,图5为本技术实施例提供的一种电子设备的结构示意图,如图5所示,该电子设备可以包括:存储器510和处理器520;该存储器510存储计算机程序;该处理器520执行该存储器510存储的计算机程序,使得该处理器520执行上述任一实施例所述的方法。
159.其中,存储器510和处理器520可以通过总线530连接。
160.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序执行指令,计算机执行指令被处理器执行时用于实现如本技术前述实施例中任一的多级时序数据压缩方法。
161.本技术实施例还提供一种运行指令的芯片,该芯片用于执行如本技术前述任一实施例中由电子设备所执行的多级时序数据压缩方法。
162.本技术实施例还提供一种计算机程序产品,该程序产品包括计算机程序,该计算机程序被处理器执行时可实现如本技术前述任一实施例中由电子设备所执行的多级时序数据压缩方法。
163.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其
它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
164.作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
165.另外,在本技术各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
166.上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的部分步骤。
167.应理解,上述处理器可以是中央处理单元(central processing unit,cpu),还可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
168.存储器可能包含高速随机存取存储器(random access memory,ram),也可能还包括非不稳定的存储器(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
169.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
170.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,sram),电可擦除可编程只读存储器(electrically erasable programmable read only memory,eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,eprom),可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
171.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
172.以上所述,仅为本技术实施例的具体实施方式,但本技术实施例的保护范围并不局限于此,任何在本技术实施例揭露的技术范围内的变化或替换,都应涵盖在本技术实施例的保护范围之内。因此,本技术实施例的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献