CN111857592A - 基于对象存储***的数据存储方法及装置、电子设备 - Google Patents

基于对象存储***的数据存储方法及装置、电子设备 Download PDF

Info

Publication number
CN111857592A
CN111857592A CN202010705650.1A CN202010705650A CN111857592A CN 111857592 A CN111857592 A CN 111857592A CN 202010705650 A CN202010705650 A CN 202010705650A CN 111857592 A CN111857592 A CN 111857592A
Authority
CN
China
Prior art keywords
data
storage
pool
active
policy
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
Application number
CN202010705650.1A
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.)
Xsky Beijing Data Technology Corp ltd
Original Assignee
Xsky Beijing Data Technology Corp 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 Xsky Beijing Data Technology Corp ltd filed Critical Xsky Beijing Data Technology Corp ltd
Priority to CN202010705650.1A priority Critical patent/CN111857592A/zh
Publication of CN111857592A publication Critical patent/CN111857592A/zh
Pending legal-status Critical Current

Links

Images

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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • 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/0656Data buffering arrangements
    • 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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于对象存储***的数据存储方法及装置、电子设备。其中,该方法包括:获取对象存储节点上的硬盘数量;基于硬盘数量创建不同数据安全类型的存储池;基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;基于对象存储策略执行对象数据的存储。本发明解决了相关技术中数据池扩容带来数据读写性能下降的技术问题。

Description

基于对象存储***的数据存储方法及装置、电子设备
技术领域
本发明涉及数据存储技术领域,具体而言,涉及一种基于对象存储***的数据存储方法及装置、电子设备。
背景技术
相关技术中,对象存储***的存储池可以分为索引池和独立的持久化数据池,通过客户端写入不同大小的对象数据,其中,对象数据中的元数据部分会存放在索引池中,数据部分会经过缓存、归并等流程写入到独立的持久化数据池,当客户端对对象进行读取时,先访问元数据,根据元数据反馈的数据存储位置直接到对应的数据池中读取数据,然后返回给用户。
当独立的持久化数据池将要被写满时,为了避免数据不能持续写入,可以通过在现有的持久化数据池中添加新的硬盘或者增加新的存储节点,来保证业务的连续性。但是当前新增硬盘或者存储节点的方式存在多个弊端:
第一个弊端,添加硬盘或者存储节点,对于已经写入的数据要经过新一轮的自动重平衡,导致硬盘的利用率增加,占用更多的集群资源处理数据迁移,IO时延增加,影响前端业务IO的性能,带来读写性能下降;
第二个弊端,新旧数据存放在同一个存储池中,不能更加有效的区分冷热数据,同样会降低数据读写性能。
第三个弊端,由于对象数据存储过程中是采用随机性分配,导致多个数据池进行数据写入时,有的数据池写入数据较多,有的数据池写入数据较少,数据存储容量差异性较大,带来空间分配不均衡问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于对象存储***的数据存储方法及装置、电子设备,以至少解决相关技术中数据池扩容带来数据读写性能下降的技术问题。
根据本发明实施例的一个方面,提供了一种基于对象存储***的数据存储方法,所述对象存储***上包含多个对象存储节点,数据存储方法包括:获取对象存储节点上的硬盘数量;基于所述硬盘数量创建不同数据安全类型的存储池;基于所述存储池,创建对象存储策略,其中,所述存储策略用于指示对象数据的读写规则;基于所述对象存储策略执行对象数据的存储。
可选地,所述数据安全类型包括:多副本类型和纠删码类型。
可选地,在创建所述对象存储策略时,确定对象索引池和缓存池,其中,所述对象索引池用于存储对象元数据,所述缓存池用于缓存对象数据。
可选地,所述对象存储策略中包括:活动数据池和非活动数据池,多个所述活动数据池组合为活动池组,其中,所述活动数据池用于指示读写频率高于预设频率阈值的存储池,所述非活动数据池用于指示读写频率低于等于预设频率阈值的访问频率的存储池。
可选地,基于所述对象存储策略执行对象数据的存储的步骤,包括:基于所述对象存储策略,创建存储桶,其中,所述存储桶用于写入对象数据,以实现所述对象数据的存储。
可选地,在对象数据写入至所述存储桶中的活动数据池后,更新对象索引信息,其中,所述对象索引信息用于记录所述对象数据的写入位置。
可选地,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:设置所述活动池组中每个所述活动数据池的多个属性参数,其中,所述属性参数至少包括:写权重、写入次数;基于所述多个属性参数,计算每个活动数据池的对象写入系数;对所有的对象写入系数进行排序,得到排序结果;基于所述排序结果,将对象写入系数最小的活动数据池作为当前写入数据池。
可选地,在设定所述活动数据池的多个属性参数之后,所述数据存储方法还包括:若更新所述对象存储策略或者将对象存储网关重启,则重新设置所述属性参数。
可选地,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:判断每个活动数据池的可用容量;若所述可用容量低于预设容量阈值,将所述活动数据池设置为非活动数据池,并发出容量告警信号;在发出所述容量告警信号后,新建存储池,得到新存储池;将所述新存储池加入至发出容量告警信号的活动数据池所在的活动池组中,以作为新的活动数据池;在确定新的活动数据池后,基于所述活动池组中每个所述活动数据池的当前可用空间重新设置每个所述活动数据池的属性参数。
可选地,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:按照预设时间间隔周期,检测所述活动池组中每个所述活动数据池的可用空间;基于每个所述活动数据池的可用空间,更新每个所述活动数据池的可用容量比;基于所述可用容量比,更新每个所述活动数据池的写入权重值。
可选地,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:接收故障信息,其中,所述故障信息用于指示活动数据池中的硬盘出现故障;基于所述故障信息,确定故障活动数据池以及故障硬盘;基于活动活动数据池之间的资源互相隔离规则,更换故障活动数据池中的故障硬盘。
根据本发明实施例的另一方面,还提供了一种基于对象存储***的数据存储装置,所述对象存储***上包含多个对象存储节点,数据存储装置包括:获取单元,用于获取对象存储节点上的硬盘数量;第一创建单元,用于基于所述硬盘数量创建不同数据安全类型的存储池;第二创建单元,用于基于所述存储池,创建对象存储策略,其中,所述存储策略用于指示对象数据的读写规则;执行单元,用于基于所述对象存储策略执行对象数据的存储。
可选地,所述数据安全类型包括:多副本类型和纠删码类型。
可选地,在创建所述对象存储策略时,确定对象索引池和缓存池,其中,所述对象索引池用于存储对象元数据,所述缓存池用于缓存对象数据。
可选地,所述对象存储策略中包括:活动数据池和非活动数据池,多个所述活动数据池组合为活动池组,其中,所述活动数据池用于指示读写频率高于预设频率阈值的存储池,所述非活动数据池用于指示读写频率低于等于预设频率阈值的访问频率的存储池。
可选地,所述执行单元包括:第一创建模块,用于基于所述对象存储策略,创建存储桶,其中,所述存储桶用于写入对象数据,以实现所述对象数据的存储。
可选地,在对象数据写入至所述存储桶中的活动数据池后,更新对象索引信息,其中,所述对象索引信息用于记录所述对象数据的写入位置。
可选地,所述数据存储装置还包括:第一设置模块,用于在基于所述对象存储策略执行对象数据的存储之后,设置所述活动池组中每个所述活动数据池的多个属性参数,其中,所述属性参数至少包括:写权重、写入次数;第一计算模块,用于基于所述多个属性参数,计算每个活动数据池的对象写入系数;第一排序模块,用于对所有的对象写入系数进行排序,得到排序结果;第一确定模块,用于基于所述排序结果,将对象写入系数最小的活动数据池作为当前写入数据池。
可选地,所述数据存储装置还包括:第一更新模块,用于在设定所述活动数据池的多个属性参数之后,若更新所述对象存储策略或者将对象存储网关重启,则重新设置所述属性参数。
可选地,所述数据存储装置还包括:第一判断模块,用于在基于所述对象存储策略执行对象数据的存储之后,判断每个活动数据池的可用容量;第二设置模块,用于在所述可用容量低于预设容量阈值,将所述活动数据池设置为非活动数据池,并发出容量告警信号;第一新建模块,用于在发出所述容量告警信号后,新建存储池,得到新存储池;第二确定模块,用于将所述新存储池加入至发出容量告警信号的活动数据池所在的活动池组中,以作为新的活动数据池;第三设置模块,用于在确定新的活动数据池后,基于所述活动池组中每个所述活动数据池的当前可用空间重新设置每个所述活动数据池的属性参数。
可选地,所述数据存储装置还包括:检测模块,用于在基于所述对象存储策略执行对象数据的存储之后,按照预设时间间隔周期,检测所述活动池组中每个所述活动数据池的可用空间;第二更新模块,用于基于每个所述活动数据池的可用空间,更新每个所述活动数据池的可用容量比;第三更新模块,用于基于所述可用容量比,更新每个所述活动数据池的写入权重值。
可选地,所述数据存储装置还包括:接收模块,用于在基于所述对象存储策略执行对象数据的存储之后,接收故障信息,其中,所述故障信息用于指示活动数据池中的硬盘出现故障;第三确定模块,用于基于所述故障信息,确定故障活动数据池以及故障硬盘;更换模块,用于基于活动活动数据池之间的资源互相隔离规则,更换故障活动数据池中的故障硬盘。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的基于对象存储***的数据存储方法。
本发明实施例中,获取对象存储节点上的硬盘数量;基于硬盘数量创建不同数据安全类型的存储池;基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;基于对象存储策略执行对象数据的存储。在该实施例中,可以通过直接扩容存储池的方式,并不是新增硬盘和服务节点,因此不需要对存储池做额外的数据重平衡,不占用***带宽资源,不影响前端业务性能,提高数据池扩容过程的数据读写性能,从而解决相关技术中数据池扩容带来数据读写性能下降的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于对象存储***的数据存储方法的流程图;
图2是根据本发明实施例的一种可选的基于对象存储***的数据存储装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或者名词做出解释:
对象存储***:基于对象存储设备(Object Storage Device)构建的存储***,对象是数据存储的基本单位,一个对象实际上就是文件的数据部分和元数据部分的组合,每个对象存储设备可以是智能的,自动的管理对象的数据分布,提供扁平化的数据结构以及并发的数据访问模式。
索引池:存储对象的元数据信息,例如,当对象大小小于1MB时,存放对象的数据部分和元数据部分,当对象大小大于1MB时,仅存储对象的元数据信息,索引池一般采用介质为SSD的硬盘创建,可以提升索引和小对象的读写性能。
数据池:存储对象中的数据部分,例如,大于1MB的对象的数据部分以及大小大于4MB的对象。
存储策略:限定用户数据存储规则,包括索引池、缓存池、以及活动数据池和非活动数据池。
活动数据池:访问频率高的数据池,可以提供对象数据的读、写、删服务,所有新写入的对象数据都会存储到活动池中。
活动池组:由多个活动池组成,组内的活动池数量不限制。
非活动池:访问频率低或者无访问的数据池,只提供对象数据的读取和删除服务。非活动池可以转换成活动池,活动池也可以转换成非活动池。
本发明下述各实施例可应用于对象存储***/对象存储集群中。下面结合各个实施例来说明本发明。
实施例一基于对象存储***的数据存储方法
根据本发明实施例,提供了一种基于对象存储***的数据存储方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例的一个方面,提供了一种基于对象存储***的数据存储方法,对象存储***上包含多个对象存储节点。
图1是根据本发明实施例的一种可选的基于对象存储***的数据存储方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取对象存储节点上的硬盘数量;
步骤S104,基于硬盘数量创建不同数据安全类型的存储池;
步骤S106,基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;
步骤S108,基于对象存储策略执行对象数据的存储。
通过上述步骤,可以获取对象存储节点上的硬盘数量;基于硬盘数量创建不同数据安全类型的存储池;基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;基于对象存储策略执行对象数据的存储。在该实施例中,可以通过直接扩容存储池的方式,并不是新增硬盘和服务节点,因此不需要对存储池做额外的数据重平衡,不占用***带宽资源,不影响前端业务性能,提高数据池扩容过程的数据读写性能,从而解决相关技术中数据池扩容带来数据读写性能下降的技术问题。
下面结合上述各步骤来说明本发明。
本发明实施例中,首先需要根据扩容需求,创建存储资源。
步骤S102,获取对象存储节点上的硬盘数量。
对象存储节点可理解为对象存储服务器,每个对象存储服务器可包括至少一个硬盘。
步骤S104,基于硬盘数量创建不同数据安全类型的存储池。
在对象存储***上,根据对象存储节点上的硬盘数量创建不同数据安全类型的存储池,可选的,数据安全类型包括:多副本类型和纠删码类型。其中,多副本类型是指多个副本(M>=2)以上的存储池,数据在整个存储池中会存放多份。如果存储池中的硬盘数越多,则在发挥存储池高的聚合性能的同时,每块磁盘在单位时间内的读写次数就降低,存储池中同时出现多盘故障的概率也会相对降低。多副本和纠删码可以有效的保证因磁盘故障导致数据丢失,而多硬盘则可以降低磁盘因频繁读写导致故障的风险。在本发明实施例,建议单个存储池中数据盘数量控制500个以内,可灵活调整。
步骤S106,基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则。
可选的,在创建对象存储策略时,确定对象索引池和缓存池,其中,对象索引池用于存储对象元数据,缓存池用于缓存对象数据。
创建完存储池以后,可创建新的对象存储策略,指定对象索引池和缓存池,对象索引池和缓存池可以是相同存储池,也可以是不一样的存储池。
另一种可选的,对象存储策略中包括:活动数据池和非活动数据池,多个活动数据池组合为活动池组,其中,活动数据池用于指示读写频率高于预设频率阈值的存储池,非活动数据池用于指示读写频率低于等于预设频率阈值的访问频率的存储池。
在确定对象索引池和缓存池后,选择活动数据池和非活动数据池,存储策略中可以包括多个活动数据池和非活动数据池。
在对象存储策略创建成功以后,根据对象存储策略创建新的存储桶,以执行对象数据的存储,创建过程中,可加载该对象存储策略,并验证对象存储策略的合法性。
步骤S108,基于对象存储策略执行对象数据的存储。
可选的,基于对象存储策略执行对象数据的存储的步骤,包括:基于对象存储策略,创建存储桶,其中,存储桶用于写入对象数据,以实现对象数据的存储。
另一种可选的,在对象数据写入至存储桶中的活动数据池后,更新对象索引信息,其中,对象索引信息用于记录对象数据的写入位置。
客户端通过对象存储网关向基于对象存储策略创建的存储桶中写入对象。
在本发明实施例中,在基于对象存储策略执行对象数据的存储之后,数据存储方法还包括:设置活动池组中每个活动数据池的多个属性参数,其中,属性参数至少包括:写权重、写入次数;基于多个属性参数,计算每个活动数据池的对象写入系数;对所有的对象写入系数进行排序,得到排序结果;基于排序结果,将对象写入系数最小的活动数据池作为当前写入数据池。
在已创建好的对象存储策略中,对已经设置为活动数据池的存储池,设定至少两个属性参数,包括:写权重weight和写入次数number,例如,设置总的写权重数为10000,写入次数从0开始计算,当存储策略只配置一个活动池,则该活动池的写权重为10000,对象数据全部写入到相同的活动数据池中。
如果对象存储策略中配置了多个活动数据池,则每个活动数据池分配的写权重按照实际可使用空间容量按比例分配。通过计算每个活动存储池的系数r(r=number/weight),选择r数值最小的活动数据池作为当前写入的写入数据池。例如,在一次对象数据到来,需要选择活动数据池时,当前活动数据池包括:A:number=a,weight=1000;B:number=b,weight=2000;C:number=c,weight=4000;D:number=d,weight=1500;在计算各个活动数据池的r值后,可选取r值最小的活动数据池作为写入数据池,并更新对象索引信息。
可选的,在设定活动数据池的多个属性参数之后,数据存储方法还包括:若更新对象存储策略或者将对象存储网关重启,则重新设置属性参数。即在对象存储策略被更新或者对象存储网关重启后,number值会被清零,r值会被重新计算。
通过客户端向存储桶中写入的每一个对象数据,会根据计算出来的r值判断写入到其中一个活动数据池中,然后再更新对象的索引信息,记录对象写入的活动池位置。
活动数据池可以提供对象的读取服务,通过客户端读取写入的对象数据,会根据索引池中记录的对象数据所在的活动数据池中的位置,读取对象的数据部分,返回给客户端。
在本发明实施例中,在基于对象存储策略执行对象数据的存储之后,数据存储方法还包括:判断每个活动数据池的可用容量;若可用容量低于预设容量阈值,将活动数据池设置为非活动数据池,并发出容量告警信号;在发出容量告警信号后,新建存储池,得到新存储池;将新存储池加入至发出容量告警信号的活动数据池所在的活动池组中,以作为新的活动数据池;在确定新的活动数据池后,基于活动池组中每个活动数据池的当前可用空间重新设置每个活动数据池的属性参数。
当某个活动数据池可用容量出现告警时,可以将活动数据池设置成非活动数据池,并分配非活动池的新权重为,此时该活动数据池将不能接受新数据的写入,但是可以和其它活动数据池一起提供数据的读取和删除服务,对于访问频率较低或者需要长时间存放的数据,可以持久的放在非活动数据池中,其他的活动数据池继续接受新的数据写入,直到所有的活动数据池被写满。
对于某个或者某些容量已满的活动数据池,可以进行整池扩容的操作。将新建的存储池直接加入到活动池组中,并设置为新的活动池,number从0开始计算。此时根据当前活动池组中所有活动数据池的可用空间重新计算写入权重值,新的对象数据写入后,再根据最新的r值判断写入到哪一个活动数据池中。
通过以存储池的级别进行扩容,避免了原始写入的数据重平衡导致IO抢占带宽资源的现象,保证了IO的连续性,同时最大化的利用了多个存储池的性能优势,数据分布更加均衡,磁盘利用率更加均衡,很好的保证了上层应用无感知性。
可选的,在基于对象存储策略执行对象数据的存储之后,数据存储方法还包括:按照预设时间间隔周期,检测活动池组中每个活动数据池的可用空间;基于每个活动数据池的可用空间,更新每个活动数据池的可用容量比;基于可用容量比,更新每个活动数据池的写入权重值。
在活动数据池可以容量更新方面,对于新建的活动池组,会尽量保证存储在活动数据池中的对象数量平均分布,但是由于每个对象数据的大小不一样,导致活动数据池空间占用情况也会不同,所以需要按预设时间间隔周期(例如,一天作为一次时间间隔周期)来更新活动数据池的可用容量比,尽可能保证容量均衡分配,如果没有添加新的活动数据池到活动池组,采用初始更新时间间隔(例如,默认1天1次)更新各个现有活动池的可用空间,进而更新写入权重值。
作为本发明可选的实施例,在基于对象存储策略执行对象数据的存储之后,数据存储方法还包括:接收故障信息,其中,故障信息用于指示活动数据池中的硬盘出现故障;基于故障信息,确定故障活动数据池以及故障硬盘;基于活动活动数据池之间的资源互相隔离规则,更换故障活动数据池中的故障硬盘。
在活动池组故障处理方面,一个活动池组存在多个活动数据池,当其中一个或者多个活动数据池中的硬盘出现故障,硬盘归属的存储池状态会出现异常,在不需要停止前端业务以及不影响其它活动数据池正常读写的前提下,可以直接进行故障硬盘的更换,更换了新硬盘的活动池内部会自动进行数据的重新平衡,保证当前活动数据池每个磁盘数据均匀分布,同理也可以直接更换其他异常活动数据池中的故障硬盘,不同活动数据池之间的资源互相隔离,异常情况下的恢复不影响其他正常工作的活动数据池。
通过上述实施例,可根据存储池权重自适应的分配写入的活动数据池,保证存储池空间最大化利用,并且多个活动数据池性能聚合,提升数据写入的效率,在进行扩容时,实现存储池整池扩容或者活动池组整组扩容,不需要做额外的数据重平衡,不占用***带宽资源,不影响前端业务性能,而在多活动数据池资源弧线隔离,异常情况下的恢复不影响其他活动池的正常工作。
实施例二基于对象存储***的数据存储装置
图2是根据本发明实施例的一种可选的基于对象存储***的数据存储装置的示意图,对象存储***上包含多个对象存储节点,如图2所示,该数据存储装置包括:获取单元21、第一创建单元23、第二创建单元25、执行单元27,其中,
获取单元21,用于获取对象存储节点上的硬盘数量;
第一创建单元23,用于基于硬盘数量创建不同数据安全类型的存储池;
第二创建单元25,用于基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;
执行单元27,用于基于对象存储策略执行对象数据的存储。
上述基于对象存储***的数据存储装置,可通过获取单元21获取对象存储节点上的硬盘数量,然后通过第一创建单元23基于硬盘数量创建不同数据安全类型的存储池,通过第二创建单元25基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则,通过执行单元27基于对象存储策略执行对象数据的存储。在该实施例中,可以通过直接扩容存储池的方式,并不是新增硬盘和服务节点,因此不需要对存储池做额外的数据重平衡,不占用***带宽资源,不影响前端业务性能,提高数据池扩容过程的数据读写性能,从而解决相关技术中数据池扩容带来数据读写性能下降的技术问题。
可选的,数据安全类型包括:多副本类型和纠删码类型。
另一种可选的,在创建对象存储策略时,确定对象索引池和缓存池,其中,对象索引池用于存储对象元数据,缓存池用于缓存对象数据。
在本发明实施例中,对象存储策略中包括:活动数据池和非活动数据池,多个活动数据池组合为活动池组,其中,活动数据池用于指示读写频率高于预设频率阈值的存储池,非活动数据池用于指示读写频率低于等于预设频率阈值的访问频率的存储池。
可选的,执行单元包括:第一创建模块,用于基于对象存储策略,创建存储桶,其中,存储桶用于写入对象数据,以实现对象数据的存储。
另一种可选的,在对象数据写入至存储桶中的活动数据池后,更新对象索引信息,其中,对象索引信息用于记录对象数据的写入位置。
作为本发明可选的实施例,数据存储装置还包括:第一设置模块,用于在基于对象存储策略执行对象数据的存储之后,设置活动池组中每个活动数据池的多个属性参数,其中,属性参数至少包括:写权重、写入次数;第一计算模块,用于基于多个属性参数,计算每个活动数据池的对象写入系数;第一排序模块,用于对所有的对象写入系数进行排序,得到排序结果;第一确定模块,用于基于排序结果,将对象写入系数最小的活动数据池作为当前写入数据池。
可选的,数据存储装置还包括:第一更新模块,用于在设定活动数据池的多个属性参数之后,若更新对象存储策略或者将对象存储网关重启,则重新设置属性参数。
另一种可选的,数据存储装置还包括:第一判断模块,用于在基于对象存储策略执行对象数据的存储之后,判断每个活动数据池的可用容量;第二设置模块,用于在可用容量低于预设容量阈值,将活动数据池设置为非活动数据池,并发出容量告警信号;第一新建模块,用于在发出容量告警信号后,新建存储池,得到新存储池;第二确定模块,用于将新存储池加入至发出容量告警信号的活动数据池所在的活动池组中,以作为新的活动数据池;第三设置模块,用于在确定新的活动数据池后,基于活动池组中每个活动数据池的当前可用空间重新设置每个活动数据池的属性参数。
可选的,数据存储装置还包括:检测模块,用于在基于对象存储策略执行对象数据的存储之后,按照预设时间间隔周期,检测活动池组中每个活动数据池的可用空间;第二更新模块,用于基于每个活动数据池的可用空间,更新每个活动数据池的可用容量比;第三更新模块,用于基于可用容量比,更新每个活动数据池的写入权重值。
另一种可选的,数据存储装置还包括:接收模块,用于在基于对象存储策略执行对象数据的存储之后,接收故障信息,其中,故障信息用于指示活动数据池中的硬盘出现故障;第三确定模块,用于基于故障信息,确定故障活动数据池以及故障硬盘;更换模块,用于基于活动活动数据池之间的资源互相隔离规则,更换故障活动数据池中的故障硬盘。
上述的基于对象存储***数据存储装置还可以包括处理器和存储器,上述获取单元21、第一创建单元23、第二创建单元25、执行单元27等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来调整空调设备的运行参数,以调整为适合用户所在环境的参数。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述任意一项的基于对象存储***的数据存储方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取对象存储节点上的硬盘数量;基于硬盘数量创建不同数据安全类型的存储池;基于存储池,创建对象存储策略,其中,存储策略用于指示对象数据的读写规则;基于对象存储策略执行对象数据的存储。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种基于对象存储***的数据存储方法,其特征在于,所述对象存储***上包含多个对象存储节点,数据存储方法包括:
获取对象存储节点上的硬盘数量;
基于所述硬盘数量创建不同数据安全类型的存储池;
基于所述存储池,创建对象存储策略,其中,所述存储策略用于指示对象数据的读写规则;
基于所述对象存储策略执行对象数据的存储。
2.根据权利要求1所述的数据存储方法,其特征在于,所述数据安全类型包括:多副本类型和纠删码类型。
3.根据权利要求1所述的数据存储方法,其特征在于,在创建所述对象存储策略时,确定对象索引池和缓存池,其中,所述对象索引池用于存储对象元数据,所述缓存池用于缓存对象数据。
4.根据权利要求1所述的数据存储方法,其特征在于,所述对象存储策略中包括:活动数据池和非活动数据池,多个所述活动数据池组合为活动池组,其中,所述活动数据池用于指示读写频率高于预设频率阈值的存储池,所述非活动数据池用于指示读写频率低于等于预设频率阈值的访问频率的存储池。
5.根据权利要求4所述的数据存储方法,其特征在于,基于所述对象存储策略执行对象数据的存储的步骤,包括:
基于所述对象存储策略,创建存储桶,其中,所述存储桶用于写入对象数据,以实现所述对象数据的存储。
6.根据权利要求5所述的数据存储方法,其特征在于,在对象数据写入至所述存储桶中的活动数据池后,更新对象索引信息,其中,所述对象索引信息用于记录所述对象数据的写入位置。
7.根据权利要求4所述的数据存储方法,其特征在于,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:
设置所述活动池组中每个所述活动数据池的多个属性参数,其中,所述属性参数至少包括:写权重、写入次数;
基于所述多个属性参数,计算每个活动数据池的对象写入系数;
对所有的对象写入系数进行排序,得到排序结果;
基于所述排序结果,将对象写入系数最小的活动数据池作为当前写入数据池。
8.根据权利要求7所述的数据存储方法,其特征在于,在设定所述活动数据池的多个属性参数之后,所述数据存储方法还包括:
若更新所述对象存储策略或者将对象存储网关重启,则重新设置所述属性参数。
9.根据权利要求4所述的数据存储方法,其特征在于,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:
判断每个活动数据池的可用容量;
若所述可用容量低于预设容量阈值,将所述活动数据池设置为非活动数据池,并发出容量告警信号;
在发出所述容量告警信号后,新建存储池,得到新存储池;
将所述新存储池加入至发出容量告警信号的活动数据池所在的活动池组中,以作为新的活动数据池;
在确定新的活动数据池后,基于所述活动池组中每个所述活动数据池的当前可用空间重新设置每个所述活动数据池的属性参数。
10.根据权利要求4所述的数据存储方法,其特征在于,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:
按照预设时间间隔周期,检测所述活动池组中每个所述活动数据池的可用空间;
基于每个所述活动数据池的可用空间,更新每个所述活动数据池的可用容量比;
基于所述可用容量比,更新每个所述活动数据池的写入权重值。
11.根据权利要求4所述的数据存储方法,其特征在于,在基于所述对象存储策略执行对象数据的存储之后,所述数据存储方法还包括:
接收故障信息,其中,所述故障信息用于指示活动数据池中的硬盘出现故障;
基于所述故障信息,确定故障活动数据池以及故障硬盘;
基于活动活动数据池之间的资源互相隔离规则,更换故障活动数据池中的故障硬盘。
12.一种基于对象存储***的数据存储装置,其特征在于,所述对象存储***上包含多个对象存储节点,数据存储装置包括:
获取单元,用于获取对象存储节点上的硬盘数量;
第一创建单元,用于基于所述硬盘数量创建不同数据安全类型的存储池;
第二创建单元,用于基于所述存储池,创建对象存储策略,其中,所述存储策略用于指示对象数据的读写规则;
执行单元,用于基于所述对象存储策略执行对象数据的存储。
13.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至11中任意一项所述的基于对象存储***的数据存储方法。
CN202010705650.1A 2020-07-21 2020-07-21 基于对象存储***的数据存储方法及装置、电子设备 Pending CN111857592A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010705650.1A CN111857592A (zh) 2020-07-21 2020-07-21 基于对象存储***的数据存储方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010705650.1A CN111857592A (zh) 2020-07-21 2020-07-21 基于对象存储***的数据存储方法及装置、电子设备

Publications (1)

Publication Number Publication Date
CN111857592A true CN111857592A (zh) 2020-10-30

Family

ID=73000793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010705650.1A Pending CN111857592A (zh) 2020-07-21 2020-07-21 基于对象存储***的数据存储方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN111857592A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342272A (zh) * 2021-06-07 2021-09-03 深圳数联天下智能科技有限公司 一种坐姿数据的存储方法、展示方法、智能坐垫和***
CN113687920A (zh) * 2021-08-30 2021-11-23 济南浪潮数据技术有限公司 一种分布式***的对象策略操作方法、装置及设备
CN114449196A (zh) * 2021-12-21 2022-05-06 天翼云科技有限公司 一种云视频监控数据存储方法、装置及电子设备
CN114465957A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 一种数据写入方法及装置
CN116136846A (zh) * 2023-04-19 2023-05-19 苏州浪潮智能科技有限公司 一种非结构化对象数据的管理方法、装置及存储***
WO2024012592A1 (zh) * 2022-07-15 2024-01-18 锐捷网络股份有限公司 自适应的数据盘容量管理方法、装置、电子设备及存储介质
CN117851132A (zh) * 2024-03-07 2024-04-09 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484130A (zh) * 2014-12-04 2015-04-01 北京同有飞骥科技股份有限公司 一种横向扩展存储***的构建方法
US20150205531A1 (en) * 2014-01-20 2015-07-23 Seagate Technology Llc Adding Storage Capacity to an Object Storage System
CN106293490A (zh) * 2015-05-12 2017-01-04 中兴通讯股份有限公司 数据存储、读取的方法、装置及***
US9690886B1 (en) * 2016-06-30 2017-06-27 Zerto Ltd. System and method for a simulation of a block storage system on an object storage system
US20180349043A1 (en) * 2017-06-02 2018-12-06 International Business Machines Corporation Filesystem enhancements for unified file and object access in an object storage cloud
CN109542342A (zh) * 2018-11-09 2019-03-29 锐捷网络股份有限公司 元数据管理与数据重构方法、设备及存储介质
CN109669631A (zh) * 2018-12-10 2019-04-23 浪潮(北京)电子信息产业有限公司 一种存储池规划方法、装置、设备及计算机可读存储介质
CN110018799A (zh) * 2019-04-12 2019-07-16 苏州浪潮智能科技有限公司 一种存储池pg主确定方法、装置、设备及可读存储介质
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、***、设备及存储介质
CN110515543A (zh) * 2019-08-02 2019-11-29 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和***
CN110515555A (zh) * 2019-05-27 2019-11-29 杭州前云数据技术有限公司 基于多路对象存储服务的高可靠性企业级存储***及读写方法
CN110677441A (zh) * 2018-07-02 2020-01-10 ***通信集团有限公司 一种对象存储集群的访问方法及装置
WO2020019630A1 (zh) * 2018-07-25 2020-01-30 星环信息科技(上海)有限公司 存储卷创建方法以及装置、服务器及存储介质
CN111158587A (zh) * 2019-12-10 2020-05-15 南京道熵信息技术有限公司 基于存储池虚拟化管理的分布式存储***及数据读写方法
CN111274259A (zh) * 2020-02-16 2020-06-12 西安奥卡云数据科技有限公司 一种分布式存储***中存储节点的数据更新方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150205531A1 (en) * 2014-01-20 2015-07-23 Seagate Technology Llc Adding Storage Capacity to an Object Storage System
CN104484130A (zh) * 2014-12-04 2015-04-01 北京同有飞骥科技股份有限公司 一种横向扩展存储***的构建方法
CN106293490A (zh) * 2015-05-12 2017-01-04 中兴通讯股份有限公司 数据存储、读取的方法、装置及***
US9690886B1 (en) * 2016-06-30 2017-06-27 Zerto Ltd. System and method for a simulation of a block storage system on an object storage system
US20180349043A1 (en) * 2017-06-02 2018-12-06 International Business Machines Corporation Filesystem enhancements for unified file and object access in an object storage cloud
CN110677441A (zh) * 2018-07-02 2020-01-10 ***通信集团有限公司 一种对象存储集群的访问方法及装置
WO2020019630A1 (zh) * 2018-07-25 2020-01-30 星环信息科技(上海)有限公司 存储卷创建方法以及装置、服务器及存储介质
CN109542342A (zh) * 2018-11-09 2019-03-29 锐捷网络股份有限公司 元数据管理与数据重构方法、设备及存储介质
CN109669631A (zh) * 2018-12-10 2019-04-23 浪潮(北京)电子信息产业有限公司 一种存储池规划方法、装置、设备及计算机可读存储介质
CN110018799A (zh) * 2019-04-12 2019-07-16 苏州浪潮智能科技有限公司 一种存储池pg主确定方法、装置、设备及可读存储介质
CN110515555A (zh) * 2019-05-27 2019-11-29 杭州前云数据技术有限公司 基于多路对象存储服务的高可靠性企业级存储***及读写方法
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、***、设备及存储介质
CN110515543A (zh) * 2019-08-02 2019-11-29 星辰天合(北京)数据科技有限公司 基于对象存储桶的快照方法、装置和***
CN111158587A (zh) * 2019-12-10 2020-05-15 南京道熵信息技术有限公司 基于存储池虚拟化管理的分布式存储***及数据读写方法
CN111274259A (zh) * 2020-02-16 2020-06-12 西安奥卡云数据科技有限公司 一种分布式存储***中存储节点的数据更新方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342272A (zh) * 2021-06-07 2021-09-03 深圳数联天下智能科技有限公司 一种坐姿数据的存储方法、展示方法、智能坐垫和***
CN113687920A (zh) * 2021-08-30 2021-11-23 济南浪潮数据技术有限公司 一种分布式***的对象策略操作方法、装置及设备
CN113687920B (zh) * 2021-08-30 2024-02-13 济南浪潮数据技术有限公司 一种分布式***的对象策略操作方法、装置及设备
CN114449196A (zh) * 2021-12-21 2022-05-06 天翼云科技有限公司 一种云视频监控数据存储方法、装置及电子设备
CN114449196B (zh) * 2021-12-21 2023-08-04 天翼云科技有限公司 一种云视频监控数据存储方法、装置及电子设备
CN114465957A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 一种数据写入方法及装置
CN114465957B (zh) * 2021-12-29 2024-03-08 天翼云科技有限公司 一种数据写入方法及装置
WO2024012592A1 (zh) * 2022-07-15 2024-01-18 锐捷网络股份有限公司 自适应的数据盘容量管理方法、装置、电子设备及存储介质
CN116136846A (zh) * 2023-04-19 2023-05-19 苏州浪潮智能科技有限公司 一种非结构化对象数据的管理方法、装置及存储***
CN117851132A (zh) * 2024-03-07 2024-04-09 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法
CN117851132B (zh) * 2024-03-07 2024-05-07 四川省华存智谷科技有限责任公司 一种分布式对象存储的数据恢复优化方法

Similar Documents

Publication Publication Date Title
CN111857592A (zh) 基于对象存储***的数据存储方法及装置、电子设备
US8301670B2 (en) Managing snapshot storage pools
US7055053B2 (en) System and method for failover
US8245272B2 (en) System and method for monitoring computer system resource performance
CN105677236B (zh) 一种存储设备及其存储数据的方法
CN112272217B (zh) 一种kafka集群负载均衡方法、***、设备以及介质
US11449402B2 (en) Handling of offline storage disk
CN113625945A (zh) 分布式存储的慢盘处理方法、***、终端及存储介质
CN109582213A (zh) 数据重构方法及装置、数据存储***
CN112764680B (zh) 磁盘条带选择方法及存储***
CN106293492A (zh) 一种存储管理方法及分布式文件***
CN106484313A (zh) 数据信息备份方法、数据备份方法及装置
CN102981939B (zh) 磁盘监控方法
CN113946291A (zh) 数据访问方法、装置、存储节点及可读存储介质
CN114443332A (zh) 一种存储池的检测方法、装置、电子设备及存储介质
CN113760187B (zh) 重删io线程生成方法、***、终端及存储介质
CN108306780B (zh) 一种基于云环境的虚拟机通信质量自优化的***和方法
CN111007988B (zh) 一种raid内部磨损均衡方法、***、终端及存储介质
CN107357686A (zh) 一种日志删除方法及装置
CN116700606A (zh) 数据存储方法、装置、设备及存储介质
CN115993932A (zh) 数据处理方法、装置、存储介质以及电子设备
CN112883124B (zh) 数据处理方法、装置、计算机设备及存储介质
CN111124275A (zh) 一种分布式块存储***的监控服务优化方法及装置
CN111352590A (zh) 文件存储方法及设备
CN112073519B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100094 101, floors 1-5, building 7, courtyard 3, fengxiu Middle Road, Haidian District, Beijing

Applicant after: Beijing Xingchen Tianhe Technology Co.,Ltd.

Address before: 100097 room 806-1, block B, zone 2, Jinyuan times shopping center, indigo factory, Haidian District, Beijing

Applicant before: XSKY BEIJING DATA TECHNOLOGY Corp.,Ltd.