一种云存储系统中的临界资源管理方法和装置制造方法及图纸

技术编号:11587941 阅读:59 留言:0更新日期:2015-06-10 21:03
本发明专利技术公开了一种云存储系统中的临界资源管理方法和装置:当任一进程x需要申请占用任一临界资源y时,与管理节点之间建立会话连接,建立成功后,向管理节点发起占用临界资源y的请求;管理节点利用预定值,对所保存的临界资源y对应的标志位上的值进行置换;如果置换出来的值与预定值相同,则确定临界资源y已经被占用,本次申请失败,并通知进程x,否则,确定临界资源y未被占用,本次申请成功,并通知进程x。应用本发明专利技术所述方案,能够降低实现复杂度,并能够提高系统性能的稳定性等。

【技术实现步骤摘要】

本专利技术涉及存储技术,特别涉及一种云存储系统中的临界资源管理方法和装置
技术介绍
在云存储系统中,对临界资源的申请一般通过分布式锁来完成,分布式锁从单机锁进化而来。所述云存储系统,是指通过集群应用、网络技术和分布式文件系统等,将网络中大量的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。但是,上述方式在实际应用中会存在一定的问题,如:针对每个申请占用临界资源的进程(加锁进程),均需要设置有相应的通知接口,当某一临界资源被释放(解锁)时,需要通过通知接口通知到申请占用该临界资源的所有进程,以便这些进程通过竞争等,选出一个进程来占用该临界资源;从实现上来说比较复杂;另外,针对每个临界资源,会分别对应设置一个等待队列,每个申请占用该临界资源的进程均会加入到该等待队列中进行等待,这样,当该临界资源被释放时,等待队列中的所有进程都将会被唤醒去抢占这个临界资源,其中只有一个会抢占成功,其余继续等待,通常将大量进程同时被唤醒去抢占资源的现象称为惊群现象,惊群现象的出现会造成系统性能急剧抖动,即导致系统性能极度不稳定。
技术实现思路
有鉴于此,本专利技术提供了一种云存储系统中的临界资源管理方法和装置,能够降低实现复杂度,并能够提高系统性能的稳定性。为了达到上述目的,本专利技术的技术方案是这样实现的:一种云存储系统中的临界资源管理方法,包括:当任一进程x需要申请占用任一临界资源y时,与管理节点之间建立会话连接,建立成功后,向所述管理节点发起占用所述临界资源y的请求;所述管理节点利用预定值对所保存的所述临界资源y对应的标志位上的值进行置换;如果置换出来的值与所述预定值相同,则确定所述临界资源y已经被占用,本次申请失败,并通知所述进程x,否则,确定所述临界资源y未被占用,本次申请成功,并通知所述进程x。一种云存储系统中的临界资源管理装置,包括:第一处理模块和第二处理模块;所述第一处理模块,用于当接收到任一进程x发送来的占用任一临界资源y的请求时,利用预定值对所述第二处理模块中保存的、所述临界资源y对应的标志位上的值进行置换;如果置换出来的值与所述预定值相同,则确定所述临界资源y已经被占用,本次申请失败,并通知所述进程x,否则,确定所述临界资源y未被占用,本次申请成功,并通知所述进程x。可见,本专利技术所述方案中提供了一种简单的临界资源申请方式,无需设置通知接口等,从而降低了方案的实现复杂度,而且缩短了申请时间,即减少了时延;另外,无需设置等待队列,各进程处于自由竞争状态,从而避免了出现惊群现象,进而提高了系统性能的稳定性。附图说明图1为本专利技术云存储系统中的临界资源管理方法实施例的流程图。图2为本专利技术云存储系统中的临界资源申请方法较佳实施例的流程图。图3为本专利技术云存储系统中的临界资源释放方法较佳实施例的流程图。图4为本专利技术云存储系统中的临界资源管理装置实施例的组成结构示意图。具体实施方式针对现有技术中存在的问题,本专利技术中提出了一种无锁的、云存储系统中的临界资源管理方案,能够降低实现复杂度,并能够提高系统性能的稳定性等。为了使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步的详细说明。图1为本专利技术云存储系统中的临界资源管理方法实施例的流程图。如图1所示,包括以下步骤11~12。步骤11:当任一进程x需要申请占用任一临界资源y时,与管理节点之间建立会话连接,建立成功后,向管理节点发起占用临界资源y的请求。需要说明的是,本实施例以及随后的各实施例中,用进程x来表示任一进程,用临界资源y来表示任一临界资源,仅是为了方便表述,并不用于限制本专利技术的技术方案。步骤12:管理节点利用预定值对所保存的临界资源y对应的标志位上的值进行置换;如果置换出来的值与预定值相同,则确定临界资源y已经被占用,本次申请失败,并通知进程x,否则,确定临界资源y未被占用,本次申请成功,并通知进程x。系统进行初始化时,会为每个临界资源分别对应设置一个标志位,初始取值可为0,表示对应的临界资源未被占用,并可集合所有临界资源的标志位,利用一个map<ResID,Flag>进行管理,其中,ResID表示临界资源的标识,Flag表示对应的标志位,当然,同时需要用一个map< ResID ,ResName>来记录各临界资源的标识与名称(ResName)之间的对应关系。后续,根据系统中的临界资源的增删情况,可相应地对两个map进行修改。比如,当系统中增加了一个新的临界资源时,可将该临界资源的ResID、Flag和ResName之间的对应关系分别增加到两个map中。如果进程x本次申请成功,则会断开所述会话连接,并利用申请到的临界资源y进行后续的相应处理;如果本次申请失败,也会断开所述会话连接,并可选择再次进行申请或先进行其它处理,待其它处理完成后,再进行申请。另外,在实际应用中,进程x在与管理节点之间建立会话连接之前,还可先进行以下处理:进程x确定管理节点是否正常,如果是,则与管理节点之间建立会话连接。再有,管理节点利用预定值对临界资源y对应的标志位上的值进行置换之前,还可进一步进行以下处理:管理节点设置内存屏障,设置成功后,锁定主板总线,锁定成功后,利用预定值对临界资源y对应的标志位上的值进行置换。假设进程x成功占用了临界资源y,那么后续,当其需要释放临界资源y时,同样,可与管理节点之间建立会话连接,建立成功后,向管理节点发起释放临界资源y的请求;相应地,管理节点会将临界资源y对应的标志位上的值设置为进行置换之前的值,并可在设置成功后,通知进程x。类似地,进程x在与管理节点之间建立会话连接之前,还可进一步进行以下处理:进程x确定管理节点是否正常,如果是,则与管理节点之间建立会话连接。管理节点在将临界资源y对应的标志位上的值设置为进行置换之前的值之前,还可进一步进行以下处理:管理节点设置内存屏障,设置成功后,锁定主板总线,锁定成功后,将临界资源y对应的标志位上的值设置为进行置换之前的值。基于上述介绍,图2为本专利技术云存储系统中的临界资源申请方法较佳实施例的流程图。如图2所示,包括以下步骤21~28。步骤21:进程x需要申请占用临界资源y,与管理节点之间建立会话连接,并确定是否建立成功,如果是,则执行步骤22,否则,执行步骤27。假设默认管理节点是正常的。进程x可通过一个全局唯一句柄来与管理节点之本文档来自技高网...

【技术保护点】
一种云存储系统中的临界资源管理方法,其特征在于,包括:当任一进程x需要申请占用任一临界资源y时,与管理节点之间建立会话连接,建立成功后,向所述管理节点发起占用所述临界资源y的请求;所述管理节点利用预定值对所保存的所述临界资源y对应的标志位上的值进行置换;如果置换出来的值与所述预定值相同,则确定所述临界资源y已经被占用,本次申请失败,并通知所述进程x,否则,确定所述临界资源y未被占用,本次申请成功,并通知所述进程x。

【技术特征摘要】
1.一种云存储系统中的临界资源管理方法,其特征在于,包括:
当任一进程x需要申请占用任一临界资源y时,与管理节点之间建立会话连接,
建立成功后,向所述管理节点发起占用所述临界资源y的请求;
所述管理节点利用预定值对所保存的所述临界资源y对应的标志位上的值进行置
换;如果置换出来的值与所述预定值相同,则确定所述临界资源y已经被占用,本次
申请失败,并通知所述进程x,否则,确定所述临界资源y未被占用,本次申请成功,
并通知所述进程x。
2.根据权利要求1所述的方法,其特征在于,
该方法进一步包括:
如果本次申请成功,则所述进程x断开所述会话连接,并利用申请到的所述临界
资源y进行相应处理;
如果本次申请失败,则所述进程x断开所述会话连接,并选择再次进行申请或先
进行其它处理。
3.根据权利要求2所述的方法,其特征在于,
该方法进一步包括:
当所述进程x需要释放所述临界资源y时,与所述管理节点之间建立会话连接,
建立成功后,向所述管理节点发起释放所述临界资源y的请求;
所述管理节点将所述临界资源y对应的标志位上的值设置为进行置换之前的值。
4.根据权利要求3所述的方法,其特征在于,
所述与所述管理节点之间建立会话连接之前,进一步包括:
所述进程x确定所述管理节点是否正常,如果是,则与所述管理节点之间建立会
话连接。
5.根据权利要求3所述的方法,其特征在于,
所述管理节点利用预定值对所保存的所述临界资源y对应的标志位上的值进行置
换之前,进一步包括:
所述管理节点设置内存屏障,设置成功后,锁定主板总线,锁定成功后,利用预

\t定值对所保存的所述临界资源y对应的标志位上的值进行置换;
所述管理节点将所述临界资源y对应的标志位上的值设置为进行置换之前的值之
前,进一步包括:
所述管理节点设置内存屏障,设置成功后,锁定主板总线,锁定成功后,将所述
临界资源y对应的标志位上的值设置为进行置换...

【专利技术属性】
技术研发人员:陈翟翟闫春汪渭春
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1