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

数据存储方法、检索方法、装置及电子设备与流程

2022-11-16 15:12:48 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体涉及一种数据存储方法、检索方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.在当前大数据场景下,数据产生的量成指数式增长。例如,对于虚拟游戏软件,每一虚拟用户进行游戏行为时通常会产生相应的游戏日志,且每天会产生新的游戏日志,所以每日新增的游戏日志的量非常大。在分析软件性能、用户行为、违规用户等时,通常需要从用户的日志中获取相关信息,这就需要从海量日志中检索到需要进行分析的日志。
3.相关技术中,通常是将日志存储在存储空间内,当需要进行检索时,获取人工输入的检索关键词等检索条件,再通过全量检索的方式,从所存储的海量日志中查找出与检索条件匹配的日志。
4.然而,由于海量日志的数据量非常大,使得从海量日志中进行查询检索的效率通常很低。


技术实现要素:

5.本技术提供了一种数据存储方法、检索方法、装置、电子设备及计算机可读存储介质,能够提高对数据进行检索的效率。具体方案如下:
6.第一方面,本技术实施例提供了一种数据存储方法,所述方法包括:
7.基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,其中,所述待存储数据为文本数据,所述逻辑存储空间具有空间标识,所述数据存储原则为:所述逻辑存储空间内存入的数据的大小小于或等于预设阈值;
8.执行针对所述逻辑存储空间的索引创建操作;
9.所述索引创建操作包括:
10.识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词;
11.建立并存储所述多个关键词与所述逻辑存储空间的空间标识之间的映射关系,所述映射关系用于在数据检索时查找到检索词对应的逻辑存储空间,以从查找到的逻辑存储空间中检索所述检索词对应的数据。
12.可选地,所述执行针对所述逻辑存储空间的索引创建操作,包括:
13.当监测到停止向所述逻辑存储空间内存入数据时,执行针对所述逻辑存储空间的索引创建操作。
14.可选地,所述基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,包括:
15.将待存储数据存入已创建的逻辑存储空间内;
16.在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间内存储的数据大小到达所述预设阈值,则停止向所述逻辑存储空间内存入所述待存储数据。
17.可选地,所述方法还包括:
18.在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长,则停止向所述逻辑存储空间内存入所述待存储数据。
19.可选地,所述逻辑存储空间存储在hadoop分布式文件系统hdfs中,所述映射关系存储在elasticsearch系统中。
20.可选地,所述预设阈值等于或小于所述hdfs的分布式块的数据大小。
21.可选地,当所述预设阈值小于所述分布式块的数据大小时,所述预设阈值与所述分布式块的数据大小之间的差的绝对值小于设定阈值。
22.可选地,所述识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词,包括:
23.通过命名实体识别算法识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
24.可选地,所述识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词,包括:
25.对所述逻辑存储空间内所存储的各文本数据进行分词处理,得到多个分词;
26.从所述多个分词中筛选出属于预设属性的各个词作为所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
27.可选地,所述预设属性包括以下至少一项:表示时间的词、表示地点词、表示虚拟角色名称的词、表示所发生事件的词。
28.可选地,在所述基于数据存储原则将待存储数据存入已创建的逻辑存储空间内之前,所述方法还包括:
29.获取待存储数据;
30.为所述待存储数据创建逻辑存储空间,并为所述逻辑存储空间添加空间标识。
31.第二方面,本技术实施例提供了一种数据检索方法,所述数据检索方法包括:
32.获取检索词;
33.从所存储的各映射关系中查找所述检索词对应的目标空间标识,其中,所述各映射关系是根据第一方面任一项所述的数据存储方法中映射关系的存储方式所存储的;
34.从所述目标空间标识对应的逻辑存储空间中查找与所述检索词相匹配的数据,其中,所述逻辑存储空间中存储的数据是根据第一方面任一项所述的数据存储方法中对待存储数据进行存储的方式所存储的。
35.第三方面,本技术实施例提供了一种数据存储装置,所述装置包括:
36.数据存储单元,用于基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,其中,所述待存储数据为文本数据,所述逻辑存储空间具有空间标识,所述数据存储原则为:所述逻辑存储空间内存入的数据的大小小于或等于预设阈值;
37.索引存储单元,用于执行针对所述逻辑存储空间的索引创建操作;
38.所述索引存储单元具体用于通过以下步骤进行所述索引创建操作:识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词;建立并存储所述多个关键词与所述逻辑存储空间的空间标识之间的映射关系,所述映射关系用于在数据检索时查找到检索词对
应的逻辑存储空间,以从查找到的逻辑存储空间中检索所述检索词对应的数据。
39.可选地,所述索引存储单元具体用于:
40.当监测到停止向所述逻辑存储空间内存入数据时,执行针对所述逻辑存储空间的索引创建操作。
41.可选地,所述数据存储单元包括:
42.存入子单元,用于将待存储数据存入已创建的逻辑存储空间内;
43.停止控制子单元,用于在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间内存储的数据大小到达所述预设阈值,则停止向所述逻辑存储空间内存入所述待存储数据。
44.可选地,所述停止控制子单元还用于:
45.在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长,则停止向所述逻辑存储空间内存入所述待存储数据。
46.可选地,所述逻辑存储空间存储在hadoop分布式文件系统hdfs中,所述映射关系存储在elasticsearch系统中。
47.可选地,所述预设阈值等于或小于所述hdfs的分布式块的数据大小。
48.可选地,当所述预设阈值小于所述分布式块的数据大小时,所述预设阈值与所述分布式块的数据大小之间的差的绝对值小于设定阈值。
49.可选地,所述索引存储单元具体用于:
50.通过命名实体识别算法识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
51.可选地,所述索引存储单元具体用于:
52.对所述逻辑存储空间内所存储的各文本数据进行分词处理,得到多个分词;从所述多个分词中筛选出属于预设属性的各个词作为所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
53.可选地,所述预设属性包括以下至少一项:表示时间的词、表示地点词、表示虚拟角色名称的词、表示所发生事件的词。
54.可选地,所述装置还包括:
55.获取单元,用于获取待存储数据;
56.创建单元,用于为所述待存储数据创建逻辑存储空间,并为所述逻辑存储空间添加空间标识。
57.第四方面,本技术还提供了一种数据检索装置,所述数据检索装置包括:
58.获取单元,用于获取检索词;
59.标识查找单元,用于从所存储的各映射关系中查找所述检索词对应的目标空间标识,其中,所述各映射关系是根据第三方面任一项所述的数据存储装置中索引存储单元存储映射关系的方式所存储的;
60.数据查找单元,用于从所述目标空间标识对应的逻辑存储空间中查找与所述检索词相匹配的数据,其中,所述逻辑存储空间中存储的数据是根据第三方面任一项所述的数据存储装置中数据存储单元存储待存储数据方式所存储的。
61.第五方面,本技术还提供了一种电子设备,包括:
62.处理器;以及
63.存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如第一方面或第二方面任一项所述的方法。
64.第四方面,本技术实施例还提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面或第二方面任一项所述的方法。
65.与现有技术相比,本技术具有以下优点:
66.本技术提供的数据存储方法在向已创建的逻辑存储空间内存入待存储数据时,基于的是逻辑存储空间内存入的数据的大小小于或等于预设阈值的原则,这样,向已创建的逻辑存储空间内存入的数据的大小比较小。本技术针对逻辑存储空间执行了索引创建操作,由于索引创建操作包括:识别逻辑存储空间内所存储的各文本数据对应的多个关键词,建立并存储多个关键词与逻辑存储空间的空间标识之间的映射关系,也就是说,本技术为逻辑存储空间建立了空间标识与所存储数据的关键词之间的映射关系。这样,所建立并存储的映射关系能够用于在数据检索时查找到检索词对应的逻辑存储空间,从而能够从查找到的逻辑存储空间中的少量的数据中快速检索到该检索词对应的数据,提高了检索效率。
67.可见,本技术实施例提供的数据存储方法由于为逻辑存储空间创建了空间标识与所存储数据的关键词之间的映射关系,这样,在用户通过检索词进行检索时,可以从各逻辑存储空间对应的各映射关系中快速查找到检索词对应的逻辑存储空间,再从查找到的逻辑存储空间内检索到与检索词相匹配的数据,由于每个逻辑存储空间内存储的数据的大小小于或等于预设阈值,所以每个逻辑存储空间内存储的数据量比较少,这样,可以快速、高效地从所查找到的逻辑存储空间内存储的比较少的数据中检索到与检索词相匹配的数据,从而使得数据检索的速度更快、效率更高、实时性更好。
附图说明
68.图1是本技术实施例提供的数据存储方法的一例的流程图;
69.图2是图1所提供的数据存储方法中索引创建操作的流程图;
70.图3是本技术实施例提供的数据检索方法的一例的流程图;
71.图4是本技术实施例提供的数据存储装置的一例的结构框图;
72.图5是本技术实施例提供的电子设备的一例的结构框图。
具体实施方式
73.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
74.在当前大数据场景下,数据产生的量成指数式增长,在海量的拍字节(petabytes,简称pt)级别的数据中如何进行有效的文本数据检索,是当代大数据检索领域内用好数据的一个重要的难题。
75.相关技术中,可以把海量数据存入hadoop分布式文件系统(简称hdfs)等存储系统内,当需要进行检索时,获取人工输入的检索关键词,再通过全量检索的方式,从所存储的
海量数据中查找出与检索关键词匹配的数据。然而,由于海量日志的数据量非常大,使得从海量数据中进行查询检索的效率通常很低,也影响了数据检索的实时性,使得实时产生的数据不能被更及时检索出。
76.基于上述原因,为了提高对数据进行检索的效率,提高数据检索的实时性,使得实时产生的数据能够被更及时检索出,本技术第一实施例提供了一种数据存储方法,该方法应用于电子设备,该电子设备可以是服务器、台式电脑、笔记本电脑、手机、平板电脑、服务器、终端设备等,也可以是其他能够进行数据处理的电子设备,本技术实施例不具体限定。
77.本技术实施例所提供的数据存储方法可以用于对日志、新闻稿件、交易记录等数据进行存储,也可以用于对其他类型的数据进行存储,本技术不具体限定。
78.如图1所示,本技术提供的数据存储方法包括以下步骤s110~步骤s120。
79.步骤s110:基于数据存储原则将待存储数据存入已创建的逻辑存储空间内。
80.其中,上述待存储数据为文本数据,上述逻辑存储空间具有空间标识,上市数据存储原则为:逻辑存储空间内存入的数据的大小小于或等于预设阈值。
81.上述待存储数据具体可以为应用程序的使用日志、新闻稿件、网络购物平台的交易记录、即时聊天类软件的聊天记录、论坛类应用程序的留言信息等文本数据,也可以为其他文本数据,本技术不具体限定。本技术提供的数据存储方法的应用场景不同,待存储数据的类型通常也不同。
82.上述逻辑存储空间可以是虚拟文件夹、虚拟公文包等,也可以是其他形式的逻辑存储空间。
83.逻辑存储空间的空间标识用于唯一标识该逻辑存储空间,逻辑存储空间的空间标识可以包含数字、英文字母、中文字母、特殊字符中的至少一种,也可以包含其他能够唯一标识逻辑存储空间的字符,本技术不具体限定。
84.上述预设阈值可以是100mb~300mb中的任一值,例如,预设阈值可以为100mb、200mb或300mb,预设阈值也可以是更大或更小的值,本技术不具体限定。
85.可以理解的是,在同等数据量下,数据的逻辑文件数与单个文件的大小成反比,当逻辑文件的大小阈值(即上述预设阈值)设置的比较小时会造成逻辑文件(即上述逻辑存储空间)的数目比较大,其每个逻辑文件的存储的元数据(如大小和索引位置等)都需要占用一定的存储空间,会增加元数据存储的压力,当逻辑文件设置过大的时候,会造成单个文件检索的成本增大。
86.待存储数据通常是很多的,所以,为了存储大量的待存储数据,已创建的逻辑存储空间的数量通常也是比较多的,即已创建的逻辑存储空间包括多个。
87.步骤s110中,可以是预先创建多个逻辑存储空间,将待存储数据基于数据存储原则存入已创建的各逻辑存储空间内。
88.对于待存储数据是日志、新闻稿件等实时产生的流数据的情况,步骤s110中,也可以是在获取了待存储数据时创建逻辑存储空间,将待存储数据基于数据原则存入已创建的逻辑存储空间内,将获取的待存储数据中未能存入该逻辑存储空间内的数据作为新的待存储数据,再针对新的待存储数据创建新的逻辑存储空间,以用于存储上述新的待存储数据。这样,能够按照待存储数据的数量和大小适应性地创建逻辑存储空间,使得逻辑存储空间的创建更合理,更适用于对实时产生的流数据进行存储。
89.可选地,当待存储数据为流数据时,步骤s110中,可以基于数据存储原则通过flink引擎将待存储数据存入已创建的逻辑存储空间内。考虑到数据的时效性,本实施例通过flink引擎对流数据进行存储。
90.步骤s120:执行针对上述逻辑存储空间的索引创建操作。
91.步骤s120中,可以是在停止向逻辑存储空间存入数据时执行针对逻辑存储空间的索引创建操作,也可以是在向逻辑存储空间存入数据的过程中执行针对逻辑存储空间的索引创建操作,本技术不具体限定。
92.当停止向逻辑存储空间存入数据时执行针对逻辑存储空间的索引创建操作,由于逻辑存储空间内的数据已经不再存入,所以数据不再发生变化,因此可以使得索引创建更方便,也可以使得创建的索引更准确。
93.停止向逻辑存储空间内存入数据,可以理解为是数据无法被存入逻辑存储空间内,即在存在待存储数据的情况下无法向逻辑存储空间内存入该待存储数据。具体的,可以将逻辑存储空间设置为关闭或停止存入的状态,当逻辑存储空间被设置为关闭或停止存入状态时,停止向逻辑存储空间内存入数据。
94.由于步骤s110中的数据存储原则是逻辑存储空间内存入的数据的大小小于或等于预设阈值,所以,当逻辑存储空间内存入的数据的大小等于预设阈值时,是无法继续向逻辑存储空间内存入数据的,此时,即停止向逻辑存储空间内存入数据。本技术实施例中,当逻辑存储空间内存入的数据的大小等于预设阈值时,可以将逻辑存储空间设置为关闭或停止存入,也可以将逻辑存储空间设置或标记为停止存入数据的状态,以停止向逻辑存储空间内存入数据。
95.如图2所示,步骤s120中,可以按以下步骤s121~步骤s122进行索引创建操作。
96.步骤s121:识别逻辑存储空间内所存储的各文本数据对应的多个关键词。
97.由于待存储数据为文本数据,所以,逻辑存储空间内存储的为文本数据。逻辑存储空间内可以存储一个文本数据,也可以存储多个文本数据。例如,逻辑存储空间内可以存储一个游戏日志,也可以存储多个游戏日志。
98.步骤s121中,可以训练一个关键词识别模型,将逻辑存储空间内存储的各文本数据输入关键词识别模型中,得到各文本数据的关键词。关键词识别模型的训练方法可以采用有监督训练法,此处不再对具体的训练过程进行详述。
99.步骤s122:建立并存储上述多个关键词与上述逻辑存储空间的空间标识之间的映射关系。
100.上述映射关系用于在数据检索时查找到检索词对应的逻辑存储空间,以从查找到的逻辑存储空间中检索上述检索词对应的数据。
101.步骤s122建立了多个关键词与逻辑存储空间的空间标识之间的映射关系,即建立了索引信息,索引信息包含多个关键词与空间标识之间的映射关系。
102.本技术提供的数据存储方法在向已创建的逻辑存储空间内存入待存储数据时,基于的是逻辑存储空间内存入的数据的大小小于或等于预设阈值的原则,这样,向已创建的逻辑存储空间内存入的数据的大小比较小。本技术针对逻辑存储空间执行了索引创建操作,由于索引创建操作包括:识别逻辑存储空间内所存储的各文本数据对应的多个关键词,建立并存储多个关键词与逻辑存储空间的空间标识之间的映射关系,也就是说,本技术为
逻辑存储空间建立了空间标识与所存储数据的关键词之间的映射关系。这样,所建立并存储的映射关系能够用于在数据检索时查找到检索词对应的逻辑存储空间,从而能够从查找到的逻辑存储空间中的少量的数据中快速检索到该检索词对应的数据。
103.可见,本技术实施例提供的数据存储方法由于为逻辑存储空间创建了空间标识与所存储数据的关键词之间的映射关系,这样,在用户通过检索词进行检索时,可以从各逻辑存储空间对应的各映射关系中快速查找到检索词对应的逻辑存储空间,再从查找到的逻辑存储空间内检索到与检索词相匹配的数据,由于每个逻辑存储空间内存储的数据的大小小于或等于预设阈值,所以每个逻辑存储空间内存储的数据量比较少,这样,可以快速、高效地从所查找到的逻辑存储空间内存储的比较少的数据中检索到与检索词相匹配的数据,从而使得数据检索的速度更快、效率更高、实时性更好。
104.在一种实施方式中,步骤s120可以按以下步骤s121实现。
105.步骤s121:当监测到停止向逻辑存储空间内存入数据时,执行针对逻辑存储空间的索引创建操作。
106.本实施方式中,若是当逻辑存储空间被设置为关闭或停止存入状态时停止向逻辑存储空间内存入数据,则步骤s121中,可以在监测到逻辑存储空间的状态为关闭或停止存入的状态时,执行针对逻辑存储空间的索引创建操作。
107.对于日志等实时产生的数据,在使用本技术提供的方案进行数据存储时,由于在监测到停止存入数据时针对逻辑存储空间创建了映射关系,所以映射关系的创建十分及时,能够更好地保证用户对数据进行检索时已经对数据及时地创建了相对应的映射关系,从而能够很好地保证数据检索的实时性,使得实时产生的数据能够被快速检索出来。
108.在一个具体实施例中,步骤s110可以按以下步骤s111~步骤s112实现。
109.步骤s111:将待存储数据存入已创建的逻辑存储空间内。
110.步骤s112:在将待存储数据存入上述逻辑存储空间内的过程中,若逻辑存储空间内存储的数据大小到达预设阈值,则停止向该逻辑存储空间内存入待存储数据。
111.步骤s112中,停止向该逻辑存储空间内存入待存储数据,具体可以按以下步骤实现:将该逻辑存储空间设置为关闭或停止存入的状态,当确定逻辑存储空间的状态为关闭或停止存入的状态时,停止向该逻辑存储空间内存入待存储数据。
112.本实施方式在逻辑存储空间内存储的数据到达预设阈值时停止存入,由于每个逻辑存储空间通常会形成一个文件夹或其他形式的逻辑存储单元,本实施方式可以更大概率地使逻辑存储空间内的数据到达预设阈值,使得各个逻辑存储空间形成比较大的文件(但不超过预设阈值),以减少所创建的逻辑存储空间的数量,从而减少了各个逻辑存储空间对应的各个元数据的数量,减少了元数据的存储压力。另外,逻辑存储空间的数量越少,后续所创建的映射关系的数量也越少,减少了映射关系的存储压力,且从各映射关系中进行检索的效率也比较高。
113.另外,本实施方式也可以十分方便、高效地确定是否停止向逻辑空间内存入数据,使得数据存储的效率更高。
114.在一个具体实施例中,上述数据存储方法还可以包括以下步骤s130。
115.步骤s130:在将待存储数据存入所述逻辑存储空间内的过程中,若逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长,则停止向逻辑存储空间内存入待
存储数据。
116.可以理解的是,逻辑存储空间在刚创建完成后是空的,当空的逻辑存储空间有数据存入时,将空的逻辑存储空间有数据存入时的时刻确定为逻辑存储空间开始存入数据的时刻。
117.步骤s130中停止向逻辑存储空间内存入数据的方式可以参考步骤s112,此处不再赘述。
118.上述设定时长可以是20分钟~1.5小时,例如,设定时长可以是20分钟、1小时、1.5小时等,设定时长也可以根据具体的业务场景做适当调整,本技术不具体限定。
119.本实施例在向逻辑存储空间内存入数据时,满足逻辑存储空间内存入的数据大小到达预设阈值、逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长这两个条件中的任意一个时,均会停止向逻辑存储空间内存入数据。
120.当上述设定时长较长时,可以为数据存入留有更长的时间,使得更多的待存储数据能够存入逻辑存储空间内,从而使得逻辑存储空间内存储的数据更多(但不超过预设阈值),这样,使得元数据的数量比较少,减少了元数据的存储压力,还可以减少所创建的映射关系的数量,减少了映射关系的存储压力,从各映射关系中进行检索的效率也比较高。
121.当上述设定时长较短时,可以更加及时地为逻辑存储空间创建映射关系,从而可以使得用户在进行检索时能够及时通过所创建的映射关系检索到存入逻辑存储空间内的数据,提高了检索的实时性。
122.本领域技术人员可以根据实际的应用需求确定设定时长的具体值,本技术不具体限定。
123.本实施例在逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长时停止向逻辑存储空间内存入待存储数据,可以使得已存入逻辑存储空间内的数据能够被及时创建索引(即映射关系),从而使得存入逻辑存储空间内的数据能够被更加实时地检索出,提高了后续进行检索的实时性。
124.在一种实施方式中,上述逻辑存储空间可以存储在hdfs中,上述映射关系可以存储在elasticsearch系统中。
125.上述hdfs是指hadoop分布式文件系统,hdfs是适合运行在通用硬件上的分布式文件系统,hdfs是一个高度容错性的系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
126.本实施方式将逻辑存储空间存储在hdfs中,也就是将待存储数据存储在hdfs中,当待存储数据的量比较大时,通过hdfs存储海量的待存储数据,可以使得数据存储与获取时的传输速度更快,从而使得数据存储速度更快、效率更高,使得检索到的目标数据能够更快速地传输到用户端设备。
127.上述elasticsearch系统是一个基于lucene的搜索引擎,能够在亿级数据量的前提下提供秒级响应,响应速度非常快,具有实时搜索、稳定、可靠、快速以及安装方便等的特点。本实施方式将映射关系存储在elasticsearch系统上,可以非常快速地从elasticsearch系统中检索到与检索词相对应的空间标识,从而能够快速地检索到检索词相对应的逻辑存储空间,提高了数据检索的效率。另外,本技术实施例中,由于所创建的映射关系的大小很小,一个逻辑存储空间内存储的数据的大小与该逻辑存储空间对应的映射
关系的大小之间的比例大概为(100~10):1,也就是说映射关系比逻辑存储空间内的数据小得多,所以,本技术只是将数据大小比较小的映射关系存入elasticsearch系统上,数据存储成本比较小。
128.在另一种实施方式中,映射关系也可以存储在sorl系统上,或者映射关系也可以存储在其他搜索引擎系统上,上述逻辑存储空间也可以存储hbase系统上,或者逻辑存储空间也可以存储在其他文件存储系统上。
129.本技术实施例中,映射关系与逻辑存储空间也可以存储在同一数据存储系统中,例如,映射关系与逻辑存储空间可以均存储在hdfs系统中、hbase系统中等,本技术不具体限定。
130.在一个具体实施例中,当逻辑存储空间存储在hdfs中时,上述预设阈值可以等于或小于hdfs的分布式块的数据大小。
131.hdfs以分布式块序列的形式存储文件,hdfs中的各个分布式块的数据大小通常相同。本实施例的预设阈值等于或小于hdfs的分布式块的数据大小,使得逻辑存储空间内存储的数据大小小于分布式块的数据大小,所以,在向hdfs中存储数据时,一个逻辑存储空间可以存储在一个分布式块上,一个逻辑存储空间无需在不同分布式块之间分割存储,使得数据存储更简单、方便,后续进行检索时也更高效。
132.在一个具体实施例中,当上述预设阈值小于hdfs的分布式块的数据大小时,预设阈值与分布式块的数据大小之间的差的绝对值小于设定阈值。
133.上述预设阈值可以是3mb~15mb,例如,预设阈值可以是3mb、6mb、10mb、15mb等,也可以是其他比较小的阈值,本技术不具体限定。
134.本实施例中,各逻辑存储空间可以一一对应存储在hdfs的各分布式块中,以使得数据的存储和检索更加方便和高效。
135.本实施例当预设阈值与分布式块的数据大小之间的差的绝对值小于设定阈值时,能使得预设阈值更加接近于分布式块的数据大小,从而使得逻辑存储空间内存储的数据大小能更加接近于分布式块的数据大小,这样,既能够使逻辑存储空间内的数据不被分割存储在不同分布式块中,又能使逻辑存储空间内的数据以更高的占用率存储在分布式块中,提高了hdfs的利用率。
136.在一种实施方式中,上述步骤s121可以按以下步骤s121a实现。
137.步骤s121a:通过命名实体识别算法识别逻辑存储空间内所存储的各文本数据对应的多个关键词。
138.上述实体识别算法(named entity recognition,简称ner)是是指识别文本中具有特定意义的实体,主要用于识别实体类、时间类、数字类的实体,具体的,可以用于识别人名、机构名、地名、专有名词、时间、日期、货币和百分比等实体。
139.本实施方式通过ner算法可以快速、高效地识别出逻辑存储空间内所存储的各文本数据对应的多个关键词,使得映射创建更快速,从而使得数据存储效率更高。
140.在另一种实施方式中,上述步骤s121也可以按以下步骤s121b~步骤s121c实现。
141.步骤s121b:对逻辑存储空间内所存储的各文本数据进行分词处理,得到多个分词。
142.具体的,可以使用ik分词器对各文本数据进行分词,ik分词器可以是ik_max_word
分词器或者ik_smar分词器,本技术不具体限定。
143.或者,也可以基于隐马尔可夫模型(hidden mark model,简称hmm)使用统计分词法对各文本数据进行分词,本技术不限定分词的具体方式。
144.步骤s121c:从上述多个分词中筛选出属于预设属性的各个词作为逻辑存储空间内所存储的各文本数据对应的多个关键词。
145.上述预设属性可以包括以下至少一项:表示时间的词、表示地点词、表示虚拟角色名称的词、表示所发生事件的词,但不限于此。
146.上述预设属性也可以根据实际的业务场景确定,例如,对于需要统计虚拟游戏的用户行为的场景,预设属性可以包括虚拟角色名称、时间、虚拟场所名称、级别等;对于需要统计用户的网购习惯的场景,预设属性可以包括用户名称、交易金额、交易时间、购买商品名称等。本领域技术人员可以根据实际需要设置具体的预设属性,本技术不具体限定。
147.本实施方式通过从分词中进行筛选的方式,可以快速、准确地得到满足实际场景需求的关键词,使得后续进行检索的准确率更高。对于中文文本数据,通过分词的方式也更容易得到文本数据的关键词。
148.本技术实施例中,可以通过spark系统读取逻辑存储空间内所存储的各文本数据,并对读取到的各文本数据进行分词处理。其中,spark是一个以复杂计算为核心的大数据分析系统,具备高效性、通用性等特点。本实施例通过spark系统可以快速、高效地读取逻辑存储空间内的文本数据并进行分词,使得关键词的确定更高效,从而使得数据存储的过程更高效。
149.可选地,本技术实施例可以通过spark系统建立多个关键词与逻辑存储空间的空间标识之间的映射关系,并通过spark系统将映射关系存储到elasticsearch系统中。
150.在一种实施方式中,在步骤s110之前,上述数据存储方法还可以包括以下步骤s140~步骤s150。
151.步骤s140:获取待存储数据。
152.待存储数据指的是还未存入逻辑存储空间内的数据。
153.步骤s150:为待存储数据创建逻辑存储空间,并为该逻辑存储空间添加空间标识。
154.本技术实施例中,对于流数据或者其他实时产生的、数据量很大的待存储数据,在将待存储数据存入逻辑存储空间的过程中,可能会存在一部分待存储数据存入了逻辑存储空间内,剩下还有一部分待存储数据由于逻辑存储空间所设置的大小限制而未存入逻辑存储空间内,这种情况下,电子设备可以将剩下的未存入逻辑存储空间内的数据继续作为待存储数据,针对该待存储数据创建逻辑存储空间,以此类推根据不断产生的待存储数据而对应创建各个逻辑存储空间。已存入逻辑存储空间内的数据为已存储数据。
155.本实施方式在获取了待存储数据时为该待存储数据创建逻辑存储空间,可以使得按照待存储数据的数量和大小适应性地创建逻辑存储空间,使得逻辑存储空间的创建更合理,更适用于对实时产生的流数据进行存储。
156.本技术第二实施例还提供了一种数据检索方法,如图3所示,该数据检索方法包括以下步骤s210~步骤s230。
157.步骤s210:获取检索词。
158.具体的,电子设备可以获取用户输入的检索词。
159.本实施例中,电子设备可以从kibana平台获取用户输入的检索词。其中,kibana是一个开源的分析与可视化平台,其可以用于搜索、查看存放在elasticsearch系统中的数据,kibana与elasticsearch的交互方式是各种不同的图表、表格、地图等,kibana平台能够直观的展示数据,从而达到可视化的目的。本实施例通过kibana平台可以更便于用户进行检索信息的输入,使得用户检索更方便。
160.步骤s220:从所存储的各映射关系中查找上述检索词对应的目标空间标识。
161.其中,各映射关系是根据第一实施例中任一项所述的数据存储方法中映射关系的存储方式所存储的。
162.步骤s220中,可以从所存储的映射关系中查找包含检索词的映射关系,将包含检索词的映射关系中的空间标识确定为检索词对应的目标空间标识。
163.示例性地,当映射关系存储在上述elasticsearch系统中时,电子设备可以通过kibana平台将用户输入的检索词转发给elasticsearch系统,从而提高elasticsearch系统进行目标空间标识的查找。可选地,kibana平台将用户输入的检索词转发给trino系统,trino系统根据检索词从elasticsearch系统中的各映射关系中查找与检索词对应的目标空间标识。
164.上述trino是个多源、实时的查询引擎,其可以支持跨不同数据源的联邦查询,实时计算能力很强,可以达到大数据量计算任务下的秒级响应。本实施例通过trino计算引擎先进行映射关系查询,过滤到具体要查询逻辑存储文件(即逻辑存储空间)的具体位置,再进行具体的数据检索,通过检索少量的存储文件,可以使得检索速度更快。
165.步骤s230:从上述目标空间标识对应的逻辑存储空间中查找与检索词相匹配的数据。
166.步骤s230中的逻辑存储空间中存储的数据是根据第一实施例中任一项所述的数据存储方法中对待存储数据进行存储的方式所存储的。
167.具体的,可以从目标空间标识对应的逻辑存储空间中存储的各文本数据中,查找包含检索词的文本数据,将包含检索词的文本数据确定为与检索词相匹配的数据。
168.示例性地,电子设备可以通过上述trino系统从目标空间标识对应的逻辑存储空间中查找与检索词相匹配的数据。
169.步骤s230查询到与检索词匹配的数据后,可以将查询到的数据进行显示。具体的,可以将查询到的数据在客户端进行显示。本技术实施例中,可以将查询到的数据通过kibana平台进行显示。
170.可选地,电子设备通过trino系统查找到与检索词匹配的数据后,可以将与检索词匹配的数据发送给elasticsearch系统,elasticsearch系统再将数据发送给kibana平台,以通过kibana平台显示查询到的数据,便于用户数据可视化的查看。
171.本技术第一实施例提供的外挂检测方法相对应的,本技术第三实施例还提供了一种数据存储装置,如图4所示,所述数据存储装置包括:
172.数据存储单元410,用于基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,其中,所述待存储数据为文本数据,所述逻辑存储空间具有空间标识,所述数据存储原则为:所述逻辑存储空间内存入的数据的大小小于或等于预设阈值;
173.索引存储单元420,用于执行针对所述逻辑存储空间的索引创建操作;
174.所述索引存储单元420具体用于通过以下步骤进行所述索引创建操作:识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词;建立并存储所述多个关键词与所述逻辑存储空间的空间标识之间的映射关系,所述映射关系用于在数据检索时查找到检索词对应的逻辑存储空间,以从查找到的逻辑存储空间中检索所述检索词对应的数据。
175.可选地,所述索引存储单元420具体用于:
176.当监测到停止向所述逻辑存储空间内存入数据时,执行针对所述逻辑存储空间的索引创建操作。
177.可选地,所述数据存储单元410包括:
178.存入子单元,用于将待存储数据存入已创建的逻辑存储空间内;
179.停止控制子单元,用于在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间内存储的数据大小到达所述预设阈值,则停止向所述逻辑存储空间内存入所述待存储数据。
180.可选地,所述停止控制子单元还用于:
181.在将所述待存储数据存入所述逻辑存储空间内的过程中,若所述逻辑存储空间从开始存入数据的时刻到当前时刻的时长到达设定时长,则停止向所述逻辑存储空间内存入所述待存储数据。
182.可选地,所述逻辑存储空间存储在hadoop分布式文件系统hdfs中,所述映射关系存储在elasticsearch系统中。
183.可选地,所述预设阈值等于或小于所述hdfs的分布式块的数据大小。
184.可选地,当所述预设阈值小于所述分布式块的数据大小时,所述预设阈值与所述分布式块的数据大小之间的差的绝对值小于设定阈值。
185.可选地,所述索引存储单元420具体用于:
186.通过命名实体识别算法识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
187.可选地,所述索引存储单元420具体用于:
188.对所述逻辑存储空间内所存储的各文本数据进行分词处理,得到多个分词;从所述多个分词中筛选出属于预设属性的各个词作为所述逻辑存储空间内所存储的各文本数据对应的多个关键词。
189.可选地,所述预设属性包括以下至少一项:表示时间的词、表示地点词、表示虚拟角色名称的词、表示所发生事件的词。
190.可选地,所述装置还包括:
191.获取单元,用于获取待存储数据;
192.创建单元,用于为所述待存储数据创建逻辑存储空间,并为所述逻辑存储空间添加空间标识。
193.本技术第二实施例提供的数据检索方法相对应的,本技术第四实施例还提供了一种数据检索装置,所述数据检索装置包括:
194.获取单元,用于获取检索词;
195.标识查找单元,用于从所存储的各映射关系中查找所述检索词对应的目标空间标识,其中,所述各映射关系是根据权利要求13所述的数据存储装置中索引存储单元存储映
射关系的方式所存储的;
196.数据查找单元,用于从所述目标空间标识对应的逻辑存储空间中查找与所述检索词相匹配的数据,其中,所述逻辑存储空间中存储的数据是根据权利要求13所述的数据存储装置中数据存储单元存储待存储数据方式所存储的。
197.与本技术第一实施例提供的数据存储方法相对应的,本技术第五实施例还提供了一种用于存储数据的电子设备。如图5所示,所述电子设备包括:处理器501;以及存储器502,用于存储数据存储方法的程序,该设备通电并通过所述处理器运行该数据存储方法的程序后,执行如下步骤:
198.基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,其中,所述待存储数据为文本数据,所述逻辑存储空间具有空间标识,所述数据存储原则为:所述逻辑存储空间内存入的数据的大小小于或等于预设阈值;
199.执行针对所述逻辑存储空间的索引创建操作;
200.所述索引创建操作包括:
201.识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词;
202.建立并存储所述多个关键词与所述逻辑存储空间的空间标识之间的映射关系,所述映射关系用于在数据检索时查找到检索词对应的逻辑存储空间,以从查找到的逻辑存储空间中检索所述检索词对应的数据。
203.与本技术第二实施例提供的数据检索方法相对应的,本技术第六实施例还提供了一种用于检索数据的电子设备。所述电子设备包括:处理器;以及存储器,用于存储数据检索方法的程序,该设备通电并通过所述处理器运行该数据检索方法的程序后,执行如下步骤:
204.获取检索词;
205.从所存储的各映射关系中查找所述检索词对应的目标空间标识,其中,所述各映射关系是根据第一实施例中任一项所述的数据存储方法中映射关系的存储方式所存储的;
206.从所述目标空间标识对应的逻辑存储空间中查找与所述检索词相匹配的数据,其中,所述逻辑存储空间中存储的数据是根据第一实施例中任一项所述的数据存储方法中对待存储数据进行存储的方式所存储的。
207.与本技术第一实施例提供的数据存储方法相对应的,本技术第七实施例提供一种计算机可读存储介质,存储有数据存储方法的程序,该程序被处理器运行,执行下述步骤:
208.基于数据存储原则将待存储数据存入已创建的逻辑存储空间内,其中,所述待存储数据为文本数据,所述逻辑存储空间具有空间标识,所述数据存储原则为:所述逻辑存储空间内存入的数据的大小小于或等于预设阈值;
209.执行针对所述逻辑存储空间的索引创建操作;
210.所述索引创建操作包括:
211.识别所述逻辑存储空间内所存储的各文本数据对应的多个关键词;
212.建立并存储所述多个关键词与所述逻辑存储空间的空间标识之间的映射关系,所述映射关系用于在数据检索时查找到检索词对应的逻辑存储空间,以从查找到的逻辑存储空间中检索所述检索词对应的数据。
213.与本技术第二实施例提供的数据检索方法相对应的,本技术第八实施例提供一种
计算机可读存储介质,存储有数据检索方法的程序,该程序被处理器运行,执行下述步骤:
214.获取检索词;
215.从所存储的各映射关系中查找所述检索词对应的目标空间标识,其中,所述各映射关系是根据第一实施例任一项所述的数据存储方法中映射关系的存储方式所存储的;
216.从所述目标空间标识对应的逻辑存储空间中查找与所述检索词相匹配的数据,其中,所述逻辑存储空间中存储的数据是根据第一实施例任一项所述的数据存储方法中对待存储数据进行存储的方式所存储的。
217.需要说明的是,对于本技术第二实施例至第四实施例提供的检索方法、装置、电子设备及计算机可读存储介质的详细描述可以参考对本技术第一实施例的相关描述,这里不再赘述。
218.本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
219.在一个典型的配置中,区块链中的节点设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
220.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
221.1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他属性的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储介质或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
222.2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
223.本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献