一种数据处理方法、装置、设备及介质与流程

文档序号:25992060发布日期:2021-07-23 21:04阅读:53来源:国知局
一种数据处理方法、装置、设备及介质与流程

本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备以及计算机可读存储介质。



背景技术:

随着信息时代的来临,海量数据也随之产生。为了充分利用上述海量数据,常常需要对数据进行传输以及存储。以物联网(theinternetofthings,iot)为例,越来越多的设备如电视、空调、音箱、路由器、摄像机等能够被独立寻址形成互联互通的网络,进而实现对设备的智能化识别、定位、跟踪、监控和管理。

为了实现智能化感知、识别、定位、跟踪、监控或管理,iot设备产生大量的时序数据。所谓时序数据是指按照时间进行统计的指标数据。该时序数据可以是资源使用率、心电图、股价等等。在实际应用中,iot设备每分钟产生的时序数据的数据量可以达到上亿条,如此导致数据传输和存储压力较大。

基于此,业界亟需提供一种数据处理方法,以缓解数据传输和存储压力。



技术实现要素:

本申请提供了一种数据处理方法,该方法通过对数据进行模型拟合,实现数据压缩,解决了数据传输和存储压力较大的问题。本申请还提供了对应的装置、设备、计算机可读存储介质以及计算机程序产品。

第一方面,本申请提供了一种数据处理方法。具体地,作为数据发送方的第一设备,可以获取多个数据,然后基于多个数据获得目标拟合模型,接着向第二设备发送上述目标拟合模型,代替直接发送多个数据,第二设备可以根据需求通过上述目标拟合模型恢复多个数据中的至少一个。如此,可以减少传输的数据量以及第二设备存储的数据量,从而缓解数据传输压力和数据存储压力。

在一些可能的实现方式中,第一设备可以通过如下方式获得目标拟合模型。具体地,第一设备可以根据多个数据对多个拟合模型进行模型拟合,以从多个拟合模型选择一个拟合模型来作为目标拟合模型。

其中,多个拟合模型可以是第一设备和第二设备预先协商的模型,第一设备可以将多个数据作为训练数据对多个拟合模型进行训练,直至满足训练结束条件。训练结束条件可以是参数迭代次数达到最大次数,或者是基于损失函数确定的损失值小于预设值。在结束训练后,第一设备根据各拟合模型的损失值确定目标拟合模型。

在具体实现时,第一设备可以将损失值最小的拟合模型作为目标拟合模型,也可以将损失值小于预设值的拟合模型作为目标拟合模型,或者是将损失值趋于收敛的拟合模型作为目标拟合模型。

在一些可能的实现方式中,多个拟合模型具体可以是线性模型、多项式模型和神经网络模型中的至少两个。考虑到模型的适用范围,多个拟合模型可以包括线性模型、多项式模型和神经网络模型,如此,通过对较多的模型进行拟合,可以提高拟合精度,有利于提高数据传输准确度。

在一些可能的实现方式中,第一设备在向第二设备发送目标拟合模型时,可以向第二设备发送该第一设备选择的拟合模型的标识以及对应的模型参数。具体地,第一设备和第二设备在协商模型时,可以预先约定模型标识modelid,如线性模型的modelid可以为1,多项式模型的modelid可以为2,神经网络模型的modelid可以为3。模型一般可以通过函数进行表征,模型参数即为函数表达式的参数。

以线性模型为例,其函数表达式为y=ax+b。其中,x为自变量,y为函数值,a和b即为该线性模型的参数。当目标拟合模型为线性模型时,第一设备可以发送拟合模型的标识“1”以及模型参数“a”、“b”至第二设备。

发送模型标识和参数可以进一步减少传输的数据量和存储的数据量,减少传输资源开销和存储资源开销,节省成本。

在一些可能的实现方式中,当第一设备获取的多个数据与其它数据存在关联时,第一设备还可以确定多个数据与其他数据的关联关系,该关联关系可以用关系函数表征。基于此,第一设备可以向第二设备发送与目标拟合模型关联的关系函数,如此,该关系函数可以用于基于目标拟合模型确定另一个目标拟合模型,通过该另一个目标拟合弄下可以恢复多个数据关联的其它数据中的至少一个数据。

通过发送上述关系函数代替直接发送多个数据关联的其它数据,进一步减少了传输的数据量和存储的数据量,提高了压缩性能,减轻了传输压力和存储压力。

在一些可能的实现方式中,第一设备还可以向所述第二设备发送差值。所述差值是所述第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值。所述差值可以用于结合所述目标拟合模型来恢复所述多个数据中的至少一个数据。其中,在目标拟合模型恢复数据基础上叠加上述差值,可以实现数据无损恢复,提高了传输数据的精确度。

在一些可能的实现方式中,上述多个数据可以是时间窗内的多个时序数据。其中,时间窗可以根据实际需求而设置,例如可以设置为一分钟。时序数据是指时间序列数据,即同一指标按时间顺序记录的数据列。在一个示例中,时间窗为一分钟,采集周期为一秒,则一个时间窗内可以采集60个数据。

第二方面,本申请提供了一种数据处理方法。具体地,作为数据接收方的第二设备,其接收来自第一设备的目标拟合模型,该目标拟合模型由第一设备基于获取的多个数据获得,第二设备根据目标拟合模型恢复多个数据中的至少一个数据。

相较于直接接收多个数据,接收目标拟合模型以及存储目标拟合模型大幅减轻了数据传输压力和数据存储压力。而且,第二设备可以选择恢复多个数据中的至少一个数据,如此,可以满足不同用户的个性化需求。

在一些可能的实现方式中,第二设备还可以接收与目标拟合模型关联的关系函数,基于该关系函数和目标拟合模型确定另一个目标拟合模型,如此,第二设备可以根据该另一个目标拟合模型恢复多个数据关联的其他数据中的至少一个数据。

相比于直接接收关联指标的多个数据,接收与目标拟合模型关联的关系函数,可以进一步减少传输的数据量和存储的数据量,从而减轻数据传输压力和数据存储压力。

在一些可能的实现方式中,第二设备可以根据需求选择对数据进行无损恢复或者有损恢复。其中,对于数据精度要求较高的数据,可以选择无损恢复,对于数据精度要求相对较低的数据,可以选择有损恢复,节省成本。

在具体实现时,第二设备根据目标拟合模型直接恢复数据,属于有损恢复。当第二设备还接收来自第一设备的差值,该差值是第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值,第二设备可以根据目标拟合模型和差值恢复多个数据中的至少一个。具体地,第二设备可以根据目标拟合模型先进行数据恢复,然后在此基础上叠加上述差值,得到原始数据,如此实现数据无损恢复。

第三方面,本申请提供了一种数据处理装置,该数据处理装置包括:

通信模块,用于获取多个数据;

拟合模块,用于基于所述多个数据获得目标拟合模型;

所述通信模块,还用于向第二设备发送所述目标拟合模型,所述目标拟合模型用于恢复所述多个数据中的至少一个数据。

在一些可能的实现方式中,所述拟合模块具体用于:

根据所述多个数据对多个拟合模型进行模型拟合,以从所述多个拟合模型选择一个拟合模型来作为所述目标拟合模型。

在一些可能的实现方式中,所述多个拟合模型包括线性模型、多项式模型和神经网络模型中的至少两个。

在一些可能的实现方式中,所述通信模块具体用于:

向所述第二设备发送所述拟合模块选择的拟合模型的标识以及对应的模型参数。

在一些可能的实现方式中,所述通信模块还用于:

向所述第二设备发送与所述目标拟合模型关联的关系函数,所述关系函数用于基于所述目标拟合模型确定另一个目标拟合模型,所述另一个目标拟合模型用于恢复所述多个数据关联的其它数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块还用于:

向所述第二设备发送差值,所述差值用于结合所述目标拟合模型来恢复所述多个数据中的至少一个数据,所述差值是第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值。

在一些可能的实现方式中,所述多个数据包括时间窗内的多个时序数据。

第四方面,本申请提供了一种数据处理装置,所述装置包括:

通信模块,用于接收来自第一设备的目标拟合模型,所述目标拟合模型由所述第一设备基于获取的多个数据获得;

恢复模块,用于根据所述目标拟合模型恢复所述多个数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块还用于:

接收与所述目标拟合模型关联的关系函数;

所述装置还包括:

确定模块,用于根据所述关系函数和所述目标拟合模型确定另一个目标拟合模型;

所述恢复模块还用于:

根据所述另一个目标拟合模型恢复所述多个数据关联的其它数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块还用于:

通信模块,用于接收来自第一设备的差值,所述差值是所述第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值;

所述恢复模块具体用于:

根据所述目标拟合模型和所述差值恢复所述多个数据中的至少一个数据。

第五方面,本申请提供了一种设备,所述设备包括处理器和存储器;

所述处理器用于执行所述存储器中存储的指令,以使得所述处理器执行如第一方面或第二方面所述的数据处理方法。

第六方面,本申请提供了一种计算机可读存储介质,包括指令,当其在设备上运行时,使得设备执行如第一方面或第二方面所述的数据处理方法。

第七方面,本申请提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第一方面或第二方面所述的数据处理方法。

本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。

附图说明

为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。

图1为本申请实施例提供的一种数据处理方法的系统架构示意图;

图2为本申请实施例提供的一种数据处理方法的交互流程图;

图3为本申请实施例提供的一种数据处理方法的示意图;

图4为本申请实施例提供的一种数据处理方法的示意图;

图5为本申请实施例提供的一种数据处理方法的示意图;

图6为本申请实施例提供的一种数据处理装置的结构示意图;

图7为本申请实施例提供的一种数据处理装置的结构示意图;

图8为本申请实施例提供的一种设备的结构示意图;

图9为本申请实施例提供的一种设备的结构示意图。

具体实施方式

下面结合附图,对本申请的实施例进行描述。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。

图1示出了本申请实施例的一种可能的应用场景。在该应用场景中,设备102和设备104为网络节点设备。其中,设备102可以为发送数据的网络节点设备,设备104为接收所述数据的网络节点设备。其中,设备102发送的数据可以是设备102自身产生的数据,也可以是设备102从其他设备获取的数据。在一些实现方式中,设备102也可以作为接收数据的设备,设备104也可以作为发送数据的设备。本申请仅以由设备102向设备104发送数据进行示例说明,并不构成对本申请技术方案的限定。

如图1所示,设备102可以是智能手机、智能手环、平板电脑等移动终端设备,该设备可以通过位置传感器、心跳传感器等对位置、心跳中的任意一个或多个指标等进行监控产生监控数据。在一些实施例中,设备102还可以是部署有云上应用的设备,该设备可以对应用的吞吐量、时延等任意一个或多个指标进行监控产生监控数据。当然设备102也可以是物联网(theinternetofthings,iot)的端侧设备,如智能冰箱、智能灯泡等等,该设备可以对温度、亮度等任意一个或多个指标进行监控产生监控数据。

对应地,设备104可以是数据的中转设备。例如在云服务场景中,设备104可以是云的边缘设备,如网关设备(gateway,gw)、交换机设备等等。在一些实施例中,设备104还可以是数据的消费设备,例如服务器等等。

设备102如果直接向设备104发送采集的数据,在数据较大时,一方面需要较大的带宽资源,另一方面需要设备104具有足够的存储空间,对于网络传输和存储均提出了较高的要求。基于此,本申请提供了一种数据处理方法,该方法支持作为数据发送方的设备102先获取多个数据,然后基于多个数据获得目标拟合模型,通过发送目标拟合模型代替直接发送多个数据,如此,可以减少发送数据量,降低对网络传输的要求,降低传输压力。并且接收方可以存储目标拟合模型,并在需要使用数据时,再基于目标拟合模型恢复所述多个数据中的至少一个数据,如此也降低了对数据存储的要求,降低了存储压力,提升存储性能。

为了使得本申请的技术方案更加清楚、易于理解,下面将从设备102和设备104交互的角度对本申请实施例提供的数据处理方法进行详细介绍。

参见图2所示的数据处理方法的交互流程图,该方法包括:

s202:设备102获取多个数据。

在具体实现时,设备102可以产生多个数据,或者从其他设备获取多个数据。其中,设备102获取的多个数据(如设备102自行产生的数据、设备102从其他设备获取的数据)可以是时序数据,即指标在一个时间段内的数据。当然,设备102获取的多个数据也可以是非时序数据,如与位置相关的数据。

为了便于理解,下面结合具体示例进行说明。

在一个示例中,设备102获取的多个数据可以是设备对虚机的中央处理器(centralprocessunit,cpu)使用率、内存(memory)使用率等指标中的一个或多个进行监控,获得的虚机在一个时间段内的cpu使用率和/或虚机在一个时间段内的内存使用率。当然,设备102获取的多个数据也可以是设备对应用的吞吐量、时延等指标中的一个或多个进行监控,获得的应用在一个时间段内的吞吐量和/或时延。

需要说明,本申请实施例所述一个时间段内的cpu使用率、内存使用率、吞吐量、时延具体是指一个时间段内不同时间点对应的cpu使用率、内存使用率、吞吐量、时延。基于此,进行数据交互的设备102和设备104可以预先协商数据的采集规则。例如数据为时序数据时,设备102和设备104可以预先协商数据的采集周期,即采集时间间隔。当然,设备102也可以在发送数据时,向设备104发送采集规则,如发送数据的采集周期。

在另一个示例中,设备102获取的多个数据也可以是对不同位置的降雨量等指标进行监控所产生的数据。该数据属于非时序数据,其可以随着不同地理位置变化而变化。与时序数据类似,设备102和设备104可以预先协商数据的采集位置间隔。例如,采集位置间隔可以通过经纬度进行衡量,如1个经度或一个维度。在一些可能的实现方式中,采集位置间隔也可以通过长度、高度进行衡量,如为5公里(kilometer,km)等等。

设备102获取多个数据时,由于在传输数据时往往还需要传输描述该数据的元数据metadata。元数据具体是描述数据的数据,其可以是数据的至少一种属性。例如,对于cpu使用率这一种数据而言,其元数据可以包括指标名称、所属项目的项目标识、服务名称等等。而同一指标对应的多个数据的元数据往往是一致的,因此,与直接传输数据及其元数据相比,获取多个数据可以实现对元数据的聚合,仅需传输一份元数据即可。如此,可以实现数据压缩。

设备102获取多个数据以后可以对多个数据进行进一步处理,如进行压缩处理,如此可以减少传输开销和存储开销。在具体实现时,设备102可以根据预先配置的获取数量n获取多个数据,也即设备102可以一次获取n个数据。当设备102获取的数据为时序数据时,设备102可以获取时间窗δt内的多个时序数据。其中,获取数量n或者时间窗δt可以根据经验值进行设置,本申请实施例对此不作限定。

本申请实施例中的数据可以是数值。在一些情况下,数据也可以是字符,例如表征等级的字符a、b、c、d等等。

s204:设备102基于所述多个数据获得目标拟合模型。

在具体实现时,设备102可以对多个数据进行模型拟合,并将满足预设条件的拟合模型确定为目标拟合模型。在一些实现方式中,为了减少模型拟合的计算量,提高模型拟合效率,设备102和设备104可以预先协商多个拟合模型,如此,设备102可以根据多个数据对这多个拟合模型进行模型拟合,以从多个拟合模型中选择一个拟合模型作为目标拟合模型。

其中,设备102和设备104协商的多个拟合模型可以是易于拟合的模型。在一些实现方式中,多个拟合模型可以是线性模型、多项式模型和神经网络模型中的至少两个。其中,神经网络模型可以是三层神经网络模型,如此,可以降低模型复杂度,使得模型更加容易拟合。

设备102在根据多个数据对多个拟合模型进行模拟拟合时,可以根据多个数据以及模型拟合所得数据计算各拟合模型的损失值,然后根据该损失值从多个拟合模型中选择一个拟合模型作为目标拟合模型。

具体地,设备102可以将多个数据标记为训练数据,然后基于训练数据,结合损失函数训练拟合模型,优化拟合模型参数,直至满足训练结束条件。该训练结束条件可以是参数迭代次数达到最大次数,或者是基于损失函数确定的损失值小于预设值。在结束训练后,设备102根据各拟合模型的损失值确定目标拟合模型。

在一些可能的实现方式中,设备102可以将损失值最小的拟合模型作为目标拟合模型,也可以将损失值小于预设值的拟合模型作为目标拟合模型,或者是将损失值趋于收敛的拟合模型作为目标拟合模型。

s206:设备102确定其获取的多个数据与其基于目标拟合模型恢复的多个数据的差值。

具体地,设备102获取的多个数据与其基于目标拟合模型恢复的多个数据是一一对应的。例如,设备102获取n个数据,则可以基于目标拟合模型恢复n个数据。设备102可以针对获取的多个数据中的每个数据,分别与其对应的目标拟合模型恢复的数据作差,从而获得多个差值,该差值用于实现数据无损恢复,即根据目标拟合模型和差值实现精准地恢复第一设备获取的多个数据。

应理解,在执行本申请实施例提供的数据处理方法时,设备102也可以不执行上述s206。例如,在数据有损压缩即能满足需求的场景中,设备102可以不执行上述s206。

s208:设备102向设备104发送所述目标拟合模型。

在具体实现时,设备102和设备104可以约定协商的多个拟合模型的模型标识。如此,设备102在从多个拟合模型中选择一个拟合模型作为目标拟合模型时,可以向设备104发送其选择的拟合模型的标识以及对应的模型参数,从而实现向设备104发送目标拟合模型。基于此,可以进一步减少传输开销。

为了便于理解,本申请还提供了一具体示例进行说明。

在该示例中,线性模型的标识model_id可以为1,多项式模型的标识model_id可以为2,神经网络模型的标识model_id可以为3。其中,线性模型可以表示为:

y=ax+b(1)

其中,a和b为线性模型的参数,分别标识斜率和截距。x可以为时间或经纬度(表示地区),y可以为设备104恢复的数据。

当设备102选择线性模型作为目标拟合模型时,设备102可以发送包括如下数据在内的数列或数组,如{1,a,b}或[1,a,b],以向设备104发送目标拟合模型。

假设时间窗中包括60个数据,与发送60个数据相比,在本申请实施例中,设备102仅需发送一个很短的数列或数组,如针对线性模型,仅需发送模型的标识和模型的参数,共计三个参数,相当于压缩了95%的数据,大幅减少了传输数据量和存储数据量。

需要说明,s206和s208的执行顺序可以是任意的,例如可以并行执行,也可以按照设定的顺序先后执行。

s210:设备102向设备104发送所述设备102获取的多个数据与其基于目标拟合模型恢复的多个数据的差值。

设备102在发送所述差值和所述目标拟合模型时,可以采用一条消息发送,也可以采用多条消息分别发送。

设备102可以并行执行上述s208和s210,也可以按照设定的顺序先后执行。

应理解,与s206类似,在执行本申请实施例提供的数据处理方法时,设备102也可以不执行上述s210。例如,在数据有损压缩即能满足需求的场景中,设备102可以不执行上述s210。

s212:设备104根据所述目标拟合模型和所述差值恢复多个数据。

为了方便理解,可以将设备102获取的数据记作y0,设备102基于目标拟合模型恢复的数据记作y1,设备102获取的数据与设备102基于目标拟合模型恢复的数据y1的差值记作δy。

设备104接收到目标拟合模型和差值δy时,可以先根据目标拟合模型恢复y1。例如针对时序数据,设备104可以将时间代入目标拟合模型的表达式,以恢复y1。需要说明,针对有序的时序数据,例如周期性的时序数据,设备104可以根据直接基于约定的采集周期将对应时间代入目标拟合模型的表达式,以恢复y1。针对非有序的时序数据,设备102还可以向设备104发送时间,如“1,2,4,5”,如此,设备104可以将设备102发送的时间代入目标拟合模型的表达式恢复y1。

进一步地,在恢复y1后,设备104可以将y1与对应的差值δy叠加,从而恢复y0,实现数据无损恢复。

应理解,与s206、210类似,在执行本申请实施例提供的数据处理方法时,在数据有损压缩即能满足需求的场景中,设备104可以不执行将y1与对应的差值δy叠加以恢复y0的步骤。也即设备104可以根据目标拟合模型恢复多个数据。

基于上述内容描述,本申请实施例提供了一种数据处理方法,该方法支持作为数据发送方的设备102先获取多个数据,然后基于多个数据获得目标拟合模型,通过发送目标拟合模型代替直接发送多个数据,如此,可以减少发送数据量,降低对网络传输的要求,降低传输压力。并且作为接收方的设备104可以存储目标拟合模型,并在需要使用数据时,再基于目标拟合模型恢复多个数据,如此也降低了对数据存储的要求,降低了存储压力,提升存储性能。

进一步地,本申请提供的数据处理方法还支持有损和无损压缩两种方式以供用户选择。针对有损压缩方式,设备102发送目标拟合模型,设备104即根据该目标拟合模型恢复设备102获取的数据。针对无损压缩方式,设备102还发送设备102获取的数据与其基于目标拟合模型恢复数据的差值,设备104根据目标拟合模型和上述差值精确恢复设备102获取的数据。并且,由于设备102发送的差值一般是很小的数值,在编码上也会比大的数值占用的位数少,因此也可以得到压缩的效果,降低传输和存储压力。

为了便于理解,本申请实施例还提供了数据处理方法的一个示意图。如图3所示,设备102可以获取时间窗内多个数据,然后根据获取的多个数据进行模型拟合,得到目标拟合模型。需要说明,图3是以数据为时序数据,目标拟合模型为正弦模型进行示例说明,在其他可能的实现方式中,也可以是其他类型数据以及其他类型模型,本实施例对此不作限定。

接着,设备102可以向设备104发送目标拟合模型以及获取的数据与目标拟合模型恢复数据的差值。在该示例中,差值具体为[0.01,0.12,0.03,…,0.06]。设备104可以根据目标拟合模型进行数据有损恢复。在对数据精确度要求较高时,设备104还可以在数据有损恢复结果的基础上叠加上述差值,从而实现数据无损恢复。

图3是以每个时刻采集一个数据,即每个时间戳对应一个数值进行示例说明的。然而,在许多场景下,一个时刻可以采集多个指标的数值。例如,设备102每分钟采集一次环境信息,该环境信息可以包括温度和湿度两个指标。

设备102采集的多个指标可以是相互独立的,也可以是具有关联关系的。针对具有关联关系的指标,还可以通过关联性对数据进行进一步压缩,以进一步减少传输开销和存储开销。

具体地,针对具有关联关系的多个指标,设备102可以仅针对一个指标对应的多个数据进行模型拟合。为了方便描述,可以将进行模型拟合的指标称为基础指标。设备102可以根据多个指标的数据确定多个指标中其他指标与上述基础指标的关联关系。其中,关联关联可以通过关系函数进行表征。例如,关联关系为线性时,可以通过线性函数进行表征。

基于此,设备102的其他指标向设备104发送目标拟合模型关联的关系函数,设备104可以根据关系函数和所述目标拟合模型确定另一个目标拟合模型。具体是设备104将目标拟合模型的表达式代入上述关系函数,从而得到另一个目标拟合模型的表达式。然后设备104可以根据另一个目标拟合模型恢复多个数据关联的其他多个数据,即与基础指标关联的其他指标对应的多个数据。其中,设备104根据另一个目标拟合模型恢复关联的其他多个数据的具体实现与根据一个目标模型恢复多个数据类似,具体可以参见上文相关内容描述,在此不再赘述。

为了便于理解,本申请还提供了一具体示例对恢复关联的多个数据的过程进行说明。

如图4所示,对于包括多指标的数据,设备102可以根据各指标对应的多个数据确定指标之间的关联关系。在该示例中,8个指标在时间窗内的多个数据可以分为两组,组内指标具有关联关系,组间指标不具有关联关系。

对于不具有关联关系的指标,可以按照如图2所示实施例提供的数据处理方法进行压缩。在该示例中,设备102可以针对每组指标中的一个指标对应的多个数据进行模型拟合,得到对应的目标拟合模型。然后设备102向设备104发送目标拟合模型以及表征关联关系的关系函数。如图4所示,设备102发送两个目标拟合模型,以及与每个目标拟合模型关联的3个关系函数。设备104可以根据目标拟合模型恢复对应指标的多个数据。此外,设备104可以根据目标拟合模型以及关系函数确定具有关联关系的指标对应的目标拟合模型,并基于具有关联关系的指标对应的目标拟合模型恢复关联的多个数据。

下面以cpu使用率和memory使用率这两个指标的数据处理为例对本申请的数据处理方法进行介绍。

如图5所示,设备102按照采集周期为1秒采集cpu使用率和memory使用率,该示例中,设备102需要采集10分钟以内的数据,并向设备104发送这10分钟以内的数据。在传统方法中,设备102每采集一个数据,即将其数据(data)以及对应的元数据(metadata)发送至设备104。

参见图5,设备102发送的元数据包括cpu所属项目的项目标识project_id,集群标识cluster_id,服务名称service_name、服务实例名称service_instance_name以及指标名称metric_name。由于设备102发送的数据为时序数据,因此,在发送数据时需要发送时间戳timestamp和数据值value。基于此,一个指标在一个时间点的数据可以是上述元数据和数据组成的数据块。设备102发送1个指标在10分钟内的数据即发送600个数据块。

其中,一个指标在不同时刻对应的元数据往往是一致的,通过获取多个数据(如缓存多个数据)可以对多个数据的元数据进行聚合,因此,设备102仅需要发送一个数据块,在该数据块中数据部分可以包括起始时间戳timestamp_from和结束时间戳timestamp_to。此外,数据值也由单个数值变更为多个时刻对应的数值组成的数组。由于无需重复发送重复的元数据,设备104也无需存储重复的元数据,因而降低了传输压力和存储压力。

进一步地,设备102可以基于获取的多个数据进行模型拟合,具体是基于聚合得到的数组作为训练数据,对预先设定的几种拟合模型,如线性模型、多项式模型以及神经网络模型分别进行拟合,计算各拟合模型的损失值,确定目标拟合模型。设备102在value字段记录模型标识以及模型参数即可,如此,value字段可以由包括60个数据的数组减少为包括3个数据的数组,进一步减少了数据量,降低了传输压力和存储压力。设备104接收上述数据并进行存储。对应地,当设备104对cpu使用率的一些数据有需求时,设备104可以读取value字段的模型标识和模型参数,恢复目标拟合模型,然后基于目标拟合模型恢复多个cpu使用率数据中的至少一个数据。

当memory使用率和cpu使用率存在关联关系时,还可以对待发送的数据进行进一步压缩。具体是,针对关联指标memory使用率,设备102发送简化后的元数据以及简化后的数据组成的一个数据块即可。如图5所示,简化后的元数据包括指标名称metric_name,在该示例中为memory,该数据的其他元数据可以参见关联的指标,也称作参考指标。简化后的数据包括参考指标(reference,ref)字段和value字段,其中参考指标字段的字段值为cpu,value字段用于标识该指标与参考指标的关系函数,其中,value字段包括函数标识以及函数参数在内的几个数值组成。如此,大幅减少了关联指标需要传输的数据量,降低了传输压力和存储压力。对应地,当设备104对memory使用率的一些数据有需求时,设备104可以读取value字段的函数标识和函数参数,由此恢复memory使用率与cpu使用率的关系函数,基于该关系函数以及cpu使用率的目标拟合模型恢复memory使用率的目标拟合模型,然后基于目标拟合模型恢复多个memory使用率数据中的至少一个。

以上结合图1至图5对本申请实施例提供的数据处理方法进行了介绍,下面结合附图对本申请实施例提供的数据处理装置、设备进行介绍。

参见图6所示的数据处理装置的结构示意图,该数据处理装置300包括:

通信模块302,用于获取多个数据;

拟合模块304,用于基于所述多个数据获得目标拟合模型;

所述通信模块302,还用于向第二设备102发送所述目标拟合模型,所述目标拟合模型用于恢复所述多个数据中的至少一个数据。

在一些可能的实现方式中,所述拟合模块304具体用于:

根据所述多个数据对多个拟合模型进行模型拟合,以从所述多个拟合模型选择一个拟合模型来作为所述目标拟合模型。

在一些可能的实现方式中,所述多个拟合模型包括线性模型、多项式模型和神经网络模型中的至少两个。

在一些可能的实现方式中,所述通信模块302具体用于:

向所述第二设备发送所述拟合模块304选择的拟合模型的标识以及对应的模型参数。

在一些可能的实现方式中,所述通信模块302还用于:

向所述第二设备发送与所述目标拟合模型关联的关系函数,所述关系函数用于基于所述目标拟合模型确定另一个目标拟合模型,所述另一个目标拟合模型用于恢复所述多个数据关联的其它数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块还用于:

向所述第二设备发送差值,所述差值用于结合所述目标拟合模型来恢复所述多个数据中的至少一个数据,所述差值是第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值。

根据本申请实施例的数据处理装置300可对应于执行本申请实施例中描述的方法,并且数据处理装置300中的各个模块的上述和其它操作和/或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述。

接下来,参见图7所示的数据处理装置的结构示意图,该数据处理装置400包括:

通信模块402,用于接收来自第一设备的目标拟合模型,所述目标拟合模型由所述第一设备基于获取的多个数据获得;

恢复模块404,用于根据所述目标拟合模型恢复所述多个数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块402还用于:

接收与所述目标拟合模型关联的关系函数;

所述装置400还包括:

确定模块,用于根据所述关系函数和所述目标拟合模型确定另一个目标拟合模型;

所述恢复模块404还用于:

根据所述另一个目标拟合模型恢复所述多个数据关联的其它数据中的至少一个数据。

在一些可能的实现方式中,所述通信模块还用于:

通信模块402,用于接收来自第一设备的差值,所述差值是所述第一设备获取的所述多个数据与所述第一设备基于所述目标拟合模型恢复的多个数据的差值;

所述恢复模块404具体用于:

根据所述目标拟合模型和所述差值恢复所述多个数据中的至少一个数据。

根据本申请实施例的数据处理装置400可对应于执行本申请实施例中描述的方法,并且数据处理装置400中的各个模块的上述和其它操作和/或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述。

图8至图9还提供了一种设备。图8所示的设备500具体可以用于实现上述图6所示实施例中数据处理装置300的功能,图9所示的设备600具体可以用于实现上述图7所示实施例中数据处理装置400的功能。

设备500包括总线501、处理器502、通信接口503和存储器504。处理器502、存储器504和通信接口503之间通过总线501通信。总线501可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口503用于与外部通信,例如获取多个数据,向第二设备发送目标拟合模型等等。

其中,处理器502可以为中央处理器(centralprocessingunit,cpu)。存储器504可以包括易失性存储器(volatilememory),例如随机存取存储器(randomaccessmemory,ram)。存储器504还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器,hdd或ssd。

存储器504中存储有可执行代码,处理器502执行该可执行代码以执行前述数据处理方法。

具体地,在实现图6所示实施例的情况下,且图6实施例中所描述的各模块为通过软件实现的情况下,执行图6中的拟合模块304功能所需的软件或程序代码存储在存储器504中。通信模块302功能通过通信接口503实现。处理器502用于执行存储器504中的指令,执行应用于数据处理装置300的数据处理方法。

设备600包括总线601、处理器602、通信接口603和存储器604。处理器602、存储器604和通信接口603之间通过总线601通信。设备600在实现图7所示实施例的情况下,且图7实施例中所描述的各模块为通过软件实现的情况下,执行7中的恢复模块404功能所需的软件或程序代码存储在存储器604中。通信模块402功能通过通信接口603实现。处理器602用于执行存储器604中的指令,执行应用于数据处理装置400的数据处理方法。

本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在设备上运行时,使得设备执行上述应用于数据处理装置300或数据处理装置400的数据处理方法。

本申请实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机执行时,所述计算机执行前述数据处理方法的任一方法。该计算机程序产品可以为一个软件安装包,在需要使用前述数据处理方法的任一方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。

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