業務賦能利器之外賣特徵檔案

2021-08-19 06:47:59 字數 4084 閱讀 6954

美團外賣業務自2023年9月啟動至今已運營三年時間。截至2023年12月,美團點評整個外賣平台的日訂單超過900萬。從發展速度和體量上看,外賣業務仍處在迅猛發展的上公升期。與早期飛速增長的狀態相比,隨著規模的不斷擴大,業務的發展需要更健康、高效,這就對業務物件、業務環節的整體業務運營管理提出更高的要求。

特徵檔案平台向各業務提供了使用者/商戶篩選和檔案管理服務,同時提供了資料查詢、儲存、生成、匯出等資料管理功能,能夠提高運營工作效率。當前使用者特徵檔案平台覆蓋全部的外賣使用者,有特徵標籤近200個,商戶特徵檔案平台覆蓋全部的外賣商戶,有特徵標籤400多個。

特徵檔案的使用者希望通過平台及時獲取到滿足篩選條件的結果集,並儲存固定的篩選邏輯,實現定製化篩選。抽象出來,主要有以下幾個核心訴求:

面對上面的需求,開發人員需要解決以下幾個核心問題:

特徵檔案的標籤生產,在外賣資料倉儲中完成。針對主題加工出需要的標籤,圍繞使用者以及商戶建立完善的標籤體系,支撐上層應用。我們使用了es(elastic search)儲存單天的特徵資料,極大的改善了系統的查詢效能,實現了即時查詢海量資料。對於特徵檔案查詢結果的儲存與查詢,我們可以借助於hbase的非結構化儲存和強大的儲存能力,將資料服務進行包裝,提供統一的服務客戶端進行資料互動,業務系統根據需求呼叫相應的服務,解耦與業務系統的邏輯。

目前特徵檔案平台主要提供以下服務:

特徵檔案服務的系統架構如下圖所示。主要分為三個部分:資料加工層(資料倉儲)、資料服務層(waimai_data_feature_service服務)、資料應用層。

在資料加工層中,特徵檔案的資料來源主要為離線資料。離線資料來源儲存在hive中,主要收集了外賣資料倉儲中的使用者、商戶相關的業務資料、外賣流量資料。離線資料在資料開放平台進行加工處理,將標籤結果資料寫入線上es集群中。在離線資料寫入線上es集群的過程中,進行了資料去重處理(唯一性檢驗),保證了線上篩選結果的唯一性。

在資料倉儲之上,我們建立了資料服務層,並針對不同的應用選擇了差異化的資料儲存和查詢引擎。資料服務層中,使用es作為特徵儲存和查詢引擎,使用hbase儲存使用者/商戶例項(這裡的例項是指為業務方通過特徵檔案服務勾選出篩選條件並生成的資料結果集)。使用了mysql資料庫儲存特徵檔案平台相關的檔案、例項、標籤管理、平台操作日誌等資訊。

waimai_data_feature_service是資料服務層的核心,使用了公司提供的分布式服務通訊框架及服務治理系統框架,對外提供thrift介面。它提供的主要服務包括:特徵篩選的預覽查詢,檔案建立及管理,例項生成及管理,例項匯出,離線上傳例項,標籤管理。

最上層是資料產品和應用,基於外賣資料平台的特徵檔案平台提供了視覺化的功能,並針對不同的業務需求方提供不同的資料應用服務,主要分為兩大類:

waimai_data_feature_service服務架構如下圖所示,整體上分為六個部分:服務配置、mysql服務、hbase服務、es服務、aop(aspect oriented programming)、標籤管理。

服務配置:服務使用了美團統一配置中心(mcc)實現了服務配置管理。

hbase服務:使用hbase實現例項的儲存和查詢。

es服務:提供兩種es查詢方式。fromtoquery即傳統的分頁查詢,適合小資料量的淺分頁查詢,它的典型使用場景是特徵檔案平台中通過勾選某些篩選條件來預覽資料結果(預覽查詢)。scrollquery即深分頁查詢,用於一次性查詢大量的資料甚至是全部資料,它的典型使用場景是通過篩選條件獲取到全部資料結果集(例項生成)。

aop服務:提供了兩種切面,日誌上報和服務開關。日誌上報即日誌收集(埋點),適用於方法級別。服務開關實現了對不同服務的開關管理。

標籤管理:標籤管理模組將標籤分成了多種型別,不同的型別實現了不同的標籤管理方法(這裡的標籤管理方法是指標籤實現頁面展示邏輯的方法,標籤的篩選邏輯轉換成可供es查詢的過濾器方法,通過關聯標籤維表將標籤的查詢結果轉換成適合的結果形式方法)。featureshow提供了特徵檔案平台中的特徵標籤展示服務,genesfilter實現了將標籤查詢語言解析成esfilter的功能,parsequeryresult則實現了將es查詢結果解析成最終可展示的友好的結果形式。

特徵檔案平台的標籤體系如下圖所示。標籤分為兩大類:商戶特徵標籤和使用者特徵標籤。每一大類標籤中,我們又繼續劃分了維度。商戶特徵包含已合作外賣商戶和未合作外賣商戶兩個維度。使用者特徵包含外賣使用者和外賣裝置兩個維度。

在維度劃分的基礎上,繼續按照標籤的屬性進行分組。商戶特徵屬性包含:基本屬性、經營能力等。使用者特徵屬性包含:使用者自然屬性、使用者交易屬性等。在各個屬性內部是具體的特徵標籤,特徵標籤是乙個或多個具有相似業務含義的初級標籤的聚合形式。初級標籤是指在資料倉儲中最先生產出來的細粒度的標籤。標籤的全部行為由標籤管理方法決定,標籤的行為包含:標籤的展示樣式(新增、更改、刪除等)、標籤的使用邏輯等。

標籤體系為特徵檔案平台提供了可靠、穩定、規範的標籤管理服務,通過標籤體系我們可以規範資料開發流程、簡化和統一標籤的生產方式。我們使用es搜尋引擎來實現面向應用的標籤資料儲存,es自身有很強大的實時搜尋和分析效能。標籤管理服務便於開發人員靈活的配置平台中的可用標籤,未來可以支援定製化的標籤管理,也可以結合其他服務深入分析挖掘特徵檔案平台的標籤。

特徵檔案標籤的生產在外賣資料倉儲中完成,標籤生產資料流如下圖所示。資料流主要包括三大部分,資料來源、hive資料倉儲、資料應用。其中hive倉庫中又分為四個部分,ods表群、基礎表群(fact表、dim表、維度快照表)、集市層表群(aggr表)、應用層表群(topic表)。資料應用層分為兩個部分,應用緩衝層和應用層。標籤生產過程分六步:源資料獲取(extract)、ods層表群向基礎層表群轉換(transform)、基礎層向集市層的資料彙總、集市層向主題層的資料整合、主題層向應用層的緩衝、最終形成應用資料。

資料來源當前主要包含外賣各個業務線的業務庫和外賣日誌。我們將這一部分資料同步到hive資料倉儲中,形成ods層表群(和源系統同構的表群)。從ods層向基礎層表群轉換,得到我們的基礎資料層,其中包含事實表、維度表、快照表。基礎資料層中的表是我們生產標籤資料的核心基礎表,也是我們形成初級資料聚合表的直接資料來源。基礎資料層包含的資料例如訂單事實、商戶事實、行為事實等。

聚合層是我們形成初級資料聚合的地方,也是初級標籤生成的地方。在聚合層,我們將初級標籤劃分成了不同的屬性,依據標籤屬性分組,不同的分組對應不同的聚合表。

初級標籤生成後,我們將初級標籤整合到主題層。主題層是我們資料倉儲產出的可面向應用的最終結果表群。

資料應用部分我們首先進行了一層緩衝,即主題層過度到最終線上應用資料的應用緩衝層。在這一層,我們將初級標籤聚合成終極標籤,儲存結構選用了hive的map結構儲存。這樣的好處是將乙個或多個具有相似業務含義的初級標籤統一管理,並在標籤體系中具有相同的標籤行為。應用緩衝層僅儲存了最新一天的資料。

最後的應用層,我們將緩衝好的資料寫入線上的es集群中,每天都會進行重建索引的流程。

我們在hive中完成特徵資料的加工與儲存,整體特徵檔案系統幾乎涵蓋了外賣業務的所有指標。我們首先將指標按照主題歸類,針對主題加工出需要的標籤,然後建立層次準確清晰的資料底層模型,將不同主題的資料進行整合,圍繞使用者以及商家建立完善的標籤體系,支撐上層應用。

在資料倉儲之上的資料服務層,並針對不同的應用選擇了差異化的資料儲存和查詢引擎。資料服務層中,我們決定使用es作為特徵儲存和查詢引擎,主要有以下理由:

標籤查詢語言

特徵檔案平台支援的查詢語言是在標籤上定義的一階謂詞邏輯標籤查詢語言。傳統意義上的標籤通常僅具有「是否」邏輯,如:「成熟使用者、北京市」。特徵檔案中的標籤突破了傳統意義上標籤的定義,自身支援多種查詢邏輯:大於、小於、是、否。在標籤自身的查詢邏輯基礎上,標籤與標籤之間也支援與、或、非及組合邏輯。

舉例來說,特徵檔案支援如下的查詢語言:

「(物理城市名稱:淮北)與((是否有營業執照:是)或(是否有餐飲許可證:是))與(交易額:大於80))」。

當前的標籤查詢語言,極大的豐富了標籤之間的查詢可能組合。以使用者成熟度標籤舉例說明,包含三種傳統標籤:初級使用者、成長使用者、成熟使用者。特徵檔案平台支援對這三種傳統標籤進行直接篩選查詢,也支援通過對歷史訂單數的範圍自定義完成使用者成熟度標籤的自定義篩選查詢。

特徵檔案平台主要的使用場景是營銷、運營管理等領域。隨著美團外賣業務的發展,特徵檔案平台持續的遇到新的問題和挑戰。總結開發經驗,我們歸納出以下資料系統設計的要點:

未來,外賣特徵檔案平台將持續為外賣運營系統提供資料支援,將從以下幾個方面進行優化:

業務賦能利器之外賣特徵檔案

馬驤 2017 03 02 18 26 美團外賣業務自2013年9月啟動至今已運營三年時間。截至2016年12月,美團點評整個外賣平台的日訂單超過900萬。從發展速度和體量上看,外賣業務仍處在迅猛發展的上公升期。與早期飛速增長的狀態相比,隨著規模的不斷擴大,業務的發展需要更健康 高效,這就對業務物件...

火鍋外賣市場火爆 諮酷科技賦能餐飲商戶市場掘金

據此前美團發布的 中www.cppcns.com國餐飲報告2019 報告顯示,2018 年美團外賣總金額高達 2828 億元,日均交易 1750 萬筆。值得關注的是,報告顯示,2018 年消費訂單量 消費總金額在所有餐飲品類中都穩居首位的當屬火鍋品類,全年消費占全品類20.3 堪稱 2018 消費最...

以賦能業務為目標的技術創新

在軟體研發從業者的視角裡,創新分為兩種 一種是與軟體研發技術相關的創新,特別是在大資料和ai這種快速發展的領域,需要保持與技術進步的同頻 而另一種創新,是與公司業務相關的,不斷運用技術實現自動化 智慧型化 規範化,提高業務服務能力與使用者體驗。但對於很多技術人來說,常常會沉迷於技術創新或者是業務優化...