CN103595776A - 分布式缓存方法及系统 - Google Patents
分布式缓存方法及系统 Download PDFInfo
- Publication number
- CN103595776A CN103595776A CN201310540774.9A CN201310540774A CN103595776A CN 103595776 A CN103595776 A CN 103595776A CN 201310540774 A CN201310540774 A CN 201310540774A CN 103595776 A CN103595776 A CN 103595776A
- Authority
- CN
- China
- Prior art keywords
- business datum
- data
- server node
- distributed
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供分布式缓存方法及系统。所述的方法包括:在后台缓存管理配置上配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点;在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点。本发明实现了对业务数据的分布式缓存,大大减轻了服务器节点的压力,避免业务数据的丢失以及服务器节点I/O的堵塞。
Description
技术领域
本发明涉及数据缓存管理领域,尤其涉及一种分布式缓存方法及系统。
背景技术
现有的对数据缓存管理一般采用的是集中式缓存方法,此方法在服务器节点宕机时会造成数据的丢失,同时集中缓存在用用户数据请求时也容易造成接口堵塞。
发明内容
本发明要解决的技术问题,在于提供分布式缓存方法及系统,解决集中式服务器节点方式的宕机数据丢失、节点I/O堵塞问题、业务数据扩展无法及时满足需求以及服务器节点压力大的问题。
本发明是这样实现的:
分布式缓存方法,包括如下步骤:
步骤10、在后台缓存管理配置上配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点;
步骤20、在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点;
步骤30、后继业务数据发生变化时,采用增量或全量更新数据方案,将数据库中的变化数据取出,并根据业务数据唯一主键更新或新增业务数据至对应的服务器节点;
步骤40、当用户发起数据访问请求时,根据用户请求数据接入到相应的服务器节点,用户通过该节点访问业务数据。
进一步地,所述的后台缓存管理策略还包括设定数据源、数据表、数据字段、主键字段、全量刷新时间、增量刷新时间、刷新顺序、缓存模式、服务器节点地址。
进一步地,步骤20中将业务数据分发到对应的服务器节点具体为采用队列模式。
进一步地,步骤30还包括步骤:将所有数据写入缓存日志。
进一步地,步骤20中将业务数据分发到对应的服务器节点和步骤30中更新或新增业务数据至对应的服务器节点具体为采用Hash算法。
以及本发明还提供一种分布式缓存系统,其特征在于:包括缓存配置管理模块、缓存刷新模块、业务数据响应模块和多个服务器节点,其中:
所述缓存配置管理模块用于配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点;
所述缓存刷新模块用于在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点;以及后继业务数据发生变化时,采用增量或全量更新数据方案,将数据库中的变化数据取出,并根据业务数据唯一主键更新或新增业务数据至对应的服务器节点;
所述的业务数据响应模块用于当用户发起数据访问请求时,根据用户请求数据接入到相应的服务器节点,用户通过该节点访问业务数据;
所述多个服务器节点用于存储数据。
进一步地,所述的后台缓存管理策略还包括设定数据源、数据表、数据字段、主键字段、全量刷新时间、增量刷新时间、刷新顺序、缓存模式、服务器节点地址。
进一步地,所述缓存刷新模块中将业务数据分发到对应的服务器节点具体为采用队列模式。
进一步地,还包括缓存日志存储模块,用于将所有数据写入缓存日志。
进一步地,所述缓存刷新模块中将业务数据分发到对应的服务器节点和步骤30中更新或新增业务数据至对应的服务器节点具体为采用Hash算法。
本发明具有如下优点:1、把数据Hash到不同服务器节点上,解决集中式服务器节点宕机数据丢失问题;2、业务数据扩展需要时,只需上新服务器即可满足业务扩展3、当记录新增字段时,只需处理新增内容无需刷新历史数据4、可将大数据Hash到其它带宽宽裕的服务器,解决网络I/O堵塞问题。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
请参阅图1所示,以下将对本发明进行详细说明。
如图1所示,分布式缓存方法,包括如下步骤:
步骤S101、在后台缓存管理配置上配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点。各个业务数据对应存储的服务器节点为后台缓存管理配置中最主要的内容,为了优化数据的缓存,进一步地,所述的后台缓存管理策略还包括设定数据源、数据表、数据字段、主键字段、全量刷新时间、增量刷新时间、刷新顺序、缓存模式、服务器节点地址。具体的配置字段内容可以为下面几方面:a)全量多行约定:表名;b)增量多行约定:表名、开始时间、结束时间;c)全量列字段:表名、字段名;d)增量列字段:表名、开始时间、结束时间、列表名;e)单行约定:表、主键;f)单格约定:表、主键、字段名;g)单行选删除:表、主键。
而后在步骤S102中,在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点。优选地,将业务数据分发到对应的服务器节点具体为采用队列模式以及采用Hash算法,实现简单,避免数据库压力过大。
在步骤S103中,后继业务数据发生变化时,采用增量或全量更新数据方案,将数据库中的变化数据取出,并根据业务数据唯一主键更新或新增业务数据至对应的服务器节点。步骤S103的实现可以设计缓存刷新API接口,而后通过实时调用缓存刷新API接口,把需要更新或新增的业务数据及时写入缓存节点。其中增量或全量的更新方案可以通过后台缓存管理策略来预设,当配置了增量刷新时间等增量相关配置即支持增量更新数据方案。更新或新增业务数据至对应的服务器节点具体为采用Hash算法。
步骤S103优选地,还包括步骤:将所有数据写入缓存日志,所有数据包括对业务数据的操作数据和对后继业务数据的操作数据,使用缓存日志方便对数据进行跟踪。
最后为步骤S104,当用户发起数据访问请求时,根据用户请求数据接入到相应的服务器节点,用户通过该节点访问业务数据。
综上本发明实现了对业务数据的分布式缓存,大大减轻了服务器节点的压力,避免业务数据的丢失以及服务器节点I/O的堵塞。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (10)
1.分布式缓存方法,其特征在于:包括如下步骤:
步骤10、在后台缓存管理配置上配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点;
步骤20、在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点;
步骤30、后继业务数据发生变化时,采用增量或全量更新数据方案,将数据库中的变化数据取出,并根据业务数据唯一主键更新或新增业务数据至对应的服务器节点;
步骤40、当用户发起数据访问请求时,根据用户请求数据接入到相应的服务器节点,用户通过该节点访问业务数据。
2.根据权利要求1所述的分布式缓存方法,其特征在于:所述的后台缓存管理策略还包括设定数据源、数据表、数据字段、主键字段、全量刷新时间、增量刷新时间、刷新顺序、缓存模式、服务器节点地址。
3.根据权利要求1所述的分布式缓存方法,其特征在于:步骤20中将业务数据分发到对应的服务器节点具体为采用队列模式。
4.根据权利要求1所述的分布式缓存方法,其特征在于:步骤30还包括步骤:将所有数据写入缓存日志。
5.根据权利要求1所述的分布式缓存方法,其特征在于:步骤20中将业务数据分发到对应的服务器节点和步骤30中更新或新增业务数据至对应的服务器节点具体为采用Hash算法。
6.分布式缓存系统,其特征在于:包括缓存配置管理模块、缓存刷新模块、业务数据响应模块和多个服务器节点,其中:
所述缓存配置管理模块用于配置后台缓存管理策略,所述的后台缓存管理策略包括设定各个业务数据对应存储的服务器节点;
所述缓存刷新模块用于在生成业务数据时,根据后台缓存管理配置策略将数据库中的业务数据取出,并根据业务数据唯一主键值将业务数据分发到对应的服务器节点;以及后继业务数据发生变化时,采用增量或全量更新数据方案,将数据库中的变化数据取出,并根据业务数据唯一主键更新或新增业务数据至对应的服务器节点;
所述的业务数据响应模块用于当用户发起数据访问请求时,根据用户请求数据接入到相应的服务器节点,用户通过该节点访问业务数据;
所述多个服务器节点用于存储数据。
7.根据权利要求6所述的分布式缓存系统,其特征在于:所述的后台缓存管理策略还包括设定数据源、数据表、数据字段、主键字段、全量刷新时间、增量刷新时间、刷新顺序、缓存模式、服务器节点地址。
8.根据权利要求6所述的分布式缓存系统,其特征在于:所述缓存刷新模块中将业务数据分发到对应的服务器节点具体为采用队列模式。
9.根据权利要求6所述的分布式缓存系统,其特征在于:还包括缓存日志存储模块,用于将所有数据写入缓存日志。
10.根据权利要求6所述的分布式缓存系统,其特征在于:所述缓存刷新模块中将业务数据分发到对应的服务器节点和步骤30中更新或新增业务数据至对应的服务器节点具体为采用Hash算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310540774.9A CN103595776A (zh) | 2013-11-05 | 2013-11-05 | 分布式缓存方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310540774.9A CN103595776A (zh) | 2013-11-05 | 2013-11-05 | 分布式缓存方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103595776A true CN103595776A (zh) | 2014-02-19 |
Family
ID=50085756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310540774.9A Pending CN103595776A (zh) | 2013-11-05 | 2013-11-05 | 分布式缓存方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595776A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888378A (zh) * | 2014-04-09 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种基于缓存机制的数据交换系统和方法 |
CN104021192A (zh) * | 2014-06-13 | 2014-09-03 | 北京联时空网络通信设备有限公司 | 一种数据库更新方法及装置 |
CN104219327A (zh) * | 2014-09-27 | 2014-12-17 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
CN104915442A (zh) * | 2015-06-26 | 2015-09-16 | 携程计算机技术(上海)有限公司 | 数据分布处理系统及方法 |
CN105357314A (zh) * | 2015-12-03 | 2016-02-24 | 厦门速卖通网络科技有限公司 | 一种定点分布式缓存系统及其缓存方法 |
WO2016074370A1 (zh) * | 2014-11-12 | 2016-05-19 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN105721185A (zh) * | 2014-12-03 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 计算机系统业务节点间的信息传输方法及其装置 |
CN106651547A (zh) * | 2017-01-04 | 2017-05-10 | 泰康保险集团股份有限公司 | 数据处理方法及装置 |
CN107111615A (zh) * | 2014-05-28 | 2017-08-29 | 北京大学深圳研究生院 | 一种用于分布式存储系统的数据缓存方法及装置 |
CN107291779A (zh) * | 2016-04-12 | 2017-10-24 | 百度在线网络技术(北京)有限公司 | 缓存数据管理方法及装置 |
CN107870954A (zh) * | 2016-09-28 | 2018-04-03 | 中国移动通信集团广东有限公司 | 一种分布式数据库的扩展方法及装置 |
CN109033292A (zh) * | 2018-07-13 | 2018-12-18 | 南京邮电大学 | 一种数据库分布式缓存系统及方法 |
CN109299019A (zh) * | 2018-08-15 | 2019-02-01 | 福建联迪商用设备有限公司 | 一种生成缓存区域和缓存键值的方法及终端 |
CN110555041A (zh) * | 2018-03-30 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111104406A (zh) * | 2019-12-10 | 2020-05-05 | 深圳市金蝶天燕云计算股份有限公司 | 层级型业务数据存储方法、装置、计算机设备和存储介质 |
CN111159144A (zh) * | 2019-11-27 | 2020-05-15 | 北京中交兴路信息科技有限公司 | 一种缓存系统和方法 |
CN111193759A (zh) * | 2018-11-15 | 2020-05-22 | 中国电信股份有限公司 | 分布式计算系统、方法和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227379A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种实现数据同步的系统和方法 |
CN101635680A (zh) * | 2009-08-07 | 2010-01-27 | 中国电信股份有限公司 | 一种业务路由方法和系统 |
CN102638584A (zh) * | 2012-04-20 | 2012-08-15 | 青岛海信传媒网络技术有限公司 | 数据分布缓存方法及系统 |
CN102857554A (zh) * | 2012-07-26 | 2013-01-02 | 福建网龙计算机网络信息技术有限公司 | 基于分布式存储系统进行数据冗余处理方法 |
US20130066883A1 (en) * | 2011-09-12 | 2013-03-14 | Fujitsu Limited | Data management apparatus and system |
CN103312489A (zh) * | 2013-06-29 | 2013-09-18 | 华为技术有限公司 | 一种终端与服务器进行同步的方法和装置 |
-
2013
- 2013-11-05 CN CN201310540774.9A patent/CN103595776A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227379A (zh) * | 2008-01-25 | 2008-07-23 | 中兴通讯股份有限公司 | 一种实现数据同步的系统和方法 |
CN101635680A (zh) * | 2009-08-07 | 2010-01-27 | 中国电信股份有限公司 | 一种业务路由方法和系统 |
US20130066883A1 (en) * | 2011-09-12 | 2013-03-14 | Fujitsu Limited | Data management apparatus and system |
CN102638584A (zh) * | 2012-04-20 | 2012-08-15 | 青岛海信传媒网络技术有限公司 | 数据分布缓存方法及系统 |
CN102857554A (zh) * | 2012-07-26 | 2013-01-02 | 福建网龙计算机网络信息技术有限公司 | 基于分布式存储系统进行数据冗余处理方法 |
CN103312489A (zh) * | 2013-06-29 | 2013-09-18 | 华为技术有限公司 | 一种终端与服务器进行同步的方法和装置 |
Non-Patent Citations (3)
Title |
---|
ZHANG_MENGXIA: "大型电子商务架构之-分布式数据库架构", 《HTTP://WENKU.BAIDU.COM/LINKURL=A690MYL7VY0SRPOQ76EP_7I1E3ILRDMUERXSVUXF6LMLZV6O8_BH6PWHRU1JRAXPMCXTTCWBYOLQGCVRME1MZKLP5NJQS1H8-DSK0SNAWLU》 * |
杨崇联等: "Oracle数据仓库实体化视图的研究与应用", 《计算机应用》 * |
苟世哲等: "基于分布式内存数据库的HIRFL-CSR真空监控系统", 《核电子学与探测技术》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888378A (zh) * | 2014-04-09 | 2014-06-25 | 北京京东尚科信息技术有限公司 | 一种基于缓存机制的数据交换系统和方法 |
CN103888378B (zh) * | 2014-04-09 | 2017-08-25 | 北京京东尚科信息技术有限公司 | 一种基于缓存机制的数据交换系统和方法 |
CN107111615A (zh) * | 2014-05-28 | 2017-08-29 | 北京大学深圳研究生院 | 一种用于分布式存储系统的数据缓存方法及装置 |
CN104021192A (zh) * | 2014-06-13 | 2014-09-03 | 北京联时空网络通信设备有限公司 | 一种数据库更新方法及装置 |
CN104219327B (zh) * | 2014-09-27 | 2017-05-10 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
CN104219327A (zh) * | 2014-09-27 | 2014-12-17 | 上海瀚之友信息技术服务有限公司 | 一种分布式缓存系统 |
CN105900093B (zh) * | 2014-11-12 | 2018-02-02 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN107977396A (zh) * | 2014-11-12 | 2018-05-01 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
AU2015316450B2 (en) * | 2014-11-12 | 2016-11-03 | Huawei Cloud Computing Technologies Co., Ltd. | Method for updating data table of KeyValue database and apparatus for updating table data |
US10467192B2 (en) | 2014-11-12 | 2019-11-05 | Hauwei Technologies Co.,Ltd. | Method and apparatus for updating data table in keyvalue database |
CN107977396B (zh) * | 2014-11-12 | 2021-07-20 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
WO2016074370A1 (zh) * | 2014-11-12 | 2016-05-19 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN105900093A (zh) * | 2014-11-12 | 2016-08-24 | 华为技术有限公司 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN105721185A (zh) * | 2014-12-03 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 计算机系统业务节点间的信息传输方法及其装置 |
CN105721185B (zh) * | 2014-12-03 | 2019-02-15 | 阿里巴巴集团控股有限公司 | 计算机系统业务节点间的信息传输方法及其装置 |
CN104915442A (zh) * | 2015-06-26 | 2015-09-16 | 携程计算机技术(上海)有限公司 | 数据分布处理系统及方法 |
CN105357314A (zh) * | 2015-12-03 | 2016-02-24 | 厦门速卖通网络科技有限公司 | 一种定点分布式缓存系统及其缓存方法 |
CN107291779A (zh) * | 2016-04-12 | 2017-10-24 | 百度在线网络技术(北京)有限公司 | 缓存数据管理方法及装置 |
CN107870954A (zh) * | 2016-09-28 | 2018-04-03 | 中国移动通信集团广东有限公司 | 一种分布式数据库的扩展方法及装置 |
CN106651547A (zh) * | 2017-01-04 | 2017-05-10 | 泰康保险集团股份有限公司 | 数据处理方法及装置 |
CN110555041A (zh) * | 2018-03-30 | 2019-12-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN109033292A (zh) * | 2018-07-13 | 2018-12-18 | 南京邮电大学 | 一种数据库分布式缓存系统及方法 |
CN109299019A (zh) * | 2018-08-15 | 2019-02-01 | 福建联迪商用设备有限公司 | 一种生成缓存区域和缓存键值的方法及终端 |
CN111193759A (zh) * | 2018-11-15 | 2020-05-22 | 中国电信股份有限公司 | 分布式计算系统、方法和设备 |
CN111193759B (zh) * | 2018-11-15 | 2023-08-01 | 中国电信股份有限公司 | 分布式计算系统、方法和设备 |
CN111159144A (zh) * | 2019-11-27 | 2020-05-15 | 北京中交兴路信息科技有限公司 | 一种缓存系统和方法 |
CN111159144B (zh) * | 2019-11-27 | 2023-09-08 | 北京中交兴路信息科技有限公司 | 一种缓存系统和方法 |
CN111104406A (zh) * | 2019-12-10 | 2020-05-05 | 深圳市金蝶天燕云计算股份有限公司 | 层级型业务数据存储方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103595776A (zh) | 分布式缓存方法及系统 | |
US10901796B2 (en) | Hash-based partitioning system | |
US11442961B2 (en) | Active transaction list synchronization method and apparatus | |
CN101840308B (zh) | 一种分级存储系统及其逻辑卷管理方法 | |
WO2017097059A1 (zh) | 分布式数据库系统及其自适应方法 | |
US10534776B2 (en) | Proximity grids for an in-memory data grid | |
JP5792594B2 (ja) | 仮想パーティションを用いたデータベース再分配 | |
CN103067433B (zh) | 一种分布式存储系统的数据迁移方法、设备和系统 | |
CN103078933B (zh) | 一种确定数据迁移时机的方法和装置 | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
CN102662795A (zh) | 一种分布式存储系统中元数据容错恢复方法 | |
CN103150347A (zh) | 基于文件热度的动态副本管理方法 | |
CN102591970A (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
CN102945251A (zh) | 一种利用内存数据库技术优化磁盘数据库性能的方法 | |
CN104361030A (zh) | 一种具有任务分发功能的分布式缓存架构及缓存方法 | |
CN104050250A (zh) | 一种分布式键-值查询方法和查询引擎系统 | |
CN107133285A (zh) | 一种分布式主键生成方法与装置 | |
US11023433B1 (en) | Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters | |
CN103838853A (zh) | 一种基于不同存储介质的混合文件系统 | |
CN105224255A (zh) | 一种存储文件管理方法及装置 | |
CN107016014A (zh) | 异构数据库的数据同步方法及装置 | |
CN104158897A (zh) | 一种分布式文件系统中文件布局的更新方法 | |
CN105335170A (zh) | 分布式系统及数据增量更新方法 | |
CN108776690B (zh) | 基于分层治理的hdfs分布式与集中式混合数据存储系统的方法 | |
WO2014135011A1 (zh) | 数据库系统以及数据同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140219 |
|
RJ01 | Rejection of invention patent application after publication |