數據查詢系統及方法
2023-07-19 07:23:16 1
專利名稱:數據查詢系統及方法
技術領域:
本發明涉及數據查詢技術領域,特別涉及一種數據查詢系統及方法。
背景技術:
經營分析系統是以業務運營支撐系統(BOSS,Business & Operation Support System)中的數據為基礎,構建統一的經營分析資料庫,幫助企業的經營決策層了解企業經營的現狀,發現企業運營的優勢和劣勢,預測未來發展趨勢,對客戶進行細分,指導營銷部門和客服部門進行有針對性的營銷和高效的客戶關係管理。每個企業可能包含多個經營分析系統,每個經營分析系統負責為對應地理區域內的經營分析用戶提供經營分析數據的查詢等處理,每個經營分析系統中都存儲有對應地理區域內的經營分析數據。可以用邏輯信息或物理信息來描述各個經營分析數據,各個經營分析數據的邏輯信息按照邏輯結構組合成邏輯模型,邏輯信息主要從邏輯及業務角度來描述經營分析數據,主要描述「做什麼」,各個經營分析數據的物理信息按照物理結構組合稱為物理模型,物理信息主要從經營分析數據的存儲方式的角度來描述經營分析數據,主要描述「如何做」。 經營分析用戶在經營分析系統中查詢經營分析數據時,一般直接將該經營分析數據的物理信息通知給經營分析系統,由於物理信息反映經營分析數據的存儲方式,因此經營分析系統可以根據物理信息從資料庫伺服器中查找出經營分析數據提供給經營分析用戶。現有技術中,每個經營分析系統使用獨立的處理軟體為經營分析用戶提供數據查詢等處理,通常將經營分析數據的物理信息編碼到處理軟體中,因此需要針對各個經營分析系統,分別將該經營分析系統中的經營分析數據的物理信息編碼到相應的處理軟體中, 若某些經營分析數據的物理信息發生變化,則需要修改已編碼到處理軟體中的物理信息, 這就使得數據查詢的靈活性較低。
發明內容
本發明實施例提供一種數據查詢系統及方法,用以解決現有技術中存在的查詢數據時的靈活性較低的問題。本發明實施例技術方案如下—種數據查詢系統,包括經營分析系統、數據查詢裝置、元數據系統和數據倉庫, 所述數據查詢裝置包括邏輯信息獲取單元、語法分析單元、模型翻譯單元和數據查詢單元, 其中邏輯信息獲取單元,用於從經營分析系統獲取需查詢的數據的邏輯信息;語法分析單元,用於對邏輯信息獲取單元獲取的邏輯信息進行解析,解析出各邏輯查詢信息;模型翻譯單元,用於分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息;數據查詢單元,用於根據生成的物理信息,在數據倉庫中查找所述數據。
一種數據查詢方法,該方法包括步驟從經營分析系統獲取需查詢的數據的邏輯信息;對獲取的邏輯信息進行解析,解析出各邏輯查詢信息;分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息;根據生成的物理信息,在數據倉庫中查找所述數據。本發明實施例技術方案中,數據查詢裝置中的邏輯信息獲取單元首先從經營分析系統中獲取用戶需查詢的數據的邏輯信息,由於邏輯信息不能直接用來查詢數據,因此需要語法分析單元對獲取的邏輯信息進行解析,解析出各邏輯查詢信息,然後模型翻譯單元分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息,數據查詢單元根據生成的物理信息,在數據倉庫中查找所述數據,由上可見,本發明實施例技術方案的數據查詢系統中的元數據系統存儲了邏輯模型元數據和物理模型元數據的對應關係,在查詢數據時可以根據該對應關係確定查詢數據所需的物理信息,這就避免了現有技術將數據的物理信息編碼到處理軟體中,在某些數據的物理信息發生變化時,需要修改已編碼到處理軟體中的物理信息的問題,這就有效地提高了查詢數據的靈活性。
圖1為本發明實施例中,數據查詢系統結構示意圖;圖2為本發明實施例中,數據查詢方法流程示意圖;圖3為本發明實施例中,數據查詢方法具體實現流程示意圖數據查詢系統結構示意圖。
具體實施例方式下面結合各個附圖對本發明實施例技術方案的主要實現原理具體實施方式
及其對應能夠達到的有益效果進行詳細地闡述。如圖1所示,為本發明實施例中的數據查詢系統結構示意圖,數據查詢系統包括經營分析系統11、數據查詢裝置12、元數據系統13和數據倉庫14,經營分析系統11負責獲得需查詢的數據的邏輯信息,數據查詢裝置12從經營分析系統11中獲取需查詢的數據的邏輯信息,可以主動獲取,也可以由經營分析系統11發送,數據查詢裝置12根據獲取的邏輯信息以及元數據系統13中存儲的邏輯元數據和物理元數據的對應關係,生成查詢數據所需的物理信息,然後在數據倉庫14中查找所述數據,其中數據查詢裝置包括邏輯信息獲取單元121、語法分析單元122、模型翻譯單元123和數據查詢單元124,其中邏輯信息獲取單元121,用於從經營分析系統11獲取需查詢的數據的邏輯信息;語法分析單元122,用於對邏輯信息獲取單元121獲取的邏輯信息進行解析,解析出各邏輯查詢信息;
模型翻譯單元123,用於分別對語法分析單元122解析出的每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統13存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息;數據查詢單元124,用於根據模型翻譯單元123生成的物理信息,在數據倉庫14中查找所述數據。較佳地,為了提高數據查詢速度和查詢效率,本發明實施例提出數據查詢裝置12 還可以進一步包括元數據緩存處理單元,用於將查找到的物理模型元數據與邏輯模型元數據的對應關係進行緩存,模型翻譯單元123再次查找相同的邏輯模型元數據時,可以直接從元數據緩存處理單元緩存的對應關係中查找對應的物理模型元數據,從而能夠有效地提高查詢速度和查詢效率。較佳地,本發明實施例提出數據查詢裝置12還可以進一步包括信息緩存處理單元,用於將獲取的邏輯信息和生成的物理信息的對應關係進行緩存,邏輯信息獲取單元121 再次獲取到相同的邏輯信息時,模型翻譯單元123直接從信息緩存處理單元緩存的對應關係中查找對應的物理信息,從而有效地提高了查詢速度和查詢效率。較佳地,其中上述邏輯查詢信息包括邏輯查詢結果信息、邏輯查詢來源信息和邏輯查詢條件信息;物理查詢信息包括物理查詢結果信息、物理查詢來源信息和物理查詢條件fe息。較佳地,數據查詢單元1 根據生成的物理信息中的物理查詢來源信息,確定數據倉庫14中存儲所述數據的數據源,以及根據生成的物理信息中的物理查詢結果信息和物理查詢條件信息,在確定出的數據源所存儲的各數據中,查找所述數據。較佳地,模型翻譯單元123對邏輯查詢信息進行解析前,語法分析單元122還可以進一步根據預設的校驗規則,對獲取的邏輯信息進行語法正確性校驗,若校驗失敗,則返回失敗提示信息。相應的,本發明實施例還提供一種數據查詢方法,其方法流程圖如圖2所示,其具體處理過程如下步驟21,從經營分析系統獲取需查詢的數據的邏輯信息;本發明實施例中,用戶在需要查詢數據時,可以向經營分析系統發送攜帶有該數據的邏輯信息的查詢請求,其中該查詢請求中還可以進一步攜帶有該用戶的身份信息,經營分析系統接收到查詢請求後,將該查詢請求發送給數據查詢裝置,數據查詢裝置首先根據查詢請求中攜帶的身份信息,對該用戶進行身份驗證,若驗證通過,則為該用戶進行查詢操作,若驗證不通過,則可以向該用戶發送驗證失敗提示消息。本發明實施例中,數據的邏輯信息也可以稱為邏輯模型查詢語句,邏輯模型查詢語句所使用的語言可以類似結構化查詢語言(SQL,Structured Query Language),數據查詢裝置獲取的邏輯信息可以為經營分析系統按照預設的封裝方式進行封裝後得到的,預設的封裝方式可以但不限於為可擴展標記語言(XML,Extensible Markup Language)封裝方式。數據查詢裝置在接收到查詢請求後,可以進一步根據預設的校驗規則,對獲取到的邏輯信息進行語法正確性校驗,若校驗成功,則為該用戶進行查詢操作,若校驗失敗,則向該用戶返回語法校驗失敗提示信息,其中可以但不限於通過正則表達式等方法進行語法正確性校驗,其過程與SQL的語法檢查過程類似。步驟22,對獲取的邏輯信息進行解析,解析出各邏輯查詢信息;數據的邏輯信息主要描述「做什麼」,物理信息主要描述「如何做」,而要查詢數據必須要知道下述三種信息查詢什麼數據、在哪些數據中查詢、查詢該數據的約束條件,上述三種信息在邏輯模型中稱為邏輯查詢信息,分別為邏輯查詢結果信息、邏輯查詢來源信息、邏輯查詢條件信息,上述三種信息在物理模型中稱為物理查詢信息,分別為物理查詢結果信息、物理查詢來源信息、物理查詢條件信息。步驟23,分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據;每個邏輯查詢信息都對應至少一個邏輯模型元數據,每個物理查詢信息都對應至少一個物理模型元數據,例如,要查詢的經營分析數據為地區a的個人用戶資料中,用戶 A的手機號碼和客戶編號,邏輯查詢結果信息為手機號碼和客戶編號,其對應的兩個邏輯模型元數據分別為「手機號碼」和「客戶編號」,兩個邏輯模型元數據分別對應不同的物理模型元數據,兩個物理模型元數據可以生成物理查詢結果信息。也就是說邏輯信息實質上是多個邏輯模型元數據的組合,物理信息實質上是多個物理模型元數據的組合。步驟M,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中, 查找每個邏輯模型元數據對應的物理模型元數據;為了提高數據查詢速度和查詢效率,本發明實施例提出將查找到的物理模型元數據與邏輯模型元數據的對應關係進行緩存,後續再次查找相同的邏輯模型元數據時,直接從緩存的對應關係中查找對應的物理模型元數據,也就是說數據查詢裝置從每個邏輯查詢信息中解析出各邏輯模型元數據後,可以先在緩存的物理模型元數據與邏輯模型元數據的對應關係中查找與解析出的每個邏輯模型元數據對應的物理模型元數據,若沒有查找到, 則在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中進行查找,從而能夠有效地提高查詢速度和查詢效率。步驟25,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息;其中物理查詢信息可以但不限於包括物理查詢結果信息、物理查詢來源信息、物理查詢條件信息。步驟沈,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息;其中數據的物理信息也可以稱為物理模型查詢語句,物理模型查詢語句可以但不限於使用SQL。本發明實施例提出,將獲取到的邏輯信息和生成的物理信息的對應關係進行緩存,後續再次獲取到該邏輯信息時,直接從緩存的邏輯信息和物理信息的對應關係中查找對應的物理信息,也就是說數據查詢裝置獲取到邏輯信息後,首先在緩存的邏輯信息和物理信息的對應關係中查找對應的物理信息,若未查找到,則對該邏輯信息進行解析,解析出各邏輯查詢信息,然後再對各邏輯查詢信息進行解析,解析出各邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找各邏輯模型元數據對應的物理模型元數據,然後根據各物理模型元數據生成各物理查詢信息,再根據各物理查詢信息生成查詢所述數據所需的物理信息,從而能夠有效地提高查詢速度和查詢效率。步驟27,根據生成的物理信息,在數據倉庫中查找所述數據。由於生成的物理信息由物理查詢結果信息、物理查詢來源信息、物理查詢條件信息組成,而物理查詢來源信息表示了在哪些數據中查詢該數據,因此數據查詢裝置可以首先根據物理信息中的物理查詢來源信息,確定數據倉庫中存儲需查詢的數據的數據源,即確定出存儲該數據的資料庫、文本文件或數據表等,然後根據生成的物理信息中的物理查詢結果信息和物理查詢條件信息,在確定出的數據源所存儲的各數據中,查找所述數據。若物理查詢來源信息對應多個數據源,例如對應多個資料庫,也就是說確定出的存儲有需查詢的數據的資料庫有多個,則可以按照預設的查詢順序,依次在確定出的多個資料庫中查詢所述數據。在查找到所述數據後,數據查詢裝置可以按照預設的編碼規則,對查找到的數據進行編碼,形成數據流或數據文件,再將編碼後的數據流或數據文件發送給經營分析系統, 由經營分析系統提供給用戶。由上述處理過程可知,本發明實施例技術方案中,數據查詢裝置中的邏輯信息獲取單元首先從經營分析系統中獲取用戶需查詢的數據的邏輯信息,由於邏輯信息不能直接用來查詢數據,因此需要語法分析單元對獲取的邏輯信息進行解析,解析出各邏輯查詢信息,然後模型翻譯單元分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息,數據查詢單元根據生成的物理信息,在數據倉庫中查找所述數據,由上可見,本發明實施例技術方案的數據查詢系統中的元數據系統存儲了邏輯模型元數據和物理模型元數據的對應關係,在查詢數據時可以根據該對應關係確定查詢數據所需的物理信息,這就避免了現有技術將數據的物理信息編碼到處理軟體中,在某些數據的物理信息發生變化時,需要修改已編碼到處理軟體中的物理信息的問題,這就有效地提高了查詢數據的靈活性。下面給出更為具體的實施方式。如圖3所示,為本發明實施例中數據查詢方法具體實現流程圖,其具體處理過程如下步驟31,數據查詢裝置從經營分析系統獲取經營分析用戶發送的查詢請求,該查詢請求中攜帶有需查詢的經營分析數據的邏輯信息以及該經營分析用戶的身份信息;步驟32,根據獲取到的查詢請求中攜帶的身份信息,對該經營分析用戶進行身份驗證;步驟33,若步驟32的驗證結果為通過,則根據預設的校驗規則,對獲取到的的查詢請求中攜帶的邏輯信息進行語法正確性校驗;步驟34,若步驟33的校驗結果為成功,則將獲取到的查詢請求中攜帶的邏輯信息進行解析,解析出各邏輯查詢信息,包括邏輯查詢結果信息、邏輯查詢來源信息、邏輯查詢條件信息;步驟35,對解析出的每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據;
步驟36,針對解析出的每個邏輯查詢信息,在數據倉庫存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找解析出的每個邏輯模型元數據對應的物理模型元數據;步驟37,針對解析出的每個邏輯查詢信息,根據解析出的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息;步驟38,根據生成的各物理查詢信息,生成與獲取到的邏輯信息對應的物理信息;步驟39,根據生成的物理信息中的物理查詢來源信息,確定數據倉庫中存儲需查詢的經營分析數據的數據源;步驟310,根據生成的物理信息中的物理查詢結果信息和物理查詢條件信息,在確定出的數據源所存儲的各經營分析數據中,查找經營分析用戶需查詢的經營分析數據;步驟311,按照預設的編碼規則,對查找到的經營分析數據進行編碼,形成數據流或數據文件;步驟312,將編碼後的數據流或數據文件發送給經營分析系統,由經營分析系統提供給上述經營分析用戶。顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種數據查詢系統,其特徵在於,包括經營分析系統、數據查詢裝置、元數據系統和數據倉庫,所述數據查詢裝置包括邏輯信息獲取單元、語法分析單元、模型翻譯單元和數據查詢單元,其中邏輯信息獲取單元,用於從經營分析系統獲取需查詢的數據的邏輯信息;語法分析單元,用於對邏輯信息獲取單元獲取的邏輯信息進行解析,解析出各邏輯查詢信息;模型翻譯單元,用於分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理 fn息;數據查詢單元,用於根據生成的物理信息,在數據倉庫中查找所述數據。
2.如權利要求1所述的數據查詢系統,其特徵在於,所述數據查詢裝置還包括元數據緩存處理單元,用於將查找到的物理模型元數據與邏輯模型元數據的對應關係進行緩存;模型翻譯單元再次查找相同的邏輯模型元數據時,直接從元數據緩存處理單元緩存的對應關係中查找對應的物理模型元數據。
3.如權利要求1所述的數據查詢系統,其特徵在於,所述數據查詢裝置還包括信息緩存處理單元,用於將所述邏輯信息和所述物理信息的對應關係進行緩存;邏輯信息獲取單元再次獲取到所述邏輯信息時,模型翻譯單元直接從信息緩存處理單元緩存的對應關係中查找對應的物理信息。
4.如權利要求1所述的數據查詢系統,其特徵在於,邏輯查詢信息包括邏輯查詢結果信息、邏輯查詢來源信息和邏輯查詢條件信息;物理查詢信息包括物理查詢結果信息、物理查詢來源信息和物理查詢條件信息。
5.如權利要求4所述的數據查詢系統,其特徵在於,數據查詢單元根據生成的物理信息中的物理查詢來源信息,確定數據倉庫中存儲所述數據的數據源,以及根據生成的物理信息中的物理查詢結果信息和物理查詢條件信息,在確定出的數據源所存儲的各數據中, 查找所述數據。
6.如權利要求1所述的數據查詢系統,其特徵在於,所述模型翻譯單元對邏輯查詢信息進行解析前,所述語法分析單元根據預設的校驗規則,對獲取的邏輯信息進行語法正確性校驗,若校驗失敗,則返回失敗提示信息。
7.一種數據查詢方法,其特徵在於,包括從經營分析系統獲取需查詢的數據的邏輯信息;對獲取的邏輯信息進行解析,解析出各邏輯查詢信息;分別對每個邏輯查詢信息進行解析,解析出至少一個邏輯模型元數據,在元數據系統存儲的邏輯模型元數據和物理模型元數據的對應關係中,查找每個邏輯模型元數據對應的物理模型元數據,根據查找到的各物理模型元數據,生成與該邏輯查詢信息對應的物理查詢信息,根據生成的各物理查詢信息,生成查詢所述數據所需的物理信息;根據生成的物理信息,在數據倉庫中查找所述數據。
8.如權利要求7所述的數據查詢方法,其特徵在於,還包括將查找到的物理模型元數據與邏輯模型元數據的對應關係進行緩存; 後續再次查找相同的邏輯模型元數據時,直接從緩存的對應關係中查找對應的物理模型元數據。
9.如權利要求7所述的數據查詢方法,其特徵在於,還包括 將所述邏輯信息和所述物理信息的對應關係進行緩存;後續再次獲取到所述邏輯信息時,直接從緩存的對應關係中查找對應的物理信息。
10.如權利要求7所述的數據查詢方法,其特徵在於,邏輯查詢信息包括邏輯查詢結果信息、邏輯查詢來源信息和邏輯查詢條件信息;物理查詢信息包括物理查詢結果信息、物理查詢來源信息和物理查詢條件信息。
11.如權利要求7所述的數據查詢方法,其特徵在於,根據生成的物理信息,在數據倉庫中查找所述數據,具體包括根據生成的物理信息中的物理查詢來源信息,確定數據倉庫中存儲所述數據的數據源;根據生成的物理信息中的物理查詢結果信息和物理查詢條件信息,在確定出的數據源所存儲的各數據中,查找所述數據。
12.如權利要求7所述的數據查詢方法,其特徵在於,在對邏輯查詢信息進行解析之前,還包括根據預設的校驗規則,對獲取的邏輯信息進行語法正確性校驗,若校驗失敗,則返回失敗提示信息。
全文摘要
本發明公開了一種數據查詢系統及方法,包括經營分析系統、數據查詢裝置、元數據系統和數據倉庫,數據查詢裝置包括邏輯信息獲取單元、語法分析單元、模型翻譯單元和數據查詢單元,邏輯信息獲取單元從經營分析系統獲取邏輯信息;語法分析單元針對該邏輯信息解析出各邏輯查詢信息;模型翻譯單元分別針對每個邏輯查詢信息解析出至少一個邏輯模型元數據,分別在元數據系統中查找對應的物理模型元數據,根據查找到的物理模型元數據生成各物理查詢信息,根據生成的各物理查詢信息生成物理信息;數據查詢單元根據生成的物理信息在數據倉庫中查找數據。採用本發明技術方案,解決了現有技術中存在的對數據進行查詢時的靈活性較低的問題。
文檔編號G06F17/30GK102402522SQ20101027991
公開日2012年4月4日 申請日期2010年9月9日 優先權日2010年9月9日
發明者何鴻凌, 曾成, 沈瑋寧 申請人:中國移動通信集團上海有限公司