CN106341402B - Processing method and device based on multi-architecture distributed cache - Google Patents
Processing method and device based on multi-architecture distributed cache Download PDFInfo
- Publication number
- CN106341402B CN106341402B CN201610787071.XA CN201610787071A CN106341402B CN 106341402 B CN106341402 B CN 106341402B CN 201610787071 A CN201610787071 A CN 201610787071A CN 106341402 B CN106341402 B CN 106341402B
- Authority
- CN
- China
- Prior art keywords
- cache
- application system
- configuration information
- current application
- client
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/54—Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于多架构分布式缓存的处理方法和装置,其中,该方法包括:在应用系统启动时,获取并保存配置中心中的缓存配置信息;根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。实现了降低缓存的运维成本;使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用。
The present invention provides a processing method and device based on multi-architecture distributed cache, wherein the method includes: when the application system starts, acquire and save the cache configuration information in the configuration center; The client instance corresponding to the application system; obtain the cached data according to the cache configuration information and the client instance corresponding to the current application system; add the current application system identifier to the key value of the obtained cached data so that each application system can share same cache cluster. The operation and maintenance cost of the cache is reduced; the application systems using the same cache product and the same version can partly or completely share the same set of cache resources, so as to realize the maximum utilization of hardware resources.
Description
技术领域technical field
本发明涉及互联网技术领域,尤其涉及一种基于多架构分布式缓存的处理方法和装置。The present invention relates to the technical field of the Internet, in particular to a processing method and device based on a multi-architecture distributed cache.
背景技术Background technique
随着互联网技术的发展,各类网站以及数据库面临大规模数据访问的时候,磁盘I/O往往成为性能瓶颈,从而导致过高的响应延迟。从而可以采用缓存技术,以高速内存作为数据对象的存储介质,将终端以前数据请求的响应分放在缓存服务器上,从而当终端发出相同的数据请求的时候,不需要将该数据请求再次发送给数据服务器,而是由缓存服务器将其缓存的副本响应发送用户,进而减少磁盘I/O带来的瓶颈。With the development of Internet technology, when various websites and databases face large-scale data access, disk I/O often becomes a performance bottleneck, resulting in excessive response delays. Therefore, caching technology can be used to use high-speed memory as the storage medium of data objects, and the responses of the previous data requests of the terminal are distributed on the cache server, so that when the terminal sends the same data request, it does not need to send the data request to the server again. Instead of the data server, the cache server sends its cached copy response to the user, thereby reducing the bottleneck caused by disk I/O.
现有技术中,一个企业拥有几十个甚至几百个不同的应用系统,企业一般会采购几家甚至几十家不同的IT服务供应商,不同供应商所采用的缓存产品和具体部署方案会有所区别,例如常用的缓存集群有Codis-Redis缓存集群、Twemproxy-Memcacheds缓存集群、Redis-Cluster缓存集群、以及节点集群。从而进行不同的应用系统各自的缓存获取。In the existing technology, an enterprise has dozens or even hundreds of different application systems, and the enterprise generally purchases several or even dozens of different IT service providers. The cache products and specific deployment solutions adopted by different suppliers will vary. There are differences. For example, commonly used cache clusters include Codis-Redis cache cluster, Twemproxy-Memcacheds cache cluster, Redis-Cluster cache cluster, and node cluster. In this way, the respective cache acquisitions of different application systems are performed.
然而现有技术中,由于不同的供应商所采用的缓存架构、缓存产品没有进行统一的规划和部署,各应用系统需要建设自己独立的缓存模块,继而导致了重复建设,从而增加了缓存的运维成本;并且,各IT服务供应商所选用的缓存产品不同、相同产品的版本也有区别,使得企业无法针对缓存进行有效的统一管理和规划,无法对硬件资源进行充分利用。However, in the existing technology, due to the lack of unified planning and deployment of the cache architecture and cache products adopted by different suppliers, each application system needs to build its own independent cache module, which in turn leads to repeated construction, thus increasing the operation of the cache. In addition, the cache products selected by various IT service providers are different, and the versions of the same product are also different, which makes it impossible for enterprises to carry out effective unified management and planning for cache and make full use of hardware resources.
发明内容Contents of the invention
本发明提供一种基于多架构分布式缓存的处理方法和装置,用以解决现有技术中缓存的运维成本较高,企业无法针对缓存进行有效的统一管理和规划,无法对硬件资源进行充分利用的问题。The present invention provides a processing method and device based on a multi-architecture distributed cache, which is used to solve the problem that the operation and maintenance cost of the cache in the prior art is high, and the enterprise cannot effectively manage and plan the cache, and cannot fully manage the hardware resources. problem of utilization.
本发明的一方面是提供一种基于多架构分布式缓存的处理方法,包括:One aspect of the present invention is to provide a processing method based on a multi-architecture distributed cache, including:
在应用系统启动时,获取并保存配置中心中的缓存配置信息,所述缓存配置信息包括当前应用系统标识;When the application system starts, obtain and save the cache configuration information in the configuration center, the cache configuration information includes the current application system identifier;
根据所述缓存配置信息,适配出与当前应用系统对应的客户端实例;Adapting a client instance corresponding to the current application system according to the cache configuration information;
根据所述缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;Obtain cached data according to the cache configuration information and the client instance corresponding to the current application system;
将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。Add the current application system identifier to the key value of the obtained cache data, so that each application system can share the same cache cluster.
本发明的另一方面是提供一种基于多架构分布式缓存的处理装置,包括:Another aspect of the present invention is to provide a processing device based on a multi-architecture distributed cache, including:
第一获取模块,用于在应用系统启动时,获取并保存配置中心中的缓存配置信息,所述缓存配置信息包括当前应用系统标识;The first obtaining module is used to obtain and save the cache configuration information in the configuration center when the application system is started, and the cache configuration information includes the current application system identifier;
确定模块,用于根据所述缓存配置信息,适配出与当前应用系统对应的客户端实例;A determining module, configured to adapt a client instance corresponding to the current application system according to the cache configuration information;
缓存获取模块,用于根据所述缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;A cache acquisition module, configured to acquire cache data according to the cache configuration information and the client instance corresponding to the current application system;
添加模块,用于将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。The adding module is used to add the current application system identifier to the key value of the acquired cache data, so that each application system can share the same cache cluster.
本发明的技术效果是:通过在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。从而应用系统只需要配置好缓存产品类型、版本、接口实现种类等信息,就能适配到合适的缓存客户端,通过客户端调用缓存服务,无需关心后台缓存部署方式,进而降低缓存的运维成本;同时,通过简单的客户端实例接口封装,应用系统可以简单方便的更改缓存产品。可以对异构缓存系统进行统一管理,提供统一的配置中心,能够对单点、主备、分布式架构,以及Redis、Memcached提供统一的管理;运维人员可以通过其管理缓存设备资源、管理应用系统的缓存配置、应用系统与设备的对应关系;也可以在配置中心为分布式系统缓存架构增减缓存节点,归并或者分拆单点式缓存系统;同时,使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用,同时也可以人工调整各应用系统的缓存负载;通过缓存客户端适配模块,可以降低了缓存系统与应用系统的耦合性。The technical effect of the present invention is: when the application system is started, the cache configuration information in the configuration center is acquired and saved, the cache configuration information includes the current application system identifier; according to the cache configuration information, the client corresponding to the current application system is adapted Instance; obtain the cached data according to the cache configuration information and the client instance corresponding to the current application system; add the current application system identifier to the key value of the obtained cached data, so that each application system shares the same cache cluster. Therefore, the application system only needs to configure the cache product type, version, interface implementation type and other information to adapt to the appropriate cache client, and call the cache service through the client without caring about the background cache deployment method, thereby reducing the operation and maintenance of the cache Cost; at the same time, through simple client instance interface encapsulation, the application system can easily and conveniently change the cache product. It can manage heterogeneous cache systems in a unified way, provide a unified configuration center, and provide unified management for single-point, active-standby, distributed architectures, as well as Redis and Memcached; operation and maintenance personnel can manage cache device resources and applications through it The cache configuration of the system, the corresponding relationship between the application system and the device; you can also increase or decrease the cache nodes for the distributed system cache architecture in the configuration center, merge or split the single-point cache system; at the same time, make the use of the same cache product, the same version Application systems can partly or completely share the same set of cache resources, so as to realize the maximum utilization of hardware resources, and at the same time, the cache load of each application system can be manually adjusted; through the cache client adaptation module, the coupling between the cache system and the application system can be reduced sex.
附图说明Description of drawings
图1为本发明实施例一提供的基于多架构分布式缓存的处理方法的流程图;FIG. 1 is a flowchart of a processing method based on a multi-architecture distributed cache provided by Embodiment 1 of the present invention;
图2为本发明实施例二提供的基于多架构分布式缓存的处理方法的流程图;FIG. 2 is a flowchart of a processing method based on a multi-architecture distributed cache provided in Embodiment 2 of the present invention;
图3为本发明实施例三提供的基于多架构分布式缓存的处理装置的结构示意图;FIG. 3 is a schematic structural diagram of a processing device based on a multi-architecture distributed cache provided by Embodiment 3 of the present invention;
图4为本发明实施例四提供的基于多架构分布式缓存的处理装置的结构示意图。FIG. 4 is a schematic structural diagram of a processing device based on a multi-architecture distributed cache provided by Embodiment 4 of the present invention.
具体实施方式Detailed ways
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments It is a part of embodiments of the present invention, but not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
图1为本发明实施例一提供的基于多架构分布式缓存的处理方法的流程图,如图1所示,本实施例的方法包括:Fig. 1 is a flowchart of a processing method based on a multi-architecture distributed cache provided by Embodiment 1 of the present invention. As shown in Fig. 1 , the method of this embodiment includes:
步骤101、在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识。Step 101. When the application system is started, obtain and save cached configuration information in the configuration center, where the cached configuration information includes the current application system identifier.
在本实施例中,具体的,提供了配置中心、部署在各应用系统中的缓存客户端适配模块、以及缓存资源池。其中,配置中心用于保存各应用系统的缓存配置信息、以及现有缓存集群资源信息,对外提供高可用的配置管理服务。每一个应用系统中配置了一个缓存客户端适配模块。缓存资源池中包含各种异构缓存系统的服务器缓存集群,缓存资源池中包含Codis-Redis集群、Twemproxy-Memcache集群、Redis-Cluster集群,以及两种产品的单点、主备节点。In this embodiment, specifically, a configuration center, a cache client adaptation module deployed in each application system, and a cache resource pool are provided. Among them, the configuration center is used to save the cache configuration information of each application system and the existing cache cluster resource information, and provide high-availability configuration management services to the outside world. Each application system is configured with a cache client adaptation module. The cache resource pool includes server cache clusters of various heterogeneous cache systems. The cache resource pool includes Codis-Redis clusters, Twemproxy-Memcache clusters, Redis-Cluster clusters, and single-point, active and standby nodes of the two products.
本实施例的执行主体可以为设置了应用系统、以及缓存客户端适配模块、的装置和设备。在应用系统启动时,调用缓存客户端适配模块,去读取配置中心中的缓存配置信息,同时可以建立对配置中心的配置字段的监听。然后,应用系统中的缓存客户端适配模块可以保存读取到的缓存配置信息。The executor of this embodiment may be an apparatus and device provided with an application system and a caching client adaptation module. When the application system is started, the cache client adaptation module is invoked to read the cache configuration information in the configuration center, and at the same time, monitor the configuration fields of the configuration center. Then, the cache client adaptation module in the application system can save the read cache configuration information.
其中,缓存配置信息中包括了当前应用系统标识、缓存信息以及缓存入口地址,同时包括了应用系统标识、缓存信息、以及缓存入口地址的对应关系,还包括了缓存节点的个数。其中,缓存信息包括了缓存类型、缓存版本号、客户端语言和架构种类。并且,缓存入口地址是与缓存集群相对应的。The cache configuration information includes the current application system identifier, cache information, and cache entry address, as well as the correspondence between the application system identifier, cache information, and cache entry address, and the number of cache nodes. Wherein, the cache information includes cache type, cache version number, client language and architecture type. Moreover, the cache entry address corresponds to the cache cluster.
举例来说,表1为缓存配置信息,如缓存配置信息表1所示。For example, Table 1 is cache configuration information, as shown in Table 1 of cache configuration information.
表1为缓存配置信息Table 1 is the cache configuration information
步骤102、根据缓存配置信息,适配出与当前应用系统对应的客户端实例。Step 102, according to the cached configuration information, adapt the client instance corresponding to the current application system.
在本实施例中,具体的,缓存客户端适配模块,涵盖了企业现有缓存多种编程语言的客户端集合,能够根据从配置中心读取的缓存配置信息适配出合适的客户端实例,从而该模块可以根据配置中心的缓存配置信息,生成具体对应某种语言某种架构的客户端实例以供应用系统使用。进而可以根据缓存配置信息,去适配出与当前应用系统对应的客户端实例。In this embodiment, specifically, the cache client adaptation module covers the enterprise's existing cache client collection in multiple programming languages, and can adapt a suitable client instance according to the cache configuration information read from the configuration center , so that the module can generate a client instance corresponding to a certain language and a certain architecture for use by the application system according to the cached configuration information in the configuration center. Furthermore, the client instance corresponding to the current application system can be adapted according to the cached configuration information.
步骤103、根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据。Step 103: Obtain cached data according to the cache configuration information and the client instance corresponding to the current application system.
其中,步骤103的具体实现方式为:Wherein, the concrete realization mode of step 103 is:
根据缓存配置信息,确定与当前应用系统标识对应的缓存入口地址;Determine the cache entry address corresponding to the current application system identifier according to the cache configuration information;
使用与当前应用系统对应的客户端实例,获取与缓存入口地址对应的缓存集群中的缓存数据。Use the client instance corresponding to the current application system to obtain the cache data in the cache cluster corresponding to the cache entry address.
在本实施例中,具体的,首先根据缓存配置信息中的当前应用系统标识,应用系统标识、缓存信息、以及缓存入口地址的对应关系,确定出与当前应用系统标识对应的缓存入口地址。然后就可以使用与当前应用系统对应的客户端实例,获取与缓存入口地址对应的缓存集群中的缓存数据,进而可以根据缓存配置信息适配出合适的客户端实例,使得应用系统使用生成的客户端实例去使用缓存数据。In this embodiment, specifically, the cache entry address corresponding to the current application system identifier is determined first according to the current application system identifier in the cache configuration information, the corresponding relationship between the application system identifier, cache information, and cache entry address. Then you can use the client instance corresponding to the current application system to obtain the cache data in the cache cluster corresponding to the cache entry address, and then adapt a suitable client instance according to the cache configuration information, so that the application system uses the generated client end instance to use cached data.
举例来说,应用系统A中的缓存客户端适配模块,可以适配出Redis客户端的客户端实例,支持的C语言、架构种类Redis,缓存版本号3.0,对应的缓存集群为Redis-Cluster;应用系统B中的缓存客户端适配模块,可以适配出Redis客户端的客户端实例,支持的JAVA语言、架构种类Redis,缓存版本号3.0,对应的缓存集群为Redis-Cluster;应用系统C中的缓存客户端适配模块,可以适配出Redis客户端的客户端实例,支持的JAVA语言、架构种类Redis,缓存版本号2.9,对应的缓存集群为Codis-Redis;应用系统D中的缓存客户端适配模块,可以适配出Memcached客户端的客户端实例,支持的JAVA语言、架构种类Memcached,缓存版本号1.4.14,对应的缓存集群为Twemproxy-Memcached;应用系统E中的缓存客户端适配模块,可以适配出Memcached客户端的客户端实例,支持的JAVA语言、架构种类Memcached,缓存版本号1.4.14,对应的缓存集群为Single。For example, the cache client adaptation module in application system A can adapt the client instance of the Redis client, the supported C language, architecture type Redis, cache version number 3.0, and the corresponding cache cluster is Redis-Cluster; The cache client adaptation module in application system B can adapt the client instance of Redis client, the supported JAVA language, architecture type Redis, cache version number 3.0, and the corresponding cache cluster is Redis-Cluster; in application system C The cache client adaptation module can adapt the client instance of the Redis client, the supported JAVA language and architecture type Redis, the cache version number is 2.9, and the corresponding cache cluster is Codis-Redis; the cache client in the application system D The adaptation module can adapt the client instance of the Memcached client, the supported JAVA language, architecture type Memcached, the cache version number 1.4.14, and the corresponding cache cluster is Twemproxy-Memcached; the cache client adaptation in the application system E The module can adapt the client instance of the Memcached client, the supported JAVA language, architecture type Memcached, the cache version number 1.4.14, and the corresponding cache cluster is Single.
步骤104、将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。Step 104: Add the current application system identifier to the key value of the obtained cache data, so that all application systems share the same cache cluster.
在本实施例中,具体的,缓存客户端适配模块能够根据应用系统名称为键值增加前缀,从而避免缓存键值冲突、进行逻辑隔离。具体来说,缓存客户端适配模块会在获取到的缓存数据的键值中,增加当前应用系统标识,并且这个当前应用系统标识是应用系统的唯一标识,从而逻辑上区分各应用系统的命名空间,使各应用系统能够公用同一套物理缓存,即各应用系统共用同一缓存集群。In this embodiment, specifically, the cache client adaptation module can add a prefix to the key value according to the application system name, thereby avoiding cache key value conflicts and performing logical isolation. Specifically, the cache client adaptation module will add the current application system identifier to the key value of the obtained cache data, and this current application system identifier is the unique identifier of the application system, thereby logically distinguishing the naming of each application system Space, so that each application system can share the same set of physical cache, that is, each application system shares the same cache cluster.
举例来说,可以使得使用同一版本、同一产品、不同客户端语言的应用系统A和应用系统B可以共用同一套物理缓存服务器,即共用同一缓存集群。For example, application system A and application system B using the same version, the same product, and different client languages can share the same set of physical cache servers, that is, share the same cache cluster.
本实施例通过在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。从而应用系统只需要配置好缓存产品类型、版本、接口实现种类等信息,就能适配到合适的缓存客户端,通过客户端调用缓存服务,无需关心后台缓存部署方式,进而降低缓存的运维成本;同时,通过简单的客户端实例接口封装,应用系统可以简单方便的更改缓存产品。可以对异构缓存系统进行统一管理,提供统一的配置中心,能够对单点、主备、分布式架构,以及Redis、Memcached提供统一的管理;运维人员可以通过其管理缓存设备资源、管理应用系统的缓存配置、应用系统与设备的对应关系;也可以在配置中心为分布式系统缓存架构增减缓存节点,归并或者分拆单点式缓存系统;同时,使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用,同时也可以人工调整各应用系统的缓存负载;通过缓存客户端适配模块,可以降低了缓存系统与应用系统的耦合性。In this embodiment, when the application system is started, the cache configuration information in the configuration center is obtained and saved, and the cache configuration information includes the current application system identifier; according to the cache configuration information, a client instance corresponding to the current application system is adapted; The configuration information and the client instance corresponding to the current application system are used to obtain the cached data; the current application system identifier is added to the key value of the obtained cached data, so that each application system can share the same cache cluster. Therefore, the application system only needs to configure the cache product type, version, interface implementation type and other information to adapt to the appropriate cache client, and call the cache service through the client without caring about the background cache deployment method, thereby reducing the operation and maintenance of the cache Cost; at the same time, through simple client instance interface encapsulation, the application system can easily and conveniently change the cache product. It can manage heterogeneous cache systems in a unified way, provide a unified configuration center, and provide unified management for single-point, active-standby, distributed architectures, as well as Redis and Memcached; operation and maintenance personnel can manage cache device resources and applications through it The cache configuration of the system, the corresponding relationship between the application system and the device; you can also increase or decrease the cache nodes for the distributed system cache architecture in the configuration center, merge or split the single-point cache system; at the same time, make the use of the same cache product, the same version Application systems can partly or completely share the same set of cache resources, so as to realize the maximum utilization of hardware resources, and at the same time, the cache load of each application system can be manually adjusted; through the cache client adaptation module, the coupling between the cache system and the application system can be reduced sex.
图2为本发明实施例二提供的基于多架构分布式缓存的处理方法的流程图,在实施例一的基础上,如图2所示,本实施例的方法,在步骤102之前,还包括:FIG. 2 is a flow chart of the processing method based on multi-architecture distributed cache provided by Embodiment 2 of the present invention. On the basis of Embodiment 1, as shown in FIG. 2 , the method of this embodiment, before step 102, also includes :
步骤201、获取并保存配置中心中的修改后的缓存配置信息,其中,修改后的缓存配置信息为配置中心接收到用户发送的修改指令,并根据修改指令对缓存配置信息进行修改后得到的。Step 201. Obtain and save the modified cache configuration information in the configuration center, where the modified cache configuration information is obtained after the configuration center receives a modification instruction sent by the user and modifies the cache configuration information according to the modification instruction.
在本实施例中,具体的,用户可以登录配置中心,去配置与应用系统对应的缓存配置信息,具体来说,用户向配置中心发送修改指令,配置中心根据修改指令对缓存配置信息进行修改后得到修改后的缓存配置信息。进而可以对缓存客户端类型、缓存产品种类、缓存版本号等等进行修改;同时可以根据各缓存节点的负载,在线调整各应用系统的缓存配置信息。In this embodiment, specifically, the user can log in to the configuration center to configure the cache configuration information corresponding to the application system. Specifically, the user sends a modification instruction to the configuration center, and the configuration center modifies the cache configuration information according to the modification instruction. Get the modified cache configuration information. Furthermore, the cache client type, cache product type, cache version number, etc. can be modified; at the same time, the cache configuration information of each application system can be adjusted online according to the load of each cache node.
由于调用缓存客户端适配模块建立了对配置中心的配置字段的监听,进而修改后的缓存配置信息能够主动推送到应用系统的缓存客户端适配模块中,进而应用系统的缓存客户端适配模块可以获取并保存修改后的缓存配置信息。然后,应用系统就可以根据修改后的缓存配置信息,去使用缓存集群。Since the cache client adaptation module is called to monitor the configuration field of the configuration center, the modified cache configuration information can be actively pushed to the cache client adaptation module of the application system, and then the cache client adaptation module of the application system The module can obtain and save the modified cache configuration information. Then, the application system can use the cache cluster according to the modified cache configuration information.
本实施例通过在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;并且可以获取并保存配置中心中的修改后的缓存配置信息;然后根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。从而应用系统只需要配置好缓存产品类型、版本、接口实现种类等信息,就能适配到合适的缓存客户端,通过客户端调用缓存服务,无需关心后台缓存部署方式,进而降低缓存的运维成本;同时,通过简单的客户端实例接口封装,应用系统可以简单方便的更改缓存产品。可以对异构缓存系统进行统一管理,提供统一的配置中心,能够对单点、主备、分布式架构,以及Redis、Memcached提供统一的管理;运维人员可以通过其管理缓存设备资源、管理应用系统的缓存配置、应用系统与设备的对应关系;也可以在配置中心为分布式系统缓存架构增减缓存节点,归并或者分拆单点式缓存系统;在配置中心修改缓存配置信息之后,能够对所有应用系统的缓存客户端适配模块推送更新后的缓存配置信息;同时,使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用,同时也可以人工调整各应用系统的缓存负载;通过缓存客户端适配模块,可以降低了缓存系统与应用系统的耦合性。In this embodiment, when the application system is started, the cache configuration information in the configuration center is obtained and saved, and the cache configuration information includes the current application system identifier; and the modified cache configuration information in the configuration center can be obtained and saved; then according to the cache configuration Information, adapt the client instance corresponding to the current application system; obtain cached data according to the cache configuration information and the client instance corresponding to the current application system; add the current application system identifier to the key value of the obtained cached data , so that all application systems share the same cache cluster. Therefore, the application system only needs to configure the cache product type, version, interface implementation type and other information to adapt to the appropriate cache client, and call the cache service through the client without caring about the background cache deployment method, thereby reducing the operation and maintenance of the cache Cost; at the same time, through simple client instance interface encapsulation, the application system can easily and conveniently change the cache product. It can manage heterogeneous cache systems in a unified way, provide a unified configuration center, and provide unified management for single-point, active-standby, distributed architectures, as well as Redis and Memcached; operation and maintenance personnel can manage cache device resources and applications through it The cache configuration of the system, the corresponding relationship between the application system and the device; you can also increase or decrease the cache nodes for the distributed system cache architecture in the configuration center, merge or split the single-point cache system; after modifying the cache configuration information in the configuration center, you can The cache client adaptation module of all application systems pushes the updated cache configuration information; at the same time, application systems using the same cache product and version can share the same set of cache resources partially or completely, so as to realize the maximum utilization of hardware resources, and at the same time It is also possible to manually adjust the cache load of each application system; through the cache client adaptation module, the coupling between the cache system and the application system can be reduced.
图3为本发明实施例三提供的基于多架构分布式缓存的处理装置的结构示意图,如图3所示,本实施例提供的装置,包括:FIG. 3 is a schematic structural diagram of a processing device based on a multi-architecture distributed cache provided in Embodiment 3 of the present invention. As shown in FIG. 3 , the device provided in this embodiment includes:
第一获取模块31,用于在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;The first obtaining module 31 is used to obtain and save the cache configuration information in the configuration center when the application system is started, and the cache configuration information includes the current application system identifier;
确定模块32,用于根据缓存配置信息,适配出与当前应用系统对应的客户端实例;The determining module 32 is configured to adapt the client instance corresponding to the current application system according to the cache configuration information;
缓存获取模块33,用于根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;A cache acquisition module 33, configured to acquire cache data according to the cache configuration information and the client instance corresponding to the current application system;
添加模块34,用于将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。The adding module 34 is configured to add the current application system identifier to the key value of the acquired cache data, so that all application systems share the same cache cluster.
本实施例的基于多架构分布式缓存的处理装置可执行本发明实施例一提供的基于多架构分布式缓存的处理方法,其实现原理相类似,此处不再赘述。The processing device based on the multi-architecture distributed cache in this embodiment can execute the processing method based on the multi-architecture distributed cache provided in Embodiment 1 of the present invention, and its implementation principles are similar, so details will not be repeated here.
本实施例通过在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。从而应用系统只需要配置好缓存产品类型、版本、接口实现种类等信息,就能适配到合适的缓存客户端,通过客户端调用缓存服务,无需关心后台缓存部署方式,进而降低缓存的运维成本;同时,通过简单的客户端实例接口封装,应用系统可以简单方便的更改缓存产品。可以对异构缓存系统进行统一管理,提供统一的配置中心,能够对单点、主备、分布式架构,以及Redis、Memcached提供统一的管理;运维人员可以通过其管理缓存设备资源、管理应用系统的缓存配置、应用系统与设备的对应关系;也可以在配置中心为分布式系统缓存架构增减缓存节点,归并或者分拆单点式缓存系统;同时,使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用,同时也可以人工调整各应用系统的缓存负载;通过缓存客户端适配模块,可以降低了缓存系统与应用系统的耦合性。In this embodiment, when the application system is started, the cache configuration information in the configuration center is obtained and saved, and the cache configuration information includes the current application system identifier; according to the cache configuration information, a client instance corresponding to the current application system is adapted; The configuration information and the client instance corresponding to the current application system are used to obtain the cached data; the current application system identifier is added to the key value of the obtained cached data, so that each application system can share the same cache cluster. Therefore, the application system only needs to configure the cache product type, version, interface implementation type and other information to adapt to the appropriate cache client, and call the cache service through the client without caring about the background cache deployment method, thereby reducing the operation and maintenance of the cache Cost; at the same time, through simple client instance interface encapsulation, the application system can easily and conveniently change the cache product. It can manage heterogeneous cache systems in a unified way, provide a unified configuration center, and provide unified management for single-point, active-standby, distributed architectures, as well as Redis and Memcached; operation and maintenance personnel can manage cache device resources and applications through it The cache configuration of the system, the corresponding relationship between the application system and the device; you can also increase or decrease the cache nodes for the distributed system cache architecture in the configuration center, merge or split the single-point cache system; at the same time, make the use of the same cache product, the same version Application systems can partly or completely share the same set of cache resources, so as to realize the maximum utilization of hardware resources, and at the same time, the cache load of each application system can be manually adjusted; through the cache client adaptation module, the coupling between the cache system and the application system can be reduced sex.
图4为本发明实施例四提供的基于多架构分布式缓存的处理装置的结构示意图,在实施例三的基础上,如图4所示,本实施例提供的装置,缓存获取模块33,包括:FIG. 4 is a schematic structural diagram of a processing device based on a multi-architecture distributed cache provided in Embodiment 4 of the present invention. On the basis of Embodiment 3, as shown in FIG. 4 , the device provided in this embodiment, a cache acquisition module 33, includes :
地址确定子模块331,用于根据缓存配置信息,确定与当前应用系统标识对应的缓存入口地址;The address determination sub-module 331 is configured to determine the cache entry address corresponding to the current application system identifier according to the cache configuration information;
缓存获取子模块332,用于使用与当前应用系统对应的客户端实例,获取与缓存入口地址对应的缓存集群中的缓存数据。The cache obtaining sub-module 332 is configured to use the client instance corresponding to the current application system to obtain cache data in the cache cluster corresponding to the cache entry address.
本实施例提供的装置,还包括:The device provided in this embodiment also includes:
第二获取模块41,用于在确定模块32根据缓存配置信息,适配出与当前应用系统对应的客户端实例之前,获取并保存配置中心中的修改后的缓存配置信息,其中,修改后的缓存配置信息为配置中心接收到用户发送的修改指令,并根据修改指令对缓存配置信息进行修改后得到的。The second obtaining module 41 is used to obtain and save the modified cache configuration information in the configuration center before the determination module 32 adapts the client instance corresponding to the current application system according to the cache configuration information, wherein the modified The cache configuration information is obtained after the configuration center receives the modification instruction sent by the user and modifies the cache configuration information according to the modification instruction.
缓存配置信息,还包括以下的至少一种:应用系统标识、缓存信息、以及缓存入口地址的对应关系,缓存节点的个数;The cache configuration information also includes at least one of the following: application system identification, cache information, and the correspondence between cache entry addresses, and the number of cache nodes;
其中,缓存信息包括了缓存类型、缓存版本号、客户端语言和架构种类。Wherein, the cache information includes cache type, cache version number, client language and architecture type.
应用系统中配置了一个缓存客户端适配模块。A cache client adaptation module is configured in the application system.
本实施例的基于多架构分布式缓存的处理装置可执行本发明实施例二提供的基于多架构分布式缓存的处理方法,其实现原理相类似,此处不再赘述。The processing device based on the multi-architecture distributed cache in this embodiment can execute the processing method based on the multi-architecture distributed cache provided in Embodiment 2 of the present invention, and its implementation principles are similar, so details are not repeated here.
本实施例通过在应用系统启动时,获取并保存配置中心中的缓存配置信息,缓存配置信息包括当前应用系统标识;并且可以获取并保存配置中心中的修改后的缓存配置信息;然后根据缓存配置信息,适配出与当前应用系统对应的客户端实例;根据缓存配置信息、以及与当前应用系统对应的客户端实例,获取缓存数据;将获取到的缓存数据的键值中添加当前应用系统标识,以使各应用系统共用同一缓存集群。从而应用系统只需要配置好缓存产品类型、版本、接口实现种类等信息,就能适配到合适的缓存客户端,通过客户端调用缓存服务,无需关心后台缓存部署方式,进而降低缓存的运维成本;同时,通过简单的客户端实例接口封装,应用系统可以简单方便的更改缓存产品。可以对异构缓存系统进行统一管理,提供统一的配置中心,能够对单点、主备、分布式架构,以及Redis、Memcached提供统一的管理;运维人员可以通过其管理缓存设备资源、管理应用系统的缓存配置、应用系统与设备的对应关系;也可以在配置中心为分布式系统缓存架构增减缓存节点,归并或者分拆单点式缓存系统;在配置中心修改缓存配置信息之后,能够对所有应用系统的缓存客户端适配模块推送更新后的缓存配置信息;同时,使得使用相同缓存产品、相同版本的应用系统可以部分或者完全共享同一套缓存资源,从而实现硬件资源的最大利用,同时也可以人工调整各应用系统的缓存负载;通过缓存客户端适配模块,可以降低了缓存系统与应用系统的耦合性。In this embodiment, when the application system is started, the cache configuration information in the configuration center is obtained and saved, and the cache configuration information includes the current application system identifier; and the modified cache configuration information in the configuration center can be obtained and saved; then according to the cache configuration Information, adapt the client instance corresponding to the current application system; obtain cached data according to the cache configuration information and the client instance corresponding to the current application system; add the current application system identifier to the key value of the obtained cached data , so that all application systems share the same cache cluster. Therefore, the application system only needs to configure the cache product type, version, interface implementation type and other information to adapt to the appropriate cache client, and call the cache service through the client without caring about the background cache deployment method, thereby reducing the operation and maintenance of the cache Cost; at the same time, through simple client instance interface encapsulation, the application system can easily and conveniently change the cache product. It can manage heterogeneous cache systems in a unified way, provide a unified configuration center, and provide unified management for single-point, active-standby, distributed architectures, as well as Redis and Memcached; operation and maintenance personnel can manage cache device resources and applications through it The cache configuration of the system, the corresponding relationship between the application system and the device; you can also increase or decrease the cache nodes for the distributed system cache architecture in the configuration center, merge or split the single-point cache system; after modifying the cache configuration information in the configuration center, you can The cache client adaptation module of all application systems pushes the updated cache configuration information; at the same time, application systems using the same cache product and version can share the same set of cache resources partially or completely, so as to realize the maximum utilization of hardware resources, and at the same time It is also possible to manually adjust the cache load of each application system; through the cache client adaptation module, the coupling between the cache system and the application system can be reduced.
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。Those of ordinary skill in the art can understand that all or part of the steps for implementing the above method embodiments can be completed by program instructions and related hardware. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps including the above-mentioned method embodiments; and the aforementioned storage medium includes: ROM, RAM, magnetic disk or optical disk and other various media that can store program codes.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent replacements are made to some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787071.XA CN106341402B (en) | 2016-08-30 | 2016-08-30 | Processing method and device based on multi-architecture distributed cache |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610787071.XA CN106341402B (en) | 2016-08-30 | 2016-08-30 | Processing method and device based on multi-architecture distributed cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106341402A CN106341402A (en) | 2017-01-18 |
CN106341402B true CN106341402B (en) | 2019-11-12 |
Family
ID=57822370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610787071.XA Active CN106341402B (en) | 2016-08-30 | 2016-08-30 | Processing method and device based on multi-architecture distributed cache |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106341402B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147312B (en) * | 2019-12-31 | 2022-11-22 | 深圳云天励飞技术股份有限公司 | Resource allocation management method and device, resource allocation cache management method and device, and allocation management system |
CN112395319B (en) * | 2020-11-25 | 2024-05-14 | 北京神州数码云科信息技术有限公司 | Cache sharing method, device, server and storage medium |
CN114443250A (en) * | 2022-01-24 | 2022-05-06 | 福建天泉教育科技有限公司 | Method and terminal for optimizing application starting speed |
CN114978665A (en) * | 2022-05-17 | 2022-08-30 | 中原银行股份有限公司 | Data verification method and data isolation system based on Redis distributed cache platform |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042680A (en) * | 2006-03-23 | 2007-09-26 | 国际商业机器公司 | Data processing system, cache system and method for updating an invalid coherency state |
CN101510205A (en) * | 2009-03-16 | 2009-08-19 | 广州市有福数码科技有限公司 | Method for implementing automatically clustering photographs, apparatus and system |
CN102932696A (en) * | 2012-09-29 | 2013-02-13 | 西安空间无线电技术研究所 | Satellite-borne high-speed data multiplexer system and realizing method thereof |
CN103257889A (en) * | 2012-02-17 | 2013-08-21 | 联想(北京)有限公司 | Device and method for managing application programs of hybrid architecture system |
CN105321522A (en) * | 2014-08-06 | 2016-02-10 | 航天恒星科技有限公司 | Audio data processing and transmitting method and device |
CN105579979A (en) * | 2013-07-25 | 2016-05-11 | 格罗方德半导体公司 | Three-dimensional processing system with multiple caches that can be split, combined and managed according to more than one set of rules and/or configurations |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10264029B2 (en) * | 2009-10-30 | 2019-04-16 | Time Warner Cable Enterprises Llc | Methods and apparatus for packetized content delivery over a content delivery network |
US9787605B2 (en) * | 2015-01-30 | 2017-10-10 | Nicira, Inc. | Logical router with multiple routing components |
-
2016
- 2016-08-30 CN CN201610787071.XA patent/CN106341402B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042680A (en) * | 2006-03-23 | 2007-09-26 | 国际商业机器公司 | Data processing system, cache system and method for updating an invalid coherency state |
CN101510205A (en) * | 2009-03-16 | 2009-08-19 | 广州市有福数码科技有限公司 | Method for implementing automatically clustering photographs, apparatus and system |
CN103257889A (en) * | 2012-02-17 | 2013-08-21 | 联想(北京)有限公司 | Device and method for managing application programs of hybrid architecture system |
CN102932696A (en) * | 2012-09-29 | 2013-02-13 | 西安空间无线电技术研究所 | Satellite-borne high-speed data multiplexer system and realizing method thereof |
CN105579979A (en) * | 2013-07-25 | 2016-05-11 | 格罗方德半导体公司 | Three-dimensional processing system with multiple caches that can be split, combined and managed according to more than one set of rules and/or configurations |
CN105321522A (en) * | 2014-08-06 | 2016-02-10 | 航天恒星科技有限公司 | Audio data processing and transmitting method and device |
Also Published As
Publication number | Publication date |
---|---|
CN106341402A (en) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6723329B2 (en) | System, method, and computer readable storage medium for customizable event-triggered calculations at edge locations | |
US11086531B2 (en) | Scaling events for hosting hierarchical data structures | |
CN107590001B (en) | Load balancing method and device, storage medium and electronic equipment | |
US10104037B2 (en) | Method and system for network access request control | |
US9304815B1 (en) | Dynamic replica failure detection and healing | |
US6523032B1 (en) | Servicing database requests using read-only database servers coupled to a master database server | |
US10803015B2 (en) | Caching system and method | |
US10498625B1 (en) | Distributed testing service | |
US20200174838A1 (en) | Utilizing accelerators to accelerate data analytic workloads in disaggregated systems | |
JP2018088293A (en) | Database system providing single tenant environment and a plurality of tenant environments | |
US20160212206A1 (en) | Deterministic database system and data transferring method thereof | |
CN106341402B (en) | Processing method and device based on multi-architecture distributed cache | |
US9727524B2 (en) | Remote direct memory access (RDMA) optimized high availability for in-memory data storage | |
CN110932912A (en) | Method for realizing unified management of configuration files under micro-service architecture | |
US9910881B1 (en) | Maintaining versions of control plane data for a network-based service control plane | |
US10419572B2 (en) | Caching system and method | |
CN107766343B (en) | Data storage method and device and storage server | |
US20210026561A1 (en) | Protecting writes to shared storage in a distributed search system | |
US20190238505A1 (en) | Applying a consistent hash to a distributed domain name server cache | |
US20160357806A1 (en) | Server-based management for querying eventually-consistent database | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
CN111966482A (en) | Edge computing system | |
US20180300369A1 (en) | Secure query interface | |
CN115658171A (en) | Method and system for solving dynamic refreshing of java distributed application configuration in lightweight mode | |
CN112965837B (en) | Configuration and service hot reload updating method and device, computer equipment and storage medium |
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 |