CN104468569B - 分布式数据的完整性检测方法和装置 - Google Patents

分布式数据的完整性检测方法和装置 Download PDF

Info

Publication number
CN104468569B
CN104468569B CN201410737695.1A CN201410737695A CN104468569B CN 104468569 B CN104468569 B CN 104468569B CN 201410737695 A CN201410737695 A CN 201410737695A CN 104468569 B CN104468569 B CN 104468569B
Authority
CN
China
Prior art keywords
data
list
server
timestamp
expected
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410737695.1A
Other languages
English (en)
Other versions
CN104468569A (zh
Inventor
林斐
王鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201410737695.1A priority Critical patent/CN104468569B/zh
Publication of CN104468569A publication Critical patent/CN104468569A/zh
Application granted granted Critical
Publication of CN104468569B publication Critical patent/CN104468569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0091Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to receivers, e.g. format detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种分布式数据的完整性检测方法和装置。该分布式数据的完整性检测方法包括采用初始化数据期望列表;接收数据发送服务器发送的数据;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除;判断数据发送服务器列表中数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整。通过本发明,解决了现有技术无法验证分布式数据的完整性的问题。

Description

分布式数据的完整性检测方法和装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种分布式数据的完整性检测方法和装置。
背景技术
在实时数据处理系统中,分布式数据会从数据发送服务器端不断地发送至数据接收服务器,在发送过程中可能会存在各种各样的原因导致数据接收服务器接收到的数据不完整,比如数据接收服务器只接收到部分数据或者没有接收到数据等。因此,验证分布式数据的完整性以及找到造成分布式数据不完整的原因已经成为关键问题。目前,现有技术还不能验证数据接收服务器接收到的分布式数据是否是完整数据,也不能对造成分布式数据不完整的原因进行分析,无法保证接收到的分布式数据的完整性和准确性。
针对现有技术无法验证分布式数据的完整性的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种分布式数据的完整性检测方法和装置,以解决现有技术无法验证分布式数据的完整性的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种分布式数据的完整性检测方法。
该分布式数据的完整性检测方法包括:初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整。
进一步地,在接收数据发送服务器发送的数据之前,该分布式数据的完整性检测方法还包括:数据发送服务器确定待发送数据所处的时间段;数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。
进一步地,在判断第一时间戳在数据期望列表中是否存在之后,该分布式数据的完整性检测方法还包括:如果判断出第一时间戳在数据期望列表中不存在,判断数据期望列表是否为空列表;如果判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;如果判断出数据期望列表不为空列表,判断第一时间戳是否大于数据期望列表中时间戳的最大值;如果判断出第一时间戳大于数据期望列表中时间戳的最大值,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
进一步地,在判断出数据期望列表不为空列表之后,该分布式数据的完整性检测方法还包括:判断第一时间戳是否小于数据期望列表中的时间戳的最小值;如果判断出第一时间戳小于数据期望列表中的时间戳的最小值,将第一时间戳对应的数据记录为延迟数据;将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。
进一步地,在将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处之后,该分布式数据的完整性检测方法还包括:设置第一预设时间间隔;判断计时时间是否达到第一预设时间间隔;如果判断出计时时间达到第一预设时间间隔,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;如果判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;将数据期望列表中的时间戳删除。
为了实现上述目的,根据本发明的另一方面,提供了一种分布式数据的完整性检测装置。
该分布式数据的完整性检测装置包括:初始化模块,用于初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收模块,用于接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;第一判断模块,用于判断第一时间戳在数据期望列表中是否存在;第一删除模块,用于当判断出第一时间戳在数据期望列表中存在时,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;第二判断模块,用于判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;第一确定模块,用于当判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除时,确定接收到的时间戳对应的数据完整。
进一步地,该分布式数据的完整性检测装置还还包括:第二确定模块,用于数据发送服务器确定待发送数据所处的时间段;标记模块,用于数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;发送模块,用于数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。
进一步地,该分布式数据的完整性检测装置还包括:第三判断模块,用于当判断出第一时间戳在数据期望列表中不存在时,判断数据期望列表是否为空列表;第一添加模块,用于当判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;第三判断模块,用于当判断出数据期望列表不为空列表时,判断第一时间戳是否大于数据期望列表中时间戳的最大值;第二添加模块,用于当判断出第一时间戳大于数据期望列表中时间戳的最大值时,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
进一步地,该分布式数据的完整性检测装置还包括:第四判断模块,用于判断第一时间戳是否小于数据期望列表中的时间戳的最小值;记录模块,用于当判断出第一时间戳小于数据期望列表中的时间戳的最小值时,将第一时间戳对应的数据记录为延迟数据;第一存储模块,用于将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。
进一步地,该分布式数据的完整性检测装置还包括:设置模块,用于设置第一预设时间间隔;第五判断模块,用于判断计时时间是否达到第一预设时间间隔;第六判断模块,用于当判断出计时时间达到第一预设时间间隔时,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;第一存储模块,用于当判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔时,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;第二删除模块,用于将数据期望列表中的时间戳删除。
通过本发明,采用初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整,解决了现有技术无法验证分布式数据的完整性的问题。该发明中的数据发送服务器为数据打上时间戳,当数据接收服务器接收到携带有时间戳的数据时,动态地更细数据期望列表,通过定期检查数据期望列表将未按照预期到达的数据对应的时间戳和数据发送服务器标识记录到延迟日志表中,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的分布式数据的完整性检测方法的流程图;以及
图2是根据本发明实施例的分布式数据的完整性检测装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明旨在提供一种分布式数据的完整性检测方法和装置。
图1是根据本发明实施例的分布式数据的完整性检测方法的流程图。如图1所示,该分布式数据的完整性检测方法包括如下的步骤S101至步骤S106:
步骤S101,初始化数据期望列表。
数据接收服务器在接收由数据发送服务器发送的数据之前,数据接收服务器会初始化本地的数据期望列表,将数据期望列表初始化为空列表。数据期望列表主要用于存储接收的数据的时间戳,通过对时间戳的判定验证数据的完整性。数据期望列表中包含期望数据,其中,期望数据是数据接收服务器和数据发送服务器预先约定发送的数据,实际数据发送服务器在发送数据时可能发送期望数据,也可能未发送期望数据。一条期望数据中主要包括以下内容:数据携带的时间戳,数据发送服务器列表,其中,数据发送服务器列表中存储有一个或者多个数据发送服务器的标识,以及该期望数据到的数据期望列表的到达时间。初始化后的数据期望列表中是没有期望数据的,当数据发送服务器向数据接收服务器发送数据时,即数据接收服务器接收到由数据发送服务器发送的数据时,数据期望列表中才插入期望数据。
步骤S102,接收数据发送服务器发送的数据。
优选地,在接收数据发送服务器发送的数据之前,该实施例的分布式数据的完整性检测方法还包括:数据发送服务器确定待发送数据所处的时间段;数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。比如2014-10-3015:36:00至2014-10-3015:36:10之间的数据会打上同一的时间戳2014-10-3015:36:10,2014-10-3015:36:10至2014-10-3015:36:20之间的数据会打上同一的时间戳2014-10-3015:36:20,数据发送服务器将数据打上时间戳后再将携带有时间戳的数据发送至数据接收服务器。该实施例中的待发送数据的时间戳的标记方式是数据发送服务器和数据接收服务器预先约定好的,这样可以保证数据接收服务器接收携带有时间戳的数据时,能够保证与数据发送服务器发送的数据的一致性和同步性,从而提高数据完整性验证结果的准确性。
数据发送服务器的个数可以只有1个,也可以有多个。当数据发送服务器的个数为多个时,每台数据服务器为待发送数据都会打上时间戳。而且,每个数据发送服务器中不同时间段对应一个时间戳,即每个数据发送服务器对应多个时间戳。为了区别不同的数据发送服务器中数据的时间戳,此处将时间戳确定为第一时间戳,其中,第一时间戳为数据发送服务器发送的数据中携带的时间戳但是,此处的第一并不是顺序或者次序的限制,只是表示多个时间戳中的任意一个时间戳。数据发送服务器发送的数据中除了包括第一时间戳之外,还可以包括第一标识,其中,第一标识为数据发送服务器的标识。数据发送服务器发送的数据的时间戳是由数据发送服务器设定的,而数据期望列表中的时间戳来自于接收到的数据的时间戳,或者由接收到的数据的时间戳计算得到。
该实施例的分布式数据的完整性检测方法利用数据发送服务器为待发送的数据打上时间戳,有利于快速准确地判断数据接收服务器接收到的数据的完整性。
步骤S103,判断第一时间戳在数据期望列表中是否存在。
数据接收服务器每接收到一条由数据发送服务器发送来的携带有时间戳的数据,就会对接收到的数据携带的时间戳进行判断,判断在数据期望列表中是否存在该接收到的数据携带的时间戳。数据期望列表中初始化时不存在任何时间戳,随着数据接收服务器接不断地接收来自数据发送服务器发送的数据,数据期望列表中的时间戳会不断地增加。该实施例的分布式数据的完整性检测方法判断第一时间戳在数据期望列表中是否存在是为了准确判断数据期望列表中存在的时间戳对应的数据是由哪个数据发送服务器发送的,因为由数据发送服务器发送的数据在携带时间戳的同时会携带数据发送服务器的标识。通过对数据期望列表中的第一时间戳对应的数据发送服务器列表中的数据发送服务器的标识进行判断可以准确得到该第一时间戳对应的数据是否为完整的数据。
步骤S104,如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除。
该实施例中的数据发送服务器列表为用于存储数据发送服务器的标识的列表。在判断第一时间戳在数据期望列表中是否存在之后,当判断出第一时间戳在数据期望列表中存在时,将数据发送服务器列表中的第一标识删除,证明该第一标识对应的数据发送服务器发送的数据到达数据接收服务器。数据发送服务器列表中剩余的数据发送服务器的标识代表该剩余的数据发送服务器的标识对应的数据发送服务器发送的数据未到达数据接收服务器,如果数据发送服务器列表中数据发送服务器的标识都被删除,即数据发送服务器列表中不存在剩余的数据发送服务器的标识,则证明数据发送服务器列表中所有的数据发送服务器都将该时间戳对应的数据发送至数据接收服务器,即该时间戳对应的数据是完整的。
在判断第一时间戳在数据期望列表中是否存在之后,当判断出第一时间戳在数据期望列表中不存在时,该实施例的分布式数据的完整性检测方法还包括:判断数据期望列表是否为空列表;如果判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;如果判断出数据期望列表不为空列表,判断第一时间戳是否大于数据期望列表中时间戳的最大值;如果判断出第一时间戳大于数据期望列表中时间戳的最大值,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
比如,数据期望列表中只存在时间戳2014-10-3015:36:10,当接收到的由数据发送服务器1发送的数据的时间戳为2014-10-3015:36:30时,会将该时间戳2014-10-3015:36:30添加至数据期望列表中,并将该时间戳2014-10-3015:36:30对应的数据的到达时间添加至该时间戳2014-10-3015:36:30对应处,同时将标识数据发送服务器1从数据发送服务器列表中删除。此外,还会将时间戳2014-10-3015:36:20对应的数据的到达时间添加至数据期望列表中,并将时间戳2014-10-3015:36:30对应的数据的到达时间添加至该时间戳2014-10-3015:36:20对应处。
优选地,在判断出数据期望列表不为空列表之后,该实施例的分布式数据的完整性检测方法还包括:判断第一时间戳是否小于数据期望列表中的时间戳的最小值;如果判断出第一时间戳小于数据期望列表中的时间戳的最小值,将第一时间戳对应的数据记录为延迟数据;将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。当第一时间戳小于数据期望列表中的时间戳的最小值时,证明该第一时间戳对应的数据为延迟数据,即该数据在期望时间内没有到达数据接收服务器。该实施例的分布式数据的完整性检测方法除了验证数据完整性的同时,还将延迟数据进行存储,这样可以进一步分析数据不完整的原因,以及具体是哪个标识对应的数据发送服务器出现了问题。从延迟日志表中可以分析出,如果造成数据不完整的时间戳在延迟日志表中存在,则说明数据不完整的原因是数据延迟造成的,否则可以直接判断出数据发送服务器未发送该时间戳对应的数据。
优选地,在将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处之后,该实施例的分布式数据的完整性检测方法还包括:设置第一预设时间间隔;判断计时时间是否达到第一预设时间间隔;如果判断出计时时间达到第一预设时间间隔,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;如果判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;将数据期望列表中的时间戳删除。该实施例中的数据接收服务器采用定期检查数据期望列表中的数据的方式,当判断出数据的到达时间和数据接收服务器的当前时间的差值超过第二预设时间间隔时,将该到达时间对应的时间戳和数据发送服务器的标识记录在延迟日志表中,并将数据期望列表中的该到达时间对应的时间戳删除,这样可以减小数据接收服务器的内存消耗,提高数据接收服务器的运算效果。
步骤S105,判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除。
判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除目的是为了判断时间戳对应的数据是否完整。如果数据发送服务器列表中的数据发送服务器的标识已经全部删除,说明数据发送服务器列表中的数据发送服务器全部向数据接收服务器发送了该时间戳对应的数据,而且发送成功了;如果数据发送服务器列表中的数据发送服务器的标识没有全部删除,说明数据发送服务器列表中的部分或者全部数据发送服务器向数据接收服务器发送的该时间戳对应的数据发生了延迟,或者数据发送服务器列表中的部分或者全部数据发送服务器未发送该时间戳对应的数据。
步骤S106,如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整。
在判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除之后,当判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,说明接收到的时间戳对应的数据完整。比如,有5个数据发送服务器,数据发送服务器列表中的数据发送服务器的标识分别对应为1至5。当数据接收服务器接收到由数据发送服务器1发送的时间戳2014-10-3015:36:10的数据之后,将数据发送服务器列表中的标识1删除;当标识2至5对应的数据发送服务器发送的时间戳2014-10-3015:36:10的数据都成功到的数据接收服务器,则数据发送服务器列表中剩余的数据发送服务器的标识为0,则可以确定该时间戳2014-10-3015:36:10的数据是完整的。该实施例的分布式数据的完整性检测方法采用检测数据发送服务器列表中的数据发送服务器的标识已经全部删除判断数据的完整性,可以保证数据完整性验证结果的准确性,而且便于根据数据发送服务器列表中剩余的数据发送服务器的标识确定造成数据不完整的原因出现在哪个数据发送服务器上。
该实施例的分布式数据的完整性检测方法采用初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整,解决了现有技术无法验证分布式数据的完整性的问题,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
从以上的描述中,可以看出,本发明实施例的分布式数据的完整性检测方法通过利用数据发送服务器为待发送的数据打上时间戳,然后判断数据期望列表中是否存在时间戳,决定是否将数据发送服务器列表中的数据发送服务器的标识进行删除,最后通过判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除,确定时间戳对应的数据是否完整,解决了现有技术无法验证分布式数据的完整性的问题。同时,该发明的实施例通过判断时间戳与数据期望列表中的时间戳的关系,记录了延迟数据,通过查看延迟日志表中的延迟数据可以对造成数据不完整的原因进行分析,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例还提供了一种分布式数据的完整性检测装置。需要说明的是,该分布式数据的完整性检测装置可以用于执行本发明实施例的分布式数据的完整性检测方法。
图2是根据本发明实施例的分布式数据的完整性检测装置的示意图。如图2所示,该分布式数据的完整性检测装置包括:初始化模块10,接收模块20,第一判断模块30,第一删除模块40,第二判断模块50和第一确定模块60。
初始化模块10,用于初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表。
接收模块20,用于接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识。
第一判断模块30,用于判断第一时间戳在数据期望列表中是否存在。
第一删除模块40,用于当判断出第一时间戳在数据期望列表中存在时,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表。
第二判断模块50,用于判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除。
第一确定模块60,用于当判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除时,确定接收到的时间戳对应的数据完整。
优选地,该实施例的分布式数据的完整性检测装置还可以包括:第二确定模块,用于数据发送服务器确定待发送数据所处的时间段;标记模块,用于数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;发送模块,用于数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。
优选地,该实施例的分布式数据的完整性检测装置还可以包括:第三判断模块,用于当判断出第一时间戳在数据期望列表中不存在时,判断数据期望列表是否为空列表;第一添加模块,用于当判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;第三判断模块,用于当判断出数据期望列表不为空列表时,判断第一时间戳是否大于数据期望列表中时间戳的最大值;第二添加模块,用于当判断出第一时间戳大于数据期望列表中时间戳的最大值时,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
优选地,该实施例的分布式数据的完整性检测装置还可以包括:第四判断模块,用于判断第一时间戳是否小于数据期望列表中的时间戳的最小值;记录模块,用于当判断出第一时间戳小于数据期望列表中的时间戳的最小值时,将第一时间戳对应的数据记录为延迟数据;第一存储模块,用于将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。
优选地,该实施例的分布式数据的完整性检测装置还可以包括:设置模块,用于设置第一预设时间间隔;第五判断模块,用于判断计时时间是否达到第一预设时间间隔;第六判断模块,用于当判断出计时时间达到第一预设时间间隔时,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;第一存储模块,用于当判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔时,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;第二删除模块,用于将数据期望列表中的时间戳删除。
该实施例的分布式数据的完整性检测装置包括初始化模块10,接收模块20,第一判断模块30,第一删除模块40,第二判断模块50和第一确定模块60。通过该实施例的分布式数据的完整性检测装置解决了现有技术无法验证分布式数据的完整性的问题,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种分布式数据的完整性检测方法,其特征在于,包括:
初始化数据期望列表,其中,所述数据期望列表用于存储接收的数据的时间戳,所述数据期望列表的初始化状态为空列表;
接收数据发送服务器发送的数据,其中,所述数据中包括第一时间戳和第一标识,所述第一时间戳为所述数据发送服务器发送的数据中携带的时间戳,第一标识为所述数据发送服务器的标识;
判断所述第一时间戳在所述数据期望列表中是否存在;
如果判断出所述第一时间戳在所述数据期望列表中存在,将数据发送服务器列表中的所述第一标识删除,所述数据发送服务器列表为用于存储数据发送服务器的标识的列表;
判断所述数据发送服务器列表中的所述数据发送服务器的标识是否已经全部删除;以及
如果判断出所述数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整。
2.根据权利要求1所述的分布式数据的完整性检测方法,其特征在于,在接收数据发送服务器发送的数据之前,所述方法还包括:
所述数据发送服务器确定待发送数据所处的时间段;
所述数据发送服务器对所述待发送数据打上所述时间段的时间戳,其中,所述时间段的时间戳为所述数据发送服务器和数据接收服务器预先约定的时间戳;
以及
所述数据发送服务器将携带有所述时间戳的待发送数据发送至所述数据接收服务器。
3.根据权利要求2所述的分布式数据的完整性检测方法,其特征在于,在判断所述第一时间戳在所述数据期望列表中是否存在之后,所述方法还包括:
如果判断出所述第一时间戳在所述数据期望列表中不存在,判断所述数据期望列表是否为空列表;
如果判断出所述数据期望列表为空列表,在所述数据期望列表中添加所述第一时间戳和所述第一时间戳对应的数据的到达时间,并将所述数据发送服务器列表中的所述第一标识删除;
如果判断出所述数据期望列表不为空列表,判断所述第一时间戳是否大于所述数据期望列表中时间戳的最大值;以及
如果判断出所述第一时间戳大于所述数据期望列表中时间戳的最大值,将所述第一时间戳与所述最大值之间的时间戳添加到所述数据期望列表中,并将所述第一时间戳对应的数据的到达时间分别添加到所述数据期望列表中所述第一时间戳与所述最大值之间的时间戳的对应处。
4.根据权利要求3所述的分布式数据的完整性检测方法,其特征在于,在判断出所述数据期望列表不为空列表之后,所述方法还包括:
判断所述第一时间戳是否小于所述数据期望列表中的时间戳的最小值;
如果判断出所述第一时间戳小于所述数据期望列表中的时间戳的最小值,将所述第一时间戳对应的数据记录为延迟数据;以及
将所述延迟数据存入延迟日志表中,其中,所述延迟日志表用于存储所述延迟数据。
5.根据权利要求4所述的分布式数据的完整性检测方法,其特征在于,在将所述第一时间戳与所述最大值之间的时间戳添加到所述数据期望列表中,并将所述第一时间戳对应的数据的到达时间分别添加到所述数据期望列表中所述第一时间戳与所述最大值之间的时间戳的对应处之后,所述方法还包括:
设置第一预设时间间隔;
判断计时时间是否达到所述第一预设时间间隔;
如果判断出计时时间达到所述第一预设时间间隔,分别判断所述数据期望列表中每个时间戳对应的数据的到达时间与所述数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,所述第二预设时间间隔不同于所述第一预设时间间隔;
如果判断出所述数据期望列表中的时间戳对应的数据的到达时间与所述数据接收服务器的时间之间的差值大于所述第二预设时间间隔,将所述数据期望列表中的时间戳和所述时间戳对应的数据发送服务器的标识存入所述延迟日志表中;
以及
将所述数据期望列表中的所述时间戳删除。
6.一种分布式数据的完整性检测装置,其特征在于,包括:
初始化模块,用于初始化数据期望列表,其中,所述数据期望列表用于存储接收的数据的时间戳,所述数据期望列表的初始化状态为空列表;
接收模块,用于接收数据发送服务器发送的数据,其中,所述数据中包括第一时间戳和第一标识,所述第一时间戳为所述数据发送服务器发送的数据中携带的时间戳,第一标识为所述数据发送服务器的标识;
第一判断模块,用于判断所述第一时间戳在所述数据期望列表中是否存在;
第一删除模块,用于当判断出所述第一时间戳在所述数据期望列表中存在时,将数据发送服务器列表中的所述第一标识删除,所述数据发送服务器列表为用于存储数据发送服务器的标识的列表;
第二判断模块,用于判断所述数据发送服务器列表中的所述数据发送服务器的标识是否已经全部删除;以及
第一确定模块,用于当判断出所述数据发送服务器列表中的数据发送服务器的标识已经全部删除时,确定接收到的时间戳对应的数据完整。
7.根据权利要求6所述的分布式数据的完整性检测装置,其特征在于,所述装置还还包括:
第二确定模块,用于所述数据发送服务器确定待发送数据所处的时间段;
标记模块,用于所述数据发送服务器对所述待发送数据打上所述时间段的时间戳,其中,所述时间段的时间戳为所述数据发送服务器和数据接收服务器预先约定的时间戳;以及
发送模块,用于所述数据发送服务器将携带有所述时间戳的待发送数据发送至所述数据接收服务器。
8.根据权利要求7所述的分布式数据的完整性检测装置,其特征在于,所述装置还包括:
第三判断模块,用于当判断出所述第一时间戳在所述数据期望列表中不存在时,判断所述数据期望列表是否为空列表;
第一添加模块,用于当判断出所述数据期望列表为空列表,在所述数据期望列表中添加所述第一时间戳和所述第一时间戳对应的数据的到达时间,并将所述数据发送服务器列表中的所述第一标识删除;
第三判断模块,用于当判断出所述数据期望列表不为空列表时,判断所述第一时间戳是否大于所述数据期望列表中时间戳的最大值;以及
第二添加模块,用于当判断出所述第一时间戳大于所述数据期望列表中时间戳的最大值时,将所述第一时间戳与所述最大值之间的时间戳添加到所述数据期望列表中,并将所述第一时间戳对应的数据的到达时间分别添加到所述数据期望列表中所述第一时间戳与所述最大值之间的时间戳的对应处。
9.根据权利要求8所述的分布式数据的完整性检测装置,其特征在于,所述装置还包括:
第四判断模块,用于判断所述第一时间戳是否小于所述数据期望列表中的时间戳的最小值;
记录模块,用于当判断出所述第一时间戳小于所述数据期望列表中的时间戳的最小值时,将所述第一时间戳对应的数据记录为延迟数据;以及
第一存储模块,用于将所述延迟数据存入延迟日志表中,其中,所述延迟日志表用于存储所述延迟数据。
10.根据权利要求9所述的分布式数据的完整性检测装置,其特征在于,所述装置还包括:
设置模块,用于设置第一预设时间间隔;
第五判断模块,用于判断计时时间是否达到所述第一预设时间间隔;
第六判断模块,用于当判断出计时时间达到所述第一预设时间间隔时,分别判断所述数据期望列表中每个时间戳对应的数据的到达时间与所述数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,所述第二预设时间间隔不同于所述第一预设时间间隔;
第一存储模块,用于当判断出所述数据期望列表中的时间戳对应的数据的到达时间与所述数据接收服务器的时间之间的差值大于所述第二预设时间间隔时,将所述数据期望列表中的时间戳和所述时间戳对应的数据发送服务器的标识存入所述延迟日志表中;以及
第二删除模块,用于将所述数据期望列表中的所述时间戳删除。
CN201410737695.1A 2014-12-04 2014-12-04 分布式数据的完整性检测方法和装置 Active CN104468569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410737695.1A CN104468569B (zh) 2014-12-04 2014-12-04 分布式数据的完整性检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410737695.1A CN104468569B (zh) 2014-12-04 2014-12-04 分布式数据的完整性检测方法和装置

Publications (2)

Publication Number Publication Date
CN104468569A CN104468569A (zh) 2015-03-25
CN104468569B true CN104468569B (zh) 2017-12-22

Family

ID=52913941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410737695.1A Active CN104468569B (zh) 2014-12-04 2014-12-04 分布式数据的完整性检测方法和装置

Country Status (1)

Country Link
CN (1) CN104468569B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107015999B (zh) * 2016-01-28 2020-11-03 创新先进技术有限公司 一种基于分布式环境的信息发送方法及装置
CN108268357B (zh) 2016-12-30 2021-10-26 阿里巴巴集团控股有限公司 实时数据处理方法和装置
EP3562094B1 (en) * 2018-04-23 2020-12-02 TTTech Computertechnik AG Network device and method for scalable data integrity checking

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478684A (zh) * 2008-12-31 2009-07-08 杭州华三通信技术有限公司 检测存储视频数据完整性的方法和系统
CN102045389A (zh) * 2010-11-25 2011-05-04 深圳市科陆电子科技股份有限公司 一种基于osgi的分布式数据存储方法
CN103729436A (zh) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 一种分布式元数据管理方法及系统
CN104065752A (zh) * 2014-07-11 2014-09-24 上海百步电子科技股份有限公司 终端间数据同步方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229985B2 (en) * 2005-02-07 2012-07-24 Cisco Technology, Inc. Arrangement for a distributed file system having data objects mapped independent of any data object attribute

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101478684A (zh) * 2008-12-31 2009-07-08 杭州华三通信技术有限公司 检测存储视频数据完整性的方法和系统
CN102045389A (zh) * 2010-11-25 2011-05-04 深圳市科陆电子科技股份有限公司 一种基于osgi的分布式数据存储方法
CN103729436A (zh) * 2013-12-27 2014-04-16 中国科学院信息工程研究所 一种分布式元数据管理方法及系统
CN104065752A (zh) * 2014-07-11 2014-09-24 上海百步电子科技股份有限公司 终端间数据同步方法

Also Published As

Publication number Publication date
CN104468569A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN109033471B (zh) 一种信息资产识别方法及装置
US8797901B2 (en) Method and its devices of network TCP traffic online identification using features in the head of the data flow
CN110413441A (zh) 主备存储卷同步数据校验方法、装置、设备及存储介质
CN101808351B (zh) 业务影响分析方法和系统
CN103761279B (zh) 一种基于关键词检索的网络爬虫调度方法及系统
CN109586947A (zh) 分布式设备信息采集系统和方法
CN104468569B (zh) 分布式数据的完整性检测方法和装置
CN105323640A (zh) 一种基于互联网实现智能电视售后服务的方法、系统和设备
CN104320325B (zh) 一种消息推送方法及装置
CN105323121B (zh) 一种网络状况检测方法及装置
CN106130827B (zh) 网络设备可达性的检测方法和装置
CN106411644A (zh) 基于dpi技术的网络共享设备检测方法及系统
CN107483381A (zh) 关联账户的监控方法及装置
CN104122871A (zh) 一种半导体测试数据实时监控系统及其方法
US11503110B2 (en) Method for presenting schedule reminder information, terminal device, and cloud server
CN110493302A (zh) 一种文件传输方法、设备及计算机可读存储介质
CN110784486A (zh) 一种工业漏洞扫描方法和系统
CN103400220A (zh) 一种网络设备信息的采集、分类以及固定标识的方法
WO2017059778A1 (zh) 检测空壳网站的方法、装置及系统
CN104461847B (zh) 数据处理程序检测方法及装置
CN106790130B (zh) 一种报文匹配方法及装置
CN107592243A (zh) 一种验证路由器静态绑定功能的方法及装置
CN110457897A (zh) 一种基于通信协议与sql语法的数据库安全检测方法
CN103297480A (zh) 一种应用服务自动检测系统和方法
CN106130764B (zh) 一种监控视频直播间数据服务是否可用的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Integrity detection method and device of distributed data

Effective date of registration: 20190531

Granted publication date: 20171222

Pledgee: Shenzhen Black Horse World Investment Consulting Co., Ltd.

Pledgor: Beijing Guoshuang Technology Co.,Ltd.

Registration number: 2019990000503

PE01 Entry into force of the registration of the contract for pledge of patent right
CP02 Change in the address of a patent holder

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Patentee after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Patentee before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder