本發(fā)明涉及數(shù)據(jù)查詢,尤其是涉及一種企業(yè)數(shù)據(jù)組合查詢系統(tǒng)和方法。
背景技術(shù):
1、建筑企業(yè)在招標(biāo)過(guò)程會(huì)依據(jù)招標(biāo)文件中限定條件來(lái)核查自身或結(jié)合公司資源尋求該項(xiàng)目的潛在競(jìng)爭(zhēng)對(duì)手或合作伙伴,其中招標(biāo)文件常見限制條件可歸納為:
2、1、基本信息:企業(yè)注冊(cè)地、備案地、企業(yè)注冊(cè)金、企業(yè)性質(zhì)、企業(yè)成立時(shí)間等。
3、2、企業(yè)資質(zhì):資質(zhì)分類、資質(zhì)是否過(guò)期。
4、3、企業(yè)歷史業(yè)績(jī):項(xiàng)目金額、項(xiàng)目時(shí)間、項(xiàng)目類型、項(xiàng)目地區(qū)、項(xiàng)目發(fā)布平臺(tái)、項(xiàng)目規(guī)模、項(xiàng)目關(guān)鍵詞、參與項(xiàng)目次數(shù)。
5、4、企業(yè)榮譽(yù):榮譽(yù)發(fā)生地、榮譽(yù)分類、榮譽(yù)等級(jí)、榮譽(yù)獎(jiǎng)項(xiàng)、榮譽(yù)名稱、榮譽(yù)關(guān)鍵詞、獲得時(shí)間,獲得次數(shù)等。
6、5、企業(yè)信用:信用發(fā)布平臺(tái)、發(fā)布時(shí)間、信用分類、信用得分、信用排名、信用等級(jí)等。
7、6、企業(yè)人員:人員證書類別及等級(jí)、同一人擁有多證類別及等級(jí)、擁有限定條件一證或多證的人數(shù)等。
8、7、人員證書+業(yè)績(jī)+榮譽(yù):人員擁有一本或多本證書、同時(shí)參與過(guò)一次或多次限定條件項(xiàng)目、同時(shí)獲得一次或多次限定條件榮譽(yù)等任意組合查詢下。
9、以上查詢條件,單維度添加可添加多組,多組條件的關(guān)系為“同時(shí)滿足”與“滿足任意”,如:設(shè)置榮譽(yù)條件,企業(yè)近一年內(nèi)獲得過(guò)指定獎(jiǎng)項(xiàng)或近三年內(nèi)獲得獎(jiǎng)項(xiàng)2次,該條件企業(yè)只要符合任意一項(xiàng)即可。而不同維度查詢條件只能為同時(shí)滿足,如:設(shè)置榮譽(yù)條件企業(yè)近一年內(nèi)獲得過(guò)指定獎(jiǎng)項(xiàng)與設(shè)置業(yè)績(jī)條件企業(yè)近三年內(nèi)參與過(guò)1億以上的市政項(xiàng)目,該組條件表示企業(yè)要同時(shí)滿足榮譽(yù)條件與業(yè)績(jī)條件。
10、基于企業(yè)招投標(biāo)業(yè)務(wù)場(chǎng)景,公司需要利用先進(jìn)的技術(shù)手段對(duì)全量數(shù)據(jù)進(jìn)行基本查詢、實(shí)時(shí)統(tǒng)計(jì)、邏輯計(jì)算等處理,以此為客戶提供查詢效率快、數(shù)據(jù)覆蓋全、精準(zhǔn)度高的多維數(shù)據(jù)組合查詢并及時(shí)響應(yīng)符合條件的企業(yè)及其明細(xì)數(shù)據(jù),供用戶決策使用。
11、目前,公司主要依賴elasticsearch(一種分布式搜索引擎)來(lái)實(shí)現(xiàn)這一場(chǎng)景,雖然elasticsearch在數(shù)據(jù)查詢方面表現(xiàn)優(yōu)秀,但在招標(biāo)文件使用場(chǎng)景下,elasticsearch需要對(duì)千萬(wàn)級(jí)數(shù)據(jù)進(jìn)行實(shí)時(shí)統(tǒng)計(jì)且對(duì)最高百萬(wàn)級(jí)企業(yè)進(jìn)行全量返回、此過(guò)程消耗了的大量的服務(wù)器資源,同時(shí)嚴(yán)重影響用戶體驗(yàn)。以企業(yè)人員證書+業(yè)績(jī)+榮譽(yù)限制條件為例,招標(biāo)文件要求項(xiàng)目經(jīng)理?yè)碛幸患?jí)注冊(cè)建造師-建筑工程專業(yè)證書和高級(jí)工程師職稱,且近3年內(nèi)做個(gè)房建項(xiàng)目2個(gè)及以上或3000萬(wàn)市政項(xiàng)目1個(gè),在該場(chǎng)景我們使用高效的搜索引擎elasticsearch提供數(shù)據(jù)查詢服務(wù),高峰時(shí)響應(yīng)5000家符合經(jīng)理證書+業(yè)績(jī)+榮譽(yù)條件的企業(yè),響應(yīng)時(shí)長(zhǎng)最高達(dá)35s,而在其他單維度數(shù)據(jù)查詢中,平均響應(yīng)數(shù)據(jù)量達(dá)50w時(shí)、其響應(yīng)時(shí)間約12s左右,長(zhǎng)時(shí)間的http(hypertext?transfer?protocol,超文本傳輸協(xié)議)鏈接,造成服務(wù)器資源、網(wǎng)絡(luò)資源等均受到不同程度的影響,用戶體驗(yàn)嚴(yán)重受影響。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本發(fā)明的目的在于提供一種企業(yè)數(shù)據(jù)組合查詢系統(tǒng)和方法,以對(duì)用戶提交的請(qǐng)求參數(shù)進(jìn)行智能化分類,通過(guò)預(yù)設(shè)的多種查詢性能優(yōu)越的鏈路模型,針對(duì)各類參數(shù)分類,能夠精準(zhǔn)調(diào)用相應(yīng)的數(shù)據(jù)鏈路進(jìn)行處理。不僅能夠有效地減少資源消耗,還顯著提升了查詢效率,從而帶給用戶更為流暢、高效的體驗(yàn)。
2、第一方面,本發(fā)明實(shí)施例提供了一種企業(yè)數(shù)據(jù)組合查詢系統(tǒng),企業(yè)數(shù)據(jù)組合查詢系統(tǒng)包括:用戶層、聚合接口層、底層接口層和數(shù)據(jù)存儲(chǔ)層;用戶層包括不同平臺(tái)的應(yīng)用程序,應(yīng)用程序用于在對(duì)應(yīng)的平臺(tái)為用戶提供企業(yè)數(shù)據(jù)組合查詢服務(wù);聚合接口層用于處理用戶請(qǐng)求,返回請(qǐng)求的處理結(jié)果;聚合接口層包括多個(gè)查詢功能模塊、緩存管理器、任務(wù)管理器和邏輯計(jì)算器;緩存管理器用于將歷史處理結(jié)果存入緩存,從緩存的歷史處理結(jié)果中確定請(qǐng)求的處理結(jié)果;任務(wù)管理器用于并行處理請(qǐng)求對(duì)應(yīng)的任務(wù);邏輯計(jì)算器用于對(duì)滿足特定條件的企業(yè)集合進(jìn)行計(jì)算,得到處理結(jié)果;底層接口層用于基于任務(wù)與數(shù)據(jù)存儲(chǔ)層進(jìn)行交互得到滿足特定條件的企業(yè)集合;數(shù)據(jù)存儲(chǔ)層用于存儲(chǔ)企業(yè)以及人員信息。
3、在本技術(shù)可選的實(shí)施例中,上述多個(gè)查詢功能模塊至少包括以下之一:企業(yè)基本信息查詢模塊,企業(yè)資質(zhì)查詢模塊,企業(yè)業(yè)績(jī)查詢模塊,企業(yè)榮譽(yù)查詢模塊,企業(yè)人員證書查詢模塊、企業(yè)信用查詢模塊,人員證書、業(yè)績(jī)和榮譽(yù)復(fù)合查詢模塊。
4、在本技術(shù)可選的實(shí)施例中,上述緩存管理器包括:對(duì)用戶請(qǐng)求參數(shù)中單維度查詢緩存的組件和最終響應(yīng)結(jié)果緩存的組件;在處理單維度查詢場(chǎng)景時(shí),緩存管理器采用參數(shù)條件加密的方式生成唯一的緩存鍵;在處理包含多個(gè)維度參數(shù)的查詢請(qǐng)求時(shí),緩存管理器采用參數(shù)條件加密的方式生成綜合維度的緩存鍵。
5、在本技術(shù)可選的實(shí)施例中,上述任務(wù)管理器包括:任務(wù)并行處理單元和智能路由調(diào)度單元;任務(wù)并行處理單元用于將請(qǐng)求的查詢?nèi)蝿?wù)拆解為多個(gè)子任務(wù),并行調(diào)用底層數(shù)據(jù)接口和執(zhí)行數(shù)據(jù)計(jì)算;智能路由調(diào)度單元用于基于預(yù)定義的規(guī)則策略對(duì)不同類型的子任務(wù)進(jìn)行區(qū)分,針對(duì)區(qū)分后的子任務(wù)調(diào)用對(duì)應(yīng)的底層數(shù)據(jù)接口。
6、在本技術(shù)可選的實(shí)施例中,上述邏輯計(jì)算器包括:邏輯與運(yùn)算單元和邏輯或運(yùn)算單元;邏輯與運(yùn)算單元用于對(duì)滿足特定條件的企業(yè)集合進(jìn)行交集計(jì)算;邏輯或運(yùn)算單元用于對(duì)滿足特定條件的企業(yè)集合進(jìn)行并集計(jì)算。
7、在本技術(shù)可選的實(shí)施例中,上述在處理包含多個(gè)維度參數(shù)的查詢請(qǐng)求時(shí),邏輯計(jì)算器采用邏輯與運(yùn)算單元進(jìn)行運(yùn)算,不采用邏輯或運(yùn)算單元進(jìn)行運(yùn)算。
8、在本技術(shù)可選的實(shí)施例中,上述底層接口層包括:基礎(chǔ)信息查詢接口和統(tǒng)計(jì)類型查詢接口;基礎(chǔ)信息查詢接口用于處理計(jì)算密集度低于預(yù)設(shè)閾值的查詢?nèi)蝿?wù);統(tǒng)計(jì)類型查詢接口用于處理對(duì)全量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)計(jì)算的查詢?nèi)蝿?wù)。
9、在本技術(shù)可選的實(shí)施例中,上述統(tǒng)計(jì)類型查詢接口采用多線程任務(wù)并行處理策略與邏輯計(jì)算過(guò)濾模式相結(jié)合的方式。
10、在本技術(shù)可選的實(shí)施例中,上述數(shù)據(jù)存儲(chǔ)層至少包括以下之一:企業(yè)庫(kù)、人員證書庫(kù)、業(yè)績(jī)庫(kù)、榮譽(yù)庫(kù)、企業(yè)信用庫(kù)、資質(zhì)庫(kù)、人員復(fù)合庫(kù)。
11、第二方面,本發(fā)明實(shí)施例還提供一種企業(yè)數(shù)據(jù)組合查詢方法,應(yīng)用于上述的企業(yè)數(shù)據(jù)組合查詢系統(tǒng),方法包括:用戶層向聚合接口層發(fā)送請(qǐng)求;聚合接口層的緩存管理器確定歷史處理結(jié)果中是否存在請(qǐng)求的處理結(jié)果;如果是,聚合接口層返回請(qǐng)求的處理結(jié)果;如果否,聚合接口層的任務(wù)管理器創(chuàng)建并并發(fā)處理請(qǐng)求對(duì)應(yīng)的任務(wù);底層接口層用于基于任務(wù)與數(shù)據(jù)存儲(chǔ)層進(jìn)行交互得到滿足特定條件的企業(yè)集合;邏輯計(jì)算器對(duì)滿足特定條件的企業(yè)集合進(jìn)行計(jì)算,得到處理結(jié)果;聚合接口層返回請(qǐng)求的處理結(jié)果。
12、本發(fā)明實(shí)施例帶來(lái)了以下有益效果:
13、本發(fā)明實(shí)施例提供了一種企業(yè)數(shù)據(jù)組合查詢系統(tǒng)和方法,對(duì)用戶提交的請(qǐng)求參數(shù)進(jìn)行智能化分類,通過(guò)預(yù)設(shè)的多種查詢性能優(yōu)越的鏈路模型,針對(duì)各類參數(shù)分類,能夠精準(zhǔn)調(diào)用相應(yīng)的數(shù)據(jù)鏈路進(jìn)行處理。不僅能夠有效地減少資源消耗,還顯著提升了查詢效率,從而帶給用戶更為流暢、高效的體驗(yàn)。
14、本公開的其他特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,或者,部分特征和優(yōu)點(diǎn)可以從說(shuō)明書推知或毫無(wú)疑義地確定,或者通過(guò)實(shí)施本公開的上述技術(shù)即可得知。
15、為使本公開的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。