CN115033927A - 一种检测数据完整性的方法、装置、设备及介质 - Google Patents
一种检测数据完整性的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115033927A CN115033927A CN202210626018.7A CN202210626018A CN115033927A CN 115033927 A CN115033927 A CN 115033927A CN 202210626018 A CN202210626018 A CN 202210626018A CN 115033927 A CN115033927 A CN 115033927A
- Authority
- CN
- China
- Prior art keywords
- data
- time interval
- detected
- identification information
- terminal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种检测数据完整性的方法、装置、设备及介质,在本发明实施例中,电子设备向生产者终端发送第一检测指令,使生产者终端统计并响应待检测时间区间内已发布数据的第一总条数,向消费者终端发送第二检测指令,使消费者终端统计并响应待检测时间区间内已接收数据的第二总条数。当第一总条数和第二总条数一致,确定待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。从而实现了数据完整性自动检测,相较于现有技术中由人工统计并检测数据完整性的方案,提高了检测数据完整性的实时性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种检测数据完整性的方法、装置、设备及介质。
背景技术
在数据安全领域,数据传输的完整性是数据安全传输的主要目的。数据分发系统与主流消息中间件系统中,当数据生产者终端和消费者终端出现数据不一致时或消费者终端消费后数据存储出现异常时,需要进行数据追补、回溯,最终确保上下游数据的完整性。
在传统消息中间件系统中,数据生产者终端、或消费者终端发生故障,数据完整性被破坏时,通常处理方式是生产者回调数据游标到故障点之前,然后重新发布数据。以kafka(开源流处理平台)消息中间件为例,极限情况下,broker(数据节点服务器)全部异常时,数据无法正常接收,此时需要调整生产者终端应用,重新发布丢失的数据;当消费者终端异常时,消费者终端需要手动调整订阅数据的OffSet(数据偏移,回溯),重新获取数据。特别是一对多场景(一个生产者终端对多个消费者终端),如果kafka自身故障了,发生数据丢失,那么生产者终端、消费者终端需要逐个调整,重新发布、订阅数据。
相关技术存在的问题是,数据生产者终端、消费者终端无法自动完成数据完整性比对,一般做法是分别人工统计生产者终端发布数据笔数、消费者终端订阅数据笔数,再进行比对;数据修复同样需要手动调整。发现数据缺失或其他异常时,往往需要运维人员干预,手工调整数据生产者终端或消费者终端应用程序,重新进行数据发布或订阅,检测数据完整性的实时性差。
发明内容
本发明实施例提供了一种检测数据完整性的方法、装置、设备及介质,用以解决相关技术中检测数据完整性的实时性差的问题。
本发明实施例提供了一种检测数据完整性的方法,所述方法包括:
向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
进一步地,所述确定所述待检测时间区间内数据不完整之后,所述方法还包括:
向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
进一步地,如果判断所述第三总条数和第四总条数不一致,所述方法还包括:
向运维平台发送告警信息,所述告警信息中携带所述待检测时间区间标识信息、所述生产者终端的标识信息和所述消费者终端的标识信息。
进一步地,所述向生产者终端发送第一检测指令之前,所述方法还包括:
查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;
针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;根据该生产者终端的标识信息向生产者终端发送第一检测指令,根据该消费者终端的标识信息向消费者终端发送第二检测指令。
进一步地,所述确定所述待检测时间区间内数据完整之后或向运维平台发送告警信息之后,所述方法还包括:
根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
另一方面,本发明实施例提供了一种检测数据完整性的装置,所述装置包括:
第一发送接收模块,用于向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
第二发送接收模块,用于向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
检测模块,用于判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
进一步地,所述装置还包括:
校正模块,用于向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
所述第一发送接收模块,还用于向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
所述第二发送接收模块,还用于向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
所述检测模块,还用于判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
进一步地,所述装置还包括:
告警模块,用于如果所述检测模块确定所述待检测时间区间内数据不完整,向运维平台发送告警信息,所述告警信息中携带所述待检测时间区间标识信息、所述生产者终端的标识信息和所述消费者终端的标识信息。
进一步地,所述向生产者终端发送第一检测指令之前,所述方法还包括:
获取模块,用于查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;
所述第一发送接收模块,具体用于根据该生产者终端的标识信息向生产者终端发送第一检测指令;
所述第二发送接收模块,具体用于根据该消费者终端的标识信息向消费者终端发送第二检测指令。
进一步地,所述检测模块,还用于根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
再一方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一项所述的方法步骤。
再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法步骤。
本发明实施例提供了一种检测数据完整性的方法、装置、设备及介质,所述方法包括:向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
上述的技术方案具有如下优点或有益效果:
在本发明实施例中,电子设备向生产者终端发送第一检测指令,使生产者终端统计并响应待检测时间区间内已发布数据的第一总条数,向消费者终端发送第二检测指令,使消费者终端统计并响应待检测时间区间内已接收数据的第二总条数。当第一总条数和第二总条数一致,确定待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。从而实现了数据完整性自动检测,相较于现有技术中由人工统计并检测数据完整性的方案,提高了检测数据完整性的实时性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的检测数据完整性的过程示意图;
图2为本发明实施例提供的检测数据完整性系统结构图;
图3为本发明实施例提供的检测数据完整性详细流程图;
图4为本发明实施例提供的检测数据完整性的装置结构示意图;
图5为本发明实施例提供的电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有技术中,以kafka(开源流处理平台)消息中间件为例,极限情况下,broker(数据节点服务器)全部异常时,数据无法正常接收,此时需要调整生产者终端应用,重新发布丢失的数据;当消费者终端异常时,消费者终端需要手动调整订阅数据的偏移OffSet,重新获取数据。特别是一个生产者终端对应多个消费者终端的场景,如果kafka自身故障了,发生数据丢失,那么生产者终端、消费者终端需要逐个调整,重新发布、订阅数据。
由此发现,现有技术存在的技术问题是:1、数据生产者终端、消费者终端无法自动完成数据笔数比对,一般做法是分别人工统计生产者终端发布数据笔数、消费者终端订阅数据笔数,再进行比对。2、数据修复需要手动调整。发现数据缺失或其他异常时,往往需要运维人员干预,手工调整数据发布者终端或消费者终端应用程序,重新进行数据发布或订阅,无法自动化,运维效率低。3、一对多场景下,数据修复时效性低。当消息中间件自身故障,发生数据丢失时,数据生产者终端需要重新发布数据,而订阅同一topic(类型)的消费者终端需要分别调整各自的OffSet,重新消费。很显然,这种校正方式时效性较低,不能做到即时恢复。
基于上述问题,本发明实施例提供了一种能够自动检测数据完整性的方案。图1为本发明实施例提供的检测数据完整性的过程示意图,该过程包括以下步骤:
S101:向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
S102:向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
S103:判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
发明实施例提供的检测数据完整性方法应用于电子设备,该电子设备可以是PC、平板电脑等设备,也可以是服务器。
电子设备分别与生产者终端和消费者终端连接,其中,根据应用场景,电子设备可以分别与生产者终端和消费者终端有线连接或无线连接。电子设备分别与生产者终端和消费者终端连接之后,电子设备可以分别向生产者终端和消费者终端发送检测指令,根据预先配置的功能,生产者终端和消费者终端接收到检测指令后,分别向电子设备响应相应的统计数据。
具体的,本发明实施例中,将电子设备向生产者终端发送的检测指令称为第一检测指令。第一检测指令中携带待检测时间区间标识信息,也就是说此时电子设备在检测待检测时间区间内数据是否完整。生产者终端接收到第一检测指令后,获取第一检测指令中携带的待检测时间区间标识信息,然后统计待检测时间区间内已发布数据的第一总条数,并响应给电子设备。本发明实施例中,将电子设备向消费者终端发送的检测指令称为第二检测指令。第二检测指令中同样携带待检测时间区间。消费者终端接收到第二检测指令后,获取第二检测指令中携带的待检测时间区间的标识信息,然后统计待检测时间区间内已接收数据的第二总条数,并响应给电子设备。
电子设备接收到第一总条数和第二总条数之后,判断第一总条数和第二总条数是否一致,如果一致,则说明生产者终端发送的数据被消费者终端完全接收到,此时确定待检测时间区间内数据完整。如果不一致,则说明生产者终端发送的数据没有被消费者终端完全接收到,此时确定待检测时间区间内数据不完整。
在本发明实施例中,电子设备向生产者终端发送第一检测指令,使生产者终端统计并响应待检测时间区间内已发布数据的第一总条数,向消费者终端发送第二检测指令,使消费者终端统计并响应待检测时间区间内已接收数据的第二总条数。当第一总条数和第二总条数一致,确定待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。从而实现了数据完整性自动检测,相较于现有技术中由人工统计并检测数据完整性的方案,提高了检测数据完整性的实时性。
为了提高数据运维效率,在本发明实施例中,所述确定所述待检测时间区间内数据不完整之后,所述方法还包括:
向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
本发明实施例中,如果电子设备确定待检测时间区间内数据不完整,则向生产者终端发送校正指令,校正指令中携带数据不完整的待检测时间区间标识信息。生产者终端根据预先配置的功能,接收到校正指令后重新向电子设备发送待检测时间区间内已发布的数据,电子设备再将接收到的数据转发至消费者终端。然后再重新向生产者终端和消费者终端发送检测指令,对待检测时间区间内的数据完整性进行再次检测。如果再次检测确定数据完整,则数据运维成功,如果再次检测确定数据仍然不完整,则向运维平台发送告警信息,告警信息中携带所述待检测时间区间标识信息、生产者终端的标识信息和消费者终端的标识信息。以便运维人员根据告警信息进行数据维护。
具体的,本发明实施例中,将电子设备重新向生产者终端发送的检测指令称为第三检测指令。第三检测指令中携带待检测时间区间标识信息。生产者终端接收到第三检测指令后,获取第三检测指令中携带的待检测时间区间标识信息,然后统计待检测时间区间内重新发布数据的第三总条数,并响应给电子设备。本发明实施例中,将电子设备重新向消费者终端发送的检测指令称为第四检测指令。第四检测指令中同样携带待检测时间区间。消费者终端接收到第四检测指令后,获取第四检测指令中携带的待检测时间区间的标识信息,然后统计待检测时间区间内重新接收到的数据的第四总条数,并响应给电子设备。
电子设备接收到第三总条数和第四总条数之后,判断第三总条数和第四总条数是否一致,如果一致,则说明生产者终端重新发送的数据被消费者终端完全接收到,此时确定待检测时间区间内数据完整并已运维完成。如果不一致,则说明生产者终端发送的数据仍然没有被消费者终端完全接收到,此时确定待检测时间区间内数据不完整,并向运维平台发送告警信息。
需要说明的是,本发明实施例中,若重新发送第三检测指令和第四检测指令之后,仍然确定数据不完整,可以直接向运维平台发送告警信息。也可以是设定重新发送检测指令次数,例如设定重新发送检测指令次数为三次,那么重新发送第三检测指令和第四检测指令之后,仍然确定数据不完整,可以再向生产者终端和消费者终端发送检测指令,若重复三次后仍然确定数据不完整,再向运维平台发送告警信息。
需要说明的是,在检测待检测时间区间内数据完整性时,若判断生产者终端发送的数据总条数与消费者终端接收的数据总条数不一致时,在设定重新发送检测指令次数内,重新向生产者终端和消费者终端发送检测指令之前可以判断生产者终端发送的数据总条数与消费者终端接收的数据总条数的差是否大于设定的条数阈值,若大于设定的条数阈值则直接向运维平台发送告警信息,如果不大于设定的条数阈值则重新向生产者终端和消费者终端发送检测指令。生产者终端发送的数据总条数与消费者终端接收的数据总条数的差较大时,直接通知运维人员进行处理,可以进一步提高数据运维效率。
本发明实施例中,向生产者终端发送第一检测指令之前,所述方法还包括:
查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;
针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;根据该生产者终端的标识信息向生产者终端发送第一检测指令,根据该消费者终端的标识信息向消费者终端发送第二检测指令。
电子设备中保存有订阅关系表,订阅关系表中包含各类数据,以及每类数据分别对应的生产者终端的标识信息和消费者终端的标识信息,其中,对于每类数据,其对应生产者终端的标识信息可能是多个,消费者终端的标识信息也可能是多个,也就是存在一个生产者终端对应多个消费者终端的情况,或者多个生产者终端对应一个消费者终端的情况,这些负载情况需要检测每个生产者终端和对应的每个消费者终端的数据完整性。
查询订阅关系表,获取订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息之后,也就确定出了每类数据中每个生产者终端与每个消费者终端的关系对,然后针对每个关系对,向该关系对中的生产者终端发送第一检测指令,向该关系对中的消费者终端发送第二检测指令。从而实现一对多、多对一订阅等复杂场景的数据完整性检测与校正。
本发明实施例中,所述确定所述待检测时间区间内数据完整之后或向运维平台发送告警信息之后,所述方法还包括:
根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
本发明实施例中,电子设备保存有预先划分的每个待检测时间区间,其中,预先划分每个待检测时间区间可以是将一天24小时,以10分钟为步长进行待检测时间区间的划分。将一天24h分成144个检测时区,每10分钟为一个时区,从00:00:00-00:10:00开始,到23:50:00-00:00:00(次日)结束。每个检测时区分配一个区间序列号,根据序列号,生成每个待检测时间区间。确定待检测时间区间内数据完整之后或向运维平台发送告警信息之后,根据预先划分的每个待检测时间区间及各自对应的序号,对待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
本发明实施例提供的检测数据完整性方案效果如下:
1、自动检测、校正数据。数据生产者终端一旦发布topic数据后,电子设备将启动定时或实时检测、比对,一旦发现异常,将自动校正,全程无人工干预,减轻运维人员压力,提高工作效率。
2、参数化管理。方便运维人员,可根据业务要求,动态配置,对于数据完整性要求较高的topic,可配置上自动检测开关。
3、方案具备高可用性,在数据分发系统的每个应用主机节点上,均部署了本方案的功能服务,同时只有一台节点在工作,当该节点发生故障时,其他节点能自动接管。
4、能高效应对一对多、多对一订阅等复杂场景的数据校正。数据分发处理中心准实时跟踪监测上下游数据一致性情况,一旦发现数据不一致,将立即发起校正指令。
本发明实施例提出一种数据分发系统中,保证数据生产者终端、消费者终端数据严格完整性的自动化检测、校正的方法。数据分发系统处理中心(电子设备)按时间序列,定时向生产者终端、消费者终端(可能是多个)发起查询,收到各方的应答后,处理中心比对上下游反馈的数据条数,判决是否发起校正,如出现不一致,那么将会向数据生产者发起校正指令以及故障时间点,数据生产者收到指令后,将从故障时间点重新发布topic,所有消费者将会重新收到该topic的推送,处理中心会在下一个周期继续检测该故障区间的数据,如果校正成功,继续下个时间区间的检测,否则将再次尝试校正,如果仍然无法比对一致(极限情况),则处理中心将直接告警,由运维人员出手干预。
图2为本发明实施例提供的检测数据完整性系统结构图,包括电子设备、生产者终端和消费者终端。电子设备分别与生产者终端和消费者终端连接。
生产者终端负责接收电子设备发来的检测指令以及待检测时间区间[t1,t2],然后统计区间内的已发布的数据总条数,再组织应答报文返回给电子设备。
消费者终端负责接收电子设备发来的检测指令以及待检测时间区间[t1,t2],然后统计区间内已经接收的数据总条数,再组织应答报文返回给电子设备。
电子设备负责从共享内存中,获取待检测的topic任务列表,然后时间区间生成算法模块将一天24h分成144个检测时区,每10分钟为一个时区,从00:00:00-00:10:00开始,到23:50:00-00:00:00(次日)结束。每个检测时区分配一个区间序列号,根据序列号,生成待检测时间区间[t1,t2],然后向生产者终端和消费者终端发起检测指令,生产者终端和消费者终端返回应答后,双方返回的统计条数将被记入redis(缓存服务器)。
电子设备从redis中获取双方返回的数据条数,如果出现不一致,那么将自动发起校正。生产者终端收到校正指令后,回溯时间片,重新发布[t1,t2]区间的数据。电子设备将于下个周期,重新发起检测,如果条数一致,则继续下个时区[t2,t3]的检测,否则将直接告警,由运维人员出手干预。
图3为本发明实施例提供的检测数据完整性详细流程图,包括以下步骤:
S201:电子设备查询订阅关系表,获取待检测topic列表。
S202:电子设备查询redis获取时间区间序列号,并以此生成检测时间区间[t1,t2],组织检测请求报文分别发给生产者终端和消费者终端。
S203:生产者终端返回异步应答,检测结果(交易笔数或称为数据总条数)记入redis。
S204:消费者终端返回异步应答,检测结果(交易笔数或称为数据总条数)记入redis。
S205:电子设备对比生产者终端和消费者终端的交易笔数,如果是一致的,则更新时间区间序列号,进行下一时间区间的数据完整性检测,否则,进行S206。
S206:电子设备组织校正请求报文,并发送至生产者终端。
S207:生产者终端收到校正请求后,根据校正时间区间[t1,t2],回溯时间片,重新发布数据。
S208:电子设备在下个周期检测[t1,t2]数据是否一致,如果一致,则更新时间区间序列号,进行下一时间区间的数据完整性检测,否则,直接告警,由运维人员出手干预。
图4为本发明实施例提供的检测数据完整性的装置结构示意图,该装置包括:
第一发送接收模块41,用于向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
第二发送接收模块42,用于向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
检测模块43,用于判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
所述装置还包括:
校正模块44,用于向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
所述第一发送接收模块41,还用于向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
所述第二发送接收模块42,还用于向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
所述检测模块43,还用于判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
所述装置还包括:
告警模块45,用于如果所述检测模块确定所述待检测时间区间内数据不完整,向运维平台发送告警信息,所述告警信息中携带所述待检测时间区间标识信息、所述生产者终端的标识信息和所述消费者终端的标识信息。
所述向生产者终端发送第一检测指令之前,所述方法还包括:
获取模块46,用于查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;
所述第一发送接收模块41,具体用于根据该生产者终端的标识信息向生产者终端发送第一检测指令;
所述第二发送接收模块42,具体用于根据该消费者终端的标识信息向消费者终端发送第二检测指令。
所述检测模块43,还用于根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
本发明实施例中还提供了一种电子设备,如图5所示,包括:处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信;
所述存储器303中存储有计算机程序,当所述程序被所述处理器301执行时,使得所述处理器301执行如下步骤:
向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
基于同一发明构思,本发明实施例中还提供了一种电子设备,由于上述电子设备解决问题的原理与检测数据完整性方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
本发明实施例提供的电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、网络侧设备等。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口302用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本发明实施例还提供了一种计算机存储可读存储介质,所述计算机可读存储介质内存储有可由电子设备执行的计算机程序,当所述程序在所述电子设备上运行时,使得所述电子设备执行时实现如下步骤:
向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
基于同一发明构思,本发明实施例中还提供了一种计算机可读存储介质,由于处理器在执行上述计算机可读存储介质上存储的计算机程序时解决问题的原理与检测数据完整性的方法相似,因此处理器在执行上述计算机可读存储介质存储的计算机程序的实施可以参见方法的实施,重复之处不再赘述。
上述计算机可读存储介质可以是电子设备中的处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器如软盘、硬盘、磁带、磁光盘(MO)等、光学存储器如CD、DVD、BD、HVD等、以及半导体存储器如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种检测数据完整性的方法,其特征在于,所述方法包括:
向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
2.如权利要求1所述的方法,其特征在于,所述确定所述待检测时间区间内数据不完整之后,所述方法还包括:
向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
3.如权利要求2所述的方法,其特征在于,如果判断所述第三总条数和第四总条数不一致,所述方法还包括:
向运维平台发送告警信息,所述告警信息中携带所述待检测时间区间标识信息、所述生产者终端的标识信息和所述消费者终端的标识信息。
4.如权利要求1所述的方法,其特征在于,所述向生产者终端发送第一检测指令之前,所述方法还包括:
查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;
针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;根据该生产者终端的标识信息向生产者终端发送第一检测指令,根据该消费者终端的标识信息向消费者终端发送第二检测指令。
5.如权利要求3所述的方法,其特征在于,所述确定所述待检测时间区间内数据完整之后或向运维平台发送告警信息之后,所述方法还包括:
根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
6.一种检测数据完整性的装置,其特征在于,所述装置包括:
第一发送接收模块,用于向生产者终端发送第一检测指令,所述第一检测指令中携带待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内已发布数据的第一总条数;
第二发送接收模块,用于向消费者终端发送第二检测指令,所述第二检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内已接收数据的第二总条数;
检测模块,用于判断所述第一总条数和第二总条数是否一致,如果一致,确定所述待检测时间区间内数据完整,否则确定所述待检测时间区间内数据不完整。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
校正模块,用于向所述生产者终端发送校正指令,所述校正指令中携带所述待检测时间区间标识信息;接收所述生产者终端重新发送的所述待检测时间区间内已发布的数据;并将接收到的所述生产者终端重新发送的数据转发至所述消费者终端;
所述第一发送接收模块,还用于向所述生产者终端发送第三检测指令,所述第三检测指令中携带所述待检测时间区间标识信息;接收所述生产者终端统计并响应的所述待检测时间区间内重新发布数据的第三总条数;
所述第二发送接收模块,还用于向所述消费者终端发送第四检测指令,所述第四检测指令中携带所述待检测时间区间标识信息;接收所述消费者终端统计并响应的所述待检测时间区间内重新接收数据的第四总条数;
所述检测模块,还用于判断所述第三总条数和第四总条数是否一致,如果一致,确定所述待检测时间区间内数据完整。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
告警模块,用于如果所述检测模块确定所述待检测时间区间内数据不完整,向运维平台发送告警信息,所述告警信息中携带所述待检测时间区间标识信息、所述生产者终端的标识信息和所述消费者终端的标识信息。
9.如权利要求6所述的装置,其特征在于,所述向生产者终端发送第一检测指令之前,所述方法还包括:
获取模块,用于查询订阅关系表,获取所述订阅关系表中包含的每类数据及各自对应的生产者终端的标识信息和消费者终端的标识信息;针对每类数据,确定该类数据对应的生产者终端的标识信息和消费者终端的标识信息;
所述第一发送接收模块,具体用于根据该生产者终端的标识信息向生产者终端发送第一检测指令;
所述第二发送接收模块,具体用于根据该消费者终端的标识信息向消费者终端发送第二检测指令。
10.如权利要求6或7所述的装置,其特征在于,所述检测模块,还用于根据预先划分的每个待检测时间区间及各自对应的序号,对所述待检测时间区间的下一序号的待检测时间区间进行数据完整性检测。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一项所述的方法步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626018.7A CN115033927A (zh) | 2022-06-02 | 2022-06-02 | 一种检测数据完整性的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210626018.7A CN115033927A (zh) | 2022-06-02 | 2022-06-02 | 一种检测数据完整性的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115033927A true CN115033927A (zh) | 2022-09-09 |
Family
ID=83122898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210626018.7A Pending CN115033927A (zh) | 2022-06-02 | 2022-06-02 | 一种检测数据完整性的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115033927A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938897A (zh) * | 2023-09-19 | 2023-10-24 | 好信云(北京)网络通信有限公司 | 一种用于会议的实时通信的方法和装置 |
-
2022
- 2022-06-02 CN CN202210626018.7A patent/CN115033927A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116938897A (zh) * | 2023-09-19 | 2023-10-24 | 好信云(北京)网络通信有限公司 | 一种用于会议的实时通信的方法和装置 |
CN116938897B (zh) * | 2023-09-19 | 2023-12-15 | 好信云(北京)网络通信有限公司 | 一种用于会议的实时通信的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213068B (zh) | 一种消息中间件的监控方法及相关设备 | |
US10509585B2 (en) | Data synchronization method, apparatus, and system | |
US10664385B1 (en) | Debugging in an actor-based system | |
US11907561B2 (en) | Data backup method and apparatus | |
CN110661659A (zh) | 一种告警方法、装置、系统及电子设备 | |
CN108737132B (zh) | 一种告警信息处理方法及装置 | |
CN108540533B (zh) | 一种应答请求的方法和装置 | |
CN107729213B (zh) | 一种后台任务监控方法及装置 | |
CN103401698A (zh) | 用于服务器集群运算中对服务器状况报警的监控系统 | |
CN110554930A (zh) | 一种数据存储方法及相关设备 | |
CN112087530B (zh) | 一种将数据上传至区块链系统的方法、装置、设备及介质 | |
CN108418859B (zh) | 写数据的方法和装置 | |
CN111901176B (zh) | 故障确定方法、装置、设备及存储介质 | |
CN111865665B (zh) | 一种网络设备故障自愈方法和装置 | |
CN105243001A (zh) | 业务对象的异常告警方法和装置 | |
US11930292B2 (en) | Device state monitoring method and apparatus | |
CN115033927A (zh) | 一种检测数据完整性的方法、装置、设备及介质 | |
CN111949421B (zh) | Sdk调用方法、装置、电子设备和计算机可读存储介质 | |
CN112732660A (zh) | 干预式文件传输方法、装置及系统 | |
CN109450702B (zh) | 一种数据处理方法及装置 | |
CN116719639A (zh) | 链路动态调整和数据处理方法、装置、计算机设备及介质 | |
CN111354174A (zh) | 一种告警方法、装置、服务器及可读存储介质 | |
CN112671590B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
WO2018001114A1 (zh) | 一种数据处理方法及装置 | |
CN114138615A (zh) | 一种业务告警处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |