999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于整體一致性的跨平臺指標體系構建系統設計與實現

2021-11-15 15:31:50賀偉雄汪穎黃曉夏
現代計算機 2021年27期
關鍵詞:跨平臺一致性文本

賀偉雄,汪穎,黃曉夏

(武警部隊研究院,北京 100012)

0 引言

指標作為一種可持續的評估工具,通過將復雜數據總結和濃縮為有意義的信息,可以方便地跟蹤一個時間段的進展情況,并能幫助用戶發現可能存在的問題和關聯因素[1]。指標廣泛用于各類研究報告,以確定政策方向并回應公眾關切[2]。由于單一指標只能反映研究對象某方面的情況,難以捕捉多維現象,因此指標體系的使用頻率越來越高[3]。一般來說,指標體系是匯聚各維度的指標并基于特定公式進行構建,因此能夠更好地總結復雜現象,著名的指標體系包括聯合國可持續發展目標[4]和千年生態系統評估報告[5]等。

在構建指標體系的過程中,指標項通常分為若干個層級,上層指標項依賴多個下層指標項,而下層指標項還需要通過數據項計算得到結果,指標項和數據項之間復雜的依賴關系,使得每一次修改都會引起指標聯動,使得改動成本迅速增加。為了全面評價社會經濟體的建設發展水平,需要構建數以千計的指標,極大地推高了構建與修改成本。因此,在構建大規模指標體系的過程中,如何使用軟件自動化方法讓指標自動聯動,從而保證指標體系的一致性,是亟待解決的難題。目前學者們對指標體系的研究重點主要集中在如何構建某一領域的指標體系,例如網絡輿情指標體系[6]、指揮信息系統指標體系[7]、城市生態文明建設指標體系[8]等,但很少涉及到指標體系的一致性問題。

針對以上問題,本文在分析指標體系通用結構的基礎上,從數據關系一致性和文本語義一致性兩方面提出指標體系整體一致性的概念。為構建實用的指標構建系統,分析系統功能需求,比較常用的跨平臺技術,設計系統框架和數據庫結構,并采用Electron和React.js結合實現跨平臺指標體系構建系統的各個功能模塊。

1 指標體系整體一致性定義

指標體系通常包括指標項和數據項兩部分[9]。指標項由名稱、釋義、算法和所需數據等構成,數據則由數據項名稱、來源、量綱、取值范圍等構成。指標根據所處層級的不同分為一級指標、二級指標等,上層指標項依賴于下層指標項,所有的指標項都包含若干數據項,各組成部分的關系如圖1所示,圖中箭頭表示依賴關系。

圖1 指標體系結構圖

在構建指標體系的過程中,為保證體系的科學性、可測性、導向性[6],需要經常修改指標項和數據項。例如,數據項如果難以獲取,則需要刪除該數據項。如此一來,所有使用該數據項的指標均不可用,并且所有依賴這些指標項的上級指標也要進行修改,以保證依賴的正確性。為了構建科學完備的指標體系,將指標體系“整體一致性”定義為:指標體系中所有指標項之間,以及指標項與數據項之間正確的依賴關系。

定義中所指的依賴關系包含兩層意思:①數據關系一致性約束,即所有使用到的指標和數據必須都存在,不能存在已刪除的數據項還被某一指標項使用的情況,并且同一指標和數據項在指標體系顯示和使用時,它的名稱、含義、計量單位等屬性必須一致。②文本語義一致性約束,即所有指標和數據項修改前和修改后的含義要基本一致。因為如果含義完全改變,那么所有依賴這些項目的指標也會變得不可靠。

2 指標體系構建系統需求分析

2.1 功能性需求

指標體系構建系統需要完成的主要功能有兩項,分別是數據項和指標項功能。

(1)數據項功能。主要完成數據的“CRUD”(Create/Retrieve/Update/Delete,即創建、讀取、修改、刪除),刪除時激活數據關系一致性約束,修改時激活文本語義一致性約束。

(2)指標項功能。主要進行指標的“CRUD”,與數據項類似,刪除和修改指標時都會激活一致性檢查。由于指標體系設計完畢后,最終還要形成文檔進行展示,因此指標項功能需要以Word的形式導出為指標文檔。

2.2 非功能性需求

功能性需求只是系統的一部分。設計和實現系統時,還需要考慮用戶體驗、平臺兼容性等非功能性需求。

(1)良好的用戶體驗。在設計用戶界面時,需要把握最基本的“對齊”和“對比”原則。在此基礎上,各界面組件的距離按照“親密性”原則進行把握,即如果信息之間關聯性越高,它們之間的距離就應該越接近,也越像一個視覺單元。同時,相似的功能盡量采用相同的元素、顏色、格式進行實現,以減少用戶的學習成本[10]。

(2)跨平臺兼容性。就目前桌面系統情況來看,微軟的Windows受眾最廣,而國產操作系統都是基于Linux系統進行開發。考慮到很多指標體系的構建事關國民經濟情況,在國產操作系統中使用的可能性很大,因此軟件需要具備跨平臺功能。

3 指標體系構建系統設計

3.1 技術選型

從需求分析可知,客戶端軟件需要跨平臺運行。目前常用的跨平臺軟件方案主要有Qt框架(C++語言),Swing(Java語言)和Electron框架(Ja?vaScript語言)。比較而言,Qt框架生成的界面和業務邏輯耦合度太強,維護成本高;Swing原生的用戶界面(user interface,UI)控件十分有限,難以開發用戶友好的軟件,而Electron采用HTML和CSS構建用戶界面,可以與React.js等前端框架結合,實現用戶界面和業務邏輯的分離,方便后期維護。考慮到指標體系構建系統的業務邏輯并不復雜,但其交互界面繁復、各類圖表需動態生成,對前端展現要求很高。基于以上考慮,選用Electron和React.js技術相結合進行開發。

3.2 系統框架設計

系統的整體結構如圖2所示,共分為視圖UI層,業務邏輯層和數據持久化層。其中視圖UI層使用前端框架React.js,該層運行在Electron內置的Chrome瀏覽器中;業務邏輯層則使用Node.js編寫,負責轉發頁面請求,視圖層和業務層封裝成React.js組件(Component)進行通信;數據持久化層采用JavaScript實現的NeDB數據庫,該數據庫利用異步功能實現非阻塞式數據訪問。在此基礎上,系統還有三項通用模塊,分別是一致性檢查模塊、文本相似度計算模塊和指標文檔導出模塊,為所有業務提供支持。

圖2 指標體系構建系統整體框架

3.3 數據庫設計

由需求分析可知,系統核心功能主要是指標項和數據項,因此各需要一張數據表存儲相關數據。由于指標項與數據項是多對多的關系,為了進行關聯,還需要單獨設計一張關聯表。因此,核心數據表主要包括指標項表、數據項表和指標數據關系表。核心數據表之間的關聯關系如圖3所示。

圖3 數據庫實體聯系圖

4 指標體系構建系統實現

4.1 指標項功能實現

指標項和數據項實現的功能類似,都以CRUD為主。由于指標項屬性較多,這里主要以指標項功能為例進行探討。在設計UI時,首先實現下層組件,包括指標控制欄組件IndicatorCon?trol,數據表格組件IndicatorTable和指標表單組件IndicatorForm,每個組件都繼承React.Component類,以支持JSX語法。JSX是一種JavaScript的語法擴展,與傳統的JavaScript相比,它的語法簡單,與HTML類似,更適合編寫UI界面。下層組件完成后利用頂層的Indicator組件將所有組件進行組合,形成整個指標項頁面,指標頁面的JSX結構如代碼段1所示。

代碼段1指標頁面的JSX結構

從代碼段1中可以看出,通過JSX,可以把回調函數利用組件屬性進行傳遞,例如re?freshTable就是一個刷新頁面的回調函數。通過綁定回調函數,有利于反轉控制邏輯,將所有的信息流匯集到Indicator組件統一進行控制,方便維護與擴展。

保存數據時,由于NeDB采用的是回調函數進行非阻塞式調用,為了避免進入“回調地獄”[11],將其包裝為Promise實現,即返回值為Promise對象,該對象由resolve和reject兩個回調函數構成,如果數據庫查找操作時出現錯誤,則調用reject,反之則調用resolve。利用Async/Await關鍵字可以近似于同步方式使用數據庫功能,提高代碼質量。最終實現的頁面樣式如圖4所示。

圖4 指標項頁面樣式

4.2 文本相似度模塊實現

文本相似度主要依據“詞袋模型”[12]進行計算,主要依據不同文本中出現相同詞的數量來計算相似度,相似度定義為:

其中,A和B分別代表需要計算相似度的文本分詞以后的詞語集合,size(?)運算符代表計算集合大小,simA,B代表A和B的相似度。例如,考慮下面兩個文本:

指標1:公眾號是否開通支付功能

指標2:移動支付總筆數

分詞之后,指標1的詞語集合為{公眾,號,是否,開通,支付,功能},size為6;指標2的詞語集合為{移動,支付,總,筆,數},size為5。兩者的交集為{支付},size為1,根據公式1可以計算相似度為0.19。

從文本相似度的定義可以看出,相似度計算核心功能在于文本分詞。目前,Node.js提供了開源的中文分詞模塊node-segment,經過分詞之后的文本可利用公式1計算相似度。系統在實現時,將其包裝為TextUtil工具類以方便使用,并且采用單例設計模式以提高多次調用的性能。

4.3 一致性檢查模塊實現

系統采用“事件”驅動模式,用戶在修改或刪除指標數據項時會觸發“一致性”檢查。刪除時,會查找所有依賴項,因為數據庫中所有的依賴關系均存儲在IndicatorRelation表中,因此只需要在該表中搜索相應所需數據Id,如果存在搜索結果,證明還有依賴,則不允許刪除。修改時,需要調用文本相似度檢查模塊,如果相似度小于某個閾值,則提示與原有項目不一致,建議進行新增。

4.4 文檔導出模塊實現

指標體系構建完成后,需要將設計好的指標體系形成文檔以方便說明和展示。系統主要實現了根據已有Word模板生成對應的指標文檔,生成原理是高版本Word軟件使用的.docx文件,其本質是一個zip格式的壓縮包,文檔內容和格式在壓縮包中使用xml文件進行存儲。因此,在已有.docx文件模板的基礎上,只需要解析其中的XML文件并替換內部的文字即可形成所需要的文檔。

5 結語

本文重點探討了基于整體一致性的跨平臺指標體系構建系統的設計與實現。根據對指標體系通用結構的分析,從數據關系和文本語義兩方面定義了指標體系整體一致性概念。在此基礎上,分析了指標體系構建系統需求,從技術選型、框架設計和數據庫設計三個方面進行了詳細設計,最后實現了系統功能,主要包括指標項功能和文本相似度、一致性檢查和文檔導出模塊。從最終效果來看,無論是新增、修改還是刪除,均能有效地保證體系的整體一致性,并通過可視化方法幫助研究人員更好地開發大規模指標體系。

猜你喜歡
跨平臺一致性文本
關注減污降碳協同的一致性和整體性
公民與法治(2022年5期)2022-07-29 00:47:28
注重教、學、評一致性 提高一輪復習效率
IOl-master 700和Pentacam測量Kappa角一致性分析
在808DA上文本顯示的改善
跨平臺APEX接口組件的設計與實現
測控技術(2018年9期)2018-11-25 07:44:58
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
基于事件觸發的多智能體輸入飽和一致性控制
基于QT的跨平臺輸電鐵塔監控終端軟件設計與實現
基于OPC跨平臺通信的電機監測與診斷系統
主站蜘蛛池模板: 毛片基地视频| 波多野结衣在线一区二区| 色香蕉影院| 国内精品小视频在线| 国产靠逼视频| 92午夜福利影院一区二区三区| 国产毛片高清一级国语 | 久久综合九九亚洲一区| 日韩精品久久久久久久电影蜜臀| 国产精品无码在线看| 波多野结衣中文字幕久久| 久久久久亚洲av成人网人人软件 | 99热这里都是国产精品| 亚洲天堂首页| 国产亚洲精品yxsp| 国产一区二区网站| Jizz国产色系免费| 国产青青草视频| 91 九色视频丝袜| 国产午夜人做人免费视频中文 | 亚洲视频欧美不卡| 97视频在线精品国自产拍| 国内丰满少妇猛烈精品播| 91福利免费视频| 国产精品一区二区久久精品无码| 中文天堂在线视频| 97一区二区在线播放| 国产9191精品免费观看| 精品三级在线| 亚洲最大福利视频网| 欧美成人一级| www亚洲精品| 高清色本在线www| 色综合久久88| 国产a网站| 1769国产精品免费视频| 亚洲不卡影院| 国产精品私拍99pans大尺度| 免费国产福利| 国产欧美一区二区三区视频在线观看| 制服丝袜国产精品| 另类专区亚洲| 欧美一级夜夜爽| 91探花在线观看国产最新| 中文字幕 91| 精品国产香蕉在线播出| 中文字幕亚洲无线码一区女同| 成人国产精品网站在线看| 亚洲精品视频免费看| 久久久91人妻无码精品蜜桃HD| 日韩午夜福利在线观看| 亚洲第一成年网| 欧美日本在线| 她的性爱视频| 国产精品亚洲五月天高清| 手机看片1024久久精品你懂的| 女人av社区男人的天堂| 亚洲中文精品久久久久久不卡| 欧美黄网站免费观看| 国产区福利小视频在线观看尤物| 亚洲人成网站色7777| 幺女国产一级毛片| 97一区二区在线播放| 免费看的一级毛片| 亚洲无码免费黄色网址| 国产农村妇女精品一二区| 国产男人天堂| 欧美色伊人| 中文字幕天无码久久精品视频免费| 亚洲中文字幕无码爆乳| 一级爱做片免费观看久久| 久久夜色精品国产嚕嚕亚洲av| 国产成人精品午夜视频'| 亚洲 欧美 偷自乱 图片| 午夜精品一区二区蜜桃| 99在线视频网站| 思思99思思久久最新精品| 美女被操91视频| 亚洲人成电影在线播放| 亚洲天堂日本| 亚洲成年网站在线观看| 国产视频久久久久|