国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)推送方法、裝置、設(shè)備以及存儲介質(zhì)與流程

      文檔序號:12905968閱讀:208來源:國知局
      一種數(shù)據(jù)推送方法、裝置、設(shè)備以及存儲介質(zhì)與流程

      本發(fā)明實(shí)施例涉及信息處理技術(shù),尤其涉及一種數(shù)據(jù)推送方法、裝置、設(shè)備以及存儲介質(zhì)。



      背景技術(shù):

      在糯米的項(xiàng)目開發(fā)中,經(jīng)常會遇到需要將一個業(yè)務(wù)的同一份數(shù)據(jù),通過api調(diào)用同時推送到多個接收方,由于接收方偶發(fā)的不穩(wěn)定可能會導(dǎo)致不能正常接收數(shù)據(jù),這時就需要每個發(fā)送方都建立相應(yīng)的漏推補(bǔ)償機(jī)制。

      現(xiàn)有的漏推補(bǔ)償機(jī)制是通過經(jīng)過設(shè)定的時間進(jìn)行補(bǔ)推的方式實(shí)現(xiàn)的,具體的實(shí)現(xiàn)方式是在接收方?jīng)]有接收到數(shù)據(jù)的情況下,經(jīng)過設(shè)定的時間,發(fā)送方重新提交請求至mq(messagequeue,消息隊(duì)列)中,在異步接口中回調(diào)各個接收方。

      但是,造成推送失敗的原因有可能是由于接收方出現(xiàn)問題導(dǎo)致的,這時解決接收方問題就需要一定的時間,如果一直采取上述設(shè)定的時間進(jìn)行漏推補(bǔ)償,則可能導(dǎo)致一些不必要的漏推,例如,在接收方問題沒解決時,即使推送了接收方依舊不能夠接收,這樣會導(dǎo)致很多無效的推送,推送效果相對較差。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明實(shí)施例提供一種數(shù)據(jù)推送方法、裝置、設(shè)備以及存儲介質(zhì),能夠提高將數(shù)據(jù)推送至接收方的效率。

      第一方面,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)推送方法,包括:

      如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔;

      如果所述下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù);

      如果所述mq再次回調(diào)成功,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方。

      第二方面,本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)推送裝置,包括:

      回調(diào)間隔確定模塊,用于如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔;

      數(shù)據(jù)回調(diào)模塊,用于如果所述下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù);

      數(shù)據(jù)推送模塊,用于如果所述mq再次回調(diào)成功,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方。

      第三方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序所述處理器執(zhí)行所述程序時實(shí)現(xiàn)如本發(fā)明實(shí)施例中任一所述的數(shù)據(jù)推送方法。

      第四方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時實(shí)現(xiàn)如本發(fā)明實(shí)施例中任一所述的數(shù)據(jù)推送方法。

      本發(fā)明實(shí)施例提供了一種數(shù)據(jù)推送方法、裝置、設(shè)備以及存儲介質(zhì),通過如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,如果下次回調(diào)時間間隔到達(dá),通過mq再次回調(diào)數(shù)據(jù),如果mq再次回調(diào)成功,通過mq將回調(diào)的數(shù)據(jù)推送至接收方,解決了現(xiàn)有技術(shù)中由于mq回調(diào)數(shù)據(jù)失敗后經(jīng)過固定的時間間隔再次回調(diào)數(shù)據(jù)而導(dǎo)致降低了mq回調(diào)數(shù)據(jù)的成功率的問題,減少了不必要的回調(diào)次數(shù),提高了mq回調(diào)數(shù)據(jù)的成功率,進(jìn)而能夠提高將數(shù)據(jù)推送至接收方的效率。

      附圖說明

      圖1是本發(fā)明實(shí)施例一中的一種數(shù)據(jù)推送方法的流程圖;

      圖2是本發(fā)明實(shí)施例二中的一種數(shù)據(jù)推送方法的流程圖;

      圖3是本發(fā)明實(shí)施例三中的一種數(shù)據(jù)推送方法的流程圖;

      圖4是本發(fā)明實(shí)施例三中的一種數(shù)據(jù)推送方法的示意圖;

      圖5是本發(fā)明實(shí)施例四中的一種數(shù)據(jù)推送裝置的結(jié)構(gòu)圖;

      圖6是本發(fā)明實(shí)施例五中的一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。

      具體實(shí)施方式

      下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。

      實(shí)施例一

      圖1為本發(fā)明實(shí)施例一提供的一種數(shù)據(jù)推送方法的流程圖,本實(shí)施例可適用于各種數(shù)據(jù)推送的情況,該方法可以由本發(fā)明實(shí)施例提供的數(shù)據(jù)推送裝置來執(zhí)行,該裝置可采用軟件和/或硬件的方式實(shí)現(xiàn),該裝置可集成在用戶終端內(nèi)的應(yīng)用端中;

      其中,應(yīng)用端可以為內(nèi)嵌于用戶終端(例如,電腦或者移動終端等)中的某個客戶端的插件,或者為所述用戶終端的操作系統(tǒng)的插件,與內(nèi)嵌于用戶終端中的應(yīng)用程序配合使用;應(yīng)用端也可以為所述用戶終端中一個獨(dú)立的可提供數(shù)據(jù)推送的客戶端,本實(shí)施例對此不進(jìn)行限制。

      本實(shí)施例中,數(shù)據(jù)推送指的是將數(shù)據(jù)從發(fā)送方傳輸至消息隊(duì)列mq中,再將傳輸至消息隊(duì)列mq中的數(shù)據(jù)推送至接收方,所述接收方為與發(fā)送方相對,發(fā)送方指的是發(fā)送數(shù)據(jù)的終端,接收方指的是接收數(shù)據(jù)的終端。例如可以是,將數(shù)據(jù)從a終端發(fā)送至b終端,則a終端為發(fā)送方,b終端為接收方。

      如圖1所示,本實(shí)施例的方法具體包括:

      s110、如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔。

      其中,所述消息隊(duì)列mq是分布式應(yīng)用間交換信息的一種技術(shù)。消息隊(duì)列可駐留在內(nèi)存或磁盤上,隊(duì)列存儲消息直到它們被應(yīng)用程序讀走。通過消息隊(duì)列,應(yīng)用程序可獨(dú)立地執(zhí)行。

      具體的,消息隊(duì)列mq可以從發(fā)送方回調(diào)數(shù)據(jù),也可以從存儲有數(shù)據(jù)的緩存中回調(diào)數(shù)據(jù),還可以從存儲有數(shù)據(jù)的硬盤中回調(diào)數(shù)據(jù),本實(shí)施例對此不進(jìn)行限制。

      其中,所述消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)指的是從發(fā)送方回調(diào)數(shù)據(jù),或者是從存儲有數(shù)據(jù)的緩存中回調(diào)數(shù)據(jù),還可以從存儲有數(shù)據(jù)的硬盤中回調(diào)數(shù)據(jù)等,本實(shí)施例對此不進(jìn)行限制。

      具體的,消息隊(duì)列mq回調(diào)數(shù)據(jù)失敗的原因可能是由于網(wǎng)絡(luò)故障,也可能是由于mq內(nèi)存不足,本實(shí)施例對mq回調(diào)數(shù)據(jù)失敗的原因不進(jìn)行限制。

      其中,所述預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)指的是在本次mq回調(diào)數(shù)據(jù)之前,mq回調(diào)數(shù)據(jù)失敗的次數(shù)。所述統(tǒng)計(jì)mq的重試回調(diào)數(shù)據(jù)次數(shù)可以通過日志文件記錄獲得,也可以通過數(shù)據(jù)庫記錄獲得,本實(shí)施例對此不進(jìn)行限制。所述下次回調(diào)時間間隔指的是本次回調(diào)數(shù)據(jù)后至下次回調(diào)數(shù)據(jù)前的時間間隔,所述下次回調(diào)時間間隔與回調(diào)次數(shù)有關(guān)。

      在本發(fā)明實(shí)施例中,消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗時指的是消息隊(duì)列mq沒有從發(fā)送方回調(diào)數(shù)據(jù),或者是沒有從存儲有數(shù)據(jù)的緩存中回調(diào)數(shù)據(jù),也可能是沒有從存儲有數(shù)據(jù)的硬盤中回調(diào)數(shù)據(jù)等,本實(shí)施例對此不進(jìn)行限制,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間。

      s120、如果下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù)。

      具體的,在經(jīng)過下次回調(diào)時間間隔之后,mq再次回調(diào)數(shù)據(jù)。例如可以是,mq回調(diào)數(shù)據(jù),由于網(wǎng)絡(luò)問題mq回調(diào)數(shù)據(jù)失敗,記錄mq回調(diào)數(shù)據(jù)失敗的次數(shù)為1,根據(jù)mq回調(diào)數(shù)據(jù)失敗的次數(shù)為1確定下次回調(diào)的時間為1分鐘,經(jīng)過1分鐘之后,mq再次回調(diào)數(shù)據(jù)。

      可選的,還包括:如果所述mq再次回調(diào)失敗,重復(fù)執(zhí)行確定下次回調(diào)時間間隔的操作,直至回調(diào)成功。

      具體的,如果mq再次回調(diào)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,如果下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù),若mq再次回調(diào)失敗,則繼續(xù)記錄回調(diào)失敗次數(shù),并根據(jù)回調(diào)失敗次數(shù)確定下次回調(diào)時間間隔。若mq回調(diào)成功,則停止上述步驟。

      可選的,所述下次回調(diào)時間間隔隨著所述重試回調(diào)數(shù)據(jù)次數(shù)的增多而增長。

      在一個具體的例子中,mq回調(diào)數(shù)據(jù)失敗,記錄回調(diào)失敗次數(shù)為1,根據(jù)回調(diào)失敗次數(shù)為1確定下次回調(diào)時間間隔為1分鐘,經(jīng)過1分鐘,mq再次回調(diào)數(shù)據(jù);mq回調(diào)失敗,記錄回調(diào)失敗次數(shù)為2,根據(jù)回調(diào)失敗次數(shù)為2確定下次回調(diào)時間間隔為2分鐘,經(jīng)過2分鐘,mq再次回調(diào)數(shù)據(jù);mq回調(diào)失敗,記錄回調(diào)失敗次數(shù)為3,根據(jù)回調(diào)失敗次數(shù)為3確定下次回調(diào)時間間隔為3分鐘,經(jīng)過3分鐘,mq再次回調(diào)數(shù)據(jù),mq回調(diào)數(shù)據(jù)成功。

      由于導(dǎo)致mq回調(diào)數(shù)據(jù)失敗的原因比較多,有很多原因可能比較嚴(yán)重,不能夠在短時間內(nèi)解決。因此,如果總是在經(jīng)過相同的時間之后mq再次回調(diào)數(shù)據(jù),就可能會導(dǎo)致進(jìn)行很多次無效的數(shù)據(jù)傳輸。本實(shí)施例根據(jù)mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,下次回調(diào)時間間隔隨著重試回調(diào)數(shù)據(jù)次數(shù)的增多而增長。通過上述方法可以減少不必要的mq回調(diào)數(shù)據(jù)的次數(shù),提高傳輸?shù)男省?/p>

      可選的,還包括:將當(dāng)前回調(diào)數(shù)據(jù)的失敗信息記錄至第一設(shè)定數(shù)據(jù)庫中,并記錄回調(diào)數(shù)據(jù)失敗的次數(shù)。

      其中,所述第一設(shè)定數(shù)據(jù)庫可以為mysql,也可以為其他的數(shù)據(jù)庫。

      具體的,在確定消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗時,將回調(diào)數(shù)據(jù)失敗信息記錄至第一設(shè)定數(shù)據(jù)庫中,并記錄回調(diào)數(shù)據(jù)失敗的次數(shù)。由于日志文件只是普通文本,因此將回調(diào)數(shù)據(jù)失敗的次數(shù)和回調(diào)數(shù)據(jù)失敗信息記錄至第一設(shè)定數(shù)據(jù)庫中能夠減少調(diào)取回調(diào)數(shù)據(jù)失敗的次數(shù)的時間,相比與從日志文件中獲得更節(jié)省時間,且日志文件中不止包含回調(diào)數(shù)據(jù)失敗信息還包含回調(diào)數(shù)據(jù)成功信息,而第一設(shè)定數(shù)據(jù)庫只包含回調(diào)數(shù)據(jù)失敗的次數(shù)和回調(diào)數(shù)據(jù)失敗信息,方便獲取回調(diào)數(shù)據(jù)失敗的次數(shù)。

      s130、如果mq再次回調(diào)成功,通過mq將回調(diào)的數(shù)據(jù)推送至接收方。

      其中,所述mq再次回調(diào)成功指的是成功將數(shù)據(jù)回調(diào)至mq中。

      例如,若數(shù)據(jù)成功回調(diào)至mq中,則mq將回調(diào)的數(shù)據(jù)推送至b終端。

      本發(fā)明實(shí)施例通過如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,如果下次回調(diào)時間間隔到達(dá),通過mq再次回調(diào)數(shù)據(jù),如果mq再次回調(diào)成功,通過mq將回調(diào)的數(shù)據(jù)推送至接收方,解決了現(xiàn)有技術(shù)中由于mq回調(diào)數(shù)據(jù)失敗后經(jīng)過固定的時間間隔再次回調(diào)數(shù)據(jù)而導(dǎo)致降低了mq回調(diào)數(shù)據(jù)的成功率的問題,減少了不必要的回調(diào)次數(shù),提高了mq回調(diào)數(shù)據(jù)的成功率,進(jìn)而能夠提高數(shù)據(jù)推送的效率。

      實(shí)施例二

      圖2為本發(fā)明實(shí)施例二提供的一種數(shù)據(jù)推送方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔之前,還包括:將發(fā)送方提交的數(shù)據(jù)傳輸至所述mq,并將所述發(fā)送方提交的數(shù)據(jù)保存至緩存中;若確定所述提交的數(shù)據(jù)傳輸至所述mq失敗,則根據(jù)預(yù)先記錄的傳輸失敗次數(shù)確定下次傳輸時間間隔;如果所述下次傳輸時間間隔到達(dá),調(diào)取所述緩存中存儲的數(shù)據(jù)再次傳輸至mq中,若確定再次傳輸至mq失敗,重復(fù)執(zhí)行確定下次傳輸時間間隔的操作,直至將所述提交的數(shù)據(jù)成功傳輸至mq中。

      由于在mq當(dāng)前回調(diào)數(shù)據(jù)失敗時,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,當(dāng)確定下次回調(diào)時間間隔到達(dá)時,若從發(fā)送方將數(shù)據(jù)傳輸至mq中可能會增加數(shù)據(jù)傳輸?shù)臅r間,本發(fā)明實(shí)施例采用將發(fā)送方提交的數(shù)據(jù)傳輸至mq時,同時將發(fā)送方提交的數(shù)據(jù)保存至緩存中,這樣就可以在數(shù)據(jù)傳輸至mq失敗后,經(jīng)過一定時間,直接從緩存中將數(shù)據(jù)發(fā)送至mq中,相對于從發(fā)送方向mq發(fā)送數(shù)據(jù),從緩存向mq發(fā)送數(shù)據(jù)更加方便快捷。提高數(shù)據(jù)傳輸?shù)男省?/p>

      相應(yīng)的,本發(fā)明實(shí)施例的方法包括:

      s210、將發(fā)送方提交的數(shù)據(jù)傳輸至所述mq,并將所述發(fā)送方提交的數(shù)據(jù)保存至緩存中。

      其中,所述緩存可以為redis,也可以為其他緩存。

      具體的,將發(fā)送方提交的數(shù)據(jù)傳輸至所述mq時,同時將發(fā)送方提交的數(shù)據(jù)保存至緩存中,相當(dāng)于將發(fā)送方的數(shù)據(jù)在緩存中進(jìn)行備份,緩存中的數(shù)據(jù)和發(fā)送方的數(shù)據(jù)是一致的。

      可選的,將發(fā)送方提交的數(shù)據(jù)傳輸至所述mq,并將所述發(fā)送方提交的數(shù)據(jù)保存至緩存中包括:

      根據(jù)各mq的當(dāng)前使用情況分配適于數(shù)據(jù)傳輸?shù)膍q。

      其中,各mq的當(dāng)前使用情況指的是各mq的占用情況,mq可以有多個,各mq的當(dāng)前使用情況不盡相同。例如可以是,有的mq空間不足,有的mq還未被占用,有的mq被占用一半。

      在一個具體的例子中,有第一mq、第二mq和第三mq,且第一mq的當(dāng)前使用情況為空間不足,第二mq的當(dāng)前使用情況為還未被占用,第三mq的當(dāng)前使用情況為被占用一半,若已知mq未被占用的情況下mq的空間容量為300,發(fā)送方發(fā)送的數(shù)據(jù)量為200,則根據(jù)各mq的當(dāng)前使用情況分配適于數(shù)據(jù)傳輸?shù)膍q為第二mq。

      將所述提交的數(shù)據(jù)傳輸至分配的mq中,并將所述提交的數(shù)據(jù)保存至緩存中。

      其中,所述分配的mq可以為一個,也可以為兩個,本實(shí)施例對分配的mq的個數(shù)不進(jìn)行限制。

      在一個具體的例子中,有第一mq、第二mq和第三mq,且第一mq的當(dāng)前使用情況為空間不足,第二mq的當(dāng)前使用情況為還未被占用,第三mq的當(dāng)前使用情況為還未被占用,若已知mq未被占用的情況下mq的空間容量為200,發(fā)送方發(fā)送的數(shù)據(jù)量為400,則根據(jù)各mq的當(dāng)前使用情況分配適于數(shù)據(jù)傳輸?shù)膍q為第二mq和第三mq。

      通過提前獲取各mq的當(dāng)前使用情況,根據(jù)各mq的當(dāng)前使用情況分配適于數(shù)據(jù)傳輸?shù)膍q,將所述提交的數(shù)據(jù)傳輸至分配的mq中,并將所述提交的數(shù)據(jù)保存至緩存中。能夠避免由于在不了解各mq的當(dāng)前使用情況下,將數(shù)據(jù)傳輸至一些空間不足的mq中,導(dǎo)致數(shù)據(jù)傳輸失敗的情況,能夠提高數(shù)據(jù)傳輸?shù)男省?/p>

      s220、判斷所述提交的數(shù)據(jù)是否能成功傳輸至mq。

      若確定所述提交的數(shù)據(jù)傳輸至所述mq失敗,則執(zhí)行s240;若確定所述提交的數(shù)據(jù)傳輸至所述mq成功,則執(zhí)行s230。

      s230、通過mq將回調(diào)的數(shù)據(jù)推送至接收方。

      具體的,發(fā)送方將數(shù)據(jù)傳輸至mq,mq將發(fā)送方傳輸?shù)臄?shù)據(jù)推送至接收方。

      s240、根據(jù)預(yù)先記錄的傳輸失敗次數(shù)確定下次傳輸時間間隔。

      可選的,所述下次傳輸時間間隔隨著所述傳輸失敗次數(shù)的增多而增長。

      s250、如果下次傳輸時間間隔到達(dá),調(diào)取緩存中存儲的數(shù)據(jù)再次傳輸至mq中,返回執(zhí)行步驟s220。

      具體的,若確定所述提交的數(shù)據(jù)傳輸至所述mq失敗,記錄傳輸失敗次數(shù),根據(jù)傳輸失敗次數(shù)確定下次傳輸時間間隔,下次傳輸時間間隔到達(dá)時,從緩存中調(diào)取之前存儲至緩存中的數(shù)據(jù),將數(shù)據(jù)傳輸至mq中。

      可選的,還包括:若確定所述提交的數(shù)據(jù)傳輸至mq失敗,則將傳輸失敗信息記錄至第二設(shè)定數(shù)據(jù)庫中,并記錄傳輸失敗的次數(shù)。

      其中,所述第二設(shè)定數(shù)據(jù)庫可以為mysql,也可以為其他的數(shù)據(jù)庫。

      可選的,還包括:如果mq回調(diào)數(shù)據(jù)失敗或確定提交的數(shù)據(jù)傳輸至mq失敗,從緩存中調(diào)取發(fā)送方的數(shù)據(jù)。

      其中,所述數(shù)據(jù)傳輸至mq失敗指的是發(fā)送方將數(shù)據(jù)傳輸至mq失敗。具體的,在確定消息隊(duì)列mq從發(fā)送方回調(diào)數(shù)據(jù)失敗,或者是從存儲有數(shù)據(jù)的緩存中回調(diào)數(shù)據(jù)失敗,也可能是從存儲有數(shù)據(jù)的硬盤中回調(diào)數(shù)據(jù)失敗等情況時,從緩存中調(diào)取發(fā)送方的數(shù)據(jù)。mq從緩存中調(diào)取數(shù)據(jù)相比與從發(fā)送方調(diào)取數(shù)據(jù)所需要的時間更短,因此采用從緩存中調(diào)取發(fā)送方的數(shù)據(jù)的方式可以提高數(shù)據(jù)推送的效率。

      可選的,還包括:若將mq中的數(shù)據(jù)推送至接收方成功,則將所述緩存中存儲的數(shù)據(jù)刪除。

      其中,所述緩存中存儲的數(shù)據(jù)為發(fā)送方需要傳輸?shù)臄?shù)據(jù)。具體的,若將mq中的數(shù)據(jù)成功推送至接收方,則可以刪除緩存中存儲的數(shù)據(jù),刪除緩存中存儲的數(shù)據(jù)可以有效的防止緩存中數(shù)據(jù)過多,減少緩存可用的存儲空間的問題,也能夠間接提升數(shù)據(jù)傳輸速度。

      本發(fā)明實(shí)施例通過將發(fā)送方提交的數(shù)據(jù)傳輸至mq時,同時將發(fā)送方提交的數(shù)據(jù)保存至緩存中,在確定提交的數(shù)據(jù)傳輸至所述mq失敗時,根據(jù)預(yù)先記錄的傳輸失敗次數(shù)確定下次傳輸時間間隔;如果下次傳輸時間間隔到達(dá),調(diào)取緩存中存儲的數(shù)據(jù)再次傳輸至mq中,避免了現(xiàn)有技術(shù)中由于從發(fā)送方將數(shù)據(jù)傳輸至mq中,導(dǎo)致增加數(shù)據(jù)傳輸?shù)臅r間的情況,相對于從發(fā)送方向mq發(fā)送數(shù)據(jù),從緩存向mq發(fā)送數(shù)據(jù)更加方便快捷。提高數(shù)據(jù)傳輸?shù)男省?/p>

      實(shí)施例三

      圖3為本發(fā)明實(shí)施例三提供的一種數(shù)據(jù)推送方法的流程圖,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上,當(dāng)確定所述mq再次回調(diào)成功時,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方包括:如果所述mq再次回調(diào)成功,確定發(fā)送方對應(yīng)的接收方;根據(jù)所述接收方設(shè)置的匹配規(guī)則和/或字段篩選映射規(guī)則對數(shù)據(jù)進(jìn)行處理;通過所述mq將處理后的數(shù)據(jù)推送至所述對應(yīng)的接收方,以使各接收方根據(jù)自身接收權(quán)限、設(shè)置的匹配規(guī)則和字段篩選映射規(guī)則中的至少一種選擇性接收數(shù)據(jù)。

      現(xiàn)有技術(shù)中發(fā)送方獲取接收方能夠接收的數(shù)據(jù)形式和接收方需要接收的數(shù)據(jù)內(nèi)容,根據(jù)上述獲取的信息向接收方發(fā)送數(shù)據(jù),現(xiàn)有技術(shù)中發(fā)送方需要對數(shù)據(jù)進(jìn)行區(qū)分,從中獲取各個接收方需要獲取的數(shù)據(jù),再將數(shù)據(jù)轉(zhuǎn)換成各接收方能夠接收的形式發(fā)送至各接收方。本發(fā)明實(shí)施例根據(jù)接收方設(shè)置的匹配規(guī)則和/或字段篩選映射規(guī)則對數(shù)據(jù)進(jìn)行處理使得接收方能夠獲得接收方能夠接收的數(shù)據(jù);通過mq將處理后的數(shù)據(jù)推送至對應(yīng)的接收方,以使各接收方根據(jù)自身接收權(quán)限、設(shè)置的匹配規(guī)則和字段篩選映射規(guī)則中的至少一種選擇性接收數(shù)據(jù)。使得接收方能夠只接收自己需要的數(shù)據(jù),和現(xiàn)有技術(shù)相比本發(fā)明實(shí)施例能夠減少發(fā)送方的負(fù)擔(dān)。

      相應(yīng)的,本實(shí)施例的方法包括:

      s310、如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔。

      s320、如果下次回調(diào)時間間隔到達(dá),通過mq再次回調(diào)數(shù)據(jù)。

      s330、如果mq再次回調(diào)成功,確定發(fā)送方對應(yīng)的接收方。

      其中,所述接收方為接收數(shù)據(jù)的終端,發(fā)送方為發(fā)送數(shù)據(jù)的終端。

      s340、根據(jù)接收方設(shè)置的匹配規(guī)則和/或字段篩選映射規(guī)則對數(shù)據(jù)進(jìn)行處理。

      其中,所述匹配規(guī)則和/或字段篩選映射規(guī)則指的是能夠使得接收方能夠接收接收方需要的數(shù)據(jù)的數(shù)據(jù)處理方法。具體的,根據(jù)接收方設(shè)置的匹配規(guī)則和/或字段篩選映射規(guī)則對數(shù)據(jù)進(jìn)行處理,使得接收方只接收自己需要的數(shù)據(jù),和現(xiàn)有技術(shù)相比能夠減少發(fā)送方的負(fù)擔(dān),例如可以是,發(fā)送方發(fā)送數(shù)據(jù),數(shù)據(jù)內(nèi)容為支付方式由支付方式一轉(zhuǎn)換成支付方式二,接收方如果包括不需要支付功能的應(yīng)用,不需要支付功能的應(yīng)用則不需要與支付有關(guān)的數(shù)據(jù),則可以選擇不去接收。

      s350、通過mq將處理后的數(shù)據(jù)推送至對應(yīng)的接收方,以使各接收方根據(jù)自身接收權(quán)限、設(shè)置的匹配規(guī)則和字段篩選映射規(guī)則中的至少一種選擇性接收數(shù)據(jù)。

      具體的,所述自身接收權(quán)限指的是接收方能夠接收的數(shù)據(jù)的信息。例如可以是,接收方只能夠接收第一類型的數(shù)據(jù),則接收方根據(jù)自身只能夠接收第一類型的數(shù)據(jù)選擇性的接收數(shù)據(jù)。

      可選的,也可以為本系統(tǒng)中設(shè)置有匹配規(guī)則和/或字段篩選映射規(guī)則,通過本系統(tǒng)對數(shù)據(jù)進(jìn)行選擇,進(jìn)而使得接收方選擇性的接收數(shù)據(jù),還可以為本系統(tǒng)中設(shè)置有匹配規(guī)則和/或字段篩選映射規(guī)則,各接收方也設(shè)置自身接收權(quán)限、匹配規(guī)則和字段篩選映射規(guī)則,進(jìn)而實(shí)現(xiàn)更加精準(zhǔn)的數(shù)據(jù)選擇。其中,本系統(tǒng)為支持本發(fā)明實(shí)施例的數(shù)據(jù)推送方法的系統(tǒng)。

      可選的,通過所述mq將處理后的數(shù)據(jù)推送至所述對應(yīng)的接收方包括:

      通過所述mq使用post、get和二進(jìn)制中的至少一種傳輸協(xié)議格式將處理后的數(shù)據(jù)推送至各接收方。

      在一個具體的例子中,本發(fā)明實(shí)施例能夠統(tǒng)一管理mq資源,根據(jù)請求量的差異將不同發(fā)送方的請求分配到不同的mq中,達(dá)到資源的充分利用。針對同一發(fā)送方的消息,接收方可根據(jù)自身情況設(shè)置匹配條件,只接收特定的請求,并可篩選出需要關(guān)心的部分字段,以及對字段進(jìn)行改名。針對同一份發(fā)送方數(shù)據(jù),可以按照接收方支持的格式用post、get乃至二進(jìn)制格式進(jìn)行傳輸。如果在調(diào)用接收方接口時,偶遇網(wǎng)絡(luò)抖動等情況,短時內(nèi)重試也是失敗的,本系統(tǒng)有對應(yīng)機(jī)制可以進(jìn)行延時重試,延時間隔隨重試次數(shù)逐次增加,直到接收方恢復(fù),盡可能保證消息同步成功率。

      如圖4所示,本實(shí)施例的方法步驟如下:

      發(fā)送方通過http/post調(diào)用將內(nèi)容提交至本系統(tǒng),本系統(tǒng)選擇合適的mq進(jìn)行提交,同時將提交的內(nèi)容復(fù)制一份到redis中。如果提交mq失敗,消息則被記錄至db隊(duì)列(db是數(shù)據(jù)庫,db隊(duì)列是由數(shù)據(jù)庫構(gòu)建的隊(duì)列。mysql是db隊(duì)列的一種)中,由定時任務(wù)延時重試。mq回調(diào)本系統(tǒng),回調(diào)成功則從redis中刪除對應(yīng)的提交記錄。跟著選擇發(fā)送方所對應(yīng)的接收方,分別應(yīng)用不同的匹配規(guī)則和字段篩選映射規(guī)則,將消息同步給接收方,如果調(diào)用失敗,則進(jìn)入db隊(duì)列進(jìn)行延時重試。所有需進(jìn)入db隊(duì)列的消息,如果偶遇db隊(duì)列異常,則降級為使用redis。有n個并發(fā)進(jìn)程在從異常隊(duì)列中讀取消息進(jìn)行重試。對于mq沒有成功回調(diào)的請求,也有n個進(jìn)程在從redis中讀取數(shù)據(jù)并進(jìn)行補(bǔ)調(diào)。如圖4所示,nmq跳點(diǎn)檢測腳本是心跳檢測,用于檢測mq能否正常工作。nmq中的n指的是第幾個mq,也就是選擇的合適的mq。如果寫入mq失敗,則將其記錄在mysql中,如果下游沒有成功接收到數(shù)據(jù),則也將其記錄在mysql中。時間和寫入次數(shù)有關(guān),需要在mysql中記錄失敗次數(shù),因此在mysql中需要有計(jì)數(shù)器,例如:第一次寫入失敗,5分鐘之后重試,第5次寫入失敗,20分鐘之后重試?;貓?zhí)接口指的是下游的接口,在mq將數(shù)據(jù)推送至接收方的時候,mq中的數(shù)據(jù)發(fā)送模塊會在數(shù)據(jù)傳輸完成之后發(fā)送mq一個數(shù)據(jù)傳輸成功信息,如果數(shù)據(jù)傳輸失敗,需要向mq發(fā)送一個數(shù)據(jù)傳輸失敗的信息。如圖4所示,ral_multi,串口通信處理的多個線程需要協(xié)調(diào)運(yùn)行,一個線程必須等待另一線程結(jié)束才能開始,在處理一個線程的同時必須把其余待處理的線程掛起等待,以減少其余待處理線程對cpu的資源占用,正處理的線程一旦處理結(jié)束則通過線程間的通信發(fā)出信號來擊活被掛起的線程中的一個線程進(jìn)入處理。

      本發(fā)明實(shí)施例考慮在現(xiàn)有消費(fèi)隊(duì)列系統(tǒng)基礎(chǔ)上,發(fā)送方和接收方之間通過簡單的配置就可以解耦。宗旨是要將接口適配和漏推補(bǔ)償機(jī)制抽離出來,提高可用性并節(jié)約發(fā)送方和接收方的開發(fā)成本。調(diào)用前均保存副本,回調(diào)失敗延時重試,db異常,降級為使用redis等不斷完善的邏輯,保障了發(fā)送方和接收方之間內(nèi)容同步的成功率,做到極致高度可用。

      實(shí)施例四

      圖5為本發(fā)明實(shí)施例四提供的一種數(shù)據(jù)推送裝置的結(jié)構(gòu)示意圖,如圖5所示,所述裝置包括:回調(diào)間隔確定模塊410、數(shù)據(jù)回調(diào)模塊420和數(shù)據(jù)推送模塊430。

      其中,回調(diào)間隔確定模塊410,用于如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔;

      數(shù)據(jù)回調(diào)模塊420,用于如果所述下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù);

      數(shù)據(jù)推送模塊430,用于如果所述mq再次回調(diào)成功,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方。

      在上述實(shí)施例的基礎(chǔ)上,所述下次回調(diào)時間間隔隨著所述重試回調(diào)數(shù)據(jù)次數(shù)的增多而增長。

      在上述實(shí)施例的基礎(chǔ)上,還包括:

      第一記錄模塊,用于將所述當(dāng)前回調(diào)數(shù)據(jù)的失敗信息記錄至第一設(shè)定數(shù)據(jù)庫中,并記錄回調(diào)數(shù)據(jù)失敗的次數(shù)。

      在上述實(shí)施例的基礎(chǔ)上,還包括:數(shù)據(jù)保存模塊,用于將發(fā)送方提交的數(shù)據(jù)傳輸至所述mq,并將所述發(fā)送方提交的數(shù)據(jù)保存至緩存中;

      傳輸時間間隔確定模塊,用于若確定所述提交的數(shù)據(jù)傳輸至所述mq失敗,則根據(jù)預(yù)先記錄的傳輸失敗次數(shù)確定下次傳輸時間間隔;

      數(shù)據(jù)傳輸模塊,用于如果所述下次傳輸時間間隔到達(dá),調(diào)取所述緩存中存儲的數(shù)據(jù)再次傳輸至mq中,若確定再次傳輸至mq失敗,重復(fù)執(zhí)行確定下次傳輸時間間隔的操作,直至將所述提交的數(shù)據(jù)成功傳輸至mq中。

      在上述實(shí)施例的基礎(chǔ)上,所述下次傳輸時間間隔隨著所述傳輸失敗次數(shù)的增多而增長。

      在上述實(shí)施例的基礎(chǔ)上,還包括:第二記錄模塊,用于若確定所述提交的數(shù)據(jù)傳輸至mq失敗,則將傳輸失敗信息記錄至第二設(shè)定數(shù)據(jù)庫中,并記錄傳輸失敗的次數(shù)。

      在上述實(shí)施例的基礎(chǔ)上,所述數(shù)據(jù)保存模塊具體用于:

      根據(jù)各mq的當(dāng)前使用情況確定適合的mq;

      將所述提交的數(shù)據(jù)傳輸至所述適合的mq中,并將所述提交的數(shù)據(jù)保存至緩存中。

      在上述實(shí)施例的基礎(chǔ)上,所述數(shù)據(jù)推送模塊430包括:

      接收方確定單元,用于如果所述mq再次回調(diào)成功,確定發(fā)送方對應(yīng)的接收方;

      數(shù)據(jù)處理單元,用于根據(jù)所述接收方設(shè)置的匹配規(guī)則和/或字段篩選映射規(guī)則對數(shù)據(jù)進(jìn)行處理;

      數(shù)據(jù)推送單元,用于將處理后的數(shù)據(jù)通過所述mq推送至所述對應(yīng)的接收方,以使各接收方根據(jù)自身接收權(quán)限、設(shè)置的匹配規(guī)則和字段篩選映射規(guī)則中的至少一種選擇性接收數(shù)據(jù)。

      在上述實(shí)施例的基礎(chǔ)上,所述數(shù)據(jù)推送單元具體用于:

      使用post、get和二進(jìn)制中的至少一種傳輸協(xié)議格式通過所述mq將處理后的數(shù)據(jù)推送至各接收方。

      在上述實(shí)施例的基礎(chǔ)上,還包括:數(shù)據(jù)調(diào)取模塊,用于如果mq回調(diào)數(shù)據(jù)失敗或確定提交的數(shù)據(jù)傳輸至mq失敗,從緩存中調(diào)取發(fā)送方的數(shù)據(jù)。

      在上述實(shí)施例的基礎(chǔ)上,還包括:刪除模塊,用于若將mq中的數(shù)據(jù)推送至接收方成功,則將所述緩存中存儲的數(shù)據(jù)刪除。

      本實(shí)施例所述數(shù)據(jù)推送裝置可以節(jié)省花費(fèi)在數(shù)據(jù)發(fā)送方和接收方之間調(diào)用成功率保障邏輯和數(shù)據(jù)適配的開發(fā)工作,新增一個接收方的時候只需要簡單配置一下即可生效。并且擁有邏輯保障發(fā)送方和接收方之間服務(wù)調(diào)用成功的補(bǔ)調(diào)邏輯,通過漏推消息補(bǔ)償,保證系統(tǒng)高度可用。同時,本發(fā)明實(shí)施例的技術(shù)方案對其它系統(tǒng)模塊(前提是可以異步調(diào)用)也可以發(fā)揮同樣作用。

      本發(fā)明實(shí)施例通過如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔,如果下次回調(diào)時間間隔到達(dá),通過mq再次回調(diào)數(shù)據(jù),如果mq再次回調(diào)成功,通過mq將回調(diào)的數(shù)據(jù)推送至接收方,解決了現(xiàn)有技術(shù)中由于mq回調(diào)數(shù)據(jù)失敗后經(jīng)過固定的時間間隔再次回調(diào)數(shù)據(jù)而導(dǎo)致降低了mq回調(diào)數(shù)據(jù)的成功率的問題,減少了不必要的回調(diào)次數(shù),提高了mq回調(diào)數(shù)據(jù)的成功率,進(jìn)而能夠提高數(shù)據(jù)推送的效率。

      實(shí)施例五

      圖6為本發(fā)明實(shí)施例七提供的一種計(jì)算機(jī)設(shè)備的結(jié)構(gòu)示意圖。圖6示出了適于用來實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)設(shè)備12的框圖。圖6顯示的計(jì)算機(jī)設(shè)備12僅僅是一個示例,不應(yīng)對本發(fā)明實(shí)施例的功能和使用范圍帶來任何限制。

      如圖6所示,計(jì)算機(jī)設(shè)備12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)設(shè)備12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。

      總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(isa)總線,微通道體系結(jié)構(gòu)(mac)總線,增強(qiáng)型isa總線、視頻電子標(biāo)準(zhǔn)協(xié)會(vesa)局域總線以及外圍組件互連(pci)總線。

      計(jì)算機(jī)設(shè)備12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是任何能夠被計(jì)算機(jī)設(shè)備12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動的和不可移動的介質(zhì)。

      系統(tǒng)存儲器28可以包括易失性存儲器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲器(ram)30和/或高速緩存存儲器32。計(jì)算機(jī)設(shè)備12可以進(jìn)一步包括其它可移動/不可移動的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖6未顯示,通常稱為“硬盤驅(qū)動器”)。盡管圖6中未示出,可以提供用于對可移動非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動器,以及對可移動非易失性光盤(例如cd-rom,dvd-rom或者其它光介質(zhì))讀寫的光盤驅(qū)動器。在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。

      具有一組(至少一個)程序模塊42的程序/實(shí)用工具40,可以存儲在例如存儲器28中,這樣的程序模塊42包括——但不限于——操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。

      計(jì)算機(jī)設(shè)備12也可以與一個或多個外部設(shè)備14(例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個或者多個使得用戶能與該計(jì)算機(jī)設(shè)備12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)設(shè)備12能與一個或多個其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口22進(jìn)行。并且,計(jì)算機(jī)設(shè)備12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過總線18與計(jì)算機(jī)設(shè)備12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合計(jì)算機(jī)設(shè)備12使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。

      處理單元16通過運(yùn)行存儲在系統(tǒng)存儲器28中的程序,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,例如實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的數(shù)據(jù)推送方法:如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔;如果所述下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù);如果所述mq再次回調(diào)成功,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方。

      實(shí)施例六

      本發(fā)明實(shí)施例六提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時實(shí)現(xiàn)如本申請所有發(fā)明實(shí)施例提供的數(shù)據(jù)推送方法:如果消息隊(duì)列mq當(dāng)前回調(diào)數(shù)據(jù)失敗,根據(jù)預(yù)先統(tǒng)計(jì)的所述mq的重試回調(diào)數(shù)據(jù)次數(shù)確定下次回調(diào)時間間隔;如果所述下次回調(diào)時間間隔到達(dá),通過所述mq再次回調(diào)數(shù)據(jù);如果所述mq再次回調(diào)成功,通過所述mq將回調(diào)的數(shù)據(jù)推送至接收方。

      可以采用一個或多個計(jì)算機(jī)可讀的介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。

      計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。

      計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無線、電線、光纜、rf等等,或者上述的任意合適的組合。

      可以以一種或多種程序設(shè)計(jì)語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如java、smalltalk、c++,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如”c”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過任意種類的網(wǎng)絡(luò)——包括局域網(wǎng)(lan)或廣域網(wǎng)(wan)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。

      注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實(shí)施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1