数据查询方法、装置、电子设备及存储介质制造方法及图纸

技术编号:28034234 阅读:19 留言:0更新日期:2021-04-09 23:16
本发明专利技术涉及大数据分析,提供了一种数据查询方法,应用于电子设备,该方法包括从待处理数据中识别出目标数据,对目标数据进行分类,为每类目标数据分配预设标识,从第一内存中获取独立存储空间作为存储目标数据的数据池,记录每个数据池在第一内存中的位置信息,将位置信息放入第二内存的数据存储结构,解析客户端发出的数据查询请求,根据数据类型确定数据查询方式,通过预设标识从数据存储结构中查询位置信息,从第一内存中查询数据池,获取该数据池中的目标数据反馈至客户端。此外,本发明专利技术还涉及区块链技术,目标数据可存储于区块链节点中。本发明专利技术能够避免在进行大数据检索时出现内存溢出。

【技术实现步骤摘要】
数据查询方法、装置、电子设备及存储介质
本专利技术涉及大数据分析,尤其涉及一种数据查询方法、装置、电子设备及存储介质。
技术介绍
JVM(JavaVirtualMachine)即Java虚拟机,是一种虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM在对磁盘中存储的数据进行检索时,是将磁盘中所有符合条件的数据存储到JVM的堆内内存中,由于JVM的堆内内存的容量较小,因此,在对大数据进行检索时,容易造成内存溢出(即内存不足)。因此如何避免在进行大数据检索时出现内存溢出成为了亟需解决的技术问题。
技术实现思路
本专利技术的主要目的在于提供一种数据查询方法、装置、电子设备及存储介质,旨在如何避免在进行大数据检索时出现内存溢出的问题。为实现上述目的,本专利技术提供的一种数据查询方法,应用于电子设备,该方法包括:分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。优选地,当所述待查询目标数据的数据类型为片段式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:选择所述第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;根据所述内存地址从第一内存中查询与该内存地址对应的数据池;根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及根据所述地址段长度获取确定长度的目标数据反馈至所述客户端。优选地,当所述目标数据的数据类型为集合式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:选择所述第一内存中包含目标数据集超过一个的数据池进行数据查询,其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;根据所述内存地址从第一内存中查询与该内存地址对应的数据池;根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及利用预先确定的搜索算法从所述数据池中获取以所述起始地址为起点,个数为所述总数量值的目标数据反馈至所述客户端。优选地,所述搜索算法包括:为所述数据池中的目标数据排序,生成所述目标数据的位置序列,记录每个所述目标数据在所述位置序列中的位置序号,将所述起始地址对应的目标数据标记为目标序号;确定所述位置序列中处于中间位置的位置序号的个数,当所述于中间位置的位置序号个数为一个时,将其作为中间序号,将所述目标序号与中间序号进行比较,若两者的序号一致,则以所述中间序号对应的目标数据为起点,获取个数为所述总数量值的目标数据反馈至客户端;若不一致,则判断所述目标序号是否大于中间序号,若是则以中间序号为中点,将所述数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与所述目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及当所述于中间位置的位置序号个数为两个时,取较小者作为中间序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中找到与目标序号匹配一致的位置序号为止。优选地,该方法还包括:监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。优选地,该方法还包括:利用预设活跃度算法定时或实时计算所述目标数据的活跃度值,将所述活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。为实现上述目的,本专利技术还进一步提供一种数据查询装置,所述数据查询装置包括:分类模块,用于利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;处理模块,用于从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;创建模块,用于将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及查询模块,用于解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。为实现上述目的,本专利技术还进一步提供一种电子设备,所述电子设备包括存储器及处理器,所述存储器上存储有数据查询程序,所述数据查询程序被所述处理器执行时实现如下步骤:分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。优选地,当所述待查询目标数据的数据类型为片段式数据时,所述通本文档来自技高网...

【技术保护点】
1.一种数据查询方法,应用于电子设备,其特征在于,该方法包括:/n分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;/n处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;/n创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及/n查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。/n

【技术特征摘要】
1.一种数据查询方法,应用于电子设备,其特征在于,该方法包括:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。


2.如权利要求1所述的数据查询方法,其特征在于,当所述待查询目标数据的数据类型为片段式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
根据所述地址段长度获取确定长度的目标数据反馈至所述客户端。


3.如权利要求1所述的数据查询方法,其特征在于,当所述目标数据的数据类型为集合式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中包含目标数据集超过一个的数据池进行数据查询,其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
利用预先确定的搜索算法从所述数据池中获取以所述起始地址为起点,个数为所述总数量值的目标数据反馈至所述客户端。


4.如权利要求3所述的数据查询方法,其特征在于,所述搜索算法包括:
为所述数据池中的目标数据排序,生成所述目标数据的位置序列,记录每个所述目标数据在所述位置序列中的位置序号,将所述起始地址对应的目标数据标记为目标序号;
确定所述位置序列中处于中间位置的位置序号的个数,当所述于中间位置的位置序号个数为一个时,将其作为中间序号,将所述目标序号与中间序号进行比较,若两者的序号一致,则以所述中间序号对应的目标数据为起点,获取个数为所述总数量值的目标数据反馈至客户端;
若不一致,则判断所述目标序号是否大于中间序号,若是则以中间序号为中点,将所述数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与所述目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及
当所述于中间位置的位置序号个数为两个时,...

【专利技术属性】
技术研发人员:朱琦吴锦
申请(专利权)人:平安证券股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1