本發(fā)明實施方式涉及通訊技術(shù)領(lǐng)域,尤其涉及一種云AC設(shè)備故障單編號生成方法和裝置。
背景技術(shù):
云AC(Access Controller,接入控制器)系統(tǒng)往往通過超文本標記語言(HyperText Markup Language,HTML)呈現(xiàn)系統(tǒng)的功能接口,用戶可以通過瀏覽器連接云AC系統(tǒng),進行各種操作。
云AC在收到設(shè)備故障上報或發(fā)現(xiàn)設(shè)備故障時,對發(fā)生的故障生成故障單,交由第三方運維系統(tǒng)處理,運維系統(tǒng)在處理故障過程中,需要及時反饋故障的處理過程,雙方通過故障單編號進行信息的交互。云AC系統(tǒng)生成故障單主要由故障編號,設(shè)備編號,故障名稱,發(fā)生時間等組成。每個故障單在系統(tǒng)中都需要有一個唯一的編號。
在實施本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題:
現(xiàn)有技術(shù)的云AC生成故障單時,必需先把故障單信息保存在數(shù)據(jù)庫中,故障單的編號就是數(shù)據(jù)庫中故障表的主鍵ID。如此生成的故障單編號雖然在系統(tǒng)中是唯一的,但與業(yè)務(wù)無關(guān)。故障單信息發(fā)送給第三方運維系統(tǒng)時,必需包括其它的故障信息,不利于數(shù)據(jù)包的壓縮,占用傳輸帶寬。
應(yīng)該注意,上面對技術(shù)背景的介紹只是為了方便對本發(fā)明的技術(shù)方案進行清楚、完整的說明,并方便本領(lǐng)域技術(shù)人員的理解而闡述的。不能僅僅因為這些方案在本發(fā)明的背景技術(shù)部分進行了闡述而認為上述技術(shù)方案為本領(lǐng)域技術(shù)人員所公知。
技術(shù)實現(xiàn)要素:
針對上述問題,本發(fā)明實施方式的目的在于提供一種云AC設(shè)備故障單編號生成方法和裝置,能夠減少故障單與第三方系統(tǒng)交互時的數(shù)據(jù)量,提高信息傳送速度,提高帶寬利用率。
為實現(xiàn)上述目的,本發(fā)明實施方式提供一種云AC設(shè)備故障單編號生成方法,包括:當(dāng)發(fā)現(xiàn)云AC設(shè)備故障時,云AC獲取故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息;根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),所述云AC生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號。
進一步地,所述故障處理服務(wù)器的網(wǎng)卡信息包括網(wǎng)卡服務(wù)器的MAC地址。
進一步地,獲取所述當(dāng)前云AC告警模塊進程的進程ID,包括:使用線程安全的加減操作接口獲取當(dāng)前云AC告警模塊進程的進程ID,所述進程ID在當(dāng)前所有進程中的累加值是唯一的。
進一步地,獲取所述故障信息,包括:從告警名稱數(shù)據(jù)字典中獲取故障名稱對應(yīng)的故障名稱編號。
進一步地,所述根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),所述云AC生成預(yù)設(shè)長度的字節(jié)數(shù)組,包括:云AC設(shè)置字節(jié)數(shù)組的預(yù)設(shè)長度為14位;將所述系統(tǒng)當(dāng)前時間值轉(zhuǎn)換成Long型的秒數(shù),根據(jù)所述Long型的秒數(shù)生成字節(jié)數(shù)組的0~3字節(jié)值;將所述網(wǎng)卡服務(wù)器的MAC地址拼裝成字符串,通過字符串哈希函數(shù)生成相應(yīng)的哈希值,將哈希值與0x00ffffff做與操作,生成字節(jié)數(shù)組的4-6位值;根據(jù)所述當(dāng)前云AC告警模塊進程的進程ID生成字節(jié)數(shù)組的7-8位值;根據(jù)所述故障名稱編號生成字節(jié)數(shù)組的9-10位值;根據(jù)計數(shù)器的唯一計數(shù)編號生成字節(jié)數(shù)組的11-13位值。
進一步地,所述方法還包括:將所述故障單編號發(fā)送給第三方系統(tǒng),以使第三方系統(tǒng)將故障單編號的字符串轉(zhuǎn)換為14位的字節(jié)數(shù)組,通過解析所述字節(jié)數(shù)組的0~3字節(jié)值獲取故障產(chǎn)生時間,通過解析所述字節(jié)數(shù)組的4-6位值獲取故障網(wǎng)卡服務(wù)器的MAC地址,通過解析所述字節(jié)數(shù)組的7-8位值獲取故障進程ID,通過解析所述字節(jié)數(shù)組的9-10值獲取故障名稱編號。
為實現(xiàn)上述目的,本發(fā)明實施方式還提供一種云AC設(shè)備故障單編號生成裝置包括:第一處理模塊,用于當(dāng)發(fā)現(xiàn)云AC設(shè)備故障時,獲取故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息;第二處理模塊,用于根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號。
由上可見,本發(fā)明提供一種云AC設(shè)備故障單編號生成方法和裝置,當(dāng)發(fā)現(xiàn)云AC設(shè)備故障時,云AC獲取故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息,并根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),所述云AC生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號;當(dāng)?shù)谌较到y(tǒng)接到該故障單編號時,就可以通過截取相關(guān)字節(jié)獲取故障信息;即在本發(fā)明中,通過把故障的相關(guān)業(yè)務(wù)信息加入到故障單編號中,生成一組唯一的字符串。第三方系統(tǒng)通過這個故障單編號,可以反向解析出故障的基本信息,從而減少故障單在不同系統(tǒng)間傳送的數(shù)據(jù)包長度,減少故障單與第三方系統(tǒng)交互時的數(shù)據(jù)量,提高信息傳送速度,提高帶寬利用率。
附圖說明
為了更清楚地說明本發(fā)明實施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖逐一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施方式,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施方式提供的云AC設(shè)備故障單編號生成方法的流程示意圖;
圖2為本發(fā)明實施方式提供的云AC設(shè)備故障單編號生成裝置的功能模塊圖。
具體實施方式
為使本發(fā)明實施方式的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施方式中的附圖,對本發(fā)明實施方式中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施方式是本發(fā)明一部分實施方式,而不是全部的實施方式?;诒景l(fā)明中的實施方式,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施方式,都屬于本發(fā)明保護的范圍。
在本發(fā)明中,云AC在收到設(shè)備故障上報或發(fā)現(xiàn)設(shè)備故障時,對發(fā)生的故障生成故障單,交由運維系統(tǒng)處理。雙方通過故障單編號同步故障處理情況。為了生成與業(yè)務(wù)相關(guān)的故障單編號,云AC故障處理模塊通過當(dāng)前服務(wù)器的MAC地址,進程ID,系統(tǒng)時間,故障名稱編號,同步計數(shù)器等信息,生成系統(tǒng)內(nèi)唯一的故障單編號。
本發(fā)明實施方式提供一種云AC設(shè)備故障單編號生成方法。請參閱圖1,所述方法應(yīng)用在云AC上,可以包括以下步驟:
步驟S1:當(dāng)發(fā)現(xiàn)設(shè)備故障時,云AC獲取故障處理服務(wù)器的網(wǎng)卡信息,所述網(wǎng)卡信息包括網(wǎng)卡服務(wù)器的MAC地址。
在本實施方式中,當(dāng)云AC在收到設(shè)備故障上報或發(fā)現(xiàn)設(shè)備故障時,獲取云AC故障處理服務(wù)器網(wǎng)卡信息,該網(wǎng)卡信息包括云AC網(wǎng)卡服務(wù)器的MAC地址。
步驟S2:獲取當(dāng)前云AC告警模塊進程的進程ID。
在本實施方式中,云AC可以使用AtomicInteger獲取當(dāng)前云AC告警模塊進程的進程ID。該AtomicInteger是一種線程安全的加減操作接口,通過AtomicInteger加減操作,進程ID在當(dāng)前所有進程中的累加值是唯一的。
步驟S3:獲取系統(tǒng)當(dāng)前時間值。
在本實施方式中,云AC還可以進一步獲取系統(tǒng)當(dāng)前時間值。
步驟S4:獲取故障名稱對應(yīng)的故障名稱編號。
在本實施方式中,云AC還可以進一步獲取故障名稱對應(yīng)的故障名稱編號,具體地,可以從告警名稱數(shù)據(jù)字典中獲取故障名稱對應(yīng)的故障名稱編號。
值得注意的是,上述的S1~S4的步驟中獲取網(wǎng)卡服務(wù)器的MAC地址、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障名稱編號的順序并不是固定的,還可以有其他的獲取先后順序,在本發(fā)明實施方式中并不作限制。
步驟S5:根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障名稱編號以及計數(shù)器的計數(shù),所述云AC生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號。
在本實施方式中,云AC可以根據(jù)之前獲取的網(wǎng)卡服務(wù)器的MAC地址、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障名稱編號,生成一個長度為14的字節(jié)數(shù)組,具體地,
0-3位值:為根據(jù)Long型的系統(tǒng)當(dāng)前時間值生成的4字節(jié)值;
優(yōu)選地,云AC可以將系統(tǒng)當(dāng)前時間值轉(zhuǎn)換成Long型的秒數(shù),其中Long變量通常以帶符號的32位(4字節(jié))整數(shù)形式存儲。
4-6位值:為根據(jù)所述網(wǎng)卡服務(wù)器的MAC地址生成的3字節(jié)值;
優(yōu)選地,云AC將網(wǎng)卡服務(wù)器的MAC地址拼裝成一個字符串,通過字符串哈希函數(shù)生成相應(yīng)的哈希值,例如常用的字符串哈希函數(shù)有BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash等等,在此并不限制具體的哈希函數(shù)算法。進一步將哈希值與0x00ffffff做與操作,生成3字節(jié)值。
7-8位值:為根據(jù)當(dāng)前云AC告警模塊進程的進程ID生成的2字節(jié)值;
9-10位值:為根據(jù)故障名稱編號生成的2字節(jié)值;
11-13位值:為根據(jù)計數(shù)器的計數(shù)生成的4字節(jié)值。
優(yōu)選地,通過同步計數(shù)器生成系統(tǒng)內(nèi)唯一的計數(shù)編號。
生成一個長度為14的字節(jié)數(shù)組后,云AC進一步的將該字節(jié)數(shù)組轉(zhuǎn)換成字符串,例如:57bfee5dcef6c321e402017ea27d,云AC最后將該字符串作為故障單編號。
云AC將故障單編號發(fā)送給第三方系統(tǒng),當(dāng)?shù)谌较到y(tǒng)接到該故障單信息時,將故障單編號的字符串轉(zhuǎn)換為14位的字節(jié)數(shù)組,然后就可以通過截取相關(guān)字節(jié)獲取故障單信息,例如:
通過解析字節(jié)數(shù)組的0~3字節(jié)值獲取故障產(chǎn)生時間;
通過解析字節(jié)數(shù)組的4-6位值獲取故障網(wǎng)卡服務(wù)器的MAC地址;
通過解析字節(jié)數(shù)組的7-8位值獲取故障進程ID;
通過解析字節(jié)數(shù)組的9-10值獲取故障名稱編號。
請參閱圖2。本發(fā)明實施方式提供一種云AC設(shè)備故障單編號生成裝置,包括:
第一處理模塊,用于當(dāng)發(fā)現(xiàn)云AC設(shè)備故障時,獲取故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息;
第二處理模塊,用于根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號。
其中,
第一處理模塊,具體用于:
獲取網(wǎng)卡服務(wù)器的MAC地址;使用線程安全的加減操作接口獲取當(dāng)前云AC告警模塊進程的進程ID;從告警名稱數(shù)據(jù)字典中獲取故障名稱對應(yīng)的故障名稱編號。
第二處理模塊,還用于:
設(shè)置字節(jié)數(shù)組的預(yù)設(shè)長度為14位;將所述系統(tǒng)當(dāng)前時間值轉(zhuǎn)換成Long型的秒數(shù),根據(jù)所述Long型的秒數(shù)生成字節(jié)數(shù)組的0~3字節(jié)值;將所述網(wǎng)卡服務(wù)器的MAC地址拼裝成字符串,通過字符串哈希函數(shù)生成相應(yīng)的哈希值,將哈希值與0x00ffffff做與操作,生成字節(jié)數(shù)組的4-6位值;根據(jù)所述當(dāng)前云AC告警模塊進程的進程ID生成字節(jié)數(shù)組的7-8位值;根據(jù)所述故障名稱編號生成字節(jié)數(shù)組的9-10位值;根據(jù)計數(shù)器的唯一計數(shù)編號生成字節(jié)數(shù)組的11-13位值。
第二處理模塊,還用于:
將所述故障單編號發(fā)送給第三方系統(tǒng),以使第三方系統(tǒng)將故障單編號的字符串轉(zhuǎn)換為14位的字節(jié)數(shù)組,通過解析所述字節(jié)數(shù)組的0~3字節(jié)值獲取故障產(chǎn)生時間,通過解析所述字節(jié)數(shù)組的4-6位值獲取故障網(wǎng)卡服務(wù)器的MAC地址,通過解析所述字節(jié)數(shù)組的7-8位值獲取故障進程ID,通過解析所述字節(jié)數(shù)組的9-10值獲取故障名稱編號。
上述的涉及到的云AC設(shè)備故障單編號生成裝置的具體技術(shù)細節(jié)和云AC設(shè)備故障單編號生成方法中的類似,故不再具體贅述。
由上可見,本發(fā)明提供一種云AC設(shè)備故障單編號生成方法和裝置,當(dāng)發(fā)現(xiàn)云AC設(shè)備故障時,云AC獲取故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息,并根據(jù)所述故障處理服務(wù)器的網(wǎng)卡信息、當(dāng)前云AC告警模塊進程的進程ID、系統(tǒng)當(dāng)前時間值和故障信息以及計數(shù)器的計數(shù),所述云AC生成預(yù)設(shè)長度的字節(jié)數(shù)組,并將所述字節(jié)數(shù)組轉(zhuǎn)換成字符串作為所述云AC設(shè)備的故障單編號;當(dāng)?shù)谌较到y(tǒng)接到該故障單編號時,就可以通過截取相關(guān)字節(jié)獲取故障信息;即在本發(fā)明中,通過把故障的相關(guān)業(yè)務(wù)信息加入到故障單編號中,生成一組唯一的字符串。第三方系統(tǒng)通過這個故障單編號,可以反向解析出故障的基本信息,從而減少故障單在不同系統(tǒng)間傳送的數(shù)據(jù)包長度,減少故障單與第三方系統(tǒng)交互時的數(shù)據(jù)量,提高信息傳送速度,提高帶寬利用率。
本說明書中的各個實施方式均采用遞進的方式描述,各個實施方式之間相同相似的部分互相參見即可,每個實施方式重點說明的都是與其他實施方式的不同之處。
最后應(yīng)說明的是:上面對本發(fā)明的各種實施方式的描述以描述的目的提供給本領(lǐng)域技術(shù)人員。其不旨在是窮舉的、或者不旨在將本發(fā)明限制于單個公開的實施方式。如上所述,本發(fā)明的各種替代和變化對于上述技術(shù)所屬領(lǐng)域技術(shù)人員而言將是顯而易見的。因此,雖然已經(jīng)具體討論了一些另選的實施方式,但是其它實施方式將是顯而易見的,或者本領(lǐng)域技術(shù)人員相對容易得出。本發(fā)明旨在包括在此已經(jīng)討論過的本發(fā)明的所有替代、修改、和變化,以及落在上述申請的精神和范圍內(nèi)的其它實施方式。