一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

缓存部署系统、缓存部署方法、电子设备及存储介质与流程

2022-06-01 15:52:38 来源:中国专利 TAG:


1.本技术涉及数据缓存技术领域,具体而言,本技术涉及一种缓存部署系统、缓存部署方法、电子设备及存储介质。


背景技术:

2.现有技术通常根据常用的集群形态整体构建部署包,需要时,通过部署工具进行部署并启动,线下提供实例调用地址,使用者配置缓存实例地址进行调用;资源不足时,通过缓存的cpu,内存使用情况进行实例的新增部署,加入集群,多为运维人员手动操作。
3.用户申请使用redis中间件无规范流程,没有方便的通道;全部流程为线下人工操作,费时费力且易出错;并且应用配置使用redis需要重启应用,影响用户体验。


技术实现要素:

4.本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的缓存部署系统、缓存部署方法、电子设备及存储介质。
5.第一方面,提供了一种缓存部署系统,该系统包括:
6.缓存管理平台,用于接收用户输入的模板内容,将模板内容导入至模板文件中获得部署请求,将部署请求发送至缓存计算平台;
7.缓存计算平台,用于根据部署请求确定部署所需的redis集群的规模,并根据规模构建并启动redis集群,将redis集群的地址以及代理服务器集群的地址写入环境变量;
8.代理程序,用于读取环境变量以获得redis集群的地址以及代理服务器集群的地址,将redis集群的地址注册至代理服务器集群;
9.代理服务器集群,用于将redis集群的地址推送至应用程序,以使得应用程序获得redis集群地址并进行缓存数据的读写。
10.在一个可能的实现方式中,代理程序还用于根据redis集群的地址,监控redis集群中部署的缓存资源的使用状态,将监控结果上报至缓存管理平台。
11.在一个可能的实现方式中,缓存管理平台还用于:若监控结果符合预设的扩容要求,则向缓存计算平台发送扩容请求,以使得缓存计算平台增加redis集群中redis节点的个数。
12.在一个可能的实现方式中,模板内容还包括用户的唯一标识以及应用程序的唯一标识;
13.代理服务器集群还用于将redis集群的地址同步至缓存管理平台,以使得缓存管理平台建立用户的唯一标识、应用程序的唯一标识以及redis集群的地址的映射关系。
14.在一个可能的实现方式中,缓存管理平台还用于根据映射关系,向用户提供redis集群的地址以及监控结果。
15.在一个可能的实现方式中,代理服务器集群包括主代理服务器以及从代理服务器;
和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
35.本技术提供的缓存部署系统、缓存部署方法、电子设备及存储介质,旨在解决现有技术的如上技术问题。
36.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
37.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
38.本技术实施例中提供了一种缓存部署系统,如图1所示,该系统包括:
39.缓存管理平台101,用于接收用户输入的模板内容,将模板内容导入至模板文件中获得部署请求,将部署请求发送至缓存计算平台,模板内容包括用户开发的应用程序所需的缓存资源。
40.本技术实施例的缓存管理平台通过向用户提供模板文件,从而使用户根据模板文件输入相应的模板内容,即可快速生成部署请求。应当理解的是,本技术实施例的模板内容用于记录配置应用程序所需缓存资源的规格。
41.参见图2,为本技术实施例的模板文件的界面示意图,如图所示,本技术实施例的模板文件的界面非常直观,可以设置版本类型、版本号、架构类型、分片数、节点类型、实例规格以及密码设置等模板内容。
42.具体地,本技术实施例支持两种版本类型,分别为社区办以及企业版,其中社区版能够做到即开即用,简单上手,并且完全兼容redis协议。
43.版本号为指用来存储缓存资源的redis集群的版本号,本技术实施例支持创建redis5.0、redis4.0以及redis2.8等多个版本的redis集群,从而为用户提供了丰富的应用场景,为了进一步方便用户结合自身的实际需求选择版本号,还支持查看每种版本号的redis集群所支持的命令。
44.架构类型提供了集群版、标准版以及读写分离版等多种类型。
45.分片数是指将数据,在本技术实施例中特指缓存资源,拆分到多少个redis实例中,这样每个实例将只包含所有键的子集。redis的分片承担着两个主要目标:
46.允许使用很多电脑的内存总和来支持更大的数据库。没有分片,就被局限于单机能支持的内存容量。
47.允许伸缩计算能力到多核或多服务器,伸缩网络带宽到多服务器或多网络适配器。
48.本技术实施例可以支持4分配、8分片、10分片等。
49.节点类型即redis节点是单副本还是双副本,以双副本为例,双副本是双击热备架构,双机热备的工作机制实际上是为整个网络系统的中心服务器提供了一种故障自动恢复
能力,具有数据持久化,提供数据可靠性。
50.实例规格也即redis节点的规格,该规格与上述架构类型存在对应关系,比如当选择集群版架构类型时,实例规格可以是16g集群版(8节点),模板文件还只是显示不同规格下的具体细节,例如在16g集群版(8节点)的规格下,每秒新建连接数:5万,最大连接数8万,每分片贷款:96mbyte最大内网贷款:768mbyte,集群机构8个节点。
51.缓存管理平台在获得部署请求后,将部署请求发送至缓存计算平台,以使得缓存计算平台具体计算创建的redis集群的规模。
52.缓存计算平台102,用于根据部署请求确定部署所需的redis集群的规模,并根据规模构建并启动redis集群,将redis集群的地址以及代理服务器集群的地址写入环境变量。
53.本技术实施例由缓存计算平台接收部署请求,并根据部署请求中记录的模板内容确定所需的redis集群的规模,实现缓存实例容器化部署,容器技术可根据缓存实例运行情况,实现弹性扩缩容。
54.redis集群是一个分布式(distributed)、容错(fault-tolerant)的redis实现,redis集群可以使用的功能是普通单机redis所能使用的功能的一个子集(subset)。redis集群中不存在中心(central)节点或者代理(proxy)节点,集群的其中一个主要设计目标是达到线性可扩展性(linear scalability)。redis集群提供了一种运行redis的方式,其中数据在多个redis节点间自动分区。redis集群还在分区期间提供一定程度的可用性,即在实际情况下能够在某些节点发生故障或无法通信时继续运行。本技术实施例的redis集群用于存储应用程序所需的缓存资源。
55.环境变量(environment variables)指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。在本技术实施例中,环境变量用于存储redis集群的地址以及代理服务器集群的地址。记录redis集群的地址为后续应用程序利用redis集群部署缓存做准备,记录代理服务器集群,是因为本技术实施例中向应用程序推送redis集群地址的事项由代理服务器执行。
56.代理程序103,用于读取环境变量以获得redis集群的地址以及代理服务器集群的地址,将redis集群的地址注册至代理服务器集群。
57.本技术实施例通过设置代理程序,由代理程序将redis集群的地址注册至代理服务器集群,使得代理服务器后续将redis集群的地址推送至应用程序。
58.代理服务器集群104,用于将redis集群的地址推送至应用程序,以使得应用程序获得redis集群地址并进行缓存数据的读写。
59.本技术实施例的缓存部署系统,通过缓存管理平台接收用户输入的模板内容,将模板内容到模板文件获得部署请求,相比现有技术完全由用户自己编写代码生成部署请求,提高了部署效率,并且由缓存计算平台根据部署请求确定redis集群的规模,能够适应性构建redis集群,避免redis集群容量冗余或不够的问题。
60.在上述各实施例的基础上,作为一种可选实施例,代理程序还用于根据redis集群的地址,监控redis集群中部署缓存资源的使用状态,将监控结果上报至缓存管理平台。
61.本技术实施例的代理程序能够将redis集群的地址注册至代理服务器集群,还有
一个重要的功能是对redis集群中部署的缓存资源的使用状态进行监控,从而为后续扩容redis集群奠定基础。并且,由于用户是通过与缓存管理平台交互的,缓存管理平台相当于前端,所以代理程序将监控结果上报至缓存管理平台,能够达到由缓存管理平台对监控结果进行展示的目的,从而方便用户直观地获取到缓存资源的使用状态。
62.作为一种可选实施例,代理程序与redis集群部署在一起,同属一个jvm(java virtual machine,java虚拟机),这样代理程序能够更迅速地获取redis集群的负载,也即redis集群中部署的缓存资源的使用状态,使用状态越高,说明redis集群的负载越大,越需要进行扩容。
63.在上述各实施例的基础上,作为一种可选实施例,缓存管理平台还用于:若监控结果符合预设的扩容要求,则向缓存计算平台发送扩容请求,以使得缓存计算平台增加redis集群中redis节点的个数。
64.具体地,例如当缓存资源的使用状态过于频繁,使得redis集群的内存利用率高于95%时,视为监控结果符合预设的扩容要求。缓存计算平台扩容后会缓存资源根据新的分片算法进行后台迁移操作。
65.在上述各实施例的基础上,作为一种可选实施例,模板内容还包括用户的唯一标识以及应用程序的唯一标识;
66.代理服务器集群还用于将redis集群的地址同步至缓存管理平台,以使得缓存管理平台建立用户的唯一标识、应用程序的唯一标识以及redis集群的地址的映射关系。
67.图3为本技术实施例的缓存管理平台、代理服务器集群以及缓存计算平台三方的交互示意图,如图3所示,缓存计算平台在构建redis集群中的各个redis节点后,由代理程序向代理服务器集群上报redis集群的地址,代理服务器集群进一步将redis集群的地址同步至缓存管理平台,用户能够获知应用程序的缓存资源部署的位置。
68.本技术实施例的缓存管理平台可以在本地创建目录,目录的级别从高到低分别为用户、应用程序以及redis集群,例如用户001开发的应用程序110的缓存部署在redis集群200中,那么redis集群200的地址存放在缓存管理平台的用户001的文件夹中应用程序110的子文件夹中,用户001还开发了另一款应用程序120,应用程序120的缓存部署在redis集群300中,那么redis集群300的地址存在在缓存管理平台的用户001的文件夹中应用程序120的子文件夹中。当用户打开缓存管理平台中的用户001的文件夹后,可以看到应用程序110和应用程序120的子文件夹,从而方便用户更好地管理缓存资源。
69.在上述各实施例的基础上,作为一种可选实施例,本技术实施例的缓存管理平台还根据映射关系,向用户提供redis集群的地址以及监控结果。
70.需要说明的是,用户可以向缓存管理平台输入查询请求,查询请求中记录用户的唯一标识,从而缓存管理平台根据查询请求中记录的用户的唯一标识,根据映射关系,提供redis集群的地址以及监控结果。
71.在上述各实施例的基础上,本技术实施例的代理服务器集群包括主代理服务器以及从代理服务器;
72.其中,主代理服务器用户接收代理程序发送的注册请求,注册请中记录redis集群的地址,存储redis集群的地址,将redis集群的地址同步至从代理服务器中。
73.图4为本技术实施例的缓存管理平台与代理服务器集群的交互示意图,如图4所
示,代理程序在获取代理服务器集群的地址后,可以向代理服务器集群中的任意一个主代理服务器建立连接,然后向其发送redis集群的地址,接收到redis集群的地址的主代理服务器将redis集群的地址同步给其他主代理服务器以及与自身连接的从代理服务器,从而使得代理服务器集群均同步有redis集群的地址,主代理服务器还向缓存管理平台同步redis集群的地址。
74.本技术实施例的代理服务器集群中的代理服务器具有两种角色,一种是具有读写权限的主代理服务器,一种是只具有读权限的从代理服务器,从代理服务器具有选主能力。
75.主代理服务器用于接收代理程序发送的注册请求,注册请求中记录redis集群的地址,主代理服务其在接收到注册请求后,一方面存储redis集群的地址,另一方面将redis集群的地址同步至从代理服务器,使得整个代理服务器集群内的所有代理服务器都同步redis集群的地址,那么任何一个代理服务器都可以向应用程序推送redis集群的地址。本技术实施例可以由主代理服务器向缓存管理平台同步redis集群的地址。
76.在上述各实施例的基础上,代理服务器集群中的代理服务器个数为单数,这样能够保证在小部分代理服务器宕机情况下成功选主。
77.图5示出了本技术实施例根据缓存部署系统进行缓存部署的方法,参见图5,可知:
78.s101、用户通过缓存管理平台提供的模板文件,输入目标内容,由缓存管理平台生成部署请求,并将部署请求发送至缓存计算平台;
79.s102、缓存计算平台根据部署请求确定部署所需的redis集群的规模,并根据规模构建并启动redis集群,将redis集群的地址以及代理服务器集群的地址写入环境变量;
80.s104、代理程序读取环境变量,获得redis集群的地址以及代理服务器集群的地址,将redis集群的地址注册到代理服务器集群中;
81.s105、代理服务器集群将redis集群的地址推送至应用程序,应用程序将缓存资源部署至redis集群,完成缓存资源的布置。
82.图6为本技术另一个实施例的缓存部署系统的工作流程图,如图6所示,包括:
83.第一步,缓存技术服务化,线下申请的长流程转换为线上可见的自服务:用户在缓存管理平台通过模板文件可视化地申请应用运行所需缓存资源。通过编排模板的方式提供标准化的redis集群的指标,根据用户的需要,编排出所需redis集群。将redis中间件作为服务提供给用户,按需分配。
84.第二步,部署自动化,集成缓存计算平台,实现redis集群的自动部署及集群搭建:与传统手工及脚本的方式部署、配置缓存集群不同,本技术实施例通过缓存计算平台实现redis集群规模的计算,网络资源的调度,并根据用户编排的模板文件,完成redis集群的部署及自动化脚本配置。节省人工成本,降低人工操作的风险。
85.第三步,注册与发现自动化,使用代理程序及代理服务器集群实现redis集群的自动注册及redis集群地址的推送。通过代理程序实现redis集群启动后的地址信息注册到代理服务器集群,代理服务器集群通过推送功能,实现应用对redis集群的发现,减少了人工的配置及线下与使用者的交互,代理服务器集群提供对缓存的监控,健康检查,在提升效率的同时保障了系统的高可用性。
86.第四步,应用根据获取到的redis集群的地址,实现缓存部署。
87.本技术实施例中提供了一种电子设备,该电子设备包括:存储器和处理器;至少一
个程序,存储于存储器中,用于被处理器执行时,与现有技术相比可实现:通过缓存管理平台接收用户输入的模板内容,将模板内容到模板文件获得部署请求,相比现有技术完全由用户自己编写代码生成部署请求,提高了部署效率,并且由缓存计算平台根据部署请求确定redis集群的规模,能够适应性构建redis集群,避免redis集群容量冗余或不够的问题。
88.在一个可选实施例中提供了一种电子设备,如图7所示,图7所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
89.处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(fieldprogrammable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
90.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
91.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc readonly memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
92.存储器4003用于存储执行本技术方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。
93.本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,通过缓存管理平台接收用户输入的模板内容,将模板内容到模板文件获得部署请求,相比现有技术完全由用户自己编写代码生成部署请求,提高了部署效率,并且由缓存计算平台根据部署请求确定redis集群的规模,能够适应性构建redis集群,避免redis集群容量冗余或不够的问题。
94.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤
的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
95.以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献