服務(wù)器、終端、數(shù)據(jù)推送系統(tǒng)和數(shù)據(jù)推送方法
【專利摘要】本發(fā)明提供了一種服務(wù)器、一種終端、一種數(shù)據(jù)推送系統(tǒng)和一種數(shù)據(jù)推送方法,其中,所述服務(wù)器包括:請求接收單元,用于接收至少一個終端的請求信息,以及接收另一個服務(wù)器的推送指令;請求生成單元,用于解析所述推送指令以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息,根據(jù)與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息生成推送請求;請求發(fā)送單元,用于將所述推送請求發(fā)送至所述終端,以及將所述請求信息傳送至所述另一個服務(wù)器,以便所述另一個服務(wù)器根據(jù)所述請求信息確定所述數(shù)據(jù)的信息并生成所述推送指令。通過本發(fā)明的技術(shù)方案,可以使應(yīng)用服務(wù)器有針對性地向終端推送數(shù)據(jù),同時能夠緩解服務(wù)器的業(yè)務(wù)處理壓力,提高了服務(wù)器的響應(yīng)速度。
【專利說明】服務(wù)器、終端、數(shù)據(jù)推送系統(tǒng)和數(shù)據(jù)推送方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息【技術(shù)領(lǐng)域】,具體而言,涉及一種服務(wù)器、一種終端、一種數(shù)據(jù)推送系統(tǒng)和一種數(shù)據(jù)推送方法。
【背景技術(shù)】
[0002]移動互聯(lián)網(wǎng)的快速發(fā)展使人們獲取信息的方式變得更加方便,智能化移動終端的使用也更為普及,使用移動設(shè)備閱讀新聞已經(jīng)成為大部分人日常生活中的一部分。
[0003]新聞是一種大數(shù)據(jù)量、實時性高的信息載體,如何有效、實時的篩選新聞信息成為使用移動設(shè)備閱讀新聞需要解決的技術(shù)問題。面對大量的、實時更新的新聞數(shù)據(jù),傳統(tǒng)的客戶端“拉數(shù)據(jù)”的方式不能解決上述技術(shù)問題,而“服務(wù)器數(shù)據(jù)推送”技術(shù)無疑是目前最好的解決方案,相關(guān)技術(shù)中,服務(wù)器推送技術(shù)通常采用以下方案:
[0004]移動設(shè)備中的客戶端階段性地與服務(wù)器連接并查詢是否有新的內(nèi)容需要更新,使用該方案時,客戶端必須實現(xiàn)與服務(wù)器的通信,比如使用消息隊列等,同時需要考慮輪詢頻率,如果過快,會給服務(wù)器造成很大的壓力,同時會大量消耗移動設(shè)備的網(wǎng)絡(luò)流量和電池電量,如果輪詢過慢會造成數(shù)據(jù)無法及時更新。
[0005]可見,相關(guān)技術(shù)中并沒有切實可行的技術(shù)方案以實現(xiàn)服務(wù)器對終端的數(shù)據(jù)推送。
【發(fā)明內(nèi)容】
[0006]本發(fā)明正是基于上述技術(shù)問題至少之一,提出了一種新的數(shù)據(jù)推送方案,可以使應(yīng)用服務(wù)器有針對性地向終端推送數(shù)據(jù),同時能夠緩解服務(wù)器的業(yè)務(wù)處理壓力,提高了服務(wù)器的響應(yīng)速度。
[0007]有鑒于此,本發(fā)明提出了一種服務(wù)器,包括:請求接收單元,用于接收至少一個終端的請求信息,以及接收另一個服務(wù)器的推送指令;請求生成單元,用于解析所述推送指令以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息,根據(jù)與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息生成推送請求;請求發(fā)送單元,用于將所述推送請求發(fā)送至所述終端,以及將所述請求信息傳送至所述另一個服務(wù)器,以便所述另一個服務(wù)器根據(jù)所述請求信息確定所述數(shù)據(jù)的信息并生成所述推送指令。
[0008]在該技術(shù)方案中,由于傳統(tǒng)的應(yīng)用服務(wù)器(即本申請中所述的另一個服務(wù)器)一方面要與終端建立連接,接收終端的請求信息,另一方面還要根據(jù)終端的請求信息查找與終端相關(guān)聯(lián)的數(shù)據(jù),并且將查找到的數(shù)據(jù)發(fā)送至終端,若有多個終端與應(yīng)用服務(wù)器建立連接時,會增加應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,降低應(yīng)用服務(wù)器的響應(yīng)速度,而且不能確保終端與應(yīng)用服務(wù)器連接的穩(wěn)定性。因此,通過使應(yīng)用服務(wù)器只與推送服務(wù)器(即本申請中所述的服務(wù)器)建立連接,推送服務(wù)器將終端的請求信息發(fā)送至應(yīng)用服務(wù)器,使得能夠?qū)?yīng)用服務(wù)器的部分業(yè)務(wù)(比如與終端建立并保持連接的業(yè)務(wù))交由推送服務(wù)器進行處理,減輕了應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,提高了應(yīng)用服務(wù)器的響應(yīng)速度,同時,由于推送服務(wù)器主要負(fù)責(zé)與終端建立連接,因此確保了終端與推送服務(wù)器連接的穩(wěn)定性,而且能夠增加與推送服務(wù)器建立連接的終端的數(shù)量。
[0009]此外,應(yīng)用服務(wù)器在接收到推送服務(wù)器發(fā)送的終端的請求信息時,若直接將需要推送的數(shù)據(jù)通過推送服務(wù)器發(fā)送至終端,一方面,使得推送服務(wù)器與應(yīng)用服務(wù)器之間產(chǎn)生大量的數(shù)據(jù)傳輸,增加了應(yīng)用服務(wù)器與推送服務(wù)器的壓力,另一方面也使得終端不能選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),不利于用戶的體驗,比如相關(guān)技術(shù)中通過攔截SMS消息并且解析消息內(nèi)容來了解服務(wù)器的意圖,來實現(xiàn)完全的實時操作,但是很難找到免費的短消息發(fā)送網(wǎng)關(guān),而導(dǎo)致成本相對比較高。因此通過使應(yīng)用服務(wù)器將需要推送的數(shù)據(jù)的信息發(fā)送至推送服務(wù)器,使得一個應(yīng)用服務(wù)器與多個終端之間的請求處理可以完全交由一個推送服務(wù)器來進行處理,從而統(tǒng)一了應(yīng)用服務(wù)器的請求處理,也避免了終端通過不同的網(wǎng)關(guān)與應(yīng)用服務(wù)器進行交互,降低了交互成本。并且推送服務(wù)器向終端發(fā)送推送請求,可以減輕應(yīng)用服務(wù)器與推送服務(wù)器之間的數(shù)據(jù)交互壓力,同時,由于應(yīng)用服務(wù)器是根據(jù)終端的請求信息發(fā)送的推送請求,因此使得應(yīng)用服務(wù)器向終端推送的數(shù)據(jù)具有針對性,提升了用戶的體驗。
[0010]根據(jù)本發(fā)明的另一方面,還提出了一種終端,包括:請求發(fā)送單元,用于通過所述第一服務(wù)器向所述第二服務(wù)器發(fā)送請求信息,以便所述第二服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;數(shù)據(jù)接收單元,用于接收所述第一服務(wù)器根據(jù)所述推送指令生成的推送請求;請求解析單元,用于解析所述推送請求以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息。
[0011]在該技術(shù)方案中,終端通過推送服務(wù)器(即本申請中所述的第一服務(wù)器)向應(yīng)用服務(wù)器(即本申請中所述的第二服務(wù)器)發(fā)送請求信息,使得應(yīng)用服務(wù)器可以根據(jù)終端發(fā)送的請求信息確定向終端推送的數(shù)據(jù),避免了應(yīng)用服務(wù)器盲目地向終端推送用戶不需要的數(shù)據(jù)而影響用戶的體驗。此外,通過將與終端相關(guān)聯(lián)的數(shù)據(jù)的信息推送至終端,可以在終端接收到數(shù)據(jù)的信息時,由用戶確認(rèn)是否需要接收相應(yīng)的數(shù)據(jù),避免了應(yīng)用服務(wù)器直接將與終端相關(guān)聯(lián)但用戶不需要的數(shù)據(jù)發(fā)送至終端而耗費終端大量的流量與電量。
[0012]根據(jù)本發(fā)明的另一方面,還提出了一種數(shù)據(jù)推送系統(tǒng),包括上述技術(shù)方案中所述的服務(wù)器和至少一個上述技術(shù)方案中所述的終端。
[0013]根據(jù)本發(fā)明的另一方面,還提出了一種數(shù)據(jù)推送方法,包括:步驟402,推送服務(wù)器在接收到至少一個終端的請求信息時,將所述請求信息傳送至應(yīng)用服務(wù)器,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;步驟404,所述推送服務(wù)器接收所述推送指令,對所述推送指令進行解析以得到所述數(shù)據(jù)的信息,并根據(jù)所述數(shù)據(jù)的信息生成推送請求,將所述推送請求發(fā)送至所述終端。
[0014]在該技術(shù)方案中,由于傳統(tǒng)的應(yīng)用服務(wù)器一方面要與終端建立連接,接收終端的請求信息,另一方面還要根據(jù)終端的請求信息查找與終端相關(guān)聯(lián)的數(shù)據(jù),并且將查找到的數(shù)據(jù)發(fā)送至終端,若有多個終端與應(yīng)用服務(wù)器建立連接時,會增加應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,降低應(yīng)用服務(wù)器的響應(yīng)速度,而且不能確保終端與應(yīng)用服務(wù)器連接的穩(wěn)定性。因此,通過使應(yīng)用服務(wù)器只與推送服務(wù)器建立連接,推送服務(wù)器將終端的請求信息發(fā)送至應(yīng)用服務(wù)器,使得能夠?qū)?yīng)用服務(wù)器的部分業(yè)務(wù)(比如與終端建立并保持連接的業(yè)務(wù))交由推送服務(wù)器進行處理,減輕了應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,提高了應(yīng)用服務(wù)器的響應(yīng)速度,同時,由于推送服務(wù)器主要負(fù)責(zé)與終端建立連接,因此確保了終端與推送服務(wù)器連接的穩(wěn)定性,而且能夠增加與推送服務(wù)器建立連接的終端的數(shù)量。
[0015]此外,應(yīng)用服務(wù)器在接收到推送服務(wù)器發(fā)送的終端的請求信息時,若直接將需要推送的數(shù)據(jù)通過推送服務(wù)器發(fā)送至終端,一方面,使得推送服務(wù)器與應(yīng)用服務(wù)器之間產(chǎn)生大量的數(shù)據(jù)傳輸,增加了應(yīng)用服務(wù)器與推送服務(wù)器的壓力,另一方面也使得終端不能選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),不利于用戶的體驗,比如相關(guān)技術(shù)中通過攔截SMS消息并且解析消息內(nèi)容來了解服務(wù)器的意圖,來實現(xiàn)完全的實時操作,但是很難找到免費的短消息發(fā)送網(wǎng)關(guān),而導(dǎo)致成本相對比較高。因此通過使應(yīng)用服務(wù)器將需要推送的數(shù)據(jù)的信息發(fā)送至推送服務(wù)器,使得一個應(yīng)用服務(wù)器與多個終端之間的請求處理可以完全交由一個推送服務(wù)器來進行處理,從而統(tǒng)一了應(yīng)用服務(wù)器的請求處理,也避免了終端通過不同的網(wǎng)關(guān)與應(yīng)用服務(wù)器進行交互,降低了交互成本。并且推送服務(wù)器向終端發(fā)送推送請求,可以減輕應(yīng)用服務(wù)器與推送服務(wù)器之間的數(shù)據(jù)交互壓力,同時,由于應(yīng)用服務(wù)器是根據(jù)終端的請求信息發(fā)送的推送請求,因此使得應(yīng)用服務(wù)器向終端推送的數(shù)據(jù)具有針對性,提升了用戶的體驗。
[0016]根據(jù)本發(fā)明的另一方面,還提出了一種數(shù)據(jù)推送方法,包括:步驟502,至少一個終端通過推送服務(wù)器向應(yīng)用服務(wù)器發(fā)送請求信息,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;步驟504,所述終端接收所述推送服務(wù)器根據(jù)所述推送指令生成的推送請求;步驟506,所述終端解析所述推送請求以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息。
[0017]在該技術(shù)方案中,終端通過推送服務(wù)器向應(yīng)用服務(wù)器發(fā)送請求信息,使得應(yīng)用服務(wù)器可以根據(jù)終端發(fā)送的請求信息確定向終端推送的數(shù)據(jù),避免了應(yīng)用服務(wù)器盲目地向終端推送用戶不需要的數(shù)據(jù)而影響用戶的體驗。此外,通過將與終端相關(guān)聯(lián)的數(shù)據(jù)的信息推送至終端,可以在終端接收到數(shù)據(jù)的信息時,由用戶確認(rèn)是否需要接收相應(yīng)的數(shù)據(jù),避免了應(yīng)用服務(wù)器直接將與終端相關(guān)聯(lián)但用戶不需要的數(shù)據(jù)發(fā)送至終端而耗費終端大量的流量與電量。
[0018]通過以上技術(shù)方案,可以使應(yīng)用服務(wù)器有針對性地向終端推送數(shù)據(jù),同時能夠緩解服務(wù)器的業(yè)務(wù)處理壓力,提高了服務(wù)器的響應(yīng)速度。
【專利附圖】
【附圖說明】
[0019]圖1示出了根據(jù)本發(fā)明的實施例的服務(wù)器的示意框圖;
[0020]圖2示出了根據(jù)本發(fā)明的實施例的終端的示意框圖;
[0021]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)的示意框圖;
[0022]圖4示出了根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)推送方法的示意流程圖;
[0023]圖5示出了根據(jù)本發(fā)明的另一個實施例的數(shù)據(jù)推送方法的示意流程圖;
[0024]圖6示出了根據(jù)本發(fā)明的又一個實施例的數(shù)據(jù)推送方法的示意流程圖;
[0025]圖7示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0026]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點,下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行進一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實施例及實施例中的特征可以相互組合。
[0027]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實施,因此,本發(fā)明的保護范圍并不受下面公開的具體實施例的限制。
[0028]圖1示出了根據(jù)本發(fā)明的實施例的服務(wù)器的示意框圖。
[0029]如圖1所示,根據(jù)本發(fā)明的實施例的服務(wù)器100,包括:請求接收單元102,用于接收至少一個終端的請求信息,以及接收另一個服務(wù)器的推送指令;請求生成單元104,用于解析所述推送指令以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息,根據(jù)與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息生成推送請求;請求發(fā)送單元106,用于將所述推送請求發(fā)送至所述終端,以及將所述請求信息傳送至所述另一個服務(wù)器,以便所述另一個服務(wù)器根據(jù)所述請求信息確定所述數(shù)據(jù)的信息并生成所述推送指令。
[0030]在該技術(shù)方案中,由于傳統(tǒng)的應(yīng)用服務(wù)器(即本申請中所述的另一個服務(wù)器)一方面要與終端建立連接,接收終端的請求信息,另一方面還要根據(jù)終端的請求信息查找與終端相關(guān)聯(lián)的數(shù)據(jù),并且將查找到的數(shù)據(jù)發(fā)送至終端,若有多個終端與應(yīng)用服務(wù)器建立連接時,會增加應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,降低應(yīng)用服務(wù)器的響應(yīng)速度,而且不能確保終端與應(yīng)用服務(wù)器連接的穩(wěn)定性。因此,通過使應(yīng)用服務(wù)器只與推送服務(wù)器(即本申請中所述的服務(wù)器)建立連接,推送服務(wù)器將終端的請求信息發(fā)送至應(yīng)用服務(wù)器,使得能夠?qū)?yīng)用服務(wù)器的部分業(yè)務(wù)(比如與終端建立并保持連接的業(yè)務(wù))交由推送服務(wù)器進行處理,減輕了應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,提高了應(yīng)用服務(wù)器的響應(yīng)速度,同時,由于推送服務(wù)器主要負(fù)責(zé)與終端建立連接,因此確保了終端與推送服務(wù)器連接的穩(wěn)定性,而且能夠增加與推送服務(wù)器建立連接的終端的數(shù)量。
[0031]此外,應(yīng)用服務(wù)器在接收到推送服務(wù)器發(fā)送的終端的請求信息時,若直接將需要推送的數(shù)據(jù)通過推送服務(wù)器發(fā)送至終端,一方面,使得推送服務(wù)器與應(yīng)用服務(wù)器之間產(chǎn)生大量的數(shù)據(jù)傳輸,增加了應(yīng)用服務(wù)器與推送服務(wù)器的壓力,另一方面也使得終端不能選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),不利于用戶的體驗,比如相關(guān)技術(shù)中通過攔截SMS消息并且解析消息內(nèi)容來了解服務(wù)器的意圖,來實現(xiàn)完全的實時操作,但是很難找到免費的短消息發(fā)送網(wǎng)關(guān),而導(dǎo)致成本相對比較高。因此通過使應(yīng)用服務(wù)器將需要推送的數(shù)據(jù)的信息發(fā)送至推送服務(wù)器,使得一個應(yīng)用服務(wù)器與多個終端之間的請求處理可以完全交由一個推送服務(wù)器來進行處理,從而統(tǒng)一了應(yīng)用服務(wù)器的請求處理,也避免了終端通過不同的網(wǎng)關(guān)與應(yīng)用服務(wù)器進行交互,降低了交互成本。并且推送服務(wù)器向終端發(fā)送推送請求,可以減輕應(yīng)用服務(wù)器與推送服務(wù)器之間的數(shù)據(jù)交互壓力,同時,由于應(yīng)用服務(wù)器是根據(jù)終端的請求信息發(fā)送的推送請求,因此使得應(yīng)用服務(wù)器向終端推送的數(shù)據(jù)具有針對性,提升了用戶的體驗。
[0032]在上述技術(shù)方案中,優(yōu)選地,所述請求生成單元104用于解析所述推送指令,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并根據(jù)所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息生成所述推送請求。
[0033]在該技術(shù)方案中,推送服務(wù)器通過將數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息生成推送請求發(fā)送至終端,可以使終端在需要接收應(yīng)用服務(wù)器推送的數(shù)據(jù)時,通過推送請求中數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息能夠從應(yīng)用服務(wù)器下載到相應(yīng)的數(shù)據(jù)。此外,由于在應(yīng)用服務(wù)器和推送服務(wù)器、推送服務(wù)器和終端之間都是指令和/或請求的傳遞,因此減少了應(yīng)用服務(wù)器與推送服務(wù)器、推送服務(wù)器與終端之間的數(shù)據(jù)交互,從而可以優(yōu)化應(yīng)用服務(wù)器與推送服務(wù)器的性能,提升應(yīng)用服務(wù)器與推送服務(wù)器的響應(yīng)速度。
[0034]在上述技術(shù)方案中,優(yōu)選地,所述請求生成單元104還用于解析所述推送指令,以得到所述終端的標(biāo)識信息和/或所述終端的位置信息;所述請求發(fā)送單元還用于根據(jù)所述終端的標(biāo)識信息和/或所述終端的位置信息確定所述終端,以將所述推送請求發(fā)送至所述終端。
[0035]在該技術(shù)方案中,推送服務(wù)器可能同時將多個終端的請求信息發(fā)送至應(yīng)用服務(wù)器,應(yīng)用服務(wù)器根據(jù)終端的標(biāo)識信息和/或終端的位置信息查找到與終端相關(guān)聯(lián)的數(shù)據(jù),然后將終端的標(biāo)識信息和/或終端的位置信息,以及與終端相關(guān)聯(lián)的數(shù)據(jù)信息發(fā)送至推送服務(wù)器,推送服務(wù)器通過對推送指令的解析,得到終端的標(biāo)識信息和/或終端的位置信息,可以根據(jù)終端的標(biāo)識信息和/或終端的位置信息確定與該終端相關(guān)聯(lián)的數(shù)據(jù)信息,避免了將與其中一個終端相關(guān)聯(lián)的數(shù)據(jù)信息發(fā)送至其他終端,造成數(shù)據(jù)的混淆,確保了每個終端都能接收到屬于自己的數(shù)據(jù)信息,此外,由于每個終端都可以接收到屬于自己的數(shù)據(jù)信息,避免了終端數(shù)據(jù)的泄露,確保了終端數(shù)據(jù)的安全性。
[0036]在上述技術(shù)方案中,優(yōu)選地,還包括:連接建立單元108,用于與所述終端建立長連接。
[0037]在該技術(shù)方案中,若推送服務(wù)器每次向終端發(fā)送推送請求時,都向終端進行詢問(或者終端需要推送服務(wù)器發(fā)送推送請求時,都向推送服務(wù)器進行詢問),在得到連接確認(rèn)后,再進行連接并發(fā)送推送請求,則每次進行連接都需要耗費大量的等待時間,因此可以使終端與推送服務(wù)器之間建立長連接,則在推送服務(wù)器需要發(fā)送推送請求(或者終端向推送服務(wù)器發(fā)送請求信息)時,可以直接通過與終端之間的長連接進行發(fā)送,無需再對終端進行詢問并建立連接,節(jié)省了推送服務(wù)器與終端之間建立連接的時間。當(dāng)然,可以在推送服務(wù)器向終端發(fā)送推送請求之后,并且確認(rèn)在一段時間內(nèi)無需再向終端發(fā)送推送請求時,斷開與終端之間的長連接,從而緩解推送服務(wù)器的壓力,有利于其他終端與推送服務(wù)器建立長連接,避免由于持久而導(dǎo)致大量消耗移動設(shè)備的電量。
[0038]在上述技術(shù)方案中,優(yōu)選地,還包括:優(yōu)先級分配單元110,用于通過異步非阻塞和消息隊列的方式,根據(jù)所述至少一個終端中每個終端的優(yōu)先級,分別為所述每個終端的連接設(shè)置狀態(tài),并根據(jù)每個連接的狀態(tài)為所述連接分配優(yōu)先級,其中,所述連接建立單元用于根據(jù)所述每個終端的優(yōu)先級分別與所述每個終端建立長連接。
[0039]在該技術(shù)方案中,若同時存在多個終端與推送服務(wù)器建立連接,則推送服務(wù)器可能由于負(fù)載過大而造成與終端之間連接的不穩(wěn)定,因此通過為每個終端的連接狀態(tài)設(shè)置優(yōu)先級,可以在推送服務(wù)器負(fù)載過大時,斷開與優(yōu)先級低的終端之間的連接和/或拒絕優(yōu)先級低的終端的連接請求,從而確保了優(yōu)先級高的終端能夠維持與推送服務(wù)器之間連接的穩(wěn)定性,同時能夠減輕推送服務(wù)器的負(fù)載壓力。
[0040]圖2示出了根據(jù)本發(fā)明的實施例的終端的示意框圖。
[0041]如圖2所示,根據(jù)本發(fā)明的實施例的終端200,包括:請求發(fā)送單元202,用于通過所述第一服務(wù)器向所述第二服務(wù)器發(fā)送請求信息,以便所述第二服務(wù)器根據(jù)所述請求信息確定與所述終端200相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;數(shù)據(jù)接收單元204,用于接收所述第一服務(wù)器根據(jù)所述推送指令生成的推送請求;請求解析單元206,用于解析所述推送請求以得到與所述終端200相關(guān)聯(lián)的數(shù)據(jù)的信息。
[0042]在該技術(shù)方案中,終端200通過推送服務(wù)器(即本申請中所述的第一服務(wù)器)向應(yīng)用服務(wù)器(即本申請中所述的第二服務(wù)器)發(fā)送請求信息,使得應(yīng)用服務(wù)器可以根據(jù)終端200發(fā)送的請求信息確定向終端200推送的數(shù)據(jù),避免了應(yīng)用服務(wù)器盲目地向終端200推送用戶不需要的數(shù)據(jù)而影響用戶的體驗。此外,通過將與終端200相關(guān)聯(lián)的數(shù)據(jù)的信息推送至終端200,可以在終端200接收到數(shù)據(jù)的信息時,由用戶確認(rèn)是否需要接收相應(yīng)的數(shù)據(jù),避免了應(yīng)用服務(wù)器直接將與終端200相關(guān)聯(lián)但用戶不需要的數(shù)據(jù)發(fā)送至終端200而耗費終端200大量的流量與電量。
[0043]在上述技術(shù)方案中,優(yōu)選地,還包括:顯示單元208,其中,所述請求解析單元206用于解析所述推送請求,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,所述顯示單元208用于顯示所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息。
[0044]在該技術(shù)方案中,通過將終端200對推送請求進行解析之后的數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息進行顯示,使得應(yīng)用服務(wù)器向終端200推送的數(shù)據(jù)信息能夠直觀地呈現(xiàn)給用戶,從而使用戶選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),有利于提升用戶的體驗。
[0045]在上述技術(shù)方案中,優(yōu)選地,還包括:數(shù)據(jù)請求單元210,用于根據(jù)接收到的連接指令向所述應(yīng)用服務(wù)器發(fā)送連接請求,以獲取所述相關(guān)聯(lián)的數(shù)據(jù)。
[0046]在該技術(shù)方案中,若終端200對接收到的推送請求進行解析后,用戶選擇需要接收應(yīng)用服務(wù)器推送的數(shù)據(jù),則終端200可以向應(yīng)用服務(wù)器發(fā)送連接請求,根據(jù)解析出的數(shù)據(jù)的信息從應(yīng)用服務(wù)器下載與終端200相關(guān)聯(lián)的數(shù)據(jù)。當(dāng)然,終端200在接收到并解析推送請求之后,可以直接根據(jù)解析出的數(shù)據(jù)的信息向應(yīng)用服務(wù)器發(fā)送連接請求,獲取相關(guān)聯(lián)的數(shù)據(jù)。
[0047]在上述技術(shù)方案中,優(yōu)選地,還包括:連接建立單元212,用于與所述第一服務(wù)器建立長連接。
[0048]在該技術(shù)方案中,若推送服務(wù)器每次向終端200發(fā)送推送請求時,都向終端200進行詢問(或者終端200需要推送服務(wù)器發(fā)送推送請求時,都向推送服務(wù)器進行詢問),在得到連接確認(rèn)后,再進行連接并發(fā)送推送請求,則每次進行連接都需要耗費大量的等待時間,因此可以使終端200與推送服務(wù)器之間建立長連接,則在推送服務(wù)器需要發(fā)送推送請求(或者終端200向推送服務(wù)器發(fā)送請求信息)時,可以直接通過推送服務(wù)器與終端200之間的長連接進行發(fā)送,無需再進行詢問并建立連接,節(jié)省了推送服務(wù)器與終端200之間建立連接的時間。當(dāng)然,可以在推送服務(wù)器向終端200發(fā)送推送請求之后,斷開與推送服務(wù)器之間的長連接,從而節(jié)省終端200的電量。
[0049]在上述技術(shù)方案中,優(yōu)選地,所述請求信息求包括所述終端200的標(biāo)識信息和/或所述終端200的位置信息。
[0050]在該技術(shù)方案中,通過將終端200的標(biāo)識信息和/或終端200的位置信息發(fā)送至推送服務(wù)器,使得推送服務(wù)器在將終端200的標(biāo)識信息和/或終端200的位置信息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)器時,可以使應(yīng)用服務(wù)器根據(jù)終端200的標(biāo)識信息和/或終端200的位置信息確定與終端200相關(guān)聯(lián)的數(shù)據(jù),從而將與終端200相關(guān)聯(lián)的數(shù)據(jù)推送至終端200,避免了應(yīng)用服務(wù)器盲目地向終端200推送數(shù)據(jù)而影響用戶的體驗。
[0051]圖3示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)的示意框圖。
[0052]如圖3所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)300,包括:如圖1中所述的服務(wù)器100和至少一個如圖2中所述的終端200。
[0053]圖4示出了根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)推送方法的示意流程圖。
[0054]如圖4所示,根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)推送方法,包括:步驟402,推送服務(wù)器在接收到至少一個終端的請求信息時,將所述請求信息傳送至應(yīng)用服務(wù)器,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;步驟404,所述推送服務(wù)器接收所述推送指令,對所述推送指令進行解析以得到所述數(shù)據(jù)的信息,并根據(jù)所述數(shù)據(jù)的信息生成推送請求,將所述推送請求發(fā)送至所述終端。
[0055]在該技術(shù)方案中,由于傳統(tǒng)的應(yīng)用服務(wù)器一方面要與終端建立連接,接收終端的請求信息,另一方面還要根據(jù)終端的請求信息查找與終端相關(guān)聯(lián)的數(shù)據(jù),并且將查找到的數(shù)據(jù)發(fā)送至終端,若有多個終端與應(yīng)用服務(wù)器建立連接時,會增加應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,降低應(yīng)用服務(wù)器的響應(yīng)速度,而且不能確保終端與應(yīng)用服務(wù)器連接的穩(wěn)定性。因此,通過使應(yīng)用服務(wù)器只與推送服務(wù)器建立連接,推送服務(wù)器將終端的請求信息發(fā)送至應(yīng)用服務(wù)器,使得能夠?qū)?yīng)用服務(wù)器的部分業(yè)務(wù)(比如與終端建立并保持連接的業(yè)務(wù))交由推送服務(wù)器進行處理,減輕了應(yīng)用服務(wù)器的業(yè)務(wù)處理壓力,提高了應(yīng)用服務(wù)器的響應(yīng)速度,同時,由于推送服務(wù)器主要負(fù)責(zé)與終端建立連接,因此確保了終端與推送服務(wù)器連接的穩(wěn)定性,而且能夠增加與推送服務(wù)器建立連接的終端的數(shù)量。
[0056]此外,應(yīng)用服務(wù)器在接收到推送服務(wù)器發(fā)送的終端的請求信息時,若直接將需要推送的數(shù)據(jù)通過推送服務(wù)器發(fā)送至終端,一方面,使得推送服務(wù)器與應(yīng)用服務(wù)器之間產(chǎn)生大量的數(shù)據(jù)傳輸,增加了應(yīng)用服務(wù)器與推送服務(wù)器的壓力,另一方面也使得終端不能選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),不利于用戶的體驗,比如相關(guān)技術(shù)中通過攔截SMS消息并且解析消息內(nèi)容來了解服務(wù)器的意圖,來實現(xiàn)完全的實時操作,但是很難找到免費的短消息發(fā)送網(wǎng)關(guān),而導(dǎo)致成本相對比較高。因此通過使應(yīng)用服務(wù)器將需要推送的數(shù)據(jù)的信息發(fā)送至推送服務(wù)器,使得一個應(yīng)用服務(wù)器與多個終端之間的請求處理可以完全交由一個推送服務(wù)器來進行處理,從而統(tǒng)一了應(yīng)用服務(wù)器的請求處理,也避免了終端通過不同的網(wǎng)關(guān)與應(yīng)用服務(wù)器進行交互,降低了交互成本。并且推送服務(wù)器向終端發(fā)送推送請求,可以減輕應(yīng)用服務(wù)器與推送服務(wù)器之間的數(shù)據(jù)交互壓力,同時,由于應(yīng)用服務(wù)器是根據(jù)終端的請求信息發(fā)送的推送請求,因此使得應(yīng)用服務(wù)器向終端推送的數(shù)據(jù)具有針對性,提升了用戶的體驗。
[0057]在上述技術(shù)方案中,優(yōu)選地,所述步驟404包括:所述推送服務(wù)器解析所述推送指令,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并根據(jù)所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息生成所述推送請求。
[0058]在該技術(shù)方案中,推送服務(wù)器通過將數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息生成推送請求發(fā)送至終端,可以使終端在需要接收應(yīng)用服務(wù)器推送的數(shù)據(jù)時,通過推送請求中數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息能夠從應(yīng)用服務(wù)器下載到相應(yīng)的數(shù)據(jù)。此外,由于在應(yīng)用服務(wù)器和推送服務(wù)器、推送服務(wù)器和終端之間都是指令和/或請求的傳遞,因此減少了應(yīng)用服務(wù)器與推送服務(wù)器、推送服務(wù)器與終端之間的數(shù)據(jù)交互,從而可以優(yōu)化應(yīng)用服務(wù)器與推送服務(wù)器的性能,提升應(yīng)用服務(wù)器與推送服務(wù)器的響應(yīng)速度。
[0059]在上述技術(shù)方案中,優(yōu)選地,所述步驟404包括:所述推送服務(wù)器解析所述推送指令,以得到所述終端的標(biāo)識信息和/或所述終端的位置信息,并根據(jù)所述終端的標(biāo)識信息和/或所述終端的位置信息確定所述終端,以將所述推送請求發(fā)送至所述終端。
[0060]在該技術(shù)方案中,推送服務(wù)器可能同時將多個終端的請求信息發(fā)送至應(yīng)用服務(wù)器,應(yīng)用服務(wù)器根據(jù)終端的標(biāo)識信息和/或終端的位置信息查找到與終端相關(guān)聯(lián)的數(shù)據(jù),然后將終端的標(biāo)識信息和/或終端的位置信息,以及與終端相關(guān)聯(lián)的數(shù)據(jù)信息發(fā)送至推送服務(wù)器,推送服務(wù)器通過對推送指令的解析,得到終端的標(biāo)識信息和/或終端的位置信息,可以根據(jù)終端的標(biāo)識信息和/或終端的位置信息確定與該終端相關(guān)聯(lián)的數(shù)據(jù)信息,避免了將與其中一個終端相關(guān)聯(lián)的數(shù)據(jù)信息發(fā)送至其他終端,造成數(shù)據(jù)的混淆,確保了每個終端都能接收到屬于自己的數(shù)據(jù)信息,此外,由于每個終端都可以接收到屬于自己的數(shù)據(jù)信息,避免了終端數(shù)據(jù)的泄露,確保了終端數(shù)據(jù)的安全性。
[0061]在上述技術(shù)方案中,優(yōu)選地,在所述步驟402之前還包括:所述推送服務(wù)器與所述終端建立長連接。
[0062]在該技術(shù)方案中,若推送服務(wù)器每次向終端發(fā)送推送請求時,都向終端進行詢問(或者終端需要推送服務(wù)器發(fā)送推送請求時,都向推送服務(wù)器進行詢問),在得到連接確認(rèn)后,再進行連接并發(fā)送推送請求,則每次進行連接都需要耗費大量的等待時間,因此可以使終端與推送服務(wù)器之間建立長連接,則在推送服務(wù)器需要發(fā)送推送請求(或者終端向推送服務(wù)器發(fā)送請求信息)時,可以直接通過與終端之間的長連接進行發(fā)送,無需再對終端進行詢問并建立連接,節(jié)省了推送服務(wù)器與終端之間建立連接的時間。當(dāng)然,可以在推送服務(wù)器向終端發(fā)送推送請求之后,并且確認(rèn)在一段時間內(nèi)無需再向終端發(fā)送推送請求時,斷開與終端之間的長連接,從而緩解推送服務(wù)器的壓力,有利于其他終端與推送服務(wù)器建立長連接,避免由于持久而導(dǎo)致大量消耗移動設(shè)備的電量。
[0063]在上述技術(shù)方案中,優(yōu)選地,所述推送服務(wù)器通過異步非阻塞和消息隊列的方式,根據(jù)所述至少一個終端中每個終端的優(yōu)先級,分別為所述每個終端的連接設(shè)置狀態(tài),并根據(jù)每個連接的狀態(tài)為所述連接分配優(yōu)先級,以根據(jù)所述每個終端的優(yōu)先級分別與所述每個終端建立長連接。
[0064]在該技術(shù)方案中,若同時存在多個終端與推送服務(wù)器建立連接,則推送服務(wù)器可能由于負(fù)載過大而造成與終端之間連接的不穩(wěn)定,因此通過為每個終端的連接狀態(tài)設(shè)置優(yōu)先級,可以在推送服務(wù)器負(fù)載過大時,斷開與優(yōu)先級低的終端之間的連接和/或拒絕優(yōu)先級低的終端的連接請求,從而確保了優(yōu)先級高的終端能夠維持與推送服務(wù)器之間連接的穩(wěn)定性,同時能夠減輕推送服務(wù)器的負(fù)載壓力。
[0065]圖5示出了根據(jù)本發(fā)明的另一個實施例的數(shù)據(jù)推送方法的示意流程圖。
[0066]如圖5所示,根據(jù)本發(fā)明的另一個實施例的數(shù)據(jù)推送方法,包括:步驟502,至少一個終端通過推送服務(wù)器向應(yīng)用服務(wù)器發(fā)送請求信息,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令;步驟504,所述終端接收所述推送服務(wù)器根據(jù)所述推送指令生成的推送請求;步驟506,所述終端解析所述推送請求以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息。
[0067]在該技術(shù)方案中,終端通過推送服務(wù)器向應(yīng)用服務(wù)器發(fā)送請求信息,使得應(yīng)用服務(wù)器可以根據(jù)終端發(fā)送的請求信息確定向終端推送的數(shù)據(jù),避免了應(yīng)用服務(wù)器盲目地向終端推送用戶不需要的數(shù)據(jù)而影響用戶的體驗。此外,通過將與終端相關(guān)聯(lián)的數(shù)據(jù)的信息推送至終端,可以在終端接收到數(shù)據(jù)的信息時,由用戶確認(rèn)是否需要接收相應(yīng)的數(shù)據(jù),避免了應(yīng)用服務(wù)器直接將與終端相關(guān)聯(lián)但用戶不需要的數(shù)據(jù)發(fā)送至終端而耗費終端大量的流量與電量。
[0068]在上述技術(shù)方案中,優(yōu)選地,所述步驟506包括:所述終端解析所述推送請求,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并顯示所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息。
[0069]在該技術(shù)方案中,通過將終端對推送請求進行解析之后的數(shù)據(jù)的地址信息和/或數(shù)據(jù)的標(biāo)識信息進行顯示,使得應(yīng)用服務(wù)器向終端推送的數(shù)據(jù)信息能夠直觀地呈現(xiàn)給用戶,從而使用戶選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),有利于提升用戶的體驗。
[0070]在上述技術(shù)方案中,優(yōu)選地,還包括:根據(jù)接收到的連接指令向所述應(yīng)用服務(wù)器發(fā)送連接請求,以獲取所述相關(guān)聯(lián)的數(shù)據(jù)。
[0071]在該技術(shù)方案中,若終端對接收到的推送請求進行解析后,用戶選擇需要接收應(yīng)用服務(wù)器推送的數(shù)據(jù),則終端可以向應(yīng)用服務(wù)器發(fā)送連接請求,根據(jù)解析出的數(shù)據(jù)的信息從應(yīng)用服務(wù)器下載與終端相關(guān)聯(lián)的數(shù)據(jù)。當(dāng)然,終端在接收到并解析推送請求之后,可以直接根據(jù)解析出的數(shù)據(jù)的信息向應(yīng)用服務(wù)器發(fā)送連接請求,獲取相關(guān)聯(lián)的數(shù)據(jù)。
[0072]在上述技術(shù)方案中,優(yōu)選地,所述終端與所述推送服務(wù)器建立的連接為長連接,所述終端在接收到所述推送請求后,斷開與所述推送服務(wù)器之間的長連接。
[0073]在該技術(shù)方案中,若推送服務(wù)器每次向終端發(fā)送推送請求時,都向終端進行詢問(或者終端需要推送服務(wù)器發(fā)送推送請求時,都向推送服務(wù)器進行詢問),在得到連接確認(rèn)后,再進行連接并發(fā)送推送請求,則每次進行連接都需要耗費大量的等待時間,因此可以使終端與推送服務(wù)器之間建立長連接,則在推送服務(wù)器需要發(fā)送推送請求(或者終端向推送服務(wù)器發(fā)送請求信息)時,可以直接通過推送服務(wù)器與終端之間的長連接進行發(fā)送,無需再進行詢問并建立連接,節(jié)省了推送服務(wù)器與終端之間建立連接的時間。當(dāng)然,可以在推送服務(wù)器向終端發(fā)送推送請求之后,斷開與推送服務(wù)器之間的長連接,從而節(jié)省終端的電量。
[0074]在上述技術(shù)方案中,優(yōu)選地,所述請求信息包括所述終端的標(biāo)識信息和/或所述終端的位置信息。
[0075]在該技術(shù)方案中,通過將終端的標(biāo)識信息和/或終端的位置信息發(fā)送至推送服務(wù)器,使得推送服務(wù)器在將終端的標(biāo)識信息和/或終端的位置信息轉(zhuǎn)發(fā)至應(yīng)用服務(wù)器時,可以使應(yīng)用服務(wù)器根據(jù)終端的標(biāo)識信息和/或終端的位置信息確定與終端相關(guān)聯(lián)的數(shù)據(jù),從而將與終端相關(guān)聯(lián)的數(shù)據(jù)推送至終端,避免了應(yīng)用服務(wù)器盲目地向終端推送數(shù)據(jù)而影響用戶的體驗。
[0076]圖6示出了根據(jù)本發(fā)明的又一個實施例的數(shù)據(jù)推送方法的示意流程圖。
[0077]本實施例以服務(wù)器向終端推送與地理位置相關(guān)的新聞數(shù)據(jù)為例進行說明,本領(lǐng)域的技術(shù)人員應(yīng)該理解,本申請中服務(wù)器推送的數(shù)據(jù)包括但不限于新聞數(shù)據(jù),與終端相關(guān)的數(shù)據(jù)包括但不限于與地理位置相關(guān)的數(shù)據(jù)。
[0078]如圖6所示,根據(jù)本發(fā)明的又一個實施例的數(shù)據(jù)推送方法,包括:
[0079]步驟602,終端進入新聞查看模塊,推送服務(wù)接口與推送服務(wù)器建立長連接,其中,推送服務(wù)接口集成在終端中。終端進入新聞查看模塊相當(dāng)于觸發(fā)了終端與推送服務(wù)器建立長連接,當(dāng)然也可以通過其他的方式觸發(fā)終端與推送服務(wù)器建立長連接,比如通過對終端與推送服務(wù)器的連接狀態(tài)進行設(shè)置等,推送服務(wù)接口相當(dāng)于終端的通信模塊。
[0080]步驟604,終端獲取當(dāng)前地理位置信息以及終端標(biāo)識,并發(fā)送到推送服務(wù)器。
[0081]步驟606,推送服務(wù)器接收到終端發(fā)送的終端標(biāo)識和終端的地理位置信息。
[0082]步驟608,推送服務(wù)器保存終端標(biāo)識,以便于在接收到應(yīng)用服務(wù)器發(fā)送的推送指令時,能夠?qū)⑼扑椭噶钪信c每個終端相關(guān)聯(lián)的數(shù)據(jù)發(fā)送至每個終端。
[0083]步驟610,推送服務(wù)器轉(zhuǎn)發(fā)終端的地理位置信息和終端標(biāo)識到應(yīng)用服務(wù)器,以使應(yīng)用服務(wù)器根據(jù)終端的地理位置信息查找與該地理位置信息相關(guān)聯(lián)的數(shù)據(jù)。
[0084]步驟612,應(yīng)用程序服務(wù)器接收終端標(biāo)識以及終端的地理位置信息,保存終端標(biāo)識和地理位置信息,如果終端標(biāo)識已經(jīng)存在,則更新該終端標(biāo)識對應(yīng)的地理位置信息。應(yīng)用服務(wù)器中可能保存有終端的標(biāo)識信息,此時只需更新終端的地理位置信息,根據(jù)終端最新的地理位置信息查找與該地理位置信息相關(guān)聯(lián)的數(shù)據(jù)。
[0085]步驟614,應(yīng)用服務(wù)器根據(jù)終端地理位置信息查找與終端的地理位置信息相關(guān)聯(lián)的數(shù)據(jù)。
[0086]步驟616,應(yīng)用服務(wù)器向推送服務(wù)器發(fā)送推送查找到的數(shù)據(jù)的推送指令,推送指令中包含終端標(biāo)識和要推送數(shù)據(jù)的信息。
[0087]步驟618,推送服務(wù)器接收推送指令,解析推送指令,根據(jù)解析出的終端標(biāo)識與相應(yīng)的查找到數(shù)據(jù)信息,向終端發(fā)送查找到數(shù)據(jù)的推送請求。推送服務(wù)器解析出終端標(biāo)識和與終端標(biāo)識相關(guān)聯(lián)的數(shù)據(jù)信息,根據(jù)終端標(biāo)識將與之相關(guān)聯(lián)的數(shù)據(jù)信息發(fā)送至相應(yīng)的終端,避免了數(shù)據(jù)的混淆。
[0088]步驟620,終端接收到推送請求,并進行解析,向應(yīng)用服務(wù)器發(fā)送連接請求,并下載上述查找到的數(shù)據(jù)。在終端對推送請求解析之后,可以由用戶選擇是否接收應(yīng)用服務(wù)器推送的數(shù)據(jù),若用戶選擇接收,則可以向應(yīng)用服務(wù)器發(fā)送連接請求,若用戶并未選擇接收,則可以忽略推送請求。
[0089]通過使終端與推送服務(wù)器保持長連接,而應(yīng)用服務(wù)器負(fù)責(zé)向推送服務(wù)器發(fā)送推送指令的方式向終端推送數(shù)據(jù),減輕了應(yīng)用服務(wù)器與終端建立連接而可能導(dǎo)致的負(fù)載壓力,提高了應(yīng)用服務(wù)器的響應(yīng)速度。
[0090]圖7示出了根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)的結(jié)構(gòu)示意圖。
[0091]如圖7所示,根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng),包括:
[0092]推送服務(wù)器702:
[0093]為了緩解應(yīng)用服務(wù)器708的壓力,提高應(yīng)用服務(wù)器708的性能,用獨立的服務(wù)器(即推送服務(wù)器702)來保持與終端706A和/或706B的長連接,推送服務(wù)器702只負(fù)責(zé)如何高效地、大量地維持長連接,而不會涉及到任何業(yè)務(wù)方面的功能,同時與應(yīng)用服務(wù)器708連接,接收應(yīng)用服務(wù)器708發(fā)送的指令,推送相應(yīng)的數(shù)據(jù)到推送服務(wù)應(yīng)用程序接口 704A和/或704B,或者將推送服務(wù)應(yīng)用程序接口 704A和/或704B上傳的數(shù)據(jù)轉(zhuǎn)交給應(yīng)用服務(wù)器708,推送服務(wù)器702采用異步非阻塞以及消息隊列和優(yōu)先級的方式給每一個連接一個狀態(tài),根據(jù)不同的狀態(tài)分配優(yōu)先級,以此保證與終端706A和/或706B連接的持續(xù)性以及穩(wěn)定和高效性。
[0094]推送服務(wù)應(yīng)用程序接口 704 (如圖7中所示的推送服務(wù)應(yīng)用程序接口 704A和/或推送服務(wù)應(yīng)用程序接口 704B):
[0095]推送服務(wù)應(yīng)用程序接口 704被集成在終端706中(如圖7中所示的推送服務(wù)應(yīng)用程序接口 704A被集成在終端706A中,推送服務(wù)應(yīng)用程序接口 704B被集成在終端706B中),負(fù)責(zé)高效率低消耗地與推送服務(wù)器702建立并保持長連接,在終端706中,推送服務(wù)應(yīng)用程序接口 704單獨創(chuàng)建一個進程,通過此進程,在終端706觸發(fā)與推送服務(wù)器702建立長連接時,與推送服務(wù)器702建立長連接,通過使用推送服務(wù)應(yīng)用程序接口 704的形式,在保持長連接的情況下降低了網(wǎng)絡(luò)流量的消耗以及電池電量的消耗,同時推送服務(wù)應(yīng)用程序接口704負(fù)責(zé)解析推送服務(wù)器702推送的數(shù)據(jù)并轉(zhuǎn)交給終端706,并且收集終端706提交的數(shù)據(jù)上傳給推送服務(wù)器702。
[0096]終端706 (如圖7中所示的終端706A和/或終端706B):
[0097]終端706集成了推送服務(wù)應(yīng)用程序接口 704,是面向用戶的,并且是推送數(shù)據(jù)的展示者以及將數(shù)據(jù)上傳到應(yīng)用服務(wù)器708的數(shù)據(jù)收集者。終端706接收到推送服務(wù)應(yīng)用程序接口 704的數(shù)據(jù)并解析,解析完成的數(shù)據(jù)包含了應(yīng)用服務(wù)器708待推送的數(shù)據(jù)的信息,在解析完成后,詢問用戶是否接受數(shù)據(jù)的推送,如果接受,則終端706根據(jù)解析出的數(shù)據(jù)信息向應(yīng)用服務(wù)器708發(fā)出請求,然后從應(yīng)用服務(wù)器708獲取真實的待推送數(shù)據(jù)。通過這種方式來減少推送服務(wù)器702的壓力,同時避免推送服務(wù)器702直接參與到業(yè)務(wù)邏輯里面,同時尊重用戶意愿,而不是強制推送。
[0098]應(yīng)用服務(wù)器708:
[0099]應(yīng)用服務(wù)器708是推送數(shù)據(jù)的發(fā)起者,負(fù)責(zé)數(shù)據(jù)的采集和整理分類,然后通過推送服務(wù)器702將數(shù)據(jù)推送到推送服務(wù)應(yīng)用程序接口 704。應(yīng)用服務(wù)器708可以將終端706的用戶分享的新聞數(shù)據(jù)進行整理,然后根據(jù)地理位置信息將新聞數(shù)據(jù)推送到指定的用戶,通過地理位置篩選和對數(shù)據(jù)的整理,可以從龐大的新聞數(shù)據(jù)中整理出精簡的推送給該地區(qū)的用戶,以此減少本地用戶對數(shù)據(jù)的篩選難度,同時實現(xiàn)新聞分享的功能,同時應(yīng)用服務(wù)器708需要響應(yīng)終端706發(fā)起的請求,將與終端706相關(guān)聯(lián)的新聞數(shù)據(jù)發(fā)送給終端706。
[0100]如圖7所示的根據(jù)本發(fā)明的實施例的數(shù)據(jù)推送系統(tǒng)實現(xiàn)了以下效果:
[0101]I)通過分離服務(wù)器的方法減少應(yīng)用服務(wù)器708的壓力,提高了應(yīng)用服務(wù)器708的性能,使用專門的服務(wù)器(即推送服務(wù)器702)維護與終端706的長連接,有效的提高了支持連接的終端706的個數(shù)以及連接的穩(wěn)定性,推送服務(wù)器702通過給每個連接分配狀態(tài)來監(jiān)控每一個連接,以此達(dá)到對有效連接數(shù)的支持和對硬件的最大利用。
[0102]2)通過服務(wù)器推送數(shù)據(jù)的方式可以讓用戶及時接收到最新數(shù)據(jù),提高數(shù)據(jù)的及時性和有效性。
[0103]3)通過給終端706啟動獨立的進程來減少維持長連接對網(wǎng)絡(luò)流量和電池電量的消耗。
[0104]4)針對新聞的更新頻率,比如當(dāng)用戶第一次打開新聞應(yīng)用時(也可以是經(jīng)過預(yù)設(shè)的時間間隔之后),服務(wù)器會根據(jù)終端706上傳的地理位置信息和終端的標(biāo)識信息檢查是否有訂閱新聞信息可以推送,如果有則推送,如果沒有數(shù)據(jù),則會關(guān)閉長連接,減少服務(wù)器的開銷(當(dāng)然也可以不關(guān)閉長連接),終端中會有一個專門的實時新聞查看模塊,當(dāng)用戶打開該模塊的時候,終端與推送服務(wù)器702建立長連接,等待數(shù)據(jù)的推送,如果用戶退出該模塊,則推送服務(wù)器702關(guān)閉該長連接。通過使用上述方法,可以減少一些不必要的長連接,如果用戶沒有打開實時新聞查看模塊則長連接不會建立,也就不會對推送服務(wù)器702造成過多的性能壓力。本實施例中,用戶打開實時新聞查看模塊相當(dāng)于觸發(fā)終端與推送服務(wù)器702之間建立長連接,當(dāng)然也可以通過其他的方式,比如用戶通過設(shè)置建立與推送服務(wù)器702之間的長連接。
[0105]以上結(jié)合附圖詳細(xì)說明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有切實可行的技術(shù)方案以實現(xiàn)服務(wù)器對終端的數(shù)據(jù)推送。因此,本發(fā)明提出了一種新的數(shù)據(jù)推送方案,可以使應(yīng)用服務(wù)器有針對性地向終端推送數(shù)據(jù),同時能夠緩解服務(wù)器的業(yè)務(wù)處理壓力,提高了服務(wù)器的響應(yīng)速度。
[0106]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
[0107]本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0108]這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0109]這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0110]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種服務(wù)器,其特征在于,包括: 請求接收單元,用于接收至少一個終端的請求信息,以及接收另一個服務(wù)器的推送指令; 請求生成單元,用于解析所述推送指令以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息,根據(jù)與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息生成推送請求; 請求發(fā)送單元,用于將所述推送請求發(fā)送至所述終端,以及將所述請求信息傳送至所述另一個服務(wù)器,以便所述另一個服務(wù)器根據(jù)所述請求信息確定所述數(shù)據(jù)的信息并生成所述推送指令。
2.根據(jù)權(quán)利要求1所述的服務(wù)器,其特征在于,所述請求生成單元用于解析所述推送指令,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并根據(jù)所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息生成所述推送請求。
3.根據(jù)權(quán)利要求1所述的服務(wù)器,其特征在于,所述請求生成單元還用于解析所述推送指令,以得到所述終端的標(biāo)識信息和/或所述終端的位置信息;所述請求發(fā)送單元還用于根據(jù)所述終端的標(biāo)識信息和/或所述終端的位置信息確定所述終端,以將所述推送請求發(fā)送至所述終端。
4.根據(jù)權(quán)利要求1至3中任一項所述的服務(wù)器,其特征在于,還包括: 連接建立單元,用于與所述終端建立長連接。
5.根據(jù)權(quán)利要求4所述的服務(wù)器,其特征在于,還包括: 優(yōu)先級分配單元,用于通過異步非阻塞和消息隊列的方式,根據(jù)所述至少一個終端中每個終端的優(yōu)先級,分別為所述每個終端的連接設(shè)置狀態(tài),并根據(jù)每個連接的狀態(tài)為所述連接分配優(yōu)先級, 其中,所述連接建立單元用于根據(jù)所述每個終端的優(yōu)先級分別與所述每個終端建立長連接。
6.一種終端,其特征在于,包括: 請求發(fā)送單元,用于通過所述第一服務(wù)器向所述第二服務(wù)器發(fā)送請求信息,以便所述第二服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令; 數(shù)據(jù)接收單元,用于接收所述第一服務(wù)器根據(jù)所述推送指令生成的推送請求; 請求解析單元,用于解析所述推送請求以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息。
7.根據(jù)權(quán)利要求6所述的終端,其特征在于,還包括: 顯示單元,其中,所述請求解析單元用于解析所述推送請求,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,所述顯示單元用于顯示所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息。
8.根據(jù)權(quán)利要求6所述的終端,其特征在于,還包括: 數(shù)據(jù)請求單元,用于根據(jù)接收到的連接指令向所述應(yīng)用服務(wù)器發(fā)送連接請求,以獲取所述相關(guān)聯(lián)的數(shù)據(jù)。
9.根據(jù)權(quán)利要求6至8中任一項所述的終端,其特征在于,還包括:連接建立單元,用于與所述第一服務(wù)器建立長連接。
10.根據(jù)權(quán)利要求6至8中任一項所述的終端,其特征在于,所述請求信息求包括所述終端的標(biāo)識信息和/或所述終端的位置信息。
11.一種數(shù)據(jù)推送系統(tǒng),其特征在于,包括權(quán)利要求1至5中任一項所述的服務(wù)器和至少一個權(quán)利要求6至10中任一項所述的終端。
12.—種數(shù)據(jù)推送方法,其特征在于,包括: 步驟402,推送服務(wù)器在接收到至少一個終端的請求信息時,將所述請求信息傳送至應(yīng)用服務(wù)器,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令; 步驟404,所述推送服務(wù)器接收所述推送指令,對所述推送指令進行解析以得到所述數(shù)據(jù)的信息,并根據(jù)所述數(shù)據(jù)的信息生成推送請求,將所述推送請求發(fā)送至所述終端。
13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)推送方法,其特征在于,所述步驟404包括:所述推送服務(wù)器解析所述推送指令,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并根據(jù)所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息生成所述推送請求。
14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)推送方法,其特征在于,所述步驟404包括:所述推送服務(wù)器解析所述推送指令,以得到所述終端的標(biāo)識信息和/或所述終端的位置信息,并根據(jù)所述終端的標(biāo)識信息和/或所述終端的位置信息確定所述終端,以將所述推送請求發(fā)送至所述終端。
15.根據(jù)權(quán)利要求12至14中任一項所述的數(shù)據(jù)推送方法,其特征在于,在所述步驟402之前還包括:所述推送服務(wù)器與所述終端建立長連接。
16.根據(jù)權(quán)利要求15所述的數(shù)據(jù)推送方法,其特征在于,所述推送服務(wù)器通過異步非阻塞和消息隊列的方式,根據(jù)所述至少一個終端中每個終端的優(yōu)先級,分別為所述每個終端的連接設(shè)置狀態(tài),并根據(jù)每個連接的狀態(tài)為所述連接分配優(yōu)先級,以根據(jù)所述每個終端的優(yōu)先級分別與所述每個終端建立長連接。
17.一種數(shù)據(jù)推送方法,其特征在于,包括: 步驟502,至少一個終端通過推送服務(wù)器向應(yīng)用服務(wù)器發(fā)送請求信息,以便所述應(yīng)用服務(wù)器根據(jù)所述請求信息確定與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息并生成推送指令; 步驟504,所述終端接收所述推送服務(wù)器根據(jù)所述推送指令生成的推送請求; 步驟506,所述終端解析所述推送請求以得到與所述終端相關(guān)聯(lián)的數(shù)據(jù)的信息。
18.根據(jù)權(quán)利要求17所述的數(shù)據(jù)推送方法,其特征在于,所述步驟506包括:所述終端解析所述推送請求,以得到所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息,并顯示所述數(shù)據(jù)的地址信息和/或所述數(shù)據(jù)的標(biāo)識信息。
19.根據(jù)權(quán)利要求17所述的數(shù)據(jù)推送方法,其特征在于,還包括:根據(jù)接收到的連接指令向所述應(yīng)用服務(wù)器發(fā)送連接請求,以獲取所述相關(guān)聯(lián)的數(shù)據(jù)。
20.根據(jù)權(quán)利要求17至19中任一項所述的數(shù)據(jù)推送方法,其特征在于,所述終端與所述推送服務(wù)器建立的連接為長連接,所述終端在接收到所述推送請求后,斷開與所述推送服務(wù)器之間的長連接。
21.根據(jù)權(quán)利要求17至19中任一項所述的數(shù)據(jù)推送方法,其特征在于,所述請求信息包括所述終端的標(biāo)識信息和/或所述終端的位置信息。
【文檔編號】H04L29/08GK104468649SQ201310421389
【公開日】2015年3月25日 申請日期:2013年9月16日 優(yōu)先權(quán)日:2013年9月16日
【發(fā)明者】陳翔, 鄭偉 申請人:北大方正集團有限公司, 北京方正阿帕比技術(shù)有限公司, 方正信息產(chǎn)業(yè)控股有限公司