CN111046041B - 数据处理方法和装置、存储介质及处理器 - Google Patents
数据处理方法和装置、存储介质及处理器 Download PDFInfo
- Publication number
- CN111046041B CN111046041B CN201911253558.XA CN201911253558A CN111046041B CN 111046041 B CN111046041 B CN 111046041B CN 201911253558 A CN201911253558 A CN 201911253558A CN 111046041 B CN111046041 B CN 111046041B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- processed
- stored
- operation request
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000012986 modification Methods 0.000 claims description 29
- 230000004048 modification Effects 0.000 claims description 29
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 239000000758 substrate Substances 0.000 claims 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 9
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000033772 system development 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法和装置、存储介质及处理器。其中,该方法包括:接收对数据库中存储的数据进行处理的操作请求,其中,操作请求至少包括:待处理数据对应的关键字;基于关键字在索引文件中进行检索,得到第一检索结果,其中,索引文件包括:数据库中存储的文件对应的索引信息,以及索引信息对应的关键字;基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,其中,目标文件用于存储待处理数据。本发明解决了相关技术中轻量级数据库的性能较差,导致数据处理效率较低的技术问题。
Description
技术领域
本发明涉及数据库领域,具体而言,涉及一种数据处理方法和装置、存储介质及处理器。
背景技术
数据库在***开发中十分重要,非关系型数据库(NoSQL)的Key-Value类型数据库有着处理速度快和数据量大的特点,常见的数据库有Redis、Berkeley、LevelDB等。虽然上述数据库性能、可靠性和功能上都非常强大,但是,上述数据库的数据量较大,对于不需要相对重量级的服务的***,上述数据库并不适合。
对于上述***,可以采用开发语言中自带的Key-Value类型数据库(如Java中的Map)或其他轻量级的关系型数据库(如:SQLite)。但是,开发语言中自带的Key-Value对象只会保存在内存中,并不会保存到硬盘中,无法实现数据的持久化存储。而使用轻量级的关系型数据库实现Key-Value的保存,由于硬盘的读写性能的限制,在***并发量较大时磁盘的性能会限制***的性能。
针对相关技术中轻量级数据库的性能较差,导致数据处理效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据处理方法和装置、存储介质及处理器,以至少解决相关技术中轻量级数据库的性能较差,导致数据处理效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种数据处理方法,包括:接收对数据库中存储的数据进行处理的操作请求,其中,操作请求至少包括:待处理数据对应的关键字;基于关键字在索引文件中进行检索,得到第一检索结果,其中,索引文件包括:数据库中存储的文件对应的索引信息,以及索引信息对应的关键字;基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,其中,目标文件用于存储待处理数据。
进一步地,操作请求还包括:操作类型,其中,基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理包括:在操作类型为查询类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,输出目标文件中存储的待处理数据,其中,目标索引信息与目标文件相对应;在操作类型为添加类型的情况下,在目标文件中添加待处理数据和关键字,其中,操作请求还包括待处理数据;在操作类型为修改类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,基于目标数据对目标文件中存储的待处理数据进行修改,其中,操作请求还包括目标数据;在操作类型为删除类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的待处理数据和关键字。
进一步地,在第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的原始数据和关键字,并在目标文件中添加待处理数据和关键字;在第一检索结果为未检索到关键字对应的目标索引信息的情况下,在目标文件中添加待处理数据和关键字。
进一步地,基于目标数据对目标文件中存储的待处理数据进行修改包括:删除目标文件中存储的待处理数据和关键字,并在目标文件中添加目标数据和关键字。
进一步地,在目标文件中添加数据之后,生成目标文件的新的索引信息,并将新的索引信息存储至索引文件。
进一步地,在目标文件中添加待处理数据和关键字包括:将待处理数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;在目标文件中添加目标数据和关键字包括:将目标数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;删除目标文件中存储的待处理数据和关键字包括:删除目标文件中存储的原始字符串,其中,原始字符串由待处理数据和关键字组成。
进一步地,在目标文件的末尾添加目标字符串。
进一步地,在操作类型为添加类型、修改类型或删除类型的情况下,如果检索结果为未检索到关键字对应的目标索引信息,则输出提示信息,其中,提示信息用于表征数据库中不存在待处理数据。
进一步地,基于检索结果和操作请求,对数据库中存储的目标文件进行处理包括:基于操作请求的操作类型,调用数据库的目标操作方法;基于检索结果和目标操作方法,对目标文件进行处理。
进一步地,在接收到操作请求之后,该方法还包括:基于关键字在内存中进行检索,得到第二检索结果;基于第二检索结果和操作请求,对内存进行处理。
进一步地,在操作请求的操作类型为查询类型的情况下,基于第二检索结果和操作请求,对内存进行处理包括:在第二检索结果为检索到关键字的情况下,输出内存中存储的待处理数据;在第二检索结果为未检索到关键字的情况下,基于关键字在索引文件中进行检索,得到第一检索结果,如果第一检索为检索到关键字对应的目标索引信息,则将待处理数据和关键字存储至内存,并输出待处理数据。
进一步地,目标文件中还存储有待处理数据的过期时间,其中,在将待处理数据和关键字存储至内存之前,该方法还包括:基于过期时间判断待处理数据是否超期;如果判断出待处理数据未超期,则将待处理数据和关键字存储至内存;如果判断出待处理数据超期,则输出提示信息。
进一步地,过期时间由操作请求中携带的有效时间和接收到操作请求的时间确定。
进一步地,在操作请求的操作类型为添加类型、修改类型或删除类型的情况下,在对内存处理完成之后,基于关键字在索引文件中进行检索,得到第一检索结果,并基于第一检索结果和操作请求,对目标文件进行处理。
进一步地,将操作请求存储至文件操作队列的尾部,并获取文件操作队列的头部存储的目标操作请求,并基于第一检索结果和目标操作请求,对目标文件进行处理。
进一步地,按照预设周期获取数据库中存储的数据的过期时间,并在基于过期时间确定数据超期之后,删除数据;或在操作请求的操作类型为查询类型的情况下,获取待处理数据的过期时间,并在基于过期时间确定待处理数据超期之后,删除目标文件和/或内存中存储的待处理数据。
根据本发明实施例的另一方面,还提供了一种数据处理装置,包括:接收模块,用于接收对数据库中存储的数据进行处理的操作请求,其中,操作请求至少包括:待处理数据对应的关键字;第一检索模块,用于基于关键字在索引文件中进行检索,得到第一检索结果,其中,索引文件包括:数据库中存储的文件对应的索引信息,以及索引信息对应的关键字;第一处理模块,用于基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,其中,目标文件用于存储待处理数据。
进一步地,第一处理模块包括:调用单元,用于基于操作请求的操作类型,调用数据库的目标操作方法;处理单元,用于基于检索结果和目标操作方法,对目标文件进行处理。
进一步地,该装置还包括:第二检索模块,用于基于关键字在内存中进行检索,得到第二检索结果;第二处理模块,用于基于第二检索结果和操作请求,对内存进行处理。
进一步地,该装置还包括:删除模块,用于按照预设周期获取数据库中存储的数据的过期时间,并在基于过期时间确定数据超期之后,删除数据;或在操作请求的操作类型为查询类型的情况下,获取待处理数据的过期时间,并在基于过期时间确定待处理数据超期之后,删除目标文件和/或内存中存储的待处理数据。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的数据处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的数据处理方法。
在本发明实施例中,在接收到对数据库中存储的数据进行处理的操作请求之后,可以基于操作请求中携带的关键字在索引文件中进行检索,得到第一检索结果,进一步基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,实现对数据库进行操作的目的。与相关技术相比,通过对数据库中存储的文件创建索引信息,实现了一个嵌入式零配置,且存储在单一磁盘目录下的一个完整数据库,该数据库具有轻量级开发操作,而且通过对索引信息进行检索,实现了快速查找数据库中存储的数据,达到了提高数据处理效率的技术效果,进而解决了相关技术中轻量级数据库的性能较差,导致数据处理效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种数据处理方法的流程图;
图2是根据本发明实施例的一种可选的数据库***架构的示意图;以及
图3是根据本发明实施例的一种数据处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本发明实施例中出现的技术名称或技术术语进行如下解释说明:
嵌入式数据库:将数据库嵌入到应用程序进程中,消除了与客户机服务器配置相关的开销,属于轻量级的数据库。在运行时需要较少的内存,对于嵌入式设备,其速度更快,并且还提供零配置运行模式。
Apache Lucene:是一个开放源代码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分文本引擎提供了一个简单却强大的应用程式接口,嫩呢过进行全文索引和搜寻。
实施例1
根据本发明实施例,提供了一种数据处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,接收对数据库中存储的数据进行处理的操作请求,其中,操作请求至少包括:待处理数据对应的关键字;
为了降低数据库的数据量,达到数据库轻量化的目的,上述步骤中的数据库可以采用嵌入型数据库,例如,数据库可以是SQLite,数据库本身的数据量小于1M,并且该数据库中存储的数据可以采用Key-Value的形式。为了实现数据的持久化存储,数据库中的数据可以存储在硬盘的单一磁盘目录下。
当需要对该数据库中存储的数据进行处理时,用户可以提供需要处理的数据对应的Key值(即上述的关键字),待处理数据是Key值对应的Value值。用户可以对数据库进行查询、添加、修改和删除等操作,对于查询、修改和删除操作,用户需要处理的数据是数据库中已经存储的数据,而对于添加操作,用户需要处理的数据是即将存储至数据库的数据,因此,上述步骤中的待处理数据可以是即将存储至数据库中的数据,也可以是数据库中已经存储的数据。
需要说明的是,本申请实施例对数据的具体形式和内容不做任何限定。
步骤S104,基于关键字在索引文件中进行检索,得到第一检索结果,其中,索引文件包括:数据库中存储的文件对应的索引信息,以及索引信息对应的关键字;
为了提高数据处理效率,在一种可选的实施例中,可以通过Apache Lucene的插件对索引文件中的索引信息进行检索,查找是否存在用户需要处理的数据,如果检索到关键字对应的目标索引信息,则确定存在用户需要处理的数据;如果未检索到关键字对应的目标索引信息,则确定不存在用户需要处理的数据。
步骤S106,基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,其中,目标文件用于存储待处理数据。
对于已经存储在数据库中的数据,上述步骤中的目标文件可以是存储有该数据的文件,此时,该目标文件与目标索引信息相对应;对于即将存储至数据库中的数据,上述步骤中的目标文件可以是即将存储数据的文件,此时,该目标文件与目标索引信息不对应。
对于查询请求、修改请求或删除请求,由于需要对数据库中已经存储的数据进行操作,因此,只有在数据库中存在用户需要处理的数据时,用户可以对该数据进行相应的操作。对于添加请求,为了避免数据库中已经存储有该数据,首先需要查找数据库中是否存在有该数据,然后根据查找结果确定对该数据进行处理的方式。
采用本发明上述实施例,在接收到对数据库中存储的数据进行处理的操作请求之后,可以基于操作请求中携带的关键字在索引文件中进行检索,得到第一检索结果,进一步基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,实现对数据库进行操作的目的。与相关技术相比,通过对数据库中存储的文件创建索引信息,实现了一个嵌入式零配置,且存储在单一磁盘目录下的一个完整数据库,该数据库具有轻量级开发操作,而且通过对索引信息进行检索,实现了快速查找数据库中存储的数据,达到了提高数据处理效率的技术效果,进而解决了相关技术中轻量级数据库的性能较差,导致数据处理效率较低的技术问题。
可选地,在本发明上述实施例中,操作请求还包括:操作类型,其中,基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理包括:在操作类型为查询类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,输出目标文件中存储的待处理数据,其中,目标索引信息与目标文件相对应;在操作类型为添加类型的情况下,在目标文件中添加待处理数据和关键字,其中,操作请求还包括待处理数据;在操作类型为修改类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的待处理数据和关键字,并在目标文件中添加目标数据和关键字,其中,操作请求还包括目标数据;在操作类型为删除类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的待处理数据和关键字。
上述步骤中的操作类型可以包括查询类型、修改类型、添加类型和删除类型,对于不同类型的操作请求,可以对数据库进行不同的操作。需要说明的是,对于修改类型的操作请求,用户需要对数据库中存储的数据进行修改,此时,操作请求中需要携带修改后的数据(即上述的目标数据)。
对于查询类型的操作请求,可以确定用户需要查询数据库中存储的数据,此时,需要通过在索引文件中进行检索,确定数据库中是否存储有该数据,如果存储有,则可以将该数据输出给用户,实现数据检索的目的。
对于添加类型的操作请求,可以确定用户需要在数据库中添加数据,用户需要在操作请求中携带需要存储的数据(即上述的待处理数据),然后将操作请求中携带的数据存储在数据库中,实现数据添加的目的。
对于修改类型的操作请求,可以确定用户需要修改数据库中存储的数据,用户需要在操作请求中携带目标数据。此时,需要通过在索引文件中进行检索,确定数据库中是否存储有该关键字对应的数据,如果存储有,则基于目标数据对数据库中存储的数据进行修改,实现数据修改的目的。
对于删除类型的操作请求,可以确定用户需要删除数据库中存储的数据,此时,需要通过在索引文件中进行检索,确定数据库中是否存储有该数据,如果存储有,则可以直接删除该数据,实现数据删除的目的。
需要说明的是,在对数据进行删除或添加的同时,需要对关键字进行相同的操作。
可选地,在本发明上述实施例中,在第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的原始数据和关键字,并在目标文件中添加待处理数据和关键字;在第一检索结果为未检索到关键字对应的目标索引信息的情况下,在目标文件中添加待处理数据和关键字。
由于用户之前可能存储过与该关键字对应的数据(即上述的原始数据),此时,可以首先确定数据库中是否存储有该关键字对应的数据,如果存储有,则删除已经存储的数据,并将操作请求中携带的数据存储在数据库中;如果未存储有,则直接将操作请求中携带的数据存储在数据库中。
可选地,在本发明上述实施例中,基于目标数据对目标文件中存储的待处理数据进行修改包括:删除目标文件中存储的待处理数据和关键字,并在目标文件中添加目标数据和关键字。
在本发明实施例中,为了解决IO速度问题,只会对文件中存储的数据进行添加和删除操作。对于修改操作,通过删除数据库中已经存储的数据,并添加修改后的数据实现。
可选地,在本发明上述实施例中,在目标文件中添加数据之后,生成目标文件的新的索引信息,并将新的索引信息存储至索引文件。
在一种可选的实施例中,在数据添加完成之后,可以调用Apache Lucene对文件重新生成索引,新生成的索引信息存储在索引目录下。
可选地,在本发明上述实施例中,在目标文件中添加待处理数据和关键字包括:将待处理数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;在目标文件中添加目标数据和关键字包括:将目标数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;删除目标文件中存储的待处理数据和关键字包括:删除目标文件中存储的原始字符串,其中,原始字符串由待处理数据和关键字组成。
在一种可选的实施例中,对文件的添加、删除和修改操作,可以通过行编辑的形式实现,也即,可以将关键字和数据组成一行字符串,通过对字符串的添加、删除和修改操作实现。
例如,Key为123456,Value为https://gmall.gree.com/staff/index.html|1571034067,则组装好的字符串如下:123456|https://gmall.gree.com/staff/index.html|1571034067。
进一步地,为了方便对文件进行操作,可以在目标文件的末尾添加组装好的字符串(即上述的目标字符串)。
可选地,在本发明上述实施例中,在操作类型为添加类型、修改类型或删除类型的情况下,如果检索结果为未检索到关键字对应的目标索引信息,则输出提示信息,其中,提示信息用于表征数据库中不存在待处理数据。
对于添加类型、修改类型或删除类型的操作请求,由于需要对数据库中已经存储的数据进行相应的操作,如果数据库中不存在该数据,则无法进行操作。数据库的整个操作对于用户来说是不可感知的,为了方便用户确认对数据库进行的操作是否成功,在一种可选的实施例中,在确定无法对数据库进行操作之后,可以向用户返回没有数据的提示信息。
可选地,在本发明上述实施例中,基于检索结果和操作请求,对数据库中存储的目标文件进行处理包括:基于操作请求的操作类型,调用数据库的目标操作方法;基于检索结果和目标操作方法,对目标文件进行处理。
在一种可选的实施例中,***架构中封装有对数据库进行操作的各种操作方法,形成数据库操作工具类,当用户需要对数据库中存储的数据进行处理时,可以直接调用数据库操作工具类中相应的操作方法,并在方法中传入相应的参数。
例如,对于查询类型的操作请求,可以调用查询操作方法,并在该方法中传入Key值。该方法被调用之后,可以对数据库执行查询操作。
对于添加类型的操作请求,可以调用添加操作方法,并在该方法中传入Key值和Value值。该方法被调用之后,可以对数据库执行添加操作。
对于修改类型的操作请求,可以调用修改操作方法,并在该方法中传入Key值和新的Value值。该方法被调用之后,可以对数据库执行修改操作。
对于删除类型的操作请求,可以调用删除操作方法,并在该方法中传入Key值。该方法被调用之后,可以对数据库执行删除操作。
可选地,在本发明上述实施例中,在接收到操作请求之后,该方法还包括:基于关键字在内存中进行检索,得到第二检索结果;基于第二检索结果和操作请求,对内存进行处理。
由于硬盘的读写性能的限制,为了提升数据库的读写速度,可以在内存中预先缓存数据,当用户需要对数据库中存储的数据进行处理时,可以直接对内存进行操作。内存操作方法如下:首先判断Key值是否存在于内存中,并基于该判断结果,对内存中的数据进行相应的操作。具体地,
对于查询类型的操作请求,可以直接基于判断结果确定内存中是否存在用户需要的数据,如果存在,则直接返回给客户,无需对数据库中存储的相关数据进行查询。
对于添加类型的操作请求,可以首先基于判断结果确定内存中是否已经存在用户需要添加的数据,如果存在,则删除内存中的相关数据,并在内存中存储用户需要添加的数据;如果不存在,则直接在内存中存储用户需要添加的数据。
对于修改类型的操作请求,可以直接基于判断结果确定内存中是否存在用户需要的数据,如果存在,则直接对该数据进行修改。
对于删除类型的操作请求,可以直接基于判断结果确定内存中是否存在用户需要的数据,如果存在,则直接删除。
可选地,在本发明上述实施例中,在操作请求的操作类型为查询类型的情况下,基于第二检索结果和操作请求,对内存进行处理包括:在第二检索结果为检索到关键字的情况下,输出内存中存储的待处理数据;在第二检索结果为未检索到关键字的情况下,基于关键字在索引文件中进行检索,得到第一检索结果,如果第一检索为检索到关键字对应的目标索引信息,则将待处理数据和关键字存储至内存,并输出待处理数据。
由于***进行重启之后,内存会被清理,此时会出现内存中无法查询到用户需要的数据的情况,在一种可选的实施例中,当用户需要查询数据时,首先判断内存中是否存在该数据,如果存在,则直接返回给用户;如果不存在,则进一步通过Apache Lucene在索引文件中进行查找,判断数据库中是否存在该数据,如果存在,则返回给用户,完成查找,并将该数据保存到内存中,方便后续对该数据的查询;如果不存在,则返回没有数据的提示信息,告知用户此次查询操作不成功。
可选地,在本发明上述实施例中,目标文件中还存储有待处理数据的过期时间,其中,在将待处理数据和关键字存储至内存之前,该方法还包括:基于过期时间判断待处理数据是否超期;如果判断出待处理数据未超期,则将待处理数据和关键字存储至内存;如果判断出待处理数据超期,则输出提示信息。
为了实现数据的生命周期管理,文件中不仅仅存储有Key值和Value值,还存储有相应的过期时间,通过该过期时间,可以判断数据库中存储的数据是否超期,如果未超期,则表明该数据有效,需要存储在内存中;如果超期,则表明该数据无效,可以认为数据库中不存在相应的数据,直接返回没有数据的提示信息,告知用户此次查询操作不成功。
在本发明实施例中,过期时间可以由操作请求中携带的有效时间和接收到操作请求的时间确定。
在一种可选的实施例中,每个数据在存储至数据库时,用户需要给定每个数据的有效时间,从而可以根据***当前时间戳(即上述接收到操作请求的时间)和有效时间之和,确定每个数据的过期时间。例如,假设数据的有效期为180秒,***当前时间戳为1571033887,则可以得到相应的过期时间为1571034067。
可选地,在本发明上述实施例中,在操作请求的操作类型为添加类型、修改类型或删除类型的情况下,在对内存处理完成之后,基于关键字在索引文件中进行检索,得到第一检索结果,并基于第一检索结果和操作请求,对目标文件进行处理。
为了提高***响应操作,可以根据用户的操作请求直接对内存进行操作,为了确保数据库和内存中存储的数据一致,在对内存中存储的数据进行过添加、修改或删除操作之后,对数据库中存储的数据进行相应的操作,
可选地,在本发明上述实施例中,将操作请求存储至文件操作队列的尾部,并获取文件操作队列的头部存储的目标操作请求,并基于第一检索结果和目标操作请求,对目标文件进行处理。
为了解决IO速度问题,***中的文件管理模块只会对文件中存储的数据进行添加和删除操作。为了避免文件修改的多线程占用问题,可以通过文件操作队列对添加和删除操作进行存储,保证每次只有一个任务对文件进行操作。进一步地,可以缓存每个修改操作对应的修改数据,并把文件操作队列中该Key值的最后一次修改数据返回,达成文件操作在异步进行,提高处理性能。
可选地,在本发明上述实施例中,按照预设周期获取数据库中存储的数据的过期时间,并在基于过期时间确定数据超期之后,删除数据;或在操作请求的操作类型为查询类型的情况下,获取待处理数据的过期时间,并在基于过期时间确定待处理数据超期之后,删除目标文件和/或内存中存储的待处理数据。
在本申请实施例中,可以通过两个方式对数据的生命周期进行管理,一种是通过定时任务,另一种是惰性删除,也即,当***对Key值进行检索时实现。上述步骤中的预设周期可以根据实际使用需要进行设定,例如,可以是每天,但不仅限于此。
在一种可选的实施例中,可以按照预设周期遍历内存和数据文件中的所有数据,对过期的数据进行删除操作。在另一种可选的实施例中,当***对某个Key进行检索时,检查该数据是否已经过期,如果过期将返回没有该数据,并同时删除内存和文件中存储的相应数据。
下面结合图2,并以一个Java的短网址生成***为例,对本发明一种优选的实施例进行详细说明。该***用于网址缩短服务,当在该***上对一个网址进行注册(如:https://gmall.gree.com/staff/index.html)时,该***将会为其生成一个短网址(如:http://gree.cn/123456)。该***大多数请求是对于短网址的解析并重新转化成原网址,因此需要支持较大的并发量,并且对转化速度要求较高,不可对其它业务服务处理速度造成瓶颈。而短网址与原网址的映射关系需要被保存到数据库中,并且只有一台服务器用于该服务,此时就可以使用该嵌入式数据库,直接依赖该数据库的Jar,通过操作“数据库操作工具类”对网址映射数据进行添加、删除、查找和修改。
如图2所示,该***架构由数据库接口层、缓存操作层、文件操作层、定时任务和工具类构成,其中,工具类包括:内存管理类和文件数据操作类。缓存中存储有文件操作队列,磁盘文件(即数据库)中存储有数据目录和索引目录,数据目录中存储有数据文件,索引目录中存储有索引文件。缓存操作层可以由内存管理类控制,文件操作层可以由文件数据操作类控制。
在数据库接口层中,可以通过数据库操作工具类获取用户输入的操作请求,并确定用户需要操作的具体类型,分为查询操作、添加操作、修改操作和删除操作。在数据文件中的数据修改之后,更新索引目录中的索引。
对于查找操作,首先在缓存操作层中判断Key是否存在缓存中,如果存在,则直接返回结果;如果不存在,则在文件操作层中,通过文件内容搜索组件(即上述的ApacheLucene的插件)对Key进行检索,并判断是否检索到Key,如果检索到,则在缓存中为该Key和Value进行添加,并返回结果;如果未检索到,则返回没有找到记录。
对于添加操作,首先在缓存操作层中判断Key是否存在缓存中,如果存在,则在缓存中删除该Key和对应的Value,并在缓存中对该Key和Value进行添加;如果不存在,则直接在缓存中对该Key和Value进行添加。然后在文件操作层中通过文件内容搜索组件对Key进行检索,并判断是否检索到Key,如果检索到,则在文件中删除该行数据记录,并在文件末尾***新的一行记录保存Key和Value等其他信息;如果未检索到,则直接在文件末尾***新的一行记录保存Key和Value等其他信息。
对于修改操作,首先在缓存操作层中判断Key是否存在缓存中,如果存在,则对缓存中的数据进行修改;如果不存在,则返回没有该数据。然后在文件操作层中通过文件内容搜索组件对Key进行检索,并判断是否检索到Key,如果检索到,则在文件中删除该行数据记录,并在文件末尾***新的一行记录保存Key和Value等其他信息;如果未检索到,则返回没有该数据。
对于删除操作,首先在缓存操作层中判断Key是否存在缓存中,如果存在,则对缓存中删除该Key和对应的Value;如果不存在,则返回没有该数据。然后在文件操作层中通过文件内容搜索组件对Key进行检索,并判断是否检索到Key,如果检索到,则在文件中删除该行数据记录;如果未检索到,则返回没有该数据。
文件数据操作类可以将添加和删除操作请求传至文件操作队列,依次对磁盘文件中存储的数据文件进行操作,同时,文件数据操作类可以直接对磁盘文件中存储的索引文件进行查询操作。
定时任务通过遍历文件数据和缓存数据,可以删除过期数据。
以在数据库中添加一条网址映射记录为例,***为长网址(如https://gmall.gree.com/staff/index.html)生成了短网址(如http://gree.cn/123456),现需要把该数据***到数据库中,Key为短网址的ID(如123456),并且该短网址有效时间为180秒,则***只需要直接调用工具类的添加方法,并在方法中传入Key、Value和有效时间。数据库被调用该添加方法后,会先根据***当前时间戳(如1571033887)+有效时间(180)得到过期时间(1571034067),并与Value值组成新的字符串(https://gmall.gree.com/staff/index.html|1571034067),再会到内存中查找是否存在该Key,若数据存在,则先删除,然后对数据进行添加(Key:123456,Value:https://gmall.gree.com/staff/index.html|1571034067),数据在内存中***后,通过Apache Lucene的插件对索引目录下的索引文件进行查找,查看是否存在该数据。若存在该数据,则到数据目录下找到该行数据并进行删除,将需要***的数据组成一行新的字符串(123456|https://gmall.gree.com/staff/index.html|1571034067),然后把该行字符串***到数据文件中,最后调用Apache Lucene对数据文件重新生成索引。
通过上述方案,该数据库通过Apache Lucene对文件进行创建索引和数据查找功能,实现了一个嵌入式零配置,存储在单一磁盘目录下的一个完整数据库,从而减少***资源浪费。该数据库具有轻量级开发操作,并对内存直接操作,性能比一般关系型数据库要高,也为数据加上失效时间,对数据生命周期进行管理,增强了数据库的实用性,从而使***使用更适当的数据库,并使开发更快。
实施例2
根据本发明实施例,提供了一种数据处理装置。该装置可以执行上述实施例1中提供的方法,本实施例中的优选实施例或实施方案与实施例1中相同,在此不做赘述。
图3是根据本发明实施例的一种数据处理装置的示意图,如图3所示,该装置包括:
接收模块32,用于接收对数据库中存储的数据进行处理的操作请求,其中,操作请求至少包括:待处理数据对应的关键字;
第一检索模块34,用于基于关键字在索引文件中进行检索,得到第一检索结果,其中,索引文件包括:数据库中存储的文件对应的索引信息,以及索引信息对应的关键字;
第一处理模块36,用于基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,其中,目标文件用于存储待处理数据。
采用本发明上述实施例,在通过接收模块接收到对数据库中存储的数据进行处理的操作请求之后,可以通过第一检索模块基于操作请求中携带的关键字在索引文件中进行检索,得到第一检索结果,进一步通过第一处理模块基于第一检索结果和操作请求,对数据库中存储的目标文件进行处理,实现对数据库进行操作的目的。与相关技术相比,通过对数据库中存储的文件创建索引信息,实现了一个嵌入式零配置,且存储在单一磁盘目录下的一个完整数据库,该数据库具有轻量级开发操作,而且通过对索引信息进行检索,实现了快速查找数据库中存储的数据,达到了提高数据处理效率的技术效果,进而解决了相关技术中轻量级数据库的性能较差,导致数据处理效率较低的技术问题。
可选地,在本发明上述实施例中,操作请求还包括:操作类型,其中,第一处理模块还用于在操作类型为查询类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,输出目标文件中存储的待处理数据,其中,目标索引信息与目标文件相对应;在操作类型为添加类型的情况下,在目标文件中添加待处理数据和关键字,其中,操作请求还包括待处理数据;在操作类型为修改类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的待处理数据和关键字,并在目标文件中添加目标数据和关键字,其中,操作请求还包括目标数据;在操作类型为删除类型,且第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的待处理数据和关键字。
可选地,在本发明上述实施例中,第一处理模块还用于在第一检索结果为检索到关键字对应的目标索引信息的情况下,删除目标文件中存储的原始数据和关键字,并在目标文件中添加待处理数据和关键字;在第一检索结果为未检索到关键字对应的目标索引信息的情况下,在目标文件中添加待处理数据和关键字。
可选地,在本发明上述实施例中,第一处理模块还用于删除目标文件中存储的待处理数据和关键字,并在目标文件中添加目标数据和关键字。
可选地,在本发明上述实施例中,第一处理模块还用于在目标文件中添加数据之后,生成目标文件的新的索引信息,并将新的索引信息存储至索引文件。
可选地,在本发明上述实施例中,第一处理模块还用于将待处理数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;在目标文件中添加目标数据和关键字包括:将目标数据和关键字组合成目标字符串,并在目标文件中添加目标字符串;删除目标文件中存储的待处理数据和关键字包括:删除目标文件中存储的原始字符串,其中,原始字符串由待处理数据和关键字组成。
可选地,在本发明上述实施例中,该装置还包括:输出模块,用于在操作类型为添加类型、修改类型或删除类型的情况下,如果检索结果为未检索到关键字对应的目标索引信息,则输出提示信息,其中,提示信息用于表征数据库中不存在待处理数据。
可选地,在本发明上述实施例中,第一处理模块包括:调用单元,用于基于操作请求的操作类型,调用数据库的目标操作方法;处理单元,用于基于检索结果和目标操作方法,对目标文件进行处理。
可选地,在本发明上述实施例中,该装置还包括:第二检索模块,用于基于关键字在内存中进行检索,得到第二检索结果;第二处理模块,用于基于第二检索结果和操作请求,对内存进行处理。
可选地,在本发明上述实施例中,第二处理模块还用于在操作请求的操作类型为查询类型的情况下,在第二检索结果为检索到关键字的情况下,输出内存中存储的待处理数据;在第二检索结果为未检索到关键字的情况下,基于关键字在索引文件中进行检索,得到第一检索结果,如果第一检索为检索到关键字对应的目标索引信息,则将待处理数据和关键字存储至内存,并输出待处理数据。
可选地,在本发明上述实施例中,目标文件中还存储有待处理数据的过期时间,其中,第二处理模块还包括:判断单元,用于基于过期时间判断待处理数据是否超期;存储单元,用于如果判断出待处理数据未超期,则将待处理数据和关键字存储至内存;输出单元,用于如果判断出待处理数据超期,则输出提示信息。
可选地,在本发明上述实施例中,第一检索模块还用于在操作请求的操作类型为添加类型、修改类型或删除类型的情况下,在对内存处理完成之后,基于关键字在索引文件中进行检索,得到第一检索结果。
可选地,在本发明上述实施例中,第一处理模块还包括:存储单元,用于将操作请求存储至文件操作队列的尾部;获取单元,用于获取文件操作队列的头部存储的目标操作请求;处理单元还用于基于第一检索结果和目标操作请求,对目标文件进行处理。
可选地,在本发明上述实施例中,该装置还包括:删除模块,用于按照预设周期获取数据库中存储的数据的过期时间,并在基于过期时间确定数据超期之后,删除数据;或在操作请求的操作类型为查询类型的情况下,获取待处理数据的过期时间,并在基于过期时间确定待处理数据超期之后,删除目标文件和/或内存中存储的待处理数据。
实施例3
根据本发明实施例,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述实施例1中的数据处理方法。
实施例4
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述实施例1中的数据处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (19)
1.一种数据处理方法,其特征在于,包括:
接收对数据库中存储的数据进行处理的操作请求,其中,所述操作请求至少包括:待处理数据对应的关键字,所述数据库中的数据存储在硬盘的单一磁盘目录下;
基于所述关键字在索引文件中进行检索,得到第一检索结果,其中,所述索引文件包括:所述数据库中存储的文件对应的索引信息,以及所述索引信息对应的关键字;
基于所述第一检索结果和所述操作请求,对所述数据库中存储的目标文件进行处理,其中,所述目标文件用于存储所述待处理数据;
其中,所述操作请求还包括:操作类型,其中,基于所述第一检索结果和所述操作请求,对所述数据库中存储的目标文件进行处理包括:在所述操作类型为查询类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,输出所述目标文件中存储的所述待处理数据,其中,所述目标索引信息与所述目标文件相对应;在所述操作类型为添加类型的情况下,在所述目标文件中添加所述待处理数据和所述关键字,其中,所述操作请求还包括所述待处理数据;在所述操作类型为修改类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,基于目标数据对所述目标文件中存储的所述待处理数据进行修改,其中,所述操作请求还包括所述目标数据;在所述操作类型为删除类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,删除所述目标文件中存储的所述待处理数据和所述关键字;
其中,所述方法还包括:按照预设周期获取所述数据库中存储的数据的过期时间,并在基于所述过期时间确定所述数据超期之后,删除所述数据;或
在所述操作请求的操作类型为查询类型的情况下,获取所述待处理数据的过期时间,并在基于所述过期时间确定所述待处理数据超期之后,删除所述目标文件和/或内存中存储的所述待处理数据,所述过期时间存储于所述目标文件中,并由所述操作请求中携带的有效时间和接收到所述操作请求的时间确定。
2.根据权利要求1所述的方法,其特征在于,
在所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,删除所述目标文件中存储的原始数据和所述关键字,并在所述目标文件中添加所述待处理数据和所述关键字;
在所述第一检索结果为未检索到所述关键字对应的目标索引信息的情况下,在所述目标文件中添加所述待处理数据和所述关键字。
3.根据权利要求1所述的方法,其特征在于,基于目标数据对所述目标文件中存储的所述待处理数据进行修改包括:
删除所述目标文件中存储的所述待处理数据和所述关键字,并在所述目标文件中添加目标数据和所述关键字。
4.根据权利要求1所述的方法,其特征在于,在所述目标文件中添加数据之后,生成所述目标文件的新的索引信息,并将所述新的索引信息存储至所述索引文件。
5.根据权利要求1所述的方法,其特征在于,
在所述目标文件中添加所述待处理数据和所述关键字包括:将所述待处理数据和所述关键字组合成目标字符串,并在所述目标文件中添加所述目标字符串;
在所述目标文件中添加目标数据和所述关键字包括:将所述目标数据和所述关键字组合成目标字符串,并在所述目标文件中添加所述目标字符串;
删除所述目标文件中存储的所述待处理数据和所述关键字包括:删除所述目标文件中存储的原始字符串,其中,所述原始字符串由所述待处理数据和所述关键字组成。
6.根据权利要求5所述的方法,其特征在于,在所述目标文件的末尾添加所述目标字符串。
7.根据权利要求1所述的方法,其特征在于,在所述操作类型为所述添加类型、所述修改类型或所述删除类型的情况下,如果所述检索结果为未检索到所述关键字对应的目标索引信息,则输出提示信息,其中,所述提示信息用于表征所述数据库中不存在所述待处理数据。
8.根据权利要求1所述的方法,其特征在于,基于检索结果和所述操作请求,对所述数据库中存储的目标文件进行处理包括:
基于所述操作请求的操作类型,调用所述数据库的目标操作方法;
基于所述检索结果和所述目标操作方法,对所述目标文件进行处理。
9.根据权利要求1所述的方法,其特征在于,在接收到所述操作请求之后,所述方法还包括:
基于所述关键字在内存中进行检索,得到第二检索结果;
基于所述第二检索结果和所述操作请求,对所述内存进行处理。
10.根据权利要求9所述的方法,其特征在于,在所述操作请求的操作类型为查询类型的情况下,基于所述第二检索结果和所述操作请求,对所述内存进行处理包括:
在所述第二检索结果为检索到所述关键字的情况下,输出所述内存中存储的所述待处理数据;
在所述第二检索结果为未检索到所述关键字的情况下,基于所述关键字在所述索引文件中进行检索,得到所述第一检索结果,如果所述第一检索为检索到所述关键字对应的目标索引信息,则将所述待处理数据和所述关键字存储至所述内存,并输出所述待处理数据。
11.根据权利要求10所述的方法,其特征在于,所述目标文件中还存储有所述待处理数据的过期时间,其中,在将所述待处理数据和所述关键字存储至所述内存之前,所述方法还包括:
基于所述过期时间判断所述待处理数据是否超期;
如果判断出所述待处理数据未超期,则将所述待处理数据和所述关键字存储至所述内存;
如果判断出所述待处理数据超期,则输出提示信息。
12.根据权利要求11所述的方法,其特征在于,所述过期时间由所述操作请求中携带的有效时间和接收到所述操作请求的时间确定。
13.根据权利要求9所述的方法,其特征在于,在所述操作请求的操作类型为添加类型、修改类型或删除类型的情况下,在对所述内存处理完成之后,基于所述关键字在所述索引文件中进行检索,得到所述第一检索结果,并基于所述第一检索结果和所述操作请求,对所述目标文件进行处理。
14.根据权利要求13所述的方法,其特征在于,将所述操作请求存储至文件操作队列的尾部,并获取所述文件操作队列的头部存储的目标操作请求,并基于第一检索结果和所述目标操作请求,对所述目标文件进行处理。
15.一种数据处理装置,其特征在于,包括:
接收模块,用于接收对数据库中存储的数据进行处理的操作请求,其中,所述操作请求至少包括:待处理数据对应的关键字,所述数据库中的数据存储在硬盘的单一磁盘目录下;
第一检索模块,用于基于所述关键字在索引文件中进行检索,得到第一检索结果,其中,所述索引文件包括:所述数据库中存储的文件对应的索引信息,以及所述索引信息对应的关键字;
第一处理模块,用于基于所述第一检索结果和所述操作请求,对所述数据库中存储的目标文件进行处理,其中,所述目标文件用于存储所述待处理数据;
其中,所述操作请求还包括:操作类型,第一处理模块包括:输出单元,用于在所述操作类型为查询类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,输出所述目标文件中存储的所述待处理数据,其中,所述目标索引信息与所述目标文件相对应;添加单元,用于在所述操作类型为添加类型的情况下,在所述目标文件中添加所述待处理数据和所述关键字,其中,所述操作请求还包括所述待处理数据;修改单元,用于在所述操作类型为修改类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,基于目标数据对所述目标文件中存储的所述待处理数据进行修改,其中,所述操作请求还包括所述目标数据;删除单元,用于在所述操作类型为删除类型,且所述第一检索结果为检索到所述关键字对应的目标索引信息的情况下,删除所述目标文件中存储的所述待处理数据和所述关键字;
其中,所述装置还包括:删除模块,用于按照预设周期获取所述数据库中存储的数据的过期时间,并在基于所述过期时间确定所述数据超期之后,删除所述数据;或
在所述操作请求的操作类型为查询类型的情况下,获取所述待处理数据的过期时间,并在基于所述过期时间确定所述待处理数据超期之后,删除所述目标文件和/或内存中存储的所述待处理数据,所述过期时间存储于所述目标文件中,并由所述操作请求中携带的有效时间和接收到所述操作请求的时间确定。
16.根据权利要求15所述的装置,其特征在于,所述第一处理模块包括:
调用单元,用于基于所述操作请求的操作类型,调用所述数据库的目标操作方法;
处理单元,用于基于所述检索结果和所述目标操作方法,对所述目标文件进行处理。
17.根据权利要求15所述的装置,其特征在于,所述装置还包括:
第二检索模块,用于基于所述关键字在内存中进行检索,得到第二检索结果;
第二处理模块,用于基于所述第二检索结果和所述操作请求,对所述内存进行处理。
18.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至14中任意一项所述的数据处理方法。
19.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至14中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911253558.XA CN111046041B (zh) | 2019-12-09 | 2019-12-09 | 数据处理方法和装置、存储介质及处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911253558.XA CN111046041B (zh) | 2019-12-09 | 2019-12-09 | 数据处理方法和装置、存储介质及处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046041A CN111046041A (zh) | 2020-04-21 |
CN111046041B true CN111046041B (zh) | 2024-02-27 |
Family
ID=70235285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911253558.XA Active CN111046041B (zh) | 2019-12-09 | 2019-12-09 | 数据处理方法和装置、存储介质及处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046041B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626490B (zh) * | 2020-05-08 | 2023-08-25 | 杭州海康威视数字技术股份有限公司 | 数据查询方法、装置及设备、存储介质 |
CN111582833A (zh) * | 2020-05-13 | 2020-08-25 | 中国民航信息网络股份有限公司 | 基于生命周期的文档处理方法、装置及电子设备 |
CN112650481A (zh) * | 2020-12-23 | 2021-04-13 | 航天信息股份有限公司 | 一种用于对数据进行处理的方法及*** |
CN115858551B (zh) * | 2023-01-31 | 2023-11-14 | 天津南大通用数据技术股份有限公司 | 基于ldap的内存管理方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1050630A (zh) * | 1989-09-28 | 1991-04-10 | 布尔Hn信息***公司 | 具有部分关键字分支的前缀检索树 |
US5544357A (en) * | 1993-11-02 | 1996-08-06 | Paracom Corporation | Database accelerator |
CN101477473A (zh) * | 2009-01-22 | 2009-07-08 | 浙江大学 | 硬件支持的数据库指令解释执行方法 |
CN101493824A (zh) * | 2008-12-09 | 2009-07-29 | 北京中电飞华通信股份有限公司 | 数据库的数据检索方法和装置 |
CN104142958A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 一种键值对***中数据的存储方法和相关装置 |
-
2019
- 2019-12-09 CN CN201911253558.XA patent/CN111046041B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1050630A (zh) * | 1989-09-28 | 1991-04-10 | 布尔Hn信息***公司 | 具有部分关键字分支的前缀检索树 |
US5544357A (en) * | 1993-11-02 | 1996-08-06 | Paracom Corporation | Database accelerator |
CN101493824A (zh) * | 2008-12-09 | 2009-07-29 | 北京中电飞华通信股份有限公司 | 数据库的数据检索方法和装置 |
CN101477473A (zh) * | 2009-01-22 | 2009-07-08 | 浙江大学 | 硬件支持的数据库指令解释执行方法 |
CN104142958A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 一种键值对***中数据的存储方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111046041A (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046041B (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN107247808B (zh) | 一种分布式NewSQL数据库***及图片数据查询方法 | |
US9122769B2 (en) | Method and system for processing information of a stream of information | |
US8452925B2 (en) | System, method and computer program product for automatically updating content in a cache | |
US8090693B2 (en) | System, method, and article of manufacture for maintaining and accessing a whois database | |
CN104699718B (zh) | 用于快速引入业务数据的方法和装置 | |
WO2017071189A1 (zh) | 网页的访问方法、装置、设备及非易失性计算机存储介质 | |
US9753977B2 (en) | Method and system for managing database | |
US20090222434A1 (en) | Inclusion of metadata in indexed composite document | |
CN108647357B (zh) | 数据查询的方法及装置 | |
US20050216845A1 (en) | Utilizing cookies by a search engine robot for document retrieval | |
US8027969B2 (en) | Efficient calculation of sets of distinct results in an information retrieval service | |
CN114547208B (zh) | 用于全链路追踪事务的方法及原生分布式数据库 | |
CN104794190A (zh) | 一种大数据有效存储的方法和装置 | |
CN109408580B (zh) | 一种跨数据源的sql编译装置及方法 | |
CN109992469B (zh) | 一种合并日志的方法及装置 | |
CN111125129A (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN115269631A (zh) | 数据查询方法、数据查询***、设备及存储介质 | |
CN111460255A (zh) | 一种音乐作品信息数据采集及存储方法 | |
US9092338B1 (en) | Multi-level caching event lookup | |
KR102415155B1 (ko) | 데이터 검색 장치 및 방법 | |
KR20160050930A (ko) | 대용량 분산 파일 시스템에서 데이터의 수정을 포함하는 트랜잭션 처리 장치 및 컴퓨터로 읽을 수 있는 기록매체 | |
CN108491448B (zh) | 一种数据推送的方法和装置 | |
CN112765200A (zh) | 一种基于Elasticsearch的数据查询方法及装置 | |
EP2990960A1 (en) | Data retrieval via a telecommunication network |
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 |