摘 要:隨著信息化作戰(zhàn)的發(fā)展,迫切需要對(duì)指揮信息系統(tǒng)的數(shù)據(jù)進(jìn)行集成整合,在分散異構(gòu)的數(shù)據(jù)源上實(shí)現(xiàn)統(tǒng)一的數(shù)據(jù)交換。針對(duì)這一問(wèn)題,提出了一種基于 SOA 和本體的多源異構(gòu)數(shù)據(jù)集成架構(gòu),并詳細(xì)闡述了其體系結(jié)構(gòu)、模塊設(shè)計(jì)、功能特點(diǎn)以及關(guān)鍵技術(shù),最終實(shí)現(xiàn)了一個(gè)多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)。通過(guò) Web Service 技術(shù)解決了客戶(hù)端與服務(wù)端之間的遠(yuǎn)程多源數(shù)據(jù)傳輸問(wèn)題,同時(shí)利用本體技術(shù)在語(yǔ)義描述方面的優(yōu)勢(shì),有效整合了領(lǐng)域知識(shí),實(shí)現(xiàn)了統(tǒng)一的數(shù)據(jù)訪(fǎng)問(wèn)。結(jié)果表明,該系統(tǒng)克服了傳統(tǒng)平臺(tái)技術(shù)及數(shù)據(jù)共享技術(shù)在信息集成中的局限,解決了指揮信息系統(tǒng)數(shù)據(jù)空間異構(gòu)、語(yǔ)義異構(gòu)、格式異構(gòu)的現(xiàn)實(shí)問(wèn)題,實(shí)現(xiàn)了數(shù)據(jù)的有效集成。
本文源自葉霞; 劉睿珩; 許飛翔; 岳增營(yíng), 火力與指揮控制 發(fā)表時(shí)間:2021-04-19《火力與指揮控制》雜志,月刊,于1976年經(jīng)國(guó)家新聞出版總署批準(zhǔn)正式創(chuàng)刊,由中國(guó)兵器工業(yè)集團(tuán)有限公司主管,北方自動(dòng)控制技術(shù)研究所主辦的學(xué)術(shù)性刊物,本刊在國(guó)內(nèi)外有廣泛的覆蓋面,題材新穎,信息量大、時(shí)效性強(qiáng)的特點(diǎn),其中主要欄目有:專(zhuān)家論壇、綜述、理論研究、工程實(shí)踐、試驗(yàn)技術(shù)。
關(guān)鍵詞:Web Service,本體技術(shù),數(shù)據(jù)集成,語(yǔ)義異構(gòu)
在信息化戰(zhàn)爭(zhēng)背景下,指揮信息系統(tǒng)作為作戰(zhàn)指揮的“神經(jīng)中樞”,已然成為各國(guó)部隊(duì)的建設(shè)重點(diǎn)之一,數(shù)據(jù)作為其“血液”,更是發(fā)揮著至關(guān)重要的作用。然而,隨著指揮信息系統(tǒng)數(shù)據(jù)需求的快速增長(zhǎng),各類(lèi)數(shù)據(jù)資源的規(guī)模、結(jié)構(gòu)、分布都發(fā)生了巨大變化。當(dāng)前,由于各作戰(zhàn)單位指揮信息系統(tǒng)建設(shè)的階段性和分布性特點(diǎn),這些系統(tǒng)的建設(shè)時(shí)間、開(kāi)發(fā)人員、運(yùn)行環(huán)境大都不一致,并且它們的數(shù)據(jù)源之間相互獨(dú)立,因此存在著大量冗余、異構(gòu)的數(shù)據(jù)。這導(dǎo)致數(shù)據(jù)難以在系統(tǒng)之間流轉(zhuǎn)、共享和融合,容易產(chǎn)生“信息孤島”的現(xiàn)象[1]。
為解決不同指揮信息系統(tǒng)數(shù)據(jù)之間存在的格式異構(gòu)、空間異構(gòu)、語(yǔ)義異構(gòu)等問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)資源的高效利用。本文提出了一種基于 SOA(Service Oriented Architecture)[2]和本體技術(shù)的多源異構(gòu)數(shù)據(jù)集成系統(tǒng)[3]。通過(guò)面向 SOA 的 WebService[4]技術(shù),對(duì)多個(gè)孤立數(shù)據(jù)源進(jìn)行整合,結(jié)合本體映射方法,合并不同指標(biāo)體系中具有相同語(yǔ)義的概念,從而構(gòu)建統(tǒng)一的全局指標(biāo)本體,為指揮員提供一個(gè)完整統(tǒng)一的數(shù)據(jù)視圖,協(xié)助指揮中心對(duì)子單位數(shù)據(jù)資源進(jìn)行管理。除此之外,通過(guò)統(tǒng)一底層數(shù)據(jù)源格式,系統(tǒng)還集中了數(shù)據(jù)模式轉(zhuǎn)換和查詢(xún)處理等功能,實(shí)現(xiàn)異構(gòu)數(shù)據(jù)源的無(wú)縫鏈接和信息共享,為指揮員提供兼容可靠的查詢(xún)功能,便于獲取、集成和查看數(shù)據(jù)。因此,多源異構(gòu)數(shù)據(jù)集成系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)成為了解決“信息孤島”問(wèn)題的有效手段,是實(shí)現(xiàn)數(shù)據(jù)一體化訪(fǎng)問(wèn)和挖掘運(yùn)用的關(guān)鍵因素。
1 相關(guān)研究
數(shù)據(jù)集成指通過(guò)清理、映射和轉(zhuǎn)換等操作,將不同來(lái)源的數(shù)據(jù)合并到單個(gè)統(tǒng)一視圖的過(guò)程。起初的研究主要集中在聯(lián)邦數(shù)據(jù)庫(kù)系統(tǒng)[5,6]上,通過(guò)建立聯(lián)邦模式架構(gòu),實(shí)現(xiàn)各個(gè)數(shù)據(jù)源之間的相互聯(lián)系和獨(dú)立自治[7],但這種架構(gòu)很難實(shí)現(xiàn)數(shù)據(jù)源的拓展。隨著數(shù)據(jù)存儲(chǔ)能力的提升,數(shù)據(jù)倉(cāng)庫(kù)[8]能較好地整合多個(gè)數(shù)據(jù)源從而實(shí)現(xiàn)高效查詢(xún),并得到了進(jìn)一步運(yùn)用[9],但數(shù)據(jù)倉(cāng)庫(kù)不能很好地處理冗余數(shù)據(jù),導(dǎo)致數(shù)據(jù)實(shí)時(shí)更新困難。為了更好地解決用戶(hù)與數(shù)據(jù)源之間的連接關(guān)系,一些工作在兩者之間建立一個(gè)中間件層[10],從而為用戶(hù)提供統(tǒng)一的數(shù)據(jù)視圖和訪(fǎng)問(wèn)接口。但這種方法難以區(qū)分具有相似語(yǔ)義的數(shù)據(jù),并且查詢(xún)效率很大程度上依賴(lài)于中間層的設(shè)計(jì)。因此,近年來(lái)越來(lái)越多的研究集中在實(shí)體匹配[11]和語(yǔ)義映射[12]等方面,但是這些方法往往只針對(duì)結(jié)構(gòu)化或者非結(jié)構(gòu)化類(lèi)型的單一數(shù)據(jù)。XML (Extensible Markup Language)和本體技術(shù)[13]的引入為異構(gòu)數(shù)據(jù)集成提供了一種新思路,利用 XML 在統(tǒng)一數(shù)據(jù)格式時(shí)的普適性以及本體技術(shù)嚴(yán)謹(jǐn)?shù)母拍罱Y(jié)構(gòu)和邏輯推理等特性,進(jìn)一步提升了數(shù)據(jù)集成的效果[14]。本文以 Web Service 體系為框架并結(jié)合本體技術(shù),針對(duì)指揮信息系統(tǒng)數(shù)據(jù)在空間、結(jié)構(gòu)和語(yǔ)義上的差異,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)多源異構(gòu)數(shù)據(jù)集成系統(tǒng)。
1.1 SOA 和 Web Service 概述
SOA 即面向服務(wù)架構(gòu),它是一種軟件架構(gòu)設(shè)計(jì)的模型和方法論,將應(yīng)用程序的不同功能單元通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。 SOA 的提出是在企業(yè)計(jì)算領(lǐng)域,就是要將緊耦合的系統(tǒng),劃分為面向業(yè)務(wù)的,粗粒度,松耦合,無(wú)狀態(tài)的服務(wù)。在 SOA 的技術(shù)框架下,可以把雜亂無(wú)章的龐大系統(tǒng)整合成一個(gè)全面有序的系統(tǒng),從而增加企業(yè)在業(yè)務(wù)發(fā)展過(guò)程中應(yīng)用系統(tǒng)的靈活性,解決異構(gòu)系統(tǒng)之間通信問(wèn)題,實(shí)現(xiàn)最大的網(wǎng)絡(luò)資產(chǎn)利用率。
Web Service 作為一個(gè)新型的分布式計(jì)算模型,是實(shí)現(xiàn) SOA 這一理念的推薦標(biāo)準(zhǔn),它由三個(gè)部分組成,分別為服務(wù)提供者、服務(wù)請(qǐng)求者和服務(wù)代理,通過(guò)發(fā)布、查找和綁定實(shí)現(xiàn)信息的傳輸。Web Service 的關(guān)鍵技術(shù)包括 XML、SOAP、WSDL 和 UDDI。
XML 是指可擴(kuò)展標(biāo)記語(yǔ)言,是 Web Service 的技術(shù)基礎(chǔ),Web Service 中各種信息的描述都是基于 XML。
SOAP(Simple Object Access Protoco1)是指簡(jiǎn)單對(duì)象訪(fǎng)問(wèn)協(xié)議,是基于 XML 在分散或分布式的環(huán)境中交換信息的簡(jiǎn)單的協(xié)議。允許服務(wù)提供者和服務(wù)請(qǐng)求者經(jīng)過(guò)防火墻在 Internet 進(jìn)行通訊交互。
WSDL(WebService Description Language)是指網(wǎng)絡(luò)服務(wù)描述語(yǔ)言,也是基于 XML 語(yǔ)言的,用于描述 WebService 以及如何對(duì)它們進(jìn)行訪(fǎng)問(wèn)。
UDDI (Universal Description,Discoveryand Integration)是指通用描述、發(fā)現(xiàn)與集成服務(wù),用來(lái)創(chuàng)建 Web 服務(wù)注冊(cè)中心,它是 Web 服務(wù)注冊(cè)和發(fā)現(xiàn)的技術(shù)規(guī)范。UDDI 是一個(gè)獨(dú)立于平臺(tái)的框架,用于通過(guò)使用 Internet 來(lái)描述服務(wù),發(fā)現(xiàn)企業(yè),并對(duì)企業(yè)服務(wù)進(jìn)行集成。
Web Service 三角形的設(shè)計(jì)模型[15]被稱(chēng)作 SOA 的體系結(jié)構(gòu),Web Service 模型如圖 1 所示。
一個(gè)完整的 Web Service 體系結(jié)構(gòu)的實(shí)現(xiàn)過(guò)程如圖 2 所示
Step1:客戶(hù)查詢(xún)服務(wù)中介以請(qǐng)求特定的服務(wù); Step2:服務(wù)注冊(cè)中心引導(dǎo)客戶(hù)找到滿(mǎn)足請(qǐng)求的服務(wù) WSDL 文檔; Step3:服務(wù)請(qǐng)求者訪(fǎng)問(wèn) WSDL 文檔; Step4:WSDL 提供服務(wù)的具體描述信息; Step5:客戶(hù)根據(jù) WSDL 生成相應(yīng)的 SOAP 消息,發(fā)送給 Web 服務(wù)提供者; Step6:服務(wù)提供者應(yīng)答 SOAP 消息,提供給請(qǐng)求者相應(yīng)的服務(wù)。
1.2 本體技術(shù)
隨著語(yǔ)義網(wǎng)技術(shù)[16]的不斷發(fā)展成熟,異構(gòu)數(shù)據(jù)集成的重點(diǎn)慢慢地轉(zhuǎn)移到解決語(yǔ)義異構(gòu)的問(wèn)題上,而目前本體技術(shù)利用對(duì)語(yǔ)義很好地描述能力可以很好地解決數(shù)據(jù)的語(yǔ)義異構(gòu)問(wèn)題,EhrigM 等在文獻(xiàn)[17]中介紹了本體集成的問(wèn)題在歐洲委員會(huì)啟動(dòng)的 SWAP(Semantic Weband Peer-to-peer)項(xiàng)目中首次被提出,該項(xiàng)目有著在每個(gè)終端建立各自的本體之后建立一個(gè)集成大本體的需求,因此提出了本體映射和本體合并的概念,本體技術(shù)的運(yùn)用消除了數(shù)據(jù)集成過(guò)程中的語(yǔ)義異構(gòu)問(wèn)題,并最終實(shí)現(xiàn)語(yǔ)義融合的目的。
本體概念的發(fā)展使得本體模型也在不斷地進(jìn)行完善,最終得到公認(rèn)的一套本體模型[18]:O={C, R,F(xiàn),A,I}。
1)C 代表類(lèi)(class):是從本體中提取出用以表述事物對(duì)象的集合,描述領(lǐng)域內(nèi)的實(shí)際概念,既可以是實(shí)際存在的事物,也可以是抽象的概念,比如邏輯推理、動(dòng)作、策略和工作過(guò)程等;
2)R 代表關(guān)系(relations):用于描述類(lèi)(概念)之間的關(guān)系,表示了領(lǐng)域內(nèi)的概念與概念之間的相互影響力,如 part-of、kind-of 等;
3)F 代表函數(shù)(function):函數(shù)是一類(lèi)特殊的關(guān)系,可以理解為關(guān)系的一個(gè)特例,在這種關(guān)系中前 n-1 個(gè)元素可以唯一決定第 n 個(gè)元素,
4)A 代表公理(axioms):公理代表本體內(nèi)存在的事實(shí),多用來(lái)表示對(duì)概念或者實(shí)例的約束;
5)I 代表實(shí)例(instances):表示具體某個(gè)類(lèi)的實(shí)際存在,從語(yǔ)義方面講實(shí)例代表的就是具體對(duì)象。
為解決指揮信息系統(tǒng)數(shù)據(jù)目前存在的空間異構(gòu)、格式異構(gòu)以及語(yǔ)義異構(gòu)等問(wèn)題,本文提出使用本體技術(shù)和基于 SOA 的 WebService 技術(shù)實(shí)現(xiàn)多源異構(gòu)數(shù)據(jù)集成的方法,設(shè)計(jì)并實(shí)現(xiàn)了多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)。
2 基于 Web Service 和本體的多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)設(shè)計(jì)
2.1 需求分析
不同的作戰(zhàn)單位在地理位置分布上十分的分散,而且每個(gè)單位指揮信息系統(tǒng)存儲(chǔ)數(shù)據(jù)的格式不盡相同,不利于進(jìn)行聯(lián)合作戰(zhàn)指揮,難以提高部隊(duì)?wèi)?zhàn)斗力。因此考慮將各個(gè)單位的數(shù)據(jù)集成起來(lái),進(jìn)行統(tǒng)一查詢(xún),并將集成后的數(shù)據(jù)以二維數(shù)據(jù)表的形式輸出,可以很好地了解相應(yīng)系統(tǒng)的作戰(zhàn)水平。
多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)是服務(wù)于基層作戰(zhàn)單位以及指揮中心的。該系統(tǒng)使用 Web Service 技術(shù)進(jìn)行數(shù)據(jù)傳輸,利用 XML 技術(shù)和本體技術(shù)實(shí)現(xiàn)數(shù)據(jù)集成查詢(xún) [19],提供給指揮員數(shù)據(jù)集成分析的功能,為各級(jí)指戰(zhàn)員高效完成作戰(zhàn)提供堅(jiān)實(shí)的基礎(chǔ),是信息化戰(zhàn)爭(zhēng)中不可或缺的一環(huán)。
多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)的主要參與者可以分為兩類(lèi):指揮中心技術(shù)員作為指揮中心用戶(hù)完成數(shù)據(jù)集成查詢(xún)等操作;各個(gè)子單位技術(shù)員作為子單位用戶(hù)完成數(shù)據(jù)采集處理等操作。具體的系統(tǒng)用戶(hù)及其功能性需求如表 1 所示。
2.2 系統(tǒng)功能設(shè)計(jì)
在充分調(diào)研了現(xiàn)有的指揮信息系統(tǒng)數(shù)據(jù)管理現(xiàn)狀后,結(jié)合用戶(hù)的需求,將系統(tǒng)劃分為各作戰(zhàn)單位使用的客戶(hù)端以及指揮中心使用的服務(wù)端。完整的系統(tǒng)功能設(shè)計(jì)如圖 3 所示。
2.2.1 客戶(hù)端主要功能
1)本地?cái)?shù)據(jù)管理
各作戰(zhàn)單位是數(shù)據(jù)的來(lái)源,對(duì)數(shù)據(jù)的管理尤為重要,直接關(guān)乎到后續(xù)數(shù)據(jù)集成效果的優(yōu)劣,用戶(hù)需要通過(guò)此功能對(duì)本地的數(shù)據(jù)進(jìn)行管理,不論是非結(jié)構(gòu)化的文本數(shù)據(jù)還是結(jié)構(gòu)化的數(shù)據(jù)庫(kù)數(shù)據(jù),都可以進(jìn)行增刪查改等操作。
2)數(shù)據(jù)清洗及轉(zhuǎn)換
規(guī)范的數(shù)據(jù)可以減少服務(wù)端進(jìn)行集成所花費(fèi)的時(shí)間,所以在客戶(hù)端需要實(shí)現(xiàn)數(shù)據(jù)的清洗[20]及格式的轉(zhuǎn)換。數(shù)據(jù)的清洗主要針對(duì)數(shù)據(jù)中出現(xiàn)的重復(fù)、缺失、不合理值的情況進(jìn)行處理,從而得到規(guī)范的數(shù)據(jù),方便后續(xù)的處理。由于在數(shù)據(jù)傳輸中采用 Web Service 技術(shù),可擴(kuò)展的標(biāo)記語(yǔ)言 XML 作為 Web Service 平臺(tái)表示數(shù)據(jù)的基本格式,除了易于建立和易于分析外,其主要的優(yōu)點(diǎn)在于它可以不受平臺(tái)和所使用軟件的影響。因此考慮將數(shù)據(jù)格式全部統(tǒng)一成 XML 格式的文件,以便于后續(xù)的數(shù)據(jù)傳輸和集成。
3)上傳數(shù)據(jù)
各個(gè)單位的客戶(hù)端在處理好數(shù)據(jù)后,需要將數(shù)據(jù)上傳至指揮中心的服務(wù)端,此過(guò)程中通過(guò) Web Service 技術(shù)與服務(wù)端進(jìn)行通信,同時(shí)進(jìn)行數(shù)據(jù)的傳輸,從而將各個(gè)作戰(zhàn)單位的數(shù)據(jù)全都集中到指揮中心的服務(wù)端上,這是解決數(shù)據(jù)空間異構(gòu)的重要步驟。
4)系統(tǒng)設(shè)置
系統(tǒng)在實(shí)現(xiàn)主要功能時(shí),還應(yīng)具備一些基礎(chǔ)功能。如語(yǔ)言選擇、時(shí)間調(diào)整、界面外觀(guān)設(shè)置、用戶(hù)名和密碼修改等通用設(shè)置,提供更好地用戶(hù)體驗(yàn)。
2.2.2 服務(wù)端主要功能
1)用戶(hù)管理
用戶(hù)管理主要針對(duì)服務(wù)端和客戶(hù)端用戶(hù),對(duì)登錄到系統(tǒng)的用戶(hù)權(quán)限進(jìn)行管理。為了充分考慮各個(gè)單位數(shù)據(jù)源的安全性,因此可以將每個(gè)客戶(hù)端看作一個(gè)數(shù)據(jù)源,同時(shí)對(duì)用戶(hù)和數(shù)據(jù)源進(jìn)行相應(yīng)的綁定。
2)數(shù)據(jù)管理
數(shù)據(jù)管理功能主要實(shí)現(xiàn)對(duì)各單位上傳的 XML 數(shù)據(jù)的管理,接收到各單位的數(shù)據(jù)后,可以進(jìn)行增刪查改等操作。服務(wù)端還需對(duì)客戶(hù)端清洗過(guò)的數(shù)據(jù)進(jìn)行檢查,如果數(shù)據(jù)依舊存在有重復(fù)、缺失、不合理值等情況,需要再次進(jìn)行清洗修正。
3)數(shù)據(jù)集成
數(shù)據(jù)集成的功能主要利用本體集成相關(guān)技術(shù),具體包括本體的構(gòu)建、本體概念相似度的計(jì)算以及本體的映射,最終將各個(gè)單位的數(shù)據(jù)集成到一個(gè)全局本體中,這也是整個(gè)系統(tǒng)的關(guān)鍵技術(shù)。在相似度計(jì)算和本體映射中可以引入機(jī)器學(xué)習(xí)算法,提高計(jì)算精度和映射準(zhǔn)確性。通過(guò)本體集成技術(shù)實(shí)現(xiàn)各個(gè)單位數(shù)據(jù)的高效集成,并存儲(chǔ)于服務(wù)端的數(shù)據(jù)庫(kù)中。
4)集成結(jié)果查詢(xún)
集成結(jié)果查詢(xún)?yōu)橛脩?hù)提供了一個(gè)人性化查詢(xún)接口。將各個(gè)單位的數(shù)據(jù)集成到一起后,可實(shí)現(xiàn)用戶(hù)的按需查詢(xún),例如,當(dāng)用戶(hù)有查看某單位或某一天數(shù)據(jù)的需求時(shí),可以通過(guò)系統(tǒng)搜索框輸入需要查詢(xún)的單位編號(hào)、日期、指標(biāo)名稱(chēng)等關(guān)鍵字,就可以在數(shù)據(jù)庫(kù)中查找相應(yīng)的信息,后臺(tái)經(jīng)過(guò)一些查詢(xún)內(nèi)容的查詢(xún)轉(zhuǎn)換、最終向用戶(hù)呈現(xiàn)查詢(xún)結(jié)果。
5)輔助功能
輔助功能主要是保證管理員可以在服務(wù)端完成數(shù)據(jù)和代碼的維護(hù)。系統(tǒng)將重要的指標(biāo)名稱(chēng)進(jìn)行標(biāo)記,當(dāng)有新的指標(biāo)名稱(chēng)出現(xiàn)時(shí),進(jìn)行相似度計(jì)算,實(shí)時(shí)更新本體概念庫(kù),數(shù)據(jù)維護(hù)對(duì)于系統(tǒng)的運(yùn)行十分重要,也是保證本體集成效果的重要措施。代碼維護(hù)功能可以保證系統(tǒng)正常的調(diào)試運(yùn)行。
6)系統(tǒng)設(shè)置
同客戶(hù)端一樣,服務(wù)端也具備系統(tǒng)的基礎(chǔ)設(shè)置功能。
2.3 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
本文在數(shù)據(jù)結(jié)構(gòu)和相應(yīng)算法的基礎(chǔ)上進(jìn)行系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)和開(kāi)發(fā),如圖 4 所示。系統(tǒng)采用基于 SOA 的三層 B/S 結(jié)構(gòu)[21],其中包含應(yīng)用層、中間層和信息源層。信息源層主要包含異構(gòu)數(shù)據(jù)源,首先進(jìn)行數(shù)據(jù)的清洗,然后將數(shù)據(jù)轉(zhuǎn)換為 XML 格式;中間層主要完成基于 Web Service 的數(shù)據(jù)安全傳輸、接口的管理以及基于本體的數(shù)據(jù)集成相關(guān)工作;應(yīng)用層主要表現(xiàn)為網(wǎng)頁(yè)端系統(tǒng),直接面向管理員和用戶(hù)。系統(tǒng)的體系結(jié)構(gòu)設(shè)計(jì)如圖 4 所示。
2.3.1 信息源層
信息源層是整個(gè)系統(tǒng)的基礎(chǔ),本課題研究的數(shù)據(jù)是來(lái)自于各個(gè)作戰(zhàn)單位指揮信息系統(tǒng)運(yùn)行數(shù)據(jù),數(shù)據(jù)源存儲(chǔ)于不同的單位,在不改變?cè)行畔⒔Y(jié)構(gòu)的基礎(chǔ)上,將結(jié)構(gòu)化數(shù)據(jù)及非結(jié)構(gòu)化文本數(shù)據(jù)轉(zhuǎn)化為 XML 格式后上傳至服務(wù)端,在服務(wù)端將 XML 文檔進(jìn)行處理,構(gòu)造局部本體,通過(guò)本體映射實(shí)現(xiàn)將局部本體映射到全局本體。實(shí)現(xiàn)數(shù)據(jù)的集成,以滿(mǎn)足后續(xù)的查詢(xún)需求。
2.3.2 中間層
中間層的主要任務(wù)是進(jìn)行整個(gè)業(yè)務(wù)功能的完成。要為應(yīng)用層訪(fǎng)問(wèn)該系統(tǒng)的用戶(hù)提供功能操作和數(shù)據(jù)查看,向下需要協(xié)調(diào)各個(gè)單位的數(shù)據(jù)源,在這一層系統(tǒng)主要完成數(shù)據(jù)的交互、本體的構(gòu)建、本體概念相似度的計(jì)算、本體的映射、集成數(shù)據(jù)查詢(xún)處理、Web Service 接口的管理等功能。
2.3.3 應(yīng)用層
應(yīng)用層處于多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)的信息源層和中間層之上,主要是服務(wù)于系統(tǒng)框架中的信息的用戶(hù)和管理者,在本系統(tǒng)中以網(wǎng)頁(yè)的形式展現(xiàn),為客戶(hù)端用戶(hù)和服務(wù)端管理員進(jìn)行數(shù)據(jù)的傳輸、處理、集成、查詢(xún)提供用戶(hù)界面。用戶(hù)和管理員只需在網(wǎng)頁(yè)上選擇需要進(jìn)行的操作或者查詢(xún)需要查找的信息,瀏覽器便可以接受用戶(hù)的請(qǐng)求并進(jìn)行解析,將請(qǐng)求傳至中間層進(jìn)行處理,完成相應(yīng)的操作。這種方法的好處在于,用戶(hù)和管理員無(wú)需了解請(qǐng)求數(shù)據(jù)和系統(tǒng)數(shù)據(jù)在底層傳輸處理的細(xì)節(jié),而是能夠直接在網(wǎng)頁(yè)系統(tǒng)上查看到中間層返回的結(jié)果,有著較好的人機(jī)交互體驗(yàn)。
3 系統(tǒng)關(guān)鍵模塊設(shè)計(jì)
3.1 數(shù)據(jù)格式統(tǒng)一模塊
數(shù)據(jù)格式的異構(gòu)是當(dāng)前數(shù)據(jù)集成所面臨的最基本的問(wèn)題,不同的單位的指揮信息系統(tǒng)運(yùn)行數(shù)據(jù)存儲(chǔ)的格式不盡相同,有的以 TXT、Word、Excel 或者 XML 格式進(jìn)行存儲(chǔ),有的存放在數(shù)據(jù)庫(kù)中,數(shù)據(jù)庫(kù)的選擇也不盡相同,有 Oracle、SQLServer、MySQL、 Access 等,統(tǒng)一各單位數(shù)據(jù)的數(shù)據(jù)格式是完成數(shù)據(jù)集成的第一步。由于 Web Service 和本體技術(shù)都對(duì) XML 格式有著較好的親和力,因此,考慮以 XML 作為數(shù)據(jù)的統(tǒng)一格式。XML 作為一種機(jī)器可讀文檔的規(guī)范,在數(shù)據(jù)轉(zhuǎn)換領(lǐng)域有著廣泛的應(yīng)用,特別是可以根據(jù)其語(yǔ)義約束的特性定義 XML 文件結(jié)構(gòu),以便于開(kāi)發(fā)人員和解析工具處理。本文通過(guò) XML Schema 定義各類(lèi)元素及其系列屬性來(lái)確定 XML 文檔結(jié)構(gòu)。在轉(zhuǎn)換數(shù)據(jù)格式時(shí),對(duì)于需要集成的數(shù)據(jù),根據(jù)結(jié)構(gòu)特點(diǎn),主要將其劃分為結(jié)構(gòu)化和非結(jié)構(gòu)化兩類(lèi),并按照預(yù)先定義的 XMLSchema 映射文件,在客戶(hù)端統(tǒng)一將本地?cái)?shù)據(jù)轉(zhuǎn)換為 XML 格式。
3.1.1 結(jié)構(gòu)化數(shù)據(jù)到 XML 數(shù)據(jù)的轉(zhuǎn)換
由于目前的數(shù)據(jù)庫(kù)管理系統(tǒng)存在很多差異,不同的應(yīng)用領(lǐng)域,數(shù)據(jù)模型不盡相同,不同的生產(chǎn)商也生產(chǎn)出不同的數(shù)據(jù)庫(kù),如 Oracle、SQL Server、 MySQL、Access 等。這些關(guān)系數(shù)據(jù)庫(kù)到 XML 的數(shù)據(jù)轉(zhuǎn)換主要是通過(guò) XML Schema 直接建立與數(shù)據(jù)庫(kù)的映射。
首先按照需求和 XML 文件的定義,根據(jù)映射規(guī)則生成 XMLSchema 映射文件,Schema 定義了在數(shù)據(jù)庫(kù)中檢索的數(shù)據(jù),以及最終在 XML 文件中如何表示這些數(shù)據(jù)。然后利用文檔對(duì)象模型(Document Object Model,DOM)來(lái)解析 Schema 文件,根據(jù)映射的定義,將獲得的數(shù)據(jù)庫(kù)結(jié)果集轉(zhuǎn)化為目標(biāo) XML 文檔。
3.1.2 非結(jié)構(gòu)化文本數(shù)據(jù)到 XML 數(shù)據(jù)的轉(zhuǎn)換
非結(jié)構(gòu)化文本數(shù)據(jù)主要是以 TXT、Word、Excel 這些類(lèi)型存儲(chǔ)的數(shù)據(jù)。其中,TXT 文本數(shù)據(jù)可以通過(guò) java.io 流來(lái)進(jìn)行輸入和輸出,完成對(duì) TXT 文本的讀取,并將其中的文件結(jié)構(gòu)和文件內(nèi)容取出,按照 XML Schema 預(yù)設(shè)的格式寫(xiě)入到同名的 XML 文檔中,最終實(shí)現(xiàn) TXT 文檔到 XML 文檔的轉(zhuǎn)換;Word 文檔的轉(zhuǎn)換可以通過(guò) Jacob(Java-COMBridge)技術(shù)對(duì) Word 文檔內(nèi)容進(jìn)行讀取,Jacob 在 Java 與微軟 COM 組件之間建立橋梁,通過(guò) JNI 功能訪(fǎng)問(wèn) Windows 平臺(tái)的 COM 組件或 win32 系統(tǒng)庫(kù),完成讀取后按照 XML Schema 預(yù)設(shè)格式生成同名 XML 文檔; Excel 文檔到 XML 文檔的轉(zhuǎn)換可以通過(guò) Java Excel API 實(shí)現(xiàn)[22],該組件可以對(duì) Excel 文檔進(jìn)行讀取、創(chuàng)建和更新。因此,使用 Java Excel API 讀取 Excel 文檔中所有單元格的內(nèi)容及格式,并按照同樣的方法寫(xiě)入到同名 XML 文檔。
3.2 數(shù)據(jù)傳輸模塊
結(jié)合各級(jí)指揮單元之間在空間分布上“散”和 “遠(yuǎn)”的特點(diǎn),依托指揮信息系統(tǒng)信息通信支撐網(wǎng)和其他共用信息基礎(chǔ)設(shè)施,數(shù)據(jù)交互模塊主要解決指揮信息系統(tǒng)在數(shù)據(jù)集成時(shí)所面臨的空間異構(gòu)問(wèn)題,以實(shí)現(xiàn)客戶(hù)端與服務(wù)端之間的數(shù)據(jù)交互,這里的數(shù)據(jù)不僅指系統(tǒng)數(shù)據(jù),還包括請(qǐng)求和響應(yīng)數(shù)據(jù)。
首先為每個(gè)數(shù)據(jù)源創(chuàng)建相應(yīng)的 WebService 接口,然后各子單位可根據(jù)指揮中心發(fā)布的 WSDL 文檔并通過(guò) SOAP 協(xié)議上傳數(shù)據(jù)。在本系統(tǒng)中,服務(wù)端作為服務(wù)提供者進(jìn)行 Web Service 接口的開(kāi)發(fā),而各單位的客戶(hù)端系統(tǒng)作為服務(wù)的請(qǐng)求者,根據(jù)服務(wù)端的 WSDL 文件配置交互的參數(shù),并以 SOAP 消息的形式封裝 XML 數(shù)據(jù),交互的參數(shù)、文檔以及返回值都采用 XML 格式[23]。客戶(hù)端與服務(wù)端進(jìn)行通信時(shí)的數(shù)據(jù)交互流程如圖 5 所示。
3.3 本體構(gòu)建模塊
在指揮信息系統(tǒng)中,由于不同單位建立的指標(biāo)體系存在差異,相同的概念經(jīng)常以不同的指標(biāo)描述,容易引起語(yǔ)義異構(gòu)問(wèn)題。本體的構(gòu)建[24]是利用本體技術(shù)進(jìn)行數(shù)據(jù)集成的重要基礎(chǔ),本系統(tǒng)將各單位上傳的 XML 文檔轉(zhuǎn)換為局部本體的形式,具體的構(gòu)建流程如圖 6 所示。通過(guò)本體映射對(duì)具有相同語(yǔ)義的指標(biāo)概念進(jìn)行合并,從而實(shí)現(xiàn)指揮信息系統(tǒng)數(shù)據(jù)的集成和共享。
首先將各個(gè)單位上傳的 XML 文檔,使用 XML Schema 進(jìn)行描述,接著將 XML Schema 轉(zhuǎn)換成為 RDF Schema 模式,然后將 RDF 相關(guān)文件導(dǎo)入到 prot佴g佴 中,完成局部本體 OWL 的構(gòu)建,最后將構(gòu)建好的 OWL 本體文件導(dǎo)入到服務(wù)端系統(tǒng)。
為增強(qiáng)與指揮信息系統(tǒng)領(lǐng)域與本體概念之間的相關(guān)性,在轉(zhuǎn)換成本體概念后,還需進(jìn)一步的篩選,保證轉(zhuǎn)換后的概念可以有效表示指揮信息系統(tǒng)領(lǐng)域的相關(guān)指標(biāo)[25],具體方法如下:
1)劃定所研究的領(lǐng)域的知識(shí)范圍。比如指揮信息系統(tǒng)通信模塊相關(guān)數(shù)據(jù)的集成時(shí),在構(gòu)建本體時(shí)就要將領(lǐng)域知識(shí)范圍限定在指揮信息新系統(tǒng)通信相關(guān)領(lǐng)域,準(zhǔn)確分析相關(guān)概念,盡量選擇認(rèn)可度最高的概念作為本體構(gòu)建的權(quán)威依據(jù);
2)分析領(lǐng)域知識(shí)中的相關(guān)概念和所構(gòu)建的本體概念之間的差異與聯(lián)系。確保兩者之間不出現(xiàn)邏輯上的混亂和原則上的差錯(cuò);
3)利用語(yǔ)義模型檢驗(yàn)本體概念。將所構(gòu)建的本體概念在語(yǔ)義網(wǎng)中進(jìn)行表示,確保不會(huì)出現(xiàn)模棱兩可、表述不清的情形;
4)確保人工評(píng)價(jià)的準(zhǔn)確性。在使用本體構(gòu)建原則對(duì)所構(gòu)建的本體進(jìn)行人工評(píng)價(jià)時(shí),需要做到評(píng)價(jià)準(zhǔn)確。對(duì)補(bǔ)充到本體中新的本體概念,也要進(jìn)行評(píng)價(jià),以確保本體的不斷完善。
5)若完成上述操作,即可確定所構(gòu)建的本體,并使用本體語(yǔ)言表示,添加到本體概念庫(kù)中。
3.4 集成結(jié)果查詢(xún)模塊
查詢(xún)處理也是系統(tǒng)的重要功能,當(dāng)用戶(hù)需要查詢(xún)一些特定條件下的數(shù)據(jù)時(shí),比如特定的單位、特定的時(shí)間或者特定的指標(biāo)數(shù)據(jù)時(shí),系統(tǒng)可以及時(shí)做出反應(yīng),將用戶(hù)需要的信息呈現(xiàn)出來(lái)。在查詢(xún)的過(guò)程中,系統(tǒng)需要根據(jù)用戶(hù)所輸入的關(guān)鍵詞與本體庫(kù)中的概念進(jìn)行映射匹配,在全局本體中找到該概念的本體表達(dá),然后將查詢(xún)命令分解為對(duì)局部本體的查詢(xún),最后將查詢(xún)局部本體數(shù)據(jù)返回給用戶(hù)界面。
本 研 究 用 到 兩 種 查 詢(xún) 語(yǔ) 言 OWL-QL 和 XQuery,分別對(duì)本體語(yǔ)言表示的概念和 XML 語(yǔ)言形式的概念進(jìn)行查詢(xún)。OWL-QL 是 W3C 推薦的網(wǎng)絡(luò)本體查詢(xún)語(yǔ)言錯(cuò)誤!未找到引用源。,由查詢(xún)回復(fù)和查詢(xún)回復(fù)協(xié)議組成,與傳統(tǒng)查詢(xún)語(yǔ)言不同,在查詢(xún)過(guò)程中,OWL-QL 需要對(duì) OWL 知識(shí)庫(kù)進(jìn)行推理,且支持應(yīng)答格式的設(shè)定、多知識(shí)庫(kù)的選擇和使用。 XQuery 是一種針對(duì)于 XML 的查詢(xún)語(yǔ)言錯(cuò)誤!未找到引用源。,類(lèi)似于 SQL、OQL 等,能夠從 XML 文檔中抽取數(shù)據(jù)。XQuery 不僅擁有其它多種查詢(xún)語(yǔ)言的優(yōu)點(diǎn),而且適用于各種類(lèi)型 XML 數(shù)據(jù)源的查詢(xún)。系統(tǒng)查詢(xún)處理的過(guò)程如圖 7 所示,具體步驟為:
Step1:查詢(xún)生成器接收用戶(hù)所發(fā)出的查詢(xún)請(qǐng)求,將用戶(hù)的查詢(xún)關(guān)鍵詞接受后送給本體管理器。查詢(xún)生成器開(kāi)始驗(yàn)證查詢(xún)關(guān)鍵詞的語(yǔ)法,判斷所輸入的關(guān)鍵詞是否符合語(yǔ)法要求,符合要求時(shí)生成 OWL-QL 查詢(xún)語(yǔ)句送至本體管理器,否則提示輸入的查詢(xún)信息有誤;
Step2:本體管理器根據(jù)得到詞語(yǔ)在全局本體內(nèi)進(jìn)行查找,當(dāng)查找到全局本體里面的概念或者根據(jù)本體概念相似度計(jì)算模型得出的相近的概念時(shí),將全局本體的查詢(xún)分解為對(duì)局部本體的查詢(xún),此時(shí)查詢(xún)的概念為映射為全局本體概念前的所有相似概念,同時(shí)生成多個(gè)局部本體查詢(xún)語(yǔ)句,本體管理器會(huì)將結(jié)果送給查詢(xún)分解器;
Step3:查詢(xún)分解器接收到本體管理器的查找結(jié)果后,生成 XQuery 查詢(xún)語(yǔ)句在各局部本體對(duì)應(yīng)的 XML 文件中進(jìn)行相關(guān)概念的查找;
Step4:查詢(xún)處理器將查詢(xún)分解器最終查詢(xún)到的結(jié)果以數(shù)據(jù)表的形式返回到瀏覽器進(jìn)行解析,用戶(hù)便可在網(wǎng)頁(yè)系統(tǒng)上看到查詢(xún)的結(jié)果。
4 驗(yàn)證與應(yīng)用
根據(jù)多源異構(gòu)數(shù)據(jù)集成原型系統(tǒng)需求分析、功能設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)和關(guān)鍵模塊的設(shè)計(jì),結(jié)合 Web Service、本體以及 XML 技術(shù),基于 java 語(yǔ)言,使用 Eclipse IDE 開(kāi)發(fā),系統(tǒng)的整體展示如圖 8 所示。本文所實(shí)現(xiàn)的數(shù)據(jù)集成原型系統(tǒng)于 2019 年 8 月份進(jìn)行了測(cè)試,測(cè)試過(guò)程中在 101 單位、102 單位、103 單位和 201 單位使用 IE 瀏覽器登錄數(shù)據(jù)集成原型系統(tǒng)客戶(hù)端,首先將各單位不同格式數(shù)據(jù)通過(guò)格式轉(zhuǎn)換功能統(tǒng)一成為 XML 格式的文件,然后通過(guò) Web Service 上傳至指揮中心的服務(wù)端進(jìn)行集成,服務(wù)端中使用本體集成相關(guān)功能進(jìn)行語(yǔ)義融合和數(shù)據(jù)集成。
系統(tǒng)在測(cè)試中可以基本完成相應(yīng)的功能,但也存在部分測(cè)試用例不通過(guò)的情況,例如出現(xiàn)以下問(wèn)題:各級(jí)用戶(hù)權(quán)限判別有誤;輸入錯(cuò)誤或者無(wú)效的字段時(shí),查詢(xún)界面沒(méi)有錯(cuò)誤提示等。產(chǎn)生這些問(wèn)題的主要原因主要來(lái)自于需求定義不明確、功能性錯(cuò)誤、頁(yè)面設(shè)計(jì)和需求不一致以及開(kāi)發(fā)過(guò)程中的疏忽等原因。經(jīng)過(guò)后期的修改和調(diào)試工作,對(duì)本系統(tǒng)進(jìn)行了再次測(cè)試,結(jié)果表明上述問(wèn)題均得到了有效解決,實(shí)現(xiàn)了不同單位、不同格式、存在語(yǔ)義異構(gòu)數(shù)據(jù)的集成,較好地驗(yàn)證了系統(tǒng)設(shè)計(jì)的可行性。
5 結(jié)論
本文研究了基于 SOA 和本體的指揮信息系統(tǒng)數(shù)據(jù)集成方法和架構(gòu)。將系統(tǒng)分為信息源層、中間層和應(yīng)用層,通過(guò) WebService 技術(shù)解決了數(shù)據(jù)集成中的數(shù)據(jù)源空間異構(gòu)問(wèn)題,使用 XML 統(tǒng)一了多種格式的數(shù)據(jù)源,解決了數(shù)據(jù)集成中的格式異構(gòu)問(wèn)題,利用本體技術(shù)解決了數(shù)據(jù)集成中的概念語(yǔ)義異構(gòu)問(wèn)題。實(shí)現(xiàn)了指揮信息系統(tǒng)多源異構(gòu)數(shù)據(jù)的有效集成,為用戶(hù)提供全局視圖,為數(shù)據(jù)挖掘、決策支持提供基礎(chǔ)。同時(shí)設(shè)計(jì)實(shí)現(xiàn)的系統(tǒng)是實(shí)驗(yàn)性質(zhì)的,距離完成大數(shù)據(jù)的集成和戰(zhàn)場(chǎng)應(yīng)用還有很大的差距,需要進(jìn)一步改進(jìn)完善。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見(jiàn)問(wèn)題 >
SCI常見(jiàn)問(wèn)題 >