分布式數(shù)據(jù)的完整性檢測(cè)方法和裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種分布式數(shù)據(jù)的完整性檢測(cè)方法和裝置。該分布式數(shù)據(jù)的完整性檢測(cè)方法包括采用初始化數(shù)據(jù)期望列表;接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù);判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在;如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除;判斷數(shù)據(jù)發(fā)送服務(wù)器列表中數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;如果判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。通過(guò)本發(fā)明,解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題。
【專(zhuān)利說(shuō)明】分布式數(shù)據(jù)的完整性檢測(cè)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種分布式數(shù)據(jù)的完整性檢測(cè)方法和
>J-U ρ?α裝直。
【背景技術(shù)】
[0002]在實(shí)時(shí)數(shù)據(jù)處理系統(tǒng)中,分布式數(shù)據(jù)會(huì)從數(shù)據(jù)發(fā)送服務(wù)器端不斷地發(fā)送至數(shù)據(jù)接收服務(wù)器,在發(fā)送過(guò)程中可能會(huì)存在各種各樣的原因?qū)е聰?shù)據(jù)接收服務(wù)器接收到的數(shù)據(jù)不完整,比如數(shù)據(jù)接收服務(wù)器只接收到部分?jǐn)?shù)據(jù)或者沒(méi)有接收到數(shù)據(jù)等。因此,驗(yàn)證分布式數(shù)據(jù)的完整性以及找到造成分布式數(shù)據(jù)不完整的原因已經(jīng)成為關(guān)鍵問(wèn)題。目前,現(xiàn)有技術(shù)還不能驗(yàn)證數(shù)據(jù)接收服務(wù)器接收到的分布式數(shù)據(jù)是否是完整數(shù)據(jù),也不能對(duì)造成分布式數(shù)據(jù)不完整的原因進(jìn)行分析,無(wú)法保證接收到的分布式數(shù)據(jù)的完整性和準(zhǔn)確性。
[0003]針對(duì)現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的主要目的在于提供一種分布式數(shù)據(jù)的完整性檢測(cè)方法和裝置,以解決現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題。
[0005]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種分布式數(shù)據(jù)的完整性檢測(cè)方法。
[0006]該分布式數(shù)據(jù)的完整性檢測(cè)方法包括:初始化數(shù)據(jù)期望列表,其中,數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,數(shù)據(jù)期望列表的初始化狀態(tài)為空列表;接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí);判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在;如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表;判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;如果判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
[0007]進(jìn)一步地,在接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)之前,該分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段;數(shù)據(jù)發(fā)送服務(wù)器對(duì)待發(fā)送數(shù)據(jù)打上時(shí)間段的時(shí)間戳,其中,時(shí)間段的時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;數(shù)據(jù)發(fā)送服務(wù)器將攜帶有時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器。
[0008]進(jìn)一步地,在判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在之后,該分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中不存在,判斷數(shù)據(jù)期望列表是否為空列表;如果判斷出數(shù)據(jù)期望列表為空列表,在數(shù)據(jù)期望列表中添加第一時(shí)間戳和第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除;如果判斷出數(shù)據(jù)期望列表不為空列表,判斷第一時(shí)間戳是否大于數(shù)據(jù)期望列表中時(shí)間戳的最大值;如果判斷出第一時(shí)間戳大于數(shù)據(jù)期望列表中時(shí)間戳的最大值,將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處。
[0009]進(jìn)一步地,在判斷出數(shù)據(jù)期望列表不為空列表之后,該分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:判斷第一時(shí)間戳是否小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值;如果判斷出第一時(shí)間戳小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值,將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);將延遲數(shù)據(jù)存入延遲日志表中,其中,延遲日志表用于存儲(chǔ)延遲數(shù)據(jù)。
[0010]進(jìn)一步地,在將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處之后,該分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:設(shè)置第一預(yù)設(shè)時(shí)間間隔;判斷計(jì)時(shí)時(shí)間是否達(dá)到第一預(yù)設(shè)時(shí)間間隔;如果判斷出計(jì)時(shí)時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間間隔,分別判斷數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于第二預(yù)設(shè)時(shí)間間隔,其中,第二預(yù)設(shè)時(shí)間間隔不同于第一預(yù)設(shè)時(shí)間間隔;如果判斷出數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于第二預(yù)設(shè)時(shí)間間隔,將數(shù)據(jù)期望列表中的時(shí)間戳和時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入延遲日志表中;將數(shù)據(jù)期望列表中的時(shí)間戳刪除。
[0011]為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的另一方面,提供了一種分布式數(shù)據(jù)的完整性檢測(cè)裝置。
[0012]該分布式數(shù)據(jù)的完整性檢測(cè)裝置包括:初始化模塊,用于初始化數(shù)據(jù)期望列表,其中,數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,數(shù)據(jù)期望列表的初始化狀態(tài)為空列表;接收模塊,用于接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí);第一判斷模塊,用于判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在;第一刪除模塊,用于當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在時(shí),將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表;第二判斷模塊,用于判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;第一確定模塊,用于當(dāng)判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除時(shí),確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
[0013]進(jìn)一步地,該分布式數(shù)據(jù)的完整性檢測(cè)裝置還還包括:第二確定模塊,用于數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段;標(biāo)記模塊,用于數(shù)據(jù)發(fā)送服務(wù)器對(duì)待發(fā)送數(shù)據(jù)打上時(shí)間段的時(shí)間戳,其中,時(shí)間段的時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;發(fā)送模塊,用于數(shù)據(jù)發(fā)送服務(wù)器將攜帶有時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器。
[0014]進(jìn)一步地,該分布式數(shù)據(jù)的完整性檢測(cè)裝置還包括:第三判斷模塊,用于當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中不存在時(shí),判斷數(shù)據(jù)期望列表是否為空列表;第一添加模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表為空列表,在數(shù)據(jù)期望列表中添加第一時(shí)間戳和第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除;第三判斷模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表不為空列表時(shí),判斷第一時(shí)間戳是否大于數(shù)據(jù)期望列表中時(shí)間戳的最大值;第二添加模塊,用于當(dāng)判斷出第一時(shí)間戳大于數(shù)據(jù)期望列表中時(shí)間戳的最大值時(shí),將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處。
[0015]進(jìn)一步地,該分布式數(shù)據(jù)的完整性檢測(cè)裝置還包括:第四判斷模塊,用于判斷第一時(shí)間戳是否小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值;記錄模塊,用于當(dāng)判斷出第一時(shí)間戳小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值時(shí),將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);第一存儲(chǔ)模塊,用于將延遲數(shù)據(jù)存入延遲日志表中,其中,延遲日志表用于存儲(chǔ)延遲數(shù)據(jù)。
[0016]進(jìn)一步地,該分布式數(shù)據(jù)的完整性檢測(cè)裝置還包括:設(shè)置模塊,用于設(shè)置第一預(yù)設(shè)時(shí)間間隔;第五判斷模塊,用于判斷計(jì)時(shí)時(shí)間是否達(dá)到第一預(yù)設(shè)時(shí)間間隔;第六判斷模塊,用于當(dāng)判斷出計(jì)時(shí)時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間間隔時(shí),分別判斷數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于第二預(yù)設(shè)時(shí)間間隔,其中,第二預(yù)設(shè)時(shí)間間隔不同于第一預(yù)設(shè)時(shí)間間隔;第一存儲(chǔ)模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于第二預(yù)設(shè)時(shí)間間隔時(shí),將數(shù)據(jù)期望列表中的時(shí)間戳和時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入延遲日志表中;第二刪除模塊,用于將數(shù)據(jù)期望列表中的時(shí)間戳刪除。
[0017]通過(guò)本發(fā)明,采用初始化數(shù)據(jù)期望列表,其中,數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,數(shù)據(jù)期望列表的初始化狀態(tài)為空列表;接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí);判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在;如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表;判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;如果判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整,解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題。該發(fā)明中的數(shù)據(jù)發(fā)送服務(wù)器為數(shù)據(jù)打上時(shí)間戳,當(dāng)數(shù)據(jù)接收服務(wù)器接收到攜帶有時(shí)間戳的數(shù)據(jù)時(shí),動(dòng)態(tài)地更細(xì)數(shù)據(jù)期望列表,通過(guò)定期檢查數(shù)據(jù)期望列表將未按照預(yù)期到達(dá)的數(shù)據(jù)對(duì)應(yīng)的時(shí)間戳和數(shù)據(jù)發(fā)送服務(wù)器標(biāo)識(shí)記錄到延遲日志表中,進(jìn)而達(dá)到了準(zhǔn)確判斷數(shù)據(jù)完整性的效果,同時(shí)能夠精確判斷哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器在哪個(gè)時(shí)間戳位置上的數(shù)據(jù)不完整,以及能夠準(zhǔn)確分析出數(shù)據(jù)不完整的原因是數(shù)據(jù)延遲還是數(shù)據(jù)未到達(dá)。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0018]構(gòu)成本申請(qǐng)的一部分的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0019]圖1是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法的流程圖;以及
[0020]圖2是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置的示意圖。
【具體實(shí)施方式】
[0021]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
[0022]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本申請(qǐng)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分的實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請(qǐng)保護(hù)的范圍。
[0023]需要說(shuō)明的是,本申請(qǐng)的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類(lèi)似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請(qǐng)的實(shí)施例。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
[0024]本發(fā)明旨在提供一種分布式數(shù)據(jù)的完整性檢測(cè)方法和裝置。
[0025]圖1是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法的流程圖。如圖1所示,該分布式數(shù)據(jù)的完整性檢測(cè)方法包括如下的步驟SlOl至步驟S106:
[0026]步驟S101,初始化數(shù)據(jù)期望列表。
[0027]數(shù)據(jù)接收服務(wù)器在接收由數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)之前,數(shù)據(jù)接收服務(wù)器會(huì)初始化本地的數(shù)據(jù)期望列表,將數(shù)據(jù)期望列表初始化為空列表。數(shù)據(jù)期望列表主要用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,通過(guò)對(duì)時(shí)間戳的判定驗(yàn)證數(shù)據(jù)的完整性。數(shù)據(jù)期望列表中包含期望數(shù)據(jù),其中,期望數(shù)據(jù)是數(shù)據(jù)接收服務(wù)器和數(shù)據(jù)發(fā)送服務(wù)器預(yù)先約定發(fā)送的數(shù)據(jù),實(shí)際數(shù)據(jù)發(fā)送服務(wù)器在發(fā)送數(shù)據(jù)時(shí)可能發(fā)送期望數(shù)據(jù),也可能未發(fā)送期望數(shù)據(jù)。一條期望數(shù)據(jù)中主要包括以下內(nèi)容:數(shù)據(jù)攜帶的時(shí)間戳,數(shù)據(jù)發(fā)送服務(wù)器列表,其中,數(shù)據(jù)發(fā)送服務(wù)器列表中存儲(chǔ)有一個(gè)或者多個(gè)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí),以及該期望數(shù)據(jù)到的數(shù)據(jù)期望列表的到達(dá)時(shí)間。初始化后的數(shù)據(jù)期望列表中是沒(méi)有期望數(shù)據(jù)的,當(dāng)數(shù)據(jù)發(fā)送服務(wù)器向數(shù)據(jù)接收服務(wù)器發(fā)送數(shù)據(jù)時(shí),即數(shù)據(jù)接收服務(wù)器接收到由數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)時(shí),數(shù)據(jù)期望列表中才插入期望數(shù)據(jù)。
[0028]步驟S102,接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)。
[0029]優(yōu)選地,在接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)之前,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段;數(shù)據(jù)發(fā)送服務(wù)器對(duì)待發(fā)送數(shù)據(jù)打上時(shí)間段的時(shí)間戳,其中,時(shí)間段的時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;數(shù)據(jù)發(fā)送服務(wù)器將攜帶有時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器。比如2014-10-3015:36:00至2014-10-3015:36:10之間的數(shù)據(jù)會(huì)打上同一的時(shí)間戳2014-10-3015:36:10,2014-10-3015:36:10 至 2014-10-3015:36:20 之間的數(shù)據(jù)會(huì)打上同一的時(shí)間戳2014-10-3015:36:20,數(shù)據(jù)發(fā)送服務(wù)器將數(shù)據(jù)打上時(shí)間戳后再將攜帶有時(shí)間戳的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器。該實(shí)施例中的待發(fā)送數(shù)據(jù)的時(shí)間戳的標(biāo)記方式是數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定好的,這樣可以保證數(shù)據(jù)接收服務(wù)器接收攜帶有時(shí)間戳的數(shù)據(jù)時(shí),能夠保證與數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)的一致性和同步性,從而提高數(shù)據(jù)完整性驗(yàn)證結(jié)果的準(zhǔn)確性。
[0030]數(shù)據(jù)發(fā)送服務(wù)器的個(gè)數(shù)可以只有I個(gè),也可以有多個(gè)。當(dāng)數(shù)據(jù)發(fā)送服務(wù)器的個(gè)數(shù)為多個(gè)時(shí),每臺(tái)數(shù)據(jù)服務(wù)器為待發(fā)送數(shù)據(jù)都會(huì)打上時(shí)間戳。而且,每個(gè)數(shù)據(jù)發(fā)送服務(wù)器中不同時(shí)間段對(duì)應(yīng)一個(gè)時(shí)間戳,即每個(gè)數(shù)據(jù)發(fā)送服務(wù)器對(duì)應(yīng)多個(gè)時(shí)間戳。為了區(qū)別不同的數(shù)據(jù)發(fā)送服務(wù)器中數(shù)據(jù)的時(shí)間戳,此處將時(shí)間戳確定為第一時(shí)間戳,其中,第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳但是,此處的第一并不是順序或者次序的限制,只是表示多個(gè)時(shí)間戳中的任意一個(gè)時(shí)間戳。數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中除了包括第一時(shí)間戳之外,還可以包括第一標(biāo)識(shí),其中,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)。數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)的時(shí)間戳是由數(shù)據(jù)發(fā)送服務(wù)器設(shè)定的,而數(shù)據(jù)期望列表中的時(shí)間戳來(lái)自于接收到的數(shù)據(jù)的時(shí)間戳,或者由接收到的數(shù)據(jù)的時(shí)間戳計(jì)算得到。
[0031]該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法利用數(shù)據(jù)發(fā)送服務(wù)器為待發(fā)送的數(shù)據(jù)打上時(shí)間戳,有利于快速準(zhǔn)確地判斷數(shù)據(jù)接收服務(wù)器接收到的數(shù)據(jù)的完整性。
[0032]步驟S103,判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在。
[0033]數(shù)據(jù)接收服務(wù)器每接收到一條由數(shù)據(jù)發(fā)送服務(wù)器發(fā)送來(lái)的攜帶有時(shí)間戳的數(shù)據(jù),就會(huì)對(duì)接收到的數(shù)據(jù)攜帶的時(shí)間戳進(jìn)行判斷,判斷在數(shù)據(jù)期望列表中是否存在該接收到的數(shù)據(jù)攜帶的時(shí)間戳。數(shù)據(jù)期望列表中初始化時(shí)不存在任何時(shí)間戳,隨著數(shù)據(jù)接收服務(wù)器接不斷地接收來(lái)自數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),數(shù)據(jù)期望列表中的時(shí)間戳?xí)粩嗟卦黾?。該?shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在是為了準(zhǔn)確判斷數(shù)據(jù)期望列表中存在的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)是由哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的,因?yàn)橛蓴?shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)在攜帶時(shí)間戳的同時(shí)會(huì)攜帶數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)。通過(guò)對(duì)數(shù)據(jù)期望列表中的第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)進(jìn)行判斷可以準(zhǔn)確得到該第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)是否為完整的數(shù)據(jù)。
[0034]步驟S104,如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除。
[0035]該實(shí)施例中的數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表。在判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在之后,當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在時(shí),將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,證明該第一標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)到達(dá)數(shù)據(jù)接收服務(wù)器。數(shù)據(jù)發(fā)送服務(wù)器列表中剩余的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)代表該剩余的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)未到達(dá)數(shù)據(jù)接收服務(wù)器,如果數(shù)據(jù)發(fā)送服務(wù)器列表中數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)都被刪除,即數(shù)據(jù)發(fā)送服務(wù)器列表中不存在剩余的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí),則證明數(shù)據(jù)發(fā)送服務(wù)器列表中所有的數(shù)據(jù)發(fā)送服務(wù)器都將該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器,即該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)是完整的。
[0036]在判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在之后,當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中不存在時(shí),該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:判斷數(shù)據(jù)期望列表是否為空列表;如果判斷出數(shù)據(jù)期望列表為空列表,在數(shù)據(jù)期望列表中添加第一時(shí)間戳和第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除;如果判斷出數(shù)據(jù)期望列表不為空列表,判斷第一時(shí)間戳是否大于數(shù)據(jù)期望列表中時(shí)間戳的最大值;如果判斷出第一時(shí)間戳大于數(shù)據(jù)期望列表中時(shí)間戳的最大值,將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處。
[0037]如,數(shù)據(jù)期望列表中只存在時(shí)間戳2014-10-3015:36:10,當(dāng)接收到的由數(shù)據(jù)發(fā)送服務(wù)器I發(fā)送的數(shù)據(jù)的時(shí)間戳為2014-10-3015:36:30時(shí),會(huì)將該時(shí)間戳2014-10-3015:36:30添加至數(shù)據(jù)期望列表中,并將該時(shí)間戳2014-10-3015:36:30對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間添加至該時(shí)間戳2014-10-3015:36:30對(duì)應(yīng)處,同時(shí)將標(biāo)識(shí)數(shù)據(jù)發(fā)送服務(wù)器I從數(shù)據(jù)發(fā)送服務(wù)器列表中刪除。此外,還會(huì)將時(shí)間戳2014-10-3015:36:20對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間添加至數(shù)據(jù)期望列表中,并將時(shí)間戳2014-10-3015:36:30對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間添加至該時(shí)間戳2014-10-3015:36:20對(duì)應(yīng)處。
[0038]優(yōu)選地,在判斷出數(shù)據(jù)期望列表不為空列表之后,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:判斷第一時(shí)間戳是否小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值;如果判斷出第一時(shí)間戳小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值,將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);將延遲數(shù)據(jù)存入延遲日志表中,其中,延遲日志表用于存儲(chǔ)延遲數(shù)據(jù)。當(dāng)?shù)谝粫r(shí)間戳小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值時(shí),證明該第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)為延遲數(shù)據(jù),即該數(shù)據(jù)在期望時(shí)間內(nèi)沒(méi)有到達(dá)數(shù)據(jù)接收服務(wù)器。該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法除了驗(yàn)證數(shù)據(jù)完整性的同時(shí),還將延遲數(shù)據(jù)進(jìn)行存儲(chǔ),這樣可以進(jìn)一步分析數(shù)據(jù)不完整的原因,以及具體是哪個(gè)標(biāo)識(shí)對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器出現(xiàn)了問(wèn)題。從延遲日志表中可以分析出,如果造成數(shù)據(jù)不完整的時(shí)間戳在延遲日志表中存在,則說(shuō)明數(shù)據(jù)不完整的原因是數(shù)據(jù)延遲造成的,否則可以直接判斷出數(shù)據(jù)發(fā)送服務(wù)器未發(fā)送該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)。
[0039]優(yōu)選地,在將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處之后,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法還包括:設(shè)置第一預(yù)設(shè)時(shí)間間隔;判斷計(jì)時(shí)時(shí)間是否達(dá)到第一預(yù)設(shè)時(shí)間間隔;如果判斷出計(jì)時(shí)時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間間隔,分別判斷數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于第二預(yù)設(shè)時(shí)間間隔,其中,第二預(yù)設(shè)時(shí)間間隔不同于第一預(yù)設(shè)時(shí)間間隔;如果判斷出數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于第二預(yù)設(shè)時(shí)間間隔,將數(shù)據(jù)期望列表中的時(shí)間戳和時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入延遲日志表中;將數(shù)據(jù)期望列表中的時(shí)間戳刪除。該實(shí)施例中的數(shù)據(jù)接收服務(wù)器采用定期檢查數(shù)據(jù)期望列表中的數(shù)據(jù)的方式,當(dāng)判斷出數(shù)據(jù)的到達(dá)時(shí)間和數(shù)據(jù)接收服務(wù)器的當(dāng)前時(shí)間的差值超過(guò)第二預(yù)設(shè)時(shí)間間隔時(shí),將該到達(dá)時(shí)間對(duì)應(yīng)的時(shí)間戳和數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)記錄在延遲日志表中,并將數(shù)據(jù)期望列表中的該到達(dá)時(shí)間對(duì)應(yīng)的時(shí)間戳刪除,這樣可以減小數(shù)據(jù)接收服務(wù)器的內(nèi)存消耗,提高數(shù)據(jù)接收服務(wù)器的運(yùn)算效果。
[0040]步驟S105,判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除。
[0041]判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除目的是為了判斷時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)是否完整。如果數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,說(shuō)明數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器全部向數(shù)據(jù)接收服務(wù)器發(fā)送了該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù),而且發(fā)送成功了 ;如果數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)沒(méi)有全部刪除,說(shuō)明數(shù)據(jù)發(fā)送服務(wù)器列表中的部分或者全部數(shù)據(jù)發(fā)送服務(wù)器向數(shù)據(jù)接收服務(wù)器發(fā)送的該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)生了延遲,或者數(shù)據(jù)發(fā)送服務(wù)器列表中的部分或者全部數(shù)據(jù)發(fā)送服務(wù)器未發(fā)送該時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)。
[0042]步驟S106,如果判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
[0043]在判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除之后,當(dāng)判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,說(shuō)明接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。比如,有5個(gè)數(shù)據(jù)發(fā)送服務(wù)器,數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)分別對(duì)應(yīng)為I至5。當(dāng)數(shù)據(jù)接收服務(wù)器接收到由數(shù)據(jù)發(fā)送服務(wù)器I發(fā)送的時(shí)間戳2014-10-3015:36:10的數(shù)據(jù)之后,將數(shù)據(jù)發(fā)送服務(wù)器列表中的標(biāo)識(shí)I刪除;當(dāng)標(biāo)識(shí)2至5對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的時(shí)間戳2014-10-3015:36:10的數(shù)據(jù)都成功到的數(shù)據(jù)接收服務(wù)器,則數(shù)據(jù)發(fā)送服務(wù)器列表中剩余的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)為0,則可以確定該時(shí)間戳2014-10-3015:36:10的數(shù)據(jù)是完整的。該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法采用檢測(cè)數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除判斷數(shù)據(jù)的完整性,可以保證數(shù)據(jù)完整性驗(yàn)證結(jié)果的準(zhǔn)確性,而且便于根據(jù)數(shù)據(jù)發(fā)送服務(wù)器列表中剩余的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)確定造成數(shù)據(jù)不完整的原因出現(xiàn)在哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器上。
[0044]該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法采用初始化數(shù)據(jù)期望列表,其中,數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,數(shù)據(jù)期望列表的初始化狀態(tài)為空列表;接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí);判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在;如果判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表;判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;如果判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整,解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題,進(jìn)而達(dá)到了準(zhǔn)確判斷數(shù)據(jù)完整性的效果,同時(shí)能夠精確判斷哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器在哪個(gè)時(shí)間戳位置上的數(shù)據(jù)不完整,以及能夠準(zhǔn)確分析出數(shù)據(jù)不完整的原因是數(shù)據(jù)延遲還是數(shù)據(jù)未到達(dá)。
[0045]從以上的描述中,可以看出,本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法通過(guò)利用數(shù)據(jù)發(fā)送服務(wù)器為待發(fā)送的數(shù)據(jù)打上時(shí)間戳,然后判斷數(shù)據(jù)期望列表中是否存在時(shí)間戳,決定是否將數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)進(jìn)行刪除,最后通過(guò)判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除,確定時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)是否完整,解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題。同時(shí),該發(fā)明的實(shí)施例通過(guò)判斷時(shí)間戳與數(shù)據(jù)期望列表中的時(shí)間戳的關(guān)系,記錄了延遲數(shù)據(jù),通過(guò)查看延遲日志表中的延遲數(shù)據(jù)可以對(duì)造成數(shù)據(jù)不完整的原因進(jìn)行分析,進(jìn)而達(dá)到了準(zhǔn)確判斷數(shù)據(jù)完整性的效果,同時(shí)能夠精確判斷哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器在哪個(gè)時(shí)間戳位置上的數(shù)據(jù)不完整,以及能夠準(zhǔn)確分析出數(shù)據(jù)不完整的原因是數(shù)據(jù)延遲還是數(shù)據(jù)未到達(dá)。
[0046]需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0047]本發(fā)明實(shí)施例還提供了一種分布式數(shù)據(jù)的完整性檢測(cè)裝置。需要說(shuō)明的是,該分布式數(shù)據(jù)的完整性檢測(cè)裝置可以用于執(zhí)行本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)方法。
[0048]圖2是根據(jù)本發(fā)明實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置的示意圖。如圖2所示,該分布式數(shù)據(jù)的完整性檢測(cè)裝置包括:初始化模塊10,接收模塊20,第一判斷模塊30,第一刪除模塊40,第二判斷模塊50和第一確定模塊60。
[0049]初始化模塊10,用于初始化數(shù)據(jù)期望列表,其中,數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,數(shù)據(jù)期望列表的初始化狀態(tài)為空列表。
[0050]接收模塊20,用于接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),第一時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)。
[0051]第一判斷模塊30,用于判斷第一時(shí)間戳在數(shù)據(jù)期望列表中是否存在。
[0052]第一刪除模塊40,用于當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中存在時(shí),將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除,數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表。
[0053]第二判斷模塊50,用于判斷數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除。
[0054]第一確定模塊60,用于當(dāng)判斷出數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除時(shí),確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
[0055]優(yōu)選地,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置還可以包括:第二確定模塊,用于數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段;標(biāo)記模塊,用于數(shù)據(jù)發(fā)送服務(wù)器對(duì)待發(fā)送數(shù)據(jù)打上時(shí)間段的時(shí)間戳,其中,時(shí)間段的時(shí)間戳為數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;發(fā)送模塊,用于數(shù)據(jù)發(fā)送服務(wù)器將攜帶有時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至數(shù)據(jù)接收服務(wù)器。
[0056]優(yōu)選地,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置還可以包括:第三判斷模塊,用于當(dāng)判斷出第一時(shí)間戳在數(shù)據(jù)期望列表中不存在時(shí),判斷數(shù)據(jù)期望列表是否為空列表;第一添加模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表為空列表,在數(shù)據(jù)期望列表中添加第一時(shí)間戳和第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將數(shù)據(jù)發(fā)送服務(wù)器列表中的第一標(biāo)識(shí)刪除;第三判斷模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表不為空列表時(shí),判斷第一時(shí)間戳是否大于數(shù)據(jù)期望列表中時(shí)間戳的最大值;第二添加模塊,用于當(dāng)判斷出第一時(shí)間戳大于數(shù)據(jù)期望列表中時(shí)間戳的最大值時(shí),將第一時(shí)間戳與最大值之間的時(shí)間戳添加到數(shù)據(jù)期望列表中,并將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到數(shù)據(jù)期望列表中第一時(shí)間戳與最大值之間的時(shí)間戳的對(duì)應(yīng)處。
[0057]優(yōu)選地,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置還可以包括:第四判斷模塊,用于判斷第一時(shí)間戳是否小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值;記錄模塊,用于當(dāng)判斷出第一時(shí)間戳小于數(shù)據(jù)期望列表中的時(shí)間戳的最小值時(shí),將第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);第一存儲(chǔ)模塊,用于將延遲數(shù)據(jù)存入延遲日志表中,其中,延遲日志表用于存儲(chǔ)延遲數(shù)據(jù)。
[0058]優(yōu)選地,該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置還可以包括:設(shè)置模塊,用于設(shè)置第一預(yù)設(shè)時(shí)間間隔;第五判斷模塊,用于判斷計(jì)時(shí)時(shí)間是否達(dá)到第一預(yù)設(shè)時(shí)間間隔;第六判斷模塊,用于當(dāng)判斷出計(jì)時(shí)時(shí)間達(dá)到第一預(yù)設(shè)時(shí)間間隔時(shí),分別判斷數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于第二預(yù)設(shè)時(shí)間間隔,其中,第二預(yù)設(shè)時(shí)間間隔不同于第一預(yù)設(shè)時(shí)間間隔;第一存儲(chǔ)模塊,用于當(dāng)判斷出數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于第二預(yù)設(shè)時(shí)間間隔時(shí),將數(shù)據(jù)期望列表中的時(shí)間戳和時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入延遲日志表中;第二刪除模塊,用于將數(shù)據(jù)期望列表中的時(shí)間戳刪除。
[0059]該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置包括初始化模塊10,接收模塊20,第一判斷模塊30,第一刪除模塊40,第二判斷模塊50和第一確定模塊60。通過(guò)該實(shí)施例的分布式數(shù)據(jù)的完整性檢測(cè)裝置解決了現(xiàn)有技術(shù)無(wú)法驗(yàn)證分布式數(shù)據(jù)的完整性的問(wèn)題,進(jìn)而達(dá)到了準(zhǔn)確判斷數(shù)據(jù)完整性的效果,同時(shí)能夠精確判斷哪個(gè)數(shù)據(jù)發(fā)送服務(wù)器在哪個(gè)時(shí)間戳位置上的數(shù)據(jù)不完整,以及能夠準(zhǔn)確分析出數(shù)據(jù)不完整的原因是數(shù)據(jù)延遲還是數(shù)據(jù)未到達(dá)。
[0060]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0061]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種分布式數(shù)據(jù)的完整性檢測(cè)方法,其特征在于,包括: 初始化數(shù)據(jù)期望列表,其中,所述數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,所述數(shù)據(jù)期望列表的初始化狀態(tài)為空列表; 接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,所述數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),所述第一時(shí)間戳為所述數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為所述數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí); 判斷所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中是否存在;如果判斷出所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中存在,將數(shù)據(jù)發(fā)送服務(wù)器列表中的所述第一標(biāo)識(shí)刪除,所述數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表;判斷所述數(shù)據(jù)發(fā)送服務(wù)器列表中的所述數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;以及 如果判斷出所述數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除,確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
2.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)的完整性檢測(cè)方法,其特征在于,在接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)之前,所述方法還包括: 所述數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段; 所述數(shù)據(jù)發(fā)送服務(wù)器對(duì)所述待發(fā)送數(shù)據(jù)打上所述時(shí)間段的時(shí)間戳,其中,所述時(shí)間段的時(shí)間戳為所述數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;以及 所述數(shù)據(jù)發(fā)送服務(wù)器將攜帶有所述時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至所述數(shù)據(jù)接收服務(wù)器。
3.根據(jù)權(quán)利要求2所述的分布式數(shù)據(jù)的完整性檢測(cè)方法,其特征在于,在判斷所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中是否存在之后,所述方法還包括: 如果判斷出所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中不存在,判斷所述數(shù)據(jù)期望列表是否為空列表; 如果判斷出所述數(shù)據(jù)期望列表為空列表,在所述數(shù)據(jù)期望列表中添加所述第一時(shí)間戳和所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將所述數(shù)據(jù)發(fā)送服務(wù)器列表中的所述第一標(biāo)識(shí)刪除; 如果判斷出所述數(shù)據(jù)期望列表不為空列表,判斷所述第一時(shí)間戳是否大于所述數(shù)據(jù)期望列表中時(shí)間戳的最大值;以及 如果判斷出所述第一時(shí)間戳大于所述數(shù)據(jù)期望列表中時(shí)間戳的最大值,將所述第一時(shí)間戳與所述最大值之間的時(shí)間戳添加到所述數(shù)據(jù)期望列表中,并將所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到所述數(shù)據(jù)期望列表中所述第一時(shí)間戳與所述最大值之間的時(shí)間戳的對(duì)應(yīng)處。
4.根據(jù)權(quán)利要求3所述的分布式數(shù)據(jù)的完整性檢測(cè)方法,其特征在于,在判斷出所述數(shù)據(jù)期望列表不為空列表之后,所述方法還包括: 判斷所述第一時(shí)間戳是否小于所述數(shù)據(jù)期望列表中的時(shí)間戳的最小值; 如果判斷出所述第一時(shí)間戳小于所述數(shù)據(jù)期望列表中的時(shí)間戳的最小值,將所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);以及 將所述延遲數(shù)據(jù)存入延遲日志表中,其中,所述延遲日志表用于存儲(chǔ)所述延遲數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的分布式數(shù)據(jù)的完整性檢測(cè)方法,其特征在于,在將所述第一時(shí)間戳與所述最大值之間的時(shí)間戳添加到所述數(shù)據(jù)期望列表中,并將所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到所述數(shù)據(jù)期望列表中所述第一時(shí)間戳與所述最大值之間的時(shí)間戳的對(duì)應(yīng)處之后,所述方法還包括: 設(shè)置第一預(yù)設(shè)時(shí)間間隔; 判斷計(jì)時(shí)時(shí)間是否達(dá)到所述第一預(yù)設(shè)時(shí)間間隔; 如果判斷出計(jì)時(shí)時(shí)間達(dá)到所述第一預(yù)設(shè)時(shí)間間隔,分別判斷所述數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與所述數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于第二預(yù)設(shè)時(shí)間間隔,其中,所述第二預(yù)設(shè)時(shí)間間隔不同于所述第一預(yù)設(shè)時(shí)間間隔; 如果判斷出所述數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與所述數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于所述第二預(yù)設(shè)時(shí)間間隔,將所述數(shù)據(jù)期望列表中的時(shí)間戳和所述時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入所述延遲日志表中;以及將所述數(shù)據(jù)期望列表中的所述時(shí)間戳刪除。
6.一種分布式數(shù)據(jù)的完整性檢測(cè)裝置,其特征在于,包括: 初始化模塊,用于初始化數(shù)據(jù)期望列表,其中,所述數(shù)據(jù)期望列表用于存儲(chǔ)接收的數(shù)據(jù)的時(shí)間戳,所述數(shù)據(jù)期望列表的初始化狀態(tài)為空列表; 接收模塊,用于接收數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù),其中,所述數(shù)據(jù)中包括第一時(shí)間戳和第一標(biāo)識(shí),所述第一時(shí)間戳為所述數(shù)據(jù)發(fā)送服務(wù)器發(fā)送的數(shù)據(jù)中攜帶的時(shí)間戳,第一標(biāo)識(shí)為所述數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí); 第一判斷模塊,用于判斷所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中是否存在; 第一刪除模塊,用于當(dāng)判斷出所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中存在時(shí),將數(shù)據(jù)發(fā)送服務(wù)器列表中的所述第一標(biāo)識(shí)刪除,所述數(shù)據(jù)發(fā)送服務(wù)器列表為用于存儲(chǔ)數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)的列表; 第二判斷模塊,用于判斷所述數(shù)據(jù)發(fā)送服務(wù)器列表中的所述數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)是否已經(jīng)全部刪除;以及 第一確定模塊,用于當(dāng)判斷出所述數(shù)據(jù)發(fā)送服務(wù)器列表中的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)已經(jīng)全部刪除時(shí),確定接收到的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)完整。
7.根據(jù)權(quán)利要求6所述的分布式數(shù)據(jù)的完整性檢測(cè)裝置,其特征在于,所述裝置還還包括: 第二確定模塊,用于所述數(shù)據(jù)發(fā)送服務(wù)器確定待發(fā)送數(shù)據(jù)所處的時(shí)間段; 標(biāo)記模塊,用于所述數(shù)據(jù)發(fā)送服務(wù)器對(duì)所述待發(fā)送數(shù)據(jù)打上所述時(shí)間段的時(shí)間戳,其中,所述時(shí)間段的時(shí)間戳為所述數(shù)據(jù)發(fā)送服務(wù)器和數(shù)據(jù)接收服務(wù)器預(yù)先約定的時(shí)間戳;以及 發(fā)送模塊,用于所述數(shù)據(jù)發(fā)送服務(wù)器將攜帶有所述時(shí)間戳的待發(fā)送數(shù)據(jù)發(fā)送至所述數(shù)據(jù)接收服務(wù)器。
8.根據(jù)權(quán)利要求7所述的分布式數(shù)據(jù)的完整性檢測(cè)裝置,其特征在于,所述裝置還包括: 第三判斷模塊,用于當(dāng)判斷出所述第一時(shí)間戳在所述數(shù)據(jù)期望列表中不存在時(shí),判斷所述數(shù)據(jù)期望列表是否為空列表; 第一添加模塊,用于當(dāng)判斷出所述數(shù)據(jù)期望列表為空列表,在所述數(shù)據(jù)期望列表中添加所述第一時(shí)間戳和所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間,并將所述數(shù)據(jù)發(fā)送服務(wù)器列表中的所述第一標(biāo)識(shí)刪除; 第三判斷模塊,用于當(dāng)判斷出所述數(shù)據(jù)期望列表不為空列表時(shí),判斷所述第一時(shí)間戳是否大于所述數(shù)據(jù)期望列表中時(shí)間戳的最大值;以及 第二添加模塊,用于當(dāng)判斷出所述第一時(shí)間戳大于所述數(shù)據(jù)期望列表中時(shí)間戳的最大值時(shí),將所述第一時(shí)間戳與所述最大值之間的時(shí)間戳添加到所述數(shù)據(jù)期望列表中,并將所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間分別添加到所述數(shù)據(jù)期望列表中所述第一時(shí)間戳與所述最大值之間的時(shí)間戳的對(duì)應(yīng)處。
9.根據(jù)權(quán)利要求8所述的分布式數(shù)據(jù)的完整性檢測(cè)裝置,其特征在于,所述裝置還包括: 第四判斷模塊,用于判斷所述第一時(shí)間戳是否小于所述數(shù)據(jù)期望列表中的時(shí)間戳的最小值; 記錄模塊,用于當(dāng)判斷出所述第一時(shí)間戳小于所述數(shù)據(jù)期望列表中的時(shí)間戳的最小值時(shí),將所述第一時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)記錄為延遲數(shù)據(jù);以及 第一存儲(chǔ)模塊,用于將所述延遲數(shù)據(jù)存入延遲日志表中,其中,所述延遲日志表用于存儲(chǔ)所述延遲數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的分布式數(shù)據(jù)的完整性檢測(cè)裝置,其特征在于,所述裝置還包括: 設(shè)置模塊,用于設(shè)置第一預(yù)設(shè)時(shí)間間隔; 第五判斷模塊,用于判斷計(jì)時(shí)時(shí)間是否達(dá)到所述第一預(yù)設(shè)時(shí)間間隔; 第六判斷模塊,用于當(dāng)判斷出計(jì)時(shí)時(shí)間達(dá)到所述第一預(yù)設(shè)時(shí)間間隔時(shí),分別判斷所述數(shù)據(jù)期望列表中每個(gè)時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與所述數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值是否大于所述第二預(yù)設(shè)時(shí)間間隔,其中,所述第二預(yù)設(shè)時(shí)間間隔不同于所述第一預(yù)設(shè)時(shí)間間隔; 第一存儲(chǔ)模塊,用于當(dāng)判斷出所述數(shù)據(jù)期望列表中的時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)的到達(dá)時(shí)間與所述數(shù)據(jù)接收服務(wù)器的時(shí)間之間的差值大于所述第二預(yù)設(shè)時(shí)間間隔時(shí),將所述數(shù)據(jù)期望列表中的時(shí)間戳和所述時(shí)間戳對(duì)應(yīng)的數(shù)據(jù)發(fā)送服務(wù)器的標(biāo)識(shí)存入所述延遲日志表中;以及第二刪除模塊,用于將所述數(shù)據(jù)期望列表中的所述時(shí)間戳刪除。
【文檔編號(hào)】H04L1/00GK104468569SQ201410737695
【公開(kāi)日】2015年3月25日 申請(qǐng)日期:2014年12月4日 優(yōu)先權(quán)日:2014年12月4日
【發(fā)明者】林斐, 王鵬 申請(qǐng)人:北京國(guó)雙科技有限公司