本發(fā)明屬于移動(dòng)互聯(lián)網(wǎng)領(lǐng)域,涉及一種電力信息企信聊天服務(wù)的即時(shí)可靠的請(qǐng)求方法,具體地說(shuō)是一種基于XMPP的數(shù)據(jù)采集方法。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展和移動(dòng)應(yīng)用的普及,用戶通過(guò)移動(dòng)網(wǎng)絡(luò)進(jìn)行企信聊天的需求日益劇增,如何保證企信聊天消息服務(wù)在線確認(rèn)的即時(shí)可靠,成為了急需解決的問(wèn)題。目前比較常用的方法是總線和MQTT,總線雖然提高了微機(jī)系統(tǒng)的信息傳送速率和效率,但是由于外部設(shè)備和主存儲(chǔ)器之間沒(méi)有直接的通路,信息交換必須通過(guò)CPU進(jìn)行中轉(zhuǎn),從而降低了CPU的工作效率,并且總線的帶寬有限,如果連接到總線的某個(gè)硬件設(shè)備沒(méi)有資源調(diào)控機(jī)制容易造成信息的延時(shí)。MQTT協(xié)議雖然簡(jiǎn)潔小巧,并具有較強(qiáng)的可擴(kuò)展性,但是目前不夠成熟,實(shí)現(xiàn)較為復(fù)雜,部署硬件成本比較高。
技術(shù)實(shí)現(xiàn)要素:
基于以上情況,本發(fā)明的目的是提供一種基于XMPP的數(shù)據(jù)采集方法,本發(fā)明通過(guò)利用XMPP單向長(zhǎng)連接請(qǐng)求方法,實(shí)現(xiàn)移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)采集信息的即時(shí)可靠傳輸,提升和完善數(shù)據(jù)采集上報(bào)的準(zhǔn)確性。
本發(fā)明的目的通過(guò)以下技術(shù)方案實(shí)現(xiàn):
一種基于XMPP的數(shù)據(jù)采集方法,其特征在于:該方法從消息中間件OpenFire服務(wù)器和單向長(zhǎng)連接兩個(gè)方面進(jìn)行數(shù)據(jù)上報(bào)的優(yōu)化,具體方法如下:
1)客戶端與消息中間件間通信
用戶通過(guò)客戶端輸入或采集到需要上報(bào)的數(shù)據(jù)信息,然后將數(shù)據(jù)信息上傳到消息中間件OpenFire服務(wù)器;
2)消息中間件間通信
消息中間件利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,通過(guò)提供消息傳遞和消息排隊(duì)模型,在分布式環(huán)境下擴(kuò)展進(jìn)程間的通信;
3)消息中間件與數(shù)據(jù)處理服務(wù)器間通信
消息中間件將消息存放在若干對(duì)聊中,在合適的時(shí)候?qū)⑾l(fā)送給數(shù)據(jù)處理服務(wù)器,消息中間件在不同平臺(tái)間通信,用來(lái)屏蔽掉各種平臺(tái)及協(xié)議之間的特性,實(shí)現(xiàn)應(yīng)用程序之間的系統(tǒng),在客戶端和服務(wù)器之間提供同步和異步連接,并且在任何時(shí)刻都將消息進(jìn)行傳送或者存儲(chǔ)轉(zhuǎn)發(fā);
4)消息中間件的負(fù)載均衡
根據(jù)消息中間件OpenFire服務(wù)器的壓力情況,通過(guò)簡(jiǎn)單方便添加服務(wù)器設(shè)備數(shù)量來(lái)實(shí)現(xiàn)服務(wù)器系統(tǒng)性能的擴(kuò)充,減輕消息中間件的訪問(wèn)壓力。
本發(fā)明步驟1)中,利用消息中間件創(chuàng)造可靠的數(shù)據(jù)傳送的分布式環(huán)境,確保數(shù)據(jù)信息即時(shí)可靠的發(fā)送給數(shù)據(jù)處理服務(wù)器并進(jìn)行處理。步驟3)中,OpenFire服務(wù)器間共享數(shù)據(jù),OpenFire服務(wù)器與數(shù)據(jù)處理服務(wù)器建立長(zhǎng)連接,并將用戶上報(bào)的信息發(fā)送給數(shù)據(jù)處理服務(wù)器,若數(shù)據(jù)處理服務(wù)器暫無(wú)響應(yīng),則OpenFire服務(wù)器暫存用戶上報(bào)信息,直到數(shù)據(jù)處理服務(wù)器恢復(fù)正常主動(dòng)與OpenFire建立長(zhǎng)連接。
本發(fā)明通過(guò)研究XMPP單向長(zhǎng)連接請(qǐng)求方法,解決用戶數(shù)據(jù)采集信息反饋不及時(shí)的問(wèn)題,并基于該方法,實(shí)現(xiàn)企信聊天消息服務(wù)在線確認(rèn),提升消息接收的即時(shí)性和可靠性,營(yíng)造“即時(shí)可靠”的電力企信聊天系統(tǒng)。
本發(fā)明主要從消息中間件OpenFire服務(wù)器和單向長(zhǎng)連接這兩個(gè)方面進(jìn)行數(shù)據(jù)上報(bào)的優(yōu)化,通過(guò)利用XMPP單向長(zhǎng)連接請(qǐng)求方法,實(shí)現(xiàn)移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)采集信息的即時(shí)可靠傳輸,提升和完善數(shù)據(jù)采集上報(bào)的準(zhǔn)確性。
附圖說(shuō)明
圖1 本發(fā)明中數(shù)據(jù)采集信息上報(bào)流程圖。
具體實(shí)施方式
一種基于XMPP的數(shù)據(jù)采集方法,從消息中間件OpenFire服務(wù)器和單向長(zhǎng)連接兩個(gè)方面進(jìn)行數(shù)據(jù)上報(bào)的優(yōu)化,具體方法如下:
1)客戶端與消息中間件間通信。用戶通過(guò)客戶端輸入或采集到需要上報(bào)的數(shù)據(jù)信息,然后將數(shù)據(jù)信息上傳到消息中間件OpenFire服務(wù)器;利用消息中間件創(chuàng)造可靠的數(shù)據(jù)傳送的分布式環(huán)境,確保數(shù)據(jù)信息即時(shí)可靠的發(fā)送給數(shù)據(jù)處理服務(wù)器并進(jìn)行處理。
2)消息中間件間通信。消息中間件利用高效可靠的消息傳遞機(jī)制進(jìn)行平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,通過(guò)提供消息傳遞和消息排隊(duì)模型,在分布式環(huán)境下擴(kuò)展進(jìn)程間的通信。
3)消息中間件與數(shù)據(jù)處理服務(wù)器間通信。消息中間件將消息存放在若干對(duì)聊中,在合適的時(shí)候?qū)⑾l(fā)送給數(shù)據(jù)處理服務(wù)器,消息中間件在不同平臺(tái)間通信,用來(lái)屏蔽掉各種平臺(tái)及協(xié)議之間的特性,實(shí)現(xiàn)應(yīng)用程序之間的系統(tǒng),在客戶端和服務(wù)器之間提供同步和異步連接,并且在任何時(shí)刻都將消息進(jìn)行傳送或者存儲(chǔ)轉(zhuǎn)發(fā);OpenFire服務(wù)器間共享數(shù)據(jù),OpenFire服務(wù)器與數(shù)據(jù)處理服務(wù)器建立長(zhǎng)連接,并將用戶上報(bào)的信息發(fā)送給數(shù)據(jù)處理服務(wù)器,若數(shù)據(jù)處理服務(wù)器暫無(wú)響應(yīng),則OpenFire服務(wù)器暫存用戶上報(bào)信息,直到數(shù)據(jù)處理服務(wù)器恢復(fù)正常主動(dòng)與OpenFire建立長(zhǎng)連接。
4)消息中間件的負(fù)載均衡。根據(jù)消息中間件OpenFire服務(wù)器的壓力情況,通過(guò)簡(jiǎn)單方便添加服務(wù)器設(shè)備數(shù)量來(lái)實(shí)現(xiàn)服務(wù)器系統(tǒng)性能的擴(kuò)充,減輕消息中間件的訪問(wèn)壓力。
以企信聊天消息服務(wù)在線確認(rèn)過(guò)程為例說(shuō)明具體的操作步驟:
1. 用戶將自己的消息服務(wù)狀態(tài)信息上報(bào)給OpenFire服務(wù)器。
2. 作為消息中間件的OpenFire服務(wù)器間共享用戶上傳的數(shù)據(jù)。
3. OpenFire服務(wù)器與數(shù)據(jù)處理服務(wù)器建立長(zhǎng)連接,并將用戶上報(bào)的信息發(fā)送給數(shù)據(jù)處理服務(wù)器。若數(shù)據(jù)處理服務(wù)器暫無(wú)響應(yīng),則OpenFire服務(wù)器暫存用戶上報(bào)信息,直到數(shù)據(jù)處理服務(wù)器恢復(fù)正常主動(dòng)與OpenFire建立長(zhǎng)連接。
4.由負(fù)載均衡決定數(shù)據(jù)處理服務(wù)器連接具體的OpenFire服務(wù)器。根據(jù)消息中間件OpenFire服務(wù)器的壓力情況,通過(guò)簡(jiǎn)單方便添加服務(wù)器設(shè)備數(shù)量來(lái)實(shí)現(xiàn)服務(wù)器系統(tǒng)性能的擴(kuò)充,減輕消息中間件的訪問(wèn)壓力。