期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

基于哈希算法的缓存安全验证策略在电网系统中的应用

人气指数: 发布时间:2014-03-06 17:19  来源:http://www.zgqkk.com  作者: 周志糯
分享到:

 

  【摘要】为了解决电网分布式系统中由于数据增长造成的数据处理瓶颈问题,尤其数据的验证问题,本文提出基于一致性哈希分散算法设计分布式缓存安全验证策略用于解决电网分布式缓存系统的数据同步策略,以保证系统数据一致性访问,实验结果表明,在提高电力业务系统业务处理能力的同时,能够高效的完成数据验证和校验工作,从而保障电网分布式业务系统安全可靠的运行。

  【关键词】分布式缓存;哈希算法;安全;验证

  近年来随着电力设备系统互联的进一步普及,电力网络中应用系统的规模逐步扩大,不单是应用系统本身在扩大,使用系统的人群也在不断扩大。这对分布式应用系统的安全可靠性、可扩展性和可维护性提出了更高的要求。其中,数据访问问题是影响分布式系统性能的一个关键问题,分布式应用系统一般将数据保存到数据库中,应用服务器从数据库中读取数据并显示。但随着数据量的增大、访问的集中,就会出现数据库的负担加重、数据库响应恶化、显示延迟等重大影响。现已提出多种技术和方案来解决这个问题。一种高性价比的解决方案是缓存技术,它正越来越受到人们的关注并越来越多的被考虑应用在实际分布式系统中。

  本文提出基于一致性哈希算法设计分布式缓存安全验证策略用于解决电网中分布式缓存系统的数据同步策略,以保证系统数据一致性访问,最终能够满足系统能够持续稳定、安全运行的要求。

  1.缓存技术

  缓存技术是指使用对象后并不立即释放该对象,而是存储在内存或硬盘中并被后来的客户端请求重用,避免重新获得对象的昂贵成本。集群是为客户提供统一服务的松散连接的一组服务器。它利用高速通用网络将一组服务器按某种结构连接起来,利用消息传递方式实现各服务器间的通信,作为一个整体为用户提供服务。集群为分布式应用提供了所需高可用性、高扩展性及负载均衡的功能。可以通过集群策略来解决企业级应用中遇到并发访问瓶颈,负载均衡,服务器单点故障等问题。将缓存技术与集群技术结合起来使用,就是分布式缓存[2]。在数据库和应用服务器之间增加分布式缓存,将数据缓存起来,使应用服务器无需频繁访问数据库,而是直接从缓存中读取数据,减少了潜在的访问时间。不仅大大提高了应用程序的速度,也减少了数据库服务器的负载,使数据库服务器的访问性能大大提高。

  2.基于Memcached框架设计分布式缓存安全验证系统

  在对等分布式缓存的写更新同步模式中写数据时,需要进行大量的校验工作,除了要校验本地数据外,还要将数据复制到所有其他的远程组成员结点与该节点上存储的数据进行校验,以保证数据的真实性、一致性,这个校验过程相当于需要大量的数据复制和数据传输操作。尤其是当成员数量过多时,校验过程必定会造成较大的网络数据传输的开销,从而影响系统的整体性能。

  2.1分布式缓存安全验证系统结构

  因此本文采用分区的数据复制方式来构建分布式缓存安全验证模块。其中分区的数据复制方式在数据复制时并不将数据复制到所有的成员结点上,而只是将数据复制到其中一个结点上,即每个数据只有一份拷贝。用户总是访问主结点上的数据,只有主结点出现故障或移除时才会访问备份结点的数据,即该模式不支持数据在多结点的并行访问,只提供了高可用性。分区复制的模式减少了复制过程中的网络数据传输的开销,提高了系统的整体性能,但相应的数据备份结点的减少,降低了分布式缓存的可靠性,当具有数据备份的两个结点同时出现故障时,就会出现数据不命中的情况,用户可以根据具体的应用场景选择是否使用这种数据复制模式。其体系结构如图1所示。

  图1分布式缓存体系结构

  该体系结构的具体组件包括:客户端组件,前端组件及缓存服务器组件。客户端的请求先由被称为前端的组件处理。前端具有数据的散列能力,通过制定的分布式算法将数据散列到不同的缓存服务器上,从而实现数据在不同缓存服务器中的分布存储。缓存服务器两两之间都建立了连接,多个缓存服务器形成一个缓存服务器组。当组内某个缓存服务器上有数据更新的时候,数据会同步的更新到另一个备份缓存服务器中,这样就实现了数据的单点备份。

  本文选择的缓存框架是Memcached。Memcached是高性能的,分布式的内存对象缓存框架,有多种语言支持的API可用,用于在动态应用中减少数据库负载,提升访问速度。

  Memcached由服务器端和客户端两个基本组成部分。它是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端API包括Perl/PHP/Python/Ruby/Java/C#/C等等。当客户端与Memcached服务建立连接后,每个被存取的对象都有一个唯一的标识符key,存取操作均通过这个key进行,保存到Memcached中的对象实际上是放置内存中的,并不是保存在cache文件中的,这也是为什么Memcached能够如此高效快速的原因。但这些对象并不是持久的,服务停止之后,里边的数据就会丢失。

  在Memcached出现之前,最初的缓存做法是在线程内对对象进行缓存,但这样进程间就无法共享缓存,命中率非常低,导致缓存效率极低。后来出现了共享内存的缓存,多个进程或者线程共享同一块缓存,但毕竟还是只能局限在一台机器上,多台机器做相同的缓存同样是一种资源浪费,而且命中率也比较低。MemcachedServer和Clients共同工作,实现跨服务器分布式的全局缓存。MemcachedServer对CPU要求低,对内存要求高,通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、文件以及数据库检索的结果等。


期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
  本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


  【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

 
QQ在线咨询
投稿辅导热线:
180-1501-6272
微信号咨询:
fabiaoba-com
咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
Copyright © 2005-2023 . 期刊库 版权所有