交叉多次檢索的系統和方法
【專利摘要】本發明提供了一種交叉多次檢索的系統和方法,該系統包括分布式存儲管理器和檢索分離器,其中,分布式存儲管理器用于記錄數據存儲節點的信息;檢索分離器包括:語句拆分單元,用于根據已記錄的數據存儲節點的信息,將接收到的檢索條件語句拆分為對應于一個或多個數據存儲節點的語句組;語句發送單元,用于將語句組中的每條語句發送至對應的數據存儲節點;節點結果接收單元,用于接收對應于每條語句的節點檢索結果數據;檢索結果生成單元,用于根據所有的節點檢索結果數據,生成檢索結果數據。通過本發明的技術方案,可以簡化數據查詢語句的復雜度,尤其在云計算技術中,更容易在按照內容分布式存儲的環境下實現多節點的數據聯合查詢。
【專利說明】交叉多次檢索的系統和方法
【技術領域】
[0001]本發明涉及數據檢索【技術領域】,具體而言,涉及一種交叉多次檢索的系統和一種交叉多次檢索的方法。
【背景技術】
[0002]云存儲是在云計算(cloud computing)概念上延伸和發展出來的一個新的概念,是指通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能的一個系統。云存儲往往通過按照數據內容進行分類,將數據存放到不同的數據存儲節點上。但是當應用中,則需要從這些不同的數據節點中取回數據,這就需要數據查詢合并處理,現有技術通過數據緩存對數據進行合并處理。但是在具體的應用實際中,數據存儲節點存儲的數據存在相同內容,數據查詢在這種情況下就不是簡單的合并處理了,還需要去重等多重操作,這樣導致數據合并的運算量急劇大。
[0003]特別是針對區域醫療信息化中的應用,在中心醫院、普通醫院、社區衛生服務站等數據存儲節點,存放同一患者的數據。在實際應用中,需要通過查詢,獲取該患者在所有數據存儲節點的癥療數據。這就涉及到數據查詢合并,由于數據是按照內容分發規則分發到各個數據存儲節點。
[0004]因此,需要一種新的檢索技術,可以簡化數據查詢語句的復雜度,尤其在云計算技術中,更容易在按照內容分布式存儲的環境下實現多節點的數據聯合查詢。
【發明內容】
[0005]本發明正是基于上述問題,提出了一種新的檢索技術,可以簡化數據查詢語句的復雜度,尤其在云計算技術中,更容易在按照內容分布式存儲的環境下實現多節點的數據聯合查詢。
[0006]有鑒于此,本發明提出了一種交叉多次檢索的系統,包括分布式存儲管理器和檢索分離器,其中,所述分布式存儲管理器用于記錄數據存儲節點的信息;所述檢索分離器包括:語句拆分單元,用于根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組;語句發送單元,用于將所述語句組中的每條語句發送至對應的數據存儲節點;節點結果接收單元,用于接收對應于每條語句的節點檢索結果數據;檢索結果生成單元,用于根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。
[0007]在該技術方案中,通過將檢索條件語句拆分成更為簡單的語句,從而降低了檢索條件語句的語法復雜度,有利于降低系統的計算負荷。同時,通過將拆分得到的語句發送至對應的存儲節點,以分別獲取對應的節點檢索結果數據,再組合為最終的檢索結果數據,從而解決了對于按照內容分布式存儲的環境下的多節點的數據聯合查詢。
[0008]在上述技術方案中,優選地,所述數據存儲節點的信息包括地址和數據分類。[0009]其中,對于數據分類的方式,可以根據實際需求而進行具體的定義,比如一種具體的實施方式為:按照業務域進行分類,從而在復雜的組合查詢中,仍然能夠確保較高的命中廣度。
[0010]在上述技術方案中,優選地,還包括:臨時數據庫,用于存儲所有的所述節點檢索結果數據;以及所述檢索結果生成單元包括:合并處理子單元,用于對存儲至所述臨時數據庫中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
[0011]在該技術方案中,通過建立臨時數據庫,便于實施對來自各個節點的節點檢索結果數據進行合并處理,從而去除重復、錯誤數據,使最終生成的檢索結果數據更加準確合理。
[0012]在上述技術方案中,優選地,所述檢索分離器還包括:接收判斷單元,用于判斷所述臨時數據庫是否接收到所有的所述節點檢索結果數據;以及所述檢索結果生成單元還包括:標記子單元,用于在所述接收判斷單元的判斷結果為否的情況下,為需要進行合并處理的數據設置相應的標記位,以由所述合并處理子單元在所述判斷結果為是的情況下,按照所述標記位進行相應的處理。
[0013]在該技術方案中,在尚未接收到的所有節點的節點檢索結果數據之前,由于仍存在數據的交互,若直接對已接收到的數據進行處理,則可能導致數據出錯等問題,因此,只是先對需要處理的數據進行標記,待接收到所有數據之后,再按照標記位進行相應的處理,從而有利于數據的安全處理,避免數據出錯。
[0014]在上述技術方案中,優選地,所述檢索分離器還包括:狀態檢測單元,用于監測當前的數據檢索狀態;權限控制單元,用于控制所述系統僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據。
[0015]在該技術方案中,通過對數據檢索狀態的監控,從而避免在數據處理過程中就向外部開放數據權限,防止對數據檢索和處理過程造成干擾,確保數據的準確性。
[0016]根據本發明的又一方面,還提出了 一種交叉多次檢索的方法,包括:步驟202,根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組;步驟204,將所述語句組中的每條語句發送至對應的數據存儲節點,以得到對應的節點檢索結果數據;步驟206,根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。
[0017]在該技術方案中,通過將檢索條件語句拆分成更為簡單的語句,從而降低了檢索條件語句的語法復雜度,有利于降低系統的計算負荷。同時,通過將拆分得到的語句發送至對應的存儲節點,以分別獲取對應的節點檢索結果數據,再組合為最終的檢索結果數據,從而解決了對于按照內容分布式存儲的環境下的多節點的數據聯合查詢。
[0018]在上述技術方案中,優選地,所述步驟202包括:所述數據存儲節點的信息包括地址和數據分類。
[0019]其中,對于數據分類的方式,可以根據實際需求而進行具體的定義,比如一種具體的實施方式為:按照業務域進行分類,從而在復雜的組合查詢中,仍然能夠確保較高的命中廣度。
[0020]在上述技術方案中,優選地,所述步驟206還包括:將所有的所述節點檢索結果數據存儲至臨時數據庫;對存儲至所述臨時數據庫中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
[0021]在該技術方案中,通過建立臨時數據庫,便于實施對來自各個節點的節點檢索結果數據進行合并處理,從而去除重復、錯誤數據,使最終生成的檢索結果數據更加準確合理。
[0022]在上述技術方案中,優選地,所述步驟206還包括:若所述臨時數據庫尚未接收到所有的所述節點檢索結果數據,則為需要進行合并處理的數據設置相應的標記位,并當所述臨時數據庫接收到所有的所述節點檢索結果數據時,按照所述標記位進行相應的處理。
[0023]在該技術方案中,在尚未接收到的所有節點的節點檢索結果數據之前,由于仍存在數據的交互,若直接對已接收到的數據進行處理,則可能導致數據出錯等問題,因此,只是先對需要處理的數據進行標記,待接收到所有數據之后,再按照標記位進行相應的處理,從而有利于數據的安全處理,避免數據出錯。
[0024]在上述技術方案中,優選地,還包括:監測當前的數據檢索狀態;其中,僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據。
[0025]在該技術方案中,通過對數據檢索狀態的監控,從而避免在數據處理過程中就向外部開放數據權限,防止對數據檢索和處理過程造成干擾,確保數據的準確性。
[0026]通過以上技術方案,可以簡化數據查詢語句的復雜度,尤其在云計算技術中,更容易在按照內容分布式存儲的環境下實現多節點的數據聯合查詢。
【專利附圖】
【附圖說明】
[0027]圖1示出了根據本發明的實施例的交叉多次檢索的系統的示意框圖;
[0028]圖2示出了根據本發明的實施例的交叉多次檢索的方法的示意流程圖;
[0029]圖3示出了根據本發明的實施例的執行交叉多次檢索的具體流程示意圖。
【具體實施方式】
[0030]為了能夠更清楚地理解本發明的上述目的、特征和優點,下面結合附圖和【具體實施方式】對本發明進行進一步的詳細描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0031]在下面的描述中闡述了很多具體細節以便于充分理解本發明,但是,本發明還可以采用其他不同于在此描述的其他方式來實施,因此,本發明的保護范圍并不受下面公開的具體實施例的限制。
[0032]圖1示出了根據本發明的實施例的交叉多次檢索的系統的示意框圖。
[0033]如圖1所示,根據本發明的實施例的交叉多次檢索的系統100,包括分布式存儲管理器102和檢索分離器104,其中,所述分布式存儲管理器102用于記錄數據存儲節點的信息;所述檢索分離器104包括:語句拆分單元1041,用于根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組;語句發送單元1042,用于將所述語句組中的每條語句發送至對應的數據存儲節點;節點結果接收單元1043,用于接收對應于每條語句的節點檢索結果數據;檢索結果生成單元1044,用于根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。[0034]在該技術方案中,通過將檢索條件語句拆分成更為簡單的語句,從而降低了檢索條件語句的語法復雜度,有利于降低系統的計算負荷。同時,通過將拆分得到的語句發送至對應的存儲節點,以分別獲取對應的節點檢索結果數據,再組合為最終的檢索結果數據,從而解決了對于按照內容分布式存儲的環境下的多節點的數據聯合查詢。
[0035]在上述技術方案中,優選地,所述數據存儲節點的信息包括地址和數據分類。
[0036]其中,對于數據分類的方式,可以根據實際需求而進行具體的定義,比如一種具體的實施方式為:按照業務域進行分類,從而在復雜的組合查詢中,仍然能夠確保較高的命中廣度。
[0037]在上述技術方案中,優選地,還包括:臨時數據庫106,用于存儲所有的所述節點檢索結果數據;以及所述檢索結果生成單元1044包括:合并處理子單元1044A,用于對存儲至所述臨時數據庫106中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
[0038]在該技術方案中,通過建立臨時數據庫106,便于實施對來自各個節點的節點檢索結果數據進行合并處理,從而去除重復、錯誤數據,使最終生成的檢索結果數據更加準確合理。
[0039]在上述技術方案中,優選地,所述檢索分離器104還包括:接收判斷單元1045,用于判斷所述臨時數據庫106是否接收到所有的所述節點檢索結果數據;以及所述檢索結果生成單元1044還包括:標記子單元1044B,用于在所述接收判斷單元1045的判斷結果為否的情況下,為需要進行合并處理的數據設置相應的標記位,以由所述合并處理子單元1044A在所述判斷結果為是的情況下,按照所述標記位進行相應的處理。
[0040]在該技術方案中,在尚未接收到的所有節點的節點檢索結果數據之前,由于仍存在數據的交互,若直接對已接收到的數據進行處理,則可能導致數據出錯等問題,因此,只是先對需要處理的數據進行標記,待接收到所有數據之后,再按照標記位進行相應的處理,從而有利于數據的安全處理,避免數據出錯。
[0041]在上述技術方案中,優選地,所述檢索分離器104還包括:狀態檢測單元1046,用于監測當前的數據檢索狀態;權限控制單元1047,用于控制所述系統100僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據。
[0042]在該技術方案中,通過對數據檢索狀態的監控,從而避免在數據處理過程中就向外部開放數據權限,防止對數據檢索和處理過程造成干擾,確保數據的準確性。
[0043]圖2示出了根據本發明的實施例的交叉多次檢索的方法的流程示意圖。
[0044]如圖2所示,根據本發明的實施例的交叉多次檢索的方法,包括:步驟202,根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組;步驟204,將所述語句組中的每條語句發送至對應的數據存儲節點,以得到對應的節點檢索結果數據;步驟206,根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。
[0045]在該技術方案中,通過將檢索條件語句拆分成更為簡單的語句,從而降低了檢索條件語句的語法復雜度,有利于降低系統的計算負荷。同時,通過將拆分得到的語句發送至對應的存儲節點,以分別獲取對應的節點檢索結果數據,再組合為最終的檢索結果數據,從而解決了對于按照內容分布式存儲的環境下的多節點的數據聯合查詢。[0046]在上述技術方案中,優選地,所述步驟202包括:所述數據存儲節點的信息包括地址和數據分類。
[0047]其中,對于數據分類的方式,可以根據實際需求而進行具體的定義,比如一種具體的實施方式為:按照業務域進行分類,從而在復雜的組合查詢中,仍然能夠確保較高的命中廣度。
[0048]在上述技術方案中,優選地,所述步驟206還包括:將所有的所述節點檢索結果數據存儲至臨時數據庫;對存儲至所述臨時數據庫中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
[0049]在該技術方案中,通過建立臨時數據庫,便于實施對來自各個節點的節點檢索結果數據進行合并處理,從而去除重復、錯誤數據,使最終生成的檢索結果數據更加準確合理。
[0050]在上述技術方案中,優選地,所述步驟206還包括:若所述臨時數據庫尚未接收到所有的所述節點檢索結果數據,則為需要進行合并處理的數據設置相應的標記位,并當所述臨時數據庫接收到所有的所述節點檢索結果數據時,按照所述標記位進行相應的處理。
[0051]在該技術方案中,在尚未接收到的所有節點的節點檢索結果數據之前,由于仍存在數據的交互,若直接對已接收到的數據進行處理,則可能導致數據出錯等問題,因此,只是先對需要處理的數據進行標記,待接收到所有數據之后,再按照標記位進行相應的處理,從而有利于數據的安全處理,避免數據出錯。
[0052]在上述技術方案中,優選地,還包括:監測當前的數據檢索狀態;其中,僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據。
[0053]在該技術方案中,通過對數據檢索狀態的監控,從而避免在數據處理過程中就向外部開放數據權限,防止對數據檢索和處理過程造成干擾,確保數據的準確性。
[0054]圖3示出了根據本發明的實施例的執行交叉多次檢索的具體流程示意圖。
[0055]如圖3所示,根據本發明的實施例的執行交叉多次檢索的具體流程包括:
[0056]步驟302,當接收到外部輸入的檢索條件語句之后,基于本發明的檢索系統開始檢索事務并初始化。
[0057]步驟304,將檢索條件語句拆分為多個。具體地,由于運用于內容分布式存儲的環境下,因而通過對檢索條件語句進行拆分,有利于降低語句的復雜度,從而分別從各個數據存儲節點進行檢索,以獲取對應的節點檢索結果數據。
[0058]步驟306,將得到的所有節點的節點檢索結果數據進行合并,得到對應于最初的檢索條件語句的檢索結果。具體地,可以通過建立臨時數據庫來接收每個數據節點的節點檢索結果數據,并在該臨時數據庫中完成對所有節點檢索結果數據的合并處理。其中,對于合并處理過程中需要進行刪除、修改等處理的數據,暫時通過修改其標記位進行標識,而不真正進行處理。
[0059]步驟308,監測臨時數據庫中的數據處理情況,若接收到所有數據節點的節點檢索結果數據,則進入步驟310,否則返回步驟306。
[0060]步驟310,判斷檢索事務終止。
[0061]步驟312,根據數據的標記位,對數據進行相應的處理。同時,開放系統對外輸出數據的接口,提供對本次檢索結果的查詢等操作。[0062]以上結合附圖詳細說明了本發明的技術方案,本發明提供了一種交叉多次檢索的系統和一種交叉多次檢索的方法,可以簡化數據查詢語句的復雜度,尤其在云計算技術中,更容易在按照內容分布式存儲的環境下實現多節點的數據聯合查詢。
[0063]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種交叉多次檢索的系統,其特征在于,包括分布式存儲管理器和檢索分離器,其中, 所述分布式存儲管理器用于記錄數據存儲節點的信息; 所述檢索分離器包括: 語句拆分單元,用于根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組; 語句發送單元,用于將所述語句組中的每條語句發送至對應的數據存儲節點; 節點結果接收單元,用于接收對應于每條語句的節點檢索結果數據; 檢索結果生成單元,用于根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。
2.根據權利要求1所述的交叉多次檢索的系統,其特征在于,所述數據存儲節點的信息包括地址和數據分類。
3.根據權利要求 1所述的交叉多次檢索的系統,其特征在于,還包括: 臨時數據庫,用于存儲所有的所述節點檢索結果數據;以及 所述檢索結果生成單元包括: 合并處理子單元,用于對存儲至所述臨時數據庫中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
4.根據權利要求3所述的交叉多次檢索的系統,其特征在于,所述檢索分離器還包括: 接收判斷單元,用于判斷所述臨時數據庫是否接收到所有的所述節點檢索結果數據;以及 所述檢索結果生成單元還包括: 標記子單元,用于在所述接收判斷單元的判斷結果為否的情況下,為需要進行合并處理的數據設置相應的標記位,以由所述合并處理子單元在所述判斷結果為是的情況下,按照所述標記位進行相應的處理。
5.根據權利要求1至4中任一項所述的交叉多次檢索的系統,其特征在于,所述檢索分離器還包括: 狀態檢測單元,用于監測當前的數據檢索狀態; 權限控制單元,用于控制所述系統僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據。
6.一種交叉多次檢索的方法,其特征在于,包括: 步驟202,根據已記錄的數據存儲節點的信息,將接收到的所述檢索條件語句拆分為對應于一個或多個所述數據存儲節點的語句組; 步驟204,將所述語句組中的每條語句發送至對應的數據存儲節點,以得到對應的節點檢索結果數據; 步驟206,根據所有的所述節點檢索結果數據,生成對應于所述檢索條件語句的檢索結果數據。
7.根據權利要求6所述的交叉多次檢索的方法,其特征在于,所述步驟202包括: 所述數據存儲節點的信息包括地址和數據分類。
8.根據權利要求6所述的交叉多次檢索的方法,其特征在于,所述步驟206還包括:將所有的所述節點檢索結果數據存儲至臨時數據庫; 對存儲至所述臨時數據庫中的數據進行合并處理,以生成對應于所述檢索條件語句的檢索結果數據。
9.根據權利要求8所述的交叉多次檢索的方法,其特征在于,所述步驟206還包括: 若所述臨時數據庫尚未接收到所有的所述節點檢索結果數據,則為需要進行合并處理的數據設置相應的標記位,并當所述臨時數據庫接收到所有的所述節點檢索結果數據時,按照所述標記位進行相應的處理。
10.根據權利要求6至9中任一項所述的交叉多次檢索的方法,其特征在于,還包括: 監測當前的數據檢索狀態; 其中,僅當完成對所述檢索條件語句的檢索操作時,才允許向外部提供相應的檢索結果數據 。
【文檔編號】G06F17/30GK103455641SQ201310455978
【公開日】2013年12月18日 申請日期:2013年9月29日 優先權日:2013年9月29日
【發明者】龔健, 張應才, 李登高 申請人:方正國際軟件有限公司, 方正國際軟件(北京)有限公司