CN104219327A - 一种分布式缓存系统 - Google Patents

一种分布式缓存系统 Download PDF

Info

Publication number
CN104219327A
CN104219327A CN201410501841.0A CN201410501841A CN104219327A CN 104219327 A CN104219327 A CN 104219327A CN 201410501841 A CN201410501841 A CN 201410501841A CN 104219327 A CN104219327 A CN 104219327A
Authority
CN
China
Prior art keywords
caching server
operation system
cache
module
buffer memory
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
CN201410501841.0A
Other languages
English (en)
Other versions
CN104219327B (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.)
Shanghai Hanzhiyou Information Technology Service Co Ltd
Original Assignee
Shanghai Hanzhiyou Information Technology Service 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 Shanghai Hanzhiyou Information Technology Service Co Ltd filed Critical Shanghai Hanzhiyou Information Technology Service Co Ltd
Priority to CN201410501841.0A priority Critical patent/CN104219327B/zh
Publication of CN104219327A publication Critical patent/CN104219327A/zh
Application granted granted Critical
Publication of CN104219327B publication Critical patent/CN104219327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明属于互联网应用技术领域,具体为一种分布式缓存系统。该分布式缓存系统包括:节点缓存服务器,节点的缓存监控系统,通过缓存客户端进行缓存数据读写操作的业务系统节点;其中,缓存监控系统是基于中心化的缓存配置管理系统,主要用于缓存服务器连接信息的获取、错误信息数据的处理以及缓存数据的读写操作;缓存监控系统包括缓存服务器配置模块、缓存服务器状态监控模块等单元模块;业务系统节点用于在缓存监控系统上标识一个业务系统的部署节点。系统管理人员可以在缓存监控系统中实时地查看各业务系统在使用缓存时产生的错误异常信息,方便系统运维管理人员及时地了解系统运行的状态,更快地发现、定位和处理问题。

Description

一种分布式缓存系统
技术领域
本发明属于互联网应用技术领域,具体涉及一种分布式缓存系统。
背景技术
在互联网应用领域中,数据缓存是非常重要的技术,缓存服务器在互联网应用中是不可或缺的。互联网业务系统中需要缓存的数据有诸如业务数据、会话信息等等,种类非常之多。为了便于数据管理和分类,一般建立多套缓存服务器,各个缓存服务器存放着不同业务系统需要进行缓存的数据。
现有的分布式缓存系统架构,各业务系统与其对应的缓存服务器,通过该业务系统的配置数据与缓存服务器进行直接的网络连接,这将导致缓存服务器在产生故障;将其切换到另外一套缓存服务器时,业务系统需要修改相应的配置数据,重新启动后再与缓存服务器进行连接。就该架构而言在业务系统与缓存服务器之间的对应关系管理将分散开来,没有进行集中统一地管理。不仅如此,在缓存服务器进行切换时,也给业务系统的配置数据修改造成难度,而且人为操作也可能造成配置数据修改错误。
在这种分布式缓存系统架构中,对于不同业务系统的缓存服务器而言,由哪一个业务系统连接过来的是无法控制的,可能会导致非该业务系统的缓存数据存放在该业务系统的缓存服务器中,从而导致缓存服务器数据维护方面的困难,也很容易造成一定的错误。
在这种分布式缓存系统架构中,业务系统与缓存服务器交互,进行缓存数据的操作由于网络、数据等原因造成错误产生的异常信息,也是分散地存放于各业务系统的日志信息中的,这样不利于及时地了解各业务系统使用缓存服务器的情况,由于业务系统日志中还存在于其他涉及业务相关的数据,也不利于缓存异常信息的查看。
发明内容
本发明的目的在于提供一种便于统一管理缓存服务器信息、缓存数据的操作中查看错误异常信息的分布式缓存系统。
本发明提供的分布式缓存系统,包括: 
至少一个节点缓存服务器;  
至少一个节点的缓存监控系统;
至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点(即业务系统应用程序集群中的一个节点);
其中:
所述缓存监控系统,是基于中心化的缓存配置管理系统。主要用于缓存服务器连接信息的获取、错误信息数据的处理,以及缓存数据的读写操作。缓存客户端将一些复杂的缓存读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便地进行数据缓存操作。
所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业务系统配置模块、业务系统缓存异常信息管理模块等单元模块。其中:
所述缓存服务器配置模块,主要用于缓存服务器的连接主机地址、连接的端口号等信息进行配置,有必要时,也可以对缓存服务器的连接密码等信息进行配置。
所述缓存服务器状态监控模块,用于监控缓存服务器的运行状态是否正常,缓存服务器的内存占用是否达到了峰值等信息。
所述业务系统配置模块,用于指定业务系统使用的缓存服务器;将业务系统抽象为一个唯一标识,该标识用于表示该业务系统,同时将该业务系统所使用的缓存服务器进行关联。
所述业务系统缓存异常信息管理模块,用于接收业务系统在进行缓存操作过程中所产生的错误异常信息,并可用于查询该错误异常信息。该模块便于系统运维人员方便及时地查询业务应用在进行缓存操作过程中的错误异常信息,便于及早地发现并处理问题。
所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便系统运维人员了解缓存服务器目前有哪些节点与其进行连接。该节点数据由业务应用代码名称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。业务系统是用于进行各种业务处理和操作的应用程序,该应用程序可由多个节点组成的集群为用户提供服务。在本发明中业务系统作为缓存系统的使用者存在,在业务系统的一个节点中除了应用的业务应用程序之外,还包括进行缓存操作的缓存客户端程序。
本发明中,缓存监控系统至少提供以下几个基于HTTP协议的服务接口模块:
(1)查找服务接口,用于查找缓存服务器连接参数,以及记录当前连接缓存服务器的业务系统节点信息。调用该服务所必须的参数为业务应用代码和业务系统节点,调用该服务所能获取的信息有业务应用代码对应的缓存服务器连接主机名、连接端口、服务调用是否成功、搜集信息服务URL地址、关闭通知服务URL地址;
(2)搜集信息接口,用于搜集在进行缓存数据读写操作时,由于网络或缓存数据本身的原因造成的异常错误信息;
(3)关闭通知接口,在业务系统关闭时,告知缓存监控系统从缓存服务器已连接的业务系统节点中删除当前正在关闭系统的节点信息。
本发明中,所述缓存客户端,至少包括与缓存监控系统的通信模块、启动停止处理模块、缓存服务器中涉及缓存数据的读写操作模块、异常日志搜集模块等主要功能模块。其中:
所述通信模块,分为两部分,一部分封装了与缓存监控系统进行网络通信的逻辑,将网络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统进行数据通信;另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进行连接、连接池中网络连接的数量配置、数据操作超时配置等逻辑。该模块主要为读写操作模块提供与缓存服务器进行数据通信的基础。
所述启动停止处理模块,用于在业务系统应用程序在启动时,通过通信模块从缓存监控系统中获取业务系统应用程所使用的缓存服务器连接参数;也用于在业务系统应用程序停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止。
所述读写操作模块,主要用于缓存读写操作,也就是与基于KEY-VALUE缓存服务器进行操作。该模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要求的对于缓存进行的缓存操作读写接口,主要包括缓存操作读写接口的具体实现,与缓存服务器进行数据通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者通过业务系统应用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务系统应用程序使用。该模块中,对于缓存数据对象以一定的格式存入缓存服务器当中(序列化),以及从缓存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的对象数据(反序列化)。
所述异常日志搜集模块,主要在进行缓存数据读写操作时,在网络不稳定或者其他原因对于缓存数据读写操作产生错误异常时,用于搜集这些异常并使用通信模块通知给缓存监控系统的模块。该模块主要包括了异常日志信息的归集,以及以什么样的频率通知给缓存监控系统。
有益效果
本发明的分布式缓存系统架构,在缓存监控系统中记录所有业务系统所使用的缓存服务器连接信息,便于统一管理缓存服务器信息。
业务系统需要使用缓存服务时,在缓存监控系统上登记其基本信息,并将其与指定的缓存服务器绑定,使业务系统与缓存服务器之间的对应关系一目了然。
在缓存监控系统中可以实时地查看到使用某一缓存服务器有多少业务系统与其进行连接,具体是由哪台服务器的系统连接过来的。
在业务系统若需要使用缓存,在启动时从缓存监控系统中获取该业务系统所对应的缓存服务器连接参数,业务系统在获取连接参数后再与缓存服务器进行连接。
当缓存服务器需要进行切换时,仅需要更改缓存监控系统上业务系统与缓存服务器的绑定关系,业务系统自身不需要修改缓存服务器的连接参数。这样可以加快缓存服务器切换时的速度,以及避免手动修改连接参数而造成的人为错误。
业务系统与缓存服务器进行缓存数据操作,由于网络、缓存数据的原因在造成异常错误时,业务系统会将异常错误、数据、网络状态、业务系统标识、错误产生时间等信息,通过网络异步传输给缓存监控系统。系统管理人员可以在缓存监控系统中实时地查看各业务系统在使用缓存时产生的错误异常信息,方便系统运维管理人员及时地了解系统运行的状态,更快地发现、定位和处理问题。
附图说明
图1为本发明分布式缓存系统图示。
图2为本发明的分布式缓存系统结构框图。
图3为本发明分布式缓存系统在业务系统使用缓存时的操作流程图示。
图4为本发明关于异常错误数据配置其后续处理方式的流程图示。
具体实施方式
本发明的实施例旨在提供一种分布式缓存系统架构,以解决在业务系统与缓存服务器直接连接、搜集业务系统在进行缓存数据读写产生的错误信息。
改进后的分布式缓存系统架构如图1所示。具体是在业务系统与缓存服务器之间增加一个缓存监控系统。本发明提供的分式布缓存系统,包括:
至少一个节点缓存服务器;
至少一个节点的缓存监控系统;
至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点(即业务系统应用程序集群中的一个节点);
其中:
所述缓存监控系统,是基于中心化的缓存配置管理系统。主要用于缓存服务器连接信息的获取、错误信息数据的处理,以及缓存数据的读写操作。缓存客户端将一些复杂的缓存读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便地进行数据缓存操作。
所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业务系统配置模块、业务系统缓存异常信息管理模块等单元模块。
缓存服务器配置模块。主要对于缓存服务器的连接主机地址、连接的端口号,有必要时,也可以对缓存服务器的连接密码等信息进行配置。
缓存服务器状态监控模块。监控缓存服务器的运行状态是否正常,缓存服务器的内存占用是否达到了峰值等信息。
业务系统配置模块。将业务系统抽象为一个唯一标识,该标识用于表示该业务系统,同时将该业务系统所使用的缓存服务器进行关联。用于指定业务系统使用的缓存服务器。
业务系统缓存异常信息管理。该模块用于接收业务系统在进行缓存操作过程中所产生的错误异常信息,并可用于查询该错误异常信息。该模块便于系统运维人员方便及时地查询业务应用在进行缓存操作过程中的错误异常信息,便于及早地发现并处理问题。
所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便系统运维人员了解缓存服务器目前有哪些节点与其进行连接。该节点数据由业务应用代码名称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。业务系统是用于进行各种业务处理和操作的应用程序,该应用程序可由多个节点组成的集群为用户提供服务。在本例中业务系统作为缓存系统的使用者存在,在业务系统的一个节点中除了应用的业务应用程序之外,还包括进行缓存操作的缓存客户端程序。 
本发明中,缓存监控系统至少提供以下几个基于HTTP协议的服务接口模块: 
(1)查找服务接口(记号为【查找服务】),用于查找缓存服务器连接参数,以及记录当前连接缓存服务器的业务系统节点信息。调用该服务所必须的参数为业务应用代码和业务系统节点,调用该服务所能获取的信息有业务应用代码对应的缓存服务器连接主机名、连接端口、服务调用是否成功、搜集信息服务URL地址、关闭通知服务URL地址;
(2)搜集信息接口(记号为【搜集信息】),用于搜集在进行缓存数据读写操作时,由于网络或缓存数据本身的原因造成的异常错误信息;
(3)关闭通知接口(记号为【关闭通知】),在业务系统关闭时,告知缓存监控系统从缓存服务器已连接的业务系统节点中删除当前正在关闭系统的节点信息。
本发明中,所述缓存客户端,至少包括与缓存监控系统的通信模块、启动停止处理模块、缓存服务器中涉及缓存数据的读写操作模块、异常日志搜集模块等主要功能模块。
通信模块。该模块分为两部分,一部分封装了与缓存监控系统进行网络通信的逻辑,将网络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统进行数据通信。另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进行连接、连接池中网络连接的数量配置、数据操作超时配置等逻辑。该模块主要为读写操作模块提供与缓存服务器进行数据通信的基础。
启动停止处理模块。该模块用于在业务系统应用程序在启动时,通过通信模块从缓存监控系统中获取业务系统应用程所使用的缓存服务器连接参数。也用于在业务系统应用程序停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止。
读写操作模块。缓存读写操作,也就是与基于KEY-VALUE缓存服务器进行操作。该模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要求的对于缓存进行的缓存操作读写接口。主要包括缓存操作读写接口的具体实现,与缓存服务器进行数据通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者通过业务系统应用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务系统应用程序使用。该模块中处理了缓存数据对象以一定的格式存入缓存服务器当中(序列化),以及从缓存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的对象数据(反序列化)。
异常日志搜集模块。该模块是进行缓存数据读写操作时,在网络不稳定或者其他原因对于缓存数据读写操作产生错误异常时,搜集这些异常并使用通信模块通知给缓存监控系统的模块。该模块主要包括了异常日志信息的归集,以及以什么样的频率通知给缓存监控系统。
本发明的分布式缓存系统结构参见图2。
本发明中,分布式缓存系统在业务系统需要使用缓存时,具体操作方案如下:
系统运维人员登录至缓存监控系统上,通过缓存服务器配置功能,新增缓存服务器连接配置信息,该信息至少需要包括:缓存服务器标识名称、缓存服务器连接IP地址、缓存服务器服务监听的端口号,如有必要还需要填写缓存服务器的连接密码。
缓存服务器新增配置信息完成后,通过缓存服务器状态检查功能检查缓存服务器的连接状态是否可以正常连接和使用。
系统运维人员在缓存监控系统上,把业务系统抽象为一个称为业务应用代码的唯一标识,该标识用于表示一个相同业务的系统。通过业务系统配置功能,新增业务系统的缓存服务配置信息,该信息至少需要包括:业务应用代码、业务应用的基本描述,以及使用哪一个已经在之前配置过的缓存服务器。
业务系统新增配置信息完成后,在业务系统管理中可以查询到该业务系统当前的状况,比如:使用的缓存服务器名称、业务系统的节点数量等信息。同时
系统运维人员也可以在缓存服务器管理中查看缓存服务器目前与哪些应用代码对应(或者是有哪些业务系统会使用该缓存服务器)。
业务系统开发人员在需要进行数据缓存的业务系统配置数据中,添加该业务系统的应用代码,以及【查找服务】的HTTP 服务的URL地址。
业务系统在系统启动时,在业务系统中集成的缓存客户端读取以上配置数据,生成当前的业务系统节点参数,之后缓存客户端使用这些参数调用【查找服务】获取缓存服务器的连接参数。
如果缓存监控系统无法通过业务系统的应用代码查找到所对应的缓存服务器时,则告知缓存客户端该应用代码不存在,这时业务系统在系统启动时将产生错误无法启动。这种机制可以控制使用缓存服务器的业务系统,在缓存监控系统都有登记,并且都已分配过使用哪一个缓存服务器。
如果缓存监控系统通过业务系统的应用代码,可以查找到其所对应的缓存服务器时,缓存监控系统在该缓存服务器中记录当前连接的业务系统节点信息,与此同时将该缓存服务器的连接参数、【搜集信息】的HTTP 服务的URL地址、【关闭通知】的HTTP 服务的URL地址,返回给【查找服务】的业务系统。
缓存客户端将【查找服务】中获取的【搜集信息】和【关闭通知】的HTTP服务URL地址保留在内存中,便于之后使用。
缓存客户端与缓存服务器进行连接(连接参数是通过【查找服务】中获取的)。
如果连接失败,业务系统启动失败,需要系统运维人员排查网络及缓存服务器的状态,之后再将业务系统启动后再试。
如果连接成功,业务系统可以根据需要通过缓存客户端进行缓存数据的读写操作。
在缓存客户端进行缓存数据读写操作的过程中,如果发生网络、缓存服务器故障,或者是由于缓存数据本身的原因时,缓存客户端会产生异常错误。缓存客户端通过AOP切面的方式,统一搜集到所产生的异常错误数据进行后续处理。
本发明分布式缓存系统在业务系统使用缓存时的操作流程参见图3所示。
业务系统开发人员通过配置的方式,对这些异常错误数据配置其后续处理方式:
(1)是否需要将异常数据发送给缓存监控系统。无论是否需要发送,缓存客户端均会将异常错误数据输出在本地日志中;
(2)如果不需要发送,不发送至远程的缓存监控系统;
(3)如果需要发送,缓存客户端为每一条的异常错误信息生成一个唯一的消息ID,该ID用于标识该异常错误信息,便于系统运维人员追踪该错误信息的来源及原因。为了避免影响业务系统本身的业务操作性能,缓存客户端使用异步的方式调用HTTP服务,将消息ID、应用代码、业务系统节点、调用的缓存客户端API、异常错误产生的时间,以及异常错误消息数据,通过HTTP服务发送至远程的缓存监控系统;
(4)数据发送至远程的缓存监控系统的发送频次至少应有以下两种可供选择:
(a)当异常错误数据达到配置的阈值数量时,缓存客户端将这一批的异常错误数据发送;
(b)每隔指定的时间发送一批,如果没有异常数据时,则不再向远程的缓存监控系统发送数据。
缓存客户端在发送数据给缓存监控系统前,将每一条数据采用JSON方式进行序列化,每条数据之间使用换行符(0x0A)进行分隔后组成的字符串作为HTTP请求内容,同时将总的数据数量记录于HTTP请求头(X-Cache-Messages-Count)中,将业务应用代码也记录于HTTP请求头(X-Cache-App-Code)中,将该数据通过HTTP协议发送至缓存监控系统。
缓存监控系统在收到集成于业务系统中缓存客户端发送过来的异常错误信息时,将该信息根据业务应用代码进行分类保存,并将接收到记录的数量作为HTTP响应告知缓存客户端。
缓存客户端在收到HTTP响应后,判断读取响应内容中的数量是否与发送时的数量一样。
如果一致的话,那表示缓存监控系统已经完整地接收并处理了这一批的异常错误数据。
如果不一致,或者是HTTP无响应,或者响应的数据不正确时,表示数据在网络传输过程中产生了错误,缓存监控系统并没有正确地接收处理这一批的异常错误数据。
若未缓存监控系统未能正确处理这些异常错误数据的情况下,缓存客户端将这一批的异常错误数据,保存在业务系统的发送失败的目录文件中,该目录中的文件名称为了保证其唯一性,文件名由业务系统服务进程号PID、服务启动时间、当前时间,以及递增的序号等数据所组成。
缓存客户端在业务系统节点保存下来的失败发送的文件,将留待于下一批异常错误数据发送时,从发送失败目录中读取后缀不是“.read”的文件数据,读出完成后将该文件名加上“.read”的后缀,表示该临时文件中的数据已经被读取,下一次不再需要读取。业务系统节点将读出的数据与这一批数据一起通过之前的方式发送给远程的缓存监控系统。采用这种重复发送的机制,能有效地保证了异常错误数据不会在网络传输的过程中丢失。
缓存监控系统在处理收到异常错误数据完成后,系统运维人员可以通过缓存监控系统的业务应用异常信息功能,通过业务应用代码,以及指定的时间范围查询出符合条件的异常错误信息。所能查看到的异常错误信息主要包括:消息ID、异常错误产生的时间、产生异常时所调用的缓存客户端API,以及异常错误的详细信息。
业务系统由于系统升级、维护需要停止服务时,集成于其中的缓存客户端应在服务停止之前,通过之前预先获取【关闭通知】URL,缓存客户端使用业务应用代码、业务应用节点数据向该URL所在缓存监控系统发送关闭通知,以告知缓存监控系统,该业务系统节点已经关闭,可从其所对应的缓存服务器业务系统节点列表中删除该节点。
关于异常错误数据配置其后续处理方式的流程参见图4。

Claims (3)

1. 一种分布式缓存系统,其特征在于包括: 
至少一个节点缓存服务器;  
至少一个节点的缓存监控系统;
至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点,即业务系统应用程序集群中的一个节点;
其中:
所述缓存监控系统,是基于中心化的缓存配置管理系统,主要用于缓存服务器连接信息的获取、错误信息数据的处理以及缓存数据的读写操作;缓存客户端将一些复杂的缓存读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便地进行数据缓存操作;
所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业务系统配置模块、业务系统缓存异常信息管理模块等单元模块;其中:
所述缓存服务器配置模块,主要用于缓存服务器的连接主机地址、连接的端口号信息进行配置;也可以用于对缓存服务器的连接密码信息进行配置;
所述缓存服务器状态监控模块,用于监控缓存服务器的运行状态是否正常,缓存服务器的内存占用是否达到了峰值等信息;
所述业务系统配置模块,用于指定业务系统使用的缓存服务器;其将业务系统抽象为一个唯一标识,该标识用于表示该业务系统,同时将该业务系统所使用的缓存服务器进行关联;
所述业务系统缓存异常信息管理模块,用于接收业务系统在进行缓存操作过程中所产生的错误异常信息,并用于查询该错误异常信息;
所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便系统运维人员了解缓存服务器目前有哪些节点与其进行连接;该节点数据由业务应用代码名称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。
2. 根据权利要求1所述的分布式缓存系统,其特征在于所述缓存监控系统至少提供以下几个基于HTTP协议的服务接口:
(1)查找服务接口,用于查找缓存服务器连接参数,以及记录当前连接缓存服务器的业务系统节点信息;调用该服务所必须的参数为业务应用代码和业务系统节点,调用该服务所能获取的信息包括:业务应用代码对应的缓存服务器连接主机名、连接端口、服务调用是否成功、搜集信息服务URL地址、关闭通知服务URL地址;
(2)搜集信息接口,用于搜集在进行缓存数据读写操作时,由于网络或缓存数据本身的原因造成的异常错误信息;
(3)关闭通知接口,在业务系统关闭时,告知缓存监控系统从缓存服务器已连接的业务系统节点中删除当前正在关闭系统的节点信息。
3.根据权利要求2所述的分布式缓存系统,其特征在于所述缓存客户端,至少包括与缓存监控系统通信的通信模块、启动停止处理模块、缓存服务器中涉及缓存数据的读写操作模块、异常日志搜集模块等主要功能模块;其中:
所述通信模块,分为两部分,一部分封装了与缓存监控系统进行网络通信的逻辑,将网络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统进行数据通信;另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进行连接、连接池中网络连接的数量配置、数据操作超时配置等逻辑;
所述启动停止处理模块,用于在业务系统应用程序在启动时,通过通信模块从缓存监控系统中获取业务系统应用程所使用的缓存服务器连接参数;也用于在业务系统应用程序停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止;
所述读写操作模块,主要用于缓存读写操作,即与基于KEY-VALUE缓存服务器进行操作;该模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要求的对于缓存进行的缓存操作读写接口,主要包括缓存操作读写接口的具体实现,与缓存服务器进行数据通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者通过业务系统应用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务系统应用程序使用;该模块中,对于缓存数据对象以一定的格式存入缓存服务器当中,即序列化;以及从缓存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的对象数据,即反序列化;
所述异常日志搜集模块,主要在进行缓存数据读写操作时,在网络不稳定或者其他原因对于缓存数据读写操作产生错误异常时,用于搜集这些异常并使用通信模块通知给缓存监控系统的模块;该模块主要包括了异常日志信息的归集,以及以什么样的频率通知给缓存监控系统。
CN201410501841.0A 2014-09-27 2014-09-27 一种分布式缓存系统 Active CN104219327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410501841.0A CN104219327B (zh) 2014-09-27 2014-09-27 一种分布式缓存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410501841.0A CN104219327B (zh) 2014-09-27 2014-09-27 一种分布式缓存系统

Publications (2)

Publication Number Publication Date
CN104219327A true CN104219327A (zh) 2014-12-17
CN104219327B CN104219327B (zh) 2017-05-10

Family

ID=52100452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410501841.0A Active CN104219327B (zh) 2014-09-27 2014-09-27 一种分布式缓存系统

Country Status (1)

Country Link
CN (1) CN104219327B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580226A (zh) * 2015-01-15 2015-04-29 上海瀚之友信息技术服务有限公司 一种共享会话数据的系统和方法
CN105554069A (zh) * 2015-12-04 2016-05-04 国网山东省电力公司电力科学研究院 一种大数据处理分布式缓存系统及其方法
CN106021569A (zh) * 2016-05-31 2016-10-12 广东能龙教育股份有限公司 一种解决Hibernate分布式数据缓存的方法与系统
CN106130791A (zh) * 2016-08-12 2016-11-16 飞思达技术(北京)有限公司 基于服务质量的缓存设备服务能力遍历测试系统及方法
CN106682040A (zh) * 2015-11-11 2017-05-17 中兴通讯股份有限公司 数据管理方法及装置
CN109492422A (zh) * 2018-09-04 2019-03-19 航天信息股份有限公司 一种基于用户行为信息的数据处理方法及系统
CN109491873A (zh) * 2018-11-05 2019-03-19 网易无尾熊(杭州)科技有限公司 缓存监控方法、介质、装置和计算设备
CN110020272A (zh) * 2017-08-14 2019-07-16 中国电信股份有限公司 缓存方法、装置以及计算机存储介质
CN110191026A (zh) * 2019-06-18 2019-08-30 广东电网有限责任公司 一种分布式业务链路监控方法及装置
CN111049882A (zh) * 2019-11-11 2020-04-21 支付宝(杭州)信息技术有限公司 缓存状态处理系统、方法、装置及计算机可读存储介质
CN112039936A (zh) * 2019-06-03 2020-12-04 杭州海康威视系统技术有限公司 数据传输方法、第一数据处理设备及监控系统
CN112685431A (zh) * 2020-12-29 2021-04-20 京东数字科技控股股份有限公司 异步缓存方法、装置、系统、电子设备和存储介质
CN113468127A (zh) * 2020-03-30 2021-10-01 同方威视科技江苏有限公司 数据缓存方法、装置、介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351771B1 (en) * 1997-11-10 2002-02-26 Nortel Networks Limited Distributed service network system capable of transparently converting data formats and selectively connecting to an appropriate bridge in accordance with clients characteristics identified during preliminary connections
US20040064650A1 (en) * 2002-09-27 2004-04-01 International Business Machines Corporation Method, system, and program for maintaining data in distributed caches
CN102057366A (zh) * 2008-06-12 2011-05-11 微软公司 分布式高速缓存安排
CN103595776A (zh) * 2013-11-05 2014-02-19 福建网龙计算机网络信息技术有限公司 分布式缓存方法及系统
CN103716343A (zh) * 2012-09-29 2014-04-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统
CN103744975A (zh) * 2014-01-13 2014-04-23 锐达互动科技股份有限公司 基于分布式文件的高效缓存服务器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351771B1 (en) * 1997-11-10 2002-02-26 Nortel Networks Limited Distributed service network system capable of transparently converting data formats and selectively connecting to an appropriate bridge in accordance with clients characteristics identified during preliminary connections
US20040064650A1 (en) * 2002-09-27 2004-04-01 International Business Machines Corporation Method, system, and program for maintaining data in distributed caches
CN102057366A (zh) * 2008-06-12 2011-05-11 微软公司 分布式高速缓存安排
CN103716343A (zh) * 2012-09-29 2014-04-09 重庆新媒农信科技有限公司 基于数据缓存同步的分布式业务请求处理方法及系统
CN103595776A (zh) * 2013-11-05 2014-02-19 福建网龙计算机网络信息技术有限公司 分布式缓存方法及系统
CN103744975A (zh) * 2014-01-13 2014-04-23 锐达互动科技股份有限公司 基于分布式文件的高效缓存服务器

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580226B (zh) * 2015-01-15 2017-07-11 上海瀚之友信息技术服务有限公司 一种共享会话数据的系统和方法
CN104580226A (zh) * 2015-01-15 2015-04-29 上海瀚之友信息技术服务有限公司 一种共享会话数据的系统和方法
CN106682040A (zh) * 2015-11-11 2017-05-17 中兴通讯股份有限公司 数据管理方法及装置
CN105554069A (zh) * 2015-12-04 2016-05-04 国网山东省电力公司电力科学研究院 一种大数据处理分布式缓存系统及其方法
CN105554069B (zh) * 2015-12-04 2018-09-11 国网山东省电力公司电力科学研究院 一种大数据处理分布式缓存系统及其方法
CN106021569A (zh) * 2016-05-31 2016-10-12 广东能龙教育股份有限公司 一种解决Hibernate分布式数据缓存的方法与系统
CN106130791A (zh) * 2016-08-12 2016-11-16 飞思达技术(北京)有限公司 基于服务质量的缓存设备服务能力遍历测试系统及方法
CN110020272A (zh) * 2017-08-14 2019-07-16 中国电信股份有限公司 缓存方法、装置以及计算机存储介质
CN109492422A (zh) * 2018-09-04 2019-03-19 航天信息股份有限公司 一种基于用户行为信息的数据处理方法及系统
CN109491873A (zh) * 2018-11-05 2019-03-19 网易无尾熊(杭州)科技有限公司 缓存监控方法、介质、装置和计算设备
CN112039936A (zh) * 2019-06-03 2020-12-04 杭州海康威视系统技术有限公司 数据传输方法、第一数据处理设备及监控系统
CN112039936B (zh) * 2019-06-03 2023-07-14 杭州海康威视系统技术有限公司 数据传输方法、第一数据处理设备及监控系统
CN110191026A (zh) * 2019-06-18 2019-08-30 广东电网有限责任公司 一种分布式业务链路监控方法及装置
CN111049882A (zh) * 2019-11-11 2020-04-21 支付宝(杭州)信息技术有限公司 缓存状态处理系统、方法、装置及计算机可读存储介质
CN111049882B (zh) * 2019-11-11 2023-03-10 支付宝(杭州)信息技术有限公司 缓存状态处理系统、方法、装置及计算机可读存储介质
CN113468127A (zh) * 2020-03-30 2021-10-01 同方威视科技江苏有限公司 数据缓存方法、装置、介质及电子设备
CN112685431A (zh) * 2020-12-29 2021-04-20 京东数字科技控股股份有限公司 异步缓存方法、装置、系统、电子设备和存储介质
CN112685431B (zh) * 2020-12-29 2024-05-17 京东科技控股股份有限公司 异步缓存方法、装置、系统、电子设备和存储介质

Also Published As

Publication number Publication date
CN104219327B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN104219327A (zh) 一种分布式缓存系统
US11411897B2 (en) Communication method and communication apparatus for message queue telemetry transport
CN103152352B (zh) 一种基于云计算环境的全信息安全取证监听方法和系统
US7502851B1 (en) Facility to transmit network management data to an umbrella management system
CN101099345B (zh) 利用采样和试探在网络元件处解释应用消息的方法和设备
CN103944924B (zh) 一种基于RESTful的泛在网发布订阅中间件模型的方法
CN104639374B (zh) 一种应用程序部署管理系统
KR20040103980A (ko) 컨텐츠 전송 네트워크(cdn) 인터네트워킹, 각각의네트워크 및 인터페이스 구성요소를 실행하는 방법
US20020032769A1 (en) Network management method and system
US20020091824A1 (en) Intermediate systems for enterprise management from a central location
CN103546343B (zh) 网络流量分析系统的网络流量展示方法和系统
TW201543243A (zh) 在服務導向架構中的監控能力
CN101072129A (zh) 基于jmx的网络业务管理方法及其应用系统
CN102880475A (zh) 计算机软件系统中基于云计算的实时事件处理系统及方法
CN102065136B (zh) 一种p2p网络安全数据传输方法及其系统
CN112788074A (zh) 数据发送方法、处理方法、接收方法及其设备、存储介质
US20180124168A1 (en) Load balancing server for forwarding prioritized traffic from and to one or more prioritized auto-configuration servers
CN103516543A (zh) 设备管理协议查询中的过滤
CN112738184A (zh) 一种插件式动态注册分布式微服务网关系统
US8290647B2 (en) Apparatus for integrally managing ship device and method thereof
CN100413248C (zh) 一种基于流量进行计费的改进方法和系统
CN113542409B (zh) 一种RocketMQ消息队列实例管理系统及处理方法
US11582345B2 (en) Context data management interface for contact center
JP2010527475A (ja) 情報家電のデータ蓄積システム及びデータ処理方法
KR100315431B1 (ko) 망관리시스템에서의 자동 서비스 복구 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A distributed cache system

Effective date of registration: 20210926

Granted publication date: 20170510

Pledgee: Bank of Communications Ltd. Shanghai Xuhui sub branch

Pledgor: SHANGHAI HANDPAL INFORMATION TECHNOLOGY SERVICE Co.,Ltd.

Registration number: Y2021310000079