基於事件驅動的健康物聯數據融合匯聚架構初探

簡述

隨着傳感器微型化,智能手機的興起,以及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引擎意圖判斷是打開,對象是健康檔案,那麼就獲取對應功能地址,自動獲取用戶信息並加載對應頁面。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章