[发明专利]一种数据处理方法和系统有效
申请号: | 201510633709.X | 申请日: | 2015-09-29 |
公开(公告)号: | CN105335101B | 公开(公告)日: | 2018-11-20 |
发明(设计)人: | 张书宁;文中领;卓保特 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 解婷婷;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 系统 | ||
本发明公开了一种数据处理方法和系统,包括:接收数据读写请求并发送给预设的Leader控制器。由Leader控制器根据预设的控制器状态位图决策能否将该数据读写请求发送给预设的Follower控制器直接处理。当Follower控制器能够对该数据读写请求直接处理时,将该数据读写请求发送给Follower控制器直接处理并反馈能够直接处理的反馈信息;当Follower控制器不能够对该数据读写请求直接处理时,将该数据读写请求记录为等待信息,并将等待信息广播给全部Follower控制器。通过本发明的方案,能够保证分布在各个控制器上的缓存数据,在并发访问的情况下仍能保证最终一致,防止由此造成的数据不一致问题。
技术领域
本发明涉及到SAN存储系统领域,尤其涉及一种数据处理方法和系统。
背景技术
缓存在存储系统的地位不言而喻,由于内存访问的延时比磁盘快5-6个数量级,因此通常的做法是使用内存作为存储系统的缓存,用来直接存储来自主机的IO,而不直接访问磁盘介质。由于内存与磁盘存在的性能差异,通过缓存系统可以非常明显的提高存储系统的读写性能,但是对主机端并发访问多个控制器缓存所造成的数据不一致问题却无能为力。
发明内容
为了解决上述问题,本发明提出了一种数据处理方法和系统,能够保证分布在各个控制器上的缓存数据,在并发访问的情况下仍能保证最终一致,防止由此造成的数据不一致问题。
为了达到上述目的,本发明提出了一种数据处理方法,该方法包括:
接收数据读写请求。
将该数据读写请求发送给预设的Leader控制器。
由Leader控制器根据预设的控制器状态位图决策能否将该数据读写请求发送给预设的Follower控制器直接进行处理。
当Follower控制器能够对该数据读写请求直接处理时,将该数据读写请求发送给Follower控制器直接进行处理,并反馈能够直接处理的反馈信息;当Follower控制器不能够对该数据读写请求直接处理时,将该数据读写请求记录为等待信息,并将等待信息广播给全部Follower控制器。
优选地,该方法还包括:当有等待消息存在时,在任意一个Follower控制器对当前处理的数据读写请求处理完毕以后,将Follower控制器对数据读写请求处理完毕的消息通知Leader控制器。
由Leader控制器向该Follower控制器分配记录为等待消息的数据读写请求。
优选地,控制器状态位图包含存储系统中全部控制器的状态信息和等级信息。
其中,全部控制器包括Leader控制器和一个或多个Follower控制器;Leader控制器决策数据读写请求能否被处理以及处理该数据读写请求的Follower控制器。
控制器的状态信息是指:控制器异常与否的信息以及该控制器当前应用情况的信息。
控制器的等级信息是指:控制器当前的角色权限是Leader控制器还是Follower控制器的信息。
优选地,该方法还包括:
每一个控制器定时向除自身以外的其它控制器发送第一心跳信息,并随时接收其它控制器发出的第二心跳信息;通过第二心跳信息判断其它控制器的状态信息和等级信息;并根据第二心跳信息更新自身存储的控制器状态位图。
优选地,该方法还包括:
将数据读写请求发送给预设的Leader控制器之前,通过控制器状态位图确定全部控制器中的Leader控制器和Follower控制器,并确定每一个控制器是否异常。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510633709.X/2.html,转载请声明来源钻瓜专利网。