[go: up one dir, main page]

CN112947846B - 对象存储系统的批处理任务执行方法、装置及电子设备 - Google Patents

对象存储系统的批处理任务执行方法、装置及电子设备 Download PDF

Info

Publication number
CN112947846B
CN112947846B CN201911269511.2A CN201911269511A CN112947846B CN 112947846 B CN112947846 B CN 112947846B CN 201911269511 A CN201911269511 A CN 201911269511A CN 112947846 B CN112947846 B CN 112947846B
Authority
CN
China
Prior art keywords
file
target
storage space
executable
name
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
CN201911269511.2A
Other languages
English (en)
Other versions
CN112947846A (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 Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201911269511.2A priority Critical patent/CN112947846B/zh
Publication of CN112947846A publication Critical patent/CN112947846A/zh
Application granted granted Critical
Publication of CN112947846B publication Critical patent/CN112947846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及对象存储系统的批处理任务执行方法、装置及电子设备。该方法包括:基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,可执行文件包括文件标识头和至少一个批处理命令;检测文件标识头合法性,以确定可执行文件是否为合法文件;在可执行文件为合法文件的情况下,对目标存储空间的文件执行批处理命令。该方法能够为用户提供简单易行、灵活高效的数据操作方式。

Description

对象存储系统的批处理任务执行方法、装置及电子设备
技术领域
本发明涉及分布式存储领域,更具体地,涉及一种对象存储系统的批处理任务执行方法、一种对象存储系统的批处理任务执行装置以及一种电子设备。
背景技术
对象存储是一种新的网络存储架构,其核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。对象存储系统能够提高存储效率,通过虚拟化技术解决了存储空间的浪费,可以自动重新分配数据,提高存储空间的利用率,同时具备负载均衡、故障冗余功能。
通常由对象存储服务商向用户提供对象存储服务,以低成本、高可靠的方式满足用户的存储需求。但是,在现有的对象存储系统中,当用户想要执行批量操作时,需要用户逐次过滤出文件执行批量操作,如果文件所属的目录较多时操作起来也比较费时费力。
因此,有必要提出新的技术方案以解决现有对象存储系统中存在的问题。
发明内容
本发明的一个目的是提供一种对象存储系统的批处理任务执行的新技术方案。
根据本发明的第一方面,提供了一种对象存储系统的批处理任务执行方法,应用于对象存储系统,包括:
基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,所述可执行文件包括文件标识头和至少一个批处理命令;
检测所述文件标识头合法性,以确定所述可执行文件是否为合法文件;
在所述可执行文件为合法文件的情况下,对所述目标存储空间的文件执行所述批处理命令。
可选地,每个所述批处理命令包括目标文件名、匹配规则、操作类型和操作参数,
所述对所述目标存储空间的文件执行所述批处理命令,包括:
根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件;
对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作。
可选地,所述可执行文件还包括存储空间校验名,所述方法还包括:
在所述对所述目标存储空间的文件执行所述批处理命令之前,检测所述存储空间校验名和所述目标存储空间的名称是否一致;
在所述存储空间校验名和所述目标存储空间的名称一致的情况下,执行所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件的步骤。
可选地,所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件,包括:
在所述目标存储空间中查找文件名与所述目标文件名相同的文件,确定为目标文件。
可选地,所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件,包括:
在所述目标存储空间中查找文件名前缀与所述目标文件名相同的文件,确定为目标文件。
可选地,所述对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作,包括:
将从目标存储空间查找出的至少一个目标文件存入调度队列;
通过调度队列依次获取所述目标文件,以对每个目标文件执行与所述操作类型和所述操作参数对应的操作。
根据本发明的第二方面,提供了一种对象存储系统的批处理任务执行方法,应用于用户终端,包括:
向用户提供用于上传可执行文件和指定目标存储空间的Web控制台;
获取用户通过所述Web控制台上传的可执行文件以及指定的目标存储空间,所述可执行文件包括文件标识头和至少一个批处理命令;
基于所述目标存储空间将所述可执行文件发送至执行本发明第一方面所述方法的对象存储系统。
根据本发明的第三方面,提供了一种对象存储系统的批处理任务执行装置,应用于对象存储系统,包括:
接收模块,用于基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,所述可执行文件包括文件标识头和至少一个批处理命令;
检测模块,用于检测所述文件标识头合法性,以确定所述可执行文件是否为合法文件;
执行模块,用于在所述可执行文件为合法文件的情况下,对所述目标存储空间的文件执行所述批处理命令。
可选地,每个所述批处理命令包括目标文件名、匹配规则、操作类型和操作参数,
所述执行模块包括查找单元和操作单元,
所述查找单元用于根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件;
所述操作单元用于对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作。
可选地,所述可执行文件还包括存储空间校验名,所述检测模块用于:
在所述对所述目标存储空间的文件执行所述批处理命令之前,检测所述存储空间校验名和所述目标存储空间的名称是否一致;
在所述存储空间校验名和所述目标存储空间的名称一致的情况下,执行所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件的步骤。
可选地,所述查找单元用于:
在所述目标存储空间中查找文件名与所述目标文件名相同的文件,确定为目标文件。
可选地,所述查找单元用于:
在所述目标存储空间中查找文件名前缀与所述目标文件名相同的文件,确定为目标文件。
可选地,所述执行模块用于:
将从目标存储空间查找出的至少一个目标文件存入调度队列;
通过调度队列依次获取所述目标文件,以对每个目标文件执行与所述操作类型和所述操作参数对应的操作。
根据本发明的第四方面,提供了一种对象存储系统的批处理任务执行装置,应用于用户终端,包括:
控制台提供模块,用于向用户提供用于上传可执行文件和指定目标存储空间的Web控制台;
获取模块,用于获取用户通过所述Web控制台上传的可执行文件以及指定的目标存储空间,所述可执行文件包括文件标识头和至少一个批处理命令;
发送模块,用于基于所述目标存储空间将所述可执行文件发送至执行本发明第一方面所述方法的对象存储系统。
根据本发明的第五方面,提供了一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的可执行指令,所述处理器执行所述可执行指令以实现本发明第一方面或者第二方面所述的对象存储系统的批处理任务执行方法。
本实施例中对象存储系统的批处理任务执行方法、装置及电子设备,基于特定格式的可执行文件,先对文件标识头进行合法性检测,再对目标存储空间中的文件执行批处理命令,能够从目标存储空间中批量查找目标文件并对其执行相应操作,方便用户批量执行特定操作,无需用户逐个过滤文件,也无需用户通过sdk(Software Development Kit,软件开发工具包)或请求api(Application Programming Interface,应用程序接口)的方式来写代码执行,能够为用户提供简单易行、灵活高效的数据操作方式。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是可用于实现本发明实施例的批处理任务执行系统的示意图。
图2是可用于实现本发明实施例的电子设备的结构示意图。
图3是根据本发明实施例的对象存储系统的批处理任务执行方法的流程图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1示出了可用于实现本发明实施例的批处理任务执行系统的示意图。
如图1所示,本实施例中的批处理任务执行系统1000包括对象存储系统1100和用户终端1200,其中,对象存储系统1100包括服务器Ⅰ、服务器Ⅱ……服务器N等多个服务器。
对象存储系统1100中的多个服务器可进一步分为用于存储数据的存储服务器和用于管理元数据的元数据服务器,例如服务器Ⅱ,Ⅲ……N为存储服务器,服务器Ⅰ为元数据服务器。
对象存储系统1100中的服务器可以是刀片服务器、机架式服务器等,控制也可以是部署在云端的服务器集群,在此不做限定。
用户终端1200是对象存储服务用户的终端设备。用户终端1200例如是台式计算机、笔记本电脑、平板电脑、智能手机等等。
用户终端1200与对象存储系统1100通信连接。这里的通信连接可以是有线连接也可以是无线连接。
批处理任务执行系统1000涉及的电子设备具有如图2所示的电子设备2000的结构。
参见图2,电子设备2000包括处理器2100、存储器2200、接口装置2300、通信装置2400、显示装置2500和输入装置2600。处理器2100例如可以是中央处理器CPU、微控制单元MCU等。存储器2200例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2300例如包括USB接口、串行接口等。通信装置2400例如能够进行有线或无线通信。显示装置2500例如是液晶显示屏。输入装置2600例如可以包括触摸屏、键盘、鼠标、麦克风等。
本领域技术人员应当理解,尽管在图2中示出了电子设备2000的多个装置,但是,批处理任务执行系统1000中的电子设备可以仅涉及其中的部分装置,例如,只涉及处理器2100、存储器2200和通信装置2400。
图1和图2所示的硬件配置仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
<背景描述>
公有云是由云服务提供商控制,用于云服务用户和资源的云部署模式。云服务商构建基础架构,整合资源构建云端虚拟资源池,根据需要分配给多租户使用。我们经常听到或使用的云服务器、云服务器实例等都属于公有云范畴,适合无架设私有云条件或需求的企业和开发者使用。公有云具有非常广泛的边界,用户访问公有云服务的限制很少。目前各公有云厂商提供的对象存储系统,在用户批量执行某个操作时,例如批量删除、批量修改元数据、批量修改文件名、批量导入url上的文件到对象存储系统等等,没有一个统一的可执行操作方式,通常需要用户通过sdk或请求api的方式写代码执行。但是,编写代码一方面相对比较耗时,另一方面对于研发能力不足的用户并不友好。也有一些公有云厂商针对公有云服务提供批量删除功能,但是也需要用户协助将要删除的文件过滤出后,再选中执行删除操作,这种批量删除,对于多个目录下文件或者某个目录下的文件数量较多展示在多页上时,就需要多次执行删除操作,易用性交叉,效率也很低。
本发明为了解决前述至少一个问题,提出了一种对象存储系统的批处理任务执行方法、装置及电子设备,只需用户编写执行脚本,对象存储系统就可以根据用户编写的执行脚本确定出待批处理的文件以及处理方式(批处理命令),进而对待批处理的文件采用脚本中的处理方式(批处理命令)进行处理。这种方式无需用户编写代码,简单易行,对于一些简单操作也不需要再通过编写代码来调用API执行,对用户而言更加友好。
下面,现结合附图对本发明的对象存储系统的批处理任务执行方法进行详细描述。
<方法实施例>
本实施例提供一种对象存储的批处理任务执行方法,应用于图1所示的对象存储系统1100。
如图3所示,该方法包括以下步骤S1100-S1300。
在步骤S1100中,基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,可执行文件包括文件标识头和至少一个批处理命令。
本实施例中,用户通过终端设备向对象存储系统发送按照设定规则编写的可执行文件。可执行文件具有设定的结构,包括文件标识头和至少一个批处理命令。
本实施例中,用户在向对象存储系统发送可执行文件时,指定了用于存储可执行文件的目标存储空间。对象存储系统基于目标存储空间接收用户终端发送的可执行文件,即,对象存储系统接收可执行文件并将其存储在目标存储空间。对象存储系统可以从目标存储空间中读取可执行文件以执行后续步骤。
本实施例中,一个存储空间也可以称为一个“桶”(bucket)。对象存储系统采用基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,从而去除了文件系统中的多层级树形目录结构。用户可以在对象存储系统中创建桶,每个桶具有全局唯一的名称(或者称为标识)。
本实施例中,文件标识头用于标识自身为对象存储系统的可执行文件,或者说,用于声明自身的文件类型。在一个例子中,文件标识头为“!#!:cloud-batch”。对象存储系统可以根据文件标识头识别出文件类型,从而根据相应的规则对文件进行解析和处理。
本实施例中,可执行文件中还包括至少一个批处理命令。每个批处理命令均用于查找特定的目标文件并实现特定的批处理操作。其中,批处理操作例如为删除数据、修改元数据、拉取文件到本地、修改文件名等。
本实施例中,每个批处理命令均包括目标文件名、匹配规则、操作类型和操作参数,其中匹配规则包括完全匹配和前缀匹配。
目标文件名用于指明批处理操作的对象。在一个例子中,目标文件名是经过URL(uniform resource locator,统一资源定位系统)编码后的文件名。目标文件名可以是完整的文件名,也可以是文件名前缀。
匹配规则用于指明批处理操作中待处理文件的文件名和目标文件名的匹配方式。在一个例子中,匹配规则包括完全匹配和前缀匹配。完全匹配是指,目标文件名即要处理的文件名,此时相当于只处理一个文件。前缀匹配是指,在待处理文件的文件名的前缀部分和目标文件名一致的情况下,对待处理文件执行批处理命令。完全匹配的表示式例如是“MATCH”,前缀匹配的表达式例如是“PREFIX”。
操作类型用来指明批处理操作的类型。在一个例子中,操作类型包括删除数据、修改元数据、拉取文件到本地、修改文件名,相应的表达式依次为“DELETE”、“MODIFY_META”、“FETCH”、“MODIFY_NAME”。
操作参数用于指明批处理操作所需的参数,不同的操作类型会对应不同的操作参数。例如,对于修改文件名的操作类型,操作参数为修改后的文件名。对于修改元数据的操作类型,操作参数为修改后的元数据类型等。对于拉取文件到本地的操作类型,操作参数为目标URL。对于删除数据的操作类型,操作参数可以缺省。
在步骤S1200中,检测文件标识头合法性,以确定可执行文件是否为合法文件。
检测文件标识头的合法性,例如是检测文件标识头是否与预设的标识头格式一致。
容易理解,如果文件标识头不合法,则不再执行后续步骤。
在步骤S1300中,在可执行文件为合法文件的情况下,对目标存储空间的文件执行批处理命令。
在一个例子中,对目标存储空间的文件执行批处理命令,包括以下步骤。
首先,根据目标文件名和匹配规则在目标存储空间中进行查找,得到至少一个目标文件。例如,在目标存储空间为bucket0、目标文件名为“abc”、匹配模式为前缀匹配的情况下,在存储空间bucket0中查找所有文件名前缀为“abc”的文件,得到多个目标文件。
本实施例中,在匹配规则为完全匹配的情况下,在目标存储空间中查找文件名与目标文件名相同的文件,确定为目标文件。在匹配规则为前缀匹配的情况下,在目标存储空间中查找文件名前缀与目标文件名相同的文件,确定为目标文件。
其次,根据操作类型和操作参数,对目标文件执行批处理操作。例如,在操作类型为“DELETE”、操作参数缺省的情况下,将上述文件名前缀为“abc”的多个文件全部删除,从而完成对批处理命令的执行。
本实施例中,在批处理命令为多个的情况下,对象存储系统逐个执行批处理命令。
本实施例中对象存储系统的批处理任务执行方法,基于特定格式的可执行文件,先对文件标识头进行合法性检测,再对目标存储空间中的文件执行批处理命令,能够从目标存储空间中批量查找目标文件并对其执行相应操作,方便用户批量执行特定操作,无需用户逐个过滤文件,也无需用户通过sdk或请求api的方式来写代码执行,能够为用户提供简单易行、灵活高效的数据操作方式。
在一个实施例中,可执行文件还包括存储空间校验名,存储空间校验名是可执行文件中声明的存储空间名,起到校验作用。在一个例子中,通过形如“BUCKETNAME:bucket1”的表达式来声明存储空间校验名,该表达式中声明的存储空间校验名为“bucket1”。
相应地,对象存储系统的批处理任务执行方法还包括:在文件标识头合法的情况下,检测存储空间校验名和目标存储空间的名称是否一致;在存储空间校验名和目标存储空间的名称一致的情况下,执行根据目标文件名和匹配规则在目标存储空间中进行查找的步骤。
本实施例中,一方面用户在可执行文件中声明了存储空间校验名(也就是用户希望应用批处理命令的存储空间),另一方面,用户在上传可执行文件时指定了用于存储可执行文件的目标存储空间(也就是实际上应用批处理命令的存储空间)的名称。因此,通过校验上述两种名称是否一致,能够确保实际上应用批处理命令的存储空间与用户希望应用批处理命令的存储空间一致,防止用户将批处理文件上传至错误的存储空间而引起误操作,导致出现不可恢复的数据更改。上述方式有效提高了对象存储系统的批处理任务执行方法的可靠性。
在一个实施例中,基于调度队列执行批处理命令,包括:将从目标存储空间查找出的至少一个目标文件存入调度队列;通过调度队列依次获取目标文件,以对每个目标文件执行与操作类型和操作参数对应的操作。
本实施例中,调度队列是对象存储系统内部的任务队列。对象存储系统中的任务执行程序消费调度队列中与批处理命令相对应的任务,并以多线程方式执行任务。
本实施例中,采用调度队列的方式异步执行批处理命令,能够在批处理任务量较大的情况下减轻设备压力。
以下提供一个本实施例中批处理任务执行方法实施的具体例子。在该例子中,可执行文件的内容如下:
!#!:cloud-batch
BUCKETNAME:bucket1
DELETE object1,PREFIX
MODIFY object2,MATCH,object3
上述可执行文件总共包括四行内容,第一行为文件标识头,第二行为存储空间校验名,第二行以后的每一行为一个批处理命令。每一行批处理命令包括四列内容,依次为操作类型、目标文件名、匹配规则和操作参数(操作类型DELETE对应的操作参数缺省)。
用户通过用户终端将上述可执行文件上传至对象存储系统的存储空间“bucket1”中。对象存储系统接收到该可执行文件后,先检测文件标识头的合法性,通过文件标识头确定文件类型为可执行文件,再检测存储空间校验名的合法性,根据存储空间校验名和可执行文件所在的存储空间的名称均为“bucket1”,判断存储空间校验名合法。之后,对象存储系统逐行解析批处理命令并执行。通过执行命令“DELETE object1,PREFIX”,将前缀为object1的文件全部删除。通过执行命令“MODIFY object2,MATCH,object3”,将文件“object2”的文件名修改为“object3”。
本实施例还提供一种对象存储系统的批处理任务执行方法,应用于图1中的用户终端1200。该方法包括以下步骤S2100-S2300。
在步骤S2100中,向用户提供用于上传可执行文件和指定目标存储空间的Web控制台。
本实施例中,Web(网络)控制台是一种基于Web的用户界面,用户通过Web控制台上传可执行文件以及输入目标存储空间的名称或者标识。
在步骤S2200中,获取用户通过Web控制台上传的可执行文件以及指定的目标存储空间,可执行文件包括文件标识头和至少一个批处理命令。
在步骤S2300中,基于目标存储空间将可执行文件发送至执行前文所描述方法的对象存储系统。
上述步骤S2100-S2300可参见前文对批处理任务执行方法的描述,这里不再赘述。
<装置实施例>
本实施例提供了一种对象存储系统的批处理任务执行装置,应用于对象存储系统,包括接收模块、检测模块和执行模块。
接收模块,用于基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,可执行文件包括文件标识头和至少一个批处理命令。
检测模块,用于检测文件标识头合法性,以确定可执行文件是否为合法文件。
执行模块,用于在可执行文件为合法文件的情况下,对目标存储空间的文件执行批处理命令。
在一个例子中,每个批处理命令包括目标文件名、匹配规则、操作类型和操作参数,执行模块包括查找单元和操作单元,查找单元用于根据目标文件名和匹配规则在目标存储空间中进行查找,得到至少一个目标文件;操作单元用于对至少一个目标文件执行与操作类型和操作参数对应的操作。
在一个例子中,可执行文件还包括存储空间校验名,检测模块用于:在对目标存储空间的文件执行批处理命令之前,检测存储空间校验名和目标存储空间的名称是否一致;在存储空间校验名和目标存储空间的名称一致的情况下,执行根据目标文件名和匹配规则在目标存储空间中进行查找,得到至少一个目标文件的步骤。
在一个例子中,查找单元用于:在目标存储空间中查找文件名与目标文件名相同的文件,确定为目标文件。
在一个例子中,查找单元用于:在目标存储空间中查找文件名前缀与目标文件名相同的文件,确定为目标文件。
在一个例子中,执行模块用于:将从目标存储空间查找出的至少一个目标文件存入调度队列;通过调度队列依次获取目标文件,以对每个目标文件执行与操作类型和操作参数对应的操作。
本实施例还提供了一种对象存储系统的批处理任务执行装置,应用于用户终端,包括控制台提供模块、获取模块和发送模块。
控制台提供模块,用于向用户提供用于上传可执行文件和指定目标存储空间的Web控制台。
获取模块,用于获取用户通过Web控制台上传的可执行文件以及指定的目标存储空间,可执行文件包括文件标识头和至少一个批处理命令。
发送模块,用于基于目标存储空间将可执行文件发送至执行本发明方法实施例中方法的对象存储系统。
<电子设备实施例>
本实施例提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的可执行指令,处理器执行可执行指令以实现本发明方法实施例描述的对象存储系统的批处理任务执行方法。
<批处理任务执行系统实施例>
本实施例提供一种批处理任务执行系统,包括执行本发明方法实施例所描述方法的对象存储系统和执行本发明方法实施例所描述方法的用户终端,对象存储系统和用户终端通信连接。
<可读存储介质实施例>
本实施例提供一种可读存储介质,可读存储介质存储有可执行指令,可执行指令在被处理器调用和执行时,促使处理器实现本发明方法实施例描述的批处理任务执行方法。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (9)

1.一种对象存储系统的批处理任务执行方法,应用于对象存储系统,包括:
基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,所述可执行文件包括文件标识头和至少一个批处理命令,每个所述批处理命令包括目标文件名、匹配规则、操作类型和操作参数;
检测所述文件标识头合法性,以确定所述可执行文件是否为合法文件;
在所述可执行文件为合法文件的情况下,对所述目标存储空间的文件执行所述批处理命令,包括:
根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件;
对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作。
2.根据权利要求1所述的方法,其中,所述可执行文件还包括存储空间校验名,所述方法还包括:
在所述对所述目标存储空间的文件执行所述批处理命令之前,检测所述存储空间校验名和所述目标存储空间的名称是否一致;
在所述存储空间校验名和所述目标存储空间的名称一致的情况下,执行所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件的步骤。
3.根据权利要求1所述的方法,其中,所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件,包括:
在所述目标存储空间中查找文件名与所述目标文件名相同的文件,确定为目标文件。
4.根据权利要求1所述的方法,其中,所述根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件,包括:
在所述目标存储空间中查找文件名前缀与所述目标文件名相同的文件,确定为目标文件。
5.根据权利要求1所述的方法,其中,所述对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作,包括:
将从目标存储空间查找出的至少一个目标文件存入调度队列;
通过调度队列依次获取所述目标文件,以对每个目标文件执行与所述操作类型和所述操作参数对应的操作。
6.一种对象存储系统的批处理任务执行方法,应用于用户终端,包括:
向用户提供用于上传可执行文件和指定目标存储空间的Web控制台;
获取用户通过所述Web控制台上传的可执行文件以及指定的目标存储空间,所述可执行文件包括文件标识头和至少一个批处理命令;
基于所述目标存储空间将所述可执行文件发送至执行权利要求1-5中任一项所述方法的对象存储系统。
7.一种对象存储系统的批处理任务执行装置,应用于对象存储系统,包括:
接收模块,用于基于用户指定的目标存储空间接收用户终端发送的可执行文件,其中,所述可执行文件包括文件标识头和至少一个批处理命令每个所述批处理命令包括目标文件名、匹配规则、操作类型和操作参数;
检测模块,用于检测所述文件标识头合法性,以确定所述可执行文件是否为合法文件;
执行模块,用于在所述可执行文件为合法文件的情况下,对所述目标存储空间的文件执行所述批处理命令,
其中,所述执行模块包括查找单元和操作单元,所述查找单元用于根据所述目标文件名和所述匹配规则在所述目标存储空间中进行查找,得到至少一个目标文件;所述操作单元用于对所述至少一个目标文件执行与所述操作类型和所述操作参数对应的操作。
8.一种对象存储系统的批处理任务执行装置,应用于用户终端,包括:
控制台提供模块,用于向用户提供用于上传可执行文件和指定目标存储空间的Web控制台;
获取模块,用于获取用户通过所述Web控制台上传的可执行文件以及指定的目标存储空间,所述可执行文件包括文件标识头和至少一个批处理命令;
发送模块,用于基于所述目标存储空间将所述可执行文件发送至执行权利要求1-5中任一项所述方法的对象存储系统。
9.一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的可执行指令,所述处理器执行所述可执行指令以实现权利要求1至6中任一项所述的对象存储系统的批处理任务执行方法。
CN201911269511.2A 2019-12-11 2019-12-11 对象存储系统的批处理任务执行方法、装置及电子设备 Active CN112947846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911269511.2A CN112947846B (zh) 2019-12-11 2019-12-11 对象存储系统的批处理任务执行方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911269511.2A CN112947846B (zh) 2019-12-11 2019-12-11 对象存储系统的批处理任务执行方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112947846A CN112947846A (zh) 2021-06-11
CN112947846B true CN112947846B (zh) 2024-08-13

Family

ID=76234252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911269511.2A Active CN112947846B (zh) 2019-12-11 2019-12-11 对象存储系统的批处理任务执行方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112947846B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595156A (zh) * 2018-04-26 2018-09-28 宁波银行股份有限公司 一种基于Impala组件的批处理方法及系统
CN110287264A (zh) * 2019-06-28 2019-09-27 北京百度网讯科技有限公司 分布式数据库的数据批量更新方法、装置以及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291595A (en) * 1989-05-22 1994-03-01 Martins Augusto B Batch/application program processing
US20080065581A1 (en) * 2006-08-28 2008-03-13 Keohane Susann M Method, System, and Program Product for Shell Executable Search Path Optimization
CN101464901B (zh) * 2009-01-16 2012-03-21 华中科技大学 一种对象存储设备中的对象查找方法
CN101795293A (zh) * 2010-01-27 2010-08-04 浪潮(北京)电子信息产业有限公司 一种文件的下载方法、系统及发送装置、检测装置
CN101944185A (zh) * 2010-09-03 2011-01-12 深圳市江波龙电子有限公司 一种智能存储设备读写方法、装置及智能存储设备
CN103379148A (zh) * 2012-04-19 2013-10-30 北京智慧风云科技有限公司 一种云计算器及其处理文件的方法
US9798878B1 (en) * 2015-03-31 2017-10-24 Symantec Corporation Systems and methods for detecting text display manipulation attacks
CN108256118B (zh) * 2018-02-13 2023-09-22 腾讯科技(深圳)有限公司 数据处理方法、装置、系统、计算设备以及存储介质
CN108491475B (zh) * 2018-03-08 2020-03-31 平安科技(深圳)有限公司 数据快速批量导入方法、电子装置及计算机可读存储介质
CN109803006A (zh) * 2019-01-04 2019-05-24 福建天泉教育科技有限公司 分布式文件系统下的多文件批量打包方法、存储介质
CN109766317B (zh) * 2019-01-08 2022-04-22 浪潮电子信息产业股份有限公司 一种文件的删除方法、装置、设备及存储介质
CN109739815B (zh) * 2019-01-10 2021-08-17 北京达佳互联信息技术有限公司 文件处理方法、系统、装置、设备及存储介质
CN110196722B (zh) * 2019-05-07 2023-11-28 平安科技(深圳)有限公司 云主机批量管理方法、系统、设备及存储介质
CN110286910B (zh) * 2019-06-28 2023-08-01 百度在线网络技术(北京)有限公司 文件移植方法、装置、设备和存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595156A (zh) * 2018-04-26 2018-09-28 宁波银行股份有限公司 一种基于Impala组件的批处理方法及系统
CN110287264A (zh) * 2019-06-28 2019-09-27 北京百度网讯科技有限公司 分布式数据库的数据批量更新方法、装置以及系统

Also Published As

Publication number Publication date
CN112947846A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
US9990209B2 (en) Digital assistance device for facilitating multi-stage setup
WO2018072634A1 (zh) 应用程序处理方法和装置
US10956239B1 (en) Utilizing source context and classification in a copy operation
CN114528269A (zh) 用于处理数据的方法、电子设备和计算机程序产品
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
US10120661B2 (en) Multi-flavored software execution from a singular code base
CN113656041A (zh) 数据处理方法、装置、设备及存储介质
CN113342450A (zh) 页面处理的方法、装置、电子设备及计算机可读介质
US20220180044A1 (en) Automatic delineation and extraction of tabular data in portable document format using graph neural networks
CN110647327B (zh) 基于卡片的用户界面动态控制的方法和装置
CN111831320A (zh) 插件管理方法、装置、电子设备及存储介质
CN111597112B (zh) 自动测试方法、装置及电子设备
CN113326079A (zh) 服务版本切换方法、切换装置、电子设备和存储介质
CN112966201A (zh) 对象处理方法、装置、电子设备以及存储介质
CN112947846B (zh) 对象存储系统的批处理任务执行方法、装置及电子设备
CN115080114B (zh) 应用程序的移植处理方法、装置和介质
US12001458B2 (en) Multi-cloud object store access
CN113535221A (zh) 应用版本管理的方法和装置
CN110554892A (zh) 信息获取方法和装置
US11099969B2 (en) Estimating the number of coding styles by analyzing source code
CN113495651B (zh) 一种窗口控制方法和装置
CN110874302A (zh) 一种埋点配置信息的确定方法和装置
CN112905164B (zh) 一种项目代码处理方法和装置
US20120204159A1 (en) Methods and System for Managing Assets in Programming Code Translation
CN113918254A (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