[發明專利]處理數據庫查詢結果集的方法和設備有效
| 申請號: | 201210563722.9 | 申請日: | 2012-12-21 |
| 公開(公告)號: | CN103885984B | 公開(公告)日: | 2018-05-04 |
| 發明(設計)人: | 鄭王力;王夕寧;孫杰;趙忠 | 申請(專利權)人: | 國際商業機器公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市金杜律師事務所11256 | 代理人: | 酆迅,趙林琳 |
| 地址: | 美國紐*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理 數據庫 查詢 結果 方法 設備 | ||
技術領域
本發明涉及數據庫技術,更具體地,涉及處理數據庫查詢結果集的方法和設備。
背景技術
在現代企業應用系統中,數據庫管理系統(DBMS)占據了非常重要的位置,大多數應用需要向數據庫存儲持久化數據。對于這些應用,應用自身和數據庫的設計及運行時環境均是關乎系統性能的重要因素。但是,在某些情形下,應用和數據庫之間的連接方式和操作機制,特別是對于數據庫查詢結果集的處理方法,也是影響系統性能至關重要的因素。
每一種編程語言均具有其數據庫訪問接口或者標準。例如,在Java EE技術中,Java Database Connectivity(JDBC)被設計為用于向數據庫添加、修改、去除以及查詢數據的標準應用編程接口(API);由微軟公司提出的Open Database Connectivity(ODBC)是另一種提供連接性的標準。這些接口和組件已經被廣泛地用于實踐中,并且它們在與數據庫的交互和處理方式上具有大致相同的機制。
圖1示意性描述了使用現有技術(例如JDBC)的數據庫客戶端對數據庫執行查詢操作的處理流程。
如圖1所示,在步驟S110,數據庫客戶端打開到數據庫服務器的連接。接著在步驟S120,由數據庫服務器執行請求的查詢操作。在步驟S130,返回表示查詢結果的查詢結果集。
步驟S140示出了在現有技術中在數據庫客戶端中處理數據庫查詢結果集的流程。在現有技術方案中,對于查詢結果集的處理是串行執行的。只有在當前行已經被解析和讀取后,用戶才能移動光標到下一行接著處理。在步驟S141中,以串行方式逐行加載原始數據流,解析從數據庫服務器返回的數據庫查詢結果集。在步驟S142-S144中示意性地示出了逐行讀取查詢結果集數據進行處理的串行過程。
在步驟S150中,數據庫客戶端讀取完畢后關閉與數據庫服務器的連接。
許多查詢操作需要一次性返回大量的數據記錄,例如業務報表、數據分析、商業智能以及業務要求的一次性查詢顯示大量數據。這時,現有的串行處理過程所耗費的時間會隨著返回的數據量成線性增長。特別地,當應用需要從數據庫查詢大量數據,且要求很小的響應時間時,現有的串行處理機制將無法滿足需要。而且,現有的處理機制雖然簡單易行,但是其單線程的運行方式無法充分利用現代多核處理器所帶來的處理性能的擴展。
在現有技術中沒有提供解決上述技術問題的解決方案。
發明內容
為了解決現有技術中存在的問題,本發明的實施方式提供一種用于處理數據庫查詢結果集的解決方案,其中通過事件驅動來執行對于數據庫查詢結果集的并行處理。
根據本發明的一個方面,提供了一種用于處理數據庫查詢結果集的方法。該方法包括讀取數據庫查詢結果集的所有原始數據;生成多個事件,其中多個事件中的每個事件包括至少指示該事件序號的標頭信息以及主體信息,該主體信息包括對應于數據庫查詢結果集的至少部分原始數據;對多個事件進行并行處理以返回各個事件的處理結果;以及按照標頭信息對返回的事件處理結果進行排序。
根據本發明的另一個方面,提供了一種數據庫客戶端。該數據庫客戶端包括執行結果管理器,被配置用于讀取數據庫查詢結果集的所有原始數據,并且被配置用于生成多個事件,其中多個事件中的每個事件包括至少指示該事件序號的標頭信息以及主體信息,該主體信息包括對應于數據庫查詢結果集的至少部分原始數據;事件處理管理器,被配置用于對多個事件進行并行處理以向執行結果管理器返回各個事件的處理結果,其中執行結果管理器還被配置用于按照標頭信息對返回的事件處理結果進行排序。
根據本發明的另一個方面,提供了一種用于處理數據庫查詢結果集的裝置。該用于處理數據庫查詢結果集的裝置包括用于讀取數據庫查詢結果集的所有原始數據的裝置;用于生成多個事件的裝置,其中多個事件中的每個事件包括至少指示該事件序號的標頭信息以及主體信息,主體信息包括對應于數據庫查詢結果集的至少部分原始數據;用于對多個事件進行并行處理以返回各個事件的處理結果的裝置;以及用于按照標頭信息對返回的事件處理結果進行排序的裝置。
根據本發明的另一個方面,提供了一種計算機程序產品。該計算機程序產品包括可由處理器執行的計算機程序代碼,當通過處理器運行計算機程序代碼時能夠執行根據本發明實施方式的用于處理數據庫查詢結果集的方法。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于國際商業機器公司,未經國際商業機器公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210563722.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種電力線纜生產裝置
- 下一篇:電纜剝皮裝置及回收系統





