欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種構(gòu)建網(wǎng)元樹組件的方法以及裝置與流程

文檔序號:12667604閱讀:186來源:國知局
一種構(gòu)建網(wǎng)元樹組件的方法以及裝置與流程

本發(fā)明涉及通信網(wǎng)絡(luò)優(yōu)化領(lǐng)域,具體地,涉及一種構(gòu)建網(wǎng)元樹組件的方法以及裝置。



背景技術(shù):

隨著通信網(wǎng)絡(luò)的飛速發(fā)展,網(wǎng)絡(luò)結(jié)構(gòu)越來越復(fù)雜,網(wǎng)元作為通信網(wǎng)絡(luò)優(yōu)化的主要分析對象,其類別及數(shù)量也越來越多。以往的網(wǎng)元樹初始化維度單一,在網(wǎng)元數(shù)量較多的情況下,經(jīng)常出現(xiàn)初始化緩慢,甚至界面假死的情況;用戶在不展開節(jié)點的情況下,有時得不到正確的網(wǎng)元分析對象;用戶在查找網(wǎng)元時,不能快速返回查找結(jié)果等問題。正因為這些問題嚴(yán)重影響用戶體驗,因此,構(gòu)建一個高效、靈活及穩(wěn)定的網(wǎng)元樹組件,對用戶進(jìn)行網(wǎng)絡(luò)優(yōu)化分析時非常重要。



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

本發(fā)明的目的是提供一種構(gòu)建網(wǎng)元樹組件的方法以及裝置。其中,所述方法所要解決的技術(shù)問題是:如何實現(xiàn)網(wǎng)元數(shù)據(jù)的高效初始化,并快速返回用戶查找的網(wǎng)元結(jié)果。

為了實現(xiàn)上述目的,本發(fā)明提供一種構(gòu)建網(wǎng)元樹組件的方法。所述方法包括:

使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;

通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;

利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

可選地,所述使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系,包括:

使用所述Redis中的Hash數(shù)據(jù)結(jié)構(gòu)緩存配置信息和網(wǎng)元信息;

使用所述Redis中的List數(shù)據(jù)結(jié)構(gòu)緩存配置信息之間、配置信息與網(wǎng)元之間、網(wǎng)元與網(wǎng)元之間的所屬關(guān)系。

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

使用Spring Data Redis框架提供的定時任務(wù)在預(yù)設(shè)時間清除所述Redis中的Hash數(shù)據(jù)結(jié)構(gòu)和List數(shù)據(jù)結(jié)構(gòu)緩存的數(shù)據(jù),并在所述Hash數(shù)據(jù)結(jié)構(gòu)和List數(shù)據(jù)結(jié)構(gòu)中重新緩存新的數(shù)據(jù)。

可選地,所述通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點,包括:

使用zTree插件向Java提供的后端服務(wù)發(fā)送獲取網(wǎng)元樹的第一層級節(jié)點的請求,所述請求包括網(wǎng)元樹級別,省份、地市、廠家和初始化方式;

所述后端服務(wù)根據(jù)所述請求中的網(wǎng)元樹級別查找到對應(yīng)的服務(wù)類,再根據(jù)所述服務(wù)類從所述Redis中取出第一層級節(jié)點的數(shù)據(jù),再根據(jù)所述請求對所述數(shù)據(jù)進(jìn)行過濾,標(biāo)記層級節(jié)點的類型;

所述后端服務(wù)根據(jù)所述請求中傳入的初始化方式標(biāo)記下一層級節(jié)點的類型,并將過濾后的數(shù)據(jù)組裝成zTree插件要求的Json格式進(jìn)行返回。

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

在用戶展開非葉子節(jié)點時,若所述非葉子節(jié)點下的節(jié)點未初始化,使用zTree插件向Java提供的后端服務(wù)發(fā)送第一請求,所述第一請求包括網(wǎng)元樹級別、初始化方式、點擊節(jié)點的編號、下一層級類型標(biāo)識和網(wǎng)元過濾參數(shù);

所述后端服務(wù)根據(jù)所述網(wǎng)元樹級別查找到對應(yīng)的服務(wù)類,并根據(jù)層級類型標(biāo)識從所述Redis中取出該層級的節(jié)點數(shù)據(jù),再根據(jù)所述網(wǎng)元過濾參數(shù)進(jìn)行過濾,得到過濾后的數(shù)據(jù);

所述后端服務(wù)根據(jù)所述第一請求中的初始化方式標(biāo)記下一層級節(jié)點的類型,并將過濾后的數(shù)據(jù)組裝成zTree插件要求的Json格式進(jìn)行返回。

可選地,所述利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,包括:

在接收到所述搜索請求后,所述后端服務(wù)調(diào)用所述Solr的API接口傳入所述搜索請求中的查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式,并根據(jù)所述查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式搜索到網(wǎng)元編號和網(wǎng)元名稱;

根據(jù)所述網(wǎng)元編號和所述網(wǎng)元名稱在所述Redis中取出相應(yīng)的網(wǎng)元歸屬信息,并將所述網(wǎng)元歸屬信息進(jìn)行返回呈現(xiàn)。

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

在返回網(wǎng)元樹選中節(jié)點時,將網(wǎng)元樹中每個層級設(shè)計為一個集合對象,遍歷每一個選中節(jié)點,并將該節(jié)點編號加入到對應(yīng)層級集合的對象中;

將各層級集合對象、網(wǎng)元樹初始化級別和初始化過濾參數(shù)以JSON數(shù)據(jù)格式返回。

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

所述后端服務(wù)根據(jù)返回的JSON格式對象中的網(wǎng)元級別確定最終要返回的網(wǎng)元類型;

所述后端服務(wù)根據(jù)各層級集合中的數(shù)據(jù)和最終返回網(wǎng)元類型的所屬關(guān)系取出網(wǎng)元,并根據(jù)過濾條件過濾,最終得到具體的分析網(wǎng)元對象。

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

網(wǎng)元樹組件支持平鋪及下拉式選擇網(wǎng)元,下拉式網(wǎng)元樹組件采用擴(kuò)展Easy UI的combo組件實現(xiàn)。

相應(yīng)地,本發(fā)明還提供一種構(gòu)建網(wǎng)元樹組件的裝置。所述裝置包括:

緩存單元,用于使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;

異步初始化單元,用于通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;

搜索單元,用于利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

由上述技術(shù)方案可知,使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;并通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;再利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式,不僅能夠?qū)崿F(xiàn)網(wǎng)元數(shù)據(jù)的高效初始化,而且還能夠快速返回用戶查找的網(wǎng)元結(jié)果。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些圖獲得其他的附圖。

圖1是本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的方法的流程圖;

圖2是本發(fā)明一實施例提供的按網(wǎng)元類型初始化小區(qū)級網(wǎng)元樹的示意圖;

圖3是本發(fā)明一實施例提供的按行政區(qū)初始化小區(qū)級網(wǎng)元樹的示意圖;

圖4是本發(fā)明一實施例提供的按支局初始化小區(qū)級網(wǎng)元樹的示意圖;

圖5是本發(fā)明一實施例提供的按場景初始化小區(qū)級網(wǎng)元樹的示意圖;

圖6是本發(fā)明一實施例提供的按室內(nèi)室外初始化小區(qū)級網(wǎng)元樹的示意圖;

圖7是本發(fā)明一實施例提供的按環(huán)境類型初始化小區(qū)級網(wǎng)元樹的示意圖;

圖8是本發(fā)明一實施例提供的按網(wǎng)元分組初始化小區(qū)級網(wǎng)元樹的示意圖;

圖9是本發(fā)明一實施例提供的按支局初始化方式搜索小區(qū)的示意圖;

圖10是本發(fā)明一實施例提供的按場景初始化方式搜索小區(qū)的示意圖;

圖11是本發(fā)明一實施例提供的網(wǎng)元選擇的示意圖;

圖12是本發(fā)明一實施例提供的平鋪式網(wǎng)元樹組件的示意圖;

圖13是本發(fā)明一實施例提供的下拉式網(wǎng)元樹組件的示意圖;

圖14是本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的裝置的結(jié)構(gòu)示意圖;

圖15是本發(fā)明又一實施例提供的構(gòu)建網(wǎng)元樹組件的裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

圖1是本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的方法的流程圖。如圖1所示,本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的方法包括:

在步驟S101中,使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系。

具體地,該步驟包括:使用所述Redis中的Hash數(shù)據(jù)結(jié)構(gòu)緩存配置信息和網(wǎng)元信息;使用所述Redis中的List數(shù)據(jù)結(jié)構(gòu)緩存配置信息之間、配置信息與網(wǎng)元之間、網(wǎng)元與網(wǎng)元之間的所屬關(guān)系。

在具體的實施方式中,Redis是一個開源的、支持多種數(shù)據(jù)結(jié)構(gòu)的、基于key-value存儲的高性能內(nèi)存數(shù)據(jù)庫。為了實現(xiàn)高效初始化及加載網(wǎng)元,采用提前緩存省份、地市、行政區(qū)、廠家等配置信息與網(wǎng)元數(shù)據(jù)及網(wǎng)元間的從屬關(guān)系。使用Redis中Hash數(shù)據(jù)結(jié)構(gòu)緩存配置信息及網(wǎng)元信息,將對象類型及其編號作為key,對象信息作為value,如緩存一條省份配置記錄,key為”provice:101”,其中101為省份編號,value為一個Map對象,分別記錄省份的編號、名稱等關(guān)鍵信息,然后使用redisTemplate.opsForHash().putAll(key,value)方法將該記錄進(jìn)行緩存,該方法為Spring Data Redis框架提供。

使用Redis中的List數(shù)據(jù)結(jié)構(gòu)緩存配置信息之間、配置信息與網(wǎng)元、網(wǎng)元與網(wǎng)元之間的所屬關(guān)系,此時將對象關(guān)系標(biāo)識與從屬對象的父級對象編號作為key,從屬對象的編號作為value,如緩存一個eNodeb下有哪些小區(qū),key為”eNodeb-cell:101.25369”(其中101.25369為eNodeb編號),遍歷所有小區(qū)信息,如果所屬eNodeb為101.25369,則將value設(shè)為該小區(qū)的編號,并使用redisTemplate.opsForList().rightPush(key,value)將小區(qū)編號加入集合中后續(xù)通過redisTemplate.opsForList().range("eNodeb-cell:101.25369",0,-1)即可得到編號為101.25369的eNodeb下有哪些小區(qū)。

為了能較快體現(xiàn)網(wǎng)元變化信息,又不影響用戶日常使用,使用Spring框架提供的定時任務(wù)每天凌晨清除已有緩存并重新緩存。優(yōu)選地,所述方法還包括:使用Spring Data Redis框架提供的定時任務(wù)在預(yù)設(shè)時間清除所述Redis中的Hash數(shù)據(jù)結(jié)構(gòu)和List數(shù)據(jù)結(jié)構(gòu)緩存的數(shù)據(jù),并在所述Hash數(shù)據(jù)結(jié)構(gòu)和List數(shù)據(jù)結(jié)構(gòu)中重新緩存新的數(shù)據(jù)。

接著,在步驟S102中,通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點。

具體地,該步驟包括:使用zTree插件向Java提供的后端服務(wù)發(fā)送獲取網(wǎng)元樹的第一層級節(jié)點的請求,所述請求包括網(wǎng)元樹級別,省份、地市、廠家和初始化方式;所述后端服務(wù)根據(jù)所述請求中的網(wǎng)元樹級別查找到對應(yīng)的服務(wù)類,再根據(jù)所述服務(wù)類從所述Redis中取出第一層級節(jié)點的數(shù)據(jù),再根據(jù)所述請求對所述數(shù)據(jù)進(jìn)行過濾,標(biāo)記層級節(jié)點的類型;所述后端服務(wù)根據(jù)所述請求中傳入的初始化方式標(biāo)記下一層級節(jié)點的類型,并將過濾后的數(shù)據(jù)組裝成zTree插件要求的Json格式進(jìn)行返回。

其中,zTree插件是一個基于jQuery實現(xiàn)的多功能“樹插件”。其性能優(yōu)異,配置靈活,提供多種事件響應(yīng)回調(diào),支持Ajax異步加載節(jié)點數(shù)據(jù)。在具體的實施方式中,該網(wǎng)元樹組件支持多種初始化方式,如圖2-圖8所示。其中,圖2是按網(wǎng)元類型初始化小區(qū)級網(wǎng)元樹,圖3是按行政區(qū)初始化小區(qū)級網(wǎng)元樹,圖4是按支局初始化小區(qū)級網(wǎng)元樹,圖5是按場景初始化小區(qū)級網(wǎng)元樹,圖6是按室內(nèi)室外初始化小區(qū)級網(wǎng)元樹,圖7是按環(huán)境類型初始化小區(qū)級網(wǎng)元樹,圖8是按網(wǎng)元分組初始化小區(qū)級網(wǎng)元樹。初始化時,zTree首先請求Java后端服務(wù)獲取網(wǎng)元樹的第一層級節(jié)點,并傳入網(wǎng)元樹級別、省份、地市、廠家、初始化方式等參數(shù),當(dāng)服務(wù)端接收到請求后,通過網(wǎng)元樹級別參數(shù)找到對應(yīng)的服務(wù)類,再從Redis緩存中取出第一層級節(jié)點數(shù)據(jù)(通常為省份或地市)并根據(jù)傳入?yún)?shù)進(jìn)行過濾,標(biāo)記節(jié)點層級類型(省份或地市),同時根據(jù)傳入初始化方式標(biāo)記下一層級節(jié)點類型,并將數(shù)據(jù)組裝成zTree要求的JSON格式數(shù)據(jù)進(jìn)行返回。

優(yōu)選地,所述方法還包括:在用戶展開非葉子節(jié)點時,若所述非葉子節(jié)點下的節(jié)點未初始化,使用zTree插件向Java提供的后端服務(wù)發(fā)送第一請求,所述第一請求包括網(wǎng)元樹級別、初始化方式、點擊節(jié)點的編號、下一層級類型標(biāo)識和網(wǎng)元過濾參數(shù);所述后端服務(wù)根據(jù)所述網(wǎng)元樹級別查找到對應(yīng)的服務(wù)類,并根據(jù)層級類型標(biāo)識從所述Redis中取出該層級的節(jié)點數(shù)據(jù),再根據(jù)所述網(wǎng)元過濾參數(shù)進(jìn)行過濾,得到過濾后的數(shù)據(jù);所述后端服務(wù)根據(jù)所述第一請求中的初始化方式標(biāo)記下一層級節(jié)點的類型,并將過濾后的數(shù)據(jù)組裝成zTree插件要求的Json格式進(jìn)行返回。

在具體的實施方式中,用戶展開非葉子節(jié)點時,若其下節(jié)點未初始化,zTree發(fā)送請求并傳遞網(wǎng)元樹級別、初始化方式、點擊節(jié)點的編號、下一層級類型標(biāo)識及網(wǎng)元過濾參數(shù),后端根據(jù)傳入的網(wǎng)元樹級別找到對應(yīng)服務(wù)類,根據(jù)層級類型標(biāo)識從Redis緩存中取出該層級的節(jié)點數(shù)據(jù)并根據(jù)過濾條件過濾,同時根據(jù)傳入初始化方式標(biāo)記下一層級節(jié)點類型,并將獲取到的數(shù)據(jù)組裝成zTree要求的JSON格式數(shù)據(jù)進(jìn)行返回。每次返回的節(jié)點信息中標(biāo)記了當(dāng)前層級類型及下一層級類型,并且若該節(jié)點下無葉子節(jié)點(即以該節(jié)點編號作為key緩存的集合數(shù)據(jù)為空),則設(shè)置該節(jié)點為葉子節(jié)點,否則為非葉子節(jié)點。

最后,在步驟S103中,利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果。

其中,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。Solr是一個高性能,基于Lucene的全文搜索服務(wù)器。同時對其進(jìn)行了擴(kuò)展,提供了比Lucene更為豐富的查詢語言,實現(xiàn)了可配置、可擴(kuò)展并對查詢性能進(jìn)行了優(yōu)化,并且提供了一個完善的功能管理界面,是一款非常優(yōu)秀的全文搜索引擎。具體地,該步驟包括:在接收到所述搜索請求后,所述后端服務(wù)調(diào)用所述Solr的API接口傳入所述搜索請求中的查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式,并根據(jù)所述查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式搜索到網(wǎng)元編號和網(wǎng)元名稱;根據(jù)所述網(wǎng)元編號和所述網(wǎng)元名稱在所述Redis中取出相應(yīng)的網(wǎng)元歸屬信息,并將所述網(wǎng)元歸屬信息進(jìn)行返回呈現(xiàn)。

在具體的實施方式中,網(wǎng)元信息存儲在數(shù)據(jù)庫中,當(dāng)用戶搜索網(wǎng)元時,如果直接從數(shù)據(jù)庫中搜索,由于小粒度網(wǎng)元數(shù)據(jù)量較大,這樣效率會比較低下,可以借助Solr將要搜索的網(wǎng)元信息在搜索服務(wù)器上進(jìn)行索引,利用Solr搜索引擎快速返回查找結(jié)果。使用Solr每天定時同步數(shù)據(jù)庫中的網(wǎng)元數(shù)據(jù),當(dāng)用戶在網(wǎng)元樹上進(jìn)行搜索時,前端向后臺服務(wù)發(fā)起請求并傳入查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)及初始化方式,后臺服務(wù)調(diào)用Solr API并傳入接收到的關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)得到搜索到的網(wǎng)元編號、名稱等關(guān)鍵信息,如果配置了需要按初始化方式層級樹形展示搜索結(jié)果,此時程序遍歷搜索到的網(wǎng)元編號,從Redis緩存中根據(jù)網(wǎng)元編號取出網(wǎng)元歸屬信息,根據(jù)初始化方式,逐層自下而上構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)并返回呈現(xiàn),如圖9和圖10所示,否則直接將搜索結(jié)果封裝成JOSN格式呈現(xiàn)到網(wǎng)元組件的搜索樹上。

優(yōu)選地,所述方法還包括:在返回網(wǎng)元樹選中節(jié)點時,將網(wǎng)元樹中每個層級設(shè)計為一個集合對象,遍歷每一個選中節(jié)點,并將該節(jié)點編號加入到對應(yīng)層級集合的對象中;將各層級集合對象、網(wǎng)元樹初始化級別和初始化過濾參數(shù)以JSON數(shù)據(jù)格式返回。藉此,可避免將節(jié)點編號直接作為分析對象所導(dǎo)致的錯誤。

其中,該網(wǎng)元樹是異步樹,而且有些層級可能是非網(wǎng)元節(jié)點(如省份、地市、廠家等信息)或者用戶并未展開到初始化級別的網(wǎng)元節(jié)點(如初始化為小區(qū)級別網(wǎng)元樹,但是用戶只展開到了eNodeb層級)而選擇分析對象,因而如果直接將用戶所選的節(jié)點編號作為分析對象可能是不正確的。

該方法將網(wǎng)元樹每個層級設(shè)計為一個集合對象,遍歷每一個選中節(jié)點,若該節(jié)點為第一層級節(jié)點,則直接將其節(jié)點編號加入對應(yīng)層級集合對象中(根據(jù)節(jié)點的層級類型),若該節(jié)點其父節(jié)點為選中狀態(tài),則忽略,否則將該節(jié)點編號加入對應(yīng)層級集合對象中。然后將各層級集合對象、網(wǎng)元樹初始化級別及初始化過濾參數(shù)以JSON數(shù)據(jù)格式返回。如圖11所示,所選網(wǎng)元返回JSON格式數(shù):

{"neLevel":"L00805","selectType":"byVendor","province":[],"city":[],"district":[],"substation":[],"vendor":[{"cityId":"12101","cityName":"杭州","id":"1","name":"華為"}],"coverType":[],"coverAreaType":[],"sceneType":[],"scene":[],"neGro up":[],"enodeb":[{"id":"LTE.318896","name":"LF_H_YY余馬渚高階沿"}],"cell":[{"id":"LTE.318945.49","name":"LF_H_CX慈周巷路橋_49"}],"neFilter":{"cityList":null,"vendorList":["0"],"sysTypeList":null}}

在實際的應(yīng)用中,所述方法還包括:所述后端服務(wù)根據(jù)返回的JSON格式對象中的網(wǎng)元級別確定最終要返回的網(wǎng)元類型;所述后端服務(wù)根據(jù)各層級集合中的數(shù)據(jù)和最終返回網(wǎng)元類型的所屬關(guān)系取出網(wǎng)元,并根據(jù)過濾條件過濾,最終得到具體的分析網(wǎng)元對象。

具體地,根據(jù)上述得到JSON格式的分析對象,后臺提供了一個通用的服務(wù)根據(jù)傳入的JSON格式對象,從Redis中取出具體的網(wǎng)元對象進(jìn)行返回。首先根據(jù)JSON格式數(shù)據(jù)中的網(wǎng)元級別確定最終要返回的網(wǎng)元類型,然后根據(jù)各層級集合中的數(shù)據(jù)及與最終返回網(wǎng)元類型的所屬關(guān)系取出網(wǎng)元,并根據(jù)過濾條件過濾,最終得到具體的分析網(wǎng)元對象。

優(yōu)選地,所述方法還包括:網(wǎng)元樹組件支持平鋪及下拉式選擇網(wǎng)元,下拉式網(wǎng)元樹組件采用擴(kuò)展Easy UI的combo組件實現(xiàn)。藉此,可支持平鋪及下拉式選擇網(wǎng)元。

在具體的實施方式中,該網(wǎng)元樹組件支持平鋪及下拉式選擇網(wǎng)元,如圖12和圖13所示,下拉式網(wǎng)元樹組件采用擴(kuò)展EasyUI的combo組件實現(xiàn),該組件在頁面上顯示一個可編輯的文本框和下拉面板。通過擴(kuò)展,將平鋪的網(wǎng)元樹置于下拉面板中,同時添加確定、取消按鈕,當(dāng)點擊確定按鈕時,隱藏下拉面板,并將網(wǎng)元樹選擇的網(wǎng)元JOSN格式數(shù)據(jù)設(shè)為下拉框的選中值,對象名稱以逗號分隔顯示在文本框中。

本實施例通過使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;并通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;再利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式,不僅能夠?qū)崿F(xiàn)網(wǎng)元數(shù)據(jù)的高效初始化,而且還能夠快速返回用戶查找的網(wǎng)元結(jié)果。

進(jìn)一步地,本發(fā)明實施例提供的方法是以通信網(wǎng)元數(shù)據(jù)為基礎(chǔ),支持通過傳入省份、地市、廠家、網(wǎng)絡(luò)類型、網(wǎng)元級別等參數(shù)初始化各級別的網(wǎng)元樹,針對小粒度的網(wǎng)元(如小區(qū))提供多種初始化方式(如按行政區(qū)、按支局、按室內(nèi)室外、按場景類型、按環(huán)境類型等),同時支持用戶根據(jù)網(wǎng)元名稱、網(wǎng)元編號等關(guān)鍵信息查找網(wǎng)元,并以JSON格式返回所選網(wǎng)元,支持平鋪及下拉式選擇網(wǎng)元。采用本發(fā)明實施例提供的方法,可以支持百萬數(shù)量級網(wǎng)元數(shù)據(jù)高效初始化,用戶可以多種維度選擇網(wǎng)元,可以在不展開網(wǎng)元樹節(jié)點的情況下任意層級選擇并得到分析網(wǎng)元對象,能夠快速返回用戶查找網(wǎng)元結(jié)果并支持按初始化方式層級樹形展示搜索結(jié)果,同時維護(hù)方便,可擴(kuò)展性強。

本發(fā)明實施例的核心點是以通信網(wǎng)元數(shù)據(jù)為基礎(chǔ),使用Java、Redis、Solr、EasyUI、zTree等技術(shù)或插件構(gòu)建網(wǎng)元樹組件。其中Java提供后端服務(wù),每一種網(wǎng)元級別對應(yīng)一個服務(wù)類;Redis用于緩存省份、地市、行政區(qū)、廠家等配置信息,網(wǎng)元數(shù)據(jù)及網(wǎng)元間的從屬關(guān)系;Solr提供網(wǎng)元搜索服務(wù);EasyUI及zTree用于前端構(gòu)建網(wǎng)元樹組件。

對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實施例并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施例,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作并不一定是本發(fā)明實施例所必須的。

圖14是本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的裝置的結(jié)構(gòu)示意圖。如圖14所示,本發(fā)明一實施例提供的構(gòu)建網(wǎng)元樹組件的裝置包括緩存單元201、異步初始化單元202和搜索單元203,其中:

緩存單元201,用于使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;

異步初始化單元202,用于通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;

搜索單元203,用于利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

本實施例提供的構(gòu)建網(wǎng)元樹組件的裝置適用于以上實施例對應(yīng)的構(gòu)建網(wǎng)元樹組件的方法,在此不再贅述。

本實施例提供的構(gòu)建網(wǎng)元樹組件的裝置,緩存單元201使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;異步初始化單元202通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;搜索單元203利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式,不僅能夠?qū)崿F(xiàn)網(wǎng)元數(shù)據(jù)的高效初始化,而且還能夠快速返回用戶查找的網(wǎng)元結(jié)果。

圖15是本發(fā)明又一實施例提供的構(gòu)建網(wǎng)元樹組件的裝置的結(jié)構(gòu)示意圖。如圖15所示,所述構(gòu)建網(wǎng)元樹組件的裝置包括:處理器(processor)301、存儲器(memory)302和通信總線303;

其中,所述處理器301和存儲器302通過所述通信總線303完成相互間的通信;

所述處理器301用于調(diào)用所述存儲器302中的程序指令,以執(zhí)行上述各方法實施例所提供的方法,例如包括:使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

本實施例公開一種計算機(jī)程序產(chǎn)品,所述計算機(jī)程序產(chǎn)品包括存儲在非暫態(tài)計算機(jī)可讀存儲介質(zhì)上的計算機(jī)程序,所述計算機(jī)程序包括程序指令,當(dāng)所述程序指令被計算機(jī)執(zhí)行時,計算機(jī)能夠執(zhí)行上述各方法實施例所提供的方法,例如包括:使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

本實施例提供一種非暫態(tài)計算機(jī)可讀存儲介質(zhì),所述非暫態(tài)計算機(jī)可讀存儲介質(zhì)存儲計算機(jī)指令,所述計算機(jī)指令使所述計算機(jī)執(zhí)行上述各方法實施例所提供的方法,例如包括:使用數(shù)據(jù)庫Redis緩存配置信息、網(wǎng)元數(shù)據(jù)以及網(wǎng)元之間的從屬關(guān)系;通過使用zTree插件請求Java提供的后端服務(wù)進(jìn)行異步初始化網(wǎng)元樹,并標(biāo)記網(wǎng)元樹每一層級的類型,及根據(jù)網(wǎng)元樹的下一層級的類型進(jìn)行異步加載子節(jié)點;利用搜索引擎Solr向Java提供的后端服務(wù)發(fā)起搜索請求,以使得所述后端服務(wù)返回搜索結(jié)果,所述搜索請求包括查找關(guān)鍵字、網(wǎng)元樹級別、過濾參數(shù)和初始化方式。

本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所描述的構(gòu)建網(wǎng)元樹組件的裝置等實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。

最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的實施例的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明的實施例進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明的實施例各實施例技術(shù)方案的范圍。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
益阳市| 嫩江县| 休宁县| 来凤县| 周至县| 永登县| 方城县| 新和县| 牙克石市| 潼关县| 社会| 应用必备| 成都市| 大英县| 郓城县| 新乡市| 马鞍山市| 武乡县| 雷波县| 漾濞| 垣曲县| 樟树市| 镇康县| 登封市| 益阳市| 青阳县| 洪湖市| 长垣县| 建昌县| 北京市| 灌南县| 麦盖提县| 山阳县| 石首市| 新和县| 隆子县| 门源| 九龙县| 琼结县| 赤壁市| 原阳县|