CN110674432A - 二级缓存方法、装置及计算机可读存储介质 - Google Patents

二级缓存方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110674432A
CN110674432A CN201910868098.5A CN201910868098A CN110674432A CN 110674432 A CN110674432 A CN 110674432A CN 201910868098 A CN201910868098 A CN 201910868098A CN 110674432 A CN110674432 A CN 110674432A
Authority
CN
China
Prior art keywords
data
cache
fuzzy
frequency
common
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.)
Granted
Application number
CN201910868098.5A
Other languages
English (en)
Other versions
CN110674432B (zh
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 Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201910868098.5A priority Critical patent/CN110674432B/zh
Publication of CN110674432A publication Critical patent/CN110674432A/zh
Application granted granted Critical
Publication of CN110674432B publication Critical patent/CN110674432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • 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/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/16General purpose computing application
    • G06F2212/163Server or database system

Landscapes

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

Abstract

本发明涉及一种大数据技术,揭露了一种二级缓存方法,包括:获取从网页中得到的原始数据集,将所述原始数据集划分为高频数据、普通数据以及模糊数据;创建本地进程内的一级缓存,将所述高频数据存入所述一级缓存中;搭建本地进程外的普通二级缓存,将所述普通数据存入所述普通二级缓存中;构建本地进程外的模糊二级缓存,将所述模糊数据存入所述模糊二级缓存中;接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。本发明还提出一种二级缓存装置以及一种计算机可读存储介质。本发明实现了数据的高效存储和查询。

Description

二级缓存方法、装置及计算机可读存储介质
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于进程内+进程外的二级缓存方法、装置及计算机可读存储介质。
背景技术
目前业内流行的缓存分为进程内缓存和进程外缓存两种,进程内缓存有Ehcache/guava cache等,其应用允许相同的JVM内存,主要缺点是占用应用内存可用容量低,限制应用的吞吐量,更新消耗资源且不支持应用间共享。常用的进程外缓存有memcached,主要缺点是多应用公用,出现问题影响巨大,且有连接数上线,高并发热点数据会出现争用。
发明内容
本发明提供一种二级缓存方法、装置及计算机可读存储介质,其主要目的在于当用户在进行数据存储和查询时,给用户提供一种高效的存储和查询方法。
为实现上述目的,本发明提供的一种二级缓存方法,包括:
获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据;
创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据;
搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据;
构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据;
接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
可选地,所述获取从网页中得到的原始数据集,包括:
创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
可选地,所述本地进程内的Caffeine缓存为Java缓存库,及所述通过所述一级缓存查询所述高频数据包括:
记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。
可选地,所述记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,包括:
通过统计频率算法记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。
可选地,所述通过所述模糊二级缓存查询所述模糊数据,包括:
将用户输入的查询命令数据表示为JSON格式的文档,并对所述文档建立倒排索引,通过所述倒排索引对所述模糊二级缓存的目标文档数据id进行搜索,完成所述模糊数据的查询。
此外,为实现上述目的,本发明还提供一种二级缓存装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的二级缓存程序,所述二级缓存程序被所述处理器执行时实现如下步骤:
获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据;
创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据;
搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据;
构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据;
接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
可选地,所述获取从网页中得到的原始数据集,包括:
创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
可选地,所述本地进程内的Caffeine缓存为Java缓存库,及所述通过所述一级缓存查询所述高频数据包括:
记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。
可选地,所述记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,包括:
通过统计频率算法记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有二级缓存程序,所述二级缓存程序可被一个或者多个处理器执行,以实现如上所述的二级缓存方法的步骤。
本发明提出的二级缓存方法、装置及计算机可读存储介质,获取从网页中得到的原始数据集,将所述原始数据集划分为高频数据、普通数据以及模糊数据;创建本地进程内的一级缓存,将所述高频数据存入所述一级缓存中;搭建本地进程外的普通二级缓存,将所述普通数据存入所述普通二级缓存中;构建本地进程外的模糊二级缓存,将所述模糊数据存入所述模糊二级缓存中;接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端,从而实现了数据的高效存储和查询。
附图说明
图1为本发明一实施例提供的二级缓存方法的流程示意图;
图2为本发明一实施例提供的二级缓存装置的内部结构示意图;
图3为本发明一实施例提供的二级缓存装置中二级缓存程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种二级缓存方法。参照图1所示,为本发明一实施例提供的二级缓存方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,二级缓存方法包括:
S1、获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据。
本发明较佳实施例通过爬虫技术从网页中进行爬取,得到所述原始数据集。其中,所述爬虫指的是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。详细地,本发明通过创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
本发明较佳实施例中,所述预设的规则为用户对数据的敏感程度,根据所述用户对数据的敏感程度将所述原始数据集进行划分为所述高频数据、普通数据以及模糊数据。其中,所述高频数据通常指的是更新时间间隔较短的数据,例如股票价格、外汇价格以及成交量等;所述普通数据通常指的是大量的基础资料或日志,例如,中国平安的员工信息、交易信息等;所述模糊数据通常指的是数据具有不完全性、不确定性、模糊性,例如车型数据,银行列表数据等。
S2、创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据。
所述进程指的是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。本发明较佳实施例通过在本地进程内搭建Caffeine缓存,用于存储和查询所述高频数据,并将所述Caffeine缓存作为本地进程内的一级缓存。进一步地,由于所述高频数据具有数据量少、使用频繁等特点,当客户端程序需要查询一个高频数据时,例如汇率,产品等,通过直接访问本地缓存,输出查询结果,可以节省从数据库读取时间,从而减少高迸发对数据库的压力。
进一步地,所述Caffeine缓存指的是一个高性能的Java缓存库。其中,本发明通过所述一级缓存查询所述高频数据的具体实施步骤为:记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。所述缓存最佳命中率指的是通过所述一级缓存直接可以得到所述用户需求数据的概率。详细地,本发明中所述数据缓存最佳命中率通过W-TinyLFU计算得到,所述W-TinyLFU结合了LRU和LFU算法的特点,其中,所述LFU核心思想为:如果数据过去被访问多次,那么将来被访问的频率也更高,所述LRU核心思想是:如果数据最近被访问过,那么将来被访问的几率也更高。优选地,本发明通过统计频率算法(Count-Min Sketch)记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。所述Hash算法相当于long[][]二维数组的一个概念,其中,所述Hash处理为:当数据A和数据B经过计算得到的Hash值概率相同时,此时经过访问数据时,所述数据A之前访问的频率是1万次时,所述数据B在访问时其频率就会变成一万零一次,实际上所述数据B仅访问了一次,因此,本发明通过建立多种Hash算法,当第一个Hash算法中所述数据A与所述数据B发生冲突,在第二次、第三次和第四次所述数据A和所述数据B冲突的概率就很小,预设一个算法中有1%的冲突,则四个算法中冲突的概率为1%的四次方,这样就大大降低了数据之间的冲突概率。从而可以精确的计算出所述访问数据的最佳命中率。
进一步地,本发明还包括通过时间轮对所述访问数据进行定时淘汰处理,所述时间轮指的是高效的处理定时任务的结构,通过CacheLodaer方法进行同步构建刷新所述访问数据,通过buildAsync方法进行异步构建刷新所述访问数据。
S3、搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据。
所述Redis是一个开源的、基于内存或持久化、可网络交互、Key-Value的存储数据库。当数据并不是经常被查询且数据量大时,此时上述创建的一级缓存并不能满足需求,而如果直接向数据库进行访问的话,可能会出现数据库连接异常的情况,因此,本发明通过在本地进程外创建Redis分布式缓存,作为普通二级缓存,用于存储和查询所述普通数据。进一步地,所述普通二级缓存支持存储多种的数据类型,例如:string(字符串)、list(链表)、set(集合)、zset(有序集合)、hasp(哈希表)。
进一步地,本发明还包括通过语句追加文件方式(Appendonly file,AOF)对所述普通二级缓存中丢失的普通数据进行恢复。详细地,本发明利用通过在所述普通二级缓存中将所述普通数据的变更指令追加在所述AOF中,当重启所述普通二级缓存时,读取所述AOF中的变更指令并且按照记录顺序执行一遍,进行查询是否有丢失的普通数据,并对查询到已丢失的普通数据进行开启重写机制,从而完成丢失数据的恢复。
进一步地,本发明实施例还包括通过定期删除+惰性删除以及内存淘汰机制对所述普通二级缓存中的普通数据进行移除,用于保证所述普通二级缓存的高效和时效性。所述定期删除+惰性删除指的是通过在所述普通二级缓存中预设一定的时间检查是否有过期的普通数据,当有过期数据则删除,优选地,本发明中,所述预设的时间为100ms;所述内存淘汰机制指的是通过配置淘汰策略进行移除所述普通数据,优选地,本发明中,所述配置淘汰策略为配置allkeys-lru,即缓存不足以容纳新写入数据时,在键空间中,移除最近最少使用的数据。
S4、构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据。
所述Elasticsearch分布式搜索引擎是一个实时分析的分布式搜索引擎,用于分布式实时文件存储,通过将用户的查询命令中每一个字段编入索引,使所述每一个字段可以被搜索,同时所述Elasticsearch分布式搜索引擎可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
本发明较佳实施例中,当用户需要查询的数据为模糊数据时,此时,通过直接向数据库查询等待时间会较漫长,无法快速的输出结果。本发明较佳实施例通过构建Elasticsearch分布式搜索引擎作为模糊二级缓存,进行快速匹配,将查询的数据结果返回给所述用户。其中,由于所述Elasticsearch是面向文档型数据库,本发明通过JSON作为所述Elasticsearch分布式搜索引擎的文档序列化的格式,并通过Java API或者HTTP的Restful API接口实现交互,为所述Elasticsearch分布式搜索引擎提供强大的搜索功能。
进一步地,本发明中进行模糊数据查询的具体实施步骤为:将用户输入的查询命令数据表示为JSON格式的文档,并对所述文档建立倒排索引,通过所述倒排索引对所述模糊二级缓存的目标文档数据id进行搜索,完成所述模糊数据的查询。
S5、接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
本发明较佳实施例采用本地进程内缓存优先的策略对所述客户端输入的查询命令进行数据的读取,即优先根据所述一级缓存对所述查询命令进行数据查询,当所查询的数据属于高频数据时,直接将查询结果返回给所述客户端,不再向所述普通二级缓存以及模糊二级缓存中读取数据;当所查询的数据属于普通数据时,所述一级缓存查询不到数据,直接向所述普通二级缓存进行查询,并将查询结果返回给所述客户端,并定期更新所述普通二级缓存中的高频数据,将更新后的所述普通二级缓存高频数据输入至素哟书一级缓存中;当所查询的数据属于模糊数据时,直接向所述模糊二级缓存进行查询,并将插叙的结果返回至所述客户端中。本发明通过建立的本地进程内外的缓存可以支持秒杀等互联网活动每秒上亿次的访问、节省了向数据库读取数据的时间以及减少了高并发的数据对数据库的压力。
发明还提供一种二级缓存装置。参照图2所示,为本发明一实施例提供的二级缓存装置的内部结构示意图。
在本实施例中,所述二级缓存装置1可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。该二级缓存装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是二级缓存装置1的内部存储单元,例如该二级缓存装置1的硬盘。存储器11在另一些实施例中也可以是二级缓存装置1的外部存储设备,例如二级缓存装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括二级缓存装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于二级缓存装置1的应用软件及各类数据,例如二级缓存程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行二级缓存程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在二级缓存装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及二级缓存程序01的二级缓存装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对二级缓存装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有二级缓存程序01;处理器12执行存储器11中存储的二级缓存程序01时实现如下步骤:
步骤一、获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据。
本发明较佳实施例通过爬虫技术从网页中进行爬取,得到所述原始数据集。其中,所述爬虫指的是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。详细地,本发明通过创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
本发明较佳实施例中,所述预设的规则为用户对数据的敏感程度,根据所述用户对数据的敏感程度将所述原始数据集进行划分为所述高频数据、普通数据以及模糊数据。其中,所述高频数据通常指的是更新时间间隔较短的数据,例如股票价格、外汇价格以及成交量等;所述普通数据通常指的是大量的基础资料或日志,例如,中国平安的员工信息、交易信息等;所述模糊数据通常指的是数据具有不完全性、不确定性、模糊性,例如车型数据,银行列表数据等。
步骤二、创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据。
所述进程指的是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。本发明较佳实施例通过在本地进程内搭建Caffeine缓存,用于存储和查询所述高频数据,并将所述Caffeine缓存作为本地进程内的一级缓存。进一步地,由于所述高频数据具有数据量少、使用频繁等特点,当客户端程序需要查询一个高频数据时,例如汇率,产品等,通过直接访问本地缓存,输出查询结果,可以节省从数据库读取时间,从而减少高迸发对数据库的压力。
进一步地,所述Caffeine缓存指的是一个高性能的Java缓存库。其中,本发明通过所述一级缓存查询所述高频数据的具体实施步骤为:记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。所述缓存最佳命中率指的是通过所述一级缓存直接可以得到所述用户需求数据的概率。详细地,本发明中所述数据缓存最佳命中率通过W-TinyLFU计算得到,所述W-TinyLFU结合了LRU和LFU算法的特点,其中,所述LFU核心思想为:如果数据过去被访问多次,那么将来被访问的频率也更高,所述LRU核心思想是:如果数据最近被访问过,那么将来被访问的几率也更高。优选地,本发明通过统计频率算法(Count-Min Sketch)记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。所述Hash算法相当于long[][]二维数组的一个概念,其中,所述Hash处理为:当数据A和数据B经过计算得到的Hash值概率相同时,此时经过访问数据时,所述数据A之前访问的频率是1万次时,所述数据B在访问时其频率就会变成一万零一次,实际上所述数据B仅访问了一次,因此,本发明通过建立多种Hash算法,当第一个Hash算法中所述数据A与所述数据B发生冲突,在第二次、第三次和第四次所述数据A和所述数据B冲突的概率就很小,预设一个算法中有1%的冲突,则四个算法中冲突的概率为1%的四次方,这样就大大降低了数据之间的冲突概率。从而可以精确的计算出所述访问数据的最佳命中率。
进一步地,本发明还包括通过时间轮对所述访问数据进行定时淘汰处理,所述时间轮指的是高效的处理定时任务的结构,通过CacheLodaer方法进行同步构建刷新所述访问数据,通过buildAsync方法进行异步构建刷新所述访问数据。
步骤三、搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据。
所述Redis是一个开源的、基于内存或持久化、可网络交互、Key-Value的存储数据库。当数据并不是经常被查询且数据量大时,此时上述创建的一级缓存并不能满足需求,而如果直接向数据库进行访问的话,可能会出现数据库连接异常的情况,因此,本发明通过在本地进程外创建Redis分布式缓存,作为普通二级缓存,用于存储和查询所述普通数据。进一步地,所述普通二级缓存支持存储多种的数据类型,例如:string(字符串)、list(链表)、set(集合)、zset(有序集合)、hasp(哈希表)。
进一步地,本发明还包括通过语句追加文件方式(Appendonly file,AOF)对所述普通二级缓存中丢失的普通数据进行恢复。详细地,本发明利用通过在所述普通二级缓存中将所述普通数据的变更指令追加在所述AOF中,当重启所述普通二级缓存时,读取所述AOF中的变更指令并且按照记录顺序执行一遍,进行查询是否有丢失的普通数据,并对查询到已丢失的普通数据进行开启重写机制,从而完成丢失数据的恢复。
进一步地,本发明实施例还包括通过定期删除+惰性删除以及内存淘汰机制对所述普通二级缓存中的普通数据进行移除,用于保证所述普通二级缓存的高效和时效性。所述定期删除+惰性删除指的是通过在所述普通二级缓存中预设一定的时间检查是否有过期的普通数据,当有过期数据则删除,优选地,本发明中,所述预设的时间为100ms;所述内存淘汰机制指的是通过配置淘汰策略进行移除所述普通数据,优选地,本发明中,所述配置淘汰策略为配置allkeys-lru,即缓存不足以容纳新写入数据时,在键空间中,移除最近最少使用的数据。
步骤四、构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据。
所述Elasticsearch分布式搜索引擎是一个实时分析的分布式搜索引擎,用于分布式实时文件存储,通过将用户的查询命令中每一个字段编入索引,使所述每一个字段可以被搜索,同时所述Elasticsearch分布式搜索引擎可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
本发明较佳实施例中,当用户需要查询的数据为模糊数据时,此时,通过直接向数据库查询等待时间会较漫长,无法快速的输出结果。本发明较佳实施例通过构建Elasticsearch分布式搜索引擎作为模糊二级缓存,进行快速匹配,将查询的数据结果返回给所述用户。其中,由于所述Elasticsearch是面向文档型数据库,本发明通过JSON作为所述Elasticsearch分布式搜索引擎的文档序列化的格式,并通过Java API或者HTTP的Restful API接口实现交互,为所述Elasticsearch分布式搜索引擎提供强大的搜索功能。
进一步地,本发明中进行模糊数据查询的具体实施步骤为:将用户输入的查询命令数据表示为JSON格式的文档,并对所述文档建立倒排索引,通过所述倒排索引对所述模糊二级缓存的目标文档数据id进行搜索,完成所述模糊数据的查询。
步骤五、接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
本发明较佳实施例采用本地进程内缓存优先的策略对所述客户端输入的查询命令进行数据的读取,即优先根据所述一级缓存对所述查询命令进行数据查询,当所查询的数据属于高频数据时,直接将查询结果返回给所述客户端,不再向所述普通二级缓存以及模糊二级缓存中读取数据;当所查询的数据属于普通数据时,所述一级缓存查询不到数据,直接向所述普通二级缓存进行查询,并将查询结果返回给所述客户端,并定期更新所述普通二级缓存中的高频数据,将更新后的所述普通二级缓存高频数据输入至素哟书一级缓存中;当所查询的数据属于模糊数据时,直接向所述模糊二级缓存进行查询,并将插叙的结果返回至所述客户端中。本发明通过建立的本地进程内外的缓存可以支持秒杀等互联网活动每秒上亿次的访问、节省了向数据库读取数据的时间以及减少了高并发的数据对数据库的压力。
可选地,在其他实施例中,二级缓存程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述二级缓存程序在二级缓存装置中的执行过程。
例如,参照图3所示,为本发明二级缓存装置一实施例中的二级缓存程序的程序模块示意图,该实施例中,所述二级缓存程序可以被分割为数据划分模块10、一级缓存创建模块20、二级缓存创建模块30以及查询模块40,示例性地:
所述数据划分模块10用于:获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据。
所述一级缓存创建模块20用于创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据。
所述二级缓存创建模块30用于:搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据,构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据。
所述查询模块40用于:接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
上述数据划分模块10、一级缓存创建模块20、二级缓存创建模块30以及查询模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有二级缓存程序,所述二级缓存程序可被一个或多个处理器执行,以实现如下操作:
获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据;
创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据;
搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据;
构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据;
接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
本发明计算机可读存储介质具体实施方式与上述二级缓存装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种二级缓存方法,其特征在于,所述方法包括:
获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据;
创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据;
搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据;
构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据;
接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
2.如权利要求1所述的二级缓存方法,其特征在于,所述获取从网页中得到的原始数据集,包括:
创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
3.如权利要求1所述的二级缓存方法,其特征在于,所述本地进程内的Caffeine缓存为Java缓存库,及所述通过所述一级缓存查询所述高频数据包括:
记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。
4.如权利要求3所述的二级缓存方法,其特征在于,所述记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,包括:
通过统计频率算法记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。
5.如权利要求1所述的二级缓存方法,其特征在于,所述通过所述模糊二级缓存查询所述模糊数据,包括:
将用户输入的查询命令数据表示为JSON格式的文档,并对所述文档建立倒排索引,通过所述倒排索引对所述模糊二级缓存的目标文档数据id进行搜索,完成所述模糊数据的查询。
6.一种二级缓存装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的二级缓存程序,所述二级缓存程序被所述处理器执行时实现如下步骤:
获取从网页中得到的原始数据集,并按预设的规则将所述原始数据集划分为高频数据、普通数据以及模糊数据;
创建本地进程内的Caffeine缓存,将所述Caffeine缓存作为一级缓存,并将所述高频数据存入所述一级缓存中,通过所述一级缓存查询所述高频数据;
搭建本地进程外的Redis分布式缓存,将所述Redis分布式缓存作为普通二级缓存,并将所述普通数据存入所述普通二级缓存中,通过所述普通二级缓存查询所述普通数据;
构建本地进程外的Elasticsearch分布式搜索引擎,将所述Elasticsearch分布式搜索引擎作为模糊二级缓存,并将所述模糊数据存入所述模糊二级缓存中,通过所述模糊二级缓存查询所述模糊数据;
接收客户端输入的查询命令,根据所述一级缓存、普通二级缓存以及模糊二级缓存对所述查询命令进行数据的查询,并将查询的结果返回给所述客户端。
7.如权利要求6所述的二级缓存装置,其特征在于,所述获取从网页中得到的原始数据集,包括:
创建URL队列,读取所述URL队列内的IP地址,基于HTTP通信协议下载所述IP地址指定的网页数据,并对所述网页数据进行分析得到所述原始数据集。
8.如权利要求6所述的二级缓存装置,其特征在于,所述本地进程内的Caffeine缓存为Java缓存库,及所述通过所述一级缓存查询所述高频数据包括:
记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,得到所述一级缓存中被查询的高频数据概率,完成所述高频数据的查询。
9.如权利要求8所述的二级缓存装置,其特征在于,所述记录用户输入的查询命令数据频率,计算出所述用户输入的查询命令数据的缓存最佳命中率,包括:
通过统计频率算法记录所述用户输入的查询命令数据频率,并利用Hash算法对所述查询命令数据进行Hash处理,得到所述访问数据的缓存最佳命中率。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有二级缓存程序,所述二级缓存程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的二级缓存方法的步骤。
CN201910868098.5A 2019-09-09 2019-09-09 二级缓存方法、装置及计算机可读存储介质 Active CN110674432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910868098.5A CN110674432B (zh) 2019-09-09 2019-09-09 二级缓存方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910868098.5A CN110674432B (zh) 2019-09-09 2019-09-09 二级缓存方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110674432A true CN110674432A (zh) 2020-01-10
CN110674432B CN110674432B (zh) 2023-11-21

Family

ID=69076795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910868098.5A Active CN110674432B (zh) 2019-09-09 2019-09-09 二级缓存方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110674432B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111125261A (zh) * 2020-03-31 2020-05-08 四川新网银行股份有限公司 基于分布式缓存的数据传输方法
CN111291083A (zh) * 2020-01-22 2020-06-16 奇安信科技集团股份有限公司 网页源码数据处理方法、装置及计算机设备
CN111464615A (zh) * 2020-03-30 2020-07-28 北京达佳互联信息技术有限公司 请求处理方法、装置、服务器及存储介质
CN111813573A (zh) * 2020-06-29 2020-10-23 中国平安人寿保险股份有限公司 管理平台与机器人软件的通信方法及其相关设备
CN111897819A (zh) * 2020-07-31 2020-11-06 平安普惠企业管理有限公司 数据存储方法、装置、电子设备及存储介质
CN111897780A (zh) * 2020-07-27 2020-11-06 百望股份有限公司 一种ofd文档的处理方法
CN112148387A (zh) * 2020-10-14 2020-12-29 中国平安人寿保险股份有限公司 预加载反馈信息的方法、装置、计算机设备及存储介质
CN112637305A (zh) * 2020-12-16 2021-04-09 平安消费金融有限公司 一种基于缓存的数据存储与查询方法、装置、设备及介质
CN112769891A (zh) * 2020-12-11 2021-05-07 国汽(北京)智能网联汽车研究院有限公司 一种边缘云系统、服务器及云控平台
CN113596177A (zh) * 2021-08-13 2021-11-02 四川虹美智能科技有限公司 智能家居设备的ip地址的解析方法和装置
CN113779453A (zh) * 2021-01-06 2021-12-10 北京沃东天骏信息技术有限公司 缓存更新方法和装置
CN113840020A (zh) * 2021-09-28 2021-12-24 中国联合网络通信集团有限公司 基于ip地址信息的定位方法、装置、电子设备和存储介质
CN113946591A (zh) * 2021-12-20 2022-01-18 北京力控元通科技有限公司 一种热点数据缓存方法、系统及电子设备
CN115934583A (zh) * 2022-11-16 2023-04-07 智慧星光(安徽)科技有限公司 分级缓存方法、装置及系统
CN116049223A (zh) * 2023-02-16 2023-05-02 北京万里开源软件有限公司 一种MySQL协议数据库数据对比方法及系统
CN116610680A (zh) * 2023-07-20 2023-08-18 上海富友支付服务股份有限公司 高频库和使用高频库的数据分级存储和查询方法和系统
CN117215755A (zh) * 2023-11-07 2023-12-12 西安博达软件股份有限公司 一种基于时间轮算法的预约事件任务调度方法及系统
CN117251383A (zh) * 2023-11-17 2023-12-19 深圳开源互联网安全技术有限公司 基于缓存的软件成分检测方法、装置、设备及存储介质
CN118132598A (zh) * 2024-05-07 2024-06-04 深圳九有数据库有限公司 基于多级缓存的数据库数据处理方法及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930054A (zh) * 2012-11-19 2013-02-13 北京奇虎科技有限公司 数据搜索方法及系统
US20180039691A1 (en) * 2016-08-04 2018-02-08 Facebook, Inc. Client-Side Caching of Search Keywords for Online Social Networks
CN109308268A (zh) * 2017-07-27 2019-02-05 中车株洲电力机车研究所有限公司 一种高速数据缓存装置及方法
CN109446222A (zh) * 2018-08-28 2019-03-08 厦门快商通信息技术有限公司 一种双缓存的数据存储方法、装置及存储介质
CN109871367A (zh) * 2019-02-28 2019-06-11 江苏实达迪美数据处理有限公司 一种基于Redis和HBase的分布式冷热数据分离方法
CN109947668A (zh) * 2017-12-21 2019-06-28 北京京东尚科信息技术有限公司 存储数据的方法和装置
CN110019361A (zh) * 2017-10-30 2019-07-16 北京国双科技有限公司 一种数据的缓存方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102930054A (zh) * 2012-11-19 2013-02-13 北京奇虎科技有限公司 数据搜索方法及系统
US20180039691A1 (en) * 2016-08-04 2018-02-08 Facebook, Inc. Client-Side Caching of Search Keywords for Online Social Networks
CN109308268A (zh) * 2017-07-27 2019-02-05 中车株洲电力机车研究所有限公司 一种高速数据缓存装置及方法
CN110019361A (zh) * 2017-10-30 2019-07-16 北京国双科技有限公司 一种数据的缓存方法及装置
CN109947668A (zh) * 2017-12-21 2019-06-28 北京京东尚科信息技术有限公司 存储数据的方法和装置
CN109446222A (zh) * 2018-08-28 2019-03-08 厦门快商通信息技术有限公司 一种双缓存的数据存储方法、装置及存储介质
CN109871367A (zh) * 2019-02-28 2019-06-11 江苏实达迪美数据处理有限公司 一种基于Redis和HBase的分布式冷热数据分离方法

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111291083A (zh) * 2020-01-22 2020-06-16 奇安信科技集团股份有限公司 网页源码数据处理方法、装置及计算机设备
CN111291083B (zh) * 2020-01-22 2024-02-06 奇安信科技集团股份有限公司 网页源码数据处理方法、装置及计算机设备
CN111464615A (zh) * 2020-03-30 2020-07-28 北京达佳互联信息技术有限公司 请求处理方法、装置、服务器及存储介质
CN111464615B (zh) * 2020-03-30 2023-06-20 北京达佳互联信息技术有限公司 请求处理方法、装置、服务器及存储介质
CN111125261B (zh) * 2020-03-31 2020-09-29 四川新网银行股份有限公司 基于分布式缓存的数据传输方法
CN111125261A (zh) * 2020-03-31 2020-05-08 四川新网银行股份有限公司 基于分布式缓存的数据传输方法
CN111813573B (zh) * 2020-06-29 2022-09-20 中国平安人寿保险股份有限公司 管理平台与机器人软件的通信方法及其相关设备
CN111813573A (zh) * 2020-06-29 2020-10-23 中国平安人寿保险股份有限公司 管理平台与机器人软件的通信方法及其相关设备
CN111897780A (zh) * 2020-07-27 2020-11-06 百望股份有限公司 一种ofd文档的处理方法
CN111897819A (zh) * 2020-07-31 2020-11-06 平安普惠企业管理有限公司 数据存储方法、装置、电子设备及存储介质
CN112148387A (zh) * 2020-10-14 2020-12-29 中国平安人寿保险股份有限公司 预加载反馈信息的方法、装置、计算机设备及存储介质
CN112769891B (zh) * 2020-12-11 2023-07-14 国汽(北京)智能网联汽车研究院有限公司 一种边缘云系统、服务器及云控平台
CN112769891A (zh) * 2020-12-11 2021-05-07 国汽(北京)智能网联汽车研究院有限公司 一种边缘云系统、服务器及云控平台
CN112637305B (zh) * 2020-12-16 2023-05-02 平安消费金融有限公司 一种基于缓存的数据存储与查询方法、装置、设备及介质
CN112637305A (zh) * 2020-12-16 2021-04-09 平安消费金融有限公司 一种基于缓存的数据存储与查询方法、装置、设备及介质
CN113779453A (zh) * 2021-01-06 2021-12-10 北京沃东天骏信息技术有限公司 缓存更新方法和装置
CN113596177A (zh) * 2021-08-13 2021-11-02 四川虹美智能科技有限公司 智能家居设备的ip地址的解析方法和装置
CN113596177B (zh) * 2021-08-13 2023-06-27 四川虹美智能科技有限公司 智能家居设备的ip地址的解析方法和装置
CN113840020A (zh) * 2021-09-28 2021-12-24 中国联合网络通信集团有限公司 基于ip地址信息的定位方法、装置、电子设备和存储介质
CN113840020B (zh) * 2021-09-28 2023-06-02 中国联合网络通信集团有限公司 基于ip地址信息的定位方法、装置、电子设备和存储介质
CN113946591A (zh) * 2021-12-20 2022-01-18 北京力控元通科技有限公司 一种热点数据缓存方法、系统及电子设备
CN115934583A (zh) * 2022-11-16 2023-04-07 智慧星光(安徽)科技有限公司 分级缓存方法、装置及系统
CN116049223A (zh) * 2023-02-16 2023-05-02 北京万里开源软件有限公司 一种MySQL协议数据库数据对比方法及系统
CN116610680A (zh) * 2023-07-20 2023-08-18 上海富友支付服务股份有限公司 高频库和使用高频库的数据分级存储和查询方法和系统
CN116610680B (zh) * 2023-07-20 2023-10-13 上海富友支付服务股份有限公司 高频库和使用高频库的数据分级存储和查询方法和系统
CN117215755A (zh) * 2023-11-07 2023-12-12 西安博达软件股份有限公司 一种基于时间轮算法的预约事件任务调度方法及系统
CN117215755B (zh) * 2023-11-07 2024-02-06 西安博达软件股份有限公司 一种基于时间轮算法的预约事件任务调度方法及系统
CN117251383A (zh) * 2023-11-17 2023-12-19 深圳开源互联网安全技术有限公司 基于缓存的软件成分检测方法、装置、设备及存储介质
CN117251383B (zh) * 2023-11-17 2024-03-22 深圳开源互联网安全技术有限公司 基于缓存的软件成分检测方法、装置、设备及存储介质
CN118132598A (zh) * 2024-05-07 2024-06-04 深圳九有数据库有限公司 基于多级缓存的数据库数据处理方法及设备

Also Published As

Publication number Publication date
CN110674432B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN110674432B (zh) 二级缓存方法、装置及计算机可读存储介质
CN110909025A (zh) 数据库的查询方法、查询装置及终端
CN102937980A (zh) 一种集群数据库数据查询方法
CN109344197B (zh) 基于大数据的分页下载方法和装置
US8812489B2 (en) Swapping expected and candidate affinities in a query plan cache
CN101216840A (zh) 一种数据查询方法和一种数据查询系统
CN106528847A (zh) 一种海量数据的多维度处理方法及系统
CN112015820A (zh) 分布式图数据库实现的方法、系统、电子装置和存储介质
US20200142674A1 (en) Extracting web api endpoint data from source code
CN111400578B (zh) 货物数据查询方法、装置、计算机设备和存储介质
CN102968456B (zh) 一种栅格数据读取处理方法和装置
CN108446329B (zh) 面向工业时序数据库的自适应数据库分区方法及系统
CN111475704A (zh) 域名智能解析方法、装置及计算机可读存储介质
CN107451203B (zh) 数据库访问方法及装置
CN105574010B (zh) 数据查询方法及装置
Hurst et al. Social streams blog crawler
US11947490B2 (en) Index generation and use with indeterminate ingestion patterns
US9442948B2 (en) Resource-specific control blocks for database cache
JP5084895B2 (ja) テキストデータ読出装置、方法及びプログラム
US12019631B1 (en) Systems and methods for reducing computational resource usage in a query-based data access system via a repeated query results repository
CN106991174A (zh) 一种Smart Rack系统数据库的优化方法
US11966393B2 (en) Adaptive data prefetch
CN115878924B (zh) 一种基于双字典树数据处理方法、装置、介质及电子设备
EP3910489A1 (en) A data management system using attributed data slices
CN117827888A (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