抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

基于事件驱动的健康物联数据融合汇聚架构初探

2019 年 1 月 04 日

基于事件驱动的健康物联数据融合汇聚架构初探

简述


随着传感器微型化,智能手机的兴起,以及 3G/4G 网络的普及使得智能穿戴设备受到了消费者的广泛关注;与此同时,受益于各大智能设备和手机厂商的大力推广和消费者对自身健康的高度关注,穿戴设备在都市人群中变得愈加普及开来。


因此,消费者健康数据的采集这一顽疾问题得到了一定程度的解决,然而针对此类健康数据的个性化服务,却并未随着设备的普及和数据的丰富得到满足。来康平台在产品开发过程中,也通过各种设备采集人体健康数据,形成个人健康档案(PHR),如何通过这些健康数据为用户提供更加丰富和贴近用户实际需求的服务,就显得尤为迫切。


因此,我们开放平台,在这方面进行了自己的探索,开发了一系列组件,形成了一套行之有效的数据融合框架,达到了数据融合贯通,初步满足了用户个性化和多方位数据消费的要求。


一、数据融合框架简介


图 1 数据融合框架架构图


框架采用微服务架构,通过 PaaS 平台搭建基础服务组件,在此基础上构建规则引擎、事件引擎、智能导航引擎、数据网关和管理后台。


  • 其中数据网关作为内外数据交换节点,通过数据网关进行内外数据交换和分发;

  • 透过 Kafka 作为 MQ,如需数据在线分析,则可将数据转发至 Druid index job,由 Druid 实现 OLAP 处理;

  • 事件引擎,则是作为事件触发器,监听 MQ 中的数据,针对具体事件,触发规则引擎中对应规则,由规则引擎执行对应规则,做出对应反馈;

  • 智能导航引擎则是可以通过识别文字和语音,根据配置的对应意图,给出与之相对应响应,由前端(APP,WEB,小程序等)做出前端动作;

  • 管理后台则是用于管理整个框架相关配置项,实现可视化操作,方便业务或者程序猿配置对应组件服务。



图 2 后台操作界面


二、组件简述

  1. 数据网关


针对数据网关而言,主要目标是实现数据的标准化和内外数据的转换与分发。因此,我们围绕数据转换和数据分发为核心功能,构建可配置化的访问路径,和数据格式。



图 3 数据网关数据流图


外部请求配置的网关目标路径,通过标准输入层,过滤请求,将请求参数字段通过转换,变成标准输入请求数据格式。


通过响应层的权限认证,由标准输出层进行分发,调用后端 API 接口,获取目标服务响应数据,这里支持多路分发至不同 API,或者是 MQ。


接口服务响应数据,同时也将通过标准输出转换器,转换成外部所需数据格式,完成整个数据处理逻辑。


与此同时,数据网关支持基于数据的简单路由规则分发,如根据某字段值判断其应该向其中目标 API 接口发送请求;


  1. 规则引擎


规则引擎主要实现的是规则集合的管理与执行。允许业务人员通过业务需要定义规则,配置源数据 API 和对应数据规则。通过在规则调用参数获取规则因素,配置各因素响应规则,目前支持因素值判断和 API 调用两种响应模式。


值判断是根据算法(大于、等于、区间判断等),给出对应结果。API 响应,则是通过规则参数和配置好的数据源参数归集 API 请求数据,满足某些条件时请求对应 API 获取响应数据。



图 4 规则引擎数据流图


事件引擎充当触发器,由用户行为收集系统,将用户事件推送至 MQ,使用 Kafka SQL 监听具体事件,出发对应绑定规则。


规则引擎则从规则库获取规则配置,分析规则依赖,通过业务规则解析器解析规则,执行器判定因素相关规则执行对应规则动作,获取规则响应结果,并返回给触发器。


触发器根据响应结果,执行最后业务动作。


某些规则可以触发定时任务或者批处理任务,交由 Spark 或者 XXLJob 执行。


  1. 事件引擎


事件引擎是为了灵活处理用户行为事件而开发的,为统一配置事件与规则的绑定关系,自动生成对应消息筛选器,从而针对特定事件触发对应业务规则。并根据规则引擎返回结果,推送对应消息或是做出相应动作,形成事件筛选,规则触发,动作响应三个流程。


在管理平台配置事件和事件与规则绑定关系,发布之后,事件引擎自动生成 KQL,创建新的事件监听 topic,将对于事件消息分发至该 topic,同时创建 consumer,消费处理具体事件消息。



图 5 事件处理流程


运营人员可对用户行为进行收集,通过规则设置平台设置用户行为参数阀值,并触发相应的业务流程。与此同时,后台可对用户行为数据进行分析与统计。


目前支持场景为:


  • 用户行为收集:APP 端功能埋点和外接设备,通过接口发送消息到 kafka,并存入 druid。

  • 用户行为触发:通过订阅 kafka 事件 topic,调用规则引擎,根据用户行为和参数触发相应业务流程,如天气推送、晨间提醒、血压异常、心率异常、步数不达标、设备离手等

  • 运营配置:可通过配置平台设置事件参数阀值、受众对象、推送/告警频率(?时长内 N 次)、采集告警时长等,即时生效。支持按用户按数据类型定制规则。

  • 用户标签:定时收集用户数据,提取计算用户标签分组,并实时上传极光平台。

  • 用户数据分析:通过 druid 和 spark 对用户行为数据进行分析,并生成数据视图(用户地域分布、年龄分布、热门 TOP10 内容……等)


  1. 智能导航引擎


该引擎其主要功能是同用户进行基本沟通,并自动回复用户有关来康产品与服务的问题,以达到降低企业客服运营成本、提升用户体验的目的。同市场上同类在线聊天机器人相比,本系统具有更加清晰明确的业务指向,围绕健康领域,提供丰富多样的功能。


通过配置的方式,支持在线智能客服相关功能快速上线;同时集成规则引擎和事件引擎,为用户提供更加个性化的客服服务;如根据用户健康档案,获取其健康画像,根据规则引擎生成更个性化的问候或是健康提醒。



图 6 智能导航引擎处理逻辑


如图 6 所示,用户语音或者文字输入,会通过自然语言理解模块获取用户意图,通过判断用户因素分解,收集因素属性,然后根据配置意图,调用对应服务模块,给予用户对应的服务响应。


通过问答模板引擎,可以动态配置问题模板,将那些用户意图不明显,或是收集的参数不足时,可以通过问答模板,把未收集齐的参数问题发送给用户,在收集齐后再请求后台,获取对应内容。


如用户说:我要看天气预报。那么我们知道了“天气预报”这个用户意图,但不知道用户是要那个地方的天气预报。那么这个时候,问答模板会问:请问您想知道本地的天气预报嘛?如果用户回答是,那就根据本地定位获取当地天气信息;如用户回答:不是,我想看北京的,NLP 引擎就会提取出“北京“这个属性,然后调取天气预报接口,获取北京的天气预报返回给用户。


  1. 统一管理后台



图 7 管理后台界面


管理后台界面则是用于管理平台各组件的用户界面,通过向导模式等手段,便于用户自行配置相关规则和事件;从而满足业务灵活变动的需要。


三、场景案例

  1. 用户主动关怀场景



图 8 用户主动关怀场景


在健康管理这个领域,针对用户的具体数据变化,给予相对应的健康建议。尤其是在数据出现异常时给予及时准确的健康提醒,愈加显得重要。


在传统的应用当中,通常需要将这些业务逻辑由程序员固化在应用代码之中,开发时间长,可维护性和灵活性相当低,所产生的效果极为有限,仅能满足很少一部分个性化要求。


因此,将业务规则与应用相剥离,形成独立的业务规则,然后将其配置到规则引擎当中,由事件引擎监听用户数据变化,触发对应业务规则,获取与之对应的业务响应。


如用户地理位置发生变化,从常住地上海到北京,那么推送的当地的天气信息结合用户自身健康状况,从知识图谱中获取其应当注意的健康建议,再推送给用户。如此一来,比纯粹的天寒请加衣这种普通的关怀信息,显得更加个性化。


与此同时,通过用户日常行为分析,结合用户画像,亦可以通过匹配该用户喜好,健康特征,推荐养生服务,资讯,商品等信息,促进平台相关业务的用户触达率,进而提升平台销售能力。


通过用户行为收集,使用消息驱动模式,事件引擎作为触发器,规则引擎配置业务规则,可以灵活的部署和应对市场变化,动态添加对应事件响应规则。


亦能快速部署新业务规则上线,后端服务也可以灵活切换;在日益要求快速响应用户需求的现在,灵活部署应用就显得尤为迫切。


规则引擎还通过集成用户信息等相关数据源,使得事件发生时,不必获取全部用户信息,而是由规则引擎配置规则时,配置规则对应所需数据,事件引擎只需要传递用户 ID、事件 ID 和事件值就可以触发对应规则,而无需由调用方获取,有效降低前端交互数据量。


  1. 健康物联场景



图 9 健康物联场景


来康平台自研了智能健康镜,脉诊仪,智能尿检仪等健康检查设备之外,还引入了第三方穿戴设备。这些设备通过数据网关将用户健康数据统一归集,转换和标准化之后存入 PHR,同时根据规则分发至事件引擎,与此同时也与第三方穿戴设备平台的数据集成,实现了物联设备的数据统一入口。


在此基础上,数据分发功能可以实现多渠道数据分发,通过配置数据来源,分发规则,将指定数据分发至相关需求 API,满足个性化业务需求。


对于实时数据监测和健康预警需求来讲,通过数据网关的消息分发,事件引擎结合规则引擎实现了更精细化更个性化的业务触发,从而实现千人千面的用户反馈。


通过对智能穿戴设备数据的实时监控亦可以在老人等需要间接看护的人群健康数据发生异常时,予以及时的救治,如长时间停留不动,血压、心率等数据异常时,及时通知社区医院医生予以关注,并通过电话及时通知其家属或者社区工作人员,及时上门检查患者身体情况。


目前,该应用已在基层社区医院得到试点,实现了对特殊病人的健康数据的实时监控,智能预警和健康档案管理。


  1. 智能客服场景



图 10 健康物联场景


在智能客服场景下,需要指出用户可以通过智能客服功能快速获取相关信息,如根据用户位置,获取当地天气预报信息,结合用户健康档案信息给用户推送适合其健康状况的健康信息和生活提醒。


此场景下,规则引擎作为核心组件,通过用户位置信息事件触发天气预告规则,调用获取外部天气信息,而后根据天气预报数据规则,融合用户信息和健康档案数据,调用对应规则,获取个性化关怀信息后及时通知用户。用户同样也可以主动发起问询任务,评估任务等功能。


智能导航引擎可以支持命令式和提问式智能导航。


提问式是使用 NLP 技术判断用户意图,从而可以使得用户可以通过语音和文字形式快速访问来康平台相关功能。通过问答模板的配置,采用多轮对话方式,收集完整相关上下文信息后,获取对应服务内容。如用户需要购买火车票,则可以输入购买火车票。


NLP 引擎判断意图为购买,领域是火车票,但购买火车票需要提供时间,起始站点等信息。通过配置对应问答模板,则智能导航引擎会提问:请输入出行时间,起始站点信息。


如用户输入信息不完整,问答模板则判断缺失信息,再将缺失信息对应问题输出,要求用户输入。


命令式则是配置对应客服命令,如打开健康档案,NLP 引擎意图判断是打开,对象是健康档案,那么就获取对应功能地址,自动获取用户信息并加载对应页面。


2019 年 1 月 04 日 15:356302

评论

发布
暂无评论
发现更多内容

专科小伙豪取三杀,斩获阿里、京东和蚂蚁Java岗offer的原因找到了!

北游学Java

Java 面试

Spring Cloud Netflix Eureka的参数调优

互联网架构师小马

终端架构深研,CodeDay 成都站等你

蚂蚁集团移动开发平台 mPaaS

flutter mPaaS Codeday Meetup

🌏【架构师指南】分布式技术知识点总结(下)

李浩宇/Alex

分布式 架构设计 6月日更 6 月日更

凭这份pdf每天花2小时学习,3个月后拿下阿里/美团/京东等offer

云流

Java 程序员 架构 面试

5月份凭这份pdf拿下了百度,阿里,腾讯,字节等大厂的工作

Crud的程序员

Java spring 架构 编程语言

分布式能解决一切问题吗?百度架构师为你解答架构真正奥义!

Java架构师迁哥

WWDC21 给开发者最重要的7条新信息

阿里巴巴淘系技术

开发者 WWDC21

iOS开发21年6月面试总结(未完待续~)

iOSer

ios iOS面试 ios开发 面试题总结 iOS 知识体系

在线图片坐标拾取工具

入门小站

2021年版,拼多多/阿里/今日头条/京东 Java面经大合集(含答案)

Java架构师迁哥

新思科技宣布收购 Code Dx公司 添加软件漏洞关联、优先级和合并风险报告

InfoQ_434670063458

新思科技

Flink User-Defined Source

Alex🐒

flink 翻译 Flink扩展 flink1.13

80后自立门户,90后异军突起,中国投资新势力加速崛起 | 创业邦2021年40位40岁以下投资人重磅发布

创业邦

创业

阿里云中间件首席架构师李小平:企业为什么需要云原生?

阿里巴巴中间件

5W1H聊开源之Who/When/Where——谁在何时何地“发明”了开源?

禅道项目管理

Linux 开源 软件

公安情报研判分析系统解决方案,合成作战系统搭建

13823153121

网易有道开源EMLL:高性能端侧机器学习计算库,大幅提高计算性能

有道技术团队

人工智能 机器学习 高性能计算 端侧AI

数据库设计的 10 个最佳实践

xcbeyond

数据库 数据库设计 6月日更

阿里云边缘容器服务ACK@Edge 通过33项测评,拿到“2021云边协同能力认证”

阿里巴巴中间件

还说这不是你:Java开发多年面试遭拒,末了还不知道该学习什么提升自己

互联网架构师小马

Java 程序员 面试

搭建Prometheus+Grafana的云平台监控系统

学神来啦

云计算 Linux 运维 开发日志

移动开发iOS,薪资如何?待遇怎样!

ios开发 iOS 知识体系

MySQL各大版本新特性一览

互联网架构师小马

MySQL 数据库

关于Redis分布式锁的那些事

Hex

redis 后端

WebRTC学习—WebRTC详解

Linux服务器开发

WebRTC ffmpeg 音视频开发 SRS流媒体服务器 C++音视频

谁说双非本就一定无缘阿里!(四年crud经验已拿下P7)面经分享

云流

Java 程序员 架构 面试 计算机

WebRTC 传输安全机制第二话:深入显出 SRTP 协议

阿里云视频云

WebRTC 通信 实时音视频 流媒体开发 SRS流媒体服务器

第六课作业

杰语

细细阅读,3张图带你理解,零拷贝,mmap和sendFile

奔着腾讯去

c++ Linux Mmap C++后台开发 网络io

必须加强对电商促销节的监管:保障普通消费者合法权益

石头IT视角

Study Go: From Zero to Hero

Study Go: From Zero to Hero

基于事件驱动的健康物联数据融合汇聚架构初探-InfoQ