CN114095032B - 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质 - Google Patents

基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质 Download PDF

Info

Publication number
CN114095032B
CN114095032B CN202111340818.4A CN202111340818A CN114095032B CN 114095032 B CN114095032 B CN 114095032B CN 202111340818 A CN202111340818 A CN 202111340818A CN 114095032 B CN114095032 B CN 114095032B
Authority
CN
China
Prior art keywords
data
window
flink
rvr
data stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111340818.4A
Other languages
English (en)
Other versions
CN114095032A (zh
Inventor
施建明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Technology and Engineering Center for Space Utilization of CAS
Original Assignee
Technology and Engineering Center for Space Utilization of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Technology and Engineering Center for Space Utilization of CAS filed Critical Technology and Engineering Center for Space Utilization of CAS
Priority to CN202111340818.4A priority Critical patent/CN114095032B/zh
Publication of CN114095032A publication Critical patent/CN114095032A/zh
Application granted granted Critical
Publication of CN114095032B publication Critical patent/CN114095032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

本发明涉及工业大数据和人工智能技术领域,公开了一种基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质,方法包括:从至少一个数据源并行读取数据流,形成输入数据流;将不同数据源的数据流分配在不同的Flink分区窗口中,基于Flink滚动窗口算子形成独立的随窗口推进而不断更新的数据块;每个窗口结束时,触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流;基于Flink数据汇算子将各数据源稀疏化的数据流并行地写入外部系统。本发明在Flink分布式流式计算框架上,嵌入关联向量回归RVR算法,可实现多数据源数据实时并行压缩,提高数据处理的自动化和智能化水平。

Description

基于Flink和RVR的数据流压缩方法、边缘计算系统及存储 介质
技术领域
本发明涉及工业大数据和人工智能技术领域,尤其涉及一种基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质。
背景技术
在航天、航空、核电、能源、化工、船舶、轨道交通等工业领域,随着工业设备自动化水平的提高,越来越多的传感器被集成到工业系统中,工业监测数据呈现爆炸增长的态势。各种传感器生成了多通道的数据流,数据在设备端源源不断地产生,给工业现场和数据中心带来了巨大的压力。对于某个传感器而言,例如压力传感器,从时间推移角度来看,数据序列实际上是存在信息冗余的。数据经过实时处理利用后,依然保存全量的低价值密度数据将带来存储资源的浪费。
现有的数据压缩方式一般是:数据先积累到一定量,形成离线数据文件;通过抽样或者分段求平均的方式,减少数据在时序维度的密度,形成新的数据文件;对新的数据文件再进行格式压缩并存储。
上述数据压缩方式存在以下缺陷:无法对数据流进行实时压缩,现场还需要存储大量的原始数据,也无法向数据中心实时推送稀疏化的数据流;无法做到数据流压缩的即席自动化处理,需要定期的对数据进行大量的压缩操作;基于抽样或分段求平均的压缩方式,忽略了传感数据时序特征,容易丢失重要的数据点。
发明内容
本发明所要解决的技术问题是针对现有技术存在的问题,提供一种基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质。
为解决上述技术问题,本发明实施例提供一种基于Flink和RVR的数据流压缩方法,包括:从至少一个数据源并行读取数据流,形成输入数据流;将不同数据源的数据流分配在不同的Flink分区窗口中,基于Flink滚动窗口算子形成独立的随窗口推进而不断更新的数据块;每个窗口结束时,触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流;基于Flink数据汇算子将各数据源稀疏化的数据流并行地写入外部系统。
为解决上述技术问题,本发明实施例还提供一种边缘计算系统,包括由多个虚拟机节点组成的分布式流处理系统,虚拟机上安装centos操作系统,各节点安装Zookeeper、Hadoop、Kafka和Flink开源框架,配置Java环境,还包括数据库;所述Zookeeper用于对分布式流处理系统进行集群管理;所述Hadoop用于为Flink提供计算资源管理,使Flink程序运行在Hadoop上,还用于为Flink提供计算状态后端存储;所述Kafka用于作为数据流压缩处理管道的输入和输出;所述Flink用于通过分布式流处理引擎执行上述技术方案所述的基于Flink和RVR的数据流压缩方法;所述数据库用于存储稀疏化的数据流和超时数据流。
为解决上述技术问题,本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述技术方案所述的基于Flink和RVR的数据流压缩方法。
本发明的有益效果是:在Flink分布式流式计算框架上,嵌入关联向量回归RVR算法,实现多数据源数据实时并行压缩;数据获取现场无需存储大量的原始数据,可向数据中心实时推送稀疏化的数据流;可实现数据流压缩的即席自动化处理,且不易丢失重要的数据点,能保存时序数据变化趋势特征。搭建相应的边缘计算系统,实现从多通道传感器数据源到数据中心的高价值密度数据流的准确、快速、稳定转化,并实现监测数据在现场的实时压缩存储,提高数据处理的自动化和智能化水平。
本发明附加的方面及其优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明一实施例提供的基于Flink和RVR的数据流压缩方法流程图;
图2为本发明另一实施例提供的基于Flink和RVR的数据流压缩方法流程图;
图3为本发明实施例提供的自定义窗口函数流程图;
图4为本发明实施例提供的数据流压缩管道示意图;
图5为本发明实施例提供的物理Dataflow视图;
图6为本发明实施例提供的边缘计算系统示意图;
图7为本发明实施例提供的各通道传感器数据曲线及压缩后的数据点图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
图1为本发明一实施例提供的基于Flink和RVR的数据流压缩方法流程图。如图1所示,该方法包括:
S110,从至少一个数据源并行读取数据流,形成输入数据流;
S120,将不同数据源的数据流分配在不同的Flink分区窗口中,基于Flink滚动窗口算子形成独立的随窗口推进而不断更新的数据块;
S130,每个窗口结束时,触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流;
S140,基于Flink数据汇算子将各数据源稀疏化的数据流并行地写入外部系统。
在工业设备监测领域,不同传感器产生的特征变量时序数据在序列上具有不同的特点,同一个特征变量在不同阶段变化也不一样。采用隔点抽样或者分段求平均的方法,容易丢失时序意义上的重要信息。采用RVR算法能将时序数据进行稀疏化处理,减少冗余的同时最大限度地保存了数据时序特征。将RVR算法嵌入到Flink流式计算框架中,用大数据编程语言scala重写RVR算法,设计Flink数据处理流程,实现多个传感器数据流的并行压缩处理。
图2为本发明另一实施例提供的基于Flink和RVR的数据流压缩方法流程图。如图2所示,该方法包括:
S210,从至少一个数据源并行读取数据流,形成输入数据流;
S220,进行事件时间戳和水位线分配,并设置允许延迟时间和最大超时时间;
S230,基于Flink的滚动窗口算子,将数据流中的数据元素放入指定宽度的窗口,当事件时间戳超过水位线时触发延迟计时,当延迟计时到达所述允许延迟时间时则关闭窗口,形成数据块;
S240,每个窗口结束时,触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流;
S250,通过侧输出流捕获超过所述允许延迟时间且不超过所述最大超时时间到达的数据流,并与稀疏化的数据流基于Flink数据汇算子写入外部系统。
如图3所示,自定义窗口函数流程如下:
S310,判断是否超时,如果超时执行S320;否则执行S330;
S320,将超时数据以侧输出流的方式直接输出;
S330,数据元素进入指定窗口,窗口内元素个数为N;
S340,将窗口内的所有数据元素按照事件时间戳从小到大排列,并构建N*1的Double类型的稠密矩阵t;
S350,构建从1到N的Int类型的N*1的稠密矩阵X;其中,N为窗口内数据元素的个数;
S360,基于RVR算法建立稠密矩阵X与稠密矩阵t之间的关联向量机模型,生成关联向量t(used);其中,used为压缩后所保留数据元素在该窗口的时序数据中的索引;
used顾名思义,就是压缩后有用的点,used是一个索引值序列,比如压缩前的时序数据的索引是(1,2,3,4,5,6,7,8,9,10),稀疏化的时序数据在原时序数据中的索引是(2,5,8)。
S370,基于关联向量t(used)及对应输入数据流元素中的其他字段,构建输出数据流元素;
S380,采用采集器collector将稀疏化后的数据以流的形式输出。
为了便于用户开展不同场景下的数据流压缩业务,提出通过配置文件设置与解析的方式,使得数据流压缩程序能灵活应对各种场景。相关的配置参数分为两大类,即流处理程序配置参数以及RVR算法配置参数,详见表1。
表1
Figure GDA0003653719370000061
1)流处理程序配置参数
a.水位线参数:水位线参数设置允许延迟时间,根据实际数据传输延迟情况来设置,例如设置2s的延迟,表示压缩处理窗口操作可以等待迟到不超过2s的数据。
b.窗口长度参数:窗口长度参数设置需要考虑RVR处理能力以及数据流的密度,合理设置窗口长度,使得窗口内元素的个数满足RVR建模的需要。
2)RVR算法配置参数
a.核函数类型:为RVR核函数类型参数,一般设置为“gauss”核函数,即高斯核函数,此外还有多项式核函数和r核函数等。
b.核函数宽度:与核函数类型一起构建设计矩阵的参数。
c.是否使用偏差:RVR建模时,确定是否有偏差项,分为“true”或者“false”,一般采用“true”设置。
d.最大迭代次数:在RVR学习时,最大的迭代次数,例如2200次。
用户在使用数据流压缩程序前,先在配置文件中将表1所列的参数设置好,程序在运行时,首先调用参数解析函数,将相关参数读入到程序中,相关代码块则使用相应的参数变量来进行数据流处理。
针对多通道传感器数据流,设计数据流压缩管道,实现基于Flink程序的数据源到压缩数据流的转换,考虑到不同传感器的数据变化特点不同,设计可配置参数的数据流压缩管道,方便用户高效处理数据。为了拓展程序的适用性,将相关的参数抽取出来,基于配置文件的方式,实现不同用户、不同场景下可灵活、高效配置的数据流压缩业务。
数据流压缩管道如图4所示,原始数据流属于无界数据流,数据压缩管道摄入数据流后,经过数据分块和数据块压缩等操作后,形成压缩后的数据流输出,整个压缩处理类似于一个管道,数据流经管道后就自动地完成基于稀疏表达的压缩操作。针对多个通道传感器数据流,形成了一个个独立的管道,并行地执行数据流处理任务。
数据流压缩Flink程序具体实现所设计的管道,首先设计物理Dataflow图,如图5所示。
图中假设有4个通道的传感器,该物理视图反映了数据流处理的重要执行细节:1)数据源读取操作,将4个传感器数据并行地读入到处理系统中,形成输入数据流;2)经过窗口分配后,基于传感器编号进行数据分区,不同传感器的数据分配在不同的子窗口中,形成独立的随窗口推进而不断更新的数据块;3)在每个窗口结束时,触发自定义的窗口函数,调用RVR数据压缩算法,并输出各传感器的压缩后的数据流;5)基于Flink数据汇算子,将各传感器的数据流并行地写入外部系统。
下面以4通道监测数据流压缩处理为例,详述数据流压缩程序设计:
1)数据源source算子
source算子是Flink程序读取kafka数据源任务,对4通道传感器数据,source任务并行度设置为4,能同时读取4个传感器数据。这里用kafka来实时采集并发布监测数据,读取kafka数据源后生成了带有传感器编号以及事件时间戳信息的输入数据流。
2)时间特性配置和水位线生成
在完成数据源读取操作后,立即调用“assignTimestampsAndWatermarks”函数对输入数据流进行时间戳和水位线分配,便于后续数据流压缩窗口操作。时间语义设置为事件时间,自定义窗口操作函数即可从上下文信息中获取数据流事件时间。应用Flink水位线机制,设置允许延迟时间,使得窗口可以等待迟到一定时间的数据。
3)窗口分配及自定义窗口函数
调用Flink DataStream API的TumblingEventTimeWindow分配器,基于输入数据流的时间戳信息以及传感器编号,生成随时间推移的彼此无重叠的且分区的WindowedStream。在窗口上应用自定义的窗口函数,该函数继承于ProcessWindowFunction,处理流程具体步骤如下:
a.基于数据元素事件时间戳、当前水位线和容许的迟到时间来识别超时数据,如果超时,通过侧输出流输出,其他数据进入后续流程;
b.对窗口内的所有数据元素,按照事件时间戳的先后顺序,进行重新排序,将乱序数据按照传感器数据实际发生的先后顺序进行排列,形成一定的长度的时序数据;
c.时序数据的输入变量为X=(1,2,3,...,N),输出变量为对应的传感器数据序列t=(t1,t2,t3,...,tN);
d.调用RVR算法对时序数据进行建模,输出稀疏化后的数据序列t(used);
e.基于稀疏化后的数据序列中的元素及其对应的事件时间戳信息,构成压缩后的数据流元素,其中时间戳对应不变,数据密度则变得稀疏;
f.采用collector将稀疏化后的数据以流的形式输出。
基于开源框架和组件,设计搭建承载数据流压缩的边缘计算系统,相关的程序可以部署在系统上,并实现数据流压缩业务的低延迟、高可用以及高稳定性。
在监测数据流源头所在的工业系统运行现场,即所谓的边缘端,搭建如图6所示的分布式流处理系统,部署上述数据流压缩程序,实现数据流的实时压缩处理。
搭建由若干虚拟机节点组成的计算集群,虚拟机上安装centos操作系统,根据现场实际数据吞吐量,计算节点可弹性伸缩。在各节点安装Zookeeper、Hadoop、Kafka、Flink开源框架,配置Java环境。同样地,搭建安装centos操作系统的虚拟机存储节点,然后安装MySQL数据库。下面介绍各框架或组件的作用:
1)Zookeeper用来对集群进行管理;
2)Hadoop的作用包括两个方面:
a.由Yarn提供Flink计算资源管理,Flink程序运行在Yarn上;
b.由HDFS提供Flink计算状态后端存储。
3)Kafka是数据流压缩处理管道输入和输出部分,Flink程序作为Kafka消费者,来处理原始数据流,同时又作为生产者,将压缩后的数据流通过Kafka发布出去,便于其他实时应用消费。
4)Flink框架是集群的核心,开发好的程序提交至Flink集群,通过Flink分布式流处理引擎完成上述实施例提供的基于Flink和RVR的数据流压缩方法。
5)MySQL数据库用来存储压缩后的数据和超时数据。
此外,根据工业现场设备数据传输条件,通过与设备层数据通信接口,由采集程序向Kafka写入实时数据流。
以振动监测数据流为例进行如下说明:
振动监测是工业设备状态监测常用的手段之一,通过在设备上安装振动传感器,测量振动相关信号,例如振动加速度信号,判断设备是否处于正常运行工况范围。在设备端,原始的振动信号会经过特征提取操作进行转换,例如将高频的振动加速度信号通过特征提取转换成秒级的振动能量值。振动能量值能反应设备振动烈度,能量值越大设备振动越剧烈,预示设备可能发生故障,因此该指标是设备振动状态监测的关键指标之一。由于每台设备上会安装多个振动传感器,现场往往会有大量的设备在运转,因此保存全量的振动监测数据需要耗费大量的计算机存储资源。
以振动能量值数据为例进行说明,每个振动传感器每秒产生1条能量值数据,随着设备的运转,该数据会源源不断地产生,形成振动监测数据流。多个通道的振动传感器将产生如下格式的数据:
(timestamp,sensorid,VibEnergy)
其中,timestamp字段是数据点产生的时间,为事件时间;sensorid为振动传感器编号;VibEnergy是具体该时刻采集的振动能量值。随着时间的推移,每个传感器对应的振动能量值时间序列存在大量的信息冗余,需要进行稀疏化压缩后再进行存储。
测试包括数据流压缩功能测试以及性能测试,具体的测试项见表2。
表2
Figure GDA0003653719370000101
Figure GDA0003653719370000111
1)数据流压缩基本功能测试
4个传感器的原始振动能量数据均为900条,经过数据流压缩处理后,传感器1的数据为51条,传感器2的数据为35条,传感器3的数据为31条,传感器4的数据为34条。各通道传感器数据曲线及压缩后的数据点见图7。可见,压缩后的数据点能很好地保存原始数据序列的变化特征,这属于RVR算法发挥的功效,将该算法嵌入到Flink流式计算框架中,能并行地、实时地完成数据压缩。
2)数据流压缩时延测试
数据流处理一共包括10个窗口,4个通道的传感器并行处理,记录各窗口结束时间戳和窗口压缩处理结束时间戳,得到4个通道处理延迟时间的平均值,详见表3。因为Flink时间窗口分配会以秒级进行对齐,所以除第1个窗口处理时延超过1s外,其余窗口处理时延均小于1s,总平均时延为405ms。
表3
Figure GDA0003653719370000112
3)乱序数据恢复测试
正常情况下,数据流处理窗口内的数据序列是按照数据点(或者事件)发生先后顺序排列的,在工业现场会偶发数据传输延迟问题,导致先发生的数据后到达处理系统。这里以传感器1为例进行测试,人为将数据顺序打乱,测试乱序数据恢复功能。1共有15条乱序数据,能将它们全部恢复成正常顺序。
4)超时数据侧输出测试
在数据流生成程序中,每隔5s人为地将事件时间戳减10000ms,即模拟先发生的数据后到,测试能否按照前述的设计,将迟到的数据通过侧输出流(sideOutputLateData)的方式输出。这里,水位线(watermark)设置为允许延迟时间1s,侧输出流捕获最大超时时间(allowedLateness)设置为2s。经过测试,每个滚动窗口结束时,4个通道的传感器各有1条迟到数据经测输出流输出。测试时除了将迟到数据打印输出到控制台外,还将该分流写入到MySQL中进行持久化存储,在实际应用时,可以将这些迟到数据按照事件时间戳插入到被压缩后的数据中。
5)数据流压缩可配置性测试
为了便于用户开展数据流压缩,采用配置文件的形式来进行参数设置,这里一共有2项配置文件,分别是“confwindow”和“confrvr”,为了测试不同参数配置下数据流压缩,这里设计如表4所示的测试矩阵,其他保持不变的参数设置为:窗口参数的watermark设置为1,算法参数的kernel设置为“gauss”,useBias设置为true,maxIts设置为2200。表4给出4×900个数据压缩后的结果,包括正常窗口处理的结果以及侧输出流的结果,这里只给出压缩后的数据条数。数据源按照每秒每个通道1条数据正常产生,每隔5s模拟1条延迟到达数据产生。
表4
Figure GDA0003653719370000121
本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机上运行时,使所述计算机执行上述实施例提供的基于Flink和RVR的数据流压缩方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于Flink和RVR的数据流压缩方法,其特征在于,包括:
从至少一个数据源并行读取数据流,形成输入数据流;
将不同数据源的数据流分配在不同的Flink分区窗口中,基于Flink滚动窗口算子形成独立的随窗口推进而不断更新的数据块;
每个窗口结束时,触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流;
基于Flink数据汇算子将各数据源稀疏化的数据流并行地写入外部系统。
2.根据权利要求1所述的方法,其特征在于,还包括在读入数据流后进行事件时间戳和水位线分配,并设置允许延迟时间和最大超时时间。
3.根据权利要求2所述的方法,其特征在于,所述基于Flink滚动窗口算子形成独立的随窗口推进而不断更新的数据块,包括:
基于Flink的滚动窗口算子,将数据流中的数据元素放入指定宽度的窗口,当事件时间戳超过水位线时触发延迟计时,当延迟计时达到所述允许延迟时间时则关闭窗口,形成数据块。
4.根据权利要求3所述的方法,其特征在于,还包括通过侧输出流捕获超过所述允许延迟时间且不超过所述最大超时时间到达的数据流,并与稀疏化的数据流基于Flink数据汇算子写入外部系统。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述触发自定义的窗口函数对窗口中的数据执行数据重排与RVR稀疏化压缩操作,并输出稀疏化的数据流,包括:
将窗口内的所有数据元素按照事件时间戳的先后顺序进行重新排序,形成时序数据;
调用RVR算法对所述时序数据进行建模,输出稀疏化后的数据序列;
采用采集器collector将稀疏化后的数据以流的形式输出。
6.根据权利要求5所述的方法,其特征在于,所述将窗口内的所有数据元素按照事件时间戳的先后顺序进行重新排序,形成时序数据,包括:
将窗口内的所有数据元素按照事件时间戳从小到大排列,并构建N*1的Double类型的稠密矩阵t;构建从1到N的Int类型的N*1的稠密矩阵X;其中,N为窗口内数据元素的个数。
7.根据权利要求6所述的方法,其特征在于,所述调用RVR算法对所述时序数据进行建模,输出稀疏化后的数据序列,包括:
基于RVR算法建立稠密矩阵X与稠密矩阵t之间的关联向量机模型,生成关联向量t(used),其中,used为压缩后所保留数据元素在该窗口的时序数据中的索引;
基于关联向量t(used)及对应输入数据流元素中的其他字段,构建输出数据流元素。
8.根据权利要求1至4任一项所述的方法,其特征在于,还包括通过配置文件配置流处理程序配置参数以及RVR算法配置参数。
9.一种边缘计算系统,其特征在于,包括由多个虚拟机节点组成的分布式流处理系统,虚拟机上安装centos操作系统,各节点安装Zookeeper、Hadoop、Kafka和Flink开源框架,配置Java环境,还包括数据库;
所述Zookeeper用于对分布式流处理系统进行集群管理;
所述Hadoop用于为Flink提供计算资源管理,使Flink程序运行在Hadoop上,还用于为Flink提供计算状态后端存储;
所述Kafka用于作为数据流压缩处理管道的输入和输出;
所述Flink用于通过分布式流处理引擎执行权利要求1至8任一项所述的基于Flink和RVR的数据流压缩方法;
所述数据库用于存储稀疏化的数据流和超时数据流。
10.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机上运行时,使所述计算机执行根据权利要求1至8任一项所述的基于Flink和RVR的数据流压缩方法。
CN202111340818.4A 2021-11-12 2021-11-12 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质 Active CN114095032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111340818.4A CN114095032B (zh) 2021-11-12 2021-11-12 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111340818.4A CN114095032B (zh) 2021-11-12 2021-11-12 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质

Publications (2)

Publication Number Publication Date
CN114095032A CN114095032A (zh) 2022-02-25
CN114095032B true CN114095032B (zh) 2022-07-15

Family

ID=80300355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111340818.4A Active CN114095032B (zh) 2021-11-12 2021-11-12 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质

Country Status (1)

Country Link
CN (1) CN114095032B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454353B (zh) * 2022-10-17 2023-04-07 中国科学院空间应用工程与技术中心 一种面向空间应用数据的高速写入及查询方法
CN115840877B (zh) * 2022-12-06 2023-07-07 中国科学院空间应用工程与技术中心 Mfcc提取的分布式流处理方法、系统、存储介质及计算机

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8847798B2 (en) * 2012-12-17 2014-09-30 Maxeler Technologies, Ltd. Systems and methods for data compression and parallel, pipelined decompression
EP3005155A1 (en) * 2013-05-31 2016-04-13 Qatar Foundation A method and system to discover dependencies in datasets
WO2017114578A1 (en) * 2015-12-30 2017-07-06 Teraki Gmbh Method and system for determining a sampling scheme for sensor data
CN110659304B (zh) * 2019-09-09 2023-06-16 杭州中科先进技术研究院有限公司 一种基于数据倾斜的多路数据流连接系统
CN111984826B (zh) * 2020-09-02 2023-11-10 河北幸福消费金融股份有限公司 基于xml的数据自动入库方法、系统、装置和存储介质
CN112286582B (zh) * 2020-12-31 2021-03-16 浙江岩华文化科技有限公司 基于流式计算框架的多线程数据处理方法、装置和介质

Also Published As

Publication number Publication date
CN114095032A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
Rettig et al. Online anomaly detection over big data streams
CN111177095B (zh) 日志分析方法、装置、计算机设备及存储介质
CN114095032B (zh) 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质
CN107302450B (zh) 一种数据采集任务变更方法及装置
US11294754B2 (en) System and method for contextual event sequence analysis
CN109684320B (zh) 监测数据在线清洗的方法和设备
CN113448812A (zh) 微服务场景下的监控告警方法及装置
CN105227405A (zh) 监控方法及系统
CN109062769B (zh) It系统性能风险趋势预测的方法、装置和设备
CN112148561A (zh) 业务系统的运行状态预测方法、装置及服务器
CN106528281A (zh) 卫星遥测数据离线统一快速处理系统
CN111984495A (zh) 一种大数据监控方法、装置和存储介质
CN111046022A (zh) 一种基于大数据技术的数据库审计方法
CN109005162A (zh) 工控系统安全审计方法及装置
CN110796366A (zh) 质差小区识别方法和装置
CN113762906A (zh) 任务周期延迟的告警方法、装置、设备及存储介质
CN112199252A (zh) 一种异常监控方法、装置及电子设备
CN114598719A (zh) 智慧城市物联事件管理方法、装置及可读介质
CN104331362A (zh) 一种软件故障预测方法
CN109462510B (zh) 一种cdn节点质量评估的方法及装置
CN116346650A (zh) 一种can信号处理方法、装置、系统及电子设备
CN115098314A (zh) 慢盘检测方法、装置、电子设备和可读存储介质
CN109388542B (zh) 一种监控方法及装置、计算机可读存储介质
CN115840877B (zh) Mfcc提取的分布式流处理方法、系统、存储介质及计算机
US11886451B2 (en) Quantization of data streams of instrumented software and handling of delayed data by adjustment of a maximum delay

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant