本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體而言,涉及一種數(shù)據(jù)傳輸方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,有些不法分子可能借助于網(wǎng)絡(luò)平臺(tái),發(fā)布一些危害社會(huì)的信息內(nèi)容,比如涉黃、涉賭、涉暴以及涉恐內(nèi)容等,這將給社會(huì)帶來(lái)不利的影響,因而,可能需要對(duì)網(wǎng)絡(luò)內(nèi)容進(jìn)行監(jiān)控,當(dāng)發(fā)現(xiàn)這些不利信息時(shí),可以對(duì)其進(jìn)行屏蔽,以盡量減少該不利信息的傳播。
在相關(guān)技術(shù)中,網(wǎng)絡(luò)內(nèi)容監(jiān)控系統(tǒng),一般包括兩個(gè)系統(tǒng)(可以表現(xiàn)為兩個(gè)設(shè)備),比如,系統(tǒng)A和系統(tǒng)B,系統(tǒng)B需要同步系統(tǒng)A中的數(shù)據(jù),在相關(guān)技術(shù)中,每次同步需要同步所有的數(shù)據(jù)信息,這樣可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)讀超時(shí),或者而當(dāng)系統(tǒng)A與系統(tǒng)B處于不同網(wǎng)絡(luò)環(huán)境時(shí)、系統(tǒng)A提供的全量數(shù)據(jù)過(guò)大、系統(tǒng)B內(nèi)存使用過(guò)多時(shí),會(huì)造成系統(tǒng)B從系統(tǒng)A全量更新數(shù)據(jù)頻繁失敗。
針對(duì)上述的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)傳輸方法及裝置,以至少解決系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種數(shù)據(jù)傳輸方法,包括:第一設(shè)備定時(shí)接收來(lái)自第二設(shè)備的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與本次接收的請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;第一設(shè)備判斷時(shí)間戳的取值是否小于預(yù)設(shè)閾值;在時(shí)間戳的取值小于預(yù)設(shè)閾值時(shí),第一設(shè)備按照時(shí)間戳與第一設(shè)備在本地緩存的分片數(shù)據(jù)的對(duì)應(yīng)關(guān)系,將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備,其中,分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)傳輸方法,包括:第二設(shè)備向第一設(shè)備發(fā)送請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;在時(shí)間戳的取值小于預(yù)設(shè)閾值的情況下,第二設(shè)備接收第一設(shè)備發(fā)送的分片數(shù)據(jù);其中, 分片數(shù)據(jù)是與時(shí)間戳對(duì)應(yīng)的在第一設(shè)備本地緩存的分片數(shù)據(jù),上述分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)傳輸裝置,應(yīng)用于第一設(shè)備,包括:接收模塊,用于定時(shí)接收來(lái)自第二設(shè)備的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與本次接收的請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;第一判斷模塊,用于判斷時(shí)間戳的取值是否小于預(yù)設(shè)閾值;第一同步模塊,用于在時(shí)間戳的取值小于預(yù)設(shè)閾值時(shí),按照時(shí)間戳與第一設(shè)備在本地緩存的分片數(shù)據(jù)的對(duì)應(yīng)關(guān)系,將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備,其中,分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種數(shù)據(jù)傳輸裝置,應(yīng)用于第二設(shè)備,包括:發(fā)送模塊,用于向第一設(shè)備發(fā)送請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;第一接收模塊,用于在時(shí)間戳的取值小于預(yù)設(shè)閾值的情況下,接收第一設(shè)備發(fā)送的分片數(shù)據(jù);其中,分片數(shù)據(jù)是與時(shí)間戳對(duì)應(yīng)的在第一設(shè)備本地緩存的分片數(shù)據(jù),上述分片數(shù)據(jù)為第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
在本發(fā)明實(shí)施例中,采用第一設(shè)備將時(shí)間戳對(duì)應(yīng)的第一設(shè)備在本地緩存的分片數(shù)據(jù)同步到第二設(shè)備,其中,所述分片數(shù)據(jù)為對(duì)所述第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到的方式,即通過(guò)將全量數(shù)據(jù)進(jìn)行緩存分片的方式,然后根據(jù)接收的請(qǐng)求消息中的時(shí)間戳,將該時(shí)間戳對(duì)應(yīng)的緩存中的分片數(shù)據(jù)依次同步到第二設(shè)備的方式,降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是本發(fā)明實(shí)施例的一種數(shù)據(jù)傳輸方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖;
圖2是根據(jù)本發(fā)明實(shí)施例1的數(shù)據(jù)傳輸方法的流程圖一;
圖3是根據(jù)本發(fā)明實(shí)施例1的數(shù)據(jù)傳輸方法的流程圖二;
圖4是根據(jù)本發(fā)明可選實(shí)施例的第一設(shè)備分片緩存全量數(shù)據(jù)的流程示意圖;
圖5是根據(jù)本發(fā)明可選實(shí)施例的數(shù)據(jù)傳輸方法的流程示意圖;
圖6是根據(jù)本發(fā)明實(shí)施例2的數(shù)據(jù)傳輸方法的流程圖一;
圖7是根據(jù)本發(fā)明實(shí)施例2的數(shù)據(jù)傳輸方法的流程圖二;
圖8是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖一;
圖9是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖二;
圖10是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖三;
圖11是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖四;
圖12是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖一;
圖13是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖二;
圖14是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖三;
圖15是根據(jù)本發(fā)明實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
在相關(guān)技術(shù)中,在網(wǎng)絡(luò)內(nèi)容監(jiān)控和屏蔽領(lǐng)域中,設(shè)備之間數(shù)據(jù)傳輸?shù)闹饕襟E如下:
1.當(dāng)?shù)诙O(shè)備啟動(dòng)時(shí),第一次從第一設(shè)備讀取統(tǒng)一資源定位符ur l/域名阻斷記錄;
2.該次讀取統(tǒng)一資源定位符ur l/域名阻斷記錄是全量更新的方式,第二設(shè)備發(fā)送的請(qǐng)求會(huì)帶時(shí)間戳參數(shù),值為0;
3.第一設(shè)備收到時(shí)間戳參數(shù)值為0的請(qǐng)求后,會(huì)將當(dāng)前數(shù)據(jù)庫(kù)中所有ur l/域名阻斷記錄讀出,并加上當(dāng)前時(shí)間值(精確到分鐘),一并返回給第二設(shè)備;
4.第二設(shè)備收到全量ur l/域名阻斷記錄后,清空系統(tǒng)內(nèi)的所有阻斷記錄,改為使用收到的全量ur l/域名阻斷記錄;
5.1分鐘后,第二設(shè)備判斷當(dāng)前時(shí)間是否整點(diǎn)或半點(diǎn)。如果是,則執(zhí)行2;如果不是,則發(fā)送請(qǐng)求給第一設(shè)備,帶時(shí)間戳參數(shù)是3中第一設(shè)備返回的時(shí)間值;
6.第一設(shè)備收到時(shí)間戳參數(shù)值不為0的請(qǐng)求后,會(huì)將數(shù)據(jù)庫(kù)中從時(shí)間戳指定時(shí)間到當(dāng)前時(shí)間的變化數(shù)據(jù)讀出,并加上當(dāng)前時(shí)間值(精確到分鐘),一并返回給第二設(shè)備;
7.第二設(shè)備收到增量ur l/域名阻斷記錄后,對(duì)系統(tǒng)內(nèi)的所有阻斷記錄做更新;然后執(zhí)行5。
當(dāng)上述第一設(shè)備的ur l/域名阻斷數(shù)據(jù)到達(dá)千萬(wàn)級(jí)別時(shí),會(huì)出現(xiàn)如下問(wèn)題:第一設(shè)備實(shí)時(shí)從數(shù)據(jù)庫(kù)全量讀取ur l/域名阻斷數(shù)據(jù)時(shí),會(huì)造成讀數(shù)據(jù)庫(kù)超時(shí);當(dāng)?shù)谝辉O(shè)備與第二設(shè)備處于不同網(wǎng)絡(luò)環(huán)境,網(wǎng)絡(luò)鏈路不穩(wěn)定;千萬(wàn)級(jí)別的全量ur l/域名阻斷記錄會(huì)延長(zhǎng)數(shù)據(jù)傳輸時(shí)間,經(jīng)常造成全量數(shù)據(jù)傳輸失?。坏诙O(shè)備服務(wù)器內(nèi)存有限,當(dāng)自身內(nèi)存使用較多時(shí),全量ur l/域名阻斷記錄的換入換出,經(jīng)常造成內(nèi)存報(bào)警。
為了方便理解本發(fā)明,以下對(duì)本發(fā)明實(shí)施例中所涉及的術(shù)語(yǔ)進(jìn)行簡(jiǎn)單解釋:
增量同步方式:系統(tǒng)A維護(hù)一批實(shí)時(shí)變化的數(shù)據(jù),系統(tǒng)B需要使用系統(tǒng)A維護(hù)的這批數(shù)據(jù);當(dāng)系統(tǒng)B訪問(wèn)系統(tǒng)A讀取數(shù)據(jù)時(shí),系統(tǒng)A只將系統(tǒng)B上次訪問(wèn)與這次訪問(wèn)之間的數(shù)據(jù)變化量發(fā)送給系統(tǒng)B,這種數(shù)據(jù)同步方式叫做增量同步方式。
全量同步方式:系統(tǒng)A維護(hù)一批實(shí)時(shí)變化的數(shù)據(jù),系統(tǒng)B需要使用系統(tǒng)A維護(hù)的這批數(shù)據(jù);當(dāng)系統(tǒng)B訪問(wèn)系統(tǒng)A讀取數(shù)據(jù)時(shí),系統(tǒng)A將當(dāng)前所有數(shù)據(jù)發(fā)送給系統(tǒng)B,這種數(shù)據(jù)同步方式叫做全量同步方式。
本發(fā)明實(shí)施例對(duì)第一設(shè)備與第二設(shè)備的阻斷記錄的全量更新過(guò)程做了優(yōu)化,使用增量同步方式來(lái)模擬全量同步方式,以避免出現(xiàn)以上問(wèn)題。以下結(jié)合具體實(shí)施例詳細(xì)說(shuō)明。
實(shí)施例1
根據(jù)本發(fā)明實(shí)施例,還提供了一種數(shù)據(jù)傳輸?shù)姆椒▽?shí)施例,需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行 所示出或描述的步驟。
本申請(qǐng)實(shí)施例1所提供的方法實(shí)施例可以在移動(dòng)終端、計(jì)算機(jī)終端或者類似的運(yùn)算裝置中執(zhí)行。以運(yùn)行在計(jì)算機(jī)終端上為例,圖1是本發(fā)明實(shí)施例的一種數(shù)據(jù)傳輸方法的計(jì)算機(jī)終端的硬件結(jié)構(gòu)框圖。如圖1所示,計(jì)算機(jī)終端10可以包括一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器102(處理器102可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置)、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器104、以及用于通信功能的傳輸模塊106。本領(lǐng)域普通技術(shù)人員可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端10還可包括比圖1中所示更多或者更少的組件,或者具有與圖1所示不同的配置。
存儲(chǔ)器104可用于存儲(chǔ)應(yīng)用軟件的軟件程序以及模塊,如本發(fā)明實(shí)施例中的數(shù)據(jù)傳輸方法對(duì)應(yīng)的程序指令/模塊,處理器102通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器104內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的應(yīng)用程序的數(shù)據(jù)傳輸方法。存儲(chǔ)器104可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器104可進(jìn)一步包括相對(duì)于處理器102遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過(guò)網(wǎng)絡(luò)連接至計(jì)算機(jī)終端10。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
傳輸模塊106用于經(jīng)由一個(gè)網(wǎng)絡(luò)接收或者發(fā)送數(shù)據(jù)。上述的網(wǎng)絡(luò)具體實(shí)例可包括計(jì)算機(jī)終端10的通信供應(yīng)商提供的無(wú)線網(wǎng)絡(luò)。在一個(gè)實(shí)例中,傳輸模塊106包括一個(gè)網(wǎng)絡(luò)適配器(Network Interface Controller,NIC),其可通過(guò)基站與其他網(wǎng)絡(luò)設(shè)備相連從而可與互聯(lián)網(wǎng)進(jìn)行通訊。在一個(gè)實(shí)例中,傳輸模塊106可以為射頻(Radio Frequency,RF)模塊,其用于通過(guò)無(wú)線方式與互聯(lián)網(wǎng)進(jìn)行通訊。
在上述運(yùn)行環(huán)境下,本申請(qǐng)?zhí)峁┝巳鐖D2所示的數(shù)據(jù)傳輸方法。圖2是根據(jù)本發(fā)明實(shí)施例1的數(shù)據(jù)傳輸方法的流程圖一,如圖2所示,該方法包括:
步驟S202,第一設(shè)備定時(shí)接收來(lái)自第二設(shè)備的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與本次接收的請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;
可選地,第一設(shè)備可以為上述運(yùn)行環(huán)境中的計(jì)算機(jī)終端10,通過(guò)上述計(jì)算機(jī)終端10來(lái)完成第一設(shè)備的功能進(jìn)而實(shí)現(xiàn)本實(shí)施例中的數(shù)據(jù)傳輸方法。
需要說(shuō)明的是,定時(shí)接收來(lái)自第二設(shè)備的請(qǐng)求消息中的定時(shí)可以是按照實(shí)際情況進(jìn)行設(shè)定,兩次接收的請(qǐng)求消息的時(shí)間間隔可以是固定的,比如設(shè)定每隔一分鐘接收一次請(qǐng)求消息,也可以是不固定的,比如一分鐘后接收第二次請(qǐng)求消息,再過(guò)三分鐘 后接收第三次請(qǐng)求消息,具體的可以根據(jù)實(shí)際情況進(jìn)行設(shè)定。
步驟S204,第一設(shè)備判斷時(shí)間戳的取值是否小于預(yù)設(shè)閾值;
需要說(shuō)明的是,上述第一設(shè)備和第二設(shè)備可以表現(xiàn)為兩個(gè)物理實(shí)體,也可以表現(xiàn)為兩個(gè)應(yīng)用,但不限于此。上述時(shí)間戳的取值可以是單純的序號(hào)比如阿拉伯?dāng)?shù)字,也可以是時(shí)間值,但不限于此。
上述時(shí)間戳的取值可以是指定值,用于指示讀取第一設(shè)備中的全量數(shù)據(jù);在一個(gè)可選的實(shí)施例中,上述指定值可以是0,即在請(qǐng)求消息中攜帶的時(shí)間戳的取值為0時(shí),指示第二設(shè)備應(yīng)當(dāng)讀第一設(shè)備的全量數(shù)據(jù)。
在一個(gè)可選實(shí)施例中,在步驟S204之前,需要判斷上述時(shí)間戳的取值是否為上述指定值,以及在判斷結(jié)果為是時(shí),觸發(fā)將與該時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至所述第二設(shè)備。在時(shí)間戳的取值為上述指定值的情況下,可以觸發(fā)第一設(shè)備開(kāi)始將全量數(shù)據(jù)中的第一個(gè)分片數(shù)據(jù)同步到第二設(shè)備。
步驟S206,在時(shí)間戳的取值小于預(yù)設(shè)閾值時(shí),第一設(shè)備按照時(shí)間戳與第一設(shè)備在本地緩存的分片數(shù)據(jù)的對(duì)應(yīng)關(guān)系,將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備,其中,分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
需要說(shuō)明的是,上述預(yù)設(shè)閾值可以是對(duì)上述全量數(shù)據(jù)進(jìn)行分片后得到的分片數(shù)量,當(dāng)然也可以是其他的值,一般該預(yù)設(shè)閾值可設(shè)置為小于10;上述全量數(shù)據(jù)可以是針對(duì)統(tǒng)一資源定位符ur l的阻斷記錄,也可以是針對(duì)域名的阻斷記錄,也可以是兩者的組合,并不限于此。
上述分片數(shù)據(jù)可以通過(guò)以下方式在第一設(shè)備中得到:將第一設(shè)備的數(shù)據(jù)庫(kù)中與第一索引n對(duì)應(yīng)的分片數(shù)據(jù),寫(xiě)入本地緩存,并將n-1作為分片數(shù)據(jù)在第一設(shè)備的本地緩存中的索引,其中,n小于或者等于對(duì)全量數(shù)據(jù)進(jìn)行分片后得到的所有分片數(shù)據(jù)的總數(shù)量N,n、N均為正整數(shù)。在一個(gè)可選實(shí)施例中,將第一設(shè)備的數(shù)據(jù)庫(kù)中與第一索引n對(duì)應(yīng)的分片數(shù)據(jù),寫(xiě)入本地緩存,并將n-1作為分片數(shù)據(jù)在第一設(shè)備的本地緩存中的索引具體為:第一設(shè)備判斷n是否小于N;在n小于N的情況下,第一設(shè)備從數(shù)據(jù)庫(kù)中讀取n對(duì)應(yīng)的分片數(shù)據(jù),并在n對(duì)應(yīng)的分片數(shù)據(jù)上附上值為n的時(shí)間戳;在n等于N的情況下,第一設(shè)備從數(shù)據(jù)庫(kù)中讀取與n對(duì)應(yīng)的分片數(shù)據(jù),并在與n對(duì)應(yīng)的分片數(shù)據(jù)上附上值為指定時(shí)刻的時(shí)間戳;其中,該指定時(shí)刻為第二設(shè)備上一次訪問(wèn)第一設(shè)備的時(shí)刻;第一設(shè)備將與n對(duì)應(yīng)的分片數(shù)據(jù)寫(xiě)入本地緩存,并將n-1作為分片數(shù)據(jù)在本地緩存中的索引。
需要說(shuō)明的是,進(jìn)行緩存的方式可以是按照發(fā)送格式進(jìn)行分片緩存,因而在第二 設(shè)備需要讀取時(shí),第一設(shè)備不需要再對(duì)分片數(shù)據(jù)進(jìn)行格式的轉(zhuǎn)變,而是直接返回給第二設(shè)備,降低了同步的時(shí)間,提高了同步的效率。
通過(guò)將第一設(shè)備中的全量數(shù)據(jù)進(jìn)行分片后緩存在第一設(shè)備的本地緩存中,在緩存中緩存的每份分片數(shù)據(jù)都有對(duì)應(yīng)的一個(gè)索引,該索引與第二設(shè)備發(fā)送的請(qǐng)求消息中的時(shí)間戳具有一定的對(duì)應(yīng)關(guān)系,通過(guò)該時(shí)間戳與緩存中的分片數(shù)據(jù)的對(duì)應(yīng)關(guān)系,將全量數(shù)據(jù)分片的分片數(shù)據(jù)同步到第二設(shè)備中,在本發(fā)明一個(gè)可選實(shí)施例中,步驟S206中的將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備可以表現(xiàn)為:第一設(shè)備以時(shí)間戳的取值作為索引,將第一設(shè)備的本地緩存中與索引對(duì)應(yīng)的指定分片數(shù)據(jù)同步至第二設(shè)備。
通過(guò)上述步驟,通過(guò)將全量數(shù)據(jù)進(jìn)行緩存分片的方式,然后根據(jù)接收的請(qǐng)求消息中的時(shí)間戳,按照時(shí)間戳與緩存中的分片數(shù)據(jù)的關(guān)系,將該時(shí)間戳對(duì)應(yīng)的緩存中的分片數(shù)據(jù)依次同步到第二設(shè)備的方式,降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
舉個(gè)例子:第一設(shè)備的數(shù)據(jù)庫(kù)中通常記錄了千萬(wàn)級(jí)別的數(shù)據(jù)記錄,此處為了方便理解,以較少數(shù)據(jù)記錄(80條記錄)為例,在第一設(shè)備接收到攜帶時(shí)間戳為0的請(qǐng)求消息后,按照相關(guān)技術(shù)中的方式,則第一設(shè)備將該80條記錄一次性全部同步給第二設(shè)備。而在本實(shí)施例中,第一設(shè)備對(duì)該80條記錄進(jìn)行分片,分片可以進(jìn)行均等分配也可以進(jìn)行不均等分配,以均等分配為例,分為4片,每個(gè)分片有20條記錄,將每個(gè)分片所包含的數(shù)據(jù)寫(xiě)入緩存,并設(shè)置緩存中的4個(gè)分片數(shù)據(jù)對(duì)應(yīng)的索引0、1、2、3;當(dāng)?shù)诙O(shè)備請(qǐng)求讀取第一設(shè)備的全量數(shù)據(jù)時(shí),第一次請(qǐng)求中攜帶的時(shí)間戳為0,則第一設(shè)備將緩存中以0為索引的分片數(shù)據(jù)同步至第二設(shè)備;一段時(shí)間后(比如1分鐘),第一設(shè)備接收第二次請(qǐng)求,該第二次請(qǐng)求中攜帶時(shí)間戳為1,則第一設(shè)備將緩存中以1為索引的分片數(shù)據(jù)同步至第二設(shè)備;以此類推,直至將緩存中的分片數(shù)據(jù)讀取完畢。即本實(shí)施例通過(guò)將全量數(shù)據(jù)進(jìn)行分片,將分片后的數(shù)據(jù)依次同步至第二設(shè)備,即將全量數(shù)據(jù)分批同步至第二設(shè)備,相對(duì)于相關(guān)技術(shù)中的方案能夠降低數(shù)據(jù)的讀取壓力,縮短數(shù)據(jù)的傳送時(shí)間,提高了數(shù)據(jù)的傳輸效率。
在一個(gè)可選實(shí)施例中,圖3是根據(jù)本發(fā)明實(shí)施例1的數(shù)據(jù)傳輸方法的流程圖二,如圖3所示,上述方法還包括:
步驟S302,在時(shí)間戳的取值等于或者大于預(yù)設(shè)閾值時(shí),第一設(shè)備將從時(shí)間戳指示的時(shí)間至當(dāng)前時(shí)間產(chǎn)生的增量數(shù)據(jù)同步至第二設(shè)備。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,存在兩類時(shí)間戳,第一類時(shí)間戳可以是上述圖2所示實(shí)施例中的時(shí)間戳,該時(shí)間戳可以起到讀取全量數(shù)據(jù)中的分片數(shù)據(jù)的索引標(biāo) 識(shí)的作用,其可以是用個(gè)位數(shù)字比如0、1、2等表示;第二類時(shí)間戳可以是真實(shí)的時(shí)間戳,其表示一個(gè)真實(shí)的時(shí)間,即第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)間,其可以通過(guò)一個(gè)9位的數(shù)字表示,即第二類時(shí)間戳既可以起到標(biāo)識(shí)的作用,也可以表示一個(gè)真實(shí)的時(shí)間。由于上述預(yù)設(shè)閾值一般為分片數(shù)據(jù),其不可能是個(gè)很大的數(shù)字,因而可以用9位數(shù)字表示真實(shí)時(shí)間戳的第二類時(shí)間戳的取值一般是大于上述預(yù)設(shè)閾值的(即步驟S302中的等于或者大于預(yù)設(shè)閾值的時(shí)間戳),因而可以將該第二類時(shí)間戳作為一次全量數(shù)據(jù)讀取結(jié)束的標(biāo)識(shí),或者是一個(gè)正常的增量數(shù)據(jù)讀取的觸發(fā)標(biāo)識(shí)。
需要說(shuō)明的是,步驟S302中,時(shí)間戳的取值大于或者等于預(yù)設(shè)閾值,表示第二設(shè)備發(fā)送的請(qǐng)求是一次正常的增量數(shù)據(jù)讀取請(qǐng)求,此時(shí),需要將第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)刻(即上述的時(shí)間戳指示的時(shí)間)至當(dāng)前時(shí)間之間的增量數(shù)據(jù)傳輸至第二設(shè)備,在后續(xù)的時(shí)間里第一設(shè)備一直以正常的增量同步方式將增量數(shù)據(jù)同步至第二設(shè)備,直到時(shí)間點(diǎn)為整點(diǎn)或者半點(diǎn)為止,即直到收到第一設(shè)備以全量同步方式將數(shù)據(jù)同步至第二設(shè)備的指示為止,以此類推。
需要說(shuō)明的是,在本發(fā)明的實(shí)施例中,上述第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信可以使用http協(xié)議,但不限于此。上述方法可以應(yīng)用于網(wǎng)絡(luò)內(nèi)容的監(jiān)控與屏蔽領(lǐng)域,比如,第一設(shè)備對(duì)網(wǎng)絡(luò)的內(nèi)容比如涉黃、涉毒、涉暴以及涉恐內(nèi)容等進(jìn)行監(jiān)控,或者其他設(shè)備對(duì)該內(nèi)容進(jìn)行監(jiān)控,當(dāng)監(jiān)控到這些內(nèi)容后,將該內(nèi)容對(duì)應(yīng)的網(wǎng)頁(yè)的統(tǒng)一資源定位符或者該內(nèi)容出現(xiàn)的計(jì)算機(jī)所在的域名記錄下來(lái),然后將這些數(shù)據(jù)通過(guò)本發(fā)明實(shí)施例的方法同步到第二設(shè)備,第二設(shè)備可以再傳輸給其他設(shè)備或者第二設(shè)備本身根據(jù)獲得到統(tǒng)一資源定位符或者域名對(duì)這些內(nèi)容進(jìn)行屏蔽。
為了更好的理解本發(fā)明,以下結(jié)合可選的實(shí)施例對(duì)本發(fā)明做進(jìn)行一步的解釋。
在一個(gè)可選實(shí)施例中,第一設(shè)備每30分鐘對(duì)第一設(shè)備的數(shù)據(jù)庫(kù)中的全量ur l/域名進(jìn)行一次分片緩存,來(lái)解決實(shí)時(shí)從數(shù)據(jù)庫(kù)全量讀取記錄時(shí)造成的讀取超時(shí)等問(wèn)題。圖4是根據(jù)本發(fā)明可選實(shí)施例的第一設(shè)備分片緩存全量數(shù)據(jù)的流程示意圖,如圖4所示,包括以下步驟:
步驟S402,設(shè)定該次全量ur l/域名阻斷記錄的分片數(shù)量(例如4),該分片數(shù)量小于10;
步驟S404,讀取當(dāng)前時(shí)間,精確到分鐘,記錄在timestamp中;
步驟S406,根據(jù)timestamp的值,讀取當(dāng)前時(shí)間數(shù)據(jù)庫(kù)中全量記錄數(shù)量(例如81);
步驟S408,根據(jù)分片數(shù)量,計(jì)算全量記錄的每個(gè)分片中包含的記錄數(shù)(例如20、20、20、21);
步驟S410,設(shè)置分片計(jì)數(shù)index(即上述實(shí)施例中的第一索引n),值為1;
步驟S412,判斷當(dāng)前index值是否小于分片數(shù)量(相當(dāng)于上述實(shí)施例中的分片數(shù)據(jù)的總數(shù)量N);是(例如1),則執(zhí)行步驟S414;不是(例如4),則執(zhí)行步驟S422;
步驟S414,從數(shù)據(jù)庫(kù)中讀取與index對(duì)應(yīng)的指定分片包含的數(shù)據(jù);
步驟S416,附上時(shí)間戳,值為index;
步驟S418,將分片數(shù)據(jù)與時(shí)間戳寫(xiě)入緩存,key值為index–1(相當(dāng)于上述實(shí)施例中的n-1);
步驟S420,分片計(jì)數(shù)index增加1;返回步驟S412執(zhí)行;
步驟S422,從數(shù)據(jù)庫(kù)中讀取與index對(duì)應(yīng)的指定分片包含的數(shù)據(jù);
步驟S424,附上時(shí)間戳,值為timestamp(相當(dāng)于上述實(shí)施例中的指定時(shí)刻);
步驟S426,將分片數(shù)據(jù)與時(shí)間戳寫(xiě)入緩存,key值為index-1。
第二設(shè)備從第一設(shè)備讀取全量阻斷記錄時(shí),第一設(shè)備將已有全量阻斷記錄緩存分批返回給第二設(shè)備,以解決大數(shù)據(jù)量一次性傳送時(shí)可能導(dǎo)致的網(wǎng)絡(luò)問(wèn)題與第二設(shè)備內(nèi)存使用等問(wèn)題。圖5是根據(jù)本發(fā)明可選實(shí)施例的數(shù)據(jù)傳輸方法的流程示意圖,如圖5所示,以4片緩存為例,該方法包括以下步驟:
步驟S501,第二設(shè)備向第一設(shè)備發(fā)起請(qǐng)求,讀全量阻斷記錄,時(shí)間戳為0;
步驟S502,第一設(shè)備判斷時(shí)間戳為0,是全量更新阻斷記錄,以0為key在全量阻斷記錄的緩存中讀取第一片緩存中的分片數(shù)據(jù),并附帶時(shí)間戳為1,返回給第二設(shè)備;
步驟S503,第二設(shè)備清空系統(tǒng)內(nèi)阻斷記錄,并使用收到的全量阻斷記錄的第一片緩存中的分片數(shù)據(jù);
步驟S504,1分鐘后,第二設(shè)備向第一設(shè)備發(fā)起請(qǐng)求,讀取增量阻斷記錄,時(shí)間戳為步驟S502中第一設(shè)備返回的1;
步驟S505,第一設(shè)備判斷時(shí)間戳小于10,是未完的全量更新阻斷記錄,以1為key在全量阻斷記錄的緩存中讀取第二片緩存中的分片數(shù)據(jù),附帶時(shí)間戳2,返回給第二設(shè)備;
步驟S506,第二設(shè)備將收到的第二片緩存中的分片數(shù)據(jù),增加到已有阻斷記錄中;
步驟S507,1分鐘后,第二設(shè)備向第一設(shè)備發(fā)起請(qǐng)求,讀取增量阻斷記錄,時(shí)間 戳為步驟S505中第一設(shè)備返回的2;
步驟S508,第一設(shè)備判斷時(shí)間戳小于10,是未完的全量更新阻斷記錄,以2為key在全量阻斷記錄的緩存中讀取第三片緩存中的分片數(shù)據(jù),附帶時(shí)間戳3,返回給第二設(shè)備;
步驟S509,第二設(shè)備將收到的第三片緩存中的分片數(shù)據(jù),增加到已有阻斷記錄中;
步驟S510,1分鐘后,第二設(shè)備向第一設(shè)備發(fā)起請(qǐng)求,讀取增量阻斷記錄,時(shí)間戳為步驟S508中第一設(shè)備返回的3;
步驟S511,第一設(shè)備判斷時(shí)間戳小于10,是未完的全量更新阻斷記錄,以3為key在全量阻斷記錄的緩存中讀取第四片緩存中的分片數(shù)據(jù),附帶時(shí)間戳為全量阻斷記錄緩存的生成時(shí)間timestamp,返回給第二設(shè)備;
步驟S512,第二設(shè)備將收到的第四片緩存中的分片數(shù)據(jù),增加到已有阻斷記錄中;
步驟S513,1分鐘后,第二設(shè)備向Mrm發(fā)起請(qǐng)求,讀取增量阻斷記錄,時(shí)間戳為步驟S511中第一設(shè)備返回的timestamp;
步驟S514,第一設(shè)備Mrm判斷時(shí)間戳大于10,是一次正常的增量阻斷記錄請(qǐng)求,讀數(shù)據(jù)庫(kù)中timestamp到當(dāng)前時(shí)間的阻斷記錄變化量,附帶當(dāng)前時(shí)間,返回給第二設(shè)備;
后續(xù)每分鐘,第二設(shè)備都做增量阻斷記錄請(qǐng)求;如果是整點(diǎn)或半點(diǎn),則第二設(shè)備不做增量阻斷記錄請(qǐng)求,而返回執(zhí)行步驟S501。
需要說(shuō)明的是,在本發(fā)明圖5所示的可選實(shí)施例中的1分鐘相當(dāng)于上述實(shí)施例圖2所示實(shí)施例的定時(shí),上述時(shí)間戳為0相當(dāng)于圖2所示實(shí)施例中的時(shí)間戳的取值為指定值,來(lái)指示讀全量阻斷記錄,上述實(shí)施例中的時(shí)間戳為0、1、2、3相當(dāng)于圖2所示實(shí)施例中的時(shí)間戳的取值;上述key相當(dāng)于圖2所示實(shí)施例中的索引,上述timestamp相當(dāng)于圖3所示實(shí)施例中的取值等于或者大于預(yù)設(shè)閾值的時(shí)間戳。
在上述實(shí)施例中,同步分為兩種,增量同步方式和全量同步方式,全量同步方式同步數(shù)據(jù)是這樣實(shí)現(xiàn)的:通過(guò)預(yù)先將全量數(shù)據(jù)提前進(jìn)行分片緩存,在第二設(shè)備進(jìn)行讀取的時(shí)候,直接使用分片緩存中的分片數(shù)據(jù),即根據(jù)全量數(shù)據(jù)分片的數(shù)量N,通過(guò)N次模擬增量同步方式實(shí)現(xiàn)全量數(shù)據(jù)同步的,降低了數(shù)據(jù)讀取壓力,在第一設(shè)備第一次同步給第二設(shè)備時(shí),也不會(huì)因?yàn)閿?shù)據(jù)量過(guò)大而同步失敗。
需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系 列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。
通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實(shí)施例的數(shù)據(jù)傳輸方法可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)(如ROM/RAM、磁碟、光盤(pán))中,包括若干指令用以使得一臺(tái)終端設(shè)備(可以是手機(jī),計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
實(shí)施例2
根據(jù)本發(fā)明實(shí)施例,還提供了一種數(shù)據(jù)傳輸方法,圖6是根據(jù)本發(fā)明實(shí)施例2的數(shù)據(jù)傳輸方法的流程圖一,如圖6所示,該方法包括:
步驟S602,第二設(shè)備向第一設(shè)備發(fā)送請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;
需要說(shuō)明的是,上述第二設(shè)備可以是與上述實(shí)施例1中的計(jì)算機(jī)終端10的結(jié)構(gòu)相同的一個(gè)計(jì)算機(jī)終端,在該計(jì)算機(jī)終端的環(huán)境中完成本實(shí)施例中的數(shù)據(jù)傳輸方法,但不限于此。上述發(fā)送請(qǐng)求消息可以是定時(shí)發(fā)送請(qǐng)求消息,可以是不定時(shí)發(fā)送請(qǐng)求消息,可以根據(jù)具體的情況進(jìn)行具體設(shè)定。
步驟S604,在時(shí)間戳的取值小于預(yù)設(shè)閾值的情況下,第二設(shè)備接收第一設(shè)備發(fā)送的分片數(shù)據(jù);其中,分片數(shù)據(jù)是與時(shí)間戳對(duì)應(yīng)的在所述第一設(shè)備本地緩存的分片數(shù)據(jù),上述分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
上述時(shí)間戳的取值可以是指定值,用于指示第二設(shè)備讀取第一設(shè)備中的全量數(shù)據(jù);在一個(gè)可選的實(shí)施例中,上述指定值可以是0,即在請(qǐng)求消息中攜帶的時(shí)間戳為0時(shí),指示第二設(shè)備應(yīng)當(dāng)讀第一設(shè)備的全量數(shù)據(jù)。在一個(gè)可選的實(shí)施例中,在步驟S604之前,上述方法還包括:在時(shí)間戳為指定值的情況下,第二設(shè)備觸發(fā)第一設(shè)備發(fā)送全量數(shù)據(jù),接收第一設(shè)備發(fā)送的與指定值對(duì)應(yīng)的分片數(shù)據(jù)。
需要說(shuō)明的是,上述預(yù)設(shè)閾值可以是第一設(shè)備對(duì)上述全量數(shù)據(jù)進(jìn)行分片后得到的分片數(shù)量,當(dāng)然也可以是其他的值,一般該預(yù)設(shè)閾值可設(shè)置為小于10;上述全量數(shù)據(jù)可以是針對(duì)統(tǒng)一資源定位符ur l的阻斷記錄,也可以是針對(duì)域名的阻斷記錄,也可以 是兩者的組合,并不限于此。
具體地,第一設(shè)備是如何對(duì)全量數(shù)據(jù)進(jìn)行分片緩存的,即上述分片數(shù)據(jù)是如何在第一設(shè)備中得到的,與上述實(shí)施例1中的相同,此處不再贅述。
上述步驟S604中,第二設(shè)備接收第一設(shè)備發(fā)送的分片數(shù)據(jù)可以表現(xiàn)為:第二設(shè)備接收在第一設(shè)備的本地緩存中與索引對(duì)應(yīng)的指定分片數(shù)據(jù);其中,索引為上述時(shí)間戳;第二設(shè)備接收第一設(shè)備發(fā)送的指定時(shí)間戳;其中,指定時(shí)間戳的取值為由上述時(shí)間戳的取值加1得到。
通過(guò)上述步驟,通過(guò)第二設(shè)備發(fā)送攜帶時(shí)間戳的請(qǐng)求消息,接收第一設(shè)備根據(jù)接收的請(qǐng)求消息中的時(shí)間戳,發(fā)送的該時(shí)間戳對(duì)應(yīng)的第一設(shè)備的緩存中的分片數(shù)據(jù)的方式,即第二設(shè)備按照時(shí)間戳讀取在第一設(shè)備中預(yù)先進(jìn)行分片緩存的分片數(shù)據(jù),降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
舉個(gè)例子:第一設(shè)備的數(shù)據(jù)庫(kù)中通常記錄了千萬(wàn)級(jí)別的數(shù)據(jù)記錄,此處為了方便理解,以較少數(shù)據(jù)記錄(80條記錄)為例,第二設(shè)備發(fā)送攜帶時(shí)間戳為0的請(qǐng)求消息后,按照相關(guān)技術(shù)中的方式,則第二設(shè)備將一次性讀取該80條記錄。而在本實(shí)施例中,第一設(shè)備對(duì)該80條記錄進(jìn)行分片,分片可以進(jìn)行均等分配也可以進(jìn)行不均等分配,以均等分配為例,分為4片,每個(gè)分片有20條記錄,將每個(gè)分片所包含的數(shù)據(jù)寫(xiě)入緩存,并設(shè)置緩存中的4個(gè)分片數(shù)據(jù)對(duì)應(yīng)的索引0、1、2、3;當(dāng)?shù)诙O(shè)備請(qǐng)求讀取第一設(shè)備的全量數(shù)據(jù)時(shí),第一次請(qǐng)求中攜帶的時(shí)間戳為0,則第二設(shè)備讀取第一設(shè)備的緩存中以0為索引的分片數(shù)據(jù);一段時(shí)間后(比如1分鐘),第二設(shè)備發(fā)送第二次請(qǐng)求,該第二次請(qǐng)求中攜帶時(shí)間戳為1,則第二設(shè)備讀取第一設(shè)備的緩存中以1為索引的分片數(shù)據(jù);以此類推,直至第二設(shè)備將第一設(shè)備的緩存中的分片數(shù)據(jù)讀取完畢。即本實(shí)施例通過(guò)第一設(shè)備將全量數(shù)據(jù)進(jìn)行分片,第二設(shè)備分批讀取該第一設(shè)備的緩存中的分片數(shù)據(jù),相比于相關(guān)技術(shù)中的方案能夠降低數(shù)據(jù)的讀取壓力,縮短數(shù)據(jù)的傳送時(shí)間,提高了數(shù)據(jù)的傳輸效率。
在一個(gè)可選實(shí)施例中,圖7是根據(jù)本發(fā)明實(shí)施例2的數(shù)據(jù)傳輸方法的流程圖二,如圖7所示,上述方法還包括:
步驟S702,在時(shí)間戳的取值等于或者大于預(yù)設(shè)閾值的情況下,第二設(shè)備接收第一設(shè)備發(fā)送的從時(shí)間戳指示的時(shí)間至當(dāng)前時(shí)間產(chǎn)生的增量數(shù)據(jù)。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,存在兩類時(shí)間戳,第一類時(shí)間戳可以是上述圖6所示實(shí)施例中的時(shí)間戳,該時(shí)間戳可以起到讀取全量數(shù)據(jù)中的分片數(shù)據(jù)的索引標(biāo) 識(shí)的作用,其可以是用個(gè)位數(shù)字比如0、1、2等表示;第二類時(shí)間戳可以是真實(shí)的時(shí)間戳,其表示一個(gè)真實(shí)的時(shí)間,即第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)間,其可以通過(guò)一個(gè)9位的數(shù)字表示,即第二類時(shí)間戳既可以起到標(biāo)識(shí)的作用,也可以表示一個(gè)真實(shí)的時(shí)間。由于上述預(yù)設(shè)閾值一般為分片數(shù)據(jù),其并不是很大的數(shù)字,因而作為可以用9位數(shù)字表示真實(shí)時(shí)間戳的第二類時(shí)間戳一般是大于上述預(yù)設(shè)閾值的(即步驟S702中的等于或者大于預(yù)設(shè)閾值的時(shí)間戳),因而可以將該第二類時(shí)間戳作為一次全量數(shù)據(jù)讀取結(jié)束的標(biāo)識(shí),或者是一個(gè)正常的增量數(shù)據(jù)讀取的觸發(fā)標(biāo)識(shí)。
需要說(shuō)明的是,步驟S702中,時(shí)間戳的取值大于或者等于預(yù)設(shè)閾值,表示第二設(shè)備發(fā)送的請(qǐng)求是一次正常的增量數(shù)據(jù)讀取請(qǐng)求,此時(shí),第二設(shè)備需要將第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)刻(即上述的時(shí)間戳指示的時(shí)間)至當(dāng)前時(shí)間之間的增量數(shù)據(jù)讀取過(guò)來(lái),在后續(xù)的時(shí)間里,第二設(shè)備一直以正常的增量同步方式讀取增量數(shù)據(jù),直到時(shí)間點(diǎn)為整點(diǎn)或者半點(diǎn)為止,即直到第二設(shè)備收到以全量同步方式讀取數(shù)據(jù)的指示為止,以此類推。
需要說(shuō)明的是,在本發(fā)明的實(shí)施例中,上述第一設(shè)備與第二設(shè)備之間的數(shù)據(jù)通信可以使用http協(xié)議,但不限于此。上述方法可以應(yīng)用于網(wǎng)絡(luò)內(nèi)容的監(jiān)控與屏蔽領(lǐng)域,比如,第一設(shè)備對(duì)網(wǎng)絡(luò)的內(nèi)容比如涉黃、涉毒、涉暴、以及涉恐內(nèi)容等進(jìn)行監(jiān)控,或者其他設(shè)備對(duì)該內(nèi)容進(jìn)行監(jiān)控,當(dāng)監(jiān)控到這些內(nèi)容后,將該內(nèi)容對(duì)應(yīng)的網(wǎng)頁(yè)的統(tǒng)一資源定位符或者該內(nèi)容出現(xiàn)的計(jì)算機(jī)所在的域名記錄下來(lái),然后將這些數(shù)據(jù)通過(guò)本發(fā)明實(shí)施例的方法同步到第二設(shè)備,第二設(shè)備可以再傳輸給其他設(shè)備或者第二設(shè)備本身根據(jù)獲得到統(tǒng)一資源定位符或者域名對(duì)這些內(nèi)容進(jìn)行屏蔽。
為了更好的理解本發(fā)明,可以結(jié)合實(shí)施例1中的圖4和圖5所示的可選的實(shí)施例對(duì)本發(fā)明做進(jìn)行一步的解釋,此處不再贅述。
實(shí)施例3
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述實(shí)施例1中的數(shù)據(jù)傳輸方法的裝置,圖8是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖一,如圖8所示,該裝置,應(yīng)用于第一設(shè)備,包括:
接收模塊80,用于定時(shí)接收來(lái)自第二設(shè)備的請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與本次接收的請(qǐng)求消息對(duì)應(yīng)的時(shí)間戳;
需要說(shuō)明的是,這里的定時(shí)可以是按照實(shí)際情況進(jìn)行設(shè)定,兩次接收的請(qǐng)求消息的時(shí)間間隔可以是固定的,比如設(shè)定每隔1分鐘接收一次請(qǐng)求消息,也可以是不固定的,比如1分鐘后接收第二次請(qǐng)求消息,再過(guò)3分鐘后接收第三次請(qǐng)求消息,具體的 可以根據(jù)實(shí)際情況進(jìn)行設(shè)定。
第一判斷模塊82,與上述接收模塊80連接,用于判斷時(shí)間戳的取值是否小于預(yù)設(shè)閾值;
上述時(shí)間戳的取值可以是指定值,用于指示讀取第一設(shè)備中的全量數(shù)據(jù);在一個(gè)可選的實(shí)施例中,上述指定值可以是0,即在請(qǐng)求消息中攜帶的時(shí)間戳為0時(shí),指示第二設(shè)備應(yīng)當(dāng)讀第一設(shè)備的全量數(shù)據(jù)。
在一個(gè)可選實(shí)施例中,圖9是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖二,如圖9所示,上述裝置還包括:
第二判斷模塊90,與接收模塊80連接,用于判斷時(shí)間戳的取值是否為指定值,其中,該指定值用于指示讀取全量數(shù)據(jù),其中,在判斷結(jié)果為是時(shí),觸發(fā)將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備。
第一同步模塊84,與上述第一判斷模塊82連接,用于在時(shí)間戳的取值小于預(yù)設(shè)閾值時(shí),按照時(shí)間戳與第一設(shè)備在本地緩存的分片數(shù)據(jù)的對(duì)應(yīng)關(guān)系,將與時(shí)間戳對(duì)應(yīng)的分片數(shù)據(jù)同步至第二設(shè)備,其中,分片數(shù)據(jù)為對(duì)第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
需要說(shuō)明的是,上述預(yù)設(shè)閾值可以是對(duì)上述全量數(shù)據(jù)進(jìn)行分片后得到的分片數(shù)量,當(dāng)然也可以是其他的值,一般該預(yù)設(shè)閾值可設(shè)置為小于10;上述全量數(shù)據(jù)可以是針對(duì)統(tǒng)一資源定位符ur l的阻斷記錄,也可以是針對(duì)域名的阻斷記錄,也可以是兩者的組合,并不限于此。
上述第一同步模塊84還用于以時(shí)間戳的取值作為索引,將第一設(shè)備的本地緩存中與該索引對(duì)應(yīng)的指定分片數(shù)據(jù)同步至第二設(shè)備。
在一個(gè)可選的實(shí)施例中,圖10是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖三,如圖10所示,上述裝置還包括:
緩存模塊100,與第一同步模塊84連接,用于將第一設(shè)備的數(shù)據(jù)庫(kù)中與第一索引n對(duì)應(yīng)的分片數(shù)據(jù),寫(xiě)入本地緩存,并將n-1作為分片數(shù)據(jù)在第一設(shè)備的本地緩存中的索引,其中,n小于或者等于對(duì)全量數(shù)據(jù)進(jìn)行分片后得到的所有分片數(shù)據(jù)的總數(shù)量N,n、N均為正整數(shù)。
具體地,上述緩存模塊100還包括:
判斷單元1001,用于判斷n是否小于N;
第一讀取單元1002,與上述判斷單元1001連接,用于在n小于N的情況下,從所述數(shù)據(jù)庫(kù)中讀取n對(duì)應(yīng)的分片數(shù)據(jù),并在n對(duì)應(yīng)的分片數(shù)據(jù)上附上值為n的時(shí)間戳;
第二讀取單元1003,與上述判斷單元1001連接,用于在n等于N的情況下,從所述數(shù)據(jù)庫(kù)中讀取與n對(duì)應(yīng)的分片數(shù)據(jù),并在與n對(duì)應(yīng)的分片數(shù)據(jù)上附上值為指定時(shí)刻的時(shí)間戳;其中,所述指定時(shí)刻為所述第二設(shè)備上一次訪問(wèn)所述第一設(shè)備的時(shí)刻;
緩存單元1004,與上述第一讀取單元1002和第二讀取單元1003連接,用于將與n對(duì)應(yīng)的分片數(shù)據(jù)寫(xiě)入本地緩存,并將n-1作為分片數(shù)據(jù)在本地緩存中的索引。
需要說(shuō)明的是,上述緩存單元1004可以是按照發(fā)送格式將與n對(duì)應(yīng)的分片數(shù)據(jù)寫(xiě)入本地緩存,這樣,在第二設(shè)備需要讀取時(shí),第一設(shè)備不需要再對(duì)分片數(shù)據(jù)進(jìn)行格式的轉(zhuǎn)變,而是直接返回給第二設(shè)備,降低了同步的時(shí)間,提高了同步的效率。
通過(guò)上述裝置,通過(guò)將全量數(shù)據(jù)進(jìn)行緩存分片的方式,然后根據(jù)接收的請(qǐng)求消息中的時(shí)間戳,按照時(shí)間戳與緩存中的分片數(shù)據(jù)的關(guān)系,將該時(shí)間戳對(duì)應(yīng)的緩存中的分片數(shù)據(jù)依次同步到第二設(shè)備的方式,降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
舉個(gè)例子:第一設(shè)備的數(shù)據(jù)庫(kù)中通常記錄了千萬(wàn)級(jí)別的數(shù)據(jù)記錄,此處為了方便理解,以較少數(shù)據(jù)記錄(80條記錄)為例,在第一設(shè)備接收到攜帶時(shí)間戳為0的請(qǐng)求消息后,按照相關(guān)技術(shù)中的方式,則第一設(shè)備將該80條記錄一次性全部同步給第二設(shè)備。而在本實(shí)施例中,第一設(shè)備中的上述裝置對(duì)該80條記錄進(jìn)行分片,分片可以進(jìn)行均等分配也可以進(jìn)行不均等分配,以均等分配為例,分為4片,每個(gè)分片有20條記錄,緩存單元1004將每個(gè)分片所包含的數(shù)據(jù)寫(xiě)入緩存,并設(shè)置緩存中的4個(gè)分片數(shù)據(jù)對(duì)應(yīng)的索引0、1、2、3;當(dāng)?shù)诙O(shè)備請(qǐng)求讀取第一設(shè)備的全量數(shù)據(jù)時(shí),第一次請(qǐng)求中攜帶的時(shí)間戳為0,則第一設(shè)備的第一同步模塊84將緩存中以0為索引的分片數(shù)據(jù)同步至第二設(shè)備;一段時(shí)間后(比如1分鐘),第一設(shè)備的接收模塊80接收第二次請(qǐng)求,該第二次請(qǐng)求中攜帶時(shí)間戳為1,則第一設(shè)備的第一同步模塊84將緩存中以1為索引的分片數(shù)據(jù)同步至第二設(shè)備;以此類推,直至將緩存中的分片數(shù)據(jù)讀取完畢。即本實(shí)施例的上述裝置通過(guò)將全量數(shù)據(jù)進(jìn)行分片,將分片后的數(shù)據(jù)依次同步至第二設(shè)備,即將全量數(shù)據(jù)分批同步至第二設(shè)備,相比于相關(guān)技術(shù)中的方案能夠降低數(shù)據(jù)的讀取壓力,縮短數(shù)據(jù)的傳送時(shí)間,提高了數(shù)據(jù)的傳輸效率。
圖11是根據(jù)本發(fā)明實(shí)施例3的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖四,如圖11所示,上述裝置還包括:
第二同步模塊1101,與上述第一判斷模塊82連接,用于在時(shí)間戳的取值等于或 者大于預(yù)設(shè)閾值時(shí),將從時(shí)間戳指示的時(shí)間至當(dāng)前時(shí)間產(chǎn)生的增量數(shù)據(jù)同步至第二設(shè)備。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,存在兩類時(shí)間戳,第一類時(shí)間戳可以是上述圖8所示實(shí)施例中的時(shí)間戳,該時(shí)間戳可以起到讀取全量數(shù)據(jù)中的分片數(shù)據(jù)的索引標(biāo)識(shí)的作用,其可以是用個(gè)位數(shù)字比如0、1、2等表示;第二類時(shí)間戳可以是真實(shí)的時(shí)間戳,其表示一個(gè)真實(shí)的時(shí)間,即第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)間,其可以通過(guò)一個(gè)9位的數(shù)字表示,即第二類時(shí)間戳既可以起到標(biāo)識(shí)的作用,也可以表示一個(gè)真實(shí)的時(shí)間。在由于上述預(yù)設(shè)閾值一般為分片數(shù)據(jù),其不可能是個(gè)很大的數(shù)字,因而作為可以用9位數(shù)字表示真實(shí)時(shí)間戳的第二類時(shí)間戳的取值一般是大于上述預(yù)設(shè)閾值的,因而可以將該第二類時(shí)間戳作為一次全量數(shù)據(jù)讀取結(jié)束的標(biāo)識(shí),或者是一個(gè)正常的增量數(shù)據(jù)讀取的觸發(fā)標(biāo)識(shí)。
需要說(shuō)明的是,時(shí)間戳的取值大于或者等于預(yù)設(shè)閾值,表示第二設(shè)備發(fā)送的請(qǐng)求是一次正常的增量數(shù)據(jù)讀取請(qǐng)求,此時(shí),第二同步模塊1101需要將第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)刻(即上述的時(shí)間戳指示的時(shí)間)至當(dāng)前時(shí)間之間的增量數(shù)據(jù)傳輸至第二設(shè)備,在后續(xù)的時(shí)間里第一設(shè)備一直以正常的增量數(shù)據(jù)同步方式將增量數(shù)據(jù)同步至第二設(shè)備,直到時(shí)間點(diǎn)為整點(diǎn)或者半點(diǎn)為止,即直到收到第一設(shè)備以全量讀取同步方式將數(shù)據(jù)同步至第二設(shè)備的指示為止,以此類推。
需要說(shuō)明的是,在本發(fā)明的實(shí)施例中,第一設(shè)備中的上述裝置與第二設(shè)備之間的數(shù)據(jù)通信可以使用http協(xié)議,但不限于此。上述裝置可以應(yīng)用于網(wǎng)絡(luò)內(nèi)容的監(jiān)控與屏蔽領(lǐng)域,比如,第一設(shè)備對(duì)網(wǎng)絡(luò)的內(nèi)容比如涉黃、涉毒、涉暴、以及涉恐內(nèi)容等進(jìn)行監(jiān)控,或者其他設(shè)備對(duì)該內(nèi)容進(jìn)行監(jiān)控,當(dāng)監(jiān)控到這些內(nèi)容后,將該內(nèi)容對(duì)應(yīng)的網(wǎng)頁(yè)的統(tǒng)一資源定位符或者該內(nèi)容出現(xiàn)的計(jì)算機(jī)所在的域名記錄下來(lái),然后將這些數(shù)據(jù)通過(guò)上述裝置同步到第二設(shè)備,第二設(shè)備可以再傳輸給其他設(shè)備或者第二設(shè)備本身根據(jù)獲得到統(tǒng)一資源定位符或者域名對(duì)這些內(nèi)容進(jìn)行屏蔽。
需要說(shuō)明的是,上述模塊第一同步模塊84第二同步模塊1101可以是第一設(shè)備中的同一個(gè)同步模塊,也可以是第一設(shè)備中的不同的同步模塊。
實(shí)施例4
根據(jù)本發(fā)明實(shí)施例,還提供了一種用于實(shí)施上述實(shí)施例2中的數(shù)據(jù)傳輸方法的裝置,圖12是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖一,如圖12所示,該裝置,應(yīng)用于第二設(shè)備,包括:
發(fā)送模塊1202,用于向第一設(shè)備發(fā)送請(qǐng)求消息,其中,該請(qǐng)求消息中攜帶有與請(qǐng) 求消息對(duì)應(yīng)的時(shí)間戳;
需要說(shuō)明的是,上述發(fā)送請(qǐng)求消息可以是定時(shí)發(fā)送請(qǐng)求消息,可以是不定時(shí)發(fā)送請(qǐng)求消息,可以根據(jù)具體的情況進(jìn)行具體設(shè)定。
第一接收模塊1204,與上述發(fā)送模塊1202連接,用于在時(shí)間戳的取值小于預(yù)設(shè)閾值的情況下,接收第一設(shè)備發(fā)送的分片數(shù)據(jù);其中,分片數(shù)據(jù)是與時(shí)間戳對(duì)應(yīng)的在第一設(shè)備本地緩存的分片數(shù)據(jù),上述分片數(shù)據(jù)為第一設(shè)備記錄的全量數(shù)據(jù)進(jìn)行分片得到。
上述時(shí)間戳可以是指定值,用于指示第二設(shè)備讀取第一設(shè)備中的全量數(shù)據(jù);在一個(gè)可選的實(shí)施例中,上述指定值可以是0,即在請(qǐng)求消息中攜帶的時(shí)間戳為0時(shí),指示第二設(shè)備應(yīng)當(dāng)讀第一設(shè)備的全量數(shù)據(jù)。在一個(gè)可選實(shí)施例中,上述裝置還包括:觸發(fā)模塊,用于在時(shí)間戳的取值為指定值的情況下,觸發(fā)第一設(shè)備發(fā)送全量數(shù)據(jù);第三接收模塊,與該觸發(fā)模塊連接,用于接收第一設(shè)備發(fā)送的與指定值對(duì)應(yīng)的分片數(shù)據(jù),其中,指定值用于指示第二設(shè)備向所述第一設(shè)備讀取全量數(shù)據(jù)。
需要說(shuō)明的是,上述預(yù)設(shè)閾值可以是第一設(shè)備對(duì)上述全量數(shù)據(jù)進(jìn)行分片后得到的分片數(shù)量,當(dāng)然也可以是其他的值,一般該預(yù)設(shè)閾值可設(shè)置為小于10;上述全量數(shù)據(jù)可以是針對(duì)統(tǒng)一資源定位符ur l的阻斷記錄,也可以是針對(duì)域名的阻斷記錄,也可以是兩者的組合,并不限于此。
具體地,第一設(shè)備是如何對(duì)全量數(shù)據(jù)進(jìn)行分片緩存的,即上述分片數(shù)據(jù)是如何在第一設(shè)備中得到的,與上述實(shí)施例1中的相同,此處不再贅述。
在本發(fā)明的一個(gè)可選實(shí)施例中,圖13是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖二,如圖13所示,上述第一接收模塊1204可以包括:第一接收單元1302,用于接收在所述第一設(shè)備的本地緩存中與索引對(duì)應(yīng)的指定分片數(shù)據(jù);其中,索引為上述時(shí)間戳的取值;第二接收單元1304,與上述第一接收單元1302連接,用于接收第一設(shè)備發(fā)送的指定時(shí)間戳;其中,指定時(shí)間戳的取值為由上述時(shí)間戳的取值加1得到。
通過(guò)上述裝置,通過(guò)發(fā)送模塊1202發(fā)送攜帶時(shí)間戳的請(qǐng)求消息,第一接收模塊1204接收第一設(shè)備根據(jù)接收的請(qǐng)求消息中的時(shí)間戳,發(fā)送的該時(shí)間戳對(duì)應(yīng)的第一設(shè)備的緩存中的分片數(shù)據(jù)的方式,即上述裝置按照時(shí)間戳讀取在第一設(shè)備中預(yù)先進(jìn)行分片緩存的分片數(shù)據(jù),降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
舉個(gè)例子:第一設(shè)備的數(shù)據(jù)庫(kù)中通常記錄了千萬(wàn)級(jí)別的數(shù)據(jù)記錄,此處為了方便理解,以較少數(shù)據(jù)記錄(80條記錄)為例,第二設(shè)備發(fā)送攜帶時(shí)間戳為0的請(qǐng)求消息 后,按照相關(guān)技術(shù)中的方式,則第二設(shè)備將一次性讀取該80條記錄。而在本實(shí)施例中,第一設(shè)備對(duì)該80條記錄進(jìn)行分片,分片可以進(jìn)行均等分配也可以進(jìn)行不均等分配,以均等分配為例,分為4片,每個(gè)分片有20條記錄,將每個(gè)分片所包含的數(shù)據(jù)寫(xiě)入緩存,并設(shè)置緩存中的4個(gè)分片數(shù)據(jù)對(duì)應(yīng)的索引0、1、2、3;當(dāng)?shù)诙O(shè)備中上述裝置中的發(fā)送模塊1202請(qǐng)求讀取第一設(shè)備的全量數(shù)據(jù)時(shí),第一次請(qǐng)求中攜帶的時(shí)間戳為0,則上述裝置中的第一接收模塊1204讀取第一設(shè)備的緩存中以0為索引的分片數(shù)據(jù);一段時(shí)間后(比如1分鐘),第二設(shè)備上述裝置中的發(fā)送模塊1202發(fā)送第二次請(qǐng)求,該第二次請(qǐng)求中攜帶時(shí)間戳為1,則上述裝置中的第一接收模塊1204讀取第一設(shè)備的緩存中以1為索引的分片數(shù)據(jù);以此類推,直至第二設(shè)備中的上述裝置將第一設(shè)備的緩存中的分片數(shù)據(jù)讀取完畢。即本實(shí)施例通過(guò)第一設(shè)備將全量數(shù)據(jù)進(jìn)行分片,上述裝置分批讀取該第一設(shè)備的緩存中的分片數(shù)據(jù),相比于相關(guān)技術(shù)中的方案能夠降低數(shù)據(jù)的讀取壓力,縮短數(shù)據(jù)的傳送時(shí)間,提高了數(shù)據(jù)的傳輸效率。
圖14是根據(jù)本發(fā)明實(shí)施例4的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)框圖三,如圖14所示,上述裝置還包括:
第二接收模塊1402,與發(fā)送模塊1204用于在時(shí)間戳的取值大于或者等于預(yù)設(shè)閾值的情況下,接收第一設(shè)備發(fā)送的從時(shí)間戳指示的時(shí)間至當(dāng)前時(shí)間產(chǎn)生的增量數(shù)據(jù)。
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,存在兩類時(shí)間戳,第一類時(shí)間戳可以是上述圖12所示實(shí)施例中的時(shí)間戳,該時(shí)間戳可以起到讀取全量數(shù)據(jù)中的分片數(shù)據(jù)的索引標(biāo)識(shí)的作用,其可以是用個(gè)位數(shù)字比如0、1、2等表示;第二類時(shí)間戳可以是真實(shí)的時(shí)間戳,其表示一個(gè)真實(shí)的時(shí)間,即第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)間,其可以通過(guò)一個(gè)9位的數(shù)字表示,即第二類時(shí)間戳既可以起到標(biāo)識(shí)的作用,也可以表示一個(gè)真實(shí)的時(shí)間。在由于上述預(yù)設(shè)閾值一般為分片數(shù)據(jù),其并不是很大的數(shù)字,因而作為可以用9位數(shù)字表示真實(shí)時(shí)間戳的第二類時(shí)間戳一般是大于上述預(yù)設(shè)閾值的,因而可以將該第二類時(shí)間戳作為一次全量數(shù)據(jù)讀取結(jié)束的標(biāo)識(shí),或者是一個(gè)正常的增量數(shù)據(jù)讀取的開(kāi)始的標(biāo)識(shí)。
需要說(shuō)明的是,時(shí)間戳的取值大于或者等于預(yù)設(shè)閾值,表示第二設(shè)備中的上述裝置發(fā)送的請(qǐng)求是一次正常的增量數(shù)據(jù)讀取請(qǐng)求,此時(shí),第二設(shè)備的上述裝置需要將第二設(shè)備最近一次訪問(wèn)第一設(shè)備的時(shí)刻(即上述的時(shí)間戳指示的時(shí)間)至當(dāng)前時(shí)間之間的增量數(shù)據(jù)讀取過(guò)來(lái),在后續(xù)的時(shí)間里,上述裝置一直以正常的增量數(shù)據(jù)同步方式讀取增量數(shù)據(jù),直到時(shí)間點(diǎn)為整點(diǎn)或者半點(diǎn)為止,即直到上述裝置收到以全量讀取同步方式讀取數(shù)據(jù)的指示為止,以此類推。
需要說(shuō)明的是,在本發(fā)明的實(shí)施例中,上述第一設(shè)備與第二設(shè)備中的上述裝置之 間的數(shù)據(jù)通信可以使用http協(xié)議,但不限于此。上述裝置可以應(yīng)用于網(wǎng)絡(luò)內(nèi)容的監(jiān)控與屏蔽領(lǐng)域,比如,第一設(shè)備對(duì)網(wǎng)絡(luò)的內(nèi)容比如涉黃、涉毒、涉暴、以及涉恐內(nèi)容等進(jìn)行監(jiān)控,或者其他設(shè)備對(duì)該內(nèi)容進(jìn)行監(jiān)控,當(dāng)監(jiān)控到這些內(nèi)容后,將該內(nèi)容對(duì)應(yīng)的網(wǎng)頁(yè)的統(tǒng)一資源定位符或者該內(nèi)容出現(xiàn)的計(jì)算機(jī)所在的域名記錄下來(lái),然后將這些數(shù)據(jù)通過(guò)上述裝置同步到第二設(shè)備,第二設(shè)備可以再傳輸給其他設(shè)備或者第二設(shè)備本身根據(jù)獲得到統(tǒng)一資源定位符或者域名對(duì)這些內(nèi)容進(jìn)行屏蔽。
實(shí)施例5
本發(fā)明的實(shí)施例可以提供一種計(jì)算機(jī)終端,該計(jì)算機(jī)終端可以是計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端設(shè)備。可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端也可以替換為移動(dòng)終端等終端設(shè)備。
可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端可以位于計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備。
在本實(shí)施例中,上述計(jì)算機(jī)終端可以執(zhí)行應(yīng)用程序的實(shí)施例1中的數(shù)據(jù)傳輸方法中的步驟的程序代碼,具體詳見(jiàn)實(shí)施例1,此處不再贅述。
可選地,圖15是根據(jù)本發(fā)明實(shí)施例的一種計(jì)算機(jī)終端的結(jié)構(gòu)框圖。如圖15所示,該計(jì)算機(jī)終端A可以包括:一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器1502、存儲(chǔ)器1506、以及傳輸裝置1508。
其中,存儲(chǔ)器1506可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的安全漏洞檢測(cè)方法和裝置對(duì)應(yīng)的程序指令/模塊,處理器1502通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的系統(tǒng)漏洞攻擊的檢測(cè)方法。存儲(chǔ)器1506可包括高速隨機(jī)存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器可進(jìn)一步包括相對(duì)于處理器1502遠(yuǎn)程設(shè)置的存儲(chǔ)器1506,這些遠(yuǎn)程存儲(chǔ)器1506可以通過(guò)網(wǎng)絡(luò)連接至終端A。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。
處理器1502可以通過(guò)傳輸裝置1408調(diào)用存儲(chǔ)器1506存儲(chǔ)的信息及應(yīng)用程序,以執(zhí)行實(shí)施例1中的步驟的應(yīng)用程序。
采用本發(fā)明實(shí)施例,提供了一種計(jì)算機(jī)終端的方案。通過(guò)該計(jì)算機(jī)終端,執(zhí)行上述實(shí)施例1中的步驟的程序代碼,降低了數(shù)據(jù)讀取的壓力,進(jìn)而解決了系統(tǒng)之間進(jìn)行全量更新數(shù)據(jù)時(shí)頻繁失敗的技術(shù)問(wèn)題,提高了數(shù)據(jù)傳輸?shù)男省?/p>
本領(lǐng)域普通技術(shù)人員可以理解,圖15所示的結(jié)構(gòu)僅為示意,計(jì)算機(jī)終端也可以是智能手機(jī)(如Android手機(jī)、iOS手機(jī)等)、平板電腦、掌聲電腦以及移動(dòng)互聯(lián)網(wǎng)設(shè)備(Mobile Internet Devices,MID)、PAD等終端設(shè)備。圖15其并不對(duì)上述電子裝置的結(jié)構(gòu)造成限定。例如,計(jì)算機(jī)終端A還可包括比圖15中所示更多或者更少的組件(如網(wǎng)絡(luò)接口、顯示裝置等),或者具有與圖15所示不同的配置。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令終端設(shè)備相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:閃存盤(pán)、只讀存儲(chǔ)器(Read-Only Memory,ROM)、隨機(jī)存取器(Random Access Memory,RAM)、磁盤(pán)或光盤(pán)等。
實(shí)施例6
本發(fā)明的實(shí)施例可以提供一種計(jì)算機(jī)終端,該計(jì)算機(jī)終端可以是計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端設(shè)備。可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端也可以替換為移動(dòng)終端等終端設(shè)備。
可選地,在本實(shí)施例中,上述計(jì)算機(jī)終端可以位于計(jì)算機(jī)網(wǎng)絡(luò)的多個(gè)網(wǎng)絡(luò)設(shè)備中的至少一個(gè)網(wǎng)絡(luò)設(shè)備。
在本實(shí)施例中,上述計(jì)算機(jī)終端可以執(zhí)行應(yīng)用程序的實(shí)施例2中的數(shù)據(jù)傳輸方法中的步驟的程序代碼,具體詳見(jiàn)實(shí)施例2,此處不再贅述。
在本實(shí)施例中的計(jì)算機(jī)終端與實(shí)施例5中的計(jì)算機(jī)終端的結(jié)構(gòu)類似,包括處理器、存儲(chǔ)器以及傳輸裝置,其中,存儲(chǔ)器用于存儲(chǔ)實(shí)施例2中的數(shù)據(jù)傳輸方法的步驟的程序代碼,處理器用于通過(guò)傳輸裝置調(diào)用存儲(chǔ)器存儲(chǔ)的信息及應(yīng)用程序,以執(zhí)行實(shí)施例2中的步驟的程序代碼。具體步驟詳見(jiàn)實(shí)施例2中的方法,此處不再贅述。
實(shí)施例7
本發(fā)明的實(shí)施例還提供了一種存儲(chǔ)介質(zhì)??蛇x地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以用于保存上述實(shí)施例一所提供的數(shù)據(jù)傳輸方法所執(zhí)行的程序代碼。
可選地,在本實(shí)施例中,上述存儲(chǔ)介質(zhì)可以位于計(jì)算機(jī)網(wǎng)絡(luò)中計(jì)算機(jī)終端群中的任意一個(gè)計(jì)算機(jī)終端中,或者位于移動(dòng)終端群中的任意一個(gè)移動(dòng)終端中。
可選地,在本實(shí)施例中,存儲(chǔ)介質(zhì)被設(shè)置為存儲(chǔ)用于執(zhí)行實(shí)施例1或者實(shí)施例2中的數(shù)據(jù)傳輸方法的步驟的程序代碼,具體步驟詳見(jiàn)實(shí)施例1或者實(shí)施例2,此處不再贅述。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤(pán)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。