CN106294362A - 一种文件管理的方法、设备和系统 - Google Patents

一种文件管理的方法、设备和系统 Download PDF

Info

Publication number
CN106294362A
CN106294362A CN201510249719.3A CN201510249719A CN106294362A CN 106294362 A CN106294362 A CN 106294362A CN 201510249719 A CN201510249719 A CN 201510249719A CN 106294362 A CN106294362 A CN 106294362A
Authority
CN
China
Prior art keywords
files
blocks
block
split
main control
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.)
Withdrawn
Application number
CN201510249719.3A
Other languages
English (en)
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
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201510249719.3A priority Critical patent/CN106294362A/zh
Priority to PCT/CN2016/074284 priority patent/WO2016184199A1/zh
Publication of CN106294362A publication Critical patent/CN106294362A/zh
Withdrawn legal-status Critical Current

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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/13File 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

一种文件管理的方法、设备和系统
技术领域
本发明涉及分布式存储技术,尤指一种文件管理的方法、设备和系统。
背景技术
分布式文件存储系统的设计基于客户机/服务器模式,具体架构可以参见图1,包括主控服务器,多个数据服务器,以及多个客户端,客户端可以是各种应用服务器,也可是终端用户。具体来说,数据服务器不仅响应来自客户端的读写请求,而且还响应来自主控服务器的创建、删除和复制块的命令。主控服务器接收来自每个存储服务器的定期心跳(heartbeat)消息。每条消息都包含一个块报告,从而使得存储服务器可以根据这个报告验证块映射和其他文件系统元数据。
分布式文件存储系统的解决方案,是基于分治的思想,比如:将大量的文件均匀分布到多个数据服务器使得降低每个数据服务器存储的文件数量;以及通过大文件存储多个小文件的方式使得把单个数据服务器上存储的文件数降到单机能解决的规模;以及将大文件划分成多个相对较小的片段并存储在多个数据服务器上从而避免出现单一数据服务器无法对大文件进行存储的现象。
但是,随着移动互联网时代的到来,用户可以随时随地通过互联网访问信息,由于热点事件的影响,经常出现对相关文件的访问呈现爆发式增长,从而出现对于某个文件的访问出现无响应,或响应缓慢的情况,严重影响上层业务应用的用户体验。而目前的分布式文件存储系统并不能良好地应对个别文件由于突然爆发的巨大访问量而进行访问的情况。
发明内容
为了解决上述技术问题,本发明提供了一种文件管理的方法、设备和系统,能够在某些文件突然出现爆发式的巨大访问量的时候,进行快速地响应。
为了达到本发明目的,本发明提供了一种文件管理的方法,所述方法应用于分布式文件存储系统中的主控服务器,所述方法包括:
所述主控服务器在预设的访问周期内统计对文件块的访问次数;
所述主控服务器根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级;
所述主控服务器根据所述文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作。
进一步的,所述主控服务器在预设的访问周期内统计对文件块的访问次数,具体包括:
所述主控服务器将预设的访问周期划分为至少一个访问次数记录周期;
所述主控服务器分别记录每个访问次数记录周期内对所述文件块的访问次数。
进一步的,所述主控服务器根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级,包括:
当所述文件块在各所述访问次数记录周期的访问次数成几何级数型增长时,将所述文件块的访问增长等级确定为高频增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数成线性增长时,将所述文件块的访问增长等级确定为稳定增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数不增长时,将所述文件块的访问增长等级确定为稳定等级文件块。
进一步的,所述主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作,具体包括:
当所述文件块的访问增长等级为高频增长等级或稳定增长等级时,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当所述文件块的访问增长等级为稳定等级时,所述主控服务器为稳定等级文件块建立文件集合,并指示所述存储服务器不对稳定等级文件块进行拆分操作。
进一步的,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作,具体包括:
所述主控服务器获取所述待拆分文件块及所述待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,所述拆分指令用于指示所述存储服务器将所述待拆分文件块及所述待拆分文件块的备份块分别拆分成对应子文件块;
当所述主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,所述主控服务器将所述待拆分文件块及所述待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当所述主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,所述主控服务器根据已拆分的子文件块的保存地址向所述存储服务器发送拆分回退指令,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
进一步的,所述方法还包括:
所述主控服务器指示所述存储服务器将稳定等级的子文件块进行合并。
进一步的,所述主控服务器指示所述存储服务器将所述稳定等级的子文件块进行合并,包括:
所述主控服务器向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当所述主控服务器接收所述保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,所述主控服务器将子文件块合并后得到的文件块的保存地址进行保存;
当所述主控服务器接收所述保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,所述主控服务器根据已合并的子文件块的保存地址向所述存储服务器发送合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
本发明提供了一种主控服务器,所述主控服务器包括:统计单元、确定单元和指示单元,其中,
所述统计单元,用于在预设的访问周期内统计对文件块的访问次数;
所述确定单元,用于根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级;
所述指示单元,用于根据所述文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作。
进一步的,所述统计单元,具体用于:
将预设的访问周期划分为至少一个访问次数记录周期;
以及,分别记录每个访问次数记录周期内对该文件块的访问次数。
进一步的,所述确定单元,用于:
当所述文件块在各所述访问次数记录周期的访问次数成几何级数型增长时,将所述文件块的访问增长等级确定为高频增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数成线性增长时,将所述文件块的访问增长等级确定为稳定增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数不增长时,将所述文件块的访问增长等级确定为稳定等级文件块。
进一步的,所述指示单元,具体用于:
当所述文件块的访问增长等级为高频增长等级或稳定增长等级时,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当所述文件块的访问增长等级为稳定等级时,为稳定等级文件块建立文件集合,并指示所述存储服务器不对稳定等级文件块进行拆分操作。
进一步的,所述指示单元,具体用于:
获取所述待拆分文件块及所述待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,所述拆分指令用于指示所述存储服务器将所述待拆分文件块及所述待拆分文件块的备份块分别拆分成对应子文件块;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,将所述待拆分文件块及所述待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,根据已拆分的子文件块的保存地址向所述存储服务器发送拆分回退指令,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
进一步的,所述指示单元,还用于指示所述存储服务器将稳定等级的子文件块进行合并。
进一步的,所述指示单元,具体用于:
向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当接收所述保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,将子文件块合并后得到的文件块的保存地址进行保存;
当接收所述保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,根据已合并的子文件块的保存地址向所述存储服务器发送合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
本发明提供了一种文件管理的系统,所述系统包括主控服务器和存储服务器,其中,
所述主控服务器,用于在预设的访问周期内统计对文件块的访问次数;
以及,根据所述文件块在所述访问周期内的访问次数获取所述文件块的访问增长趋势,并按照所述增长趋势为所述文件块确定访问增长等级;
以及,根据文件块的访问增长等级与拆分操作策略之间的对应关系指示所述存储服务器对所述文件块进行拆分操作;
所述存储服务器,用于接收所述主控服务器发送的拆分指令;其中,所述拆分指令用于指示所述存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
以及,将待拆分文件块及待拆分文件块的备份块进行拆分,并返回拆分结果至所述主控服务器。
与现有技术相比,本发明包括一种文件管理的方法、设备和系统,主控服务器在预设的访问周期内统计对文件块的访问次数;以及根据文件块在访问周期内的访问次数获取文件块的访问增长趋势,并按照增长趋势为所述文件块确定访问增长等级;以及主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对文件块进行拆分操作;能够在某些文件块突然出现爆发式的巨大访问量的时候,进行快速地响应,避免了当访问次数增长高的文件块的访问出现急速增长时出现无响应,或响应缓慢的情况。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为现有分布式文件存储系统的架构示意图;
图2为本发明实施例提供的一种文件管理的方法流程示意图;
图3为本发明实施例提供的主控服务器统计对文件块的访问次数的流程示意图;
图4为本发明实施例提供的另一种文件管理的方法流程示意图;
图5为本发明实施例提供的一种文件管理方法的详细流程示意图;
图6为本发明实施例提供的主控服务器对文件块进行拆分操作的流程示意图;
图7为本发明实施例提供的将稳定等级的子文件块进行合并的流程示意图;
图8为本发明实施例提供的一种主控服务器的结构示意图;
图9为本发明实施例提供的一种存储服务器的结构示意图;
图10为本发明实施例提供的另一种存储服务器的结构示意图;
图11为本发明实施例提供的一种文件管理的系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明实施例的基本思想是:根据文件块访问次数的增长速度对文件块进行等级划分,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,从而在对该文件块的进行访问时,即使该文件块的访问次数增长较快,也可以把对于该文件块所处的存储服务器的访问数量分摊到保存该文件块进行拆分后的子文件块的存储服务器中,减少了存储服务器对于处理访问的数量,从而避免了当该文件块的访问出现急速增长时出现无响应,或响应缓慢的情况。
参见图2,基于上述基本思想,本发明实施例提供了一种文件管理的方法,该方法可以应用于分布式文件存储系统中的主控服务器端,该方法可以包括:
S201:主控服务器在预设的访问周期内统计对文件块的访问次数;
进一步地,参见图3,步骤S201的过程具体可以包括S2011和S2012:
S2011:主控服务器将预设的访问周期划分为至少一个访问次数记录周期;
S2012:主控服务器分别记录每个访问次数记录周期内对该文件块的访问次数。
以上过程S2011和S2012可以在一个访问周期内的各访问记录周期中记录文件块的访问次数,从而可以为后续步骤对于该文件块的访问增长趋势的确定提供了数据方面的基础。
S202:主控服务器根据该文件块在访问周期内的访问次数确定文件块的访问增长等级;
示例性地,主控服务器可以根据该文件块在访问周期内的访问次数获取该文件块的访问增长趋势,并按照该增长趋势为该文件块确定访问增长等级;
具体地,通过步骤S2011和S2012,主控服务器能够记录每个访问次数记录周期内对该文件块的访问次数,就可以将访问次数记录周期序号作为横坐标轴,每个访问次数记录周期内对该文件块的访问次数作为纵坐标轴来得到对于该文件块的访问次数增长趋势图。从该趋势图就能够获知该文件块在各访问次数记录周期的访问次数是否增长以及增长的情况。可以理解地,该文件块的访问次数增长趋势图属于该文件块的访问增长趋势的一种具体的表现形式。
需要说明的是,主控服务器通过访问次数增长趋势图可以确定对该文件块的访问增长趋势是属于几何级数型增长,或是线性增长,或是不增长;并且可以根据上述的增长趋势确定该文件块的访问增长等级。可以理解地,访问增长等级的确定可以是人为进行设定,具体在本实施例中,访问增长等级可以设定为:
当该文件块在各所述访问次数记录周期的访问次数成几何级数型增长时,将该文件块的访问增长等级确定为高频增长等级文件块;
当该文件块在各所述访问次数记录周期的访问次数成线性增长时,将该文件块的访问增长等级确定为稳定增长等级文件块;
当该文件块在各所述访问次数记录周期的访问次数不增长时,将该文件块的访问增长等级确定为稳定等级文件块。
S203:主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对该文件块进行拆分操作。
进一步地,由于不同的访问增长等级可以对应不同的拆分操作策略,因此,主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对该文件块进行拆分操作,具体可以包括:
当该文件块的访问增长等级为高频增长等级或稳定增长等级时,主控服务器指示存储服务器将该文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当该文件块的访问增长等级为稳定等级时,主控服务器为稳定等级文件块建立文件集合,并指示存储服务器不对稳定等级文件块进行拆分操作。
可以理解的是,由于高频增长等级文件块及稳定增长等级文件块均认为是需要进行拆分的待拆分文件块,唯一的区别是拆分得到的子文件块数量,因此,主控服务器指示存储服务器对待拆分文件块进行拆分操作,具体可以包括:
主控服务器获取待拆分文件块及待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,所述拆分指令用于指示存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
当主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,主控服务器将待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,主控服务器根据已拆分的子文件块的保存地址向存储服务器发送拆分回退指令,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
更进一步地,当主控服务器接收到存储服务器发送拆分回退失败指令时,主控服务器对待拆分文件块进行自动同步备份。
可以理解地,通过上述过程,主控服务器指示存储服务器将待拆分文件块拆分为子文件块之后,当对待拆分文件块进行访问时,可以将对待拆分文件块进行保存的存储服务器的访问数量分摊至待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址所在的存储服务器中,这样对于每个存储服务器都减少了访问数量,从而能够避免对待拆分文件块的访问出现无响应,或响应缓慢的情况。
通过上述S201至S203的过程,实现了对访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器的过程,但是需要说明的是,在拆分完成之后,主控服务器还会继续在预设的访问周期内对子文件块的访问次数进行统计,从而根据步骤S201至S203对拆分得到的子文件块继续进行拆分。
还需要说明的是,当待拆分文件块的所有子文件块或者及待拆分文件块的备份块的所有子文件块均为稳定等级时,说明对于待拆分文件块或者待拆分文件块的备份块来说均为稳定等级文件块,此时,为了避免存储空间的浪费,本发明实施例还可以包括主控服务器指示存储服务器将稳定等级的子文件块进行合并,具体过程可以包括:
主控服务器向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当主控服务器接收保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,主控服务器将子文件块合并后得到的文件块的保存地址进行保存;
当主控服务器接收保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,主控服务器根据已合并的子文件块的保存地址向存储服务器发送合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
更进一步地,当主控服务器接收到存储服务器发送合并回退失败指令时,主控服务器对子文件块进行自动同步备份。
本发明实施例提供了一种应用于分布式文件存储系统中的主控服务器端文件管理的方法,该方法根据文件块访问次数的增长速度对文件块进行等级划分,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,可以在访问次数增长高的突然出现爆发式的巨大访问量的时候,能够进行快速地响应。
参见图4,基于上述基本思想,本发明实施例提供了一种文件管理的方法,该方法可以应用于分布式文件存储系统中的存储服务器端,该方法可以包括:
S401:存储服务器接收主控服务器发送的拆分指令;
其中,所述拆分指令用于指示存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
S402:存储服务器将待拆分文件块及待拆分文件块的备份块进行拆分,并返回拆分结果至主控服务器;
进一步地,拆分结果可以包括拆分成功结果和拆分失败结果,当拆分结果为拆分成功结果时,存储服务器将待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址返回至主控服务器;
当拆分结果为拆分失败结果时,所述方法还包括:
存储服务器接收并执行主控服务器发送的拆分回退指令,所述拆分回退指令用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
进一步地,当待拆分文件块的所有子文件块或者及待拆分文件块的备份块的所有子文件块均为稳定等级时,说明对于待拆分文件块或者待拆分文件块的备份块来说均为稳定等级文件块,此时,为了避免存储空间的浪费,本发明实施例还可以包括将稳定等级的子文件块进行合并,具体过程可以包括:
存储服务器接收主控服务器发送子文件块合并指令;其中,子文件块合并指令包括保存稳定等级的子文件块地址;
存储服务器根据子文件块地址将子文件块进行合并,并将合并结果返回至主控服务器;具体地,合并结果包括合并成功结果和合并失败结果,当合并结果为合并成功结果时,存储服务器将子文件块合并后得到的文件块的保存地址返回至主控服务器;
当合并结果为合并失败结果时,所述方法还包括:
存储服务器接收并执行主控服务器发送的合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
本实施例提供了一种应用于分布式文件存储系统中的存储服务器端文件管理的方法,该方法根据文件块访问次数的增长速度对文件块进行等级划分,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,可以在访问次数增长高的突然出现爆发式的巨大访问量的时候,能够进行快速地响应。
结合前述实施例的技术构思,参见图5,其示出了本发明实施例提供的一种文件管理方法的详细流程,该流程涉及分布式文件存储系统中的主控服务器和存储服务器,具体可以包括:
S501:主控服务器在预设的访问周期内统计对文件块的访问次数;
具体地,主控服务器将预设的访问周期划分为至少一个访问次数记录周期;并且记录每个访问次数记录周期内对该文件块的访问次数。
需要说明的是,主控服务器可以以过滤器filter的形式拦截进入主控服务器的所有请求,并记录访问的文件块的标识及次数。
S502:主控服务器根据该文件块在访问周期内的访问次数获取该文件块的访问增长趋势,并按照该增长趋势为该文件块确定访问增长等级;
具体地,主控服务器可以将访问次数记录周期序号作为横坐标轴,每个访问次数记录周期内对该文件块的访问次数作为纵坐标轴来得到对于该文件块的访问次数增长趋势图,从而主控服务器通过访问次数增长趋势图可以确定对该文件块的访问增长趋势是属于几何级数型增长,或是线性增长,或是不增长。
比如,当访问次数记录周期序号n与每个访问次数记录周期内对该文件块的访问次数y之间的访问次数增长趋势图可以拟合为y=2n时,可以确定对该文件块的访问增长趋势是属于几何级数型增长;当访问次数记录周期序号n与每个访问次数记录周期内对该文件块的访问次数y之间的访问次数增长趋势图可以拟合为y=Kn,K为某一正整数常数时,可以确定对该文件块的访问增长趋势是属于线型增长;当每个访问次数记录周期内对该文件块的访问次数y比较稳定,且访问数值都较低时,可以确定对该文件块的访问增长趋势是属于不增长;可以理解地,访问增长等级的确定可以是人为进行设定,具体在本实施例中,访问增长等级可以设定为:将几何级数型增长确定为高频增长等级,线性增长确定为稳定增长等级,不增长确定为稳定等级。
S503:主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对该文件块进行拆分操作;
具体地,由于不同的访问增长等级可以对应不同的拆分操作策略,因此,主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对该文件块进行拆分操作,具体可以包括:
当该文件块的访问增长等级为高频增长等级时,主控服务器指示存储服务器将高频增长等级文件块拆分为多于两个子文件块;
当该文件块的访问增长等级为稳定增长等级时,主控服务器指示存储服务器将稳定增长等级文件块拆分为两个子文件块;
当该文件块的访问增长等级为稳定等级时,主控服务器为稳定等级文件块建立文件集合,并指示存储服务器不对稳定等级文件块进行拆分操作。
由于高频增长等级文件块及稳定增长等级文件块均认为是需要进行拆分的待拆分文件块,唯一的区别是拆分得到的子文件块数量,因此,本实施例中,以待拆分文件块为例进行详细说明,本领域技术人员可以无需创造性劳动地将待拆分文件块进行拆分的过程应用于高频增长等级文件块及稳定增长等级文件块,本实施例对此不作具体赘述,对于待拆分文件块,参见图6,步骤S503具体可以包括:
S5031:主控服务器获取待拆分文件块及待拆分文件块的备份块;
S5032:主控服务器向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;
其中,所述拆分指令用于指示存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
S5033:存储服务器将待拆分文件块及待拆分文件块的备份块进行拆分;
可以理解地,拆分结果可以包括拆分成功结果和拆分失败结果,那么,可选地,当拆分结果为拆分成功结果时,转向步骤S5034:存储服务器将待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址返回至主控服务器;
可选地,当拆分结果为拆分失败结果时,转向步骤S5035:存储服务器向主控服务器发送拆分失败结果;
当主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,S5036:主控服务器根据已拆分的子文件块的保存地址向存储服务器发送拆分回退指令;其中,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块
S5037:存储服务器接收并执行主控服务器发送的拆分回退指令。
进一步地,当待拆分文件块的所有子文件块或者及待拆分文件块的备份块的所有子文件块均为稳定等级时,说明对于待拆分文件块或者待拆分文件块的备份块来说均为稳定等级文件块,此时,为了避免存储空间的浪费,本发明实施例还可以包括将稳定等级的子文件块进行合并,因此,参见图7,本实施例还可以包括:
S701:主控服务器向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
其中,子文件块合并指令包括保存稳定等级的子文件块地址;
S702:存储服务器根据子文件块地址将子文件块进行合并;
可以理解地,合并结果包括合并成功结果和合并失败结果,
可选地,当合并结果为合并成功结果时,执行步骤S703:存储服务器将子文件块合并后得到的文件块的保存地址返回至主控服务器;
S704:主控服务器将子文件块合并后得到的文件块的保存地址进行保存;
可选地,当合并结果为合并失败结果时,执行步骤S705:存储服务器向主控服务器发送合并失败结果;
当主控服务器接收保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,S706:主控服务器根据已合并的子文件块的保存地址向存储服务器发送合并回退指令;其中,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
S707:存储服务器接收并执行主控服务器发送的合并回退指令。
本实施例提供了一种应用于分布式文件存储系统中的存储服务器端文件管理的方法,该方法根据文件块访问次数的增长速度对文件块进行等级划分,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,可以在访问次数增长高的突然出现爆发式的巨大访问量的时候,能够进行快速地响应。
基于前述实施例相同的技术构思,参见图8,其示出了本发明实施例提供的一种主控服务器80,其特征在于,主控服务器80包括:统计单元801、确定单元802和指示单元803,其中,
统计单元801,用于在预设的访问周期内统计对文件块的访问次数;
确定单元802,用于根据文件块在访问周期内的访问次数确定文件块的访问增长等级;
指示单元803,用于根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对文件块进行拆分操作。
示例性地,统计单元801,具体用于:
将预设的访问周期划分为至少一个访问次数记录周期;
以及,分别记录每个访问次数记录周期内对该文件块的访问次数。
进一步地,确定单元802,用于:
当文件块在各访问次数记录周期的访问次数成几何级数型增长时,将文件块的访问增长等级确定为高频增长等级文件块;
当文件块在各访问次数记录周期的访问次数成线性增长时,将文件块的访问增长等级确定为稳定增长等级文件块;
当文件块在各访问次数记录周期的访问次数不增长时,将文件块的访问增长等级确定为稳定等级文件块。
进一步地,指示单元803,具体用于:
当文件块的访问增长等级为高频增长等级或稳定增长等级时,主控服务器指示存储服务器将文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当文件块的访问增长等级为稳定等级时,为稳定等级文件块建立文件集合,并指示存储服务器不对稳定等级文件块进行拆分操作。
进一步地,指示单元803,具体用于:
获取待拆分文件块及待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,拆分指令用于指示存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,将待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,根据已拆分的子文件块的保存地址向存储服务器发送拆分回退指令,拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
进一步地,指示单元803,还用于指示存储服务器将稳定等级的子文件块进行合并。
进一步地,指示单元803,具体用于:
向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当接收保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,将子文件块合并后得到的文件块的保存地址进行保存;
当接收保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,根据已合并的子文件块的保存地址向存储服务器发送合并回退指令,合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
本发明实施例提供了一种主控服务器80,根据文件块访问次数的增长速度对文件块进行等级划分,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,可以在访问次数增长高的突然出现爆发式的巨大访问量的时候,能够进行快速地响应。
基于前述实施例相同的技术构思,参见图9,其示出了本发明实施例提供的一种存储服务器90,其特征在于,存储服务器90包括:接收单元901、拆分单元902和发送单元903,其中,
接收单元901,用于接收主控服务器发送的拆分指令;其中,拆分指令用于指示拆分单元902将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
拆分单元902,用于将待拆分文件块及待拆分文件块的备份块进行拆分;
发送单元903,用于返回拆分结果至主控服务器。
进一步地,拆分结果包括拆分成功结果和拆分失败结果;相应地,当拆分结果为拆分成功结果时,发送单元903,还用于将待拆分文件块及待拆分文件块的备份块的对应子文件块的保存地址返回至主控服务器;
当拆分结果为拆分失败结果时,接收单元901,还用于接收并执行主控服务器发送的拆分回退指令,拆分回退指令用于存储服务器90将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
进一步地,接收单元901,还用于接收主控服务器发送子文件块合并指令;其中,子文件块合并指令包括保存稳定等级的子文件块地址;
参见图10,存储服务器90还包括合并单元904,用于根据子文件块地址将子文件块进行合并,并将合并结果返回至主控服务器。
进一步地,合并结果包括合并成功结果和合并失败结果;
相应地,当合并结果为合并成功结果时,发送单元903,还用于将子文件块合并后得到的文件块的保存地址返回至主控服务器;
当合并结果为合并失败结果时,接收单元901还用于接收并执行主控服务器发送的合并回退指令;其中,合并回退指令,用于存储服务器90将已合并的子文件块重新进行拆分。
本发明实施例提供了一种存储服务器90,对于访问次数增长高的文件块进行拆分并将拆分后的子文件块保存至存储服务器中,可以在访问次数增长高的突然出现爆发式的巨大访问量的时候,能够进行快速地响应。
基于前述实施例相同的技术构思,参见图11,其示出了本发明实施例提供的一种文件管理的系统110,所述系统110包括主控服务器80和存储服务器90,其中,
主控服务器80,用于在预设的访问周期内统计对文件块的访问次数;
以及,根据文件块在访问周期内的访问次数获取文件块的访问增长趋势,并按照增长趋势为文件块确定访问增长等级;
以及,根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器90对文件块进行拆分操作;
存储服务器90,用于接收主控服务器80发送的拆分指令;其中,拆分指令用于指示存储服务器90将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
以及,将待拆分文件块及待拆分文件块的备份块进行拆分,并返回拆分结果至主控服务器80。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (15)

1.一种文件管理的方法,其特征在于,所述方法应用于分布式文件存储系统中的主控服务器,所述方法包括:
所述主控服务器在预设的访问周期内统计对文件块的访问次数;
所述主控服务器根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级;
所述主控服务器根据所述文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作。
2.根据权利要求1所述的文件管理的方法,其特征在于,所述主控服务器在预设的访问周期内统计对文件块的访问次数,具体包括:
所述主控服务器将预设的访问周期划分为至少一个访问次数记录周期;
所述主控服务器分别记录每个访问次数记录周期内对所述文件块的访问次数。
3.根据权利要求2所述的文件管理的方法,其特征在于,所述主控服务器根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级,包括:
当所述文件块在各所述访问次数记录周期的访问次数成几何级数型增长时,将所述文件块的访问增长等级确定为高频增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数成线性增长时,将所述文件块的访问增长等级确定为稳定增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数不增长时,将所述文件块的访问增长等级确定为稳定等级文件块。
4.根据权利要求3所述的文件管理的方法,其特征在于,所述主控服务器根据文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作,具体包括:
当所述文件块的访问增长等级为高频增长等级或稳定增长等级时,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当所述文件块的访问增长等级为稳定等级时,所述主控服务器为稳定等级文件块建立文件集合,并指示所述存储服务器不对稳定等级文件块进行拆分操作。
5.根据权利要求4所述的文件管理的方法,其特征在于,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作,具体包括:
所述主控服务器获取所述待拆分文件块及所述待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,所述拆分指令用于指示所述存储服务器将所述待拆分文件块及所述待拆分文件块的备份块分别拆分成对应子文件块;
当所述主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,所述主控服务器将所述待拆分文件块及所述待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当所述主控服务器接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,所述主控服务器根据已拆分的子文件块的保存地址向所述存储服务器发送拆分回退指令,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
6.根据权利要求3所述的文件管理方法,其特征在于,所述方法还包括:
所述主控服务器指示所述存储服务器将稳定等级的子文件块进行合并。
7.根据权利要求6所述的文件管理方法,其特征在于,所述主控服务器指示所述存储服务器将所述稳定等级的子文件块进行合并,包括:
所述主控服务器向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当所述主控服务器接收所述保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,所述主控服务器将子文件块合并后得到的文件块的保存地址进行保存;
当所述主控服务器接收所述保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,所述主控服务器根据已合并的子文件块的保存地址向所述存储服务器发送合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
8.一种主控服务器,其特征在于,所述主控服务器包括:统计单元、确定单元和指示单元,其中,
所述统计单元,用于在预设的访问周期内统计对文件块的访问次数;
所述确定单元,用于根据所述文件块在所述访问周期内的访问次数确定所述文件块的访问增长等级;
所述指示单元,用于根据所述文件块的访问增长等级与拆分操作策略之间的对应关系指示存储服务器对所述文件块进行拆分操作。
9.根据权利要求8所述的主控服务器,其特征在于,所述统计单元,具体用于:
将预设的访问周期划分为至少一个访问次数记录周期;
以及,分别记录每个访问次数记录周期内对该文件块的访问次数。
10.根据权利要求9所述的主控服务器,其特征在于,所述确定单元,用于:
当所述文件块在各所述访问次数记录周期的访问次数成几何级数型增长时,将所述文件块的访问增长等级确定为高频增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数成线性增长时,将所述文件块的访问增长等级确定为稳定增长等级文件块;
当所述文件块在各所述访问次数记录周期的访问次数不增长时,将所述文件块的访问增长等级确定为稳定等级文件块。
11.根据权利要求10所述的主控服务器,其特征在于,所述指示单元,具体用于:
当所述文件块的访问增长等级为高频增长等级或稳定增长等级时,所述主控服务器指示所述存储服务器将所述文件块作为待拆分文件块,进行拆分操作;其中,将高频增长等级文件块拆分为多于两个子文件块;将稳定增长等级文件块拆分为两个子文件块;
当所述文件块的访问增长等级为稳定等级时,为稳定等级文件块建立文件集合,并指示所述存储服务器不对稳定等级文件块进行拆分操作。
12.根据权利要求11所述的主控服务器,其特征在于,所述指示单元,具体用于:
获取所述待拆分文件块及所述待拆分文件块的备份块,并向保存待拆分文件块及待拆分文件块的备份块的存储服务器发送拆分指令;其中,所述拆分指令用于指示所述存储服务器将所述待拆分文件块及所述待拆分文件块的备份块分别拆分成对应子文件块;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分成功结果时,将所述待拆分文件块及所述待拆分文件块的备份块的对应子文件块的保存地址进行保存;
当接收保存待拆分文件块及待拆分文件块的备份块的存储服务器所返回的拆分失败结果时,根据已拆分的子文件块的保存地址向所述存储服务器发送拆分回退指令,所述拆分回退指令,用于存储服务器将已拆分的子文件块合并为对应的待拆分文件块及待拆分文件块的备份块。
13.根据权利要求10所述的主控服务器,其特征在于,所述指示单元,还用于指示所述存储服务器将稳定等级的子文件块进行合并。
14.根据权利要求13所述的主控服务器,其特征在于,所述指示单元,具体用于:
向保存稳定等级的子文件块的存储服务器发送子文件块合并指令;
当接收所述保存稳定等级的子文件块的存储服务器所返回的合并成功结果时,将子文件块合并后得到的文件块的保存地址进行保存;
当接收所述保存稳定等级的子文件的存储服务器所返回的拆分失败结果时,根据已合并的子文件块的保存地址向所述存储服务器发送合并回退指令,所述合并回退指令,用于存储服务器将已合并的子文件块重新进行拆分。
15.一种文件管理的系统,其特征在于,所述系统包括主控服务器和存储服务器,其中,
所述主控服务器,用于在预设的访问周期内统计对文件块的访问次数;
以及,根据所述文件块在所述访问周期内的访问次数获取所述文件块的访问增长趋势,并按照所述增长趋势为所述文件块确定访问增长等级;
以及,根据文件块的访问增长等级与拆分操作策略之间的对应关系指示所述存储服务器对所述文件块进行拆分操作;
所述存储服务器,用于接收所述主控服务器发送的拆分指令;其中,所述拆分指令用于指示所述存储服务器将待拆分文件块及待拆分文件块的备份块分别拆分成对应子文件块;
以及,将待拆分文件块及待拆分文件块的备份块进行拆分,并返回拆分结果至所述主控服务器。
CN201510249719.3A 2015-05-15 2015-05-15 一种文件管理的方法、设备和系统 Withdrawn CN106294362A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510249719.3A CN106294362A (zh) 2015-05-15 2015-05-15 一种文件管理的方法、设备和系统
PCT/CN2016/074284 WO2016184199A1 (zh) 2015-05-15 2016-02-22 一种文件管理的方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510249719.3A CN106294362A (zh) 2015-05-15 2015-05-15 一种文件管理的方法、设备和系统

Publications (1)

Publication Number Publication Date
CN106294362A true CN106294362A (zh) 2017-01-04

Family

ID=57319278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510249719.3A Withdrawn CN106294362A (zh) 2015-05-15 2015-05-15 一种文件管理的方法、设备和系统

Country Status (2)

Country Link
CN (1) CN106294362A (zh)
WO (1) WO2016184199A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579297B (zh) * 2020-12-25 2024-09-17 中国农业银行股份有限公司 一种数据处理方法及装置
CN117331501B (zh) * 2023-09-28 2024-06-07 深圳市钜邦科技有限公司 一种固态硬盘的数据分析管理方法、设备及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048749A (ja) * 2007-08-22 2009-03-05 Funai Electric Co Ltd ファイルシステム管理方法、ファイルシステム管理装置、及びファイルシステム管理プログラムを記録した記録媒体
CN103118133A (zh) * 2013-02-28 2013-05-22 浙江大学 基于文件访问频次的混合云存储方法
CN103150347A (zh) * 2013-02-07 2013-06-12 浙江大学 基于文件热度的动态副本管理方法
CN103220367A (zh) * 2013-05-13 2013-07-24 深圳市中博科创信息技术有限公司 数据复制方法及数据存储系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8387064B2 (en) * 2008-10-09 2013-02-26 International Business Machines Corporation Balancing a data processing load among a plurality of compute nodes in a parallel computer
CN102523279B (zh) * 2011-12-12 2015-09-23 深圳市安云信息科技有限公司 一种分布式文件系统及其热点文件存取方法
CN103838860A (zh) * 2014-03-19 2014-06-04 华存数据信息技术有限公司 一种基于动态副本策略的文件存储系统及其存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009048749A (ja) * 2007-08-22 2009-03-05 Funai Electric Co Ltd ファイルシステム管理方法、ファイルシステム管理装置、及びファイルシステム管理プログラムを記録した記録媒体
CN103150347A (zh) * 2013-02-07 2013-06-12 浙江大学 基于文件热度的动态副本管理方法
CN103118133A (zh) * 2013-02-28 2013-05-22 浙江大学 基于文件访问频次的混合云存储方法
CN103220367A (zh) * 2013-05-13 2013-07-24 深圳市中博科创信息技术有限公司 数据复制方法及数据存储系统

Also Published As

Publication number Publication date
WO2016184199A1 (zh) 2016-11-24

Similar Documents

Publication Publication Date Title
CN102411637B (zh) 分布式文件系统的元数据管理方法
CN103327052B (zh) 数据存储方法和系统以及数据访问方法和系统
US6430618B1 (en) Method and apparatus for distributing requests among a plurality of resources
CN104111804B (zh) 一种分布式文件系统
CN101510219B (zh) 文件数据访问方法、装置以及系统
CN101901248B (zh) 一种布隆过滤器的生成、更新以及查询元素方法和装置
EP3236365A1 (en) Data query method and device
CN108011929A (zh) 数据请求处理方法、装置、计算机设备和存储介质
CN108287660A (zh) 数据存储方法和设备
CN103530388A (zh) 一种云存储系统中提升性能的数据处理方法
CN101944124A (zh) 分布式文件系统管理方法、装置以及对应的文件系统
CN105677904B (zh) 基于分布式文件系统的小文件存储方法及装置
CN105868333A (zh) 文件处理方法及装置
CN109729108A (zh) 一种防止缓存击穿的方法、相关服务器及系统
CN104750757B (zh) 一种基于HBase的数据存储方法和设备
CN110399348A (zh) 文件重删方法、装置、系统及计算机可读存储介质
CN102073741A (zh) 一种实现文件读取和/或写入的方法以及数据服务器
CN106789901A (zh) 一种防止恶意提交网页请求的方法及装置
CN106909595A (zh) 一种数据迁移方法及装置
CN106878370A (zh) 一种本地缓存的更新方法和设备
CN106933965A (zh) 静态资源请求的方法
CN106250409A (zh) 数据查询方法及装置
CN104572505A (zh) 一种保证海量数据缓存最终一致性的系统及方法
CN106921712A (zh) 一种业务处理方法及装置
Dai et al. Improving load balance for data-intensive computing on cloud platforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170104