CN112579623B - 存储数据的方法、装置、存储介质及设备 - Google Patents
存储数据的方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN112579623B CN112579623B CN201910930928.2A CN201910930928A CN112579623B CN 112579623 B CN112579623 B CN 112579623B CN 201910930928 A CN201910930928 A CN 201910930928A CN 112579623 B CN112579623 B CN 112579623B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- target
- unique identification
- identification information
- 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 51
- 238000004364 calculation method Methods 0.000 claims description 20
- 241000700605 Viruses Species 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 abstract description 5
- 238000013075 data extraction Methods 0.000 abstract description 5
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 7
- 101150071716 PCSK1 gene Proteins 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/242—Query formulation
- G06F16/2433—Query languages
- G06F16/244—Grouping and aggregation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
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)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种存储数据的方法、装置、存储介质及设备,该方法包括:获取待存储数据的属性信息集;基于所述属性信息集,获得所述待存储数据的唯一标识信息;检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;将所述待存储数据存储至所述目标数据组。通过本发明,使用去重机制避免了数据库中出现重复数据,且对存入数据库的数据进行分组,使得后续能基于组别进行数据检索,缩小了检索范围,提高了数据提取效率,从而提升数据分析利用效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及存储数据的方法、装置、存储介质及设备。
背景技术
在如今的信息时代,如何科学的利用海量数据是被热点关注的问题。目前,对数据的处理一般分为三个阶段:采集阶段、存储阶段以及分析阶段。例如通过网络爬虫等数据采集工具从网络上采集数据,然后将采集得到的数据存储到数据库中,最后对数据库中的数据进行统计、学习、挖掘等分析操作,得到分析结果,再根据分析结果进行相应的决策和处理。但是在分布式系统中,由于多个客户端相互独立,可能出现多个客户端采集到同一数据的情况,这样会导致数据库中出现重复数据,浪费了存储资源。而且在分析阶段,需要对整个数据库中的数据进行检索以得到想要的数据,会耗费较长时间,影响了分析效率。
发明内容
本发明的主要目的在于提供一种存储数据的方法、装置、存储介质及设备,旨在解决现有技术中存在的上述技术问题。
为实现上述目的,本发明提供一种存储数据的方法,所述存储数据的方法包括:
获取待存储数据的属性信息集;
基于所述属性信息集,获得所述待存储数据的唯一标识信息;
检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
将所述待存储数据存储至所述目标数据组。
可选的,所述基于所述属性信息集,获得所述待存储数据的唯一标识信息包括:
按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;
对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息。
可选的,在所述根据所述唯一标识信息确定目标数据组之前,还包括:
确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;
构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集。
可选的,所述根据所述唯一标识信息确定目标数据组包括:
选取所述唯一标识信息的前N个字符,所述N为正整数;
从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组。
可选的,每个数据组具有一个对应的存储线程,所述将所述待存储数据存储至所述目标数据组包括:
调用所述目标数据组对应的存储线程;
通过所述存储线程将所述待存储数据以及所述唯一标识信息存储至所述目标数据组。
可选的,每个数据组具有一个对应的读取线程,在所述将所述待存储数据存储至所述目标数据组之后,还包括:
当接收到数据读取请求时,获取所述数据读取请求包含的目标属性信息集;
按照所述预置的拼接规则,对所述目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息;
对所述目标拼接信息进行哈希运算,以哈希运算结果作为目标唯一标识信息;
选取所述目标唯一标识信息的前N个字符;
从所述MN个数据组中选取唯一字段与所述目标唯一标识信息的前N个字符构成的字段相同的第一数据组;
调用所述第一数据组对应的读取线程;
通过所述读取线程从所述第一数据组中读取所述目标唯一标识信息对应的待读取数据。
可选的,在所述获取待存储数据的属性信息集之前,还包括:
检测所述待存储数据中是否存在恶意病毒;
若所述待存储数据中不存在恶意病毒,则检测所述待存储数据中是否包含文字信息和/或人脸图片;
当所述待存储数据包含文字信息时,检测所述文字信息中是否存在预设敏感词汇;和/或:
当所述待存储数据包含人脸图像时,计算所述人脸图像与各个预置人脸图像的相似度,获得各个相似度计算结果;
当所述文字信息中不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,执行所述获取待存储数据的属性信息集的步骤。
此外,为实现上述目的,本发明还提供一种存储数据的装置,所述装置包括:
获取模块,用于获取待存储数据的属性信息集;
生成模块,用于基于所述属性信息集,获得所述待存储数据的唯一标识信息;
检测模块,用于检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
确定模块,用于若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
存储模块,用于将所述待存储数据存储至所述目标数据组。
此外,为实现上述目的,本发明还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上方法所述的方法步骤。
此外,为实现上述目的,本发明还提供一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如上所述的方法步骤。
本发明中,获取待存储数据的属性信息集;基于所述属性信息集,获得所述待存储数据的唯一标识信息;检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;将所述待存储数据存储至所述目标数据组。通过本发明,使用去重机制避免了数据库中出现重复数据,且对存入数据库的数据进行分组,使得后续能基于组别进行数据检索,缩小了检索范围,提高了数据提取效率,从而提升数据分析利用效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1为本发明存储数据的方法一实施例的流程示意图;
图2为本发明存储数据的装置一实施例的功能模块示意图;
图3为本发明设备一实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,图1为本发明存储数据的方法一实施例的流程示意图。在一实施例中,存储数据的方法包括:
步骤S10,获取待存储数据的属性信息集;
本实施例中,待存储数据可以是文章、音乐、视频、图片中的任意一种,或任意多种的结合,在此不做限制。待存储数据的属性信息集包括多个属性信息,这些属性信息用于彰显待存储数据的独一性。例如,当待存储数据为文章时,获取待存储数据的属性信息集,该属性信息集中包含的属性信息有:文章标题、发布时间、文章作者;当待存储数据为音乐时,获取待存储数据的属性信息集,该属性信息集中包含的属性信息有:音乐名称、作词人名称、作曲人名称、演唱者名称;当待存储数据为视频时,获取待存储数据的属性信息集,该属性信息集中包含的属性信息有:视频名称、主演人员名称、导演名称。上述对属性信息集中包含的属性信息的说明仅为实例性说明,可根据实际需要对属性信息集中包含的属性信息进行合理扩充或缩减。
步骤S20,基于所述属性信息集,获得所述待存储数据的唯一标识信息;
本实施例中,通过对属性信息集进行哈希运算,例如通过MD4,MD5,SHS等常见的哈希运算对属性信息集进行哈希运算,得到待存储数据的唯一标识信息。
进一步地,在一可选实施例中,步骤S20包括:
按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息。
本实施例中,每个属性信息实质为一串字符串,即按照预置的拼接规则,将多个字符串拼接成一串总字符串,即为拼接信息。所述预置的拼接规则根据实际需要进行设置。
在一具体例子中,属性信息集中包含的多个属性信息分别为:att1,att2,att3。其中,att1,att2,att3分别为视频名称、主演人员名称、导演名称对应的字符串,而预置的拼接规则为:视频名称+导演名称+主演人员名称,则拼接得到的总字符串(即拼接信息)为att1+att3+att2,其中“+”表示对字符串进行拼接处理。
在另一具体例子中,属性信息集中包含的多个属性信息分别为:att1,att2,att3,att4。其中,att1,att2,att3,att4分别为音乐名称、作词人名称、作曲人名称、演唱者名称,而预置的拼接规则为:音乐名称+演唱者名称+作曲人名称+作词人名称,则拼接得到的总字符串(即拼接信息)为att1+att4+att3+att2,其中“+”表示对字符串进行拼接处理。
容易理解的是,属性信息集中的属性信息用于彰显待存储数据的独一性,不同的数据对应的属性集是不一样的,则每个数据均对应唯一的拼接信息,继续对每个数据对应的唯一的拼接信息进行哈希运算,即可将哈希运算得到的结果作为每个数据的唯一标识信息。
步骤S30,检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
本实施例中,如上述实施例所述,可为每个数据赋予唯一标识信息,即数据库中的已存储数据1对应唯一标识1,已存储数据2对应唯一标识2,已存储数据3对应唯一标识3……已存储数据N对应唯一标识N。即从唯一标识1至唯一标识N中查找是否存在与待存储数据的唯一标识信息相同的目标唯一标识信息。若存在与待存储数据的唯一标识信息相同的目标唯一标识信息,则说明该目标唯一标识信息对应的目标已存储数据与待存储数据是一样的数据,则放弃此次存储;若不存在与待存储数据的唯一标识信息相同的目标唯一标识信息,则说明数据库中不存在与待存储数据一样的数据,即不存在目标已存储数据。
步骤S40,若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
当不存在目标已存储数据时,需要根据唯一标识信息确定目标数据组。
一可选实施例中,在所述根据所述唯一标识信息确定目标数据组之前,还包括:
确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;
构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集。
本实施例中,哈希运算结果实质上是得到一个字符串,字符串中各个字符取自哈希运算对应的字符集。例如,以MD5运算作为选用的哈希运算为例,通过MD5运算得到的字符串中的每个字符取自字符集0-9以及a-z,该字符集中的字符数据M=36。当N取1时,即构建36个数据组,每个数据组对应的唯一字段包括1个取自字符集的字符,且36个数据组之间对应的唯一字段均不相同,即数据组1至36对应的唯一字段为分别为0-9,a-z。同理,当N取2时,即构建1296个数据组,每个数据组对应的唯一字段包括2个取自字符集的字符,且1296个数据组之间对应的唯一字段均不相同,即数据组1至1296对应的唯一字段分别为00、01、02……zz。
容易理解的是,当选用其他的哈希运算方式时,若哈希运算方式的字符集为其他字符集合,例如A-Z,则此时的M=26。当N取1时,即构建26个数据组,每个数据组对应的唯一字段包括1个取自字符集的字符,且26个数据组之间对应的唯一字段均不相同,即数据组1至26对应的唯一字段为分别为A-Z。同理,当N取2时,即构建676个数据组,每个数据组对应的唯一字段包括2个取自字符集的字符,且676个数据组之间对应的唯一字段均不相同,即数据组1至676对应的唯一字段分别为AA、AB、AC……ZX、ZY、ZZ。
为了便于举例说明,下述以哈希运算选用MD5运算,且N取1时的情况为例,由于MD5运算对应的字符集中字符数量为36,则构建36个数据组,每个数据组对应的唯一字段包括1个取自字符集的字符,且36个数据组之间对应的唯一字段均不相同,即数据组1至36对应的唯一字段为分别为0-9,a-z。其含义为:第1数据组用于存储唯一标识信息的第一位为“0”的数据,第2数据组用于存储唯一标识信息的第一位为“1”的数据……第36数据组用于存储唯一标识信息的第一位为“z”的数据。
一可选实施例中,所述根据所述唯一标识信息确定目标数据组包括:
选取所述唯一标识信息的前N个字符,所述N为正整数;
从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组。
本实施例中,由于唯一标识信息是根据哈希运算得到的,则每个数据的唯一标识信息中的每个字符都是取自哈希运算对应的字符集。哈希运算以MD5运算为例,则每个数据的唯一标识信息中的每个字符都是取自字符集0-9,a-z。若在分组时N的取值为1,则选取唯一标识信息的前1个字符(即首位字符),若选取的唯一标识信息的首位字符为“z”,而在构建的数据组中,只有第36数据组的唯一字段为“z”,则确定目标数据组为第36数据组;若选取的唯一标识信息的前N个字符(N取1)为“2”,则确定目标数据组为第3数据组。如表1所示,表1为数据与其所属组别的示意表。
表1
容易理解的是,当N取2时,则预先构建的数据组个数为36*36=1296,这种分组方式下的如何确定目标数据组的具体实施例与上述确定目标数据组的实施例基本相同,在此不做赘述。
步骤S50,将所述待存储数据存储至所述目标数据组。
本实施例中,确定待存储数据对应的目标数据组后,则将待存储数据存储至该目标数据组。后续,若数据分析处理阶段需要使用该待存储数据时,则可从目标数据组中进行数据检索,从而调取该待存储数据,缩小了数据检索范围,从而提高了数据提取效率。为了后续能准确读取数据,还可以是将该待存储数据以及唯一标识信息关联存储至目标数据组。
进一步地,一可选实施例中,步骤S50包括:
调用所述目标数据组对应的存储线程;
通过所述存储线程将所述待存储数据以及所述唯一标识信息存储至所述目标数据组。
本实施例中,若需要将待存储数据存储至某个数据组中,则通过调用该数据组的存储线程,执行本次存储任务。在分布式场景下,当有多个数据需要存储至多个数据组中时,则分别调用每个数据组的存储线程,并发执行各个存储任务,提高了存储效率。
本实施例中,获取待存储数据的属性信息集;基于所述属性信息集,获得所述待存储数据的唯一标识信息;检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;将所述待存储数据存储至所述目标数据组。通过本实施例,使用去重机制避免了数据库中出现重复数据,且对存入数据库的数据进行分组,使得后续能基于组别进行数据检索,缩小了检索范围,提高了数据提取效率,从而提升数据分析利用效率。
进一步地,一可选实施例中,步骤S50之后,还包括:
当接收到数据读取请求时,获取所述数据读取请求包含的目标属性信息集;按照所述预置的拼接规则,对所述目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息;对所述目标拼接信息进行哈希运算,以哈希运算结果作为目标唯一标识信息;选取所述目标唯一标识信息的前N个字符;从所述MN个数据组中选取唯一字段与所述目标唯一标识信息的前N个字符构成的字段相同的第一数据组;调用所述第一数据组对应的读取线程;通过所述读取线程从所述第一数据组中读取所述目标唯一标识信息对应的待读取数据。
本实施例中,当接收到数据读取请求时,可通过数据读取请求中包含的目标属性信息集确定请求获取的数据所属的第一数据组。例如,用户想要查找目标数据,目标数据以一首歌曲为例进行说明。用户输入该歌曲的音乐名称、作词人名称、作曲人名称、演唱者名称,然后点击确认,以供终端接收到包含了音乐名称、作词人名称、作曲人名称、演唱者名称(即目标属性信息集)的数据读取请求,然后按照预置的拼接规则,对目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息(与上述实施例中对待存储数据的属性信息进行拼接采用的拼接规则一致),然后对目标拼接信息进行哈希运算(与上述实施例中对待存储数据的拼接信息进行哈希运算所采用的哈希运算方式一致),以哈希运算结果作为目标唯一标识信息。由于在存储数据时,是基于数据的唯一标识信息的前N个字符确定存储位置,因此,在读取数据时,同样选取待读取数据的目标唯一标识信息的前N个字符;从MN个数据组中选取唯一字段与目标唯一标识信息的前N个字符构成的字段相同的第一数据组,然后调用第一数据组对应的读取线程,通过读取线程从第一数据组中读取目标唯一标识信息对应的待读取数据(即第一数据组中的该待读取数据的唯一标识信息与目标唯一标识信息相同)。在分布式场景下,当有多个数据需要从不同的数据组中读取时,则分别调用每个数据组的读取线程,并发执行各个读取任务,提高了读取效率。
进一步地,一可选实施例中,步骤S10之前,还包括:
检测所述待存储数据中是否存在恶意病毒;若所述待存储数据中不存在恶意病毒,则检测所述待存储数据中是否包含文字信息和/或人脸图片;当所述待存储数据包含文字信息时,检测所述文字信息中是否存在预设敏感词汇;和/或:当所述待存储数据包含人脸图像时,计算所述人脸图像与各个预置人脸图像的相似度,获得各个相似度计算结果;当所述文字信息中不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,执行所述获取待存储数据的属性信息集的步骤。
本实施例中,恶意病毒一般以代码形式存在,可通过检测待存储数据中是否存在恶意代码的方式,若待存储数据中存在恶意代码,则认定待存储数据中存在恶意病毒,则放弃此次存储。若所述待存储数据中不存在恶意病毒,检测待存储数据中是否包含文字信息和/或人脸图片。当待存储数据包含文字信息时,检测文字信息中是否存在预设敏感词汇;若文字信息中存在预设敏感词汇,则放弃此次存储。其中,预设敏感词汇是预先设置的一些涉黄涉暴的词汇。
和/或,当待存储数据包含人脸图像时,计算人脸图像与各个预置人脸图像的相似度,获得相似度计算结果;当所述相似度计算结果中存在大于或等于预设阈值的目标计算结果时,放弃此次存储。其中,预置的各个人脸图像指违法图片中常出现的一些人脸图像。只有当待存储数据不存在恶意病毒、不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,才执行后续的存储过程。通过本实施例,保证了数据库中存储的数据均是安全且合法的。
基于上述实施例的说明,上述存储数据的方法可以应用于多种实际场景,例如分布式系统中,在分布式系统中,由于各个客户端相互独立,导致可能出现获取重复数据的情况,通过上述实施例的方法,将该方法应用在分布式系统中的各个客户端上,使用去重机制避免了数据库中出现重复数据,且对存入数据库的数据进行分组,使得后续能基于组别进行数据检索,缩小了检索范围,提高了数据提取效率,从而提升数据分析利用效率。
如图2所示,图2为本发明存储数据的装置一实施例的功能模块示意图。一实施例中,存储数据的装置包括:
获取模块10,用于获取待存储数据的属性信息集;
生成模块20,用于基于所述属性信息集,获得所述待存储数据的唯一标识信息;
检测模块30,用于检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
确定模块40,用于若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
存储模块50,用于将所述待存储数据存储至所述目标数据组。
进一步地,一实施例中,生成模块20,用于:
按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;
对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息。
进一步地,一实施例中,存储数据的装置还包括创建模块,用于:
确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;
构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集。
进一步地,一实施例中,确定模块40,用于:
选取所述唯一标识信息的前N个字符,所述N为正整数;
从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组。
进一步地,一实施例中,存储模块50,用于:
调用所述目标数据组对应的存储线程;
通过所述存储线程将所述待存储数据以及所述唯一标识信息存储至所述目标数据组。
进一步地,一实施例中,存储数据的装置还包括读取模块,所述读取模块,用于:
当接收到数据读取请求时,获取所述数据读取请求包含的目标属性信息集;按照所述预置的拼接规则,对所述目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息;对所述目标拼接信息进行哈希运算,以哈希运算结果作为目标唯一标识信息;选取所述目标唯一标识信息的前N个字符;从所述MN个数据组中选取唯一字段与所述目标唯一标识信息的前N个字符构成的字段相同的第一数据组;调用所述第一数据组对应的读取线程;通过所述读取线程从所述第一数据组中读取所述目标唯一标识信息对应的待读取数据。
进一步地,一实施例中,存储数据的装置还包括安检模块,所述安检模块,用于:
检测所述待存储数据中是否存在恶意病毒;若所述待存储数据中不存在恶意病毒,则检测所述待存储数据中是否包含文字信息和/或人脸图片;当所述待存储数据包含文字信息时,检测所述文字信息中是否存在预设敏感词汇;和/或:当所述待存储数据包含人脸图像时,计算所述人脸图像与各个预置人脸图像的相似度,获得各个相似度计算结果;当所述文字信息中不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,执行所述获取待存储数据的属性信息集的步骤。
所述存储数据的装置包括处理器和存储器,上述获取模块、生成模块、检测模块、确定模块以及存储模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对系统服务器的系统资源进行扩充或删减。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现存储数据的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行存储数据的方法。
本发明实施例提供了一种设备,如图3所示,设备30包括至少一个处理器301、以及与处理器301连接的至少一个存储器302、总线303;其中,处理器301、存储器302通过总线303完成相互间的通信;处理器301用于调用存储器302中的程序指令,以执行上述的存储数据的方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
获取待存储数据的属性信息集;
基于所述属性信息集,获得所述待存储数据的唯一标识信息;
检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
将所述待存储数据存储至所述目标数据组。
可选的,所述基于所述属性信息集,获得所述待存储数据的唯一标识信息包括:
按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;
对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息。
可选的,在所述根据所述唯一标识信息确定目标数据组之前,还包括:
确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;
构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集。
可选的,所述根据所述唯一标识信息确定目标数据组包括:
选取所述唯一标识信息的前N个字符,所述N为正整数;
从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组。
可选的,每个数据组具有一个对应的存储线程,所述将所述待存储数据存储至所述目标数据组包括:
调用所述目标数据组对应的存储线程;
通过所述存储线程将所述待存储数据以及所述唯一标识信息存储至所述目标数据组。
可选的,每个数据组具有一个对应的读取线程,在所述将所述待存储数据存储至所述目标数据组之后,还包括:
当接收到数据读取请求时,获取所述数据读取请求包含的目标属性信息集;
按照所述预置的拼接规则,对所述目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息;
对所述目标拼接信息进行哈希运算,以哈希运算结果作为目标唯一标识信息;
选取所述目标唯一标识信息的前N个字符;
从所述MN个数据组中选取唯一字段与所述目标唯一标识信息的前N个字符构成的字段相同的第一数据组;
调用所述第一数据组对应的读取线程;
通过所述读取线程从所述第一数据组中读取所述目标唯一标识信息对应的待读取数据。
可选的,在所述获取待存储数据的属性信息集之前,还包括:
检测所述待存储数据中是否存在恶意病毒;
若所述待存储数据中不存在恶意病毒,则检测所述待存储数据中是否包含文字信息和/或人脸图片;
当所述待存储数据包含文字信息时,检测所述文字信息中是否存在预设敏感词汇;和/或:
当所述待存储数据包含人脸图像时,计算所述人脸图像与各个预置人脸图像的相似度,获得各个相似度计算结果;
当所述文字信息中不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,执行所述获取待存储数据的属性信息集的步骤。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (7)
1.一种存储数据的方法,其特征在于,所述存储数据的方法包括:
获取待存储数据的属性信息集;
基于所述属性信息集,获得所述待存储数据的唯一标识信息,包括:按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息;
检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;
将所述待存储数据存储至所述目标数据组;
在所述根据所述唯一标识信息确定目标数据组之前,还包括:
确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;
构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集;
所述根据所述唯一标识信息确定目标数据组包括:
选取所述唯一标识信息的前N个字符,所述N为正整数;
从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组。
2.如权利要求1所述的方法,其特征在于,每个数据组具有一个对应的存储线程,所述将所述待存储数据存储至所述目标数据组包括:
调用所述目标数据组对应的存储线程;
通过所述存储线程将所述待存储数据以及所述唯一标识信息存储至所述目标数据组。
3.如权利要求2所述的方法,其特征在于,每个数据组具有一个对应的读取线程,在所述将所述待存储数据存储至所述目标数据组之后,还包括:
当接收到数据读取请求时,获取所述数据读取请求包含的目标属性信息集;
按照所述预置的拼接规则,对所述目标属性信息集中包含的多个属性信息进行拼接,得到目标拼接信息;
对所述目标拼接信息进行哈希运算,以哈希运算结果作为目标唯一标识信息;
选取所述目标唯一标识信息的前N个字符;
从所述MN个数据组中选取唯一字段与所述目标唯一标识信息的前N个字符构成的字段相同的第一数据组;
调用所述第一数据组对应的读取线程;
通过所述读取线程从所述第一数据组中读取所述目标唯一标识信息对应的待读取数据。
4.如权利要求1至3中任一项所述的方法,其特征在于,在所述获取待存储数据的属性信息集之前,还包括:
检测所述待存储数据中是否存在恶意病毒;
若所述待存储数据中不存在恶意病毒,则检测所述待存储数据中是否包含文字信息和/或人脸图片;
当所述待存储数据包含文字信息时,检测所述文字信息中是否存在预设敏感词汇;和/或:
当所述待存储数据包含人脸图像时,计算所述人脸图像与各个预置人脸图像的相似度,获得各个相似度计算结果;
当所述文字信息中不存在预设敏感词汇以及所述各个相似度计算结果中不存在大于或等于预设阈值的相似度计算结果时,执行所述获取待存储数据的属性信息集的步骤。
5.一种存储数据的装置,其特征在于,所述装置包括:
获取模块,用于获取待存储数据的属性信息集;
生成模块,用于基于所述属性信息集,获得所述待存储数据的唯一标识信息;所述生成模块,具体用于:按照预置的拼接规则,对所述属性信息集中包含的多个属性信息进行拼接,得到拼接信息;对所述拼接信息进行哈希运算,以哈希运算结果作为所述待存储数据的唯一标识信息;
检测模块,用于检测是否存在目标已存储数据,所述目标已存储数据的目标唯一标识信息与所述唯一标识信息相同;
创建模块,用于确定所述哈希运算对应的字符集中的字符数量M,所述M为正整数;构建MN个数据组,所述N为正整数,且N≤M,并设置每个数据组对应一唯一字段,其中,不同数据组对应的唯一字段不同,所述唯一字段包括N个字符,所述字符取自所述字符集;
确定模块,用于若不存在所述目标已存储数据,则根据所述唯一标识信息确定目标数据组;所述确定模块,具体用于:选取所述唯一标识信息的前N个字符,所述N为正整数;从所述MN个数据组中确定唯一字段与所述前N个字符构成的字段相同的目标数据组;
存储模块,用于将所述待存储数据存储至所述目标数据组。
6.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法步骤。
7.一种电子设备,其特征在于,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-4中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930928.2A CN112579623B (zh) | 2019-09-29 | 2019-09-29 | 存储数据的方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910930928.2A CN112579623B (zh) | 2019-09-29 | 2019-09-29 | 存储数据的方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579623A CN112579623A (zh) | 2021-03-30 |
CN112579623B true CN112579623B (zh) | 2024-08-02 |
Family
ID=75110324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910930928.2A Active CN112579623B (zh) | 2019-09-29 | 2019-09-29 | 存储数据的方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579623B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113505115A (zh) * | 2021-07-07 | 2021-10-15 | 北京金山云网络技术有限公司 | 一种数据批量导入方法、装置及电子设备 |
CN113760907A (zh) * | 2021-08-02 | 2021-12-07 | 紫金诚征信有限公司 | 一种数据库中数据唯一性标识方法 |
CN113836095A (zh) * | 2021-09-26 | 2021-12-24 | 广州极飞科技股份有限公司 | 一种点云数据存储方法、装置、存储介质及电子设备 |
CN117076509B (zh) * | 2023-10-18 | 2024-04-09 | 卓望数码技术(深圳)有限公司 | 数据查重方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815267A (zh) * | 2015-12-01 | 2017-06-09 | 中兴通讯股份有限公司 | 数据存储方法和装置 |
CN110069488A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 一种数据存储方法、数据读取方法及其装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979671B2 (en) * | 2008-07-28 | 2011-07-12 | CacheIQ, Inc. | Dual hash indexing system and methodology |
GB0909734D0 (en) * | 2009-06-05 | 2009-07-22 | Liverpool John Moores University | Method and apparatus for detection of data in a data store |
CN107357862B (zh) * | 2017-06-30 | 2020-03-13 | 中国联合网络通信集团有限公司 | 话单排重方法及装置 |
CN107515901B (zh) * | 2017-07-24 | 2020-12-04 | 中国科学院信息工程研究所 | 一种链式日志存储结构及其哈希索引结构、数据操作方法及服务器、介质 |
CN110019048A (zh) * | 2017-09-30 | 2019-07-16 | 北京国双科技有限公司 | 基于MongoDB的文件处理方法、装置、系统及服务器 |
CN109165669B (zh) * | 2018-07-09 | 2021-11-16 | 浙江大学 | 基于模型识别码的三维面片模型文件相似性检测方法 |
CN109582644B (zh) * | 2018-12-21 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 文件存储方法、装置、设备及计算机可读存储介质 |
CN109992581B (zh) * | 2019-02-20 | 2023-05-26 | 平安科技(深圳)有限公司 | 基于HashMap的数据获取方法、装置、计算机设备和存储介质 |
CN110222064A (zh) * | 2019-06-19 | 2019-09-10 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
-
2019
- 2019-09-29 CN CN201910930928.2A patent/CN112579623B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815267A (zh) * | 2015-12-01 | 2017-06-09 | 中兴通讯股份有限公司 | 数据存储方法和装置 |
CN110069488A (zh) * | 2017-09-30 | 2019-07-30 | 北京国双科技有限公司 | 一种数据存储方法、数据读取方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112579623A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579623B (zh) | 存储数据的方法、装置、存储介质及设备 | |
CN104281626B (zh) | 基于图片化处理的网页展示方法及网页展示装置 | |
US11797617B2 (en) | Method and apparatus for collecting information regarding dark web | |
CN111177795A (zh) | 一种利用区块链识别视频篡改的方法、装置和计算机存储介质 | |
US20200125532A1 (en) | Fingerprints for open source code governance | |
CN113868698A (zh) | 一种文件脱敏方法及设备 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN106354587A (zh) | 镜像服务器以及导出虚拟机镜像文件的方法 | |
CN111224923A (zh) | 一种仿冒网站的检测方法、装置及系统 | |
CN107153692B (zh) | 一种字符串匹配的方法及设备 | |
WO2015124086A1 (en) | Virus signature matching method and apparatus | |
CN106911636B (zh) | 一种检测网站是否存在后门程序的方法及装置 | |
CN117492670A (zh) | 日志打印序列的确定方法、装置及电子设备 | |
CN112579947A (zh) | 网页元素图的截取方法、装置及电子设备 | |
CN115437930B (zh) | 网页应用指纹信息的识别方法及相关设备 | |
CN113821630A (zh) | 一种数据聚类的方法和装置 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN106776654B (zh) | 一种数据搜索方法及装置 | |
CN110858852B (zh) | 一种注册域名的获取方法及装置 | |
CN109710833B (zh) | 用于确定内容节点的方法与设备 | |
CN108920700B (zh) | 一种虚假图片识别方法及装置 | |
CN110968758B (zh) | 网页数据的爬取方法及装置 | |
CN114357394B (zh) | 一种数据流转关联识别方法、装置、电子设备及存储介质 | |
CN112379891B (zh) | 一种数据处理方法和装置 | |
CN115048543B (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 |