新四季網

一種伺服器集群處理系統及方法與流程

2023-09-20 04:10:35


本發明涉及數據處理技術領域,特別是涉及一種伺服器集群處理系統及方法。



背景技術:

面向客戶端的伺服器可以直接響應客戶端發送的業務請求,如果業務請求中具有大量視圖處理請求,這些請求需要大量的計算處理,客戶端事件處理中包括大量數據的抽出、計算、生成處理,需要使用大量的系統資源。因此,直接面向客戶端的伺服器的工作負擔將急劇增大,可能導致處理不及時或死機等情況的發生。



技術實現要素:

本發明提供一種伺服器集群處理系統及方法,通過和連接伺服器相連的前端伺服器處理視圖註冊類客戶端事件,實現了通過前端伺服器分擔直接面向客戶端的連接伺服器的工作負擔,提高了伺服器系統的處理效率,保證了客戶端事件的處理速度和服務質量。

一方面,本發明提供了一種伺服器集群處理系統,包括:連接伺服器、消息伺服器和至少一個前端伺服器,所述前端伺服器包括前端伺服器緩存引擎和前端伺服器會話控制模型;

所述連接伺服器,用於接收客戶端發送的客戶端事件,若所述客戶端事件為視圖註冊類事件,則判斷所述連接伺服器是否有所述客戶端事件對應的視圖註冊類事件處理器,若無,則發送所述客戶端事件至所述消息伺服器;

所述前端伺服器緩存引擎,用於監聽所述消息伺服器,獲取所述客戶端事件,處理所述客戶端事件得到客戶端事件處理結果列表,發送所述客戶端事件和所述客戶端事件處理結果列表至所述前端伺服器會話控制模型;

所述前端伺服器會話控制模型,用於分別處理所述客戶端事件和所述客戶端事件處理結果列表,得到客戶端事件處理結果,並發送所述客戶端事件處理結果至所述消息伺服器;

所述連接伺服器,還用於監聽所述消息伺服器,並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至所述客戶端。

本發明的有益效果是:連接伺服器將接收到的視圖註冊類客戶端事件發送至消息伺服器,前端伺服器在監聽到視圖註冊類客戶端事件後對其進行處理,並且分不同情況對不同類型的客戶端事件分別處理,既分擔了連接伺服器的工作負擔,又保證了伺服器系統對客戶端事件的處理質量。

另一方面,本發明還提供了一種伺服器集群處理方法,包括:

步驟1:連接伺服器接收客戶端發送的客戶端事件,若所述客戶端事件為視圖註冊類事件,則判斷所述連接伺服器是否有所述客戶端事件對應的視圖註冊類事件處理器,若無,則發送所述客戶端事件至所述消息伺服器;

步驟2:前端伺服器緩存引擎監聽所述消息伺服器,獲取所述客戶端事件,處理所述客戶端事件得到客戶端事件處理結果列表,發送所述客戶端事件和所述客戶端事件處理結果列表至所述前端伺服器會話控制模型;

步驟3:所述前端伺服器會話控制模型分別處理所述客戶端事件和所述客戶端事件處理結果列表,得到客戶端事件處理結果,並發送所述客戶端事件處理結果至所述消息伺服器;

步驟4:所述連接伺服器監聽所述消息伺服器,並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至所述客戶端。

本發明的有益效果是:連接伺服器將接收到的視圖註冊類客戶端事件發送至消息伺服器,前端伺服器在監聽到視圖註冊類客戶端事件後對其進行處理,並且分不同情況對不同類型的客戶端事件分別處理,既分擔了連接伺服器的工作負擔,又保證了伺服器系統對客戶端事件的處理質量。

附圖說明

圖1為本發明實施例提供的一種伺服器集群處理系統的框圖;

圖2為本發明實施例一提供的一種伺服器集群處理系統的前端伺服器的結構示意圖;

圖3為本發明實施例二提供的一種伺服器集群處理系統的前端伺服器的結構示意圖;

圖4為本發明實施例三提供的一種伺服器集群處理方法的流程示意圖;

圖5為本發明實施例四提供的一種伺服器集群處理方法的流程示意圖。

具體實施方式

以下結合附圖對本發明的原理和特徵進行描述,所舉實例只用於解釋本發明,並非用於限定本發明的範圍。

圖1為本發明實施例提供的一種伺服器集群處理系統的框圖。如圖1所示,該系統包括連接伺服器110、消息伺服器120和至少一個前端伺服器130。

圖2為本發明實施例一提供的一種伺服器集群處理系統的前端伺服器的結構示意圖。如圖2所示,前端伺服器130包括前端伺服器緩存引擎131和前端伺服器會話控制模型132。

連接伺服器110用於接收客戶端140發送的客戶端事件,若所述客戶端事件為視圖註冊類事件,則判斷連接伺服器110是否有所述客戶端事件對應的視圖註冊類事件處理器,若無,則發送所述客戶端事件至消息伺服器120。

前端伺服器緩存引擎131用於監聽消息伺服器120,並獲取所述客戶端事件,如果所述客戶端事件為直接類事件,發送所述客戶端事件至前端伺服器會話控制模型132,如果所述客戶端事件為緩存類事件,首先處理所述客戶端事件得到客戶端事件處理結果列表,再發送所述客戶端事件處理結果列表至前端伺服器會話控制模型132。

前端伺服器會話控制模型132用於分別處理所述客戶端事件和所述客戶端事件處理結果列表,得到客戶端事件處理結果,並發送所述客戶端事件處理結果至消息伺服器120。

連接伺服器110還用於監聽消息伺服器120,並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至客戶端140。

需要說明的是,前端伺服器會話控制模型132中有多個獨立的處理線程,部分獨立處理線程用於對接收到的事件進行處理,部分獨立處理線程用於向消息伺服器120發送處理結果。

在本實施例中,連接伺服器將接收到的視圖註冊類客戶端事件發送至消息伺服器,前端伺服器在監聽到視圖註冊類客戶端事件後對其進行處理,並且分不同情況對不同類型的客戶端事件,如對直接類事件和緩存類事件分別處理,既分擔了連接伺服器的工作負擔,又保證了伺服器系統對客戶端事件的處理質量。

圖3為本發明實施例二提供的一種伺服器集群處理系統的前端伺服器的結構示意圖。在實施例一的基礎上,本實施例中,前端伺服器緩存引擎131包括緩存引擎單元135和前端伺服器緩存類事件處理器133。

緩存引擎單元135用於監聽消息伺服器120,獲取所述客戶端事件;根據指示緩存類事件的所述客戶端事件,取得其對應的前端伺服器緩存類事件處理器,形成前端伺服器緩存類事件處理器列表。

所述前端伺服器緩存類事件處理器列表中的前端伺服器緩存類事件處理器133用於分別處理所述客戶端事件,得到所述客戶端事件處理結果列表。

緩存引擎單元135還用於發送所述客戶端事件處理結果列表至前端伺服器會話控制模型132。

具體地,前端伺服器緩存引擎131從消息伺服器120監聽到的視圖註冊類客戶端事件包括直接類事件和緩存類事件。對於直接類事件,如客戶端發送的進入頁面按鈕、滑屏事件等,將其發送給前端伺服器會話控制模型132進行處理。對於緩存類事件,如視圖更改請求事件,首先循環取得其對應的前端伺服器緩存類事件處理器列表,列表中的前端伺服器緩存類事件處理器133分別處理緩存類事件,並獲得客戶端事件處理結果列表,再發送至前端伺服器會話控制模型132。

其中,前端伺服器緩存引擎131中預設有客戶端事件主題及其與前端伺服器緩存類事件處理器133的對應關係,前端伺服器緩存引擎131在獲取到客戶端事件後,會根據客戶端事件的主題,一一找到該主題對應的前端伺服器緩存類事件處理器133,並得到前端伺服器緩存類事件處理器列表。該前端伺服器緩存類事件處理器列表中的前端伺服器緩存類事件處理器133分別處理該客戶端事件。因此,該客戶端事件經前端伺服器緩存類事件處理器133處理後會得到一個客戶端事件處理結果列表。

優選地,前端伺服器會話控制模型132包括會話控制單元136和前端伺服器視圖數據模型134。

會話控制單元136用於分配所述客戶端事件和所述客戶端事件處理結果列表至前端伺服器視圖數據模型134。

前端伺服器視圖數據模型134用於處理所述客戶端事件,得到第一處理結果;處理所述客戶端事件處理結果列表,得到第二處理結果。

會話控制單元136還用於分別將所述第一處理結果和所述第二處理結果發送至所述消息伺服器,其中,所述第一處理結果為視圖初始內容,所述第二處理結果為所述視圖初始內容的變更部分。

具體地,指示直接類事件的客戶端事件和指示緩存類事件的客戶端事件處理結果列表分別被發送至對應的視圖數據模型。會話控制模型和客戶端一一對應,因此,前端伺服器130內的前端伺服器會話控制模型132的個數取決於客戶端連接的個數。

由於前端伺服器130主要負責處理視圖類客戶端事件,前端伺服器會話控制模型132包括前端伺服器視圖數據模型134,對於直接類事件,前端伺服器會話控制模型132處理得到第一處理結果,所述第一處理結果為視圖初始內容。對於緩存類事件,前端伺服器會話控制模型132處理得到第二處理結果,所述第二處理結果為所述視圖初始內容的變更部分。例如,a客戶端事件由前端伺服器緩存引擎131從消息伺服器120中監聽並獲取到,並由前端伺服器緩存引擎131將其發送至前端伺服器會話控制模型132,前端伺服器會話控制模型132中的前端伺服器視圖數據模型134對該客戶端事件進行處理,得到a結果,即為視圖初始內容,即第一處理結果。當a客戶端事件由前端伺服器緩存引擎131從消息伺服器120中再次監聽並獲取到,且前端伺服器會話控制模型132再次接收到該客戶端事件時,由前端伺服器視圖數據模型134進行處理,處理得到b結果,a結果和b結果之間的差異,即為視圖初始內容的變更內容,即第二處理結果,前端伺服器會話控制模型132會將該變更內容封裝為model消息,通過更新線程推送至消息伺服器120。

優選地,前端伺服器130還包括前端伺服器註冊模塊和前端伺服器會話控制模型創建模塊。

前端伺服器註冊模塊用於在前端伺服器130監聽到消息伺服器120中的所述客戶端的視圖註冊類事件後,調用登陸處理方法處理所述視圖註冊類事件,得到並向消息伺服器120返回登陸處理結果。

前端伺服器會話控制模型創建模塊用於在客戶端140登陸成功後,創建客戶端140對應的前端伺服器會話控制模型132。

在本實施例中,連接伺服器將接收到的視圖註冊類客戶端事件發送至消息伺服器,前端伺服器在監聽到視圖註冊類客戶端事件後對其進行處理,並且分不同情況對不同類型的客戶端事件分別處理,如分別處理直接類事件和緩存類事件,既分擔了連接伺服器的工作負擔,又保證了伺服器系統對客戶端事件的處理質量。

在上述實施例的基礎上,作為本發明的一個優選實施例,在該優選實施例中,連接伺服器120包括連接伺服器緩存引擎、連接伺服器會話控制模型和前端伺服器心跳監視器。

連接伺服器緩存引擎用於監聽並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至連接伺服器會話控制模型。

連接伺服器會話控制模型用於發送所述客戶端事件處理結果至與連接伺服器會話控制模型對應的客戶端140。

前端伺服器心跳監視器用於監視連接伺服器120和前端伺服器130的通信時間,如果當前通信時間與最近一次通信時間的間隔大於預設時間間隔,則生成前端伺服器連接失敗伺服器事件,並發送所述前端伺服器連接失敗伺服器事件至連接伺服器會話控制模型。

連接伺服器會話控制模型還用於根據所述前端伺服器連接失敗伺服器事件生成前端伺服器連接失敗通知事件,並發送所述前端伺服器連接失敗通知事件至與所述連接伺服器會話控制模型對應的客戶端140。

具體地,前端伺服器心跳監視器每隔一段時間,通過檢查連接伺服器120和前端伺服器130兩次相鄰的通信時間是否超過預設時間間隔,判斷用於分擔連接伺服器120視圖類事件處理負擔的前端伺服器130是否和連接伺服器120連接失敗,如果連接失敗,生成連接失敗信息並發送至客戶端140,並且將客戶端事件處理結果中的前端伺服器標識刪除。

在本實施例中,通過設置前端伺服器心跳監視器可以監控前端伺服器是否和連接伺服器斷開連接,從而避免了前端伺服器宕機或其他原因引起的客戶端事件不能及時處理的情況發生。

在上述實施例的基礎上,作為本發明的另一個優選實施例,在該優選實施例中,連接伺服器110還用於接收客戶端140發送的所述客戶端事件和與所述客戶端事件對應的所述客戶端事件處理結果,並發送所述客戶端事件和所述客戶端事件處理結果至消息伺服器120。

前端伺服器130還用於監聽消息伺服器120,並獲取所述客戶端事件和所述客戶端事件處理結果,處理得到更新的客戶端事件處理結果,並發送所述更新的客戶端事件處理結果至消息伺服器120。

連接伺服器110還用於監聽消息伺服器120,並獲取所述更新的客戶端事件處理結果,發送所述更新的客戶端事件處理結果至客戶端140。

具體地,如果一個連接伺服器宕機或不能再處理客戶端事件,所有由其進行客戶端事件處理的客戶端會收到已處理的客戶端事件處理結果以及連接伺服器連接失敗信息。此時,客戶端可以再次發生客戶端事件,同時發送和客戶端事件對於的客戶端事件處理結果。在監聽到客戶端時間後,其他備用前端伺服器會啟動,並處理上述客戶端事件及其對應的客戶端事件處理結果,生成更新的客戶端事件處理結果,並在更新的客戶端事件處理結果加入新的前端伺服器的標識。

在本實施例中,在一個前端伺服器不能繼續處理客戶端事件時,客戶端可以再次發送客戶端事件及其對應的客戶端事件處理結果,由備用前端伺服器對其進行處理,獲得更新的客戶端事件處理結果,並最終發送至客戶端。從而實現在部分前端伺服器宕機時,依然有其他前端伺服器及時處理客戶端事件,達到服務續接功能,保證了伺服器系統對客戶端事件的處理質量。

圖4為本發明實施例三提供的一種伺服器集群處理方法的流程示意圖。如圖4所示,該方法包括:

步驟1:連接伺服器接收客戶端發送的客戶端事件,若所述客戶端事件為視圖註冊類事件,則判斷所述連接伺服器是否有所述客戶端事件對應的視圖註冊類事件處理器,若無,則發送所述客戶端事件至所述消息伺服器。

步驟2:前端伺服器緩存引擎監聽所述消息伺服器,獲取所述客戶端事件,處理所述客戶端事件得到客戶端事件處理結果列表,發送所述客戶端事件和所述客戶端事件處理結果列表至所述前端伺服器會話控制模型。

步驟3:所述前端伺服器會話控制模型分別處理所述客戶端事件和所述客戶端事件處理結果列表,得到客戶端事件處理結果,並發送所述客戶端事件處理結果至所述消息伺服器。

步驟4:所述連接伺服器監聽所述消息伺服器,並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至所述客戶端。

優選地,所述前端伺服器緩存引擎包括緩存引擎單元和前端伺服器緩存類事件處理器,所述步驟2包括:

步驟2.1:所述緩存引擎單元監聽所述消息伺服器,獲取所述客戶端事件。

步驟2.2:所述緩存引擎單元取得所述客戶端事件對應的前端伺服器緩存類事件處理器。

步驟2.3:所述前端伺服器緩存類事件處理器分別處理所述客戶端事件,得到所述客戶端事件處理結果列表。

步驟2.4:所述緩存引擎單元發送所述客戶端事件處理結果列表至所述前端伺服器會話控制模型。

優選地,所述前端伺服器會話控制模型包括會話控制單元和前端伺服器視圖數據模型,所述步驟3包括:

步驟3.1:所述會話控制單元分配所述客戶端事件和所述客戶端事件處理結果列表至所述前端伺服器視圖數據模型。

步驟3.2:所述前端伺服器視圖數據模型處理所述客戶端事件,得到第一處理結果。

步驟3.3:所述前端伺服器視圖數據模型處理所述客戶端事件處理結果列表,得到第二處理結果。

步驟3.4:所述會話控制單元分別將所述第一處理結果和所述第二處理結果發送至所述消息伺服器,其中,所述第一處理結果為視圖初始內容,所述第二處理結果為所述視圖初始內容的變更部分。

優選地,所述連接伺服器包括連接伺服器緩存引擎、連接伺服器會話控制模型和前端伺服器心跳監視器,所述步驟4包括:

步驟4.1:所述連接伺服器緩存引擎監聽並獲取所述客戶端事件處理結果,發送所述客戶端事件處理結果至所述連接伺服器會話控制模型。

步驟4.2:所述連接伺服器會話控制模型發送所述客戶端事件處理結果至與所述連接伺服器會話控制模型對應的所述客戶端。

步驟4.3:所述前端伺服器心跳監視器監視所述連接伺服器和所述前端伺服器的通信時間,如果當前通信時間與最近一次通信時間的間隔大於預設時間間隔,則生成前端伺服器連接失敗伺服器事件,並發送所述前端伺服器連接失敗伺服器事件至所述連接伺服器會話控制模型。

步驟4.4:所述連接伺服器會話控制模型根據所述前端伺服器連接失敗伺服器事件生成前端伺服器連接失敗通知事件,並發送所述前端伺服器連接失敗通知事件至與所述連接伺服器會話控制模型對應的所述客戶端。

在本實施例中,連接伺服器將接收到的視圖註冊類客戶端事件發送至消息伺服器,前端伺服器在監聽到視圖註冊類客戶端事件後對其進行處理,並且分不同情況對不同類型的客戶端事件分別處理,如分別處理直接類事件和緩存類事件,既分擔了連接伺服器的工作負擔,又保證了伺服器系統對客戶端事件的處理質量。另外,通過設置前端伺服器心跳監視器可以監控前端伺服器是否和連接伺服器斷開連接,從而避免了前端伺服器宕機或其他原因引起的客戶端事件不能及時處理的情況發生。

圖5為本發明實施例四提供的一種伺服器集群處理方法的流程示意圖。如圖5所示,在上述實施例的基礎上,該方法還包括:

步驟5:所述連接伺服器接收所述客戶端發送的所述客戶端事件和與所述客戶端事件對應的所述客戶端事件處理結果,並發送所述客戶端事件和所述客戶端事件處理結果至所述消息伺服器。

步驟6:所述前端伺服器監聽所述消息伺服器,並獲取所述客戶端事件和所述客戶端事件處理結果,處理得到更新的客戶端事件處理結果,並發送所述更新的客戶端事件處理結果至所述消息伺服器。

步驟7:所述連接伺服器監聽所述消息伺服器,並獲取所述更新的客戶端事件處理結果,發送所述更新的客戶端事件處理結果至所述客戶端。

在本實施例中,在一個前端伺服器不能繼續處理客戶端事件時,客戶端可以再次發送客戶端事件及其對應的客戶端事件處理結果,由備用前端伺服器對其進行處理,獲得更新的客戶端事件處理結果,並最終發送至客戶端。從而實現在部分前端伺服器宕機時,依然有其他前端伺服器及時處理客戶端事件,達到服務續接功能,保證了伺服器系統對客戶端事件的處理質量。

以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀