一种基于时序中间态数据结构的数据聚合方法技术

技术编号:25223826 阅读:42 留言:0更新日期:2020-08-11 23:13
本发明专利技术公开了一种基于时序中间态数据结构的数据聚合方法,时序中间态数据结构包括主键、特征键和数据;主键用于关联业务系统中一个特定的业务对象,对数据的存储和计算进行负载均衡,特征键用于描述特定业务对象的特征名称,数据为业务系统中的事件经过特征计算系统处理后形成的数值及其计算方法,用于时序中间态数据合并操作时计算中间结果。数据聚合方法基于时序中间态数据结构,通过将事件转换成若干条中间态数据,存储至对应的缓存队列中,再根据中间态数据的主键、特征键以及时间戳对中间态数据进行合并,最后存储进到存数据库中。本发明专利技术方法能够减少系统的IO负载,减少并合理分配系统的计算负载。

【技术实现步骤摘要】
一种基于时序中间态数据结构的数据聚合方法
本专利技术涉及数据处理领域,尤其涉及一种基于时序中间态数据结构的数据聚合方法。
技术介绍
时序数据,又称时间序列数据,是按时间顺序记录的数据列。时序特征计算是通过求和、平均、方差等计算方法,对时间序列进行处理以后得到的特征数据,例如:包含时间戳的交易流水是时序数据,通过求和、计数可获得本月交易总额、最近1小时交易次数时序特征。在移动互联网、物联网、金融服务等行业中,时序特征被广泛用于防范交易欺诈、个性化推荐、事中决策等业务场景中。除本身作为业务决策的依据外,时序特征还可作为输入,与规则引擎、机器学习模型等对接,处理复杂决策。实时时序特征计算系统(下文简称特征计算系统)用于实时计算事件数据流的时序特征,具有如下三个特点:1)事件驱动,特征计算通过接收事件来触发。2)有状态计算,特征计算依赖于过去或相关联的数据,并不能从当前处理的事件推导得出。例如:“最近5分钟交易总额”,并不能由最近一笔交易的信息计算得出。因而,特征计算系统需维护一系列状态。3)实时计算,数据价值随时间流逝而降低,特征计算系统作为决策基础,需要在最短时间内完成特征计算。特征计算系统大多采用经典流计算架构实现,目前主流的流式大数据计算框架包括Flink、SparkStreaming、Storm等。然而,随着数据采集手段的增加和业务复杂程度的提升,特征计算系统所需处理数据量急剧扩大。系统面临更大的挑战,主要体现在以下两个方面:一是,特征数量巨大,由于需要对用户、账号、资产等业务对象建立多维度的复杂特征体系,形成包含千亿甚至万亿特征的庞大体系;二是,事件并发量巨大,特征计算系统每秒需承载超过千万的事件,对网络传输和底层存储产生巨大的IO压力。以上两方面的压力对经典流计算架构产生了巨大影响。由于特征数量急剧增加,流计算框架内部需要维护的状态数量也因此急剧增加。由于Flink等流计算框架本身仅作为计算框架实现,并不针对底层存储进行管理和优化,需要工程师将状态管理从流计算框架内部转移到外部的分布式内存数据库中。在每次收到事件时,特征计算系统需从内存数据库中取出与当前时序特征相关的数据,并送入流计算框架中处理。另一方面,由于事件并发量增大,导致状态数据同步的频次和数量增加,并导致系统内部的网络IO负载。最终,只能通过大量增加流计算框架节点和内存数据库节点,来满足特征计算的实时需求。特征计算系统的拥有成本和运维成本也因此急剧升高。
技术实现思路
本专利技术目的在于针对现有技术的不足,提出一种基于时序中间态数据结构的数据聚合方法,该方法可减少系统的IO负载,并减少并合理分配系统的计算负载。本专利技术的目的是通过以下技术方案来实现的:一种基于时序中间态数据结构的数据聚合方法,该方法通过特征计算系统将业务系统的数据转换成中间态数据,然后再对中间态数据进行聚合和存储;所述中间态数据的结构包括主键PKey、特征键FKey和数据Data;所述主键PKey,用于关联业务系统中一个特定的业务对象,是一个全局唯一的键值;用于对数据的存储和计算进行负载均衡;所述特征键FKey,用于描述特定业务对象的特征名称;所述特征名称具备唯一性;通过主键和特征键的组合,可以唯一确定某一业务对象的特定特征。所述数据Data,业务系统中的事件经过特征计算系统处理后形成的数值及其计算方法,用于时序中间态数据合并操作时计算中间结果。数据包含时间戳、聚合方式、结果数值和辅助数据四部分;所述时间戳为当前中间态数据所属时间切片的起点,由特征计算系统根据事件时间戳映射而成;所述聚合方式为描述中间态数据聚合的方法;所述结果数值为当前已知的中间态数据的具体数值;所述辅助数据为对中间态数据进行聚合时与聚合方式相关的所需的额外辅助数据。进一步地,该方法包括以下步骤:(1)业务系统将事件随机发送给特征计算系统中的任一节点;(2)接收到事件的特征计算系统节点实时计算事件数据流的时序特征,将其转换成中间态数据;并根据中间态数据的主键PKey确定该中间态数据所对应的目标节点,并将中间态数据发送至目标节点的缓存队列Queue;(3)缓存队列Queue每次取出n条中间态数据,根据中间态数据的主键PKey、特征键FKey以及时间戳Timestamp是否一致,对中间态数据进行两两比对和合并;(4)将步骤(3)中的中间态数据合并结果逐一与内存数据库MemDB中的对应的中间态数据采用与步骤(3)相同的方式进行合并,将最终合并后的结果存储在内存数据库MemDB中。进一步地,所述特征计算系统具有若干个节点,每个节点包括三个主要结构:特征处理器FeatureProcessor、缓存队列Queue和内存数据库MemDB;所述特征处理器FeatureProcessor用于接收来自业务系统的事件,并将其转换成中间态数据,根据中间态数据对应的PKey将其转发至对应节点做后续处理;所述缓存队列Queue缓存特征处理器FeatureProcessor输出的中间态数据,用于特征处理器和底层数据库之间解耦;所述内存数据库MemDB为整个特征计算系统的底层存储,用于保存所有的中间态数据。进一步地,所述主键可以是清算系统中的一个商户号,或是物联网中的某个传感器ID,根据业务系统设计抽象出的特定唯一对象。进一步地,所述特征计算系统为用于实时计算事件数据流的时序特征的系统。进一步地,特征计算系统通过哈希算法,将主键转换为一个固定值,并根据该数值选择特征计算系统中节点进行数据处理和存储。进一步地,所述聚合方式包括依据最大/小值、平均值、方差或标准差等方式实现数据聚合。进一步地,在完成时序中间态数据合并更新结果数值的同时,也需要对辅助数据进行相应的更新。本专利技术的有益效果:(1)减少系统的IO负载:减少网络负载:相较于传输完整的明细原始数据,使用中间态数据记录进行传输,可以明显降低在系统各模块之间网络传输IO负载。减少存储负载:在进行持久化存储时,由于只需要进行中间态数据记录的存储,无需频繁读写存储介质,从而减少了存储介质的IO负载。(2)减少并合理分配系统的计算负载:分散系统的计算负载:中间态数据记录即可进行合并,因而,计算可以发生在系统很多结构中,而并非专门进行数据计算的节点,将计算负载有效的分布到系统中去。减少序列化处理负载:由于系统各个部分之间需要通过网络传输数据,因此存在较多序列化和反序列化操作,由于中间态数据的使用,大量减少的数据的传输数量,同时也就降低了系统各模块所需的序列化和反序列化工作量,从而降低了整体系统的计算负载。附图说明图1为特征计算系统的架构缩略图;图2为时序中间态数据记录结构图;图3为本专利技术实施例环境温度监控结构图。具体实施方式本专利技术提供了一种基于时序中间态数据结构的数据聚合方法,使用中间态数据作为介质,在系统内部进行特征计算和数据传播。在有状本文档来自技高网
...

【技术保护点】
1.一种基于时序中间态数据结构的数据聚合方法,其特征在于,该方法通过特征计算系统将业务系统的数据转换成中间态数据,然后再对中间态数据进行聚合和存储;/n所述中间态数据的结构包括主键PKey、特征键FKey和数据Data;/n所述主键PKey,用于关联业务系统中一个特定的业务对象,是一个全局唯一的键值;用于对数据的存储和计算进行负载均衡;/n所述特征键FKey,用于描述特定业务对象的特征名称;所述特征名称具备唯一性;通过主键和特征键的组合,可以唯一确定某一业务对象的特定特征。/n所述数据Data,业务系统中的事件经过特征计算系统处理后形成的数值及其计算方法,用于时序中间态数据合并操作时计算中间结果。数据包含时间戳、聚合方式、结果数值和辅助数据四部分;所述时间戳为当前中间态数据所属时间切片的起点,由特征计算系统根据事件时间戳映射而成;所述聚合方式为描述中间态数据聚合的方法;所述结果数值为当前已知的中间态数据的具体数值;所述辅助数据为对中间态数据进行聚合时与聚合方式相关的所需的额外辅助数据。/n

【技术特征摘要】
1.一种基于时序中间态数据结构的数据聚合方法,其特征在于,该方法通过特征计算系统将业务系统的数据转换成中间态数据,然后再对中间态数据进行聚合和存储;
所述中间态数据的结构包括主键PKey、特征键FKey和数据Data;
所述主键PKey,用于关联业务系统中一个特定的业务对象,是一个全局唯一的键值;用于对数据的存储和计算进行负载均衡;
所述特征键FKey,用于描述特定业务对象的特征名称;所述特征名称具备唯一性;通过主键和特征键的组合,可以唯一确定某一业务对象的特定特征。
所述数据Data,业务系统中的事件经过特征计算系统处理后形成的数值及其计算方法,用于时序中间态数据合并操作时计算中间结果。数据包含时间戳、聚合方式、结果数值和辅助数据四部分;所述时间戳为当前中间态数据所属时间切片的起点,由特征计算系统根据事件时间戳映射而成;所述聚合方式为描述中间态数据聚合的方法;所述结果数值为当前已知的中间态数据的具体数值;所述辅助数据为对中间态数据进行聚合时与聚合方式相关的所需的额外辅助数据。


2.根据权利要求1所述的一种基于时序中间态数据结构的数据聚合方法,其特征在于,该方法包括以下步骤:
(1)业务系统将事件随机发送给特征计算系统中的任一节点;
(2)接收到事件的特征计算系统节点实时计算事件数据流的时序特征,将其转换成中间态数据;并根据中间态数据的主键PKey确定该中间态数据所对应的目标节点,并将中间态数据发送至目标节点的缓存队列Queue;
(3)缓存队列Queue每次取出n条中间态数据,根据中间态数据的主键PKey、特征键FKey以及时间戳Timestamp是否一致,对中间态数据进行两两比对和合并;
(4)将步骤(3)中的中间态数据合并结果逐一与内存数据库MemDB中的对应的中间态数据采用与步骤(3)相同的方式进行合...

【专利技术属性】
技术研发人员:王新根王新宇鲁萍黄滔陈伟金路
申请(专利权)人:浙江邦盛科技有限公司
类型:发明
国别省市:浙江;33

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

1