專利名稱:數(shù)據(jù)查詢處理裝置和數(shù)據(jù)查詢處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)查詢技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)查詢處理裝置和一種數(shù)據(jù)查詢處理方法。
背景技術(shù):
在計算機軟件領(lǐng)域,特別是企業(yè)級應(yīng)用領(lǐng)域,將數(shù)據(jù)組織成樹形是很常見的。當(dāng)這種樹形數(shù)據(jù)組織,其中的數(shù)據(jù)均為同種類型時,對其進(jìn)行檢索也是很簡單的。但是,如果是多種類型的數(shù)據(jù)共同構(gòu)建成一個樹形結(jié)構(gòu),并且隨著業(yè)務(wù)需求的變動,數(shù)據(jù)類型還需要新增、變更或者刪除,在這種情況下,傳統(tǒng)的查詢檢索方案在實現(xiàn)時就會顯得過于復(fù)雜、僵硬并且缺乏效率。
因此,需要一種新的技術(shù)方案,可以快速構(gòu)建一個靈活可靠并可任意擴展的,對于 異構(gòu)數(shù)據(jù)構(gòu)成的樹形結(jié)構(gòu)的查詢方案,滿足企業(yè)級應(yīng)用中由于大數(shù)據(jù)量和數(shù)據(jù)類型多樣化而產(chǎn)生的不斷增加和變化的要求。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于,提供一種新的技術(shù)方案,可以快速構(gòu)建一個靈活可靠并可任意擴展的,對于異構(gòu)數(shù)據(jù)構(gòu)成的樹形結(jié)構(gòu)的查詢方案,滿足企業(yè)級應(yīng)用中由于大數(shù)據(jù)量和數(shù)據(jù)類型多樣化而產(chǎn)生的不斷增加和變化的要求。有鑒于此,本發(fā)明提供了一種數(shù)據(jù)查詢處理裝置,包括配置信息解析模塊,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型;查詢條件設(shè)置模塊,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件;數(shù)據(jù)查詢模塊,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。在本技術(shù)方案中,所述數(shù)據(jù)查詢模塊,可以將所述查詢中涉及的數(shù)據(jù)類型和由所述查詢條件設(shè)置模塊生成的查詢條件等組織成可以被特定解釋器理解的語法分析樹,并通過解析該語法分析樹來將其在所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢出的異構(gòu)的查詢結(jié)果組織成為用戶所需的樹形結(jié)構(gòu)。可以隨時根據(jù)不同業(yè)務(wù)系統(tǒng)的配置信息,提取該業(yè)務(wù)系統(tǒng)的數(shù)據(jù)類型和屬性,并根據(jù)數(shù)據(jù)類型和屬性完成對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源的查詢,大大提高了所述數(shù)據(jù)查詢處理裝置的靈活性和可擴展性。在上述技術(shù)方案中,優(yōu)選地,所述配置信息解析模塊從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性,所述查詢條件設(shè)置模塊為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。通過將所述配置信息所具有的屬性進(jìn)行共享屬性和非共享屬性的區(qū)分,使得所述數(shù)據(jù)查詢處理裝置在數(shù)據(jù)查詢、生成查詢條件和將查詢結(jié)果組裝為樹形結(jié)構(gòu)時,能夠更加準(zhǔn)確和高效。在上述技術(shù)方案中,優(yōu)選地,所述查詢條件設(shè)置模塊在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享屬性、所述非共享屬性,供所述用戶選擇。通過圖形界面來展示所述的各種數(shù)據(jù),能夠清楚形象地表達(dá)出所述數(shù)據(jù)類型之間、所述數(shù)據(jù)類型和其相關(guān)屬性之間,以及各種所述屬性之間的關(guān)系,使得所述數(shù)據(jù)查詢處理裝置對用戶顯得更加友好。在上述技術(shù)方案中,優(yōu)選地,所述查詢條件設(shè)置模塊在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序,所述數(shù)據(jù)查詢模塊根據(jù)所述單個查詢條件執(zhí)行一次查詢(簡稱單次查詢),或根據(jù)所述多個查詢條件執(zhí)行多次查詢(簡稱多次查詢),其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。在本技術(shù)方案中,所述數(shù)據(jù)查詢處理裝置可以根據(jù)實際情況對上述兩種查詢方式進(jìn)行取舍,比如,當(dāng)數(shù)據(jù)來源在數(shù)據(jù)庫或者遠(yuǎn)端,由于和當(dāng)前的查詢程序不在同一個進(jìn)程中,進(jìn)程間通訊將可能導(dǎo)致多次查詢的效率在某些極端情況不理想,此時,便可以選擇采用所述單次查詢的查詢方式以提高查詢效率;當(dāng)所述用戶的查詢?nèi)蝿?wù)需要更高的靈活性時,則可以選擇采用所述多次查詢的查詢方式,以避免單次查詢因使多個子查詢形成統(tǒng)一的整體而不可避免地產(chǎn)生耦合性的問題。在上述技術(shù)方案中,優(yōu)選地,還包括歷史記錄保存模塊,根據(jù)所述數(shù)據(jù)源、查詢條 件,保存歷史記錄。通過在所述數(shù)據(jù)查詢處理裝置中引入歷史記錄模塊,不僅可以提高用戶在進(jìn)行多次重復(fù)查詢時的效率,同時也可以為整個裝置的修理與維護(hù)提供必要的數(shù)據(jù)支持,進(jìn)而保證所述數(shù)據(jù)查詢處理裝置可靠性。本發(fā)明還提供了一種數(shù)據(jù)查詢處理方法,包括步驟202,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型;步驟204,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件;步驟206,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。在本技術(shù)方案中,所述步驟206在進(jìn)行數(shù)據(jù)查詢過程中,可以將所述查詢中涉及的數(shù)據(jù)類型和由所述步驟204生成的查詢條件等組織成可以被特定解釋器理解的語法分析樹,并通過解析該語法分析樹來將其在所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢出的異構(gòu)的查詢結(jié)果組織成為用戶所需的樹形結(jié)構(gòu)??梢噪S時根據(jù)不同業(yè)務(wù)系統(tǒng)的配置信息,提取該業(yè)務(wù)系統(tǒng)的數(shù)據(jù)類型和屬性,并根據(jù)數(shù)據(jù)類型和屬性完成對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源的查詢,大大提高了所述數(shù)據(jù)查詢處理裝置的靈活性和可擴展性。在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性;所述步驟204包括為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。通過將所述配置信息所具有的屬性進(jìn)行共享屬性和非共享屬性的區(qū)分,使得在使用所述數(shù)據(jù)查詢處理方法進(jìn)行數(shù)據(jù)查詢、生成查詢條件和將查詢結(jié)果組裝為樹形結(jié)構(gòu)時,能夠更加準(zhǔn)確和高效。在上述技術(shù)方案中,優(yōu)選地,所述步驟204包括在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享數(shù)據(jù)、所述非共享屬性,供所述用戶選擇。通過圖形界面來展示所述的各種數(shù)據(jù),能夠清楚形象地表達(dá)出所述數(shù)據(jù)類型之間、所述數(shù)據(jù)類型和其相關(guān)屬性之間,以及各種所述屬性之間的關(guān)系,使用戶能夠?qū)τ谄渌璨樵兊男畔⑦M(jìn)行更清晰明確地描述。在上述技術(shù)方案中,優(yōu)選地,所述步驟204包括在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序;所述步驟206包括根據(jù)所述單個查詢條件執(zhí)行一次查詢(簡稱單次查詢),或根據(jù)所述多個查詢條件執(zhí)行多次查詢(簡稱多次查詢),其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。在本技術(shù)方案中,在所述數(shù)據(jù)查詢處理方法中可以根據(jù)實際情況對上述兩種查詢方式進(jìn)行取舍,比如,當(dāng)數(shù)據(jù)來源在數(shù)據(jù)庫或者遠(yuǎn)端,由于和當(dāng)前的查詢程序不在同一個進(jìn)程中,進(jìn)程間通訊將可能導(dǎo)致多次查詢的效率在某些極端情況不理想,此時,便可以選擇采用所述單次查詢的查詢方式以提高查詢效率;當(dāng)所述用戶的查詢?nèi)蝿?wù)需要更高的靈活性時,則可以選擇采用所述多次查詢的查詢方式,以避免單次查詢因使多個子查詢形成統(tǒng)一的整體而不可避免地產(chǎn)生耦合性的問題。在上述技術(shù)方案中,優(yōu)選地,還包括根據(jù)所述數(shù)據(jù)源、查詢條件,保存歷史記錄。通過進(jìn)行歷史記錄,不僅可以提高用戶在進(jìn)行多次重復(fù)查詢時的效率,同時也可以為對于整個查詢過程的檢查核對提供必要的數(shù)據(jù)支持,進(jìn)而保證通過所述數(shù)據(jù)查詢處理方法的到的查詢結(jié)果的可靠性。
通過以上技術(shù)方案,可以快速構(gòu)建一個靈活可靠并可任意擴展的,對于異構(gòu)數(shù)據(jù)構(gòu)成的樹形結(jié)構(gòu)的查詢方案,滿足企業(yè)級應(yīng)用中由于大數(shù)據(jù)量和數(shù)據(jù)類型多樣化而產(chǎn)生的不斷增加和變化的要求。
圖I示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的框圖;圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法的流程圖;圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的運行流程示意圖;圖4示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的類圖結(jié)構(gòu)示意圖;圖5A至圖5B示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法的應(yīng)用實例界面示意圖。
具體實施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和具體實施方式
對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明并不限于下面公開的具體實施例的限制。圖I示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的框圖。如圖I所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置100,包括配置信息解析模塊102,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型;查詢條件設(shè)置模塊104,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件;數(shù)據(jù)查詢模塊106,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。在本技術(shù)方案中,所述數(shù)據(jù)查詢模塊106,可以將所述查詢中涉及的數(shù)據(jù)類型和由所述查詢條件設(shè)置模塊104生成的查詢條件等組織成可以被特定解釋器理解的語法分析樹,并通過解析該語法分析樹來將其在所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢出的異構(gòu)的查詢結(jié)果組織成為用戶所需的樹形結(jié)構(gòu)??梢噪S時根據(jù)不同業(yè)務(wù)系統(tǒng)的配置信息,提取該業(yè)務(wù)系統(tǒng)的數(shù)據(jù)類型和屬性,并根據(jù)數(shù)據(jù)類型和屬性完成對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源的查詢,大大提高了所述數(shù)據(jù)查詢處理裝置的靈活性和可擴展性。在上述技術(shù)方案中,優(yōu)選地,所述配置信息解析模塊102從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性,所述查詢條件設(shè)置模塊104為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。通過將所述配置信息所具有的屬性進(jìn)行共享屬性和非共享屬性的區(qū)分,使得所述數(shù)據(jù)查詢處理裝置100在數(shù)據(jù)查詢、生成查詢條件和將查詢結(jié)果組裝為樹形結(jié)構(gòu)時,能夠更加準(zhǔn)確和高效。在上述技術(shù)方案中,優(yōu)選地,所述查詢條件設(shè)置模塊104在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享屬性、所述非共享屬性,供所述用戶選擇。通過圖形界面來展示所 述的各種數(shù)據(jù),能夠清楚形象地表達(dá)出所述數(shù)據(jù)類型之間、所述數(shù)據(jù)類型和其相關(guān)屬性之間,以及各種所述屬性之間的關(guān)系,使得所述數(shù)據(jù)查詢處理裝置100對用戶顯得更加友好。在上述技術(shù)方案中,優(yōu)選地,所述查詢條件設(shè)置模塊104在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序,所述數(shù)據(jù)查詢模塊106根據(jù)所述單個查詢條件執(zhí)行一次查詢(簡稱單次查詢),或根據(jù)所述多個查詢條件執(zhí)行多次查詢(簡稱多次查詢),其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。在本技術(shù)方案中,所述數(shù)據(jù)查詢處理裝置100可以根據(jù)實際情況對上述兩種查詢方式進(jìn)行取舍,比如,當(dāng)數(shù)據(jù)來源在數(shù)據(jù)庫或者遠(yuǎn)端,由于和當(dāng)前的查詢程序不在同一個進(jìn)程中,進(jìn)程間通訊將可能導(dǎo)致多次查詢的效率在某些極端情況不理想,此時,便可以選擇采用所述單次查詢的查詢方式以提高查詢效率;當(dāng)所述用戶的查詢?nèi)蝿?wù)需要更高的靈活性時,則可以選擇采用所述多次查詢的查詢方式,以避免單次查詢因使多個子查詢形成統(tǒng)一的整體而不可避免地產(chǎn)生耦合性的問題。在上述技術(shù)方案中,優(yōu)選地,還包括歷史記錄保存模塊106,根據(jù)所述數(shù)據(jù)源、查詢條件,保存歷史記錄。通過在所述數(shù)據(jù)查詢處理裝置100中引入歷史記錄模塊106,不僅可以提高用戶在進(jìn)行多次重復(fù)查詢時的效率,同時也可以為整個裝置100的修理與維護(hù)提供必要的數(shù)據(jù)支持,進(jìn)而保證所述數(shù)據(jù)查詢處理裝置100可靠性。圖2示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法的流程圖。如圖2所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法,包括步驟202,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型;步驟204,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件;步驟206,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。在本技術(shù)方案中,所述步驟206在進(jìn)行數(shù)據(jù)查詢過程中,可以將所述查詢中涉及的數(shù)據(jù)類型和由所述步驟204生成的查詢條件等組織成可以被特定解釋器理解的語法分析樹,并通過解析該語法分析樹來將其在所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢出的異構(gòu)的查詢結(jié)果組織成為用戶所需的樹形結(jié)構(gòu)??梢噪S時根據(jù)不同業(yè)務(wù)系統(tǒng)的配置信息,提取該業(yè)務(wù)系統(tǒng)的數(shù)據(jù)類型和屬性,并根據(jù)數(shù)據(jù)類型和屬性完成對業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源的查詢,大大提高了所述數(shù)據(jù)查詢處理裝置的靈活性和可擴展性。在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性;所述步驟204包括為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。通過將所述配置信息所具有的屬性進(jìn)行共享屬性和非共享屬性的區(qū)分,使得在使用所述數(shù)據(jù)查詢處理方法進(jìn)行數(shù)據(jù)查詢、生成查詢條件和將查詢結(jié)果組裝為樹形結(jié)構(gòu)時,能夠更加準(zhǔn)確和高效。在上述技術(shù)方案中,優(yōu)選地,所述步驟204包括在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享數(shù)據(jù)、所述非共享屬性,供所述用戶選擇。通過圖形界面來展示所述的各種數(shù)據(jù),能夠清楚形象地表達(dá)出所述數(shù)據(jù)類型之間、所述數(shù)據(jù)類型和其相關(guān)屬性之間,以及各種所述屬性之間的關(guān)系,使用戶能夠?qū)τ谄渌璨樵兊男畔⑦M(jìn)行更清晰明確地描述。
在上述技術(shù)方案中,優(yōu)選地,所述步驟204包括在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序;所述步驟206包括根據(jù)所述單個查詢條件執(zhí)行一次查詢(簡稱單次查詢),或根據(jù)所述多個查詢條件執(zhí)行多次查詢(簡稱多次查詢),其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。在本技術(shù)方案中,在所述數(shù)據(jù)查詢處理方法中可以根據(jù)實際情況對上述兩種查詢方式進(jìn)行取舍,比如,當(dāng)數(shù)據(jù)來源在數(shù)據(jù)庫或者遠(yuǎn)端,由于和當(dāng)前的查詢程序不在同一個進(jìn)程中,進(jìn)程間通訊將可能導(dǎo)致多次查詢的效率在某些極端情況不理想,此時,便可以選擇采用所述單次查詢的查詢方式以提高查詢效率;當(dāng)所述用戶的查詢?nèi)蝿?wù)需要更高的靈活性時,則可以選擇采用所述多次查詢的查詢方式,以避免單次查詢因使多個子查詢形成統(tǒng)一的整體而不可避免地產(chǎn)生耦合性的問題。在上述技術(shù)方案中,優(yōu)選地,還包括根據(jù)所述數(shù)據(jù)源、查詢條件,保存歷史記錄。通過進(jìn)行歷史記錄,不僅可以提高用戶在進(jìn)行多次重復(fù)查詢時的效率,同時也可以為對于整個查詢過程的檢查核對提供必要的數(shù)據(jù)支持,進(jìn)而保證通過所述數(shù)據(jù)查詢處理方法的到的查詢結(jié)果的可靠性。圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的運行流程示意圖。如圖3所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的運行流程包括以下部分查詢發(fā)起端302 :查詢發(fā)起端302是查詢的發(fā)起者也是最貼近用戶的部分,它會根據(jù)用戶配置和查詢策略306進(jìn)行查詢操作,并將查詢結(jié)果進(jìn)行組裝。查詢策略306 :所述查詢策略306是事先根據(jù)用戶查詢中涉及的數(shù)據(jù)種類和查詢條件等組成的可以被特定解釋器理解的語法分析樹,以及可以通過解析語法分析樹來將異構(gòu)的查詢結(jié)果組裝成為樹形結(jié)構(gòu)的解釋器的集合;通過該查詢策略306將所述查詢發(fā)起端302和查詢單元308之間進(jìn)行關(guān)聯(lián);查詢策略306,具體而言,包括“查詢單元生成策略306A”與“查詢單元組合策略306B”。查詢單元生成策略306A :所述查詢單元生成策略306A將查詢中涉及的數(shù)據(jù)種類和查詢條件等組織成可以被特定解釋器理解的語法分析樹,并傳遞給查詢單元生成裝置304。查詢單元生成裝置304根據(jù)此策略生成查詢單元308。查詢單元組合策略306B :查詢單元組合策略306B定義了每個具體的查詢單元308(η)和返回的查詢結(jié)果之間的組合關(guān)系,所述查詢發(fā)起端302在接收到查詢返回的查詢結(jié)果后會根據(jù)此策略組織出用戶要求的樹形結(jié)構(gòu)。查詢單元生成裝置304 :查詢單元生成裝置304有2個作用,其一是調(diào)用查詢單元生成策略306Α來初始化查詢單元308集合;其二是作為多個查詢間的隔離點,即查詢單元308是被配置成無狀態(tài)的方式,每個查詢都會重新實例化一批新的查詢單元308 (η),這樣才能保證在并發(fā)環(huán)境中結(jié)果不會產(chǎn)生混亂。查詢單元(以接口形式實現(xiàn))308 :查詢單元308 (η)是最終查詢的執(zhí)行者,其所執(zhí)行的查詢可以有以下兩種實現(xiàn)方法,即多次查詢和單次查詢。I、多次查詢,即對于每種數(shù)據(jù)類型使用單獨的查詢單元308 (η),因此查詢單元的 劃分非常簡單。對于某一個查詢單元的設(shè)計而言,不需要去考慮其他查詢單元的設(shè)計方法,只需要考慮構(gòu)建它與它前一級查詢單元暴露出來的結(jié)果的上下級關(guān)系的方法即可。這種方法的缺點在于,如果數(shù)據(jù)的來源是在數(shù)據(jù)庫或者遠(yuǎn)端,由于和當(dāng)前的查詢程序不在同一個進(jìn)程中,進(jìn)程間通訊將可能導(dǎo)致多次查詢的效率在某些極端情況不理想。2、單次查詢單次查詢是首先構(gòu)建出一次查詢出所有結(jié)果所需構(gòu)建的條件,比如在關(guān)系數(shù)據(jù)庫查詢上就是構(gòu)建出一個可以查詢出所有數(shù)據(jù)的SQL (Structured QueryLanguage,即結(jié)構(gòu)化查詢語言),而在其他類似的耗時跨進(jìn)程調(diào)用中可能是構(gòu)建出所有的調(diào)用參數(shù)。這樣通過一個粗粒度的調(diào)用來減少時間消耗,達(dá)到效率優(yōu)化的目的。這種方法的缺點在于,單次查詢使多個子查詢形成統(tǒng)一的整體,同時也帶來了耦合性的問題,損失了一定的靈活性。因此,上述的兩種查詢方法可以根據(jù)實際的需要進(jìn)行取舍。對與不同類型的數(shù)據(jù)向樹形結(jié)構(gòu)的整合上,兩種查詢方法所對應(yīng)的構(gòu)建策略也各有不同多次查詢的方法需要知道前一級查詢單元暴露出來的接口來確定當(dāng)前查詢元獲得的數(shù)據(jù)如何與上一級拼接;而單次查詢主要是通過構(gòu)造器模式來拼接數(shù)據(jù)的,在這里,上述查詢單元組合策略306B可以充當(dāng)“指導(dǎo)人”的角色來“指導(dǎo)”查詢單元308拼接數(shù)據(jù)。圖4示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的類圖結(jié)構(gòu)示意圖。如圖4所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理裝置的類圖結(jié)構(gòu)包括以下部分列表視圖類402 :查詢單元308和數(shù)據(jù)單元410以在XML配置的形式實現(xiàn)實例化,它是構(gòu)建策略的中心類,它的職責(zé)主要是獲取當(dāng)前的數(shù)據(jù)類型和查詢單元308生成一套對應(yīng)的查詢策略。視圖模型類404 :其作用是把當(dāng)前生成的查詢策略拷貝一份保存,以便下次在客戶端數(shù)據(jù)單元410不變的情況下重新查詢,可直接應(yīng)用此策略。同時,所述視圖模型類404還是一個數(shù)據(jù)的主要載體,用來組裝策略。配置參數(shù)406 :主要是獲取客戶端各種配置項(屬性)的值。解析類408 :這個類是查詢策略的核心類,其解析步驟如下I、分析數(shù)據(jù),拿到配置參數(shù)406的值,判斷各配置項是否是可配置項,是,則更新查詢策略的屬性,否,則不更新。2、根據(jù)配置信息更新查詢策略根據(jù)配置參數(shù)406、更新可配置屬性的值,這是策略的最后更新,根據(jù)這次更新的結(jié)果,來查詢最終數(shù)據(jù)。初始化查詢單元308和數(shù)據(jù)單元410,都是通過配置文件注入的。這樣設(shè)計,可根據(jù)不同的業(yè)務(wù)需求定義不同的查詢單元308和相關(guān)業(yè)務(wù)單元,所以靈活可靠,也容易擴展和維護(hù)。圖5A至圖5B示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法的應(yīng)用實例界面示意圖。如圖5A和圖5B所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)查詢處理方法在對于人力資源管理的組織機構(gòu)圖的查詢中的應(yīng)用實例界面包括如下部分如圖5A所示,以組織機構(gòu)中的行政體系為例,行政體系擁有三種數(shù)據(jù)類型,分別 是組織、部門、崗位。組織含有“是否包含下級組織”、“顯示部門”、“顯示撤銷部門”、“顯示虛擬部門”、“顯示崗位”等可選屬性(即非共享屬性),同時如圖5B所示,還有四個大的可配置項選擇框(即共享屬性),分別為生成選項、顯示選項、節(jié)點屬性、連接線屬性。這每一個選項中含有多個可配置元。那么查詢時就是將組織、部門、崗位和所選的屬性和數(shù)據(jù)項組裝成樹結(jié)構(gòu)去執(zhí)行查詢。以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案。通過本技術(shù)方案的應(yīng)用,能夠快速構(gòu)建一個靈活可靠并可任意擴展的,對于異構(gòu)數(shù)據(jù)構(gòu)成的樹形結(jié)構(gòu)的查詢方案,滿足企業(yè)級應(yīng)用中由于大數(shù)據(jù)量和數(shù)據(jù)類型多樣化而產(chǎn)生的不斷增加和變化的要求。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)查詢處理裝置,其特征在于,包括 配置信息解析模塊,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型; 查詢條件設(shè)置模塊,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件; 數(shù)據(jù)查詢模塊,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)查詢處理裝置,其特征在于,所述配置信息解析模塊從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性,所述查詢條件設(shè)置模塊為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)查詢處理裝置,其特征在于,所述查詢條件設(shè)置模塊在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享屬性、所述非共享屬性,供所述用戶選擇。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)查詢處理裝置,其特征在于,所述查詢條件設(shè)置模塊在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序,所述數(shù)據(jù)查詢模塊根據(jù)所述單個查詢條件執(zhí)行一次查詢,或根據(jù)所述多個查詢條件執(zhí)行多次查詢,其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。
5.根據(jù)權(quán)利要求I至4中任一項所述的數(shù)據(jù)查詢處理裝置,其特征在于,還包括 歷史記錄保存模塊,根據(jù)所述數(shù)據(jù)源、查詢條件,保存歷史記錄。
6.一種數(shù)據(jù)查詢處理方法,其特征在于,包括 步驟202,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型; 步驟204,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件; 步驟206,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢處理方法,其特征在于,所述步驟202還包括從所述配置信息中解析出所述多種數(shù)據(jù)類型均具有的共享屬性,以及所述數(shù)據(jù)類型各自具有的非共享屬性; 所述步驟204包括為所述用戶提供所述多個數(shù)據(jù)類型以及所述共享屬性,并根據(jù)用戶選擇的數(shù)據(jù)類型,為所述用戶提供被選中數(shù)據(jù)類型的非共享屬性,以及根據(jù)所述用戶選擇的數(shù)據(jù)類型、共享屬性和非共享屬性,生成查詢條件。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)查詢處理方法,其特征在于,所述步驟204包括在圖形界面展現(xiàn)所述多個數(shù)據(jù)類型以及所述共享數(shù)據(jù)、所述非共享屬性,供所述用戶選擇。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)查詢處理方法,其特征在于,所述步驟204包括在所述用戶選擇的數(shù)據(jù)類型為多個時,為所述用戶選擇的數(shù)據(jù)類型統(tǒng)一生成單個查詢條件,或為所述用戶選擇的數(shù)據(jù)類型生成對應(yīng)的多個查詢條件,并設(shè)置所述多個查詢條件對應(yīng)的查詢順序;所述步驟206包括根據(jù)所述單個查詢條件執(zhí)行一次查詢,或根據(jù)所述多個查詢條件執(zhí)行多次查詢,其中,根據(jù)所述數(shù)據(jù)源進(jìn)行首次查詢,以及根據(jù)前次查詢的結(jié)果進(jìn)行當(dāng)前查詢。
10.根據(jù)權(quán)利要求6至9中任一項所述的數(shù)據(jù)查詢處理方法,其特征在于,還包括 根據(jù)所述數(shù)據(jù)源、查詢條件,保存歷史記錄。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)查詢處理裝置,包括配置信息解析模塊,獲取業(yè)務(wù)系統(tǒng)的配置信息,從所述配置信息中解析出所述業(yè)務(wù)系統(tǒng)相關(guān)的多種數(shù)據(jù)類型;查詢條件設(shè)置模塊,將所述多種數(shù)據(jù)類型提供給用戶,并根據(jù)所述用戶選擇的數(shù)據(jù)類型生成查詢條件;數(shù)據(jù)查詢模塊,根據(jù)所述查詢條件,從所述業(yè)務(wù)系統(tǒng)的數(shù)據(jù)源中查詢所需數(shù)據(jù)。相應(yīng)地,本發(fā)明還提供了一種數(shù)據(jù)查詢處理方法。通過本發(fā)明的技術(shù)方案,可以快速構(gòu)建一個靈活可靠并可任意擴展的,對于異構(gòu)數(shù)據(jù)構(gòu)成的樹形結(jié)構(gòu)的查詢方案,滿足企業(yè)級應(yīng)用中由于大數(shù)據(jù)量和數(shù)據(jù)類型多樣化而產(chǎn)生的不斷增加和變化的要求。
文檔編號G06F17/30GK102819557SQ20121022448
公開日2012年12月12日 申請日期2012年6月28日 優(yōu)先權(quán)日2012年6月28日
發(fā)明者呂亞明, 豐偉, 孫鵬 申請人:用友軟件股份有限公司