專利名稱:用于刀片服務器的前后臺通信方法及裝置的制作方法
技術領域:
本發明涉及通信領域,具體而言,尤其涉及一種用于刀片服務 器的前后臺通信方法及裝置。
背景技術:
因業務環境的需要和操作維護的方便,刀片服務器中的前后臺 之間經常需要進4亍通信,如凄史據同步、調試、通信i貪斷、日志和凄t 據備份、人機命令交互等。
在現有技術中,用于刀片服務器的前后臺通信方法中,后臺客 戶端的各個管理模塊與前臺的各個刀片直接建立鏈路以進行點對點 通信,當后臺的管理模塊及前臺的刀片數量較大時,將導致對刀片 服務器中前后臺之間的通信參數配置繁瑣。
發明內容
本發明的目的在于提供一種用于刀片服務器的前后臺通信方法 及裝置,能夠解決相關技術中在后臺的管理模塊及前臺的刀片數量 較大時,導致的對刀片服務器中前后臺之間的通信參數配置繁瑣的 」技術問題。根據本發明的一個方面,提供了一種用于刀片服務器的前后臺
通信裝置,包括前臺,其包括一個前臺通信模塊和多個刀片;后 臺,其包括一個后臺通信;漠塊和多個管理模塊;前臺通信^^塊和后 臺通信模塊相互連接,前臺通信模塊連接多個刀片,后臺通信沖莫塊 連接多個管理模塊;前臺通信模塊和后臺通信模塊用于轉發多個刀 片與多個管理模塊之間的數據和事件。
優選地,前臺通信才莫塊包括第一事件池,用于存儲從多個刀 片或后臺通信模塊接收到的事件;第一消息隊列,用于存儲從多個 刀片或后臺通信模塊接收到的數據;輪詢池,用于查詢第一事件池 中的事件,并在查詢到事件時,觸發第一消息轉發單元對事件進4亍 處理;第一消息轉發單元,用于從第一消息隊列中的數據中提取目 的地址,并將第一事件池中的事件和第一消息隊列中的數據轉發到
目的;l也址對應的刀片或后臺通信;溪塊。
優選地,多個刀片和前臺通信模塊的操作系統是Linux操作系 統,輪詢池采用EPOIX/POLL接o 。
優選地,前后臺通信裝置還包括激活才莫塊,用于激活輪詢池 每隔第一預定時間查詢第一事件池。優選地,后臺通信模塊包括 第二事件池,用于存儲從多個管理模塊或前臺通信模塊接收到的事 件;第二消息隊列,用于存儲多個管理模塊或前臺通信模塊接收到 的數據;第二消息轉發單元,用于從第二消息隊列中的數據中提取 目的地址,并將第二事件池中的事件和第二消息隊列中的數據轉發 到目的地址對應的管理才莫塊或前臺通信模塊。
優選地,后臺通信^莫塊還包括心跳保活單元,用于定期向前 臺通信模塊發送心跳保活數據,并在在第二預定時間內未收到返回 的保活數據時,關閉鏈路,否則,則保活鏈路。根據本發明的另 一方面,還提供了 一種用于刀片月良務器的前后
臺通信方法,包括在刀片服務器的前臺中設置一個前臺通信模塊, 并在刀片服務器的后臺中設置一個后臺通信模塊;利用前臺通信才莫 塊和后臺通信^t塊轉發前臺的多個刀片與后臺的多個管理才莫塊之間 的數據和事件,其中,前臺通信模塊和后臺通信模塊相互連接,前 臺通信模塊連接多個刀片,后臺通信模塊連接多個管理模塊。
優選地,利用前臺通信模塊和后臺通信模塊轉發前臺的多個刀 片與后臺的多個管理模塊之間的數據和事件具體包括利用后臺通 信模塊中的第二事件池存儲從多個管理模塊接收到的事件;利用后 臺通信模塊中的第二消息隊列存儲多個管理模塊接收到的數據;利 用后臺通信模塊中的第二消息轉發單元從第二消息隊列中的數據中 提取目的地址,并將第二事件池中的事件和第二消息隊列中的凝:據 轉發到目的地址對應的前臺通信模塊;利用前臺通信模塊中的第一 事件池存儲從后臺通信模塊接收到的事件;利用前臺通信模塊中的 第 一 消息隊列存儲從后臺通信模塊接收到的數據;利用前臺通信模 塊中的4侖詢池查詢第一事件池中的事件,并在查詢到事件時,觸發 第一消息轉發單元對事件進行處理;利用第一消息轉發單元從第一 消息隊列中的數據中提取目的地址,并將第一事件池中的事件和第 一消息隊列中的數據轉發到目的地址對應的刀片。
優選地,利用前臺通信模塊和后臺通信模塊轉發前臺的多個刀 片與后臺的多個管理模塊之間的數據和事件具體包括利用前臺通 信模塊中的第一事件池存儲從多個刀片接收到的事件;利用前臺通 信模塊中的第 一 消息隊列存儲從多個刀片接收到的數據;利用前臺 通信才莫塊中的^^詢池查詢第 一事件池中的事件,并在查詢到事件時, 觸發第一消息轉發單元對事件進行處理;利用第一消息轉發單元從 第一消息隊列中的數據中提取目的地址,并將第一事件池中的事件 和第一消息隊列中的數據轉發到目的地址對應的后臺通信模塊;利 用后臺通信模塊中的第二事件池存儲從前臺通信模塊接收到的事件;利用后臺通信模塊中的第二消息隊列存儲從前臺通信模塊接收 到的數據;利用后臺通信模塊中的第二消息轉發單元從第二消息隊 列中的數據中提取目的地址,并將第二事件池中的事件和第二消息 隊列中的數據轉發到目的地址對應的管理模塊。
優選地,前后臺通信方法還包括利用激活才莫塊激活輪詢池每 隔第 一預定時間查詢第 一事件池。
優選地,多個刀片和前臺通信模塊的操作系統是Linux操作系 統,壽侖詢池采用EPOLL/POLL 4妻口 。
優選地,前后臺通信方法還包括定期向前臺通信才莫塊發送心 跳保活數據;如果在第二預定時間內未收到返回的保活數據,則關 閉鏈路;否則,則保活鏈路。
借助于本發明的上述至少一個技術方案,通過在刀片服務器的 前臺的多個刀片和后臺的多個管理才莫塊之間增加相互連4妄的一個前 臺通信模塊和一個后臺通信模塊,使得后臺的服務器管理人員在需 要建立多個管理才莫塊和多個刀片之間的通信鏈路時,只需要在前臺 通信^t塊上配置后臺通信才莫塊的地址,以及在后臺通信才莫塊上配置 前臺通信模塊的地址,從而達到了使刀片服務器中前后臺之間的通 信參數配置簡單的技術效果。
附圖用來提供對本發明的進一步理解,并且構成說明書的一部 分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的 限制。在附圖中
圖1示出了根據本發明第一實施例的用于刀片服務器的前后臺 通信裝置的方框圖;圖2是根據本發明第二實施例的根據本發明第一實施例的用于 刀片月良務器的前后臺通信方法的流程圖3是根據本發明第三實施例的用于刀片服務器的前后臺通信 方法的處理流^I圖4是根據本發明第四實施例的用于刀片服務器的前后臺通信 方法的處理流禾呈圖。
具體實施例方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此 處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本 發明。
在以下的描述中,為了解釋的目的,描述了多個特定的細節, 以才是供對本發明的透徹理解。然而,4艮顯然,在沒有這些特定細節 的情況下,也可以實現本發明,此外,在不沖突的情況下,即在不 背離所附權利要求闡明的精神和范圍的情況下,下述實施例以及實 施例中的各個細節可以進行各種組合。
第一實施例
圖1示出了根據本發明第一實施例的用于刀片服務器的前后臺 通信裝置的方框圖。
如圖l所示,根據本發明第一實施例的用于刀片服務器的前后 臺通信裝置,包括前臺102,其包括一個前臺通信模塊1022和多 個刀片1024;后臺104,其包4舌一個后臺通信4莫塊1042和多個管理 模塊1044;前臺通信模塊1022和后臺通信模塊1042相互連接,前 臺通信才莫塊1022連4妾多個刀片1024,后臺通信才莫塊1042連接多個管理模塊1044;前臺通信模塊1022和后臺通信模塊1042用于轉發 多個刀片1024與多個管理才莫塊1044之間的豸丈據和事件。
根據本發明第一實施例的用于刀片服務器的前后臺通信裝置通 過在刀片服務器的前臺的多個刀片和后臺的多個管理模塊之間增加 相互連接的一個前臺通信模塊和一個后臺通信模塊,使得后臺的月良 務器管理人員在需要建立多個管理模塊和多個刀片之間的通信鏈路 時,只需要在前臺通信才莫塊上配置后臺通信才莫塊的地址,以及在后 臺通信模塊上配置前臺通信模塊的地址,從而達到了使刀片服務器 中前后臺之間的通信參數配置簡單的技術效果。
例如,需要將數據和事件從后臺的管理模塊發送到前臺的某一 個刀片上時,管理模塊只需要將數據和事件發送到后臺通信模塊上, 然后后臺通信模塊將該數據和事件轉發到前臺的前臺通信模塊上, 前臺通信模塊將從數據中提取目的地址,以將數據轉發到相應的刀 片。將數據和事件從前臺的刀片發送到后臺的某一管理才莫塊的過程 為相反的過程,不再詳細描述。
優選地,前臺通信模塊包括第一事件池,用于存儲從多個刀 片或后臺通信模塊接收到的事件;第一消息隊列,用于存儲從多個 刀片或后臺通信模塊接收到的數據;輪詢池,用于查詢第一事件池 中的事件,并在查詢到事件時,觸發第一消息轉發單元對事件進行 處理;第一消息轉發單元,用于從第一消息隊列中的數據中提取目 的地址,并將第一事件池中的事件和第一消息隊列中的彩:據轉發到 目的地址對應的刀片或后臺通信才莫塊。
前臺通信模塊是TCPServer服務器通信模塊,該才莫塊位于前臺 的某一塊管理刀片上,承載前臺刀片與后臺消息通信轉發的功能模 塊,用于接收匯總轉發后臺管理模塊與前臺刀片間的通信消息,并 將來自后臺通信模塊的消息轉發至相應的前臺刀片,或接收前臺刀片發送至后臺的消息,并轉發給后臺通信模塊,該;f莫塊還用于接收
多個TCPClient后臺TCP客戶端的注冊、管理和保活套接字鏈路等。
在前臺通信才莫塊中,還可以包括鏈路初始化才莫塊,以完成通4言 鏈路初始化和通信鏈路的數據區分配,并用于聲明TCP通信的第一 事件池,根據后臺客戶端注冊的最大鏈路數來設置第 一事件池的大 小、聲明用于TCP通信鏈路使用的注冊事件、聲明用于存儲通信回 傳處理事件的數據區、聲明用于處理接受TCP連接專用的文件描述 符、創建用于TCP偵聽的服務端套接字、設置第一消息轉發單元要 處理的事件相關的文件描述符、設置輪詢池要處理的事件類型、并 將偵聽套《^妄字加入到第 一消息轉發單元中。
第一消息轉發單元用于在第一事件池中有事件發生時,根據事 件類型來確定處理流程。第一事件池中的事件類型分為l)偵聽事 件,表示可接受連接;2)可讀事件,用于在鏈路上發生可讀事件; 3)可寫事件,用于在鏈路上發生可寫事件。如果第一事件池中的事 件是可接受連接,則第一消息轉發單元找到空閑鏈路,并建立新鏈 接,然后設置用于讀操作的文件描述符,再設置用于讀操作的事件, 并4巴該連接加入到第一消息轉發單元中;如果第一事件池中的事件 是可讀事件,則第一消息轉發單元檢查數據區是否正常,并將數據 轉發到刀片中;如果第一事件池中的事件是可寫事件,則完成發送 鏈路上的數據的處理過程。
可選地,第一消息轉發單元還可以包括發送處理子單元、#^欠 處理子單元、和廣播處理子單元。發送處理子單元4艮據其他刀片傳 遞過來的鏈路號,找到指定鏈路,查看該鏈路發送消息隊列頭,如 果隊列頭消息為空,則將該消息放入隊列頭;否則如果消息隊列中 已經有消息存在,則將消息拷貝到消息緩沖區中,如果緩沖區滿, 則消息指針加一;消息入隊列后,則設置寫操作符,設置寫操作事 件,用于觸發4侖詢池4全測發送消息隊列,實際的消息發送由輪詢池完成;接收處理子單元接收鏈路傳送過來的消息后,解析消息,提 取消息中的目的地地址消息,將消息轉發到相應的刀片中;廣4番處 理子單元,用于在發送廣播消息時,循環檢測鏈路數據區中的鏈路 號,若鏈路為正常狀態,則將消息通過發送處理子單元將消息發送 出去。
優選地,多個刀片和前臺通信模塊的操作系統是Linux操作系 統,輪詢池釆用EPOIX/POIX接口 。
通常,刀片服務器中各刀片的操作系統均采用穩定性高的 Linux操作系統,EPOLL/POLL接口是一種嵌入實時系統如Linux 系統中的事件查詢4妄口 ,以EPOLL/POLL 4妻口代替傳統查詢 SELECT接口 (一種通用的事件查詢接口 ),使得本發明實施例能夠 支持大量的并發客戶端連接。可選地,各個刀片的操作系統和前臺 通信模塊的操作系統也可以是VxWoks 、 Windows等操作系統。
優選地,前后臺通信裝置還包括激活模塊,用于激活輪詢池 每隔第 一 預定時間查詢第 一 事件池。
當沒有收發及建鏈事件發生時,相關技術中的輪詢池會保持不 動,4艮據本發明實施例的前后臺通信裝置此時通過激活才莫塊通過內 部環回地址(LocalHost)發送激活消息以觸發壽侖詢池每隔第一預定 時間查詢第 一事^f牛池以^f呆持輪詢池以予貞定時間查詢第一事4牛池。可 選地,激活才莫塊也可以創建自動激活的套接字來激活輪詢池每隔第 一預定時間查詢第一事件池。其中,第一預定時間可以為例如十毫 秒。
優選地,后臺通信模塊包括第二事件池,用于存儲從多個管 理模塊或前臺通信模塊接收到的事件;第二消息隊列,用于存儲多 個管理模塊或前臺通信模塊接收到的數據;第二消息轉發單元,用于從第二消息隊列中的數據中提取目的地址,并將第二事件池中的 事件和第二消息隊列中的數據轉發到目的地址對應的管理才莫塊或前 臺通信模塊。
后臺通信模塊是實現TCPClient客戶端通信的才莫塊。可選地, 在后臺通信才莫塊中還可以包括通信初始化才莫塊,用于完成進程間通 信初始化和進程間通信數據區分配、聲明用于進程間通信的注冊事 件、聲明用于存儲通信回傳處理事件的數據區、創建指定刀片服務 器TCP發送的客戶端套接字等。
第二消息轉發單元在第二事件池中有事件發生時,根據事件不 同的目的地地址來分發處理,若目的地為后臺,則通過進程間通4言 將數據和事件轉發出去;若目的地為前臺,通過套接字將消息轉發 給前臺通信模塊。
優選地,后臺通信模塊還包括心跳保活單元,用于定期向前 臺通信模塊發送心跳保活數據,并在在第二預定時間內未收到返回 的保活數據時,關閉鏈路,否則,則保活鏈路。
根據本發明第 一實施例的用于刀片服務器的前后臺通信裝置通 過在刀片服務器的前臺的多個刀片和后臺的多個管理模塊之間增加 相互連接的一個前臺通信模塊和一個后臺通信沖莫塊,使得后臺的服 務器管理人員在需要建立多個管理模塊和多個刀片之間的通信鏈路 時,只需要在前臺通信模塊上配置后臺通信模塊的地址,以及在后 臺通信模塊上配置前臺通信模塊的地址,從而達到了使刀片服務器 中前后臺之間的通信參數配置簡單的技術效果。
第二實施例
圖2是根據本發明第二實施例的根據本發明第一實施例的用于 刀片服務器的前后臺通信方法的流程圖。如圖2所示,根據本發明第二實施例的根據本發明第一實施例 的用于刀片服務器的前后臺通信方法包括
步驟S202,在刀片服務器的前臺中設置一個前臺通信模塊,并 在刀片服務器的后臺中設置一個后臺通信模塊;
步驟S204,利用前臺通信模塊和后臺通信模塊轉發前臺的多個 刀片與后臺的多個管理模塊之間的數據和事件,其中,前臺通信模
塊和后臺通信模塊相互連接,前臺通信模塊連接多個刀片,后臺通 信模塊連接多個管理模塊。
才艮據本發明第二實施例的用于刀片月良務器的前后臺通信方法通 過在刀片服務器的前臺的多個刀片和后臺的多個管理模塊之間增加 相互連接的一個前臺通信模塊和一個后臺通信模塊,使得后臺的服 務器管理人員在需要建立多個管理模塊和多個刀片之間的通信鏈路 時,只需要在前臺通信模塊上配置后臺通信模塊的地址,以及在后 臺通信模塊上配置前臺通信模塊的地址,從而達到了使刀片服務器 中前后臺之間的通信參數配置簡單的技術效果。
優選地,在從后臺管理模塊向前臺刀片發送數據時,利用前臺 通信模塊和后臺通信模塊轉發前臺的多個刀片與后臺的多個管理模 塊之間的數據和事件具體包括利用后臺通信模塊中的第二事件池 存儲從多個管理才莫塊接收到的事件;利用后臺通信才莫塊中的第二消 息隊列存儲多個管理模塊接收到的數據;利用后臺通信模塊中的第 二消息轉發單元從第二消息隊列中的數據中提取目的地址,并將第 二事件池中的事件和第二消息隊列中的數據轉發到目的地址對應的 前臺通信模塊;利用前臺通信模塊中的第一事件池存儲從后臺通信 模塊接收到的事件;利用前臺通信模塊中的第 一消息隊列存儲從后 臺通信模塊接收到的數據;利用前臺通信模塊中的輪詢池查詢第一 事件池中的事件,并在查詢到事件時,觸發第一消息轉發單元對事件進行處理;利用第 一消息轉發單元從第 一消息隊列中的數據中提 取目的地址,并將第一事件池中的事件和第一消息隊列中的數據轉 發到目的地址對應的刀片。
第一消息轉發單元用于在第一事件池中有事件發生時,才艮據事 件類型來確定處理流程。第二消息轉發單元在第二事件池中有事件 發生時,根據事件不同的目的地地址來分發處理,若目的地為后臺, 則通過進程間通信將數據和事件轉發出去;若目的地為前臺,通過 套接字將消息轉發給前臺通信模塊。
優選地,在從前臺刀片向后臺管理模塊發送數據時,利用前臺 通信模塊和后臺通信模塊轉發前臺的多個刀片與后臺的多個管理才莫 塊之間的數據和事件具體包括利用前臺通信模塊中的第 一事件池 存儲從多個刀片接收到的事件;利用前臺通信模塊中的第 一消息隊 列存儲從多個刀片接收到的數據;利用前臺通信模塊中的輪詢池查 詢第一事件池中的事件,并在查詢到事件時,觸發第一消息轉發單 元對事件進行處理;利用第一消息轉發單元從第一消息隊列中的數 據中提取目的地址,并將第一事件池中的事件和第一消息隊列中的 數據轉發到目的地址對應的后臺通信模塊;利用后臺通信模塊中的 第二事件池存儲從前臺通信模塊接收到的事件;利用后臺通信模塊 中的第二消息隊列存儲從前臺通信模塊接收到的數據;利用后臺通 信模塊中的第二消息轉發單元從第二消息隊列中的數據中提取目的 地址,并將第二事件池中的事件和第二消息隊列中的數據轉發到目 的地址對應的管理#莫塊。
優選地,前后臺通信方法還包括利用激活;漠塊激活4侖詢池每 隔第 一預定時間查詢第 一事件池。通過激活;模塊激活輪詢池每隔第 一預定時間查詢第一事件池,以防止在第一事件池出現異常時導致斷鏈。優選地,多個刀片和前臺通信模塊的操作系統是Linux操作系 統,輪詢池采用EPOLL/POLL 4妾口 。
通常,刀片服務器中各刀片的操作系統均采用穩定性高的 Linux操作系統,EPOLL/POLL接口是一種嵌入實時系統如Linux 系統中的事件查詢^接口,以EPOLL/POLL 4妾口^替傳統查詢 SELECT接口 (一種通用的事件查詢接口 ),使得本發明實施例能夠 支持大量的并發客戶端連接。可選地,各個刀片的操作系統和前臺 通信模塊的操作系統也可以是VxWoks 、 Windows等才喿作系統。
優選地,前后臺通信方法還包括定期向前臺通信才莫塊發送心 跳保活數據;如果在第二預定時間內未收到返回的保活數據,則關 閉鏈路;否則,則保活鏈路。以達到保活鏈路的目的。
根據本發明第二實施例的用于刀片服務器的前后臺通信方法通 過在刀片服務器的前臺的多個刀片和后臺的多個管理模塊之間增加 相互連接的一個前臺通信模塊和一個后臺通信模塊,使得后臺的服 務器管理人員在需要建立多個管理模塊和多個刀片之間的通信鏈路 時,只需要在前臺通信模塊上配置后臺通信模塊的地址,以及在后 臺通信模塊上配置前臺通信模塊的地址,從而達到了使刀片服務器 中前后臺之間的通信參數配置簡單的技術效果。
第三實施例
圖3是根據本發明第三實施例的用于刀片服務器的前后臺通信 方法的處理流程圖。如圖3所示,根據本發明第三實施例的用于刀 片月艮務器的前后臺通信方法包4舌以下步驟
步駛《S302,啟動后臺ii/f言初始化沖莫塊,向前臺發送建鏈i青求, 前臺通信模塊的輪詢池對建鏈請求產生響應,觸發第 一消息轉發單元對產生的可接收連接請求事件進行處理,將該事件放入輪詢池中,
并插入輪詢表中的索引表項為套接字描述符,以提高檢索效率;
步驟S304,通過后臺通信模塊中的第二消息轉發單元對后臺管 理模塊發送給前臺刀片的消息轉發給前臺通信模塊,其中,該轉發 是通過套接字的轉發來實現的;前臺通信模塊中的輪詢池檢測到事 件后,觸發該事件,并通過接收處理子單元,將消息解析并轉發給 前臺其他刀片;
步驟S306,對于前臺刀片發送給后臺管理模塊的消息,則由前 臺刀片將消息發送到前臺通信模塊,通過前臺通信模塊中的發送處 理子單元完成消息的入隊和出隊,操作,然后由第一消息轉發單元完 成消息的發送和處理,將消息發送到后臺通信^^塊,再由后臺通信 模塊轉發給相應的后臺管理模塊。
在本實施例中,還可以在后臺和前臺之間進行正常的心跳和鏈 路保活,并且,該鏈路保活是通過定時發送消息來完成的。
根據本發明第三實施例的用于刀片服務器的前后臺通信方法通 過在刀片服務器的前臺的多個刀片和后臺的多個管理^t塊之間增加 相互連接的 一個前臺通信模塊和一個后臺通信模塊來轉發前臺和后 臺之間的數據和事件,從而達到了使刀片服務器中前后臺之間的通 信參數配置簡單的技術效果。
第四實施例
圖4是根據本發明第四實施例的用于刀片服務器的前后臺通信 方法的處理流程圖。如圖4所示,才艮據本發明第四實施例的用于刀 片服務器的前后臺通信方法包括以下步驟步驟401,后臺通信才莫塊向前臺通信才莫塊發起注冊:^青求,即在 TCP/IP層面上發起建鏈i青求;
步驟402,前臺通信模塊的輪詢池查詢到該事件時,觸發前臺 通信模塊根據后臺管理模塊的端口,為其分配一個長連接、組織鏈 ^各tt據區、并i殳置訪問索引,并在完成后響應后臺的建鏈i青求給后 臺返回一個注冊通過;
步驟403,建立正常的通信鏈路后,則開始在前后臺之間進4亍 消息交互,如后臺向前臺發送業務數據消息等;
步驟404,前臺通信才莫塊中的第一消息隊列和第一事件池開始 接收數據和事件,輪詢池在查詢到第一事件池中的事件時,觸發第 一消息轉發單元轉發數據到前臺刀片;刀片處理完成后,回復數據;
步驟405,前臺通信模塊接收到刀片發送來的數據后,根據鏈 路號,插入到相,的消息隊列中;
步驟406,前臺通信才莫塊中的^^詢池查詢第一事件池以觸發第 一消息轉發單元將數據轉發到后臺通信;漠塊。
步驟407:后臺通信模塊每隔一段時間向前臺通信才莫塊發送心 跳消息,以和前臺通信^t塊保持連接,如果前臺通信才莫塊在預定時 間內沒有收到后臺通信模塊發送的心跳消息,則可以主動斷開連接;
步驟408,執行輪詢池的自動檢測,以防止通信任務異常的發 生和避免鏈路隊列中的消息出現過大的時延。
總之,根據本發明實施例的用于刀片服務器的前后臺通信裝置 和方法通過在刀片服務器的前臺的多個刀片和后臺的多個管理^f莫塊 之間增加相互連接的一個前臺通信模塊和一個后臺通信模塊,使得后臺的服務器管理人員在需要建立多個管理模塊和多個刀片之間的 通信鏈路時,只需要在前臺通信模塊上配置后臺通信模塊的地址, 以及在后臺通信模塊上配置前臺通信模塊的地址,從而達到了使刀 片服務器中前后臺之間的通信參數配置簡單的技術效果。
顯然,本領域的技術人員應該明白,上述的本發明的各模塊或 各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算 裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們 可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲
在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成 電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模 塊來實現。這樣,本發明不限制于任何特定的硬件和軟件結合。
以上所述僅為本發明的優選實施例而已,并不用于限制本發明, 對于本領i或的^支術人員來"i兌,本發明可以有各種更改和變4匕。凡在 本發明的精神和原則之內,所作的任何修改、等同替換、改進等, 均應包含在本發明的4呆護范圍之內。
權利要求
1.一種用于刀片服務器的前后臺通信裝置,其特征在于,包括前臺,其包括一個前臺通信模塊和多個刀片;后臺,其包括一個后臺通信模塊和多個管理模塊;所述前臺通信模塊和所述后臺通信模塊相互連接,所述前臺通信模塊連接所述多個刀片,所述后臺通信模塊連接所述多個管理模塊;所述前臺通信模塊和所述后臺通信模塊用于轉發所述多個刀片與所述多個管理模塊之間的數據和事件。
2. 根據權利要求1所述的前后臺通信裝置,其特征在于,所述前 臺通信模塊包括第一事件池,用于存儲從所述多個刀片或所述后臺通信才莫 塊接收到的事件;第一消息隊列,用于存儲從所述多個刀片或所述后臺通信 模塊接收到的數據;輪詢池,用于查詢所述第一事件池中的事件,并在查詢到 所述事件時,觸發第一消息轉發單元對所述事件進行處理;所述第一消息轉發單元,用于從所述第一消息隊列中的數 據中提取目的地址,并將所述第一事件池中的事件和所述第一 消息隊列中的數據轉發到所述目的地址對應的刀片或所述后 臺通信模塊。
3. 根據權利要求2所述的前后臺通信裝置,其特征在于,所述多 個刀片和所述前臺通信模塊的操作系統是Linux才喿作系統,所 述輪詢池采用EPOLL/POLL 4妾口 。
4. 根據權利要求3所述的前后臺通信裝置,其特征在于,還包4舌激活模塊,用于激活所述輪詢池每隔第一預定時間查詢所 述第一事件池。
5. 根據權利要求1所述的前后臺通信裝置,其特征在于,所述后 臺通信模塊包括第二事件池,用于存儲從所述多個管理模塊或所述前臺通 信模塊接收到的事件;第二消息隊列,用于存儲所述多個管理才莫塊或所述前臺通 信模塊接收到的數據;第二消息轉發單元,用于從所述第二消息隊列中的數據中 ^是取目的地址,并將所述第二事件池中的事件和所述第二消息 隊列中的數據轉發到所述目的地址對應的管理才莫塊或所述前 臺通信模塊。
6. 根據權利要求5所述的前后臺通信裝置,其特征在于,所述后 臺通信模塊還包括心跳保活單元,用于定期向所述前臺通信才莫塊發送心返K果 活數據,并在在第二預定時間內未收到返回的保活數據時,關 閉鏈路,否則,則保活鏈路。
7. —種用于刀片服務器的前后臺通信方法,其特征在于,包括在刀片服務器的前臺中設置一個前臺通信模塊,并在所述 刀片服務器的后臺中設置一個后臺通信模塊;利用所述前臺通信模塊和所述后臺通信模塊轉發所述前 臺的多個刀片與所述后臺的多個管理模塊之間的數據和事件,其中,所述前臺通信模塊和所述后臺通信模塊相互連接, 所述前臺通信才莫塊連接所述多個刀片,所述后臺通信才莫塊連4妄 所述多個管理;漠塊。
8. 根據權利要求7所述的前后臺通信方法,其特征在于,利用所 述前臺通信模塊和所述后臺通信模塊轉發所述前臺的多個刀 片與所述后臺的多個管理沖莫塊之間的數據和事件具體包括利用所述后臺通信模塊中的第二事件池存儲從所述多個 管理模塊接收到的事件;利用所述后臺通信模塊中的第二消息隊列存儲所述多個 管理模塊接收到的數據;利用所述后臺通信模塊中的第二消息轉發單元從所述第 二消息隊列中的數據中提取目的地址,并將所述第二事件池中 的事件和所述第二消息隊列中的數據轉發到所述目的地址對 應的前臺通信模塊;利用所述前臺通信模塊中的第 一事件池存儲從所述后臺 通信模塊接收到的事件;利用所述前臺通信模塊中的第 一消息隊列存儲從所述后 臺通信模塊接收到的數據;利用所述前臺通信才莫塊中的輪詢池查詢所述第 一事件池 中的事件,并在查詢到所述事件時,觸發第一消息轉發單元對 所述事件進行處理;利用所述第一消息轉發單元從所述第一消息隊列中的彩: 據中4是取目的地址,并將所述第一事件池中的事件和所述第一 消息隊列中的數據轉發到所述目的地址對應的刀片。
9. 根據權利要求7所述的前后臺通信方法,其特征在于,利用所 述前臺通信模塊和所述后臺通信模塊轉發所述前臺的多個刀 片與所述后臺的多個管理才莫塊之間的數據和事件具體包括利用所述前臺通信模塊中的第 一事件池存儲從所述多個 刀片接收到的事件;利用所述前臺通信才莫塊中的第 一消息隊列存儲從所述多 個刀片接收到的數據;利用所述前臺通信模塊中的輪詢池查詢所述第 一事件池 中的事件,并在查詢到所述事件時,觸發第一消息轉發單元對 所述事件進4于處理;利用所述第 一消息轉發單元從所述第 一消息隊列中的教: 據中才是取目的地址,并將所述第一事件池中的事件和所述第一模塊; 、"' 、^、 、 ; 、、; 口利用所述后臺通信模塊中的第二事件池存儲從所述前臺 通信模塊接收到的事件;利用所述后臺通信模塊中的第二消息隊列存儲從所述前 臺通信模塊接收到的數據;利用所述后臺通信模塊中的第二消息轉發單元從所述第 二消息隊列中的數據中提取目的地址,并將所述第二事件池中 的事件和所述第二消息隊列中的數據轉發到所述目的地址對 應的管理纟莫塊。
10. #4居權利要求8或9所述的前后臺通信方法,其特4i在于,還 包括利用激活;溪塊激活所述^r詢池每隔第 一預定時間查詢所 述第一事件池。
11. 根據權利要求7所述的前后臺通信方法,其特征在于,所述多 個刀片和所述前臺通信模塊的操作系統是Linux操作系統,所 述輪詢池采用EPOLL/POLL接口 。
12. 根據權利要求7所述的前后臺通信方法,其特征在于,還包4舌定期向所述前臺通信模塊發送心跳保活數據; 如果在第二預定時間內未收到返回的保活數據,則關閉鏈路;否則,則^f呆活鏈i 各。
全文摘要
本發明公開了一種用于刀片服務器的前后臺通信裝置和方法,該裝置包括前臺,其包括一個前臺通信模塊和多個刀片;后臺,其包括一個后臺通信模塊和多個管理模塊;前臺通信模塊和后臺通信模塊相互連接,前臺通信模塊連接多個刀片,后臺通信模塊連接多個管理模塊;前臺通信模塊和后臺通信模塊用于轉發多個刀片與多個管理模塊之間的數據和事件。本發明實現了使刀片服務器中前后臺之間的通信參數配置簡單的技術效果。
文檔編號H04W24/02GK101610532SQ20091016076
公開日2009年12月23日 申請日期2009年7月15日 優先權日2009年7月15日
發明者健 孫, 王家文, 韓建飛 申請人:中興通訊股份有限公司