CN106126536A - 一种数据缓存的自动选择方法及系统 - Google Patents

一种数据缓存的自动选择方法及系统 Download PDF

Info

Publication number
CN106126536A
CN106126536A CN201610423449.8A CN201610423449A CN106126536A CN 106126536 A CN106126536 A CN 106126536A CN 201610423449 A CN201610423449 A CN 201610423449A CN 106126536 A CN106126536 A CN 106126536A
Authority
CN
China
Prior art keywords
request
caching
data
module
cache
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
CN201610423449.8A
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.)
Beijing Pierre Blaney Software Co Ltd
Original Assignee
Beijing Pierre Blaney Software 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 Beijing Pierre Blaney Software Co Ltd filed Critical Beijing Pierre Blaney Software Co Ltd
Priority to CN201610423449.8A priority Critical patent/CN106126536A/zh
Publication of CN106126536A publication Critical patent/CN106126536A/zh
Pending legal-status Critical Current

Links

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据缓存的自动选择方法及系统,涉及数据处理领域。所述方法:获取任意一个应用软件发出的请求,并根据请求数据判断请求数据是否需要缓存,如果否,则直接从内存中直接寻找并存储请求数据到缓存中;如果是,则根据请求数据的缓存值判断缓存类型;如果是本地缓存,则本地服务器集群接收到请求数据后,处理用户请求,并将请求的数据响应输出到缓存系统;如果是分布式缓存,则分布式缓存集群接收到请求数据后,通过独立服务将请求的数据响应输出到缓存系统。所述系统包括:接收模块、第一判断模块、计算模块、判断模块和指令模块。本发明实现了在开发的过程中不用显示指定使用缓存,减少开发人员对于缓存的选择。

Description

一种数据缓存的自动选择方法及系统
技术领域
本发明涉及数据处理领域,尤其涉及一种数据缓存的自动选择方法及系统。
背景技术
随着计算机网络快速的进入各行各业,网络化管理已成为趋势,数据量的请求使的系统瓶颈越来越凸显,缓存技术就成为了必然之选,但由于有太多的缓存服务器提供组件,导致软件开发人员不知道如何合理的去选择用什么样的缓存服务。
现有的很多系统中只存在一种缓存,这种方式存在单点故障的风险,而,若存在多种缓存且在系统中各自独立,则需要开发人员手动选择缓存方式,这种方法很繁琐且顾虑较多。同时,这种方式增加了开发人员的负担,并且系统的耦合性太高,不利于后期维护。
发明内容
本发明的目的在于提供一种数据缓存的自动选择方法及系统,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明所述数据缓存的自动选择方法,所述方法包括:
S1,获取任意一个应用软件发出的请求,并根据请求中携带的请求数据判断所述请求数据是否需要缓存,如果否,则直接从内存中直接寻找并存储请求数据到缓存中;如果是,则进入S2;
S2,根据所述请求数据的缓存值判断缓存类型;如果是本地缓存,则进入S3;如果是分布式缓存,则进入S4;
S3,本地服务器集群接收到请求数据后,处理用户请求,并将请求的数据进行响应输出到缓存系统;
S4,分布式缓存集群接收到请求数据后,通过独立服务将请求的数据进行响应输出到缓存系统。
优选地,步骤S2,具体按照下述步骤实现:获取所述请求数据的缓存值,并判断所述缓存值大小与预先设定的阈值之间的关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存。
优选地,步骤S2,还可以按照下述步骤实现:根据发送所述请求的系统配置判断缓存类型,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存,进入S3;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存;进入S4。
优选地,所述分布式缓存集群为REIDIS服务器。
优选地,本地服务器集群或分布式缓存集群缓存完数据后,将与所述缓存数据存在一一映射的钥匙和缓存方法保存到缓存系统。
优选地,步骤S4具体按照下述步骤实现:分布式缓存集群接收到请求数据后,判断所述请求数据的缓存方式是符合分布式缓存,如果是,则独立服务将请求的数据进行响应输出到缓存系统;如果否,则发出提示消息。
本发明所述实现数据缓存的自动选择方法的系统,所述系统包括:接收模块、第一判断模块、计算模块、判断模块和指令模块;
接收模块:负责接收应用软件发出的请求;
第一判断模块:从接收模块中接收所述请求,并计算所述请求中要求访问的数据是否需要缓存,并将需要缓存的请求发送给计算模块;
计算模块:计算请求中要求访问的数据的缓存值;
第二判断模块:判断计算模块计算的缓存值与预先设置的阈值关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存,然后将结果发送给指令模块;
第三判断模块:获取发送所述请求的系统配置,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存,然后将结果发送给指令模块;
所述指令模块,从第二判断模块或第三判断模块接收到指令后将请求发送到本地服务器集群或分布式缓存集群。
优选地,所述本地服务器集群为WEB服务器集群,负责处理用户请求,并将请求内容进行响应输出缓存系统。
优选地,所述分布式缓存集群为REIDIS服务器,负责处理用户请求,并将请求内容进行响应输出缓存系统。
本发明的有益效果是:
本发明所述系统自动根据计算因子判断使用哪种缓存类型(包括本地服务器缓存和分布式缓存),分布式缓存包括但不限于redis,使在开发的过程中不用显示指定使用缓存,减少开发人员对于缓存的选择,使开发人员不用拘泥于基础实现的方案上,而集中精力做业务逻辑的处理的工作中。
附图说明
图1是数据缓存的自动选择方法的流程示意图;
图2是应用软件、代理服务器、web应用服务器和分布式服务器之间的关联关系示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
参照图1,本实施例所述数据缓存的自动选择方法,所述方法包括:
S1,获取任意一个应用软件发出的请求,并根据请求中携带的请求数据判断所述请求数据是否需要缓存,如果否,则直接从内存中直接寻找并存储请求数据到缓存中;如果是,则进入S2;
S2,根据所述请求数据的缓存值判断缓存类型;如果是本地缓存,则进入S3;如果是分布式缓存,则进入S4;
S3,本地服务器集群接收到请求数据后,处理用户请求,并将请求的数据进行响应输出到缓存系统;
S4,分布式缓存集群接收到请求数据后,通过独立服务将请求的数据进行响应输出到缓存系统。
更详细的解释说明为:步骤S2,具体按照下述步骤实现:获取所述请求数据的缓存值,并判断所述缓存值大小与预先设定的阈值之间的关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存。
(二)步骤S2,还可以按照下述步骤实现:根据发送所述请求的系统配置判断缓存类型,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存,进入S3;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存;进入S4。
(三)本地服务器集群或分布式缓存集群缓存完数据后,将与所述缓存数据存在一一映射的钥匙和缓存方法保存到缓存系统。
所述分布式缓存集群包括但不限于为REIDIS服务器,分布式缓存集群中的服务器快速存取,提到系统的稳定和流畅性。
(四)步骤S4具体按照下述步骤实现:分布式缓存集群接收到请求数据后,判断所述请求数据的缓存方式是符合分布式缓存,如果是,则独立服务将请求的数据进行响应输出到缓存系统;如果否,则发出提示消息。
本实施例所述实现所述数据缓存的自动选择方法的系统,所述系统包括:接收模块、第一判断模块、计算模块、判断模块和指令模块;
接收模块:负责接收应用软件发出的请求;
第一判断模块:从接收模块中接收所述请求,并计算所述请求中要求访问的数据是否需要缓存,并将需要缓存的请求发送给计算模块;
计算模块:计算请求中要求访问的数据的缓存值;
第二判断模块:判断计算模块计算的缓存值与预先设置的阈值关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存,然后将结果发送给指令模块;
第三判断模块:获取发送所述请求的系统配置,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存,然后将结果发送给指令模块;
所述指令模块,从第二判断模块或第三判断模块接收到指令后将请求发送到本地服务器集群或分布式缓存集群。
所述本地服务器集群为WEB服务器集群,负责处理用户请求,并将请求内容进行响应输出缓存系统。所述分布式缓存集群为REIDIS服务器,负责处理用户请求,并将请求内容进行响应输出缓存系统。
应用软件与本地服务器集群通过代理服务器通信连接,所述代理服务器提供数据接口,处理每日所有用户访问网站希望获取到的服务器数据内容,这些数据都会通过不同程度的缓存处理来提高系统响应性能。所述代理服务器为CDN等代码服务器。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:本发明所述系统自动根据计算因子判断使用哪种缓存类型(包括本地服务器缓存和分布式缓存),分布式缓存包括但不限于redis,使在开发的过程中不用显示的指定使用缓存,减少开发人员对于缓存的选择,使用开发人员不用拘泥于基础实现的方案上,而集中精力做业务逻辑的处理的工作中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (9)

1.一种数据缓存的自动选择方法,其特征在于,所述方法包括:
S1,获取任意一个应用软件发出的请求,并根据请求中携带的请求数据判断所述请求数据是否需要缓存,如果否,则直接从内存中直接寻找并存储请求数据到缓存中;如果是,则进入S2;
S2,根据所述请求数据的缓存值判断缓存类型;如果是本地缓存,则进入S3;如果是分布式缓存,则进入S4;
S3,本地服务器集群接收到请求数据后,处理用户请求,并将请求的数据进行响应输出到缓存系统;
S4,分布式缓存集群接收到请求数据后,通过独立服务将请求的数据进行响应输出到缓存系统。
2.根据权利要求1所述数据缓存的自动选择方法,其特征在于,步骤S2,具体按照下述步骤实现:
获取所述请求数据的缓存值,并判断所述缓存值大小与预先设定的阈值之间的关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存。
3.根据权利要求1所述数据缓存的自动选择方法,其特征在于,步骤S2,还可以按照下述步骤实现:根据发送所述请求的系统配置判断缓存类型,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存,进入S3;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存;进入S4。
4.根据权利要求1所述数据缓存的自动选择方法,其特征在于,所述分布式缓存集群为REIDIS服务器。
5.根据权利要求1所述数据缓存的自动选择方法,其特征在于,本地服务器集群或分布式缓存集群缓存完数据后,将与所述缓存数据存在一一映射的钥匙和缓存方法保存到缓存系统。
6.根据权利要求1所述数据缓存的自动选择方法,其特征在于,步骤S4具体按照下述步骤实现:
分布式缓存集群接收到请求数据后,判断所述请求数据的缓存方式是符合分布式缓存,如果是,则独立服务将请求的数据进行响应输出到缓存系统;如果否,则发出提示消息。
7.一种实现如权利要求1至6任意一项所述数据缓存的自动选择方法的系统,其特征在于,所述系统包括:接收模块、第一判断模块、计算模块、判断模块和指令模块;
接收模块:负责接收应用软件发出的请求;
第一判断模块:从接收模块中接收所述请求,并计算所述请求中要求访问的数据是否需要缓存,并将需要缓存的请求发送给计算模块;
计算模块:计算请求中要求访问的数据的缓存值;
第二判断模块:判断计算模块计算的缓存值与预先设置的阈值关系,如果缓存值大小小于等于预先设定的阈值,则选择本地缓存;如果缓存值大小大于预先设定的阈值,则选择分布式缓存,然后将结果发送给指令模块;
第三判断模块:获取发送所述请求的系统配置,如果所述系统配置符合本地缓存的配置阈值,则选择本地缓存;如果所述系统配置符合分布式缓存的配置阈值,则选择分布式缓存,然后将结果发送给指令模块;
所述指令模块,从第二判断模块或第三判断模块接收到指令后将请求发送到本地服务器集群或分布式缓存集群。
8.根据权利要求7所述系统,其特征在于,所述本地服务器集群为WEB服务器集群,负责处理用户请求,并将请求内容进行响应输出缓存系统。
9.根据权利要求7所述系统,其特征在于,所述分布式缓存集群为REIDIS服务器,负责处理用户请求,并将请求内容进行响应输出缓存系统。
CN201610423449.8A 2016-06-15 2016-06-15 一种数据缓存的自动选择方法及系统 Pending CN106126536A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610423449.8A CN106126536A (zh) 2016-06-15 2016-06-15 一种数据缓存的自动选择方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610423449.8A CN106126536A (zh) 2016-06-15 2016-06-15 一种数据缓存的自动选择方法及系统

Publications (1)

Publication Number Publication Date
CN106126536A true CN106126536A (zh) 2016-11-16

Family

ID=57270913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610423449.8A Pending CN106126536A (zh) 2016-06-15 2016-06-15 一种数据缓存的自动选择方法及系统

Country Status (1)

Country Link
CN (1) CN106126536A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071059A (zh) * 2017-05-25 2017-08-18 腾讯科技(深圳)有限公司 分布式缓存服务实现方法、装置、终端、服务器及系统
CN108958922A (zh) * 2017-05-17 2018-12-07 北京京东尚科信息技术有限公司 用于执行任务的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763390A (zh) * 2008-12-24 2010-06-30 北京大学深圳研究生院 基于Berkeley DB的数据库存储系统及方法
CN104142937A (zh) * 2013-05-07 2014-11-12 深圳中兴网信科技有限公司 一种分布式数据存取方法、装置和系统
CN104657143A (zh) * 2015-02-12 2015-05-27 中復保有限公司 高性能数据缓存方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763390A (zh) * 2008-12-24 2010-06-30 北京大学深圳研究生院 基于Berkeley DB的数据库存储系统及方法
CN104142937A (zh) * 2013-05-07 2014-11-12 深圳中兴网信科技有限公司 一种分布式数据存取方法、装置和系统
CN104657143A (zh) * 2015-02-12 2015-05-27 中復保有限公司 高性能数据缓存方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958922A (zh) * 2017-05-17 2018-12-07 北京京东尚科信息技术有限公司 用于执行任务的方法和装置
CN108958922B (zh) * 2017-05-17 2022-01-07 北京京东尚科信息技术有限公司 用于执行任务的方法和装置
CN107071059A (zh) * 2017-05-25 2017-08-18 腾讯科技(深圳)有限公司 分布式缓存服务实现方法、装置、终端、服务器及系统

Similar Documents

Publication Publication Date Title
US20210329090A1 (en) Scheduling of Application Preloading in User Devices
US9888470B2 (en) Network accelerator for controlled long delay links
WO2016015582A1 (zh) 传输报文的方法、装置和系统
CN104348647B (zh) 多源带宽调度方法、装置及系统
CN104580393A (zh) 用于服务器集群系统的扩容方法、装置及服务器集群系统
CN113472852B (zh) 一种cdn节点的回源方法、装置、设备以及存储介质
CN102394880B (zh) 内容分发网络中的跳转响应处理方法和设备
CN103607424B (zh) 一种服务器连接方法及服务器系统
CN102624922A (zh) 一种网络gis异构集群服务器负载均衡方法
JP2017509074A (ja) 動的キャッシュ割当およびネットワーク管理
CN106991008B (zh) 一种资源锁管理方法、相关设备及系统
CN108881509A (zh) 一种基于httpdns的dns查询方法及装置
CN109327511A (zh) 一种基于http协议的数据请求方法和服务器
CN105978936A (zh) Cdn服务器及其缓存数据的方法
US20140143427A1 (en) Providing Resources in a Cloud
US20140337536A1 (en) Method and apparatus for data communication
CN106126536A (zh) 一种数据缓存的自动选择方法及系统
Peng et al. Value‐aware cache replacement in edge networks for Internet of Things
CN107733949B (zh) 一种无线接入网缓存方法及系统
CN104270371A (zh) 一种基于模糊逻辑的cdn缓存服务器选择方法
CN105025042B (zh) 一种确定数据信息的方法及系统、代理服务器
WO2018090315A1 (zh) 数据请求的处理方法及缓存系统
CN104394198A (zh) 一种基于esb的全局调度方法
CN106533760B (zh) 一种在cm网络中构建cdn系统的方法及装置
CN113472846A (zh) 消息处理方法、装置、设备和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161116