CN111752955A - 数据处理方法、装置、设备及计算机可读存储介质 - Google Patents

数据处理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111752955A
CN111752955A CN202010606995.1A CN202010606995A CN111752955A CN 111752955 A CN111752955 A CN 111752955A CN 202010606995 A CN202010606995 A CN 202010606995A CN 111752955 A CN111752955 A CN 111752955A
Authority
CN
China
Prior art keywords
data
keyword
storage address
data processing
preset
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
CN202010606995.1A
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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202010606995.1A priority Critical patent/CN111752955A/zh
Publication of CN111752955A publication Critical patent/CN111752955A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及金融科技技术领域,公开了一种数据处理方法、装置、设备及计算机可读存储介质。该数据处理方法包括:获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;对所述待存储数据进行解析,得到第一关键字;建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。本发明能够解决现有的内存结构数据存储方式灵活性较差的问题。

Description

数据处理方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种数据处理方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。
现有比较常见的内存结构有Map(关联容器)、数组、二叉树等,分别可以支持按key(键)、按索引、按节点值进行查找。然而,目前的内存结构,仅仅只能支持一种方式的查找。例如,Map支持通过key查找到对应的value(值),数组支持通过索引快速查找对应的值。之后,当要通过值进行数据查找时,则需要遍历整个内存结构,查询效率较低,且会导致性能不高和CPU资源浪费。因此,现有的内存结构,其数据存储方式灵活性较差。
发明内容
本发明的主要目的在于提供一种数据处理方法、装置、设备及计算机可读存储介质,旨在解决现有的内存结构数据存储方式灵活性较差的问题。
为实现上述目的,本发明提供一种数据处理方法,所述数据处理方法包括:
获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
对所述待存储数据进行解析,得到第一关键字;
建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
可选地,所述建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中的步骤包括:
判断所述预设关键字索引器中是否存在所述第一关键字;
若存在,则在所述第一关键字对应的索引中新增与所述第一存储地址之间的索引;
若不存在,则新建所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
可选地,所述数据处理方法还包括:
在接收到数据读取请求时,获取所述数据读取请求中携带的数据读取信息;
若所述数据读取信息为待查找数据的第二存储地址,则从所述预设键值存储器中查找得到所述第二存储地址对应的第一目标值,并返回至所述数据读取请求对应的查询端;
若所述数据读取信息为待查找数据的第二关键字,则从所述预设关键字索引器中查找得到所述第二关键字对应的目标存储地址;
从所述预设键值存储器中查找得到所述目标存储地址对应的第二目标值,并返回至所述数据读取请求对应的查询端。
可选地,所述数据处理方法还包括:
在接收到数据删除请求时,根据所述数据删除请求获取待删除数据的第三存储地址;
从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
对所述第三目标值进行解析,得到第三关键字;
从所述预设关键字索引器中查找所述第三关键字,并删除所述第三关键字与所述第三存储地址之间的索引信息。
可选地,所述数据处理方法还包括:
在接收到数据修改请求时,根据所述数据修改请求获取目标修改数据及其第四存储地址、及修改后的数据;
将所述第四存储地址作为所述第三存储地址,执行步骤:从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
在删除完成后,将所述修改后的数据作为所述待存储数据,执行步骤:通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址。
可选地,所述数据处理方法还包括:
在侦测到数据变更事件时,根据所述数据变更事件更新对应关键字的内存占用率及总内存占用率。
可选地,所述数据处理方法还包括:
实时获取当前总内存占用率,并判断所述当前总内存占用率是否超过预设阈值;
若所述当前总内存占用率超过预设阈值,则按预设清理规则对存储数据进行清理;其中,所述预设清理规则包括以下一种或多种:
清理内存占用率最大的关键字所对应的存储数据,清理预设时间段内未被使用的关键字所对应的存储数据,清理使用率最低的关键字所对应的存储数据。
可选地,所述通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址的步骤之前,还包括:
获取所述待存储数据的分类标签,并根据所述分类标签确定目标键值存储器和目标关键字索引器;
所述通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址的步骤包括:
通过键值对的形式将所述待存储数据存储至所述目标键值存储器中,并获取对应的第一存储地址;
所述建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中的步骤包括:
建立所述第一关键字与所述第一存储地址之间的索引,并存储至所述目标关键字索引器中。
此外,为实现上述目的,本发明还提供一种数据处理装置,所述数据处理装置包括:
第一获取模块,用于获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
第一解析模块,用于对所述待存储数据进行解析,得到第一关键字;
索引构建模块,用于建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
此外,为实现上述目的,本发明还提供一种数据处理设备,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如上所述的数据处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如上所述的数据处理方法的步骤。
本发明提供一种数据处理方法、装置、设备及计算机可读存储介质,通过获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;对所述待存储数据进行解析,得到第一关键字;建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。本发明中,在采用键值对方式对待存储数据进行存储的同时,获取存储地址,并建立存储地址与关键字之间的索引并进行存储,通过上述方式,实现了一种新的内存结构,支持按照key(键)将数据存储到预设键值存储器中得到存储地址,也支持对数据解析得到关键字,将关键字和存储地址建立索引存储到预设关键字索引器,后续支持按照key快速查找数据的同时,也支持按照关键字索引快速查找到数据,具有很好的灵活性和通用性,可适用于不同的查询场景。此外,在后续通过值进行数据查找时,可基于待查找值的关键字按照索引快速查询到其存储地址,进而快速查询到待查找数据,无需遍历整个内存结构,从而可提高查找效率,避免现有技术中因遍历查询导致性能不高和CPU资源浪费的问题。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据处理方法第一实施例的流程示意图;
图3为本发明数据处理方法涉及的数据处理内存结构的示意图;
图4为本发明数据处理装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例数据处理设备可以是智能手机,也可以是PC(Personal Computer,个人计算机)、平板电脑、便携计算机等终端设备。
如图1所示,该数据处理设备可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如Wi-Fi接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的数据处理设备结构并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及数据处理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的数据处理程序,并执行以下数据处理方法的各个步骤。
基于上述硬件结构,提出本发明数据处理方法的各实施例。
本发明提供一种数据处理方法。
参照图2,图2为本发明数据处理方法第一实施例的流程示意图。
在本实施例中,该数据处理方法包括:
步骤S10,获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
本实施例的数据处理方法是由数据处理设备实现的,该设备的内存结构中设定如图3所示的数据处理内存结构,该数据处理内存结构分为三层,第一层是关键词解析器(Keyword Parser)和键值查找器(Key Finder),其中,关键词解析器用于对待存储数据进行解析,得到关键字,而键值查找器用于通过key(键,本实施例中的key为存储地址)查找到对应的值(本实施例中的值即为存储数据),或先通过关键字从关键字索引器集合中获取对应的存储地址,进而去键值对存储器集合中获取对应的值;第二层是键值存储器集合(Key-Value Map Set)和关键字索引器集合(Inverted Index Set),键值存储器集合中可包括多个类别的键值存储器,同样的,关键字索引器集合中可包括多个类别的关键字索引器,以实现分类存储,当然,具体实施时,也可以仅包括一个键值存储器和一个关键字索引器;第三层是具体类型的键值存储器(Key-Value Map)和关键字索引器(Inverted Index),其中,键值存储器用于将数据内容按键值对进行存储,关键字索引器用于存储关键字和数据内容存储地址之间的映射关系。此外,该数据处理内存结构中还包括监听器(Listener)和自动清理器(AutoClear),其中,监听器用于在数据存入、数据删除和数据修改等操作完成后,更新对应关键字的内存占用率及总内存占用率;还用于在数据读取操作完成后,更新对应关键字的使用信息(包括但不限于使用次数、使用率和使用时间)。自动清理器用于在监控到总内存占用率超过预设阈值时,进行数据的清理回收,以保证程序稳定正常运行。
需要说明的是,本发明应用在内存结构中,而不是磁盘或存储器等存储结构中,常规下的磁盘或存储器是按照顺序存储数据,并且内部的各个分区等也是按照顺序调用的,即,在数据调用时,只能调用相邻分区的数据,而本发明应用在内存结构中,设计了内存结构的存储方式,数据之间的调用不限于按顺序调用的方式,而是可以跨区进行调用获取,从而可提高数据调用的效率。
在本实施例中,在进行数据存入时,先获取待存储数据,然后通过键值对的形式将待存储数据存储至预设键值存储器中,并获取对应的存储地址(为与后续涉及的存储地址进行区分,将其记为第一存储地址)。具体的,以第一存储地址作为key,以待存储数据作为value,来形成键值对,并以此形式进行存储。
步骤S20,对所述待存储数据进行解析,得到第一关键字;
然后,对待存储数据进行解析,得到对应的关键字,记为第一关键字(为与后续涉及的关键字进行区分)。
具体的,在进行解析时,可直接通过预设分词算法或分词工具对所述待存储数据进行分词,得到关键词。其中,预设分词算法可以包括但不限于:最大匹配分词算法、基于HMM(Hidden Markov Model,隐马尔可夫模型)的分词算法、基于CRF(Conditional RandomFields,条件随机场)模型的分词算法和自定义分词算法(如通过在定义需要存储的对象时指定产生关键字的注解,比如指定分隔符、正则表达式取值等)等,预设分词工具包括但不限于:IK(一款基于词典和规则的中文分词器)分词器、汉语词法分析系统ICTCLAS,清华大学中文词法分析程序THULAC,语言技术平台LTP等。
此外,在进行解析时,在进行分词之后,可对得到的分词进行筛选,以得到关键字。筛选方式包括但不限于:去除停用词,筛除TF-IDF(词频-逆向文件频率)值小于预设阈值的词。通过筛选,可以避免一些无意义、不重要的词占用内存。
步骤S30,建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
最后,建立第一关键字与第一存储地址之间的索引,并存储至预设关键字索引器中。具体的,以第一关键字作为索引值,以第一存储地址作为值,建立索引,如图3。例如,根据待存储数据(记为data)解析得到对应的第一关键字,记为keyword,待存储数据的地址记为address,可生成键值对address-data,并生成索引keyword-address。
具体的,步骤S30包括:
步骤a41,判断所述预设关键字索引器中是否存在所述关键字;
步骤a42,若存在,则在所述第一关键字对应的索引中新增与所述第一存储地址之间的索引;
步骤a43,若不存在,则新建所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
在建立索引并存储的过程中,会先判断预设关键字索引器中是否存在该第一关键字,若预设关键字索引器中已存在该第一关键字,则直接在第一关键字对应的索引中新增与第一存储地址之间的索引,即,将该存储地址添加至该第一关键字对应的其他映射值(其他存储地址)后面。若预设关键字索引器中不存在该第一关键字,则新建第一关键字与第一存储地址之间的索引,并存储至预设关键字索引器中。
需要说明的是,现有技术中,在对待存储数据进行解析后得到的关键字时,若以关键字为key,待存储数据为value进行存储时,如果解析出来的关键字重复,会覆盖之前的value值,从而导致存储的数据的丢失。而本实施例中,通过将关键字作为索引值,以存储地址作为值进行映射存储,同时,在存储时,通过检测关键字索引器中是否存在同样的关键字,若存在,则直接在该关键字后新增对应的索引,而不会覆盖原来的value值,从而可以避免现有技术中存在的存储数据丢失的问题。
本发明实施例提供一种数据处理方法,通过获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;对所述待存储数据进行解析,得到第一关键字;建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。本发明实施例中,在采用键值对方式对待存储数据进行存储的同时,获取存储地址,并建立存储地址与关键字之间的索引并进行存储,通过上述方式,实现了一种新的内存结构,支持按照key(键)将数据存储到预设键值存储器中得到存储地址,也支持对数据解析得到关键字,将关键字和存储地址建立索引存储到预设关键字索引器,后续支持按照key快速查找数据的同时,也支持按照关键字索引快速查找到数据,具有很好的灵活性和通用性,可适用于不同的查询场景。此外,在后续通过值进行数据查找时,可基于待查找值的关键字按照索引快速查询到其存储地址,进而快速查询到待查找数据,无需遍历整个内存结构,从而可提高查找效率,避免现有技术中因遍历查询导致性能不高和CPU资源浪费的问题。
进一步地,基于上述第一实施例,提出本发明数据处理方法的第二实施例。
在本实施例中,在上述步骤S30之后,该数据处理方法还包括:
步骤A,在接收到数据读取请求时,获取所述数据读取请求中携带的数据读取信息;
在本实施例中,在接收到数据读取请求时,获取该数据读取请求中携带的数据读取信息。其中,该数据读取信息的类型可以为存储地址,也可以为关键字。
步骤B11,若所述数据读取信息为待查找数据的第二存储地址,则从所述预设键值存储器中查找得到所述第二存储地址对应的第一目标值,并返回至所述数据读取请求对应的查询端;
若数据读取信息为待查找数据的第二存储地址,则直接以第二存储地址为key,从预设键值存储器中查找得到与该第二存储地址对应的value,记为第一目标值,并返回至该数据读取请求对应的查询端。
步骤B21,若所述数据读取信息为待查找数据的第二关键字,则从所述预设关键字索引器中查找得到所述第二关键字对应的目标存储地址;
步骤B22,从所述预设键值存储器中查找得到所述目标存储地址对应的第二目标值,并返回至所述数据读取请求对应的查询端。
若数据读取信息为待查找数据的关键字,记为第二目标关键字,则以第二目标关键字为索引值,先从从预设关键字索引器中查找得到该第二关键字对应的value,记为目标存储地址,然后,在以目标存储地址为key,从预设键值存储器中查找得到该目标存储地址对应的value,记为第二目标值,并返回至该数据读取请求对应的查询端。
此外,需要说明的是,在具体实施时,在通过关键字进行查找时,还可以通过正则表达式的方式进行查询,以便于客户进行模糊搜索。
进一步地,在完成数据读取之后,更新对应关键字的使用信息,使用信息包括但不限于使用次数、使用率和使用时间,以便于后续进行清理回收。
本实施例中,在进行数据读取时,不仅可基于输入的存储地址直接查询到对应的存储数据,还可以基于输入的关键字,先通过索引获取到对应的存储地址,进而查询到对应的存储数据,即,在支持按照key进行快速查找的同时,也支持基于关键字按照索引进行快速查找。此外,相比于现有技术中通过值进行查找时、需要遍历整个内存结构,而本实施例中只需知道值对应的关键字,先通过索引获取到对应的存储地址,进而通过键值对查找,即可查询到对应的值(即存储数据),从而可提高查找效率,避免占用较多的CPU资源,可提升CPU资源的利用率。
进一步地,基于上述第一实施例,提出本发明数据处理方法的第三实施例。
在本实施例中,在上述步骤S30之后,该数据处理方法还包括:
步骤C,在接收到数据删除请求时,根据所述数据删除请求获取待删除数据的第三存储地址;
在本实施例中,在接收到数据删除请求时,根据该数据删除请求获取待删除数据的第三存储地址。
步骤D,从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
然后,从预设键值对存储器中查找得到第三存储地址对应的第三目标值,并进行删除。
步骤E,对所述第三目标值进行解析,得到第三关键字;
对第三目标值进行解析,得到第三关键字。具体的解析方式与待存储数据的解析方式相同,可参照上述第一实施例。
步骤F,从所述预设关键字索引器中查找所述第三关键字,并删除所述第三关键字与所述第三存储地址之间的索引信息。
最后,从预设关键字索引器中查找到该第三关键字,并删除第三关键字与第三存储地址之间的索引信息。
本实施例中,通过上述方式,可实现数据处理内存结构中数据的智能删除。
进一步地,基于上述第三实施例,提出本发明数据处理方法的第四实施例。
在本实施例中,该数据处理方法还包括:
步骤F,在接收到数据修改请求时,根据所述数据修改请求获取目标修改数据及其第四存储地址、及修改后的数据;
在本实施例中,在接收到数据修改请求时,根据该数据修改请求获取目标修改数据及其第四存储地址、及修改后的数据。其中,目标修改数据即为所需修改的数据,修改后的数据即为想要修改得到的数据,例如,将A修改为B,则目标修改数据为A,修改后的数据为B。
步骤G,将所述第四存储地址作为所述第三存储地址,执行步骤:从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
然后,将第四存储地址作为所述第三存储地址,执行上述删除步骤,即,从预设键值对存储器中查找得到第四存储地址对应的第四目标值,并进行删除;对第四目标值进行解析,得到第四关键字;从预设关键字索引器中查找第四关键字,并删除第四关键字与第四存储地址之间的索引信息。具体的数据删除过程可参照上述第三实施例。
步骤H,在删除完成后,将所述修改后的数据作为所述待存储数据,执行步骤:通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址。
在删除完成后,将修改后的数据作为待存储数据,执行上述数据存储步骤,即,通过键值对的形式将修改后的数据存储至预设键值存储器中,并获取对应的存储地址(记为第五存储地址);对修改后的数据进行解析,得到对应的关键字(记为第五关键字);建立第五关键字与第五存储地址之间的索引,并存储至预设关键字索引器中。具体的数据存储过程可参照上述第一实施例。
也就是说,在数据修改过程中,需先对原始的数据内容进行删除,再将修改后的数据内容存入,以实现数据的修改。
进一步地,基于上述第一至第四实施例,提出本发明数据处理方法的第五实施例。
在本实施例中,该数据处理方法还包括:
步骤I,在侦测到数据变更事件时,根据所述数据变更事件更新对应关键字的内存占用率及总内存占用率。
在本实施例中,在侦测到数据变更事件时,根据该数据变更事件更新对应关键字的内存占用率及总内存占用率。其中,数据变更事件可以为基于数据写入、数据删除或数据修改而产生的,即,在数据写入完成后、或进行数据删除后、或进行数据修改后,会更新对应关键字的内存占用率及总内存占用率。关键字的内存占用率即为该关键字对应的信息大小所占用的内存率,而总内存占用率即当前总内存占用大小除以总内存所得到的商。
进一步地,在上述步骤I之后,该数据处理方法还包括:
步骤J,实时获取当前总内存占用率,并判断所述当前总内存占用率是否超过预设阈值;
步骤K,若所述当前总内存占用率超过预设阈值,则按预设清理规则对存储数据进行清理;其中,所述预设清理规则包括以下一种或多种:
清理内存占用率最大的关键字所对应的存储数据,清理预设时间段内未被使用的关键字所对应的存储数据,清理使用率最低的关键字所对应的存储数据。
由于存储的数据越来越多时容易导致内存使用超标,从而影响程序的正常运行。因此,本实施例中,会对总内存占用率进行实时监控,进而在内存使用超标时,进行数据的清理回收,以保证程序稳定正常运行。
具体的,实时获取当前总内存占用率,并判断当前总内存占用率是否超过预设阈值,若当前总内存占用率超过预设阈值,则按预设清理规则对存储数据进行清理;其中,预设清理规则包括以下一种或多种:清理内存占用率最大的关键字所对应的存储数据,清理预设时间段内未被使用的关键字所对应的存储数据,清理使用率最低的关键字所对应的存储数据。其中,预设时间段内是否被使用和使用率,可基于数据读取后更新的关键字的使用信息(包括但不限于使用次数、使用率和使用时间)进行判断。
当然,可以理解,在具体实施例中,清理规则并不限于上述几种,可根据实际需要灵活设定。例如,还可以根据关键字的使用次数进行清理。
本实施例中,通过记录并更新各关键字的信息大小变化(即各关键字内存占用率)和内存结构整体大小(即总内存占用率)的变化,并在监控到总内存占用率超过预设阈值时,进行数据的清理回收,以保证程序稳定正常运行。
进一步地,基于上述第一至第四实施例,提出本发明数据处理方法的第六实施例。
在本实施例中,在上述步骤“通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址”之前,该数据处理方法还包括:
步骤L,获取所述待存储数据的分类标签,并根据所述分类标签确定目标键值存储器和目标关键字索引器;
在本实施例中,在存入数据时,还可以按类型进行分类存储,以便于后续的读取、删除和修改。
具体的,在进行数据存入时,用户可设定数据的分类标签,其中,分类标签可按业务场景、业务类型等维度进行分类,对应的,键值存储器和关键字索引器也按照相同的分类标签进行分类。服务器在接收到待存储数据后,可以获取待存储数据的分类标签,并根据分类标签确定目标键值存储器和目标关键字索引器。
此时,步骤“通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址”包括:“通过键值对的形式将所述待存储数据存储至所述目标键值存储器中,并获取对应的第一存储地址”;
步骤S30包括:建立所述第一关键字与所述第一存储地址之间的索引,并存储至所述目标关键字索引器中。
然后,通过键值对的形式将待存储数据存储至目标键值存储器中,并获取对应的第一存储地址,接着,对待存储数据进行解析,得到第一关键字,在解析得到第一关键字之后,建立第一关键字与第一存储地址之间的索引,并存储至预设关键字索引器中。具体的执行过程可参照上述第一实施例。
进一步地,在触发数据读取请求、数据删除请求或数据修改请求时,还可以输入相关的分类标签,进而先根据分类标签确定对应的关键字索引器或键值对存储器,以缩小范围,进而再在对应的关键字索引器或键值对存储器中进行相关的操作。
以数据读取场景为例进行说明,在接收到数据读取请求时,获取数据读取请求中携带的数据读取信息和分类标签(记为第二分类标签,与上述待存储数据的分类标签进行区分),然后根据第二分类标签确定目标关键字索引器和目标键值对存储器(分别记为第二目标关键字索引器和第二目标键值对存储器,以与上述涉及的目标关键字索引器和目标键值对存储器进行区分),若数据读取信息为待查找数据的第二存储地址,则从目标键值存储器中查找得到第二存储地址对应的第一目标值,并返回至数据读取请求对应的查询端;若数据读取信息为待查找数据的第二关键字,则先从目标关键字索引器中查找得到第二关键字对应的目标存储地址,再从目标键值存储器中查找得到目标存储地址对应的第二目标值,并返回至数据读取请求对应的查询端。
在本实施例中,在存入数据时,基于待存储数据的分类标签进行分类存储,将对应的键值对存储至对应类型的键值存储器中,并将对应的索引存储至对应类型的关键字索引器中。通过上述方式,可以便于后续进行数据读取、数据删除和数据修改的操作过程中,可缩小查找范围,进而提高对应的操作效率。
本发明还提供一种数据处理装置。
参照图4,图4为本发明数据处理装置第一实施例的功能模块示意图。
如图4所示,所述数据处理装置包括:
第一获取模块10,用于获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
第一解析模块20,用于对所述待存储数据进行解析,得到第一关键字;
索引构建模块30,用于建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。。
进一步地,所述索引构建模块30包括:
判断单元,用于判断所述预设关键字索引器中是否存在所述第一关键字;
索引新增单元,用于若存在,则在所述第一关键字对应的索引中新增与所述第一存储地址之间的索引;
索引新建单元,用于若不存在,则新建所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
进一步地,所述数据处理装置还包括:
第二获取模块,用于在接收到数据读取请求时,获取所述数据读取请求中携带的数据读取信息;
第一查找模块,用于若所述数据读取信息为待查找数据的第二存储地址,则从所述预设键值存储器中查找得到所述第二存储地址对应的第一目标值,并返回至所述数据读取请求对应的查询端;
第二查找模块,用于若所述数据读取信息为待查找数据的第二关键字,则从所述预设关键字索引器中查找得到所述第二关键字对应的目标存储地址;
第三查找模块,用于从所述预设键值存储器中查找得到所述目标存储地址对应的第二目标值,并返回至所述数据读取请求对应的查询端。
进一步地,所述数据处理装置还包括:
第三获取模块,用于在接收到数据删除请求时,根据所述数据删除请求获取待删除数据的第三存储地址;
第一删除模块,用于从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
第二解析模块,用于对所述第三目标值进行解析,得到第三关键字;
第二删除模块,用于从所述预设关键字索引器中查找所述第三关键字,并删除所述第三关键字与所述第三存储地址之间的索引信息。
进一步地,所述数据处理装置还包括:
第四获取模块,用于在接收到数据修改请求时,根据所述数据修改请求获取目标修改数据及其第四存储地址、及修改后的数据;
第一执行模块,用于将所述第四存储地址作为所述第三存储地址,执行步骤:从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
第二执行模块,用于在删除完成后,将所述修改后的数据作为所述待存储数据,执行步骤:通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址。
进一步地,所述数据处理装置还包括:
信息更新模块,用于在侦测到数据变更事件时,根据所述数据变更事件更新对应关键字的内存占用率及总内存占用率。
进一步地,所述数据处理装置还包括:
判断模块,实时获取当前总内存占用率,并判断所述当前总内存占用率是否超过预设阈值;
数据清理模块,用于若所述当前总内存占用率超过预设阈值,则按预设清理规则对存储数据进行清理;其中,所述预设清理规则包括以下一种或多种:
清理内存占用率最大的关键字所对应的存储数据,清理预设时间段内未被使用的关键字所对应的存储数据,清理使用率最低的关键字所对应的存储数据。
进一步地,所述数据处理装置还包括:
第五获取模块,用于获取所述待存储数据的分类标签,并根据所述分类标签确定目标键值存储器和目标关键字索引器;
所述第一获取模块10,具体用于:通过键值对的形式将所述待存储数据存储至所述目标键值存储器中,并获取对应的第一存储地址;
所述索引构建模块30,具体用于:建立所述第一关键字与所述第一存储地址之间的索引,并存储至所述目标关键字索引器中。
其中,上述数据处理装置中各个模块的功能实现与上述数据处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如以上任一项实施例所述的数据处理方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据处理方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (11)

1.一种数据处理方法,其特征在于,所述数据处理方法包括:
获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
对所述待存储数据进行解析,得到第一关键字;
建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
2.如权利要求1所述的数据处理方法,其特征在于,所述建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中的步骤包括:
判断所述预设关键字索引器中是否存在所述第一关键字;
若存在,则在所述第一关键字对应的索引中新增与所述第一存储地址之间的索引;
若不存在,则新建所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
3.如权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在接收到数据读取请求时,获取所述数据读取请求中携带的数据读取信息;
若所述数据读取信息为待查找数据的第二存储地址,则从所述预设键值存储器中查找得到所述第二存储地址对应的第一目标值,并返回至所述数据读取请求对应的查询端;
若所述数据读取信息为待查找数据的第二关键字,则从所述预设关键字索引器中查找得到所述第二关键字对应的目标存储地址;
从所述预设键值存储器中查找得到所述目标存储地址对应的第二目标值,并返回至所述数据读取请求对应的查询端。
4.如权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在接收到数据删除请求时,根据所述数据删除请求获取待删除数据的第三存储地址;
从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
对所述第三目标值进行解析,得到第三关键字;
从所述预设关键字索引器中查找所述第三关键字,并删除所述第三关键字与所述第三存储地址之间的索引信息。
5.如权利要求4所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在接收到数据修改请求时,根据所述数据修改请求获取目标修改数据及其第四存储地址、及修改后的数据;
将所述第四存储地址作为所述第三存储地址,执行步骤:从所述预设键值对存储器中查找得到所述第三存储地址对应的第三目标值,并进行删除;
在删除完成后,将所述修改后的数据作为所述待存储数据,执行步骤:通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址。
6.如权利要求1至5中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
在侦测到数据变更事件时,根据所述数据变更事件更新对应关键字的内存占用率及总内存占用率。
7.如权利要求6所述的数据处理方法,其特征在于,所述数据处理方法还包括:
实时获取当前总内存占用率,并判断所述当前总内存占用率是否超过预设阈值;
若所述当前总内存占用率超过预设阈值,则按预设清理规则对存储数据进行清理;其中,所述预设清理规则包括以下一种或多种:
清理内存占用率最大的关键字所对应的存储数据,清理预设时间段内未被使用的关键字所对应的存储数据,清理使用率最低的关键字所对应的存储数据。
8.如权利要求1至5中任一项所述的数据处理方法,其特征在于,所述通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址的步骤之前,还包括:
获取所述待存储数据的分类标签,并根据所述分类标签确定目标键值存储器和目标关键字索引器;
所述通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址的步骤包括:
通过键值对的形式将所述待存储数据存储至所述目标键值存储器中,并获取对应的第一存储地址;
所述建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中的步骤包括:
建立所述第一关键字与所述第一存储地址之间的索引,并存储至所述目标关键字索引器中。
9.一种数据处理装置,其特征在于,所述数据处理装置包括:
第一获取模块,用于获取待存储数据,通过键值对的形式将所述待存储数据存储至预设键值存储器中,并获取对应的第一存储地址;
第一解析模块,用于对所述待存储数据进行解析,得到第一关键字;
索引构建模块,用于建立所述第一关键字与所述第一存储地址之间的索引,并存储至预设关键字索引器中。
10.一种数据处理设备,其特征在于,所述数据处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
CN202010606995.1A 2020-06-29 2020-06-29 数据处理方法、装置、设备及计算机可读存储介质 Pending CN111752955A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010606995.1A CN111752955A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010606995.1A CN111752955A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN111752955A true CN111752955A (zh) 2020-10-09

Family

ID=72678054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010606995.1A Pending CN111752955A (zh) 2020-06-29 2020-06-29 数据处理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111752955A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434125A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 索引结构、非结构化数据的检索方法、装置和设备
CN112579003A (zh) * 2020-12-15 2021-03-30 浙江大华技术股份有限公司 键值对的调整方法、装置、存储介质以及电子装置
CN112632147A (zh) * 2020-12-11 2021-04-09 邦彦技术股份有限公司 数据差异化比较方法、系统和存储介质
CN112817973A (zh) * 2021-01-22 2021-05-18 平安普惠企业管理有限公司 数据处理方法、装置、数据处理设备及存储介质
CN113064841A (zh) * 2021-01-04 2021-07-02 统信软件技术有限公司 一种数据存储方法、处理方法、计算设备及可读存储介质
CN113504930A (zh) * 2021-07-28 2021-10-15 中移(杭州)信息技术有限公司 新增对象的确定方法、终端设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60151758A (ja) * 1983-10-21 1985-08-09 ストーリッジ・テクノロジー・パートナーズ・トウー デイジタル式情報記憶検索装置用拡張索引法
JPH0830632A (ja) * 1994-07-20 1996-02-02 Nec Corp データ検索システム
CN106886375A (zh) * 2017-03-27 2017-06-23 百度在线网络技术(北京)有限公司 存储数据的方法和装置
US20190005079A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Logical band-based key-value storage structure
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110968585A (zh) * 2019-12-20 2020-04-07 深圳前海微众银行股份有限公司 面向列的存储方法、装置、设备及计算机可读存储介质
CN111241108A (zh) * 2020-01-16 2020-06-05 北京百度网讯科技有限公司 基于键值对kv系统的索引方法、装置、电子设备和介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60151758A (ja) * 1983-10-21 1985-08-09 ストーリッジ・テクノロジー・パートナーズ・トウー デイジタル式情報記憶検索装置用拡張索引法
JPH0830632A (ja) * 1994-07-20 1996-02-02 Nec Corp データ検索システム
CN106886375A (zh) * 2017-03-27 2017-06-23 百度在线网络技术(北京)有限公司 存储数据的方法和装置
US20190005079A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Logical band-based key-value storage structure
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110968585A (zh) * 2019-12-20 2020-04-07 深圳前海微众银行股份有限公司 面向列的存储方法、装置、设备及计算机可读存储介质
CN111241108A (zh) * 2020-01-16 2020-06-05 北京百度网讯科技有限公司 基于键值对kv系统的索引方法、装置、电子设备和介质

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434125A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 索引结构、非结构化数据的检索方法、装置和设备
CN112632147A (zh) * 2020-12-11 2021-04-09 邦彦技术股份有限公司 数据差异化比较方法、系统和存储介质
CN112632147B (zh) * 2020-12-11 2023-10-24 邦彦技术股份有限公司 数据差异化比较方法、系统和存储介质
CN112579003A (zh) * 2020-12-15 2021-03-30 浙江大华技术股份有限公司 键值对的调整方法、装置、存储介质以及电子装置
CN112579003B (zh) * 2020-12-15 2022-06-14 浙江大华技术股份有限公司 键值对的调整方法、装置、存储介质以及电子装置
CN113064841A (zh) * 2021-01-04 2021-07-02 统信软件技术有限公司 一种数据存储方法、处理方法、计算设备及可读存储介质
CN113064841B (zh) * 2021-01-04 2023-06-06 统信软件技术有限公司 一种数据存储方法、处理方法、计算设备及可读存储介质
CN112817973A (zh) * 2021-01-22 2021-05-18 平安普惠企业管理有限公司 数据处理方法、装置、数据处理设备及存储介质
CN113504930A (zh) * 2021-07-28 2021-10-15 中移(杭州)信息技术有限公司 新增对象的确定方法、终端设备及介质
CN113504930B (zh) * 2021-07-28 2024-03-12 中移(杭州)信息技术有限公司 新增对象的确定方法、终端设备及介质

Similar Documents

Publication Publication Date Title
CN111752955A (zh) 数据处理方法、装置、设备及计算机可读存储介质
US10452691B2 (en) Method and apparatus for generating search results using inverted index
CN107657048B (zh) 用户识别方法及装置
US9390176B2 (en) System and method for recursively traversing the internet and other sources to identify, gather, curate, adjudicate, and qualify business identity and related data
WO2017097231A1 (zh) 话题处理方法及装置
US11449564B2 (en) System and method for searching based on text blocks and associated search operators
JP5594145B2 (ja) 検索装置、検索方法、及びプログラム
CN109634436B (zh) 输入法的联想方法、装置、设备及可读存储介质
KR101472451B1 (ko) 디지털 콘텐츠 관리 시스템 및 방법
CN107145538B (zh) 表格数据查询方法、装置与系统
CN109656947B (zh) 数据查询方法、装置、计算机设备和存储介质
CN108897819B (zh) 一种数据搜索方法和装置
CN111026765A (zh) 严格平衡二叉树的动态处理方法、设备、存储介质及装置
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN116226681B (zh) 一种文本相似性判定方法、装置、计算机设备和存储介质
CN110489032B (zh) 用于电子书的词典查询方法及电子设备
CN112596851A (zh) 仿真平台的多源异构数据批量抽取方法和分析方法
CN107590233A (zh) 一种文件管理方法及装置
CN111930891A (zh) 基于知识图谱的检索文本扩展方法及相关装置
CN110990423A (zh) Sql语句的执行方法、装置、设备和存储介质
CN114780589A (zh) 多表连接查询方法、装置、设备及存储介质
CN113807429B (zh) 企业的分类方法、装置、计算机设备和存储介质
CN111311329B (zh) 标签数据获取方法、装置、设备及可读存储介质
CN117688140B (zh) 文档查询方法、装置、计算机设备和存储介质
CN115052035A (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