本發(fā)明涉及一種機會網絡節(jié)點轉發(fā)方法,特別是涉及一種機會網絡的服務組合方法及系統。
背景技術:
隨著移動計算技術的發(fā)展和智能普適網絡的推廣,由移動設備組成的網絡完全具備利用一系列豐富的組件(如傳感器)來向用戶提供不同的組合服務的能力。普適網絡的發(fā)展經歷了adhoc網絡,到manet(移動自組織網絡),再到場景變化快,節(jié)點移動能力強并且連接不穩(wěn)定的機會網絡。在機會網絡中,設備之間的通信往往存在著斷開,失聯,不穩(wěn)定的情況,這更符合于實際中的移動計算環(huán)境。目前已經在野生動物追蹤,手持設備組網,車載網絡和偏遠地區(qū)網絡傳輸領域有了一定的應用。進一步的,當移動設備的服務計算能力不斷增強,單個設備均可攜帶不同的功能類型,設備之間通過發(fā)送服務請求,在設備自組織網(機會網絡)中尋找合適的節(jié)點,并選擇對應的路由方案完成服務從輸入到輸出的組合過程。于是就有了我們對機會網絡服務組合的研究。
目前,關于機會網絡的服務組合尚處于起步階段,對于機會網絡的研究主要集中于機會網絡的路由轉發(fā)機制。由于轉發(fā)和路由是任何組網的首要問題,因此,已有的研究有大量的工作聚焦于機會網絡的路由轉發(fā)方式的研究。但是對于節(jié)點分化功能類型,在進行轉發(fā)消息時還需要考慮節(jié)點的功能類型是否相符,因此,機會網絡的服務組合問題比路由轉發(fā)問題還要更復雜。已有的方法中,僅有以節(jié)點的負載和最短路徑為轉發(fā)條件,進行機會網絡的服務組合。雖然這種方法可以大幅度減少服務組合的延時,但同時,沒有考慮節(jié)點的相遇情況,因此,組合的成功率不高。
綜上,傳統技術中的機會網絡組合服務方法以節(jié)點的負載和最短路徑轉發(fā),進行機會網絡的服務組合。未考慮節(jié)點的相遇情況以及服務類型的不同,也未考慮轉發(fā)節(jié)點之間的距離因素,因此,存在組合的成功率不高及組合效率低的技術問題。
技術實現要素:
鑒于以上現有技術的缺點,本發(fā)明的目的在于提供一種機會網絡的服務組合方法及系統,用于解決現有技術中存在的成功率不高及組合效率低的技術問題。為實現上述目的及其他相關目的,本發(fā)明提供一種機會網絡的服務組合方法,其特征在于,其中,機會網絡中的節(jié)點的類型為源節(jié)點、前轉發(fā)節(jié)點、后轉發(fā)節(jié)點或目標節(jié)點,方法包括:
各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構;
每一節(jié)點收集相鄰節(jié)點的組合條件信息;
機會網絡中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點;
在第一判斷結果為是時,將服務請求發(fā)送至后轉發(fā)節(jié)點;
對后轉發(fā)節(jié)點進行第二判斷,其中,第二判斷包括:判斷后轉發(fā)節(jié)點是否為目標節(jié)點;
在第二判斷結果為是時,則判定完成服務組合;
在第二判斷結果為否時,則將該后轉發(fā)節(jié)點類型置為前轉發(fā)節(jié)點并對其重復執(zhí)行第一判斷及第二判斷。
于本發(fā)明的一實施方式中,各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構,包括:
每一節(jié)點相互識別形成服務圖;
每一節(jié)點存儲服務圖。
于本發(fā)明的一實施方式中,每一節(jié)點收集相鄰節(jié)點的組合條件信息,包括:
每一節(jié)點收集與周圍節(jié)點的距離值;
每一節(jié)點對周圍節(jié)點的數量計數,生成相遇概率信息;
每一節(jié)點收集相鄰節(jié)點的相遇概率信息;
每一節(jié)點根據距離值和相遇概率信息生成組合條件信息;
每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲。
于本發(fā)明的一實施方式中,機會網路中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點,包括:
源節(jié)點確認相鄰節(jié)點;
根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點。
于本發(fā)明的一實施方式中,源節(jié)點確認相鄰節(jié)點,包括:
判斷節(jié)點是否與源節(jié)點或前轉發(fā)節(jié)點存在連接;
若是,則判定當前節(jié)點為源節(jié)點的相鄰節(jié)點;
若否,則對下一節(jié)點循環(huán)判斷是否與源節(jié)點或前轉發(fā)節(jié)點存在連接。
于本發(fā)明的一實施方式中,根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點,包括:
獲取源節(jié)點或前轉發(fā)節(jié)點及相鄰節(jié)點的服務類型信息;
根據服務類型信息判斷相鄰節(jié)點的服務類型是否與源節(jié)點相同;
若是,則判定該相鄰節(jié)點為優(yōu)先結合節(jié)點;
若否,則對下一相鄰節(jié)點判斷服務類型是否與源節(jié)點或前轉發(fā)節(jié)點相同;
判斷是否優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值;
若是,則選擇相遇概率最大的優(yōu)先結合節(jié)點作為后轉發(fā)節(jié)點。
于本發(fā)明的一實施方式中,一種機會網絡的服務組合系統,機會網絡的服務組合系統設置于每一節(jié)點中,其特征在于,包括:信息交換模塊、組合信息收集模塊、后轉發(fā)節(jié)點尋找模塊、請求服務模塊、目標判斷模塊、組合完成模塊和目標循環(huán)模塊;信息交換模塊,用于供各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構;組合信息收集模塊,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息,組合信息收集模塊與信息交換模塊連接;后轉發(fā)節(jié)點尋找模塊,用于供機會網路中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點,后轉發(fā)節(jié)點尋找模塊與組合信息收集模塊連接;請求服務模塊,用于在第一判斷結果為是時,將服務請求發(fā)送至后轉發(fā)節(jié)點,請求服務模塊與后轉發(fā)節(jié)點尋找模塊連接;目標判斷模塊,用于對后轉發(fā)節(jié)點進行第二判斷,其中,第二判斷包括:判斷后轉發(fā)節(jié)點是否為目標節(jié)點,目標判斷模塊與組合信息收集模塊連接,目標判斷模塊與請求服務模塊連接;組合完成模塊,用于在第二判斷結果為是時,則判定完成服務組合,組合完成模塊與目標判斷模塊連接;目標循環(huán)模塊,用于在第二判斷結果為否時,則將該后轉發(fā)節(jié)點類型置為前轉發(fā)節(jié)點并對其重復執(zhí)行第一判斷及第二判斷,目標循環(huán)模塊與后轉發(fā)節(jié)點尋找模塊連接,目標循環(huán)模塊與目標判斷模塊連接。
于本發(fā)明的一實施方式中,信息交換模塊,包括:服務圖模塊和服務圖存儲模塊;服務圖模塊,用于供每一節(jié)點相互識別形成服務圖;服務圖存儲模塊,用于供每一節(jié)點存儲服務圖,服務圖存儲模塊與服務圖模塊連接。
于本發(fā)明的一實施方式中,組合信息收集模塊,包括:自身距離值收集模塊、相遇概率生成模塊、鄰節(jié)點概率收集模塊、組合條件模塊和條件信息存儲模塊;自身距離值收集模塊,用于供每一節(jié)點收集與周圍節(jié)點的距離值;相遇概率生成模塊,用于供每一節(jié)點對周圍節(jié)點的數量計數,生成相遇概率信息,相遇概率生成模塊與自身距離值模塊連接;鄰節(jié)點概率收集模塊,用于供每一節(jié)點收集相鄰節(jié)點的相遇概率信息;組合條件模塊,用于供每一節(jié)點根據距離值和相遇概率信息生成組合條件信息,組合條件模塊與相遇概率生成模塊連接,組合條件模塊與鄰節(jié)點概率收集模塊連接;條件信息存儲模塊,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲,條件信息存儲模塊與組合條件模塊連接。
于本發(fā)明的一實施方式中,后轉發(fā)節(jié)點尋找模塊,包括:鄰節(jié)點確認模塊和轉發(fā)節(jié)點確認模塊;鄰節(jié)點確認模塊,用于供源節(jié)點確認相鄰節(jié)點;轉發(fā)節(jié)點確認模塊,用于根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點,轉發(fā)節(jié)點確認模塊與鄰節(jié)點確認模塊連接。
于本發(fā)明的一實施方式中,鄰節(jié)點確認模塊,包括:連接判斷模塊、鄰節(jié)點判定模塊和鄰節(jié)點尋找模塊;連接判斷模塊,用于判斷節(jié)點是否與源節(jié)點或前轉發(fā)節(jié)點存在連接;鄰節(jié)點判定模塊,用于在節(jié)點與源節(jié)點或前轉發(fā)節(jié)點存在連接時,判定當前節(jié)點為源節(jié)點的相鄰節(jié)點,鄰節(jié)點判定模塊與連接判斷模塊連接;鄰節(jié)點尋找模塊,用于在節(jié)點與源節(jié)點或前轉發(fā)節(jié)點不存在連接時,對下一節(jié)點循環(huán)判斷是否與源節(jié)點或前轉發(fā)節(jié)點存在連接,鄰節(jié)點尋找模塊與連接判斷模塊連接。
于本發(fā)明的一實施方式中,轉發(fā)節(jié)點確認模塊,包括:服務類型獲取模塊、服務類型判斷模塊、優(yōu)選判定模塊、類型匹配模塊、距離判斷模塊和后轉發(fā)節(jié)點確認模塊;服務類型獲取模塊,用于獲取源節(jié)點或前轉發(fā)節(jié)點及相鄰節(jié)點的服務類型信息;服務類型判斷模塊,用于根據服務類型信息判斷相鄰節(jié)點的服務類型是否與源節(jié)點相同;優(yōu)選判定模塊,用于在相鄰節(jié)點的服務類型與源節(jié)點相同時,判定該相鄰節(jié)點為優(yōu)先結合節(jié)點,優(yōu)選判定模塊與服務類型判斷模塊連接;類型匹配模塊,用于在相鄰節(jié)點的服務類型與源節(jié)點相同時,對下一相鄰節(jié)點判斷服務類型是否與源節(jié)點或前轉發(fā)節(jié)點相同,類型匹配模塊與優(yōu)選判定模塊連接;距離判斷模塊,用于判斷是否優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,距離判斷模塊與類型匹配模塊連接;后轉發(fā)節(jié)點確認模塊,用于在優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值時,則選擇相遇概率最大的優(yōu)先結合節(jié)點作為后轉發(fā)節(jié)點,后轉發(fā)節(jié)點確認模塊與距離判斷模塊連接。
如上所述,本發(fā)明提供的一種機會網絡的服務組合方法及系統,具有以下有益效果:
本發(fā)明考慮了相遇預測的概率,提高了服務組合的成功率,本發(fā)明提供的機會網絡的服務組合方法較現有技術中的基于最短路徑的服務組合方法高,時比基于最短路徑的服務組合算法高,同時,加入了距離的考量,服務選擇的過程會不斷地靠近目標節(jié)點,本發(fā)明提供的機會網絡的服務組合方法較現有技術中的基于最短路徑的服務組合方法高,算法的延時比基于最短路徑的服務組合算法高,本專利的主要優(yōu)點在于考慮了相遇預測的概率,提高了服務組合的成功率,本方法是基于之前提出的機會網絡的相遇預測和距離感知的路由轉發(fā)方法,因此可以減少延時。
附圖說明
圖1顯示為本發(fā)明的一種機會網絡的服務組合方法示意圖。
圖2顯示為本發(fā)明的機會網絡的服務組合節(jié)點轉發(fā)示意圖。
圖3顯示為本發(fā)明的架構圖構成步驟示意圖。
圖4顯示為本發(fā)明的組合條件信息收集步驟示意圖。
圖5顯示為本發(fā)明的后轉發(fā)節(jié)點判斷步驟示意圖。
圖6顯示為本發(fā)明的相鄰節(jié)點確認步驟示意圖。
圖7顯示為本發(fā)明的轉發(fā)節(jié)點判斷步驟示意圖。
圖8顯示為本發(fā)明的一種機會網絡的服務組合系統模塊示意圖。
圖9顯示為本發(fā)明的信息交換模塊示意圖。
圖10顯示為本發(fā)明的組合信息收集模塊示意圖。
圖11顯示為本發(fā)明的轉發(fā)節(jié)點尋找模塊示意圖。
圖12顯示為本發(fā)明的鄰節(jié)點確認模塊示意圖。
圖13顯示為本發(fā)明的轉發(fā)節(jié)點確認模塊示意圖。
元件標號說明
1信息交換模塊
2組合信息收集模塊
3后轉發(fā)節(jié)點尋找模塊
4請求服務模塊
5目標判斷模塊
6組合完成模塊
7目標循環(huán)模塊
11服務圖模塊
12服務圖存儲模塊
21自身距離值收集模塊
22相遇概率生成模塊
23鄰節(jié)點概率收集模塊
24組合條件模塊
25條件信息存儲模塊
31鄰節(jié)點確認模塊
32轉發(fā)節(jié)點確認模塊
311連接判斷模塊
312鄰節(jié)點判定模塊
313鄰節(jié)點尋找模塊
155服務類型獲取模塊
156服務類型判斷模塊
157優(yōu)選判定模塊
158類型匹配模塊
1221距離判斷模塊
1222后轉發(fā)節(jié)點確認模塊
步驟標號說明
圖1s1~s7
圖2s11~s12
圖3s21~s25
圖4s31~s32
圖5s311~s313
圖6s321~s326
具體實施方式
以下由特定的具體實施例說明本發(fā)明的實施方式,熟悉此技術的人士可由本說明書所揭露的內容輕易地了解本發(fā)明的其他優(yōu)點及功效。
請參閱圖1至圖9,須知,本說明書所附圖式所繪示的結構,均僅用以配合說明書所揭示的內容,以供熟悉此技術的人士了解與閱讀,并非用以限定本發(fā)明可實施的限定條件,故不具技術上的實質意義,任何結構的修飾、比例關系的改變或大小的調整,在不影響本發(fā)明所能產生的功效及所能達成的目的下,均應仍落在本發(fā)明所揭示的技術內容所能涵蓋的范圍內。同時,本說明書中所引用的如”上”、”下”、”左”、”右”、”中間”及”一”等的用語,亦僅為便于敘述的明了,而非用以限定本發(fā)明可實施的范圍,其相對關系的改變或調整,在無實質變更技術內容下,當亦視為本發(fā)明可實施的范疇。
請參閱圖1及圖2,顯示為一種機會網絡的服務組合方法示意圖及機會網絡的服務組合節(jié)點轉發(fā)示意圖,如圖1及圖2所示,一種機會網絡的服務組合方法,其特征在于,其中,機會網絡中的節(jié)點的類型為源節(jié)點、前轉發(fā)節(jié)點、后轉發(fā)節(jié)點或目標節(jié)點,隨機網絡中的節(jié)點代表手機、平板及手提電腦及路由器等網絡轉發(fā)設備,方法包括:
s1、各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構,兩兩節(jié)點之間交換信息形成服務圖,主要通過機會網絡中的各個節(jié)點之間交換路由表等信息完成;
s2、每一節(jié)點收集相鄰節(jié)點的組合條件信息,每個節(jié)點收集鄰近節(jié)點的信息,如ev值和距離值等,在不同的設備節(jié)點(a-->h)上攜帶著不同的服務,開始節(jié)點a攜帶s1服務,請求s4服務,需要通過中間的其他節(jié)點組合完成整個過程,如s1-->s12-->s23-->s34-->s4,或s1-->s13--s34-->s4,或s1-->s14-->s4不同組合方案;
s3、機會網絡中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點,發(fā)出服務請求的節(jié)點在鄰近節(jié)點中尋找滿足要求的節(jié)點,尋找下一個合適的節(jié)點需要考慮:功能類型必須匹配、找相遇概率大的服務節(jié)點以及能接近目標的服務節(jié)點;
s4、在第一判斷結果為是時,將服務請求發(fā)送至后轉發(fā)節(jié)點,前轉發(fā)節(jié)點或源節(jié)點將服務請求發(fā)送至已確定的后轉發(fā)節(jié)點,后發(fā)轉節(jié)點的判斷過程中,由于滿足了服務類型相匹配、轉發(fā)概率最大及傳輸時間最小的條件,提高了路由轉發(fā)的效率;
s5、對后轉發(fā)節(jié)點進行第二判斷,其中,第二判斷包括:判斷后轉發(fā)節(jié)點是否為目標節(jié)點,找到了目標節(jié)點,即此次服務請求轉發(fā)過程完成;
s6、在第二判斷結果為是時,則判定完成服務組合,當下一轉發(fā)節(jié)點為目標節(jié)點時,此時整個服務組合轉發(fā)過程完成;
s7、在第二判斷結果為否時,則將該后轉發(fā)節(jié)點類型置為前轉發(fā)節(jié)點并對其重復執(zhí)行第一判斷及第二判斷,若下一轉發(fā)節(jié)點非目標節(jié)點,則對服務圖中的節(jié)點循環(huán)上述過程直至將服務請求轉發(fā)至目標節(jié)點,本發(fā)明提供的機會網絡的服務組合方法較現有技術中的基于最短路徑的服務組合方法高。
請參閱圖3,顯示為本發(fā)明的架構圖構成步驟示意圖,如圖3所示,s1、各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構,包括:
s11、每一節(jié)點相互識別形成服務圖,機會網絡中的每一節(jié)點兩兩相互識別,建立關聯圖結構,節(jié)點之間完成交換信息形成網絡轉發(fā)架構圖,有利于轉發(fā)節(jié)點的遍歷尋找及判斷;
s12、每一節(jié)點存儲服務圖,每一節(jié)點將關聯結構相關信息存儲與本身的存儲器中,隨機網絡中的每一節(jié)點存儲的服務圖,有利于節(jié)點對轉發(fā)節(jié)點通過架構圖圖遍歷整個隨機網絡中的節(jié)點。
請參閱圖3,顯示為本發(fā)明的組合條件信息收集步驟示意圖,如圖3所示,s2、每一節(jié)點收集相鄰節(jié)點的組合條件信息,包括:
s21、每一節(jié)點收集與周圍節(jié)點的距離值,周圍節(jié)點的距離值通過信息交換和節(jié)點的自身存儲獲得,b,c到目標節(jié)點的距離均小于a節(jié)點到目標節(jié)點的距離(可計算得到),該機會網絡中的節(jié)點之間的距離值由兩節(jié)點之間的傳輸所用時間決定,本發(fā)明轉發(fā)考慮傳輸時間,可在轉發(fā)節(jié)點的遍歷過程中縮短服務組合過程的時間;
s22、每一節(jié)點對周圍節(jié)點的數量計數,每個節(jié)點上還單獨存儲有其相遇預測概率值ev,由節(jié)點周圍的節(jié)點總數表示,成相遇概率信息,每一節(jié)點周圍節(jié)點數越多,可供轉發(fā)的節(jié)點就越多,其相遇概率就越高,選擇周圍節(jié)點多的節(jié)點,可提高單次轉發(fā)效率,從而提高整個服務組合轉發(fā)過程的效率;
s23、每一節(jié)點收集相鄰節(jié)點的相遇概率信息,每一節(jié)點收集其周圍節(jié)點存儲的相遇概率信息,每一節(jié)點根據服務圖遍歷和收集其他節(jié)點的相遇概率信息;
s24、每一節(jié)點根據距離值和相遇概率信息生成組合條件信息,功能類型必須匹配,尋找相遇概率大的服務節(jié)點,盡可能接近目標的服務節(jié)點,使得每次轉發(fā)后,服務請求所在的轉發(fā)節(jié)點與目標節(jié)點的距離值縮??;
s25、每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲,每個節(jié)點上還單獨存儲有其相遇預測概率值ev,由節(jié)點周圍的節(jié)點總數表示,機會網絡中的周圍節(jié)點多的節(jié)點單次轉發(fā)成功的概率即較其他節(jié)點大,轉發(fā)效率提高。
請參閱圖5,顯示為本發(fā)明的后轉發(fā)節(jié)點判斷步驟示意圖,如圖5所示,s3、機會網路中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點,包括:
s31、源節(jié)點確認相鄰節(jié)點,相鄰節(jié)點在關聯結構圖中處于節(jié)點的周圍,確認在源節(jié)點或前轉發(fā)節(jié)點的相鄰節(jié)點使得轉發(fā)節(jié)點的要遍歷的節(jié)點集縮小,提高了轉發(fā)節(jié)點尋找的效率;
s32、根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點,后轉發(fā)節(jié)點由前轉發(fā)節(jié)點或源節(jié)點在其相鄰節(jié)點中選取。
請參閱圖6,顯示為本發(fā)明的相鄰節(jié)點確認步驟示意圖,如圖6所示,s31、源節(jié)點確認相鄰節(jié)點,包括:
s311、判斷節(jié)點是否與源節(jié)點或前轉發(fā)節(jié)點存在連接,與源節(jié)點或前轉發(fā)節(jié)點存在連接的節(jié)點可供選取并轉發(fā)服務請求;
s312、若是,則判定當前節(jié)點為源節(jié)點的相鄰節(jié)點,相鄰節(jié)點中直接通過轉發(fā)條件的判斷得出后轉發(fā)節(jié)點;
s313、若否,則對下一節(jié)點循環(huán)判斷是否與源節(jié)點或前轉發(fā)節(jié)點存在連接,在當前節(jié)點非相鄰節(jié)點時,對其他周圍節(jié)點繼續(xù)進行相鄰節(jié)點的選取過程,直至確認源節(jié)點或前轉發(fā)節(jié)點的所有相鄰節(jié)點。
請參閱圖7,顯示為本發(fā)明的轉發(fā)節(jié)點判斷步驟示意圖,如圖7所示,s32、根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點,包括:
s321、獲取源節(jié)點或前轉發(fā)節(jié)點及相鄰節(jié)點的服務類型信息,服務類型信息為通過在message文件中加入的servicetype變量,實現機會網絡節(jié)點配置不同服務類型的功能;
s322、根據服務類型信息判斷相鄰節(jié)點的服務類型是否與源節(jié)點相同,對比相鄰節(jié)點的servicetype變量與源節(jié)點或前轉發(fā)節(jié)點的servicetype變量,a節(jié)點周圍有3個鄰近節(jié)點,鄰近的b,c,d節(jié)點分別有1,3,2個節(jié)點,首先考慮功能類型,b,c節(jié)點滿足功能要求;
s323、若節(jié)點的servicetype變量與前轉發(fā)節(jié)點或源節(jié)點servicetype變量相同,則判定該相鄰節(jié)點為優(yōu)先結合節(jié)點;
s324、若否,則對下一相鄰節(jié)點判斷服務類型是否與源節(jié)點或前轉發(fā)節(jié)點相同;
s325、判斷是否優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,使得下一轉發(fā)節(jié)點距離目標節(jié)點的距離更近;
s326、若是,則選擇相遇概率最大的優(yōu)先結合節(jié)點作為后轉發(fā)節(jié)點,在對距離值和概率值進行判斷后,開始對節(jié)點的服務類型判斷,由ev(c)>ev(b),因此選擇c作為下一個轉發(fā)節(jié)點。下一步從c節(jié)點開始,重新考慮。
請參閱圖8,顯示為本發(fā)明的一種機會網絡的服務組合系統模塊示意圖,如圖8所示,機會網絡的服務組合系統設置于每一節(jié)點中,其特征在于,包括:信息交換模塊1、組合信息收集模塊2、后轉發(fā)節(jié)點尋找模塊3、請求服務模塊4、目標判斷模塊5、組合完成模塊6和目標循環(huán)模塊7;信息交換模塊1,用于供各節(jié)點之間兩兩交換信息,構成節(jié)點間關聯架構;組合信息收集模塊2,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息,組合信息收集模塊2與信息交換模塊1連接;后轉發(fā)節(jié)點尋找模塊3,用于供機會網路中的源節(jié)點或前轉發(fā)節(jié)點根據組合條件信息對相鄰節(jié)點進行第一判斷及第二判斷,其中,第一判斷包括:判斷相鄰節(jié)點是否為后轉發(fā)節(jié)點,后轉發(fā)節(jié)點尋找模塊3與組合信息收集模塊2連接;請求服務模塊4,用于在第一判斷結果為是時,將服務請求發(fā)送至后轉發(fā)節(jié)點,請求服務模塊4與后轉發(fā)節(jié)點尋找模塊3連接;目標判斷模塊5,用于對后轉發(fā)節(jié)點進行第二判斷,其中,第二判斷包括:判斷后轉發(fā)節(jié)點是否為目標節(jié)點,目標判斷模塊5與組合信息收集模塊2連接,目標判斷模塊5與請求服務模塊4連接;組合完成模塊6,用于在第二判斷結果為是時,則判定完成服務組合,組合完成模塊6與目標判斷模塊5連接;目標循環(huán)模塊7,用于在第二判斷結果為否時,則將該后轉發(fā)節(jié)點類型置為前轉發(fā)節(jié)點并對其重復執(zhí)行第一判斷及第二判斷,目標循環(huán)模塊7與后轉發(fā)節(jié)點尋找模塊3連接,目標循環(huán)模塊7與目標判斷模塊5連接,本發(fā)明針對的是機會網路的服務組合方法研究。提出了一種新的機會網絡的服務組合方法,綜合考慮相遇預測概率和距離的因素(基于機會網路的相遇預測和距離感知的路由轉發(fā)算法),來做出服務選擇的決策,在進行服務選擇時(這里默認第一個考慮的是服務類型),將時間距離和相遇預測概率都納入考慮范圍。提出了一種相遇預測和距離感知的服務組合方法。相遇預測概率由節(jié)點周圍的節(jié)點數量來確定,距離由節(jié)點之間的傳輸時間來權衡。方法的核心思想在于:把消息轉發(fā)給鄰近節(jié)點更多,相遇預測概率越大的節(jié)點,就可以保證較高的服務組合成功率。
請參閱圖9,顯示為本發(fā)明的信息交換模塊示意圖,如圖9所示,信息交換模塊1,包括:服務圖模塊11和服務圖存儲模塊12;服務圖模塊11,用于供每一節(jié)點相互識別形成服務圖;服務圖存儲模塊12,用于供每一節(jié)點存儲服務圖,服務圖存儲模塊12與服務圖模塊11連接,機會網絡中的各個節(jié)點之間兩兩交換路由表,服務類型及距離值概率值等信息。
請參閱圖10,顯示為本發(fā)明的組合信息收集模塊示意圖,如圖10所示,組合信息收集模塊2,包括:自身距離值收集模塊21、相遇概率生成模塊22、鄰節(jié)點概率收集模塊23、組合條件模塊24和條件信息存儲模塊25;自身距離值收集模塊21,用于供每一節(jié)點收集與周圍節(jié)點的距離值;相遇概率生成模塊22,用于供每一節(jié)點對周圍節(jié)點的數量計數,生成相遇概率信息,相遇概率生成模塊22與自身距離值模塊21連接;鄰節(jié)點概率收集模塊23,用于供每一節(jié)點收集相鄰節(jié)點的相遇概率信息;組合條件模塊24,用于供每一節(jié)點根據距離值和相遇概率信息生成組合條件信息,組合條件模塊24與相遇概率生成模塊22連接,組合條件模塊24與鄰節(jié)點概率收集模塊23連接;條件信息存儲模塊25,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲,條件信息存儲模塊25與組合條件模塊24連接。
請參閱圖11,顯示為本發(fā)明的轉發(fā)節(jié)點尋找模塊示意圖,如圖11所示,后轉發(fā)節(jié)點尋找模塊3,包括:鄰節(jié)點確認模塊31和轉發(fā)節(jié)點確認模塊32;鄰節(jié)點確認模塊31,用于供源節(jié)點確認相鄰節(jié)點;轉發(fā)節(jié)點確認模塊32,用于根據相鄰節(jié)點的服務類型及組合條件信息確定后轉發(fā)節(jié)點,轉發(fā)節(jié)點確認模塊32與鄰節(jié)點確認模塊31連接。
請參閱圖12,顯示為本發(fā)明的鄰節(jié)點確認模塊示意圖,如圖12所示,鄰節(jié)點確認模塊31,包括:連接判斷模塊311、鄰節(jié)點判定模塊312和鄰節(jié)點尋找模塊313;連接判斷模塊311,用于判斷節(jié)點是否與源節(jié)點或前轉發(fā)節(jié)點存在連接;鄰節(jié)點判定模塊312,用于在節(jié)點與源節(jié)點或前轉發(fā)節(jié)點存在連接時,判定當前節(jié)點為源節(jié)點的相鄰節(jié)點,鄰節(jié)點判定模塊312與連接判斷模塊311連接;鄰節(jié)點尋找模塊313,用于在節(jié)點與源節(jié)點或前轉發(fā)節(jié)點不存在連接時,對下一節(jié)點循環(huán)判斷是否與源節(jié)點或前轉發(fā)節(jié)點存在連接,鄰節(jié)點尋找模塊313與連接判斷模塊311連接。
請參閱圖13,顯示為本發(fā)明的轉發(fā)節(jié)點確認模塊示意圖,如圖13所示,轉發(fā)節(jié)點確認模塊32,包括:服務類型獲取模塊321、服務類型判斷模塊322、優(yōu)選判定模塊323、類型匹配模塊324、距離判斷模塊325和后轉發(fā)節(jié)點確認模塊326;服務類型獲取模塊321,用于獲取源節(jié)點或前轉發(fā)節(jié)點及相鄰節(jié)點的服務類型信息;服務類型判斷模塊322,用于根據服務類型信息判斷相鄰節(jié)點的服務類型是否與源節(jié)點相同,服務類型判斷模塊322與服務類型獲取模塊321連接;優(yōu)選判定模塊323,用于在相鄰節(jié)點的服務類型與源節(jié)點相同時,判定該相鄰節(jié)點為優(yōu)先結合節(jié)點,優(yōu)選判定模塊323與服務類型判斷模塊321連接;類型匹配模塊324,用于在相鄰節(jié)點的服務類型與源節(jié)點相同時,對下一相鄰節(jié)點判斷服務類型是否與源節(jié)點或前轉發(fā)節(jié)點相同,類型匹配模塊324與優(yōu)選判定模塊連接323;距離判斷模塊325,用于判斷是否優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,距離判斷模塊325與類型匹配模塊324連接;后轉發(fā)節(jié)點確認模塊326,用于在優(yōu)先結合節(jié)點與目標節(jié)點的距離值小于前轉發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值時,則選擇相遇概率最大的優(yōu)先結合節(jié)點作為后轉發(fā)節(jié)點,后轉發(fā)節(jié)點確認模塊326與距離判斷模塊325連接,發(fā)出服務請求的節(jié)點在鄰近節(jié)點中尋找滿足要求的節(jié)點:確定下一個節(jié)點到目標節(jié)點的距離小于上一個節(jié)點到目標節(jié)點距離的所有節(jié)點;在這些節(jié)點中選擇相遇預測概率值最大的節(jié)點作為轉發(fā)節(jié)點;功能類型滿足的上述兩個條件的前提,都不滿足則繼續(xù)尋找。
綜上,本發(fā)明提供的一種機會網絡的服務組合方法及系統,本專利提出一種機會網絡的服務組合方法其基本原理如下:兩兩節(jié)點之間交換信息形成服務圖;每個節(jié)點收集鄰近節(jié)點的信息,如ev值和距離值等;發(fā)出服務請求的節(jié)點在鄰近節(jié)點中尋找滿足要求的節(jié)點:確定下一個節(jié)點到目標節(jié)點的距離小于上一個節(jié)點到目標節(jié)點距離的所有節(jié)點;在這些節(jié)點中選擇相遇預測概率值最大的節(jié)點作為轉發(fā)節(jié)點;功能類型滿足的上述兩個條件的前提,都不滿足則繼續(xù)尋找。確定好下一個轉發(fā)節(jié)點之后,繼續(xù)循環(huán)此過程,一直到找到目標節(jié)點為止。本發(fā)明提供的機會網絡的服務組合方法較現有技術中的基于最短路徑的服務組合方法高,算法的延時比基于最短路徑的服務組合算法高,本專利的主要優(yōu)點在于考慮了相遇預測的概率,提高了服務組合的成功率,同時,加入了距離的考量,服務選擇的過程會不斷地靠近目標節(jié)點,因此可以減少延時。本方法是基于之前提出的機會網絡的相遇預測和距離感知的路由轉發(fā)方法,解決了傳統技術中存在的組合的成功率不高及組合效率低的技術問題,具有很高的商業(yè)價值和實用性。