回放历史数据的方法及装置与流程

文档序号:29852560发布日期:2022-04-30 08:18阅读:365来源:国知局
回放历史数据的方法及装置与流程

1.本发明涉及数据处理技术领域,具体涉及一种回放历史数据的方法及装置。


背景技术:

2.目前的很多实时数据系统中,系统架构通常包含时间序列数据服务端(服务器)和数据消费端(客户端)。消费端用来展示和处理的数据都是实时数据,数据时间以当前的时间保持一致。
3.但是现有的很多系统只能对当前的数据进行展示和计算,不能够回放并处理历史数据,即使是要回放历史数据还需要再单独做一套系统。


技术实现要素:

4.为此,本发明实施例提供一种回放历史数据的方法及装置,以解决现有技术存在的现有的很多系统只能对当前的数据进行展示和计算,不能够回放并处理历史数据,即使是要回放历史数据还需要再单独做一套系统的问题。
5.为了实现上述目的,本发明实施例提供如下技术方案:
6.第一方面,一种回放历史数据的方法,包括:
7.获取原消费端界面中的数据;
8.判断是否有需要提取的数据;
9.若无需要提取的数据,则播放结束,并返回至前端播放状态界面;
10.若有需要提取的数据,则设置定时触发,按照时间循环获取数据并将获取的数据写入到播放缓冲区;
11.提取所述播放缓冲区中的数据并判断是否有回放数据;
12.若所述播放缓冲区有回放数据,则对回放数据进行提取;
13.若所述播放缓冲区无回放数据,则进行等待,当所述播放缓冲区有回放数据传入时再进行提取;
14.对提取到的回放数据进行处理;
15.判断回放数据的格式和属性是否满足预设置;
16.若不满足,则停止向下执行并检查回放数据的格式;
17.若满足,则等待数据定时器触发,触发后将回放数据发送至原消费界面和前端播放状态界面。
18.作为优选,所述获取原消费端界面中的数据之前,还包括:在前端回放设置界面中设置回放条件和数据的起始时间。
19.作为优选,所述数据定时器触发具体为:
20.获取历史数据时间标签和当前时间;
21.计算时间差δt;
22.根据所述δt设置触发发送时间,等待触发器触发;
23.当时间标签满足δt时,将数据发送至原消费端界面和前端播放状态界面。
24.作为优选,所述将回放数据发送至前端播放状态界面时能够进行回放调整。
25.作为优选,所述回放调整具体为:
26.判断当前状态是否为播放状态;
27.若是播放状态,则将回放数据进行筛选;
28.若不是播放状态,则判断是否为暂停状态;
29.若是暂停状态,则停止回放数据传输并保持当前状态重新进行检查;
30.若是不是暂停状态,则判断是否为停止状态;
31.若是停止状态,则停止回放数据传输并跳出播放队列;
32.若不是停止状态,则判断是否为快进状态;
33.若是快进状态,则将队列中后面的数据向前做偏移调整。
34.若不是快进状态,则判断是否为回退状态;
35.若是回退状态,则将队列中前面的数据向后做偏移调整。
36.作为优选,当判断状态为暂停、停止、快进和回退时,执行完对应的操作后都会返回起始位置,重新检查播放状态。
37.作为优选,还包括将实时数据按时间发生的先后次序进行索引排序并存储。
38.作为优选,所述判断是否有需要提取的数据时是根据数据时间序列的发生间隔进行提取的。
39.第二方面,一种回放历史数据的装置,包括:
40.获取模块,用于获取原消费端界面中的数据;
41.数据提取判断模块,用于判断是否有需要提取的数据;若无需要提取的数据,则播放结束,并返回至前端播放状态界面;若有需要提取的数据,则设置定时触发,按照时间循环获取数据并将获取的数据写入到播放缓冲区;
42.回放数据提取判断模块,用于提取所述播放缓冲区中的数据并判断是否有回放数据;若所述播放缓冲区有回放数据,则对回放数据进行提取;若所述播放缓冲区无回放数据,则进行等待,当所述播放缓冲区有回放数据传入时再进行提取;
43.回放数据处理模块,用于对提取到的回放数据进行处理;
44.格式判断模块,用于判断回放数据的格式和属性是否满足预设置;若不满足,则停止向下执行并检查回放数据的格式;若满足,则等待数据定时器触发,触发后将回放数据发送至原消费界面和前端播放状态界面。
45.第三方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现回放历史数据的方法步骤。
46.本发明至少具有以下有益效果:本发明提供了一种回放历史数据的方法及装置,包括获取原消费端界面中的数据;判断是否有需要提取的数据;若无需要提取的数据,则播放结束,并返回至前端播放状态界面;若有需要提取的数据,则设置定时触发,按照时间循环获取数据并将获取的数据写入到播放缓冲区;提取播放缓冲区中的数据并判断是否有回放数据;若播放缓冲区有回放数据,则对回放数据进行提取;若播放缓冲区无回放数据,则进行等待,当播放缓冲区有回放数据传入时再进行提取;对提取到的回放数据进行处理;判断回放数据的格式和属性是否满足预设置;若不满足,则停止向下执行并检查回放数据的
格式;若满足,则等待数据定时器触发,触发后将回放数据发送至原消费界面和前端播放状态界面;本发明使用内存来循环获取数据,并设置数据量的大小和读取的时间,更高效的将数据以实时的效果进行展示。
附图说明
47.为了更清楚地说明现有技术以及本发明,下面将对现有技术以及本发明实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的附图。
48.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
49.图1为本发明实施例提供的回放历史数据的方法第一流程图;
50.图2为本发明实施例提供的回放历史数据的方法第二流程图;
51.图3为本发明实施例提供的数据定时器触发流程图;
52.图4为本发明实施例提供的回放调整判断流程图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
54.在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)旨在区别指代的对象。对于具有时序流程的方案,这种术语表述方式不必理解为描述特定的顺序或先后次序,对于装置结构的方案,这种术语表述方式也不存在对重要程度、位置关系的区分等。
55.此外,术语“包括”、“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包括了一系列步骤或单元的过程、方法、系统、产品或设备不必限于已明确列出的那些步骤或单元,而是还可包含虽然并未明确列出的但对于这些过程、方法、产品或设备固有的其它步骤或单元,或者基于本发明构思进一步的优化方案所增加的步骤或单元。
56.请参阅图1和图2,本发明的实施例提供一种回放历史数据的方法,包括:
57.s1:获取原消费端界面中的数据;
58.具体的,在后端回放接口获取传到原消费端界面中的数据,获取之前需要在前端回放设置界面中设置回放条件并确定数据的起始时间。
59.s2:判断是否有需要提取的数据;
60.若无需要提取的数据,则播放结束,并返回至前端播放状态界面;
61.若有需要提取的数据,则设置定时触发,按照时间循环获取数据并将获取的数据写入到播放缓冲区;
62.具体的,数据提取器获取接口中收到的数据,数据提取器中间件内部提取条件是根据数据时间序列的发生间隔。提取时需要做一个判断,当有数据要提取时,设置一个定时触发,按照时间以循环的方式获取数据,当没有数据时进入结束播放状态,并返回到前端播放界面。
63.将定时触发循环获取的数据和在数据库中读取到的数据,作为缓冲数据写入到播放缓冲区,播放缓冲区是内存中预先设置好内存的大小和数据的时间,周期性的获取数据。
64.s3:提取所述播放缓冲区中的数据并判断是否有回放数据;
65.若所述播放缓冲区有回放数据,则对回放数据进行提取;
66.若所述播放缓冲区无回放数据,则进行等待,当所述播放缓冲区有回放数据传入时再进行提取;
67.具体的,播放缓冲区是以队列的结构但不限于队列,也可以使用其他的数据结构来实现。队列以先进先出的方式,将播放缓冲区的数据提取出来,在进行判断,如果播放缓冲区有数据,则对数据进行提取;如果没有数据,则进行等待,当播放缓冲区有数据传入时在进行提取。
68.对播放缓冲区获取到的数据要连贯读取数据防止卡顿。同时要避免获取多条数据时,只需要展示十条或者百条数据的情况,减少读取数据造成的不必要的资源空间的浪费。
69.s4:对提取到的回放数据进行处理;
70.s5:判断回放数据的格式和属性是否满足预设置;
71.若不满足,则停止向下执行并检查回放数据的格式;
72.若满足,则等待数据定时器触发,触发后将回放数据发送至原消费界面和前端播放状态界面。
73.具体的,通过时间序列数据预触发设置,数据的格式和属性必须满足预设置,如果不满足则不会继续向下执行,需要检查数据的格式。满足格式的数据等待数据定时器触发,通过时间的方式设置触发,触发后将数据发送。
74.数据会发送到原消费界面,并发送到前端播放状态界面进行展示,数据的状态可以在回放调整界面中进行改变,可以变化的状态有快进,停止暂停等。当数据的状态发生改变后,在缓冲区数据提取到的数据状态也会和回放调整界面进行的操作相对应。
75.请参阅图3,数据定时器触发具体为:当数据传到数据定时器时,要获取历史数据的时间标签(lasttime)和当前时间(currenttime)作对比计算出变化量δt,根据δt设置触发发送时间,等待触发器触发,当数据的时间标签满足δt的条件时,经过筛选的历史数据发送到原消费端界面和前端播放状态见面。
76.请参阅图4,将回放数据发送至前端播放状态界面时能够进行回放调整,具体为:在回放调整界面中可以改变传进播放缓冲区提取到的数据的状态和队列播放顺序。回放调整的实现原理是数据传到前端播放状态界面时,会检查当前数据的状态,对数据的状态进行控制。首先判断当前的状态是不是播放状态,如果是播放状态,数据会传到时间触发器中,进行筛选;不是的话会判断是不是暂停状态,如果是暂停状态,数据不会继续向下传,保持当前状态再重新进行检查;不是的话会判断是不是停止状态,如果是停止状态,数据停止传输,不会向下发送,并且跳出播放队列;不是的话会判断是不是快进状态,如果是快进状态,队列中后面的数据会向前做偏移调整,传输时会优先进行播放;不是的话会判断是不是
快进状态,如果是快进状态,队列中前面的数据会向后做偏移调整,传输时会延后进行播放。当判断状态为暂停,快进,回退时,执行完对应的操作后都会返回起始位置,重新检查播放状态。
77.本发明提供的回放历史数据的方法还具有时间序列数据持久化功能。利用数据库将实时数据按时间发生的先后次序进行索引排序并存储,以利于快速检索和提取。
78.本发明通过获取实时数据和读取数据库两种方式,在历史数据回放中间件中把数据展示到前端界面中,并改变数据的状态。数据不通过读取整个数据库的方式,而是使用内存来循环获取数据,并设置数据量的大小和读取的时间,更高效的将数据以实时的效果进行展示。
79.本发明的另一个实施例提供一种回放历史数据的装置,包括:
80.获取模块,用于获取原消费端界面中的数据;
81.数据提取判断模块,用于判断是否有需要提取的数据;若无需要提取的数据,则播放结束,并返回至前端播放状态界面;若有需要提取的数据,则设置定时触发,按照时间循环获取数据并将获取的数据写入到播放缓冲区;
82.回放数据提取判断模块,用于提取所述播放缓冲区中的数据并判断是否有回放数据;若所述播放缓冲区有回放数据,则对回放数据进行提取;若所述播放缓冲区无回放数据,则进行等待,当所述播放缓冲区有回放数据传入时再进行提取;
83.回放数据处理模块,用于对提取到的回放数据进行处理;
84.格式判断模块,用于判断回放数据的格式和属性是否满足预设置;若不满足,则停止向下执行并检查回放数据的格式;若满足,则等待数据定时器触发,触发后将回放数据发送至原消费界面和前端播放状态界面。
85.本发明在原有的实时数据源和数据消费端中间环节加入该历史数据回放装置以简化系统重构或实现方案,而且历史数据和实时数据都可以为数据序列提供服务,对现有装置改动较小的情况下,达到对历史数据的状态进行实时回放的效果。只需要获得历史数据的时间标签,就可以对历史数据进行筛选,在前端进行展示,同时实时的控制数据的状态。在缓冲区提取到数据会进行优化,从而避免展示数据时发生的卡顿和内存浪费的情况。
86.关于回放历史数据的装置的具体限定可以参见上文中对于回放历史数据的方法的限定,在此不再赘述。
87.本发明的另一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现回放历史数据的方法步骤。
88.以上几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
89.以上实施例的各技术特征可以进行任意的组合(只要这些技术特征的组合不存在矛盾),为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述;这些未明确写出的实施例,也都应当认为是本说明书记载的范围。
90.上文中通过一般性说明及具体实施例对本发明作了较为具体和详细的描述。应当指出的是,在不脱离本发明构思的前提下,显然还可以对这些具体实施例作出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1