数据流处理方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:38906248 阅读:13 留言:0更新日期:2023-09-22 14:24
本公开是关于一种数据流处理方法、装置、电子设备及计算机可读介质,涉及计算机技术领域。基于时间窗口确定当次攒批的请求数据,其中时间窗口基于请求数据的分类结果动态调整获得;再确定每一请求数据所对应的索引标识,每种该索引标识指向一个record;基于索引标识度请求数据进行分类获得请求数据类后,在符合写入条件的情况下根据索引标识将请求数据类写入对应的record。该方法在写入前基于动态的时间窗口对请求数据进行分次攒批,从而将多条请求数据统一写入,降低数据流读写中的IO消耗,简化数据库配置需求,降低业务运营成本;且时间窗口动态调整,从而使时间窗口的大小自动适配攒批效果,更符合业务中动态的数据读写需求,灵活提高存储性能。灵活提高存储性能。灵活提高存储性能。

【技术实现步骤摘要】
数据流处理方法、装置、电子设备及计算机可读介质


[0001]本公开涉及计算机
,具体而言,涉及一种数据流处理方法、装置、电子设备及计算机可读介质。

技术介绍

[0002]Aerospike(简称AS)是一个分布式,可扩展的键值(Key Value)型数据库,其存储模式包括“namesp(命名空间)

set(集合)

record(记录)

bin(数据库字段)”。
[0003]在使用Aerospike进行数据存储时,核心的数据结构包括record、bin、value等,数据结构的层级可以包括[record

(bin1

value1、bin2

value2、
···
、bin n

value n)],也可以是[record

bin(key1

value1、key2

value2、
···
、key n

value n)]。在数据读写时,前一种数据结构可以直接进行bin层级数据的增删,无需先读出record;而后一种数据结构仅使用1个bin,在避开bin数量限制的基础上可以存储多条“key n

value n”数据,每次读写时需要将整个record读出,将“key n+1

value n+1”合并进去后再将record整体写入。
[0004]因此,在前一种数据结构中,bin的数量有限,难以满足大量数据业务需求;而后一种数据结构中,每次读写时需要将整个record读出再整体写入,会导致极大的IO消耗,需要高成本数据库配置以提供相应IO性能、网络带宽,或者需要大规模集群的支撑。

技术实现思路

[0005]本公开的目的在于提供一种数据流处理方法、装置、电子设备及计算机可读介质,该方法能够降低数据流读写中的IO消耗,从而提升系统的性能,并降低业务运营成本。
[0006]根据本公开的第一方面提供了一种数据流处理方法,该方法可以包括:基于时间窗口确定当次攒批的请求数据,时间窗口基于请求数据的分类结果动态调整获得;确定每一请求数据所对应的索引标识,每种索引标识指向一个record;基于索引标识对请求数据进行分类,获得请求数据类;在请求数据类符合写入条件的情况下,根据索引标识将请求数据类写入对应的record。
[0007]可选地,时间窗口基于请求数据的分类结果动态调整的步骤包括:在当次攒批的请求数据类符合写入条件的情况下,将时间窗口扩大。
[0008]可选地,时间窗口基于请求数据的分类结果动态调整的步骤包括:获取前次攒批的请求数据基于索引标识分类所获得的请求数据类,前次攒批与当次攒批相邻;确定当次攒批的请求数据类相对前次攒批的请求数据类的变化状态参数;基于变化状态参数对时间窗口动态调整。
[0009]可选地,基于变化状态参数对时间窗口动态调整,包括:在变化状态参数符合扩大条件的情况下,将时间窗口扩大;在变化状态参数不符合扩大条件的情况下,保持时间窗口不变。
[0010]可选地,在变化状态参数符合扩大条件的情况下,将时间窗口扩大,包括:在变化
状态参数符合扩大条件,且时间窗口小于最大窗口的情况下,将时间窗口扩大;在变化状态参数符合扩大条件,且时间窗口等于最大窗口的情况下,保持时间窗口不变。
[0011]可选地,时间窗口基于请求数据的分类结果动态调整的步骤,还包括:在时间窗口等于最大窗口的情况下,获取时间窗口的持续状态参数,持续状态参数包括窗口持续时间、窗口攒批次数中的至少一种;在持续状态参数大于或等于持续状态阈值的情况下,将时间窗口缩小至最小窗口。
[0012]可选地,基于索引标识对请求数据进行分类,获得请求数据类之后,还包括:在请求数据类不符合写入条件的情况下,将时间窗口扩大;基于扩大后的时间窗口确定当次攒批的请求数据,并循环至时间窗口下请求数据类符合写入条件。
[0013]根据本公开的第二方面提供了一种数据流处理装置,该装置可以包括:数据获取模块,用于基于时间窗口确定当次攒批的请求数据,时间窗口基于请求数据的分类结果动态调整获得;数据索引模块,用于确定每一请求数据所对应的索引标识,每种索引标识指向一个record;数据分类模块,用于基于索引标识对请求数据进行分类,获得请求数据类;数据写入模块,用于在请求数据类符合写入条件的情况下,根据索引标识将请求数据类写入对应的record。
[0014]可选地,装置还包括窗口调整模块,用于在当次攒批的请求数据类符合写入条件的情况下,将时间窗口扩大。
[0015]可选地,窗口调整模块,还用于获取前次攒批的请求数据基于索引标识分类所获得的请求数据类,前次攒批与当次攒批相邻;确定当次攒批的请求数据类相对前次攒批的请求数据类的变化状态参数;基于变化状态参数对时间窗口动态调整。
[0016]可选地,窗口调整模块,具体用于在变化状态参数符合扩大条件的情况下,将时间窗口扩大;在变化状态参数不符合扩大条件的情况下,保持时间窗口不变。
[0017]可选地,窗口调整模块,具体用于在变化状态参数符合扩大条件,且时间窗口小于最大窗口的情况下,将时间窗口扩大;在变化状态参数符合扩大条件,且时间窗口等于最大窗口的情况下,保持时间窗口不变。
[0018]可选地,窗口调整模块,还用于在时间窗口等于最大窗口的情况下,获取时间窗口的持续状态参数,持续状态参数包括窗口持续时间、窗口攒批次数中的至少一种;在持续状态参数大于或等于持续状态阈值的情况下,将时间窗口缩小至最小窗口。
[0019]可选地,窗口调整模块,还用于在请求数据类不符合写入条件的情况下,将时间窗口扩大;基于扩大后的时间窗口确定当次攒批的请求数据,并循环至时间窗口下请求数据类符合写入条件。
[0020]根据本公开的第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的数据流处理方法。
[0021]根据本公开的第四方面,提供了一种电子设备,包括:
[0022]处理器;以及
[0023]存储器,用于存储处理器的计算机程序;
[0024]其中,处理器配置为经由执行计算机程序来实现上述第一方面的数据流处理方法。
[0025]根据本公开的第五方面,提供了一种计算机程序产品,当其在电子设备上运行时,
使得电子设备执行如实现如第一方面的数据流处理方法的步骤。
[0026]本公开提供的数据流处理方法,基于时间窗口确定当次攒批的请求数据,其中时间窗口基于请求数据的分类结果动态调整获得;再确定每一请求数据所对应的索引标识,每种索引标识指向一个record;进一步的,基于索引标识对请求数据进行分类,获得请求数据类后,在请求数据类符合写入条件的情况下,根据索引标识将请求数据类写入本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据流处理方法,其特征在于,所述方法包括:基于时间窗口确定当次攒批的请求数据,所述时间窗口基于请求数据的分类结果动态调整获得;确定每一所述请求数据所对应的索引标识,每种所述索引标识指向一个record;基于所述索引标识对所述请求数据进行分类,获得请求数据类;在所述请求数据类符合写入条件的情况下,根据所述索引标识将所述请求数据类写入对应的record。2.根据权利要求1所述的方法,其特征在于,所述时间窗口基于请求数据的分类结果动态调整的步骤包括:在当次攒批的所述请求数据类符合写入条件的情况下,将所述时间窗口扩大。3.根据权利要求1所述的方法,其特征在于,所述时间窗口基于请求数据的分类结果动态调整的步骤包括:获取前次攒批的请求数据基于索引标识分类所获得的请求数据类,所述前次攒批与所述当次攒批相邻;确定当次攒批的所述请求数据类相对所述前次攒批的所述请求数据类的变化状态参数;基于所述变化状态参数对所述时间窗口动态调整。4.根据权利要求3所述的方法,其特征在于,所述基于所述变化状态参数对所述时间窗口动态调整,包括:在所述变化状态参数符合扩大条件的情况下,将所述时间窗口扩大;在所述变化状态参数不符合扩大条件的情况下,保持所述时间窗口不变。5.根据权利要求4所述的方法,其特征在于,所述在所述变化状态参数符合扩大条件的情况下,将所述时间窗口扩大,包括:在所述变化状态参数符合扩大条件,且所述时间窗口小于最大窗口的情况下,将所述时间窗口扩大;在所述变化状态参数符合扩大条件,且所述时间窗口等于最大窗口的情况下,保持所述时间窗口不变。6.根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:汪忠祥
申请(专利权)人:同盾网络科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1