本申請涉及計算機技術領域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術:
目前,在諸如網(wǎng)絡、電視直播的場景下,數(shù)據(jù)直播得到了廣泛的應用(其中,數(shù)據(jù)直播就是數(shù)據(jù)的實時顯示),通過數(shù)據(jù)直播,用戶可及時的獲知相應的信息。
例如:在電視直播過程中,顯示春運客流量數(shù)據(jù),那么,收看該電視直播的用戶便可以獲知相應的春運客流量。又例如:購物網(wǎng)站顯示該網(wǎng)站的訪問量、銷售額等數(shù)據(jù),那么,訪問至該購物網(wǎng)站的用戶便可以在相應頁面中獲知訪問量及銷售額。
上述數(shù)據(jù)的直播顯示,通常由相應的服務器(或服務器集群)中的直播數(shù)據(jù)服務實現(xiàn)(該直播數(shù)據(jù)服務運行在服務器中):直播數(shù)據(jù)服務從數(shù)據(jù)源處實時獲取數(shù)據(jù),并經(jīng)過相應的統(tǒng)計處理后,得到直播數(shù)據(jù),發(fā)送給終端顯示。需要說明的是,對于實際的數(shù)據(jù)直播顯示過程而言,實質(zhì)上是一種延時直播,換言之,終端所顯示的數(shù)據(jù)與服務器所生成的數(shù)據(jù)之間存在一定的時間差,也即,終端所顯示的直播數(shù)據(jù)通常是n秒前服務器所生成的。
而在實際應用場景下,直播數(shù)據(jù)服務在運行的過程中可能出現(xiàn)異常的情況(如:計數(shù)出錯、運行卡頓等),這就需要相應的業(yè)務人員進行排障及修復的操作。
現(xiàn)有技術中,當直播數(shù)據(jù)服務出現(xiàn)異常時,服務器會采用備用服務切換的方式,啟動備用的直播數(shù)據(jù)服務代替出現(xiàn)異常的直播數(shù)據(jù)服務。
但是,采用備份服務切換方式,就有可能導致實時數(shù)據(jù)出現(xiàn)“跳躍”或回退,這是因為:服務器中所運行的直播數(shù)據(jù)服務會將從數(shù)據(jù)源處所獲得實時數(shù)據(jù)進行緩存,以便進行相應的統(tǒng)計處理,若該直播數(shù)據(jù)服務出現(xiàn)了異常而被備用的直播數(shù)據(jù)服務替換后,其存儲在緩存中的實時數(shù)據(jù)將被清除,備用的直播數(shù)據(jù)服務上線后,將重新緩存這部分實時數(shù)據(jù)進行統(tǒng)計處理。這樣就會造成數(shù)據(jù)的重復統(tǒng)計處理,進一步導致出現(xiàn)數(shù)據(jù)直播時的回退現(xiàn)象。
例如:以訪問量數(shù)據(jù)為例,原有的直播數(shù)據(jù)服務將從數(shù)據(jù)源處獲取的實時數(shù)據(jù)a900~a960進行緩存,并針對這60條數(shù)據(jù)進行統(tǒng)計處理,最終可生成訪問量數(shù)據(jù)900~960,假設,直播數(shù)據(jù)服務器已根據(jù)實時數(shù)據(jù)a930~a950,生成了訪問量數(shù)據(jù)930~950,發(fā)送給終端進行顯示,如圖1a所示,終端基于服務器所發(fā)送的訪問量數(shù)據(jù),當前所顯示的訪問量為:935。
假設,直播數(shù)據(jù)服務在生成訪問量數(shù)據(jù)955時出現(xiàn)了異常,此時,服務器將該出現(xiàn)異常的直播數(shù)據(jù)服務停止,并啟用備用的直播數(shù)據(jù)服務代替出現(xiàn)異常的直播數(shù)據(jù)服務,但在備用的直播數(shù)據(jù)服務上線運行后,將清除原有直播數(shù)據(jù)服務所緩存的數(shù)據(jù),并重新將實時數(shù)據(jù)a900~a960緩存以進行統(tǒng)計處理,并重新生成訪問量數(shù)據(jù)900~920發(fā)送給終端進行顯示,那么,對于終端而言,其根據(jù)之前接收到的訪問量數(shù)據(jù),顯示訪問量950后(如圖1b所示),又將根據(jù)最新接收到的訪問量數(shù)據(jù)900~920,將回退至900,并從900開始重新顯示,如圖1c所示??梢?,該情況便是數(shù)據(jù)的回退。
顯然,這樣的方式將影響終端所顯示的直播數(shù)據(jù)。
技術實現(xiàn)要素:
本申請實施例提供一種數(shù)據(jù)處理方法,用以解決現(xiàn)有技術中直播數(shù)據(jù)出現(xiàn)異??赡軐е嘛@示跳變、回退的問題。
本申請實施例提供一種數(shù)據(jù)處理裝置,用以解決現(xiàn)有技術中直播數(shù)據(jù)出現(xiàn)異??赡軐е嘛@示跳變、回退的問題。
本申請實施例采用下述技術方案:
本申請實施例提供的一種數(shù)據(jù)處理方法,包括:
服務器監(jiān)測直播數(shù)據(jù)服務的運行狀態(tài);
當監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長;
根據(jù)所述預估修復時長,計算第一速率;
將計算得到的第一速率發(fā)送至終端,以使得所述終端根據(jù)所述第一速率顯示直播數(shù)據(jù)。
本申請實施例還提供的一種數(shù)據(jù)處理方法,包括:
終端接收服務器發(fā)送的第一速率,其中,所述第一速率由所述服務器監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長,并根據(jù)所述預估修復時長計算得到;
根據(jù)所述第一速率顯示直播數(shù)據(jù)。
本申請實施例提供的一種數(shù)據(jù)處理裝置,包括:
監(jiān)測模塊,監(jiān)測直播數(shù)據(jù)服務的運行狀態(tài);
預估模塊,當監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長;
計算模塊,根據(jù)所述預估修復時長,計算第一速率;
發(fā)送模塊,將計算得到的第一速率發(fā)送至終端,以使得所述終端根據(jù)所述第一速率顯示直播數(shù)據(jù)。
本申請實施例還提供的一種數(shù)據(jù)處理裝置,包括:
接收模塊,接收服務器發(fā)送的第一速率,其中,所述第一速率由所述服務器監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長,并根據(jù)所述預估修復時長計算得到;
顯示模塊,根據(jù)所述第一速率顯示直播數(shù)據(jù)。
本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
當服務器在監(jiān)測到直播數(shù)據(jù)服務出現(xiàn)異常時,將確定預估的修復時長,并基于預估的修復時長,計算出第一速率發(fā)送給終端,其中,這里的第一速率能夠控制終端顯示直播數(shù)據(jù)的顯示速率,換言之,在第一速率的作用下,能夠減慢終端顯示直播數(shù)據(jù)的顯示速率,那么,終端將根據(jù)第一速率降低其顯示直播數(shù)據(jù)的速率,從而,對于終端本地的存儲的待顯示的直播數(shù)據(jù),終端將消耗更長的時間顯示這些直播數(shù)據(jù),這樣一來,在服務器側(cè),業(yè)務人員也將獲得足夠的時間對服務器中運行的直播數(shù)據(jù)服務進行排障、修復。
相較于現(xiàn)有技術切換備用直播數(shù)據(jù)服務的方式,采用本申請中的上述方式可以保留原有的直播數(shù)據(jù)服務(不進行服務的切換),那么,在直播數(shù)據(jù)服務恢復正常后,將繼續(xù)根據(jù)其緩存的實時數(shù)據(jù)進行統(tǒng)計處理,換言之,在不切換直播數(shù)服務器的情況下,其緩存的實時數(shù)據(jù)就不會被清除,進而,也就不會出現(xiàn)直播數(shù)據(jù)的回退、跳變等異常的顯示現(xiàn)象。
同時,使得前端用戶不會明顯地察覺到直播數(shù)據(jù)的跳變、回退、停滯等現(xiàn)象。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1a~1c為現(xiàn)有技術中的數(shù)據(jù)直播示意圖;
圖2a為本申請實施例提供的數(shù)據(jù)處理過程示意圖;
圖2b~2d為本申請實施例提供的服務器對終端顯示速率的調(diào)整過程示意圖;
圖3為本申請實施例提供的服務器側(cè)的數(shù)據(jù)處理裝置結(jié)構示意圖;
圖4為本申請實施例提供的終端側(cè)的數(shù)據(jù)處理裝置結(jié)構示意圖。
具體實施方式
為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
如前所述,在數(shù)據(jù)直播的場景下,服務器所生成的直播數(shù)據(jù)將持續(xù)地發(fā)送至終端,終端便可根據(jù)直播數(shù)據(jù)進行數(shù)據(jù)直播顯示,但若服務器側(cè)的直播數(shù)據(jù)服務發(fā)生了異常之后,服務器采用備用服務切換的方式,將導致在數(shù)據(jù)直播過程中出現(xiàn)數(shù)據(jù)回退、跳變的現(xiàn)象,從而影響數(shù)據(jù)直播的正常運行。
基于此,就需要一種在數(shù)據(jù)直播過程中可降低或避免出現(xiàn)數(shù)據(jù)回退、跳變的方法。故在本申請實施例中,提供一種數(shù)據(jù)處理方法,以實現(xiàn)即使在服務器中的直播數(shù)據(jù)服務出現(xiàn)異常的情況下,也不發(fā)生數(shù)據(jù)回退或跳變的現(xiàn)象。,從而保證數(shù)據(jù)直播的正常運行。
本申請實施例中,所述的服務器可以是能夠提供直播數(shù)據(jù)業(yè)務的服務器,包括但不限于:網(wǎng)站服務器、數(shù)據(jù)中心服務器等。服務器可以采用獨立的工作方式(僅一臺服務器提供直播數(shù)據(jù)業(yè)務),也可以采用集群式的工作方式。所述的終端,可以是用戶所使用的手機、平板電腦、智能電視、計算機等具有數(shù)據(jù)顯示功能的終端,在某些實際應用場景中,終端還可以是的大型顯示設備(如:直播廳中具有大型顯示屏的設備),這里并不構成對本申請的限定。
另外,需要說明的是,對于服務器中的直播數(shù)據(jù)服務而言,在其進行統(tǒng)計處理生成直播數(shù)據(jù)的過程中,通常是批量生成直播數(shù)據(jù),換言之,直播數(shù)據(jù)服務會以極短時間間隔,生成一定數(shù)量的直播數(shù)據(jù)。如:直播數(shù)據(jù)服務距前一次生成直播數(shù)據(jù)15ms后,生成本次的2000條直播數(shù)據(jù)。當然,在實際應用中,直播數(shù)據(jù)服務每次生成直播數(shù)據(jù)的時間間隔,以及每次所生成的直播數(shù)據(jù)數(shù)量,與數(shù)據(jù)源的實時數(shù)據(jù)及服務器的運行負荷相關,這里并不構成對本申請的限定。
那么,在服務器中的直播數(shù)據(jù)服務正常運行時,終端顯示直播數(shù)據(jù)的過程具體如下:
首先,終端將與服務器進行交互,以獲得直播數(shù)據(jù)。
在本申請實施例中的一種方式下:終端以極短時間間隔的方式周期性地從服務器獲取直播數(shù)據(jù),例如:終端每0.5s從服務器中獲取一次直播數(shù)據(jù)。也即,該方式中,終端將主動從服務器獲取數(shù)據(jù),在實際應用中,這樣的方式適用于服務器面向大量終端提供數(shù)據(jù)直播業(yè)務的場景。
在另一種方式下,終端與服務器之間保持長連接,那么,當服務器中的直播數(shù)據(jù)服務每次生成了直播數(shù)據(jù)后,都會通過與終端之間建立的長連接,將新生成的直播數(shù)據(jù)發(fā)送給終端。當然,在實際應用時,終端與服務器之間建立長連接的方式,更適用于諸如數(shù)據(jù)直播廳、集中式數(shù)據(jù)直播等場景下,在面對大量終端的情況下,服務器維持與各終端之間的長連接可能會急劇增加服務器的工作負荷,當然,實際應用中,如果服務器的工作負載足夠,也可以針對大量的終端使用長連接的方式,這里并不構成對本申請的限定。
在終端獲得直播數(shù)據(jù)后,便會針對所獲得的直播數(shù)據(jù)進行顯示。
基于前述內(nèi)容,終端所獲取的直播數(shù)據(jù)就是上述數(shù)據(jù)直播服務所生成的某一批直播數(shù)據(jù)(這一批直播數(shù)據(jù)中包含多條數(shù)據(jù)),終端獲取到這些直播數(shù)據(jù)后,將緩存在終端本地,并按照服務器所規(guī)定的速率對直播數(shù)據(jù)進行顯示。例如:在網(wǎng)站訪問量的數(shù)據(jù)直播過程中,假設終端從服務器中獲取的某一批訪問量數(shù)據(jù)包含:訪問量300~350的數(shù)據(jù),并且,服務器規(guī)定對這些訪問量數(shù)據(jù)的顯示速率為:每1s變換一次(每次增加5個數(shù)據(jù)),那么,假設終端在08:01:10時顯示訪問量為300,則終端在08:01:11時所顯示的訪問量為305。
結(jié)合上述內(nèi)容,以下將詳細說明本申請各實施例提供的技術方案。
如圖2a所示,示出了本申請實施中的數(shù)據(jù)處理過程,該過程具體包括以下步驟:
S201:服務器監(jiān)測直播數(shù)據(jù)服務的運行狀態(tài)。
直播數(shù)據(jù)服務運行在服務器中,用以從數(shù)據(jù)源處獲得實時數(shù)據(jù),并進行相應的統(tǒng)計處理后,生成可用于顯示的直播數(shù)據(jù)。在實際應用的過程中,直播數(shù)據(jù)服務將處理海量的數(shù)據(jù),那么,在運行的過程中,就可能由于巨大的運算量出現(xiàn)后臺調(diào)用沖突、運算卡頓等現(xiàn)象,從而導致直播數(shù)據(jù)服務出現(xiàn)運行異常??梢岳斫猓辈?shù)據(jù)服務出現(xiàn)異常后,將進一步導致其生成的直播數(shù)據(jù)異常。
因此,服務器將監(jiān)測直播數(shù)據(jù)服務的運行狀態(tài),以便在直播數(shù)據(jù)服務出現(xiàn)異常時,實施相應的措施,從而避免終端中所顯示的直播數(shù)據(jù)不出現(xiàn)明顯的跳變、回退等異常情況。
S202:當監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長。
在實際應用中,直播數(shù)據(jù)服務發(fā)生異常,可以由相應的業(yè)務人員進行排障、修復等操作,而排障或修復操作需要一定的時間,所以,服務器將確定從直播數(shù)據(jù)服務發(fā)生異常至預計修復時刻之間所需的耗時(也即,預估修復時長)。
S203:根據(jù)所述預估修復時長,計算第一速率。
需要說明的是,本申請實施例中所述的第一速率,可以是一種直播數(shù)據(jù)的變化速率,如:直播數(shù)據(jù)每ns變化一次。
也可以是直播數(shù)據(jù)每次變化的幅度,如:直播數(shù)據(jù)增加n個/次、或直播數(shù)據(jù)減少n個/次。
還可以是一種時間的流速,即,以實際時間作為基準,采用流速系數(shù)*單位時間確定第一速率,如:可以設定第一速率的1s=1.5*實際時間中的1s,也就是說,在第一速率的作用下,終端中的1s就是實際時間的1.5s。當然,上述第一速率的可選方式并不構成對本申請的限定。
考慮到前述內(nèi)容,終端在顯示直播數(shù)據(jù)時,其顯示速率是由服務器所規(guī)定的,終端將按照服務器所規(guī)定的顯示速率,顯示該終端獲得的直播數(shù)據(jù),那么,當服務器中的直播數(shù)據(jù)服務出現(xiàn)異常后,如果將終端對直播數(shù)據(jù)的顯示速率降低,則可以增加業(yè)務人員對直播數(shù)據(jù)服務進行排障或恢復的時間。
例如:假設在正常狀態(tài)下,終端本地存儲有訪問量300~350的數(shù)據(jù),終端按照1s變換一次(設定:訪問量將以5個/次增加)直播數(shù)據(jù)的方式進行直播顯示,那么,在正常情況下,終端從訪問量300開始顯示,直到顯示至350,將需要10s的時長。假設,服務器中的直播數(shù)據(jù)服務運行出現(xiàn)異常,服務器根據(jù)預估修復時長計算出第一速率為:每2s變換一次(訪問量仍以5個/次增加),那么,對于終端而言,按照第一速率,從訪問量300顯示至350時,將需要20s的時長。
從上例可見,在第一速率的作用下,終端在顯示直播數(shù)據(jù)的過程中,相較于正常狀態(tài),其顯示時間延長了10s。那么,對于后臺的業(yè)務人員而言,將有10s的時間對直播數(shù)據(jù)服務進行排障或修復。當然,上述示例僅是對第一速率的作用進行說明,實際應用中可根據(jù)預估修復時長進行預估確定,這里并不構成對本申請的限定。
S104:將計算得到的第一時間速率發(fā)送至終端,以使得所述終端根據(jù)所述第一速率顯示直播數(shù)據(jù)。
在前述內(nèi)容得到了第一速率的基礎上,服務器便會向終端發(fā)送第一速率,這樣一來,終端將根據(jù)第一速率,對終端所獲得的直播數(shù)據(jù)進行顯示。具體如前述示例。
通過上述步驟,當服務器在監(jiān)測到直播數(shù)據(jù)服務出現(xiàn)異常時,將確定預估的修復時長,并基于預估的修復時長,計算出第一速率發(fā)送給終端,其中,這里的第一速率能夠控制終端顯示直播數(shù)據(jù)的顯示速率,換言之,在第一速率的作用下,能夠減慢終端顯示直播數(shù)據(jù)的顯示速率,那么,終端將根據(jù)第一速率降低其顯示直播數(shù)據(jù)的速率,從而,對于終端本地的存儲的待顯示的直播數(shù)據(jù),終端將消耗更長的時間顯示這些直播數(shù)據(jù),這樣一來,在服務器側(cè),業(yè)務人員也將獲得足夠的時間對服務器中運行的直播數(shù)據(jù)服務進行排障、修復。
相較于現(xiàn)有技術切換備用直播數(shù)據(jù)服務的方式,采用本申請中的上述方式可以保留原有的直播數(shù)據(jù)服務(不進行服務的切換),那么,在直播數(shù)據(jù)服務恢復正常后,將繼續(xù)根據(jù)其緩存的實時數(shù)據(jù)進行統(tǒng)計處理,換言之,在不切換直播數(shù)服務器的情況下,其緩存的實時數(shù)據(jù)就不會被清除,進而,也就不會出現(xiàn)直播數(shù)據(jù)的回退、跳變等異常的顯示現(xiàn)象。
需要說明的是,上述實施例所提供方法的各步驟的執(zhí)行主體均可以是同一設備,具體而言,執(zhí)行主體可以是服務器。
下面將詳細說明在直播數(shù)據(jù)服務出現(xiàn)異常時的情況:
需要說明的是,在實際應用中,當直播數(shù)據(jù)服務出現(xiàn)異常時,通常是采用人工介入的方式對異常的直播數(shù)據(jù)服務進行排障或修復,在該過程中,相應的業(yè)務人員會設定預計修復的時間,當然,作為一種可選方式,具體可由服務器提供相應的修復診斷界面,該界面中提供了預計修復時間的選項,業(yè)務人員在進行排障或修復時,可以在該選項中輸入相應的預計修復時間。
那么,在本申請實施例中,確定預估修復時長,具體包括:確定預估修復時刻,確定在直播數(shù)據(jù)的運行狀態(tài)發(fā)生異常時的時間,根據(jù)確定出的所述預估修復時刻以及所述時間,確定所述預估修復時長。
例如:直播數(shù)據(jù)服務出現(xiàn)異常的時間為:12:08:02,業(yè)務人員所預計的預估修復時刻為:12:08:40。那么,預估修復時長就為:38s。
在確定出預估修復時長后,就可以進一步計算出第一時間速率。具體而言,確定在直播數(shù)據(jù)的運行狀態(tài)發(fā)生異常時,終端停止顯示直播數(shù)的時間,根據(jù)確定出的、終端停止顯示直播數(shù)的時間及預估修復時長,確定所述第一速率。
其中,所述預估修復時長越長,則第一速率越慢。為了便于描述,以下將預估修復時長稱為Tyu。
這里需要說明的是,當直播數(shù)據(jù)服務出現(xiàn)異常時,服務器將停止向終端發(fā)送直播數(shù)據(jù),那么,對于終端而言,其將按照原有的顯示速率顯示其本地的直播數(shù)據(jù),可以理解,終端會在一段時間后,將其本地未顯示的直播數(shù)據(jù)顯示完畢,這樣一來,終端在顯示出最后一個直播數(shù)據(jù)后,停止直播數(shù)據(jù)的變更(因為在此時,終端已將本地緩存的所有直播數(shù)據(jù)均進行顯示,且還未獲得由服務器所提供的新增的直播數(shù)據(jù)),其表現(xiàn)形式為,終端所顯示的直播數(shù)據(jù)停止在某一數(shù)值處。例如:終端所顯示的訪問量在500處停止。
所以,在本申請實施例中,當直播數(shù)據(jù)服務的運行狀態(tài)發(fā)生異常時,服務器將確定出終端從此時刻開始,直到停止變更直播數(shù)據(jù)的時間(為了便于描述,以下將終端從直播數(shù)據(jù)服務運行異常時刻起,到停止變更直播數(shù)據(jù)時之間的時長稱為Tc1)。當然,作為本申請實施例中的一種可選方式,終端內(nèi)顯示直播數(shù)據(jù)的顯示速率是由服務器所規(guī)定的,所以,服務器可以獲知終端的顯示速率。并且,由于服務器中的直播數(shù)據(jù)服務每次統(tǒng)計處理生成直播數(shù)據(jù)的時間點均有記錄(如:記錄在相應的數(shù)據(jù)日志中),相應地,該時間點所對應的直播數(shù)據(jù)的數(shù)量也有相應的記錄,那么,服務器可以確定出前一次向終端發(fā)送直播數(shù)據(jù)時,這些直播數(shù)據(jù)生成的時間點,基于此,就可以確定出終端本地所存儲的直播數(shù)據(jù)量??梢岳斫獾?,終端本地所存儲的直播數(shù)據(jù)量、顯示速率均已知,故服務器可以確定出Tc1。
可以認為,Tc1是顯示速率未發(fā)生變化的情況下,終端顯示直播數(shù)據(jù)的耗時,但是,一旦終端經(jīng)過Tc1時間后,終端就會停止直播數(shù)據(jù)的變更,這就會造成數(shù)據(jù)直播的顯示異常,而Tyu是后臺業(yè)務人員進行修復可能所需的時間,所以,在本申請實施例中,就將根據(jù)Tc1和Tyu確定出第一速率,以使得在第一速率的作用下,延長Tc1。
例如:假設終端顯示網(wǎng)站的訪問量數(shù)據(jù),其顯示速率為:每秒10個數(shù)據(jù)遞增,目前終端從服務器獲得的訪問量數(shù)據(jù)包括1000~1200。并假設,終端在顯示訪問量1000時,服務器中運行的直播數(shù)據(jù)服務出現(xiàn)異常,那么,終端此時并不能繼續(xù)從服務器中獲得訪問量數(shù)據(jù)??芍?,終端按照該顯示速率,從訪問量1000起,顯示到訪問量1200所需的時長Tc1為20s。但是,預估修復時長Tyu為40s,為了避免出現(xiàn)終端在20s之后出現(xiàn)數(shù)據(jù)停滯的現(xiàn)象,就需要調(diào)整終端當前的顯示速率。
在本示例中,第一速率=Tc1/Tyu*當前顯示速率=0.5*10=5。
也即,第一速率為:每秒5個數(shù)據(jù)遞增,顯然,在該第一速率的作用下,終端從訪問量1000起,顯示到訪問量1200所需的時長就變?yōu)?0s,延長了原本的顯示時長。
當然,上述方式是以第一速率為直播數(shù)據(jù)的跳變量的情況所進行的說明。而如果第一速率為時間流速,那么,可采用如下方式計算第一速率:
第一速率(客戶端的時間流速)=[(服務器與客戶端之間的時間差異*客戶端時間)/Tyu]+客戶端原有的時間流速。
以上內(nèi)容是在直播數(shù)據(jù)服務出現(xiàn)異常時對終端顯示速率的調(diào)整過程,具體如圖2b所示,在上述過程中,根據(jù)計算得到的第一速率,實質(zhì)上減緩了終端的顯示速率。而在實際應用場景下,當后臺的業(yè)務人員將直播數(shù)據(jù)服務修復后,那么,直播數(shù)據(jù)服務又將正常地對實時數(shù)據(jù)進行統(tǒng)計處理,生成相應的直播數(shù)據(jù),發(fā)送給終端。對于終端而言,其在之前第一速率的作用下,顯示直播數(shù)據(jù)時,維持在較低的顯示速率,當終端能夠正常接收服務器發(fā)送的直播數(shù)據(jù)后,便可將其顯示速率加快,以適應于新增的直播數(shù)據(jù)。
下面對直播數(shù)據(jù)服務恢復后的過程進行詳細說明:
由于前述的修復過程中,業(yè)務人員會預估某一時刻可將直播數(shù)據(jù)服務修復(即,預估修復時刻),實際應用場景下,直播數(shù)據(jù)服務實際的恢復時刻與之前由業(yè)務人員預估的修復時刻之間可能具有時差。如:假設由業(yè)務人員預估的修復時刻為12:08:40,而實際上,直播數(shù)據(jù)服務在12:07:50時已經(jīng)恢復,所以,兩個時間點之間存在50s的時差。
在實際應用中,由于第一速率是根據(jù)預估修復時長而確定的,那么,如果直播數(shù)據(jù)服務的實際恢復時間與預估修復時刻之間具有一定的時差,就應根據(jù)該時差來確定終端的顯示速率應該加快的程度,也即,確定第二速率。
所示,對于前述方法,在直播數(shù)據(jù)服務恢復后,還包括:當監(jiān)測到所述直播數(shù)據(jù)的運行狀態(tài)恢復正常時,確定修復時差,根據(jù)所述修復時差,計算第二速率,將計算得到的第二時間速率發(fā)送至終端,以使得所述終端根據(jù)所述第二速率顯示直播數(shù)據(jù)。
當然,根據(jù)前述內(nèi)容可知,確定修復時差,具體包括:確定所述直播數(shù)據(jù)服務的運行狀態(tài)恢復正常時的時刻,根據(jù)直播數(shù)據(jù)服務的運行狀態(tài)恢復正常時的時刻以及預估修復時刻,確定所述修復時差。
延續(xù)前述示例:假設前述示例中,在12:01:00時直播數(shù)據(jù)服務出現(xiàn)異常,由于預估修復時長為40s,那么,其預估修復時刻為12:01:40,但是直播數(shù)據(jù)服務的實際恢復時間為12:01:20(并于此刻新生成了訪問量數(shù)據(jù)),也就是說,直播數(shù)據(jù)服務相較于預估修復時刻,其提前了20s恢復,此時,在終端側(cè),其還有數(shù)量為100的訪問量數(shù)據(jù)并未顯示,假設,直播數(shù)據(jù)服務照常工作后,為了使得終端能夠適于直播數(shù)據(jù)服務照常工作而生成的新訪問量數(shù)據(jù),所以,服務器將調(diào)整終端此時的顯示速率(即,第一速率),使得終端加速顯示剩余的訪問量數(shù)據(jù)(即,生成第二速率)。
當然,可以理解,修復時差越短,則第二速率越快。
同樣,上述方式是以第二速率為直播數(shù)據(jù)的跳變量的情況所進行的說明。而如果第二速率為時間流速,那么,可采用如下方式計算第二速率:
第二速率(客戶端的時間流速)=[(實際修復時刻-客戶端時間)*Tyu/實際修復時差]+第一速率。
以上是直播數(shù)據(jù)服務恢復正常時對終端顯示速率的調(diào)整過程,具體如圖2c所示。
當然,在終端加速顯示其本地剩余的直播數(shù)據(jù)后(并接收到了新增的直播數(shù)據(jù)),服務器還會再一次向終端發(fā)送正常的速率,以使得終端按照正常速率顯示直播數(shù)據(jù)。其過程如圖2d所示。
另外,需要說明的是,在實際應用場景下,直播數(shù)據(jù)服務實際的恢復時刻可以晚于預估修復時刻,例如:假設在12:01:00時直播數(shù)據(jù)服務出現(xiàn)異常,預估修復時刻為12:01:40,但實際上在12:02:20時,直播數(shù)據(jù)服務才恢復正常,顯然,對于這種情況而言,如果終端只按照前述方法計算得到的第一速率對直播數(shù)據(jù)進行顯示,仍會出現(xiàn)直播數(shù)據(jù)顯示停滯的現(xiàn)象,所以,在本申請實施例中,為了避免上述情況的出現(xiàn),可以動態(tài)的調(diào)整第一速率,也即,可以多次計算第一速率并發(fā)送給終端。
例如:延續(xù)前述第一速率的示例,從前例中可知,首次生成的第一速率為:每秒5個訪問量遞增,經(jīng)過10秒后(此時,終端中所顯示的訪問量為1150,還剩余150個訪問量數(shù)據(jù),在30s后顯示完),直播數(shù)據(jù)服務仍未修復,那么,服務器可在此基礎上重新計算新的第一速率(其作用在于繼續(xù)延長終端的顯示耗時),假設,新計算的第一速率為:每秒2個訪問量遞增,這樣,就可以將終端的顯示耗時增加到75s。
當然,上述上例僅是本申請實施例中在實際應用場景下的一種可能方式,并不構成對本申請的限定。
經(jīng)過以上內(nèi)容,當服務器中的直播數(shù)據(jù)服務出現(xiàn)異常時,服務器可將終端當前的顯示速率減緩,可以延長后臺的工作人員排障或修復的時間,同時,使得前端用戶不會明顯地察覺到直播數(shù)據(jù)的跳變、回退、停滯等現(xiàn)象。相應地,在直播數(shù)據(jù)服務修復之后,可加快終端的顯示速率,使得終端適于服務器發(fā)送的新增直播數(shù)據(jù)。
當然,在終端側(cè),本申請?zhí)峁┮环N數(shù)據(jù)處理方法,具體而言,在服務器中的直播數(shù)據(jù)服務發(fā)生異常時:
步驟一:終端接收服務器發(fā)送的第一速率,其中,所述第一速率由所述服務器監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長,并根據(jù)所述預估修復時長計算得到。
步驟二:根據(jù)所述第一速率顯示直播數(shù)據(jù)。
當服務器中的直播數(shù)據(jù)服務恢復正常時,該方法還包括:所述終端接收所述服務器發(fā)送的第二速率,其中,所述第二速率由所述服務器監(jiān)測到所述直播數(shù)據(jù)的運行狀態(tài)恢復正常時,確定修復時差,并根據(jù)所述修復時差計算得到;根據(jù)所述第二速率顯示直播數(shù)據(jù)。
對于終端側(cè)而言,其獲取直播數(shù)據(jù)、根據(jù)不同速率顯示直播數(shù)據(jù)等實現(xiàn)過程可參考前述內(nèi)容,這里并不再過多贅述。
以上為本申請實施例提供的數(shù)據(jù)處理方法,基于同樣的思路,本申請實施例還提供一種數(shù)據(jù)處理裝置。
如圖3所示,數(shù)據(jù)處理裝置,設置于服務器側(cè),該裝置包括:
監(jiān)測模塊301,監(jiān)測直播數(shù)據(jù)服務的運行狀態(tài);
預估模塊302,當監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長;
計算模塊303,根據(jù)所述預估修復時長,計算第一速率;
發(fā)送模塊304,將計算得到的第一速率發(fā)送至終端,以使得所述終端根據(jù)所述第一速率顯示直播數(shù)據(jù)。
具體而言,預估模塊302,確定預估修復時刻,確定在直播數(shù)據(jù)服務的運行狀態(tài)發(fā)生異常時的時間,根據(jù)確定出的所述預估修復時刻以及所述時間,確定所述預估修復時長。
進一步地,預估模塊302,確定在直播數(shù)據(jù)的運行狀態(tài)發(fā)生異常時,終端停止變更直播數(shù)據(jù)的時間,根據(jù)確定出的、終端停止顯示直播數(shù)的時間及預估修復時長,確定所述第一速率。
其中,所述預估修復時長越長,則第一速率越慢。
所述裝置還包括:
修復模塊305,當監(jiān)測到所述直播數(shù)據(jù)的運行狀態(tài)恢復正常時,確定修復時差,根據(jù)所述修復時差,計算第二速率,將計算得到的第二時間速率發(fā)送至終端,以使得所述終端根據(jù)所述第二速率顯示直播數(shù)據(jù)。
進一步地,修復模塊305,確定所述直播數(shù)據(jù)服務的運行狀態(tài)恢復正常時的時刻,根據(jù)直播數(shù)據(jù)服務的運行狀態(tài)恢復正常時的時刻以及預估修復時刻,確定所述修復時差。
基于此,計算模塊303,根據(jù)所述修復時差以及第一速率,確定所述第二速率。
其中,所述修復時差越短,則第二速率越快。
如圖4所示,本申請實施例中還提供一種數(shù)據(jù)處理裝置,設置于終端側(cè),該裝置包括:
接收模塊401,接收服務器發(fā)送的第一速率,其中,所述第一速率由所述服務器監(jiān)測到所述運行狀態(tài)發(fā)生異常時,確定預估修復時長,并根據(jù)所述預估修復時長計算得到。
顯示模塊402,根據(jù)所述第一速率顯示直播數(shù)據(jù)。
當然,在直播數(shù)據(jù)服務器恢復后,服務器還會向終端發(fā)送第二速率,那么,接收模塊401,接收服務器發(fā)送的第二速率,其中,所述第二速率由所述服務器監(jiān)測到所述直播數(shù)據(jù)的運行狀態(tài)恢復正常時,確定修復時差,并根據(jù)所述修復時差計算得到。
顯示模塊402,根據(jù)所述第二速率顯示直播數(shù)據(jù)。
本領域內(nèi)的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(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)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內(nèi)。