一種軟件模塊通信方法
【專利摘要】本發(fā)明公開了一種軟件模塊通信方法,通信網(wǎng)絡(luò)包括控制模塊以及與控制模塊呈星形連接結(jié)構(gòu)的多個(gè)工作模塊,每個(gè)工作模塊只連接唯一的控制模塊并通過控制模塊與分布式網(wǎng)絡(luò)進(jìn)行通信,具體包括以下通信步驟:模塊注冊步驟、參數(shù)名注冊發(fā)布步驟、請(qǐng)求參數(shù)名注冊步驟、發(fā)布參數(shù)步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。本通信方法中,工作模塊不僅可以方便的發(fā)布參數(shù)、查詢參數(shù),而且還可以及時(shí)獲取請(qǐng)求參數(shù)的信息,實(shí)現(xiàn)了工作模塊的扁平化管理,從而各個(gè)工作模塊可以發(fā)布消息,讓其它工作模塊接收,本方法開銷小、通信方式靈活,而且可以使得工作模塊的崩潰對(duì)通信網(wǎng)絡(luò)的影響最小化,可廣泛應(yīng)用于軟件模塊的通訊中。
【專利說明】一種軟件模塊通信方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)通信領(lǐng)域,特別是涉及一種在分布式網(wǎng)絡(luò)中,通過扁平化管理 的方式進(jìn)行軟件模塊通信的方法。
【背景技術(shù)】
[0002] 目前,常見的軟件模塊通信方法適用于同一主機(jī)內(nèi),通過操作系統(tǒng)提供的接口來 實(shí)現(xiàn),如通過消息、郵箱、隊(duì)列等來實(shí)現(xiàn)通信。但是,隨著分模塊開發(fā)技術(shù)的發(fā)展,如何讓不 同主機(jī)的模塊進(jìn)行通信成為一個(gè)重要問題。目前,同一通訊系統(tǒng)的不同主機(jī)之間的模塊進(jìn) 行通信存在通信量小、開銷大、通信方式不靈活等缺陷,而且目前的通信方式,模塊的崩潰 將會(huì)對(duì)整個(gè)通訊系統(tǒng)造成極大影響,導(dǎo)致通訊系統(tǒng)無法正常工作。
【發(fā)明內(nèi)容】
[0003] 為了解決上述的技術(shù)問題,本發(fā)明的目的是提供一種軟件模塊通信方法。
[0004] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是: 一種軟件模塊通信方法,通信網(wǎng)絡(luò)包括控制模塊以及與控制模塊呈星形連接結(jié)構(gòu)的 多個(gè)工作模塊,每個(gè)工作模塊只連接唯一的控制模塊并通過控制模塊與分布式網(wǎng)絡(luò)進(jìn)行通 信,具體包括以下通信步驟:模塊注冊步驟、參數(shù)名注冊發(fā)布步驟、請(qǐng)求參數(shù)名注冊步驟、發(fā) 布參數(shù)步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。
[0005] 進(jìn)一步,所述模塊注冊步驟包括: A1、每個(gè)工作模塊依據(jù)配置文件綁定一個(gè)IP地址及一個(gè)UDP端口后,向控制模塊建立 UDP連接; A2、工作模塊向控制模塊發(fā)送包含模塊注冊信息的模塊注冊命令,所述模塊注冊信息 包括工作模塊綁定的IP地址、UDP端口以及模塊名; A3、控制模塊接收到模塊注冊命令后,查找模塊信息表,判斷模塊注冊命令中的模塊名 是否已被注冊,若是則向工作模塊發(fā)送注冊失敗命令后結(jié)束,反之,則執(zhí)行步驟A4 ; A4、控制模塊將模塊注冊命令中的模塊注冊信息添加到模塊信息表中,并向工作模塊 發(fā)送注冊成功命令后結(jié)束; 所述模塊信息表包括多個(gè)模塊信息,每個(gè)模塊信息包括模塊名、IP地址、UDP端口及參 數(shù)名集合。
[0006] 進(jìn)一步,所述參數(shù)名注冊發(fā)布步驟包括: B1、工作模塊向控制模塊發(fā)送參數(shù)名注冊發(fā)布命令,所述參數(shù)名注冊發(fā)布命令包括工 作模塊綁定的IP地址、UDP端口以及要注冊發(fā)布的參數(shù)名; B2、控制模塊接收到參數(shù)名注冊發(fā)布命令后,獲取工作模塊綁定的IP地址及UDP端口, 查找模塊信息表,判斷要注冊發(fā)布的參數(shù)名是否已經(jīng)被該工作模塊注冊,若是,則執(zhí)行步驟 B3,反之,執(zhí)行步驟Μ ; Β3、向工作模塊發(fā)送代表該參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; B4、將要注冊發(fā)布的參數(shù)名添加到該工作模塊的參數(shù)名集合中,并向該工作模塊發(fā)送 注冊成功命令。
[0007] 進(jìn)一步,所述請(qǐng)求參數(shù)名注冊步驟,包括: C1、工作模塊向控制模塊發(fā)送請(qǐng)求參數(shù)名注冊命令,所述請(qǐng)求參數(shù)名注冊命令包括工 作模塊的模塊名以及要注冊的請(qǐng)求參數(shù)名; C2、控制模塊接收到請(qǐng)求參數(shù)名注冊命令后,查找請(qǐng)求參數(shù)表,判斷要注冊的請(qǐng)求參數(shù) 名是否已經(jīng)被注冊,若是,則執(zhí)行步驟C4,反之執(zhí)行步驟C3 ; C3、為請(qǐng)求參數(shù)表建立一個(gè)新的請(qǐng)求參數(shù)信息,并將請(qǐng)求參數(shù)名作為建立的請(qǐng)求參數(shù) 信息的參數(shù)名,同時(shí)將工作模塊的模塊名添加到該請(qǐng)求參數(shù)信息的模塊名集合中; C4、向工作模塊發(fā)送代表該請(qǐng)求參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; 所述請(qǐng)求參數(shù)表包括多個(gè)請(qǐng)求參數(shù)信息,每個(gè)請(qǐng)求參數(shù)信息包括參數(shù)名以及模塊名集 合。
[0008] 進(jìn)一步,所述發(fā)布參數(shù)步驟,包括: D1、第一工作模塊向控制模塊發(fā)送發(fā)布參數(shù)命令,所述發(fā)布參數(shù)命令包括要發(fā)布參數(shù) 的參數(shù)名以及參數(shù)值; D2、控制模塊接收到發(fā)布參數(shù)命令后,查找請(qǐng)求參數(shù)表,得到與要發(fā)布參數(shù)的參數(shù)名對(duì) 應(yīng)的請(qǐng)求參數(shù)信息后,獲取其模塊名集合中的所有模塊名; D3、查找模塊信息表,獲得每個(gè)模塊名所綁定的IP地址及UDP端口,然后將發(fā)布參數(shù)命 令發(fā)送到對(duì)應(yīng)的每個(gè)第二工作模塊; D4、第二工作模塊接收到發(fā)布參數(shù)命令后,獲取要發(fā)布參數(shù)的參數(shù)名及參數(shù)值,進(jìn)而更 新自身信息。
[0009] 進(jìn)一步,所述查詢參數(shù)步驟,包括: E1、第一工作模塊向控制模塊發(fā)送查詢參數(shù)命令,所述查詢參數(shù)命令包括第一工作模 塊的模塊名以及要查詢參數(shù)的參數(shù)名; E2、控制模塊接收到查詢參數(shù)命令后,查找模塊信息表,判斷查詢參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; E3、控制模塊獲取查詢參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將查詢參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; E4、第二工作模塊接收到查詢參數(shù)命令后,根據(jù)查詢參數(shù)命令中的參數(shù)名獲取相關(guān)參 數(shù)值后生成反饋命令并發(fā)送到控制模塊,所述反饋命令包括參數(shù)名、獲取的參數(shù)值以及第 一工作模塊的模塊名; E5、控制模塊接收到反饋命令后,查找模塊信息表,獲得反饋命令中的模塊名所綁定的 IP地址及Μ)Ρ端口,然后將反饋命令發(fā)送到對(duì)應(yīng)的第一工作模塊; E6、第一工作模塊接收到反饋命令后,獲取反饋命令中的參數(shù)名及參數(shù)值,進(jìn)而更新自 身信息。
[0010] 進(jìn)一步,所述設(shè)置參數(shù)步驟,包括: F1、第一工作模塊向控制模塊發(fā)送設(shè)置參數(shù)命令,所述設(shè)置參數(shù)命令包括要設(shè)置參數(shù) 的參數(shù)名以及參數(shù)值; F2、控制模塊接收到設(shè)置參數(shù)命令后,查找模塊信息表,判斷設(shè)置參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; F3、控制模塊獲取設(shè)置參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將設(shè)置參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; F4、第二工作模塊接收到設(shè)置參數(shù)命令后,獲取設(shè)置參數(shù)命令中的參數(shù)名及參數(shù)值,進(jìn) 而更新自身信息。
[0011] 本發(fā)明的有益效果是:本發(fā)明的一種軟件模塊通信方法,通信網(wǎng)絡(luò)包括控制模塊 以及與控制模塊呈星形連接結(jié)構(gòu)的多個(gè)工作模塊,每個(gè)工作模塊只連接唯一的控制模塊并 通過控制模塊與分布式網(wǎng)絡(luò)進(jìn)行通信,具體包括以下通信步驟:模塊注冊步驟、參數(shù)名注冊 發(fā)布步驟、請(qǐng)求參數(shù)名注冊步驟、發(fā)布參數(shù)步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。本通信方 法中,工作模塊可以部署在同一主機(jī),也可以部署在不同主機(jī),工作模塊不僅可以方便的發(fā) 布參數(shù)、查詢參數(shù),而且還可以及時(shí)獲取請(qǐng)求參數(shù)的信息,實(shí)現(xiàn)了工作模塊的扁平化管理, 從而各個(gè)工作模塊可以發(fā)布消息,讓其它工作模塊接收,本方法開銷小、通信方式靈活,而 且可以使得工作模塊的崩潰對(duì)通信網(wǎng)絡(luò)的影響最小化。
【專利附圖】
【附圖說明】
[0012] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0013] 圖1是本發(fā)明的一種軟件模塊通信方法的通信網(wǎng)絡(luò)的結(jié)構(gòu)示意圖; 圖2是本發(fā)明的一種軟件模塊通信方法的具體實(shí)施例中的通信格式示意圖。
【具體實(shí)施方式】
[0014] 本發(fā)明提供了一種軟件模塊通信方法,通信網(wǎng)絡(luò)的結(jié)構(gòu)如圖1所示,包括控制模 塊以及與控制模塊呈星形連接結(jié)構(gòu)的多個(gè)工作模塊,每個(gè)工作模塊只連接唯一的控制模塊 并通過控制模塊與分布式網(wǎng)絡(luò)進(jìn)行通信,具體包括以下通信步驟:模塊注冊步驟、參數(shù)名注 冊發(fā)布步驟、請(qǐng)求參數(shù)名注冊步驟、發(fā)布參數(shù)步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。
[0015] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述模塊注冊步驟包括: A1、每個(gè)工作模塊依據(jù)配置文件綁定一個(gè)IP地址及一個(gè)UDP端口后,向控制模塊建立 UDP連接; A2、工作模塊向控制模塊發(fā)送包含模塊注冊信息的模塊注冊命令,所述模塊注冊信息 包括工作模塊綁定的IP地址、UDP端口以及模塊名; A3、控制模塊接收到模塊注冊命令后,查找模塊信息表,判斷模塊注冊命令中的模塊名 是否已被注冊,若是則向工作模塊發(fā)送注冊失敗命令后結(jié)束,反之,則執(zhí)行步驟A4 ; A4、控制模塊將模塊注冊命令中的模塊注冊信息添加到模塊信息表中,并向工作模塊 發(fā)送注冊成功命令后結(jié)束; 所述模塊信息表包括多個(gè)模塊信息,每個(gè)模塊信息包括模塊名、IP地址、UDP端口及參 數(shù)名集合。模塊信息表是多個(gè)模塊信息列表,每個(gè)模塊信息用于唯一地代表一個(gè)工作模塊, 模塊信息的參數(shù)名集合是指其代表的工作模塊的所有參數(shù)名的集合,例如某個(gè)工作模塊包 括5個(gè)參數(shù)名,其參數(shù)名集合則包括這5個(gè)參數(shù)名。
[0016] 控制模塊包括模塊信息表和請(qǐng)求參數(shù)表,當(dāng)某個(gè)工作模塊與控制模塊建立連接 后,控制模塊將在模塊信息表中添加該工作模塊的模塊信息,如本方法的模塊注冊步驟中 所示。當(dāng)某個(gè)工作模塊向控制模塊注冊請(qǐng)求參數(shù)名成功后,控制模塊將在請(qǐng)求參數(shù)表中添 加對(duì)應(yīng)的請(qǐng)求參數(shù)信息,如本方法的請(qǐng)求參數(shù)名注冊步驟所示。
[0017] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述參數(shù)名注冊發(fā)布步驟包括: B1、工作模塊向控制模塊發(fā)送參數(shù)名注冊發(fā)布命令,所述參數(shù)名注冊發(fā)布命令包括工 作模塊綁定的IP地址、UDP端口以及要注冊發(fā)布的參數(shù)名; B2、控制模塊接收到參數(shù)名注冊發(fā)布命令后,獲取工作模塊綁定的IP地址及UDP端口, 查找模塊信息表,判斷要注冊發(fā)布的參數(shù)名是否已經(jīng)被該工作模塊注冊,若是,則執(zhí)行步驟 B3,反之,執(zhí)行步驟Μ ; Β3、向工作模塊發(fā)送代表該參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; Β4、將要注冊發(fā)布的參數(shù)名添加到該工作模塊的參數(shù)名集合中,并向該工作模塊發(fā)送 注冊成功命令。
[0018] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述請(qǐng)求參數(shù)名注冊步驟,包括: C1、工作模塊向控制模塊發(fā)送請(qǐng)求參數(shù)名注冊命令,所述請(qǐng)求參數(shù)名注冊命令包括工 作模塊的模塊名以及要注冊的請(qǐng)求參數(shù)名; C2、控制模塊接收到請(qǐng)求參數(shù)名注冊命令后,查找請(qǐng)求參數(shù)表,判斷要注冊的請(qǐng)求參數(shù) 名是否已經(jīng)被注冊,若是,則執(zhí)行步驟C4,反之執(zhí)行步驟C3 ; C3、為請(qǐng)求參數(shù)表建立一個(gè)新的請(qǐng)求參數(shù)信息,并將請(qǐng)求參數(shù)名作為建立的請(qǐng)求參數(shù) 信息的參數(shù)名,同時(shí)將工作模塊的模塊名添加到該請(qǐng)求參數(shù)信息的模塊名集合中; C4、向工作模塊發(fā)送代表該請(qǐng)求參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; 所述請(qǐng)求參數(shù)表包括多個(gè)請(qǐng)求參數(shù)信息,每個(gè)請(qǐng)求參數(shù)信息包括參數(shù)名以及模塊名集 合。參數(shù)名為請(qǐng)求參數(shù)名,即請(qǐng)求接收的參數(shù)名,模塊名集合表示所有請(qǐng)求接收參數(shù)的模塊 名。
[0019] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述發(fā)布參數(shù)步驟,包括: D1、第一工作模塊向控制模塊發(fā)送發(fā)布參數(shù)命令,所述發(fā)布參數(shù)命令包括要發(fā)布參數(shù) 的參數(shù)名以及參數(shù)值; D2、控制模塊接收到發(fā)布參數(shù)命令后,查找請(qǐng)求參數(shù)表,得到與要發(fā)布參數(shù)的參數(shù)名對(duì) 應(yīng)的請(qǐng)求參數(shù)信息后,獲取其模塊名集合中的所有模塊名; D3、查找模塊信息表,獲得每個(gè)模塊名所綁定的IP地址及UDP端口,然后將發(fā)布參數(shù)命 令發(fā)送到對(duì)應(yīng)的每個(gè)第二工作模塊; D4、第二工作模塊接收到發(fā)布參數(shù)命令后,獲取要發(fā)布參數(shù)的參數(shù)名及參數(shù)值,進(jìn)而更 新自身信息。
[0020] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述查詢參數(shù)步驟,包括: E1、第一工作模塊向控制模塊發(fā)送查詢參數(shù)命令,所述查詢參數(shù)命令包括第一工作模 塊的模塊名以及要查詢參數(shù)的參數(shù)名; E2、控制模塊接收到查詢參數(shù)命令后,查找模塊信息表,判斷查詢參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; E3、控制模塊獲取查詢參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將查詢參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; E4、第二工作模塊接收到查詢參數(shù)命令后,根據(jù)查詢參數(shù)命令中的參數(shù)名獲取相關(guān)參 數(shù)值后生成反饋命令并發(fā)送到控制模塊,所述反饋命令包括參數(shù)名、獲取的參數(shù)值以及第 一工作模塊的模塊名; E5、控制模塊接收到反饋命令后,查找模塊信息表,獲得反饋命令中的模塊名所綁定的 IP地址及Μ)Ρ端口,然后將反饋命令發(fā)送到對(duì)應(yīng)的第一工作模塊; E6、第一工作模塊接收到反饋命令后,獲取反饋命令中的參數(shù)名及參數(shù)值,進(jìn)而更新自 身信息。
[0021] 這里的第一工作模塊、第二工作模塊的前綴第一、第二用于區(qū)分兩個(gè)工作模塊,實(shí) 際第一工作模塊、第二工作模塊均可以是通信網(wǎng)絡(luò)中的任意工作模塊,第一工作模塊表示 源模塊,第二工作模塊表示目的模塊。
[0022] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述設(shè)置參數(shù)步驟,包括: F1、第一工作模塊向控制模塊發(fā)送設(shè)置參數(shù)命令,所述設(shè)置參數(shù)命令包括要設(shè)置參數(shù) 的參數(shù)名以及參數(shù)值; F2、控制模塊接收到設(shè)置參數(shù)命令后,查找模塊信息表,判斷設(shè)置參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; F3、控制模塊獲取設(shè)置參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將設(shè)置參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; F4、第二工作模塊接收到設(shè)置參數(shù)命令后,獲取設(shè)置參數(shù)命令中的參數(shù)名及參數(shù)值,進(jìn) 而更新自身信息。
[0023] 同樣的,這里的第一工作模塊、第二工作模塊的前綴第一、第二用于區(qū)分兩個(gè)工作 模塊,第一工作模塊、第二工作模塊均可以是通信網(wǎng)絡(luò)中的任意工作模塊,第一工作模塊表 示源模塊,第二工作模塊表示目的模塊。
[0024] 下面結(jié)合【具體實(shí)施方式】對(duì)本發(fā)明做進(jìn)一步說明。
[0025] 如圖1所示,通信網(wǎng)絡(luò)包括控制模塊以及與控制模塊呈星形連接結(jié)構(gòu)的多個(gè)工作 模塊,每個(gè)工作模塊只連接唯一的控制模塊并通過控制模塊與分布式網(wǎng)絡(luò)進(jìn)行通信,具體 包括以下通信步驟:模塊注冊步驟、參數(shù)名注冊發(fā)布步驟、請(qǐng)求參數(shù)名注冊步驟、發(fā)布參數(shù) 步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。
[0026] 控制模塊是整個(gè)通信網(wǎng)絡(luò)的中心模塊,也是通信網(wǎng)絡(luò)中第一個(gè)需要啟動(dòng)的模塊, 控制模塊啟動(dòng)的過程為:綁定一個(gè)IP地址、Μ)Ρ端口,例如192. 168.0. 2:2000,然后清空模 塊信息表和請(qǐng)求參數(shù)表。
[0027] -個(gè)具體的模塊注冊步驟如下: 控制模塊的模塊名為Controller,假設(shè)要注冊模塊的模塊名為WModule,其注冊步驟 如下: 步驟 1-1,^Module 綁定一個(gè) IP 地址、UDP 端口,如 192. 168. 0· 2 :2001 ; 步驟1-2, HModule向Controller綁定的IP地址、UDP端口建立UDP連接,即向 192. 168. 0· 2:2000 建立連接; 步驟1-3, ^Module發(fā)送包含模塊注冊信息的模塊注冊命令,模塊注冊信息包括 HModule綁定的IP地址、UDP端口以及模塊名; 步驟1-4, Controller接收到模塊注冊命令后,向模塊信息表中添加條目,條目的模塊 名為 HModule,IP 地址為 192. 168. 0.2,端口為 2001,同時(shí) Controller 向 HModule 發(fā)送注 冊成功命令; 步驟1-5, ^Module接收到注冊成功命令后,分析得到注冊成功信息。
[0028] 在模塊注冊步驟中,可以設(shè)置一個(gè)參數(shù)來指示模塊注冊是否成功,例如設(shè)定一個(gè) 標(biāo)識(shí)參數(shù),若注冊成功即將該參數(shù)賦值為1,否則為空值或〇,工作模塊根據(jù)控制模塊返回 的該標(biāo)識(shí)信息可以判斷注冊是否成功。
[0029] 根據(jù)以上步驟完成模塊名為 UIModule,NetworkModule, EncoderModule, TransferModule四個(gè)工作模塊的注冊后,得到的模塊信息表如表1所示: 表1模塊信息表1
【權(quán)利要求】
1. 一種軟件模塊通信方法,其特征在于,通信網(wǎng)絡(luò)包括控制模塊以及與控制模塊呈星 形連接結(jié)構(gòu)的多個(gè)工作模塊,每個(gè)工作模塊只連接唯一的控制模塊并通過控制模塊與分布 式網(wǎng)絡(luò)進(jìn)行通信,具體包括以下通信步驟:模塊注冊步驟、參數(shù)名注冊發(fā)布步驟、請(qǐng)求參數(shù) 名注冊步驟、發(fā)布參數(shù)步驟、查詢參數(shù)步驟及設(shè)置參數(shù)步驟。
2. 根據(jù)權(quán)利要求1所述的一種軟件模塊通信方法,其特征在于,所述模塊注冊步驟包 括: A1、每個(gè)工作模塊依據(jù)配置文件綁定一個(gè)IP地址及一個(gè)UDP端口后,向控制模塊建立 UDP連接; A2、工作模塊向控制模塊發(fā)送包含模塊注冊信息的模塊注冊命令,所述模塊注冊信息 包括工作模塊綁定的IP地址、UDP端口以及模塊名; A3、控制模塊接收到模塊注冊命令后,查找模塊信息表,判斷模塊注冊命令中的模塊名 是否已被注冊,若是則向工作模塊發(fā)送注冊失敗命令后結(jié)束,反之,則執(zhí)行步驟A4 ; A4、控制模塊將模塊注冊命令中的模塊注冊信息添加到模塊信息表中,并向工作模塊 發(fā)送注冊成功命令后結(jié)束; 所述模塊信息表包括多個(gè)模塊信息,每個(gè)模塊信息包括模塊名、IP地址、UDP端口及參 數(shù)名集合。
3. 根據(jù)權(quán)利要求2所述的一種軟件模塊通信方法,其特征在于,所述參數(shù)名注冊發(fā)布 步驟包括: B1、工作模塊向控制模塊發(fā)送參數(shù)名注冊發(fā)布命令,所述參數(shù)名注冊發(fā)布命令包括工 作模塊綁定的IP地址、UDP端口以及要注冊發(fā)布的參數(shù)名; B2、控制模塊接收到參數(shù)名注冊發(fā)布命令后,獲取工作模塊綁定的IP地址及UDP端口, 查找模塊信息表,判斷要注冊發(fā)布的參數(shù)名是否已經(jīng)被該工作模塊注冊,若是,則執(zhí)行步驟 B3,反之,執(zhí)行步驟Μ ; Β3、向工作模塊發(fā)送代表該參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; Β4、將要注冊發(fā)布的參數(shù)名添加到該工作模塊的參數(shù)名集合中,并向該工作模塊發(fā)送 注冊成功命令。
4. 根據(jù)權(quán)利要求2所述的一種軟件模塊通信方法,其特征在于,所述請(qǐng)求參數(shù)名注冊 步驟,包括: C1、工作模塊向控制模塊發(fā)送請(qǐng)求參數(shù)名注冊命令,所述請(qǐng)求參數(shù)名注冊命令包括工 作模塊的模塊名以及要注冊的請(qǐng)求參數(shù)名; C2、控制模塊接收到請(qǐng)求參數(shù)名注冊命令后,查找請(qǐng)求參數(shù)表,判斷要注冊的請(qǐng)求參數(shù) 名是否已經(jīng)被注冊,若是,則執(zhí)行步驟C4,反之執(zhí)行步驟C3 ; C3、為請(qǐng)求參數(shù)表建立一個(gè)新的請(qǐng)求參數(shù)信息,并將請(qǐng)求參數(shù)名作為建立的請(qǐng)求參數(shù) 信息的參數(shù)名,同時(shí)將工作模塊的模塊名添加到該請(qǐng)求參數(shù)信息的模塊名集合中; C4、向工作模塊發(fā)送代表該請(qǐng)求參數(shù)名已經(jīng)被注冊的已被注冊命令后結(jié)束; 所述請(qǐng)求參數(shù)表包括多個(gè)請(qǐng)求參數(shù)信息,每個(gè)請(qǐng)求參數(shù)信息包括參數(shù)名以及模塊名集 合。
5. 根據(jù)權(quán)利要求4所述的一種軟件模塊通信方法,其特征在于,所述發(fā)布參數(shù)步驟,包 括: D1、第一工作模塊向控制模塊發(fā)送發(fā)布參數(shù)命令,所述發(fā)布參數(shù)命令包括要發(fā)布參數(shù) 的參數(shù)名以及參數(shù)值; D2、控制模塊接收到發(fā)布參數(shù)命令后,查找請(qǐng)求參數(shù)表,得到與要發(fā)布參數(shù)的參數(shù)名對(duì) 應(yīng)的請(qǐng)求參數(shù)信息后,獲取其模塊名集合中的所有模塊名; D3、查找模塊信息表,獲得每個(gè)模塊名所綁定的IP地址及UDP端口,然后將發(fā)布參數(shù)命 令發(fā)送到對(duì)應(yīng)的每個(gè)第二工作模塊; D4、第二工作模塊接收到發(fā)布參數(shù)命令后,獲取要發(fā)布參數(shù)的參數(shù)名及參數(shù)值,進(jìn)而更 新自身信息。
6. 根據(jù)權(quán)利要求2所述的一種軟件模塊通信方法,其特征在于,所述查詢參數(shù)步驟,包 括: E1、第一工作模塊向控制模塊發(fā)送查詢參數(shù)命令,所述查詢參數(shù)命令包括第一工作模 塊的模塊名以及要查詢參數(shù)的參數(shù)名; E2、控制模塊接收到查詢參數(shù)命令后,查找模塊信息表,判斷查詢參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; E3、控制模塊獲取查詢參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將查詢參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; E4、第二工作模塊接收到查詢參數(shù)命令后,根據(jù)查詢參數(shù)命令中的參數(shù)名獲取相關(guān)參 數(shù)值后生成反饋命令并發(fā)送到控制模塊,所述反饋命令包括參數(shù)名、獲取的參數(shù)值以及第 一工作模塊的模塊名; E5、控制模塊接收到反饋命令后,查找模塊信息表,獲得反饋命令中的模塊名所綁定的 IP地址及Μ)Ρ端口,然后將反饋命令發(fā)送到對(duì)應(yīng)的第一工作模塊; E6、第一工作模塊接收到反饋命令后,獲取反饋命令中的參數(shù)名及參數(shù)值,進(jìn)而更新自 身信息。
7. 根據(jù)權(quán)利要求2所述的一種軟件模塊通信方法,其特征在于,所述設(shè)置參數(shù)步驟,包 括: F1、第一工作模塊向控制模塊發(fā)送設(shè)置參數(shù)命令,所述設(shè)置參數(shù)命令包括要設(shè)置參數(shù) 的參數(shù)名以及參數(shù)值; F2、控制模塊接收到設(shè)置參數(shù)命令后,查找模塊信息表,判斷設(shè)置參數(shù)命令中的參數(shù)名 是否存在模塊信息表中,若是則執(zhí)行步驟E3,反之,發(fā)送參數(shù)不存在命令到第一工作模塊后 結(jié)束; F3、控制模塊獲取設(shè)置參數(shù)命令中的參數(shù)名在模塊信息表中對(duì)應(yīng)的IP地址及UDP端口 后,將設(shè)置參數(shù)命令發(fā)送到對(duì)應(yīng)的第二工作模塊; F4、第二工作模塊接收到設(shè)置參數(shù)命令后,獲取設(shè)置參數(shù)命令中的參數(shù)名及參數(shù)值,進(jìn) 而更新自身信息。
【文檔編號(hào)】H04L29/12GK104301447SQ201410459273
【公開日】2015年1月21日 申請(qǐng)日期:2014年9月10日 優(yōu)先權(quán)日:2014年9月10日
【發(fā)明者】陳聰 申請(qǐng)人:深圳市高視數(shù)字技術(shù)有限公司