1.一種圖數(shù)據(jù)處理方法,其特征在于,包括:
根據(jù)待處理請求的類型,將所述待處理請求寫入圖更新任務(wù)隊列或圖分析任務(wù)隊列,所述待處理的請求的類型包括圖更新請求和圖分析請求;
根據(jù)所述圖更新任務(wù)隊列和圖分析任務(wù)隊列中各任務(wù)的第一特性確定所述各任務(wù)的運行順序;
根據(jù)所述運行順序運行所述各任務(wù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述運行順序運行所述各任務(wù)包括:
根據(jù)當前待運行任務(wù)涉及數(shù)據(jù)的分布式分區(qū)信息,將當前待運行任務(wù)分配到對應(yīng)的計算資源運行。
3.如權(quán)利要求1所述的方法,其特征在于,所述第一特性包括以下任意一個或組合:時間戳、時效性、優(yōu)先級、數(shù)據(jù)依賴特征。
4.如權(quán)利要求1所述的方法,其特征在于,確定所述各任務(wù)的運行順序之后,根據(jù)讀寫鎖的狀態(tài)確定第一順位任務(wù)是否為所述當前待運行任務(wù);
所述讀寫鎖的狀態(tài)在任務(wù)運行時被修改為已占用,在任務(wù)運行結(jié)束或暫停時被修改為未占用。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)讀寫鎖的狀態(tài)確定第一順位任務(wù)是否為所述當前待運行任務(wù)包括以下任意一個或組合:
在讀寫鎖的狀態(tài)為未占用時,確定所述第一順位任務(wù)為所述當前待運行任務(wù);
在讀寫鎖的狀態(tài)為已占用時,若當前運行任務(wù)為純讀圖分析任務(wù),確定所述第一順位任務(wù)為所述當前待運行任務(wù);
在讀寫鎖的狀態(tài)為已占用時,若當前運行任務(wù)為非純讀圖分析任務(wù)或圖更新任務(wù),暫停所述第一順位任務(wù),待下一個周期,重新判斷讀寫鎖的狀態(tài)。
6.如權(quán)利要求1所述的方法,其特征在于,確定所述各任務(wù)的運行順序之 后,判斷第一順位任務(wù)是否為對時間和/或資源消耗大于設(shè)定閾值的圖分析任務(wù),若是,則將所述第一順位任務(wù)拆分為多個任務(wù),間隔運行所述多個任務(wù),待所述多個任務(wù)運行結(jié)束,合并圖分析結(jié)果,完成所述第一順位任務(wù)。
7.如權(quán)利要求1所述的方法,其特征在于,在運行任務(wù)之后,監(jiān)測所述任務(wù)是否運行超時,若是,暫停所述任務(wù),待下一個周期,重新啟動所述任務(wù)。
8.如權(quán)利要求1所述的方法,其特征在于,在運行圖更新任務(wù)之后,將內(nèi)存映射對象同時存儲到緩存區(qū)和磁盤;
在運行圖分析任務(wù)時,從所述緩存區(qū)獲取數(shù)據(jù);
若所述圖分析任務(wù)涉及的數(shù)據(jù)不在緩存區(qū),從所述磁盤獲取數(shù)據(jù)。
9.如權(quán)利要求1所述的方法,其特征在于,所述將內(nèi)存映射對象存儲到緩存區(qū)時,對內(nèi)存映射對象進行處理,分為增量更新對象以及熱點對象。
10.如權(quán)利要求1所述的方法,其特征在于,在進行圖存儲時包括:
根據(jù)圖的數(shù)據(jù)特征確定所述圖為稀疏圖或稠密圖;
根據(jù)所述圖的計算特征確定所述圖為頂點為主或邊為主;
根據(jù)所述圖的數(shù)據(jù)特征和計算特征確定所述圖的分割算法,對所述圖的數(shù)據(jù)進行分割存儲。
11.一種圖數(shù)據(jù)處理裝置,其特征在于,包括:
圖更新任務(wù)隊列,用于寫入圖更新任務(wù);
圖分析任務(wù)隊列,用于寫入圖分析任務(wù);
調(diào)度器,用于根據(jù)所述圖更新任務(wù)隊列和圖分析任務(wù)隊列中各任務(wù)的第一特性確定所述各任務(wù)的運行順序,將當前待運行任務(wù)分配到對應(yīng)的計算資源運行。
12.如權(quán)利要求11所述的裝置,其特征在于,包括分區(qū)識別器,用于將當前待運行任務(wù)涉及數(shù)據(jù)的分布式分區(qū)信息提供給所述調(diào)度器。
13.如權(quán)利要求11所述的裝置,其特征在于,包括讀寫鎖模塊,用于保存讀寫鎖的狀態(tài),所述讀寫鎖的狀態(tài)在任務(wù)運行時被修改為已占用,在任務(wù)運行 結(jié)束或暫停時被修改為未占用;
所述調(diào)度器在確定所述各任務(wù)的運行順序之后,根據(jù)讀寫鎖的狀態(tài)確定第一順位任務(wù)是否為所述當前待運行任務(wù);
14.如權(quán)利要求13所述的裝置,其特征在于,所述調(diào)度器根據(jù)讀寫鎖的狀態(tài)確定第一順位任務(wù)是否為所述當前待運行任務(wù)包括以下任意一個或組合:
在讀寫鎖的狀態(tài)為未占用時,確定所述第一順位任務(wù)為所述當前待運行任務(wù);
在讀寫鎖的狀態(tài)為已占用時,若當前運行任務(wù)為純讀圖分析任務(wù),確定所述第一順位任務(wù)為所述當前待運行任務(wù);
在讀寫鎖的狀態(tài)為已占用時,若當前運行任務(wù)為非純讀圖分析任務(wù)或圖更新任務(wù),暫停所述第一順位任務(wù),待下一個周期,重新判斷讀寫鎖的狀態(tài)。
15.如權(quán)利要求11所述的裝置,其特征在于,所述調(diào)度器在確定所述各任務(wù)的運行順序之后,判斷第一順位任務(wù)是否為對時間和/或資源消耗大于設(shè)定閾值的圖分析任務(wù),若是,則將所述第一順位任務(wù)拆分為多個任務(wù),間隔運行所述多個任務(wù),待所述多個任務(wù)運行結(jié)束,合并圖分析結(jié)果,完成所述第一順位任務(wù)。
16.如權(quán)利要求11所述的裝置,其特征在于,所述調(diào)度器在運行任務(wù)之后,監(jiān)測所述任務(wù)是否運行超時,若是,暫停所述任務(wù),待下一個周期,重新啟動所述任務(wù)。
17.一種圖數(shù)據(jù)處理系統(tǒng),其特征在于,包括:
服務(wù)接口層,包括更新接口和分析接口,所述更新接口用于接收數(shù)據(jù)更新任務(wù)寫入更新任務(wù)隊列;所述分析接口用于接收數(shù)據(jù)分析任務(wù)寫入分析任務(wù)隊列;
任務(wù)調(diào)度層,包括如權(quán)利要求11至16所述的裝置;
圖計算引擎,用于進行任務(wù)的圖更新操作和/或圖分析操作;
圖存儲引擎,用于存儲圖。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述圖存儲引擎包括緩存區(qū)和磁盤;
所述圖計算引擎在運行圖更新任務(wù)之后,將內(nèi)存映射對象同時存儲到緩存區(qū)和磁盤,并且,在任務(wù)為圖分析任務(wù)時,從所述緩存區(qū)獲取數(shù)據(jù),若所述圖分析任務(wù)涉及的數(shù)據(jù)不在緩存區(qū),從所述磁盤獲取數(shù)據(jù)。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,所述圖存儲引擎將內(nèi)存映射對象存儲到緩存區(qū)時,對內(nèi)存映射對象進行處理,分為增量更新對象以及熱點對象。
20.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述圖存儲引擎包括:。
圖數(shù)據(jù)特征分析器,用于根據(jù)圖的數(shù)據(jù)特征確定所述圖為稀疏圖或稠密圖;
圖計算特征分析器,用于根據(jù)所述圖的計算特征確定所述圖為頂點為主或邊為主;
圖存儲分割管理器,用于根據(jù)所述圖的數(shù)據(jù)特征和計算特征確定所述圖的分割算法,對所述圖的數(shù)據(jù)進行分割存儲。
21.如權(quán)利要求17所述的系統(tǒng),其特征在于,還包括監(jiān)控核心,用于實時搜集所述圖計算引擎和所述圖存儲引擎的資源負載情況,實時將監(jiān)控信息轉(zhuǎn)換為可度量的圖計算調(diào)度評估因子,提供給所述任務(wù)調(diào)度層的調(diào)度器;
所述調(diào)度器,還根據(jù)所述圖計算調(diào)度評估因子評估調(diào)度任務(wù)分配。