文件的访问方法、数据服务器和文件访问系统技术方案

技术编号:17812748 阅读:100 留言:0更新日期:2018-04-28 05:30
本发明专利技术实施例提供了一种文件的访问方法、数据服务器和文件访问系统,其中,方法包括:接收终端发送的访问请求;若访问操作类型为写操作,访问请求还包括待写入数据,则获取第一时刻存储地址对应的第一数据,根据第一数据生成第一数据的签名,并将第一数据修改为待写入数据;获取第二时刻存储地址对应的第二数据,并根据第二数据生成第二数据的签名;判断第一数据的签名与第二数据的签名是否相同;若相同,则将修改后的第一数据写入存储地址对应的存储位置,生成第一访问操作结果,并将第一访问操作结果发送至终端。本发明专利技术实施例提供的文件的访问方法,可以在实现文件并发访问的基础上不引入死锁问题。

【技术实现步骤摘要】
文件的访问方法、数据服务器和文件访问系统
本专利技术涉及文件管理
,尤其涉及一种文件的访问方法、数据服务器和文件访问系统。
技术介绍
随着大数据浪潮的兴起,分布式文件系统(DistributedFileSystem,简称DFS)的重要性越来越明显。DFS基于客户机/服务器模式,将众多的节点组成一个文件系统网络,每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输,人们在使用DFS时,无需关心数据是从哪个节点中获取的,可以像使用本地文件系统一样管理DFS中的数据。DFS作为大容量的载体,其并发访问成为文件系统的关键。目前,为了解决高并发访问问题,通常采用锁机制,所谓锁机制,是指通过获取关键资源(锁)来构造一个具备排他性的关键区间,同一时间只有获取关键资源(锁)的唯一进程才能够执行文件访问操作,从而保证了文件访问操作的原子性。而未获得关键资源(锁)的进程通常通过轮询的方式检查锁状态,具有较大的性能损耗。但是,锁机制容易引发死锁问题,所谓死锁,是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的阻塞现象,若无外力作用,它们都将无法推进下去,此时,系统处于死锁状态,文件访问操作无法完成。
技术实现思路
本专利技术实施例提供了一种文件的访问方法、数据服务器和文件访问系统,可以在实现文件并发访问的基础上不引入死锁问题。第一方面,本专利技术实施例提供一种文件的访问方法,该方法包括:接收终端发送的访问请求;访问请求包括访问操作类型和待访问数据的存储地址;若访问操作类型为写操作,访问请求还包括待写入数据,则获取第一时刻存储地址对应的第一数据,根据第一数据生成第一数据的签名,并将第一数据修改为待写入数据;获取第二时刻存储地址对应的第二数据,并根据第二数据生成第二数据的签名;判断第一数据的签名与第二数据的签名是否相同;若第一数据的签名与第二数据的签名相同,则将修改后的第一数据写入存储地址对应的存储位置,生成第一访问操作结果,并将第一访问操作结果发送至终端;第一访问操作结果包括写操作成功指示。通过第一方面提供的文件的访问方法,提供了当访问操作为写操作时的文件的访问方法,通过在第一时刻针对该写操作生成一份数据副本,对数据副本进行修改,当在第二时刻确定存储地址中存储的数据没有被修改时,才针对该写操作完成数据修改,可以实现文件的并发访问,并且在实现文件并发访问的基础上不引入死锁问题。可选的,在第一方面的一种可能的实施方式中,该方法还包括:若第一数据的签名与第二数据的签名不同,则生成第二访问操作结果,并将第二访问操作结果发送至终端;第二访存操作结果包括写操作失败指示。通过该可能的实施方式提供的文件的访问方法,当在第二时刻确定存储地址中所存储的数据已经被修改时,则无法针对该写操作完成数据修改,进一步保障了文件并发访问的正确性。可选的,在第一方面的一种可能的实施方式中,在将修改后的第一数据写入存储地址对应的存储位置之后,该方法还包括:生成数据修改信息,并将数据修改信息发送至元数据服务器;数据修改信息包括数据修改时间。通过该可能的实施方式提供的文件的访问方法,当数据服务器上存储的数据块发生改变时,数据服务器生成数据修改信息,并将数据修改信息发送给元数据服务器,以使元数据服务器进行管理信息的更新,确保分布式文件系统的一致性。可选的,在第一方面的一种可能的实施方式中,在接收终端发送的访问请求之后,该方法还包括:若访问操作类型为读操作,则获取第三时刻存储地址对应的第三数据,生成第三访问操作结果,并将第三访问操作结果发送至终端;第三访问操作结果包括读操作成功指示和第三数据。通过该可能的实施方式提供的文件的访问方法,提供了当访问操作类型为读操作时,数据服务器执行读操作的一种具体实现方式,数据服务器接收到读访问请求后,获取第三访问操作结果,并将第三访问操作结果发送至终端,以使终端确定访问操作是否结束。可选的,在第一方面的一种可能的实施方式中,在接收终端发送的访问请求之后,该方法还包括:若访问操作类型为读操作,则获取第四时刻存储地址对应的第四数据;对第四数据进行数据完整性校验;若对第四数据进行数据完整性校验成功,则生成第四访问操作结果,并将第四访问操作结果发送至终端;第四访问操作结果包括读操作成功指示和第四数据;若对第四数据进行数据完整性校验失败,则生成第五访问操作结果,并将第五访问操作结果发送至终端;第五访问操作结果包括读操作失败指示。通过该可能的实施方式提供的文件的访问方法,提供了当访问操作类型为读操作时,数据服务器执行读操作的另一种具体实现方式,数据服务器接收到读访问请求后,获取第四访问操作结果,通过对第四数据进行数据完整性校验,可以确保数据服务器针对访问请求获得的数据的准确性,进一步提高了访问操作的成功率。第二方面,本专利技术实施例提供一种数据服务器,该数据服务器可以包括:收发模块和处理模块,其中,收发模块用于接收终端发送的访问请求;访问请求包括访问操作类型和待访问数据的存储地址;处理模块,用于在访问操作类型为写操作,且访问请求还包括待写入数据时,获取第一时刻存储地址对应的第一数据,根据第一数据生成第一数据的签名,并将第一数据修改为待写入数据;处理模块还用于,获取第二时刻存储地址对应的第二数据,并根据第二数据生成第二数据的签名;判断第一数据的签名与第二数据的签名是否相同;若第一数据的签名与第二数据的签名相同,则将修改后的第一数据写入存储地址对应的存储位置,生成第一访问操作结果;第一访问操作结果包括写操作成功指示;收发模块还用于,将第一访问操作结果发送至终端。可选的,在第二方面的一种可能的实施方式中,处理模块还用于:若第一数据的签名与第二数据的签名不同,则生成第二访问操作结果;第二访存操作结果包括写操作失败指示。收发模块还用于,将第二访问操作结果发送至终端。可选的,在第二方面的一种可能的实施方式中,处理模块还用于:生成数据修改信息;数据修改信息包括数据修改时间;收发模块还用于,将数据修改信息发送至元数据服务器。可选的,在第二方面的一种可能的实施方式中,处理模块还用于:若访问操作类型为读操作,则获取第三时刻存储地址对应的第三数据,生成第三访问操作结果;第三访问操作结果包括读操作成功指示和第三数据。收发模块还用于,将第三访问操作结果发送至终端。可选的,在第二方面的一种可能的实施方式中,处理模块还用于:若访问操作类型为读操作,则获取第四时刻存储地址对应的第四数据;对第四数据进行数据完整性校验;若对第四数据进行数据完整性校验成功,则生成第四访问操作结果;第四访问操作结果包括读操作成功指示和第四数据;若对第四数据进行数据完整性校验失败,则生成第五访问操作结果;第五访问操作结果包括读操作失败指示。收发模块还用于,将第四访问操作结果或者第五访问操作结果发送至终端。第三方面,本专利技术实施例提供一种文件的访问方法,该方法包括:获取到访问操作时,向元数据服务器发送文件属性查询请求;文件属性查询请求包括文件的标识;若接收到元数据服务器返回的文件的属性信息,则根据属性信息中的权限信息,确定访问操作是否被允许执行;属性信息包括文件中每个数据块的存储地址和权限信息;若确定允许访问操作执行,则向待访问数据的存储地址对应的数据服务器发送访问请求;本文档来自技高网...
文件的访问方法、数据服务器和文件访问系统

【技术保护点】
一种文件的访问方法,其特征在于,包括:接收终端发送的访问请求;所述访问请求包括访问操作类型和待访问数据的存储地址;若所述访问操作类型为写操作,所述访问请求还包括待写入数据,则获取第一时刻所述存储地址对应的第一数据,根据所述第一数据生成所述第一数据的签名,并将所述第一数据修改为所述待写入数据;获取第二时刻所述存储地址对应的第二数据,并根据所述第二数据生成所述第二数据的签名;判断所述第一数据的签名与所述第二数据的签名是否相同;若所述第一数据的签名与所述第二数据的签名相同,则将修改后的第一数据写入所述存储地址对应的存储位置,生成第一访问操作结果,并将所述第一访问操作结果发送至所述终端;所述第一访问操作结果包括写操作成功指示。

【技术特征摘要】
1.一种文件的访问方法,其特征在于,包括:接收终端发送的访问请求;所述访问请求包括访问操作类型和待访问数据的存储地址;若所述访问操作类型为写操作,所述访问请求还包括待写入数据,则获取第一时刻所述存储地址对应的第一数据,根据所述第一数据生成所述第一数据的签名,并将所述第一数据修改为所述待写入数据;获取第二时刻所述存储地址对应的第二数据,并根据所述第二数据生成所述第二数据的签名;判断所述第一数据的签名与所述第二数据的签名是否相同;若所述第一数据的签名与所述第二数据的签名相同,则将修改后的第一数据写入所述存储地址对应的存储位置,生成第一访问操作结果,并将所述第一访问操作结果发送至所述终端;所述第一访问操作结果包括写操作成功指示。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述第一数据的签名与所述第二数据的签名不同,则生成第二访问操作结果,并将所述第二访问操作结果发送至所述终端;所述第二访存操作结果包括写操作失败指示。3.根据权利要求1所述的方法,其特征在于,在所述将修改后的第一数据写入所述存储地址对应的存储位置之后,所述方法还包括:生成数据修改信息,并将所述数据修改信息发送至元数据服务器;所述数据修改信息包括数据修改时间。4.根据权利要求1至3任一项所述的方法,其特征在于,在所述接收终端发送的访问请求之后,所述方法还包括:若所述访问操作类型为读操作,则获取第三时刻所述存储地址对应的第三数据,生成第三访问操作结果,并将所述第三访问操作结果发送至所述终端;所述第三访问操作结果包括读操作成功指示和所述第三数据。5.根据权利要求1至3任一项所述的方法,其特征在于,在所述接收终端发送的访问请求之后,所述方法还包括:若所述访问操作类型为读操作,则获取第四时刻所述存储地址对应的第四数据;对所述第四数据进行数据完整性校验;若对所述第四数据进行数据完整性校验成功,则生成第四访问操作结果,并将所述第四访问操作结果发送至所述终端;所述第四访问操作结果包括读操作成功指示和所述第四数据;若对所述第四数据进行数据完整性校验失败,则生成第五访问操作结果,并将所述第五访问操作结果发送至所述终端;所述第五访问操作结果包括读操作失败指示。6.一种数据服务器,其特征在于,包括:收发模块,用于接收终端发送的访...

【专利技术属性】
技术研发人员:向小佳
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1