CN106648903B - 调用分布式文件***的方法和装置 - Google Patents

调用分布式文件***的方法和装置 Download PDF

Info

Publication number
CN106648903B
CN106648903B CN201710002024.4A CN201710002024A CN106648903B CN 106648903 B CN106648903 B CN 106648903B CN 201710002024 A CN201710002024 A CN 201710002024A CN 106648903 B CN106648903 B CN 106648903B
Authority
CN
China
Prior art keywords
request
response
subdirectory
duration
log
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
CN201710002024.4A
Other languages
English (en)
Other versions
CN106648903A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201710002024.4A priority Critical patent/CN106648903B/zh
Publication of CN106648903A publication Critical patent/CN106648903A/zh
Priority to US15/722,840 priority patent/US10579595B2/en
Application granted granted Critical
Publication of CN106648903B publication Critical patent/CN106648903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • 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/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种调用分布式文件***的方法和装置。方法的一具体实施方式包括:基于接收的用户端的会话请求,建立新会话;向分布式文件***的管理者发送首次加锁请求,首次加锁请求用于请求对租约目录加锁;响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送在租约目录中新建子目录的请求,子目录以新会话的IP地址和端口命名;响应于接收到对新建子目录的请求的响应为新建成功,将新会话标记为主会话。该实施方式实现了新会话的选主,并对主会话进行锁定,有效提高了调用分布式文件***的健壮性,简化了调用所需的***架构,不再需要依赖任何第三方机制/***,提升了调用分布式文件***的方法和装置的稳定性和可演化性。

Description

调用分布式文件***的方法和装置
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及一种调用分布式文件***的方法和装置。
背景技术
基于分布式文件***运行的分布式文件***,需要解决高可用相关的所有,例如满足包括选主、主角色通知、栅栏(Fence)机制、数据流的复制和持久化、数据流的紧置化(Compaction)等需求。
目前的分布式文件***,通常采用以下两种高可用设计方案:
1、组合式方案:例如,选主用分布式服务框架(ZooKeeper)方案、基于心跳的方案或者其它自主设计的方案;Fence采用第三方***或者自主设计的方案;数据流复制采用自主设计的复制方案等。
2、整体方案,例如分布式一致性协议(Raft),基于Raft协议实现各种库,Raft的日志流存储在本地。
然而,上述的两种高可用涉及方案,其中组合式方案常常依赖第三方,甚至同时依赖多个第三方,***中存在着各种自主设计的方案,***整体架构复杂,稳定性风险高,并且难以演化;整体方案中基于Raft协议实现的分布式文件***补建副本非常缓慢,很难实现一个快速的负载均衡机制,尤其是在全局范围内难以实现数据流的***与合并,难以和分布式文件***协作。例如适合于非结构化数据存储的数据库(HBase),如果数据流使用了Raft协议,那么如果仍然基于分布式文件***,会造成大量的额外流量开销,如果不再基于分布式文件***,则又会失去了HBase节点的无状态特性。
发明内容
本申请的目的在于提出一种改进的调用分布式文件***的方法和装置,来解决以上背景技术部分提到的技术问题。
一次方面,本申请提供了一种调用分布式文件***的方法,所述方法包括:基于接收的用户端的会话请求,建立新会话;向分布式文件***的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。
在一些实施例中,所述方法还包括以下任意一项或多项:在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。
在一些实施例中,响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求包括:响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;响应于接收到对所述首次查询请求的响应为不存在或接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。
在一些实施例中,所述方法还包括:响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。
在一些实施例中,所述方法还包括:响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
在一些实施例中,所述方法还包括:响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件***的管理者发送加锁租约目录的首次加锁请求。
在一些实施例中,所述方法还包括以下任意一项或多项:响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
在一些实施例中,所述方法还包括:响应于接收生成日志请求,生成每条数据流的每个日志的日志序列号;响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;以日志文件中最小的日志序列号命名创建的日志文件;将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;将日志添加至创建的日志文件中直至日志文件大小达到预定字节。
在一些实施例中,所述方法还包括:响应于接收生成快照请求,间隔预定时间触发快照;将所有日志序列号均小于快照中日志序列号的日志文件删除。
在一些实施例中,所述方法还包括:接收回放日志请求;根据所述日志序列号,回放日志。
第二方面,本申请提供了一种调用分布式文件***的装置,所述装置包括:会话建立单元,用于基于接收的用户端的会话请求,建立新会话;首次加锁请求单元,用于向分布式文件***的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;新建子目录请求单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;主会话标记单元,用于响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。
在一些实施例中,所述装置还包括以下任意一项或多项:修改时间戳单元,用于在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和删除及加锁单元,用于响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。
在一些实施例中,所述新建子目录请求单元包括:首次查询请求子单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;删除子目录子单元,用于响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;新建子目录子单元,用于响应于接收到对所述首次查询请求的响应为不存在或接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。
在一些实施例中,所述装置还包括:时长检查单元,用于响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;再次加锁请求单元,用于响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;所述子目录查询子单元进一步用于:响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。
在一些实施例中,所述装置还包括:再次查询请求单元,用于响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;所述时长检查单元进一步用于:响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
在一些实施例中,所述装置还包括:所述首次加锁请求单元进一步用于:响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件***的管理者发送加锁租约目录的首次加锁请求。
在一些实施例中,所述装置还包括以下任意一项或多项:所述时长检查单元进一步用于:响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;所述时长检查单元进一步用于:响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及所述时长检查单元进一步用于:响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
在一些实施例中,所述装置还包括:日志请求接收单元,用于接收生成日志请求;序列号生成单元,用于生成每条数据流的每个日志的日志序列号;文件创建单元,用于响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;文件命名单元,用于以日志文件中最小的日志序列号命名创建的日志文件;信息添加单元,用于将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;日志添加单元,用于将日志添加至创建的日志文件中直至日志文件大小达到预定字节。
在一些实施例中,所述装置还包括:快照请求接收单元,用于接收生成快照请求;快照触发单元,用于间隔预定时间触发快照;文件删除单元,用于将所有日志序列号均小于快照中日志序列号的日志文件删除。
在一些实施例中,所述装置还包括:回放请求接收单元,用于接收回放日志请求;日志回放单元,用于根据所述日志序列号,回放日志。
本申请提供的调用分布式文件***的方法和装置,首先基于接收的用户端的会话请求,建立新会话;之后向分布式文件***的管理者发送加锁租约目录的首次加锁请求;之后响应于接收到对应首次加锁请求的一次加锁成功的响应,向所述管理者发送用于在租约目录中新建以所述新会话的IP地址和端口命名的子目录的新建子目录请求;最后响应于接收到对应所述新建子目录请求的新建子目录成功的响应,将所述新会话标记为主会话,从而实现了新会话的选主,并对主会话进行锁定,有效提高了调用分布式文件***的健壮性。另外,该调用分布式文件***的方法和装置简化了***架构,不再需要依赖任何第三方机制/***,提升了调用分布式文件***的方法和装置的稳定性和可演化性,易实现无状态化,从而很容易实现全局的快速负载均衡机制和分片***与合并机制等。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的调用分布式文件***的方法的一个实施例的示意性流程图;
图3是根据本申请的调用分布式文件***的方法的另一个实施例的示意性流程图;
图4是根据本申请的调用分布式文件***的方法的一个实施例的应用场景;
图5是根据本申请的调用分布式文件***的装置的一个实施例的示例性结构图;
图6是适于用来实现本申请实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的调用分布式文件***的方法或调用分布式文件***的装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105、106。网络104用以在终端设备101、102、103和服务器105、106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户110可以使用终端设备101、102、103通过网络104与服务器105、106交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如视频播放类应用、搜索引擎类应用、购物类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持弹幕交互功能的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105、106可以是提供各种服务的服务器,例如对终端设备101、102、103提供支持的后台服务器。后台服务器可以对终端提交的数据进行存储或计算等处理,并在接收到终端的请求时将存储或计算结果反馈给终端设备。
需要说明的是,本申请中实施例所提供的调用分布式文件***的方法一般由服务器105、106执行,相应地,调用分布式文件***的装置一般设置于服务器105、106中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,图2示出了根据本申请的调用分布式文件***的方法的一个实施例的流程200。该调用分布式文件***的方法,包括以下步骤:
步骤201,基于接收的用户端的会话请求,建立新会话。
在本实施例中,调用分布式文件的方法所运行的设备(例如图1中所示的服务器105、106)向用户端提供了建立新会话的接口,该接口在接收用户端发送的会话请求时,与用户端建立新会话。
步骤202,向分布式文件***的管理者发送首次加锁请求,首次加锁请求用于请求对租约目录加锁。
在本实施例中,响应于步骤201中建立了新会话,该新会话默认为从角色,采用新会话加锁租约目录进行抢主角色。这里的租约目录为文件***中预先设定的作为抢到主会话的指示器的目录,这里的加锁方式可以为现有技术或未来发展的技术中的加锁方式,本申请对此不做限定。这里的分布式文件***,可以为分布式存储***、分布式计算***或基于分布式文件之上的其它存储***,甚至可以包括另一个分布式文件***。分布式文件***的管理者(例如目录树管理器)可以记录下租约目录当前是被哪个会话所锁住,如果该会话挂掉,则自动清理该会话所持有的锁。
步骤203,响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送在租约目录中新建子目录的请求,子目录以所述新会话的IP地址和端口命名。
在本实施例中,当步骤202中的管理者对首次加锁请求返回的响应为加锁成功时,可以将包括新会话的IP地址和端口的在租约目录中新建子目录请求发送至管理者,以便管理者采用新会话的IP地址和端口命名子目录。
步骤204,响应于接收到对新建子目录的请求的响应为新建成功,将新会话标记为主会话。
在本实施例中,当接收到管理者返回的对应新建子目录请求的响应为新建成功时,可以确定新会话抢主成功,从而可以将新会话标记为主会话。
本申请上述实施例提供的调用分布式文件***的方法和装置,实现了新会话的选主,并对主会话进行锁定,有效提高了调用分布式文件***的健壮性。另外,该调用分布式文件***的方法和装置简化了***架构,不再需要依赖任何第三方机制/***,提升了调用分布式文件***的方法和装置的稳定性和可演化性,易实现无状态化,从而很容易实现全局的快速负载均衡机制和分片***与合并机制等。
进一步参考图3,图3示出了根据本申请的调用分布式文件***的方法的另一个实施例的流程。该调用分布式文件***的方法,包括以下步骤:
在步骤301中,响应于用户端的请求,建立新会话,之后执行步骤302;
在步骤302中,向分布式文件***的管理者发送加锁租约目录的首次加锁请求,之后执行步骤303;
在步骤303中,判断管理者返回的响应是否为加锁成功,若是,执行步骤304,若否,执行步骤305;
在步骤304中,向管理者首次查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录,若是,执行步骤306,若否,则执行步骤308;
在步骤305中,间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长,若是,则执行步骤313,若否,则继续执行步骤305;
在步骤306中,向管理者发送用于删除租约目录中的子目录的删除请求,之后执行步骤307;
在步骤307中,判断管理者返回的对应删除请求的响应是否为删除成功,若是,则执行步骤308,若否,则执行步骤305;
在步骤308中,向管理者发送在租约目录中新建子目录的请求,子目录以所述新会话的IP地址和端口命名,之后执行步骤309;
在步骤309中,判断管理者返回的对新建子目录的请求的响应是否为新建成功,若是,则执行步骤310,若否,则执行步骤305;
在步骤310中,将新会话标记为主会话,之后执行步骤311;
在步骤311中,在主会话存活期间,定期向管理者发送更新租约目录的修改时间戳的请求,之后执行步骤312;
在步骤312中,响应于主会话关闭,向管理者发送删除租约目录中的子目录并解锁租约目录的请求;
在步骤313中,向管理者发送再次加锁请求,再次加锁请求用于请求对租约目录加锁,之后执行步骤314;
在步骤314中,判断接收到对再次加锁请求的响应是否为加锁成功,若是,则执行步骤304,若否,则执行步骤315;
在步骤315中,向管理者再次查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录,若是,则执行步骤305,若否,则执行步骤302。
在本实施例中,可以预先在分布式文件***中指定一个目录(下文称之为租约目录)作为抢主的指示器,抢到主的会话则将自己的IP地址和端口(例如IP:PORT)作为子目录名字记录到租约目录的子树中去,我们称之为服务标识。主会话会定期更新租约目录的最后修改时间戳(ModificationTime),从会话定期检查该时间戳是否超过了规定的时长而没有发生任何变化,如果是,则发起抢主。
以下举例说明租约目录及其中的子目录的结构:
假定有A(假定其IP:PORT为1.1.1.1:1111)和B(假定其IP:PORT为2.2.2.2:2222)两个会话参与选主,如果A是主,则目录结构是:
xxx/lease/1.1.1.1:1111
如果B是主,则目录结构是
xxx/lease/2.2.2.2:2222
这里的lease就是指租约目录,它的子目录的名字代表了当前的主的服务标识。
在本实施例中,选主可以通过以下过程实现:
过程1:启动一个新的会话时,默认为从角色。该会话首先对租约目录进行加锁操作,如果加锁失败,说明此时有主,本会话进入周期性检查租约目录时间戳的阶段。如果加锁成功,说明抢到了主,则首先将租约目录下的内容清空,然后将自己的服务标识记录到租约目录下,结束过程。
过程2:本会话不断地检查租约目录的时间戳是否超过规定时间阈值仍然没有发生任何变化,是则触发选主,也是通过对租约目录执行加锁操作,如果加锁成功,参见过程1结束抢主过程。如果加锁失败,则先检查租约目录下是否存在其它角色的服务标识,若存在,则说明其它会话抢到了主,本会话进入周期检查租约目录时间戳的阶段;如果不存在,则过一会继续加锁,重复之前的过程。
本申请上述实施例提供的调用分布式文件***的方法和装置,通过响应于建立的新会话执行如图3中所述的操作步骤,可以实现新会话从从角色到主角色的角色转换过程,并且实现了对主会话的锁定,有效提高了调用分布式文件***的健壮性。另外,该调用分布式文件***的方法和装置简化了***架构,不再需要依赖任何第三方机制/***,提升了调用分布式文件***的方法和装置的稳定性和可演化性,易实现无状态化,从而很容易实现全局的快速负载均衡机制和分片***与合并机制等。
在上述实施例的一些可选实现方式中(图中未示出),上述调用分布式文件***的方法还可以包括:接收生成日志请求;生成每条数据流的每个日志的日志序列号;响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;以日志文件中最小的日志序列号命名创建的日志文件;将所述日志序列号、日志的长度、校验信息以及添加日志的会话的IP地址添加至创建的日志文件的头部信息,将日志写入创建的日志文件中直至日志文件大小达到预定字节。
在上述实现方式中,通过首先响应于接收生成日志请求,生成每条数据流的每个日志的日志序列号;之后响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;之后以日志文件中最小的日志序列号命名创建的日志文件;最后将所述日志序列号、日志的长度、校验信息以及添加日志的会话的IP地址添加至创建的日志文件的头部信息,将日志写入创建的日志文件中直至日志文件大小达到预定字节,实现了数据流的复制和持久化。
在上述实施例的一些可选实现方式中(图中未示出),所述方法还可以包括:接收生成快照请求;间隔预定时间触发快照;将所有日志序列号均小于快照中日志序列号的日志文件删除。
在本实现方式中,提供了一个周期性地快照接口,默认按照预定时间间隔触发,也可以设计定制化触发策略。每次执行完毕一个快照之后,本方案自动将那些日志序列号比该快照对应的日志序列号还要小的记录所在的文件删掉。需要注意的是,有的文件前半部分比该日志序列号要小,后半部分比该日志序列号要大,那么这样的文件本次不能删除。做快照然后删除数据,就是一次紧置化过程。通过响应于接收生成快照请求,间隔预定时间触发快照,并将所有日志序列号均小于快照中日志序列号的日志文件删除,可以实现数据流的紧置化。
在上述实施例的一些可选实现方式中(图中未示出),方法还可以包括:接收回放日志请求;根据日志序列号,回放日志。
在本实现方式中,可以实现将日志回放到状态机,也即将写入的数据一条一条地,严格按照与写入时一样的顺序提交给服务单元在内存中进行处理。对于主会话来说,它在写入分布式文件***结束之后,直接将该记录在内存状态机中进行回放。可以看出,状态机的回放顺序严格符合日志序列号的单调递增顺序,二者完全一致。对于从会话来说,本方案提供了一个自动循环执行的机制,该机制自动从数据流(也就是分布式文件***的一系列文件)中按序读取记录,该机制在读到记录之后,严格按照日志序列号的顺序将记录提交给状态机进行回放,因此,可以看出,主从的回放顺序因为日志序列号的序从而保证了严格的一致。
进一步参考图4,图4示出了根据本申请的调用分布式文件***的方法的一个实施例的应用场景。
如图4所示,在该调用分布式文件***的方法的应用场景中,包括:应用***410、接口装置420和分布式文件***430。
首先,应用***410与接口装置420建立会话411和会话412,其中的会话411和会话412经由接口装置420中的会话状态与数据控制器421与选主管理器422发生交互,由选主管理器422与分布时文件***430中的目录锁管理器431进行目录锁的状态交换,从而确定了会话411为主会话。
在主会话411和从会话412与会话状态与数据控制器421进行交互的过程中,主会话411和从会话412可以经由会话状态与数据控制器421向日志写入器423写入日志,再经由日志写入器423向分布式文件***430写入日志数据流,例如日志文件1、日志文件2直至日志文件N等;主会话411和从会话412还可以经由会话状态与数据控制器421向快照写入器425写入快照,再经由快照写入器425向分布式文件***430写入快照,例如写入快照文件1、快照文件2等,其中快照1中可以包括快照1文件1和快照1文件2,快照2中可以包括快照2文件1、快照2文件2、快照2文件3等;从会话412还可以经由会话状态与数据控制器421从日志与快照读取器424读取日志和/或读取快照,此时快照读取器从分布式文件***430中存储的以下一项或多项数据中读取从会话412请求的数据:日志文件1至日志文件N、快照1和快照2。
应当理解,在本应用场景中,本申请调用分布式文件***的方法通过接口装置420实现,在上述主会话411和从会话412与会话状态与数据控制器421交互的过程中,会话状态与数据控制器421可以对日志写入器423、日志与快照读取器424进行内部状态控制,还可以对快照写入器425进行快照状态控制。另外,本应用场景仅为本申请调用分布式文件***的方法的一个示例性应用场景,并不代表对本申请的限定。例如其中的会话状态与数据控制器421、选主管理器422、日志写入器423、日志与快照读取器424和快照写入器425这五个器件,可以合并为一个或多个器件;这五个器件中的任意一个器件,也可以拆分为多个子器件,本申请对此不作限定。
进一步参考图5,作为对上述方法的实现,本申请提供了一种调用分布式文件***的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,由此,上文针对方法描述的操作和特征同样适用于装置500及其中包含的单元,在此不再赘述。该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的调用分布式文件***的装置500包括:会话建立单元510、首次加锁请求单元520、新建子目录请求单元530和主会话标记单元540。
其中,会话建立单元510,用于基于接收的用户端的会话请求,建立新会话。
首次加锁请求单元520,用于向分布式文件***的管理者发送首次加锁请求,首次加锁请求用于请求对租约目录加锁。
新建子目录请求单元530,用于响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送在租约目录中新建子目录的请求,子目录以新会话的IP地址和端口命名。
主会话标记单元540,用于响应于接收到对新建子目录的请求的响应为新建成功,将新会话标记为主会话。
在本实施例的一些可选实现方式中,装置还可以包括以下任意一项或多项:修改时间戳单元,用于在主会话存活期间,定期向管理者发送更新租约目录的修改时间戳的请求;和删除及加锁单元,用于响应于主会话关闭,向管理者发送删除租约目录中的子目录并解锁租约目录的请求。
在本实施例的一些可选实现方式中,新建子目录请求单元可以包括:首次查询请求子单元,用于响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送首次查询请求,首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;删除子目录子单元,用于响应于接收到对首次查询请求的响应为存在,向管理者发送删除请求,删除请求用于删除租约目录中的子目录;新建子目录子单元,用于响应于接收到对首次查询请求的响应为不存在或接收到对删除请求的响应为删除成功,向管理者发送在租约目录中新建子目录的请求。
在本实施例的一些可选实现方式中,装置还包括:时长检查单元,用于响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长;再次加锁请求单元,用于响应于修改时间戳距当前时间的时长超过预设时长,向管理者发送再次加锁请求,再次加锁请求用于请求对租约目录加锁;子目录查询子单元进一步用于:响应于接收到对再次加锁请求的响应为加锁成功,执行向管理者发送首次查询请求。
在本实施例的一些可选实现方式中,装置还包括:再次查询请求单元,用于响应于接收到对再次加锁请求的响应为加锁失败,向管理者发送再次查询请求,再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;时长检查单元进一步用于:响应于接收到对再次查询请求的响应为存在,执行间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长。
在本实施例的一些可选实现方式中,装置还包括:首次加锁请求单元进一步用于:响应于接收到对再次查询请求的响应为不存在,执行向分布式文件***的管理者发送加锁租约目录的首次加锁请求。
在本实施例的一些可选实现方式中,装置还包括以下任意一项或多项:时长检查单元进一步用于:响应于接收到对新建子目录请求的响应为新建失败,执行间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长;时长检查单元进一步用于:响应于接收到对删除请求的响应为删除失败,执行间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长;以及时长检查单元进一步用于:响应于修改时间戳距当前时间的时长未超过预设时长,执行间隔预定时长检查修改时间戳距当前时间的时长是否超过预设时长。
在本实施例的一些可选实现方式中,装置还包括:序列号生成单元,用于响应于接收生成日志请求,生成每条数据流的每个日志的日志序列号;文件创建单元,用于响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;文件命名单元,用于以日志文件中最小的日志序列号命名创建的日志文件;信息添加单元,用于将日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;日志添加单元,用于将日志添加至创建的日志文件中直至日志文件大小达到预定字节。
在本实施例的一些可选实现方式中,装置还包括:快照触发单元,用于响应于接收生成快照请求,间隔预定时间触发快照;文件删除单元,用于将所有日志序列号均小于快照中日志序列号的日志文件删除。
在本实施例的一些可选实现方式中,装置还包括:回放请求接收单元,用于接收回放日志请求;日志回放单元,用于根据日志序列号,回放日志。
应当理解,本申请上述实施例中的调用分布式文件***的装置,仅为对本申请的示例性描述,并不代表对本申请的限定。例如,可以根据需要将其中包括的多个单元合并为一个单元,也可以根据需要将其中包括的单元拆分为多个子单元。服务器端可以为单个服务器、多个服务器或服务器集群等。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机***600的结构示意图。
如图6所示,计算机***600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有***600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口606。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段、或代码的一部分,所述单元、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括会话建立单元、首次加锁请求单元、新建子目录请求单元和主会话标记单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,会话建立单元还可以被描述为“基于接收的用户端的会话请求,建立新会话的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:基于接收的用户端的会话请求,建立新会话;向分布式文件***的管理者发送首次加锁请求,首次加锁请求用于请求对租约目录加锁;响应于接收到对首次加锁请求的响应为加锁成功,向管理者发送在租约目录中新建子目录的请求,子目录以新会话的IP地址和端口命名;响应于接收到对新建子目录的请求的响应为新建成功,将新会话标记为主会话。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (20)

1.一种调用分布式文件***的方法,其特征在于,所述方法包括:
基于接收的用户端的会话请求,建立新会话;
向分布式文件***的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;
响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,包括:响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;响应于接收到对所述首次查询请求的响应为不存在,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;
响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下任意一项或多项:
在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和
响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。
3.根据权利要求1所述的方法,其特征在于,响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求还包括:
响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;
响应于接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;
响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;
响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;
响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件***的管理者发送加锁租约目录的首次加锁请求。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括以下任意一项或多项:
响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;
响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及
响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
接收生成日志请求;
生成每条数据流的每个日志的日志序列号;
响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;
以日志文件中最小的日志序列号命名创建的日志文件;
将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;
将日志添加至创建的日志文件中直至日志文件大小达到预定字节。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收生成快照请求;
间隔预定时间触发快照;
将所有日志序列号均小于快照中日志序列号的日志文件删除。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
接收回放日志请求;
根据所述日志序列号,回放日志。
11.一种调用分布式文件***的装置,其特征在于,所述装置包括:
会话建立单元,用于基于接收的用户端的会话请求,建立新会话;
首次加锁请求单元,用于向分布式文件***的管理者发送首次加锁请求,所述首次加锁请求用于请求对租约目录加锁;
新建子目录请求单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送在租约目录中新建子目录的请求,包括:首次查询请求子单元,用于响应于接收到对所述首次加锁请求的响应为加锁成功,向所述管理者发送首次查询请求,所述首次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;新建子目录子单元,用于响应于接收到对所述首次查询请求的响应为不存在,向所述管理者发送在租约目录中新建子目录的请求,所述子目录以所述新会话的IP地址和端口命名;
主会话标记单元,用于响应于接收到对所述新建子目录的请求的响应为新建成功,将所述新会话标记为主会话。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括以下任意一项或多项:
修改时间戳单元,用于在所述主会话存活期间,定期向所述管理者发送更新所述租约目录的修改时间戳的请求;和
删除及加锁单元,用于响应于所述主会话关闭,向所述管理者发送删除所述租约目录中的子目录并解锁所述租约目录的请求。
13.根据权利要求11所述的装置,其特征在于,所述新建子目录请求单元还包括:
删除子目录子单元,用于响应于接收到对所述首次查询请求的响应为存在,向所述管理者发送删除请求,所述删除请求用于删除所述租约目录中的子目录;
所述新建子目录子单元进一步用于响应于接收到对所述删除请求的响应为删除成功,向所述管理者发送在租约目录中新建子目录的请求。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
时长检查单元,用于响应于接收到对首次加锁请求的响应为加锁失败,间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;
再次加锁请求单元,用于响应于所述修改时间戳距当前时间的时长超过预设时长,向所述管理者发送再次加锁请求,所述再次加锁请求用于请求对所述租约目录加锁;
所述子目录查询子单元进一步用于:响应于接收到对所述再次加锁请求的响应为加锁成功,执行所述向所述管理者发送首次查询请求。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
再次查询请求单元,用于响应于接收到对所述再次加锁请求的响应为加锁失败,向所述管理者发送再次查询请求,所述再次查询请求用于查询租约目录中是否存在以其它会话的IP地址和端口命名的子目录;
所述时长检查单元进一步用于:响应于接收到对再次查询请求的响应为存在,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括:
所述首次加锁请求单元进一步用于:响应于接收到对再次查询请求的响应为不存在,执行所述向分布式文件***的管理者发送加锁租约目录的首次加锁请求。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括以下任意一项或多项:
所述时长检查单元进一步用于:响应于接收到对所述新建子目录请求的响应为新建失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;
所述时长检查单元进一步用于:响应于接收到对所述删除请求的响应为删除失败,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长;以及
所述时长检查单元进一步用于:响应于所述修改时间戳距当前时间的时长未超过预设时长,执行所述间隔预定时长检查所述修改时间戳距当前时间的时长是否超过预设时长。
18.根据权利要求11至17任意一项所述的装置,其特征在于,所述装置还包括:
日志请求接收单元,用于接收生成日志请求;
序列号生成单元,用于生成每条数据流的每个日志的日志序列号;
文件创建单元,用于响应于切换主会话或日志文件大小达到预定字节,新创建日志文件;
文件命名单元,用于以日志文件中最小的日志序列号命名创建的日志文件;
信息添加单元,用于将所述日志序列号、日志的长度、校验信息以及写入的会话的IP地址添加至创建的日志文件的头部信息;
日志添加单元,用于将日志添加至创建的日志文件中直至日志文件大小达到预定字节。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
快照请求接收单元,用于接收生成快照请求;
快照触发单元,用于间隔预定时间触发快照;
文件删除单元,用于将所有日志序列号均小于快照中日志序列号的日志文件删除。
20.根据权利要求18所述的装置,其特征在于,所述装置还包括:
回放请求接收单元,用于接收回放日志请求;
日志回放单元,用于根据所述日志序列号,回放日志。
CN201710002024.4A 2017-01-03 2017-01-03 调用分布式文件***的方法和装置 Active CN106648903B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710002024.4A CN106648903B (zh) 2017-01-03 2017-01-03 调用分布式文件***的方法和装置
US15/722,840 US10579595B2 (en) 2017-01-03 2017-10-02 Method and device for calling a distributed file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710002024.4A CN106648903B (zh) 2017-01-03 2017-01-03 调用分布式文件***的方法和装置

Publications (2)

Publication Number Publication Date
CN106648903A CN106648903A (zh) 2017-05-10
CN106648903B true CN106648903B (zh) 2019-03-26

Family

ID=58838040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710002024.4A Active CN106648903B (zh) 2017-01-03 2017-01-03 调用分布式文件***的方法和装置

Country Status (2)

Country Link
US (1) US10579595B2 (zh)
CN (1) CN106648903B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248495B2 (en) 2017-02-17 2019-04-02 International Business Machines Corporation Eventual consistency intent cleanup in a dispersed storage network
CN107145395B (zh) * 2017-07-04 2020-12-08 北京百度网讯科技有限公司 用于处理任务的方法和装置
US10838843B1 (en) * 2017-12-15 2020-11-17 Glassbeam, Inc. Parsing hierarchical session log data for search and analytics
CN109324764B (zh) * 2018-11-01 2021-11-26 郑州云海信息技术有限公司 一种分布式独占锁的实现方法和装置
CN111190753B (zh) * 2019-12-30 2023-03-21 腾讯科技(深圳)有限公司 分布式任务处理方法、装置、存储介质和计算机设备
CN111258957B (zh) * 2020-01-10 2023-06-02 北京百度网讯科技有限公司 分布式文件***目录更新方法、装置、设备和介质
CN111723130B (zh) * 2020-06-28 2023-07-25 杭州安恒信息技术股份有限公司 一种历史数据查询方法、装置及设备
CN112905556B (zh) * 2021-02-09 2022-11-15 山东英信计算机技术有限公司 分布式***的目录租约管理方法、装置、设备及存储介质
CN114445184A (zh) * 2022-01-27 2022-05-06 聚好看科技股份有限公司 一种订单流量回放方法及装置
CN116340270B (zh) * 2023-05-31 2023-07-28 深圳市科力锐科技有限公司 并发遍历枚举方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103747044A (zh) * 2013-12-24 2014-04-23 汉柏科技有限公司 一种服务锁定方法及***
CN104113587A (zh) * 2014-06-23 2014-10-22 华中科技大学 一种分布式文件***客户端元数据缓存优化方法
CN104239418A (zh) * 2014-08-19 2014-12-24 天津南大通用数据技术股份有限公司 支持分布式数据库的分布锁方法以及分布式数据库***
CN104268242A (zh) * 2010-09-17 2015-01-07 微软公司 目录租赁
CN104702655A (zh) * 2014-03-21 2015-06-10 杭州海康威视***技术有限公司 云存储资源分配方法及其***
CN105283838A (zh) * 2013-06-10 2016-01-27 亚马逊科技公司 云计算环境中的分布式锁管理

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519626B1 (en) * 1999-07-26 2003-02-11 Microsoft Corporation System and method for converting a file system path into a uniform resource locator
US20050010610A1 (en) * 2003-07-08 2005-01-13 Konica Minolta Business Technologies, Inc. File management system, file management apparatus and image forming apparatus
US20140201177A1 (en) * 2013-01-11 2014-07-17 Red Hat, Inc. Accessing a file system using a hard link mapped to a file handle
US20140330875A1 (en) * 2013-05-02 2014-11-06 Pinkquo Technologies Inc. Method and system for processing data files using distributed services
US9710478B2 (en) * 2014-05-02 2017-07-18 Netapp, Inc. System and method for adaptive data placement within a distributed file system
US10810168B2 (en) * 2015-11-24 2020-10-20 Red Hat, Inc. Allocating file system metadata to storage nodes of distributed file system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268242A (zh) * 2010-09-17 2015-01-07 微软公司 目录租赁
CN105283838A (zh) * 2013-06-10 2016-01-27 亚马逊科技公司 云计算环境中的分布式锁管理
CN103747044A (zh) * 2013-12-24 2014-04-23 汉柏科技有限公司 一种服务锁定方法及***
CN104702655A (zh) * 2014-03-21 2015-06-10 杭州海康威视***技术有限公司 云存储资源分配方法及其***
CN104113587A (zh) * 2014-06-23 2014-10-22 华中科技大学 一种分布式文件***客户端元数据缓存优化方法
CN104239418A (zh) * 2014-08-19 2014-12-24 天津南大通用数据技术股份有限公司 支持分布式数据库的分布锁方法以及分布式数据库***

Also Published As

Publication number Publication date
CN106648903A (zh) 2017-05-10
US10579595B2 (en) 2020-03-03
US20180189315A1 (en) 2018-07-05

Similar Documents

Publication Publication Date Title
CN106648903B (zh) 调用分布式文件***的方法和装置
US8417696B2 (en) Contact information merger and duplicate resolution
US20100185584A1 (en) Synchronization in Unified Messaging Systems
CN101771723A (zh) 数据同步方法
CN104811366B (zh) 一种网络通讯消息的漫游方法及装置
CN108509523A (zh) 区块链数据的结构化处理方法、设备及可读存储介质
CN105959390A (zh) 微服务的统一管理***及方法
CN111651418B (zh) 一种文档内容下载方法、装置、计算机设备和存储介质
CN110213156B (zh) 一种跨中心群组即时通信方法和***
CN101442558A (zh) 一种为p2sp网络提供索引服务的方法和***
CN107040576A (zh) 信息推送方法及装置、通讯***
CN106921721A (zh) 一种服务器、会话管理方法和***
US20110307444A1 (en) Replicating server configuration data in distributed server environments
CN101778131A (zh) 数据同步***
CN101212342B (zh) 多版本网元的网络管理方法
CN101789963A (zh) 数据同步***
CN102594874A (zh) 一种同步处理方法和装置
CN105844171B (zh) 用来进行档案同步控制的方法与装置
CN108337098B (zh) 群管理、群数据管理方法和装置、群管理***、存储介质
CN113220480B (zh) 分布式的数据任务跨云调度***及方法
CN114866416A (zh) 一种多集群统一管理***及部署方法
CN117319351A (zh) 通讯录管理方法、装置、计算机设备和存储介质
US11582345B2 (en) Context data management interface for contact center
CN116095081A (zh) 基于区块链***的事件处理方法及装置、设备、介质
CN115237394A (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
GR01 Patent grant
GR01 Patent grant