一种分布式缓存系统的制作方法

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

【技术领域】
[0001] 本发明属于互联网应用【技术领域】,具体涉及一种分布式缓存系统。

【背景技术】
[0002] 在互联网应用领域中,数据缓存是非常重要的技术,缓存服务器在互联网应用中 是不可或缺的。互联网业务系统中需要缓存的数据有诸如业务数据、会话信息等等,种类非 常之多。为了便于数据管理和分类,一般建立多套缓存服务器,各个缓存服务器存放着不同 业务系统需要进行缓存的数据。
[0003] 现有的分布式缓存系统架构,各业务系统与其对应的缓存服务器,通过该业务系 统的配置数据与缓存服务器进行直接的网络连接,这将导致缓存服务器在产生故障;将其 切换到另外一套缓存服务器时,业务系统需要修改相应的配置数据,重新启动后再与缓存 服务器进行连接。就该架构而言在业务系统与缓存服务器之间的对应关系管理将分散开 来,没有进行集中统一地管理。不仅如此,在缓存服务器进行切换时,也给业务系统的配置 数据修改造成难度,而且人为操作也可能造成配置数据修改错误。
[0004] 在这种分布式缓存系统架构中,对于不同业务系统的缓存服务器而言,由哪一个 业务系统连接过来的是无法控制的,可能会导致非该业务系统的缓存数据存放在该业务系 统的缓存服务器中,从而导致缓存服务器数据维护方面的困难,也很容易造成一定的错误。
[0005] 在这种分布式缓存系统架构中,业务系统与缓存服务器交互,进行缓存数据的操 作由于网络、数据等原因造成错误产生的异常信息,也是分散地存放于各业务系统的日志 信息中的,这样不利于及时地了解各业务系统使用缓存服务器的情况,由于业务系统日志 中还存在于其他涉及业务相关的数据,也不利于缓存异常信息的查看。


【发明内容】

[0006] 本发明的目的在于提供一种便于统一管理缓存服务器信息、缓存数据的操作中查 看错误异常信息的分布式缓存系统。
[0007] 本发明提供的分布式缓存系统,包括: 至少一个节点缓存服务器; 至少一个节点的缓存监控系统; 至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点(即业务系统应用程 序集群中的一个节点); 其中: 所述缓存监控系统,是基于中心化的缓存配置管理系统。主要用于缓存服务器连接信 息的获取、错误信息数据的处理,以及缓存数据的读写操作。缓存客户端将一些复杂的缓存 读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便 地进行数据缓存操作。
[0008] 所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业 务系统配置模块、业务系统缓存异常信息管理模块等单元模块。其中: 所述缓存服务器配置模块,主要用于缓存服务器的连接主机地址、连接的端口号等信 息进行配置,有必要时,也可以对缓存服务器的连接密码等信息进行配置。
[0009] 所述缓存服务器状态监控模块,用于监控缓存服务器的运行状态是否正常,缓存 服务器的内存占用是否达到了峰值等信息。
[0010] 所述业务系统配置模块,用于指定业务系统使用的缓存服务器;将业务系统抽象 为一个唯一标识,该标识用于表示该业务系统,同时将该业务系统所使用的缓存服务器进 行关联。
[0011] 所述业务系统缓存异常信息管理模块,用于接收业务系统在进行缓存操作过程中 所产生的错误异常信息,并可用于查询该错误异常信息。该模块便于系统运维人员方便及 时地查询业务应用在进行缓存操作过程中的错误异常信息,便于及早地发现并处理问题。
[0012] 所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便 系统运维人员了解缓存服务器目前有哪些节点与其进行连接。该节点数据由业务应用代码 名称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。业务系统是用于 进行各种业务处理和操作的应用程序,该应用程序可由多个节点组成的集群为用户提供服 务。在本发明中业务系统作为缓存系统的使用者存在,在业务系统的一个节点中除了应用 的业务应用程序之外,还包括进行缓存操作的缓存客户端程序。
[0013] 本发明中,缓存监控系统至少提供以下几个基于HTTP协议的服务接口模块: (1)查找服务接口,用于查找缓存服务器连接参数,以及记录当前连接缓存服务器的业 务系统节点信息。调用该服务所必须的参数为业务应用代码和业务系统节点,调用该服务 所能获取的信息有业务应用代码对应的缓存服务器连接主机名、连接端口、服务调用是否 成功、搜集信息服务URL地址、关闭通知服务URL地址; (2 )搜集信息接口,用于搜集在进行缓存数据读写操作时,由于网络或缓存数据本身的 原因造成的异常错误信息; (3)关闭通知接口,在业务系统关闭时,告知缓存监控系统从缓存服务器已连接的业务 系统节点中删除当前正在关闭系统的节点信息。
[0014] 本发明中,所述缓存客户端,至少包括与缓存监控系统的通信模块、启动停止处理 模块、缓存服务器中涉及缓存数据的读写操作模块、异常日志搜集模块等主要功能模块。其 中: 所述通信模块,分为两部分,一部分封装了与缓存监控系统进行网络通信的逻辑,将网 络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统进行数据 通信;另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进行连接、 连接池中网络连接的数量配置、数据操作超时配置等逻辑。该模块主要为读写操作模块提 供与缓存服务器进行数据通信的基础。
[0015] 所述启动停止处理模块,用于在业务系统应用程序在启动时,通过通信模块从缓 存监控系统中获取业务系统应用程所使用的缓存服务器连接参数;也用于在业务系统应用 程序停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止。
[0016] 所述读写操作模块,主要用于缓存读写操作,也就是与基于KEY-VALUE缓存服务 器进行操作。该模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要 求的对于缓存进行的缓存操作读写接口,主要包括缓存操作读写接口的具体实现,与缓存 服务器进行数据通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者 通过业务系统应用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务 系统应用程序使用。该模块中,对于缓存数据对象以一定的格式存入缓存服务器当中(序列 化),以及从缓存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的 对象数据(反序列化)。
[0017] 所述异常日志搜集模块,主要在进行缓存数据读写操作时,在网络不稳定或者其 他原因对于缓存数据读写操作产生错误异常时,用于搜集这些异常并使用通信模块通知给 缓存监控系统的模块。该模块主要包括了异常日志信息的归集,以及以什么样的频率通知 给缓存监控系统。
[0018] 有益效果 本发明的分布式缓存系统架构,在缓存监控系统中记录所有业务系统所使用的缓存服 务器连接信息,便于统一管理缓存服务器信息。
[0019] 业务系统需要使用缓存服务时,在缓存监控系统上登记其基本信息,并将其与指 定的缓存服务器绑定,使业务系统与缓存服务器之间的对应关系一目了然。
[0020] 在缓存监控系统中可以实时地查看到使用某一缓存服务器有多少业务系统与其 进行连接,具体是由哪台服务器的系统连接过来的。
[0021] 在业务系统若需要使用缓存,在启动时从缓存监控系统中获取该业务系统所对应 的缓存服务器连接参数,业务系统在获取连接参数后再与缓存服务器进行连接。
[0022] 当缓存服务器需要进行切换时,仅需要更改缓存监控系统上业务系统与缓存服务 器的绑定关系,业务系统自身不需要修改缓存服务器的连接参数。这样可以加快缓存服务 器切换时的速度,以及避免手动修改连接参数而造成的人为错误。
[0023] 业务系统与缓存服务器进行缓存数据操作,由于网络、缓存数据的原因在造成异 常错误时,业务系统会将异常错误、数据、网络状态、业务系统标识、错误产生时间等信息, 通过网络异步传输给缓存监控系统。系统管理人员可以在缓存监控系统中实时地查看各业 务系统在使用缓存时产生的错误异常信息,方便系统运维管理人员及时地了解系统运行的 状态,更快地发现、定位和处理问题。

【专利附图】

【附图说明】
[0024] 图1为本发明分布式缓存系统图示。
[0025] 图2为本发明的分布式缓存系统结构框图。
[0026] 图3为本发明分布式缓存系统在业务系统使用缓存时的操作流程图示。
[0027] 图4为本发明关于异常错误数据配置其后续处理方式的流程图示。

【具体实施方式】
[0028] 本发明的实施例旨在提供一种分布式缓存系统架构,以解决在业务系统与缓存服 务器直接连接、搜集业务系统在进行缓存数据读写产生的错误信息。
[0029] 改进后的分布式缓存系统架构如图1所示。具体是在业务系统与缓存服务器之间 增加一个缓存监控系统。本发明提供的分式布缓存系统,包括: 至少一个节点缓存服务器; 至少一个节点的缓存监控系统; 至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点(即业务系统应用程 序集群中的一个节点); 其中: 所述缓存监控系统,是基于中心化的缓存配置管理系统。主要用于缓存服务器连接信 息的获取、错误信息数据的处理,以及缓存数据的读写操作。缓存客户端将一些复杂的缓存 读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便 地进行数据缓存操作。
[0030] 所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业 务系统配置模块、业务系统缓存异常信息管理模块等单元模块。
[0031] 缓存服务器配置模块。主要对于缓存服务器的连接主机地址、连接的端口号,有必 要时,也可以对缓存服务器的连接密码等信息进行配置。
[0032] 缓存服务器状态监控模块。监控缓存服务器的运行状态是否正常,缓存服务器的 内存占用是否达到了峰值等信息。
[0033] 业务系统配置模块。将业务系统抽象为一个唯一标识,该标识用于表示该业务系 统,同时将该业务系统所使用的缓存服务器进行关联。用于指定业务系统使用的缓存服务 器。
[0034] 业务系统缓存异常信息管理。该模块用于接收业务系统在进行缓存操作过程中所 产生的错误异常信息,并可用于查询该错误异常信息。该模块便于系统运维人员方便及时 地查询业务应用在进行缓存操作过程中的错误异常信息,便于及早地发现并处理问题。 [0035] 所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便 系统运维人员了解缓存服务器目前有哪些节点与其进行连接。该节点数据由业务应用代码 名称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。业务系统是用于 进行各种业务处理和操作的应用程序,该应用程序可由多个节点组成的集群为用户提供服 务。在本例中业务系统作为缓存系统的使用者存在,在业务系统的一个节点中除了应用的 业务应用程序之外,还包括进行缓存操作的缓存客户端程序。
[0036] 本发明中,缓存监控系统至少提供以下几个基于HTTP协议的服务接口模块: (1) 查找服务接口(记号为【查找服务】),用于查找缓存服务器连接参数,以及记录当前 连接缓存服务器的业务系统节点信息。调用该服务所必须的参数为业务应用代码和业务系 统节点,调用该服务所能获取的信息有业务应用代码对应的缓存服务器连接主机名、连接 端口、服务调用是否成功、搜集信息服务URL地址、关闭通知服务URL地址; (2) 搜集信息接口(记号为【搜集信息】),用于搜集在进行缓存数据读写操作时,由于网 络或缓存数据本身的原因造成的异常错误信息; (3) 关闭通知接口(记号为【关闭通知】),在业务系统关闭时,告知缓存监控系统从缓存 服务器已连接的业务系统节点中删除当前正在关闭系统的节点信息。
[0037] 本发明中,所述缓存客户端,至少包括与缓存监控系统的通信模块、启动停止处理 模块、缓存服务器中涉及缓存数据的读写操作模块、异常日志搜集模块等主要功能模块。
[0038] 通信模块。该模块分为两部分,一部分封装了与缓存监控系统进行网络通信的逻 辑,将网络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统 进行数据通信。另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进 行连接、连接池中网络连接的数量配置、数据操作超时配置等逻辑。该模块主要为读写操作 模块提供与缓存服务器进行数据通信的基础。
[0039] 启动停止处理模块。该模块用于在业务系统应用程序在启动时,通过通信模块从 缓存监控系统中获取业务系统应用程所使用的缓存服务器连接参数。也用于在业务系统应 用程序停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止。
[0040] 读写操作模块。缓存读写操作,也就是与基于KEY-VALUE缓存服务器进行操作。该 模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要求的对于缓存进 行的缓存操作读写接口。主要包括缓存操作读写接口的具体实现,与缓存服务器进行数据 通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者通过业务系统应 用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务系统应用程序使 用。该模块中处理了缓存数据对象以一定的格式存入缓存服务器当中(序列化),以及从缓 存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的对象数据(反序 列化)。
[0041] 异常日志搜集模块。该模块是进行缓存数据读写操作时,在网络不稳定或者其他 原因对于缓存数据读写操作产生错误异常时,搜集这些异常并使用通信模块通知给缓存监 控系统的模块。该模块主要包括了异常日志信息的归集,以及以什么样的频率通知给缓存 监控系统。
[0042] 本发明的分布式缓存系统结构参见图2。
[0043] 本发明中,分布式缓存系统在业务系统需要使用缓存时,具体操作方案如下: 系统运维人员登录至缓存监控系统上,通过缓存服务器配置功能,新增缓存服务器连 接配置信息,该信息至少需要包括:缓存服务器标识名称、缓存服务器连接IP地址、缓存服 务器服务监听的端口号,如有必要还需要填写缓存服务器的连接密码。
[0044] 缓存服务器新增配置信息完成后,通过缓存服务器状态检查功能检查缓存服务器 的连接状态是否可以正常连接和使用。
[0045] 系统运维人员在缓存监控系统上,把业务系统抽象为一个称为业务应用代码的唯 一标识,该标识用于表示一个相同业务的系统。通过业务系统配置功能,新增业务系统的缓 存服务配置信息,该信息至少需要包括:业务应用代码、业务应用的基本描述,以及使用哪 一个已经在之前配置过的缓存服务器。
[0046] 业务系统新增配置信息完成后,在业务系统管理中可以查询到该业务系统当前的 状况,比如:使用的缓存服务器名称、业务系统的节点数量等信息。同时 系统运维人员也可以在缓存服务器管理中查看缓存服务器目前与哪些应用代码对应 (或者是有哪些业务系统会使用该缓存服务器)。
[0047] 业务系统开发人员在需要进行数据缓存的业务系统配置数据中,添加该业务系统 的应用代码,以及【查找服务】的HTTP服务的URL地址。
[0048] 业务系统在系统启动时,在业务系统中集成的缓存客户端读取以上配置数据,生 成当前的业务系统节点参数,之后缓存客户端使用这些参数调用【查找服务】获取缓存服务 器的连接参数。
[0049] 如果缓存监控系统无法通过业务系统的应用代码查找到所对应的缓存服务器时, 则告知缓存客户端该应用代码不存在,这时业务系统在系统启动时将产生错误无法启动。 这种机制可以控制使用缓存服务器的业务系统,在缓存监控系统都有登记,并且都已分配 过使用哪一个缓存服务器。
[0050] 如果缓存监控系统通过业务系统的应用代码,可以查找到其所对应的缓存服务器 时,缓存监控系统在该缓存服务器中记录当前连接的业务系统节点信息,与此同时将该缓 存服务器的连接参数、【搜集信息】的HTTP服务的URL地址、【关闭通知】的HTTP服务的 URL地址,返回给【查找服务】的业务系统。
[0051] 缓存客户端将【查找服务】中获取的【搜集信息】和【关闭通知】的HTTP服务URL 地址保留在内存中,便于之后使用。
[0052] 缓存客户端与缓存服务器进行连接(连接参数是通过【查找服务】中获取的)。
[0053] 如果连接失败,业务系统启动失败,需要系统运维人员排查网络及缓存服务器的 状态,之后再将业务系统启动后再试。
[0054] 如果连接成功,业务系统可以根据需要通过缓存客户端进行缓存数据的读写操 作。
[0055] 在缓存客户端进行缓存数据读写操作的过程中,如果发生网络、缓存服务器故障, 或者是由于缓存数据本身的原因时,缓存客户端会产生异常错误。缓存客户端通过Α0Ρ切 面的方式,统一搜集到所产生的异常错误数据进行后续处理。
[0056] 本发明分布式缓存系统在业务系统使用缓存时的操作流程参见图3所示。
[0057] 业务系统开发人员通过配置的方式,对这些异常错误数据配置其后续处理方式: (1) 是否需要将异常数据发送给缓存监控系统。无论是否需要发送,缓存客户端均会将 异常错误数据输出在本地日志中; (2) 如果不需要发送,不发送至远程的缓存监控系统; (3) 如果需要发送,缓存客户端为每一条的异常错误信息生成一个唯一的消息ID,该 ID用于标识该异常错误信息,便于系统运维人员追踪该错误信息的来源及原因。为了避 免影响业务系统本身的业务操作性能,缓存客户端使用异步的方式调用HTTP服务,将消息 ID、应用代码、业务系统节点、调用的缓存客户端API、异常错误产生的时间,以及异常错误 消息数据,通过HTTP服务发送至远程的缓存监控系统; (4) 数据发送至远程的缓存监控系统的发送频次至少应有以下两种可供选择: (a) 当异常错误数据达到配置的阈值数量时,缓存客户端将这一批的异常错误数据发 送; (b) 每隔指定的时间发送一批,如果没有异常数据时,则不再向远程的缓存监控系统发 送数据。
[0058] 缓存客户端在发送数据给缓存监控系统前,将每一条数据采用JS0N方式进行序 列化,每条数据之间使用换行符(OxOA)进行分隔后组成的字符串作为HTTP请求内容,同时 将总的数据数量记录于HTTP请求头(X-Cache-Messages-Count)中,将业务应用代码也记 录于HTTP请求头(X-Cache-App-Code)中,将该数据通过HTTP协议发送至缓存监控系统。
[0059] 缓存监控系统在收到集成于业务系统中缓存客户端发送过来的异常错误信息时, 将该信息根据业务应用代码进行分类保存,并将接收到记录的数量作为HTTP响应告知缓 存客户端。
[0060] 缓存客户端在收到HTTP响应后,判断读取响应内容中的数量是否与发送时的数 量一样。
[0061] 如果一致的话,那表示缓存监控系统已经完整地接收并处理了这一批的异常错误 数据。
[0062] 如果不一致,或者是HTTP无响应,或者响应的数据不正确时,表示数据在网络传 输过程中产生了错误,缓存监控系统并没有正确地接收处理这一批的异常错误数据。
[0063] 若未缓存监控系统未能正确处理这些异常错误数据的情况下,缓存客户端将这一 批的异常错误数据,保存在业务系统的发送失败的目录文件中,该目录中的文件名称为了 保证其唯一性,文件名由业务系统服务进程号PID、服务启动时间、当前时间,以及递增的序 号等数据所组成。
[0064] 缓存客户端在业务系统节点保存下来的失败发送的文件,将留待于下一批异常错 误数据发送时,从发送失败目录中读取后缀不是".read"的文件数据,读出完成后将该文件 名加上".read"的后缀,表示该临时文件中的数据已经被读取,下一次不再需要读取。业务 系统节点将读出的数据与这一批数据一起通过之前的方式发送给远程的缓存监控系统。采 用这种重复发送的机制,能有效地保证了异常错误数据不会在网络传输的过程中丢失。 [0065] 缓存监控系统在处理收到异常错误数据完成后,系统运维人员可以通过缓存监控 系统的业务应用异常信息功能,通过业务应用代码,以及指定的时间范围查询出符合条件 的异常错误信息。所能查看到的异常错误信息主要包括:消息ID、异常错误产生的时间、产 生异常时所调用的缓存客户端API,以及异常错误的详细信息。
[0066] 业务系统由于系统升级、维护需要停止服务时,集成于其中的缓存客户端应在服 务停止之前,通过之前预先获取【关闭通知】URL,缓存客户端使用业务应用代码、业务应用 节点数据向该URL所在缓存监控系统发送关闭通知,以告知缓存监控系统,该业务系统节 点已经关闭,可从其所对应的缓存服务器业务系统节点列表中删除该节点。
[0067] 关于异常错误数据配置其后续处理方式的流程参见图4。
【权利要求】
1. 一种分布式缓存系统,其特征在于包括: 至少一个节点缓存服务器; 至少一个节点的缓存监控系统; 至少一个通过缓存客户端进行缓存数据读写操作的业务系统节点,即业务系统应用程 序集群中的一个节点; 其中: 所述缓存监控系统,是基于中心化的缓存配置管理系统,主要用于缓存服务器连接信 息的获取、错误信息数据的处理以及缓存数据的读写操作;缓存客户端将一些复杂的缓存 读写操作、缓存数据对象序列化等操作进行了封装,让业务系统通过简单的配置可以方便 地进行数据缓存操作; 所述缓存监控系统,至少包括缓存服务器配置模块、缓存服务器状态监控模块、业务系 统配置模块、业务系统缓存异常信息管理模块等单元模块;其中: 所述缓存服务器配置模块,主要用于缓存服务器的连接主机地址、连接的端口号信息 进行配置;也可以用于对缓存服务器的连接密码信息进行配置; 所述缓存服务器状态监控模块,用于监控缓存服务器的运行状态是否正常,缓存服务 器的内存占用是否达到了峰值等信息; 所述业务系统配置模块,用于指定业务系统使用的缓存服务器;其将业务系统抽象为 一个唯一标识,该标识用于表示该业务系统,同时将该业务系统所使用的缓存服务器进行 关联; 所述业务系统缓存异常信息管理模块,用于接收业务系统在进行缓存操作过程中所产 生的错误异常信息,并用于查询该错误异常信息; 所述业务系统节点,用于在缓存监控系统上标识一个业务系统的部署节点,方便系统 运维人员了解缓存服务器目前有哪些节点与其进行连接;该节点数据由业务应用代码名 称、业务系统部署服务器的主机名,以及业务系统的部署目录组合而成。
2. 根据权利要求1所述的分布式缓存系统,其特征在于所述缓存监控系统至少提供 以下几个基于HTTP协议的服务接口: (1)查找服务接口,用于查找缓存服务器连接参数,以及记录当前连接缓存服务器的业 务系统节点信息;调用该服务所必须的参数为业务应用代码和业务系统节点,调用该服务 所能获取的信息包括:业务应用代码对应的缓存服务器连接主机名、连接端口、服务调用是 否成功、搜集信息服务URL地址、关闭通知服务URL地址; (2 )搜集信息接口,用于搜集在进行缓存数据读写操作时,由于网络或缓存数据本身的 原因造成的异常错误信息; (3)关闭通知接口,在业务系统关闭时,告知缓存监控系统从缓存服务器已连接的业务 系统节点中删除当前正在关闭系统的节点信息。
3. 根据权利要求2所述的分布式缓存系统,其特征在于所述缓存客户端,至少包括与 缓存监控系统通信的通信模块、启动停止处理模块、缓存服务器中涉及缓存数据的读写操 作模块、异常日志搜集模块等主要功能模块;其中: 所述通信模块,分为两部分,一部分封装了与缓存监控系统进行网络通信的逻辑,将网 络通信封装在该模块中,便于缓存客户端中的其他模块能方便地与缓存监控系统进行数据 通信;另一部分,封装了与缓存服务器进行网络通信的逻辑,包括与缓存服务器进行连接、 连接池中网络连接的数量配置、数据操作超时配置等逻辑; 所述启动停止处理模块,用于在业务系统应用程序在启动时,通过通信模块从缓存监 控系统中获取业务系统应用程所使用的缓存服务器连接参数;也用于在业务系统应用程序 停止时,通过通信模块告知缓存监控系统该业务应用程序已经停止; 所述读写操作模块,主要用于缓存读写操作,即与基于KEY-VALUE缓存服务器进行操 作;该模块封装了缓存服务器进行数据交互的逻辑,适用于业务系统应用程序要求的对于 缓存进行的缓存操作读写接口,主要包括缓存操作读写接口的具体实现,与缓存服务器进 行数据通信,将业务应用的需要进行缓存的数据对象放入缓存服务器当中,或者通过业务 系统应用程序所指定的KEY从缓存服务器中取出所对应的缓存数据返回给业务系统应用 程序使用;该模块中,对于缓存数据对象以一定的格式存入缓存服务器当中,即序列化;以 及从缓存服务器中读取的数据以该种格式转换为业务系统应用程序所能够使用的对象数 据,即反序列化; 所述异常日志搜集模块,主要在进行缓存数据读写操作时,在网络不稳定或者其他原 因对于缓存数据读写操作产生错误异常时,用于搜集这些异常并使用通信模块通知给缓存 监控系统的模块;该模块主要包括了异常日志信息的归集,以及以什么样的频率通知给缓 存监控系统。
【文档编号】H04L29/08GK104219327SQ201410501841
【公开日】2014年12月17日 申请日期:2014年9月27日 优先权日:2014年9月27日
【发明者】高宝文 申请人:上海瀚之友信息技术服务有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1