基于哈希算法的缓存安全验证策略在电网系统中的应用(2)
2.2分布式缓存安全验证策略的设计法
Memcached是一种分布式的缓存系统,MemcachedServer之间没有通信机制,所以应用分区缓存模式时进行数据验证时,最重要的是选择一种高效的分布式算法。所以,需要制定分布式算法将数据散列到不同的缓存服务器上,从而实现数据在不同缓存服务器中分布存储。
一致性哈希分散算法可以保证在节点发生变化时,能够保持比较高的缓存命中率。该算法首先求出缓存服务器结点的哈希值,并将其配置到0~232的圆上。然后用同样的方法求出存储数据的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上,如图2所示。
图2一致性哈希算法
该算法首先求出Memcached服务器(节点)的哈希值,并将其配置到0~232的圆上。接着用同样的方法求出存储数据的键的哈希值,并映射到圆上。然后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个服务器上。如果超过232仍然找不到服务器,就会保存到第一台Memcached服务器上。
这样一来对于节点的分布计算是循环的,当某个节点增加或者移出的时候,只是部分的数据需要重新缓存(如图2中增加node5的情况),如果哈希算法比较合理,理论上缓存命中率的将变化为:
其中n为当前服务器节点数,m为变化的服务器数量。
余数分散算法由于保存键的服务器会发生巨大变化而影响缓存的命中率,但一致性哈希算法中,只有在圆上增加服务器的地点逆时针方向的第一台服务器上的键会受到影响。因此,一致性哈希算法最大限度地抑制了键的重新分布。当然,如果缓存服务器的数量频繁地发生变化,对于缓存系统的效率也是有一定影响的。
本课题采用一致性哈希分散算法。下述为给定key查找缓存服务器节点算法的Java实现代码:
代码用数据结构TreeMap模拟一致性哈希分散算法中的圆,该结构中的键值是所有节点的hash值,值为节点的名字将给定的key通过hash算法算出其hash值,然后在圆中查找第一个大于该值的键,如果找到则命中,找不到返回第一个节点的名字。该算法是本课题中缓存系统的核心算法,通过查找给定key对应的缓存服务器,调用Memcached提供的API,可以实现对象的存取操作。
2.3性能分析
缓存系统的加速比是衡量缓存系统性能好坏的一个重要指标,即引入缓存技术前后检索数据的平均响应时间之比。
如果没有采用缓存技术,假设每个客户端每天平均有次执行查询请求且都能查询成功,每次服务器同时接受个来自各客户端的请求,则某一个客户机次检索后的检索数据的平均响应时间如公式3所示:
式中:假定请求在服务器中的平均排队次序为k,a是每条信息的网络传输延迟,ts是除传回时间之外的其余处理时间,如向服务器发出的请求时间,执行请求的时间,更新提示的时间。
如果采用缓存技术,假设中间缓存、数据库命中数据的概率分别为p1和p2。再假设n次执行信息都能查询成功,则某一个客户机n次检索后的检索数据的平均响应时间Tn如公式4所示:
式中,tc为中间层处理时间,m1为中间层同时处理的请求个数,m2为数据库服务器同时处理的请求个数。
引入本缓存系统前后平均数据检索时间之比,即加速比Sp
以下是本课题测试的软硬件环境:
(1)软件环境:操作系统:LinuxAS4U8;Java环境:JDK1.5;Memcached1.2.1。
(2)硬件环境:CPU:Intel(R)Core(TM)21.86GHz;内存:4GB*2DDR;硬盘:320GB;局域网:最大带宽100Mbps。
在数据交换客户端的局域网内,应用四台服务器,分别为:一台数据Switch服务器,三台缓存服务器和一台数据库服务器。模拟实际业务过程进行测试。测试数据参见表1。
将上述参数带入公式中进行计算,其中m1=m2=1,由于数据库服务器、缓存服务器和应用服务器同处于一个带宽为100M的局域网内,所以a可以忽略不计,请求是顺序到达,平均排队次序为1,缓存的平均访问时间是3秒,可得Sp=2.27,即对数据在存取验证中组件应用了缓存优化策略后,一次数据交换的加速比约为:2.27,即为原先的2.27倍。
3.结论
根据本文提出并设计的基于哈希算法的缓存安全策略可以很好地解决电网分布式系统中由于数据增长造成的数据处理瓶颈问题,尤其数据验证的问题,大大提高了电网系统的安全性。实验结果表明,在提高业务系统业务处理能力的同时,能够高效的完成数据验证和校验工作,能够保证数据的真实性、一致性、可靠性和安全性。
【参考文献】
[1]顾荣庆,杨开杰,徐汀荣.分布式数据缓存技术研究.计算机应用与软件,2011.
[2]廖爽爽.分布式对象缓存框架设计研究[J].信息技术,2006,(12):54-59.
[3]姜大光,奚加鹏.分布式存储系统(OceanStore)的复制策略.计算机工程与科学,2008,30(8):144-149.
[4]Memcached.http://memcached.org/.
[5]JurePetrovie.UsingMemcachedforDataDistributioninIndustrialEnvironment.ThirdIntemationalConfereneeonSystems(icons2008),2008:368-372.
[6]谢骋超,陈华钧,张宇.DartCache:一个基于哈希表的分布式Cache系统[J].计算机科学,2006,33(8):155-161.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊