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

事件流处理方法、电子设备和计算机可读介质与流程

2022-02-19 13:10:26 来源:中国专利 TAG:


1.本公开涉及数据流处理技术领域,特别涉及一种事件流处理方法、电子设备和计算机可读介质。


背景技术:

2.事件流即事件的流,又称事件数据流,作为其构成元素的事件在语义上是指信息系统中已经发生的一个动作或者状态转换的记录。事件流可应用于多种涉及信息快速变化的场景中,如股票期货交易、高速运动物体的拍摄等,而对应的信息系统短时间内会产生大量信息事件,但系统的事件流处理速度有限,事件的处理输出与事件采集速度不匹配,导致事件流的数据直观反馈并不及时。


技术实现要素:

3.本公开提供一种事件流处理方法、电子设备和计算机可读介质。
4.第一方面,本公开提供了一种事件流处理方法,包括:
5.获取至少一个待处理事件;所述待处理事件包括其对应的时间戳、事件对象和变化值,用于表征在时间戳的时刻事件对象发生了变化值的变化;
6.确定一个所述待处理事件为当前目标事件,并进行写入操作:根据所述当前目标事件的时间戳所属的时间区间从多个预设的内存片中确定其对应的写入内存片,根据所述当前目标事件的事件对象确定其对应的目标地址;根据所述当前目标事件的变化值累加更新所述写入内存片的目标地址中存储的数据。
7.第二方面,本公开提供了一种电子设备,包括:
8.处理器,所述处理器包括多个内存片;
9.存储器,用于存储一个或多个程序;
10.当所述一个或多个程序被所述处理器执行,使得所述处理器实现如上述实施例所述的事件流处理方法。
11.第三方面,本公开提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现如上述实施例所述的事件流处理方法中的步骤。
12.本公开所提供的事件流处理方法、电子设备和计算机可读介质,可通过设置多个内存片,并基于时间戳和内存片的对应关系,时间描述与目标地址的对应关系,对待处理事件进行写入操作,实现对事件流的快速且有序的处理;以及,在一些实施中,在进行写入操作的同时,基于其时间戳满足预设的第一读取条件的待处理事件在对应的内存片进行读取操作,并输出事件帧,使得写入操作和读取操作可同时进行。
13.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
14.附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
15.图1为本公开实施例提供的一种事件流处理方法的流程图;
16.图2为本公开实施例中步骤s2的具体实施方法流程图;
17.图3为本公开实施例中步骤s3的具体实施方法流程图;
18.图4为本公开实施例中步骤s3的一种具体实施方法流程;
19.图5为本公开实施例中步骤s3的另一种具体实施方法流程图;
20.图6为本公开实施例中步骤s201的一种具体实施方法流程图;
21.图7为本公开实施例提供的一种事件流处理系统的结构框图;
22.图8为本公开实施例提供的一种电子设备的组成框图;
23.图9为本公开实施例提供的一种计算机可读介质的组成框图。
具体实施方式
24.为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
25.在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
26.如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
27.本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由
……
制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
28.除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
29.图1为本公开实施例提供的一种事件流处理方法的流程图。如图1所示,该方法包括:
30.步骤s1、获取至少一个待处理事件。
31.其中,待处理事件包括其对应的时间戳、事件对象和变化值,事件对象又称为事件描述,事件用于表征在时间戳的时刻事件对象发生了变化值的变化;具体地,事件流为异步数据流,传输的各事件体现了特定对象在采集的各时间节点发生的变化,而上述的时间戳、事件对象和变化值即为各事件格式化的事件元素;在一些实施例中,时间戳、事件对象和变
化值以关系元组的形式进行体现,如当事件流为交易事件流时,传输的各事件的事件元素可包括时间戳、交易对象和交易金额构成的三元组,如当该多个待处理事件为基于动态视觉传感器(dynamic vision sensors,简称dvs)的采集设备采集得到时,其中的各事件的事件元素可包括时间戳、像素坐标(平面坐标系)和亮度变化值构成的四元组。
32.在一些实施例中,每隔一定的时间间隔获取至少一个待处理事件;时间间隔与事件的采集周期相关或者与系统帧转换处理速度相关。
33.在一些实施例中,步骤s1,获取至少一个待处理事件的步骤,包括:将获取的待处理事件存入缓冲区;在一些实施例中,该缓冲区为先入先出(first input first output,简称fifo)缓冲区。
34.步骤s2、确定一个待处理事件为当前目标事件,并进行写入操作。
35.图2为本公开实施例中步骤s2的具体实施方法流程图。如图2所示,步骤s2包括步骤s201和步骤s202。
36.步骤s201、根据当前目标事件的时间戳所属的时间区间从多个预设的内存片中确定其对应的写入内存片,根据当前目标事件的事件对象确定其对应的目标地址。
37.在步骤s201中,根据该当前目标事件的时间戳确定当前写入操作对应的写入内存片,并根据作为事件标识信息的事件对象确定写入操作对应的目标地址。
38.在一些实施例中,待处理事件为基于动态视觉传感器的采集设备采集得到,具体地,该采集设备并不按照时间戳顺序输出事件,其各事件乱序输出,但在一定时间区间内输出的各事件的时间戳相差值不会太大。由此,在一些实施例中,根据预设的最大时间戳相差值确定内存片个数,使得最大时间戳相差值小于或等于内存片个数加1。
39.步骤s202、根据当前目标事件的变化值累加更新写入内存片的目标地址中存储的数据。
40.其中,各内存片分别对应一个事件帧,读取各内存片中的数据可生成相应的事件帧,各事件帧反映了相应事件在一定时间段内的变化情况,由此,各事件帧中的像素值对应一个读取周期内写入的变化值的累加结果,对应变化值的积累过程,该积累过程即对应上述的基于变化值进行数据更新;如当该多个待处理事件为基于动态视觉传感器的采集设备采集得到时,将亮度变化值进行累加,通过积累事件来表现每个像素的亮度,体现短时间内的相对亮度变化,以模拟对应像素的实时亮度。
41.在一些实施例中,步骤s202,根据当前目标事件的变化值更新写入内存片的目标地址中存储的数据的步骤,包括:读取写入内存片的目标地址中存储的当前值,将该当前值和当前目标事件的变化值输入至加法器,并将加法器的输出结果写入写入内存片的目标地址。
42.在一些实施例中,对应上述的在步骤s1中将获取的待处理事件存入缓冲区的情况,步骤s2中,确定一个待处理事件为当前目标事件的步骤,包括:从缓冲区中获取最早存入的待处理事件为所述当前目标事件。
43.在一些实施例中,该方法还包括:步骤s3。
44.步骤s3、当满足读取条件时,进行读取操作。
45.图3为本公开实施例中步骤s3的具体实施方法流程图。如图3所示,步骤s3包括步骤s301至步骤s303。
46.步骤s301、从多个内存片中确定读取内存片。
47.其中,基于相应的读取条件,从多个内存片中确定读取内存片。
48.步骤s302、读取读取内存片的各地址中存储的数据,并根据预设的地址与帧中对象的映射关系生成事件帧。
49.其中,事件帧表征在其对应的时间区间内每个对象的变化值;在针对读取内存片进行读取操作的同时,针对写入内存片的写入操作依旧进行,由此实现对多个事件帧同时组帧。
50.在一些实施例中,依据从低地址到高地址的顺序分配帧中的对象,以建立其映射关系。
51.在一些实施例中,内存片的各地址的排布可以基于行列的形式进行体现,由此可将各地址对应的行列信息映射为帧中的对象。
52.步骤s303、清空读取内存片。
53.其中,在完成读取读取内存片的各地址中存储的数据后,向读取内存片的各地址写零,以清空第二内存片,使得读取内存片可用于在下个读取周期进行事件的变化值的积累。
54.图4为本公开实施例中步骤s3的一种具体实施方法流程图。具体地,对应于步骤s301至步骤s303的一种具体化可选实施方式,如图4所示,在步骤s3中,根据当前目标事件的事件对象确定其对应的目标地址的步骤,包括:
55.步骤s3a、当当前目标事件的时间戳满足预设的第一读取条件时,进行读取操作:根据该当前目标事件的时间戳所属的时间区间,从多个内存片中确定对应的读取内存片,读取读取内存片的各地址中存储的数据,并根据预设的地址与帧中对象的映射关系生成事件帧。
56.其中,读取内存片和写入内存片虽然均基于当前目标事件的时间戳所属的时间区间确定出,但二者并不相同,读取内存片对应的读取时刻晚于写入内存片对应的写入时刻,且读取时刻与写入时刻不处于一个时间区间内;即针对同一内存片,读取该内存片的时刻晚于将数据写入该内存片的时间。
57.在一些实施例中,可根据当前目标事件的时间戳与预设的比较阈值之间的大小关系确定该时间戳是否满足预设的第一读取条件;以及在一些实施例中,可基于该大小关系确定内存片的编号标识,以确定出读取内存片。
58.在一些实施例中,当当前目标事件的时间戳所属的时间区间为预设的任意一个读取触发区间时,确定出该当前目标事件的时间戳满足预设的第一读取条件;以及,将该读取触发区间对应的内存片确定为读取内存片。在一些实施例中,将从开始工作的时刻起第n个时间区间之后的全部时间区间作为读取触发区间,n大于或等于1。
59.图5为本公开实施例中步骤s3的另一种具体实施方法流程图。具体地,对应于步骤s301至步骤s303的一种具体化可选实施方式,如图5所示,在步骤s3中,根据当前目标事件的事件对象确定其对应的目标地址的步骤,包括:
60.步骤s3b、当系统时间满足预设的第二读取条件时,进行读取操作:根据系统时间,从多个内存片中确定对应的读取内存片,读取读取内存片的各地址中存储的数据,并根据预设的地址与帧中对象的映射关系生成事件帧。
61.其中,该系统时间用于实现系统内各模块及硬件的时间同步以及时钟周期校准;在一些实施例中,该系统时间由对应的计时器产生,基于计时器触发事件确定系统时间是否满足第二读取条件。
62.在一些实施例中,当系统时间等于预设的任意一个读取周期值时,确定出系统时间满足第二读取条件;以及,根据系统时间对应的读取周期值确定当前读取周期对应的所述读取内存片。
63.在一些实施例中,针对本公开实施例中所描述的写入操作和读取操作,其包括:将目标地址输入至仲裁器,以及向仲裁器指示写入操作和读取操作对应的内存片;由仲裁器决定对各内存片中对应的地址进行写入或读取。
64.本公开实施例提供了一种事件流处理方法,该方法可通过设置多个内存片,并基于时间戳和内存片的对应关系,时间描述与目标地址的对应关系,对待处理事件进行写入操作,实现对事件流的快速且有序的处理;以及,在一些实施中,在进行写入操作的同时,基于其时间戳满足预设的第一读取条件的待处理事件在对应的内存片进行读取操作,并输出事件帧,使得写入操作和读取操作可同时进行。
65.图6为本公开实施例中步骤s201的一种具体实施方法流程图。具体地,待处理事件由基于动态视觉传感器的采集设备采集得到,事件对象包括像素坐标,变化值包括亮度变化值;如图6所示,在步骤s201中,根据当前目标事件的事件对象确定其对应的目标地址的步骤,包括:
66.步骤s2011、将当前目标事件对应的像素坐标输入至空间下采样映射器。
67.其中,将输入的当前目标事件对应的像素坐标输入至空间下采样映射器中进行下采样,以使得输入的像素坐标满足输出的事件帧图像大小和坐标系要求,便于生成事件帧。
68.步骤s2012、根据空间下采样映射器的输出结果和预设的地址映射系数确定出目标地址。
69.其中,基于相应的地址映射系数将下采样后的当前目标事件对应的像素坐标映射为内存片的地址,便于后续根据内存片的地址与帧中对象的映射关系生成事件帧。
70.下面对本公开提供的事件流处理方法结合实际应用进行详细描述。
71.图7为本公开实施例提供的一种事件流处理系统的结构框图。如图7所示,该事件流处理系统包括:缓冲区、控制器、空间下采样映射器、地址映射模块、写入控制模块、读取切换及使能控制模块、读取地址产生模块、内存阵列和加法器add,其中,内存阵列包括仲裁器和多个内存片(图中填充黑色的各矩形),示例性地,图中示出的内存片数量为五个;图中箭头示出了数据传输方向。
72.具体地,每经过预设的时间间隔,获取采集设备采集并存入缓冲区的多个待处理事件,其中,该缓冲区为先入先出缓冲区,控制器用于对该缓冲区和内存阵列的地址产生及写入使能进行控制,各待处理事件包括其各自对应的时间戳、事件对象和变化值,示例性地,基于动态视觉传感器的采集设备在工作时间内持续采集并输出待处理事件流,具体传输的各个待处理事件对应的事件对象为像素坐标(平面坐标系),各待处理事件对应的变化值为亮度变化值,由此,各待处理事件的事件元素包括像素坐标(x,y)、亮度变化值δpt和时间戳t构成的四元组(x,y,δpt,t)。
73.此后,进行写入操作的参数确定流程:确定一个待处理事件为当前目标事件,获取
当前目标事件对应的四元组(x,y,δpt,t),针对当前目标事件的时间戳t,将其输入至写入控制模块,写入控制模块基于公式r1=(t/δt)mod n确定出对应的内存片的编号标识r1以确定出对应的写入内存片,即第一内存片r1,其中,δt为预设的时间间隔,n为内存片数量;以及,将像素坐标(x,y)输入至空间下采样映射器,将空间下采样映射器的输出结果(x
d
,y
d
)输入至地址映射模块,地址映射模块根据预设的地址映射系数w,基于公式addra=yd*w xd确定出目标地址addra。
74.同时,进行读取操作的参数确定流程:针对当前目标事件对应的四元组(x,y,δpt,t),当当前目标事件的时间戳t满足预设的第一读取条件时进行读取操作,其中,将当前目标事件的时间戳t输入至读取切换及使能控制模块,当该模块检测出当前目标事件的时间戳t处于预设的读取触发区间内时,确定出该待处理事件的时间戳t满足第一读取条件,具体地,时间戳t在数值上随系统时间的推移而增大,在一些实施例中,时间戳t是循环设置的;读取切换及使能控制模块根据当前目标事件的时间戳t对应的读取触发区间确定当前读取周期对应的第二内存片r2,将其作为读取内存片,并进行读取使能,控制读取地址产生模块不断产生读取地址addrb。
75.之后,内存阵列针对写入操作和读取操作进行判定:将第一内存片的编号标识r1、第二内存片的编号标识r2、目标地址addra和读取地址addrb输入至仲裁器,由仲裁器决定对各内存片中对应的地址进行写入或读取,由此,针对第一内存片r1的目标地址addra进行写入,读取第一内存片r1的目标地址addra中存储的当前值p,将该当前值p和当前目标事件的亮度变化值δpt输入至加法器add,并将加法器add的输出结果δpt p写入第一内存片r1的目标地址addra;以及,根据不断产生的读取地址addrb读取第二内存片r2中的数据,并根据预设的地址与帧中对象的映射关系生成并输出事件帧data,随后清空第二内存片r2,输出的事件帧data受读取切换及使能控制模块输出的有效性指示valid影响,当有效性指示valid为1时,输出的事件帧data有效。
76.图8为本公开实施例提供的一种电子设备的组成框图。如图8所示,该电子设备包括:
77.处理器101,处理器101包括多个内存片;
78.存储器102,其上存储有一个或多个程序,当该一个或多个程序被该处理器执行,使得该处理器101实现如上述实施例中任一的事件流处理方法;
79.一个或多个i/o接口103,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
80.其中,处理器101为具有数据处理能力的器件,其包括但不限于中央处理器(cpu)等;存储器102为具有数据存储能力的器件,其包括但不限于随机存取存储器(ram,更具体如sdram、ddr等)、只读存储器(rom)、带电可擦可编程只读存储器(eeprom)、闪存(flash);i/o接口(读写接口)203连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,其包括但不限于数据总线(bus)等。
81.在一些实施例中,处理器101、存储器102和i/o接口103通过总线104相互连接,进而与计算设备的其它组件连接。
82.在一些实施例中,多个处理器101包括多个图形处理器(gpu),其组合设置构成图形处理器阵列。
83.图9为本公开实施例提供的一种计算机可读介质的组成框图。该计算机可读介质上存储有计算机程序,其中,该计算机程序在被处理器执行时实现如上述实施例中任一的事件流处理方法中的步骤。
84.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd

rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
85.本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
再多了解一些

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

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

相关文献