CN107766346A - 分布式文件系统文件访问方法及装置 - Google Patents
分布式文件系统文件访问方法及装置 Download PDFInfo
- Publication number
- CN107766346A CN107766346A CN201610671982.6A CN201610671982A CN107766346A CN 107766346 A CN107766346 A CN 107766346A CN 201610671982 A CN201610671982 A CN 201610671982A CN 107766346 A CN107766346 A CN 107766346A
- Authority
- CN
- China
- Prior art keywords
- storage server
- server
- status information
- access
- rank
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
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)
Abstract
本发明实施例提供一种分布式文件系统文件访问方法及装置。该方法包括:接收跟踪服务器发送的各存储服务器的状态信息;根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。本发明实施例通过由客户端根据各存储服务器的状态信息确定其对应的访问级别,根据各服务器的访问级别自主选择并访问最为合适的目标存储服务器,无需跟踪服务器转发客户端的文件访问请求或目标存储服务器的访问地址,缩短了响应的时延。
Description
技术领域
本发明实施例涉及分布式文件系统领域,尤其涉及一种分布式文件系统文件访问方法及装置。
背景技术
随着信息技术的飞速发展,各行各业都先后跨入大数据时代。针对海量非结构化大数据的存储需求,分布式文件系统应运而生。分布式文件系统(Distributed FileSystem)是一种允许文件通过网络分散存储在多个存储服务器上的文件系统,对这些存储服务器进行统一管理,并向客户端提供文件访问接口。
目前主流的分布式文件系统,通常包括跟踪服务器,多个存储服务器,以及多个客户端。当客户端发起文件访问请求时,跟踪服务器根据该文件访问请求查询目标文件对应的各存储服务器,并从目标文件对应的各存储服务器中随机指派一个服务器作为目标存储服务器,并将该文件访问请求转发给该目标存储服务器,由目标存储服务器响应客户端的文件访问请求;或在跟踪服务器指派目标存储服务器后,将目标存储服务器的访问地址转发给客户端,客户端根据该访问地址访问目标存储服务器。
现有技术中,只要各目标文件对应的各存储服务器为可用状态,即由跟踪服务器为客户端随机指派其中一个存储服务器作为目标存储服务器,该目标存储服务器可能存在与客户端不在同一网段,CPU使用率较高,或磁盘占用率高的情况。目标存储服务器的选择不合理,导致对客户端文件访问请求响应的时延长。并且增加了跟踪服务器将客户端的文件访问请求转发给该目标存储服务器,或将目标存储服务器的访问地址转发给客户端的过程,也会导致目标存储服务器对客户端文件访问请求响应的时延长。
发明内容
本发明实施例提供一种分布式文件系统文件访问方法及装置,以解决现有的分布式文件系统文件访问时因目标存储器选择不合理,以及增加了跟踪服务器将客户端的文件访问请求转发给该目标存储服务器,或将目标存储服务器的访问地址转发给客户端的过程,而导致响应的时延长的问题。
本发明实施例的一个方面是提供一种分布式文件系统文件访问方法,包括:
接收跟踪服务器发送的各存储服务器的状态信息;
根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
本发明实施例的另一个方面是提供一种分布式文件系统文件访问装置,其特征在于,包括:
第一接收模块,用于接收跟踪服务器发送的各存储服务器的状态信息;
第一确定模块,用于根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
第二确定模块,用于根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
发送模块,用于将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
本发明实施例通过接收跟踪服务器发送的各存储服务器的状态信息;根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。跟踪服务器仅用于向客户端提供各存储服务器的状态信息,使得客户端根据该各存储服务器的状态信息更新各存储服务器的访问级别,而跟踪服务器并不直接参与客户端访问各存储服务器的过程。本发明实施例实现了由客户端根据各存储服务器的当前状态确定各存储服务器的访问级别,并根据各存储服务器的访问级别的大小自主选择最为合适的目标存储服务器,并且无需跟踪服务器转发客户端的文件访问请求和目标存储服务器的访问地址,缩短了响应的时延。
附图说明
图1为本发明实施例提供的分布式文件系统文件访问方法流程图;
图2为本发明另一实施例提供的确定访问级别过程的流程图;
图3为本发明另一实施例提供的分布式文件系统文件访问方法流程图;
图4为本发明另一实施例提供的分布式文件系统文件访问方法信令图;
图5为本发明实施例提供的分布式文件系统文件访问装置结构图;
图6为本发明另一实施例提供的分布式文件系统文件访问装置结构图。
具体实施方式
图1为本发明实施例提供的分布式文件系统文件访问方法流程图。本发明实施例针对现有的分布式文件系统文件访问时因目标存储器选择不合理,以及增加了跟踪服务器将客户端的文件访问请求转发给该目标存储服务器,或将目标存储服务器的访问地址转发给客户端的过程,而导致响应的时延长的问题,提供了分布式文件系统文件访问方法。该方法可应用于发出文件访问请求的客户端。该方法具体步骤如下:
步骤S101、接收跟踪服务器发送的各存储服务器的状态信息;
为了能够根据各存储服务器的状态信息,合理地选择目标存储服务器,客户端接收跟踪服务器发送的各存储服务器的状态信息。
优选地,跟踪服务器在向客户端发送各存储服务器的状态信息前,获取各存储服务器的状态信息至少可以通过以下两种方法实现:(1)存储服务器周期性或实时向跟踪服务器上报各自的状态信息,跟踪服务器可以周期性或实时向客户端发送各存储服务器的状态信息;(2)跟踪服务器周期性或实时主动获取各存储服务器的状态信息,并周期性或实时向客户端发送各存储服务器的状态信息。如可以由向跟踪服务器各存储服务器发送状态请求,使得各存储服务器在接收到该状态请求时,向跟踪服务器反馈其状态信息,跟踪服务器周期性或实时向客户端发送各存储服务器的状态信息。
进一步地,优选采用存储服务器周期性向跟踪服务器上报各自的状态信息,跟踪服务器周期性向客户端发送各存储服务器的状态信息;或跟踪服务器周期性主动获取各存储服务器的状态信息,并周期性向客户端发送各存储服务器的状态信息。可选地,跟踪服务器向客户端发送各存储服务器的状态信息的周期可以为5-10秒,该周期可以由技术人员根据实际需要自主设定,本发明实施例对此不做具体限定。
步骤S102、根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
优选地,所述状态信息至少包括如下一种:所述存储服务器的CPU占用率、所述存储服务器的内存占用率、所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处机房的位置信息、所述存储服务器所处机架的位置信息。
各存储服务器的状态信息反映了存储服务器响应访问请求的速度,当客户端接收到跟踪服务器发送的各存储服务器的状态信息后,根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别。例如,在除CPU占用率之外的其他状态信息相同的前提下,CPU占用率较低的存储服务器处理数据的速度较快,从而响应访问请求的速度也较快。因此,可以优先选择CPU占用率较低的存储服务器为目标存储服务器,故可以将CPU占用率较低的存储服务器的设置较高的访问级别。
上述步骤S101和S102为客户端接收跟踪服务器发送的各存储服务器的状态信息,并根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别的过程。步骤S102在步骤S101执行之后执行,当跟踪服务器向客户端发送各存储服务器的状态信息为周期性的,各存储服务器的访问级别的更新也是周期性的。当跟踪服务器向客户端发送各存储服务器的状态信息为实时的,各存储服务器的访问级别的也是实时更新的。
例如,跟踪服务器可以周期性地向客户端发送各存储服务器的状态信息,周期为2分钟。在一个周期开始时,客户端接收到跟踪服务器发送的各存储服务器的状态信息,本次接收的各存储服务器的状态信息为最新的各存储服务器的状态信息,然后根据该最新的各存储服务器的状态信息,确定各存储服务器的访问级别。在该周期之后的时间内,客户端不会接收到跟踪服务器发送的各存储服务器的状态信息,步骤S102。直到下一个周期开始时,客户端接收到跟踪服务器发送的各存储服务器的状态信息之后,执行步骤S102。
步骤S103、根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
各存储服务器的访问级别根据各存储服务器的状态信息确定,各存储服务器的状态信息反映了存储服务器响应访问请求的速度,因此各存储服务器的访问级别能够反映各存储服务器响应访问请求的速度,可以作为客户端选择目标存储服务器的依据,因此该步骤S103根据前述步骤确定的各存储服务器的访问级别,从所述各存储服务器中确定出访问级别最高的目标存储服务器。
步骤S104、将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
其中,访问请求包括访问的目标文件的文件标识,目标文件的文件标识中包括该目标文件所在存储服务器信息,以及该目标文件的创建时间、大小等信息。
当确定了目标存储服务器之后,客户端直接将访问请求发送给该目标存储服务器,使得目标服务器响应其访问请求。
具体地,在步骤S103和S104之前,客户端根据访问请求中的目标文件的文件标识,并进一步根据目标文件的文件标识中的该目标文件所在存储服务器信息,筛选出访问的目标文件所在的部分存储服务器,然后根据所述各存储服务器的访问级别的大小,从筛选出的部分存储服务器中确定出目标存储服务器;以使得将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
本发明实施例通过接收跟踪服务器发送的各存储服务器的状态信息;根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。跟踪服务器仅用于向客户端提供各存储服务器的状态信息,使得客户端根据该各存储服务器的状态信息更新各存储服务器的访问级别,而跟踪服务器并不直接参与客户端访问各存储服务器的过程。本发明实施例实现了由客户端根据各存储服务器的当前状态确定各存储服务器的访问级别,并根据各存储服务器的访问级别的大小自主选择最为合适的目标存储服务器,并且无需跟踪服务器转发客户端的文件访问请求和目标存储服务器的访问地址,缩短了响应的时延。
图2为本发明另一实施例提供的确定访问级别过程的流程图。在实际应用中,客户端发出的访问请求包括读请求和写请求,相应地,各存储服务器的访问级别也可以相应地包括读级别和写级别。在上述实施例的基础上,所述根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别,具体包括:根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的读状态权重值,确定所述各存储服务器的读级别;根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的写状态权重值,确定所述各存储服务器的写级别。如图2所示,客户端确定访问级别具体包括以下步骤:
步骤S201、接收跟踪服务器发送的各存储服务器的状态信息;
其中,状态信息至少包括该状态信息对应的存储服务器标识信息,状态名称和状态值。
优选地,可以将各存储服务器的状态信息以表的结构存储为状态表,该状态表中的每一条记录包括用于唯一标识存储服务器的存储服务器标识信息,状态名称,以及与该存储服务器对应的各状态的状态值等。表1以状态信息包括所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处的机房位置和所述存储服务器所处的机架位置4种状态信息为例,对状态表的结构进行举例说明。
表1
存储服务器标识 | 磁盘占用率 | 连接数 | 机房位置 | 机架位置 |
Server1 | 35% | 3 | 机房A | 机架1 |
Server2 | 50% | 1 | 机房A | 机架1 |
Server3 | 90% | 2 | 机房B | 机架2 |
该步骤S201与步骤S101的类似,此处不再赘述。
步骤S202、根据所述各存储服务器的状态信息,以及分级量化规则,将各状态信息分级量化,得到各状态信息对应的状态等级信息;
其中,分级量化规则可以由技术人员根据实际需要预先设置,用于作为将各存储服务器的状态信息分级量化为各状态信息对应的状态等级信息的依据。
进一步地,每一条分级量化规则至少包括状态名称,该状态名称对应的状态值范围,以及该状态值范围对应的状态等级值。
具体地,该步骤S202具体包括:客户端根据一存储服务器的一状态信息,确定与该状态信息的状态名称和状态值相匹配的分级量化规则,将该分级量化规则中的状态等级值作为该存储服务器与该状态名称相对应的状态等级值,也即得到各状态信息对应的状态等级信息。其中,分级量化规则的状态名称与状态信息的状态名称一致,并且状态信息的状态值落入分级量化规则的状态值范围内,则认为该分级量化规则与该状态信息相匹配。另外,对于每一个状态信息,有且仅有一条分级量化规则与之相匹配。
优选地,根据实际应用中总结的经验,设置各状态信息的分级量化规则,将各状态值分为不同的状态值范围,各状态值范围不同,则体现存储服务器的负载情况不同,也即是性能不同,对应存储服务器较好性能的状态值范围设置较高的状态级别值。如,将磁盘占用率分为3个状态值范围:小于40%、大于等于40%并且小于等于80、大于80%。其他条件相同时,磁盘占用率越低,存储服务器的处理速度越快,从而响应访问请求的时延越短,因此,可以为状态值范围小于40%设置最大的状态等级值2,为状态值范围大于等于40%并且小于等于80设置适中的状态等级值1,为状态值范围大于80%设置最小的状态等级值0。
优选地,分级量化规则以表的结构存储为规则表,该规则表中的每一条记录用于存储一条分级规则,包括状态名称,该状态名称对应的状态值范围,以及该状态值范围对应的状态等级值。表2以包括所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处的机房位置和所述存储服务器所处的机架位置4种状态信息为例,对规则表的结构进行举例说明。
表2
状态名称 | 状态值范围 | 状态等级值 |
磁盘占用率 | 小于40% | 2 |
磁盘占用率 | 大于等于40%并且小于等于80 | 1 |
磁盘占用率 | 大于80% | 0 |
连接数 | 小于2 | 2 |
连接数 | 大于等于2并且小于等于5 | 1 |
连接数 | 大于5 | 0 |
机房位置 | 与客户端机房位置相同 | 1 |
机房位置 | 与客户端机房位置不同 | 0 |
机架位置 | 与客户端机架位置相同 | 1 |
机架位置 | 与客户端机架位置不同 | 0 |
根据上述表1和表2的举例,假设客户端所在位置为机房A的机架1上,可以确定出存储服务器Server1、Server2和Server3的各状态信息对应的状态等级信息如表3所示。
表3
存储服务器标识 | 磁盘占用率 | 连接数 | 机房位置 | 机架位置 |
Server1 | 2 | 1 | 1 | 1 |
Server2 | 1 | 2 | 1 | 1 |
Server3 | 0 | 1 | 0 | 0 |
具体地,假设客户端所在位置为机房A的机架1上。根据状态表1所示的各存储服务器的状态信息和规则表表2所示的分级量化规则,得到表3所示的各状态信息对应的状态等级信息过程如下:根据表1中第1条记录中存储服务器Server1的磁盘占用率为35%,状态名称为磁盘占用率,表2中状态名称为磁盘占用率的记录有3条,分别是第1、2、3条记录;状态值为35%,落入小于40%的状态值范围内,可以确定出与磁盘占用率为35%相匹配的为表2中的第1条记录,该表2中第1条记录对应的状态等级值为2,因此,将存储服务器Server1的磁盘占用率的状态等级值确定为2。同理,表1中存储服务器Server1的连接数为3,与表2中第5条记录匹配,将存储服务器Server1的连接数的状态等级值确定为表2中第5条记录对应的状态等级值,也即将存储服务器Server1的连接数的状态等级值为1;表1中存储服务器Server1的机房位置为机房A,与客户端机房位置相同,与表2中第7条记录匹配,将存储服务器Server1的机房位置的状态等级值确定为表2中第7条记录对应的状态等级值,也即将存储服务器Server1的机房位置的状态等级值为1;机房位置相同,表1中存储服务器Server1的机架位置为机架1,与客户端机架位置相同,与表2中第9条记录匹配,将存储服务器Server1的机架位置的状态等级值确定为表2中第9条记录对应的状态等级值,也即将存储服务器Server1的机架位置的状态等级值为1。从而得出表3的第1条记录。同理,可以得到表3的其他内容,此处不再赘述。
需要说明的是,当存储服务器的机房位置与客户端的机房位置不同时,则存储服务器的机架位置与客户端的机架位置一定不同;当存储服务器的机房位置与客户端的机房位置相同时,则存储服务器的机架位置与客户端的机架位置可能相同,也可能不同。
步骤S203、根据所述各状态信息对应的状态等级信息,以及各状态信息分别对应的读状态权重值和写状态权重值,确定各存储服务器的读级别和写级别。
其中,读状态权重值和写状态权重值均由技术人员根据实际需要预先设定。
优选地,将对存储服务器响应读请求的时延影响较大的状态信息设定较大的读状态权重值,将对存储服务器响应写请求的时延影响较大的状态信息设定较大的写状态权重值。进一步地,根据所述各状态信息对应的状态等级信息,以及各状态信息分别对应的读状态权重值和写状态权重值,确定的各存储服务器的读级别和写级别,优先选择读级别和写级别高的存储服务器。
需要说明的是,同一状态信息对应的读状态权重值与写状态权重值可以相同,也可以不同,本发明实施例对于读状态权重值与写状态权重值是否相同不做具体限定。
进一步地,读状态权重值与写状态的权重值可以以表的结构存储为权重表,权重表中的每一条记录用于存储一种状态信息对应的读状态权重值和写状态权重值。如表4所示,以包括所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处的机房位置和所述存储服务器所处的机架位置4种状态信息为例,对权重表的结构进行举例说明。
表4
状态名称 | 读状态权重值 | 写状态权重值 |
磁盘占用率 | 0.2 | 0.4 |
连接数 | 0.4 | 0.2 |
机房位置 | 0.2 | 0.2 |
机架位置 | 0.2 | 0.2 |
优选地,确定任一个存储服务器的读级别的过程可以为:计算该存储服务器的每个状态对应的状态等级值与读状态权重的乘积,作为该状态的读权重等级,计算该存储服务器对应的所有状态的该读权重等级的平均值,作为该存储服务器的读级别。
同理,确定任一个存储服务器的写级别的过程可以为:计算该存储服务器的每个状态对应的状态等级值与写状态权重的乘积,作为该状态的写权重等级,计算该存储服务器对应的所有状态的该写权重等级的平均值,作为该存储服务器的写级别。
以上述表3所示状态等级信息,和表4所示的读状态权重值和写状态权重值,确定存储服务器Server1的读级别为:2×0.2+1×0.4+1×0.2+1×0.2=0.3;存储服务器Server2的读级别为:1×0.2+2×0.4+1×0.2+1×0.2=0.35;存储服务器Server3的读级别为:0×0.2+1×0.4+0×0.2+0×0.2=0.1。
同理,可以确定存储服务器Server1的写级别为:2×0.4+1×0.2+1×0.2+1×0.2=0.35;存储服务器Server2的写级别为:1×0.4+2×0.2+1×0.2+1×0.2=0.3;存储服务器Server3的写级别为:0×0.4+1×0.2+0×0.2+0×0.2=0.05。
根据上述表3所示状态等级信息,和表4所示的读状态权重值和写状态权重值,确定的各存储服务器的读级别和写级别如表5所示。
表5
存储服务器标识 | 读级别 | 写级别 |
Server1 | 0.3 | 0.35 |
Server2 | 0.35 | 0.3 |
Server3 | 0.1 | 0.05 |
需要说明的是,本发明实施例中的各个表中的数据仅用于举例说明,实际应用中,由技术人员根据实际情况获取或设定准确数据,本发明实施例对此不做具体限定。
本发明实施例通过根据实际应用中总结的经验,设置各状态信息的分级量化规则,将各状态值分为不同的状态值范围,各状态值范围不同,则体现存储服务器的负载情况不同,也即是性能不同,对应存储服务器较好性能的状态值范围设置较高的状态级别值。读状态权重值和写状态权重值均由技术人员根据实际情况预先设定,将对存储服务器响应读请求的时延影响较大的状态信息设定较大的读状态权重值,将对存储服务器响应写请求的时延影响较大的状态信息设定较大的写状态权重值。根据所述各状态信息对应的状态等级信息,以及各状态信息分别对应的读状态权重值和写状态权重值,确定各存储服务器的读级别和写级别。读级别越高的存储服务器响应读请求的性能越好,写级别越高的存储服务器响应读请求的性能越好。因此客户端根据读级别和写级别确定较为合理的存储服务器作为目标存储服务器,可以缩短响应访问请求的时间。
在上述实施例基础上,在实际应用中,客户端发出的访问请求包括读请求和写请求,相应地,各存储服务器的访问级别也可以相应地包括读级别和写级别。所述根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器,包括:根据所述各存储服务器的读级别的大小,确定第一目标存储服务器,所述第一目标存储服务器用于接收并处理所述读请求;根据所述各存储服务器的写级别的大小,确定第二目标存储服务器,所述第二目标存储服务器用于接收并处理所述写请求。
例如,客户端确定各存储服务器的访问级别如上述表5所示。
当客户端发出对目标文件F的读请求,并筛选出该目标文件F位于存储服务器Server1和Server2上。从表5中可知存储服务器Server1的读级别为0.3,存储服务器Server2的读级别为0.35,客户端从存储服务器Server1和Server2选出读级别较高的存储服务器Server2作为目标服务器。
当客户端发出对目标文件F的写请求,并筛选出该目标文件F位于存储服务器Server1和Server2上。从表5中可知存储服务器Server1的写级别为0.35,存储服务器Server2的写级别为0.3,客户端从存储服务器Server1和Server2选出写级别较高的存储服务器Server1作为目标服务器。
本发明实施例通过将读请求或写请求进行区分,客户端根据读级别和写级别确定较为合理的存储服务器作为目标存储服务器,使得目标服务器的选择更加合理,从而可以缩短响应访问请求的时间。
图3为本发明另一实施例提供的分布式文件系统文件访问方法流程图;在上述实施例的基础上,当跟踪服务器向客户端周期性地发送各存储服务器的状态信息,并且周期较长,如周期可以为2分钟。在同一周期内,当目标存储服务响应访问请求的同时,还可以将自身的负载情况反馈给客户端,使得客户端根据该反馈对该目标存储服务器对应的访问级别进行更新,使得各存储服务器的访问级别更加准确地体现当前各存储服务器响应客户端的访问请求的性能。如图3所示,在上述步骤S104客户端将访问请求发送给所述目标存储服务器之后,该方法还包括以下步骤:
步骤S105、接收所述目标存储服务器对所述访问请求的响应信息,以及级别信息;
其中,所述响应信息可以为目标存储服务响应客户端的访问请求之后,向客户端发送的响应结果。当访问请求为读请求时,所述响应信息可以为响应成功消息以及目标文件内容。当访问请求为写请求时,所述响应信息可以为响应成功消息。
优选地,级别信息为该目标存储服务器根据自身负载情况生成的反馈值,预先设定该目标存储服务器的负载阈值为λ,如果当前负载值l<=λ,则正向反馈,即反馈值r大于0;反之,如果当前负载值大于负载阈值,则负向反馈,即反馈值r小于0。
进一步地,目标存储服务器根据自身负载情况生成的反馈值所依据的规则由技术人员根据实际情况设定,可以设定为多个不同的正向反馈值和多个不同的负向反馈值,以使得反馈信息更加准确。
步骤S106、根据所述级别信息更新所述目标存储服务器对应的访问级别。
客户端根据目标存储服务器反馈的级别信息,根据技术人员预先设定的访问级别调整规则,更新所述目标存储服务器对应的访问级别。技术人员预先设定的访问级别调整规则可以如表6所示:
表6
级别信息r | 读级别更新规则 | 写级别更新规则 |
r<-0.1 | 读级别q减少0.08 | 写级别q减少0.1 |
-0.1<r<0 | 读级别q减少0.04 | 写级别q减少0.05 |
0<r<0.05 | 读级别q增加0.05 | 写级别q增加0.06 |
r>0.05 | 读级别q增加0.09 | 写级别q增加0.1 |
基于表5中的举例,假设客户端发出对目标文件F的读请求,并确定存储服务器Server2作为目标服务器。假设当前目标存储服务器Server2已经完成对该读请求的响应,并反馈了级别信息为r=-0.05。由于-0.1<r<0,因此将客户端中目标存储服务器Server2的读级别减少0.04,写级别减少0.05,也即是,更新后目标存储服务器Server2的读级别为0.35-0.04=0.31,写级别为0.3-0.05=0.25。
需要说明的是,本发明实施例中的各个表中的数据仅用于举例说明,实际应用中,由技术人员根据实际情况获取或设定准确数据,本发明实施例对此不做具体限定。
本发明实施例通过根据目标存储服务器反馈级别信息,更新所述目标存储服务器对应的访问级别,使得各存储服务器的访问级别更能体现各存储服务器响应访问请求的性能,从而使得确定目标存储服务器更加合理。
图4为本发明另一实施例提供的分布式文件系统文件访问方法信令图。在上述实施例基础上,如图4所示,本发明实施例提供的分布式文件系统文件访问方法包括以下步骤:
步骤S401、客户端接收跟踪服务器发送的各存储服务器的状态信息;
步骤S402、客户端根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
步骤S403、客户端根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
步骤S404、客户端将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件;
步骤S405、所述目标存储服务器生成响应信息;根据自身负载情况生成级别信息;并将所述响应信息和级别信息反馈给客户端
步骤S406、客户端接收所述目标存储服务器对所述访问请求的响应信息,以及级别信息;
步骤S407、客户端根据所述级别信息更新所述目标存储服务器对应的访问级别。
上述各步骤在上述实施例中均已说明,与上述实施例中相对应的步骤相同,在此不再赘述。
本发明实施例对分布式文件系统文件访问方法中客户端、跟踪服务器和目标存储服务器的交互过程做了说明。
图5为本发明实施例提供的分布式文件系统文件访问装置结构图。本发明实施例提供的分布式文件系统文件访问装置可以执行分布式文件系统文件访问方法实施例提供的处理流程,如图5所示,该分布式文件系统文件访问装置50包括:第一接收模块501,用于接收跟踪服务器发送的各存储服务器的状态信息;第一确定模块502,用于根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;第二确定模块503,用于根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;发送模块504,用于将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
优选地,所述状态信息至少包括如下一种:所述存储服务器的CPU占用率、所述存储服务器的内存占用率、所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处机房的位置信息、所述存储服务器所处机架的位置信息。
本发明实施例提供的分布式文件系统文件访问装置可以具体用于执行上述图1所提供的分布式文件系统文件访问方法实施例,具体功能此处不再赘述。
本发明实施例通过接收跟踪服务器发送的各存储服务器的状态信息;根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。跟踪服务器仅用于向客户端提供各存储服务器的状态信息,使得客户端根据该各存储服务器的状态信息更新各存储服务器的访问级别,而跟踪服务器并不直接参与客户端访问各存储服务器的过程。本发明实施例实现了由客户端根据各存储服务器的当前状态确定各存储服务器的访问级别,并根据各存储服务器的访问级别的大小自主选择最为合适的目标存储服务器,并且无需跟踪服务器转发客户端的文件访问请求和目标存储服务器的访问地址,缩短了响应的时延。
在实际应用中,客户端发出的访问请求包括读请求和写请求,相应地,各存储服务器的访问级别也可以相应地包括读级别和写级别。在上述实施例基础上,所述第一确定模块502包括:第一确定单元,用于根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的读状态权重值,确定所述各存储服务器的读级别;第二确定单元,用于根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的写状态权重值,确定所述各存储服务器的写级别。
本发明实施例提供的分布式文件系统文件访问装置可以具体用于执行上述图2所提供的分布式文件系统文件访问方法实施例,具体功能此处不再赘述。
本发明实施例通过根据实际应用中总结的经验,设置各状态信息的分级量化规则,将各状态值分为不同的状态值范围,各状态值范围不同,则体现存储服务器的负载情况不同,也即是性能不同,对应存储服务器较好性能的状态值范围设置较高的状态级别值。读状态权重值和写状态权重值均由技术人员根据实际情况预先设定,将对存储服务器响应读请求的时延影响较大的状态信息设定较大的读状态权重值,将对存储服务器响应写请求的时延影响较大的状态信息设定较大的写状态权重值。根据所述各状态信息对应的状态等级信息,以及各状态信息分别对应的读状态权重值和写状态权重值,确定各存储服务器的读级别和写级别。读级别越高的存储服务器响应读请求的性能越好,写级别越高的存储服务器响应读请求的性能越好。因此客户端根据读级别和写级别确定较为合理的存储服务器作为目标存储服务器,可以缩短响应访问请求的时间。
在上述实施例的基础上,所述访问请求包括读请求和写请求;所述第二确定模块503包括:第三确定单元,用于根据所述各存储服务器的读级别的大小,确定第一目标存储服务器,所述第一目标存储服务器用于接收并处理所述读请求;第四确定单元,用于根据所述各存储服务器的写级别的大小,确定第二目标存储服务器,所述第二目标存储服务器用于接收并处理所述写请求。
本发明实施例通过将读请求或写请求进行区分,客户端根据读级别和写级别确定较为合理的存储服务器作为目标存储服务器,使得目标服务器的选择更加合理,从而可以缩短响应访问请求的时间。
图6为本发明另一实施例提供的分布式文件系统文件访问装置结构图。在上述实施例基础上,该分布式文件系统文件访问装置还包括:第二接收模块505,用于接收所述目标存储服务器对所述访问请求的响应信息,以及级别信息;更新模块506,用于根据所述级别信息更新所述目标存储服务器对应的访问级别。
本发明实施例提供的分布式文件系统文件访问装置可以具体用于执行上述图3所提供的分布式文件系统文件访问方法实施例,具体功能此处不再赘述。
本发明实施例通过根据目标存储服务器反馈级别信息,更新所述目标存储服务器对应的访问级别,使得各存储服务器的访问级别更能体现各存储服务器响应访问请求的性能,从而使得确定目标存储服务器更加合理。
综上所述,本发明实施例所提供的分布式文件系统文件访问装置可用于执行本发明任意实施例提供的分布式文件系统文件访问方法,具备相应的功能模块,达到相同的有益效果,此处不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种分布式文件系统文件访问方法,其特征在于,包括:
接收跟踪服务器发送的各存储服务器的状态信息;
根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
2.根据权利要求1所述的分布式文件系统文件访问方法,其特征在于,所述状态信息至少包括如下一种:所述存储服务器的CPU占用率、所述存储服务器的内存占用率、所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处机房的位置信息、所述存储服务器所处机架的位置信息。
3.根据权利要求2所述的分布式文件系统文件访问方法,其特征在于,所述访问级别包括读级别和写级别;
所述根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别,包括:
根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的读状态权重值,确定所述各存储服务器的读级别;
根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的写状态权重值,确定所述各存储服务器的写级别。
4.根据权利要求3所述的分布式文件系统文件访问方法,其特征在于,所述访问请求包括读请求和写请求;
所述根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器,包括:
根据所述各存储服务器的读级别的大小,确定第一目标存储服务器,所述第一目标存储服务器用于接收并处理所述读请求;
根据所述各存储服务器的写级别的大小,确定第二目标存储服务器,所述第二目标存储服务器用于接收并处理所述写请求。
5.根据权利要求1-4任一项所述的分布式文件系统文件访问方法,其特征在于,所述将访问请求发送给所述目标存储服务器之后,还包括:
接收所述目标存储服务器对所述访问请求的响应信息,以及级别信息;
根据所述级别信息更新所述目标存储服务器对应的访问级别。
6.一种分布式文件系统文件访问装置,其特征在于,包括:
第一接收模块,用于接收跟踪服务器发送的各存储服务器的状态信息;
第一确定模块,用于根据所述各存储服务器的状态信息,确定所述各存储服务器的访问级别;
第二确定模块,用于根据所述各存储服务器的访问级别的大小,从所述各存储服务器中确定出目标存储服务器;
发送模块,用于将访问请求发送给所述目标存储服务器,所述访问请求包括访问的目标文件的文件标识,所述目标存储服务器存储有所述目标文件。
7.根据权利要求6所述的分布式文件系统文件访问装置,其特征在于,所述状态信息至少包括如下一种:所述存储服务器的CPU占用率、所述存储服务器的内存占用率、所述存储服务器的磁盘占用率、访问所述存储服务器的连接数、所述存储服务器所处机房的位置信息、所述存储服务器所处机架的位置信息。
8.根据权利要求7所述的分布式文件系统文件访问装置,其特征在于,所述访问级别包括读级别和写级别;
所述第一确定模块包括:
第一确定单元,用于根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的读状态权重值,确定所述各存储服务器的读级别;
第二确定单元,用于根据所述各存储服务器的状态信息,以及各所述状态信息分别对应的写状态权重值,确定所述各存储服务器的写级别。
9.根据权利要求8所述的分布式文件系统文件访问装置,其特征在于,所述访问请求包括读请求和写请求;
所述第二确定模块包括:
第三确定单元,用于根据所述各存储服务器的读级别的大小,确定第一目标存储服务器,所述第一目标存储服务器用于接收并处理所述读请求;
第四确定单元,用于根据所述各存储服务器的写级别的大小,确定第二目标存储服务器,所述第二目标存储服务器用于接收并处理所述写请求。
10.根据权利要求6-9任一项所述的分布式文件系统文件访问装置,其特征在于,还包括:
第二接收模块,用于接收所述目标存储服务器对所述访问请求的响应信息,以及级别信息;
更新模块,用于根据所述级别信息更新所述目标存储服务器对应的访问级别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671982.6A CN107766346A (zh) | 2016-08-15 | 2016-08-15 | 分布式文件系统文件访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610671982.6A CN107766346A (zh) | 2016-08-15 | 2016-08-15 | 分布式文件系统文件访问方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107766346A true CN107766346A (zh) | 2018-03-06 |
Family
ID=61259870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610671982.6A Pending CN107766346A (zh) | 2016-08-15 | 2016-08-15 | 分布式文件系统文件访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766346A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875035A (zh) * | 2018-06-25 | 2018-11-23 | 郑州云海信息技术有限公司 | 分布式文件系统的数据存储方法及相关设备 |
CN111083204A (zh) * | 2019-11-29 | 2020-04-28 | 广州市百果园信息技术有限公司 | 文件传输方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932440A (zh) * | 2012-10-26 | 2013-02-13 | 北京奇虎科技有限公司 | 用于分布式数据存储系统的数据管理方法、设备和系统 |
CN104023088A (zh) * | 2014-06-28 | 2014-09-03 | 山东大学 | 一种应用于分布式文件系统的存储服务器选择方法 |
US8849756B2 (en) * | 2011-04-13 | 2014-09-30 | Kt Corporation | Selecting data nodes in distributed storage system |
CN104346221A (zh) * | 2013-08-02 | 2015-02-11 | 北京百度网讯科技有限公司 | 服务器硬件设备等级划分、调度管理方法及装置、服务器 |
-
2016
- 2016-08-15 CN CN201610671982.6A patent/CN107766346A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849756B2 (en) * | 2011-04-13 | 2014-09-30 | Kt Corporation | Selecting data nodes in distributed storage system |
CN102932440A (zh) * | 2012-10-26 | 2013-02-13 | 北京奇虎科技有限公司 | 用于分布式数据存储系统的数据管理方法、设备和系统 |
CN104346221A (zh) * | 2013-08-02 | 2015-02-11 | 北京百度网讯科技有限公司 | 服务器硬件设备等级划分、调度管理方法及装置、服务器 |
CN104023088A (zh) * | 2014-06-28 | 2014-09-03 | 山东大学 | 一种应用于分布式文件系统的存储服务器选择方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875035A (zh) * | 2018-06-25 | 2018-11-23 | 郑州云海信息技术有限公司 | 分布式文件系统的数据存储方法及相关设备 |
CN108875035B (zh) * | 2018-06-25 | 2022-02-18 | 郑州云海信息技术有限公司 | 分布式文件系统的数据存储方法及相关设备 |
CN111083204A (zh) * | 2019-11-29 | 2020-04-28 | 广州市百果园信息技术有限公司 | 文件传输方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598459B (zh) | 数据库处理、数据访问方法及系统 | |
CN103229487B (zh) | 分布式存储系统中的分区平衡方法、装置及服务器 | |
CN104978335B (zh) | 数据访问控制方法和装置 | |
US9805140B2 (en) | Striping of directed graphs and nodes with improved functionality | |
CN106844108B (zh) | 一种数据存储方法、服务器以及存储系统 | |
AU2014302426B2 (en) | Burst mode control | |
CN104486407B (zh) | 编号的生成方法及装置 | |
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
CN105677836A (zh) | 一种同时支持离线数据和实时在线数据的大数据处理解决系统 | |
CN107241380A (zh) | 用于基于时间调整的负载均衡的方法和设备 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN107656807A (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
CN106021284A (zh) | 数据查询方法、数据监测方法及装置 | |
CN108255413A (zh) | 一种存储系统扩容后数据迁移的方法、存储系统 | |
DE102019114027A1 (de) | Verfahren und Vorrichtungen zur Optimierung dynamischer Speichervergaben in mehrstufigen Speichersystemen | |
CN103067479A (zh) | 一种基于文件冷热的网盘同步方法及系统 | |
CN103631933A (zh) | 一种面向分布式去重系统的数据路由方法 | |
CN108228390A (zh) | 数据回档方法及装置 | |
CN111080126A (zh) | 任务分配方法和装置 | |
CN109597800A (zh) | 一种日志分发方法及装置 | |
CN107766346A (zh) | 分布式文件系统文件访问方法及装置 | |
US20140089248A1 (en) | Computing system and method for controlling the execution of a decision process to maintain the data access efficiency upon receipt of an availability information inquiry | |
CN108845869A (zh) | 并发请求控制方法、装置、计算机设备和存储介质 | |
CN106021597A (zh) | 用于账务交易的数据表更新的方法及系统 | |
CN110333984B (zh) | 接口异常检测方法、装置、服务器及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180306 |
|
RJ01 | Rejection of invention patent application after publication |