[發明專利]一種可保持janusGraph數據一致性的分布式高效并行加載方法有效
| 申請號: | 202011622773.5 | 申請日: | 2020-12-31 |
| 公開(公告)號: | CN112685419B | 公開(公告)日: | 2021-09-10 |
| 發明(設計)人: | 謝銘;蒲路;孟憲文 | 申請(專利權)人: | 北京賽思信安技術股份有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22;G06F16/23;G06F16/2458;G06F16/27;G06F9/54 |
| 代理公司: | 北京永創新實專利事務所 11121 | 代理人: | 易卜 |
| 地址: | 100125 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保持 janusgraph 數據一致性 分布式 高效 并行 加載 方法 | ||
1.一種可保持janusGraph數據一致性的分布式高效并行加載方法,其特征在于,具體步驟如下:
步驟一、構建包括集群管理模塊、消息隊列模塊、數據處理模塊、點處理模塊和分布式索引模塊的高效加載分布式結構;
集群管理模塊負責給各節點分配要處理的隊列任務區間,消息隊列模塊負責數據的跨節點傳輸,數據處理模塊與分布式索引模塊配合工作,負責從消息隊列獲取圖數據并進行加載,點處理模塊和分布式索引模塊配合工作,負責從消息隊列獲取點數據并進行處理;
步驟二、初始化消息隊列模塊,創建兩個空的消息隊列:第一分布式隊列和第二分布式隊列;
步驟三、終端用戶調用API接口,從CSV文件或其他消息隊列中實時接收數據,并解析后存入第一分布式隊列中;
解析是指將接收的數據解析為json結構;
每條數據由點邊點結構組成,具體包括:起始點的屬性,終止點的屬性,邊的屬性,起始點的標簽,終止點的標簽,邊的標簽,起始點的唯一標志和終止點的唯一標志;
步驟四、數據處理模塊從第一分布式隊列中逐條取出數據,調用分布式索引模塊將數據加載或更新到圖數據庫中;
分布式索引模塊中存儲的是每個點的唯一標志和該點ID之間的映射關系;
具體為:
首先,針對當前數據a,根據起始點a1和終止點b1的唯一標志,利用分布式索引模塊找到兩個點的映射ID;
然后,判斷兩個ID是否都存在于圖數據庫中,如果是,將當前數據a的所有信息更新到圖數據庫中;否則,數據a重新回到第一分布式隊列中繼續排隊,并將未獲取到ID的點對應的唯一標志放入第二分布式隊列的指定分區中;
步驟五、點處理模塊從第二分布式隊列中逐條獲取各點的唯一標志,針對當前點對應的唯一標志S,判斷能否從分布式索引模塊獲取S對應的ID,如果能,則繼續獲取下一個標志進行判斷;否則,將S加載到圖數據庫中,并產生對應的ID;同時將S與ID的對應關系放入分布式索引模塊中,然后選擇下一個標志進行判斷;
步驟六、集群管理模塊找尋主節點,并對各子節點分發任務,各子節點并行處理各自的分布式隊列分區中的數據,實現實時數據一致性的高效并行加載;
加入集群最早的節點為主節點;每個子節點都包括第一分布式隊列和第二分布式隊列中的分區,不同子節點對應不同的分區區間。
2.如權利要求1所述的一種可保持janusGraph數據一致性的分布式高效并行加載方法,其特征在于,步驟一中所述集群管理模塊,消息隊列模塊和分布式索引模塊都同時連接數據處理模塊和點處理模塊。
3.如權利要求1所述的一種可保持janusGraph數據一致性的分布式高效并行加載方法,其特征在于,步驟二中所述的第一分布式隊列用于存放原始圖數據;第二分布式隊列用于存放處理時的點數據;每個消息隊列里有若干分區。
4.如權利要求1所述的一種可保持janusGraph數據一致性的分布式高效并行加載方法,其特征在于,所述步驟四中,數據a中未獲取到ID的點放入哪個分區,是由點對應的唯一標志的哈希值對第二分布式隊列的分區數取模決定。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京賽思信安技術股份有限公司,未經北京賽思信安技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011622773.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種消防水帶延時接頭
- 下一篇:一種超大硫化機





