
















摘" 要: 數據分發服務(DDS)被廣泛用于分布式系統的網絡搭建,其中自動發現機制是DDS的關鍵部分。現有的DDS自動發現機制大都采用簡單發現協議(SDP),但這種協議在大規模分布式系統的網絡環境中會產生網絡負載過高、匹配效率低下等問題。針對這些問題,提出一種基于索引布隆過濾器的輕量級DDS自動發現算法。該算法基于多維向量結構和索引值間的位操作設計一種索引布隆過濾器,用于壓縮分布式系統網絡節點間的傳輸信息,同時提供比標準布隆過濾器更低的誤判率。結合索引布隆過濾器與SDP,能夠減少DDS自動發現過程中的資源消耗并提高匹配效率。實驗結果表明,在節點匹配率為10%的情況下,所提出的DDS自動發現算法相比基于標準布隆過濾器的SDPBloom算法,發現過程的數據包數量減少了46.39%,匹配時間縮短了73.30%。
關鍵詞: 數據分發服務; 自動發現算法; 布隆過濾器; 分布式系統; 簡單發現協議; 多維向量; 誤判率
中圖分類號: TN713?34" " " " " " " " " " " " " " 文獻標識碼: A" " " " " " " " " " " "文章編號: 1004?373X(2024)24?0047?08
DDS automatic discovery algorithm based on index BF
LIU Huangbiao1, 2, YANG Fan2, SONG Ge2, WANG Fengjun2, ZHANG Qi1, ZHANG Xiaobei1
(1. School of Communication amp; Information Engineering, Shanghai University, Shanghai 200444, China;
2. COMAC Shanghai Aircraft Design amp; Research Institute, Shanghai 201210, China)
Abstract: Data distribution server (DDS) is extensively utilized in the network construction of distributed systems, and the automatic discovery mechanism is a key part of DDS. The simple discovery protocol (SDP) is used in most of the existing DDS automatic discovery mechanisms, which can cause problems such as high network load and low matching efficiency in large?scale distributed system network environment. On this basis, a lightweight DDS automatic discovery algorithm based on index bloom filter (BF) is proposed. Based on the multi?dimensional vector structure and the bit operation between index values, an index BF is designed to compress the information transmitted between nodes in the distributed system network and provide a lower misjudgment rate than the standard BF. The combination of index BF and SDP can reduce the resource consumption in DDS automatic discovery process and improve the matching efficiency. The experimental results demonstrate that when the node matching rate is 10%, the proposed DDS automatic discovery algorithm significantly can reduce the number of data packets by 46.39% and shorten the matching time by 73.30% compared with the SDPBloom algorithm based on the standard BF.
Keywords: data distribution services; automatic discovery algorithm; bloom filter; distributed system; simple discovery protocol; multidimensional vector; misjudgment rate
0" 引" 言
當今飛機、汽車和火車系統設計的規模日益增大,系統復雜性大大增加,分布式系統的應用[1?2]變得越來越重要。數據分發服務(Data Distribution Server, DDS)中間件[3]作為一種可靠的數據通信技術,在分布式環境中能夠實現高性能、實時的數據傳輸[4],提供通信、消息傳遞和協議適配等功能[5],以及協調和管理分布式系統的各個部分[6]。在DDS的通信過程中,節點發現機制[7]幫助分布式系統中的節點相互發現和建立通信關系,它允許 DDS系統中的節點自動地發現其他節點,并獲取這些節點的有關信息,如可用性、QoS(Quality of Service)要求等。通過節點發現機制,節點能夠動態地加入或離開DDS系統,而無需手動配置或靜態預定義節點的信息。
為了在不同的DDS實現之間提供互操作性和透明度,OMG標準化了DDS互操作性有線協議(DDS Interoperability Wire Protocol)[8],其規定任何兼容的DDS?RTPS的實現必須至少支持SDP(Simple Discovery Protocol)。然而該協議僅能夠滿足中小型系統的通信需求[9],對于民用飛機等大規模分布式系統設計來說,網絡節點數量龐多、發現協議數據包成倍增加、交換頻率大大上升[10],這會導致SDP的匹配效率低下,匹配時間過長和高帶寬消耗問題凸顯,無法較好地滿足大規模的數據傳輸需求。
布隆過濾器(Bloom Filter, BF)是一種經典的數據結構[11],主要作用是快速判斷一個元素是否屬于某個集合,而無需實際存儲這個集合中的所有元素,具有高效的查詢速度和低內存消耗的特點,在分布式系統中應用廣泛[12]。在DDS中,BF可以應用于節點發現過程中的信息壓縮和快速匹配[13]。通過使用BF,DDS系統可以在節點之間交換和存儲經過哈希計算后的信息,而無需傳輸和存儲原始的大量數據,這樣可以大大減少網絡負載和節點資源消耗,提高節點發現的效率和性能。需要注意的是,BF在判斷一個元素是否存在于集合中時,可能會存在誤判[14] 。一般而言,BF的誤判率和它的大小以及所使用的哈希函數數量相關,BF的誤判率和哈希函數數量都直接影響節點發現過程的效率和帶寬,因此基于BF的DDS自動發現算法研究也大都建立在BF的改良之上[15?18],例如符號布隆過濾器(Symbol Bloom Filter, SBF)[19]和單哈希多維布隆過濾器(Onehash Manydimensions Bloom Filter, OMBF)[20],前者通過增加符號向量來降低誤判率,但增加了查詢和插入操作的復雜性;后者使用單個哈希函數,通過多維不同分區位向量的映射操作保證哈希函數的均勻性和隨機性,用一定的誤判率換取更快的查詢時間。然而這種單一性能的改善對于DDS自動發現算法的提升有限,隨著網絡規模的增大,另一性能的短板也會影響到發現算法的匹配效率,需要提出一種更加全面的BF來進行DDS自動發現算法的改進。
本文詳細分析了SBF和OMBF的特點和不足之處,提出了一種用于大規模分布式系統的索引布隆過濾器(Index Bloom Filter, IBF),并結合SDP實現了基于該過濾器的DDS自動發現算法。在多維位圖的基礎上,將標準BF中存儲信息的位向量替換成根據端點信息生成的索引向量,并通過索引間的異或操作來進行元素的插入和查找,這種方式僅需要2個哈希函數就可以保證可接受的誤判率,同時還能保證快速的查找時間,從而提高自動發現的匹配效率和速度,滿足類似機載信息系統這種大規模分布式系統的通信需求。
1" 相關工作
1.1" DDS簡單發現協議
OMG DDS標準[21]定義了分布式系統的發布/訂閱通信模型,其中描述了DDS中的實體概念,包括域、域參與者、主題、發布者、訂閱者、數據寫入器、數據讀取器[22]等,分布式系統之間的通信正是由這些實體之間的行為所實現的。DDS實體通信模型如圖1所示。其中域代表一個單獨的通信網絡,屬于相同域的不同參與者通過發布者和訂閱者進行通信,寫入器和讀取器作為發布者或訂閱者實際發送和接收消息的端點,主題定義了不同端點之間通信的數據類型和數據名稱,多個主題構成不同參與者之間通信的邏輯通道。
DDS可以描述為一種覆蓋式點對點結構,其中給定主題的發布者通過全局數據空間(Global Data Space, GDS)鏈接到同一主題的所有訂閱者。DDS通過節點發現機制為發布者和訂閱者之間建立通信,節點發現機制實現了發布者和訂閱者之間所有信息的透明和可互操作的即插即用傳播。根據DDS互操作性協議,任何發現協議都必須分為兩個連續的階段:參與者發現階段(Participant Discovery Phase, PDP)和端點發現階段(Endpoint Discovery Phase, EDP)。DDS發現協議如圖2所示。其中PDP為參與者之間的發現階段,本地域參與者通過內建數據寫入器向其他域參與者發送數據包,同時也會通過數據讀取器讀取其他域參與者發送的數據包。每當有新的參與者互相匹配時,就會觸發EDP階段,兩個域參與者之間交換本地和遠程端點信息,包括主題名稱、主題類型、QoS策略信息等。
1.2" 基于布隆過濾器的DDS自動發現協議
由1.1小節可知,EDP數據包包含了節點建立通信所需要的主要信息,而PDP數據包主要用于公布節點的存在情況。SDP自動發現流程如圖3所示,由圖可知,在SDP中本地節點通過PDP階段獲取網絡中所有節點的存在信息,之后便直接進入EDP階段,不論是否與該節點建立通信。為了盡量減少SDP中冗余EDP數據包對于帶寬資源的浪費,引入了布隆過濾器算法來改進DDS簡單發現協議。其主要原理是:在進入EDP階段之前,通過BF進行一次篩選,檢查遠程節點是否存在本地節點所感興趣的端點信息,從而減少不必要的EDP階段。加入BF后的SDP自動發現流程如圖4所示,通過BF的過濾作用挑選出有必要進一步匹配的參與者節點,從而減少不必要的EDP匹配過程,這種方式能夠有效降低節點在發現過程中的網絡資源消耗。
盡管SDPBloom算法在一定程度上減少了SDP在大規模分布式系統中的發現流量,但標準BF存在的誤判率問題和哈希運算量仍然影響DDS自動發現算法的匹配效率和時間。為此,本文在標準BF基礎上進行改進,構建了一種多維分區的索引向量位圖,代替標準BF中的單維位圖,用于保存過濾器中元素的存在信息,通過不同索引之間的差異性降低標準BF的誤判率。這種過濾器僅需使用2個哈希函數(一個用于生成索引值,另一個用于鎖定映射位置)就可以擁有比標準BF更低的誤判率,能夠更好地適應大規模分布式系統的通信需求。
2" 基于索引布隆過濾器的DDS自動發現算法
2.1" 索引布隆過濾器結構和原理
索引布隆過濾器是一種改進型的布隆過濾器。為了降低誤判率,標準BF往往通過增加所使用的哈希函數數量來減少哈希沖突[23],故所選擇的哈希函數往往比較復雜[24],且計算量較大,如混沌哈希函數、MD5、SHA?2等。為了降低哈希函數計算量,索引布隆過濾器將標準布隆過濾器中存儲元素存在信息的位向量拓展為多維向量,并對每個維度進行分區。IBF的多維分區結構如圖5所示,為一個[t]維位向量,其中每一維有3個分區,大小分別為[m1]、[m2]、[m3]。為了保證元素映射位置的相互獨立性,分區大小一般設置為互不相同的質數。元素插入時,主要經過兩次哈希運算與多次取模運算,其中兩次哈希運算分別產生一個映射值和一個索引值,再對映射值進行第一次取模運算,選取元素映射的向量維度,最后與每個分區大小進行多次取模,以確定元素在每個分區中的映射位置。
IBF的算法處理流程如下。
1) 分區階段:通過計算的方式將給定的[m]大小的位向量盡可能地分成[t]個大小不一的區域,即[{m1,m2,…,mk}]。為盡可能保證映射的隨機性和均勻性,不同分區大小應設置為質數,分區中的每個位置是一個[z]位的索引,用于記錄元素的存在信息。
2) 哈希階段:將待插入元素[x]通過第1個哈希函數[h1(x)]映射為機器字,用于后續的取模操作,從而確定元素在各個分區中的映射位置。
3) 取模階段:利用之前定義的[t]個不同分區的大小對哈希階段生成的機器字進行取模運算,所得到的結果用于指示元素[x]在每個分區中的具體映射位置。由于分區大小都是質數,能夠在一定程度上保持哈希映射的隨機性和均勻性。
4) 索引映射:通過第2個哈希函數[h2(x)]計算元素[x]的索引值,并利用[z]對其取模,從而得到該元素對應的索引值;再將步驟3)中所有位置的值與該值進行或操作,更新每個位置的索引值。
通過將單維位向量擴展到多維,能夠減少相當一部分的哈希計算量,但對于標準BF來說,這種位圖結構所得到的哈希映射結果并沒有表現出更好的均勻性和隨機性。為了解決這個問題,IBF添加了索引映射操作來剔除部分哈希沖突所造成的誤判情況,從而在多維位向量中獲得更好的誤判率表現。在元素存儲信息的表示中,標準BF基于位向量每個比特位的取值來表示元素的存在與否;而在索引布隆過濾器中,每個表示位被替換成一個多比特位組合表示的索引,用于區分來自不同元素的映射。初始情況下,多維位向量中所有的位都置為0。當多個索引被映射到同一位置時,通過對每個位置分別進行或操作來保存多個元素的存在信息。IBF插入和查找原理圖如圖6所示。
查詢元素時,將對所有映射位置的索引值進行與操作,若與結果不為0,則表示多個映射位置可能存在同一索引,判定元素存在,否則不存在。在圖6中,標準BF位向量中[x2]對應的映射位置都會被置為1,導致最終在元素查詢時發生誤判。而在IBF中,不同映射位置對應的索引值與結果為0,說明這幾個位置的索引來自不同元素,因此判定該元素不存在,這種方式剔除了標準BF中由于哈希沖突導致誤判的部分情形,從而降低了誤判率。
2.2" 索引布隆過濾器性能分析
本文將索引布隆過濾器的誤判率與標準布隆過濾器進行對比。IBF產生誤判的原因有兩個:多維分區映射階段產生的映射位置沖突和映射位置對應的索引沖突,這兩種情況同時發生時就會產生誤判。兩種沖突概率分別用[P1]和[P2]表示,則索引布隆過濾器的誤判率可表示為:
[PFPR=P1·P2] (1)
映射位置沖突的產生原因也分兩種:一種是哈希階段所獲取的映射值機器字沖突,用[a]表示;另一種則是映射值機器字不沖突的情況下,在取模階段發生的余數沖突,用[b]表示。則映射位置沖突概率可表示為:
[P1=P1a·Pa+P1b·Pb=Pa+P1b·1-Pa] (2)
假設機器字為[L]位,IBF中有[t]維位向量,每一維向量的分區數為[k],[n]個元素均勻插入[t]維位向量中,則映射值機器字沖突概率為:
[Pa=1-1-12Ln] (3)
同理,余數沖突的誤報率為:
[P1b=i=1k1-1-1mint≈i=1k1-e-nt·mi] (4)
通常情況下[2L?mi],即[Pa≈0]。故有:
[PFPR≈P1b·P2≈i=1k1-1-1mint·P2≤1-i=1k1-1mintkk·P2≈1-i=1ke-nt·mikk·P2] (5)
標準布隆過濾器誤判率[25]公式如下:
[PFPRBF=1-1-1mknk≈1-e-knmk] (6)
由式(5)、式(6)可知,每個分區的大小[mi]越接近[mt·k]時,[P1]越接近[PFPRBF];對于不同的索引集合,[P2]的值也不同,例如索引集合[{1,2,4,8}]對應的[P2]為0.25,即誤判率降低為原來的[14]。
通過以上分析可知:索引布隆過濾器的誤判率提升主要依靠索引集合的設置,對于任何索引集合,都有[P2≤1];當分區的均勻性越好、索引集合的位沖突概率越小時,IBF性能越好。
2.3" 基于索引布隆過濾器的DDS自動發現算法實現
索引布隆過濾器的插入和查詢算法偽代碼分別如算法1和算法2所示,插入時,首先通過一個哈希運算和多次取模運算得到索引的全部映射位置,并依次對每個位置的索引值做或操作;查詢時,只需判斷查詢元素映射位置對應的索引值與結果是否為0,即可判斷元素是否存在。
算法1:索引布隆過濾器插入算法
輸入:key為待插入的字符串密鑰
Function:insert(key)
[dim←h1(key)%t];" " " " " " " " " " " " " " " " //計算映射維度
for [i]:[1 2 … k" "]do
/*計算索引在每個分區中的映射位置*/
[position←dim×mi+j=1imj-mi+h1(key)%mi];
/*計算元素索引并與對應位置索引做或操作*/
[mposition=mposition | h2(key)];
end for
算法2:索引布隆過濾器查詢算法
輸入:key為待查詢的字符串密鑰
輸出:表示待查詢元素存在情況的布爾值
Function:query(key)
[dim←h1(key)%t];" " " " " " " " " " " " " " nbsp; " //計算映射維度
[res←0xFF];
for [i]:[1 2 … k" "]do
/*計算索引在每個分區中的映射位置*/
[position←dim×mi+j=1imj-mi+h1(key)%mi];
/*計算所有位置索引與結果*/
[res=mpositionres];
end for
return res==0
基于索引布隆過濾器的DDS自動發現算法偽代碼如算法3所示,本地參與者在使能時構建對應的IBF和感興趣的端點密鑰集,將存儲端點存在信息的位向量打包到PDP數據包中并發送;當接收到遠程參與者的 PDP數據包時,提取出里面的位向量信息,構建對應 IBF并對感興趣的端點密鑰集合進行查詢,若查詢到感興趣的端點存在信息,則進入EDP階段,向該遠程參與者節點發送PDP數據包,從而提高不同參與者節點間的匹配效率。
算法3:基于索引布隆過濾器的DDS自動發現算法
Function:local_endpoint_enabled(EP)
/*將端點信息轉換成字符串密鑰*/
[key←getEndpointKey(EP)];
[IBF.insert(key)];
Add IBF to PDP_packet;
Send PDP_packet to all remote Participant;
Function:remote_pdp_received(PDP_packet)
/*提取PDP數據包中IBF信息進行查詢*/
[IBF←get_IBF(PDP_packet)];
for all local_matched_Ek do
if IBF.query(Ek)gt; 0 then
Send PDP_packet to this remote Participant;
Enter EDP phase;
break
end if
end for
3" 對比實驗及結果分析
本節將IBF與SBF、OMBF和BF進行對比,通過兩部分實驗驗證SDP_IBF自動發現算法的性能,第一部分比較4種布隆過濾器的誤判率和查找時間,第二部分將4種過濾器算法整合到自動發現協議中,對比SDPBloom、SDP_SBF、SDP_OMBF、SDP_IBF四種DDS自動發現協議在實際網絡中的性能表現。實驗平臺為Intel[?] CoreTM i5?12500H 2.50 GHz、機帶RAM 16.0 GB,軟件環境為DDS分布式互連架構平臺。
實驗共設計不同的主題數200 000個,布隆過濾器的參數m=5 000,哈希函數采用自定義的混合哈希函數,4種過濾器k值均為4,在OMBF和IBF中,k值表示每一維度向量的分區數,設置維度t為4,每一維度分為k個分區,大小分別為239、241、257、263。
3.1" 主題誤報率和查詢時間驗證
向每個布隆過濾器插入非重復主題1 500個,并設計了一組函數,對插入主題字符串進行重復、反轉、大小寫轉換等操作,生成具體的錯誤集合;再將錯誤集合和插入主題集合按照不同的比例組合成測試集合,使得存在成員比例從5%~90%變化,測試不同成員比例下4種過濾器所消耗的查詢時間以及誤判率表現,結果分別如圖7、圖8所示。
從圖7和圖8可以看出:4種過濾器中,SBF的誤判率相比標準布隆過濾器略有提升,但犧牲了一定的查詢時間,這是由于SBF每次查詢都要同時查詢數據向量和符號向量所造成的;OMBF在查詢時間方面提升較大,但單個哈希函數無法保證散列的均勻性和隨機性,從而造成誤判率上升。本文提出的IBF在查詢時間上相較標準BF提升了近20%,降低了18%左右的誤判率,具有良好的查詢性能。
3.2" 網絡傳輸量及匹配消耗時間驗證
將4種布隆過濾器結合到自動發現算法中,設計不同的網絡節點50個,每個網絡節點上配置500個具有不同主題的發布和接收端點,在網絡穩定后加入一個新節點,新節點在網絡中的節點匹配率從10%~50%變化,監測在此過程中的數據包數量以及節點匹配所消耗的時間。4種自動發現算法的發現階段數據包數量和節點匹配時間分別如圖9、圖10所示。
從圖9和圖10可以看出:當節點的匹配率逐漸增大時,發現階段的數據包和節點匹配消耗時間都在逐步增大;SDPBloom和SDP_SBF在實際發現過程中區別不大,而SDP_OMBF在同等過濾器參數下產生了大量的數據包,同時也消耗了更長的節點匹配時間,這是因為在自動發現協議中,具體的發現性能與過濾器的誤判率和查找時間有關,OMBF中較高的誤判率意味著多余EDP階段的增加。在機載信息系統中,節點匹配率大都在10%上下浮動,此時SDPBloom的發現階段數據包數量為5 450個,匹配時間為191 s;而SDP_IBF的發現階段數據包數量為2 922個,匹配時間為51 s。相較于SDPBloom,SDP_IBF的發現階段數據包數量減少了 46.39%,匹配時間縮短了73.30%。在其余匹配率下,SDP_IBF也表現出較好的性能。
4" 結" 論
本文提出了一種用于大規模分布式系統網絡節點發現機制的輕量級DDS自動發現算法。在標準布隆過濾器的基礎上,提出了一種新的索引布隆過濾器,用于壓縮分布式計算節點之間的信息;然后將它與SDP結合,組成一個新的DDS自動發現算法——SDP_IBF。此外,還討論了4種基于不同過濾器的DDS自動發現算法的性能,實驗結果表明,SDP_IBF可以通過降低誤判率和查詢時間來顯著減少DDS自動發現算法的發現階段數據包冗余,加快新參與者網絡節點的匹配速度,能夠更好地滿足大規模分布式系統的通信需求。
注:本文通訊作者為宋歌。
參考文獻
[1] SCHNEIDER S. The future of iiot software in manufacturing: a guide to understanding and using data distribution service (DDS), time?sensitive networking (TSN), and OPC unified architecture (OPCUA) for advanced manufacturing applications [J]. Control engineering, 2019, 66(1): 16?19.
[2] SADJINA S, KYLLINGSTAD L T, RINDARY M, et al. Distributed co?simulation of maritime systems and operations [J]. Journal of offshore mechanics and arctic engineering, 2019, 141(1): 011302.
[3] LIU Z, ZHAO Z. Distributed co?simulation computing based on DDS for large?scale aircraft mechatronic system [C]// Proceedings of the Fifth International Conference on Mechatronics and Computer Technology Engineering. Rome, Italy: ACM, 2022: 167?176.
[4] AGARWAL T, NIKNEJAD P, BARZEGARAN M, et al. Multi?level time?sensitive networking (TSN) using the data distribution services (DDS) for synchronized three?phase measurement data transfer [J]. IEEE access, 2019, 7: 13407?13417.
[5] 趙斌,郝紅旗.網絡中間件在分布式仿真系統中的應用[J].計算機仿真,2009,26(12):100?102.
[6] 王鵬,楊妹,彭勇,等.DDS在分布式仿真系統中的應用研究[C]//中國計算機用戶協會仿真應用分會全國仿真技術學術會議論文集.北京:《計算機仿真》雜志社,2021:254?259.
[7] KAUSHIK S, POONIA R C, KHATRI S K. Comparative study of various protocols of DDS [J]. Journal of statistics and management systems, 2017, 20(4): 647?658.
[8] Object Management Group. The real?time publish?subscribe protocol DDS interoperability wire protocol (DDSI?RTPS) specification version 2.5 [EB/OL]. [2022?04?01]. https://www.omg.org/spec/DDSI?RTPS/2.5.
[9] 朱曉攀,陳實.基于DDS的像質處理提升仿真系統設計與實現[J].系統工程與電子技術,2018,40(8):1881?1888.
[10] AHMED R, LIMAM N, XIAO J, et al. Resource and service discovery in large?scale multi?domain networks [J]. IEEE communications surveys amp; tutorials, 2007, 9(4): 2?30.
[11] LUO L, GUO D, MA R T, et al. Optimizing bloom filter: challenges, solutions, and comparisons [J]. IEEE communications surveys amp; tutorials, 2018, 21(2): 1912?1949.
[12] TARKOMA S, ROTHENBERG C E, LAGERSPETZ E. Theory and practice of bloom filters for distributed systems [J]. IEEE communications surveys amp; tutorials, 2011, 14(1): 131?155.
[13] SANCHEZ?MONEDERO J, POVEDANO?MOLINA J, LOPEZ?VEGA J M, et al. Bloom filter?based discovery protocol for DDS middleware [J]. Journal of parallel and distributed computing, 2011, 71(10): 1305?1317.
[14] 李卓宇,夏必勝,馬樂榮.布隆過濾器算法誤判率的分析與應用[J].延安大學學報(自然科學版),2021,40(1):68?71.
[15] MITZENMACHER M. Compressed bloom filters [J]. Networ?king IEEE/ACM transactions on, 2001, 10(5): 604?612.
[16] LIU P, JIANG C, ZHANG X, et al. Compressed bloom filter method of DDS middleware based on FPGA [C]// Proceedings of the 2021 7th International Conference on Computer and Communications. Tianjin: IEEE, 2021: 27?34.
[17] JANG S, BYUN H, LIM H. Dynamically allocated bloom filter?based PIT architectures [J]. IEEE access, 2022, 10: 28165?28179.
[18] NWADIUGWU W P, CHA J H, KIM D S. Enhanced SDP?dynamic bloom filters for a DDS node discovery in real?time distributed systems [C]// Emerging Technologies and Factory Automation. [S.l.]: IEEE, 2017: 767.
[19] LIU Z, ZHAO Z. Data distribution service based on symbol bloom filter for large?scale distributed computing [C]// 2022 7th International Conference on Cloud Computing and Big Data Analytics. [S.l.]: IEEE, 2022: 112?116.
[20] 樊智勇,騰達,劉哲旭.基于單哈希多維布隆過濾器的DDS自動發現算法[J].計算機應用與軟件,2021,38(10):273?277.
[21] Object Management Group. OMG data distribution service (DDS) version 1.4 [EB/OL]. [2015?04?10]. https://www.omg.org/spec/DDS/1.4.
[22] TEKINERDOGAN B, ?ELIK T, K?KSAL ?. Generation of feasible deployment configuration alternatives for data distribution Service based systems [J]. Computer standards amp; interfaces, 2018, 58: 126?145.
[23] BLOOM B H. Space/time trade?offs in hash coding with allowable errors [J]. Communications of the ACM, 1970, 13(7): 422?426.
[24] CHRISTENSEN K, ROGINSKY A, JIMENO M. A new analysis of the 1 positive rate of a bloom filter [J]. Information processing letters, 2010, 110(21): 944?949.
[25] 華文鏑,高原,呂萌,等.布隆過濾器研究綜述[J].計算機應用,2022,42(6):1729?1747.
[26] 張曉敏.基于布隆過濾器屬性基的多關鍵詞可搜索方案[J]. 計算機與現代化,2021(8):104?111.
作者簡介:劉黃彪(1998—),男,湖北黃石人,碩士研究生,主要研究方向為民用飛機航電系統設計。
楊" 凡(1996—),男,安徽和縣人,碩士研究生,主要研究方向為民用飛機航電系統設計。
宋" 歌(1986—),男,河南洛陽人,碩士研究生,研究員,主要研究方向為民用飛機航電系統設計。
王峰俊(1968—),男,江西南昌人,研究員,主要研究方向為民機機載軟件、IMA、航電數據網絡。
張" 琦(1993—),男,河南漯河人,博士研究生,講師,主要研究方向為光電信息技術。
張小貝(1982—),男,湖北宜城人,博士研究生,教授,主要研究方向為光電信息技術。