CN104035944B - 文件系统的属性同步控制方法、装置和系统 - Google Patents

文件系统的属性同步控制方法、装置和系统 Download PDF

Info

Publication number
CN104035944B
CN104035944B CN201310074099.5A CN201310074099A CN104035944B CN 104035944 B CN104035944 B CN 104035944B CN 201310074099 A CN201310074099 A CN 201310074099A CN 104035944 B CN104035944 B CN 104035944B
Authority
CN
China
Prior art keywords
veneer
attribute
synchronization
update
metadata
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310074099.5A
Other languages
English (en)
Other versions
CN104035944A (zh
Inventor
朱鹏
林健
俞超
胡剑华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
Nanjing ZTE New Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing ZTE New Software Co Ltd filed Critical Nanjing ZTE New Software Co Ltd
Priority to CN201310074099.5A priority Critical patent/CN104035944B/zh
Priority to PCT/CN2013/082289 priority patent/WO2014134905A1/zh
Publication of CN104035944A publication Critical patent/CN104035944A/zh
Application granted granted Critical
Publication of CN104035944B publication Critical patent/CN104035944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种文件系统的属性同步控制方法、装置和系统。其中,该方法包括:申请单板根据当前对属性的更新操作类型确定同步方式;其中,该更新操作类型包括:简易操作和复杂操作;申请单板按照确定的同步方式与属性的元数据单板进行属性同步操作,并在本地存储同步后的属性。通过本发明,避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。

Description

文件系统的属性同步控制方法、装置和系统
技术领域
本发明涉及通信领域,具体而言,涉及一种文件系统的属性同步控制方法、装置和系统。
背景技术
随着多媒体产业的迅猛发展,出于成本、可靠性等多方面的考虑,越来越多的厂商选择在产品中部署分布式上层存储系统,分布式文件系统也因此得到了快速的发展。
目前,普通网络文件系统注重数据缓存的高效性,而忽略了操作更为频繁的属性缓存的速度与性能的提高,通常,分布式文件系统中的属性会存储在一个可靠的节点上,其它节点对该属性进行操作时,都需要访问该可靠节点,如果当前节点与该可靠节点相距较远,则访问所花时间较长;并且如果系统内的各个节点均频繁访问该可靠节点,也会造成该可靠节点的响应压力较大。由此可见,将属性单纯地存储在一个可靠节点上的方式影响了系统的性能。
针对相关技术中属性存储于一个可靠节点导致系统性能下降的问题,目前尚未提出有效的解决方案。
发明内容
针对上述属性存储于一个可靠节点导致系统性能下降的问题,本发明提供了一种文件系统的属性同步控制方法、装置和系统,以至少解决上述问题。
根据本发明的一个方面,提供了一种文件系统的属性同步控制方法,包括:申请单板根据当前对属性的更新操作类型确定同步方式;其中,该更新操作类型包括:简易操作和复杂操作;申请单板按照确定的同步方式与属性的元数据单板进行属性同步操作,并在本地存储同步后的属性。
上述申请单板根据当前对属性的更新操作类型确定同步方式包括:如果当前对属性的更新操作类型为简易操作,申请单板确定同步方式为更新不受限的同步操作;如果当前对属性的更新操作类型为复杂操作,申请单板确定同步方式为更新受限的同步操作。
上述申请单板按照确定的同步方式与属性的元数据单板进行属性同步操作包括:当申请单板确定的同步方式为更新不受限的同步操作时,申请单板对本地的属性进行更新操作,并将更新前的属性和更新后的属性发送给属性的元数据单板;申请单板接收元数据单板的响应消息,如果响应消息指示更新操作成功,申请单板将更新后的属性作为新属性;如果该响应消息指示更新操作失败,申请单板将响应消息中携带的属性作为新属性。
上述申请单板按照确定的同步方式与属性的元数据单板进行属性同步操作包括:当申请单板确定的同步方式为更新受限的同步操作时,申请单板向属性的元数据单板发送获取更新权限的请求;申请单板接收元数据单板返回的授予更新权限的指示和指示对应的属性;申请单板对属性进行更新操作,并定期将更新后的属性发送给元数据单板。
上述申请单板对属性进行更新操作之后,上述方法还包括:申请单板接收到第三单板获取属性的请求后,将更新后的属性发送给第三单板。
上述申请单板将更新后的属性发送给第三单板之前,该方法还包括:申请单板记录第三单板的地址和获取时间;申请单板根据记录的第三单板的获取时间判断第三单板在指定时长内的获取次数是否大于阈值,如果是,标记第三单板为属性的热节点,用以后续对属性进行更新操作之后,将更新后的属性发送给属性的热节点。
根据本发明的另一个方面,提供了一种文件系统的属性同步控制方法,包括:元数据单板接收申请单板的更新请求;元数据单板根据更新请求中携带的信息确定同步方式;元数据单板按照确定的同步方式与申请单板进行属性同步操作,并在本地存储同步后的属性。
上述数据单板根据更新请求中携带的信息确定同步方式包括:如果更新请求中携带的信息是申请单板更新前的属性和更新后的属性,元数据单板确定同步方式为更新不受限的同步操作;如果更新请求中携带的信息是获取更新权限的请求,元数据单板确定同步方式为更新受限的同步操作。
上述元数据单板按照确定的同步方式与申请单板进行属性同步操作包括:当元数据单板确定的同步方式为更新不受限的同步操作时,元数据单板比较申请单板更新前的属性与本地属性是否一致;如果一致,元数据单板向申请单板发送携带有更新操作成功指示的响应消息,将申请单板更新后的属性作为新属性,并向除申请单板之外的其它单板广播新属性;如果不一致,元数据单板向申请单板发送携带有更新操作失败指示和本地属性的响应消息。
上述元数据单板按照确定的同步方式与申请单板进行属性同步操作包括:当元数据单板确定的同步方式为更新受限的同步操作时,元数据单板判断是否授予申请单板更新权限;如果授予,元数据单板向申请单板发送授予更新权限的指示和指示对应的属性,并向除申请单板之外的其它单板广播申请单板的地址和设置缓存属性为无效的通知;元数据单板定期接收申请单板更新后的属性,将更新后的属性作为新属性。
上述方法还包括在以下情况之一发生时,元数据单板取消申请单板的更新权限:元数据单板接收到申请单板发送的属性更新完成通知;元数据单板在设定时长内均未收到来自申请单板的消息;元数据单板接送到第三单板的更新权限请求,且确认第三单板对属性的更新优于申请单板对属性的更新。
根据本发明的又一方面,提供了一种文件系统的属性同步控制装置,包括:第一同步方式确定模块,用于根据当前对属性的更新操作类型确定同步方式;其中,该更新操作类型包括:简易操作和复杂操作;第一同步操作模块,用于按照第一同步方式确定模块确定的同步方式与属性的元数据单板进行属性同步操作,并在本地存储同步后的属性。
上述第一同步方式确定模块包括:第一同步方式确定单元,用于如果当前对属性的更新操作类型为简易操作,确定同步方式为更新不受限的同步操作;第二同步方式确定单元,用于如果当前对属性的更新操作类型为复杂操作,确定同步方式为更新受限的同步操作。
上述第一同步操作模块包括:更新属性发送单元,用于当申请单板确定的同步方式为更新不受限的同步操作时,对本地的属性进行更新操作,并将更新前的属性和更新后的属性发送给属性的元数据单板;第一新属性确定单元,用于接收元数据单板的响应消息,如果响应消息指示更新操作成功,将更新后的属性作为新属性;如果响应消息指示更新操作失败,将响应消息中携带的属性作为新属性。
上述第一同步操作模块包括:权限请求单元,用于当申请单板确定的同步方式为更新受限的同步操作时,向属性的元数据单板发送获取更新权限的请求;信息接收单元,用于接收元数据单板返回的授予更新权限的指示和指示对应的属性;第二更新属性发送单元,用于对信息接收单元接收的属性进行更新操作,并定期将更新后的属性发送给元数据单板。
根据本发明的再一方面,提供了一种文件系统的属性同步控制装置,包括:更新请求接收模块,用于接收申请单板的更新请求;第二同步方式确定模块,用于根据更新请求接收模块接收的更新请求中携带的信息确定同步方式;第二同步操作模块,用于按照第二同步方式确定模块确定的同步方式与申请单板进行属性同步操作,并在本地存储同步后的属性。
上述第二同步方式确定模块包括:第三同步方式确定单元,用于如果更新请求中携带的信息是申请单板更新前的属性和更新后的属性,确定同步方式为更新不受限的同步操作;第四同步方式确定单元,用于如果更新请求中携带的信息是获取更新权限的请求,确定同步方式为更新受限的同步操作。
上述第二同步操作模块包括:属性比较单元,用于当第一同步方式确定单元确定的同步方式为更新不受限的同步操作时,比较申请单板更新前的属性与本地属性是否一致;同步处理单元,用于如果属性比较单元的比较结果为一致,向申请单板发送携带有更新操作成功指示的响应消息,将申请单板更新后的属性作为新属性,并向除申请单板之外的其它单板广播新属性;如果属性比较单元的比较结果为不一致,向申请单板发送携带有更新操作失败指示和本地属性的响应消息。
上述第二同步操作模块包括:权限判断单元,用于当第二同步方式确定单元确定的同步方式为更新受限的同步操作时,判断是否授予申请单板更新权限;广播单元,用于如果权限判断单元的判断结果为授予,向申请单板发送授予更新权限的指示和指示对应的属性,并向除申请单板之外的其它单板广播申请单板的地址和设置缓存属性为无效的通知;属性更新单元,用于定期接收申请单板更新后的属性,将更新后的属性作为新属性。
根据本发明的还一方面,提供了一种文件系统的属性同步控制系统,包括申请单板和元数据单板,其中,申请单板包括上述本发明又一方面中的属性同步控制装置,元数据单板包括上述本发明再一方面中的属性同步控制装置。
通过本发明,按照属性的更新操作类型有针对地与元数据单板进行属性的同步过程,进而可以简化属性同步过程,同时通过将同步后的属性在申请单板侧进行存储,为后续申请单板获取该属性提供了便捷方式,这种方式避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的从申请单板侧描述的文件系统的属性同步控制方法的流程图;
图2是根据本发明实施例的属性缓存中单个属性的状态变迁状态图;
图3是根据本发明实施例的从元数据单板侧描述的文件系统的属性同步控制方法的流程图;
图4是根据本发明实施例的简单修改属性的同步方法流程图;
图5是根据本发明实施例的复杂修改属性的同步方法流程图;
图6是根据本发明实施例的从申请单板侧描述的文件系统的属性同步控制装置的结构框图;
图7是根据本发明实施例的从元数据单板侧描述的文件系统的属性同步控制装置的结构框图;
图8是根据本发明实施例的文件系统的属性同步控制系统的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例中的文件系统中设置有多个单板(也可以称为节点),其中,将存储元数据的单板称为元数据单板,将当前进行属性操作的单板称为申请单板,下面分别从申请单板和元数据单板侧描述文件系统的属性同步控制方法。
如图1所示的文件系统的属性同步控制方法的流程图,该方法以从申请单板侧描述为例进行说明,该方法包括以下步骤:
步骤S102,申请单板根据当前对属性的更新操作类型确定同步方式;其中,该更新操作类型包括:简易操作和复杂操作;
例如:chmod(文件权限修改)、chown(文件属主修改)、chgrp(文件用户组修改)等操作均可以通过操作一次完成,这些操作就可以归类为简单操作,而像createfile(创建文件)、writefile(写文件)等连续的操作中的属性不能一次更新到位,则可以将这些操作归类为复杂操作;或者当前操作需要修改多个元数据的属性的情况也可以归类为复杂操作;
步骤S104,申请单板按照上述确定的同步方式与属性的元数据单板进行属性同步操作,并在本地存储同步后的属性。
本实施例按照属性的更新操作类型有针对地与元数据单板进行属性的同步过程,进而可以简化属性同步过程,同时通过将同步后的属性在申请单板侧进行存储,为后续申请单板获取该属性提供了便捷方式,这种方式避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。
如果当前申请单板对属性的更新操作类型为简易操作,则申请单板无需向元数据单板获取更新权限,申请单板可以确定同步方式为更新不受限的同步操作;如果当前对属性的更新操作类型为复杂操作,为了避免申请单板与元数据单板间频繁的消息交互,本实施例的申请单板可以确定同步方式为更新受限的同步操作。下面分别对更新不受限的同步操作和更新受限的同步操作进行描述。
一、更新不受限的同步操作
当申请单板确定的同步方式为更新不受限的同步操作时,申请单板先对本地的属性进行更新操作,并将更新前的属性(也可以称为原始属性)和更新后的属性发送给该属性的元数据单板;
申请单板接收上述元数据单板的响应消息,如果响应消息指示更新操作成功,则申请单板将更新后的属性作为新属性;如果响应消息指示更新操作失败,申请单板将响应消息中携带的属性作为新属性。
这种方式下,申请单板将会在本地保存上述新属性,当申请单板下次在需要对该属性进行访问时,可以直接在本地获取到该属性,为了保证属性的有效性,可以为该属性设置一个状态标志位,如果该状态标志位为I,则该属性为无效的属性,否则,该属性有效。
二、更新不受限的同步操作
当申请单板确定的同步方式为更新受限的同步操作时,申请单板向该属性的元数据单板发送获取更新权限的请求;
申请单板接收元数据单板返回的授予更新权限的指示和该指示对应的属性;
申请单板对该属性进行更新操作,并定期将更新后的属性(即新属性)发送给元数据单板。
这种同步方式之后,申请单板将在本地存储更新后的属性,因为这种复杂操作方式会对属性进行多次操作,因此本实施例采用了定期向元数据单板发送更新后的属性的方式,以使元数据单板上的属性为最新属性。
本发明实施例考虑到系统中有很多的单板,为了便于其它单板就近且分散访问属性,本实施例使用MOSIE(Modifier Owner Share Exclusive Invalid,修改、拥有、共享、独享和无效)的方式管理属性,图2给出了属性缓存中单个属性的状态变迁状态图,其中,各个状态如下:
M:数据的修改者位,获得该权限的节点即拥有读写权限(可以与其他属性位共存,拥有M的节点需要记录O的位置,方便更新O的状态),相当于上述更新权限;
O:指属性的拥有者,只拥有只读的权限(目前是元数据所在的地方,同时记录M的位置);
S:属性的共享者,该节点只拥有属性只读的权限;
E:属性的独享者,拥有属性独享的权限(此时的节点一定拥有M权限,却不一定是O,可能O已被置换了,需要记录O的位置);
I:该状态的节点上的属性为无效的,没有意义。
申请单板对属性进行更新操作之后,元数据单板将会将申请单板的地址通知给其它节点,此后,第三单板可以保存申请单板的地址,在需要访问上述属性时,向申请单板发送请求即可。基于此,上述方法还包括:申请单板接收到第三单板获取属性的请求后,将更新后的属性发送给第三单板。这种方式能够使第三单板方便地获取到上述属性,并且可以避免大量的节点频繁地访问元数据单板,减轻了元数据单板的压力。
为了进一步降低系统将的通信量,申请单板将更新后的属性发送给第三单板之前,上述方法还包括:申请单板记录第三单板的地址和获取时间;申请单板根据记录的第三单板的获取时间判断第三单板在指定时长内的获取次数是否大于阈值,如果是,标记该第三单板为该属性的热节点,用以后续对上述属性进行更新操作之后,将更新后的属性直接发送给该属性的热节点。这种方式不需要该属性的热节点发属性获取请求给申请节点,便可以使该属性的热节点及时地获取到更新的属性。
如图3所示的文件系统的属性同步控制方法的流程图,该方法以从元数据单板侧描述为例进行说明,该方法包括以下步骤:
步骤S302,元数据单板接收申请单板的更新请求;
步骤S304,元数据单板根据上述更新请求中携带的信息确定同步方式;
步骤S306,元数据单板按照确定的同步方式与上述申请单板进行属性同步操作,并在本地存储同步后的属性。
本实施例按照申请单板的更新请求中的信息确定同步方式,进而能够有针对地与申请单板进行属性的同步过程,简化了属性同步过程,同时通过将同步后的属性在元数据单板侧进行存储,为后续其它单板获取该属性提供了便捷方式,这种方式避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。
本实施例中,如果更新请求中携带的信息是申请单板更新前的属性和更新后的属性,则元数据单板可以确定同步方式为更新不受限的同步操作;如果更新请求中携带的信息是获取更新权限的请求,元数据单板可以确定同步方式为更新受限的同步操作。
当元数据单板确定的同步方式为更新不受限的同步操作时,元数据单板比较上述申请单板更新前的属性与本地属性是否一致;如果一致,元数据单板向申请单板发送携带有更新操作成功指示的响应消息,将申请单板更新后的属性作为新属性,并向除申请单板之外的其它单板广播该新属性;如果不一致,元数据单板向申请单板发送携带有更新操作失败指示和本地属性的响应消息。这样可以简单地完成属性的更新过程。
当元数据单板确定的同步方式为更新受限的同步操作时,元数据单板判断是否授予申请单板更新权限(具体判断方式可以结合当前操作的具体内容进行,判断该申请节点是否适合进行当前操作);如果授予,元数据单板向申请单板发送授予更新权限的指示和指示对应的属性,并向除申请单板之外的其它单板广播申请单板的地址和设置缓存属性为无效的通知;这种方式下,元数据单板将可以定期接收申请单板更新后的属性,将更新后的属性作为新属性。
优选地,上述方法还包括在以下情况之一发生时,元数据单板取消申请单板的更新权限:1)元数据单板接收到申请单板发送的属性更新完成通知;2)元数据单板在设定时长内均未收到来自申请单板的消息;3)元数据单板接送到第三单板的更新权限请求,且确认第三单板对属性的更新优于申请单板对属性的更新。本实施例通过适时取消申请单板的更新权限,能够使其它单板获取到该更新权限,便于属性的同步操作。
本发明上述实施例中仅对属性的更新进行了描述,上述方法对应的系统中可以对属性进行下述操作:
1)获取属性:即读取属性,如果所读取的属性的元数据不在本板,那么对应的元数据的单板也会得到该属性的一份数据,本板状态为S,记录元数据单板的标识(例如:单板的IP地址等可以在集群中唯一标识单板身份的一个唯一确定值),而元数据单板状态为S+O,并记录拥有的该属性的2个单板的标识,例如:当一个非元数据单板的单板(非元数据单板)获取了属性,那么元数据单板需要记录本板和获取到该属性的单板这两个单板的相关信息。
2)更新属性:通常指修改属性,如上述实施例所述,本发明实施例中涉及到两种形式:简单模式和复杂模式,即对应上述更新不受限的同步操作和更新受限的同步操作。
3)释放更新权限:归还M权限,然后对全域做一次更新。
4)删除属性:可以借助于广播方式通知给各个单板,清除相关的属性缓存,元数据单板(O节点)将清除相应的元数据。
如图4所示的简单修改属性的同步方法流程图,其中包括以下步骤:
步骤S402,简单修改单板将原始属性与改后属性(即新属性)同时发给属性的拥有者O(即元数据单板);
步骤S404,元数据单板(简称为“O单板”或者“O节点”)根据自身记录的属性与接收到的简单修改单板发送的原始属性进行对比,如果二者一致,保存上述新属性,并执行步骤S406;如果不一致,执行步骤S410;
步骤S406,元数据单板向简单修改单板发送修改成功通知,然后执行步骤S408;
步骤S408,元数据单板向广播域内的单板广播上述新属性;
其中,上述步骤S406和步骤S408的顺序可以互换;
步骤S410,元数据单板向简单修改单板返回修改失败通知,该通知携带有元数据单板上记录的属性。
如图5所示的复杂修改属性的同步方法流程图,其中包括以下步骤:
步骤S502,复杂修改单板向元数据单板获取修改权限M,发送获取M请求时,携带有自身的原始属性;
步骤S504,元数据单板根据自身记录的属性与接收到的复杂修改单板发送的原始属性进行对比,如果相同,且复杂修改单板适合授予M,执行步骤S506;否则,执行步骤S510;
步骤S506,元数据单板授予复杂修改单板M,记录复杂修改单板的地址并将自己记录的所有拥有本属性信息的数据返回给复杂修改单板,然后执行步骤S508;
步骤S508,元数据单板向广播域内的单板发送更新M的通知,该通知携带有复杂修改单板的地址和设置缓存属性为无效的指示(Invalid);即对非O广播节点下发更新M节点信息,同时无效该节点上的属性。如果对方节点需要该属性,可以向复杂修改单板申请;
其中,上述步骤S506和步骤S508的顺序可以互换;
此时复杂修改单板获得修改权限M,可以简称为M节点或者M单板,同时复杂修改单板将作为属性的更新方负责更新相关的修改。具体包括:
1)定期更新数据单板上的属性信息,同时,这种方式也是维护M状态的心跳通信方式,如果连续丢失心跳(即元数据单板设定时长内为收到该心跳通信),元数据单板将结束复杂修改单板的M状态,并以自己目前所得到的属性对记录的广播域内的单板解除复杂修改单板的M状态,并更新相关信息。同时元数据单板会将本地记录的M状态解除(就是集群中这个元数据失去了M的单板,所有的更新和读取会重新向数据的O(即元数据单板)发起请求)(本实施例中,设置有一个保护期30s,在解除复杂修改单板M状态的30s内,别的单板无法申请到M状态;如果复杂修改单板对解除M状态有异议,可以再次申请M权限,系统将更新相关信息);
2)复杂修改单板在更新期间都没有出现异常,复杂修改单板完成相应操作之后需要解除M状态,例如:首先对所有广播域内的单板更新属性,同时向元数据单板发送解除M状态的通知,收到更新属性广播的单板可以给元数据单板发送确认更新的消息,此时元数据单板将作为同步的关键节点,保证收到所用广播域内的消息。
步骤S510,元数据单板向复杂修改单板返回申请失败通知,该通知携带有元数据单板上记录的属性和已经具有M权限的单板的地址(当然,如果系统中没有单板具有M权限,则该通知中无此地址项)。
上述流程是复杂的属性修改流程,目的是在文件系统创建、写等连续操作过程中提高本地响应速度的一种做法。
上述简单修改单板或者复杂修改单板在与其它节点进行属性同步时,可以采用广播、组播或者单波的方式,例如:需要进行同步节点的个数超过规定个数,则可以采用广播模式(需要进行同步的节点的属性状态为S,如果没有具有M权限的节点,则由O节点进行同步),通常系统中的一、二层节点(假设当前文件系统挂载在/mnt下面,那么/mnt/a这个文件或目录就是第一层节点,而/mnt/a/b这个文件目录就是第二层节点,因为缓存的设计是树形的,所以对于每一个缓存树,树根部分基本上每个单板都存在,设计时就可以对这两层节点做特殊处理),默认为采用广播方式。当需要同步属性的节点个数小于规定个数时,可以采用组播方式进行同步;如果需要同步属性的节点个数为1,或者该节点的状态为E(这两个节点应该是并列的状态),则可以采用单波方式。
上述流程中如果存在下述冲突的问题,本实施例优选采用下述方式处理:
1、简单修改的方式下如果有节点获得M状态
A)此时如果广播域内有其他单板需要进行简单修改也可以,但是可以选择与M状态的节点进行通讯,而不选择具有O状态的节点;
B)广播域外由于获取节点信息后就进入广播域,所以不存在广播域外简单修改的可能。
2、关于多个节点争抢M状态的解决办法
A)所有需要M状态的操作在出现无法申请到M状态后,对于具有M状态的新节点建立简单的非M状态操作流程;即由复杂流程退化到简单流程,但是操作的对象是元数据的M单板,而不是O单板,用于当O单板通知之前的M单板解除M状态回刷数据时,该M单板再次申请M权限,这样说明目前的M单板对流程的依赖很大,此时可以由M状态回退到O单板上修改为新申请的M节点退化到简单流程,在具体实现时,可以通过API程序来处理的,能够使客户了解自己的需求去申请这个权限。
B)对于目前的M状态节点,O节点将发起目前M状态的节点解除M状态的动作,以保证各个节点的公平;(即:原始的O节点要求收回M权限的流程,这个流程后所有的M请求单板(复杂请求)都会退化到简单请求,该处理是不做特殊处理的一般流程)。
3、关于O节点缓存不足,需要释放掉缓存的问题
因为是缓存,所以有可能会出现内存不够的情况,在内存不足时,缓存系统为了提高性能,一般来说采取回刷到硬盘,下次需要时再从硬盘读取,如果此时O节点记录的状态是S(有自己以外的单板拥有这个状态),那么在存在M单板的时候就直接释放掉了;而如果没有O节点会指定一个S的单板为M状态同时释放掉自己的内存,这样控制权在M单板上,如果有修改的话,由M单板代行O节点的权限进行处理;当属性有修改时,M单板需要同步到O节点;此时O节点再申请内存,重新同步M单板修改过的属性(此时不需要读取磁盘上数据);
O节点当发现出现O状态必须要释放的时候,将随机选一个节点,并更新该节点的状态为M,以保证数据可以继续运行。
对应与上述方法,本发明实施例还提供了一种文件系统的属性同步控制装置,该装置可以设置在上述申请单板上,参见图6,该装置包括:
第一同步方式确定模块62,用于根据当前对属性的更新操作类型确定同步方式;其中,更新操作类型包括:简易操作和复杂操作;
第一同步操作模块64,与第一同步方式确定模块62相连,用于按照第一同步方式确定模块62确定的同步方式与属性的元数据单板进行属性同步操作,并在本地存储同步后的属性。
本实施例按照属性的更新操作类型有针对地与元数据单板进行属性的同步过程,进而可以简化属性同步过程,同时通过将同步后的属性在申请单板侧进行存储,为后续申请单板获取该属性提供了便捷方式,这种方式避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。
其中,第一同步方式确定模块62包括:第一同步方式确定单元,用于如果当前对属性的更新操作类型为简易操作,确定同步方式为更新不受限的同步操作;第二同步方式确定单元,用于如果当前对属性的更新操作类型为复杂操作,确定同步方式为更新受限的同步操作。
优选地,第一同步操作模块64包括:更新属性发送单元,用于当申请单板确定的同步方式为更新不受限的同步操作时,对本地的属性进行更新操作,并将更新前的属性和更新后的属性发送给属性的元数据单板;第一新属性确定单元,用于接收元数据单板的响应消息,如果响应消息指示更新操作成功,将更新后的属性作为新属性;如果响应消息指示更新操作失败,将响应消息中携带的属性作为新属性。
优选地,第一同步操作模块64包括:权限请求单元,用于当申请单板确定的同步方式为更新受限的同步操作时,向属性的元数据单板发送获取更新权限的请求;信息接收单元,用于接收元数据单板返回的授予更新权限的指示和指示对应的属性;第二更新属性发送单元,用于对信息接收单元接收的属性进行更新操作,并定期将更新后的属性发送给元数据单板。
对应于上述方法,本发明实施例还提供了一种文件系统的属性同步控制装置,该装置可以设置在上述元数据单板上,参见图7,该装置包括:
更新请求接收模块72,用于接收申请单板的更新请求;
第二同步方式确定模块74,与更新请求接收模块72相连,用于根据更新请求接收模块72接收的更新请求中携带的信息确定同步方式;
第二同步操作模块76,与第二同步方式确定模块74相连,用于按照第二同步方式确定模块74确定的同步方式与申请单板进行属性同步操作,并在本地存储同步后的属性。
本实施例按照申请单板的更新请求中的信息确定同步方式,进而能够有针对地与申请单板进行属性的同步过程,简化了属性同步过程,同时通过将同步后的属性在元数据单板侧进行存储,为后续其它单板获取该属性提供了便捷方式,这种方式避免了属性存储于一个可靠节点导致系统性能下降的问题,降低了属性的访问和修改所带来的性能和资源的消耗,优化了系统性能。
优选地,第二同步方式确定模块74包括:第三同步方式确定单元,用于如果更新请求中携带的信息是申请单板更新前的属性和更新后的属性,确定同步方式为更新不受限的同步操作;第四同步方式确定单元,用于如果更新请求中携带的信息是获取更新权限的请求,确定同步方式为更新受限的同步操作。
优选地,第二同步操作模块76包括:属性比较单元,用于当第一同步方式确定单元确定的同步方式为更新不受限的同步操作时,比较申请单板更新前的属性与本地属性是否一致;同步处理单元,用于如果属性比较单元的比较结果为一致,向申请单板发送携带有更新操作成功指示的响应消息,将申请单板更新后的属性作为新属性,并向除申请单板之外的其它单板广播新属性;如果属性比较单元的比较结果为不一致,向申请单板发送携带有更新操作失败指示和本地属性的响应消息。
优选地,第二同步操作模块76包括:权限判断单元,用于当第二同步方式确定单元确定的同步方式为更新受限的同步操作时,判断是否授予申请单板更新权限;广播单元,用于如果权限判断单元的判断结果为授予,向申请单板发送授予更新权限的指示和指示对应的属性,并向除申请单板之外的其它单板广播申请单板的地址和设置缓存属性为无效的通知;属性更新单元,用于定期接收申请单板更新后的属性,将更新后的属性作为新属性。
对应于上述方法和装置,本发明实施例还提供了一种文件系统的属性同步控制系统,包括申请单板60和元数据单板70,其中,申请单板60包括上述图6所示的装置,元数据单板70包括上述图7所示的装置。
本系统可以显著提高局部访问的性能,同时在高压力访问的情况下,可以通过策略,分散系统元数据单板的处理压力。
以上实施例中的状态指一个属性对应的状态,一个节点上可能有上百个属性,每个属性对应着相应的状态。
从以上的描述中可以看出,本发明实施例使用一种高效的同步方式管理起整个文件系统的属性,从而使远端客户端可以根据本系统的记录数据确定出缓存的元数据是否是可用的,从而提高本地节点的性能,同时又可以依托本系统,降低属性的访问和修改所带来的性能和资源的消耗,进而避免了系统中的各个节点均向一个节点获取属性引起的系统性能下降问题。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种文件系统的属性同步控制方法,其特征在于,包括:
申请单板根据当前对属性的更新操作类型确定同步方式;其中,所述更新操作类型包括:简易操作和复杂操作;
所述申请单板按照确定的所述同步方式与所述属性的元数据单板进行属性同步操作,并在本地存储同步后的属性;
其中,申请单板根据当前对属性的更新操作类型确定同步方式包括:如果当前对属性的更新操作类型为简易操作,申请单板确定同步方式为更新不受限的同步操作;如果当前对属性的更新操作类型为复杂操作,申请单板确定同步方式为更新受限的同步操作。
2.根据权利要求1所述的方法,其特征在于,所述申请单板按照确定的所述同步方式与所述属性的元数据单板进行属性同步操作包括:
当所述申请单板确定的同步方式为更新不受限的同步操作时,所述申请单板对本地的属性进行更新操作,并将更新前的属性和所述更新后的属性发送给所述属性的元数据单板;
所述申请单板接收所述元数据单板的响应消息,如果所述响应消息指示更新操作成功,所述申请单板将所述更新后的属性作为新属性;如果所述响应消息指示更新操作失败,所述申请单板将所述响应消息中携带的属性作为新属性。
3.根据权利要求1所述的方法,其特征在于,所述申请单板按照确定的所述同步方式与所述属性的元数据单板进行属性同步操作包括:
当所述申请单板确定的同步方式为更新受限的同步操作时,所述申请单板向所述属性的元数据单板发送获取更新权限的请求;
所述申请单板接收所述元数据单板返回的授予更新权限的指示和所述指示对应的属性;
所述申请单板对所述属性进行更新操作,并定期将更新后的属性发送给所述元数据单板。
4.根据权利要求3所述的方法,其特征在于,所述申请单板对所述属性进行更新操作之后,所述方法还包括:
所述申请单板接收到第三单板获取所述属性的请求后,将更新后的属性发送给所述第三单板。
5.根据权利要求4所述的方法,其特征在于,所述申请单板将更新后的属性发送给所述第三单板之前,所述方法还包括:
所述申请单板记录所述第三单板的地址和获取时间;
所述申请单板根据记录的所述第三单板的获取时间判断所述第三单板在指定时长内的获取次数是否大于阈值,如果是,标记所述第三单板为所述属性的热节点,用以后续对所述属性进行更新操作之后,将更新后的所述属性发送给所述属性的热节点。
6.一种文件系统的属性同步控制方法,其特征在于,包括:
元数据单板接收申请单板的更新请求;
所述元数据单板根据所述更新请求中携带的信息确定同步方式;
所述元数据单板按照确定的所述同步方式与所述申请单板进行属性同步操作,并在本地存储同步后的属性;
其中,所述元数据单板根据所述更新请求中携带的信息确定同步方式包括:如果所述更新请求中携带的信息是所述申请单板更新前的属性和更新后的属性,所述元数据单板确定同步方式为更新不受限的同步操作;如果所述更新请求中携带的信息是获取更新权限的请求,所述元数据单板确定同步方式为更新受限的同步操作。
7.根据权利要求6所述的方法,其特征在于,所述元数据单板按照确定的所述同步方式与所述申请单板进行属性同步操作包括:
当所述元数据单板确定的同步方式为更新不受限的同步操作时,所述元数据单板比较所述申请单板更新前的属性与本地属性是否一致;
如果一致,所述元数据单板向所述申请单板发送携带有更新操作成功指示的响应消息,将所述申请单板更新后的属性作为新属性,并向除所述申请单板之外的其它单板广播所述新属性;
如果不一致,所述元数据单板向所述申请单板发送携带有更新操作失败指示和所述本地属性的响应消息。
8.根据权利要求6所述的方法,其特征在于,所述元数据单板按照确定的所述同步方式与所述申请单板进行属性同步操作包括:
当所述元数据单板确定的同步方式为更新受限的同步操作时,所述元数据单板判断是否授予所述申请单板更新权限;
如果授予,所述元数据单板向所述申请单板发送授予更新权限的指示和所述指示对应的属性,并向除所述申请单板之外的其它单板广播所述申请单板的地址和设置缓存属性为无效的通知;所述元数据单板定期接收所述申请单板更新后的属性,将所述更新后的属性作为新属性。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括在以下情况之一发生时,所述元数据单板取消所述申请单板的更新权限:
所述元数据单板接收到所述申请单板发送的属性更新完成通知;
所述元数据单板在设定时长内均未收到来自所述申请单板的消息;
所述元数据单板接送到第三单板的更新权限请求,且确认所述第三单板对所述属性的更新优于所述申请单板对所述属性的更新。
10.一种文件系统的属性同步控制装置,其特征在于,包括:
第一同步方式确定模块,用于根据当前对属性的更新操作类型确定同步方式;其中,所述更新操作类型包括:简易操作和复杂操作;
第一同步操作模块,用于按照所述第一同步方式确定模块确定的所述同步方式与所述属性的元数据单板进行属性同步操作,并在本地存储同步后的属性;
其中,所述第一同步方式确定模块包括:第一同步方式确定单元,用于如果当前对属性的更新操作类型为简易操作,确定同步方式为更新不受限的同步操作;第二同步方式确定单元,用于如果当前对属性的更新操作类型为复杂操作,确定同步方式为更新受限的同步操作。
11.根据权利要求10所述的装置,其特征在于,所述第一同步操作模块包括:
更新属性发送单元,用于当申请单板确定的同步方式为更新不受限的同步操作时,对本地的属性进行更新操作,并将更新前的属性和所述更新后的属性发送给所述属性的元数据单板;
第一新属性确定单元,用于接收所述元数据单板的响应消息,如果所述响应消息指示更新操作成功,将所述更新后的属性作为新属性;如果所述响应消息指示更新操作失败,将所述响应消息中携带的属性作为新属性。
12.根据权利要求10所述的装置,其特征在于,所述第一同步操作模块包括:
权限请求单元,用于当申请单板确定的同步方式为更新受限的同步操作时,向所述属性的元数据单板发送获取更新权限的请求;
信息接收单元,用于接收所述元数据单板返回的授予更新权限的指示和所述指示对应的属性;
第二更新属性发送单元,用于对所述信息接收单元接收的所述属性进行更新操作,并定期将更新后的属性发送给所述元数据单板。
13.一种文件系统的属性同步控制装置,其特征在于,包括:
更新请求接收模块,用于接收申请单板的更新请求;
第二同步方式确定模块,用于根据所述更新请求接收模块接收的所述更新请求中携带的信息确定同步方式;
第二同步操作模块,用于按照所述第二同步方式确定模块确定的所述同步方式与所述申请单板进行属性同步操作,并在本地存储同步后的属性;
其中,所述第二同步方式确定模块包括:第三同步方式确定单元,用于如果所述更新请求中携带的信息是所述申请单板更新前的属性和更新后的属性,确定同步方式为更新不受限的同步操作;第四同步方式确定单元,用于如果所述更新请求中携带的信息是获取更新权限的请求,确定同步方式为更新受限的同步操作。
14.根据权利要求13所述的装置,其特征在于,所述第二同步操作模块包括:
属性比较单元,用于当第一同步方式确定单元确定的同步方式为更新不受限的同步操作时,比较所述申请单板更新前的属性与本地属性是否一致;
同步处理单元,用于如果所述属性比较单元的比较结果为一致,向所述申请单板发送携带有更新操作成功指示的响应消息,将所述申请单板更新后的属性作为新属性,并向除所述申请单板之外的其它单板广播所述新属性;如果所述属性比较单元的比较结果为不一致,向所述申请单板发送携带有更新操作失败指示和所述本地属性的响应消息。
15.根据权利要求13所述的装置,其特征在于,所述第二同步操作模块包括:
权限判断单元,用于当所述第二同步方式确定单元确定的同步方式为更新受限的同步操作时,判断是否授予所述申请单板更新权限;
广播单元,用于如果所述权限判断单元的判断结果为授予,向所述申请单板发送授予更新权限的指示和所述指示对应的属性,并向除所述申请单板之外的其它单板广播所述申请单板的地址和设置缓存属性为无效的通知;
属性更新单元,用于定期接收所述申请单板更新后的属性,将所述更新后的属性作为新属性。
16.一种文件系统的属性同步控制系统,其特征在于,包括申请单板和元数据单板,其中,所述申请单板包括权利要求10-12中任一项所述的装置,所述元数据单板包括权利要求13-15中任一项所述的装置。
CN201310074099.5A 2013-03-08 2013-03-08 文件系统的属性同步控制方法、装置和系统 Active CN104035944B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310074099.5A CN104035944B (zh) 2013-03-08 2013-03-08 文件系统的属性同步控制方法、装置和系统
PCT/CN2013/082289 WO2014134905A1 (zh) 2013-03-08 2013-08-26 文件系统的属性同步控制方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310074099.5A CN104035944B (zh) 2013-03-08 2013-03-08 文件系统的属性同步控制方法、装置和系统

Publications (2)

Publication Number Publication Date
CN104035944A CN104035944A (zh) 2014-09-10
CN104035944B true CN104035944B (zh) 2018-11-09

Family

ID=51466715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310074099.5A Active CN104035944B (zh) 2013-03-08 2013-03-08 文件系统的属性同步控制方法、装置和系统

Country Status (2)

Country Link
CN (1) CN104035944B (zh)
WO (1) WO2014134905A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638897B (zh) * 2020-06-02 2023-09-26 驭新智行科技(宁波)有限公司 系统更新方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385030A (zh) * 2006-02-15 2009-03-11 微软公司 同步对等参与者模型
CN102339283A (zh) * 2010-07-20 2012-02-01 中兴通讯股份有限公司 集群文件系统访问控制方法及集群节点
CN102521297A (zh) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现系统动态扩展的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020199017A1 (en) * 2001-06-25 2002-12-26 Russell Lance W. Routing meta data for network file access

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101385030A (zh) * 2006-02-15 2009-03-11 微软公司 同步对等参与者模型
CN102339283A (zh) * 2010-07-20 2012-02-01 中兴通讯股份有限公司 集群文件系统访问控制方法及集群节点
CN102521297A (zh) * 2011-11-30 2012-06-27 北京人大金仓信息技术股份有限公司 无共享数据库集群中实现系统动态扩展的方法

Also Published As

Publication number Publication date
CN104035944A (zh) 2014-09-10
WO2014134905A1 (zh) 2014-09-12

Similar Documents

Publication Publication Date Title
CN110061838B (zh) 一种dns资源记录的去中心化存储系统及其实现方法
US10979527B2 (en) Managing a local cache for an online content-management system
CN104281506B (zh) 一种文件系统的数据维护方法及系统
CN105224255B (zh) 一种存储文件管理方法及装置
US20170212707A1 (en) Techniques to manage non-disruptive san availability in a partitioned cluster
CN106775446B (zh) 基于固态硬盘加速的分布式文件系统小文件访问方法
CN109995594A (zh) 区块链网络资源管理方法、装置及区块链系统
CN105812391A (zh) 一种安全的云存储系统
CN103186554A (zh) 分布式数据镜像方法及存储数据节点
CN104182184A (zh) 一种分布式块存储克隆方法
CN110147684A (zh) 用于实现区块链数据隐私保护的方法及设备
CN102629903A (zh) 一种互联网应用中的容灾备份系统及方法
US20130232121A1 (en) Method and system for remote storage of data
CN107133285A (zh) 一种分布式主键生成方法与装置
CN103795801A (zh) 一种基于实时应用集群的元数据集群设计方法
CN102685245A (zh) 一种基于互联网的数据社交存储方法和系统
CN105007193A (zh) 一种多层信息处理方法、系统及集群管理节点
CN107608632A (zh) 一种分布式存储集群的通信方法、装置及系统
CN103970678B (zh) 目录设计方法及装置
CN106973125A (zh) 域名解析实现方法及装置
CN104035944B (zh) 文件系统的属性同步控制方法、装置和系统
CN104281673A (zh) 一种数据库的缓存构建系统及对应的构建方法
CN101344882A (zh) 数据查询方法、插入方法及删除方法
CN108595485A (zh) 一种双数据中心的数据更新方法及系统
CN107659574A (zh) 一种数据访问控制系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20180904

Address after: 210012 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing

Applicant after: Nanjing Zhongxing New Software Co., Ltd.

Address before: No. 55, Nanshan District science and technology road, Nanshan District, Shenzhen, Guangdong

Applicant before: ZTE Corporation

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191118

Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Patentee after: ZTE Communications Co., Ltd.

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.

TR01 Transfer of patent right