色噜噜狠狠成人中文综合_亚洲1区2区3区精华液_久久久久久人妻精品一区二区三区_精品少妇人妻AV免费久久洗澡

淺談小程序開源業務架構建設之路

一、業務介紹 1.1 小程序開源整體介紹

百度從做智能小(xiao)(xiao)程(cheng)序(xu)(xu)的(de)(de)(de)(de)(de)第一(yi)天(tian)開(kai)始就打(da)造真正(zheng)開(kai)源開(kai)放(fang)的(de)(de)(de)(de)(de)生(sheng)(sheng)態(tai),我(wo)們的(de)(de)(de)(de)(de)愿(yuan)景是(shi):定(ding)義移動時(shi)代最佳體驗,建設智能小(xiao)(xiao)程(cheng)序(xu)(xu)行業(ye)(ye)標準(zhun),打(da)破孤島,共建開(kai)源、開(kai)放(fang)、繁榮(rong)的(de)(de)(de)(de)(de)小(xiao)(xiao)程(cheng)序(xu)(xu)行業(ye)(ye)生(sheng)(sheng)態(tai)。百度智能小(xiao)(xiao)程(cheng)序(xu)(xu)的(de)(de)(de)(de)(de)生(sheng)(sheng)態(tai)玩(wan)家有三類,分(fen)(fen)(fen)別是(shi):聯盟(meng)(meng)合(he)作伙(huo)(huo)伴(ban)、開(kai)發者和用戶(hu)(hu)。對(dui)于(yu)聯盟(meng)(meng)合(he)作伙(huo)(huo)伴(ban),滿足(zu)合(he)作伙(huo)(huo)伴(ban)的(de)(de)(de)(de)(de)生(sheng)(sheng)態(tai)共建、流量共享、商(shang)業(ye)(ye)共贏訴(su)求,使得合(he)作伙(huo)(huo)伴(ban)App內缺失場景得到高效補充,拉動合(he)作伙(huo)(huo)伴(ban)App用戶(hu)(hu)使用時(shi)長,共享小(xiao)(xiao)程(cheng)序(xu)(xu)的(de)(de)(de)(de)(de)變(bian)現(xian)收入。對(dui)于(yu)開(kai)發者,滿足(zu)了開(kai)發者一(yi)次開(kai)發,多端運行訴(su)求,使得開(kai)發者流量獲取更加便捷高效、并且增(zeng)加開(kai)發者商(shang)業(ye)(ye)收入。對(dui)于(yu)用戶(hu)(hu),滿足(zu)用戶(hu)(hu)的(de)(de)(de)(de)(de)無需跳出即可享受一(yi)站式服(fu)務(wu)訴(su)求。百度搜索做為小(xiao)(xiao)程(cheng)序(xu)(xu)的(de)(de)(de)(de)(de)十分(fen)(fen)(fen)重(zhong)要(yao)分(fen)(fen)(fen)發入口,通過構(gou)建統(tong)一(yi)的(de)(de)(de)(de)(de)小(xiao)(xiao)程(cheng)序(xu)(xu)行業(ye)(ye)生(sheng)(sheng)態(tai), 提升百度的(de)(de)(de)(de)(de)搜索生(sheng)(sheng)態(tai)中的(de)(de)(de)(de)(de)用戶(hu)(hu)體驗、服(fu)務(wu)閉環。

小程序建設方案_程序化建設_小程序建設

百度智(zhi)能小(xiao)程序開源(yuan)的(de)架構是(shi)如(ru)何支撐(cheng)起整個聯盟生態運(yun)轉的(de)呢?

小程序建設方案_小程序建設_程序化建設

如圖所示,小(xiao)程(cheng)序開源聯(lian)盟(meng)的整個業務架(jia)構分位(wei)四(si)層(ceng)。包(bao)括(kuo):聯(lian)盟(meng)宿(su)主層(ceng)、對(dui)外(wai)聯(lian)盟(meng)賦能層(ceng)、中間服務層(ceng)、基礎建設層(ceng)。

1.2 小程序開源(yuan)與廠商(shang)合作(zuo)介紹

隨著百度(du)小(xiao)(xiao)程(cheng)序(xu)(xu)開源(yuan)聯盟的(de)不斷發展(zhan),也吸引了頭(tou)部手機廠(chang)(chang)(chang)商(shang)。小(xiao)(xiao)程(cheng)序(xu)(xu)開源(yuan)與廠(chang)(chang)(chang)商(shang)共建(jian)(jian)了豐富的(de)業務場(chang)景,不僅(jin)包(bao)含廠(chang)(chang)(chang)商(shang)的(de)瀏覽器場(chang)景,還(huan)有(you)桌面鎖(suo)屏、負一屏、全局搜(sou)等多種場(chang)景。如(ru)(ru)此多樣化的(de)場(chang)景建(jian)(jian)設中(zhong),我們面臨的(de)共性(xing)挑戰是(shi):如(ru)(ru)何保(bao)障(zhang)廠(chang)(chang)(chang)商(shang)線上分(fen)(fen)發質量、如(ru)(ru)何建(jian)(jian)設一條從(cong)(cong)廠(chang)(chang)(chang)商(shang)瀏覽器到百度(du)搜(sou)索到小(xiao)(xiao)程(cheng)序(xu)(xu)的(de)全流程(cheng)分(fen)(fen)發管控(kong)通(tong)路,從(cong)(cong)而可以(yi)精準、實(shi)時(shi)的(de)管控(kong)廠(chang)(chang)(chang)商(shang)瀏覽器的(de)小(xiao)(xiao)程(cheng)序(xu)(xu)分(fen)(fen)發。

具體我(wo)們(men)是如(ru)何考慮并建設的(de)呢?下面(mian)將詳(xiang)細介紹下。

二、整(zheng)體(ti)技(ji)術(shu)建設思(si)路介(jie)紹 2.1小(xiao)程序開(kai)源(yuan)分發保障技(ji)術(shu)要點

1.背景介紹

開源保障核(he)心圍繞的對象為(wei)宿主與小程(cheng)序,核(he)心目的是為(wei)了保障小程(cheng)序在宿主上的分發質量(liang)。

為什么會存在(zai)(zai)分發(fa)(fa)質量問題?宿(su)(su)主在(zai)(zai)入(ru)駐開(kai)源后(hou)需要集成(cheng)開(kai)源SDK并進行相(xiang)關能力的開(kai)發(fa)(fa),在(zai)(zai)這(zhe)些(xie)流程(cheng)(cheng)完(wan)成(cheng)后(hou)宿(su)(su)主就獲得了相(xiang)應(ying)的宿(su)(su)主能力。小(xiao)(xiao)程(cheng)(cheng)序是(shi)基于swanjs開(kai)發(fa)(fa)框架進行的開(kai)發(fa)(fa),swanjs這(zhe)套運行時框架底層同(tong)樣是(shi)依賴(lai)開(kai)源SDK運行,因(yin)此在(zai)(zai)小(xiao)(xiao)程(cheng)(cheng)序完(wan)成(cheng)開(kai)發(fa)(fa)后(hou)小(xiao)(xiao)程(cheng)(cheng)序本身也獲得或(huo)依賴(lai)了相(xiang)關能力。因(yin)為不(bu)同(tong)的宿(su)(su)主能力支持情(qing)況不(bu)同(tong),就會導(dao)(dao)致同(tong)一(yi)個小(xiao)(xiao)程(cheng)(cheng)序在(zai)(zai)不(bu)同(tong)宿(su)(su)主上(shang)分發(fa)(fa)時可能遇到某個宿(su)(su)主不(bu)支持小(xiao)(xiao)程(cheng)(cheng)序使用到的某個能力,進而(er)導(dao)(dao)致該小(xiao)(xiao)程(cheng)(cheng)序無法在(zai)(zai)宿(su)(su)主上(shang)正(zheng)常打開(kai)或(huo)者(zhe)降(jiang)級為H5打開(kai),導(dao)(dao)致用戶體驗(yan)受損。

因此需要有一套(tao)開源保障(zhang)方案來提(ti)前發(fa)現宿(su)主與(yu)小程序之(zhi)間(jian)能力不匹配情況(kuang),進(jin)而確保系統能夠自由管控(kong)小程序在(zai)宿(su)主上分發(fa)全過程。

程序化建設_小程序建設_小程序建設方案

2.技術要點

要實現小程序在宿主上分發通路建設,核心涉及端流程打(da)通(tong)(tong)、能力(li)與定(ding)級(ji)流(liu)(liu)打(da)通(tong)(tong)及最終(zhong)分發流(liu)(liu)打(da)通(tong)(tong)三大板塊,如下(xia)圖所示:

小程序建設方案_小程序建設_程序化建設

1)端(duan)流程(cheng)包含宿主端(duan)流程(cheng)和小程(cheng)序端(duan)流程(cheng)打通

a、宿主端流程:

宿(su)主(zhu)(zhu)入駐(zhu)開(kai)源(yuan),入駐(zhu)成功后(hou)宿(su)主(zhu)(zhu)需要集成開(kai)源(yuan)SDK與開(kai)發(fa),宿(su)主(zhu)(zhu)開(kai)發(fa)完成后(hou)即(ji)可打(da)包發(fa)布(bu)(bu)宿(su)主(zhu)(zhu)App;同時宿(su)主(zhu)(zhu)包在發(fa)布(bu)(bu)前需要經過(guo)宿(su)主(zhu)(zhu)能力測試,通過(guo)下(xia)載宿(su)主(zhu)(zhu)工具進行CTS能力測試并產出(chu)宿(su)主(zhu)(zhu)能力支持情況。

b、小程序端流程:

開發者進行小程序開發,開發完成后操作小程序包版本發布上線,之后小程序開源保障模塊會訂閱小程序發版動作,同時拉取小程序包信息執行小程序能力掃描測試,并產出小(xiao)程序能力(li)使用情況。

2)能力與定級流

在宿(su)主與(yu)(yu)小程序分別(bie)完成(cheng)接入與(yu)(yu)能(neng)力(li)掃描后,開源保(bao)障(zhang)系(xi)統就可(ke)以(yi)分別(bie)基(ji)于宿(su)主與(yu)(yu)小程序能(neng)力(li)掃描結果進行解析,產出(chu)最(zui)終的宿(su)主和(he)小程序能(neng)力(li)使用情(qing)況并存(cun)儲。同時(shi)開源保(bao)障(zhang)系(xi)統可(ke)以(yi)基(ji)于宿(su)主能(neng)力(li)與(yu)(yu)小程序能(neng)力(li)分別(bie)對宿(su)主和(he)小程序進行能(neng)力(li)定級(ji)(ji),計算(suan)出(chu)宿(su)主與(yu)(yu)小程序當前能(neng)達到哪個等級(ji)(ji),并給宿(su)主和(he)小程序分別(bie)打上等級(ji)(ji)標識。

3)分發流

主要由小程序分發(fa)(fa)端實現,主要根據用戶在開(kai)源保障系統(tong)中配置的分發(fa)(fa)策略(lve),基于(yu)策略(lve)計(ji)算小程序是否(fou)滿足在宿(su)主上分發(fa)(fa)條件。

3.名詞解釋

SWANJS:小程序前端運行時框架。

能(neng)力:能(neng)力指(zhi)的(de)(de)是(shi)小程序開(kai)源系(xi)統(tong)中,對百度APP或(huo)者(zhe)說開(kai)源SDK中所封裝并支持的(de)(de)各種API、組件、框架等系(xi)統(tong)能(neng)力的(de)(de)統(tong)稱,詳細可參考(kao)小程序開(kai)發者(zhe)文檔(dang)進行了解,目前小程序開(kai)源共支持的(de)(de)能(neng)力有1000多個。

CTS測(ce)(ce)(ce)試:CTS即Compatibility Test Suite, 兼(jian)容性測(ce)(ce)(ce)試套件(jian);是(shi)為了(le)(le)保障智能小程序在宿主APP穩定(ding)運行,提供了(le)(le)一套兼(jian)容性測(ce)(ce)(ce)試集合,宿主APP上線前,需(xu)先通過CTS測(ce)(ce)(ce)試。

AST掃描(miao):抽象(xiang)語法(fa)樹(Abstract Syntax Tree)掃描(miao),是(shi)小(xiao)(xiao)程序(xu)應(ying)用的一種(zhong)源碼(ma)掃描(miao)工具,通過抽象(xiang)語法(fa)樹的方式對小(xiao)(xiao)程序(xu)源碼(ma)進行掃描(miao)分(fen)析,目前(qian)已支持小(xiao)(xiao)程序(xu)用到的能力、能力屬性、能力參數、能力返回值、能力涉及(ji)的關(guan)鍵路徑等多種(zhong)維度的掃描(miao)功能。

L級(ji)(ji):根(gen)據能(neng)力(li)(li)在小(xiao)程序側使用情況(kuang),區分出一(yi)些基礎能(neng)力(li)(li)與特色能(neng)力(li)(li)和低(di)頻能(neng)力(li)(li)等,同時(shi)宿主可以根(gen)據這些能(neng)力(li)(li)標準進行按(an)需實現,等級(ji)(ji)劃分如下:

L1:小程序自帶,不(bu)用宿主(zhu)額外配合(he)(框架實現)。

L2:能力(li)建議端補齊(qi),確保(bao)基礎體驗,內(nei)部矩陣必(bi)要實現(包含手百獨有(you)能力(li)在內(nei)的必(bi)要能力(li))。

L3:特色能力,強依賴(lai)端能力滿(man)足,宿主(zhu)按(an)需實(shi)現。

L4:低頻能力,不追求(qiu)滿(man)足,宿主按需實(shi)現(xian)。

2.2 宿(su)主能力檢測(ce)機(ji)制

小程序建設_小程序建設方案_程序化建設

1.使用(yong)宿(su)主(zhu)工具進行CTS能力測試

宿(su)主在(zai)集成(cheng)(cheng)開源SDK并(bing)完成(cheng)(cheng)開發后進行打包,可在(zai)開源宿(su)主平臺下載宿(su)主工(gong)具,對包體進行CTS能力(li)測(ce)(ce)。,CTS支(zhi)持(chi)宿(su)主進行全(quan)(quan)能力(li)自動測(ce)(ce)試(shi)和補充(chong)測(ce)(ce)試(shi),補充(chong)測(ce)(ce)試(shi)可以對全(quan)(quan)能力(li)測(ce)(ce)試(shi)中(zhong)未通過的能力(li)進行批量測(ce)(ce)試(shi),測(ce)(ce)試(shi)完成(cheng)(cheng)后上(shang)(shang)傳自動測(ce)(ce)試(shi)報告。其(qi)中(zhong)還(huan)存在(zai)部分能力(li)無法實現CTS自動化測(ce)(ce)試(shi),需進行手(shou)動測(ce)(ce)試(shi),測(ce)(ce)試(shi)完成(cheng)(cheng)后宿(su)主在(zai)手(shou)機上(shang)(shang)傳手(shou)動測(ce)(ce)試(shi)報告。

2.宿(su)主工具(ju)上傳(chuan)測試報告(gao)

在(zai)宿(su)主(zhu)執行完自動(dong)測試與(yu)手(shou)動(dong)測試后,需分別(bie)上傳自動(dong)測試報(bao)(bao)告與(yu)手(shou)動(dong)測試報(bao)(bao)告至開(kai)源(yuan)保(bao)障系統,同時因為同一(yi)個宿(su)主(zhu)版本可能存在(zai)多次重復測試過程,會產生多份測試報(bao)(bao)告,因此(ci)宿(su)主(zhu)需要分別(bie)選(xuan)擇(ze)一(yi)份最(zui)終的(de)自動(dong)測試報(bao)(bao)告和(he)手(shou)動(dong)測試報(bao)(bao)告,使得(de)開(kai)源(yuan)保(bao)障系統可以對最(zui)終確認的(de)報(bao)(bao)告進行解(jie)析。

3.報(bao)告解析產出宿主能力(li)

開源(yuan)系統在(zai)收到宿(su)(su)主確認報告的(de)(de)(de)操作后(hou)(hou),開始執行報告解(jie)析,計算宿(su)(su)主能力支(zhi)持情(qing)況(kuang),產(chan)出最終的(de)(de)(de)宿(su)(su)主能力列(lie)表并存儲下來;在(zai)宿(su)(su)主能力產(chan)出的(de)(de)(de)同(tong)時同(tong)樣會執行宿(su)(su)主能力定級(ji),計算出宿(su)(su)主能力等(deng)級(ji)并進行標(biao)記;產(chan)出的(de)(de)(de)宿(su)(su)主能力和宿(su)(su)主等(deng)級(ji)將在(zai)后(hou)(hou)續宿(su)(su)主分發小(xiao)程序時分發策略中使用(yong)。

能(neng)力檢(jian)測服務可用性保障:

當用戶完成測試報(bao)告(gao)確認動(dong)作后,開源保(bao)障系(xi)(xi)統實(shi)時(shi)進(jin)行報(bao)告(gao)解(jie)析(xi)和(he)能(neng)(neng)力(li)解(jie)析(xi)相(xiang)關操作,在一(yi)個進(jin)程中完成,如果因(yin)為(wei)系(xi)(xi)統執(zhi)行異常導致(zhi)的宿主能(neng)(neng)力(li)檢(jian)測失敗,開源保(bao)障系(xi)(xi)統中設計重試任務進(jin)行兜(dou)底,保(bao)障所有宿主都能(neng)(neng)完成能(neng)(neng)力(li)檢(jian)測。

2.3 小程序能(neng)力(li)檢測機制:

小程序建設方案_程序化建設_小程序建設

關于我們

鄭州翔靜科技致力于(yu)網(wang)站(zhan)建(jian)設(she)和網(wang)絡營(ying)銷(xiao)策劃的相關(guan)服(fu)務(wu),主(zhu)(zhu)要業務(wu)包括:網(wang)站(zhan)建(jian)設(she),網(wang)站(zhan)設(she)計,網(wang)站(zhan)優化(hua)推(tui)廣,商城網(wang)站(zhan)開(kai)(kai)發(fa)(fa),手(shou)機網(wang)站(zhan)開(kai)(kai)發(fa)(fa)建(jian)設(she),微網(wang)站(zhan)開(kai)(kai)發(fa)(fa)建(jian)設(she),微信(xin)公眾號二(er)次開(kai)(kai)發(fa)(fa),網(wang)絡營(ying)銷(xiao),網(wang)站(zhan)維護托管,虛擬主(zhu)(zhu)機,域名注冊,企業郵(you)箱等相關(guan)信(xin)息服(fu)務(wu)。傾注心血(xue)于(yu)每(mei)一個(ge)作(zuo)品(pin),只為創(chuang)造更具品(pin)牌(pai)影響力的網(wang)站(zhan)!

聯系我們
咨詢熱線:(微同)
地址:河南自貿試驗區鄭州片區(鄭東 )金水東路80號綠地新都會2號樓 A座1108-A370
微信掃一掃 專業客(ke)服為您解答
復制微信 撥打電話

Top

我們所做的,正是你所需要的!

請直接添(tian)加技術總(zong)監(jian)微信聯(lian)系(xi)咨詢
?

微信xiaoxiang5693已復制成功
現可(ke)前(qian)往微信(xin)添加好(hao)友(you)!

關閉