[發明專利]對象關系映射系統的動態代理系統和方法在審
| 申請號: | 201310198359.X | 申請日: | 2013-05-24 |
| 公開(公告)號: | CN104182410A | 公開(公告)日: | 2014-12-03 |
| 發明(設計)人: | 鄭偉;黃科 | 申請(專利權)人: | 利德科技發展有限公司;北京方正阿帕比技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F9/44 |
| 代理公司: | 北京友聯知識產權代理事務所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 409000 重*** | 國省代碼: | 重慶;85 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 對象 關系 映射 系統 動態 代理 方法 | ||
技術領域
本發明涉及計算機技術領域,具體而言,涉及一種對象關系映射系統的動態代理系統和一種對象關系映射系統的動態代理方法。
背景技術
在面向對象(OO)軟件產品設計中,設計者們在面對諸如MySQL、MSSQL、ORACLE這類由關系數據庫組成的關系數據庫管理系統時,對象關系映射方案(ORM,Object/Relation?Mapping)逐漸成為主流技術。ORM系統管理著關系數據模型與對象模型(Object?Model)的關系,通常關系數據模型(NRDM)與對象模型一一對應,NRDM中一張表的結構對應對象模型中一個實體類的結構,表中的字段則對應實體對象的屬性,表中的一行記錄又對應著一個實體對象(Entity?Object)。從而,ORM系統的對象模型靈活地對接了關系數據庫管理系統,隔離了關系數據模型。開發人員無需關注關系數據模型與對象模型的矛盾,只需在數據訪問層(DAO)傳遞對象模型,ORM會智能地把對象模型匹配到具體的關系數據模型上,觸發關系數據庫管理系統進行數據訪問請求。如今業界也有很多成熟并且被廣泛應用的ORM映射方案,例如Hibernate、MyBatis、Apache?OJB等。它們面對處理對象模型相對固定的模式時,完全能夠智能地提供基于對象模型的ORM映射方案,因為它們將關系數據模型與對象模型的對應關系在ORM系統中進行了約定配置(聲明式配置),也就是所謂的靜態映射。然而,隨著企業應用不斷的發展,商業需求對ORM系統的映射方案不再停留在靜態映射的層面上,面對海量用戶數據以及高訪問量的大型企業應用,許多系統采用了分庫分表的架構,部分應用還存在系統上線后期,客戶自定義字段的需求。如果一個系統根據商業需求采用了分表策略(例如,電子商務系統通常對用戶訂單相關表采用分表存儲),則意味著自身的ORM系統必須支持一個對象模型對應多個關系數據模型;針對后期客戶自定義字段也意味著需要修改ORM系統中的關系數據模型以及實體對象模型,甚至修改關系數據庫中表結構,遷移舊數據等繁瑣的工作。那么此時傳統的ORM靜態映射方案就不再那么智能,這就需要提供一種動態映射的技術方案。
發明內容
考慮到相關技術中出現的技術問題,本發明所要解決的技術問題在于,提供一種對象關系映射系統的動態代理技術,支持動態映射且簡單可行。
有鑒于此,根據本發明的一個方面,提供了一種對象關系映射系統的動態代理系統,包括:攔截單元,用于攔截根據所述客戶端向服務器發送的數據請求生成的映射請求;判斷單元,用于判斷是否需為所述映射請求提供動態映射支持;解析單元,用于在需提供所述動態映射支持時,根據所述映射請求解析映射參數;動態映射單元,用于根據所述映射參數將所述對象關系映射系統中的對象模型與關系數據模型進行動態映射;訪問單元,用于基于動態映射后的對象模型進行數據訪問,將訪問結果反饋至所述客戶端。
在需為映射請求提供動態映射支持,本發明可解析映射參數,根據映射參數對對象模型與關系數據模型進行動態映射,并與原對象關系映射系統進行良好對接,簡單可行。
在上述技術方案中,優選的,所述動態映射單元可以包括:映射對象更換子單元,用于在所述映射參數包含指定關系數據模型的名稱和對象模型的名稱時,在所述對象關系映射系統中,將所述對象模型映射至所述指定關系數據模型,所述對象關系映射系統基于動態映射后的所述對象模型,對所述指定關系數據模型進行數據訪問。
可以在橫向方向上更改對象模型的映射對象,避免一個對象模型對應多個關系數據模型的復雜映射關系,實現橫向動態映射。
在上述技術方案中,優選的,所述動態映射單元可以包括:屬性更新子單元,用于在所述映射參數包含所述對象模型的更新屬性時,根據所述更新屬性將擴展字段寫入與所述對象模型對應的擴展關系數據模型中,所述對象關系映射系統基于更新屬性的所述對象模型,對與所述對象模型對應的原關系數據模型和所述擴展關系數據模型進行數據訪問。
可以在縱向方向上實現對象模型的屬性的更新并相應地將對應的擴展字段寫入對應的擴展關系數據模型中,無需修改原對象關系映射系統中的原關系數據模型和實體對象模型,實現縱向動態映射。
在上述任一技術方案中,優選的,還可以包括:適配器,用于使經過動態映射的對象模型與關系數據模型適配所述對象關系映射系統。
通過適配器可使對象關系映射系統的動態代理系統與原對象關系映射系統良好對接,保證了系統風格的一致性,也便于后期維護。
在上述技術方案中,優選的,所述判斷單元根據預設動態映射數據范圍,判斷是否為所述映射請求提供所述動態映射支持。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于利德科技發展有限公司;北京方正阿帕比技術有限公司;,未經利德科技發展有限公司;北京方正阿帕比技術有限公司;許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310198359.X/2.html,轉載請聲明來源鉆瓜專利網。





