容來源:2017年6月24日,梨享計(jì)算前端工程師謝庭在“騰訊Web前端大會 TFC 2017”進(jìn)行《基于WebRTC的P2P-CND流媒體加速》演講分享。
閱讀字?jǐn)?shù): 4311 用時(shí): 6分鐘
WebRTC把實(shí)時(shí)流媒體和P2P等能力帶入了Web前端,開發(fā)者只需編寫簡單的JavaScript程序即可開發(fā)出豐富的實(shí)時(shí)多媒體應(yīng)用。本次大會想跟大家分享我們對WebRTC的一些實(shí)踐心得,以及如何利用WebRTC的數(shù)據(jù)通道來做P2P流媒體。最后介紹我們?nèi)绾卧O(shè)計(jì)一個(gè)低延遲、高帶寬利用率的P2P流媒體算法。
http://t.cn/RCIMlWn
WebRTC的誕生背景
我們知道現(xiàn)在實(shí)時(shí)視頻通信很普遍,基于FaceTime和Skype等視頻通話工具,用戶可以很方便地與他人進(jìn)行視頻對話。開發(fā)者們?yōu)榱藢⒂脩趔w驗(yàn)優(yōu)化到極致,通過大量的技術(shù)手段保障視頻質(zhì)量,比如減少丟包、斷網(wǎng)恢復(fù)、即時(shí)響應(yīng)用戶網(wǎng)絡(luò)變化等等。實(shí)時(shí)音視頻通信對開發(fā)者的技術(shù)要求比較高,而且專利持有公司向開發(fā)者征收授權(quán)費(fèi),并構(gòu)筑起巨大的技術(shù)壁壘。另一方面,對用戶來說,需要去額外安裝相應(yīng)的插件或者應(yīng)用程序,降低了用戶體驗(yàn),而且還有被捆綁流氓軟件的風(fēng)險(xiǎn)。這時(shí)候一種叫WebRTC的技術(shù)應(yīng)運(yùn)而生了。
在講WebRTC之前,我們先回顧一下Web通信的演化歷史。在AJAX出現(xiàn)之前,也就是05年之前,如果需要更新內(nèi)容,必須重載整個(gè)網(wǎng)頁頁面。AJAX出現(xiàn)之后,通過在后臺與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,AJAX 可以使網(wǎng)頁實(shí)現(xiàn)異步更新。但AJAX不能與服務(wù)器進(jìn)行雙工通信,因此服務(wù)器無法主動推消息給瀏覽器,只能通過瀏覽器進(jìn)行輪詢。Websocket的出現(xiàn)使這個(gè)局面得到改觀,瀏覽器與服務(wù)器能進(jìn)行全雙工通信。不管是AJAX還是Websocket,都需要將數(shù)據(jù)發(fā)送給服務(wù)端。為了在兩個(gè)用戶間傳送數(shù)據(jù),開發(fā)者需要購買服務(wù)器網(wǎng)絡(luò),這方面的成本是非常龐大的。由谷歌支持的一項(xiàng)新技術(shù)——WebRTC徹底改變了這個(gè)局面。WebRTC是Web Real-Time Communication的縮寫,實(shí)現(xiàn)了瀏覽器之間直接的實(shí)時(shí)通訊,而不再需要服務(wù)器中轉(zhuǎn),谷歌致力于讓其成為HTML5的標(biāo)準(zhǔn)之一,目前大部分瀏覽器也已經(jīng)支持。
WebRTC與P2P的結(jié)合
12年谷歌的chrome瀏覽器正式原生支持WebRTC,web開發(fā)者只需要幾行javascript代碼就可以開發(fā)出豐富的實(shí)時(shí)多媒體應(yīng)用,而用戶也無需安裝插件,直接打開瀏覽器就可以與對方實(shí)時(shí)聊天。這時(shí)候有些嗅覺敏銳的開發(fā)者開始利用WebRTC的數(shù)據(jù)通道技術(shù)做P2P流媒體,例如國外一家公司叫做peer5。我們公司的創(chuàng)始人Alan在騰訊工作的時(shí)候也投入到這方面的研究,但失望的發(fā)現(xiàn)用WebRTC做P2P流媒體還有一些問題難以解決,比如用戶在線的時(shí)間并不穩(wěn)定,當(dāng)用戶關(guān)閉頁面,WebRTC的數(shù)據(jù)通道也就關(guān)閉了。隨后在13年和14年,F(xiàn)irefox和Opera也相繼宣布支持WebRTC。這時(shí)Alan提出一個(gè)大膽的設(shè)想,既然瀏覽器做種不穩(wěn)定,那么把相同的協(xié)議實(shí)現(xiàn)在路由器和NAS中呢?我們都知道路由器是24小時(shí)開啟的,但大部分時(shí)間是處于閑置狀態(tài),如果能把這些計(jì)算能力和網(wǎng)絡(luò)帶寬利用起來,這樣相當(dāng)于千家萬戶都是節(jié)點(diǎn),你的鄰居甚至你自己也許就在為你看視頻提供加速,想想都是很酷的事情!因此我們提出了眾包CDN的概念,并且申請了專利。15年,騰訊的X5瀏覽器內(nèi)核和微信也提供了支持,同年,我們梨享計(jì)算也正式宣布成立。
可能大家會有疑問,WebRTC將來真的會成為一種主流技術(shù)嗎?我們用事實(shí)說話,看看各大瀏覽器的支持情況就知道了。從圖中可以看出,大部分瀏覽器都已支持WebRTC,包括chrome、firefox和opera,微軟的edge瀏覽器部分支持WebRTC。另外,蘋果也在近期的WWDC大會上宣布safari11支持WebRTC。未來基于WebRTC的應(yīng)用將越來越多,這是可以肯定的。
WebRTC媒體會話原理
我們假設(shè)現(xiàn)在有兩個(gè)瀏覽器A和B要建立WebRTC對等連接,對等連接就是兩個(gè)Web瀏覽器之間的直接媒體連接,如果A要主動聯(lián)系B,需要先通過HTTP向信令服務(wù)器發(fā)送一個(gè)SDP,SDP可以理解為一個(gè)電腦名片,全稱是Session Description Protocol,會話描述協(xié)議,用于描述對等連接的媒體特征。那么信令服務(wù)器又是什么呢?它就像一個(gè)紅娘,幫兩個(gè)互相不認(rèn)識的人牽線。瀏覽器A發(fā)過來的SDP叫做offer,信令服務(wù)器將其傳給瀏覽器B,后者收到后回應(yīng)一個(gè)SDP對象,叫做answer,也通過信令服務(wù)器中轉(zhuǎn)給A。交換完SDP后,兩個(gè)對等端就開始嘗試ICE打洞,打洞成功后開始協(xié)商密鑰,之后就可以開始安全的媒體或數(shù)據(jù)會話了。
ICE打洞原理
由于IPv4提供的IP資源有限,IPv6還沒有推廣開來,大部分網(wǎng)絡(luò)設(shè)備還處于內(nèi)網(wǎng)中,需要通過NAT設(shè)備來與外部internet連接。NAT全稱Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換,裝有NAT軟件的路由器叫做NAT路由器,它至少有一個(gè)有效的外部全球IP地址。這樣,所有使用本地地址的主機(jī)在和外界通信時(shí),都要在NAT路由器上將其本地地址轉(zhuǎn)換成全球IP地址,才能和因特網(wǎng)連接。當(dāng)兩個(gè)對等端處于不同的局域網(wǎng)中時(shí),需要先知道對方的公網(wǎng)IP和端口。這時(shí)候可以先向STUN服務(wù)器發(fā)送測試數(shù)據(jù)包,后者做出響應(yīng),指示其在測試數(shù)據(jù)包中監(jiān)測到的IP地址,此地址將成為潛在的候選地址返回。拿到候選地址的瀏覽器將其通過信令服務(wù)器發(fā)送給對等端,對等端也進(jìn)行同樣的操作,之后雙方用所有得到的候選地址嘗試連接,如果都沒有成功的情況下,會用TURN服務(wù)器來作為中轉(zhuǎn)服務(wù)器,TURN服務(wù)器是在所有替代方案都無效的情況下才有采取的,因?yàn)槌杀颈容^高昂。為了加速通話建立時(shí)間,有一個(gè)叫trickle ice的方案,其思想是客戶端一邊收集candidate一邊發(fā)送給對方,比如local candidate 不需要通過stun獲取直接就可以發(fā)起,這降低了了連通性檢測完成的時(shí)間。
WebRTC數(shù)據(jù)通道
接下來介紹一個(gè)比較重要的概念——WebRTC data channel。我們基于WebRTC來做P2P流媒體,實(shí)際上就是用的data channel能力。那么data channel到底是什么呢?雖然有關(guān)WebRTC的宣傳主要側(cè)重于它對于實(shí)時(shí)音視頻通訊的支持,但設(shè)計(jì)師一直都希望它也支持實(shí)時(shí)數(shù)據(jù)傳輸。相比Websocket和HTTP,數(shù)據(jù)通道支持流量大、延遲低的連接,具有穩(wěn)定可靠等優(yōu)點(diǎn)。而且data channel的接口和websocket一樣,也是通過send來發(fā)送數(shù)據(jù),通過ommessage來接收數(shù)據(jù)。那么如何對data channel數(shù)據(jù)傳輸?shù)目煽啃赃M(jìn)行控制呢?通過剛才所講的dataChannelOptions這個(gè)javascript對象,可以讓data channel在UDP或者TCP的優(yōu)勢之間進(jìn)行切換,比如讓數(shù)據(jù)傳輸?shù)酶臃€(wěn)定可靠,或者傳輸?shù)酶臁F渲杏袔讉€(gè)比較重要的字段:ordered:設(shè)置數(shù)據(jù)的接受是否需要按照發(fā)送時(shí)的順序,maxRetransmitTime:設(shè)置數(shù)據(jù)發(fā)送失敗時(shí),多久重新發(fā)送,maxRetransmits:設(shè)置數(shù)據(jù)發(fā)送失敗時(shí),最多重發(fā)次數(shù)。主要是配置ordered,當(dāng)設(shè)置為true時(shí)數(shù)據(jù)通道表現(xiàn)更像TCP,false時(shí)表現(xiàn)更像UDP。
梨享計(jì)算與WebRTC
此外,我們公司一直對WebRTC標(biāo)準(zhǔn)化保持著關(guān)注并貢獻(xiàn)力量。在去年,我們在研發(fā)過程中發(fā)現(xiàn)有一個(gè)第三方的webrtc協(xié)議棧能與chrome瀏覽器進(jìn)行通訊,但無法與firefox通訊,通過對比SDP發(fā)現(xiàn)firefox有一處實(shí)現(xiàn)與標(biāo)準(zhǔn)規(guī)范不一致。于是我們與firefox開發(fā)團(tuán)隊(duì)取得聯(lián)系,提交了我們的修改建議,最初他們認(rèn)為沒有問題,但最終還是采納了我們的建議,對sdp進(jìn)行了修改。這也算是我們對推進(jìn)webrtc標(biāo)準(zhǔn)化做出的一點(diǎn)點(diǎn)貢獻(xiàn)。另外,我們也一直與騰訊瀏覽器內(nèi)核團(tuán)隊(duì)保持著聯(lián)系,爭取WebRTC技術(shù)以及本次分享的上層的P2P-CDN加速協(xié)議得到全面的支持。
WebRTC與P2P流媒體
把WebRTC的data channel搞清楚后,我們就可以用用它來做P2P流媒體了。這方面已經(jīng)有國外大神開發(fā)的知名開源項(xiàng)目:WebTorrent,在github上有1萬多顆星。WebTorrent是一個(gè)開源的基于WebRTC 和BT協(xié)議的js框架,完全用javascript編寫,可以同時(shí)運(yùn)行于 Node.js 和瀏覽器,由于基于WebRTC,因此WebTorrent不需要安裝任何插件,就可以跑在瀏覽器上。同時(shí)支持Chrome, Firefox 和 Opera瀏覽器。但是由于是基于BT協(xié)議,所以是一種pull-based的算法,這種算法是一種隨機(jī)抓取的策略,隨機(jī)抓取其它節(jié)點(diǎn)的buffer,但這樣會存在一個(gè)問題:抓取的buffer不一定是目前需要的,也不一定是其他節(jié)點(diǎn)需要的,而且還會浪費(fèi)下行帶寬和其它節(jié)點(diǎn)的上行帶寬,因此同時(shí)造成了“帶寬饑餓”和“內(nèi)容饑餓”問題。下面介紹一種改進(jìn)版的pull-based算法——FirstAid算法。FirstAid是基于窗口滑動的,每隔一段時(shí)間觸發(fā)一次窗口滑動,每個(gè)窗口又可以分成三段:urgent、normal和prefetch,urgent顧名思義,是離播放時(shí)間最近的buffer,所以優(yōu)先級別最高,normal和prefetch優(yōu)先級遞減。當(dāng)父節(jié)點(diǎn)為子節(jié)點(diǎn)傳輸buffer時(shí),會優(yōu)先滿足urgent級別的要求,而暫停normal級別的,所以最緊迫的需求會優(yōu)先得到滿足,當(dāng)子節(jié)點(diǎn)的urgent需求得到滿足后,需要回過頭來彌補(bǔ)他的競爭對手的需求,以達(dá)到一種互惠互利的狀態(tài)。和剛才pull-based算法思想截然相反的是push-based算法,其中比較有代表性的是FashMesh算法,由港科大的學(xué)者提出來的一種P2P算法。FashMesh是基于一種叫Streaming Mesh的算法,將源節(jié)點(diǎn)的數(shù)據(jù)流分成多個(gè)子流,通過多棵生成樹構(gòu)成mesh來源源不斷的傳輸給子節(jié)點(diǎn),這種算法的優(yōu)勢是延遲低,帶寬利用率高。Fast Mesh還可以根據(jù)每個(gè)子節(jié)點(diǎn)的上行帶寬來動態(tài)的調(diào)整網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),讓上行帶寬大的節(jié)點(diǎn)更加接近源節(jié)點(diǎn),從而充分利用網(wǎng)絡(luò)的現(xiàn)有能力。根據(jù)一項(xiàng)對比試驗(yàn),F(xiàn)astMesh可能是目前眾多P2P算法中效果最好的。但這個(gè)算法也有缺點(diǎn),當(dāng)節(jié)點(diǎn)進(jìn)入或離開網(wǎng)絡(luò)時(shí),都需要重新調(diào)整拓?fù)浣Y(jié)構(gòu),因此不適合節(jié)點(diǎn)變化較大的情況。
我們自行研發(fā)的算法——Push-Pull算法則綜合了push-based和pull-based兩種算法的優(yōu)勢,用pull的方式從父節(jié)點(diǎn)獲取優(yōu)先級最高的buffer,由父節(jié)點(diǎn)以push的方式為其提供后續(xù)的buffer。另外,我們的算法混合HTTP、HTTPS、WebRTC、Websocket等多種協(xié)議,在優(yōu)先保證用戶體驗(yàn)的前提下最大化P2P率。經(jīng)過測試,Push-Pull算法具備低延遲、高帶寬利用率、高P2P率、對網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化魯棒性強(qiáng)等優(yōu)勢。
PearPlayer
PearPlayer(梨享播放器,github地址:https://github.com/PearInc/PearPlayer.js) 是完全用JavaScript寫的開源HTML5流媒體播放框架,實(shí)現(xiàn)了融合HTTP(包含HTTPS、HTTP2)、WebRTC的多協(xié)議、多源、低延遲、高帶寬利用率的無插件Web端流媒體加速能力。基于H5的MSE技術(shù)(Media Source Extension)將來自多個(gè)源節(jié)點(diǎn)的Buffer分塊喂給播放器,再加上精心設(shè)計(jì)的算法來達(dá)到最優(yōu)的調(diào)度策略及對各種異常情況的處理,Pear Player能在保證用戶流暢視頻體驗(yàn)的前提下最大化P2P率。
集成我們的PearPlayer.js也非常簡單,只需要短短幾行代碼,把我們的js文件引入到script標(biāo)簽中,并把video的id還有token作為參數(shù)傳給我們提供的函數(shù)中即可。Demo演示地址:https://qq.webrtc.win/watch,以下是demo截圖。
除了播放器外,我們還開發(fā)了支持多協(xié)議、多源、混合P2P-CDN的下載器PearDownloader,可用于高清圖、壓縮包、軟件發(fā)布或升級包、音樂、文檔等大文件下載或在線服務(wù)的場景(github地址:https://github.com/PearInc/PearDownloader.js),Demo演示地址:https://qq.webrtc.win/download。
霧計(jì)算
最后,講一下霧計(jì)算有關(guān)的內(nèi)容。霧計(jì)算與云計(jì)算有什么區(qū)別呢?云在天空飄浮,高高在上,遙不可及;數(shù)據(jù)中心距離終端用戶較遠(yuǎn),用戶消息需要經(jīng)過若干跳才能夠到達(dá)。而霧是貼近地面的云,是現(xiàn)實(shí)可及,就在你我身邊。霧計(jì)算并非由性能強(qiáng)大的服務(wù)器組成,而是由性能較弱、更為分散但離用戶更近的各類計(jì)算設(shè)備組成,例如智能路由器、網(wǎng)絡(luò)存儲設(shè)備等。霧能夠彌補(bǔ)云的不足,并和云相互配合,協(xié)同工作。我們Pear公司一直在踐行霧計(jì)算的理念,通過與國內(nèi)知名的路由器、NAS廠商合作,我們擁有海量可持續(xù)穩(wěn)定提供服務(wù)的節(jié)點(diǎn)。大部分帶寬、存儲、計(jì)算資源通過眾包方式收集自終端用戶穩(wěn)定在線的邊緣設(shè)備,服務(wù)能力覆蓋全部地域、所有運(yùn)營商、每處網(wǎng)絡(luò)邊緣。我們自研的調(diào)度系統(tǒng)可以動態(tài)、實(shí)時(shí)的感知和調(diào)度,讓數(shù)據(jù)傳輸距離盡可能接近“零跳”。
相對于傳統(tǒng)的模式,我們可以說是站在共享經(jīng)濟(jì)的風(fēng)口上。我們知道傳統(tǒng)的CDN廠商會先以批發(fā)價(jià)從ISP買進(jìn)帶寬,然后再以零售價(jià)賣給CP,CP買入帶寬后進(jìn)行內(nèi)容分發(fā),為終端用戶提供CDN服務(wù)。我們與硬件廠商合作,在其設(shè)備中植入我們的軟件,從而在千家萬戶擁有了分布廣泛的節(jié)點(diǎn)。CP廠商和傳統(tǒng)CDN廠商從我們這里買入帶寬,我們將其內(nèi)容分發(fā)到各個(gè)節(jié)點(diǎn)中,持有設(shè)備的用戶在提高其計(jì)算資源和帶寬資源的同時(shí),也會得到我們的返利,BGP機(jī)房、ISP骨干網(wǎng)的壓力也得以緩解,從而實(shí)現(xiàn)多贏局面。
水泥是建筑工業(yè)三大基本材料之一,素有“建筑工業(yè)的糧食”之稱。2022 年 1-9 月水泥產(chǎn)量為 15.63 億噸,生產(chǎn)方法包括新型干法、立窯、濕窯、干法中空窯和立波爾窯等。
水泥生產(chǎn)線鏈條長、關(guān)鍵環(huán)節(jié)多的特性要求執(zhí)行嚴(yán)密的流程監(jiān)控。圖撲軟件大屏組態(tài)、UI 組態(tài)、工業(yè)組態(tài)、三維組態(tài)為打造精細(xì)化監(jiān)控策略提供了支持,融合數(shù)字建模、數(shù)字孿生、仿真模擬、智能物流等技術(shù),輕松構(gòu)建低代碼、零代碼物聯(lián)網(wǎng) IoT 平臺,輔助傳統(tǒng)工廠向智能工廠轉(zhuǎn)型。
通過圖撲軟件工業(yè)組態(tài)打造水泥廠多個(gè)數(shù)字化車間和線上智能產(chǎn)線,low-code 實(shí)現(xiàn)“設(shè)施互聯(lián)、系統(tǒng)互通、數(shù)據(jù)互享、業(yè)態(tài)互融”,建設(shè)水泥生產(chǎn)領(lǐng)域線性化、自動化、數(shù)字化工廠,完成 PDM/ERP/SCADA/CRM/QMS/MES/APS 等核心信息系統(tǒng)深度集成,建設(shè)工廠的“工業(yè)大腦”。
采用圖撲軟件特殊的材質(zhì)效果,渲染出水泥廠工藝流程 UI 組態(tài)。低代碼復(fù)現(xiàn)從原料到水泥的生產(chǎn)工藝流程,可驗(yàn)證流程細(xì)節(jié)的合理性,減少試錯(cuò)成本。
大屏組態(tài)整體為工業(yè)風(fēng)格,重點(diǎn)設(shè)備使用彩色突出顯示。結(jié)合可編程邏輯控制器(PLC),通過數(shù)字式或模擬式的輸入輸出來控制各種類型的機(jī)械設(shè)備或生產(chǎn)過程。
圖撲軟件大屏組態(tài)通過類似“配置”的方式完成水泥廠工藝流程的數(shù)字孿生,穩(wěn)定性高,對數(shù)據(jù)響應(yīng)實(shí)時(shí)性高,工業(yè)組件豐富。它能適應(yīng)多種工況環(huán)境,可用于工廠制造車間的 PMC(生產(chǎn)過程管理)。工程師和用戶通過瀏覽器即可查看組態(tài),無需下載和安裝。
水泥生產(chǎn)工藝流程
①石灰?guī)r、粘土或砂頁巖等粘土質(zhì)原料經(jīng)皮帶輸送機(jī)由礦山輸送進(jìn)廠。利用圖撲軟件實(shí)現(xiàn)選礦工藝可視化。
②原料經(jīng)破碎機(jī)破碎后由皮帶輸送機(jī)輸送至石灰石庫;石灰石、砂巖、鐵粉、粉煤灰經(jīng)皮帶秤,皮帶輸送機(jī)送至原料磨(立式輥磨);粉磨后經(jīng)空氣斜槽,斗式提升機(jī)輸送至生料庫。設(shè)備包含石灰石破碎機(jī)(錘破、顎破等)、預(yù)均化堆棚、生料庫和生料磨房等。
③生料經(jīng)窯尾車間、窯頭車間和窯中車間內(nèi)的斗式提升機(jī)送至預(yù)熱器,經(jīng)預(yù)熱、分解入窯煅燒,熟料經(jīng)篦冷機(jī)冷卻,熟料破碎機(jī)破碎,經(jīng)鏈板機(jī)送至熟料庫。設(shè)備包含煤磨機(jī)、轉(zhuǎn)子稱、預(yù)熱器、回轉(zhuǎn)窯、冷卻機(jī)、循環(huán)水系統(tǒng)等,以煤作燃料的還有煤粉制備車間。利用圖撲軟件低代碼平臺進(jìn)行窯系統(tǒng)運(yùn)行情況監(jiān)控、生料質(zhì)量控制、熟料質(zhì)量控制、煤粉質(zhì)量控制等。
④熟料、混合材、石膏經(jīng)輸送機(jī)至水泥磨(球磨機(jī))粉磨,成品入水泥庫,經(jīng)包裝機(jī)或散裝出廠。設(shè)備包含輥壓機(jī)、水泥磨、包裝機(jī)等。
⑤成品和裝運(yùn)系統(tǒng)有水泥庫、包裝車間、各種計(jì)量皮帶、皮帶機(jī)、散裝設(shè)施、成品庫、露天堆場以及裝運(yùn)平臺碼頭等。
由石灰質(zhì)原料、黏土質(zhì)原料及少量校正原料(礦化劑、晶種等,立窯生產(chǎn)時(shí)加煤)按比例配合,粉磨到一定細(xì)度的物料,稱為水泥生料。粉磨一般使用鋼球磨系統(tǒng)。利用圖撲軟件 UI 組態(tài)零代碼搭建生料粉磨的工藝流程,呈現(xiàn)生料粉磨過程。將傳感器收集的原料磨、破碎機(jī)等設(shè)備運(yùn)行數(shù)據(jù)上傳圖撲大屏組態(tài),提高過程管控效率。
生料粉磨時(shí)會產(chǎn)生嚴(yán)重的揚(yáng)塵,20 世紀(jì) 70 年代以后開發(fā)了大型袋式除塵器應(yīng)用于燃煤電站、干法水泥回轉(zhuǎn)窯窯尾和電爐除塵。利用圖撲軟件優(yōu)秀的動畫效果展示除塵器的工作過程,更形象。全新的 low-code 大屏組態(tài),通過圖撲軟件自研引擎 HT for Web,實(shí)現(xiàn)組態(tài)圖元流暢的動態(tài)效果開發(fā)。
同傳統(tǒng)界面相比,圖撲滿足工業(yè)物聯(lián)網(wǎng)現(xiàn)代化的、高性能的、跨平臺(桌面 Mouse /移動 Touch /虛擬現(xiàn)實(shí) VR)的圖形展示效果及交互體驗(yàn)。同時(shí)還支持結(jié)合 VR/AR 進(jìn)行展示,讓用戶能夠沉浸在虛擬環(huán)境中進(jìn)行體驗(yàn),尤其對工廠、車間、生產(chǎn)線等大型場景更具有優(yōu)勢。
生料進(jìn)入預(yù)熱器后,在自上向下逐級運(yùn)動的同時(shí),逐步預(yù)熱、分解。通過回轉(zhuǎn)窯自身的旋轉(zhuǎn)以及內(nèi)部的高溫,將從窯尾進(jìn)入的小塊兒物料轉(zhuǎn)化為液體,經(jīng)過提純加工才會形成熟料。圖撲軟件的工業(yè)組態(tài)完整還原了該過程,可用于工人培訓(xùn)或工藝流程的研究優(yōu)化。
圖撲大屏組態(tài)可接入回轉(zhuǎn)窯實(shí)時(shí)數(shù)據(jù)顯示窯尾氣體分析結(jié)果;窯灰稱,脫硫稱,喂料倉重啟壓力,風(fēng)機(jī)稀油站等設(shè)備的數(shù)據(jù);廢棄物料的去向及進(jìn)入窯頭的物料數(shù)量等。利用紅色凸顯重要工藝環(huán)節(jié),嵌入設(shè)備轉(zhuǎn)動、火焰燃燒、煙塵上升的動畫,感受更直觀。
圖撲軟件基于 HTML5(Canvas/WebGL/WebVR)標(biāo)準(zhǔn)的 Web 技術(shù),滿足了工業(yè)物聯(lián)網(wǎng)跨平臺云端化部署實(shí)施的需求,以低代碼的形式自由構(gòu)建大屏組態(tài)、UI 組態(tài)、工業(yè)組態(tài)、三維組態(tài)。從 SDK 組件庫,到 2D 和 3D 編輯,到屬性修改,構(gòu)成了一站式的數(shù)據(jù)可視化解決方案、形成了一整套實(shí)踐證明的高效開發(fā)流程和生態(tài)體系。
回轉(zhuǎn)窯窯頭主要是用于出料,物料煅燒時(shí)產(chǎn)生的高溫可通過窯頭冷卻機(jī)進(jìn)行冷卻,然后輸送到熟料倉進(jìn)行儲存或運(yùn)輸。窯頭內(nèi)部有燃燒器,可利用油泵輸送燃油。冷卻機(jī)用鼓風(fēng)機(jī)將成層狀的熟料加以驟冷,使溫度由 1200℃ 驟降至 100℃ 以下。
圖撲大屏組態(tài)通過紅黃色的漸變表示溫度從高到低的變化,用細(xì)小顆粒代表物料的運(yùn)輸過程,形象逼真。
工廠采集層通過串口、以太網(wǎng)、Zigbee 網(wǎng)絡(luò)等方式與遠(yuǎn)程現(xiàn)場設(shè)備進(jìn)行通訊,實(shí)現(xiàn)對設(shè)備數(shù)據(jù)的采集;數(shù)據(jù)層采用實(shí)時(shí)數(shù)據(jù)庫,可對采集來的數(shù)據(jù)進(jìn)行一些運(yùn)算處理,并提供報(bào)警、歷史數(shù)據(jù)存儲、統(tǒng)計(jì)等功能;最后將數(shù)據(jù)上傳圖撲 UI 組態(tài)進(jìn)行全面管控。
煅燒高質(zhì)量的水泥熟料需要性能穩(wěn)定的煤粉,所以煤粉制備系統(tǒng)是水泥生產(chǎn)的重要環(huán)節(jié)。原煤進(jìn)入磨盤,磨盤轉(zhuǎn)動帶動磨輥運(yùn)行并將磨盤上的物料碾壓粉碎,細(xì)料由至下而上的高速熱風(fēng)帶走,粗料在磨內(nèi)繼續(xù)粉磨,細(xì)料會在磨機(jī)頂部的選粉機(jī)分選。
采用圖撲工業(yè)組態(tài) low-code 搭建的煤粉制備工藝流程,利用高端黑突出了核心設(shè)備,結(jié)合動態(tài)效果生動展示制備過程。
圖撲自研引擎 HT for Web 獨(dú)創(chuàng)的自定義格式矢量渲染引擎,追求極致的性能,所有組件皆可承受上萬甚至幾十萬以上圖元量,上萬的表格數(shù)據(jù)、網(wǎng)絡(luò)拓?fù)鋱D元和儀表圖表承載力,突破了諸多行業(yè)應(yīng)用傳統(tǒng)極限,更好的適應(yīng)了物聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代需求。
水泥粉磨是水泥制造的最后工序,通過水泥磨將水泥熟料粉磨至適宜的粒度,形成一定的顆粒級配,增大其水化面積,滿足水泥漿體凝結(jié)、硬化要求。粉磨電耗占水泥成本的 35%~40%,可利用圖撲 UI 組態(tài)優(yōu)化工藝流程,減少電耗。
粉磨質(zhì)量可以彌補(bǔ)熟料質(zhì)量的不足,保證出廠水泥的合格率。由硅酸鹽水泥熟料、粉煤灰和適量石膏磨細(xì)制成的水硬性膠凝材料,稱為粉煤灰硅酸鹽水泥。水泥中粉煤灰的參加量按質(zhì)量百分比計(jì)為 20%~40%。利用傳感器將熟料和粉煤灰等的占比數(shù)據(jù)上傳圖撲可視化大屏,負(fù)責(zé)人可根據(jù)情況實(shí)時(shí)調(diào)整配比,提升水泥質(zhì)量。
HMI 和 PLC 配合使用實(shí)現(xiàn)水泥磨、主電機(jī)軸溫、燒組溫度、輾軋機(jī)控制柜的遠(yuǎn)程監(jiān)控和操作,多臺工業(yè)設(shè)備可集中于一臺人機(jī)界面進(jìn)行管理。將數(shù)據(jù)上傳圖撲工業(yè)組態(tài),擺脫監(jiān)控的時(shí)空限制,不局限于控制室操作。
圖撲拖拽式智慧工廠編輯器,no-code 搭建 2D 和 3D Web 工業(yè)組態(tài),助力制造企業(yè)持續(xù)改進(jìn)流程、優(yōu)化運(yùn)營效率。
相較于 InTouch/IFix/WinCC 這些傳統(tǒng)組態(tài)軟件,圖撲基于 Web 的平臺更適合 C/S 向 B/S 轉(zhuǎn)型的大趨勢,多元素豐富的可視化組件和支持快捷的數(shù)據(jù)綁定方式,可用于快速創(chuàng)建和部署。為各類工業(yè)場景提供 2D、2.5D、3D 多種清晰美觀的可視化服務(wù)。
利用圖撲軟件輕松搭建 no-code 大屏組態(tài),實(shí)現(xiàn)輕量化的數(shù)據(jù)源管理,支持在線創(chuàng)建云數(shù)據(jù)接口。支持 2D 矢量可自定義交互邏輯,可延伸到 3D 和 VR 場景,無需二次開發(fā)交互邏輯,無需關(guān)系鼠標(biāo)、觸屏和 VR 的異構(gòu)接口。廣泛應(yīng)用于市政、水利、環(huán)保、裝備制造、石油、化工、國防、冶金、煤礦、
配電、新能源、制藥、交通、教育、科研、金融等行業(yè),業(yè)務(wù)涵蓋數(shù)據(jù)展示、態(tài)勢感知、科學(xué)決策等全生命周期監(jiān)控。在 10 多年應(yīng)用基礎(chǔ)上不斷進(jìn)行技術(shù)創(chuàng)新,與西門子、霍尼韋爾、江森自控、施耐德、研華科技、三一重工、美的、和利時(shí)、寶信軟件、南方電網(wǎng)、太極計(jì)算機(jī)、東方電氣、順豐科技、阿里云、騰訊云、華為云、字節(jié)跳動、京東物流等均有合作。
圍繞“質(zhì)量、效率、成本”核心,引入數(shù)字孿生、機(jī)器視覺等技術(shù)建設(shè)高水平智能工廠,打造快速滿足市場的柔性智能制造能力,加速企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)程。以工藝、裝備為核心,以數(shù)據(jù)為基礎(chǔ),依托制造單元、車間、工廠、供應(yīng)鏈和產(chǎn)業(yè)集群等載體,構(gòu)建虛實(shí)結(jié)合、知識驅(qū)動、動態(tài)優(yōu)化、安全高效的智能制造體系。
您可以至圖撲軟件官網(wǎng)查看更多案例及效果:
圖撲軟件 - 構(gòu)建先進(jìn) 2D 和 3D 可視化所需要的一切
論是從事哪個(gè)行業(yè),教育、文字寫作、影視制作、軟件開發(fā),導(dǎo)圖都有著必不可少的意義。
開局一張圖,有助于我們更好地開展工作,其重要性不言而喻。
網(wǎng)絡(luò)上的制圖工具五花八門,在線免安裝的作圖軟件也有很多。今天我們就給大家推薦一款在chrome商店里斬獲5萬+用戶的ProcessOn。
ProcessOn是一款基于HTML5和JavaScript開發(fā)而成的在線作圖工具。
它支持在線畫流程圖、思維導(dǎo)圖、UI原型圖、UML、網(wǎng)絡(luò)拓?fù)鋱D、組織結(jié)構(gòu)圖等等。
無需下載,無論是哪種操作系統(tǒng),一個(gè)瀏覽器就可以讓你隨時(shí)隨地發(fā)揮創(chuàng)意,規(guī)劃工作。
除此之外,ProcessOn上的所有數(shù)據(jù)能夠進(jìn)行實(shí)時(shí)云端存儲, 并且支持多人在線實(shí)時(shí)協(xié)作,有利于提高工作效率。
進(jìn)入ProcessOn進(jìn)入官方網(wǎng)站 > 登錄賬號 > 點(diǎn)擊左上角的【新建文件】
選擇想要創(chuàng)建的文件類型:流程圖、思維導(dǎo)圖、原型、UML、網(wǎng)絡(luò)拓?fù)鋱D、組織結(jié)構(gòu)圖。
輸入文件名點(diǎn)擊【確定】完成創(chuàng)建,開始作圖。
1.流程圖
編輯:進(jìn)行撤銷、恢復(fù)、復(fù)制、剪切、粘貼、復(fù)用、格式刷等方式對文件進(jìn)行編輯修改。
插入:插入文本、圖片、連接線。
頁面:背景顏色、畫布大小和方向、內(nèi)邊距、網(wǎng)格大小和顯示調(diào)整。
頂部工具欄:可切換九種不同風(fēng)格的模板;文字對齊和大小調(diào)整;底色填充和邊框;連接線條的樣式;組合鎖定功能。
右側(cè)工具欄:匯聚了常用功能,如鷹眼導(dǎo)航、圖形、度量、屬性、頁面設(shè)置、歷史版本還有備注評論。
右鍵菜單:在畫布上右鍵可進(jìn)行全選、創(chuàng)建連接線、粘貼;
在元素上右鍵可進(jìn)行剪切、復(fù)制、粘貼、復(fù)用、置于頂層,置于底層、鎖定、編輯、刪除、全選、創(chuàng)建連接線。
2.思維導(dǎo)圖
頂部的菜單欄:關(guān)聯(lián)線樣式、插入圖片、主題風(fēng)格、格式刷、文件下載、文件演示。
右側(cè)編輯欄:節(jié)點(diǎn)樣式、節(jié)點(diǎn)圖標(biāo)、添加備注、插入鏈接、任務(wù)信息、歷史版本。
其中添加備注還支持Markdown語法。
在ProcessOn的思維導(dǎo)圖工作臺中,不僅能夠直接演示導(dǎo)圖,還能插入父節(jié)點(diǎn),以及在左側(cè)菜單欄中進(jìn)行結(jié)構(gòu)調(diào)整。
圖中的元素還能夠進(jìn)行自由拖拽,更方便編輯。
剩余幾種圖的工作面板都大同小異,還請大家自行研究了。
1.導(dǎo)入
點(diǎn)擊【新建文件】> 【導(dǎo)入】
目前ProcessOn支持XMind、MindManager、kityMinder、TXT、Pos、opml、vsd等格式文件。
2.邀請協(xié)作
點(diǎn)擊該文件右上角漢堡菜單 >【協(xié)作】
可直接添加小組成員,也可以通過輸入對方郵箱進(jìn)行邀請。邀請對象可設(shè)置其權(quán)限為編輯者或?yàn)g覽者。
3.分享文件
點(diǎn)擊該文件右上角漢堡菜單 >【分享】
生成瀏覽鏈接(支持添加密碼),分享給好友或同事;嵌入到其他站點(diǎn):復(fù)制生成的代碼,嵌入第三方網(wǎng)站中。
另外,ProcessOn還支持生成在線圖片。
4.下載
點(diǎn)擊該文件右上角漢堡菜單 >【下載】
共有PNG、JPG、PDF、POS、SVG等六種格式。
5.模板
ProcessOn對新手也非常友好——為初學(xué)者提供了分門別類的海量模板。
當(dāng)然你也可以將自己的原創(chuàng)內(nèi)容作為模板發(fā)布到ProcessOn平臺中。
點(diǎn)擊該文件右上角漢堡菜單 >【發(fā)布和公開】> 選擇【不允許克隆】/【免費(fèi)克隆】/【付費(fèi)克隆】。
審核通過后只要其他用戶付費(fèi)使用,作者便可以獲得相應(yīng)的收益。
6.圖形化知識資源
ProcessOn不僅僅是強(qiáng)大的作圖工具,還有著海量的圖形化知識資源。
在【推薦】里,用戶可以看到ProcessOn推送的各行業(yè)有價(jià)值的圖形化知識。
這些內(nèi)容也可以克隆當(dāng)作自己的模板來使用。
不管是資深人員還是新人小白,ProcessOn都能滿足你的需求。
ProcessOn在chrome商店中顯示5萬+次下載,2000+評分,卻仍然保持滿星好評的狀態(tài)。
美中不足的是,ProcessOn免費(fèi)版只支持同時(shí)保存9個(gè)文件。
不過,如果不是必須存檔,我們完全可以刪除之前不需要的設(shè)計(jì),這并不會影響到后續(xù)的使用
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。