本發(fā)明實施例涉及通信領域,尤其涉及一種防數(shù)據(jù)擁堵的通信方法及其裝置。
背景技術:
現(xiàn)有的能源服務系統(tǒng)大多都是基于局域網(wǎng)對能源設備進行管理,并且現(xiàn)有的能源服務系統(tǒng)內(nèi)部的通信都是采取即收即發(fā)機制,而隨著云服務系統(tǒng)在能源技術領域的應用,基于云服務的能源云服務系統(tǒng)中的數(shù)據(jù)量會呈幾何級增加,若繼續(xù)在基于云服務的能源云服務系統(tǒng)中采用即收即發(fā)機制,則會造成傳輸數(shù)據(jù)的擁堵、不及時、容易丟失數(shù)據(jù)等。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種防數(shù)據(jù)擁堵的通信方法及其裝置,適用于能源云服務系統(tǒng),用以解決現(xiàn)有技術中能源云服務系統(tǒng)內(nèi)部傳輸數(shù)據(jù)的擁堵、不及時、容易丟失數(shù)據(jù)的技術問題。
本發(fā)明實施例提供一種防數(shù)據(jù)擁堵的通信方法,該方法適用于能源云服務系統(tǒng),所述能源云服務系統(tǒng)包括:多個云終端服務器、與所述多個云終端服務器網(wǎng)絡連接的消息服務器集群、與所述消息服務器集群網(wǎng)絡連接的云平臺服務器集群,該方法包括:所述多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群,以使所述消息服務器集群將所述數(shù)據(jù)信息存儲至存儲空間;所述多個云終端服務器從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是所述云平臺服務器集群針對每個云終端服務器所發(fā)送的,其中,存儲空間是所述消息服務器集群根據(jù)所述數(shù)據(jù)信息和所述待讀取數(shù)據(jù)的實時性和非實時性為所述多個云終端服務器所分配的存儲空間。
本發(fā)明實施例還提供一種防數(shù)據(jù)擁堵的通信裝置,該裝置適用于能源云服務系統(tǒng),所述能源云服務系統(tǒng)包括:多個云終端服務器、與所述多個云終端服務器網(wǎng)絡連接的消息服務器集群、與所述消息服務器集群網(wǎng)絡連接的云平臺服務器集群,該通信裝置存在于所述云終端服務器中且該通信裝置包括:
發(fā)送模塊,用于將獲取到現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群,以使所述消息服務器集群將所述數(shù)據(jù)信息存儲至存儲空間;
獲取模塊,用于從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是所述云平臺服務器集群針對每個云終端服務器所發(fā)送的;
其中,存儲空間是所述消息服務器集群根據(jù)所述數(shù)據(jù)信息和所述待讀取數(shù)據(jù)的實時性和非實時性為所述多個云終端服務器所分配的存儲空間。
上述實施例提供的一種防數(shù)據(jù)擁堵的通信方法和裝置,適用于能源云服務系統(tǒng),所述能源云服務系統(tǒng)包括:多個云終端服務器、與所述多個云終端服務器網(wǎng)絡連接的消息服務器集群、與所述消息服務器集群網(wǎng)絡連接的云平臺服務器集群,該方法包括:所述多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群,以使所述消息服務器集群將所述數(shù)據(jù)信息存儲至存儲空間;所述多個云終端服務器從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是所述云平臺服務器集群針對每個云終端服務器所發(fā)送的;其中,存儲空間是所述消息服務器集群根據(jù)所述數(shù)據(jù)信息和所述待讀取數(shù)據(jù)的實時性和非實時性為所述多個云終端服務器所分配的存儲空間??梢钥闯?,首先通過在消息服務器集群中根據(jù)數(shù)據(jù)信息和待讀取數(shù)據(jù)的實時性和非實時性為多個云終端服務器分配的存儲空間,然后在多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群以后,消息服務器集群將數(shù)據(jù)信息存儲至存儲空間,并且多個云終端服務器可從消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),該待讀取數(shù)據(jù)是云平臺服務器集群針對每個云終端服務器所發(fā)送的,因此,通過在消息服務器集群內(nèi)部根據(jù)數(shù)據(jù)的實時性和非實時性為每個云終端服務器分配多個存儲空間,從而使得消息服務器集群能夠起到緩存的作用,即消息服務器集群能夠及時的接收多個云終端服務器所發(fā)送的數(shù)據(jù),還能夠提高多個云終端服務器與消息服務器集群之間的數(shù)據(jù)傳輸速率,保證數(shù)據(jù)的高效傳輸,使得消息服務器集群內(nèi)部的數(shù)據(jù)不再發(fā)生擁堵,丟失等。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡要介紹。
圖1為本發(fā)明實施例提供的一種能源云服務系統(tǒng)的結構示意圖;
圖2為本發(fā)明實施例提供的一種防數(shù)據(jù)擁堵的通信方法流程示意圖;
圖3為本發(fā)明實施例提供的云終端服務器與消息服務器集群之間的交互流程示意圖;
圖4為本發(fā)明實施例提供的云終端服務器從消息服務器集群獲取到下行控制指令的方法流程示意圖;
圖5為本發(fā)明實施例提供的消息服務器集群的的結構示意圖;
圖6為本發(fā)明實施例提供的一種防數(shù)據(jù)擁堵的通信裝置的結構示意圖。
具體實施方式
為了使本發(fā)明的目的、技術方案及有益效果更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
需要說明的是,本發(fā)明實施例提供的防數(shù)據(jù)擁堵的通信方法和裝置應用于能源云服務系統(tǒng)中,其中,能源云服務系統(tǒng)的結構示意圖,可參見圖1,如圖1所示,該能源云服務系統(tǒng)可包括:
多個云終端服務器10、與多個云終端服務器10網(wǎng)絡連接的消息服務器集群20、以及與消息服務器集群20網(wǎng)絡連接的云平臺服務器集群30。其中:
多個云終端服務器10用于獲取各現(xiàn)場設備的數(shù)據(jù)信息,并將獲取的各現(xiàn)場設備的數(shù)據(jù)信息轉(zhuǎn)換為統(tǒng)一格式并發(fā)送至消息服務器集群。
多個云終端服務器10,還用于從消息服務器集群的存儲空間中獲取各現(xiàn)場設備的控制信息并發(fā)送給各現(xiàn)場設備。
消息服務器集群20,用于接收多個云終端服務器發(fā)送的各現(xiàn)場設備的數(shù)據(jù)信息,并存儲至各現(xiàn)場設備所屬的云終端服務器對應的存儲空間。
消息服務器集群20,還用于從云平臺服務器集群接收的各現(xiàn)場設備的控制信息,并將各現(xiàn)場設備的控制信息存儲至各現(xiàn)場設備所屬的云終端服務器對應的存儲空間。
云平臺服務器集群30,用于從消息服務器集群的存儲空間獲取各現(xiàn)場設備的數(shù)據(jù)信息。
云平臺服務器集群30,還用于獲取針對各現(xiàn)場設備的控制信息,并將各現(xiàn)場設備的控制信息發(fā)送給消息服務器集群。
其中,云終端服務器10在用于獲取各現(xiàn)場設備的數(shù)據(jù)信息時,可通過采集設備獲取各現(xiàn)場設備的數(shù)據(jù)信息,即采集設備在采集各現(xiàn)場設備的數(shù)據(jù)信息以后,將采集到的各現(xiàn)場設備的數(shù)據(jù)信息發(fā)送給云終端服務器10。
基于圖1所示的能源云服務系統(tǒng)的結構基礎上,本發(fā)明實施例還提供一種防數(shù)據(jù)擁堵的通信方法。
圖2示例性示出了本發(fā)明實施例提供的一種基于圖1所示的能源云服務系統(tǒng)的防數(shù)據(jù)擁堵的通信方法流程示意圖,如圖2所示,該方法可包括:
S201、多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給消息服務器集群,以使消息服務器集群將該數(shù)據(jù)信息存儲至存儲空間。
S202、多個云終端服務器從消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是云平臺服務器集群針對每個云終端服務所發(fā)送的。其中,存儲空間是消息服務器集群根據(jù)數(shù)據(jù)信息和待讀取數(shù)據(jù)的實時性和非實時性為多個云終端服務器所分配的存儲空間。
存儲空間可以是存儲隊列,也可以是其它類型的存儲形式,本發(fā)明實施例對存儲空間的形式不進行任何限定。
當存儲空間為存儲隊列時,存儲隊列可包括第一公用隊列、第二公用隊列、多個第一私有隊列和多個第二私有隊列。并且第一公用隊列和第二公用隊列用于存儲實時性不高的數(shù)據(jù),第一私有隊列和第二私有隊列用于存儲實時性較高的數(shù)據(jù)。
第一公用隊列和第二公用隊列是消息服務器集群為所有云終端服務器所分配的公用存儲隊列,且第一公用隊列用于存儲多個云終端服務器所發(fā)送的與所述多個云終端服務器的工作狀態(tài)有關的數(shù)據(jù),第二公用隊列用于存儲多個云終端服務器所發(fā)送的基于現(xiàn)場設備的數(shù)據(jù)信息所得到的事件數(shù)據(jù)。
多個第一私有隊列和多個第二私有隊列是消息服務器集群為每個云終端服務器所分配的私有存儲隊列,且第一私有隊列用于存儲每個云終端服務器所發(fā)送的執(zhí)行接收到的下行控制指令所得到的響應數(shù)據(jù),第二私有隊列用于存儲云平臺服務器集群針對每個云終端服務器所發(fā)送的下行控制指令。
可選的,云終端服務器在獲取到現(xiàn)場設備的數(shù)據(jù)信息以后,云終端服務器與消息服務器集群之間的交互流程,可參見圖3。
S301、云終端服務器獲取現(xiàn)場設備的數(shù)據(jù)信息。
S302、云終端服務器根據(jù)獲取到現(xiàn)場設備的數(shù)據(jù)信息,確定所述數(shù)據(jù)信息的存儲隊列。
S303、云終端服務器向消息服務器集群發(fā)送存儲請求,該存儲請求中攜帶有存儲隊列的隊列標識及所述數(shù)據(jù)信息。
S304、消息服務器集群根據(jù)存儲請求中攜帶的存儲隊列的隊列標識確定所述數(shù)據(jù)信息的存儲隊列,將所述數(shù)據(jù)信息存儲至存儲隊列。
下面通過一個具體的例子對圖3所示的方法流程進行詳細的解釋說明。
首先,假設存在一個云終端服務器為云終端服務器A,并假設消息服務器集群為云終端服務器A分配的第一公用隊列的隊列標識為001,第二公用隊列的隊列標識為002,其中,隊列標識為001的第一公用隊列用于存儲與云終端服務器A的工作狀態(tài)有關的數(shù)據(jù),隊列標識為002的第二公用隊列用于存儲云終端服務器A基于現(xiàn)場設備的數(shù)據(jù)信息所得到的事件數(shù)據(jù)。
進一步假設云終端服務器A在進行接入認證后獲得的標識信息為“123”,并假設消息服務器集群為云終端服務器A分配的第一私有隊列和第二私有隊列的隊列標識分別為up_123和down_123,其中,隊列標識為up_123用于存儲云終端服務器A在執(zhí)行接收到的下行控制指令所得到的響應數(shù)據(jù),隊列標識為down_123的存儲隊列用于存儲云平臺服務器集群針對云終端服務A所發(fā)送的下行控制指令。
然后,在云終端服務器A獲取現(xiàn)場設備的數(shù)據(jù)信息1之后,若數(shù)據(jù)信息1是云終端服務器A的工作狀態(tài)有關的數(shù)據(jù),則云終端服務器A確定數(shù)據(jù)信息1的存儲隊列為隊列標識為001的存儲隊列,云終端服務器A向消息服務器集群發(fā)送存儲請求,并在存儲請求中攜帶隊列標識“001”和數(shù)據(jù)信息1,消息服務器集群在接收到該存儲請求后,根據(jù)該存儲請求中攜帶的隊列標識“001”,確定數(shù)據(jù)信息1的存儲隊列為隊列標識為001的存儲隊列,之后消息服務器集群將數(shù)據(jù)信息存儲至隊列標識為001的存儲隊列中。
若數(shù)據(jù)信息1是云終端服務器A基于采集的現(xiàn)場設備的數(shù)據(jù)信息所得到的事件數(shù)據(jù),則云終端服務器A確定數(shù)據(jù)信息1的存儲隊列為隊列標識為002的存儲隊列,云終端服務器A向消息服務器集群發(fā)送存儲請求,并在存儲請求中攜帶隊列標識“002”和數(shù)據(jù)信息1,消息服務器集群在接收到該存儲請求后,根據(jù)該存儲請求中攜帶的隊列標識“002”,確定數(shù)據(jù)信息1的存儲隊列為隊列標識為002的存儲隊列,之后消息服務器集群將數(shù)據(jù)信息存儲至隊列標識為002的存儲隊列中。
若數(shù)據(jù)信息1是云終端服務器A基于執(zhí)行接收到的下行控制指令所得到的響應數(shù)據(jù),則云終端服務器A確定數(shù)據(jù)信息1的存儲隊列為隊列標識為up_123的存儲隊列,云終端服務器A向消息服務器集群發(fā)送存儲請求,并在存儲請求中攜帶隊列標識“up_123”和數(shù)據(jù)信息1,消息服務器集群在接收到該存儲請求后,根據(jù)該存儲請求中攜帶的隊列標識“up_123”,確定數(shù)據(jù)信息1的存儲隊列為隊列標識為up_123的存儲隊列,之后消息服務器集群將數(shù)據(jù)信息存儲至隊列標識為up_123的存儲隊列中。
需要說明的是,隊列標識可以基于云終端服務器的標識信息進行確定,也可自行定義。
可選的,為了保障云平臺服務器集群能夠及時的了解云終端服務器的工作狀態(tài),在云終端服務器發(fā)生故障時能夠及時的排查出發(fā)生故障的云終端服務器,云終端服務器還可生成心跳報文,并周期性的將心跳報文和第一公用隊列的隊列標識一起發(fā)送給消息服務器集群,消息服務器集群在接收到心跳報文和第一公用隊列的隊列標識后,根據(jù)第一公用隊列的隊列標識確定該心跳報文的存儲的第一公用隊列,并將所述心跳報文存儲至第一公用隊列中,之后云平臺服務器集群周期性的從消息服務器集群的第一公用隊列中讀取所述心跳報文。
可選的,云平臺服務器集群還可將針對每個云終端服務器發(fā)送下行控制指令,并將針對每個云終端服務器所發(fā)送的下行控制指令發(fā)送給消息服務器集群,消息服務器集群在接收到云平臺服務器集群將針對每個云終端服務器發(fā)送下行控制指令以后,可將下行控制指令存儲到消息服務器集群中每個云終端服務器的私有隊列中。
在消息服務器集群將下行控制指令存儲到消息服務器集群中每個云終端服務器的私有隊列以后,云終端服務器從消息服務器集群獲取到下行控制指令的具體流程,可參見圖4。
S401、云終端服務器向消息服務器集群發(fā)送讀取請求,該讀取請求中攜帶有第二私有隊列的標識信息。
S402、消息服務器集群根據(jù)讀取請求中攜帶的第二私有隊列的標識信息確定待讀取數(shù)據(jù)的存儲隊列,并從該存儲隊列中獲取待讀取數(shù)據(jù)發(fā)送給云終端服務器。
S403、云終端服務器接收消息服務器集群反饋的待讀取數(shù)據(jù)。
S404、云終端服務器根據(jù)所述待讀取數(shù)據(jù),將其轉(zhuǎn)換為對應現(xiàn)場設備所能識別的協(xié)議格式,發(fā)送給所述待讀取數(shù)據(jù)針對的現(xiàn)場設備。
在上述步驟S401中,云終端服務器可周期性的向消息服務器集群發(fā)送查詢請求,以使消息服務器集群在接收到查詢請求后查詢云終端服務器所屬的第二私有隊列,從云終端服務器所屬的第二私有隊列中查找發(fā)給該云終端服務器的指令。
在具體實施時,周期的時間長度可根據(jù)云終端服務器的應用場景不同而設置的不同的時間長度,例如,當云終端服務器下的各現(xiàn)場設備對控制要求較高,則為了提高對各現(xiàn)場設備的控制度,可將周期的時間長度盡量設置的小一些,當云終端服務器下的各現(xiàn)場設備對控制要求不是特別高時,為了減少云終端服務器與消息服務器間之間的信令傳輸以節(jié)約網(wǎng)絡資源,可將周期的時間長度盡量設置的長一些。
下面通過一個具體的例子對圖4所示的方法流程進行詳細的解釋說明。
首先,假設存在一個云終端服務器為云終端服務器B,并假設消息服務器集群為云終端服務器B分配的第一公用隊列的隊列標識為001,第二公用隊列的隊列標識為002,其中,隊列標識為001的第一公用隊列用于存儲與云終端服務器B的工作狀態(tài)有關的數(shù)據(jù),隊列標識為002的第二公用隊列用于存儲云終端服務器B基于現(xiàn)場設備的數(shù)據(jù)信息所得到的事件數(shù)據(jù)。
進一步假設云終端服務器B在進行接入認證后獲得的標識信息為“456”,并假設消息服務器集群為云終端服務器B分配的第一私有隊列和第二私有隊列的隊列標識分別為up_456和down_456,其中,隊列標識為up_456用于存儲云終端服務器B在執(zhí)行接收到的下行控制指令所得到的響應數(shù)據(jù),隊列標識為down_456的存儲隊列用于存儲云平臺服務器集群針對云終端服務B所發(fā)送的下行控制指令。
然后,進一步假設消息服務器集群中隊列標識為down_456的存儲隊列中存儲有云平臺服務器集群針對云終端服務器B所發(fā)送的下行控制指令1且下行控制指令1未被讀取,則云終端服務器可周期性的向消息服務器發(fā)送讀取請求,該讀取請求中攜帶有隊列標識“down_456”,消息服務器集群在接收到該隊列請求后,查詢隊列標識為down_456的存儲隊列,發(fā)現(xiàn)該存儲隊列中存在未被讀取的下行控制指令1,則可將下行控制指令1發(fā)送給云終端服務器B,云終端服務器B在接收到下行控制指令1后,執(zhí)行該下行控制指令1,即云終端服務器B根據(jù)下行控制指令1控制該下行控制指令1所針對的現(xiàn)場設備。
為了保障消息服務器集群的高可用性,消息服務器集群20可包括一個注冊服務器501、多個消息處理節(jié)點502,消息服務器集群20具體的結構示意圖,可參見圖5。其中,注冊服務器501用于記錄多個消息處理節(jié)點的存儲空間的使用情況,并根據(jù)所記錄的多個消息處理節(jié)點的存儲空間的使用情況,選舉出存儲空間使用最小的消息處理節(jié)點作為消息服務器集群20的領導者,當選舉出的消息服務器集群20的領導者發(fā)生故障時,注冊服務器再根據(jù)剩下的消息處理節(jié)點的存儲空間的使用情況,從剩下的消息處理節(jié)點中選舉出消息服務器集群20的領導者,從而保障系統(tǒng)的高可用性。此外,在同樣的硬件資源條件下,消息服務器集群還可提供更高的數(shù)據(jù)負載能力,由于消息服務器集群中包括一個注冊服務器和多個消息處理節(jié)點,又由于多個消息處理節(jié)點的個數(shù)N可配置,因此,消息服務器集群還能夠支持N+1的數(shù)據(jù)通信容錯能力。
為了避免因網(wǎng)絡設備出現(xiàn)問題,導致消息服務器集群20失效,消息服務器集群20中的注冊服務器501和多個消息處理節(jié)點502可以位于不同的地理區(qū)域中。
需要注意的是,云終端服務器在將獲取到的現(xiàn)場設備的數(shù)據(jù)信息發(fā)送給消息服務器集群時,需要首先將獲取到現(xiàn)場設備的數(shù)據(jù)信息轉(zhuǎn)換為統(tǒng)一格式發(fā)送給消息服務器集群,并將所述數(shù)據(jù)信息和存儲隊列的標識信息一起發(fā)送給消息服務器集群,待消息服務器集群接收到云終端服務器發(fā)送的所述數(shù)據(jù)信息和存儲隊列的標識信息后,根據(jù)所述存儲隊列的標識信息,將所述數(shù)據(jù)信息存儲至消息服務器集群相應的存儲隊列中。
根據(jù)以上內(nèi)容可以看出,首先通過在消息服務器集群中根據(jù)數(shù)據(jù)信息和待讀取數(shù)據(jù)的實時性和非實時性為多個云終端服務器分配的存儲空間,然后在多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群以后,消息服務器集群可將數(shù)據(jù)信息存儲至存儲空間,并且多個云終端服務器還可從消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),該待讀取數(shù)據(jù)是云平臺服務器集群針對每個云終端服務器所發(fā)送的,因此,通過在消息服務器集群內(nèi)部根據(jù)數(shù)據(jù)的實時性和非實時性為每個云終端服務器分配多個存儲空間,從而使得消息服務器集群能夠起到緩存的作用,即消息服務器集群能夠及時的接收多個云終端服務器所發(fā)送的數(shù)據(jù),還能夠提高多個云終端服務器與消息服務器集群之間的數(shù)據(jù)傳輸速率,保證數(shù)據(jù)的高效傳輸,使得消息服務器集群內(nèi)部的數(shù)據(jù)不再發(fā)生擁堵,丟失等。
基于相同的技術構思,本發(fā)明實施例提供一種防數(shù)據(jù)擁堵的通信裝置,該通信裝置適用于能源云服務系統(tǒng),所述能源云服務系統(tǒng)包括:多個云終端服務器、與所述多個云終端服務器網(wǎng)絡連接的消息服務器集群、與所述消息服務器集群網(wǎng)絡連接的云平臺服務器集群,該通信裝置存在于所述云終端服務器中,如圖6所示,該通信裝置包括:
發(fā)送模塊601,用于將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群,以使所述消息服務器集群將所述數(shù)據(jù)信息存儲至存儲空間;
獲取模塊602,用于從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是所述云平臺服務器集群針對每個云終端服務器所發(fā)送的;
其中,存儲空間是所述消息服務器集群根據(jù)所述數(shù)據(jù)信息和所述待讀取數(shù)據(jù)的實時性和非實時性為所述多個云終端服務器所分配的存儲空間。
較佳的,所述存儲空間為存儲隊列,且所述存儲隊列包括第一公用隊列、第二公用隊列、多個第一私有隊列和多個第二私有隊列,所述第一公用隊列和所述第二公用隊列為所述消息服務器集群為所有云終端服務器所分配的公用存儲隊列,且所述第一公用隊列用于存儲所述多個云終端服務器所發(fā)送的與所述云終端服務器的工作狀態(tài)有關的數(shù)據(jù),所述第二公用隊列用于存儲所述多個云終端服務器所發(fā)送的基于現(xiàn)場設備的數(shù)據(jù)信息所得到的事件數(shù)據(jù);所述多個第一私有隊列和所述多個第二私有隊列為所述消息服務器集群為每個云終端服務器所分配的私有存儲隊列,且所述第一私有隊列用于存儲每個云終端服務器所發(fā)送的執(zhí)行接收到的下行控制指令所得到的響應數(shù)據(jù),所述第二私有隊列用于存儲所述云平臺服務器集群針對每個云終端服務器所發(fā)送的下行控制指令。
較佳的,發(fā)送模塊601,還用于:
在將獲取到的現(xiàn)場設備的數(shù)據(jù)信息之后,根據(jù)所述數(shù)據(jù)信息,確定所述數(shù)據(jù)信息的存儲隊列;
向所述消息服務器集群發(fā)送存儲請求,所述存儲請求中攜帶有所述存儲隊列的隊列標識及數(shù)據(jù)信息,以使所述消息服務器集群根據(jù)所述存儲隊列的隊列標識確定所述數(shù)據(jù)信息的存儲隊列后,將所述數(shù)據(jù)信息存儲至所述存儲隊列。
較佳的,發(fā)送模塊601,還用于:
生成心跳報文,并將所述心跳報文和所述第一公用隊列的隊列標識發(fā)送給消息服務器集群,以使所述云平臺服務器集群根據(jù)所述第一公用隊列的隊列標識從所述消息服務器集群中讀取所述心跳報文。
較佳的,發(fā)送模塊601,還用于:在所述多個云終端服務器從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù)之前,向所述消息服務器集群發(fā)送讀取請求,所述讀取請求中攜帶有所述第二私有隊列的標識信息,以使所述消息服務器集群根據(jù)所述第二私有隊列的標識信息從所述第二私有隊列中讀取待讀取數(shù)據(jù)。
較佳的,所述消息服務器集群包括注冊服務器和多個消息處理節(jié)點,所述注冊服務器和所述多個消息處理節(jié)點通過網(wǎng)絡連接,且所述多個消息處理節(jié)點中包括一個第一級消息處理節(jié)點,所述第一級消息處理節(jié)點通過網(wǎng)絡與所述多個云終端服務器進行連接;
在所述注冊服務器檢測到所述多個消息處理節(jié)點發(fā)生故障后,從剩余的消息處理節(jié)點中選出負載量最小的消息處理節(jié)點,以使負載量最小的消息處理節(jié)點升級為第一級消息處理節(jié)點。
綜上,本發(fā)明實施例提供的一種防數(shù)據(jù)擁堵的通信方法及其裝置,適用于能源云服務系統(tǒng),所述能源云服務系統(tǒng)包括:多個云終端服務器、與所述多個云終端服務器網(wǎng)絡連接的消息服務器集群、與所述消息服務器集群網(wǎng)絡連接的云平臺服務器集群,該方法包括:所述多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群,以使所述消息服務器集群將所述數(shù)據(jù)信息存儲至存儲空間;所述多個云終端服務器從所述消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),所述待讀取數(shù)據(jù)是所述云平臺服務器集群針對每個云終端服務器所發(fā)送的;其中,存儲空間是所述消息服務器集群根據(jù)所述數(shù)據(jù)信息和所述待讀取數(shù)據(jù)的實時性和非實時性為所述多個云終端服務器所分配的存儲空間??梢钥闯觯紫韧ㄟ^在消息服務器集群中根據(jù)數(shù)據(jù)信息和待讀取數(shù)據(jù)的實時性和非實時性為多個云終端服務器分配的存儲空間,然后在多個云終端服務器將獲取到的現(xiàn)場設備的數(shù)據(jù)信息,發(fā)送給所述消息服務器集群以后,消息服務器集群可將數(shù)據(jù)信息存儲至存儲空間,并且多個云終端服務器還可從消息服務器集群的存儲空間中獲取待讀取數(shù)據(jù),該待讀取數(shù)據(jù)是云平臺服務器集群針對每個云終端服務器所發(fā)送的,因此,通過在消息服務器集群內(nèi)部根據(jù)數(shù)據(jù)的實時性和非實時性為每個云終端服務器分配多個存儲空間,從而使得消息服務器集群能夠起到緩存的作用,即消息服務器集群能夠及時的接收多個云終端服務器所發(fā)送的數(shù)據(jù),還能夠提高多個云終端服務器與消息服務器集群之間的數(shù)據(jù)傳輸速率,保證數(shù)據(jù)的高效傳輸,使得消息服務器集群內(nèi)部的數(shù)據(jù)不再發(fā)生擁堵,丟失等。
本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內(nèi)的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。