发明内容
本发明的主要目的在于提供一种分布式数据的完整性检测方法和装置,以解决现有技术无法验证分布式数据的完整性的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种分布式数据的完整性检测方法。
该分布式数据的完整性检测方法包括:初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整。
进一步地,在接收数据发送服务器发送的数据之前,该分布式数据的完整性检测方法还包括:数据发送服务器确定待发送数据所处的时间段;数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。
进一步地,在判断第一时间戳在数据期望列表中是否存在之后,该分布式数据的完整性检测方法还包括:如果判断出第一时间戳在数据期望列表中不存在,判断数据期望列表是否为空列表;如果判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;如果判断出数据期望列表不为空列表,判断第一时间戳是否大于数据期望列表中时间戳的最大值;如果判断出第一时间戳大于数据期望列表中时间戳的最大值,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
进一步地,在判断出数据期望列表不为空列表之后,该分布式数据的完整性检测方法还包括:判断第一时间戳是否小于数据期望列表中的时间戳的最小值;如果判断出第一时间戳小于数据期望列表中的时间戳的最小值,将第一时间戳对应的数据记录为延迟数据;将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。
进一步地,在将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处之后,该分布式数据的完整性检测方法还包括:设置第一预设时间间隔;判断计时时间是否达到第一预设时间间隔;如果判断出计时时间达到第一预设时间间隔,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;如果判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;将数据期望列表中的时间戳删除。
为了实现上述目的,根据本发明的另一方面,提供了一种分布式数据的完整性检测装置。
该分布式数据的完整性检测装置包括:初始化模块,用于初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收模块,用于接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;第一判断模块,用于判断第一时间戳在数据期望列表中是否存在;第一删除模块,用于当判断出第一时间戳在数据期望列表中存在时,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;第二判断模块,用于判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;第一确定模块,用于当判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除时,确定接收到的时间戳对应的数据完整。
进一步地,该分布式数据的完整性检测装置还还包括:第二确定模块,用于数据发送服务器确定待发送数据所处的时间段;标记模块,用于数据发送服务器对待发送数据打上时间段的时间戳,其中,时间段的时间戳为数据发送服务器和数据接收服务器预先约定的时间戳;发送模块,用于数据发送服务器将携带有时间戳的待发送数据发送至数据接收服务器。
进一步地,该分布式数据的完整性检测装置还包括:第三判断模块,用于当判断出第一时间戳在数据期望列表中不存在时,判断数据期望列表是否为空列表;第一添加模块,用于当判断出数据期望列表为空列表,在数据期望列表中添加第一时间戳和第一时间戳对应的数据的到达时间,并将数据发送服务器列表中的第一标识删除;第三判断模块,用于当判断出数据期望列表不为空列表时,判断第一时间戳是否大于数据期望列表中时间戳的最大值;第二添加模块,用于当判断出第一时间戳大于数据期望列表中时间戳的最大值时,将第一时间戳与最大值之间的时间戳添加到数据期望列表中,并将第一时间戳对应的数据的到达时间分别添加到数据期望列表中第一时间戳与最大值之间的时间戳的对应处。
进一步地,该分布式数据的完整性检测装置还包括:第四判断模块,用于判断第一时间戳是否小于数据期望列表中的时间戳的最小值;记录模块,用于当判断出第一时间戳小于数据期望列表中的时间戳的最小值时,将第一时间戳对应的数据记录为延迟数据;第一存储模块,用于将延迟数据存入延迟日志表中,其中,延迟日志表用于存储延迟数据。
进一步地,该分布式数据的完整性检测装置还包括:设置模块,用于设置第一预设时间间隔;第五判断模块,用于判断计时时间是否达到第一预设时间间隔;第六判断模块,用于当判断出计时时间达到第一预设时间间隔时,分别判断数据期望列表中每个时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值是否大于第二预设时间间隔,其中,第二预设时间间隔不同于第一预设时间间隔;第一存储模块,用于当判断出数据期望列表中的时间戳对应的数据的到达时间与数据接收服务器的时间之间的差值大于第二预设时间间隔时,将数据期望列表中的时间戳和时间戳对应的数据发送服务器的标识存入延迟日志表中;第二删除模块,用于将数据期望列表中的时间戳删除。
通过本发明,采用初始化数据期望列表,其中,数据期望列表用于存储接收的数据的时间戳,数据期望列表的初始化状态为空列表;接收数据发送服务器发送的数据,其中,数据中包括第一时间戳和第一标识,第一时间戳为数据发送服务器发送的数据中携带的时间戳,第一标识为数据发送服务器的标识;判断第一时间戳在数据期望列表中是否存在;如果判断出第一时间戳在数据期望列表中存在,将数据发送服务器列表中的第一标识删除,数据发送服务器列表为用于存储数据发送服务器的标识的列表;判断数据发送服务器列表中的数据发送服务器的标识是否已经全部删除;如果判断出数据发送服务器列表中的数据发送服务器的标识已经全部删除,确定接收到的时间戳对应的数据完整,解决了现有技术无法验证分布式数据的完整性的问题。该发明中的数据发送服务器为数据打上时间戳,当数据接收服务器接收到携带有时间戳的数据时,动态地更细数据期望列表,通过定期检查数据期望列表将未按照预期到达的数据对应的时间戳和数据发送服务器标识记录到延迟日志表中,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明旨在提供一种分布式数据的完整性检测方法和装置。
图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。通过该实施例的分布式数据的完整性检测装置解决了现有技术无法验证分布式数据的完整性的问题,进而达到了准确判断数据完整性的效果,同时能够精确判断哪个数据发送服务器在哪个时间戳位置上的数据不完整,以及能够准确分析出数据不完整的原因是数据延迟还是数据未到达。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。