实时数据处理方法、装置以及电子设备与流程

文档序号:27216405发布日期:2021-11-03 15:45阅读:161来源:国知局
实时数据处理方法、装置以及电子设备与流程

1.本技术涉及数据处理技术领域,尤其是涉及一种实时数据处理方法、装置以及电子设备。


背景技术:

2.目前,大数据场景下的数据流实时计算的场景有很多,例如,通过网络交易平台的监控大屏,可以不断的看到实时的交易额的上升、交易地点情况、快递物流的流向,等等。
3.但是,这种实时计算的过程存在很多风险和难以控制的场景,例如,如果某个实时环节出现错误,错误便将实时的反馈在监控大屏上,可能会使一张平滑的曲线便会变成错误的锯齿状,也可能会使一张交易数额上涨据的曲线便会呈错误的跌落状态。现有的处理这种异常情况的方法一般是通过数据修复来处理,但是,通过该方法解决这种异常情况的处理效率较低。


技术实现要素:

4.本发明的目的在于提供一种实时数据处理方法、装置以及电子设备,以解决对数据流实时计算的异常情况处理方法的处理效率较低的技术问题。
5.第一方面,本技术实施例提供了一种实时数据处理方法,包括:
6.获取当前时间片的实时数据的真实值;
7.根据历史数据,计算所述当前时间片的实时数据的推测值;
8.将所述真实值与所述推测值进行比较,得出所述真实值与所述推测值之间的差值;
9.如果所述差值超过预设阈值,则将所述推测值推送至显示单元。
10.在一个可能的实现中,还包括:
11.如果所述差值未超过所述预设阈值,则将所述真实值推送至所述显示单元。
12.在一个可能的实现中,所述获取当前时间片的实时数据的真实值的步骤,包括:
13.将带有时间快照的采集值输入至多个实时系统中;
14.分别获取每个所述实时系统分别根据各自的采集值计算出的多个初步真实值;
15.根据所述时间快照,将所述多个初步真实值分别写入数据库中的多个时间分桶;其中,所述多个时间分桶分别与所述多个实时系统相对应;
16.将同一个所述时间分桶中不同的带有时间快照的初步真实值进行叠加,获得当前时间片的实时数据的真实值。
17.在一个可能的实现中,所述数据库为hbase数据库。
18.在一个可能的实现中,所述根据历史数据,计算所述当前时间片的实时数据的推测值的步骤,包括:
19.获取多个时间片的历史数据;
20.确定每个所述时间片的历史数据的权重值;
21.根据多个所述历史数据及其权重值,计算得到所述当前时间片的实时数据的推测值。
22.在一个可能的实现中,所述多个时间片的历史数据包括:年同比数据、月同比数据、周同比数据或日同比数据。
23.第二方面,提供了一种实时数据处理装置,包括:
24.获取模块,用于获取当前时间片的实时数据的真实值;
25.计算模块,用于根据历史数据,计算所述当前时间片的实时数据的推测值;
26.比较模块,用于将所述真实值与所述推测值进行比较,得出所述真实值与所述推测值之间的差值;
27.第一推送模块,用于如果所述差值超过预设阈值,则将所述推测值推送至显示单元。
28.第三方面,本技术实施例又提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的第一方面所述方法。
29.第四方面,本技术实施例又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述的第一方面所述方法。
30.本技术实施例带来了以下有益效果:
31.本技术实施例提供的一种实时数据处理方法、装置以及电子设备,能够获取当前时间片的实时数据的真实值,然后,根据该历史数据计算当前时间片的实时数据的推测值,之后将真实值与推测值进行比较从而得出真实值与推测值之间的差值,并在差值超过预设阈值时将推测值推送至显示单元,通过真实值和推测值的计算、比较的过程,在真实值误差或错误等异常差距较大的情况下显示出推测值而不是真实值,实现了异常隔离,避免后期补发数据等事后修复处理过程,防止将异常问题暴露至用户,使异常情况的处理效率得到提高,解决了对数据流实时计算的异常情况处理方法的处理效率较低的技术问题。
32.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
33.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1为本技术实施例提供的实时数据处理方法的流程图示意图;
35.图2为本技术实施例提供的实时数据处理方法中,异常问题隔离效果的示意图;
36.图3为本技术实施例提供的自恢复实时计算模型的示意图;
37.图4为本技术实施例提供的系统框架的结构示意图;
38.图5为本技术实施例提供的一种实时数据处理装置的结构示意图;
39.图6为示出了本技术实施例所提供的一种电子设备的结构示意图。
具体实施方式
40.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.本技术实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.目前,数据流实时计算已应用到很多领域,例如,网络交易平台的交易额监控、网络服务平台的用户访问监控分析等等,通过数据流实时计算和分析,可以实时地对采集的数据进行动态展示。然而,如果数据流实时计算出现异常情况,可能导致动态展示的数据也出现异常,导致用户体验较差。面对这类情况,一般是进入应急预案通过数据修复来处理。但是,实时的数据修复需要较长的响应时间,如果问题暴露给用户后再去修复便属于事后处理。而对于用户而言,更想看到的是正常的数据,而不希望这些异常数据影响数据曲线的正常走势,换言之,数据动态展示过程中不应将异常数据或者出现的问题展示给用户,即应以时刻准确且平滑的状态显现出数据曲线,并且使出现异常的这些真实的数据又能自行恢复。而且,目前处理以上异常情况的方式大多都没有形成有效的规范和通用的模型,都是非标准的业务实现方式,并无系统化的解决方案,解决上述异常情况的效率普遍较低。
43.基于此,本技术实施例提供了一种实时数据处理方法、装置以及电子设备。通过该方法可以解决对数据流实时计算的异常情况处理方法的处理效率较低的技术问题。
44.下面结合附图对本发明实施例进行进一步地介绍。
45.图1为本技术实施例提供的一种实时数据处理方法的流程示意图。如图1所示,该方法包括:
46.s110,获取当前时间片的实时数据的真实值。
47.本步骤中,内容分发网络(content delivery network,简称cdn)可以缓存服务为客户提供的监视看板中的实时流量监控统计图。这个过程的计算可以是在大数据场景下的实时计算实现的,其原理是通过大规模的实时数据以流的形式传入计算节点,通过特定的算法进行计算。
48.示例性的,可以将每时每刻的交易数据额进行累加,并将当前某个时间点累加的结果保持在一个带有时间属性的存储空间中。例如,在2019年11月11日的00:00:01时刻,当前时刻内的交易额为三亿,在2019年11月11日的00:00:02时刻,当前时刻内的交易额为五亿,以此类推,2019年11月11日的第一分钟就完成了3亿的总交易额,第二分钟就完成了8亿(3亿+5亿)的总交易额。其中的交易额便为本步骤中的当前时间片的实时数据的真实值。
49.s120,根据历史数据,计算当前时间片的实时数据的推测值。
50.本步骤中,cdn可以根据相同交易平台以往的历史数据来计算当前时间片的实时数据的推测值。
51.s130,将真实值与推测值进行比较,得出真实值与推测值之间的差值。
52.本步骤中,cdn可以将步骤s110中得到的真实值和步骤s120中得到的推测值进行
对比计算,从而得到该真实值与该推测值之间的差值。
53.s140,判断差值是否超过预设阈值。如果是,则执行步骤s150。
54.本步骤中,cdn可以将步骤s130中得到的差值与预设阈值进行对比计算,如果该差值超过预设阈值,则执行下一步骤。
55.s150,将推测值推送至显示单元。
56.本步骤中,cdn可以将步骤s120中得到的推测值推送至显示单元,以显示出来供用户查看。
57.本技术实施例中,通过真实值与推测值的计算与比较实现了故障隔离,如图2所示,可以在异常阶段通过预测段将问题隔离,以进行自恢复回填片,从而提升用户体验。
58.通过在异常阶段利用预测段将问题隔离,再将其自恢复回填片,避免数据出现延迟、错误等异常情况,也无需再进入应急预案通过数据修复来处理,使数据能够以时刻准确且平滑的状态展示给用户。
59.在实际应用中,还可以将本技术实施例提供的实时数据处理方法结合规范实时计算模型,通过机器学习得到故障可隔离性实时模型,故障可隔离性实时模型中包括推测值和真实值两个部分,进而预测数据确定最终的显示值,从而避免异常情况的暴露,同时方便后期通过回填算法自动将同一实时渠道得到的数据进行历史曲线的自行修复,从而使数据曲线高效且稳定的输出在屏幕上。
60.下面对上述步骤进行详细介绍。
61.在一些实施例中,该方法还可以包括以下步骤:
62.s160,如果差值未超过预设阈值,则将真实值推送至显示单元。
63.本技术实施例中,在步骤s130中计算出的差值没有超过预设阈值的情况下,说明真实值的错误或误差较小,cdn可以将步骤s110中得到的真实值推送至显示单元,以显示出来供用户查看错误或误差较小的真实值。
64.在一些实施例中,上述步骤s110可以包括如下步骤:
65.s1102,将带有时间快照的采集值输入至多个实时系统中。
66.s1104,分别获取每个实时系统分别根据各自的采集值计算出的多个初步真实值。
67.s1106,根据时间快照,将多个初步真实值分别写入数据库中的多个时间分桶。
68.s1108,将同一个时间分桶中不同的带有时间快照的初步真实值进行叠加,获得当前时间片的实时数据的真实值。
69.其中,多个时间分桶分别与多个实时系统相对应。
70.在实际应用中,计算上述推测值的过程可以利用计算模型来进行,以提高推测值的计算效率。例如,可以将历史数据输入至自恢复实时计算模型,利用自恢复实时计算模型计算出当前时间片的实时数据的推测值。如图3所示,在通过自恢复实时计算模型得到各个时间片范围对应的预测值(显示值,即对应上述推测值)后,可以将其与真实值列入表格中,以便于通过比较真实值与预测值来判断是否使用真实值。
71.示例性的,可以采用一组定义带时间快照的数据模型。在特定的计算场景下,有些值的计算依赖当时的场景下的特定数据。如图4所示,通过快照可在中间结果或者最终结果的时间上做一个版本的区分,这样有利于实时计算的数据恢复。本实施例中,利用带有时间属性的输入数据,可以在每一次需要实时计算的海量数据中增加标准的时间属性字段。
72.对于上述步骤s1102、s1104、s1106以及s1108,如图4所示,可以先将带有时间属性的实时数据(即s1102中带有时间快照的采集值)以流的形式发送至通用实时计算框架(即实时系统,示例性地,storm实时处理realtime(实时处理每条数据)、flink时间窗口timewindows、实时数据处理框架spark streaming(主要批量处理离线数据)、及其他实时实现方式),通过通用实时计算框架计算出实时数据的真实值(即s1104中的初步真实值)。然后,通过快照管理器(即s1106中的时间快照)将多个真实值分别写入数据库(例如,一种分布式的数据库hbase)中的time bucket(即s1106中数据库中的多个时间分桶)。之后,回归预测模块,通过将同一个时间分桶中不同的带有时间快照的初步真实值进行叠加来调整显示值(即s1108),得到可用的回归数据(s1108中当前时间片的实时数据的真实值),从而还原当前时刻的实际情况数值。
73.在一些实施例中,数据库为hbase数据库。当然,还可以通过其他多种不同的存储方式来实现上述的模型,例如用、dbms、mongodb等。
74.在一些实施例中,上述步骤s120可以包括如下步骤:
75.s122,获取多个时间片的历史数据。
76.s124,确定每个时间片的历史数据的权重值。
77.s126,根据多个历史数据及其权重值,计算得到当前时间片的实时数据的推测值。
78.在实际应用中,推测过程是通过机器学习回归算法中推算出增长率,按照一定的权重进行计算并乘上权重计算出来,再结合真实值进行对比最终推算出来的。不仅基于每个时间片的历史数据,还参考了各个历史数据的权重值来计算推测值,多种考虑因素使推测值计算结果更加贴近真实的实际情况,以提高推测值的准确率。
79.本技术实施例中,通过带有时间属性的实时数据输入加上时间分桶,并带有时间属性快照的kv存储上进行分片计算,能够达到加权累计求和的方式来恢复数据。
80.在一些实施例中,多个时间片的历史数据包括:年同比数据、月同比数据、周同比数据或日同比数据。
81.本技术实施例中的推测过程可以通过机器学习回归算法中推算出增长率,配合年、月、周、日的同比算计按照一定的权重进行计算并乘上权重计算出来,再结合真实值进行对比最终推算出来的,从而提高了数据的准确率。
82.图5提供了一种实时数据处理装置的结构示意图。如图5所示,实时数据处理装置500包括:
83.获取模块501,用于获取当前时间片的实时数据的真实值;
84.计算模块502,用于根据历史数据,计算当前时间片的实时数据的推测值;
85.比较模块503,用于根据历史数据,计算当前时间片的实时数据的推测值;
86.第一推送模块504,用于如果差值超过预设阈值,则将推测值推送至显示单元。
87.在一些实施例中,该装置还包括:
88.第二推送模块,用于如果差值未超过预设阈值,则将真实值推送至显示单元。
89.在一些实施例中,获取模块501具体用于:
90.将带有时间快照的采集值输入至多个实时系统中;
91.分别获取每个实时系统分别根据各自的采集值计算出的多个初步真实值;
92.根据时间快照,将多个初步真实值分别写入数据库中的多个时间分桶;其中,多个
时间分桶分别与多个实时系统相对应;
93.将同一个时间分桶中不同的带有时间快照的初步真实值进行叠加,获得当前时间片的实时数据的真实值。
94.在一些实施例中,数据库为hbase数据库。
95.在一些实施例中,计算模块502具体用于:
96.获取多个时间片的历史数据;
97.确定每个时间片的历史数据的权重值;
98.根据多个历史数据及其权重值,计算得到当前时间片的实时数据的推测值。
99.在一些实施例中,多个时间片的历史数据包括:年同比数据、月同比数据、周同比数据或日同比数据。
100.本技术实施例提供的实时数据处理装置,与上述实施例提供的实时数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
101.本技术实施例提供的一种电子设备,如图6所示,电子设备600包括存储器601、处理器602,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。
102.参见图6,电子设备还包括:总线603和通信接口604,处理器602、通信接口604和存储器601通过总线603连接;处理器602用于执行存储器601中存储的可执行模块,例如计算机程序。
103.其中,存储器601可能包含高速随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口604(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
104.总线603可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
105.其中,存储器601用于存储程序,所述处理器602在接收到执行指令后,执行所述程序,前述本技术任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器602中,或者由处理器602实现。
106.处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储
器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器601,处理器602读取存储器601中的信息,结合其硬件完成上述方法的步骤。
107.对应于上述实时数据处理方法,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述实时数据处理方法的步骤。
108.本技术实施例所提供的实时数据处理装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本技术实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
109.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
110.又例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
111.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
112.另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
113.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述实时数据处理方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
114.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
115.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1