CN110019400B - 数据存储方法、电子设备及存储介质 - Google Patents
数据存储方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110019400B CN110019400B CN201711424868.4A CN201711424868A CN110019400B CN 110019400 B CN110019400 B CN 110019400B CN 201711424868 A CN201711424868 A CN 201711424868A CN 110019400 B CN110019400 B CN 110019400B
- Authority
- CN
- China
- Prior art keywords
- picture
- binary tree
- candidate
- node
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000005192 partition Methods 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 239000010749 BS 2869 Class C1 Substances 0.000 description 4
- 239000010750 BS 2869 Class C2 Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据存储方法,所述方法包括:获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。本发明提供的存储方式能提高搜索速度。本发明还提供一种电子设备及存储介质。本发明提供的存储方式能提高搜索速度。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据存储方法、电子设备及存储介质。
背景技术
目前人工智能能运用很多领域,如监控、智能交通等等,这都会涉及到大量图片数据的存储。目前存储的方式都是将所有的图片存储在服务器相关联的数据库中。随着存储的数据量逐渐变大,从存储的所有数据中查询所需的数据也无法达到实时。
发明内容
鉴于以上内容,有必要提供一种数据存储方法、电子设备及存储介质,能提高搜索速度。
一种数据存储方法,所述方法包括:
获取存储的图片数据的存储量;
将存储的图片数据分成多个区;
根据所述存储的图片数据的存储量,计算每个区的存储量;
根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。
根据本发明优选实施例,所述将存储的图片数据分成多个区包括:
获取所述存储的图片数据中每张图片的拍摄时间数据;
基于每张图片的拍摄时间数据,将存储的图片数据分成多个区。
根据本发明优选实施例,所述根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引包括:
从所述多个区中筛选存储量大于或者等于第一存储阈值的区时,对筛选的区中的图片数据生成二叉树索引。
根据本发明优选实施例,所述方法还包括:
获取待存储图片的拍摄时间;
根据所述待存储图片的拍摄时间,将待存储图片存储于对应的分区中。
根据本发明优选实施例,所述方法还包括:
当一个区中未建立二叉树索引的图片数据的存储量大于或者等于第二阈值时,对所述一个区中未建立二叉树索引的图片数据生成二叉树索引。
根据本发明优选实施例,在所述二叉树索引中,二叉树的一个叶子结点表示一个类别的图片数据,除叶子结点外的每个结点表示两个候选类别的差分特征,除叶子结点及根结点外任意一个结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第一候选类别分类得到的,所述任意一个结点的兄弟结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第二候选类别分类得到的。
根据本发明优选实施例,在根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引时,对任意一个区中的图片数据生成二叉树索引包括:
从所述任意一个区中随机选取两点作为初始中心点;
利用预设算法,基于所述初始中心点进行迭代聚类,在迭代次数大于1的当前迭代的上一次迭代中能得到至少一组候选类别,所述至少一组候选类别中每组候选类别对应第一候选类别及第二候选类别;所述每组候选类别对应的二叉树结点表示每组候选类别中第一候选类别与第二候选类别间的差分特征值;
在当前迭代中,分别对所述每组候选类别中第一候选类别及第二候选类别分别进行迭代聚类,得到所述每组候选类别中第一候选类别对应的两个候选类别及所述每组候选类别中第二候选类别对应的两个候选类别,将表示所述每组候选类别中第一候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的左结点或右结点,将表示所述每组候选类别中第二候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的右结点或左结点;
执行多次迭代聚类,直至达到收敛条件,得到所述任意一个区对应的多个类别,其中二叉树的一个叶子结点表示一个类别的图片数据。
根据本发明优选实施例,所述方法还包括:
获取待查询图片及查询条件;
根据所述查询条件,确定待查找分区;
提取所述待查询图片的特征;
当确定所述待查找分区有二叉树索引时,根据所述待查询图片的特征,对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集;
当确定所述待查找分区有未建立二叉树索引的图片时,将所述待查询图片的特征与所述未建立二叉树索引的图片的特征进行比对,查找与所述待查询图片相似的第二图片集;
基于所述第一图片集及/或所述第二图片集,推送与所述待查询图片相似的图片。
一种电子设备,所述电子设备包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现任意实施例中任一项所述数据存储方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现任意实施例中任一项所述数据存储方法。
由以上技术方案可以看出,本发明获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。本发明提供的存储方式能提高搜索速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明数据存储方法的较佳实施例的流程图。
图2是本发明二叉树索引示意图。
图3是本发明数据存储装置的较佳实施例的功能模块图。
图4是本发明至少一个实例中电子设备的较佳实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,是本发明数据存储方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,电子设备获取存储的图片数据的存储量。
在本发明中,所述电子设备与多个终端设备相通信,所述终端设备包括,但并不限于:手机、摄像装置等等,所述终端设备将抓拍的图片存储于所述电子设备中或与所述电子设备相通信的数据库中。
在本发明优选实施例中,所述存储的图片数据的存储量的定量单位包括,但不限于:张、兆等等。
S11,所述电子设备将存储的图片数据分成多个区。
在本发明优选实施例中,所述将存储的图片数据分成多个区包括:获取所述存储的图片数据中每张图片的拍摄时间数据;基于每张图片的拍摄时间数据,将存储的图片数据分成多个区。例如,将拍摄时间为2016的图片数据分在第一区,将拍摄时间为2017的图片数据分在第二区等等。
进一步地,当所述存储的图片数据的存储量大于或者等于存储阈值时,将存储的图片数据分成多个区。
进一步地,在当前时间到达预设时间时,将存储的图片数据分成多个区。
S12,所述电子设备根据所述存储的图片数据的存储量,计算每个区的存储量。
在本发明优选实施例中,根据所述存储的图片数据的存储量,配置每个区的存储量,每个区的存储量可以相同或者不同,本发明不做任何限制。
S13,所述电子设备根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。
在本发明优选实施例中,从所述多个区中筛选存储量大于或者等于第一存储阈值的区时,对筛选的区中的图片数据生成二叉树索引。对于存储量小于第一存储阈值的区,直到存储量达到第一存储阈值时,才会生成二叉树索引。对区中存储的数据建立二叉树索引,便于后续数据的搜索,无需对每一条的数据进行比对,大大提升了搜索速度。
在本发明中,对于每个区而言,后续都会继续有图片要存入。优选地,所述电子设备获取待存储图片的拍摄时间;根据所述待存储图片的拍摄时间,将待存储图片存储于对应的分区中。
在本发明的优选实施例中,在已经生成了二叉树索引的一个区中,当有图片需要存入时,先将图片存储在所述一个区中,但不对所述图片建立二叉树索引。优选地,当所述一个区中未建立二叉树索引的图片数据的存储量大于或者等于第二阈值时,对所述一个区中未建立二叉树索引的图片数据生成二叉树索引。所述第二阈值可以与第一阈值相同或者不同。
在本发明的优选实施例中,在对每个区中的图片数据生成二叉树索引时,在所述二叉树索引中,二叉树的一个叶子结点表示一个类别的图片数据,除叶子结点外的每个结点表示两个候选类别的差分特征,除叶子结点及根结点外任意一个结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第一候选类别分类得到的,所述任意一个结点的兄弟结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第二候选类别分类得到的。这样建立二叉树索引后,后续在对数据进行搜索,无需对每一条的数据进行比对,大大提升了搜索速度。
进一步地,利用近似最近邻算法,对任意一个区中的图片数据生成二叉树索引包括:
从所述任意一个区中随机选取两点作为初始中心点;
利用预设算法,基于所述初始中心点进行迭代聚类,在迭代次数大于1的当前迭代的上一次迭代中能得到至少一组候选类别,所述至少一组候选类别中每组候选类别对应第一候选类别及第二候选类别;所述每组候选类别对应的二叉树结点表示每组候选类别中第一候选类别与第二候选类别间的差分特征值;
在当前迭代中,分别对所述每组候选类别中第一候选类别及第二候选类别分别进行迭代聚类,得到所述每组候选类别中第一候选类别对应的两个候选类别及所述每组候选类别中第二候选类别对应的两个候选类别,将表示所述每组候选类别中第一候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的左结点或右结点,将表示所述每组候选类别中第二候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的右结点或左结点;
执行多次迭代聚类,直至达到迭代终止条件,得到所述任意一个区对应的多个类别,其中二叉树的一个叶子结点表示一个类别的图片数据。
进一步地,两个候选类别间的差分特征用两个候选类别的聚类中心间的差分特征表示。
进一步地,所述迭代终止条件包括,但不限于:迭代次数大于预设次数等等。
例如,为了便于理解上述生成二叉树索引的过程,以二次迭代为例,如图2所示,用Q表示一个区中存储的图片数据,在第一次迭代聚类中,从Q中随机选取两点作为初始中心点,以所述初始中心点对Q进行聚类,得到两个候选类别A1及A2,结点A表示候选类别A1与候选类别A2间的差分特征,并将结点A作为所述二叉树索引的根结点。第二次迭代聚类中,分别对候选类别A1进行聚类得到候选类别B1和候选类别B2,对候选类别A2进行聚类得到候选类别C1和候选类别C2,候选类别B1与候选类别B2间的差分特征用结点B表示,候选类别C1与候选类别C2件间的差分特征用结点C表示,并按照预设规则,将结点B作为根结点A的左边子结点,将结点C作为根结点A的右边子结点。所述叶子结点D1表示候选类别B1,所述叶子结点D2表示候选类别B2,所述叶子结点D3表示候选类别C1,所述叶子结点D4表示候选类别C2。
在本发明中,当对区中存储的图片数据生成二叉树索引后,后续对图片数据进行查询时,可以基于所述二叉树索引查询数据。
优选地,所述方法还包括:获取待查询图片及查询条件;根据所述查询条件,确定待查找分区;提取所述待查询图片的特征;当确定所述待查找分区有二叉树索引时,根据所述待查询图片的特征,对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集;当确定所述待查找分区有未建立二叉树索引的图片时,将所述待查询图片的特征与所述未建立二叉树索引的图片的特征进行比对,查找与所述待查询图片相似的第二图片集;基于所述第一图片集及/或所述第二图片集,推送与所述待查询图片相似的图片。
优选地,所述当确定所述待查找区有二叉树索引时,根据所述待查询图片的特征,对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集包括:
从每个二叉树索引的根结点开始,采用优先队列遍历每个二叉树索引,将遍历的结点插入在所述优先队列中,基于所述待查询图片的特征与遍历的结点表示的差分特征间的距离,对所述优先队列进行排序,直至达到遍历终止条件,基于所述优先队列中叶子结点对应的类别中的图片数据,确定所述待查询图片相似的第一图片集。对区中存储的数据建立二叉树索引,在进行数据搜索时,无需对每一条的数据进行比对,大大提升了搜索速度。而且基于所述待查询图片的特征与遍历的结点表示的差分特征间的距离进行查询,这样可以避免遍历所有的二叉树,提高了查询速度。
从上述实施例可知,在建立了二叉树索引的分区中,对二叉树进行搜索,不需要对每一条的数据进行比对,大大提升了搜索速度;在没有建立二叉树索引分区中,该分区的搜索需要与分区中每条的图片数据进行比对得到相似度达到一定阈值的图片。因此,利用本发明中所述数据存储方法,对数据进行查询,从整体上提高了搜索速度。
本发明获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。本发明提供的存储方式能提高搜索速度。
如图3所示,本发明数据存储装置的较佳实施例的功能模块图。所述数据存储装置11包括获取模块100、划分模块101、计算模块102、生成模块103、存储模块104及查询模块105。本发明所称的单元是指一种能够被数据存储装置11的处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各单元的功能将在后续的实施例中详述。
所述获取模块100获取存储的图片数据的存储量。
在本发明中,所述电子设备与多个终端设备相通信,所述终端设备包括,但并不限于:手机、摄像装置等等,所述终端设备将抓拍的图片存储于所述电子设备中或与所述电子设备相通信的数据库中。
在本发明优选实施例中,所述存储的图片数据的存储量的定量单位包括,但不限于:张、兆等等。
所述划分模块101将存储的图片数据分成多个区。
在本发明优选实施例中,所述划分模块101将存储的图片数据分成多个区包括:获取所述存储的图片数据中每张图片的拍摄时间数据;基于每张图片的拍摄时间数据,将存储的图片数据分成多个区。例如,将拍摄时间为2016的图片数据分在第一区,将拍摄时间为2017的图片数据分在第二区等等。
进一步地,当所述存储的图片数据的存储量大于或者等于存储阈值时,所述划分模块101将存储的图片数据分成多个区。
进一步地,在当前时间到达预设时间时,所述划分模块101将存储的图片数据分成多个区。
所述计算模块102根据所述存储的图片数据的存储量,计算每个区的存储量。
在本发明优选实施例中,所述计算模块102根据所述存储的图片数据的存储量,配置每个区的存储量,每个区的存储量可以相同或者不同,本发明不做任何限制。
所述生成模块103根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。
在本发明优选实施例中,从所述多个区中筛选存储量大于或者等于第一存储阈值的区时,所述生成模块103对筛选的区中的图片数据生成二叉树索引。对于存储量小于第一存储阈值的区,直到存储量达到第一存储阈值时,所述生成模块103才会生成二叉树索引。对区中存储的数据建立二叉树索引,便于后续数据的搜索,无需对每一条的数据进行比对,大大提升了搜索速度。
在本发明中,对于每个区而言,后续都会继续有图片要存入。优选地,所述存储模块104具体用于:获取待存储图片的拍摄时间;根据所述待存储图片的拍摄时间,将待存储图片存储于对应的分区中。
在本发明的优选实施例中,在已经生成了二叉树索引的一个区中,当有图片需要存入时,先将图片存储在所述一个区中,但不对所述图片建立二叉树索引。优选地,当所述一个区中未建立二叉树索引的图片数据的存储量大于或者等于第二阈值时,所述生成模块103对所述一个区中未建立二叉树索引的图片数据生成二叉树索引。所述第二阈值可以与第一阈值相同或者不同。
在本发明的优选实施例中,在对每个区中的图片数据生成二叉树索引时,在所述二叉树索引中,二叉树的一个叶子结点表示一个类别的图片数据,除叶子结点外的每个结点表示两个候选类别的差分特征,除叶子结点及根结点外任意一个结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第一候选类别分类得到的,所述任意一个结点的兄弟结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第二候选类别分类得到的。这样建立二叉树索引后,后续在对数据进行搜索,无需对每一条的数据进行比对,大大提升了搜索速度。
进一步地,所述生成模块103利用近似最近邻算法,对任意一个区中的图片数据生成二叉树索引包括:
从所述任意一个区中随机选取两点作为初始中心点;
利用预设算法,基于所述初始中心点进行迭代聚类,在迭代次数大于1的当前迭代的上一次迭代中能得到至少一组候选类别,所述至少一组候选类别中每组候选类别对应第一候选类别及第二候选类别;所述每组候选类别对应的二叉树结点表示每组候选类别中第一候选类别与第二候选类别间的差分特征值;
在当前迭代中,分别对所述每组候选类别中第一候选类别及第二候选类别分别进行迭代聚类,得到所述每组候选类别中第一候选类别对应的两个候选类别及所述每组候选类别中第二候选类别对应的两个候选类别,将表示所述每组候选类别中第一候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的左结点或右结点,将表示所述每组候选类别中第二候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的右结点或左结点;
执行多次迭代聚类,直至达到迭代终止条件,得到所述任意一个区对应的多个类别,其中二叉树的一个叶子结点表示一个类别的图片数据。
进一步地,两个候选类别间的差分特征用两个候选类别的聚类中心间的差分特征表示。
进一步地,所述迭代终止条件包括,但不限于:迭代次数大于预设次数等等。
例如,为了便于理解上述生成二叉树索引的过程,以二次迭代为例,如图2所示,用Q表示一个区中存储的图片数据,在第一次迭代聚类中,从Q中随机选取两点作为初始中心点,以所述初始中心点对Q进行聚类,得到两个候选类别A1及A2,结点A表示候选类别A1与候选类别A2间的差分特征,并将结点A作为所述二叉树索引的根结点。第二次迭代聚类中,分别对候选类别A1进行聚类得到候选类别B1和候选类别B2,对候选类别A2进行聚类得到候选类别C1和候选类别C2,候选类别B1与候选类别B2间的差分特征用结点B表示,候选类别C1与候选类别C2件间的差分特征用结点C表示,并按照预设规则,将结点B作为根结点A的左边子结点,将结点C作为根结点A的右边子结点。所述叶子结点D1表示候选类别B1,所述叶子结点D2表示候选类别B2,所述叶子结点D3表示候选类别C1,所述叶子结点D4表示候选类别C2。
在本发明中,当对区中存储的图片数据生成二叉树索引后,后续对图片数据进行查询时,可以基于所述二叉树索引查询数据。
优选地,所述查询模块105具体用于:获取待查询图片及查询条件;根据所述查询条件,确定待查找分区;提取所述待查询图片的特征;当确定所述待查找分区有二叉树索引时,根据所述待查询图片的特征,对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集;当确定所述待查找分区有未建立二叉树索引的图片时,将所述待查询图片的特征与所述未建立二叉树索引的图片的特征进行比对,查找与所述待查询图片相似的第二图片集;基于所述第一图片集及/或所述第二图片集,推送与所述待查询图片相似的图片。
优选地,所述当确定所述待查找区有二叉树索引时,根据所述待查询图片的特征,所述查询模块105对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集包括:
从每个二叉树索引的根结点开始,采用优先队列遍历每个二叉树索引,将遍历的结点插入在所述优先队列中,基于所述待查询图片的特征与遍历的结点表示的差分特征间的距离,对所述优先队列进行排序,直至达到遍历终止条件,基于所述优先队列中叶子结点对应的类别中的图片数据,确定所述待查询图片相似的第一图片集。对区中存储的数据建立二叉树索引,在进行数据搜索时,无需对每一条的数据进行比对,大大提升了搜索速度。而且基于所述待查询图片的特征与遍历的结点表示的差分特征间的距离进行查询,这样可以避免遍历所有的二叉树,提高了查询速度。
从上述实施例可知,在建立了二叉树索引的分区中,对二叉树进行搜索,不需要对每一条的数据进行比对,大大提升了搜索速度;在没有建立二叉树索引分区中,该分区的搜索需要与分区中每条的图片数据进行比对得到相似度达到一定阈值的图片。因此,利用本发明中所述数据存储方法,对数据进行查询,从整体上提高了搜索速度。
本发明获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。本发明提供的存储方式能提高搜索速度。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明每个实施例所述方法的部分步骤。
如图4所示,所述电子设备3包括至少一个发送装置31、至少一个存储器32、至少一个处理器33、至少一个接收装置34以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。
所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述电子设备3还可包括网络设备和/或用户设备。其中,所述网络设备包括但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
所述电子设备3可以是,但不限于任何一种可与用户通过键盘、触摸板或声控设备等方式进行人机交互的电子产品,例如,平板电脑、智能手机、个人数字助理(PersonalDigital Assistant,PDA)、智能式穿戴式设备、摄像设备、监控设备等终端。
所述电子设备3所处的网络包括,但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
其中,所述接收装置34和所述发送装置31可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他设备进行数据通信。
所述存储器32用于存储程序代码。所述存储器32可以是集成电路中没有实物形式的具有存储功能的电路,如RAM(Random-Access Memory,随机存取存储器)、FIFO(First InFirst Out,)等。或者,所述存储器32也可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)、智能媒体卡(smart media card)、安全数字卡(secure digitalcard)、快闪存储器卡(flash card)等储存设备等等。
所述处理器33可以包括一个或者多个微处理器、数字处理器。所述处理器33可调用存储器32中存储的程序代码以执行相关的功能。例如,图2中所述的各个单元是存储在所述存储器32中的程序代码,并由所述处理器33所执行,以实现一种数据存储方法。所述处理器33又称中央处理器(CPU,Central Processing Unit),是一块超大规模的集成电路,是运算核心(Core)和控制核心(Control Unit)。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令当被包括一个或多个处理器的电子设备执行时,使电子设备执行如上文方法实施例所述的数据存储方法。
结合图1所示,所述电子设备1中的所述存储器32存储多个指令以实现一种数据存储方法,所述处理器33可执行所述多个指令从而实现:
获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。
在任意实施例中所述数据存储方法对应的多个指令存储在所述存储器32,并通过所述处理器33来执行,在此不再详述。
以上说明的本发明的特征性的手段可以通过集成电路来实现,并控制实现上述任意实施例中所述数据存储方法的功能。即,本发明的集成电路安装于所述电子设备中,使所述电子设备发挥如下功能:
获取存储的图片数据的存储量;将存储的图片数据分成多个区;根据所述存储的图片数据的存储量,计算每个区的存储量;根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引。
在任意实施例中所述数据存储方法所能实现的功能都能通过本发明的集成电路安装于所述电子设备中,使所述电子设备发挥任意实施例中所述数据存储方法所能实现的功能,在此不再详述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明的各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种数据存储方法,其特征在于,所述方法包括:
获取存储的图片数据的存储量;
将存储的图片数据分成多个区;
根据所述存储的图片数据的存储量,计算每个区的存储量;
根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引,在所述二叉树索引中,二叉树的一个叶子结点表示一个类别的图片数据,除叶子结点外的每个结点表示两个候选类别的差分特征,除叶子结点及根结点外任意一个结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第一候选类别分类得到的,所述任意一个结点的兄弟结点对应的两个候选类别由对所述任意一个结点的父节点对应的两个候选类别中第二候选类别分类得到的。
2.如权利要求1所述的数据存储方法,其特征在于,所述将存储的图片数据分成多个区包括:
获取所述存储的图片数据中每张图片的拍摄时间数据;
基于每张图片的拍摄时间数据,将存储的图片数据分成多个区。
3.如权利要求1所述的数据存储方法,其特征在于,所述根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引包括:
从所述多个区中筛选存储量大于或者等于第一存储阈值的区时,对筛选的区中的图片数据生成二叉树索引。
4.如权利要求2所述的数据存储方法,其特征在于,所述方法还包括:
获取待存储图片的拍摄时间;
根据所述待存储图片的拍摄时间,将待存储图片存储于对应的分区中。
5.如权利要求1所述的数据存储方法,其特征在于,所述方法还包括:
当一个区中未建立二叉树索引的图片数据的存储量大于或者等于第二阈值时,对所述一个区中未建立二叉树索引的图片数据生成二叉树索引。
6.如权利要求1至5中任一项所述的数据存储方法,其特征在于,在根据所述每个区的存储量,对每个区中的图片数据生成二叉树索引时,对任意一个区中的图片数据生成二叉树索引包括:
从所述任意一个区中随机选取两点作为初始中心点;
利用预设算法,基于所述初始中心点进行迭代聚类,在迭代次数大于1的当前迭代的上一次迭代中能得到至少一组候选类别,所述至少一组候选类别中每组候选类别对应第一候选类别及第二候选类别;所述每组候选类别对应的二叉树结点表示每组候选类别中第一候选类别与第二候选类别间的差分特征值;
在当前迭代中,分别对所述每组候选类别中第一候选类别及第二候选类别分别进行迭代聚类,得到所述每组候选类别中第一候选类别对应的两个候选类别及所述每组候选类别中第二候选类别对应的两个候选类别,将表示所述每组候选类别中第一候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的左结点或右结点,将表示所述每组候选类别中第二候选类别对应的两个候选类别的差分特征的二叉树结点作为所述每组候选类别对应的二叉树结点的右结点或左结点;
执行多次迭代聚类,直至达到收敛条件,得到所述任意一个区对应的多个类别,其中二叉树的一个叶子结点表示一个类别的图片数据。
7.如权利要求1至5中任一项所述的数据存储方法,其特征在于,所述方法还包括:
获取待查询图片及查询条件;
根据所述查询条件,确定待查找分区;
提取所述待查询图片的特征;
当确定所述待查找分区有二叉树索引时,根据所述待查询图片的特征,对所述二叉树索引进行遍历,查找与所述待查询图片相似的第一图片集;
当确定所述待查找分区有未建立二叉树索引的图片时,将所述待查询图片的特征与所述未建立二叉树索引的图片的特征进行比对,查找与所述待查询图片相似的第二图片集;
基于所述第一图片集及/或所述第二图片集,推送与所述待查询图片相似的图片。
8.一种电子设备,其特征在于,所述电子设备包括存储器及处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令以实现如权利要求1至7中任一项所述数据存储方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至7中任一项所述数据存储方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424868.4A CN110019400B (zh) | 2017-12-25 | 2017-12-25 | 数据存储方法、电子设备及存储介质 |
PCT/CN2017/119638 WO2019127300A1 (zh) | 2017-12-25 | 2017-12-29 | 数据存储方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711424868.4A CN110019400B (zh) | 2017-12-25 | 2017-12-25 | 数据存储方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110019400A CN110019400A (zh) | 2019-07-16 |
CN110019400B true CN110019400B (zh) | 2021-01-12 |
Family
ID=67064329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711424868.4A Active CN110019400B (zh) | 2017-12-25 | 2017-12-25 | 数据存储方法、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110019400B (zh) |
WO (1) | WO2019127300A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633379B (zh) * | 2019-08-29 | 2023-04-28 | 北京睿企信息科技有限公司 | 一种基于gpu并行运算的以图搜图系统及方法 |
CN110929072A (zh) * | 2019-11-29 | 2020-03-27 | 深圳市商汤科技有限公司 | 聚类系统及方法、电子设备和存储介质 |
CN111400521B (zh) * | 2020-02-28 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种图数据处理方法、装置、设备、介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436491A (zh) * | 2011-11-08 | 2012-05-02 | 张三明 | 一种基于BigBase的海量图片搜索系统及方法 |
CN102663801A (zh) * | 2012-04-19 | 2012-09-12 | 北京天下图数据技术有限公司 | 一种提高三维模型渲染性能的方法 |
CN103049516A (zh) * | 2012-12-14 | 2013-04-17 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据处理方法及装置 |
CN104166661A (zh) * | 2013-05-20 | 2014-11-26 | 方正宽带网络服务股份有限公司 | 数据存储系统和数据存储方法 |
CN104318538A (zh) * | 2014-10-14 | 2015-01-28 | 安徽游艺道网络科技有限公司 | 一种二维序列帧图片拼接成大图片的方法及其所用的装置 |
CN104615769A (zh) * | 2015-02-15 | 2015-05-13 | 小米科技有限责任公司 | 图片分类方法及装置 |
CN104899283A (zh) * | 2015-06-02 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
CN105049475A (zh) * | 2015-05-26 | 2015-11-11 | 重庆房慧科技有限公司 | 大规模社区的数据高效存储优化方法及系统 |
CN106484813A (zh) * | 2016-09-23 | 2017-03-08 | 广东港鑫科技有限公司 | 一种大数据分析系统及方法 |
CN107240138A (zh) * | 2017-05-25 | 2017-10-10 | 西安电子科技大学 | 基于样本二叉树字典学习的全色遥感图像压缩方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011210138A (ja) * | 2010-03-30 | 2011-10-20 | Sony Corp | 電子機器、画像出力方法及びプログラム |
CN102323936A (zh) * | 2011-08-31 | 2012-01-18 | 宇龙计算机通信科技(深圳)有限公司 | 对照片进行自动分类的方法及装置 |
US9449392B2 (en) * | 2013-06-05 | 2016-09-20 | Samsung Electronics Co., Ltd. | Estimator training method and pose estimating method using depth image |
-
2017
- 2017-12-25 CN CN201711424868.4A patent/CN110019400B/zh active Active
- 2017-12-29 WO PCT/CN2017/119638 patent/WO2019127300A1/zh active Application Filing
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102436491A (zh) * | 2011-11-08 | 2012-05-02 | 张三明 | 一种基于BigBase的海量图片搜索系统及方法 |
CN102663801A (zh) * | 2012-04-19 | 2012-09-12 | 北京天下图数据技术有限公司 | 一种提高三维模型渲染性能的方法 |
CN103049516A (zh) * | 2012-12-14 | 2013-04-17 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据处理方法及装置 |
CN104166661A (zh) * | 2013-05-20 | 2014-11-26 | 方正宽带网络服务股份有限公司 | 数据存储系统和数据存储方法 |
CN104318538A (zh) * | 2014-10-14 | 2015-01-28 | 安徽游艺道网络科技有限公司 | 一种二维序列帧图片拼接成大图片的方法及其所用的装置 |
CN104615769A (zh) * | 2015-02-15 | 2015-05-13 | 小米科技有限责任公司 | 图片分类方法及装置 |
CN105049475A (zh) * | 2015-05-26 | 2015-11-11 | 重庆房慧科技有限公司 | 大规模社区的数据高效存储优化方法及系统 |
CN104899283A (zh) * | 2015-06-02 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
CN106484813A (zh) * | 2016-09-23 | 2017-03-08 | 广东港鑫科技有限公司 | 一种大数据分析系统及方法 |
CN107240138A (zh) * | 2017-05-25 | 2017-10-10 | 西安电子科技大学 | 基于样本二叉树字典学习的全色遥感图像压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019127300A1 (zh) | 2019-07-04 |
CN110019400A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019876B (zh) | 数据查询方法、电子设备及存储介质 | |
US11727053B2 (en) | Entity recognition from an image | |
US10679055B2 (en) | Anomaly detection using non-target clustering | |
CN109918498B (zh) | 一种问题入库方法和装置 | |
CN111310074B (zh) | 兴趣点的标签优化方法、装置、电子设备和计算机可读介质 | |
CN110019400B (zh) | 数据存储方法、电子设备及存储介质 | |
CN104077723B (zh) | 一种社交网络推荐系统及方法 | |
CN108363686A (zh) | 一种字符串分词方法、装置、终端设备及存储介质 | |
CN108259637A (zh) | 一种基于决策树的nat设备识别方法及装置 | |
CN114444619B (zh) | 样本生成方法、训练方法、数据处理方法以及电子设备 | |
WO2017095413A1 (en) | Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors | |
CN110457704A (zh) | 目标字段的确定方法、装置、存储介质及电子装置 | |
WO2017095439A1 (en) | Incremental clustering of a data stream via an orthogonal transform based indexing | |
CN111667018B (zh) | 一种对象聚类的方法、装置、计算机可读介质及电子设备 | |
WO2017065795A1 (en) | Incremental update of a neighbor graph via an orthogonal transform based indexing | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
CN110309328B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
Ayat et al. | Entity resolution for distributed probabilistic data | |
CN113807370A (zh) | 数据处理方法、装置、设备、存储介质及计算机程序产品 | |
CN110232393B (zh) | 数据的处理方法、装置、存储介质和电子装置 | |
CN109840535B (zh) | 实现地形分类的方法和装置 | |
CN110309367B (zh) | 信息分类的方法、信息处理的方法和装置 | |
CN108090182B (zh) | 一种大规模高维数据的分布式索引方法及系统 | |
CN110033098A (zh) | 在线gbdt模型学习方法及装置 | |
CN116662606B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |