CN112631731A - 数据查询方法、装置、电子设备及存储介质 - Google Patents

数据查询方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112631731A
CN112631731A CN202011625470.9A CN202011625470A CN112631731A CN 112631731 A CN112631731 A CN 112631731A CN 202011625470 A CN202011625470 A CN 202011625470A CN 112631731 A CN112631731 A CN 112631731A
Authority
CN
China
Prior art keywords
data
memory
target data
target
pool
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.)
Pending
Application number
CN202011625470.9A
Other languages
English (en)
Inventor
朱琦
吴锦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Securities Co Ltd
Original Assignee
Ping An Securities Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Securities Co Ltd filed Critical Ping An Securities Co Ltd
Priority to CN202011625470.9A priority Critical patent/CN112631731A/zh
Publication of CN112631731A publication Critical patent/CN112631731A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

数据查询方法、装置、电子设备及存储介质
技术领域
本发明涉及大数据分析,尤其涉及一种数据查询方法、装置、电子设备及存储介质。
背景技术
JVM(Java Virtual Machine)即Java虚拟机,是一种虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM在对磁盘中存储的数据进行检索时,是将磁盘中所有符合条件的数据存储到JVM的堆内内存中,由于JVM的堆内内存的容量较小,因此,在对大数据进行检索时,容易造成内存溢出(即内存不足)。因此如何避免在进行大数据检索时出现内存溢出成为了亟需解决的技术问题。
发明内容
本发明的主要目的在于提供一种数据查询方法、装置、电子设备及存储介质,旨在如何避免在进行大数据检索时出现内存溢出的问题。
为实现上述目的,本发明提供的一种数据查询方法,应用于电子设备,该方法包括:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
优选地,当所述待查询目标数据的数据类型为片段式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
根据所述地址段长度获取确定长度的目标数据反馈至所述客户端。
优选地,当所述目标数据的数据类型为集合式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中包含目标数据集超过一个的数据池进行数据查询,其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
利用预先确定的搜索算法从所述数据池中获取以所述起始地址为起点,个数为所述总数量值的目标数据反馈至所述客户端。
优选地,所述搜索算法包括:
为所述数据池中的目标数据排序,生成所述目标数据的位置序列,记录每个所述目标数据在所述位置序列中的位置序号,将所述起始地址对应的目标数据标记为目标序号;
确定所述位置序列中处于中间位置的位置序号的个数,当所述于中间位置的位置序号个数为一个时,将其作为中间序号,将所述目标序号与中间序号进行比较,若两者的序号一致,则以所述中间序号对应的目标数据为起点,获取个数为所述总数量值的目标数据反馈至客户端;
若不一致,则判断所述目标序号是否大于中间序号,若是则以中间序号为中点,将所述数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与所述目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及
当所述于中间位置的位置序号个数为两个时,取较小者作为中间序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中找到与目标序号匹配一致的位置序号为止。
优选地,该方法还包括:
监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。
优选地,该方法还包括:
利用预设活跃度算法定时或实时计算所述目标数据的活跃度值,将所述活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
为实现上述目的,本发明还进一步提供一种数据查询装置,所述数据查询装置包括:
分类模块,用于利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理模块,用于从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建模块,用于将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询模块,用于解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
为实现上述目的,本发明还进一步提供一种电子设备,所述电子设备包括存储器及处理器,所述存储器上存储有数据查询程序,所述数据查询程序被所述处理器执行时实现如下步骤:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
优选地,当所述待查询目标数据的数据类型为片段式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
根据所述地址段长度获取确定长度的目标数据反馈至所述客户端。
为实现上述目的,本发明进一步提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的数据查询方法。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据查询程序,所述数据查询程序可被一个或者多个处理器执行,以实现如上所述的数据查询方法的步骤。
本发明提出的数据查询方法、装置、电子设备及存储介质,通过从待处理数据中识别出目标数据,对目标数据进行分类,并为每一类目标数据分配唯一的预设标识,从第一内存中获取独立存储空间作为存储目标数据的数据池,同时记录每个数据池在所述第一内存中的位置信息,并将每个位置信息放入预先创建在第二内存的数据存储结构,创建位置信息与其对应的数据池之间的第一映射关系,解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据数据类型确定数据查询方式,通过预设标识从数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至客户端。本发明能够避免在进行大数据检索时出现内存溢出。
附图说明
图1为本发明一实施例提供的实现数据查询方法的电子设备的流程示意图;
图2为本发明一实施例提供的数据查询装置的模块示意图;
图3为本发明一实施例提供的数据查询方法的电子设备的内部结构图。
本发明目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。
具体实施方式
为了使本发明的目的、技术本实施例及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术本实施例可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术本实施例的结合出现相互矛盾或无法实现时应当认为这种技术本实施例的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种数据查询方法。参照图1所示,为本发明一实施例提供的数据查询方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据查询方法包括:
S110,利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识。
以证券交易平台为例,在证券交易平台中产生的证券数据即待处理数据。证券数据具有数据密集、瞬时数据量大、单日行情相关数据需要实时查询等特点,但并非所有的证券数据都会被用户频繁调取,还有大部分是不常用或者不会被用户用到的数据。因此在本实施例中通过采用预设识别规则从待处理数据中获取被高频调取的证券数据,即目标数据,避免将所有待处理数据不经过筛选便一并存储在堆外内存导致系统资源占用率过大,影响数据的处理效率。
识别规则可通过业务需求来进行判断。比如在证券行情中,近30天的k线数据、当日的实时行情及逐笔成交数据等等都是用户重点关注的,需要实时查询,因此可以将这些证券数据作为目标数据。
识别规则还可以通过预设规则进行区分。比如根据用户的查看习惯,用户在看行情数据的时候,最多查询的是最近的行情数据。如最近1000笔的逐笔成交数据。可以按照时间排序,把距离当前时间最近的1000条数据作为目标数据。
从待处理数据中识别出目标数据后,需要根据目标数据对应的预设类型(例如预设类型A、B、C)将其分为若干类,并为每一类目标数据分配唯一的预设标识(例如A、B、C)。根据目标数据的类别数量从堆外内存中申请等同数量的独立存储空间作为数据池,每个数据池对应一类目标数据。
S120,从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。通过从第一内存中获取预设数量的独立存储空间作为数据池,将目标数据存储在第一内存的数据池中。能够降低java的第二内存占用率,以及java老年代的内存占用率,从而减少java应用在被执行gc(垃圾回收)过程中的时间及次数,保证Java应用的高响应和高吞吐,明显提高Java应用的整体性能。
进一步地,为了方便用户从第一内存中快速查询指定的数据池,在本实施例中,根据在堆外内存中划分好的数据池,为每个数据池各分配唯一的位置信息。
S130,将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了能够保留Java的gc(垃圾回收)功能,需要将每个数据池的位置信息放入第二内存的数据存储结构中,例如堆(heap)。
由于Java的gc是负责堆的内存释放,而堆是创建在第二内存而不是第一内存。因此只有将数据池的位置信息存储在第二内存的堆中,同时创建位置信息与其对应的数据池之间的第一映射关系,才能够实现在Java的gc功能作用下,避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。
S140,解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。当电子设备1接收到客户端发出的数据查询请求后,通过对其进行解析得到待查询数据的预设标识(例如A)及数据类型(例如片段式数据)。
根据数据类型确定数据查询方式,基于确定好的数据查询方式,通过预设标识从数据存储结构中查询与该预设标识对应的位置信息,再根据查询到的位置信息从第一内存中查询对应的数据池,获取该数据池中的目标数据反馈至客户端。
具体地,当识别到待查询目标数据的数据类型为片段式数据时,查询步骤包括:
选择第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
根据地址段长度获取确定长度的目标数据反馈至客户端。
该搜索方式的复杂度为O(1),具有搜索效率快的优点,但是会因此占用更多的系统资源,因此需要在确定待查询目标数据的数据类型为片段式数据时,才优先选择该搜索方式。
在另一实施例中,当目标数据的数据类型为集合式数据时,查询步骤还包括:
选择第一内存中包含目标数据集超过一个的数据池进行数据查询,例如当目标数据为证券的K线数据时,每一个K线数据对应一个目标数据集,并对每个K线数据按照时间先后排序存放在数据池中。其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
利用搜索算法从数据池中获取以起始地址为起点,个数为总数量值的目标数据反馈至客户端。
具体地,搜索算法包括:
选择第一内存中仅包含一个数据集的数据池进行数据查询,例如当目标数据为证券的K线数据中某一段数据时,每一个K线数据对应一个目标数据集。其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
根据地址段长度获取确定长度的目标数据反馈至客户端。
该搜索方式的复杂度为O(1),具有搜索效率快的优点,但是会因此占用更多的系统资源,因此需要在确定待查询目标数据的数据类型为片段式数据时,才优先选择该搜索方式。
在另一实施例中,当目标数据的数据类型为集合式数据时,查询步骤还包括:
选择第一内存中包含目标数据集超过一个的数据池进行数据查询,例如当目标数据为证券的K线数据时,每一个K线数据对应一个目标数据集,并对每个K线数据按照时间先后排序存放在数据池中。其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
利用搜索算法从数据池中获取以起始地址为起点,个数为总数量值的目标数据反馈至客户端。
具体地,搜索算法包括:
为数据池中的目标数据排序,生成目标数据的位置序列(例如a、b、c、d、e),记录每个目标数据在位置序列中的位置序号(例如1、2、3、4、5),将起始地址对应的目标数据标记为目标序号;
确定位置序列(例如a、b、c、d、e)中处于中间位置(例如c)的位置序号的个数,当于中间位置的位置序号个数为一个时,将其作为中间序号,将目标序号与中间序号进行比较,若两者的序号一致,则以中间序号对应的目标数据为起点,获取个数为总数量值的目标数据反馈至客户端;
若不一致,则判断目标序号是否大于中间序号,若是则以中间序号为中点,将数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及
当于中间位置的位置序号个数为两个时(例如位置序列为a、b、c、d,处于中间位置的目标数据分别为b、c),取较小者作为中间序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中找到与目标序号匹配一致的位置序号为止。
该搜索方式的复杂度为O(logN),相较于普通搜索方式具有搜索效率快、占用系统系统小的优点,适用待处理的数据量庞大的情况。
在另一实施例中,该方法还包括以下步骤:
监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。因此通过监控第二内存中的各个位置信息在预设时间段(例如一小时)内是否有被客户端访问,若无则调用System.gc()函数,根据该位置信息从第一内存中找到对应的数据池,对存储于该数据池中的目标进行销毁,释放内存。
在另一实施例中,该方法还包括以下步骤:
利用预设活跃度算法定时或实时计算所述目标数据的活跃度值,将所述活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。因此通过利用预设活跃度算法定时或实时计算目标数据的活跃度值,将活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
活跃度算法包括:
Figure BDA0002874734920000121
其中,R为目标数据的活跃度值,Mn为目标数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
通过统计目标数据在每个预设时间段(例如一天)内被客户端访问的次数,例如M1=4,M2=5,n=3,将每个预设时间段内被客户端访问的次数代入上述活跃度算法得到:
Figure BDA0002874734920000131
作为该类目标数据的活跃度值。
其中,预设时间段视实际情况而定,例如当初始预设时间段为“一天”,但是目标数据只在一小时内存在被客户端访问的数据时,则将预设时间段改为更小的时间单位例如“一小时”。
关于上述步骤的详细介绍,请参照下述图2关于数据查询程序10实施例的程序模块示意图及图3关于数据查询方法实施例的方法流程示意图的说明。
如图2所示,是本发明数据查询装置100的功能模块图。
本发明所述数据查询装置100可以安装于电子设备1中。根据实现的功能,所述数据查询装置100可以包括分类模块110、处理模块120、创建模块130及查询模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
分类模块110,用于利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识。
以证券交易平台为例,在证券交易平台中产生的证券数据即待处理数据。证券数据具有数据密集、瞬时数据量大、单日行情相关数据需要实时查询等特点,但并非所有的证券数据都会被用户频繁调取,还有大部分是不常用或者不会被用户用到的数据。因此在本实施例中通过采用预设识别规则从待处理数据中获取被高频调取的证券数据,即目标数据,避免将所有待处理数据不经过筛选便一并存储在堆外内存导致系统资源占用率过大,影响数据的处理效率。
识别规则可通过业务需求来进行判断。比如在证券行情中,近30天的k线数据、当日的实时行情及逐笔成交数据等等都是用户重点关注的,需要实时查询,因此可以将这些证券数据作为目标数据。
识别规则还可以通过预设规则进行区分。比如根据用户的查看习惯,用户在看行情数据的时候,最多查询的是最近的行情数据。如最近1000笔的逐笔成交数据。可以按照时间排序,把距离当前时间最近的1000条数据作为目标数据。
从待处理数据中识别出目标数据后,需要根据目标数据对应的预设类型(例如预设类型A、B、C)将其分为若干类,并为每一类目标数据分配唯一的预设标识(例如A、B、C)。根据目标数据的类别数量从堆外内存中申请等同数量的独立存储空间作为数据池,每个数据池对应一类目标数据。
处理模块120,用于从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。通过从第一内存中获取预设数量的独立存储空间作为数据池,将目标数据存储在第一内存的数据池中。能够降低java的第二内存占用率,以及java老年代的内存占用率,从而减少java应用在被执行gc(垃圾回收)过程中的时间及次数,保证Java应用的高响应和高吞吐,明显提高Java应用的整体性能。
进一步地,为了方便用户从第一内存中快速查询指定的数据池,在本实施例中,根据在堆外内存中划分好的数据池,为每个数据池各分配唯一的位置信息。
创建模块130,用于将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了能够保留Java的gc(垃圾回收)功能,需要将每个数据池的位置信息放入第二内存的数据存储结构中,例如堆(heap)。
由于Java的gc是负责堆的内存释放,而堆是创建在第二内存而不是第一内存。因此只有将数据池的位置信息存储在第二内存的堆中,同时创建位置信息与其对应的数据池之间的第一映射关系,才能够实现在Java的gc功能作用下,避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。
查询模块140,用于解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。当电子设备1接收到客户端发出的数据查询请求后,通过对其进行解析得到待查询数据的预设标识(例如A)及数据类型(例如片段式数据)。
根据数据类型确定数据查询方式,基于确定好的数据查询方式,通过预设标识从数据存储结构中查询与该预设标识对应的位置信息,再根据查询到的位置信息从第一内存中查询对应的数据池,获取该数据池中的目标数据反馈至客户端。
具体地,当识别到待查询目标数据的数据类型为片段式数据时,查询步骤包括:
选择第一内存中仅包含一个数据集的数据池进行数据查询,例如当目标数据为证券的K线数据中某一段数据时,每一个K线数据对应一个目标数据集。其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
根据地址段长度获取确定长度的目标数据反馈至客户端。
该搜索方式的复杂度为O(1),具有搜索效率快的优点,但是会因此占用更多的系统资源,因此需要在确定待查询目标数据的数据类型为片段式数据时,才优先选择该搜索方式。
在另一实施例中,当目标数据的数据类型为集合式数据时,查询步骤还包括:
选择第一内存中包含目标数据集超过一个的数据池进行数据查询,例如当目标数据为证券的K线数据时,每一个K线数据对应一个目标数据集,并对每个K线数据按照时间先后排序存放在数据池中。其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据内存地址从第一内存中查询与该内存地址对应的数据池;
根据起始地址从数据池中确定目标数据的起始存储点;及
利用搜索算法从数据池中获取以起始地址为起点,个数为总数量值的目标数据反馈至客户端。
具体地,搜索算法包括:
为数据池中的目标数据排序,生成目标数据的位置序列(例如a、b、c、d、e),记录每个目标数据在位置序列中的位置序号(例如1、2、3、4、5),将起始地址对应的目标数据标记为目标序号;
确定位置序列(例如a、b、c、d、e)中处于中间位置(例如c)的位置序号的个数,当于中间位置的位置序号个数为一个时,将其作为中间序号,将目标序号与中间序号进行比较,若两者的序号一致,则以中间序号对应的目标数据为起点,获取个数为总数量值的目标数据反馈至客户端;
若不一致,则判断目标序号是否大于中间序号,若是则以中间序号为中点,将数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及
当于中间位置的位置序号个数为两个时(例如位置序列为a、b、c、d,处于中间位置的目标数据分别为b、c),取较小者作为中间序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中找到与目标序号匹配一致的位置序号为止。
该搜索方式的复杂度为O(logN),相较于普通搜索方式具有搜索效率快、占用系统系统小的优点,适用待处理的数据量庞大的情况。
在另一实施例中,该程序还执行以下步骤:
监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。因此通过监控第二内存中的各个位置信息在预设时间段(例如一小时)内是否有被客户端访问,若无则调用System.gc()函数,根据该位置信息从第一内存中找到对应的数据池,对存储于该数据池中的目标进行销毁,释放内存。
在另一实施例中,该程序还执行以下步骤:
利用预设活跃度算法定时或实时计算所述目标数据的活跃度值,将所述活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
在本实施例中,第一内存特指Java虚拟机的堆外内存,第二内存特指Java虚拟机的堆内内存。为了避免当第一内存中的目标数据由于长时间没被调用,且不存在自动销毁释放资源的机制时,会导致目标数据占用系统资源,影响系统的正常运行。因此通过利用预设活跃度算法定时或实时计算目标数据的活跃度值,将活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
活跃度算法包括:
Figure BDA0002874734920000181
其中,R为目标数据的活跃度值,Mn为目标数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
通过统计目标数据在每个预设时间段(例如一天)内被客户端访问的次数,例如M1=4,M2=5,n=3,将每个预设时间段内被客户端访问的次数代入上述活跃度算法得到:
Figure BDA0002874734920000182
作为该类目标数据的活跃度值。
其中,预设时间段视实际情况而定,例如当初始预设时间段为“一天”,但是目标数据只在一小时内存在被客户端访问的数据时,则将预设时间段改为更小的时间单位例如“一小时”。
如图3所示,是本发明实现数据查询方法的电子设备的结构示意图。
所述电子设备1可以包括处理器12、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器12上运行的计算机程序,如数据查询程序10。
其中,所述存储器11至少包括一种类型的可读存储介质,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据查询程序10的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器12在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器12是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据查询程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器12等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器12逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口13,可选地,所述网络接口13可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的数据查询程序10是多个指令的组合,在所述处理器12中运行时,可以实现:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从第一内存中获取预设数量的独立存储空间作为数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息放入第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
在另一实施例中,该程序还执行以下步骤:
监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。
关于上述步骤的详细介绍,请参照下述图2关于数据查询程序10实施例的程序模块示意图及图3关于数据查询方法实施例的方法流程示意图的说明。
参照图2所示,为图1中数据查询程序10实施例的程序模块示意图。数据查询程序10被分割为多个模块,该多个模块存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。
在本实施例中,所述数据查询程序10包括分类模块110、处理模块120、创建模块130及查询模块140。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种数据查询方法,应用于电子设备,其特征在于,该方法包括:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
2.如权利要求1所述的数据查询方法,其特征在于,当所述待查询目标数据的数据类型为片段式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中仅包含一个数据集的数据池进行数据查询,其中,该数据池的位置信息包括数据池在第一内存中的内存地址、目标数据在数据池中的起始地址及地址段长度;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
根据所述地址段长度获取确定长度的目标数据反馈至所述客户端。
3.如权利要求1所述的数据查询方法,其特征在于,当所述目标数据的数据类型为集合式数据时,所述通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端包括:
选择所述第一内存中包含目标数据集超过一个的数据池进行数据查询,其中,该数据池的位置信息包括目数据池在第一内存中的内存地址、目标数据在数据池中的起始地址,及目标数据的总数量值;
根据所述内存地址从第一内存中查询与该内存地址对应的数据池;
根据所述起始地址从所述数据池中确定所述目标数据的起始存储点;及
利用预先确定的搜索算法从所述数据池中获取以所述起始地址为起点,个数为所述总数量值的目标数据反馈至所述客户端。
4.如权利要求3所述的数据查询方法,其特征在于,所述搜索算法包括:
为所述数据池中的目标数据排序,生成所述目标数据的位置序列,记录每个所述目标数据在所述位置序列中的位置序号,将所述起始地址对应的目标数据标记为目标序号;
确定所述位置序列中处于中间位置的位置序号的个数,当所述于中间位置的位置序号个数为一个时,将其作为中间序号,将所述目标序号与中间序号进行比较,若两者的序号一致,则以所述中间序号对应的目标数据为起点,获取个数为所述总数量值的目标数据反馈至客户端;
若不一致,则判断所述目标序号是否大于中间序号,若是则以中间序号为中点,将所述数据池中所有位置序号分为第一序号集与第二序号集,第一序号集中的位置序号小于第二序号集中的位置序号,将第二序号集中处于中间位置的位置序号与所述目标序号进行比较,重复以上步骤,直到从所有位置序号中查询到与目标序号匹配一致的位置序号为止;及
当所述于中间位置的位置序号个数为两个时,取较小者作为中间序号与目标序号进行比较,重复以上步骤,直到从所有位置序号中找到与目标序号匹配一致的位置序号为止。
5.如权利要求1所述的数据查询方法,其特征在于,所述第一内存及第二内存存在于Java虚拟机中,所述目标数据存储于区块链中,该方法还包括:
监控所述第二内存中各个位置信息在预设时间段内是否被客户端访问,若无则调用System.gc()函数,从所述第一内存中查询与该位置信息对应的数据池,删除存储于该数据池中的目标数据,释放内存。
6.如权利要求1所述的数据查询方法,其特征在于,所述第一内存及第二内存存在于Java虚拟机中,所述目标数据存储于区块链中,该方法还包括:
利用预设活跃度算法定时或实时计算所述目标数据的活跃度值,将所述活跃值小于预设阈值的目标数据从与其对应的数据池中移除,释放内存。
7.一种数据查询装置,其特征在于,所述数据查询装置包括:
分类模块,用于利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理模块,用于从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建模块,用于将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询模块,用于解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
8.一种电子设备,其特征在于,所述电子设备包括存储器及处理器,所述存储器上存储有数据查询程序,所述数据查询程序被所述处理器执行时实现如下步骤:
分类步骤:利用预设识别规则从待处理数据中识别出目标数据,对所述目标数据进行分类,并为每一类所述目标数据分配唯一的预设标识;
处理步骤:从所述第一内存中获取预设数量的独立存储空间作为存储所述目标数据的数据池,每个数据池对应一类目标数据,同时记录每个数据池在所述第一内存中的位置信息;
创建步骤:将所述位置信息存储至所述第二内存的数据存储结构,创建所述位置信息与其对应的数据池之间的第一映射关系,并创建所述预设标识与其对应的位置信息之间的第二映射关系;及
查询步骤:解析客户端发出的数据查询请求,得到待查询目标数据的预设标识及数据类型,根据所述数据类型确定数据查询方式,通过所述预设标识从所述数据存储结构中查询与该预设标识对应的位置信息,根据该位置信息从所述第一内存中查询与该位置信息对应的数据池,获取该数据池中的目标数据反馈至所述客户端。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一所述的数据查询方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据查询程序,所述数据查询程序可被一个或者多个处理器执行,以实现如权利要求1-6中任一项所述的数据查询方法的步骤。
CN202011625470.9A 2020-12-30 2020-12-30 数据查询方法、装置、电子设备及存储介质 Pending CN112631731A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011625470.9A CN112631731A (zh) 2020-12-30 2020-12-30 数据查询方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011625470.9A CN112631731A (zh) 2020-12-30 2020-12-30 数据查询方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112631731A true CN112631731A (zh) 2021-04-09

Family

ID=75289799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011625470.9A Pending CN112631731A (zh) 2020-12-30 2020-12-30 数据查询方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112631731A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722533A (zh) * 2021-08-30 2021-11-30 康键信息技术(深圳)有限公司 信息推送方法、装置、电子设备及可读存储介质
CN116775958A (zh) * 2023-08-21 2023-09-19 南京卓谦科技服务有限公司 信息查询数据处理方法及装置
CN117171110A (zh) * 2023-09-15 2023-12-05 北京云枢创新软件技术有限公司 一种指定目标位置的定位方法、电子设备及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722533A (zh) * 2021-08-30 2021-11-30 康键信息技术(深圳)有限公司 信息推送方法、装置、电子设备及可读存储介质
CN113722533B (zh) * 2021-08-30 2023-10-17 康键信息技术(深圳)有限公司 信息推送方法、装置、电子设备及可读存储介质
CN116775958A (zh) * 2023-08-21 2023-09-19 南京卓谦科技服务有限公司 信息查询数据处理方法及装置
CN116775958B (zh) * 2023-08-21 2023-11-21 宇文道静 信息查询数据处理方法及装置
CN117171110A (zh) * 2023-09-15 2023-12-05 北京云枢创新软件技术有限公司 一种指定目标位置的定位方法、电子设备及存储介质
CN117171110B (zh) * 2023-09-15 2024-04-05 北京云枢创新软件技术有限公司 一种指定目标位置的定位方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112631731A (zh) 数据查询方法、装置、电子设备及存储介质
CN112541745B (zh) 用户行为数据分析方法、装置、电子设备及可读存储介质
CN112231586A (zh) 基于迁移学习的课程推荐方法、装置、设备及介质
CN112115145A (zh) 数据采集方法、装置、电子设备及存储介质
CN113688923A (zh) 订单异常智能检测方法、装置、电子设备及存储介质
CN112506486A (zh) 搜索系统建立方法、装置、电子设备及可读存储介质
CN113327136A (zh) 归因分析方法、装置、电子设备及存储介质
CN114550076A (zh) 区域异常行为监控方法、装置、设备及存储介质
CN112699142A (zh) 冷热数据处理方法、装置、电子设备及存储介质
CN112860737A (zh) 数据查询方法、装置、电子设备及可读存储介质
CN111831708A (zh) 基于缺失数据的样本分析方法、装置、电子设备及介质
CN114969484A (zh) 业务数据搜索方法、装置、设备及存储介质
CN111858604B (zh) 数据存储方法、装置、电子设备及存储介质
CN114862140A (zh) 基于行为分析的潜力评估方法、装置、设备及存储介质
CN114640707A (zh) 一种消息异步处理方法、装置、电子设备及存储介质
CN112700261A (zh) 基于可疑社团的刷单行为检测方法、装置、设备及介质
CN112925753B (zh) 文件追加写入方法、装置、电子设备及存储介质
CN114817408A (zh) 调度资源识别方法、装置、电子设备及存储介质
CN114238233A (zh) 文件自动化清理方法、装置、设备及存储介质
CN114911479A (zh) 基于配置化的界面生成方法、装置、设备及存储介质
CN113849520A (zh) 异常sql的智能识别方法、装置、电子设备及存储介质
CN114201466A (zh) 防缓存击穿方法、装置、设备及可读存储介质
CN114238375A (zh) 指标查询方法、装置、电子设备及存储介质
CN111382343B (zh) 一种标签体系生成方法及装置
CN113457990A (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