亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SVG和Vue的數(shù)據(jù)過程可視化設(shè)計(jì)①

        2022-05-10 08:39:46晨,鄧錄,董
        關(guān)鍵詞:連接點(diǎn)畫布算子

        林 晨,鄧 錄,董 璐

        (中國電子科技集團(tuán)公司第五十二研究所,杭州 310012)

        1 引言

        大數(shù)據(jù)時(shí)代,數(shù)據(jù)成爆炸式增長(zhǎng),并且數(shù)據(jù)類型多樣,格式復(fù)雜,但是存在數(shù)據(jù)分散,數(shù)據(jù)間關(guān)聯(lián)少的問題,無法進(jìn)一步對(duì)數(shù)據(jù)深度利用.數(shù)據(jù)過程就是對(duì)數(shù)據(jù)的深度利用和對(duì)大數(shù)據(jù)的處理,包含數(shù)據(jù)采集,錄入,標(biāo)準(zhǔn)化轉(zhuǎn)換和輸出的整個(gè)過程.數(shù)據(jù)過程可視化是為了使用戶能更清晰地了解數(shù)據(jù)深度利用和大數(shù)據(jù)處理的過程,形象地顯示數(shù)據(jù)過程,加深理解大數(shù)據(jù)處理.但是傳統(tǒng)的數(shù)據(jù)過程的可視化只是顯示整個(gè)數(shù)據(jù)過程,不能對(duì)數(shù)據(jù)過程進(jìn)行拖拽式編輯,無法對(duì)特定業(yè)務(wù)需求的算子進(jìn)行添加和數(shù)據(jù)錄入.現(xiàn)有的可視化解決方案主要有導(dǎo)入Visio 流程圖、百度的ECharts 庫、螞蟻金服的AntV G6 庫和美國專家開發(fā)的D3 庫.

        現(xiàn)有的可視化方案存在一定的缺陷,比如使用Visio 繪制流程圖,功能強(qiáng)大,但是只能以靜態(tài)圖片形式展示.基于Web 技術(shù)開發(fā)的可視化圖表庫,如ECharts庫,AntV G6 庫和D3 庫.ECharts 庫適用于基礎(chǔ)圖表,對(duì)于用戶交互需求較強(qiáng)不適用.AntV G6 提供了一系列設(shè)計(jì)優(yōu)雅、便于使用的圖可視化解決方案,能幫助開發(fā)者搭建屬于自己的圖可視化、圖分析、或圖編輯器應(yīng)用[1].但是AntV G6 可視化解決方案擴(kuò)展性差,對(duì)于模塊間的連線規(guī)則或者相互關(guān)系有較多需求的流程圖不適用.D3(data-driven documents)[2]是基于SVG和JQuery 開發(fā)的數(shù)據(jù)驅(qū)動(dòng)文檔.D3 將強(qiáng)大的可視化、動(dòng)態(tài)交互和基于數(shù)據(jù)驅(qū)動(dòng)的DOM 操作完美結(jié)合一起,直接操作真實(shí)的DOM 節(jié)點(diǎn),將數(shù)據(jù)轉(zhuǎn)化為可視化圖形[3].D3 與AntV G6 相比擴(kuò)展性更高,不依賴于分辨率,但是對(duì)于大數(shù)據(jù)情形,如果數(shù)據(jù)經(jīng)常發(fā)生改變,圖表就會(huì)不斷地重新渲染,即會(huì)經(jīng)常操作真實(shí)DOM,耗費(fèi)性能.

        針對(duì)上述存在的問題,本文提出基于SVG 和Vue技術(shù)的數(shù)據(jù)過程可視化設(shè)計(jì)和實(shí)現(xiàn)方案.該方案可以動(dòng)態(tài)、直觀地顯示整個(gè)數(shù)據(jù)過程,能對(duì)數(shù)據(jù)過程中的算子進(jìn)行拖拽式創(chuàng)建和編輯,豐富用戶的交互體驗(yàn).該方案擴(kuò)展性強(qiáng),不依賴于分辨率,采用虛擬DOM 技術(shù)渲染頁面[4],不會(huì)頻繁操作真實(shí)DOM,對(duì)數(shù)據(jù)進(jìn)行雙向綁定,只需要考慮數(shù)據(jù)的變化,不需要考慮頁面元素的改變,提高了開發(fā)效率和保證了良好性能.

        2 關(guān)鍵技術(shù)

        2.1 Vue

        Vue.js 是以數(shù)據(jù)驅(qū)動(dòng)為核心的用戶交互式的漸進(jìn)式Web 框架[5],與其他前端框架的差異是,Vue 的核心構(gòu)建思想是采取自底向上的設(shè)計(jì),使用數(shù)據(jù)雙向綁定和組件化構(gòu)建單頁面應(yīng)用[6].Vue 最大的優(yōu)勢(shì)是使用虛擬DOM 來渲染頁面,不需要頻繁操作真實(shí)DOM,數(shù)據(jù)雙向綁定,提高了性能.

        2.2 RESTful Web

        RESTful Web[7]服務(wù)是基于HTTP 應(yīng)用協(xié)議的標(biāo)準(zhǔn)化、通用化的操作實(shí)現(xiàn)對(duì)資源的操作[8].客戶端通過URL,使用不同的HTTP 請(qǐng)求方法來獲取和處理資源,并且響應(yīng)可以被標(biāo)志為可緩存或者不可緩存,將客戶端和服務(wù)端上的資源分離,提高了網(wǎng)絡(luò)效率[9].

        2.3 Element UI

        Element UI 是餓了么公司開發(fā)的基于Vue 的開源組件庫,包含常見的組件如按鈕,輸入框等,可快速實(shí)現(xiàn)頁面開發(fā)[10].

        3 系統(tǒng)設(shè)計(jì)

        3.1 系統(tǒng)框架設(shè)計(jì)

        數(shù)據(jù)過程可視化系統(tǒng)提供動(dòng)態(tài)添加及連接不同的算子來對(duì)大數(shù)據(jù)深度利用和處理的功能.基于B/S 架構(gòu)開發(fā)的數(shù)據(jù)過程系統(tǒng)框架如圖1所示.

        圖1 系統(tǒng)框架圖

        B/S 架構(gòu)分為客戶端和服務(wù)端兩部分,數(shù)據(jù)過程服務(wù)端是通過RESTful 接口接收數(shù)據(jù),根據(jù)數(shù)據(jù)的類型(批、流),流算子通過NiFi 服務(wù)執(zhí)行,批處理通過azkaban 調(diào)度,將任務(wù)封裝好交給azkaban 執(zhí)行.客戶端是基于Vue、ElementUI 框架和SVG 技術(shù)構(gòu)建的數(shù)據(jù)過程流程圖頁面.SVG 技術(shù)實(shí)現(xiàn)算子模型和算子間的連接線的創(chuàng)建,并基于Vue 的數(shù)據(jù)雙向綁定來實(shí)現(xiàn)算子在面板上的移動(dòng)、導(dǎo)航、編輯及刪除等操作功能.本系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)是用戶自主選擇數(shù)據(jù)庫,包括達(dá)夢(mèng)數(shù)據(jù)庫,MySQL 和Oracle.客戶端和服務(wù)端的通信使用Ajax 異步請(qǐng)求進(jìn)行JSON 數(shù)據(jù)的傳輸,同時(shí)采用HTTPS 協(xié)議保證傳輸過程的安全性和保密性.本文重點(diǎn)闡述數(shù)據(jù)過程客戶端的功能設(shè)計(jì)和實(shí)現(xiàn)過程.

        3.2 客戶端功能設(shè)計(jì)

        系統(tǒng)的客戶端功能包含算子面板,畫布,工具欄,導(dǎo)航和屬性5 個(gè)模塊,功能設(shè)計(jì)圖如圖2所示.

        圖2 數(shù)據(jù)過程客戶端設(shè)計(jì)圖

        算子面板模塊負(fù)責(zé)顯示處理數(shù)據(jù)深度利用的算子,比如采集算子和處理算子,并提供算子的拖拽式創(chuàng)建功能.畫布模塊負(fù)責(zé)大數(shù)據(jù)處理過程的創(chuàng)建和處理,通過采集算子獲取數(shù)據(jù)庫目錄下的某一類數(shù)據(jù),連接處理算子對(duì)該數(shù)據(jù)進(jìn)行去重或者異常值剔除等功能.工具欄模塊負(fù)責(zé)算子的復(fù)制、刪除和畫布位置縮放的操作功能.導(dǎo)航模塊負(fù)責(zé)快速定位畫布中算子的位置.屬性模塊負(fù)責(zé)顯示算子的屬性,并將修改后的屬性值存儲(chǔ)到數(shù)據(jù)庫,若屬性數(shù)據(jù)不符合規(guī)則,則不能執(zhí)行整個(gè)數(shù)據(jù)過程.本文重點(diǎn)分析畫布模塊和屬性模塊的設(shè)計(jì).

        3.3 系統(tǒng)各模塊詳細(xì)設(shè)計(jì)

        3.3.1 畫布模塊

        畫布模塊負(fù)責(zé)大數(shù)據(jù)處理過程的創(chuàng)建和處理,包含算子繪制和算子連接功能.本系統(tǒng)是基于采集算子和處理算子對(duì)復(fù)雜大數(shù)據(jù)進(jìn)行深度利用和處理,采集算子是指數(shù)據(jù)源類的算子,比如關(guān)系型數(shù)據(jù)庫采集算子;處理算子是連接采集算子后對(duì)數(shù)據(jù)進(jìn)行處理的一類算子,如異常值剔除算子,算子繪制是基于SVG 技術(shù)實(shí)現(xiàn).通過采集算子獲取達(dá)數(shù)據(jù)庫目錄下的某一類數(shù)據(jù),可以連接多種處理算子對(duì)該類數(shù)據(jù)處理,比如數(shù)據(jù)清洗和數(shù)據(jù)替換.不同算子的連接是基于SVG 技術(shù)繪制連接線,連接規(guī)則是基于Vue 技術(shù)構(gòu)建,比如處理算子必須前置連接采集算子,一個(gè)算子如果超過最大連接限制數(shù),其他算子則不能連接該算子.算子相互連接完成后執(zhí)行數(shù)據(jù)過程,這樣會(huì)將處理后的數(shù)據(jù)存放到指定數(shù)據(jù)表中,畫布模塊的原理如圖3所示.

        圖3 畫布模塊原理圖

        3.3.2 屬性模塊

        屬性模塊為算子的主要配置屬性,算子的連接和使用都依賴于屬性數(shù)據(jù).基于Vue 技術(shù)將繪制的算子和從數(shù)據(jù)庫中獲取的算子屬性數(shù)據(jù)雙向綁定,修改算子的配置屬性存儲(chǔ)到數(shù)據(jù)庫,不需要重復(fù)修改數(shù)據(jù)結(jié)構(gòu),動(dòng)態(tài)地更新算子.如果不按照規(guī)則修改算子屬性,則整個(gè)數(shù)據(jù)過程無效.算子的屬性數(shù)據(jù)量大,為了簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)和降低數(shù)據(jù)傳輸率,將屬性對(duì)象轉(zhuǎn)化為JSON字符串.采集算子和處理算子主要屬性信息表如表1和表2所示.

        表1 采集算子主要屬性表

        表2 處理算子主要屬性表

        4 系統(tǒng)實(shí)現(xiàn)

        本章重點(diǎn)講述基于SVG 和Vue 技術(shù)的數(shù)據(jù)過程實(shí)現(xiàn).該系統(tǒng)的實(shí)現(xiàn)基于Vue 組件化機(jī)制分為算子,畫布,屬性,導(dǎo)航和工具欄5 大組件.基于SVG 的繪制和Vue的數(shù)據(jù)雙向綁定功能,數(shù)據(jù)過程可視化系統(tǒng)的實(shí)現(xiàn)方案主要包括繪制功能,數(shù)據(jù)構(gòu)建及傳遞和交互功能.

        4.1 繪制功能

        繪制一個(gè)數(shù)據(jù)過程包含算子繪制和算子連接兩大要素.算子連接是繪制有邏輯關(guān)系的兩個(gè)算子之間的線段,并且需要滿足相應(yīng)的連接規(guī)則[11].

        4.1.1 算子繪制

        算子面板和畫布組件需要對(duì)算子進(jìn)行繪制.算子面板組件是基于Element UI 的Collapse 折疊面板實(shí)現(xiàn)算子的分類,算子分為采集組件和處理組件兩大類,如圖4所示.

        圖4 算子類型

        算子繪制是基于SVG 二維矢量圖的一個(gè)繪制空間,首先使用<svg></svg>標(biāo)簽構(gòu)建空間,再使用分組元素g 來表示一組算子.每個(gè)算子使用矩形元素<rect></rect>繪制,設(shè)置x、y的屬性值表示算子的坐標(biāo),width 和height 的屬性表示算子的長(zhǎng)寬,再設(shè)置rx和ry屬性使矩形產(chǎn)生圓角.算子的圖片是使用pattern 元素定義,通過屬性type 對(duì)應(yīng),然后在rect 標(biāo)簽中使用fill 屬性引用來填充,算子創(chuàng)建過程的流程圖如圖5所示.

        圖5 算子創(chuàng)建過程

        畫布組件中的算子是數(shù)據(jù)過程的一個(gè)重要元素,繪制的算子需要包含4 個(gè)連接點(diǎn)來連接其他算子.選擇的算子會(huì)顯示4 個(gè)連接點(diǎn),不被選中的算子則不顯示.算子的連接點(diǎn)是使用<circle>標(biāo)簽創(chuàng)建,4 個(gè)點(diǎn)的相對(duì)坐標(biāo)分別為(-0.5,0),(0.5,0),(0,-0.5),(0,0.5),再通過屬性transform 向X 軸平移算子的X 軸坐標(biāo)乘以點(diǎn)的相對(duì)X 軸坐標(biāo),向Y 軸平移算子的Y 軸坐標(biāo)乘以點(diǎn)的相對(duì)Y 軸坐標(biāo),這樣算子的4 個(gè)連接點(diǎn)就分別位于算子4 條邊的中心位置,如圖6所示.

        圖6 算子

        算子數(shù)據(jù)包括唯一ID,名稱,類型,長(zhǎng)寬,類型,X 軸和Y 軸坐標(biāo),4 個(gè)連接點(diǎn)相對(duì)坐標(biāo)所構(gòu)成的數(shù)組,屬性JSON 字符串,連接規(guī)則數(shù)組,參數(shù)和描述信息.由于算子屬性對(duì)象中的屬性比較多,為了簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)和降低數(shù)據(jù)傳輸率,將屬性對(duì)象轉(zhuǎn)化為JSON 字符串.基于Vue 的數(shù)據(jù)雙向綁定,算子數(shù)據(jù)貫穿于整個(gè)數(shù)據(jù)過程.

        4.1.2 算子連接

        算子的連接算法是根據(jù)算子間的連接規(guī)則進(jìn)行連接.連接線數(shù)組存放連接線唯一的ID,連接線對(duì)應(yīng)的源算子和目標(biāo)算子的唯一ID,數(shù)據(jù),連接點(diǎn)位置.連接規(guī)則數(shù)組是存放算子的邏輯關(guān)系以及最大,最小連接數(shù).

        兩個(gè)算子連接,首先判斷兩算子是否相同,然后判斷目標(biāo)是否存在連線規(guī)則,如果沒有規(guī)則直接連接,否則根據(jù)目標(biāo)算子的連線規(guī)則中類型是否等于或者包含源算子的類型得到過濾后的連接規(guī)則數(shù)組,再判斷連接數(shù)量是否超出規(guī)定的最大或者最小連接數(shù),未超過則兩個(gè)算子完成連接,實(shí)現(xiàn)流程如圖7所示.兩個(gè)不同的算子連接如果不滿足規(guī)則不能連接,即設(shè)置連接點(diǎn)的透明度為0,不顯示連接點(diǎn),如果滿足連接規(guī)則,設(shè)置連接點(diǎn)的透明度為1.

        圖7 算子連接規(guī)則流程圖

        元素path 的屬性d表示路徑數(shù)據(jù),即表示滿足連接規(guī)則的源算子和目標(biāo)算子的路徑數(shù)據(jù),d的值是一個(gè)“命令+參數(shù)”的序列,表現(xiàn)形式類似為(M10 10L20 20 40 50),M表示移動(dòng)到點(diǎn)坐標(biāo),L表示連線到點(diǎn)坐標(biāo).算子連接需要明確是源算子的哪個(gè)連接點(diǎn)和目標(biāo)算子的哪個(gè)連接點(diǎn)連接,并且計(jì)算連接點(diǎn)在畫布上的X 軸和Y 軸的坐標(biāo),計(jì)算公式為源算子連接點(diǎn)X 軸坐標(biāo)等于源算子連接點(diǎn)的相對(duì)坐標(biāo)乘以寬度加上源算子的X 軸坐標(biāo),Y 軸和目標(biāo)算子連接點(diǎn)坐標(biāo)計(jì)算方法類似.為了避免連線被算子遮擋,連接線會(huì)出現(xiàn)一個(gè)拐點(diǎn),該拐點(diǎn)的坐標(biāo)就是源算子連接點(diǎn)和目標(biāo)算子連接點(diǎn)的X 軸坐標(biāo)的最大值,Y 軸最大值,如果源算子和目標(biāo)算子在同一條直線上則拐點(diǎn)因?yàn)樽鴺?biāo)相同顯示直線,如圖8所示.

        圖8 數(shù)據(jù)過程連接線

        源算子指向目標(biāo)算子的連線,使用箭頭區(qū)分源算子和目標(biāo)算子.箭頭采用SVG 的元素polygon 繪制,屬性points 定義三角形每個(gè)角的X 軸和Y 軸坐標(biāo).箭頭的坐標(biāo)為目標(biāo)算子連接點(diǎn)的坐標(biāo),將直角坐標(biāo)轉(zhuǎn)化為極坐標(biāo),計(jì)算連接點(diǎn)的角度,并旋轉(zhuǎn)對(duì)應(yīng)的角度得到箭頭指向角度,效果圖如圖8所示.

        4.2 數(shù)據(jù)構(gòu)建及傳遞

        Vue 基于MVVM(model-view-ViewModel)[12]架構(gòu),在View 層的操作數(shù)據(jù)傳遞給ViewModel 層,Model 層隨之更新,ViewModel 層會(huì)根據(jù)Model 層的數(shù)據(jù)變化自動(dòng)更新,重新渲染[13].本系統(tǒng)基于Vue 實(shí)現(xiàn),數(shù)據(jù)部分由JavaScript 實(shí)現(xiàn),不需要專門處理視圖層的HTML 節(jié)點(diǎn),視圖的變化隨著數(shù)據(jù)變化,提高了性能和開發(fā)效率.比如實(shí)現(xiàn)數(shù)據(jù)過程需要構(gòu)建連線數(shù)組edgelist 和算子數(shù)組itemlist,視圖模版核心代碼如下所示:

        算子數(shù)組itemlist 用來顯示在畫布上的算子,算子的所有屬性數(shù)據(jù)都在itemlist 數(shù)組中.Edgelist 數(shù)組對(duì)象包含自身的id,源算子id 和屬性from 對(duì)象,目標(biāo)算子id 和屬性to 對(duì)象,其中from 對(duì)象和to 對(duì)象分別包含源算子和目標(biāo)算子的所有屬性,坐標(biāo)以及連接點(diǎn)的相對(duì)位置坐標(biāo),數(shù)據(jù)結(jié)構(gòu)如圖9所示.<path>連線算法是根據(jù)edgelist 數(shù)組中源算子連接點(diǎn)的坐標(biāo)和目標(biāo)算子連接點(diǎn)的坐標(biāo)進(jìn)行連線繪制.

        圖9 Edgelist 數(shù)據(jù)結(jié)構(gòu)

        本文系統(tǒng)的實(shí)現(xiàn)基于Vue 組件化機(jī)制,分為算子,畫布,屬性,導(dǎo)航和工具欄5 大組件.每個(gè)組件實(shí)例的作用域是獨(dú)立的,父組件的數(shù)據(jù)需要通過prop 傳遞給子組件,子組件需要通過emit 方法將數(shù)據(jù)傳遞給父組件.設(shè)置每個(gè)組件的唯一的ref 值,非父子關(guān)系的組件間通過調(diào)用組件的數(shù)據(jù)或者方法獲得,比如組件buttonbar 為工具欄組件,組件viewport 為畫布組件,分別設(shè)置組件ref 值,工具欄組件通過調(diào)用畫布組件得到連接線edgelist 數(shù)組,核心代碼示例如下:

        <buttonbar ref="buttonbar"

        :edgelist="$refs.viewport.edgelist">

        </buttonbar>

        <viewport ref="viewport"></viewport>

        本文算子組件,畫布組件,屬性組件,導(dǎo)航組件和工具欄組件為非父子組件,各組件數(shù)據(jù)傳遞如圖10所示.

        圖10 各組件數(shù)據(jù)傳遞圖

        4.3 交互功能

        為了提升用戶的交互體驗(yàn),數(shù)據(jù)過程的交互功能主要包括拖拽移動(dòng)、放大或者縮小算子和導(dǎo)航.基于SVG 實(shí)現(xiàn)的數(shù)據(jù)過程,可以自由縮放,并不會(huì)影響圖片的失真.本系統(tǒng)通過鼠標(biāo)的滾輪mousewheel 事件實(shí)現(xiàn)放大或者縮小功能,并設(shè)置整個(gè)畫布縮放的最大和最小的值.通過鼠標(biāo)的mouseup 事件,mousedown 事件和mousemove 事件計(jì)算得到算子最終移動(dòng)的坐標(biāo)位置來實(shí)現(xiàn)算子的拖拽移動(dòng).SVG 具有高擴(kuò)展性,可直接使用Vue 的v-html 指令將畫布標(biāo)簽<svg>的所有數(shù)據(jù)顯示在頁面上,并設(shè)置成一定的縮放比例,使用鼠標(biāo)mousemove 事件移動(dòng)位置來實(shí)現(xiàn)導(dǎo)航功能,效果圖如圖11所示.

        圖11 導(dǎo)航效果圖

        5 應(yīng)用效果評(píng)估

        5.1 應(yīng)用平臺(tái)和數(shù)據(jù)集

        本系統(tǒng)采用的硬件環(huán)境配置為Intel x86 處理器,128 GB 內(nèi)存,軟件運(yùn)行平臺(tái)為CentOS 7.2 操作系統(tǒng).系統(tǒng)Web 客戶端運(yùn)行平臺(tái)為64 位Windows 7 操作系統(tǒng),Chrome 81.0 瀏覽器.本系統(tǒng)驗(yàn)證實(shí)驗(yàn)采用了內(nèi)部不公開的數(shù)據(jù)集.該數(shù)據(jù)集包含200 個(gè)算子,每個(gè)算子包含至少10 個(gè)屬性字段,配置屬性至少含有20 個(gè)屬性字段.每個(gè)算子有4 個(gè)連接點(diǎn),每個(gè)連接點(diǎn)可以連接其他符合規(guī)則的算子.

        5.2 效果評(píng)估

        為了驗(yàn)證系統(tǒng)方案的有效性,分別從分辨率,響應(yīng)幀數(shù)FPS,擴(kuò)展性,交互性,開發(fā)效率及功能完善度和現(xiàn)有方案做對(duì)比.

        根據(jù)表3 看出,本系統(tǒng)方案和D3 庫不依賴于分辨率,任意縮放不會(huì)失真,而其他3 個(gè)方案都依賴于分辨率,任意縮放會(huì)失真.因?yàn)楸痉桨负虳3 庫使用SVG 繪制的矢量圖;G6 庫,ECharts 方案底層是Canvas 渲染的位圖.矢量圖不依賴于分辨率,任意縮放不失真,而位圖依賴于分辨率,任意縮放會(huì)失真.數(shù)據(jù)過程的性能主要通過算子拖拽,移動(dòng),連線操作的響應(yīng)時(shí)間來體現(xiàn).使用Chrome 瀏覽器提供的performance 工具中的FPS(每一秒的幀數(shù))指標(biāo)來測(cè)試對(duì)比本方案和現(xiàn)有方案的頁面動(dòng)畫的性能指標(biāo).通過表2,從FPS 維度可以看出本方案,G6 庫和D3 庫在相同時(shí)間間隔的FPS 達(dá)到60 以上,說明未出現(xiàn)卡頓,用戶體驗(yàn)良好.

        表3 數(shù)據(jù)過程系統(tǒng)性能對(duì)比表

        本系統(tǒng)方案和現(xiàn)有方案從多個(gè)維度的對(duì)比,從擴(kuò)展性維度看出G6 庫和ECharts 庫因是商業(yè)產(chǎn)品不能二次開發(fā)擴(kuò)展性差,導(dǎo)入Visio 圖方案不能對(duì)實(shí)時(shí)的算子數(shù)據(jù)進(jìn)行修改擴(kuò)展性差,D3 庫和本系統(tǒng)方案可以定制化開發(fā),更具有高擴(kuò)展性.從交互性維度得出,除了導(dǎo)入Visio 圖方案和ECharts 庫外其他方案都有較高的交互性.從開發(fā)效率維度看,G6 庫每一次數(shù)據(jù)的更新都需要重新組裝數(shù)據(jù),D3 庫采用JQuery 庫開發(fā)代碼復(fù)雜且效率低,本系統(tǒng)方案基于Vue 庫的組件化和數(shù)據(jù)雙向綁定特點(diǎn)開發(fā),開發(fā)效率高.從功能完善程度對(duì)比得出G6 庫和ECharts 因是商業(yè)產(chǎn)品不能進(jìn)行二次開發(fā),功能有限,D3 庫和本系統(tǒng)方案可以自主開發(fā)功能,功能完善度更高更容易把控.綜合來看本系統(tǒng)方案在分辨率,響應(yīng)幀數(shù),擴(kuò)展性,交互性,開發(fā)效率和功能完善程度多個(gè)方面對(duì)比其他現(xiàn)有方案更具有優(yōu)勢(shì),且能保證良好性能和豐富的用戶體驗(yàn).

        6 總結(jié)

        本文針對(duì)傳統(tǒng)數(shù)據(jù)過程系統(tǒng)無法動(dòng)態(tài)地顯示數(shù)據(jù)過程及對(duì)數(shù)據(jù)過程中的算子無法進(jìn)行拖拽編輯的問題,提出了一種基于SVG和Vue的數(shù)據(jù)過程可視化系統(tǒng)方案.該系統(tǒng)采用SVG 繪制元素,可以任意縮放,不依賴于分辨率,不會(huì)造成圖片像素的失真,并且SVG 可直接嵌套部分Element UI 組件庫使用,還可以直接使用Vue 的方法指令,具有擴(kuò)展性強(qiáng)和高開發(fā)效率的特點(diǎn).基于Vue 的組件化和數(shù)據(jù)雙向綁定特點(diǎn),本系統(tǒng)方案實(shí)現(xiàn)不需要關(guān)注視圖HTML 節(jié)點(diǎn)的處理,只需要處理數(shù)據(jù)部分,采用虛擬DOM 來渲染頁面,不需要頻繁操作真實(shí)DOM,提高了開發(fā)效率同時(shí)保證了良好性能.

        猜你喜歡
        連接點(diǎn)畫布算子
        商業(yè)模式畫布
        擬微分算子在Hp(ω)上的有界性
        基于A3航攝儀的小基高比影像連接點(diǎn)精提取技術(shù)研究
        各向異性次Laplace算子和擬p-次Laplace算子的Picone恒等式及其應(yīng)用
        為什么要在畫布上割一刀?
        讓鮮花在畫布上盛開
        一類Markov模算子半群與相應(yīng)的算子值Dirichlet型刻畫
        基于彈性厚粘膠層的結(jié)構(gòu)性連接點(diǎn)響應(yīng)建模和預(yù)測(cè)
        汽車文摘(2016年6期)2016-12-07 00:23:38
        Roper-Suffridge延拓算子與Loewner鏈
        大師的畫布
        小辣椒福利视频导航| 综合激情中文字幕一区二区| 81久久免费精品国产色夜| 青青草原综合久久大伊人精品| 精品久久久无码中字| 69av视频在线观看| 粉嫩av一区二区在线观看| 国模91九色精品二三四| 国产精品久线在线观看| 亚洲熟妇少妇69| 国产精品一区区三区六区t区| 美女扒开内裤让我捅的视频| 亚洲av无码乱码在线观看裸奔| 肉体裸交丰满丰满少妇在线观看| 亚洲AV秘 无码一区二区在线| 亚洲av综合色一区二区| 少妇愉情理伦片高潮日本| 四月婷婷丁香七月色综合高清国产裸聊在线 | 久久精见国产亚洲av高清热| 中文字幕精品一区二区精品| 亚洲精品国产成人无码区a片| 日韩av无卡无码午夜观看| 干出白浆视频在线观看| 97碰碰碰人妻无码视频| 久久AV老司机精品网站导航| 日本高清视频在线一区二区三区| 日韩不卡的av二三四区| 亚洲av无码专区在线播放中文| 一级一级毛片无码免费视频| av一区二区三区有码| 无套中出丰满人妻无码| 色先锋资源久久综合5566| 婷婷成人亚洲综合国产| 肥老熟女性强欲五十路| 蜜桃麻豆www久久囤产精品| 日本少妇按摩高潮玩弄| 99久久婷婷亚洲综合国产| 怡红院av一区二区三区| 国产午夜亚洲精品不卡福利| 蜜桃视频永久免费在线观看| 欧美村妇激情内射|