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