一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图片一致性检测方法、装置、存储设备及可读存储介质与流程

2022-06-05 13:22:31 来源:中国专利 TAG:


1.本发明涉及安防监控领域,具体而言,涉及一种图片一致性检测方法、装置、存储设备及可读存储介质。


背景技术:

2.在当前的安防监控领域中,监控设备采集的图片数据需要保存至存储设备,因此要求存储设备拥有记录海量不同类型图片,高速读写等能力以及高可靠性。其中,高可靠性主要体现在写入存储设备后的图片与写入前的图片是一致的,无缺漏的,即图片在写入存储设备的过程中没有出现损坏,所以检测写入存储设备的图片的一致性,即检测图片在写入存储设备的过程中是否出现损坏情况,对应用在安防监控领域中的存储设备的可靠性的提升有着重要作用。
3.现有的图片一致性检测技术,通常是先将存储设备中写入的图片下载下来,计算信息摘要(message-digest),再从原图片库中下载对应的原始图片,并计算信息摘要,最后,通过比较二者的信息摘要,判断该图片在写入存储设备的过程中是否出现损坏情况。由于写入存储设备的图片量较大,这种检测方法需要耗费大量的时间去下载图片和计算信息摘要,存在检测效率比较低的问题。


技术实现要素:

4.为克服现有技术的不足,本发明实施例提供了一种图片一致性检测方法、装置、存储设备及可读存储介质,以提高图片一致性检测的效率,具体技术方案如下:
5.第一方面,本发明实施例提供了一种图片一致性检测方法,应用于存储设备,所述存储设备与监控设备通信连接,所述方法包括:
6.获取原始图片的第一根哈希值,其中,所述第一根哈希值是根据所述监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,所述原始图片为所述多张待写入图片中的任意一张;
7.读取待检测图片的第二根哈希值,其中,所述待检测图片包括第一数据区和第二数据区,所述第一数据区用于存储所述原始图片,所述第二数据区用于存储所述第一根哈希值,所述第二根哈希值是从所述第二数据区读取的;
8.根据所述第二根哈希值与所述第一根哈希值,判断所述待检测图片与所述原始图片是否一致。
9.可选地,所述获取原始图片的第一根哈希值的步骤之前,所述方法还包括:
10.计算每一所述待写入图片的信息摘要;
11.根据所有所述待写入图片的信息摘要,确定所述第一图片组的根哈希值;
12.将所述第一图片组的根哈希值作为所述原始图片的第一根哈希值。
13.可选地,所述多张待写入图片预先按照接收时间先后进行排序,将每一所述待写入图片作为一个节点,每一所述待写入图片的信息摘要作为每一所述节点的节点值,所述
根据所有所述待写入图片的信息摘要,确定所述第一图片组的根哈希值的步骤包括:
14.依次将所有所述节点两两划分,得到至少一个哈希组,每一所述节点只属于一个所述哈希组;
15.根据每一所述哈希组中的各节点的节点值,计算每一所述哈希组的哈希值;
16.若所述哈希组的个数为一个,则将所述哈希组的哈希值作为所述第一图片组的根哈希值;
17.若所述哈希组的个数为多个,则将每一所述哈希组作为一个节点,每一所述哈希组的哈希值作为每一所述节点的节点值,重复上述步骤,直至得到所述第一图片组的根哈希值。
18.可选地,所述依次将所有所述节点两两划分,得到至少一个哈希组的步骤包括:
19.获取所有所述节点的数量;
20.若所述节点的数量为奇数,则将所有所述节点中最后一个节点划分为一个所述哈希组。
21.可选地,所述多张待写入图片预先按照接收时间先后进行排序并依次写入,所述待检测图片为第二图片组中多张已写入图片中的任意一张,所述方法还包括:
22.获取所述第二图片组中首张所述已写入图片的信息摘要,以及末张所述已写入图片的信息摘要;
23.若首张所述已写入图片的信息摘要与所述第一图片组中首张所述待写入图片的信息摘要不同,和/或末张所述已写入图片的信息摘要与所述第一图片组中末张所述待写入图片的信息摘要不同,则停止判断所述待检测图片与所述原始图片是否一致。
24.可选地,所述多张待写入图片预先按照接收时间先后进行排序并依次写入,所述方法还包括:
25.当写入所述第一图片组时发生中断事件时,确定最后写入的待写入图片在所述第一图片组中的次序,以使中断事件结束后,根据所述次序继续写入所述第一图片组中所述次序之后的所述待写入图片。
26.可选地,所述根据所述第二根哈希值与所述第一根哈希值,判断所述待检测图片与所述原始图片是否一致的步骤包括:
27.判断所述第二根哈希值与所述第一根哈希值是否相同;
28.若相同,则判定所述待检测图片与所述原始图片一致。
29.第二方面,本发明实施例提供了一种图片一致性检测装置,应用于存储设备,所述存储设备与监控设备通信连接,所述装置包括:
30.获取模块,用于获取原始图片的第一根哈希值,其中,所述第一根哈希值是根据所述监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,所述原始图片为所述多张待写入图片中的任意一张;
31.读取模块,用于读取待检测图片的第二根哈希值,其中,所述待检测图片包括第一数据区和第二数据区,所述第一数据区用于存储所述原始图片,所述第二数据区用于存储所述第一根哈希值,所述第二根哈希值是从所述第二数据区读取的;
32.判断模块,用于根据所述第二根哈希值与所述第一根哈希值,判断所述待检测图片与所述原始图片是否一致。
33.第三方面,本发明实施例提供了一种存储设备,其包括:存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如第一方面所述的方法。
34.第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法。
35.相较于现有技术,本发明实施例提供的一种图片一致性检测方法、装置、存储设备及可读存储介质,首先,获取原始图片的第一根哈希值,其中,第一根哈希值是根据监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,原始图片为多张待写入图片中的任意一张。然后,读取待检测图片的第二根哈希值,其中,待检测图片包括第一数据区和第二数据区,第一数据区用于存储原始图片,第二数据区用于存储第一根哈希值,第二根哈希值是从第二数据区读取的;最后,根据第二根哈希值与第一根哈希值,判断待检测图片与原始图片是否一致。由于本发明实施例是将原始图片和基于原始图片所在的第一图片组中多张待写入图片的信息摘要确定的第一根哈希值同时写入存储设备,得到待检测图片,在判断待检测图片与原始图片的一致性时,只需要从待检测图片中读取出的第二根哈希值,并与第一根哈希值进行比较,避免耗费大量时间去下载原始图片和计算信息摘要,从而缩短了检测时间,提高了检测效率。
附图说明
36.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1为本发明实施例提供的一种应用场景具体示例图;
38.图2为本发明实施例提供的一种存储设备的结构示意框图;
39.图3为本发明实施例提供的一种图片一致性检测方法的流程示意图;
40.图4为本发明实施例提供的一种确定第一根哈希值的方法的流程示意图;
41.图5为本发明实施例提供的一种确定第一图片组的根哈希值的方法的流程示意图;
42.图6为本发明实施例提供的一种确定第一图片组的根哈希值的具体示例图;
43.图7为本发明实施例提供的一种判断是否停止检测待检测图片与原始图片的一致性的方法的流程示意图;
44.图8为本发明实施例提供的另一种图片一致性判断方法的流程示意图;
45.图9为本发明实施例提供的一种图片一致性检测装置的方框示意图。
46.图标:100-存储设备;110-存储器;120-处理器;200-监控设备;300-图片一致性检测装置;301-获取模块;302-读取模块;303-判断模块;304-确定模块。
具体实施方式
47.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
48.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
49.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
50.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
51.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
52.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
53.为了提高图片一致性的检测效率,通常的做法是采用随机抽样检查的方法,但这种方式不能保证检测结果的全面性和准确性。有鉴于此,本发明实施例提供了一种图片一致性检查方法、装置、存储设备及可读存储介质,以提升检测效率的同时,保证检测结果的全面性和准确率,下面将对其进行详细描述。
54.请参照图1,图1为本发明实施例提供的一种应用场景具体示例图,存储设备100与监控设备200通信连接,存储设备100可以是一台独立的计算机设备,或者是多个计算机设备组成的集群,或者是一个存储阵列等,监控设备200可以是网络摄像机,监控设备200将采集的图片数据发送给存储设备100进行存储。
55.在图1的基础上,本发明实施例还提供了一种图1中的存储设备100的结构示意框图,请参照图2,图2为本发明实施例提供的一种存储设备100的结构示意框图,存储设备100可以包括存储器110和处理器120。
56.其中,处理器120可以是一个通用的中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制下述方法实施例提供的图片一致性检测方法的程序执行的集成电路。
57.存储器110可以是rom或可存储静态信息和指令的其它类型的静态存储设备,ram或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmabler-only memory,eeprom)、只读光盘(compactdisc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器110可以是独立存在,通过通信总线与处理器120相连接。存储器110也可以和处理器120集成在一起。其中,存储器110用于存储执行本技术方案的机器可执行指令。处理器120用于执行存储器110中存储的机器可执行指令,以实现下述的方法实施例。
58.由于本发明实施例提供的存储设备100是下述的方法实施例提供的图片一致性检测方法的另一种实现形式,因此其所能获得的技术效果可参考下述方法实施例,在此不再赘述。
59.请参照图3,图3为本发明实施例提供的一种图片一致性检测方法的流程示意图,该方法包括步骤s101、s102和s103。
60.s101,获取原始图片的第一根哈希值。
61.其中,第一根哈希值是根据监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,原始图片为多张待写入图片中的任意一张。
62.在本发明实施例中,监控设备存储来自监控设备的图片的步骤包括“接收”和“写入”,待写入图片是由监控设备完成“接收”操作得到的,作为一种具体实现方式,存储设备可以按照接收时间先后,将接收的待写入图片按照预设数量划分为至少一个图片组,每一图片组对应一个根哈希值,每一图片组的根哈希值是根据该图片组中所有待写入图片的信息摘要进行哈希运算得到的,每一图片组中每一待写入图片的根哈希值即是该图片组对应的根哈希值。
63.第一图片组可以为划分的图片组中的任意一个,根据第一图片组中所有待写入图片的信息摘要进行哈希运算,得到第一图片组对应的第一根哈希值,第一图片组中所有待写入图片的根哈希值均为第一根哈希值,后续在执行“写入”操作时,同步在数据库表中记录第一图片组的第一根哈希值,另外,还可以用文档来记录每一待写入图片对应的写入结果的存储路径,并将该文档的文档名和存储地址也同步记录在数据库表中。
64.由于图片组的数量为多个,可以对每一图片组进行编号,在数据库表中记录每一图片组的根哈希值时,也将每一图片组的编号进行记录,同时,每一图片组都对应一文档,其文档名被设置为该图片组的编号,记录有该图片组中每一待写入图片对应的写入结果的存储路径,例如,一图片组的编号为03,其对应的文档的文档名也为03,另外,每一图片组中的所有待写入图片按照接收时间先后排序后,其第一张和最后一张待写入图片的信息摘要也被记录在数据库表中,具体地,对于任一图片组,其在被存储设备执行“写入”操作时,同步在数据库表中记录的信息如下表所示。
65.group_id图片组编号root_hash根哈希值file_name图片路径文档名file_loc图片路径文档存储地址first_pic_md5首张待写入图片的信息摘要last_pic_md5末张待写入图片的信息摘要
66.原始图片为第一图片组中多张待写入图片中的任意一张,可以理解地,根据原始图片所属的第一图片组的编号,可以从数据库表中获取原始图片的第一根哈希值。
67.s102,读取待检测图片的第二根哈希值。
68.其中,待检测图片包括第一数据区和第二数据区,第一数据区用于存储原始图片,第二数据区用于存储第一根哈希值,第二根哈希值是从第二数据区读取的;
69.在本发明实施例中,存储设备对待写入图片和其第一根哈希值执行“写入”操作,得到的已写入图片,在已写入图片的数据区中,待写入图片占据的空间作为第一数据区,第
一根哈希值占据的空间为第二数据区。
70.得到已写入图片,一般已写入图片的数据格式包括摘要区和数据区,其中,数据区用于存储待写入图片和第一根哈希值,即待写入图片和第一根哈希值都被写入数据区,其中,待写入图片占据的空间作为第一数据区,第一根哈希值占据的空间为第二数据区。
71.由于原始图片为多张待写入图片中的任意一张,可以理解地,待检测图片为与原始图片对应已写入图片,可以根据从第一图片组对应的文档中记录存储路径,读取待检测图片,再读取待检测图片的第二数据区中的信息,即第二根哈希值。
72.s103,根据第二根哈希值与第一根哈希值,判断待检测图片与原始图片是否一致。
73.在本发明实施例中,可以根据从数据库表中获取的第一图片组对应的文档的文档名和存储地址,获取该文档中记录的每一待写入图片对应的写入结果的存储路径,提取待检测图片,并从待检测图片的第二数据区中读取第二根哈希值,同时,从数据库表中获取待检测图片对应的原始图片的第一根哈希值,进而根据第二根哈希值与第一根哈希值,判断存储设备在执行“写入”操作时是否出现错误,导致得到的待检测图片与其对应的原始图片不一致。
74.本发明实施例提供的上述方法,其有益效果在于,通过将原始图片和基于原始图片所在的第一图片组中多张待写入图片的信息摘要确定的第一根哈希值同时写入存储设备,得到待检测图片,在判断待检测图片与原始图片的一致性时,只需要从待检测图片中读取出的第二根哈希值,并与第一根哈希值进行比较,避免耗费大量时间去下载原始图片和计算信息摘要,从而缩短了检测时间,提高了检测效率。
75.基于图3,本发明实施例还提供了一种确定第一根哈希值的具体实现方式,请参照图4,图4为本发明实施例提供的一种确定第一根哈希值的方法的流程示意图,该方法包括步骤s201、s202和步骤s203。
76.s201,计算每一待写入图片的信息摘要。
77.在本发明实施例中,待写入图片的信息摘要是指对待写入图片的数据,应用md5信息摘要算法(message digest algorithm md5)得到的,例如,对数据长度为l位(bit)的待写入图片,首先对其按位进行填充,使其最终的位数能以512位来实现分组,且每一分组又划分为十六个32位子分组,经过四轮循环运算,输出四个32位分组,将这四个32位分组级联后将生成一个128位散列值,再对128位散列值进行十六进制转换,得到一个长度为32字节的字符串,即为该待写入图片的信息摘要。
78.s202,根据所有待写入图片的信息摘要,确定第一图片组的根哈希值。
79.在本发明实施例中,每一待写入图片的信息摘要为一长度为32字节的字符串,基于所有待写入图片的信息摘要,进行一次或多次哈希运算,得到第一图片组的根哈希值。
80.s203,将第一图片组的根哈希值作为原始图片的第一根哈希值。
81.在本发明实施例中,由于原始图片为第一图片组中多张待写入图片中的任意一张,可以将第一图片组的哈希值作为原始图片的第一根哈希值。
82.基于图4,本发明实施例还提供了一种确定第一图片组的根哈希值的具体实现方式,请参照图5,图5为本发明实施例提供的一种确定第一图片组的根哈希值的方法的流程示意图,步骤s202包括子步骤s202-1至s202-4。
83.s202-1,依次将所有节点两两划分,得到至少一个哈希组,每一节点只属于一个哈
希组。
84.在本发明实施例中,第一图片组的多张待写入图片是预先按照接收时间先后进行排序,将排序后的每一待写入图片作为一个节点,并将其信息摘要作为节点值,再依次将节点两两划分为一个哈希组,特别地,每一节点只能被划分进一个哈希组,即任意两哈希组中的节点不存在交集,例如,排序后的节点为:节点01、节点02、节点03以及节点04,将节点01和节点02划分至哈希组1,将节点03和节点04划分至哈希组2。
85.具体地,子步骤s202-1的实现过程如下:
86.首先,获取所有节点的数量;
87.若节点的数量为奇数,则将所有节点中最后一个节点划分为一个哈希组。
88.在本发明实施例中,由于是将所有节点两两划分进一个哈希组,并且任意两哈希组不存在交集,对于节点数为偶数的情况,可以顺利的完成哈希组的划分,但对于节点数为奇数的情况,则最后一个节点将单独被划分为一个哈希组,例如,排序后的节点为:节点01、节点02、节点03、节点04以及节点05,将节点01和节点02划分至哈希组1,节点03和节点04划分至哈希组2,节点05划分至哈希组3。
89.s202-2,根据每一哈希组中的各节点的节点值,计算每一哈希组的哈希值。
90.在本发明实施例中,每一哈希组包括两个节点,将两个节点的节点值合并为一个字符串,每一哈希组的哈希值是指对上述字符串进行哈希运算的结果。
91.s202-3,若哈希组的个数为一个,则将哈希组的哈希值作为第一图片组的根哈希值。
92.在本发明实施例中,若由节点两两划分出的哈希组只有一个,则可以将基于该哈希组的节点值得到的哈希值作为第一图片组的根哈希值。
93.s202-4,若哈希组的个数为多个,则将每一哈希组作为一个节点,每一哈希组的哈希值作为每一节点的节点值,重复上述步骤,直至得到第一图片组的根哈希值。
94.在本发明实施例中,若由节点两两划分出的哈希组为多个时,则将每一哈希组作为一个节点,并把其哈希值作为节点值,再重复上述步骤s202-1、s202-2和s203,直至划分出的哈希组为一个,将该哈希组的哈希值作为第一图片组的根哈希值。
95.例如,第一图片组中待写入图片的数量为5张,将5张待写入图片按照接收时间先后排序后,并将每一待写入图片作为一个节点,得到节点01、节点02、节点03、节点04和节点05,如图6所示,首先,将节点01和节点02划分至哈希组1,节点03和节点04划分至哈希组2,节点05划分至哈希组3,分别计算哈希组1、哈希组2和哈希组3的哈希值;然后,将哈希组1、哈希组2和哈希组3分别作为一个节点,得到节点11、节点12和节点13,将节点11和节点12划分至哈希组4,将节点13划分至哈希组5,分别计算哈希组4和哈希组5的哈希值;最后,将哈希组4和哈希组5分别作为一个节点,得到节点21和节点22,将节点21和节点22划分至哈希组6,计算哈希组6的哈希值,并将哈希组6作为第一图片组的根哈希值,上述过程中,各节点的节点值满足下述公式:
96.node[0][i]=md5(data[i]),i=1,2,

,5
[0097]
[0098][0099][0100][0101]
root=hash(node[2][1] node[2][2])
[0102]
其中,node[j][i]是指节点ij的节点值,例如node[0][1]表征节点01的节点值,data[i]是指第i张待写入图片的数据,root为第一图片组的根哈希值。
[0103]
考虑到存储设备在读取待检测图片的过程的异常事件,比如读取错位等,会对后续待检测图片与原始图片的一致性检测结果的准确性的产生影响,在执行步骤s103之前,还需要判断待检测图片是否为正常读取,来决定是否继续对待检测图片与原始图片的一致性进行检测。请参照图7,图7为本发明实施例提供的一种判断是否停止检测待检测图片与原始图片的一致性的方法的流程示意图,该方法包括步骤s301和s302。
[0104]
步骤s301,获取第二图片组中首张已写入图片的信息摘要,以及末张已写入图片的信息摘要。
[0105]
在本发明实施例中,第二图片组包括多张已写入图片,每一已写入图片是由存储设备对第一图片组中每一待写入图片,按照接收时间先后依次执行“写入”操作得到的,并且每一已写入图片被命名为其对应的待写入图片的信息摘要,所有已写入图片也按照写入时间先后进行排序,根据第二图片组中首张已写入图片和末张已写入图片的命名,获得首张已写入图片的信息摘要和末张已写入图片的信息摘要。
[0106]
步骤s302,若首张已写入图片的信息摘要与第一图片组中首张待写入图片的信息摘要不同,和/或末张已写入图片的信息摘要与第一图片组中末张待写入图片的信息摘要不同,则停止判断待检测图片与原始图片是否一致。
[0107]
在本发明实施例中,根据第一图片组的编号,可以从数据库表中获取到首张待写入图片的信息摘要和末张待写入图片的信息摘要。
[0108]
待检测图片为第二图片组中多张已写入图片中的任意一张,如果第二图片组中首张已写入图片的信息摘要与第一图片组中首张待写入图片的信息摘要是相同的,同时,第二图片组中末张已写入图片的信息摘要与第一图片组中末张待写入图片的信息摘要也是相同的,则表征待检测图片为正常读取,可以继续进行待检测图片与原始图片是否一致的判断。
[0109]
可以理解地,如果第二图片组中首张已写入图片的信息摘要与第一图片组中首张待写入图片的信息摘要不同,和/或第二图片组中末张已写入图片的信息摘要与第一图片组中末张待写入图片的信息摘要不同,表征存储设备在读取待检测图片的过程中存在异常情况,此时,则需要停止进行待检测图片与原始图片是否一致的判断。
[0110]
另外,存储设备在对第一图片组中多张待写入图片执行“写入”操作的过程中,若出现重启,服务停止或正常节点数不满足纠删等情况,会使“写入”操作被中断,为防止因“写入”被中断,导致的后续无法判断待检测图片与原始图片的一致性,存储设备需要在上
述原因造成的中断事件发生时进行下述操作:
[0111]
当写入第一图片组时发生中断事件时,确定最后写入的待写入图片在第一图片组中的次序,以使中断事件结束后,根据次序继续写入第一图片组中次序之后的待写入图片。
[0112]
在本发明实施例中,待写入图片的次序是指在第一图片组中的位置。例如,待写入图片的次序为5,即表示它为第一图片组中的第5张图片,存储设备将中断发生前写入的最后一张待写入图片在第一图片组中的位置记录在数据库表中,以能在中断结束时,继续写入第一图片组中剩余所有待写入图片。
[0113]
作为一种具体的实现方式,存储设备可以针对“写入”中断的情况,新建一个如下表所示的数据库表,用于在中断事件发生时,记录下最后写入的待写入图片在第一图片组中的次序,以及第一图片组的编号、中断事件状态等信息。
[0114]
interrupt_group_id发生中断的图片组的编号last_pic_loc最后写入的图片的次序status中断事件状态
[0115]
需要注意的是,中断事件未结束前,数据库表中的中断事件状态status的值为0,在中断事件结束,并完成了对图片组中剩余待写入图片的“写入”操作后,再将中断事件状态status的值修改为1。
[0116]
基于图3,本发明实施例还提供了一种判断待检测图片与原始图片是否一致的具体实现方式,请参照图8,图8为本发明实施例提供的另一种图片一致性判断方法的流程示意图,步骤s103包括子步骤s103-1、s103-2和s103-3。
[0117]
s103-1,判断第二根哈希值与第一根哈希值是否相同。
[0118]
在本发明实施例中,可以通过判断第二根哈希值与第一根哈希值是否相同,来确定存储设备在执行“写入”操作时是否出现错误,导致原始图片被损坏。
[0119]
s103-2,若相同,则判定待检测图片与原始图片一致。
[0120]
在本发明实施例中,若第二根哈希值与第一根哈希值是相同的,则意味着原始图片在被写入存储设备的过程中没有被损坏,存储设备对原始图片执行“写入”操作得到的待检测图片,与原始图片是一致的。
[0121]
s103-3,若不相同,则判定待检测图片与原始图片不一致。
[0122]
在本发明实施例中,若第二根哈希值与第一根哈希值是不相同的,则意味着原始图片在被写入存储设备的过程中被损坏,存储设备对原始图片执行“写入”操作得到的待检测图片,与原始图片是不一致的。
[0123]
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种图片一致性检测装置300的实现方式。请参照图9,图9示出了本发明实施例提供的图片一致性检测装置300的方框示意图。需要说明的是,本发明实施例提供的图片一致性检测装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本发明实施例部分未提及指出。
[0124]
图片一致性检测装置300包括获取模块301、读取模块302、判断模块303和确定模块304。
[0125]
获取模块301,用于获取原始图片的第一根哈希值,其中,第一根哈希值是根据监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,原始图片为多张待写入图片中的任意一张。
[0126]
读取模块302,用于读取待检测图片的第二根哈希值,其中,待检测图片包括第一数据区和第二数据区,第一数据区用于存储原始图片,第二数据区用于存储第一根哈希值,第二根哈希值是从第二数据区读取的;
[0127]
判断模块303,用于根据第二根哈希值与第一根哈希值,判断待检测图片与原始图片是否一致。
[0128]
确定模块304,用于计算每一待写入图片的信息摘要;根据所有待写入图片的信息摘要,确定第一图片组的根哈希值;将第一图片组的根哈希值作为原始图片的第一根哈希值。
[0129]
作为一种实现方式,多张待写入图片预先按照接收时间先后进行排序,将每一待写入图片作为一个节点,每一待写入图片的信息摘要作为每一节点的节点值,确定模块304在用于根据所有待写入图片的信息摘要,确定第一图片组的根哈希值时,具体用于依次将所有节点两两划分,得到至少一个哈希组,每一节点只属于一个哈希组;根据每一哈希组中的各节点的节点值,计算每一哈希组的哈希值;若哈希组的个数为一个,则将哈希组的哈希值作为第一图片组的根哈希值;若哈希组的个数为多个,则将每一哈希组作为一个节点,每一哈希组的哈希值作为每一节点的节点值,重复上述步骤,直至得到第一图片组的根哈希值。
[0130]
作为一种实现方式,确定模块304在用于依次将所有节点两两划分,得到至少一个哈希组时,还具体用于获取所有节点的数量;若节点的数量为奇数,则将所有节点中最后一个节点划分为一个哈希组。
[0131]
作为一种实现方式,多张待写入图片预先按照接收时间先后进行排序并依次写入,确定模块304还用于当写入第一图片组时发生中断事件时,确定最后写入的待写入图片在第一图片组中的次序,以使中断事件结束后,根据次序继续写入第一图片组中次序之后的待写入图片。
[0132]
作为一种实现方式,多张待写入图片预先按照接收时间先后进行排序并依次写入,待检测图片为第二图片组中多张已写入图片中的任意一张,判断模块303还用于获取第二图片组中首张已写入图片的信息摘要,以及末张已写入图片的信息摘要;若首张已写入图片的信息摘要与第一图片组中首张待写入图片的信息摘要不同,和/或末张已写入图片的信息摘要与第一图片组中末张待写入图片的信息摘要不同,则停止判断待检测图片与原始图片是否一致。
[0133]
作为一种实现方式,判断模块303在用于根据第二根哈希值与第一根哈希值,判断待检测图片与原始图片是否一致时,具体用于判断第二根哈希值与第一根哈希值是否相同;若相同,则判定待检测图片与原始图片一致。
[0134]
本发明实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于执行上述的方法实施例提供的图片一致性检测方法中的相关操作。
[0135]
综上,本发明实施例提供的一种图片一致性检测方法、装置、存储设备及可读存储介质,首先,获取原始图片的第一根哈希值,其中,第一根哈希值是根据监控设备发送的第一图片组中多张待写入图片的信息摘要确定的,原始图片为多张待写入图片中的任意一张。然后,读取待检测图片的第二根哈希值,其中,待检测图片包括第一数据区和第二数据
区,第一数据区用于存储原始图片,第二数据区用于存储第一根哈希值,第二根哈希值是从第二数据区读取的;最后,根据第二根哈希值与第一根哈希值,判断待检测图片与原始图片是否一致。由于本发明实施例是将原始图片和基于原始图片所在的第一图片组中多张待写入图片的信息摘要确定的第一根哈希值同时写入存储设备,得到待检测图片,在判断待检测图片与原始图片的一致性时,只需要从待检测图片中读取出的第二根哈希值,并与第一根哈希值进行比较,避免耗费大量时间去下载原始图片和计算信息摘要,从而缩短了检测时间,提高了检测效率。
[0136]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献