亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種檢索資源對象的方法、裝置和系統(tǒng)與流程

文檔序號:11063523閱讀:375來源:國知局
一種檢索資源對象的方法、裝置和系統(tǒng)與制造工藝

本發(fā)明涉及網(wǎng)絡技術領域,具體涉及一種檢索資源對象的方法、裝置和系統(tǒng)。



背景技術:

近年來,網(wǎng)絡監(jiān)控系統(tǒng)已被大部分企業(yè)所使用。隨著電信行業(yè)和互聯(lián)網(wǎng)行業(yè)的發(fā)展,網(wǎng)絡監(jiān)控系統(tǒng)在網(wǎng)絡應用中的地位越來越重要。強有力的監(jiān)控和診斷可以幫助運行維護人員快速地檢索到網(wǎng)絡中的設備,及時了解設備的運行情況,分析出應用故障原因。

現(xiàn)有技術的資源對象檢索方案之一:將資源對象存儲在關系型數(shù)據(jù)庫中,根據(jù)用戶輸入的檢索條件,通過結構化查詢語言(Structured Query Language,簡稱SQL)語句直接查詢關系型數(shù)據(jù)庫來得到查詢結果,將查詢結果界面展示給用戶。然而這種方式下,隨著數(shù)據(jù)量的不斷增加,檢索效率會不斷降低,從而影響頁面響應速度。

現(xiàn)有技術的資源對象檢索方案之二:將監(jiān)控系統(tǒng)抓取的資源對象數(shù)據(jù)保存到監(jiān)控系統(tǒng)的緩存中,根據(jù)用戶輸入的檢索條件,逐條從緩存中比對資源對象,以過濾出符合檢索條件的資源對象;將檢索出的資源對象界面展示給用戶。這種方式在數(shù)據(jù)量不斷增加時,需要不斷加大內存,并且需要根據(jù)檢索條件對每一個資源對象進行逐條比對,影響檢索性能。

由上可知,隨著資源對象數(shù)據(jù)量的不斷增大,現(xiàn)有技術的資源對象的檢索效率不斷降低,頁面響應時間越來越慢,用戶體驗差。



技術實現(xiàn)要素:

本發(fā)明提供了一種檢索資源對象的方法、裝置和系統(tǒng),以解決現(xiàn)有技術方案存在的檢索效率低,用戶體驗差的問題。

根據(jù)本發(fā)明的一個方面,提供了一種檢索資源對象的方法,該方法包括:

接收客戶端發(fā)送的資源對象檢索請求,所述資源對象檢索請求中攜帶有資源對象的檢索條件;

將所述檢索條件發(fā)送給搜索服務器;

接收所述搜索服務器返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID;

當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象唯一標識ID發(fā)送給存儲服務器;

接收所述存儲服務器返回的與所述資源對象唯一標識ID對應的資源對象;

將所述資源對象返回給所述客戶端。

可選地,在接收客戶端發(fā)送的攜帶檢索條件的資源對象檢索請求之前,該方法還包括:

抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資源對象,并為每個資源對象分配唯一標識ID;

將所述資源對象發(fā)送給搜索服務器,使得所述搜索服務器從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;

以及,將所述資源對象發(fā)送給存儲服務器,使得所述存儲服務器建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系。

可選地,所述搜索服務器為Solr搜索服務器;

所述存儲服務器為Redis存儲服務器;

所述將所述檢索條件發(fā)送給搜索服務器包括:

將所述檢索條件轉換成符合所述Solr搜索服務器檢索要求的檢索式;

通過超文本傳輸協(xié)議HTTP請求將轉換后的所述檢索式發(fā)送給所述Solr搜索服務器。

可選地,所述方法還包括:

當所述檢索結果為空值時,直接向所述客戶端返回沒有滿足檢索條件的 資源對象的提示信息。

根據(jù)本發(fā)明的另一個方面,提供了一種檢索資源對象的裝置,所述裝置包括:

檢索請求接收單元,用于接收客戶端發(fā)送的資源對象檢索請求,所述資源對象檢索請求中攜帶有資源對象的檢索條件;

檢索條件發(fā)送單元,用于將所述檢索條件發(fā)送給搜索服務器;

檢索結果判斷單元,用于接收所述搜索服務器返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID;

資源對象ID發(fā)送單元,用于當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象的唯一標識ID發(fā)送給存儲服務器;

資源對象接收單元,用于接收所述存儲服務器返回的與所述資源對象的唯一標識ID對應的資源對象;

資源對象返回單元,用于將所述資源對象返回給所述客戶端。

可選地,所述裝置還包括:

資源對象創(chuàng)建單元,用于抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資源對象,并為每個資源對象分配唯一標識ID;

將所述資源對象發(fā)送給搜索服務器,使得所述搜索服務器從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;以及,將所述資源對象發(fā)送給存儲服務器,使得所述存儲服務器建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系。

可選地,所述搜索服務器為Solr搜索服務器;

所述存儲服務器為Redis存儲服務器;

所述檢索條件發(fā)送單元,具體用于將所述檢索請求中的檢索條件轉換成符合所述Solr搜索服務器檢索要求的檢索式;通過超文本傳輸協(xié)議HTTP請求將轉換后的所述檢索式發(fā)送給所述Solr搜索服務器。

可選地,所述裝置還包括:

空值提示單元,用于當所述檢索結果為空值時,直接向所述客戶端返回沒有滿足檢索條件的資源對象的提示信息。

根據(jù)本發(fā)明的再一個方面,提供了一種檢索資源對象的系統(tǒng),該系統(tǒng)包括如上所述的檢索資源對象的裝置,搜索服務器以及存儲服務器;

所述檢索資源對象的裝置,適于接收客戶端發(fā)送的檢索請求,所述資源對象檢索請求中攜帶有資源對象的檢索條件,將所述檢索條件發(fā)送給所述搜索服務器;

所述搜索服務器,適于接收所述檢索條件,并根據(jù)所述檢索條件返回相應的檢索結果;

所述檢索資源對象的裝置,還適于接收所述搜索服務器返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID,當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象唯一標識ID發(fā)送給所述存儲服務器;

所述存儲服務器,適于接收檢索資源對象的裝置發(fā)送的所述資源對象唯一標識ID,根據(jù)所述資源對象唯一標識ID找到與所述資源對象唯一標識ID對應的資源對象,將所述資源對象發(fā)送給所述檢索資源對象的裝置;

所述檢索資源對象的裝置,還適于接收所述存儲服務器發(fā)送的資源對象,將所述資源對象返回給所述客戶端。

可選地,所述搜索服務器為Solr搜索服務器;

所述存儲服務器為Redis存儲服務器;

所述檢索資源對象的裝置,還適于抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資源對象,并為每個資源對象分配唯一標識ID,將所述資源對象發(fā)送給所述Solr搜索服務器;

所述Solr搜索服務器,還適于從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;

所述Redis存儲服務器,還適于建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系。

本發(fā)明的有益效果是:本發(fā)明實施例的技術方案將資源對象ID作為資源對象唯一標識,通過搜索服務器建立資源對象ID與檢索條件的索引,并將資源對象存儲到存儲服務器中,實現(xiàn)索引與資源對象的拆分;在檢索時首先通過檢索條件快速檢索到資源對象ID,然后通過資源對象ID實現(xiàn)資源對象的快速定位,以減少資源對象的檢索時間。本發(fā)明的技術方案在數(shù)據(jù)量不斷增大的情況下,只需利用搜索服務器根據(jù)檢索條件檢索資源對象ID,只需利用存儲服務器根據(jù)資源對象ID檢索資源對象,分工合作,兩個主體各自承擔的查找任務較少,從而能夠快速查找到符合要求的資源對象返回客戶端,提高檢索性能,避免了直接通過SQL語句在龐大的關系數(shù)據(jù)庫中查找資源對象時效率低的缺陷,同時也避免了將大量的資源對象數(shù)據(jù)放在內存中,加劇了監(jiān)控系統(tǒng)資源緊張、影響檢索性能的問題,提高了用戶使用體驗。

附圖說明

圖1是本發(fā)明一個實施例的一種檢索資源對象的方法的流程圖;

圖2是本發(fā)明一個實施例的檢索資源對象的裝置的框圖;

圖3是本發(fā)明一個實施例的檢索資源對象的流程圖;

圖4是本發(fā)明一個實施例的檢索資源對象的系統(tǒng)的示意圖。

具體實施方式

本發(fā)明的核心思想是:針對現(xiàn)有技術方案中檢索資源對象效率低的問題,提出了一種檢索資源對象的方法,該方法利用每個資源對象的唯一標識ID,由搜索服務器根據(jù)檢索條件,查找滿足檢索條件的資源對象唯一標識ID,返回給監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)再將收到的資源對象唯一標識ID發(fā)送給存儲服務器去檢索對應的資源對象并返回,這樣由于搜索服務器只需要根據(jù)監(jiān)控系統(tǒng)發(fā)送的檢索條件搜索資源對象唯一標識ID,存儲服務器只需要根據(jù)監(jiān)控系統(tǒng)發(fā)送的資源對象唯一標識ID檢索對應的資源對象,分工合作,從而快速的檢索出需要的資源對象,顯著提高了資源對象的檢索性能。

圖1是本發(fā)明一個實施例的一種檢索資源對象的方法的流程圖,參見圖1,該檢索資源對象的方法包括:

S11,接收客戶端發(fā)送的資源對象檢索請求,所述資源對象檢索請求中攜 帶有資源對象的檢索條件;

S12,將所述檢索條件發(fā)送給搜索服務器;

S13,接收所述搜索服務器返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID;

S14,當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象唯一標識ID發(fā)送給存儲服務器;

S15,接收所述存儲服務器返回的與所述資源對象唯一標識ID對應的資源對象;

S16,將所述資源對象返回給所述客戶端。

經(jīng)過圖1所示的步驟,本發(fā)明一個實施例的這種檢索資源對象的方法,在檢索資源對象時,采用搜索服務器檢索資源對象的唯一標識ID,并通過存儲服務器根據(jù)資源對象的唯一標識ID定位出資源對象,由于利用搜索服務器和存儲服務器分工合作,各自承擔的檢索任務相對較輕從而在數(shù)據(jù)量不斷增加的情況下依然能夠快速的檢索出符合要求的資源對象,提高頁面的響應速度和用戶滿意度。

在本發(fā)明的一個實施例中,圖1所示的方法在S11,在接收客戶端發(fā)送的攜帶檢索條件的資源對象檢索請求之前,還包括:

抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資源對象,并為每個資源對象分配唯一標識ID;

將所述資源對象發(fā)送給搜索服務器,使得所述搜索服務器從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;

以及,將所述資源對象發(fā)送給存儲服務器,使得所述存儲服務器建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系并以Key-value鍵值對的格式存儲,其中鍵key為所述資源對象唯一標識ID,值value為所述資源對象。

具體的,圖1所示方法的執(zhí)行主體為一個監(jiān)控系統(tǒng),這個監(jiān)控系統(tǒng)會實時監(jiān)控,當發(fā)現(xiàn)一個新的設備需要監(jiān)控時,抓取該設備的資源數(shù)據(jù),并創(chuàng)建 一個資源對象記錄該設備的資源數(shù)據(jù),且為該資源對象分配一個ID(唯一標識)。即在監(jiān)控系統(tǒng)中,一個設備對應一個資源對象,每個資源對象都有一個ID以區(qū)分于其他資源對象。

一方面,監(jiān)控系統(tǒng)創(chuàng)建了資源對象后,將該資源對象發(fā)送給搜索服務器,以配置資源對象ID的檢索屬性,創(chuàng)建資源對象的索引。

另一方面,監(jiān)控系統(tǒng)會把記錄設備資源數(shù)據(jù)的資源對象以及資源對象ID發(fā)送給存儲服務器,存儲服務器按照key-value的存儲格式把資源對象ID和資源對象映射存儲起來,即資源對象ID-資源對象。

在本發(fā)明的一個實施例中,圖1所示的方法中所述搜索服務器為Solr搜索服務器;

所述存儲服務器為Redis存儲服務器;

所述將所述檢索條件發(fā)送給搜索服務器包括:

將所述檢索條件轉換成符合所述Solr搜索服務器檢索要求的檢索式;

通過超文本傳輸協(xié)議HTTP請求將轉換后的所述檢索式發(fā)送給所述Solr搜索服務器。

Redis存儲服務器是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡、可基于內存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的應用程序編程接口API(Application Programming Interface)。Redis是一個高性能的key-value數(shù)據(jù)庫,Redis的出現(xiàn)很大程度補償了同類key-value數(shù)據(jù)庫存儲的不足,在部分場合可以對關系數(shù)據(jù)庫起到很好的補充作用。Redis支持各種不同方式的排序。為了保證效率,Redis中的數(shù)據(jù)都是緩存在內存中,周期性的把更新的數(shù)據(jù)寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現(xiàn)了master-slave(主從)同步,數(shù)據(jù)可以從主服務器向任意數(shù)量的從服務器上同步,從服務器可以是關聯(lián)其他從服務器的主服務器,這使得Redis可執(zhí)行單層樹復制,同步對讀取操作的可擴展性和數(shù)據(jù)冗余很有幫助。

Solr是一個獨立的搜索應用服務器,它對外提供類似于Web-service的應用程序編程接口API。它的主要特性包括:高效、靈活的緩存功能,垂直搜索功能,高亮顯示搜索結果,通過索引復制來提高可用性,Solr支持多種輸 出格式(包括XML/XSLT和JSON格式),易于安裝和配置,提供基于Web的管理界面。

本實施例中,采用Solr服務器作為搜索服務器,接收監(jiān)控系統(tǒng)發(fā)送的資源對象數(shù)據(jù),并根據(jù)配置文件配置資源對象的檢索屬性,創(chuàng)建資源對象ID的索引。具體的,Solr搜索服務器配置能夠查找到資源對象ID的字段(即索引字段)的檢索屬性為真。在一個資源對象的多個字段中,選取部分字段設置這些選中字段(即索引字段)的stored="false",indexed="true",indexed屬性表示字段是否需要被索引,stored屬性表示字段內容是否需要被返回;也就是說,這些被選擇作為索引的字段僅用于搜索,而不用于實際返回。并且,Solr搜索服務器將資源對象唯一標識ID字段設置為stored="true",indexed="false",即資源對象唯一標識ID僅用于返回,不用于搜索。

一個具體的示例為:Solr搜索服務器收到了一個包括如下5個字段的資源對象:資源對象ID,IP地址,資源名稱,描述信息,系統(tǒng)名稱;Solr搜索服務器選取IP地址以及系統(tǒng)名稱這兩個字段,并將這兩個字段的stored屬性設為假,indexed屬性設為真。當用戶輸入一個檢索條件是IP地址時(如查找IP=192.168.),Solr搜索服務器將接收到的檢索條件與資源對象ID的索引即IP地址這個字段進行匹配,如果滿足檢索條件,則將這個IP地址字段所在的資源對象ID返回。

通過這種方式,Solr搜索服務器只選取部分字段作為資源對象ID的索引,不需要設置全部字段為索引,從而達到了最佳的索引大小和搜索性能。

需要說明的是,上述示例只是一個示意性說明,在實際應用中,資源對象包括的字段通常很多,不止5個,這樣在數(shù)據(jù)量不斷增大時,Solr搜索服務器的這種選取部分字段為資源對象ID配置索引方式的有益效果更加突出,也更加節(jié)省檢索時間。此外,Solr搜索服務器可以根據(jù)歷史搜索記錄數(shù)據(jù)從每個資源對象中選取感興趣的字段設置為索引字段,Solr搜索服務器具體選取哪些字段配置為資源對象ID的索引是現(xiàn)有技術,可以采用現(xiàn)有技術中的算法來實現(xiàn),對此不作限制。

在本實施例中用戶輸入的檢索條件可以精確的也可以是模糊的,根據(jù)不同的檢索條件,Solr搜索服務器檢索的資源對象ID可能是一個也可能是多 個,并且當用戶輸入的檢索條件有誤時,Solr搜索服務器返回的資源對象ID也可能是空值。因此,監(jiān)控系統(tǒng)需要對Solr搜索服務器返回的檢索結果進行判斷。如果返回的檢索結果是滿足檢索條件的資源對象ID時,才將資源對象ID發(fā)送給存儲服務器進行查找,如果檢索結果是沒找到符合檢索條件的資源對象ID時,不需要再去存儲服務器中進一步查找,這樣就節(jié)省了再去存儲服務器中查找資源對象的時間。

在本發(fā)明的一個實施例中,圖1所示的方法中當所述檢索結果為空值時,直接向所述客戶端返回沒有滿足檢索條件的資源對象的提示信息。

具體的,Solr搜索服務器根據(jù)輸入的檢索條件,并根據(jù)檢索條件與資源對象ID的索引進行匹配后發(fā)現(xiàn)沒有符合要求的資源對象ID,這時Solr搜索服務器會返回一個空的資源對象ID,即資源對象ID為空值,監(jiān)控系統(tǒng)收到空的資源對象ID時,直接向所述客戶端返回沒有滿足檢索條件的資源對象的提示信息,以提示用戶及時檢查或更換檢索條件。

圖2是本發(fā)明一個實施例的檢索資源對象的裝置的框圖;參見圖2,該檢索資源對象的裝置20,包括:

檢索請求接收單元201,用于接收客戶端發(fā)送的資源對象檢索請求,所述資源對象檢索請求中攜帶有資源對象的檢索條件;

檢索條件發(fā)送單元202,用于將所述檢索條件發(fā)送給搜索服務器;

檢索結果判斷單元203,用于接收所述搜索服務器返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID;

資源對象ID發(fā)送單元204,用于當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象的唯一標識ID發(fā)送給存儲服務器;

資源對象接收單元205,用于接收所述存儲服務器返回的與所述資源對象的唯一標識ID對應的資源對象;

資源對象返回單元206,用于將所述資源對象返回給所述客戶端。

本實施例中,檢索資源對象的裝置20還包括:

資源對象創(chuàng)建單元,用于抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資 源對象,并為每個資源對象分配唯一標識ID;

將所述資源對象發(fā)送給搜索服務器,使得所述搜索服務器從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;以及,將所述資源對象發(fā)送給存儲服務器,使得所述存儲服務器建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系并以Key-value鍵值對的格式存儲,其中鍵key為所述資源對象唯一標識ID,值value為所述資源對象。

在本實施例中,所述搜索服務器為Solr搜索服務器;

所述存儲服務器為Redis存儲服務器;

所述檢索條件發(fā)送單元,具體用于將所述檢索請求中的檢索條件轉換成符合所述Solr搜索服務器檢索要求的檢索式;通過超文本傳輸協(xié)議HTTP請求將轉換后的所述檢索式發(fā)送給所述Solr搜索服務器。

在本實施例中,檢索資源對象的裝置20還包括:

空值提示單元,用于當所述檢索結果為空值時,直接向所述客戶端返回沒有滿足檢索條件的資源對象的提示信息。

需要說明的是,本發(fā)明一個實施例中檢索資源對象的裝置是一個監(jiān)控系統(tǒng),而該檢索資源對象的裝置的工作過程示意如下:

圖3是本發(fā)明一個實施例的檢索資源對象的流程圖;參見圖3,

流程開始:

1)、發(fā)起資源對象檢索請求

客戶端想了解某臺設備或主機的資源對象信息,可在客戶端頁面輸入IP地址或其他檢索條件,向檢索資源對象的裝置(即監(jiān)控系統(tǒng))發(fā)送檢索設備資源對象的請求(請求中包含檢索條件);

2)、獲取資源對象檢索請求

檢索資源對象的裝置接收到客戶端發(fā)來的資源對象檢索請求后,會將接收到的檢索信息轉換成Solr檢索形式:檢索條件1:*值*AND檢索條件2:*值*……例如:IP地址:*192.168.AND系統(tǒng)名稱:*Linux;這里客戶端輸入了兩個檢索條件,并且兩個檢索條件之間是邏輯和的關系,查找出既滿足IP地址又滿足系統(tǒng)名稱這一檢索條件的資源對象,其中Solr檢索式中的符號* 表示模糊匹配。

3)、向Solr服務發(fā)送檢索請求

檢索資源對象的裝置通過超文本傳輸協(xié)議HTTP請求將轉換后的Solr檢索式發(fā)送到Solr搜索服務器;

4)、Solr搜索服務器獲取檢索請求

Solr搜索服務器接收到檢索資源對象的裝置發(fā)送的HTTP請求之前,先在檢索資源對象的裝置與Solr搜索服務器之間建立通信連接,并在連接建立后,再接收檢索資源對象的裝置發(fā)送的HTTP檢索請求;

5)、獲取資源對象ID

Solr搜索服務器接收到包含檢索條件的HTTP檢索請求后,會根據(jù)檢索條件以及資源對象ID索引設置好的stored、indexed屬性信息去索引庫中查找匹配的資源對象ID,這樣可快速檢索出資源對象ID,然后Solr搜索服務器會將檢索結果返回給檢索資源對象的裝置;

6)、向Redis存儲服務器發(fā)送請求

檢索資源對象的裝置接收到Solr服務器返回的資源對象ID后進行判斷,如果資源對象ID為空,表示沒有檢索到相關的資源對象,會直接返回給客戶端沒有記錄的提示信息,這樣就節(jié)省了再去Redis存儲服務器中查找資源對象的時間;如果資源對象ID不為空,則會繼續(xù)向Redis存儲服務器發(fā)送請求,將資源對象ID信息發(fā)送給Redis存儲服務器;

7)、Redis存儲服務器獲取發(fā)送請求

Redis存儲服務器接收到檢索資源對象的裝置發(fā)送的請求之前,先在檢索資源對象的裝置與Redis服務器之間建立通信連接,再接收檢索資源對象的裝置發(fā)送的資源對象ID;

8)、Redis服務器獲取資源對象

Redis存儲服務器接收到資源對象ID后,根據(jù)資源對象ID所對應的key快速定位到value資源對象,然后將資源對象信息直接返回給檢索資源對象的裝置;

9)、檢索資源對象的裝置獲取資源對象

檢索資源對象的裝置從Redis存儲服務器獲取到資源對象,將檢索結果 返回給客戶端。

流程結束。

需要說明的是,檢索資源對象的裝置20與Solr搜索服務器之間的通信連接、檢索資源對象的裝置20與Redis存儲服務器之間的通信連接,在完成相應的請求發(fā)送后可以根據(jù)實際使用場景關閉,并在每次通信前建立連接?;蛘?,根據(jù)使用需要,當檢索資源對象的裝置20和Solr搜索服務器/Redis存儲服務器需要頻繁通信時,可以在一次通信連接建立后保持一段時間以方便通信。

另外,本實施例中的檢索資源對象的裝置20是和前述的檢索資源對象的方法的操作步驟相對應的,因此,檢索資源對象的裝置20的更詳細的工作過程可以前面的檢索資源對象的方法部分的相應描述,在此不再贅述。

圖4是本發(fā)明一個實施例的檢索資源對象的系統(tǒng)的示意圖;參見圖4,該檢索資源對象的系統(tǒng)40包括:前述檢索資源對象的裝置20,以及搜索服務器401,存儲服務器402;

檢索資源對象的裝置20,適于接收客戶端發(fā)送的檢索請求,所述資源對象檢索請求中攜帶有資源對象的檢索條件,將所述檢索條件發(fā)送給所述搜索服務器401;

搜索服務器401,適于接收所述檢索條件,并根據(jù)所述檢索條件返回相應的檢索結果;

檢索資源對象的裝置20,還適于接收所述搜索服務器401返回的檢索結果,判斷所述檢索結果是空值還是滿足所述檢索條件的資源對象唯一標識ID,當所述檢索結果為滿足所述檢索條件的資源對象唯一標識ID時,將所述資源對象唯一標識ID發(fā)送給所述存儲服務器402;

存儲服務器402,適于接收檢索資源對象的裝置20發(fā)送的所述資源對象唯一標識ID,根據(jù)所述資源對象唯一標識ID找到與所述資源對象唯一標識ID對應的資源對象,將所述資源對象發(fā)送給所述檢索資源對象的裝置20;

檢索資源對象的裝置20,還適于接收所述存儲服務器402發(fā)送的資源對象,將所述資源對象返回給所述客戶端。

在本實施例中,搜索服務器401為Solr搜索服務器;

存儲服務器402為Redis存儲服務器;

檢索資源對象的裝置20,還適于抓取設備的資源數(shù)據(jù),為所述資源數(shù)據(jù)創(chuàng)建資源對象,并為每個資源對象分配唯一標識ID,將所述資源對象發(fā)送給所述Solr搜索服務器401;

Solr搜索服務器401,還適于從所述資源對象中選取預定數(shù)量的字段,配置所述預定數(shù)量的字段的檢索屬性并創(chuàng)建資源對象唯一標識ID與所述預定數(shù)量的字段的檢索屬性間的索引;

Redis存儲服務器402,還適于建立所述資源對象唯一標識ID與所述資源對象之間的一一映射關系,并以Key-value鍵值對的格式存儲,其中鍵key為所述資源對象唯一標識ID,值value為所述資源對象。

具體的,檢索資源對象的裝置20接收用戶在客戶端輸入并由客戶端發(fā)送的檢索條件(檢索條件包含在客戶端向檢索資源對象的裝置20發(fā)送的檢索資源對象請求中);

檢索資源對象的裝置20將檢索條件發(fā)送給Solr搜索服務器401,Solr搜索服務器401根據(jù)配置的資源對象ID的索引查找相應的資源對象ID,并返回檢索結果給檢索資源對象的裝置20;

檢索資源對象的裝置20判斷接收到的檢索結果,并在檢索結果為滿足檢索條件的資源對象ID時,將資源對象ID發(fā)送給Redis存儲服務器402,Redis存儲服務器402根據(jù)資源對象ID查找對應的資源對象,并將資源對象返回給檢索資源對象的裝置20;

檢索資源對象的裝置20收到Redis存儲服務器402返回的資源對象后將檢索結果發(fā)送給客戶端,由客戶端將檢索結果展示給用戶;當檢索資源對象的裝置20收到多個資源對象時,可以列表的形式記錄多個資源對象。

綜上所述,本發(fā)明實施例的技術方案將資源對象ID作為資源對象唯一標識,通過搜索服務器建立資源對象ID與檢索條件的索引,并將資源對象存儲到存儲服務器中,實現(xiàn)索引與資源對象的拆分;在檢索時首先通過檢索條件快速檢索到資源對象ID,然后通過資源對象ID實現(xiàn)資源對象的快速定位,以減少資源對象的檢索時間。本發(fā)明的技術方案在數(shù)據(jù)量不斷增大的情 況下,只需利用搜索服務器根據(jù)檢索條件檢索資源對象ID,只需利用存儲服務器根據(jù)資源對象ID檢索資源對象,分工合作,兩個主體各自承擔的查找任務較少,從而能夠快速查找到符合要求的資源對象返回客戶端,提高檢索性能,避免了直接通過SQL語句在龐大的關系數(shù)據(jù)庫中查找資源對象時效率低的缺陷,同時也避免了將大量的資源對象數(shù)據(jù)放在內存中,加劇了監(jiān)控系統(tǒng)資源緊張、影響檢索性能的問題,提高了用戶使用體驗。

以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1