周大慶
(92493 部隊,遼寧葫蘆島,125000)
美日太平洋戰爭中,美軍的情報發揮了不可替代的作用,擊斃山本、中途島海戰都可以說是情報戰的勝利,而夏威夷戰例則可視為美軍情報戰失敗的例子。情報在二戰中可以說是決定因素之一。而目前,隨著計算機科技的發展,互聯網、物聯網已經步入了生活當中,現在已經處在信息爆炸的時代,信息不僅與人們的日常生活息息相關,而且作為情報的延伸,與軍事范疇的建設及決策支持更是緊密相關。
對信息的處理,數據庫建設顯然是各種方案的首選。傳統關系型數據庫(如Oracle,原軍用數據庫標準)以其強大的關系處理技術及通用性強容易上手等優勢在軍用信息庫建設中占據了較大的份額。但隨著信息量的增大,以及軍用信息的獨特需求,傳統關系型數據庫并不能完全適應軍用信息的要求。因此,本文在傳統的關系數據庫的基礎上,利用信息的關聯性建立一個類似中間件的構件來進一步緊密信息的聯系,解決各表數據間的關聯問題。

圖1
現以一個實例的簡化版本提出本文的問題。在我軍執行某任務時,總有其它國家的偵查伴隨其中,甚至可能會有電子干擾以及對抗的可能。對于對方某一技術兵器,我方可能會采用多種兵器去應對;且我方采用某種兵器去應對時,往往還需要與此兵器相關的數種兵器配合應用。如果采用傳統的數據庫技術提供支持,往往采用如下方式:
首先,對敵方兵器及我方兵器分門別類,提取字段,依復雜程度建立諸如偵察機表、衛星表等十數個甚至上百個表;其次,針對各個表,依字段建立數種查詢、統計、篩選等功能模塊。如圖1。
此種方式并非不可行,但存在著如下三個問題。
⑴信息的缺失。
⑵針對某一對方兵器,我方的應對兵器往往可能跨越多個表,而且對方兵器不同,跨越的表也不同,這就給查詢方式的提出了很難解決的問題。即便是給出了多表查詢的功能,這種功能也只能是固定的,難以適應問題的需要;
⑶建立數據庫的人員,往往并不從事兵器專業,即并非本數據庫的使用人員;而使用人員對數據庫也并非真正了解。這就容易造成數據表字段設計的不合理,而如果進行改動,涉及的不僅是本表相關的內容,還對多表查詢的功能造成了影響。
以上問題并不僅僅存在于上述例子當中,在實際數據庫建設中,此類問題常常存在,困擾著數據庫的設計及代碼編制人員。本文即以本例,利用關聯方式,嘗試解決此類問題。
·聚類(Cluster)的定義:針對研究的對象(Object)集合,將其中具有一定特征(Feature)或相似性(Similar)的有限對象組織在一起,稱之為一個聚類 。
·表聚類(tableCluster)的定義:表聚類是一個聚類,其研究對象為數據庫中的表。
·泛化表(tableGeneralize)的定義:對于一個表聚類,將其共性提出,泛化為一個表,此表包括此表聚類中的每一個記錄,且包含指向每個記錄原位置的指針。

圖2
·關聯度的定義:關聯度是一個二元組,對于兩個表A與B,記A i 為表A的第i 個記錄,記B j 為表B的第j 個記錄,關聯度記為R(Ai,Bj),表示Ai 與Bj 的關聯密切程度,取值范圍為[0,1)。當關聯度取值為0時表示二者無關聯,而取值越接近1則表示關聯越密切。
·自關聯度的定義:自關聯度也是關聯度,只是其關聯是同一個表內兩個記錄的關聯,記為R(Ai,Aj),且i ≠j。
·解決方法的流程如圖2:
因需要,建立某軍用信息庫,與本文相關有兩個表聚類,一個為我方兵器信息表聚類,另一個為對方兵器信息表聚類。要求針對對方某技術兵器,提供我方采用何種兵器去應對的技術支持。本實例采用如下方法:
首先,對兩個表聚類進行泛化,形成兩個泛化表,分別為對方兵器信息表與我方兵器信息表,其中泛化表中包含所有表聚類的記錄,并包含指向原表記錄的指針;
其次,建立對方兵器信息全文表與我方兵器信息全文表,之所以建立此二表,主要原因有二:一是包含全文,可以盡可能的減少信息的缺失;二是全文數據量較大,從檢索速度的提高上也需要全文部分單獨建表;
第三,建立對方我方兵器關聯表,此表為對方兵器信息表與我方兵器信息表的笛卡爾積,包含對方兵器與我方兵器信息的關聯度,以及對兵器與我方兵器的指針;
第四,建立我主兵器自關聯表,同上,此表為我方兵器信息表的自乘笛卡爾積,包含我方兵器的自關聯信息及兩個我方兵器的指針;

圖3
第五,以關聯表為主線,建立三層信息檢索體系,第一層為對方我方兵器關聯層次;第二層為我方兵器自關聯層次;第三層提供對某一具體表的檢索。
當得知對方某一技術兵器針對我方采取了行動,即從對方我方兵器關聯表入手,找出與對方兵器關聯度較高的多種我方兵器,為第一層次;通過人機交互,對于感興趣的我方兵器,給出與我方兵器相關聯的我方兵器集合,為第二層次;針對某一我方兵器集合中的元素,提供針對此元素所在原表的組合檢索,為信息庫使用人員提供更多的技術支持,此為第三層次。具體流程圖如圖3:
與傳統信息庫相比,本文方法有優點如下:
⑴信息缺失程度較少,本方法提供信息的全文,當原表的字段設計不能完全滿足使用者的需求,使用者可以參閱全文來對其提供支持;
⑵本方法最大的優點,即是通過關聯性的設置,能夠較好的解決本文提出的問題二,即通過關聯方式給出了靈活動態的多表查詢模式,解決了如何針對對方某一兵器給出我方應對兵器的技術支持;
⑶當某一具體表出現問題時,并不會影響到此表以外的代碼,較好的解決了問題三。
本方法提供了關聯度數值在系統使用中的動態調整方法,有一定的客觀性。
但本方法也有一定的缺點:
⑴信息冗余度相對較高,在表聚類的基礎上建立了泛化表,這本身就是一種冗余;其次在泛化表中還需要包含指向原表的指針。二者都不符合數據庫經典范式理論;
⑵對于關聯度數值的確定,雖然給出了動態調整方法,但主要還是依照從事人員的經驗來判斷決定,還沒有一個完整的理論體系給予支持,客觀性并不充分;
⑶對于兩個聚類,本方法使用效果較好,但如果問題涉及多個聚類,本方法使用價值不高。其實現復雜度以指數程度增加。如果勉強使用本文方法,只能是將多個聚類合并為兩個聚類,效果如何只能具體問題具體分析了。
通過本文實例的實際使用,本文方法能夠有效的解決本文提出的幾個問題,能夠對相關人員提供一定的決策支持,具有一定的實際意義與推廣價值。
未來的研究方向主要集中在本方法的第二個缺點上,即如何給出及調整關聯度的值,希望能建立一個較客觀、相對完備的體系來評估兵器之間的關聯。
[1] Cilibrasi R,Vitányi P M B.Clustering by compression[J].Information Theory,IEEE Transactions on,2005,51(4): 1523-1545.
[2] 孟小峰,周龍驤,王珊.數據庫技術發展趨勢[J].軟件學報,2004,15(12):1822-1836.
[3] 王成良,柳玲,徐玲.數據庫技術及應用[M].2011.
[4] 劉煒.關聯數據:概念,技術及應用展望[J].大學圖書館學報,2011(2):5-12.
[5] 鄭益,毛楚祥.傳統數據庫技術與信息檢索技術的集成[J].計算機時代, 2010(8):1-3.