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

分布式KV存储系统的制作方法

2022-08-10 21:21:17 来源:中国专利 TAG:

分布式kv存储系统
技术领域
1.本技术涉及分布式领域,具体涉及一种分布式kv存储系统。


背景技术:

2.现有技术中的分布式kv存储系统采用原生redis集群方案存在数据迁移无法灵活配置,migrate命令阻塞工作进程,不支持异地灾备的技术问题。
3.自研系统强依赖于客户端一致性哈希分发策略,并未针对扩缩容场景导致的哈希失效进行补偿设计,导致当生产环境发生扩缩容时,出现数据分布不均,负载失衡等重大问题。
4.后端系统依赖memcached服务集群进行建设,无全景化监控调度系统,无法支撑系统的自动扩缩容,且当出现单节点宕机时,由于memcached内存存储的特点,导致丢失关键业务数据。
5.依赖redis原生主从集群进行系统建设,一主多从模式虽然解决了数据一致性问题,但往往具有单点故障问题,且当出现网络分区情况时,会发生分布式“脑裂”问题,造成全系统存储逻辑混乱,大大降低系统可靠性;原生redis集群针对数据迁移,无法针对slot颗粒度进行配置,并且migrate命令会严重阻塞工作线程执行,系统服务效率大幅度下降。


技术实现要素:

6.针对现有技术中的问题,本技术提供一种分布式kv存储系统,能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
7.为了解决上述问题中的至少一个,本技术提供以下技术方案:
8.第一方面,本技术提供一种分布式kv存储系统,包括:
9.配置管理中心模块,与运维调度平台核心模块连接,所述配置管理中心模块用于接收所述运维调度平台核心模块发送的元数据,并根据预设各级映射转换关系将所述元数据推送至客户端;
10.分布式存储模块,所述分布式存储模块用于存储分布式架构下的kv键值对和接收所述客户端发送的读写请求;
11.所述运维调度平台核心模块用于监控存储集群各节点状态并执行数据迁移备份操作。
12.进一步地,所述配置管理中心模块包括用于控制分布式锁策略的分布式事务协调器。
13.进一步地,所述运维调度平台核心模块包括调度服务组件,所述调度服务组件用于建立两地集群数据通道并进行数据拉取,以完成数据迁移备份操作。
14.进一步地,所述调度服务组件包括同步调度子组件和同步集群子组件。
15.进一步地,所述运维调度平台核心模块还包括扩缩容服务组件,所述扩缩容服务组件与所述配置管理中心模块连接,所述扩缩容服务组件用于执行扩缩容场景下的数据迁
移。
16.进一步地,所述运维调度平台核心模块还包括高可用服务组件,所述高可用服务组件与所述配置管理中心模块连接,所述高可用服务组件用于监控存储集群各节点状态。
17.进一步地,还包括zookeeper集群模块,所述zookeeper集群模块与所述运维调度平台核心模块和所述客户端连接,所述zookeeper集群模块用于接收所述运维调度平台核心模块推送的元数据更新以及拉取所述客户端的最新元数据。
18.进一步地,还包括redis集群模块,所述redis集群模块包含有多个存储集群。
19.第二方面,本技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的分布式kv存储系统。
20.第三方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的分布式kv存储系统。
21.第四方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述的分布式kv存储系统。
22.由上述技术方案可知,本技术提供一种分布式kv存储系统,通过设置配置管理中心模块、分布式存储模块以及运维调度平台核心模块,能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
附图说明
23.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本技术实施例中的分布式kv存储系统的结构示意图之一;
25.图2为本技术实施例中的分布式kv存储系统的结构示意图之二;
26.图3为本技术实施例中的运维调度平台核心模块的结构示意图;
27.图4为本技术实施例中的电子设备的结构示意图。
具体实施方式
28.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
29.本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
30.考虑到现有技术中的分布式kv存储系统采用原生redis集群方案存在数据迁移无法灵活配置,migrate命令阻塞工作进程,不支持异地灾备的技术问题,本技术提供一种分布式kv存储系统,通过设置配置管理中心模块、分布式存储模块以及运维调度平台核心模块,能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠
性与服务效率。
31.为了能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率,本技术提供一种分布式kv存储系统的实施例,参见图1和图2,所述分布式kv存储系统具体包含有如下内容:
32.配置管理中心模块10,与运维调度平台核心模块30连接,所述配置管理中心模块10用于接收所述运维调度平台核心模块30发送的元数据,并根据预设各级映射转换关系将所述元数据推送至客户端。
33.可选的,本技术的配置管理中心模块10核心功能为配置管理,采用zookeeper进行建设,其功能包括但不限于元数据管理,数据库配置管理,集群节点状态管理等。该模块对接运维调度平台核心模块30,接收运维平台通知,当发生节点上下线,异地流量调拨,智能迁移等场景时,从调度平台模块接收最新元数据,并依赖各级映射转换(例如业务线=》业务组件=》地域=》机房=》服务点),最终推送最新元数据至客户端,保证客户端访问到最新缓存节点,完成整体配置变换维护功能。
34.可选的,本技术的配置管理中心模块10还可以负责分布式缓存集群系统名字映射维护,例如:
35.server1 hostname:192.168.8.9port:400001cachename:mobilecache
36.server2 hostname:192.168.8.32port:400002cachename:mobilecache
37.server3 hostname:192.168.8.231port:400003cachename:mobilecache
38.由此保证整体系统统一访问点入口,便于维护。
39.此外,还提供分布式场景下进程协调工作,即控制分布式锁策略,可配置为分布式事务协调器。
40.分布式事务处理流程及判断逻辑以转账场景为例,账务核心系统与借记卡系统均为参与者,转账过程分为核心划转bgl账户a,bgl账户a划转bgl账户b,b账户入借记卡账款,核心扣款五个步骤,配置在本模块中进行事务控制,保证各步骤一同成功,当发生失败时,协调者逐步进行回退。
41.分布式存储模块20,所述分布式存储模块20用于存储分布式架构下的kv键值对和接收所述客户端发送的读写请求。
42.可选的,本技术的分布式存储模块20提供分布式架构下kv键值对存储功能,可考虑依赖redis进行建设,基于内存运行,提供高性能读写功能,支持目前技术栈下主流数据类型,包括string,哈希,列表,集合,顺序集合,同样支持自定义类型,以满足技术场景下的高扩展性。直接承接客户端的读写请求,并提供运维与调度api供运维调度平台使用,实时报告各节点状态与负载情况,供调度平台进行流量调拨,数据迁移,异地容灾。本模块基于主从模式进行搭建,满足系统高可靠性与高可用性需求。
43.所述运维调度平台核心模块30用于监控存储集群各节点状态并执行数据迁移备份操作。
44.可选的,本技术的运维调度平台核心模块30可以由调度服务组件31、扩缩容服务组件32以及高可用服务组件33组成。
45.从上述描述可知,本技术实施例提供的分布式kv存储系统,能够通过设置配置管理中心模块10、分布式存储模块20以及运维调度平台核心模块30,能够有效提升分布式kv
存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
46.在本技术的分布式kv存储系统的一实施例中,所述配置管理中心模块10包括用于控制分布式锁策略的分布式事务协调器。
47.参见图3,在本技术的分布式kv存储系统的一实施例中,所述运维调度平台核心模块30包括调度服务组件31,所述调度服务组件31用于建立两地集群数据通道并进行数据拉取,以完成数据迁移备份操作。
48.所述调度服务组件31包括同步调度子组件和同步集群子组件。
49.具体的,本技术的调度服务组件31主要提供跨地容灾场景下的技术支撑,由同步调度子组件和同步集群子组件组成,由同步调度子组件监控待迁移集群数据状态,并通过同步调度子组件,向同步集群子组件下达建立链路命令,将两地集群建立数据通道,在此过程中,同步机将启用slave模式,代理目标地集群进行数据拉取,并完成最终数据迁移与备份。
50.所述运维调度平台核心模块30还包括扩缩容服务组件32,所述扩缩容服务组件32与所述配置管理中心模块10连接,所述扩缩容服务组件32用于执行扩缩容场景下的数据迁移。
51.具体的,本技术的扩缩容服务组件32主要配合配置中心模块,完成扩缩容场景下的数据智能迁移。内部集成了数据迁移就近原则策略实现,并依据数据迁移任务,生成job队列交给迁移机进行执行,主要实现了节点间高并发,提升迁移效率,批量执行migrate命令并隔离工作进程,实时监控job情况与实际slot任务状态,智能控速,实现功能与效率的平衡。
52.所述运维调度平台核心模块30还包括高可用服务组件33,所述高可用服务组件33与所述配置管理中心模块10连接,所述高可用服务组件33用于监控存储集群各节点状态。
53.具体的,本技术的高可用服务组件33实时监控存储集群各节点状态,不管是网络抖动还是节点宕机情况,ha服务组件都会实时通知配置管理模块,实现该节点的路由信息变化,并在该节点恢复可用状态后,将其添加回zookeeper的配置列表中。
54.在本技术的分布式kv存储系统的一实施例中,还包括zookeeper集群模块,所述zookeeper集群模块与所述运维调度平台核心模块30和所述客户端连接,所述zookeeper集群模块用于接收所述运维调度平台核心模块30推送的元数据更新以及拉取所述客户端的最新元数据。
55.在本技术的分布式kv存储系统的一实施例中,还包括redis集群模块,所述redis集群模块包含有多个存储集群。
56.有上述内容可知,本技术至少还可以实现以下技术效果:
57.1、针对节点发生宕机,主库摘除延迟导致的数据不一致,数据分布不均,及交换机发生时多集群补副本繁琐等问题,本发明设计了ha高可用集群服务,负责实时监控集群所有节点,并配合zookeeper实时更新,解决网络抖动、单点宕机、扩缩容等场景下,配合kubernetes容器节点自动上下线、容器自动申请与销毁、哈希算法重置等操作,大大提高节点运维智能性与系统服务稳定性。
58.2、针对跨地区多集群复制场景,本发明设计了同步调度器与同步机集群架构,通过同步调度器下发的同步job任务配合集群拓扑结构,将某idc内的同步任务接管至同步机
集群,转换成redis slave模式与客户端写入模式,将集群同步信息写入跨地idc内,实现异地多活与异地灾备,大大提高系统健壮性与可用性,符合未来多地多中心技术架构建设规划定位。
59.3、针对宕机或业务需求主动触发的数据迁移场景,本发明设计实现了一种全新迁移服务,内置了就近原则策略,具备迁移任务生成,slot迁移可视化配置,批量生成migrate命令,工作线程资源加锁保护等核心功能,实现系统智能数据迁移,保证数据迁移下数据完整性与一致性。
60.从硬件层面来说,为了能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率,本技术提供一种用于实现所述分布式kv存储系统中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
61.处理器(processor)、存储器(memory)、通信接口(communications interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现分布式kv存储系统与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的分布式kv存储系统的实施例,以及分布式kv存储系统的实施例进行实施,其内容被合并于此,重复之处不再赘述。
62.可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(pda)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
63.在实际应用中,分布式kv存储系统的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本技术对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
64.上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
65.图4为本技术实施例的电子设备9600的系统构成的示意框图。如图4所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图4是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
66.一实施例中,分布式kv存储系统功能可以被集成到中央处理器9100中。
67.从上述描述可知,本技术实施例提供的电子设备,通过设置配置管理中心模块、分布式存储模块以及运维调度平台核心模块,能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
68.在另一个实施方式中,分布式kv存储系统可以与中央处理器9100分开配置,例如可以将分布式kv存储系统配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现分布式kv存储系统功能。
69.如图4所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图4中所示的所有部件;此外,电子设备9600还可以包括图4中没有示出的部件,可以参考现有技术。
70.如图4所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
71.其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
72.输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为lcd显示器,但并不限于此。
73.该存储器9140可以是固态存储器,例如,只读存储器(rom)、随机存取存储器(ram)、sim卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为eprom等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
74.存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
75.通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
76.基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
77.本技术的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的分布式kv存储系统中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的分布式kv存储系统。
78.从上述描述可知,本技术实施例提供的计算机可读存储介质,通过设置配置管理中心模块、分布式存储模块以及运维调度平台核心模块,能够有效提升分布式kv存储系统
智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
79.本技术的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的分布式kv存储系统中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的分布式kv存储系统。
80.从上述描述可知,本技术实施例提供的计算机程序产品,通过设置配置管理中心模块、分布式存储模块以及运维调度平台核心模块,能够有效提升分布式kv存储系统智能整体自动运维能力,降低运维难度,提高系统可靠性与服务效率。
81.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
82.本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
83.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
84.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
85.本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

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

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

相关文献