1.一種基于分布式服務器集群的數據計算方法,其特征在于,所述分布式服務器集群包括任務劃分子集群、數據讀取子集群以及數據計算子集群;其中,所述分布式服務器集群中的服務器均為多線程服務器,所述方法包括:
任務劃分子集群中的服務器在接收到計算任務時,分別向數據讀取子集群中的服務器并行發(fā)起調用;
數據讀取子集群中的服務器響應所述任務劃分子集群中的服務器發(fā)起的調用,從與所述調用的發(fā)起方對應的數據庫分表中并行讀取預設數量的待計算數據條目;
所述數據讀取子集群中的服務器分別向數據計算子集群中的服務器并行發(fā)起調用,將讀取到的所述預設數量的待計算數據條目下發(fā)至數據計算子集群中的服務器,以由所述數據計算子集群中的服務器基于接收到的所述待計算數據條目執(zhí)行多線程的并行計算。
2.根據權利要求1所述的方法,其特征在于,所述任務劃分子集群中的服務器均在本地維護了對應的數據庫分表;所述數據庫分表包括待計算數據條目以及與所述待計算數據條目對應的計算狀態(tài);其中,所述計算狀態(tài)包括初始狀態(tài)、待計算狀態(tài)、計算完成狀態(tài)以及重算狀態(tài)。
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
所述任務劃分子集群中的服務器基于預設策略,動態(tài)維護所述數據庫分表中各待計算數據條目的計算狀態(tài);
其中,所述預設策略包括:
定時將所述數據庫分表中的數據條目,設置為初始狀態(tài);
當任一數據條目計算完成時,將該數據條目設置為計算完成狀態(tài);
當接收到任一數據條目的計算參數或者任一數據條目的計算參數發(fā)生更新時,如果該數據條目為初始狀態(tài),將該數據條目設置為待計算狀態(tài);如果該數據條目為計算完成狀態(tài),將該數據條目設置為重算狀態(tài)。
4.根據權利要求1所述的方法,其特征在于,所述計算任務包括定時計算任務以及實時計算任務;
所述方法還包括:
所述數據讀取子集群中的服務器在從所述數據庫分表中讀取待計算數據條目時,如果所述計算任務為定時計算任務,優(yōu)先讀取所述待計算狀態(tài)的數據條目;
所述數據讀取子集群中的服務器在從所述數據庫分表中讀取待計算數據條目時,如果所述計算任務為實時計算任務,優(yōu)先讀取重算狀態(tài)的數據條目。
5.根據權利要求1所述的方法,其特征在于,所述任務劃分子集群中的服務器提供批量訪問接口,以使數據讀取子集群中的服務器響應所述任務劃分子集群中的服務器發(fā)起的調用時,從與所述調用的發(fā)起方對應的數據庫分表中批量讀取待計算數據條目。
6.根據權利要求1所述的方法,其特征在于,所述將讀取到的所述預設數量的待計算數據條目提交至所述數據計算子集群中的服務器,包括:
將讀取到的所述預設數量的待計算數據條目進行拼接,得到目標字符串;
將所述目標字符串下發(fā)至所述數據計算子集群中的服務器,以由所述數據計算子集群中的服務器針對所述目標字符串執(zhí)行拆分,得到所述預設數量的待計算數據條目。
7.一種基于分布式服務器集群的數據計算系統(tǒng),其特征在于,所述分布式服務器集群中的服務器均為多線程服務器;所述分布式服務器集群包括任務劃分子集群、數據讀取子集群以及數據計算子集群;其中:
任務劃分子集群,任務劃分子集群中的服務器在接收到計算任務時,分別向數據讀取子集群中的服務器并行發(fā)起調用;
數據讀取子集群,數據讀取子集群中的服務器響應所述任務劃分子集群中的服務器發(fā)起的調用,從與所述調用的發(fā)起方對應的數據庫分表中并行讀取預設數量的待計算數據條目;以及,所述數據讀取子集群中的服務器分別向數據計算子集群中的服務器并行發(fā)起調用,將讀取到的所述預設數量的待計算數據條目提交至所述數據計算子集群中的服務器;
數據計算子集群,基于接收到的所述待計算數據條目執(zhí)行多線程的并行計算。
8.根據權利要求7所述的系統(tǒng),其特征在于,所述任務劃分子集群:
所述任務劃分子集群中的服務器均在本地維護了對應的數據庫分表;所述數據庫分表包括待計算數據條目以及與所述待計算數據條目對應的計算狀態(tài);其中,所述計算狀態(tài)包括初始狀態(tài)、待計算狀態(tài)、計算完成狀態(tài)以及重算狀態(tài)。
9.根據權利要求8所述的系統(tǒng),其特征在于,所述任務劃分子集群:
所述任務劃分子集群中的服務器基于預設策略,動態(tài)維護所述數據庫分表中各待計算數據條目的計算狀態(tài);
其中,所述預設策略包括:
定時將所述數據庫分表中的數據條目,設置為初始狀態(tài);
當任一數據條目計算完成時,將該數據條目設置為計算完成狀態(tài);
當接收到任一數據條目的計算參數或者任一數據條目的計算參數發(fā)生更新時,如果該數據條目為初始狀態(tài),將該數據條目設置為待計算狀態(tài);如果該數據條目為計算完成狀態(tài),將該數據條目設置為重算狀態(tài)。
10.根據權利要求7所述的系統(tǒng),其特征在于,所述計算任務包括定時計算任務以及實時計算任務;
所述數據讀取子集群:
所述數據讀取子集群中的服務器在從所述數據庫分表中讀取待計算數據條目時,如果所述計算任務為定時計算任務,優(yōu)先讀取所述待計算狀態(tài)的數據條目;
所述數據讀取子集群中的服務器在從所述數據庫分表中讀取待計算數據條目時,如果所述計算任務為實時計算任務,優(yōu)先讀取重算狀態(tài)的數據條目。
11.根據權利要求7所述的系統(tǒng),其特征在于,所述任務劃分子集群:
所述任務劃分子集群中的服務器提供批量訪問接口,以使數據讀取子集群中的服務器響應所述任務劃分子集群中的服務器發(fā)起的調用時,從與所述調用的發(fā)起方對應的數據庫分表中批量讀取待計算數據條目。
12.根據權利要求7所述的系統(tǒng),其特征在于,所述數據讀取子集群:
所述數據讀取子集群中的服務器將讀取到的所述預設數量的待計算數據條目進行拼接,得到目標字符串,并將所述目標字符串下發(fā)至所述數據計算子集群中的服務器,以由所述數據計算子集群中的服務器針對所述目標字符串執(zhí)行拆分,得到所述預設數量的待計算數據條目。