【技术实现步骤摘要】
基于模型映射的流式数据处理方法及系统
[0001]本专利技术涉及数据处理
,具体地说是一种基于模型映射的流式数据处理方法及系统。
技术介绍
[0002]在业务需要数据实时处理的场景中,通常会使用流式计算工具对数据进行处理,一般会包含数据抽取、清洗、转换计算、存储等流程,在数据处理流程中一般业务方会使用流式计算框架进行编码来满足业务需求,但在工业领域流式计算的场景中存在一些固定计算模型来描述业务数据处理逻辑,也存在部分固定计算模型因业务现场硬件不同而产生变形的模型,一个简化的业务场景例如原有的数据是计算电流及电压乘积以求出电压值,此时的固定模型即:功率=电流*电压,而部分场景中工业数据中直接包含了功率值,因此因模型变更导致的代码重构机制,造成开发工作量极大。
[0003]故如何匹配业务现场硬件不同导致的模型变化,达到减少定制化开发工作量的目的是目前亟待解决的技术问题。
技术实现思路
[0004]本专利技术的技术任务是提供一种基于模型映射的流式数据处理方法及系统,来解决因模型变更导致的代码重构机制, ...
【技术保护点】
【技术特征摘要】
1.一种基于模型映射的流式数据处理方法,其特征在于,该方法具体如下:定义数据模型:数据模型包括模型名称和模型定义两部分信息,模型名称是数据模型的名称,作为唯一标识;模型定义为使用特定语法定义模型,语法与Golang定义变量及进行变量计算语法一致,采用语法解析类库进行语法定义,并提供相关工具将定义的语法解析为计算逻辑;描述数据模型与数据处理的映射关系:将数据模型转换为计算逻辑,实现按照数据模型处理数据的目标;通过防腐层隔离数据模型与底层流式计算框架:防腐层用于防止底层数据处理框架与上层数据模型的耦合,同时在上层无法完成业务逻辑可在防腐层做定制化实现;封装底层流式框架计算服务,为上层提供统一的访问入口。2.根据权利要求1所述的基于模型映射的流式数据处理方法,其特征在于,定义数据模型具体如下:用户确认模型名称,并采用Golang语法定义数据模型,数据模型的信息包括模型与数据的映射关系、模型变量定义、计算公式及逻辑计算语法;用户通过API保存数据模型,入参为模型名称及数据模型,返回结果为保存结果,若模型名称重复,则提示保存失败。3.根据权利要求1所述的基于模型映射的流式数据处理方法,其特征在于,描述数据模型与数据处理的映射关系具体如下:根据用户定义的数据模型,对数据模型包含的数据信息在数据抽取阶段进行过滤操作,过滤内容为包含模型定义的数据,以供后续计算使用;经过数据模型相关的数据在抽取阶段已经被过滤出,根据过滤的数据,基于数据模型中逻辑计算进行逻辑判断处理:若符合逻辑判断要求,则基于数据模型中的计算逻辑进行数据计算处理;经过数据计算处理后,将计算结果推送至数据目标,目标默认支持消息队列中间件kafka。4.根据权利要求1所述的基于模型映射的流式数据处理方法,其特征在于,通过防腐层隔离数据模型与底层流式计算框架具体如下:通过API定义计算服务,计算服务分为数据抽取服务及计算服务;利用定制化服务沉淀定制化逻辑的通用服务及防止定制化功能影响方法的通用性。5.根据权利要求1
‑
4中任一项所述的基于模型映射的流式数据处理方法,其特征在于,封装底层流式框架计算服务,为上层提供统一的访问入口具体如下:根据主流流式计算框架功能定义通用流式计算API;实现通用流式计算API并调用底层实际使用的go
‑
stream框架,对于可支持通过装饰模式对API扩充即可,对于不支持的流式计算功能在封装底层进行扩充以满足上层要求;根据流式计算逻辑生成流式计算调用逻辑并记录在数据库中,以提供更直观的数据模型与数据处理的映射关系,便于用户调整业务逻辑及计算流程问题排查。6.一种基于模型映射的流式数据处理系统,其特征在于,该系统包括模型定义模块、模型映射处理模块、模型映射与流式处理防腐模块及流式数据处理模块;模型定义模块用于定义数据模型;定义数据模型包括定义模型名称和模型定义两部
分,使用语法解析类库进行模型语法定义,并提供模型定义相关的API用户存储模型;模型映射模块用于描述数据模块与数据的映射关系;模型映射模块根据定义的数据模型在数据抽取阶段进行数据过滤,过滤...
【专利技术属性】
技术研发人员:孙新,金宁,
申请(专利权)人:上海沄熹科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。