CN106202275A - 对象文件的追加、截断方法及装置 - Google Patents
对象文件的追加、截断方法及装置 Download PDFInfo
- Publication number
- CN106202275A CN106202275A CN201610506560.3A CN201610506560A CN106202275A CN 106202275 A CN106202275 A CN 106202275A CN 201610506560 A CN201610506560 A CN 201610506560A CN 106202275 A CN106202275 A CN 106202275A
- Authority
- CN
- China
- Prior art keywords
- obj ect
- ect file
- length
- file
- subscriber equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 66
- 230000007717 exclusion Effects 0.000 claims description 59
- 230000000903 blocking effect Effects 0.000 claims description 36
- 230000001502 supplementing effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/183—Provision of network file services by network file servers, e.g. by using NFS, CIFS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种对象文件的追加、截断方法及装置,用以避免将在用户设备侧追加、截断得到的对象文件重新上传服务器,减小了上传的请求所占的带宽,提高了公网带宽的利用率。所述方法包括,接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向用户设备返回确定的对象文件是否可追加的响应;若返回的响应为所述对象文件可追加的响应,则接收用户设备发送的针对对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种对象文件的追加、截断方法及装置。
背景技术
对象存储与文件存储的存储结构不同。传统的文件存储是通过目录树的结构对文件进行存储,然而对象存储并不以目录分层的结构存储,而是通过将每一对象都置于同一存储池中,形成扁平且相同的层级,每一级的每个元素在存储系统中都有唯一的标识,用户设备通过此标识来访问存储池或对象。由于扁平的数据组织结构抛弃了嵌套式的文件夹,从而避免了维护庞大的目录树所导致的负担过重。在大数据和互联网时代,存储的文件以及存储的对象高达上百万个,单位时间内的访问次数以及并发访问量也达到了前所未有的量级,在这种情况下,采用传统的文件存储形式,即目录树形式将会给存储系统带来很大的开销以及负担,这将会严重的制约着处理效率,成为系统提速的瓶颈。对象存储在提供海量的存储空间的同时,超文本传输协议(HTTP,Hyper Text Transfer Protocol)接口也简化了开发者的开发流程。因此,对象存储受到了大量的关注,并得到了迅速的发展。
然而,发明人发现在对象存储中,若要对对象文件进行追加或截断的操作,只能通过将追加后的对象文件或截断后的对象文件向服务器重新上传。当用户存储日志或者处理大数据时,平均每个小时均需要向对象文件进行一次追加或截断操作,若采用现有技术每次将追加或截断后的对象文件重传一遍,将严重浪费公网带宽,影响服务器的处理效率。
综上所述,若用户采用现有技术对日志进行存储或者对大数据进行处理,平均每小时均需将追加或截断后的对象文件重传一遍,导致公网带宽的利用率低。
发明内容
本发明实施例提供一种对象文件的追加、截断方法及装置,用以解决现有技术中公网带宽的利用率低,存储对象文件的服务器的处理效率低的问题,实现提高公网带宽的利用率。
本发明实施例提供一种对象文件的追加方法,包括:
接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;
根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向所述用户设备返回确定的对象文件是否可追加的响应;
若返回的响应为确定的对象文件可追加的响应,则接收用户设备发送的针对所述对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
本发明实施例提供一种对象文件的截断方法,包括:
接收用户设备发送的截断请求,其中,所述截断请求包括:需要进行截断操作的对象文件的标识以及截断长度;
根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件。
本发明实施例提供一种对象文件的追加装置,包括:
第一接收模块,用于接收用户设备发送的包括需要进行追加操作的对象文件的标识的预约请求;
响应模块,用于根据所述需要进行追加操作的对象文件的标识,确定需要进行追加操作的对象文件,并向所述用户设备返回所述对象文件是否可追加的响应;
第二接收模块,用于若返回的响应为所述对象文件可追加的响应,则接收用户设备发送的针对对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
追加模块,用于根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
本发明实施例提供一种对象文件的截断装置,包括:
接收模块,用于接收用户设备发送的截断请求,其中,所述截断请求包括,需要进行截断操作的对象文件的标识以及截断的起始位置;
确定模块,用于根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
截断模块,用于根据所述截断的起始位置,对所述对象文件进行截断,得到截断后的对象文件。
本发明实施例提供的对象文件的追加、截断方法及装置,通过追加请求中的追加的起始位置或截断请求中的截断长度,从而确定将追加内容添加到对象文件中的位置,或确定截断对象文件的截断区域,从而实现在服务器侧对对象文件的追加操作与截断操作,避免了在用户设备侧对对象文件进行追加操作或截断操作,再将追加或截断后的对象文件重新上传服务器,在服务器侧对对象文件进行操作,减小了追加或截断后的对象文件上传所占的带宽,提高了公网带宽的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明对象文件的追加方法实施例流程图;
图2为本发明对象文件的追加方法实施例流程图;
图3为本发明对象文件的追加方法实施例流程图;
图4为本发明对象文件的截断方法实施例流程图;
图5为本发明对象文件的截断方法实施例流程图;
图6为本发明对象文件的截断方法实施例流程图;
图7为本发明对象文件的追加装置实施例结构示意图;
图8为本发明对象文件的截断装置实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种对象文件的追加、截断方法及装置,用以解决现有技术中公网带宽的利用率低,存储对象文件的服务器的处理效率低的问题,实现提高公网带宽的利用率。
参见图1,本发明实施例提供一种对象文件的追加方法,包括:
S101、接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;
S102、根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向所述用户设备返回确定的对象文件是否可追加的响应;
S103、若返回的响应为确定的对象文件可追加的响应,则接收用户设备发送的针对所述对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
S104、根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
参见图2,步骤S102中“向所述用户设备返回确定的对象文件是否可追加的响应”包括:
S201、判断确定的对象文件是否设置有互斥锁,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件;
S202、若是,则向所述用户设备返回所述对象文件不可追加的响应;否则,向所述用户设备返回所述对象文件可追加的响应。
其中,根据所述需要进行追加操作的对象文件的标识,查询预设的数据库,确定需要进行追加操作的对象文件,根据确定的对象文件,再次查询数据库,确定该对象文件是否设置有互斥锁。其中,所述数据库中包括对象文件的标识与该对象文件的映射关系,以及对象文件与该对象文件是否设置互斥锁的映射关系,且所述映射关系均为一一映射。
本发明实施例中,通过在接收用户设备发送追加请求之前,检测需要进行追加操作的对象文件是否被其他用户设备设置有互斥锁,避免了由于该对象文件被其他用户设备设置有互斥锁,导致的追加操作失败,从而提高了追加操作的效率。
其中,所述对象文件可追加的响应包括,所述对象文件的偏移位置,其中,所述用户设备根据所述对象文件的偏移位置生成追加的起始位置以及追加的终止位置。
具体地,所述追加的起始位置为所述对象文件的偏移位置。
本发明实施例中,用户设备接收服务器发送的对象文件可追加的响应,并根据该响应中的对象文件的偏移位置,确定追加的起始位置以及追加的终止位置,并根据确定的追加的起始位置、追加的终止位置以及追加内容,生成追加请求。通过根据服务器发送的偏移位置,确定追加范围,即追加的起始位置以及追加的终止位置,从而避免服务器中记录的该对象文件的长度与用户设备中记录的该对象文件的长度不一致,导致的追加失败,从而提高了追加操作的效率。
其中,所述预约请求包括,追加内容的长度;
具体地,步骤S202中若确定的对象文件没有设置有互斥锁,该方法还包括:
设定所述预约请求中追加内容的长度为约定的追加长度;
在步骤S104根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加之前,该方法还包括:
判断所述追加内容的长度与约定的追加长度是否一致;
若所述追加内容的长度与约定的追加长度不一致,则向所述用户设备发送重新申请偏移位置的响应;若一致,则执行步骤S104。
本发明实施例中,通过判断追加的内容的长度与约定的追加长度是否一致,确定是否进行追加,实现了在接收到预约请求时,服务器为追加的内容占位,提高了服务器进行追加操作的速度,从而提高操作效率。
其中,步骤S201中确定的对象文件若未设置互斥锁,该方法还包括:
对所述对象文件设置互斥锁。
本发明实施例中,通过对确定的对象文件设置互斥锁,从而防止多个用户设备同时对同一对象文件进行追加或截断操作的问题,实现在同一时间只有一用户设备对该对象文件进行操作,禁止其他用户对对象文件进行追加或截断操作。
其中,在步骤S104对所述对象文件进行追加之后,该方法还包括:
去除对所述对象文件设置的互斥锁。
本发明实施例中,在对所述对象文件进行追加之后,去除对所述对象文件设置的互斥锁,此时其他用户设备亦可对该对象文件进行追加或截断操作。
为便于理解,下面将结合图3,对对象文件追加的整体流程进一步进行解释说明。
S301、用户设备向服务器发送用于对对象文件追加的预约请求,其中,所述预约请求包括追加内容的长度;
S302、所述服务器根据接收到的预约请求,判断该对象文件是否为可追加状态;若所述对象文件为可追加状态,则执行下述步骤;否则,返回所述对象文件不可追加的响应;
S303、所述服务器对所述对象文件设置互斥锁,其中,所述互斥锁用于禁止除所述用户设备以外的用户设备追加或截断设置互斥锁的对象文件;
S304、所述服务器设定所述预约请求中追加内容的长度为约定追加长度;
S305、所述服务器返回包括所述对象文件的偏移位置的响应;
S306、所述用户设备分析所述服务器返回的响应;若接收到的响应为所述对象文件不可追加的响应,则继续执行步骤S301;
S307、若接收到的响应为包括所述对象文件的偏移位置的响应,则根据所述对象文件的偏移位置,确定追加的起始位置及终止位置,生成并向所述服务器发送追加请求,其中,所述追加请求包括追加的起始位置、终止位置以及所述追加内容;
S308、所述服务器根据接收到的追加请求,得到追加内容,根据所述追加内容,确定追加内容的长度,并判断确定的追加内容的长度与约定追加长度是否相等;
S309、若是,则根据所述追加的起始位置及终止位置,对所述追加内容进行追加,生成追加后的对象文件,并返回包括追加后的对象文件的长度的响应,打开互斥锁;否则,所述服务器打开互斥锁,并返回写入追加内容失败的响应;
S310、所述用户设备接收所述服务器发送的响应,若接收到的响应为包括追加后的对象文件的长度的响应,则所述用户设备更新该对象文件的长度参数;若接收到的响应为写入追加内容失败的响应,则重新执行步骤S301。
其中,不限制步骤S303、步骤S304以及步骤S305的执行顺序。
具体地,步骤S307中根据所述对象文件的偏移位置,确定追加的起始位置,包括:
将所述对象文件的偏移位置以及追加内容的长度添加到HTTP请求的RANG的头里。
具体地,在步骤S307之后,步骤S308之前,该方法还包括:
所述服务器确定发送追加请求的用户设备是否有权限对对象文件修改,即所述对象文件的互斥锁的对象是否为该用户设备。
为保证本发明流程的完整性,补充在步骤S301之前的部分。即用户设备向所述服务器发送上传对象文件的请求;所述服务器将接收到该请求中的对象文件写入到所述服务器中,并记录所述对象文件的长度。
其中,所述服务器将接收到该请求中的对象文件写入到所述服务器中,包括:所述服务器将接收到该请求中的对象文件按副本数规则写入到磁盘中。
假设在步骤S301之前,所述服务器保存的对象文件的长度为L0,追加内容的长度为L1,那么所述用户设备发送给所述服务器的预约请求中的追加内容的长度为L1,所述服务器返回的响应中偏移位置为L0,追加的起始位置为L0,追加的终止位置为L0+L1,所述用户设备确定的追加位置的区间为[L0,L0+L1],所述服务器返回的响应中追加后的对象文件的长度为L0+L1。
参见图4,本发明实施例提供一种对象文件的截断方法,包括:
S401、接收用户设备发送的截断请求,其中,所述截断请求包括:需要进行截断操作的对象文件的标识以及截断长度;
S402、根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
S403、根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件。
其中,参见图5,步骤S403包括:
S501、比较所述截断长度与所述对象文件的长度;
S502、根据所述对象文件,得到截断后的对象文件。
具体地,步骤S502包括以下三种情况:
情况一:若所述截断长度小于所述对象文件的长度,则从所述对象文件结尾的位置开始,清除所述对象文件的内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;
情况二:若所述截断长度等于所述对象文件的长度,则确定截断后的对象文件为截断前的所述对象文件;
情况三:若所述截断长度大于所述对象文件的长度,则从所述对象文件结尾的位置开始,填充空白内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件。
其中,在步骤S402之后,该方法还包括:
若所述对象文件设置有互斥锁,则返回所述对象文件不可截断的响应,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件。
为便于理解,下面将结合图6,对对象文件截断的整体流程进一步进行解释说明。
S601、用户设备向服务器发送包括截断长度的预约请求;
S602、所述服务器判断所述截断长度与所述预约请求所对应的对象文件的长度是否相等;若是,执行步骤S605;否则,执行步骤S603;
S603、所述服务器向所述用户设备返回包括所述对象文件的偏移位置的响应;
S604、所述用户设备根据返回的所述对象文件的偏移位置,确定截断长度,重新执行步骤S601;
S605、用户设备向服务器发送包括截断长度的截断请求;
S606、所述服务器判断接收到的所述截断请求所对应的对象文件是否为可截断状态;若是,则执行步骤S607,否则,执行步骤S609;
S607、比较所述截断长度与所述对象文件的长度;若所述截断长度小于所述对象文件的长度,则从所述对象文件结尾的位置开始,清除所述对象文件的内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;若所述截断长度等于所述对象文件的长度,则确定截断后的对象文件为截断前的所述对象文件;若所述截断长度大于所述对象文件的长度,则从所述对象文件结尾的位置开始,填充空白内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;
S608、所述服务器返回包括所述截断后的对象文件的长度的响应;
S609、返回所述对象文件不可截断的响应。
假设所述服务器中的对象文件的长度为L0+L1,那么所述预约请求中的截断长度为L2。因此,步骤S502中的情况一,即若L2小于L0+L1,则清除所述截断区间即[L2,L0+L1]的对象文件的内容,得到截断后的对象文件;情况二,即若L2等于L0+L1,则确定所述截断后的对象文件为截断前的所述对象文件;情况三,若L2大于L0+L1,则所述对象文件在截断区间即[L0+L1,L2]填充空白内容,得到截断后的对象文件。
其中,所述填充的空白内容为空字符即“0”。
参见图7,本发明实施例提供一种对象文件的追加装置,包括:
第一接收模块701,接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;
响应模块702,用于根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向所述用户设备返回确定的对象文件是否可追加的响应;
第二接收模块703,用于若返回的响应为确定的对象文件可追加的响应,则接收用户设备发送的针对所述对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
追加模块704,用于根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
具体地,向所述用户设备返回确定的对象文件是否可追加的响应,所述响应模块702具体用于:
判断确定的对象文件是否设置有互斥锁,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件;
若是,则向所述用户设备返回所述对象文件不可追加的响应;否则,向所述用户设备返回所述对象文件可追加的响应。
具体地,所述对象文件可追加的响应包括:所述对象文件的偏移位置,其中,所述用户设备根据所述对象文件的偏移位置生成追加的起始位置。
具体地,所述预约请求包括,追加内容的长度;
若确定的对象文件未设置有互斥锁,所述响应模块702还用于:
设定所述预约请求中追加内容的长度为约定的追加长度;
所述追加模块704还用于:
判断所述追加的起始位置所对应的长度与约定的追加长度是否一致;
若所述追加的起始位置所对应的长度与约定的追加长度不一致,则向所述用户设备发送重新申请偏移位置的响应。
具体地,若确定的对象文件未设置互斥锁,所述响应模块702还用于:
对所述对象文件设置互斥锁。
具体地,所述追加模块704还用于:
去除对所述对象文件设置的互斥锁。
参见图8,本发明实施例提供一种对象文件的截断装置,包括:
接收模块801,用于接收用户设备发送的截断请求,其中,所述截断请求包括:需要进行截断操作的对象文件的标识以及截断长度;
确定模块802,用于根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
截断模块803,用于根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件。
具体地,所述截断模块803,具体用于:
比较所述截断长度与所述对象文件的长度;
若所述截断长度小于所述对象文件的长度,则从所述对象文件结尾的位置开始,清除所述对象文件的内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;
若所述截断长度等于所述对象文件的长度,则确定截断后的对象文件为截断前的所述对象文件;
若所述截断长度大于所述对象文件的长度,则从所述对象文件结尾的位置开始,填充空白内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件。
具体地,所述截断模块803,还用于:
若所述对象文件设置有互斥锁,则返回所述对象文件不可截断的响应,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件。
本发明实施例提供一种服务器,该服务器包括上述的第一接收模块701、响应模块702、第二接收模块703、追加模块704以及接收模块801、确定模块802、截断模块803。
其中,所述服务器可为对象存储集群。所述服务器还包括硬件处理器(hardwareprocessor),且本发明实施例中的相关功能模块均可以通过硬件处理器来实现。
综上所述,本发明实施例提供了一种对象文件的追加、截断方法及装置,用以通过追加请求中的追加的起始位置或截断请求中的截断长度,从而确定将追加内容添加到对象文件中的位置,或确定截断对象文件的截断区域,从而实现在服务器侧对对象文件的追加操作与截断操作,避免了在用户设备侧对对象文件进行追加操作或截断操作,再将追加或截断后的对象文件重新上传服务器,在服务器侧对对象文件进行操作,减小了追加或截断后的对象文件上传所占的带宽,提高了公网带宽的利用率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (18)
1.一种对象文件的追加方法,其特征在于,包括:
接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;
根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向所述用户设备返回确定的对象文件是否可追加的响应;
若返回的响应为确定的对象文件可追加的响应,则接收用户设备发送的针对所述对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
2.根据权利要求1所述的方法,其特征在于,向所述用户设备返回确定的对象文件是否可追加的响应,包括:
判断确定的对象文件是否设置有互斥锁,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件;
若是,则向所述用户设备返回所述对象文件不可追加的响应;
否则,向所述用户设备返回所述对象文件可追加的响应。
3.根据权利要求2所述的方法,其特征在于,所述对象文件可追加的响应包括:所述对象文件的偏移位置,其中,所述用户设备根据所述对象文件的偏移位置生成追加的起始位置。
4.根据权利要求2所述的方法,其特征在于,所述预约请求包括:追加内容的长度;
若确定的对象文件未设置有互斥锁,该方法还包括:
设定所述预约请求中追加内容的长度为约定的追加长度;
在根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加之前,该方法还包括:
判断所述追加内容的长度与约定的追加长度是否一致;
若所述追加内容的长度与约定的追加长度不一致,则向所述用户设备发送重新申请偏移位置的响应。
5.根据权利要求2所述的方法,其特征在于,若确定的对象文件未设置互斥锁,该方法还包括:
对所述对象文件设置互斥锁。
6.根据权利要求5所述的方法,其特征在于,在对所述对象文件进行追加之后,该方法还包括:
去除对所述对象文件设置的互斥锁。
7.一种对象文件的截断方法,其特征在于,包括:
接收用户设备发送的截断请求,其中,所述截断请求包括:需要进行截断操作的对象文件的标识以及截断长度;
根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件。
8.根据权利要求7所述的方法,其特征在于,根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件,包括:
比较所述截断长度与所述对象文件的长度;
若所述截断长度小于所述对象文件的长度,则从所述对象文件结尾的位置开始,清除所述对象文件的内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;
若所述截断长度等于所述对象文件的长度,则确定截断后的对象文件为截断前的所述对象文件;
若所述截断长度大于所述对象文件的长度,则从所述对象文件结尾的位置开始,填充空白内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件。
9.根据权利要求7所述的方法,其特征在于,在确定需要进行截断操作的对象文件之后,该方法还包括:
若所述对象文件设置有互斥锁,则返回所述对象文件不可截断的响应,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件。
10.一种对象文件的追加装置,其特征在于,包括:
第一接收模块,用于接收用户设备发送的预约请求,其中,所述预约请求包括需要进行追加操作的对象文件的标识;
响应模块,用于根据所述需要进行追加操作的对象文件的标识,确定该标识对应的对象文件,并向所述用户设备返回确定的对象文件是否可追加的响应;
第二接收模块,用于若返回的响应为确定的对象文件可追加的响应,则接收用户设备发送的针对所述对象文件的追加请求,其中,所述追加请求包括追加内容以及追加的起始位置;
追加模块,用于根据所述追加内容以及所述追加的起始位置,对所述对象文件进行追加,得到追加后的对象文件。
11.根据权利要求10所述的追加装置,其特征在于,向所述用户设备返回确定的对象文件是否可追加的响应,所述响应模块具体用于:
判断确定的对象文件是否设置有互斥锁,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件;
若是,则向所述用户设备返回所述对象文件不可追加的响应;否则,向所述用户设备返回所述对象文件可追加的响应。
12.根据权利要求11所述的追加装置,其特征在于,所述对象文件可追加的响应包括:所述对象文件的偏移位置,其中,所述用户设备根据所述对象文件的偏移位置生成追加的起始位置。
13.根据权利要求11所述的追加装置,其特征在于,所述预约请求包括:追加内容的长度;
若确定的对象文件未设置有互斥锁,所述响应模块还用于:
设定所述预约请求中追加内容的长度为约定的追加长度;
所述追加模块还用于:
判断所述追加内容的长度与约定的追加长度是否一致;
若所述追加内容的长度与约定的追加长度不一致,则向所述用户设备发送重新申请偏移位置的响应。
14.根据权利要求11所述的追加装置,其特征在于,若确定的对象文件未设置互斥锁,所述响应模块还用于:
对所述对象文件设置互斥锁。
15.根据权利要求14所述的追加装置,其特征在于,所述追加模块还用于:
去除对所述对象文件设置的互斥锁。
16.一种对象文件的截断装置,其特征在于,包括:
接收模块,用于接收用户设备发送的截断请求,其中,所述截断请求包括:需要进行截断操作的对象文件的标识以及截断长度;
确定模块,用于根据所述需要进行截断操作的对象文件的标识,确定需要进行截断操作的对象文件;
截断模块,用于根据所述截断长度,对所述对象文件进行截断,得到截断后的对象文件。
17.根据权利要求16所述的截断装置,其特征在于,所述截断模块,具体用于:
比较所述截断长度与所述对象文件的长度;
若所述截断长度小于所述对象文件的长度,则从所述对象文件结尾的位置开始,清除所述对象文件的内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件;
若所述截断长度等于所述对象文件的长度,则确定截断后的对象文件为截断前的所述对象文件;
若所述截断长度大于所述对象文件的长度,则从所述对象文件结尾的位置开始,填充空白内容,直到所述对象文件的长度与所述截断长度相等为止,得到截断后的对象文件。
18.根据权利要求16所述的截断装置,其特征在于,所述截断模块,还用于:
若所述对象文件设置有互斥锁,则返回所述对象文件不可截断的响应,其中,所述互斥锁用于禁止除设置该互斥锁的用户设备以外的用户设备追加或截断设置互斥锁的对象文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610506560.3A CN106202275A (zh) | 2016-06-30 | 2016-06-30 | 对象文件的追加、截断方法及装置 |
PCT/CN2016/099970 WO2018000618A1 (zh) | 2016-06-30 | 2016-09-23 | 对象文件的追加、截断方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610506560.3A CN106202275A (zh) | 2016-06-30 | 2016-06-30 | 对象文件的追加、截断方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106202275A true CN106202275A (zh) | 2016-12-07 |
Family
ID=57464241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610506560.3A Pending CN106202275A (zh) | 2016-06-30 | 2016-06-30 | 对象文件的追加、截断方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106202275A (zh) |
WO (1) | WO2018000618A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089915A (zh) * | 2017-03-27 | 2022-02-25 | 珠海极海半导体有限公司 | 基于flash存储器的文件追加写操作方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194736B (zh) | 2018-08-30 | 2021-04-27 | 百度在线网络技术(北京)有限公司 | 消息去重方法、装置、电子设备、介质和无人车 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064843A (zh) * | 2011-10-20 | 2013-04-24 | 北京中搜网络技术股份有限公司 | 数据处理装置和数据处理方法 |
CN104090943A (zh) * | 2014-07-01 | 2014-10-08 | 中国工商银行股份有限公司 | 数据文件处理方法、装置和系统 |
CN104731886A (zh) * | 2015-03-12 | 2015-06-24 | 深圳市连用科技有限公司 | 一种海量小文件的处理方法及系统 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105608162A (zh) * | 2015-12-17 | 2016-05-25 | 网易(杭州)网络有限公司 | 文件处理方法和装置 |
CN105681367A (zh) * | 2014-11-17 | 2016-06-15 | 中国移动通信集团公司 | 一种共享文件内容的方法、服务器和客户端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9213718B1 (en) * | 2011-06-22 | 2015-12-15 | Emc Corporation | Synchronized file management across multiple disparate endpoints |
-
2016
- 2016-06-30 CN CN201610506560.3A patent/CN106202275A/zh active Pending
- 2016-09-23 WO PCT/CN2016/099970 patent/WO2018000618A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064843A (zh) * | 2011-10-20 | 2013-04-24 | 北京中搜网络技术股份有限公司 | 数据处理装置和数据处理方法 |
CN104090943A (zh) * | 2014-07-01 | 2014-10-08 | 中国工商银行股份有限公司 | 数据文件处理方法、装置和系统 |
CN105681367A (zh) * | 2014-11-17 | 2016-06-15 | 中国移动通信集团公司 | 一种共享文件内容的方法、服务器和客户端 |
CN104731886A (zh) * | 2015-03-12 | 2015-06-24 | 深圳市连用科技有限公司 | 一种海量小文件的处理方法及系统 |
CN105045631A (zh) * | 2015-07-30 | 2015-11-11 | 北京奇虎科技有限公司 | 一种升级客户端侧应用程序的方法和装置 |
CN105608162A (zh) * | 2015-12-17 | 2016-05-25 | 网易(杭州)网络有限公司 | 文件处理方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114089915A (zh) * | 2017-03-27 | 2022-02-25 | 珠海极海半导体有限公司 | 基于flash存储器的文件追加写操作方法及装置 |
CN114089915B (zh) * | 2017-03-27 | 2022-12-20 | 珠海极海半导体有限公司 | 基于flash存储器的文件追加写操作方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2018000618A1 (zh) | 2018-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106170777B (zh) | 降低基于块的存储的数据卷耐久性状态的方法 | |
CN102640125B (zh) | 分布式内容存储和取回 | |
US9734026B2 (en) | In-memory data store replication through remote memory sharing | |
US10108632B2 (en) | Splitting and moving ranges in a distributed system | |
US20180063271A1 (en) | Transparent sharding of traffic across messaging brokers | |
EP4202694A1 (en) | Node memory-based data processing method and apparatus, device, and medium | |
KR20170077231A (ko) | 스토리지 클라이언트 파일 시스템들을 위한 스토리지 볼륨들의 동적 스케일링 | |
CN105160269A (zh) | 一种Docker容器内数据的访问方法及装置 | |
CN107818013A (zh) | 一种应用调度方法及装置 | |
US8903874B2 (en) | File system directory attribute correction | |
JP2018521405A (ja) | アクセス方法及び装置 | |
CN105808736A (zh) | 一种榜单数据更新方法、装置及系统 | |
CN104750757B (zh) | 一种基于HBase的数据存储方法和设备 | |
CN106101055A (zh) | 一种多数据库的数据访问方法及其系统和代理服务器 | |
CN110489696A (zh) | 缓存更新方法、装置及电子设备、存储介质 | |
CN106648471A (zh) | 云平台数据存储方法及装置 | |
CN106302709A (zh) | 一种网络文件管理的实现方法和系统 | |
CN106202275A (zh) | 对象文件的追加、截断方法及装置 | |
CN103491193A (zh) | 一种文件共享的方法和设备 | |
CN106936907A (zh) | 一种文件处理方法、逻辑服务器、接入服务器及系统 | |
CN102664894A (zh) | 一种基于云计算的软件提供系统及方法 | |
CN105144099B (zh) | 通信系统 | |
CN113986621B (zh) | 数据备份性能的优化方法、装置、设备及存储介质 | |
KR20200118798A (ko) | 전자 디바이스들, 시스템들 및 방법들 | |
CN106775499B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161207 |
|
WD01 | Invention patent application deemed withdrawn after publication |