焦凱琳,于自強
(1.濟南市圖書館,山東 濟南 250001;2.濟南大學 信息科學與工程學院,山東 濟南 250022)
“十三五”時期是信息技術(shù)變革的突破性階段,在經(jīng)濟發(fā)展進入新常態(tài)的形勢下,傳統(tǒng)物流已難以滿足業(yè)務多元化、運營規(guī)?;?、管理數(shù)據(jù)化的要求。隨著信息獲取技術(shù)和數(shù)據(jù)感知技術(shù)的快速發(fā)展,物流行業(yè)所涉及的貨物流轉(zhuǎn)、車輛追蹤等相關(guān)數(shù)據(jù)規(guī)模急劇增長。2008-2014年,中國快遞量從15.13億件迅速激增到135.59億件,年復合增長率達36.79%,每一件快遞的背后都隱含著大量數(shù)據(jù)。Avent公司全球運輸副總裁Marianne McDonald表示,“每一樁運輸交易都會生成超過50列的數(shù)據(jù),以及超過2.5億的數(shù)據(jù)值”。預計未來五年,中國物流大數(shù)據(jù)市場規(guī)模年增速將保持在40%左右。隨著云計算[1]、物聯(lián)網(wǎng)[2]、深度學習[3]等大數(shù)據(jù)處理技術(shù)和海量數(shù)據(jù)分析技術(shù)的蓬勃發(fā)展,許多領(lǐng)域的數(shù)據(jù)處理技術(shù)和應用服務發(fā)生了深刻變革[4-5],如何對物流行業(yè)的海量數(shù)據(jù)進行高效管理和深度運用,通過挖掘物流行業(yè)大數(shù)據(jù)的潛在價值,解決傳統(tǒng)物流所存在的問題和自身瓶頸,實現(xiàn)物流行業(yè)的新舊動能轉(zhuǎn)換,推動傳統(tǒng)物流向智慧物流轉(zhuǎn)型已成為現(xiàn)代物流行業(yè)發(fā)展的一個必然趨勢。
當前,物流行業(yè)的信息化管理已經(jīng)引起國內(nèi)外相關(guān)行業(yè)的廣泛關(guān)注[6-7],涌現(xiàn)出大量的物流信息管理平臺。這些平臺包括電商物流平臺、區(qū)域配送平臺、行業(yè)物流平臺、供應鏈物流平臺、公路貨運信息平臺、物流金融服務平臺及在線倉儲平臺等。物流平臺種類繁多,目前已經(jīng)搭建并逐步完善的物流平臺是電商物流信息平臺。2013年5月阿里集團與金融機構(gòu)及十余家快遞公司共同投資成立“菜鳥網(wǎng)絡科技有限公司”,旨在通過這個物流大數(shù)據(jù)信息平臺實現(xiàn)淘寶、天貓商品全國24小時送達。
目前,國內(nèi)物流信息管理平臺在提高運力、節(jié)省成本方面取得了一定成效,能夠?qū)σ恍┪锪鲾?shù)據(jù)進行管理,但是缺乏以數(shù)據(jù)為導向的管理和服務模式,對海量物流數(shù)據(jù)的萃取和使用能力明顯不足。例如,“四通一達”(申通快遞、圓通速遞、中通快遞、百世匯通、韻達快遞)合計約占快遞行業(yè)市場份額的80%,但是對于大數(shù)據(jù)信息技術(shù)的研發(fā)和利用極為有限。面對當前每天1億個包裹的運送量,很多物流企業(yè)庫存高起、運力效率低下的問題日益顯現(xiàn)。
針對當前物流行業(yè)在數(shù)據(jù)萃取和利用方面的不足,著眼未來規(guī)模更加龐大的物流數(shù)據(jù)所引發(fā)的技術(shù)挑戰(zhàn),文中將深入探討海量物流數(shù)據(jù)的處理和利用,提出一種基于分布式服務器集群的海量物流數(shù)據(jù)存儲和計算的平臺架構(gòu),主要研究貨物信息、承載狀態(tài)、運輸軌跡、GPS數(shù)據(jù)、用戶信息等多種物流數(shù)據(jù)的快速接入、實時計算、高效存儲和深度挖掘方面的問題,探索海量貨物運輸共享、運輸路線動態(tài)規(guī)劃、貨物派送優(yōu)先級計算以及對任意物品的實時查詢追蹤等創(chuàng)新性服務的數(shù)據(jù)處理技術(shù),最終形成一個包含底層數(shù)據(jù)存儲分布式存儲平臺、中間層實時計算模型和挖掘分析算法以及上層創(chuàng)新性應用服務的面向智慧物流的海量數(shù)據(jù)解決方案。
物流行業(yè)中每一件貨物的運輸將產(chǎn)生文本數(shù)據(jù)、位置數(shù)據(jù)、運輸工具的GPS數(shù)據(jù)、當前路況的擁堵數(shù)據(jù)、導航數(shù)據(jù)、貨物的狀態(tài)信息等若干類數(shù)據(jù),要想對這些數(shù)據(jù)進行分析和利用,首先需要構(gòu)建海量數(shù)據(jù)分布式存儲和計算平臺,實現(xiàn)對大規(guī)模物流數(shù)據(jù)的高效管理。該平臺架構(gòu)如圖1所示,主要包含四個模塊,即數(shù)據(jù)采集與并發(fā)接入模塊、海量數(shù)據(jù)存儲分析模塊、流數(shù)據(jù)實時處理模塊,以及自適應“雙級”計算引擎。
圖1 海量物流數(shù)據(jù)分布式存儲和計算架構(gòu)
為實現(xiàn)可共享運輸貨物的實時匹配以及任意時刻任意貨物狀態(tài)的實時查詢等功能,必須將每件貨物所涉及的各種數(shù)據(jù)實時接入數(shù)據(jù)平臺。當每天有上億件包裹連續(xù)產(chǎn)生數(shù)據(jù)時,就相當于有上億個數(shù)據(jù)源不斷產(chǎn)生數(shù)據(jù)流,而傳統(tǒng)技術(shù)難以實現(xiàn)對如此大規(guī)模數(shù)據(jù)流的實時接入。為此,基于分布式消息隊列設計海量物流數(shù)據(jù)的高速并發(fā)接入模塊。首先,數(shù)據(jù)并發(fā)接入模塊的分布式架構(gòu)利用多組隊列同時接入數(shù)據(jù),相互協(xié)同工作,并根據(jù)各隊列負荷情況動態(tài)調(diào)整接入能力,自動分配更多隊列接入海量數(shù)據(jù),使整個接入層在應對海量數(shù)據(jù)接入時發(fā)揮最大接入效能。個別隊列出現(xiàn)故障后會有其他隊列替代,不會出現(xiàn)數(shù)據(jù)丟失,保證接入層的穩(wěn)健性。其次,數(shù)據(jù)并發(fā)接入模塊中的分布式消息隊列充分利用操作系統(tǒng)自身緩存“寫穿”和磁盤順序?qū)懭氲母咝?,將所有接收的消息順序?qū)懭氪疟P,既允許消息持久化存儲,又保證消息的效率讀取和內(nèi)存存取一致,超越硬盤讀取速率幾個數(shù)量級,保證接入的實時性。最后,引入數(shù)據(jù)跟蹤反饋機制,如果消息隊列中的每條數(shù)據(jù)被成功處理,該隊列會收到一個確認反饋,然后永久刪除該數(shù)據(jù);否則,該隊列將從硬盤中讀取該數(shù)據(jù),放至當前隊列的末端,等待重發(fā),以保證每條數(shù)據(jù)至少被處理一次。
要想實現(xiàn)對海量物流數(shù)據(jù)的深入分析,首先需要對這些數(shù)據(jù)進行高效存儲和管理,為此,設計了基于服務器集群的海量數(shù)據(jù)分布式存儲模塊。該模塊主要采用Hadoop系統(tǒng)中的HDFS文件系統(tǒng)和HBase數(shù)據(jù)庫[8-9],實現(xiàn)對物流數(shù)據(jù)中文本結(jié)構(gòu)化數(shù)據(jù)和圖片、視頻等非結(jié)構(gòu)化數(shù)據(jù)的有效存儲。HDFS是一個分布式的、可擴展的、可移植的文件系統(tǒng),構(gòu)建于Linux所使用的普通文件系統(tǒng)之上,分布式特性使其能夠利用集群內(nèi)各節(jié)點聯(lián)合的存儲能力,將數(shù)據(jù)存儲由TB級別提高到PB級別。在該平臺中,HDFS作為海量數(shù)據(jù)最底層的存儲組件,能夠為上層模塊和組件提供統(tǒng)一的數(shù)據(jù)存取接口。HBase是一個分布式列存儲數(shù)據(jù)庫,以HDFS作為底層文件系統(tǒng),為海量數(shù)據(jù)的管理提供了易于理解和操作的手段。與傳統(tǒng)的關(guān)系型SQL數(shù)據(jù)庫的行式存儲有很大不同,HBase的列式存儲易于分塊進而易于并行化分解和查詢,能夠達到幾億條/秒的快速數(shù)據(jù)查詢、檢索速度。HBase的分布式特性使其具有極強的擴展性,存儲能力和檢索速度隨著硬件的增加而線性增加。
為了支撐物流信息實時查詢等功能,許多物流數(shù)據(jù)需要被實時處理,為此,該平臺引入了分布式流數(shù)據(jù)實時處理模塊。該模塊采用Actor-Model模型[10-11],可以部署在多服務器組成的集群之上。該模塊由若干個邏輯處理單元(PE)組成,每個物理節(jié)點可根據(jù)自身負載運行任意數(shù)目的PE。PE之間通過發(fā)送和接收Event的形式進行數(shù)據(jù)傳輸。每個Event可以表示為一個三元組
該平臺作為海量物流信息處理的底層平臺,需要支撐上層多種智慧物流的相關(guān)業(yè)務,這些業(yè)務既包括一些涉及批數(shù)據(jù)處理的分析研判業(yè)務(例如根據(jù)歷史數(shù)據(jù)分析和預測一個物流公司未來一段時間的業(yè)務量),也包括一些與數(shù)據(jù)實時處理相關(guān)的查詢跟蹤業(yè)務(例如查詢一件包裹的實時位置和移動軌跡)。由于上述業(yè)務所涉及的數(shù)據(jù)處理模式不同,不同業(yè)務的數(shù)據(jù)處理需要在不同數(shù)據(jù)模塊之間切換,導致計算復雜性增大。為此,該平臺設計了批處理計算模式和流處理計算模式相統(tǒng)一的“雙級”計算模式。該計算引擎通過大數(shù)據(jù)的分割與備份技術(shù),實現(xiàn)數(shù)據(jù)并行訪問,同時保證多點失效情形下的數(shù)據(jù)安全?!半p模式”計算引擎將批處理計算模式(MapReduce)和流計算模式集成于同一個計算模型,對上層提供統(tǒng)一的計算接口,并隱藏層內(nèi)的實現(xiàn)細節(jié)。層內(nèi)需要將上層用統(tǒng)一計算接口實現(xiàn)的計算任務重寫并判斷應該用兩個引擎中的一個或者兩個全用來處理這個任務。重寫主要是將統(tǒng)一計算模式提供的scatter()和gather()基本原語重寫為map()、reduce()(批處理計算模式)或emit()(實時流處理計算模式)。圖2(a)和(b)是批處理計算模式和流處理計算模式各自的計算過程。圖2(a)所示的MapReduce任務是一個二層結(jié)構(gòu),第一層是通過map()原語將任務分散到各個Mapper節(jié)點并行處理,第二層是通過reduce()原語將中間處理結(jié)果收集到Reducer節(jié)點合并后將結(jié)果輸出。圖2(b)所示是一個流計算任務,流計算的基本處理單元是PE,PE間不限層數(shù),通常根據(jù)任務來確定流向。PE和PE之間的信息交互原語是emit()。
(a)MapReduce任務重寫 (b)流計算任務重寫
基于底層海量物流數(shù)據(jù)分布式存儲和并行計算平臺,文中擬構(gòu)建“海量貨物共享運輸策略”、“海量物流包裹位置的實時查詢技術(shù)”及“包裹派送優(yōu)先級計算問題”等創(chuàng)新物流服務,并設計出構(gòu)建各項服務的技術(shù)路線,智慧物流創(chuàng)新服務技術(shù)框架如圖3所示。
“互聯(lián)網(wǎng)+物流共享”是智慧物流的一個重要研究領(lǐng)域。然而,目前的物流現(xiàn)狀是眾多物流公司貨物運輸通常由自己的運輸網(wǎng)完成,而物流公司之間很少共享運輸網(wǎng)絡,以至于相同區(qū)域某段時間內(nèi)一些物流公司的運力閑置,而另一些公司的運力不足。此外,當物流公司A需要將一批貨物從S1運送到D1,而物流公司B打算將一批貨物從S2運送到D2,如果兩組地點滿足S1→S2→D2→D1或者S1→S2→D1→D2等關(guān)系,兩批貨物則可以由一家物流公司承運,以減少運輸成本。為解決類似問題,該課題將研究面向海量貨物的共享運輸策略,將任意貨物表示為pi(Si,Di),該問題就轉(zhuǎn)化為相似軌跡的最大分類問題,即盡可能地將可以共享運輸?shù)呢浳锓譃橐活?,從而減少總的運輸代價。該問題為當前聚類方法[12]提供了很好的應用場景。針對該問題,文中提出了貨物運輸軌跡相似性的啟發(fā)式分組算法。該算法首先在整個運輸區(qū)域上建立不同粒度的包裹運輸路線索引(ML-Index),如圖4所示。
當平臺接收到一個待分配的包裹時,則根據(jù)該包裹的運輸軌跡,將其添加到ML-Index。當運輸車輛信息在該平臺時,則根據(jù)該車輛設定的起點和終點計算該車輛的運輸軌跡,然后根據(jù)ML-Index索引結(jié)構(gòu),查找與車輛運輸軌跡較為相近的物流包裹,并將物流包裹分配給該車輛。此時,ML-Index的作用是為查找相似軌跡提供不同粒度的索引,便于設計多層剪枝策略,從而迅速縮小搜索區(qū)間,提高查詢效率。當ML-Index中某個起點和終點相似軌跡的包裹數(shù)量達到某個閾值后,而平臺現(xiàn)有的運輸車輛信息與該組包裹軌跡不匹配時,平臺將會向管理人員發(fā)出運送請求,安排單獨車輛對該批包裹進行運輸,從而保證包裹運輸?shù)募磿r性,避免造成運輸延誤。
圖3 智慧物流創(chuàng)新服務技術(shù)框架
圖4 ML-Index索引架構(gòu)
為實現(xiàn)物流包裹位置的實時查詢,首先設計海量包裹位置的索引結(jié)構(gòu)。由于該項目的數(shù)據(jù)存儲平臺是基于多服務器集群的分布式存儲系統(tǒng),傳統(tǒng)的基于單機的數(shù)據(jù)索引技術(shù)難以解決該項目海量數(shù)據(jù)索引的需求。因此,提出面向海量物流數(shù)據(jù)的分布式索引技術(shù),主要包括針對包裹、商品結(jié)構(gòu)化數(shù)據(jù)的倒排索引,針對包裹位置、車輛軌跡等時空數(shù)據(jù)的R-tree索引,以及兩種索引結(jié)構(gòu)之間的關(guān)聯(lián)索引機制。
具體來說,該課題所設計的海量物流數(shù)據(jù)分布式索引結(jié)構(gòu)(logistics data index,LDI)(如圖5所示),底層是基于多數(shù)據(jù)節(jié)點數(shù)據(jù)存儲模式,每個數(shù)據(jù)節(jié)點中存儲著大量的商品、運輸工具等信息構(gòu)成的結(jié)構(gòu)化數(shù)據(jù),以及包裹和運輸工具的位置、軌跡數(shù)據(jù),而且這兩種數(shù)據(jù)存在對應關(guān)系。對于商品、運輸工具等信息構(gòu)成的結(jié)構(gòu)化數(shù)據(jù),LDI對其建立倒排索引,能夠快速得到用戶查詢的包裹信息;對于包裹和運輸工具的位置、軌跡數(shù)據(jù),LDI通過R-tree對其建立索引,能夠快速得到某個包裹當前的位置信息?;贚DI分布式索引結(jié)構(gòu),當提交商品位置查詢后,平臺基于LDI的倒排索引能夠快速找到與用戶查詢商品對應的包裹,然后根據(jù)LDI的關(guān)聯(lián)索引,得到該包裹與其運輸工具在R-tree的位置信息,實現(xiàn)對查詢的實時響應。
圖5 LDI索引架構(gòu)
現(xiàn)實中一個有趣的問題是當快遞員以盡可能少的時間將一個包裹送達后,正好趕上客戶外出,便由客戶小區(qū)的門衛(wèi)代收。而該包裹的物品并非客戶急需,以至于客戶在5天后才從門衛(wèi)處取走快遞。該現(xiàn)象反映的一個問題是不同用戶對接收包裹的渴望程度并不相同,這就表明可以為每個包裹設置不同的派送優(yōu)先級。派送優(yōu)先級越高的包裹,則對其優(yōu)先派送。例如,對于用戶非常迫切收到的包裹,可以給它設置一個較高的派送優(yōu)先級,使用戶能夠盡快收貨;而對于一些用戶并不著急接收的包裹,則可以設置一個較低的派送優(yōu)先級,適當?shù)匮雍笈伤停瓤梢詼p少快遞員的工作強度又不會影響用戶體驗。
這里,如何為每一個包裹計算派送優(yōu)先級是一個極為復雜的線性回歸問題,需要考慮商品的屬性、用戶評價記錄、天氣狀況等諸多因素。為此,文中研究了基于深度學習模型計算不同包裹的派送優(yōu)先級。在該方法中,首先通過對包裹派送的歷史數(shù)據(jù)進行標注,生成訓練集。訓練集中每條數(shù)據(jù)格式為
圍繞海量物流數(shù)據(jù)的快速計算和智能分析這一核心課題,提出了應對大規(guī)模物流數(shù)據(jù)的分布式存儲和實時計算的底層平臺,研究了面向智慧物流的多項創(chuàng)新性服務及其涉及的關(guān)鍵科學問題,即大規(guī)模貨物的運輸路線共享問題、海量物流包裹位置的實時查詢追蹤問題,以及極具特色的貨物派送優(yōu)先級計算問題,并給出了具體的技術(shù)路線。下一步,將根據(jù)相關(guān)技術(shù)路線實現(xiàn)一個完整的海量物流數(shù)據(jù)計算與應用平臺,為智慧物流的相關(guān)研究提供可借鑒的平臺架構(gòu)和技術(shù)路線。