本發(fā)明涉及計算機通信技術(shù)領(lǐng)域,具體是一種與設(shè)備通信的方法及系統(tǒng),尤其適用于服務(wù)器主機插件SCOM軟件與存儲設(shè)備之間的通信,其通過設(shè)備端的文件配置表存儲與設(shè)備的通信命令,便于保持通信命令與設(shè)備同步配套,提高設(shè)備通信命令更新與使用的靈活性。
背景技術(shù):
現(xiàn)有計算機領(lǐng)域,與設(shè)備的通信過程,大都是通過與設(shè)備建立連接,然后按照實際需求執(zhí)行相應(yīng)的通信命令,獲得相應(yīng)的返回信息,并對返回信息進行相應(yīng)處理,來完成一次通信的過程。
但對于需要大量通信操作才能完成的業(yè)務(wù)需求,需要使用的通信命令較多,且在設(shè)備的通信命令發(fā)生變更后,不易管理和維護當(dāng)前所使用的通信命令列表。且在對同類命令的調(diào)用及消息返回值進行處理時,也存在較多重復(fù)操作。且通信命令錯誤判斷需要在與設(shè)備真正進行通信時才能被校驗檢測出,影響通信效率。此為現(xiàn)有技術(shù)的不足之處。
基于上述問題,本專利提出了一種將通信命令配置在同一表中,在該表的基礎(chǔ)上實現(xiàn)與設(shè)備的通信的方案;存在于上述表中的命令均為可用命令,不存在于此表中的命令不可被調(diào)用,當(dāng)用于與設(shè)備通信的通信命令發(fā)生變化時,可通過維護上述的表,即可實現(xiàn)對用于與設(shè)備通信的可調(diào)用通信命令的更新,便于提高用于與設(shè)備通信的通信命令的可維護性。還便于增強對不可調(diào)用命令的調(diào)用控制和錯誤命令檢測。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)的不足,提供一種與設(shè)備通信的方法及系統(tǒng),用于減少設(shè)備通信實現(xiàn)過程中的代碼耦合性,提高通信命令更新時的可維護性,用于降低因設(shè)備升級等引起的通信命令更新帶來的維護成本。
為解決上述技術(shù)問題,本發(fā)明提供了一種與設(shè)備通信的方法,包括:
步驟A、預(yù)先建立并配置用于存儲與設(shè)備通信的通信命令的通信命令配置表;
步驟B、建立與當(dāng)前所要通信的設(shè)備的連接關(guān)系,并讀取步驟A中所述的通信命令配置表;
步驟C、解析步驟B中所讀取的通信命令配置表,獲取由其內(nèi)配置的各通信命令構(gòu)成的通信命令集;
步驟D、基于步驟C中獲取到的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信。
其中,上述步驟A中預(yù)先建立的通信命令配置表中的字段包括:通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法;
所述通信命令配置表中配置的每條記錄均對應(yīng)一條通信命令。
在上述步驟D中,所述基于步驟C中獲取到的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信的方法為:
步驟S1、調(diào)用與上述步驟B中所述當(dāng)前所要通信的設(shè)備通信的相應(yīng)通信命令的通信命令名稱,遍歷步驟C中所獲取的通信命令集,判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,若在該被遍歷的通信命令集中,則繼續(xù)執(zhí)行步驟s2;
步驟s2、從所述的通信命令集中,獲取與該當(dāng)前所調(diào)用的通信命令的通信命令名稱相對應(yīng)的通信命令參數(shù)和通信命令類別;并基于步驟s1中當(dāng)前調(diào)用的通信命令名稱,獲取與該通信命令名稱相對應(yīng)的預(yù)先設(shè)定的通信命令規(guī)范格式;之后繼續(xù)執(zhí)行步驟s3;
步驟s3、通過該當(dāng)前獲取的通信命令規(guī)范格式,對當(dāng)前獲取到的通信命令參數(shù)進行格式重組,獲取重組格式后的新的通信命令參數(shù),之后執(zhí)行步驟s4;
步驟s4、基于該當(dāng)前獲取的重組格式后的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備進行通信。
在步驟S1中,若判定當(dāng)前調(diào)用的通信命令的通信命令名稱不在上述步驟C中所述的通信命令集之中,轉(zhuǎn)而執(zhí)行步驟s5:
輸出當(dāng)前所調(diào)用通信命令不存在的信息提示。
本發(fā)明還提供了一種與設(shè)備通信的系統(tǒng),包括:
通信命令配置表,用于存儲與設(shè)備通信的通信命令;
通信配置表命令解析模塊,用于解析上述通信命令配置表,獲取由所述通信命令配置表內(nèi)配置的各通信命令構(gòu)成的通信命令集;
控制模塊,與所述的通信命令配置表和通信配置表命令解析模塊相連,用于控制建立與當(dāng)前所要通信的設(shè)備的連接關(guān)系,用于控制讀取所述的通信命令配置表,用于調(diào)用所述的通信配置表命令解析模塊解析其當(dāng)前所讀取通信命令配置表,以獲取由所述通信配置表命令解析模塊解析出的各通信命令構(gòu)成的通信命令集;用于基于該當(dāng)前獲取的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信。
在該所述的與設(shè)備通信的系統(tǒng)中,所述的通信命令配置表中的字段包括:通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法;
所述通信命令配置表中配置的每條記錄均對應(yīng)一條通信命令。
該與設(shè)備通信的系統(tǒng)還包括:
通信命令規(guī)范格式轉(zhuǎn)換模塊,與所述的控制模塊相連,基于當(dāng)前所調(diào)用的用于與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,調(diào)用與該當(dāng)前所調(diào)用的通信命令名稱相對應(yīng)的預(yù)先設(shè)定的相應(yīng)通信命令規(guī)范格式,對當(dāng)前獲取到的通信命令參數(shù)進行格式重組,使形成新的通信命令參數(shù);
其中,所述的控制模塊基于該當(dāng)前獲取的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信的方法包括為:
步驟p1、調(diào)用用于與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,遍歷上述由所述的通信配置表命令解析模塊解析所得的通信命令集,判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,若判定結(jié)果為在當(dāng)前被遍歷的通信命令集中,則執(zhí)行步驟p2;
步驟p2、從所述的通信命令集中,獲取與上述步驟p1中所調(diào)用的相應(yīng)通信命令的通信命令名稱相對應(yīng)的通信命令的通信命令參數(shù)和通信命令類別,之后執(zhí)行步驟p3;
步驟p3、基于步驟p1中當(dāng)前所調(diào)用的通信命令的通信命令名稱,調(diào)用所述的通信命令規(guī)范格式轉(zhuǎn)換模塊,重組上述步驟p2中當(dāng)前所獲取的相應(yīng)通信命令的通信命令參數(shù),使形成新的通信命令參數(shù);之后執(zhí)行步驟p4;
步驟p4、基于步驟p3中當(dāng)前形成的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備的通信。
其中,在步驟p1中,若判定結(jié)果為不在當(dāng)前被遍歷的通信命令集中,轉(zhuǎn)而執(zhí)行步驟p5:輸出當(dāng)前所調(diào)用通信命令不存在的信息提示。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
(1)本發(fā)明將用于與設(shè)備通信的所有的通信命令配置在一通信命令配置表中,新增、修改、刪除相關(guān)通信命令只需對此通信命令配置表進行操作,便于對用于與設(shè)備通信的通信命令列表進行管理與維護,增加了使用的便利性;
(2)本發(fā)明采用判定當(dāng)前所調(diào)用的通信命令是否在所述的通信命令配置表中的方式,可避免現(xiàn)有通信命令錯誤判斷需要在與設(shè)備真正進行通信時才能被校驗檢測出的弊端,進而在一定程度上提高與設(shè)備通信的效率。
由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實質(zhì)性特點和顯著的進步,其實施的有益效果也是顯而易見的。
附圖說明
圖1為本發(fā)明所述的與設(shè)備通信的方法的方法流程圖示意圖;
圖2為圖1所示步驟D中所述的與當(dāng)前所要通信的設(shè)備進行通信的方法流程示意圖;
圖3為本發(fā)明所述的與設(shè)備通信的系統(tǒng)的系統(tǒng)結(jié)構(gòu)框圖示意圖;
圖4為圖3所示控制模塊基于其當(dāng)前獲取的通信命令集與當(dāng)前所要通信的設(shè)備進行通信的方法流程示意圖。
具體實施方式
為使本發(fā)明的技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖,對本發(fā)明的技術(shù)方案進行清楚、完整地描述。
具體實施方式1:
如圖1所示,本發(fā)明的一種與設(shè)備通信的方法,包括:
步驟A、預(yù)先建立并配置用于存儲與設(shè)備通信的通信命令的通信命令配置表。
在該步驟A中,預(yù)先建立的通信命令配置表中的字段包括:通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法;所述通信命令配置表中配置的每條記錄均對應(yīng)一條通信命令。
其中,所述通信命令配置表中的字段包括通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法,此通信命令配置表的使用,在一定程度上避免了在對通信命令類型相同的通信命令的調(diào)用及其消息返回值進行處理時的重復(fù)操作。
步驟B、建立與當(dāng)前所要通信的設(shè)備的連接關(guān)系,并讀取步驟A中所述的通信命令配置表。
步驟C、解析步驟B中所讀取的通信命令配置表,獲取由其內(nèi)配置的各通信命令構(gòu)成的通信命令集。
步驟D、基于步驟C中獲取到的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信。
在該步驟D中,如圖2所示,所述基于步驟C中獲取到的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信的方法為:
步驟s1、調(diào)用與上述步驟B中所述當(dāng)前所要通信的設(shè)備通信的相應(yīng)通信命令的通信命令名稱,遍歷步驟C中所獲取的通信命令集,判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,若在該被遍歷的通信命令集中,則繼續(xù)執(zhí)行步驟s2。
在該步驟s1中,需要先判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,其避免了現(xiàn)有技術(shù)中需要在與設(shè)備真正進行通信時才能校驗檢測出通信命令錯誤判斷的弊端,這在一定程度上提高了與設(shè)備通信的效率。
步驟s2、從所述的通信命令集中,獲取與該當(dāng)前所調(diào)用的通信命令的通信命令名稱相對應(yīng)的通信命令參數(shù)和通信命令類別;并基于步驟s1中當(dāng)前調(diào)用的通信命令名稱,獲取與該通信命令名稱相對應(yīng)的預(yù)先設(shè)定的通信命令規(guī)范格式;之后繼續(xù)執(zhí)行步驟s3。
步驟s3、通過該當(dāng)前獲取的通信命令規(guī)范格式,對當(dāng)前獲取到的通信命令參數(shù)進行格式重組,獲取重組格式后的新的通信命令參數(shù),之后執(zhí)行步驟s4。
步驟s4、基于該當(dāng)前獲取的重組格式后的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備進行通信。
其中,在上述步驟s1中,若判定當(dāng)前調(diào)用的通信命令的通信命令名稱不在上述步驟C中所述的通信命令集之中,轉(zhuǎn)而執(zhí)行以下步驟:
步驟s5:輸出當(dāng)前所調(diào)用通信命令不存在的信息提示。
使用時,讀取此通信命令配置表,并對該讀取的通信命令配置表進行解析,且解析初始化上述通信命令配置表中所有通信命令的通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法,獲取由其內(nèi)配置的各通信命令構(gòu)成的通信命令集;之后,調(diào)用與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,并遍歷上述構(gòu)成的通信命令集,判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,若判定結(jié)果為在該被遍歷的通信命令集中,則從該所述的通信命令集中,獲取與該當(dāng)前所調(diào)用的通信命令的通信命令名稱相對應(yīng)的通信命令參數(shù)和通信命令類別;并基于當(dāng)前所調(diào)用的通信命令名稱,獲取與該當(dāng)前所調(diào)用的通信命令名稱相對應(yīng)的預(yù)先設(shè)定的通信命令規(guī)范格式;之后通過該當(dāng)前獲取的通信命令規(guī)范格式,對當(dāng)前獲取到的通信命令參數(shù)進行格式重組,獲取重組格式后的新的通信命令參數(shù);之后基于該當(dāng)前獲取的重組格式后的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備進行通信,并使用與當(dāng)前調(diào)用通信命令所對應(yīng)的通信命令返回消息處理方法處理返回的消息。其中,上述的解析初始化上述通信命令配置表中所有通信命令的通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法,在與設(shè)備建立連接時,僅需要執(zhí)行一次,使用方便。
另外,本發(fā)明所有用于與設(shè)備通信的可調(diào)用的通信命令均在上述通信命令配置表中進行描述,不在此通信命令配置表中的通信命令為無效通信命令,新增、修改、刪除與設(shè)備通信的通信命令,只需對此通信命令配置表進行操作,尤其便于在用于與設(shè)備通信所需通信命令較多時,對所有通信命令進行管理與維護,增加了使用的便利性,也確保了從上述通信命令配置表中獲取的通信命令為最新的通信命令。
如圖3所示,本發(fā)明還提供了一種與設(shè)備通信的系統(tǒng)。該與設(shè)備通信的系統(tǒng)包括:
通信命令配置表,用于存儲與設(shè)備通信的通信命令;
通信配置表命令解析模塊,用于解析上述通信命令配置表,獲取由所述通信命令配置表內(nèi)配置的各通信命令構(gòu)成的通信命令集;
控制模塊,與所述的通信命令配置表和通信配置表命令解析模塊相連,用于控制建立與當(dāng)前所要通信的設(shè)備的連接關(guān)系,用于控制讀取所述的通信命令配置表,用于調(diào)用所述的通信配置表命令解析模塊解析其當(dāng)前所讀取通信命令配置表,以獲取由所述通信配置表命令解析模塊解析出的各通信命令構(gòu)成的通信命令集;用于基于該當(dāng)前獲取的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信。
其中,所述的通信命令配置表中的字段包括:通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法;所述通信命令配置表中配置的每條記錄均對應(yīng)一條通信命令。
此外,該與設(shè)備通信的系統(tǒng)還包括:
通信命令規(guī)范格式轉(zhuǎn)換模塊,與所述的控制模塊相連,基于當(dāng)前所調(diào)用的用于與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,調(diào)用與該當(dāng)前所調(diào)用的通信命令名稱相對應(yīng)的預(yù)先設(shè)定的相應(yīng)通信命令規(guī)范格式,對當(dāng)前獲取到的通信命令參數(shù)進行格式重組,使形成新的通信命令參數(shù)。
其中,在該與設(shè)備通信的系統(tǒng)中,如圖4所示,所述的控制模塊基于該當(dāng)前獲取的通信命令集,控制與上述當(dāng)前所要通信的設(shè)備進行通信的方法包括:
步驟p1、調(diào)用用于與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,遍歷上述由所述的通信配置表命令解析模塊解析所得的通信命令集,判定上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該被遍歷的通信命令集中,若判定結(jié)果為在當(dāng)前被遍歷的通信命令集中,則執(zhí)行步驟p2;
步驟p2、從所述的通信命令集中,獲取與上述步驟p1中所調(diào)用的相應(yīng)通信命令的通信命令名稱相對應(yīng)的通信命令的通信命令參數(shù)和通信命令類別,之后執(zhí)行步驟p3;
步驟p3、基于步驟p1中當(dāng)前所調(diào)用的通信命令的通信命令名稱,調(diào)用所述的通信命令規(guī)范格式轉(zhuǎn)換模塊,重組上述步驟p2中當(dāng)前所獲取的相應(yīng)通信命令的通信命令參數(shù),使形成新的通信命令參數(shù);之后執(zhí)行步驟p4;
步驟p4、基于步驟p3中當(dāng)前形成的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備的通信。
其中,在步驟p1中,若判定結(jié)果為不在當(dāng)前被遍歷的通信命令集中,轉(zhuǎn)而執(zhí)行以下步驟p5:輸出當(dāng)前所調(diào)用通信命令不存在的信息提示。
本發(fā)明通過通信命令配置表配置、維護通信命令的方式,在此通信命令配置表的基礎(chǔ)上實現(xiàn)與設(shè)備的通信。本發(fā)明將通信命令配置在所述的通信命令配置表中,存在于通信命令配置表中的通信命令為可用通信命令,不存在于此通信命令配置表中的命令不可被調(diào)用,當(dāng)設(shè)備通信命令發(fā)生更新變化時,可通過維護此通信命令配置表實現(xiàn)可調(diào)用命令的更新,提高了通信命令的可維護性,增強了對不可調(diào)用通信命令的調(diào)用控制和錯誤命令檢測。
使用時,控制單元讀取上述通信命令配置表,并調(diào)用通信配置表命令解析模塊解析該當(dāng)前讀取的通信命令配置表,以初始化上述通信命令配置表中所有通信命令的通信命令類型、通信命令名稱、通信命令參數(shù)和通信命令返回消息處理方法,獲取由其內(nèi)配置的各通信命令構(gòu)成的通信命令集;之后調(diào)用用于與當(dāng)前所要通信的設(shè)備進行通信的相應(yīng)通信命令的通信命令名稱,遍歷上述由所述的通信配置表命令解析模塊解析所得的通信命令集,判定當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱是否在該當(dāng)前被遍歷的通信命令集中,若判定結(jié)果為在當(dāng)前被遍歷的通信命令集中,則從所述的通信命令集中,獲取與上述當(dāng)前所調(diào)用的相應(yīng)通信命令的通信命令名稱相對應(yīng)的通信命令的通信命令參數(shù)和通信命令類別;之后基于上述當(dāng)前所調(diào)用的通信命令名稱,調(diào)用所述的通信命令規(guī)范格式轉(zhuǎn)換模塊,重組上述當(dāng)前所獲取的相應(yīng)通信命令的通信命令參數(shù),使形成新的通信命令參數(shù);之后基于該當(dāng)前形成的新的通信命令參數(shù),控制與上述當(dāng)前所要通信的設(shè)備的通信,并自動按照上述通信命令配置表中配置的通信命令返回消息處理方法處理返回消息。
綜上,本發(fā)明減少了設(shè)備通信實現(xiàn)過程中的代碼耦合性,增加了其各功能模塊的可復(fù)用性,也提高了通信命令更新時的可維護性,降低了因設(shè)備升級等引起的通信命令更新帶來的維護成本,也在一定程度上提高了與設(shè)備通信的效率。
以上實施方式僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施方式對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施方式所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施方式技術(shù)方案的范圍。