唐毅 常誠
一般來說, 邊緣計算(e d g e computing)是指一種將應(yīng)用程序及相關(guān)服務(wù)的運算,由網(wǎng)絡(luò)中心節(jié)點移至網(wǎng)絡(luò)邏輯上的邊緣節(jié)點來處理, 目標(biāo)是加快數(shù)據(jù)處理與傳送速度,減少延遲。這里提到的邊緣節(jié)點可以是各種具有計算能力的傳感器, 小到終端嵌入式芯片, 大到智能汽車。 Garnter 在Top 10 Strategic Technology Trends for 2019 中提及從現(xiàn)在起到2028 年, 從工業(yè)基礎(chǔ)計算單元, 智能手機到智能駕駛的能源管理, 邊緣計算設(shè)備將日趨智能化。
邊緣計算通常會被與云計算做比較, 但這并不意味著邊緣計算要取代云計算。 實際上, 邊緣計算與云計算各有所長, 當(dāng)前云計算的優(yōu)勢已被業(yè)界所熟悉, 云計算擅長需要海量可擴展存儲能力, 非實時且周期相對較長的數(shù)據(jù)處理和分析, 而邊緣計算脫胎于云計算, 它擅長的是局部短周期數(shù)據(jù)的實時處理和分析。 從當(dāng)前工業(yè)界面臨的實際情況出發(fā), 云計算與邊緣計算之間不是替代關(guān)系, 而是互相協(xié)同的關(guān)系, 二者之間緊密結(jié)合才能更好地滿足各種需求場景的匹配。
近年來, 隨著智能終端設(shè)備的普及, 在各種社交應(yīng)用中記錄和分享更豐富的多媒體內(nèi)容逐漸為用戶所習(xí)慣。 隨著移動通信服務(wù)的持續(xù)優(yōu)化, 通訊延遲將不再是瓶頸, 這就意味著在人與人之間的無縫協(xié)作形式將可能被賦予更多的可能性, 尤其是AR ( 增強現(xiàn)實 )和 MR ( 混合現(xiàn)實 )等技術(shù)的逐漸成熟可以帶給人們更加沉浸式的協(xié)作體驗, 同時, 這些新技術(shù)需要實時同步大量真實場景的建模數(shù)據(jù), 對設(shè)備間通訊的帶寬和延遲有著極高的要求。
不難想象, 數(shù)據(jù)處理的實時性要求部分計算能力必須移至邊緣節(jié)點以縮短相應(yīng)時間, 此外, 部分?jǐn)?shù)據(jù)由于要確保私密性與安全性也不適合交由云計算來處理。 同時, 云計算可以統(tǒng)一管理和調(diào)度邊緣節(jié)點, 通過匯聚邊緣節(jié)點的數(shù)據(jù)以及部分計算結(jié)果, 優(yōu)化和更新模型或者業(yè)務(wù)規(guī)則下發(fā)到邊緣側(cè),形成良性循環(huán)。
為了應(yīng)對未來用戶間大量數(shù)據(jù)低延遲無障礙的溝通, 不論是移動運營商還是應(yīng)用開發(fā)商都需要提供系統(tǒng)級的解決方案。 小到一起完成一次課程作業(yè), 大如跨部門遠(yuǎn)程完成整車設(shè)計, 企業(yè)內(nèi)部或者個人用戶之間通過更豐富的交互方式能夠降低溝通成本, 促進(jìn)創(chuàng)新, 而希望增進(jìn)協(xié)作方式的多樣性和實時性已經(jīng)成為企業(yè)和大眾迫切的需求。
目前面向企業(yè)或者個人的在線協(xié)同工具大多都已支持多人在線實時編輯一般類型的數(shù)據(jù)如文本和手繪圖形等, 然而大多數(shù)情況下這種協(xié)作是碎片化的, 缺乏一致的用戶體驗, 而且基于的技術(shù)實現(xiàn)也不統(tǒng)一。 三維重建技術(shù)是增強現(xiàn)實(AR)技術(shù)的基礎(chǔ), 經(jīng)過掃描重建后的3D模型可以直接應(yīng)用與 AR 或者虛擬現(xiàn)實(VR)的不同場景中, 從而增強用戶沉浸式的交互體驗。這里我們以對三維圖像的在線協(xié)同為例來討論印象筆記對云邊一體下的下一代協(xié)同交互技術(shù)的探索和思考。
利用相機進(jìn)行三維重建在學(xué)術(shù)和工業(yè)界已經(jīng)不是一個新鮮話題, 然而商用的解決方案還停留在需要多種圖像設(shè)備配合并結(jié)合大量的后端計算來解決。 隨著消費級“深度感知相機"即基于結(jié)構(gòu)光的RGB-D(RGB+ Depth)相機的在手機移動端的廣泛使用, 以及手機移動端自身計算性能的提升,利用移動端相機進(jìn)行三維重建將成為現(xiàn)實?;赗GB-D相機的三維建模方法在已經(jīng)在國內(nèi)外展開了不少的研究, 比較有名的是KinectFusion、Kintinuous,ElasticFusion,InfiniTAM,BundleFusion等, 工業(yè)界的實踐中國外如 Apple公司,國內(nèi)如小米和 oppo 等公司都在積極推動深度相機在手機上的應(yīng)用。
5G網(wǎng)絡(luò)時代的到來將使得邊緣計算與云端海量存儲與大數(shù)據(jù)處理更為有效的結(jié)合,印象筆記正在探索如何利用邊云一體來搭建新一代的技術(shù)架構(gòu), 印象筆記愿景是要做用戶的"第二大腦", 大腦對真實世界的建模能力自然是我們希望接近或者達(dá)到的目標(biāo)之一。 印象筆記擁有一款名為“掃描寶”的移動端手機應(yīng)用, 目前該應(yīng)用可通過手機的攝像頭識別紙張邊緣,不需要額外的手動操作即可完成掃描紙質(zhì)文件, 自動對文件增強對比,自動糾正傾斜,同時也可以去除文件中的陰影, 使得掃描后的文檔可讀性更強, 搭配印象筆記本身的多端同步功能可以實現(xiàn)紙質(zhì)文件的跨平臺處理和歸類功能, 在這些功能背后所基于的技術(shù)是印象筆記自主實現(xiàn)的計算機圖像識別算法。結(jié)合三維圖像的重建技術(shù), “掃描寶”有望成為邊緣節(jié)點中對真實世界進(jìn)行三維采樣的有利工具之一。
為了應(yīng)對前述提及的用戶對更豐富多樣的內(nèi)容進(jìn)行協(xié)作, 在信息采集時就需要做好準(zhǔn)備, 以印象筆記的掃描寶為例, 3D圖像的建模功能將使得內(nèi)容的收集變得更為多樣化, 同時在移動設(shè)備上采集三維信息之后如何有效的保存和展現(xiàn)給用戶也是我們需要面臨的課題。
為了應(yīng)對更為豐富內(nèi)容的記錄與編輯, 傳統(tǒng)的編輯器技術(shù)往往顯得有些力不從心。 傳統(tǒng)上所見即所得(What You See Is What You Get)的富文本編輯器旨在輔助用戶編寫以文本為基礎(chǔ)的內(nèi)容, 衡量富文本編輯器的先進(jìn)性的指標(biāo)有很多, 諸如工具欄可支持的功能數(shù)量, 編輯器可支持的格式等等。 很多標(biāo)準(zhǔn)如今仍然成立, 然而, 工業(yè)界最新一代的編輯器的目標(biāo)已不再只是用于打印或者出版, 它所編輯的內(nèi)容將會在瀏覽器或者諸多顯示設(shè)備上呈現(xiàn), 內(nèi)容可以是實時的, 可交互的, 甚至是多人參與的可協(xié)作的內(nèi)容。
一般來說, 使用瀏覽器原生的ContentEditable 屬性, 這是絕大多數(shù)現(xiàn)有富文本編輯器所使用的實現(xiàn)方式。 然而ContentEditable的缺陷也很明顯, 使用它來編輯文本, 即便是最簡單的諸如字體加粗或者換行, 不同的瀏覽器內(nèi)核對其的實際的實現(xiàn)都不盡相同, 由于不同設(shè)備或者平臺對瀏覽器的支持不同, 在客戶端A 和客戶端 B 上使用基于ContentEditable 實現(xiàn)的同一個編輯器來處理相同內(nèi)容,極有可能出現(xiàn)嚴(yán)重的數(shù)據(jù)不一致問題, 當(dāng)面臨更加豐富的多媒體數(shù)據(jù)時該編輯器將會束手無策。
印象筆記目前正在積極探索改造其編輯器內(nèi)核, 與傳統(tǒng)編輯器最為主要的差異有如下幾點:
編輯內(nèi)容與視覺呈現(xiàn)完全分離, 在依然使用contentEditable屬性來處理輸入和選擇的同時,定義一套編輯器內(nèi)部使用的數(shù)據(jù)模型( data model) ,無需直接處理 DOM。 通過捕獲用戶的操作行為,由原先的直接操作 DOM,改為更新數(shù)據(jù)結(jié)構(gòu)狀態(tài),再將更新后的狀態(tài)映射至用戶可見的編輯器視圖的方式,來實現(xiàn)編輯器的所見即所得,這樣用戶的操作行為對數(shù)據(jù)結(jié)構(gòu)的更新是非??煽氐模?同時contenteditable所帶來的副作用也消失了。
用戶對重新定義的內(nèi)部數(shù)據(jù)結(jié)構(gòu)的所做的任何操作都要滿足join semi-lattice 所要求的 3 種特性即交換律,冪等律和結(jié)合律,從而使得編輯器可支持任意類型數(shù)據(jù)的在線協(xié)作。
編輯器將采用可擴展的插件式架構(gòu), 從可處理內(nèi)容的格式到內(nèi)容的組織和呈現(xiàn)都將變得更加自由, 與印象筆記其他的系統(tǒng)無縫對接的同時也可以很方便的接入外部服務(wù)。
為了滿足用戶對 AR/MR交互的需要, 也就是對三維模型支持實時的在線協(xié)作, 除了邊緣設(shè)備上的圖像采集和更為自由的編輯器之外, 協(xié)同交互技術(shù)也面臨相當(dāng)?shù)奶魬?zhàn)。
自谷歌推出商用在線協(xié)同文檔已有十年, 與之相關(guān)的解決實時協(xié)同操作一致性問題的算法研究也有20多年的歷史。 實現(xiàn)實時交互的關(guān)鍵技術(shù)之一就是如何在不影響開發(fā)效率的前提下如何支持不同交互原子操作的沖突合并和最終一致性問題, 一般來說目前有兩類實現(xiàn)方式, 一種稱之為操作轉(zhuǎn)換( operation transformation),簡稱 OT, 另一種稱之為可擴展性無沖突復(fù)制數(shù)據(jù)類型 ( conflict-free replicated data type), 簡稱 CRDT。
OT算法自上個世紀(jì) 80 年代到如今已經(jīng)有近 30 年的歷史, 一直被作為很多在線協(xié)同編輯工具的解決方案。它的基本思想是本地產(chǎn)生的操作立刻執(zhí)行, 本地需要將接收到的遠(yuǎn)程操作與本地操作歷史中已執(zhí)行的并發(fā)操作進(jìn)行操作轉(zhuǎn)換后再執(zhí)行。 雖然 OT 具有較好的本地響應(yīng)速度, 但是隨著要支持的操作類型的增加, 設(shè)計正確的操作轉(zhuǎn)換函數(shù)會變得相當(dāng)困難。
CRDT作為一類新的協(xié)同編輯算法誕生較晚, 由法國的 INRIA 最早提出。 該算法的特點是不需要保存操作歷史, 并發(fā)操作之間也不需要進(jìn)行操作轉(zhuǎn)換。 通過分配給所有操作對象唯一的標(biāo)識符ID, 使得并發(fā)操作之間可交換執(zhí)行。 大部分 CRDT 算法具有良好的伸縮性, 適合應(yīng)用于大規(guī)模的協(xié)同編輯領(lǐng)域。 CRDT 算法的挑戰(zhàn)是如何合理設(shè)計操作對象全局唯一的 ID, 以及如何減少各種操作類型在網(wǎng)絡(luò)上傳輸?shù)男蕟栴}等。
CRDT與 OT 算法都有各自的優(yōu)勢與不足, 以對三維圖像的協(xié)同編輯來說, 除了要解決對三維模型的各種編輯操作支持沖突合并以外, 還要解決相應(yīng)的計算機視覺模型的訓(xùn)練和更新問題, 真正做到邊緣設(shè)備實時處理, 云端設(shè)備批量更新的邊云協(xié)同。 印象筆記為了適應(yīng)下一代協(xié)同編輯要支持的多數(shù)據(jù)類型間操作的一致性和可擴展性, 正在積極嘗試綜合兩種技術(shù)的長處從而改進(jìn)現(xiàn)有的CRDT算法, 支持多數(shù)據(jù)類型實時同步,更好的解決最終一致性問題。
為了應(yīng)對用戶未來多種多樣的實時協(xié)作形式, 只有充分利用邊緣計算與云計算的優(yōu)勢才能找到有效的解決方案。 印象筆記正在積極探索下一代云邊一體的交互技術(shù), 在邊緣節(jié)點處理數(shù)據(jù)的實時采集和分析, 在云端利用服務(wù)器來統(tǒng)一管理邊緣節(jié)點的身份驗證和數(shù)據(jù)同步問題, 利用改進(jìn)的 CRDT 技術(shù)來處理邊緣節(jié)點之間, 邊緣節(jié)點和云端服務(wù)器間的操作一致性問題, 希望可以為下一代協(xié)同交互提供一整套系統(tǒng)級解決方案。
作者單位:唐毅 印象筆記首席執(zhí)行官
常誠 印象筆記研究院院長