云儲(chǔ)存系統(tǒng)的日志獲取方法及其系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種云儲(chǔ)存系統(tǒng)的日志獲取方法及其系統(tǒng),通過預(yù)設(shè)的鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,并以ConcurrentHashMap保存所述有效鏈接。當(dāng)用戶需要查詢?cè)苾?chǔ)存的日志文件時(shí),獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名,查詢所述鏈接工廠中是否有對(duì)應(yīng)的有效鏈接,如果有,則直接根據(jù)所述ConcurrentHashMap中的有效鏈接訪問對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取對(duì)應(yīng)的云儲(chǔ)存日志文件。各個(gè)用戶端可進(jìn)行高并發(fā)的查詢?cè)L問,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。能夠提高并發(fā)訪問的成功率,獲取云儲(chǔ)存系統(tǒng)的日志數(shù)據(jù),有效減少數(shù)據(jù)沖突導(dǎo)致數(shù)據(jù)丟失的發(fā)生。
【專利說明】云儲(chǔ)存系統(tǒng)的日志獲取方法及其系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云儲(chǔ)存的【技術(shù)領(lǐng)域】,特別是涉及一種云儲(chǔ)存系統(tǒng)的日志獲取方法,以及一種云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng)。
【背景技術(shù)】
[0002]云存儲(chǔ)是在云計(jì)算(cloud computing)概念上延伸和衍生發(fā)展出來的一個(gè)新的概念。云計(jì)算是分布式處理(Distributed Computing)、并行處理(Parallel Computing)和網(wǎng)格計(jì)算(Grid Computing)的發(fā)展,是透過網(wǎng)絡(luò)將龐大的計(jì)算處理程序自動(dòng)分拆成無數(shù)個(gè)較小的子程序,再交由多部服務(wù)器所組成的龐大系統(tǒng)經(jīng)計(jì)算分析之后將處理結(jié)果回傳給用戶。通過云計(jì)算技術(shù),網(wǎng)絡(luò)服務(wù)提供者可以在數(shù)秒之內(nèi),處理數(shù)以千萬計(jì)甚至億計(jì)的信息,達(dá)到和”超級(jí)計(jì)算機(jī)”同樣強(qiáng)大的網(wǎng)絡(luò)服務(wù)。
[0003]云存儲(chǔ)的概念與云計(jì)算類似,它是指通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問功能的一個(gè)系統(tǒng),保證數(shù)據(jù)的安全性,并節(jié)約存儲(chǔ)空間。
[0004]然而,當(dāng)云儲(chǔ)存系統(tǒng)出現(xiàn)問題的時(shí)候,就會(huì)需要查詢?cè)苾?chǔ)存服務(wù)器的日志,而由于云儲(chǔ)存技術(shù)的資源分散,就需要從云儲(chǔ)存系統(tǒng)的海量日志文件中找出相關(guān)的日志。此時(shí)如何保持查詢?nèi)罩镜目蛻舳伺c各個(gè)云儲(chǔ)存服務(wù)器的通信效率以及成功率就成為一個(gè)難題,由于云儲(chǔ)存的特性,因此訪問量有可能很大,并且需要進(jìn)行并發(fā)訪問,就會(huì)造成連接困難和訪問數(shù)據(jù)的沖突,導(dǎo)致查詢的日志內(nèi)容丟失。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有的云儲(chǔ)存系統(tǒng)的日志數(shù)據(jù)查詢難度大,容易丟失日志數(shù)據(jù)的問題,本發(fā)明提供一種云儲(chǔ)存系統(tǒng)的日志獲取方法,能夠提高并發(fā)訪問的成功率,獲取云儲(chǔ)存系統(tǒng)的日志數(shù)據(jù),有效減少數(shù)據(jù)沖突導(dǎo)致數(shù)據(jù)丟失的發(fā)生。
[0006]一種云儲(chǔ)存系統(tǒng)的日志獲取方法,包括以下步驟:
[0007]獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名;
[0008]根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;
[0009]如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,貝1J通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的;
[0010]否則,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap 中。
[0011]本發(fā)明的云儲(chǔ)存系統(tǒng)的日志獲取方法,通過預(yù)設(shè)的鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,并以ConcurrentHashMap保存所述有效鏈接。當(dāng)用戶需要查詢?cè)苾?chǔ)存的日志文件時(shí),獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名,查詢所述鏈接工廠中是否有對(duì)應(yīng)的有效鏈接,如果有,則直接根據(jù)所述ConcurrentHashMap中的有效鏈接訪問對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取對(duì)應(yīng)的云儲(chǔ)存日志文件。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式,通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
[0012]針對(duì)現(xiàn)有的云儲(chǔ)存系統(tǒng)的日志數(shù)據(jù)查詢難度大,容易丟失日志數(shù)據(jù)的問題,本發(fā)明提供一種云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),能夠提高并發(fā)訪問的成功率,獲取云儲(chǔ)存系統(tǒng)的日志數(shù)據(jù),有效減少數(shù)據(jù)沖突導(dǎo)致數(shù)據(jù)丟失的發(fā)生。
[0013]一種云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),包括以下步驟:
[0014]信息獲取模塊,用于獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名;
[0015]查詢模塊,用于根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;
[0016]日志獲取模塊,用于如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件;否則,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap中。
[0017]本發(fā)明的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),通過預(yù)設(shè)的鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,并以ConcurrentHashMap保存所述有效鏈接。當(dāng)用戶需要查詢?cè)苾?chǔ)存的日志文件時(shí),獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名,查詢所述鏈接工廠中是否有對(duì)應(yīng)的有效鏈接,如果有,則直接根據(jù)所述ConcurrentHashMap中的有效鏈接訪問對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取對(duì)應(yīng)的云儲(chǔ)存日志文件。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式,通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
【專利附圖】
【附圖說明】
[0018]圖1是本發(fā)明云儲(chǔ)存系統(tǒng)的日志獲取方法的流程示意圖;
[0019]圖2是本發(fā)明云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng)的流程示意圖。
【具體實(shí)施方式】
[0020]請(qǐng)參閱圖1,圖1是本發(fā)明云儲(chǔ)存系統(tǒng)的日志獲取方法的流程示意圖。
[0021]所述云儲(chǔ)存系統(tǒng)的日志獲取方法,包括以下步驟:
[0022]S101,獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名;
[0023]S102,根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;[0024]S103,如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件;
[0025]S104,如果所述鏈接工廠中沒有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap 中。
[0026]本發(fā)明的云儲(chǔ)存系統(tǒng)的日志獲取方法,通過預(yù)設(shè)的鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,并以ConcurrentHashMap保存所述有效鏈接。當(dāng)用戶需要查詢?cè)苾?chǔ)存的日志文件時(shí),獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名,查詢所述鏈接工廠中是否有對(duì)應(yīng)的有效鏈接,如果有,則直接根據(jù)所述ConcurrentHashMap中的有效鏈接訪問對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取對(duì)應(yīng)的云儲(chǔ)存日志文件。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式,通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
[0027]其中,步驟S101,獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名。
[0028]當(dāng)用戶進(jìn)入查詢終端的瀏覽器日志推送界面,輸入查詢關(guān)鍵字,并點(diǎn)擊日志獲取按鈕,觸發(fā)日志獲取進(jìn)程之后。獲取所述用戶登陸時(shí)使用的查詢用戶名,根據(jù)查詢的日志所在的云儲(chǔ)存服務(wù)器獲取對(duì)應(yīng)的云儲(chǔ)存服務(wù)器的IP地址。
[0029]步驟S102,根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠。
[0030]其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式。
[0031]所述預(yù)設(shè)鏈接的鏈接工廠將所有已記錄的云儲(chǔ)存服務(wù)器鏈接在一起,每個(gè)新加入的鏈接既可以得到之前加入的鏈接,同時(shí)也要鏈接別人,而之前加入的鏈接就可以得到多一個(gè)鏈接。大量的鏈接相互交叉鏈接,而構(gòu)成了一個(gè)鏈接的網(wǎng)絡(luò)系統(tǒng),形成一個(gè)網(wǎng)狀結(jié)構(gòu)。
[0032]在本步驟中,查詢所述鏈接工廠,判斷所述鏈接工廠中是否有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
[0033]在步驟S103中,如果所述鏈接工廠中已有相應(yīng)的有效鏈接,則直接通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件。
[0034]優(yōu)選地,如果有多個(gè)查詢用戶名同時(shí)訪問相應(yīng)的云儲(chǔ)存服務(wù)器,并且所述鏈接工廠中保存有各個(gè)所述查詢用戶名對(duì)所述相應(yīng)的云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;則通過所述ConcurrentHashMap的相應(yīng)有效鏈接,并發(fā)地連接對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件。
[0035]通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問相應(yīng)的云儲(chǔ)存服務(wù)器時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
[0036]在步驟S104中,如果所述鏈接工廠中不具有相應(yīng)的有效鏈接,則首先通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
[0037]所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的鏈接可以通過所述查詢客戶端的IP地址和所述被訪問云儲(chǔ)存服務(wù)器的IP地址,在二者之間通過各種可行的通信協(xié)議建立鏈接。
[0038]在一個(gè)優(yōu)選實(shí)施例中,根據(jù)所述查詢用戶名以及所述被訪問云儲(chǔ)存服務(wù)器的IP地址,通過SSH協(xié)議連接所述被訪問云儲(chǔ)存服務(wù)器;在所述被訪問云儲(chǔ)存服務(wù)器對(duì)所述查詢用戶名進(jìn)行SSH協(xié)議認(rèn)證成功后,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
[0039]SSH是英文Secure Shell的簡寫形式,即Secure Shell Protocol安全外殼協(xié)議,是一種在不安全網(wǎng)絡(luò)上提供安全遠(yuǎn)程登錄及其它安全網(wǎng)絡(luò)服務(wù)的協(xié)議。使用Secure Shell協(xié)議連接服務(wù)器,服務(wù)器獲取了瀏覽器傳來的指令后,將條件查詢到的日志以數(shù)據(jù)流的方式推送到瀏覽器進(jìn)行展示。通過使用SSH協(xié)議,可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣〃中間人〃這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙,大大提高了查詢客戶端和被訪問云儲(chǔ)存服務(wù)器之間通信的安全性。
[0040]在所述鏈接工廠創(chuàng)建了相應(yīng)的有效鏈接之后,通過所述有效鏈接訪問所述云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap中。
[0041]通過所述鏈接工廠創(chuàng)建新鏈接,則在創(chuàng)建成功后,之前的所有已保存的鏈接都將獲得該新鏈接,而該新鏈接也將與之前的所有已保存的鏈接互連,形成網(wǎng)狀結(jié)構(gòu),因此通過所述鏈接工廠可以提高對(duì)各個(gè)云儲(chǔ)存服務(wù)器的鏈接獲取的便利性。而所述有效鏈接保存在所述ConcurrentHashMap中之后,再次訪問時(shí)即可直接通過所述ConcurrentHashMap執(zhí)行并發(fā)訪問。
[0042]步驟S103和S104中獲取相應(yīng)的云儲(chǔ)存日志文件的方法可以通過以下步驟實(shí)現(xiàn):
[0043]根據(jù)日志文件的地址,獲取對(duì)應(yīng)的日志文件流;
[0044]根據(jù)輸入的查詢關(guān)鍵字,通過關(guān)鍵字匹配的方式在所述日志文件流中獲取相應(yīng)的日志文件。
[0045]通過關(guān)鍵字匹配的方式可以準(zhǔn)確獲得查詢用戶需要的日志文件。
[0046]在一個(gè)實(shí)施例中,為了方便用戶對(duì)日志文件進(jìn)行實(shí)時(shí)查詢調(diào)用,還包括以下步驟:
[0047]在獲取相應(yīng)的云儲(chǔ)存日志文件之后,以預(yù)設(shè)的時(shí)間間隔定時(shí)將所述云儲(chǔ)存日志文件推送到查詢客戶端的瀏覽器中顯示。
[0048]通過對(duì)所述云儲(chǔ)存日志文件的主動(dòng)推送,可以定時(shí)為用戶推送需要的日志數(shù)據(jù),無需用戶每次都進(jìn)行登錄查詢,用戶可以設(shè)置多長時(shí)間進(jìn)行推送,例如每十秒推送一次等(可定義推送時(shí)間間隔)。
[0049]所述主動(dòng)推送日志數(shù)據(jù)的過程與客戶端瀏覽器的顯示異步進(jìn)行,在客戶端瀏覽器不會(huì)顯示數(shù)據(jù)獲得過程,而只會(huì)定時(shí)顯示更新的日志數(shù)據(jù),非常方便。能在瀏覽器中直接查看到服務(wù)器中的日志信息,快速準(zhǔn)確定位各個(gè)服務(wù)器的日志信息,幫助了云存儲(chǔ)平臺(tái)快速定位問題,減少了定位時(shí)間。
[0050]優(yōu)選地,在開始云儲(chǔ)存日志文件的主動(dòng)推送之后,還可包括以下步驟:
[0051]檢測是否收到停止推送日志的指令,如果收到,則停止推送云儲(chǔ)存日志文件。
[0052]即程序判斷是否停止推送,例如以點(diǎn)擊“停止推送”按鈕為準(zhǔn)。如點(diǎn)擊了停止按鈕則推送循環(huán)結(jié)束,如沒有點(diǎn)擊停止推送按鈕,則一直處在日志推送狀態(tài)。
[0053]進(jìn)一步地,在客戶端瀏覽器中,所述日志文件數(shù)據(jù)可經(jīng)過排版優(yōu)化后輸出到頁面展示。所述排版優(yōu)化可以采取現(xiàn)有的各種頁面排版方式,以便用戶查看所述日志數(shù)據(jù)。
[0054]通過本發(fā)明可高效、準(zhǔn)確、快速的將底層日志展現(xiàn)到前臺(tái),根據(jù)用戶輸入的條件查找到用戶想要的信息。與現(xiàn)有技術(shù)相比較,還具有以下優(yōu)點(diǎn):
[0055]高性能:采用本發(fā)明的方法,采用異步(瀏覽器無跳轉(zhuǎn)刷新技術(shù),當(dāng)前線程啟動(dòng)另一個(gè)線程執(zhí)行加載任務(wù),然后不等待它結(jié)束,直接繼續(xù)往下執(zhí)行)方式查詢后臺(tái)海量日志,能夠快速、準(zhǔn)確地把海量數(shù)據(jù)呈現(xiàn)給用戶而不給云存儲(chǔ)管理平臺(tái)造成過大的通信負(fù)荷。
[0056]所述日志數(shù)據(jù)可使用bootstrap3.0框架展示,功能配置靈活,可正序、倒序查看后臺(tái)輸出的日志,并且可以自定義輸出幾行日志。
[0057]請(qǐng)參閱圖2,圖2是本發(fā)明云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng)的結(jié)構(gòu)示意圖。
[0058]所述云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),包括:
[0059]信息獲取模塊11,用于獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名;
[0060]查詢模塊12,用于根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;
[0061]日志獲取模塊13,用于如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件;否則,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap中。
[0062]本發(fā)明的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng)中,通過預(yù)設(shè)的鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,并以ConcurrentHashMap保存所述有效鏈接。當(dāng)用戶需要查詢?cè)苾?chǔ)存的日志文件時(shí),獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名,查詢所述鏈接工廠中是否有對(duì)應(yīng)的有效鏈接,如果有,則直接根據(jù)所述ConcurrentHashMap中的有效鏈接訪問對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取對(duì)應(yīng)的云儲(chǔ)存日志文件。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式,通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
[0063]所述信息獲取模塊11獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名。
[0064]當(dāng)用戶進(jìn)入查詢終端的瀏覽器日志推送界面,輸入查詢關(guān)鍵字,并點(diǎn)擊日志獲取按鈕,觸發(fā)日志獲取進(jìn)程之后。所述信息獲取模塊11獲取所述用戶登陸時(shí)使用的查詢用戶名,根據(jù)查詢的日志所在的云儲(chǔ)存服務(wù)器獲取對(duì)應(yīng)的云儲(chǔ)存服務(wù)器的IP地址。
[0065]所述查詢模塊12根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠。
[0066]其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。ConcurrentHashMap是Java5中支持高并發(fā)、高吞吐量的線程安全HashMap實(shí)現(xiàn)方式。
[0067]所述預(yù)設(shè)鏈接的鏈接工廠將所有已記錄的云儲(chǔ)存服務(wù)器鏈接在一起,每個(gè)新加入的鏈接既可以得到之前加入的鏈接,同時(shí)也要鏈接別人,而之前加入的鏈接就可以得到多一個(gè)鏈接。大量的鏈接相互交叉鏈接,而構(gòu)成了一個(gè)鏈接的網(wǎng)絡(luò)系統(tǒng),形成一個(gè)網(wǎng)狀結(jié)構(gòu)。
[0068]所述查詢模塊12查詢所述鏈接工廠,判斷所述鏈接工廠中是否有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
[0069]所述日志獲取模塊13獲取日志文件的方式有兩種,第一種是:如果所述鏈接工廠中已有相應(yīng)的有效鏈接,則直接通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件。
[0070]優(yōu)選地,如果有多個(gè)查詢用戶名同時(shí)訪問相應(yīng)的云儲(chǔ)存服務(wù)器,并且所述鏈接工廠中保存有各個(gè)所述查詢用戶名對(duì)所述相應(yīng)的云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;則所述日志獲取模塊13通過所述ConcurrentHashMap的相應(yīng)有效鏈接,并發(fā)地連接對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件。
[0071]所述日志獲取模塊13通過所述ConcurrentHashMap中保存所述有效鏈接,各個(gè)用戶端訪問相應(yīng)的云儲(chǔ)存服務(wù)器時(shí)即可進(jìn)行高并發(fā)的訪問方式,大大減少了數(shù)據(jù)沖突和數(shù)據(jù)丟失的發(fā)生概率。
[0072]另一種方式是:如果所述鏈接工廠中不具有相應(yīng)的有效鏈接,則所述日志獲取模塊13首先通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,然后獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap 中。
[0073]所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的鏈接可以通過所述查詢客戶端的IP地址和所述被訪問云儲(chǔ)存服務(wù)器的IP地址,在二者之間通過各種可行的通信協(xié)議建立鏈接。
[0074]在一個(gè)優(yōu)選實(shí)施例中,所述日志獲取模塊13根據(jù)所述查詢用戶名以及所述被訪問云儲(chǔ)存服務(wù)器的IP地址,通過SSH協(xié)議連接所述被訪問云儲(chǔ)存服務(wù)器;在所述被訪問云儲(chǔ)存服務(wù)器對(duì)所述查詢用戶名進(jìn)行SSH協(xié)議認(rèn)證成功后,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
[0075]SSH是英文Secure Shell的簡寫形式,即Secure Shell Protocol安全外殼協(xié)議,是一種在不安全網(wǎng)絡(luò)上提供安全遠(yuǎn)程登錄及其它安全網(wǎng)絡(luò)服務(wù)的協(xié)議。使用Secure Shell協(xié)議連接服務(wù)器,服務(wù)器獲取了瀏覽器傳來的指令后,將條件查詢到的日志以數(shù)據(jù)流的方式推送到瀏覽器進(jìn)行展示。通過使用SSH協(xié)議,可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣〃中間人〃這種攻擊方式就不可能實(shí)現(xiàn)了,而且也能夠防止DNS欺騙和IP欺騙,大大提高了查詢客戶端和被訪問云儲(chǔ)存服務(wù)器之間通信的安全性。
[0076]所述日志獲取模塊13在所述鏈接工廠創(chuàng)建了相應(yīng)的有效鏈接之后,通過所述有效鏈接訪問所述云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述 ConcurrentHashMap 中。
[0077]通過所述鏈接工廠創(chuàng)建新鏈接,則在創(chuàng)建成功后,之前的所有已保存的鏈接都將獲得該新鏈接,而該新鏈接也將與之前的所有已保存的鏈接互連,形成網(wǎng)狀結(jié)構(gòu),因此通過所述鏈接工廠可以提高對(duì)各個(gè)云儲(chǔ)存服務(wù)器的鏈接獲取的便利性。而所述有效鏈接保存在所述ConcurrentHashMap中之后,再次訪問時(shí)即可直接通過所述ConcurrentHashMap執(zhí)行并發(fā)訪問。
[0078]在一個(gè)實(shí)施例中,所述日志獲取模塊13根據(jù)日志文件的地址,獲取對(duì)應(yīng)的日志文件流;根據(jù)輸入的查詢關(guān)鍵字,通過關(guān)鍵字匹配的方式在所述日志文件流中獲取相應(yīng)的日志文件。
[0079]通過關(guān)鍵字匹配的方式可以準(zhǔn)確獲得查詢用戶需要的日志文件。
[0080]在一個(gè)實(shí)施例中,為了方便用戶對(duì)日志文件進(jìn)行實(shí)時(shí)查詢調(diào)用,本發(fā)明的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng)還包括:
[0081]日志推送模塊,用于在獲取相應(yīng)的云儲(chǔ)存日志文件之后,以預(yù)設(shè)的時(shí)間間隔定時(shí)將所述云儲(chǔ)存日志文件推送到查詢客戶端的瀏覽器中顯示。
[0082]通過對(duì)所述云儲(chǔ)存日志文件的主動(dòng)推送,可以定時(shí)為用戶推送需要的日志數(shù)據(jù),無需用戶每次都進(jìn)行登錄查詢,用戶可以設(shè)置多長時(shí)間進(jìn)行推送,例如每十秒推送一次等(可定義推送時(shí)間間隔)。
[0083]所述主動(dòng)推送日志數(shù)據(jù)的過程與客戶端瀏覽器的顯示異步進(jìn)行,在客戶端瀏覽器不會(huì)顯示數(shù)據(jù)獲得過程,而只會(huì)定時(shí)顯示更新的日志數(shù)據(jù),非常方便。能在瀏覽器中直接查看到服務(wù)器中的日志信息,快速準(zhǔn)確定位各個(gè)服務(wù)器的日志信息,幫助了云存儲(chǔ)平臺(tái)快速定位問題,減少了定位時(shí)間。
[0084]優(yōu)選地,在開始云儲(chǔ)存日志文件的主動(dòng)推送之后,所述日志推送模塊進(jìn)一步檢測是否收到停止推送日志的指令,如果收到,則停止推送云儲(chǔ)存日志文件。
[0085]即程序判斷是否停止推送,例如以點(diǎn)擊“停止推送”按鈕為準(zhǔn)。如點(diǎn)擊了停止按鈕則推送循環(huán)結(jié)束,如沒有點(diǎn)擊停止推送按鈕,則一直處在日志推送狀態(tài)。
[0086]進(jìn)一步地,在客戶端瀏覽器中,所述日志文件數(shù)據(jù)可經(jīng)過排版優(yōu)化后輸出到頁面展示。所述排版優(yōu)化可以采取現(xiàn)有的各種頁面排版方式,以便用戶查看所述日志數(shù)據(jù)。
[0087]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施方式中的全部或部分流程以及對(duì)應(yīng)的系統(tǒng)、所述音樂播放器,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各實(shí)施方式的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory, RAM)等。
[0088]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于,包括以下步驟: 獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名;根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件; 否則,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap 中。
2.如權(quán)利要求1所述的云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于: 如果有多個(gè)查詢用戶名同時(shí)訪問相應(yīng)的云儲(chǔ)存服務(wù)器,并且所述鏈接工廠中保存有各個(gè)所述查詢用戶名對(duì)所述相應(yīng)的云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接; 則通過所述ConcurrentHashMap的相應(yīng)有效鏈接,并發(fā)地連接對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件。
3.如權(quán)利要求1或者2所述的云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接的步驟包括: 根據(jù)所述查詢用戶名以及所述被訪問云儲(chǔ)存服務(wù)器的IP地址,通過SSH協(xié)議連接所述被訪問云儲(chǔ)存服務(wù)器; 在所述被訪問云儲(chǔ)存服務(wù)器對(duì)所述查詢用戶名進(jìn)行SSH協(xié)議認(rèn)證成功后,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
4.如權(quán)利要求1或者2所述的云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于,獲取相應(yīng)的云儲(chǔ)存日志文件的步驟包括: 根據(jù)日志文件的地址,獲取對(duì)應(yīng)的日志文件流; 根據(jù)輸入的查詢關(guān)鍵字,通過關(guān)鍵字匹配的方式在所述日志文件流中獲取相應(yīng)的日志文件。
5.如權(quán)利要求1或者2所述的云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于,還包括以下步驟: 在獲取相應(yīng)的云儲(chǔ)存日志文件之后,以預(yù)設(shè)的時(shí)間間隔定時(shí)將所述云儲(chǔ)存日志文件推送到查詢客戶端的瀏覽器中顯示。
6.如權(quán)利要求5所述的云儲(chǔ)存系統(tǒng)的日志獲取方法,其特征在于,進(jìn)一步包括以下步驟: 檢測是否收到停止推送日志的指令,如果收到,則停止推送云儲(chǔ)存日志文件。
7.—種云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),其特征在于,包括: 信息獲取模塊,用于獲取被訪問云儲(chǔ)存服務(wù)器的IP地址以及查詢用戶名; 查詢模塊,用于根據(jù)所述IP地址以及查詢用戶名查找預(yù)設(shè)的鏈接工廠,其中,所述鏈接工廠通過ConcurrentHashMap保存各個(gè)查詢用戶名對(duì)各個(gè)云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;日志獲取模塊,用于如果所述鏈接工廠中有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則通過所述ConcurrentHashMap的有效鏈接從所述被訪問云儲(chǔ)存服務(wù)器獲取相應(yīng)的云儲(chǔ)存日志文件;否則,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,獲取相應(yīng)的云儲(chǔ)存日志文件,并將所述有效鏈接保存在所述ConcurrentHashMap中。
8.如權(quán)利要求7所述的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),其特征在于,如果有多個(gè)查詢用戶名同時(shí)訪問相應(yīng)的云儲(chǔ)存服務(wù)器,并且所述鏈接工廠中保存有各個(gè)所述查詢用戶名對(duì)所述相應(yīng)的云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接;則所述日志獲取模塊用于通過所述ConcurrentHashMap的相應(yīng)有效鏈接,并發(fā)地連接對(duì)應(yīng)的云儲(chǔ)存服務(wù)器,獲取相應(yīng)的云儲(chǔ)存日志文件。
9.如權(quán)利要求7或者8所述的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),其特征在于,如果所述鏈接工廠中沒有所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接,則所述日志獲取模塊根據(jù)所述查詢用戶名以及所述被訪問云儲(chǔ)存服務(wù)器的IP地址,通過SSH協(xié)議連接所述被訪問云儲(chǔ)存服務(wù)器;在所述被訪問云儲(chǔ)存服務(wù)器對(duì)所述查詢用戶名進(jìn)行SSH協(xié)議認(rèn)證成功后,通過所述鏈接工廠創(chuàng)建所述查詢用戶名對(duì)所述被訪問云儲(chǔ)存服務(wù)器的IP地址訪問的有效鏈接。
10.如權(quán)利要求7或者8所述的云儲(chǔ)存系統(tǒng)的日志獲取系統(tǒng),其特征在于,所述日志獲取模塊根據(jù)日志文件的地址,獲取對(duì)應(yīng)的日志文件流;根據(jù)輸入的查詢關(guān)鍵字,通過關(guān)鍵字匹配的方式在所述日志文件流中獲取相應(yīng)的日志文件。
【文檔編號(hào)】G06F17/30GK103957252SQ201410175643
【公開日】2014年7月30日 申請(qǐng)日期:2014年4月28日 優(yōu)先權(quán)日:2014年4月28日
【發(fā)明者】陳飛 申請(qǐng)人:廣州杰賽科技股份有限公司