数据处理方法、装置及存储介质制造方法及图纸

技术编号:18083443 阅读:55 留言:0更新日期:2018-05-31 12:05
本发明专利技术实施例公开了一种数据处理方法、装置及存储介质;其中,方法包括:将云端文件系统的存储目录挂载到客户端文件系统的挂载点;接收到所述客户端针对所述挂载点的文件发送的数据写入请求时,对所述数据写入请求进行缓存处理;根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求;将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置。

【技术实现步骤摘要】
数据处理方法、装置及存储介质
本专利技术涉及数据处理技术,尤其涉及一种数据处理方法、装置及存储介质。
技术介绍
随着用户对数据存储方式的读写速度、共享方面的要求越来越高,对象存储应运而生,对象存储因其同时兼具存储区域网络(SAN,StorageAreaNetwork)高速直接访问磁盘的特点,以及网络附加存储(NAS,NetworkAttachedStorage)的分布式共享特点,而成为当下数据存储中的研究热点。对象存储中的一种数据写入方式为:采用http协议,通过对象存储的应用程序接口(API,ApplicationProgrammingInterface)来进行,然而通过API进行数据写入的开发成本高、开发难度大。相关技术中还采用的一种数据写入方式是,通过-osync的方式进行挂载,然而,由于这种数据写入方式只支持同步写的方式,即客户端发送数据写入请求后,服务器基于该请求进行数据写入并给予客户端以响应,客户端在接收到响应后才可发送下一个数据写入请求,导致了数据写入性能很低。
技术实现思路
有鉴于此,本专利技术实施例期望提供一种数据处理方法、装置及存储介质,能够提高数据写入的性能。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供一种数据处理方法,所述方法包括:将云端文件系统的存储目录挂载到客户端文件系统的挂载点;接收到所述客户端针对所述挂载点的文件发送的数据写入请求时,对所述数据写入请求进行缓存处理;根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求;将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置。第二方面,本专利技术实施例提供一种数据处理装置,所述装置包括:挂载单元,用于将云端文件系统的存储目录挂载到客户端文件系统的挂载点;缓存单元,用于接收到所述客户端针对所述挂载点的文件发送的数据写入请求时,对所述数据写入请求进行缓存处理;选取单元,用于根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求;存储单元,用于将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置。第三方面,本专利技术实施例提供一种数据处理装置,所述装置包括:存储器,用于存储可执行程序;处理器,用于执行所述存储器中存储的可执行程序时,实现上述的数据处理方法。第四方面,本专利技术实施例提供一种存储介质,存储有可执行程序,所述可执行程序被处理器执行时,实现上述的数据处理方法。应用本专利技术上述实施例具有以下有益效果:1),由于对云端文件系统的存储目录的挂载无需使用-osync的方式,同时对接收的数据写入请求进行缓存处理,使得客户端可以同时发送多个数据写入请求,无需在接收到对应发出的一个数据写入请求的响应后再发送下一个数据写入请求,进而提高数据写入效率;2),将符合数据连续性条件的数据写入请求所写入的数据,持久化存储至云端文件系统中文件的存储位置,使得在文件的存储位置可以实现连续的多个数据写入请求所写入数据的一次性写入,大大提高了数据写入性能。附图说明图1为本专利技术实施例提供的对象存储系统的目录结构示意图;图2为本专利技术实施例提供的NFS-Server分享目录与客户端挂载示意图;图3为本专利技术实施例提供的数据处理系统的架构示意图;图4为本专利技术实施例提供的数据处理方法的一个可选的流程示意图;图5为本专利技术实施例提供的数据缓存层的结构示意图;图6A为本专利技术实施例提供的数据处理方法的一个可选的流程示意图;图6B为本专利技术实施例提供的数据处理方法的一个可选的流程示意图;图7所示为本专利技术实施例提供的数据处理装置的组成结构示意图;图8为本专利技术实施例提供的数据处理装置的一个可选的硬件结构示意图。具体实施方式以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本专利技术,并不用于限定本专利技术。另外,以下所提供的实施例是用于实施本专利技术的部分实施例,而非提供实施本专利技术的全部实施例,在不冲突的情况下,本专利技术实施例记载的技术方案可以任意组合的方式实施。需要说明的是,在本专利技术实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。例如,本专利技术实施例提供的数据处理方法包含了一系列的步骤,但是本专利技术实施例提供的数据处理方法不限于所记载的步骤,同样地,本专利技术实施例提供的数据处理装置包括了一系列单元,但是本专利技术实施例提供的装置不限于包括所明确记载的单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。对本专利技术实施例进行详细说明之前,对本专利技术实施例中涉及的名词和术语进行说明,本专利技术实施例中涉及的名词和术语适用于如下的解释。1)挂载,指将存储设备或存储介质(如云端文件系统)的存储目录(根目录或根目录下的子目录)挂接到一个已存在的目录(如客户端本地的目录)上,以通过访问这个已存在的目录来访问存储设备。2)挂载点,指的是在执行了上述挂载的操作后,挂接的已存在的目录,作为访问存储设备的入口,类似于windows中的用来访问不同分区的C:、D:、E:等盘符。3)偏移量,把存储单元的实际地址与其所在段的段地址之间的数据长度称为偏移量。4)数据分片,将一个文件划分为数据量大小基本一致的多组数据,每组数据即为一个数据分片。5)线程池,一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。6)云端文件系统,处于云端的用于存储文件的存储设备,如对象存储系统(Object-BasedStorageSystem)中的存储桶(bucket)。7)持久化,是将程序数据在持久状态和瞬时状态间转换的机制,即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。接下来对本专利技术实施例中涉及的对象存储系统及网络文件系统服务器(NFS-Server,NetworkFileSystem-Server)进行说明。对象存储也就是通常意义的键值存储,以S3为例,主要接口有PUT/GET/DELETE等。对象存储系统采用的是无层次结构的数据存储方式,通常用于云中,对象存储的基本单元是对象(Object)/文件,基于对象的存储不使用目录树,而是存在于平面地址空间内,为了规避采用树形目录时,设备损坏或扩容时需要将巨型目录树中的数据重新分配均衡问题,对象存储系统采用扁平目录结构,参见图1,图1为本专利技术实施例提供的对象存储系统的目录结构示意图,对象存储系统的目录结构相较于树形目录来说大幅简化,只保留二级目录结构,根目录下直接就是存储桶(对应Windows下的文件夹),存储桶中直接存放对象(对应Windows下的文件),桶中不能再建桶(禁止多层文件夹),这样以来,元数据结构十分简单,移动方便。NFS-Server可以看作一个文件服务器,它可以通过本文档来自技高网...
数据处理方法、装置及存储介质

【技术保护点】
一种数据处理方法,其特征在于,所述方法包括:将云端文件系统的存储目录挂载到客户端文件系统的挂载点;接收到所述客户端针对所述挂载点的文件发送的数据写入请求时,对所述数据写入请求进行缓存处理;根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求;将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置。

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:将云端文件系统的存储目录挂载到客户端文件系统的挂载点;接收到所述客户端针对所述挂载点的文件发送的数据写入请求时,对所述数据写入请求进行缓存处理;根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求;将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置。2.如权利要求1所述的方法,其特征在于,所述对所述数据写入请求进行缓存处理,包括:响应于所述客户端针对所述挂载点的文件发送的数据写入请求为多个,获取接收的各所述数据写入请求所写入数据的偏移量;根据偏移量的大小对接收的所述数据写入请求进行排序;根据排序结果,顺序缓存所接收的多个数据写入请求。3.如权利要求1所述的方法,其特征在于,所述根据缓存的所述数据写入请求所写入数据的特征,选取符合数据连续性条件的数据写入请求,包括:确定缓存的各所述数据写入请求所写入数据的偏移量及长度;根据各所述数据写入请求所写入数据的偏移量及长度,从缓存的所述数据写入请求中,选取所写入的数据构成所述文件的一个数据分片的N个数据写入请求;N为不小于2的正整数。4.如权利要求3所述的方法,其特征在于,根据各所述数据写入请求所写入数据的偏移量及长度,从缓存的所述数据写入请求中,选取所写入的数据构成所述文件的一个数据分片的N个数据写入请求,包括:获取缓存的各所述数据写入请求的数据的长度;计算缓存的所述数据写入请求中,每个数据写入请求所写入数据的偏移量及长度的和;从缓存的所述数据写入请求中,选取数据写入请求的数据长度之和超过第一数据阈值的满足以下条件的N个数据写入请求:第N-1个数据写入请求所写入数据的偏移量及长度的和等于第N个数据写入请求所写入数据的偏移量。5.如权利要求3所述的方法,其特征在于,所述选取所写入的数据构成所述文件的一个数据分片的N个数据写入请求之前,还包括:获取已经选取的所述文件的数据写入请求的信息;确定已经选取的所述文件的数据写入请求中,存在与所述N个数据写入请求相连续的数据写入请求。6.如权利要求5所述的方法,其特征在于,所述确定已经选取的所述文件的数据写入请求中,存在与所述N个数据写入请求相连续的数据写入请求,包括:响应于已经选取的所述文件的数据写入请求为空,获取所述N个数据写入请求中第一个数据写入请求所写入数据的偏移量;若所述第一个数据写入请求所写入数据的偏移量为零,确定已经选取的所述文件的数据写入请求中,存在与所述N个数据写入请求相连续的数据写入请求。7.如权利要求5所述的方法,其特征在于,所述确定已经选取的所述文件的数据写入请求中,存在与所述N个数据写入请求相连续的数据写入请求,包括:响应于已经选取的所述文件的数据写入请求为K个连续的数据写入请求,确定所述K个连续的数据写入请求中,第K个数据写入请求所写入数据的偏移量及长度的和;若所述N个数据写入请求中第一个数据写入请求所写入数据的偏移量等于所述第K个数据写入请求所写入数据的偏移量及长度的和,确定已经选取的所述文件的数据写入请求中,存在与所述N个数据写入请求相连续的数据写入请求。8.如权利要求1所述的方法,其特征在于,所述将所述符合数据连续性条件的数据写入请求所写入的数据,持久化存储至所述云端文件系统中所述文件的存储位置,包括:将所述符合数据连续性条件的数据写入请求加入线程池,上传所述数据写入请求所写入的数据至所述云端文件系统中所述文件的存储位置;所述线程池每次上传的数据长度,等于所述符合数据连续性条件的数据写入请求所写入的数据长度。9.如权利要求1所述的方法,其特征在于,所述方法还包括:计算缓存的所述数据写入请求的数据长度之和;确定缓存的所述数据写入请求的数据长度之和超过第二数据阈值时,删除缓存的所述数据写入请求,并发送错误指示给所述客户端。10.如权利要求1所述的方法,其特征在于,所述方法还包括:计算缓存的所述数据写入请求的数据长度之和;确定缓存的所述数据写入请求的数据长度之和超过第二数据阈值时,根据缓存的所述数据写入请求所写入数据的偏移量,逐一将缓存...

【专利技术属性】
技术研发人员:姚宗友
申请(专利权)人:腾讯科技深圳有限公司腾讯云计算北京有限责任公司
类型:发明
国别省市:广东,44

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

1