本發明專利技術涉及多租戶應用系統。公開了一種用于在多租戶應用系統中處理物化表的裝置和方法,其中,在所述多租戶應用系統中,多個租戶共享一個或多個基表,該裝置包含:更新模式分析器,用于根據多個租戶的數據訪問歷史信息,分析所述多個租戶對所述一個或多個基表的更新的模式的相似程度;租戶分組器,用于按照更新模式分析器的所分析的相似程度,將所述多個租戶劃分為多個租戶分組;物化表構造器,用于根據租戶分組器劃分的租戶分組,由所述一個或多個基表構造與租戶分組對應的租戶分組物化表。
【技術實現步驟摘要】
本專利技術涉及多租戶應用,尤其涉及多租戶應用中數據庫的管理,更具體來說,涉及一種用于在多租戶應用系統中處理物化表的裝置。
技術介紹
多租戶應用系統,通過多租戶MT(Multi-Tenancy)技術,向軟件的用戶提供多租戶應用,即在服務提供商的服務器上運行軟件應用程序的單個實例,為多個租戶(例如企業之類的組織)提供軟件應用服務,由此能夠降低軟件應用程序的開發、部署和運行的費用。數據庫是一種系統化的數據組織,用于對數據進行有效而可靠的存儲、檢索和處理。數據庫由表組成,表中有一行一行的關聯數據。對數據的訪問和操作是通過查詢 (query)完成的。基本數據庫是一種數據庫,顧名思義,基本數據庫中含有基本數據。例如,用于商店每日的銷售數據的數據庫,包括商品、銷售數量、售價、售出時間。根據基本數據庫,就可以進行數據分析。例如,從商品的角度,計算出每一種商品每天的銷售總量;隨著時間的推移,計算出每一種商品每個月的銷售總量,計算出每一種商品每年的銷售總量。在本專利技術的上下文中,基本數據庫也被稱作基表BT (Basic Table)。由基表可以創建物化視圖MV(materialized View),亦稱物化表。物化表也是一種數據庫,可以存儲從基表導出的中間數據,例如上文所述的商品月銷售總量。使用物化表進行查詢,能利用物化表中的中間數據,可以減少復雜的查詢所需的計算量,所以可以提高查詢的效率。在大規模的多租戶應用系統中,廣泛采用物化表來提高數據查詢操作的效率。在這種情況下,多個租戶共享一個或多個基表以及與基表對應的物化表,通常在基表和物化表中用租戶標識符來區分數據所屬的租戶。在數據庫對物化表的設計中,基表與物化表之間,必須保持數據同步。當對基表進行增、刪、改等操作時,物化表需要刷新同步后才能被查詢和檢索,當物化表在刷新同步的過程中,物化表會被鎖定,這時,用戶的SQL查詢將不能利用物化表。例如,當在基表中增加新的一天的商品的銷售總量數據時,對應的物化表不能用,因為物化表中的商品的月銷售量尚未反映新增加的一天的商品銷售總量,如果使用物化表中的數據,結果是錯誤的。當對基表進行增、刪、改等操作后,物化表必須在其數據與修改后的基表的數據同步化后,才能被使用,例如,根據變化了的基表,重新導出或生成物化表,使物化表的商品月銷售總量包括新增加的一天的銷售總量。在采用物化表的多租戶應用系統中,不同的租戶對共享的基表可能有不同的更新模式--例如在不同的時間和/或以不同的頻率對基表進行數據的增、刪、改等更新操作。 如果共用基表和物化表的租戶很多,則在任何時候,都可能有租戶在對公用的一個或多個基表進行更新操作。由于物化表對應多個基表,從物化表的角度來看,基表的更新率總是很高。結果,物化表的刷新機率很大,被鎖定的頻率也很高,這使得租戶幾乎不可能使用物化表來提高查詢效率,從而影響租戶的業務操作的速度。
技術實現思路
專利技術人發現,對于有些租戶群來說,他們的對基表的更新模式在一定程度上具有一致性或相似性。據此,本專利技術提出按照租戶的更新模式的相似性構造MV,使更新模式一致或相似租戶共享同一個MV。一旦發生對基表的大規模更新,就暫時禁用(disable)對應的 MV,而直接使用基表,直到對應的MV與基表重新同步。按照本專利技術的一個方面,提供一種用于在多租戶應用系統中處理物化表的裝置, 其中,在所述多租戶應用系統中,多個租戶共享一個或多個基表,該裝置包含更新模式分析器,用于根據多個租戶的數據訪問歷史信息,分析所述多個租戶對所述一個或多個基表的更新的模式的相似程度;租戶分組器,用于按照更新模式分析器的所分析的相似程度,將所述多個租戶劃分為多個租戶分組;物化表構造器,用于根據租戶分組器劃分的租戶分組,由所述一個或多個基表構造租戶分組物化表。按照本專利技術的另一個方面,提供一種用于在多租戶應用系統中處理物化表的方法,其中,在所述多租戶應用系統中,多個租戶共享一個或多個基表,該方法包含根據多個租戶的數據訪問歷史信息,分析所述多個租戶對所述一個或多個基表的更新的模式的相似程度;按照所分析的相似程度,將所述多個租戶劃分為多個租戶分組; 根據租戶分組器劃分的租戶分組,由所述一個或多個基表構造租戶分組物化表。附圖說明所附權利要求中闡述了被認為是本專利技術的特點的創造性特征。但是,通過參照附圖閱讀下面對示例性實施例的詳細說明可更好地理解專利技術本身以及其使用模式、另外的目標、特征以及優點,在附圖中圖1示例性表示基表與物化表的關系;圖2示意性表示一種可在其中實施本專利技術實施例的多租戶應用系統的體系結構;圖3A表示可在圖2A的體系結構中實現的按照本專利技術實施例的裝置和系統;圖;3B示意性表示按照本專利技術實施例構造的租戶分組物化表與基表的關系; 圖4A和4B示例性地表示反映租戶的更新模式的數據和圖表;圖5A和5B示例性地表示對圖4A的數據作進一步處理后得到的數據和圖表;圖6A和6B示例性地對圖4A和4B數據和圖表的處理;圖7示意性表示作為歷史信息源的部分日志內容;圖8示例性地表示按照本專利技術實施例的方法的總體流程圖。具體實施例方式下面參照附圖來說明本專利技術的實施例。在下面的說明中,闡述了許多具體細節以便更全面地了解本專利技術。但是,對于本
內的技術人員很明顯,本專利技術的實現可不具有這些具體細節。此外,應當理解的是,本專利技術并不限于所介紹的特定實施例。相反,可以考慮用下面的特征和元素的任意組合來實施和實踐本專利技術。而無論它們是否涉及不同的實施例。因此,下面的方面、特征、實施例和優點僅作說明之用而不應被看作是所附權利要求的要素或限定,除非權利要求中明確提出。參看圖1,該圖示例性地表示基表與物化表的關系。圖1中左側表示基表BT,右側表示基表對應的物化表MVO。圖1中例示了三個基表,即“EMPLOYEE” (職員)、“SALARY”(工資)、 “SALARYITEM” (工資項)。基表“EMPLOYEE”的屬性包括主鍵EMP_ID (職員標識)和NAME (姓名)。基表“SALARY”的屬性包括主鍵SAL_ID (工資標識)、外鍵EMP_ID (職員標識)和 MONTH(月份)。基表“SALARYITEM”的屬性包括主鍵SI_ID(工資項標識)、外鍵SAL_ID(工資標識)、WORKITEM(工作項)、WORKTIME (工作時間)和INCOME (收入)。三個基表之間可以通過主外鍵相關聯。例如,基表“EMPLOYEE”與基表“SALARY” 之間,通過基表“EMPLOYEE”的主鍵(PK)EMP_ID與基表“SALARY”的外鍵(H()EMP_ID關聯; 同樣,基表“SALARY”與基表“SALARYITEM”之間,通過基表“SALARY”的主鍵(PK) SAL_ID 與基表“SALARYITEM”的外鍵(FK) SAL_ID關聯,由此,三個基表“EMPLOYEEL”、"SALARY,,和 “SALARYITEM”之間就能實現關聯。通過這種關聯,可以構造物化表。數據庫模式定義語言DDL (Data Definition Language),是用于描述數據庫中要存儲的現實世界實體的語言。數據庫系統通常用DDL腳本(script)來構造物化表。以下是為上述三個基表EMPLOYEE、SALARY、SALARYITE本文檔來自技高網...
【技術保護點】
1.一種用于在多租戶應用系統中處理物化表的裝置,其中,在所述多租戶應用系統中,多個租戶共享一個或多個基表,該裝置包含:更新模式分析器,用于根據多個租戶的數據訪問歷史信息,分析所述多個租戶對所述一個或多個基表的更新的模式的相似程度;租戶分組器,用于按照更新模式分析器所分析得到的相似程度,將所述多個租戶劃分為多個租戶分組;物化表構造器,用于根據租戶分組器劃分的租戶分組,基于所述一個或多個基表構造租戶分組物化表。
【技術特征摘要】
【專利技術屬性】
技術研發人員:安文豪,王芝虎,郭常杰,高波,段寧,
申請(專利權)人:國際商業機器公司,
類型:發明
國別省市:US
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。