一种电网调度控制系统高速缓存分布式存储方法

文档序号:26899184发布日期:2021-10-09 12:58阅读:73来源:国知局
一种电网调度控制系统高速缓存分布式存储方法

1.本发明涉及数据存储技术领域,尤其是涉及一种电网调度控制系统高速缓存分布式存储方法。


背景技术:

2.特高压交直流混联大电网和清洁能源的快速发展,使得电网运行的一体化需求更为迫切,需要更大规模的数据管理、更大范围的计算分析、更深入灵活的业务协同与互动以支持全局监视、全网防控、集中决策。由此推动了“物理分布,逻辑统一”的未来大电网一体化调度新模式的发展,新一代调控系统在逻辑上也成为一套系统,因此调控数据存储规模、访问规模将持续增长,访问频率不断加快,而且各组成节点之间的数据交互要求也将显著增加。这对电网调控系统的数据处理能力提出了新的要求。
3.现有调控系统中的缓存技术目前通常采用的方式有服务器本地缓存、静态分布式缓存两种。服务器本地缓存可以提供快速的数据访问,但数据无法分布式共享,且无容错处理。静态分布式缓存基于电力应用编号到数据库节点的映射关系,将数据在固定数目的集群节点间分布存储,在扩展过程中需要大量配置,同样缺乏容错机制。所以,在大电网一体化调度新模式下,现有的调度系统的数据存储与管理存在对分布式系统架构的支撑能力不足的缺点以及分布式环境下业务数据存储的均衡性问题。
4.考虑新一代电网调控系统数据的特点,并借鉴互联网主流缓存技术,可以通过构建高速数据缓存中间层来实现调控数据的快速存取,为业务应用提供高性能的数据访问能力。而针对现有分布式环境下业务数据存储的均衡性问题,亟需研究一种高速缓存分布式存储技术来保证分布式环境中各节点数据的均衡,提升系统的稳定性和计算效率。


技术实现要素:

5.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种电网调度控制系统高速缓存分布式存储方法。
6.本发明的目的可以通过以下技术方案来实现:
7.一种电网调度控制系统高速缓存分布式存储方法,该方法包括:
8.划分数据缓存区,包括热点数据缓存区和短期数据缓存区,针对每个数据缓存区分别构造一致性哈希圆环,一致性哈希圆环的首尾相连;
9.对热点数据缓存区、短期数据缓存区的集群服务器分别进行分组形成若干集群服务器组,将各数据缓存区的集群服务器组映射到虚拟层,虚拟层上设置大量的虚拟节点,一个集群服务器组对应一个或多个虚拟节点,将虚拟节点映射到对应数据缓存区的一致性哈希圆环上;
10.对数据对象进行哈希计算并基于哈希值将数据对象映射到对应数据缓存区的一致性哈希圆环上;
11.将数据对象映射到一致性哈希圆环上的虚拟节点,查找虚拟节点对应的集群服务
器组,将数据对象缓存至集群服务器组。
12.优选地,所述的短期数据缓存区设置多重一致性哈希圆环,包括用于缓存高速采集数据的高速采集数据缓存一致性哈希圆环以及用于缓存常规周期采样数据的常规周期采样数据缓存一致性哈希圆环。
13.优选地,对热点数据缓存区、短期数据缓存区的集群服务器分别进行分组形成若干集群服务器组的具体方式包括:对热点数据缓存区的集群服务器进行分组形成多个热点数据缓存集群服务器组,对短期数据缓存区的集群服务器进行分组形成多个短期数据缓存集群服务器组。
14.优选地,将各数据缓存区的集群服务器组映射到虚拟层的具体方式包括:配置热点数据缓存虚拟层、高速采集数据缓存虚拟层和常规周期采样数据缓存虚拟层,每个虚拟层分别配置大量的虚拟节点,将热点数据缓存集群服务器组映射到热点数据缓存虚拟层上的虚拟节点,将短期数据缓存集群服务器组同步映射到高速采集数据缓存虚拟层和常规周期采样数据缓存虚拟层上的虚拟节点,在每个数据缓存虚拟层,每个集群服务器组对应一个或多个虚拟节点。
15.优选地,所述的集群服务器组为主从模式,由哨兵节点进行主从切换。
16.优选地,所述的将虚拟节点映射到对应数据缓存区的一致性哈希圆环上时使得虚拟节点在一致性哈希圆环上均匀分布。
17.优选地,当一个集群服务器组对应多个虚拟节点时,将集群服务器对应的多个虚拟节点间隔式均匀分布在一致性哈希圆环上。
18.优选地,所述的对数据对象进行哈希计算的方式包括md5哈希算法。
19.优选地,所述的将数据对象映射到一致性哈希圆环上的虚拟节点的方式包括:沿着一致性哈希圆环是顺时针方向,找到与数据对象相邻的第一个虚拟节点,将数据对象隐射到该虚拟节点。
20.优选地,所述的一致性哈希圆环是值空间大小为[0,2
32

1]。
[0021]
与现有技术相比,本发明具有如下优点:
[0022]
(1)本发明采用基于集群的高速缓存分布式存储技术需解决数据在分布式缓存节点上均匀分布的问题,采用改进环形一致性哈希算法来保证分布式环境中各节点数据的均衡,灵活实现节点变化后计算资源的动态调节,降低数据迁移的代价,从而提升系统的稳定性和计算效率。
[0023]
(2)本发明提出的调度数据高速缓存分布式存储技术结合电力调度业务数据的存储需求进行了设计与研制,为新一代电力调度控制系统的基础支撑平台提供了重要的关键技术。
附图说明
[0024]
图1为本发明一种电网调度控制系统高速缓存分布式存储方法的流程框图。
[0025]
图2为本发明热点数据缓存区的一致性哈希圆环以及虚拟节点和集群服务器组的映射示意图;
[0026]
图3为本发明短期数据缓存区的一致性哈希圆环以及虚拟节点和集群服务器组的映射示意图;
[0027]
图4为本发明数据对象到缓存虚拟节点的映射示意图;
[0028]
图5为本发明实施例中验证环境架构示意图。
[0029]
图中,h1为热点数据缓存一致性哈希圆环,h2为高速采集数据缓存一致性哈希圆环,h3为常规周期采样数据缓存一致性哈希圆环。
具体实施方式
[0030]
下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
[0031]
实施例
[0032]
基于集群的高速缓存分布式存储技术需解决数据在分布式缓存节点上均匀分布的问题。采用改进环形一致性哈希算法来保证分布式环境中各节点数据的均衡,灵活实现节点变化后计算资源的动态调节,降低数据迁移的代价,从而提升系统的稳定性和计算效率。
[0033]
本发明考虑调度数据的特征对传统一致性哈希进行改进,本实施例提供一种电网调度控制系统高速缓存分布式存储方法,具体实施步骤如图1所示:
[0034]
(1)构造哈希值空间
[0035]
划分数据缓存区,包括热点数据缓存区和短期数据缓存区,针对热点数据缓存区、短期数据缓存区分别构造一个一致性哈希圆环,一致性哈希圆环的首尾相连,一致性哈希圆环是值空间大小为[0,2
32

1]。
[0036]
其中热点数据缓存区对应一个一致性哈希圆环,称作热点数据缓存一致性哈希圆环,如图2所示。
[0037]
短期数据缓存区对应一个双重一致性哈希圆环,原因为短期数据缓存区中存储的两类数据的容量及对数据库的压力不同,可为两类数据单独设置一致性哈希圆环,如图3所示,包括用于缓存高速采集数据的高速采集数据缓存一致性哈希圆环以及用于缓存常规周期采样数据的常规周期采样数据缓存一致性哈希圆环。
[0038]
(2)集群服务器组虚拟节点映射,虚拟节点向值空间映射
[0039]
对热点数据缓存区、短期数据缓存区的集群服务器分别进行分组形成若干集群服务器组,集群服务器组为主从模式,由哨兵节点进行主从切换。将各数据缓存区的集群服务器组映射到虚拟层,虚拟层上设置大量的虚拟节点,一个集群服务器组对应一个或多个虚拟节点,将虚拟节点映射到对应数据缓存区的一致性哈希圆环上,将虚拟节点映射到对应数据缓存区的一致性哈希圆环上时使得虚拟节点在一致性哈希圆环上均匀分布。当一个集群服务器组对应多个虚拟节点时,将集群服务器对应的多个虚拟节点间隔式均匀分布在一致性哈希圆环上。
[0040]
具体地,对热点数据缓存区的集群服务器进行分组形成多个热点数据缓存集群服务器组,对短期数据缓存区的集群服务器进行分组形成多个短期数据缓存集群服务器组。配置热点数据缓存虚拟层、高速采集数据缓存虚拟层和常规周期采样数据缓存虚拟层,每个虚拟层分别配置大量的虚拟节点,将热点数据缓存集群服务器组映射到热点数据缓存虚拟层上的虚拟节点,将短期数据缓存集群服务器组同步映射到高速采集数据缓存虚拟层和
常规周期采样数据缓存虚拟层上的虚拟节点,在每个数据缓存虚拟层,每个集群服务器组对应一个或多个虚拟节点。
[0041]
需要注意的是:虚拟节点的数目也不宜过多,否则会导致定位一个数据对应的虚拟节点所需时间过长。集群服务器组到虚拟节点的映射,可设置为哈希环上的虚拟节点间隔均匀地对应于集群服务器组,如图2所示,热点数据缓存集群服务器组包括集群服务器组1、集群服务器组2、集群服务器组m,虚拟节点a1~a3、b1~b3、c1~c3为热点数据缓存虚拟层上的虚拟节点,将集群服务器组1映射到虚拟节点a1~a3、集群服务器组2映射到虚拟节点b1~b3、集群服务器组3映射到虚拟节点c1~c3,进而将虚拟节点a1~a3、b1~b3、c1~c3均匀分布在热点数据缓存一致性哈希圆环上,由于一个集群服务器组分别对应3个虚拟节点,因此采用虚拟节点间隔均匀布置的形式,形成如图2所示的虚拟节点a1、b1、c1、a2、b2、c2、a3、b3、c3在热点数据缓存一致性哈希圆环依次均匀分布的形式。
[0042]
由于高速采集数据、常规周期采样数据的容量、持久化压力不同,可为这两类数据分配不同的物理资源。假设短期数据缓存区共有n个虚拟节点,pmu数据的设计缓存容量为s1,秒级采集数据、分钟级采集数据等的设计缓存容量为s2,则可按照两类数据的设计缓存容量来分配虚拟节点的数目。设计缓存容量大的分配较多的虚拟节点。如图3所示,短期数据缓存集群服务器组包括集群服务器组1'、集群服务器组2'、集群服务器组n',高速采集数据缓存虚拟层上设置9个虚拟节点,分别为虚拟节点a1'~a3'、b1'~b3'、c1'~c3',常规周期采样数据缓存虚拟层上设置6个虚拟节点,分别为虚拟节点a1”~a2”、b1”~b2”、c1”~c2”,将集群服务器组1'映射到虚拟节点a1'~a3'、a1”~a2”,集群服务器组2'映射到虚拟节点b1'~b3'、b1”~b2”,集群服务器组3'映射到虚拟节点c1'~c3'、c1”~c2”,虚拟节点a1'、b1'、c1'、a2'、b2'、c2'、a3'、b3'、c3'在高速采集数据缓存一致性哈希圆环依次均匀分布,虚拟节点a1”、b1”、c1”、a2”、b2”、c2”'在常规周期采样数据缓存一致性哈希圆环依次均匀分布。这些虚拟节点映射到一致性哈希圆环上可避免出现负载倾斜问题。
[0043]
(3)数据对象向值空间映射
[0044]
对数据对象进行哈希计算并基于哈希值将数据对象映射到对应数据缓存区的一致性哈希圆环上。使用md5

>hash的方式将所有数据对象(dataobject)映射到哈希圆环上。
[0045]
(4)数据对象到缓存虚拟节点的映射
[0046]
将数据对象映射到一致性哈希圆环上的虚拟节点,查找虚拟节点对应的集群服务器组,将数据对象缓存至集群服务器组。
[0047]
具体地:
[0048]
当虚拟节点和数据对象都被映射到哈希圆环上之后,可设定一个数据对象到虚拟节点的映射规则。规则为沿着顺时针方向,在某个数据对象hash值之后找到的第一个虚拟节点hash值即认为该数据对象缓存在此虚拟节点。图4中,空心圆点表示虚拟节点(对应集群服务器组)在哈希环上的映射,实心圆点表示数据对象在哈希环上的映射。按照顺时针方向,数据对象1、数据对象m在哈希环上的映射值之后为虚拟节点node_1的映射值,则将数据对象1、数据对象m缓存到虚拟节点node_1。类似地,数据对象i缓存到虚拟节点node_k,数据对象j缓存到虚拟节点node_n。
[0049]
基于集群的高速缓存分布式存储技术,当分布式环境中分布式节点发生变化时,能够将移除节点上的数据重新迁移到其他分布式节点,或者将已有节点的数据迁移到增加
的节点上,灵活实现节点变动情况下的数据重载以及分布式节点存储容量的动态配置。
[0050]
本发明的特点:
[0051]
(1)采用环形一致性哈希算法来保证分布式环境中各节点数据的均衡,灵活实现节点变化后计算资源的动态调节,降低数据迁移的代价,从而提升系统的稳定性和计算效率,解决数据在分布式缓存节点上均匀分布的问题;
[0052]
(2)对传统一致性哈希进行改进,解决了集群服务器组数量不多时一致性哈希本身无法实现负载均衡导致的负载倾斜问题;
[0053]
(3)采用基于集群的高速缓存分布式存储技术,面对分布式环境中分布式节点发生变化时,能够灵活实现节点变动情况下的数据重载以及分布式节点存储容量的动态配置。
[0054]
图5是为了测试和验证调度数据高速缓存组件的性能和效率,搭建的试验验证环境。由于目前调控系统中i、ii区业务对于数据缓存方面的需求已有较成熟的解决方案,因此试验验证环境针对调度数据高速缓存组件独立应用于新一代电力调度控制系统iii、iv区的新增业务场景(如电力交易、申报发布等)进行设计,为电力交易高并发访问场景。内网测试场景为高并发处理能力测试和数据可靠性测试。外网测试场景包括:(1)外网交易用户的十万在线测试;(2)外网交易用户的一万并发交易申报的测试。
[0055]
内网实验环境包括接入交换机和内网客户端两部分,通过高速以太网与私有云相连接。外网环境通过物理防火墙和逻辑防火墙,与实验环境外网路由器相连,外网客户端在接入网关上进行身份认证,通过后方可访问内网私有云环境。
[0056]
采用测试工具在10台客户端上模拟web高并发请求场景,向web应用服务器集群发起查询和写入请求。分布式高速缓存节点为3个,支持数据双副本或三副本方式,通过配置文件设置备节点个数。
[0057]
web应用服务器在接收到申报请求后,写入本机日志,以保障数据有迹可循而不会丢失。高速缓存组件通过接收到的web请求数据,将数据写入分布式高速缓存。异步写商用库程序轮询高速缓存中的数据,并将请求数据写入关系库进行数据的持久化。
[0058]
(1)内网测试场景
[0059]
高速缓存组件的性能效率测试分为处理能力测试和数据可靠性测试。数据可靠性测试中,备节点个数配置为2,主节点会自动向2个备节点进行数据同步,通过主节点和2个备节点,都能查询到数据。处理能力测试中,模拟web客户端并发数从100~5 000 000个,处理能力测试结果如表1所示。从测试结果中可以看出,通过高速缓存组件对高并发情况下的数据读写可以有效地降低直接操作商用库带来的性能和瓶颈问题。在5 000 000并发测试中,软件单节点每秒数据请求处理能力可达到100万个。
[0060]
表1高并发写入模拟测试结果
[0061][0062]
(2)外网测试场景
[0063]
十万在线是指在一定的时间范围内,有十万申报用户发起了系统登录请求,系统能够正常运行并响应所有的登录,在服务端记录下了用户登录的会话。十万交易用户全部登录成功后的指标如表2所示。
[0064]
表2外网十万用户在线模拟测试结果
[0065][0066]
一万用户并发申报测试是指在一定时间范围内,有一万申报用户发送了申报请求,系统能够正常处理申报请求,不会宕机或者超时。表3为所有11000个申报用户同时申报成功的指标。
[0067]
表3外网一万用户申报成功模拟测试结果
[0068][0069]
上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1