CN112684985B - 一种数据的写入方法和装置 - Google Patents
一种数据的写入方法和装置 Download PDFInfo
- Publication number
- CN112684985B CN112684985B CN202110003098.6A CN202110003098A CN112684985B CN 112684985 B CN112684985 B CN 112684985B CN 202110003098 A CN202110003098 A CN 202110003098A CN 112684985 B CN112684985 B CN 112684985B
- Authority
- CN
- China
- Prior art keywords
- data
- writing
- target
- target data
- write
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000008569 process Effects 0.000 claims description 51
- 238000004364 calculation method Methods 0.000 claims description 31
- 230000004044 response Effects 0.000 claims description 15
- 238000012217 deletion Methods 0.000 claims description 7
- 230000037430 deletion Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据的写入方法和装置,涉及云计算领域。其中,该方法包括:获取数据写入任务,其中,数据写入任务用于将目标数据写入到对象存储的目标目录中;为目标数据创建写入标识,其中,写入标识用于指示目标数据不允许被操作;控制写入任务将目标数据写入对象存储的目标目录;在确定目标数据写入完成的情况下,删除写入标识。本申请解决了数据写入对象存储的效率较低的技术问题。
Description
技术领域
本申请涉及计算机领域,尤其公开了一种数据的写入方法和装置。
背景技术
在大数据生态中,大数据组件使用系统提供的接口将数据写到文件中,对象存储是云计算大数据场景中普遍使用的一种共享存储,大数据任务使用对象存储提供的接口将数据写入到对象存储中。在大数据场景中,为提升数据写入速度,并保证任务的最终数据完整性,需要首先将计算结果等数据写入临时文件中,待所有数据写入完成后,再将所有写入的临时文件移动到最终目录下。而对象存储移动文件是非常耗时的行为,因此上述移动文件操作成为整个写数据任务的性能瓶颈。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种数据的写入方法和装置,以至少解决相关技术中数据写入对象存储的效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种数据的写入方法,包括:获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;在确定所述目标数据写入完成的情况下,删除所述写入标识。
可选地,为所述目标数据创建写入标识包括:将所述数据写入任务拆分为多个工作单元,其中,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,其中,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作。
可选地,控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录包括:在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
可选地,在确定所述目标数据写入完成的情况下,删除所述写入标识包括:在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;删除所述对象存储中的多个写入标识文件。
可选地,获取所述数据写入任务包括:获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;为所述数据计算过程生成所述数据写入任务。
可选地,在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,所述方法还包括:接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;检测到所述目标数据与所述写入标识具有对应关系;响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
根据本申请实施例的另一方面,还提供了一种数据的写入装置,包括:获取模块,用于获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;创建模块,用于为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;控制模块,用于控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;删除模块,用于在确定所述目标数据写入完成的情况下,删除所述写入标识。
可选地,所述创建模块包括:拆分单元,用于将所述数据写入任务拆分为多个工作单元,其中,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;第一创建单元,用于在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,其中,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作。
可选地,所述控制模块包括:第二创建单元,用于在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;控制单元,用于控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
可选地,所述删除模块包括:确定单元,用于在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;删除单元,用于删除所述对象存储中的多个写入标识文件。
可选地,所述获取模块包括:获取单元,用于获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;生成单元,用于为所述数据计算过程生成所述数据写入任务。
可选地,所述装置还包括:接收模块,用于在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;检测模块,用于检测到所述目标数据与所述写入标识具有对应关系;发送模块,用于响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,采用获取数据写入任务,其中,数据写入任务用于将目标数据写入到对象存储的目标目录中;为目标数据创建写入标识,其中,写入标识用于指示目标数据不允许被操作;控制写入任务将目标数据写入对象存储的目标目录;在确定目标数据写入完成的情况下,删除写入标识的方式,通过为待写入对象存储的目标目录的目标数据创建写入标识,使得目标数据在写入对象存储的过程中不允许被操作,然后将目标数据直接写入到对象存储的目标目录中,写入完成后删除写入标识,标识的创建和删除操作相比于文件的移动操作速度要快得多,从而使得数据的写入过程不再经过中间临时文件,避免了耗时较长的文件移动操作,在保证数据完整性的同时达到了降低数据写入过程消耗时长的目的,从而实现了提高数据写入对象存储的效率的技术效果,进而解决了数据写入对象存储的效率较低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例的数据的写入方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的数据的写入方法的流程图;
图3是根据本申请可选实施例的一种数据写入对象存储过程的示意图;
图4是根据本申请实施例的一种可选的数据的写入装置的示意图;
图5是根据本申请实施例的一种电子装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例的一方面,提供了一种数据的写入的方法实施例。
可选地,在本实施例中,上述数据的写入方法可以应用于如图1所示的由数据处理服务器101和对象存储服务器103所构成的硬件环境中。如图1所示,数据处理服务器101通过网络与对象存储服务器103进行连接,对象存储服务器103可用于为数据处理服务器101提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网。本申请实施例的数据的写入方法可以由数据处理服务器101来执行。
图2是根据本申请实施例的一种可选的数据的写入方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
步骤S204,为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;
步骤S206,控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
步骤S208,在确定所述目标数据写入完成的情况下,删除所述写入标识。
通过上述步骤S202至步骤S208,通过为待写入对象存储的目标目录的目标数据创建写入标识,使得目标数据在写入对象存储的过程中不允许被操作,然后将目标数据直接写入到对象存储的目标目录中,写入完成后删除写入标识,标识的创建和删除操作相比于文件的移动操作速度要快得多,从而使得数据的写入过程不再经过中间临时文件,避免了耗时较长的文件移动操作,在保证数据完整性的同时达到了降低数据写入过程消耗时长的目的,从而实现了提高数据写入对象存储的效率的技术效果,进而解决了数据写入对象存储的效率较低的技术问题。
可选地,在本实施例中,上述数据的写入方法可以但不限于应用于通过大数据组件(比如hadoop/spark等)通过大数据系统提供的接口(比如hadoop提供的接口)将数据写入到对象存储的场景中。
在步骤S202提供的技术方案中,上述数据写入任务可以但不限于为hadoop任务(即hadoop中的Job)。
可选地,在本实施例中,目标数据可以但不限于为任何需要写入到对象存储中的数据。比如:目标数据可以但不限于包括:数据计算使用的原数据,数据计算得到的计算结果等等。
在上述步骤S202中,可以但不限于通过以下方式获取数据写入任务:
S11,获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;
S12,为所述数据计算过程生成所述数据写入任务。
可选地,在本实施例中,目标数据可以但不限于为执行数据计算过程得到的数据计算结果,将当前执行的数据计算过程中得到的数据计算结果通过生成的数据写入任务写入到对象存储的目标目录中。
在步骤S204提供的技术方案中,写入标识的形式可以但不限于包括:文件,标签,指针等等。写入标识用于指示目标数据不允许被操作,也就是说,具有写入标识的数据对于外界是不可见的,通过写入标识可以保证目标数据在写入过程中不会被用户查询到,只有在写入完成删除了写入标识后用户才能看到目标数据并操作目标数据,从而保证了目标数据的完整性。
在上述步骤S204中,可以但不限于通过以下方式创建写入标识:
S21,将所述数据写入任务拆分为多个工作单元,其中,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;
S22,在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,其中,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作。
可选地,在本实施例中,每个工作单元可以但不限于为一个hadoop中的task,用于对写入操作进行分片处理,从而提高数据写入的效率。
可选地,在本实施例中,为每个工作单元创建一个对应的写入标识文件,从而保证每个工作单元负责写入的子数据在数据写入的过程中不允许被操作。写入标识文件的文件名可以为固定格式的命名,文件名中可以但不限于包括对应工作单元的标识和用于指示该文件为写入标识文件的标识。
例如:每个工作单元task写入数据的过程中对象存储中的目录结构可以但不限于为如下的形式:
其中,job_dest_dir即为目标目录,也就是对象存储中存储目标数据的最终目录。task_1.invisible_tag是task_1对应的写入标识文件,task_2.invisible_tag是task_2对应的写入标识文件。
可选地,在本实施例中,每个写入标识文件可以但不限于为空文件,也可以是有数据内容的文件。如果写入标识文件为空文件,则可以减少存储资源的消耗。数据写入过程中的所有对目标数据执行的操作均可以指向写入标识文件,由于写入标识文件固定格式的命名,因此使得对目标数据执行的操作无法在写入标识文件上进行,从而阻止了在数据写入过程中对数据的读写操作。
在步骤S206提供的技术方案中,写入任务直接将目标数据写入到对象存储的目标目录中,也就是直接将目标数据写入到最终目录中,从而使得数据写入过程不再经过中间临时文件,用耗时较少的写入标识的创建和删除过程替代了耗时较多的中间临时文件的移动过程,提高了数据写入的效率,极大地提高了数据写入对象存储的性能。
在上述步骤S206中,可以但不限于通过以下方式将目标数据写入对象存储的目标目录:
S31,在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;
S32,控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
可选地,在本实施例中,多个工作单元可以分发到集群不同节点上执行,每一个工作单元将分片计算结果数据写入到目标目录下创建的该工作单元对应的存储文件中。从而得到完整的目标数据。
作为一种可选的实施例,在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,还包括:
S41,接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;
S42,检测到所述目标数据与所述写入标识具有对应关系;
S43,响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
可选地,在本实施例中,如果在数据写入的过程中接收到对目标数据进行目标操作的操作指令,则可以检测到目标数据是与写入标识具有对应关系,也就表示目标数据是不允许被操作的数据,可以响应于操作指令发送用于指示所述目标数据不可用的响应信息。从而使得目标数据在写入过程中不会被修改或者使用,保证数据的完整性。
在步骤S208提供的技术方案中,目标数据写入完成后直接将写入标识删除掉,从而使得目标数据允许被操作。
在上述步骤S208中,在确定所述目标数据写入完成的情况下,删除所述写入标识包括:
S51,在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;
S52,删除所述对象存储中的多个写入标识文件。
可选地,在本实施例中,对于拆分为多个工作单元进行写入操作的情况,可以认为只有全部的工作单元均完成了数据写入操作目标数据才写入完成,进而将对象存储中为多个工作单元创建的多个写入标识文件全部删除,使得目标数据可以被操作。
例如:数据写入任务完成后目标目录中的目录结构可以但不限于为如下形式:
本申请还提供了一种可选实施例,该可选实施例提供了一种hadoop任务直接写对象存储的过程,图3是根据本申请可选实施例的一种数据写入对象存储过程的示意图,如图3所示,进行job任务(即数据写入任务)的初始化,任务初始化过程可以但不限于包括创建上述job_dest_dir文件,然后job任务拆分为多个task,并行开始每个task,每一个task将数据直接写入最终目录下,写入过程中创建空文件作为task的写入标识文件,当有task写入标识文件存在时,表示该task的存储文件对外界不可见,此时用户使用hadoop list文件命令无法查询到该task写入的数据文件。当全部task写入完成后,删除task的写入标识文件,此时用户使用hadoop list文件命令才可以查询到全部写入结果,从而保证了hadoop任务写对象存储的数据完整性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台电子设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述数据的写入方法的数据的写入装置。图4是根据本申请实施例的一种可选的数据的写入装置的示意图,如图4所示,该装置可以包括:
获取模块42,用于获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
创建模块44,用于为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;
控制模块46,用于控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
删除模块48,用于在确定所述目标数据写入完成的情况下,删除所述写入标识。
需要说明的是,该实施例中的获取模块42可以用于执行本申请实施例中的步骤S202,该实施例中的创建模块44可以用于执行本申请实施例中的步骤S204,该实施例中的控制模块46可以用于执行本申请实施例中的步骤S206,该实施例中的删除模块48可以用于执行本申请实施例中的步骤S208。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,通过为待写入对象存储的目标目录的目标数据创建写入标识,使得目标数据在写入对象存储的过程中不允许被操作,然后将目标数据直接写入到对象存储的目标目录中,写入完成后删除写入标识,标识的创建和删除操作相比于文件的移动操作速度要快得多,从而使得数据的写入过程不再经过中间临时文件,避免了耗时较长的文件移动操作,在保证数据完整性的同时达到了降低数据写入过程消耗时长的目的,从而实现了提高数据写入对象存储的效率的技术效果,进而解决了数据写入对象存储的效率较低的技术问题。
作为一种可选的实施例,所述创建模块包括:
拆分单元,用于将所述数据写入任务拆分为多个工作单元,其中,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;
第一创建单元,用于在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,其中,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作。
作为一种可选的实施例,所述控制模块包括:
第二创建单元,用于在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;
控制单元,用于控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
作为一种可选的实施例,所述删除模块包括:
确定单元,用于在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;
删除单元,用于删除所述对象存储中的多个写入标识文件。
作为一种可选的实施例,所述获取模块包括:
获取单元,用于获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;
生成单元,用于为所述数据计算过程生成所述数据写入任务。
作为一种可选的实施例,所述装置还包括:
接收模块,用于在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;
检测模块,用于检测到所述目标数据与所述写入标识具有对应关系;
发送模块,用于响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述数据的写入方法的电子装置。
图5是根据本申请实施例的一种电子装置的结构框图,如图5所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器501、存储器503、以及传输装置505,如图5所示,该电子装置还可以包括输入输出设备507。
其中,存储器503可用于存储软件程序以及模块,如本申请实施例中的数据的写入方法和装置对应的程序指令/模块,处理器501通过运行存储在存储器503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据的写入方法。存储器503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器503可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器503用于存储应用程序。
处理器501可以通过传输装置505调用存储器503存储的应用程序,以执行下述步骤:
获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;
控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
在确定所述目标数据写入完成的情况下,删除所述写入标识。
采用本申请实施例,提供了一种数据的写入的方案。通过为待写入对象存储的目标目录的目标数据创建写入标识,使得目标数据在写入对象存储的过程中不允许被操作,然后将目标数据直接写入到对象存储的目标目录中,写入完成后删除写入标识,标识的创建和删除操作相比于文件的移动操作速度要快得多,从而使得数据的写入过程不再经过中间临时文件,避免了耗时较长的文件移动操作,在保证数据完整性的同时达到了降低数据写入过程消耗时长的目的,从而实现了提高数据写入对象存储的效率的技术效果,进而解决了数据写入对象存储的效率较低的技术问题。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等电子设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行数据的写入方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;
控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
在确定所述目标数据写入完成的情况下,删除所述写入标识。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种数据的写入方法,其特征在于,包括:
获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
为所述目标数据创建写入标识:将所述数据写入任务拆分为多个工作单元,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作,其中,所述写入标识用于指示所述目标数据不允许被操作;
控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
在确定所述目标数据写入完成的情况下,删除所述写入标识。
2.根据权利要求1所述的方法,其特征在于,控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录包括:
在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;
控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
3.根据权利要求1所述的方法,其特征在于,在确定所述目标数据写入完成的情况下,删除所述写入标识包括:
在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;
删除所述对象存储中的多个写入标识文件。
4.根据权利要求1所述的方法,其特征在于,获取所述数据写入任务包括:
获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;
为所述数据计算过程生成所述数据写入任务。
5.根据权利要求1所述的方法,其特征在于,在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,所述方法还包括:
接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;
检测到所述目标数据与所述写入标识具有对应关系;
响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
6.一种数据的写入装置,其特征在于,包括:
获取模块,用于获取数据写入任务,其中,所述数据写入任务用于将目标数据写入到对象存储的目标目录中;
创建模块,用于为所述目标数据创建写入标识,其中,所述写入标识用于指示所述目标数据不允许被操作;
控制模块,用于控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录;
删除模块,用于在确定所述目标数据写入完成的情况下,删除所述写入标识;
其中,所述创建模块包括:拆分单元,用于将所述数据写入任务拆分为多个工作单元,其中,所述多个工作单元中每个工作单元用于将所述目标数据中的子数据写入到所述目标目录中;第一创建单元,用于在所述对象存储中创建所述多个工作单元中每个工作单元对应的写入标识文件,其中,所述写入标识文件用于指示所述每个工作单元对应的子数据不允许被操作。
7.根据权利要求6所述的装置,其特征在于,所述控制模块包括:
第二创建单元,用于在所述对象存储的目标目录下创建所述每个工作单元对应的数据文件;
控制单元,用于控制所述多个工作单元并行将所述多个工作单元中每个工作单元对应的子数据写入所述每个工作单元对应的数据文件中。
8.根据权利要求6所述的装置,其特征在于,所述删除模块包括:
确定单元,用于在所述多个工作单元全部完成数据写入操作的情况下,确定所述目标数据写入完成;
删除单元,用于删除所述对象存储中的多个写入标识文件。
9.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取当前执行的数据计算过程,其中,所述目标数据为执行所述数据计算过程得到的数据计算结果;
生成单元,用于为所述数据计算过程生成所述数据写入任务。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于在控制所述写入任务将所述目标数据写入所述对象存储的所述目标目录的过程中,接收操作指令,其中所述操作指令用于指示对所述目标数据进行目标操作;
检测模块,用于检测到所述目标数据与所述写入标识具有对应关系;
发送模块,用于响应于所述操作指令发送响应信息,其中,所述响应信息用于指示所述目标数据不可用。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至5任一项中所述的方法。
12.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003098.6A CN112684985B (zh) | 2021-01-04 | 2021-01-04 | 一种数据的写入方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110003098.6A CN112684985B (zh) | 2021-01-04 | 2021-01-04 | 一种数据的写入方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112684985A CN112684985A (zh) | 2021-04-20 |
CN112684985B true CN112684985B (zh) | 2024-04-05 |
Family
ID=75457017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110003098.6A Active CN112684985B (zh) | 2021-01-04 | 2021-01-04 | 一种数据的写入方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112684985B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
CN103942120A (zh) * | 2014-04-02 | 2014-07-23 | 南京鼎岩信息科技有限公司 | 一种基于虚拟化技术的读写方法及系统 |
CN109614373A (zh) * | 2018-11-21 | 2019-04-12 | 安徽云融信息技术有限公司 | 一种小文件存储架构的存储和读取方法 |
CN111078653A (zh) * | 2019-10-29 | 2020-04-28 | 厦门网宿有限公司 | 一种数据存储方法、系统及设备 |
CN111090618A (zh) * | 2019-10-29 | 2020-05-01 | 厦门网宿有限公司 | 一种数据读取方法、系统及设备 |
CN111782135A (zh) * | 2019-06-14 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 数据存储方法、系统、数据节点和计算机可读存储介质 |
CN111831618A (zh) * | 2020-07-21 | 2020-10-27 | 北京青云科技股份有限公司 | 数据写入方法、数据读取方法、装置、设备及存储介质 |
-
2021
- 2021-01-04 CN CN202110003098.6A patent/CN112684985B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814554B1 (en) * | 2003-11-06 | 2010-10-12 | Gary Dean Ragner | Dynamic associative storage security for long-term memory storage devices |
CN103942120A (zh) * | 2014-04-02 | 2014-07-23 | 南京鼎岩信息科技有限公司 | 一种基于虚拟化技术的读写方法及系统 |
CN109614373A (zh) * | 2018-11-21 | 2019-04-12 | 安徽云融信息技术有限公司 | 一种小文件存储架构的存储和读取方法 |
CN111782135A (zh) * | 2019-06-14 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 数据存储方法、系统、数据节点和计算机可读存储介质 |
CN111078653A (zh) * | 2019-10-29 | 2020-04-28 | 厦门网宿有限公司 | 一种数据存储方法、系统及设备 |
CN111090618A (zh) * | 2019-10-29 | 2020-05-01 | 厦门网宿有限公司 | 一种数据读取方法、系统及设备 |
CN111831618A (zh) * | 2020-07-21 | 2020-10-27 | 北京青云科技股份有限公司 | 数据写入方法、数据读取方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Complexity-Effective Multicore Coherence;Ros, A et al.;IEEE;全文 * |
基于Hadoop的校园云存储系统的研究;高新成;王莉利;;陕西理工学院学报(自然科学版)(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112684985A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN112433812B (zh) | 一种虚拟机跨集群迁移方法、系统、设备及计算机介质 | |
CN110753084B (zh) | 上链数据读取方法、缓存服务器及计算机可读存储介质 | |
CN113411404A (zh) | 一种文件下载方法、装置、服务器及存储介质 | |
CN112925759B (zh) | 数据文件的处理方法和装置、存储介质、电子装置 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN104899049A (zh) | 一种文件删除方法及其装置 | |
JP7369229B2 (ja) | ミニプログラムページのスキン切り替え方法、装置及び電子機器 | |
US20120324560A1 (en) | Token data operations | |
CN104484132A (zh) | 数据缩减的方法及装置 | |
CN114489690A (zh) | 一种分布式系统部署方法、装置、电子设备及存储介质 | |
CN112667593B (zh) | 一种ETL流程执行hbase快速装载的方法与装置 | |
JP6418419B2 (ja) | ハードディスクがアプリケーションコードを実行するための方法および装置 | |
CN112684985B (zh) | 一种数据的写入方法和装置 | |
CN112416698B (zh) | 监控系统的扩展方法及装置、存储介质及电子设备 | |
CN112631994A (zh) | 数据迁移方法及系统 | |
CN109324931B (zh) | 在重复数据删除系统中实现vmware挂载恢复的方法 | |
CN110708355A (zh) | 一种文件上传的方法、系统、设备及可读存储介质 | |
CN109308288B (zh) | 数据处理方法及装置 | |
CN108052294B (zh) | 一种分布式存储系统的修改写方法和修改写系统 | |
CN115562662A (zh) | 应用页面的创建方法、装置、计算机设备及存储介质 | |
CN104281486A (zh) | 一种虚拟机处理方法和装置 | |
CN109347896B (zh) | 一种信息处理方法、设备和计算机可读存储介质 | |
CN113342836A (zh) | 同步数据处理方法、装置、计算机设备及存储介质 | |
CN114675776A (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 |