CN111858604B - 数据存储方法、装置、电子设备及存储介质 - Google Patents
数据存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111858604B CN111858604B CN202010721971.0A CN202010721971A CN111858604B CN 111858604 B CN111858604 B CN 111858604B CN 202010721971 A CN202010721971 A CN 202010721971A CN 111858604 B CN111858604 B CN 111858604B
- Authority
- CN
- China
- Prior art keywords
- data
- stored
- memory
- preset
- threshold value
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能,提供了一种数据存储方法,应用于电子设备,该方法包括从预设数据源中识别出待存储数据的数据类型,判断电子设备的第一内存中是否存在相同数据类型的数据,若存在则将该待存储数据存储至第一内存,计算第一内存中未存储有相应数据类型的待存储数据的活跃度值,将活跃度值大于或等于第一预设阈值的待存储数据存储至第一内存,将活跃度值小于第一预设阈值的待存储数据存储至电子设备的第二内存。此外,本发明还涉及区块链技术,待存储数据可存储于区块链节点中。本发明能够避免在第一内存中存入大量数据时出现内存溢出。
Description
技术领域
本发明涉及人工智能,尤其涉及一种数据存储方法、装置、电子设备及存储介质。
背景技术
JVM(Java Virtual Machine)即Java虚拟机,是一种虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。证券交易平台产生的证券数据具有数据密集、瞬时数据量大、单日行情相关数据需要用户实时查询等特点。人们通常会将证券数据存储在JVM的堆内内存中,但是由于JVM的堆内内存的容量较小,当庞大活跃的证券数据存储在堆内内存中时,容易造成内存溢出(即内存不足),导致系统崩溃。因此,如何在JVM的堆内内存中存入大量数据时避免出现内存溢出成为了亟需解决的技术问题。
发明内容
本发明的主要目的在于提供一种数据存储方法、装置、电子设备及存储介质,旨在如何解决在JVM的堆内内存中存入大量数据时出现内存溢出的问题。
为实现上述目的,本发明提供的一种数据存储方法,应用于电子设备,其特征在于,该方法包括:
第一存储步骤:根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号;
第二存储步骤:利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号;及
第三存储步骤:将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。
优选地,所述活跃度算法包括:
其中,R为所述待存储数据的活跃度值,Mn为所述待存储数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
优选地,该方法还包括监控步骤:
利用所述预设活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃值小于第一预设阈值的数据从第一内存中移除,并将该数据存储至所述第二内存。
优选地,该方法还包括提醒步骤:
利用所述预设活跃度算法定时或实时计算所述第二内存中数据的活跃度值,将所述活跃值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至所述客户端,所述第二预设阈值小于所述第一预设阈值。
优选地,该方法还包括查询步骤:
接收客户端发出的数据查询请求,对所述数据查询请求进行解析得到待查询数据的索引号,根据所述索引号从第一内存或第二内存中查询与所述索引号对应的待存储数据后反馈至所述客户端。
优选地,所述判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存包括:
将所述待存储数据与所述第一内存中数据类型相同的数据进行替换;或
将所述待存储数据新增至所述第一内存。
为实现上述目的,本发明还进一步提供一种数据存储装置,所述数据存储装置包括:
第一存储模块:根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号;
第二存储模块:利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号;及
第三存储模块:将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。
优选地,所述活跃度算法包括:
其中,R为所述待存储数据的活跃度值,Mn为所述待存储数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
优选地,所述数据存储装置还包括更新模块:
利用所述预设活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃值小于第一预设阈值的数据从第一内存中移除,并将该数据存储至所述第二内存。
为实现上述目的,本发明还进一步提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的数据存储方法。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据存储程序,所述数据存储程序可被一个或者多个处理器执行,以实现如上所述的数据存储方法的步骤。
本发明提出的数据存储方法、装置、电子设备及存储介质,通过从预设数据源中识别出待存储数据对应的数据类型,判断第一内存中是否存在相同数据类型的数据,若存在则对已存在相同数据类型的待存储数据执行预设操作后存储至电子设备的第一内存,同时在第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号,计算第一内存中未存储有相应数据类型的待存储数据的活跃度值,将活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至第一内存,同时在堆内内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号,将活跃度值小于第一预设阈值的待存储数据存储至电子设备的第二内存,同时在第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。本发明能够避免在第一内存中存入大量数据时出现内存溢出。
附图说明
图1为本发明一实施例提供的实现数据存储方法的电子设备的内部结构示意图;
图2为本发明一实施例提供的数据存储装置的模块示意图;
图3为本发明一实施例提供的数据存储方法的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参附图做进一步说明。
具体实施方式
为了使本发明的目的、技术本实施例及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术本实施例可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术本实施例的结合出现相互矛盾或无法实现时应当认为这种技术本实施例的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种数据存储方法。参照图1所示,为本发明一实施例提供的数据存储方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据存储方法包括:
S110,根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号。
在本实施例中,第一内存特指Java虚拟机(JVM)的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。以证券交易平台为例,由于证券交易平台产生的证券数据具有数据密集、瞬时数据量大、单日行情相关数据需要用户实时查询等特点,人们通常会将证券数据存储在JVM的堆内内存中,但是当堆内内存中存入庞大活跃的证券数据时,容易造成内存溢出(即内存不足),导致系统崩溃。
因此,为了避免由于出现上述情况的发生,在本实施例中,通过在将数据存储至第一内存之前,先对该数据进行分析判断,判断第一内存中是否存储有与待存储数据数据类型相同的数据,若存在,则说明该数据需要经常被用户调用查询,并优先将该数据存储至第一内存,否则执行其他存储操作。从而避免将所有数据存储至第一内存中,导致系统出现崩溃的情况发生。
根据预设分类规则(例如预先找出每类数据之间的特征点,将具有相同特征点的数据归为一类)从数据源获取到的待存储数据中识别出每笔待存存储数据对应的数据类型(例如数据类型A、B、C),判断第一内存中是否已存在相同数据类型的数据。若存在相同类型的数据,说明电子设备1从数据源中获取到的某类待存储数据是被用户经常调用查询的数据,即需要优先存储至堆内内存。同时在堆内内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号,方便用户根据指定第一索引号查询与第一索引号对应的待存储数据。
在本实施例中,在将已存在相同数据类型的待存储数据存储至堆内内存之前,还能够根据获取待存储数据的数据库不同执行不同的预设操作,例如:将该待存储数据与堆内内存中数据类型相同的数据进行替换,或将该待存储数据新增至堆内内存。即可根据用户的需要选择替换已经存在的数据,或者不替换直接新增。
S120,利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号。
在本实施例中,第一内存特指Java虚拟机的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。当判断待存储数据在第一内存中不存在数据类型相同的数据时,需要进一步判断该待存储数据中哪些是经常被用户调用查询的,并做出相应的存储操作。
在本实施例中,利用预设活跃度算法计算第一内存中未存储有相应数据类型的待存储数据的活跃度值,将活跃度值大于或等于第一预设阈值的待存储数据执行第一预设操作后存储至堆内内存,同时在堆内内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号,方便用户根据指定索引号查询与索引号对应的待存储数据。
其中,所述活跃度算法包括:
其中,R为待存储数据的活跃度值,Mn为待存储数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
其中,预设时间段视实际情况而定,例如当初始预设时间段为“一天”,但是待存储数据只在一小时内存在被客户端访问的数据时,则将预设时间段改为更小的时间单位例如“一小时”。
S130,将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。
在本实施例中,第一内存特指Java虚拟机的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。当判断待存储数据在第一内存中不存在数据类型相同的数据,且该待存储数据的活跃度值小于第一预设阈值时,说明该待存储数据不经常被用户调用查询,可以选择将该待存储数据先存储至第二内存,同时在第二内存中为每笔待存储数据创建第三索引,生成唯一的第三索引号,方便用户根据指定第三索引号查询与第三索引号对应的待存储数据。
在另一实施例中,该方法还包括以下步骤:
利用所述活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃值小于第一预设阈值的数据从第一内存中移除,并将该数据写入所述第二内存。
由于存储在第一内存中的数据如果长时间未被用户调用查询,会造成占用堆内内存有限的存储空间。因此,为了避免资源存储资源的浪费,在本实施例中,利用预设活跃度算法定时或实时计算第一内存中各个数据的活跃度值,将活跃值小于第一预设阈值的数据从堆内内存中移除,并将该数据存储至第二内存。
在另一实施例中,该方法还包括提醒步骤:
利用所述预设活跃度算法定时或实时计算所述第二内存中数据的活跃度值,将所述活跃值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至所述客户端,所述第二预设阈值小于所述第一预设阈值。
由于存储在第二内存中的数据如果长时间未被用户调用查询,会造成占用第二内存有限的存储空间。因此,为了避免资源存储资源的浪费,在本实施例中,利用预设活跃度算法定时或实时计算第二内存中各个数据的活跃度值,将活跃值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至客户端,提醒用户是否删除处理。
在另一实施例中,该方法还包括以下步骤:
接收客户端发出的数据查询请求,通过对其进行解析得到待查询数据的索引号,根据所述索引号从第一内存或第二内存中查询与所述索引号对应的待存储数据反馈至所述客户端。
在本实施例中,用户可通过客户端向电子设备1发起数据查询请求,根据指定的索引号从第一内存或第二内存中查询与索引号对应的待存储数据。
如图2所示,是本发明数据存储装置100的功能模块图。
本发明所述数据存储装置100可以安装于电子设备中。根据实现的功能,所述数据存储装置100可以包括分类模块110、处理模块120、创建模块130及查询模块140。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
第一存储模块110,用于根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号。
在本实施例中,第一内存特指Java虚拟机(JVM)的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。以证券交易平台为例,由于证券交易平台产生的证券数据具有数据密集、瞬时数据量大、单日行情相关数据需要用户实时查询等特点,人们通常会将证券数据存储在JVM的堆内内存中,但是当堆内内存中存入庞大活跃的证券数据时,容易造成内存溢出(即内存不足),导致系统崩溃。
因此,为了避免由于出现上述情况的发生,在本实施例中,通过在将数据存储至第一内存之前,先对该数据进行分析判断,判断第一内存中是否存储有与待存储数据数据类型相同的数据,若存在,则说明该数据需要经常被用户调用查询,并优先将该数据存储至第一内存,否则执行其他存储操作。从而避免将所有数据存储至第一内存中,导致系统出现崩溃的情况发生。
根据预设分类规则(例如预先找出每类数据之间的特征点,将具有相同特征点的数据归为一类)从数据源获取到的待存储数据中识别出每笔待存存储数据对应的数据类型(例如数据类型A、B、C),判断第一内存中是否已存在相同数据类型的数据。若存在相同类型的数据,说明电子设备1从数据源中获取到的某类待存储数据是被用户经常调用查询的数据,即需要优先存储至堆内内存。同时在堆内内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号,方便用户根据指定第一索引号查询与第一索引号对应的待存储数据。
在本实施例中,在将已存在相同数据类型的待存储数据存储至堆内内存之前,还能够根据获取待存储数据的数据库不同执行不同的预设操作,例如:将该待存储数据与堆内内存中数据类型相同的数据进行替换,或将该待存储数据新增至堆内内存。即可根据用户的需要选择替换已经存在的数据,或者不替换直接新增。
第二存储模块120,用于利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号。
在本实施例中,第一内存特指Java虚拟机的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。当判断待存储数据在第一内存中不存在数据类型相同的数据时,需要进一步判断该待存储数据中哪些是经常被用户调用查询的,并做出相应的存储操作。
在本实施例中,利用预设活跃度算法计算第一内存中未存储有相应数据类型的待存储数据的活跃度值,将活跃度值大于或等于第一预设阈值的待存储数据执行第一预设操作后存储至堆内内存,同时在堆内内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号,方便用户根据指定索引号查询与索引号对应的待存储数据。
其中,所述活跃度算法包括:
其中,R为待存储数据的活跃度值,Mn为待存储数据在预设时间段内被客户端访问的总次数,n为总预设时间段,n≥2。
其中,预设时间段视实际情况而定,例如当初始预设时间段为“一天”,但是待存储数据只在一小时内存在被客户端访问的数据时,则将预设时间段改为更小的时间单位例如“一小时”。
第三存储模块130,用于将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。
在本实施例中,第一内存特指Java虚拟机的堆内内存,第二内存特指具有容量大的外部存储介质,例如磁盘内存。当判断待存储数据在第一内存中不存在数据类型相同的数据,且该待存储数据的活跃度值小于第一预设阈值时,说明该待存储数据不经常被用户调用查询,可以选择将该待存储数据先存储至第二内存,同时在第二内存中为每笔待存储数据创建第三索引,生成唯一的第三索引号,方便用户根据指定第三索引号查询与第三索引号对应的待存储数据。
在另一实施例中,该程序还包括监控模块,用于:
利用所述活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃值小于第一预设阈值的数据从第一内存中移除,并将该数据写入所述第二内存。
由于存储在第一内存中的数据如果长时间未被用户调用查询,会造成占用堆内内存有限的存储空间。因此,为了避免资源存储资源的浪费,在本实施例中,利用预设活跃度算法定时或实时计算第一内存中各个数据的活跃度值,将活跃值小于第一预设阈值的数据从堆内内存中移除,并将该数据存储至第二内存。
在另一实施例中,该程序还包括提醒模块,用于:
利用所述预设活跃度算法定时或实时计算所述第二内存中数据的活跃度值,将所述活跃值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至所述客户端,所述第二预设阈值小于所述第一预设阈值。
由于存储在第二内存中的数据如果长时间未被用户调用查询,会造成占用第二内存有限的存储空间。因此,为了避免资源存储资源的浪费,在本实施例中,利用预设活跃度算法定时或实时计算第二内存中各个数据的活跃度值,将活跃值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至客户端,提醒用户是否删除处理。
在另一实施例中,该程序还包括查询模块,用于:
接收客户端发出的数据查询请求,通过对其进行解析得到待查询数据的索引号,根据所述索引号从第一内存或第二内存中查询与所述索引号对应的待存储数据反馈至所述客户端。
在本实施例中,用户可通过客户端向电子设备1发起数据查询请求,根据指定的索引号从第一内存或第二内存中查询与索引号对应的待存储数据。
如图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中运行时,可以实现:
第一存储步骤:根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则对所述待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号;
第二存储步骤:利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号;及
第三存储步骤:将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号。
在另一实施例中,该程序还执行以下步骤:
利用所述预设活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃值小于第一预设阈值的数据从第一内存中移除,并将该数据存储至所述第二内存。
在另一实施例中,该程序还执行以下步骤:
接收客户端发出的数据查询请求,对所述数据查询请求进行解析得到待查询数据的索引号,根据所述索引号从第一内存或第二内存中查询与所述索引号对应的待存储数据后反馈至所述客户端。
具体地,所述处理器11对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (8)
1.一种数据存储方法,应用于电子设备,其特征在于,该方法包括:
第一存储步骤:根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断所述电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则根据获取待存储数据的数据库不同执行不同的预设操作后将所述待存储数据存储至所述第一内存,所述预设操作包括将所述待存储数据与所述第一内存中数据类型相同的数据进行替换,或将所述待存储数据新增至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号;
第二存储步骤:利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号;及
第三存储步骤:将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号;
提醒步骤:利用所述预设活跃度算法定时或实时计算所述第二内存中数据的活跃度值,将所述活跃度值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至客户端,所述第二预设阈值小于所述第一预设阈值。
3.如权利要求2所述的数据存储方法,其特征在于,该方法还包括监控步骤:
利用所述预设活跃度算法定时或实时计算所述第一内存中数据的活跃度值,将所述活跃度值小于第一预设阈值的数据从第一内存中移除,并将该数据存储至所述第二内存。
4.如权利要求1所述的数据存储方法,其特征在于,该方法还包括查询步骤:
接收所述客户端发出的数据查询请求,对所述数据查询请求进行解析得到待查询数据的索引号,根据所述索引号从第一内存或第二内存中查询与所述索引号对应的待存储数据后反馈至所述客户端。
5.一种数据存储装置,其特征在于,所述数据存储装置包括:
第一存储模块:根据预设分类规则从预设数据源中识别出待存储数据的数据类型,判断电子设备的第一内存中是否存在与待存储数据数据类型相同的数据,若存在,则根据获取待存储数据的数据库不同执行不同的预设操作后将所述待存储数据存储至所述第一内存,所述预设操作包括将所述待存储数据与所述第一内存中数据类型相同的数据进行替换,或将所述待存储数据新增至所述第一内存,同时在所述第一内存中为每笔已存在相同数据类型的待存储数据创建第一索引,生成唯一的第一索引号;
第二存储模块:利用预设活跃度算法计算所述第一内存中未存储有相应数据类型的待存储数据的活跃度值,对所述活跃度值大于或等于第一预设阈值的待存储数据执行预设操作后存储至所述第一内存,同时在所述第一内存中为每笔活跃度值大于或等于第一预设阈值的待存储数据创建第二索引,生成唯一的第二索引号;及
第三存储模块:将所述活跃度值小于第一预设阈值的待存储数据存储至所述电子设备的第二内存,同时在所述第二内存中为每笔活跃度值小于第一预设阈值的待存储数据创建第三索引,生成唯一的第三索引号;
提醒模块:利用所述预设活跃度算法定时或实时计算所述第二内存中数据的活跃度值,将所述活跃度值小于第二预设阈值的数据进行标记,并生成包含该标记的提醒信息发送至客户端,所述第二预设阈值小于所述第一预设阈值。
7.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一所述的数据存储方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据存储程序,所述数据存储程序可被一个或者多个处理器执行,以实现如权利要求1-4中任一项所述的数据存储方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010721971.0A CN111858604B (zh) | 2020-07-24 | 2020-07-24 | 数据存储方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010721971.0A CN111858604B (zh) | 2020-07-24 | 2020-07-24 | 数据存储方法、装置、电子设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111858604A CN111858604A (zh) | 2020-10-30 |
| CN111858604B true CN111858604B (zh) | 2022-11-04 |
Family
ID=72950015
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010721971.0A Active CN111858604B (zh) | 2020-07-24 | 2020-07-24 | 数据存储方法、装置、电子设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111858604B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113362062B (zh) * | 2021-05-21 | 2024-01-05 | 山东大学 | 一种区块链交易排序方法、存储介质及设备 |
| CN114003175B (zh) * | 2021-11-02 | 2024-02-06 | 青岛海信日立空调系统有限公司 | 一种空调器及其控制系统 |
| CN114185746B (zh) * | 2021-12-14 | 2025-07-15 | 北京字跳网络技术有限公司 | 数据存储方法、装置、电子设备及存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6622167B1 (en) * | 1999-06-30 | 2003-09-16 | International Business Machines Corporation | Document shadowing intranet server, memory medium and method |
| CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
| CN107450858A (zh) * | 2017-08-11 | 2017-12-08 | 湖南国科微电子股份有限公司 | 一种固态硬盘分级存储方法及系统 |
| CN109379395A (zh) * | 2018-08-22 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种接口数据缓存设置方法及终端设备 |
| CN109656836A (zh) * | 2018-12-24 | 2019-04-19 | 新华三技术有限公司 | 一种数据处理方法及装置 |
| WO2019233500A2 (en) * | 2019-09-12 | 2019-12-12 | Alibaba Group Holding Limited | Log-structured storage systems |
| CN110865992A (zh) * | 2019-10-30 | 2020-03-06 | 腾讯云计算(北京)有限责任公司 | 一种检索库管理方法、检索方法、装置及介质 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110018788B (zh) * | 2019-03-01 | 2024-10-15 | 平安科技(深圳)有限公司 | 分级存储方法、装置、电子设备及计算机可读存储介质 |
| CN111090628B (zh) * | 2019-12-20 | 2023-11-14 | 上海米哈游网络科技股份有限公司 | 一种数据处理方法、装置、存储介质及电子设备 |
-
2020
- 2020-07-24 CN CN202010721971.0A patent/CN111858604B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6622167B1 (en) * | 1999-06-30 | 2003-09-16 | International Business Machines Corporation | Document shadowing intranet server, memory medium and method |
| CN103677654A (zh) * | 2012-09-24 | 2014-03-26 | 联想(北京)有限公司 | 一种存储数据的方法及电子设备 |
| CN107450858A (zh) * | 2017-08-11 | 2017-12-08 | 湖南国科微电子股份有限公司 | 一种固态硬盘分级存储方法及系统 |
| CN109379395A (zh) * | 2018-08-22 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种接口数据缓存设置方法及终端设备 |
| CN109656836A (zh) * | 2018-12-24 | 2019-04-19 | 新华三技术有限公司 | 一种数据处理方法及装置 |
| WO2019233500A2 (en) * | 2019-09-12 | 2019-12-12 | Alibaba Group Holding Limited | Log-structured storage systems |
| CN110865992A (zh) * | 2019-10-30 | 2020-03-06 | 腾讯云计算(北京)有限责任公司 | 一种检索库管理方法、检索方法、装置及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111858604A (zh) | 2020-10-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111858604B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
| CN114675976B (zh) | 基于kubernetes的GPU共享方法、装置、设备及介质 | |
| CN112115145A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
| CN112685259A (zh) | 基于埋点的数据采集方法、装置、电子设备及存储介质 | |
| CN112464619B (zh) | 大数据处理方法、装置、设备及计算机可读存储介质 | |
| CN113434542A (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
| CN114706870A (zh) | 数据库与缓存一致性同步方法、装置、设备及存储介质 | |
| CN113890712A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
| CN113360321A (zh) | 微服务重试调用方法、装置、电子设备及存储介质 | |
| CN111694844A (zh) | 基于配置算法的企业运行数据分析方法、装置及电子设备 | |
| CN111401691A (zh) | 业务进度监控方法、装置及计算机可读存储介质 | |
| CN114185622A (zh) | 页面加载方法、装置、设备及存储介质 | |
| CN111694843A (zh) | 缺失号码检测方法、装置、电子设备及存储介质 | |
| CN112637341A (zh) | 文件上传方法、装置、电子设备及存储介质 | |
| CN111985545A (zh) | 基于人工智能的目标数据检测方法、装置、设备及介质 | |
| CN114201466A (zh) | 防缓存击穿方法、装置、设备及可读存储介质 | |
| CN115145870A (zh) | 失败任务原因定位方法、装置、电子设备及存储介质 | |
| CN114610340A (zh) | 项目部署方法、装置、设备及存储介质 | |
| CN113360505A (zh) | 基于时序数据的数据处理方法、装置、电子设备及可读存储介质 | |
| CN113918603A (zh) | 散列缓存生成方法、装置、电子设备及存储介质 | |
| CN112667570A (zh) | 文件访问方法、装置、设备及可读存储介质 | |
| CN114817408B (zh) | 调度资源识别方法、装置、电子设备及存储介质 | |
| CN115865736A (zh) | 5g网络健康监测方法、装置、设备及介质 | |
| CN113157406A (zh) | 基于超融合架构的数据调取方法、装置、电子设备及介质 | |
| CN113360767A (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 |