[發明專利]一種用于實現在進程間進行數據交互訪問的方法及其裝置有效
| 申請號: | 201210001254.6 | 申請日: | 2012-01-04 |
| 公開(公告)號: | CN103197979B | 公開(公告)日: | 2017-05-03 |
| 發明(設計)人: | 李曉波;李永亮 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54 |
| 代理公司: | 隆天知識產權代理有限公司72003 | 代理人: | 張浴月,張龍哺 |
| 地址: | 開曼群島大開曼*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 用于 實現 進程 進行 數據 交互 訪問 方法 及其 裝置 | ||
1.一種用于實現在進程間進行數據交互訪問的方法,所述方法包括:
步驟1,將需要交互訪問的多個進程連接到同一個共享內存段;以及
步驟2,將所述多個進程中需要共享的數據結構分配到所述共享內存段,以使所述多個進程之間共享所述數據結構包含的成員變量的狀態關系,和/或所述數據結構產生的結果數據之間的關系;
在所述步驟1中,如果所述共享內存段的大小為N,N為正整數,所述共享內存段中的每一個頁面的大小為M,M為正整數,那么僅將所述共享內存段劃分為2的冪次方個內存分區來使用,其中一個所述內存分區為一個所述頁面,
并且所述共享內存段可分配的不同大小類型的數據的種類數L為:L=log2N-log2M,L為正整數,
并且通過指向一個或多個所述頁面來形成一個slab結構,其中一個所述slab結構被劃分成多個相同大小類型的對象,并且所述多個相同大小類型的對象用于分別存儲相應的相同大小類型的數據,以及
并且所述共享內存段最多具有L個所述slab結構,每個所述slab結構對應一種大小類型的數據。
2.根據權利要求1所述的方法,其中,
在所述步驟1中,如果所述多個進程中的至少兩個進程之間的關系是父子進程關系,就在父進程連接所述共享內存段并初始化所述共享內存段后再創建子進程。
3.根據權利要求1所述的方法,其中,
在所述步驟1中,如果所述多個進程之間的關系是非父子進程關系,則所述多個進程在連接所述共享內存段時,需要在各自的進程空間中指定相同的映射地址,以便映射到相同的所述共享內存段。
4.根據權利要求1所述的方法,其中,
在所述步驟2中,所述多個進程中需要共享的數據結構包括容器、結構、函數、數組、數據鏈中的一個或多個。
5.根據權利要求1所述的方法,其中,
在所述步驟2中,所述多個進程中需要共享的數據結構是標準模板庫容器。
6.根據權利要求1所述的方法,其中,
在所述步驟2中,通過設置在所述多個進程的地址空間中的指針來使用所述數據結構。
7.一種用于實現在進程間進行數據交互訪問的裝置,所述裝置包括:
連接模塊,用于將需要交互訪問的多個進程連接到同一個共享內存段;以及
分配模塊,用于將所述多個進程中需要共享的數據結構分配到所述共享內存段,以使所述多個進程之間共享所述數據結構包含的成員變量的狀態關系和/或所述數據結構產生的結果數據之間的關系;
在所述連接模塊中,如果所述共享內存段的大小為N,N為正整數,所述共享內存段中的每一個頁面的大小為M,M為正整數,那么僅將所述共享內存段劃分為2的冪次方個內存分區來使用,其中一個所述內存分區為一個所述頁面,
并且所述共享內存段可分配的不同大小類型的數據的種類數L為:L=log2N-log2M,L為正整數,
并且通過指向一個或多個所述頁面來形成一個slab結構,其中一個所述slab結構被劃分成多個相同大小類型的對象,并且所述多個相同大小類型的對象用于分別存儲相應的相同大小類型的數據,以及
并且所述共享內存段最多具有L個所述slab結構,每個所述slab結構對應一種大小類型的數據。
8.根據權利要求7所述的裝置,其中,
在所述連接模塊中,如果所述需要交互訪問的多個進程中的至少兩個進程之間的關系是父子進程關系,就在父進程連接所述共享內存段并初始化所述共享內存段后再創建子進程。
9.根據權利要求7所述的裝置,其中,
在所述連接模塊中,如果所述多個進程之間的關系是非父子進程關系,則所述多個進程在連接所述共享內存段時,需要在各自的進程空間中指定相同的映射地址,以便映射到相同的所述共享內存段。
10.根據權利要求7所述的裝置,其中,
在所述分配模塊中,所述多個進程中需要共享的數據結構包括容器、結構、函數、數組、數據鏈中的一個或多個。
11.根據權利要求7所述的裝置,其中,
在所述分配模塊中,所述多個進程中需要共享的數據結構是標準模板庫容器。
12.根據權利要求7所述的裝置,其中,
在所述分配模塊中,通過設置在所述多個進程的地址空間中的指針來使用所述數據結構。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210001254.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種聚乳酸微球及其制備方法
- 下一篇:一種無攪拌運動件的溶液攪拌方法及裝置





