本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
背景技術(shù):
隨著數(shù)據(jù)采集與信息技術(shù)的進(jìn)步,可以被分析和處理的數(shù)據(jù)資源來(lái)越多,數(shù)據(jù)資源的大小越來(lái)越大。例如,隨著大數(shù)據(jù)時(shí)代的到來(lái),越來(lái)越多的數(shù)據(jù)被相互關(guān)聯(lián),需要被處理的數(shù)據(jù)量越來(lái)越大。
現(xiàn)有的數(shù)據(jù)數(shù)據(jù)處理方法處理效率有待提升。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明解決的技術(shù)問(wèn)題是提升數(shù)據(jù)處理方法的效率。
為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,包括:在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的多個(gè)數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中包括資源請(qǐng)求以及預(yù)處理請(qǐng)求,所述資源請(qǐng)求指向服務(wù)器存儲(chǔ)的數(shù)據(jù)資源塊,所述服務(wù)器存儲(chǔ)有多個(gè)所述數(shù)據(jù)資源塊;分析多個(gè)所述資源請(qǐng)求的指向,以確定多個(gè)所述資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊;在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊;讀取所述目標(biāo)數(shù)據(jù)資源塊,根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理,以得到對(duì)應(yīng)不同客戶端的目標(biāo)數(shù)據(jù);分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。
可選的,所述預(yù)處理請(qǐng)求攜帶于預(yù)處理程序中;所述服務(wù)器根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理包括:利用所述預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
可選的,所述預(yù)處理請(qǐng)求攜帶于預(yù)處理程序中;所述服務(wù)器根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理包括:將所述預(yù)處理程序轉(zhuǎn)換為所述服務(wù)器適于執(zhí)行的服務(wù)器預(yù)處理程序;利用所述服務(wù)器預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
可選的,所述分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)包括:分別向所述多個(gè)客戶端返回?cái)?shù)據(jù)通知,所述數(shù)據(jù)通知指示向?qū)?yīng)的客戶端返回?cái)?shù)據(jù)的時(shí)間;分別向多個(gè)客戶端發(fā)送響應(yīng)于來(lái)自該客戶端的數(shù)據(jù);在數(shù)據(jù)發(fā)送完成后,向?qū)?yīng)的客戶端發(fā)送結(jié)束通知。
可選的,采用以下任一種方式在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊:在所述重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊;參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊。
本發(fā)明實(shí)施例還提供一種數(shù)據(jù)處理裝置,包括:數(shù)據(jù)請(qǐng)求接收單元,適于在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的多個(gè)數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中包括資源請(qǐng)求以及預(yù)處理請(qǐng)求,所述資源請(qǐng)求指向服務(wù)器存儲(chǔ)的數(shù)據(jù)資源塊,所述服務(wù)器存儲(chǔ)有多個(gè)所述數(shù)據(jù)資源塊;重疊數(shù)據(jù)資源塊確定單元,適于分析多個(gè)所述資源請(qǐng)求的指向,以確定多個(gè)所述資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊;目標(biāo)數(shù)據(jù)資源塊確定單元,適于在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊;目標(biāo)數(shù)據(jù)生成單元,適于讀取所述目標(biāo)數(shù)據(jù)資源塊,根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理,以得到對(duì)應(yīng)不同客戶端的目標(biāo)數(shù)據(jù);請(qǐng)求響應(yīng)單元,適于向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。
可選的,所述預(yù)處理請(qǐng)求攜帶于預(yù)處理程序中,所述目標(biāo)數(shù)據(jù)生成單元適于利用所述預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
可選的,所述預(yù)處理請(qǐng)求攜帶于預(yù)處理程序中;所述目標(biāo)數(shù)據(jù)生成單元包括:程序轉(zhuǎn)換子單元,適于將所述預(yù)處理程序轉(zhuǎn)換為所述服務(wù)器適于執(zhí)行的服務(wù)器預(yù)處理程序;預(yù)處理子單元,適于利用所述服務(wù)器預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
可選的,所述請(qǐng)求響應(yīng)單元包括:時(shí)間通知單元,適于分別向所述多個(gè)客戶端返回?cái)?shù)據(jù)通知,所述數(shù)據(jù)通知指示向?qū)?yīng)的客戶端返回?cái)?shù)據(jù)的時(shí)機(jī);數(shù)據(jù)發(fā)送單元,適于分別向多個(gè)客戶端發(fā)送響應(yīng)于來(lái)自該客戶端的數(shù)據(jù);結(jié)束通知單元,適于在數(shù)據(jù)發(fā)送完成后,向?qū)?yīng)的客戶端發(fā)送結(jié)束通知。
可選的,所述目標(biāo)數(shù)據(jù)資源塊確定單元包括優(yōu)先級(jí)選取單元或重疊選取單元;所述優(yōu)先級(jí)選取單元,適于在所述重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊;所述重疊選取單元,適于參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例的技術(shù)方案具有以下有益效果:
在本發(fā)明實(shí)施例中,通過(guò)在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的數(shù)據(jù)請(qǐng)求,這些數(shù)據(jù)請(qǐng)求中包含資源請(qǐng)求,確定多個(gè)資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊,在重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊,讀取目標(biāo)數(shù)據(jù)資源塊,并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊,分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。此方案中,每次讀取目標(biāo)數(shù)據(jù)資源塊,均可以基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊向多個(gè)客戶端返回?cái)?shù)據(jù),而不是針對(duì)每個(gè)數(shù)據(jù)請(qǐng)求單獨(dú)的讀取數(shù)據(jù)資源塊并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊返回?cái)?shù)據(jù),從而可以減少對(duì)數(shù)據(jù)資源塊的讀取次數(shù),進(jìn)而可以提升數(shù)據(jù)處理的效率。
進(jìn)一步,在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊,可以是在重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊,也可以是參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊,或者也可以是服務(wù)器預(yù)設(shè)的其他選取方式,例如按照請(qǐng)求順序。其中,參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊可以兼顧資源請(qǐng)求的優(yōu)先級(jí);在重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊,可以最大限度的減少對(duì)同一塊資源重復(fù)讀取的次數(shù),從而可以提升數(shù)據(jù)處理的效率。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法的流程圖;
圖2是圖1中步驟S14的一種具體實(shí)現(xiàn)的流程圖;
圖3是本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法的應(yīng)用場(chǎng)景的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例中一種資源處理順序示意圖;
圖5是本發(fā)明實(shí)施例中一種數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
如背景技術(shù)所述,隨著數(shù)據(jù)采集與信息技術(shù)的進(jìn)步,可以被分析和處理的數(shù)據(jù)資源來(lái)越多,數(shù)據(jù)資源的大小越來(lái)越大。例如,隨著大數(shù)據(jù)時(shí)代的到來(lái),越來(lái)越多的數(shù)據(jù)被相互關(guān)聯(lián),需要被處理的數(shù)據(jù)量越來(lái)越大。現(xiàn)有的數(shù)據(jù)數(shù)據(jù)處理方法處理效率有待提升。
在本發(fā)明實(shí)施例中,通過(guò)在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的數(shù)據(jù)請(qǐng)求,這些數(shù)據(jù)請(qǐng)求中包含資源請(qǐng)求,確定多個(gè)資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊,在重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊,讀取目標(biāo)數(shù)據(jù)資源塊,并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊,分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。此方案中,每次讀取目標(biāo)數(shù)據(jù)資源塊,均可以基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊向多個(gè)客戶端返回?cái)?shù)據(jù),而不是針對(duì)每個(gè)數(shù)據(jù)請(qǐng)求單獨(dú)的讀取數(shù)據(jù)資源塊并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊返回?cái)?shù)據(jù),從而可以減少對(duì)數(shù)據(jù)資源塊的讀取次數(shù),進(jìn)而可以提升數(shù)據(jù)處理的效率。
為使本發(fā)明的上述目的、特征和有益效果能夠更為明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例做詳細(xì)的說(shuō)明。
圖1是本發(fā)明實(shí)施例中一種數(shù)據(jù)處理方法的流程圖。參見(jiàn)圖1,本發(fā)明實(shí)施例中的數(shù)據(jù)處理方法可以包括:
步驟S11,在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的多個(gè)數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中包括資源請(qǐng)求以及預(yù)處理請(qǐng)求,所述資源請(qǐng)求指向服務(wù)器存儲(chǔ)的數(shù)據(jù)資源塊,所述服務(wù)器存儲(chǔ)有多個(gè)所述數(shù)據(jù)資源塊。
步驟S12,分析多個(gè)所述資源請(qǐng)求的指向,以確定多個(gè)所述資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊。
步驟S13,在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊。
步驟S14,讀取所述目標(biāo)數(shù)據(jù)資源塊,根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理,以得到對(duì)應(yīng)不同客戶端的目標(biāo)數(shù)據(jù);
步驟S15,分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。
如圖1所示的數(shù)據(jù)處理方法可以適用于服務(wù)器,可以是單臺(tái)服務(wù)器也可以是分布式服務(wù)器。服務(wù)器中可以存儲(chǔ)多個(gè)數(shù)據(jù)資源塊。這些數(shù)據(jù)資源塊可以是能夠被切分的數(shù)據(jù)資源切分得到的,這些數(shù)據(jù)資源塊是數(shù)據(jù)資源的子資源。數(shù)據(jù)資源塊之間的內(nèi)容不交叉,且可以獨(dú)立的對(duì)這些數(shù)據(jù)資源塊進(jìn)行處理,例如獨(dú)立的對(duì)這些數(shù)據(jù)資源塊進(jìn)行讀取。
在具體實(shí)施中,將數(shù)據(jù)資源進(jìn)行切分得到數(shù)據(jù)資源塊可以包括如下方式:按照數(shù)據(jù)資源中文件容量百分比切分、按數(shù)據(jù)資源的子文件數(shù)目切分,按CPU數(shù)據(jù)切分,按歷史資源試用度切分等。
客戶端可以是需要從服務(wù)器獲取數(shù)據(jù)的設(shè)備,例如可以是計(jì)算機(jī)、手機(jī)等設(shè)備。客戶端和服務(wù)器可以支持共同的通訊協(xié)議,符合共同的通信框架,以使得客戶端可以向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求。
來(lái)自客戶端的數(shù)據(jù)請(qǐng)求中可以包括資源請(qǐng)求,這些資源請(qǐng)求可以指向數(shù)據(jù)資源塊可以是通過(guò)上述數(shù)據(jù)資源指向所述數(shù)據(jù)資源塊。
例如,若數(shù)據(jù)資源為存儲(chǔ)有20行數(shù)據(jù)的A文件,A文件可以分為兩塊數(shù)據(jù)資源塊,分別包含前10行數(shù)據(jù)和后10行數(shù)據(jù)。此時(shí),若數(shù)據(jù)資源請(qǐng)求是對(duì)A文件的請(qǐng)求,則該資源請(qǐng)求指向上述兩個(gè)數(shù)據(jù)資源塊,也就是指向包含A文件前10行數(shù)據(jù)的數(shù)據(jù)資源塊和包含A文件后10行數(shù)據(jù)的數(shù)據(jù)資源塊。
在另一個(gè)非限定性的例子中,若數(shù)據(jù)資源為存儲(chǔ)有20個(gè)文件的A目錄,A目錄可以分為兩塊數(shù)據(jù)資源塊,分別包含前10份文件和后10個(gè)文件。此時(shí),若數(shù)據(jù)資源請(qǐng)求是對(duì)A目錄的請(qǐng)求,則該資源請(qǐng)求指向上述兩個(gè)數(shù)據(jù)資源塊,也就是指向包含A目錄前10個(gè)文件的數(shù)據(jù)資源塊和包含A文件后10個(gè)文件的數(shù)據(jù)資源塊。
在具體實(shí)施中,步驟S11中的預(yù)設(shè)時(shí)間可以包括以下任意一種或多種時(shí)間:當(dāng)服務(wù)器處于空閑狀態(tài)時(shí),可以以固定的時(shí)間段為預(yù)設(shè)的時(shí)間,每隔固定的時(shí)間段對(duì)該時(shí)間段內(nèi)接收到的多個(gè)數(shù)據(jù)請(qǐng)求進(jìn)行分析;當(dāng)服務(wù)器對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行讀取時(shí),可以以對(duì)該目標(biāo)數(shù)據(jù)資源塊進(jìn)行讀取所需的時(shí)間作為預(yù)設(shè)的時(shí)間,對(duì)上一目標(biāo)數(shù)據(jù)資源塊進(jìn)行讀取的時(shí)間內(nèi)接收到的數(shù)據(jù)資源請(qǐng)求進(jìn)行分析,以確定下一目標(biāo)數(shù)據(jù)資源塊。
預(yù)設(shè)的時(shí)間也可以被叫做資源周期,在服務(wù)器處于空閑狀態(tài)時(shí),資源周期可以是預(yù)設(shè)的時(shí)間,在對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行讀取時(shí),資源周期可以是讀取時(shí)間。也即,資源周期可以并不是固定的時(shí)間值。
可以理解的是,在資源周期內(nèi)接收到的數(shù)據(jù)請(qǐng)求中可以包含請(qǐng)求上述數(shù)據(jù)資源的資源請(qǐng)求,也可以包括請(qǐng)求目標(biāo)數(shù)據(jù)資源塊的資源請(qǐng)求,還可以包括請(qǐng)求目標(biāo)數(shù)據(jù)資源塊中某部分?jǐn)?shù)據(jù)的請(qǐng)求。服務(wù)器分析這些資源請(qǐng)求的指向,可以包括確定這些資源請(qǐng)求指向的數(shù)據(jù)資源塊。
另外,在具體實(shí)施中,數(shù)據(jù)資源塊可以包括進(jìn)一步的數(shù)據(jù)劃分得到的數(shù)據(jù)資源子塊,但數(shù)據(jù)資源塊被作為一個(gè)整體讀取。
在具體實(shí)施中,步驟S13中在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊,可以是在重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊,也可以是參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊,或者也可以是服務(wù)器預(yù)設(shè)的其他的選取方式,例如,按照接收到數(shù)據(jù)請(qǐng)求的先后順序進(jìn)行選取等。
其中,參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊可以兼顧資源請(qǐng)求的優(yōu)先級(jí);在重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊,可以最大限度的減少對(duì)同一塊資源重復(fù)讀取的次數(shù),從而可以提升數(shù)據(jù)處理的效率。
在具體實(shí)施中,步驟S14中根據(jù)預(yù)處理請(qǐng)求對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理可以是對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行中的數(shù)據(jù)進(jìn)行篩選或加工,以得到目標(biāo)數(shù)據(jù)。
例如,當(dāng)目標(biāo)數(shù)據(jù)資源塊為對(duì)應(yīng)某一主體的大數(shù)據(jù)資源時(shí),對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理可以是進(jìn)行篩選,比如篩選出對(duì)應(yīng)該主體的某種特性的數(shù)據(jù);當(dāng)目標(biāo)數(shù)據(jù)資源塊為視頻資源時(shí),對(duì)目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理可以是將視頻資源轉(zhuǎn)換為與發(fā)送所述數(shù)據(jù)請(qǐng)求的終端相適配的視頻資源,例如進(jìn)行分辨率的轉(zhuǎn)換等。
在具體實(shí)施中,預(yù)處理請(qǐng)求可以攜帶于預(yù)處理程序中;所述服務(wù)器根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理包括:利用所述預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
當(dāng)利用所述與處理程序?qū)λ瞿繕?biāo)程序進(jìn)行預(yù)處理失敗時(shí),可以結(jié)束資源請(qǐng)求相關(guān)操作,退出以釋放服務(wù)器資源;或者也可以按照服務(wù)器的設(shè)置繼續(xù)執(zhí)行相關(guān)操作。
參見(jiàn)圖2,在本發(fā)明一實(shí)施例中,所述服務(wù)器根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理可以包括:
步驟S141,將所述預(yù)處理程序轉(zhuǎn)換為所述服務(wù)器適于執(zhí)行的服務(wù)器預(yù)處理程序;
步驟S142,利用所述服務(wù)器預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
其中,將所述預(yù)處理程序轉(zhuǎn)換為所述服務(wù)器適于執(zhí)行的服務(wù)器預(yù)處理程序的過(guò)程中,可以對(duì)預(yù)處理程序進(jìn)行優(yōu)化,以提升執(zhí)行效率;也可以僅是將預(yù)處理程序轉(zhuǎn)換成服務(wù)器指定的語(yǔ)言編寫(xiě)的程序,或者將預(yù)處理程序轉(zhuǎn)換成符合預(yù)設(shè)規(guī)則的程序。
在一個(gè)非限定性的例子中,圖1中步驟S15中分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)可以包括:
分別向所述多個(gè)客戶端返回?cái)?shù)據(jù)通知,所述數(shù)據(jù)通知指示向?qū)?yīng)的客戶端返回?cái)?shù)據(jù)的時(shí)間;
分別向多個(gè)客戶端發(fā)送響應(yīng)于來(lái)自該客戶端的數(shù)據(jù);
在數(shù)據(jù)發(fā)送完成后,向?qū)?yīng)的客戶端發(fā)送結(jié)束通知。
以下參見(jiàn)圖3,對(duì)如圖1所示的數(shù)據(jù)處理方法進(jìn)行進(jìn)一步說(shuō)明。
為方便說(shuō)明,假設(shè)在預(yù)設(shè)的時(shí)間內(nèi),接收到來(lái)自三個(gè)客戶端的數(shù)據(jù)請(qǐng)求,為區(qū)分方便,將這三個(gè)客戶端命名為第一客戶端21、第二客戶端22和第三客戶端23。其中來(lái)自第一客戶端21的數(shù)據(jù)請(qǐng)求中包含指向第一數(shù)據(jù)資源塊和第四數(shù)據(jù)資源塊的資源請(qǐng)求;來(lái)自第二客戶端22的數(shù)據(jù)請(qǐng)求中包含指向第一數(shù)據(jù)資源塊和第二數(shù)據(jù)資源塊的資源請(qǐng)求;來(lái)自第三客戶端23的數(shù)據(jù)請(qǐng)求中包含指向第二數(shù)據(jù)資源塊的資源請(qǐng)求。
可以看出,多個(gè)資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊為第一數(shù)據(jù)資源塊和第二數(shù)據(jù)資源塊。此時(shí)可以在第一數(shù)據(jù)資源塊和第二數(shù)據(jù)資源塊中選取目標(biāo)數(shù)據(jù)資源塊。
若來(lái)自不同客戶端的資源請(qǐng)求的優(yōu)先級(jí)不同,其中來(lái)自第三客戶端23的資源請(qǐng)求的優(yōu)先級(jí)較高,則可以選取第二數(shù)據(jù)資源塊作為目標(biāo)數(shù)據(jù)資源塊。
假設(shè),在上述過(guò)程中選取第二數(shù)據(jù)資源塊作為目標(biāo)數(shù)據(jù)資源塊,讀取了第二數(shù)據(jù)資源塊,并基于讀取到的第二數(shù)據(jù)資源塊向分別第二客戶端22和第三客戶端23返回了響應(yīng)于其數(shù)據(jù)請(qǐng)求的數(shù)據(jù),此時(shí)可以分析在讀取第二數(shù)據(jù)資源塊期間接收到的數(shù)據(jù)請(qǐng)求。
可以理解的是,基于讀取到的第二數(shù)據(jù)資源塊向分別第二客戶端22和第三客戶端23返回了響應(yīng)于其數(shù)據(jù)請(qǐng)求的數(shù)據(jù),可以包括對(duì)第二數(shù)據(jù)資源塊進(jìn)行預(yù)處理的過(guò)程。
在分析在讀取第二數(shù)據(jù)資源塊期間接收到的數(shù)據(jù)請(qǐng)求時(shí),也將自第一客戶端21的指向第一數(shù)據(jù)資源塊和第四數(shù)據(jù)資源塊的資源請(qǐng)求、來(lái)自第二客戶端22的指向第一數(shù)據(jù)資源塊的資源請(qǐng)求作為接收到的數(shù)據(jù)請(qǐng)求。也即,在選取目標(biāo)數(shù)據(jù)資源塊時(shí),將之前未響應(yīng)的數(shù)據(jù)資源請(qǐng)求作為預(yù)設(shè)時(shí)間內(nèi)接收到的數(shù)據(jù)請(qǐng)求所包含的數(shù)據(jù)資源請(qǐng)求。
可以理解的是,本發(fā)明實(shí)施例中的數(shù)據(jù)處理方法還可以包括:若在預(yù)設(shè)的時(shí)間內(nèi)僅接收到了來(lái)自一個(gè)客戶端的數(shù)據(jù)請(qǐng)求,則可以將該數(shù)據(jù)請(qǐng)求指向的數(shù)據(jù)資源塊作為目標(biāo)數(shù)據(jù)資源塊。
另外,在具體實(shí)施中,若數(shù)據(jù)請(qǐng)求是指向數(shù)據(jù)資源的數(shù)據(jù)請(qǐng)求,該數(shù)據(jù)資源包含多個(gè)數(shù)據(jù)資源塊,則可以一次確定在多個(gè)連續(xù)的資源周期內(nèi),讀取該數(shù)據(jù)資源包含的多個(gè)數(shù)據(jù)資源塊。
本發(fā)明實(shí)施例中一種資源處理順序示意圖參見(jiàn)圖4,以下結(jié)合圖4對(duì)如圖1所示的數(shù)據(jù)處理方法進(jìn)行說(shuō)明。
參見(jiàn)圖4,以下以對(duì)某一數(shù)據(jù)資源進(jìn)行處理的過(guò)程為例,對(duì)如圖1所示的數(shù)據(jù)處理方法進(jìn)行進(jìn)一步說(shuō)明。如圖4所示的數(shù)據(jù)資源可以包括數(shù)據(jù)資源塊41、數(shù)據(jù)資源塊42以及數(shù)據(jù)資源塊43。
程序A可以來(lái)自第一數(shù)據(jù)請(qǐng)求,服務(wù)器可以利用程序A對(duì)數(shù)據(jù)資源塊進(jìn)行預(yù)處理,以得到響應(yīng)于第一數(shù)據(jù)請(qǐng)求的數(shù)據(jù)。服務(wù)器已安排在連續(xù)的三個(gè)資源周期讀取數(shù)據(jù)資源塊41、數(shù)據(jù)資源塊42以及數(shù)據(jù)資源塊43。
在t1時(shí)刻,服務(wù)器接收到第二數(shù)據(jù)請(qǐng)求,第二數(shù)據(jù)請(qǐng)求可以是對(duì)第四數(shù)據(jù)資源中數(shù)據(jù)資源塊41和數(shù)據(jù)資源塊42的請(qǐng)求,在第二數(shù)據(jù)請(qǐng)求中攜帶有程序B,以進(jìn)行預(yù)處理。
由于t1時(shí)刻位于讀取數(shù)據(jù)資源塊的資源周期內(nèi),所以在該資源周期結(jié)束后,再對(duì)該資源周期內(nèi)接收的數(shù)據(jù)請(qǐng)求進(jìn)行處理。在讀取數(shù)據(jù)資源塊41的資源周期結(jié)束后,讀取數(shù)據(jù)資源塊42,此時(shí)程序A和程序B對(duì)數(shù)據(jù)資源塊42進(jìn)行預(yù)處理。
程序C可以來(lái)自第三數(shù)據(jù)請(qǐng)求,第三數(shù)據(jù)請(qǐng)求可以是在讀取數(shù)據(jù)資源塊41之前接收到的數(shù)據(jù)請(qǐng)求,也可以是在讀取數(shù)據(jù)資源塊41或讀取數(shù)據(jù)資源塊42時(shí)接收到的請(qǐng)求。在讀取數(shù)據(jù)資源塊43的資源周期內(nèi),程序A和程序C對(duì)數(shù)據(jù)資源塊43進(jìn)行預(yù)處理。
在一個(gè)非限定性的例子中,圖4中的數(shù)據(jù)資源可以是某一視頻資源,客戶端通過(guò)點(diǎn)擊數(shù)據(jù)資源圖表的方式發(fā)起了對(duì)數(shù)據(jù)資源的請(qǐng)求,程序C對(duì)應(yīng)的客戶端可以是記錄了上次觀看的位置,通過(guò)點(diǎn)擊繼續(xù)觀看發(fā)起可對(duì)數(shù)據(jù)資源的請(qǐng)求。程序A、程序B和程序C可以是對(duì)時(shí)頻資源進(jìn)行與終端的適配性處理的程序。
在另一個(gè)非限定性的例子中,圖4中的數(shù)據(jù)資源還可以是大數(shù)據(jù)領(lǐng)域記錄對(duì)應(yīng)某些主體的數(shù)據(jù),其中數(shù)據(jù)資源塊可以是對(duì)應(yīng)不同的主體。圖4中的數(shù)據(jù)資源還可以是對(duì)應(yīng)某一主體的數(shù)據(jù),其中的數(shù)據(jù)資源塊可以對(duì)應(yīng)該主體不同時(shí)間段內(nèi)的數(shù)據(jù),也可以是按照其他方式進(jìn)行劃分的數(shù)據(jù)資源塊。程序A、程序B和程序C可以是數(shù)據(jù)篩選程序。
圖4中的每個(gè)數(shù)據(jù)資源塊可以包含數(shù)據(jù)資源子塊,數(shù)據(jù)請(qǐng)求中的資源請(qǐng)求也可以是指向數(shù)據(jù)資源子塊的。圖4僅示出了對(duì)一個(gè)數(shù)據(jù)資源的處理過(guò)程,在具體實(shí)施中,服務(wù)器可以并行對(duì)多個(gè)數(shù)據(jù)資源進(jìn)行處理。
可以理解的是,上述數(shù)據(jù)資源塊41、數(shù)據(jù)資源塊42、數(shù)據(jù)資源塊43、程序A、程序B、程序C、第一數(shù)據(jù)請(qǐng)求、第二數(shù)據(jù)請(qǐng)求以及第三數(shù)據(jù)請(qǐng)求等名稱僅為描述方便,并非限制性的描述。
本發(fā)明實(shí)施例利用了局部化計(jì)算和函數(shù)式計(jì)算的概念,其中局部化計(jì)算是指:對(duì)于一段代碼,該程序影響僅會(huì)作用于該段代碼所包含的程序范圍。函數(shù)式計(jì)算是指:給定程序輸入和指定程序代碼,程序輸出能夠唯一確定。預(yù)處理程序可以僅支持局部化計(jì)算和函數(shù)式計(jì)算,也就是說(shuō),對(duì)于預(yù)處理程序的輸入,其值可以僅能作用于該預(yù)處理程序中的變量和計(jì)算過(guò)程,且對(duì)于唯一的程序輸入,對(duì)應(yīng)唯一的程序輸出。
在本發(fā)明實(shí)施例中,通過(guò)在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的數(shù)據(jù)請(qǐng)求,這些數(shù)據(jù)請(qǐng)求中包含資源請(qǐng)求,確定多個(gè)資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊,在重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊,讀取目標(biāo)數(shù)據(jù)資源塊,并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊,分別向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。此方案中,每次讀取目標(biāo)數(shù)據(jù)資源塊,均可以基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊向多個(gè)客戶端返回?cái)?shù)據(jù),而不是針對(duì)每個(gè)數(shù)據(jù)請(qǐng)求單獨(dú)的讀取數(shù)據(jù)資源塊并基于讀取到的所述目標(biāo)數(shù)據(jù)資源塊返回?cái)?shù)據(jù),從而可以減少對(duì)數(shù)據(jù)資源塊的讀取次數(shù),進(jìn)而可以提升數(shù)據(jù)處理的效率。
本發(fā)明實(shí)施例還提供一種數(shù)據(jù)處理裝置,其結(jié)構(gòu)示意圖參見(jiàn)圖5。
數(shù)據(jù)處理裝置可以包括:
數(shù)據(jù)請(qǐng)求接收單元51,適于在預(yù)設(shè)的時(shí)間內(nèi)接收來(lái)自多個(gè)客戶端的多個(gè)數(shù)據(jù)請(qǐng)求,所述數(shù)據(jù)請(qǐng)求中包括資源請(qǐng)求以及預(yù)處理請(qǐng)求,所述資源請(qǐng)求指向服務(wù)器存儲(chǔ)的數(shù)據(jù)資源塊,所述服務(wù)器存儲(chǔ)有多個(gè)所述數(shù)據(jù)資源塊;
重疊數(shù)據(jù)資源塊確定單元52,適于分析多個(gè)所述資源請(qǐng)求的指向,以確定多個(gè)所述資源請(qǐng)求指向的數(shù)據(jù)資源塊中重疊的數(shù)據(jù)資源塊;
目標(biāo)數(shù)據(jù)資源塊確定單元53,適于在所述重疊的數(shù)據(jù)資源塊中選擇目標(biāo)數(shù)據(jù)資源塊;
目標(biāo)數(shù)據(jù)生成單元54,適于讀取所述目標(biāo)數(shù)據(jù)資源塊,根據(jù)所述預(yù)處理請(qǐng)求對(duì)所述目標(biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理,以得到對(duì)應(yīng)不同客戶端的目標(biāo)數(shù)據(jù);
請(qǐng)求響應(yīng)單元55,適于向所述多個(gè)客戶端返回響應(yīng)于所述多個(gè)數(shù)據(jù)請(qǐng)求的所述目標(biāo)數(shù)據(jù)。
在具體實(shí)施中,所述預(yù)處理請(qǐng)求可以攜帶于預(yù)處理程序中,所述目標(biāo)數(shù)據(jù)生成單元54適于利用所述預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
當(dāng)所述預(yù)處理請(qǐng)求攜帶于預(yù)處理程序中時(shí),所述目標(biāo)數(shù)據(jù)生成單元54可以包括:
程序轉(zhuǎn)換子單元(圖未示),適于將所述預(yù)處理程序轉(zhuǎn)換為所述服務(wù)器適于執(zhí)行的服務(wù)器預(yù)處理程序;
預(yù)處理子單元(圖未示),適于利用所述服務(wù)器預(yù)處理程序?qū)λ瞿繕?biāo)數(shù)據(jù)資源塊進(jìn)行預(yù)處理。
在具體實(shí)施中,所述請(qǐng)求響應(yīng)單元55可以包括:
時(shí)間通知單元(圖未示),適于分別向所述多個(gè)客戶端返回?cái)?shù)據(jù)通知,所述數(shù)據(jù)通知指示向?qū)?yīng)的客戶端返回?cái)?shù)據(jù)的時(shí)機(jī);
數(shù)據(jù)發(fā)送單元(圖未示),適于分別向多個(gè)客戶端發(fā)送響應(yīng)于來(lái)自該客戶端的數(shù)據(jù);
結(jié)束通知單元(圖未示),適于在數(shù)據(jù)發(fā)送完成后,向?qū)?yīng)的客戶端發(fā)送結(jié)束通知。
在具體實(shí)施中,所述目標(biāo)數(shù)據(jù)資源塊確定單元53可以包括優(yōu)先級(jí)選取單元或重疊選取單元;
所述優(yōu)先級(jí)選取單元(圖未示),適于在所述重疊的數(shù)據(jù)資源塊中選擇重疊次數(shù)最多的數(shù)據(jù)資源塊作為所述目標(biāo)數(shù)據(jù)資源塊;
所述重疊選取單元(圖未示),適于參照多個(gè)所述資源請(qǐng)求的優(yōu)先級(jí)選取所述目標(biāo)數(shù)據(jù)資源塊。
本發(fā)明實(shí)施例中的數(shù)據(jù)處理裝置的具體實(shí)現(xiàn)和有益效果可以參見(jiàn)數(shù)據(jù)處理方法,此不贅述。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:ROM、RAM、磁盤(pán)或光盤(pán)等。
雖然本發(fā)明披露如上,但本發(fā)明并非限定于此。任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),均可作各種更動(dòng)與修改,因此本發(fā)明的保護(hù)范圍應(yīng)當(dāng)以權(quán)利要求所限定的范圍為準(zhǔn)。