CN109656956B - 一种实现业务***数据集中式缓存的方法及装置 - Google Patents

一种实现业务***数据集中式缓存的方法及装置 Download PDF

Info

Publication number
CN109656956B
CN109656956B CN201811531069.1A CN201811531069A CN109656956B CN 109656956 B CN109656956 B CN 109656956B CN 201811531069 A CN201811531069 A CN 201811531069A CN 109656956 B CN109656956 B CN 109656956B
Authority
CN
China
Prior art keywords
data
hot spot
centralized
module
service system
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
Application number
CN201811531069.1A
Other languages
English (en)
Other versions
CN109656956A (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.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group 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 Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201811531069.1A priority Critical patent/CN109656956B/zh
Publication of CN109656956A publication Critical patent/CN109656956A/zh
Application granted granted Critical
Publication of CN109656956B publication Critical patent/CN109656956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种实现业务***数据集中式缓存的方法及装置,属于数据访问技术领域,本发明要解决的技术问题为如何实现热点数据的缓存以及缓存数据的集中式存储和管理,采用的技术方案为:一种实现业务***数据集中式缓存的方法,该方法是在服务器上增加集中式数据缓存模块和API接口,集中式数据缓存模块采用Redis开源的Key‑Value数据库来存储缓存的热点数据,同时服务器对外提供的API接口能满足HTTP、NETTY两种协议的访问,并能通过服务器对Redis开源的Key‑Value数据库存储的热点数据进行查询、更新以及删除操作,并能通过服务器的Web管理端实现可视化管理集中式数据缓存模块中的热点数据。本发明还公开了一种实现业务***数据集中式缓存的方法。

Description

一种实现业务***数据集中式缓存的方法及装置
技术领域
本发明涉及数据访问技术领域,具体地说是一种实现业务***数据集中式缓存的方法及装置。
背景技术
数据缓存,指在硬盘内部的高速存储器,在电脑中就象一块缓冲器一样将一些数据暂时性的保存起来以供读取和再读取。对于大数据缓存的硬盘在存取零散文件时具有很大的优势。目前硬盘的高速缓存一般为512KB-2MB,目前主流ATA硬盘的数据缓存为2MB,而在SCSI硬盘中最高的数据缓存现在已经达到了16MB。
随着信息技术的发展,业务***数据量的增长、用户访问量的增多,存在一些QPS(查询服务器在规定时间内所处理流量)特别高的场景,数据库一般无法直接支撑这样高的QPS的压力;为了缓解数据库与应用服务器的压力,提高***的性能和响应速度,改善用户体验,故如何实现热点数据的缓存以及缓存数据的集中式存储和管理是目前急需解决的技术问题。
专利号为CN107256235A专利文献公开了一种缓存***热点数据访问方法,包括以下步骤:S1:在redis的DS上面增加HotKey模块,默认DS启动后开启HotKey模块,用接口随时控制启停热点统计功能,热点统计功能启动后,做相关初始化;S2:将服务器识别热点的HotKey逻辑加在worker线程里,每个到达服务器的读请求首先竞争一把try锁,获取锁成功后,经历三个阶段,统计成功经过三个阶段的请求;S3:当服务器端反馈有热点产生时,客户端首先将该feedback包中的key写入local-cache,同时开启hot-running模式。但是该技术方案不能缓解数据库与应用服务器的压力,提高***的性能和响应速度,改善用户体验,不能解决如何实现热点数据的缓存以及缓存数据的集中式存储和管理的问题。
专利号为CN105681438A专利文献公开了一种内容中心网络集中式的缓存决策策略。在内容中心网络架构下,利用现有的采用SDN的框架实现信息中心网络的数据命名,内容转发,内网缓存等基本功能的研究,提出集中式的缓存决策策略。在内容中心网络中放置一个集中式的控制器,控制器根据收集所有节点请求信息,为每个节点生成一个缓存列表,确定性地“指导”每个节点缓存哪些内容,以最小化网络中的传输流量,降低用户请求延迟。但是该技术方案不能缓解数据库与应用服务器的压力,提高***的性能和响应速度,改善用户体验,不能解决如何实现热点数据的缓存以及缓存数据的集中式存储和管理的问题。
发明内容
本发明的技术任务是提供一种实现业务***数据集中式缓存的方法及装置,来解决如何实现热点数据的缓存以及缓存数据的集中式存储和管理的问题。
本发明的技术任务是按以下方式实现的,一种实现业务***数据集中式缓存的方法,该方法是在服务器上增加集中式数据缓存模块和API接口,集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据,同时服务器对外提供的API接口能满足HTTP、NETTY两种协议的访问,并能通过服务器对Redis开源的Key-Value数据库存储的热点数据进行查询、更新以及删除操作,将热点数据集中存储在集中式数据缓存模块中,实现热点数据的统一管理,并能通过服务器的Web管理端实现可视化管理集中式数据缓存模块中的热点数据。
作为优选,该方法的具体步骤如下:
S1、业务***在缓存热点数据时,根据键值生成规则生成键值;
S2、业务***调用集中式数据缓存模块提供的API接口存储需要缓存的热点数据;
S3、通过服务器为步骤S2中热点数据设置缓存的有效时间;其中,有效时间以秒为单位;
S4、业务***为集中式数据缓存模块提供缓存数据的数据类型;
S5、通过Web管理端对存储到集中式数据缓存模块中的热点数据进行查询、更新以及删除操作。本发明中的业务***是指参与建设的业务***有缓存热点数据的应用场景和业务需求。本发明的参与建设的业务***对集中式缓存有清晰的认识,集中式缓存在一定程度上确实可以一定程度上提高数据的交互速度,但是考虑到性能、成本、实时性、网络传输等方面的因素,缓存空间并不能无限大,集中式缓存服务器不能无限增加,不能所有的数据都进行缓存,需要寻求数据库交互和缓存交互之间的平衡点。
更优地,所述API接口采用Java语言开发。
更优地,所述缓存数据的数据类型包括字符串、哈希、列表、集合和有序集合。
更优地,所述键值生成规则具体如下:
①、应用编码(appCode):由集中式数据缓存模块分配,如办公***为OA,审批***为ECGAP,不可以重复;
②、业务数据主键(bizKey):由业务***提供;
③、需要存储的数据(VALUE):由业务***提供。
更优地,所述步骤S5中通过Web管理端对存储到集中式数据缓存模块中的热点数据进行查询,具体如下:通过调用API接口查询存储到集中式数据缓存模块中的缓存数据是否有业务***需要的热点数据:
①、若有,则调用业务***需要的热点数据;
②、若没有,则通过服务器进行业务数据的查询。
更优地,所述步骤S5中通过Web管理端对存储到集中式数据缓存模块中的热点数据进行更新,具体如下:业务***先查询到需要缓存的最新热点数据,通过调用API接口更新并缓存热点数据,同时更新有效时间。
更优地,所述步骤S5中通过Web管理端对存储到集中式数据缓存模块中的热点数据进行删除,具体如下:业务***通过调用API接口删除存储到集中式数据缓存模块中的热点数据。
一种实现业务***数据集中式缓存的装置,该装置包括服务器、显示屏和若干业务***,服务器包括集中式数据存储模块、API接口模块和Web管理模块,业务***通过API接口模块连接集中式数据存储模块,显示屏通过Web管理模块连接集中式数据存储模块;
集中式数据存储模块用于集中存储缓存的热点数据;
API接口模块用于实现业务***对集中式数据存储模块中存储的缓存数据进行查询、更新以及删除操作;
Web管理模块用于集中可视化管理集中式数据存储模块存储的热点数据;
显示屏用于显示通过Web管理模块可视化管理的热点数据。
作为优选,所述集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据。
本发明的实现业务***数据集中式缓存的方法及装置具有以下优点:
(一)、本发明为了缓解数据库与应用服务器的压力,提高***的性能和响应速度,改善用户体验,采用“缓存”的方式,缓存热点数据(经常被查询,不经常被修改或者删除的数据),缓存分为集中式缓存与本地缓存,本发明采用集中式缓存,集中式缓存与本地缓存相比较,可以缓存的数据量更大,同时也解决了多实例应用间缓存数据同步的问题,方便统一管理维护,对外提供缓存集成开发接口,对内提供缓存管理,正好解决业务痛点,提高业务响应速度;
(二)、本发明参与建设的业务***在需要缓存热点数据时,通过调用API接口缓存热点数据,并设置有效时间,完成集中式缓存数据的有效期策略;
(三)、本发明的数据集中式缓存方法存储数据时按照业务***编码、业务主键以及需要存储的数据进行存储,查询缓存时只需提供业务编码、业务主键、需要存储的数据,能够提高查询速度,如没有查询到缓存数据,可以再从数据库中查询数据,根据业务缓存策略缓存到集中式缓存中,同时返回响应数据。在下次请求相同数据时,便可以从集中式缓存中返回,不必再到数据库查询,大大提高了数据查询的效率;
(四)、本发明提供了可视化的维护界面,可以对缓存数据进行查询、更新、删除等操作,方便、高效,维护成本比较低。
附图说明
下面结合附图对本发明进一步说明。
附图1为实现业务***数据集中式缓存装置的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种实现业务***数据集中式缓存的方法及装置作以下详细地说明。
实施例1:
本发明的实现业务***数据集中式缓存的方法,该方法是在服务器上增加集中式数据缓存模块和API接口,集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据,同时服务器对外提供的API接口能满足HTTP、NETTY两种协议的访问,并能通过服务器对Redis开源的Key-Value数据库存储的热点数据进行查询、更新以及删除操作,将热点数据集中存储在集中式数据缓存模块中,实现热点数据的统一管理,并能通过服务器的Web管理端实现可视化管理集中式数据缓存模块中的热点数据。该方法的具体步骤如下:
S1、业务***在缓存热点数据时,根据键值生成规则生成键值;键值生成规则具体如下:
①、应用编码(appCode):由集中式数据缓存模块分配,如办公***为OA,审批***为ECGAP,不可以重复;
②、业务数据主键(bizKey):由业务***提供;
③、需要存储的数据(VALUE):由业务***提供。
S2、业务***调用集中式数据缓存模块提供的API接口存储需要缓存的热点数据;
S3、通过服务器为步骤S2中热点数据设置缓存的有效时间;其中,有效时间以秒为单位;
S4、业务***为集中式数据缓存模块提供缓存数据的数据类型;缓存数据的数据类型包括字符串、哈希、列表、集合和有序集合。
S5、通过Web管理端对存储到集中式数据缓存模块中的热点数据进行查询、更新以及删除操作。热点数据进行查询,具体如下:通过调用API接口查询存储到集中式数据缓存模块中的缓存数据是否有业务***需要的热点数据:
①、若有,则调用业务***需要的热点数据;
②、若没有,则通过服务器进行业务数据的查询。
热点数据进行更新,具体如下:业务***先查询到需要缓存的最新热点数据,通过调用API接口更新并缓存热点数据,同时更新有效时间。
热点数据进行删除,具体如下:业务***通过调用API接口删除存储到集中式数据缓存模块中的热点数据。
其中,API接口采用Java语言开发。API接口开发的主要代码如下:
Figure BDA0001905660680000051
/>
Figure BDA0001905660680000061
/>
Figure BDA0001905660680000071
/>
Figure BDA0001905660680000081
/>
Figure BDA0001905660680000091
/>
Figure BDA0001905660680000101
实施例2:
如附图1所示,本发明实现业务***数据集中式缓存的装置,该装置包括服务器、显示屏和若干业务***,服务器包括集中式数据存储模块、API接口模块和Web管理模块,业务***通过API接口模块连接集中式数据存储模块,显示屏通过Web管理模块连接集中式数据存储模块;
集中式数据存储模块用于集中存储缓存的热点数据;集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据。
API接口模块用于实现业务***对集中式数据存储模块中存储的缓存数据进行查询、更新以及删除操作;
Web管理模块用于集中可视化管理集中式数据存储模块存储的热点数据;
显示屏用于显示通过Web管理模块可视化管理的热点数据。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (5)

1.一种实现业务***数据集中式缓存的方法,其特征在于,该方法是在服务器上增加集中式数据缓存模块和API接口,集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据,同时服务器对外提供的API接口能满足HTTP、NETTY两种协议的访问,并能通过服务器对Redis开源的Key-Value数据库存储的热点数据进行查询、更新以及删除操作,将热点数据集中存储在集中式数据缓存模块中,实现热点数据的统一管理,并能通过服务器的Web管理端实现可视化管理集中式数据缓存模块中的热点数据;具体步骤如下:
S1、业务***在缓存热点数据时,根据键值生成规则生成键值;键值生成规则具体如下:
①、应用编码:由集中式数据缓存模块分配;
②、业务数据主键:由业务***提供;
③、需要存储的数据:由业务***提供;
S2、业务***调用集中式数据缓存模块提供的API接口存储需要缓存的热点数据;
S3、通过服务器为步骤S2中热点数据设置缓存的有效时间;
S4、业务***为集中式数据缓存模块提供缓存数据的数据类型;
S5、通过Web管理端对存储到集中式数据缓存模块中的热点数据进行查询、更新以及删除操作;
其中,热点数据进行查询,具体如下:通过调用API接口查询存储到集中式数据缓存模块中的缓存数据是否有业务***需要的热点数据:
①、若有,则调用业务***需要的热点数据;
②、若没有,则通过服务器进行业务数据的查询;
热点数据进行更新,具体如下:业务***先查询到需要缓存的最新热点数据,通过调用API接口更新并缓存热点数据,同时更新有效时间;
热点数据进行删除,具体如下:业务***通过调用API接口删除存储到集中式数据缓存模块中的热点数据。
2.根据权利要求1所述的实现业务***数据集中式缓存的方法,其特征在于,所述API接口采用Java语言开发。
3.根据权利要求1或2所述的实现业务***数据集中式缓存的方法,其特征在于,所述缓存数据的数据类型包括字符串、哈希、列表、集合和有序集合。
4.一种实现业务***数据集中式缓存装置,其特征在于,该装置包括服务器、显示屏和若干业务***,服务器包括集中式数据存储模块、API接口模块和Web管理模块,业务***通过API接口模块连接集中式数据存储模块,显示屏通过Web管理模块连接集中式数据存储模块;
集中式数据存储模块用于集中存储缓存的热点数据;
API接口模块用于实现业务***对集中式数据存储模块中存储的缓存数据进行查询、更新以及删除操作;
Web管理模块用于集中可视化管理集中式数据存储模块存储的热点数据;
显示屏用于显示通过Web管理模块可视化管理的热点数据;
该装置工作过程的具体步骤如下:
S1、业务***在缓存热点数据时,根据键值生成规则生成键值;键值生成规则具体如下:
①、应用编码:由集中式数据缓存模块分配;
②、业务数据主键:由业务***提供;
③、需要存储的数据:由业务***提供;
S2、业务***调用集中式数据缓存模块提供的API接口存储需要缓存的热点数据;
S3、通过服务器为步骤S2中热点数据设置缓存的有效时间;
S4、业务***为集中式数据缓存模块提供缓存数据的数据类型;
S5、通过Web管理端对存储到集中式数据缓存模块中的热点数据进行查询、更新以及删除操作;
其中,热点数据进行查询,具体如下:通过调用API接口查询存储到集中式数据缓存模块中的缓存数据是否有业务***需要的热点数据:
①、若有,则调用业务***需要的热点数据;
②、若没有,则通过服务器进行业务数据的查询;
热点数据进行更新,具体如下:业务***先查询到需要缓存的最新热点数据,通过调用API接口更新并缓存热点数据,同时更新有效时间;
热点数据进行删除,具体如下:业务***通过调用API接口删除存储到集中式数据缓存模块中的热点数据。
5.根据权利要求4所述的实现业务***数据集中式缓存装置,其特征在于,所述集中式数据缓存模块采用Redis开源的Key-Value数据库来存储缓存的热点数据。
CN201811531069.1A 2018-12-14 2018-12-14 一种实现业务***数据集中式缓存的方法及装置 Active CN109656956B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811531069.1A CN109656956B (zh) 2018-12-14 2018-12-14 一种实现业务***数据集中式缓存的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811531069.1A CN109656956B (zh) 2018-12-14 2018-12-14 一种实现业务***数据集中式缓存的方法及装置

Publications (2)

Publication Number Publication Date
CN109656956A CN109656956A (zh) 2019-04-19
CN109656956B true CN109656956B (zh) 2023-06-09

Family

ID=66114116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811531069.1A Active CN109656956B (zh) 2018-12-14 2018-12-14 一种实现业务***数据集中式缓存的方法及装置

Country Status (1)

Country Link
CN (1) CN109656956B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11429611B2 (en) * 2019-09-24 2022-08-30 International Business Machines Corporation Processing data of a database system
CN111046070B (zh) * 2019-11-21 2023-08-18 深圳前海环融联易信息科技服务有限公司 一种智能缓存数据方法、装置、计算机设备及存储介质
CN110941618A (zh) * 2019-11-27 2020-03-31 河钢数字技术股份有限公司 一种海量异构数据存储方法及***
CN112256709B (zh) * 2020-09-28 2023-06-20 中孚安全技术有限公司 一种专用机体系下的数据读取方法、***及设备
CN112506961A (zh) * 2020-12-28 2021-03-16 浪潮云信息技术股份公司 一种提高数据查询效率的方法
CN112529737A (zh) * 2020-12-28 2021-03-19 山东鲁能软件技术有限公司 一种适用于电力信息***的智能化缓存管理方法与***
KR102476119B1 (ko) * 2022-08-02 2022-12-09 주식회사 레픽스 Netty 및 Redis를 이용한 Api 및 소켓 무중단 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN103116627A (zh) * 2013-01-31 2013-05-22 汉柏科技有限公司 一种高并发soa技术访问数据库的方法和***
WO2014131000A2 (en) * 2013-02-25 2014-08-28 Interdigital Patent Holdings, Inc. Centralized content enablement service for managed caching in wireless networks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4306152B2 (ja) * 2001-06-26 2009-07-29 株式会社日立製作所 クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244685A (zh) * 2011-08-11 2011-11-16 中国科学院软件研究所 一种支持负载均衡的分布式缓存动态伸缩方法及***
CN103116627A (zh) * 2013-01-31 2013-05-22 汉柏科技有限公司 一种高并发soa技术访问数据库的方法和***
WO2014131000A2 (en) * 2013-02-25 2014-08-28 Interdigital Patent Holdings, Inc. Centralized content enablement service for managed caching in wireless networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大规模游戏平台云缓存技术研究与实践;陈杰等;《移动通信》;20160315(第05期);全文 *

Also Published As

Publication number Publication date
CN109656956A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN109656956B (zh) 一种实现业务***数据集中式缓存的方法及装置
US11882054B2 (en) Terminating data server nodes
US6182111B1 (en) Method and system for managing distributed data
US6820085B2 (en) Web system having clustered application servers and clustered databases
US20080147974A1 (en) Multi-level caching system
US10534776B2 (en) Proximity grids for an in-memory data grid
CN104915319B (zh) 高速缓存信息的***及方法
EP2369494A1 (en) Web application based database system and data management method therof
US20080133830A1 (en) Efficient utilization of cache servers in mobile communication system
WO2006104698A2 (en) Streaming media content delivery system and method for delivering streaming content
EP2541423A1 (en) Replacement policy for resource container
US10579597B1 (en) Data-tiering service with multiple cold tier quality of service levels
US10635650B1 (en) Auto-partitioning secondary index for database tables
CN107368608A (zh) 基于arc替换算法的hdfs小文件缓存管理方法
WO2021139431A1 (zh) 微服务的数据同步方法、装置、电子设备及存储介质
CN107766343A (zh) 一种数据存储方法、装置及存储服务器
CN107786668B (zh) 一种基于cdn网络的权重缓存网站方法
JP2021144731A (ja) ファイルディレクトリのトラバーサル方法、装置、設備、媒体、及びプログラム
US10705978B2 (en) Asynchronous tracking for high-frequency and high-volume storage
CN111597259A (zh) 数据存储***、方法、装置、电子设备及存储介质
US20200311029A1 (en) Key value store using generation markers
CN109844723B (zh) 使用基于服务的统计信息进行主控建立的方法和***
KR101407630B1 (ko) 분산 파일 시스템 및 분산 파일 시스템의 캐쉬 데이터 대체방법
WO2010031297A1 (zh) 一种wap网关提取业务的实现方法和***
US11714566B2 (en) Customizable progressive data-tiering service

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