CN109542352B - 用于存储数据的方法和装置 - Google Patents

用于存储数据的方法和装置 Download PDF

Info

Publication number
CN109542352B
CN109542352B CN201811397163.2A CN201811397163A CN109542352B CN 109542352 B CN109542352 B CN 109542352B CN 201811397163 A CN201811397163 A CN 201811397163A CN 109542352 B CN109542352 B CN 109542352B
Authority
CN
China
Prior art keywords
written
node
value
weight value
weight
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
CN201811397163.2A
Other languages
English (en)
Other versions
CN109542352A (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201811397163.2A priority Critical patent/CN109542352B/zh
Publication of CN109542352A publication Critical patent/CN109542352A/zh
Priority to US16/565,418 priority patent/US11314451B2/en
Application granted granted Critical
Publication of CN109542352B publication Critical patent/CN109542352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0658Controller construction 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0673Single storage device

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)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了用于存储数据的方法和装置。该方法的一具体实施方式包括:接收包括待存储数据的存储请求;对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值;根据所生成的权重值集合,从该待写入节点组中确定目标待写入节点;将该待存储数据存储到该目标待写入节点。该实施方式提高了数据存储的灵活性。

Description

用于存储数据的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于存储数据的方法和装置。
背景技术
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统通常采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
发明内容
本申请实施例提出了用于存储数据的方法和装置。
第一方面,本申请实施例提供了一种用于存储数据的方法,该方法包括:接收包括待存储数据的存储请求;对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值;根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点;将上述待存储数据存储到上述目标待写入节点。
在一些实施例中,上述基于所获取的存储器性能信息集合生成该待写入节点的权重值,包括:基于所获取的存储器性能信息集合,确定该待写入节点的剩余存储空间等级数值和读写速度等级数值;基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值。
在一些实施例中,上述基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值,包括:基于所确定的剩余存储空间等级数值和读写速度等级数值以及预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值,生成该待写入节点的权重值。
在一些实施例中,存储器性能信息包括以下至少一项:存储器剩余存储空间大小,存储器的读写速度,存储器转速,寻道时间。
在一些实施例中,上述根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点,包括:将所生成的权重值集合中的权重值从大到小进行排序,生成权重值序列,其中,权重值集合中的权重值与上述待写入节点组中的待写入节点具有一一对应的关系;将所生成的权重值序列中的权重值按照等间距进行划分等级,得到权重值对应的等级数值;根据所得到的等级数值,从上述待写入节点组中确定目标待写入节点。
第二方面,本申请实施例提供了一种用于存储数据的装置,该装置包括:接收单元,被配置成接收包括待存储数据的存储请求;获取单元,被配置成对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值;确定单元,被配置成根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点;存储单元,被配置成将上述待存储数据存储到上述目标待写入节点。
在一些实施例中,上述基于所获取的存储器性能信息集合生成该待写入节点的权重值,包括:基于所获取的存储器性能信息集合,确定该待写入节点的剩余存储空间等级数值和读写速度等级数值;基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值。
在一些实施例中,上述基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值,包括:基于所确定的剩余存储空间等级数值和读写速度等级数值以及预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值,生成该待写入节点的权重值。
在一些实施例中,存储器性能信息包括以下至少一项:存储器剩余存储空间大小,存储器的读写速度,存储器转速,寻道时间。
在一些实施例中,上述根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点,包括:将所生成的权重值集合中的权重值从大到小进行排序,生成权重值序列,其中,权重值集合中的权重值与上述待写入节点组中的待写入节点具有一一对应的关系;将所生成的权重值序列中的权重值按照等间距进行划分等级,得到权重值对应的等级数值;根据所得到的等级数值,从上述待写入节点组中确定目标待写入节点。
第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如用于存储数据的方法中任一实施例的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如用于存储数据的方法中任一实施例的方法。
本申请实施例提供的用于存储数据的方法和装置,首先,接收包括待存储数据的存储请求。然后,对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值。这样,节点的权重值可以由存储器性能信息决定。之后,根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点。此处根据权重值选择节点,可以选取到存储器性能更适合的节点,从而可以提高节点的利用率以及降低节点的读写延迟。最后,将上述待存储数据存储到上述目标待写入节点。通过权重值选取节点进行存储数据可以将数据存储在合适的节点,从而是数据节点的容量更加均衡。该装置可以提高数据存储的灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的用于存储数据的方法的一个实施例的流程图;
图3是根据本申请实施例的用于存储数据的方法的一个应用场景的示意图;
图4是根据本申请的用于存储数据的方法的又一个实施例的流程图;
图5是根据本申请的用于存储数据的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的用于存储数据的方法或用于存储数据的装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,控制服务器104和节点服务器105、106。网络107、108用以在终端设备101、102、103和控制服务器104之间、控制服务器104和节点服务器105、106之间提供通信链路的介质。网络107、108可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103与控制服务器104交互,以接收或发送消息、存储各种数据等。终端设备101、102、103上可以安装有各种应用,例如购物类应用、搜索类应用、即时通信工具、邮箱终端、社交平台软件、文本编辑类应用、浏览器类应用、阅读类应用等。
终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
节点服务器105、106可以是提供各种服务的服务器,例如,为终端设备101、102、103上的购物类应用所产生的购物类数据提供存储服务的服务器。节点服务器105、106可以在接收到终端设备101、102、103上的购物类应用所产生的购物类数据时,对购物类数据进行存储。
控制服务器104可以是提供各种服务的服务器,例如为节点服务器105、106上的存储类服务提供控制服务的服务器。控制服务器104可以存储有各种节点相关的权重信息。控制服务器104可以接收终端设备101、102、103发送的包括待存储数据的存储请求,根据节点服务器105、106的权重信息,将待存储数据存储到节点服务器。
需要说明的是,本申请实施例所提供的用于存储数据的方法一般由控制服务器104执行,相应地,用于存储数据的装置一般设置于控制服务器104中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于存储数据的方法的一个实施例的流程200。该用于存储数据的方法,包括以下步骤:
步骤201,接收包括待存储数据的存储请求。
在本实施例中,用于存储数据的方法的执行主体(例如图1所示的控制服务器104)可以通过有线连接方式或者无线连接方式接收到通信连接的终端设备发送的包括待存储数据的存储请求。
需要说明的是,上述待存储数据可以是各种格式的数据。例如,上述待存储数据可以是文本格式的数据,也可以是图片格式的数据,还可以是音频格式的数据。上述存储请求通常是指终端(例如图1所示的终端设备101、102、103)发出的、请求将待存储数据进行存储的任意存储请求。
步骤202,对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值。
在本实施例中,上述待写入节点通常是指包括多个存储器的服务器。存储器可以是各种可存储介质,例如磁盘、闪存等,在此不作限制。存储器性能信息通常可以包括读写速度以及磁盘剩余空间。上述读写速度具体是指IOPS(Input/Output Per Second),即每秒的输入输出量(或读写次数)。如果存储器具体是磁盘,则存储器性能信息也可以包括磁盘转速、寻道时间等。
需要指出的是,上述存储器性能信息集合可以直接存储于本地,也可以存储于与执行主体通信连接的其他电子设备。在存储器性能信息集合存储在本地时,执行主体可以直接提取本地所存储的存储器性能信息集合以进行处理。在存储器性能信息集合存储在与执行主体通信连接的其他电子设备时,执行主体可以通过有线连接方式或者无线连接方式获取存储器性能信息集合以进行处理。可以将上述存储器性能信息根据实际需要的算法步骤进行运算处理,生成上述待写入节点的权重值。
在本实施例的一些可选的实现方式中,执行主体可以通过如下步骤生成待写入节点的权重值:首先,基于所获取的存储器性能信息集合,确定该待写入节点的剩余存储空间等级数值和读写速度等级数值。然后,基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值。本实施例中,上述确定该待写入节点的剩余存储空间等级数值和读写速度等级数值通常是指经过归一化进行确定的等级数值。具体可以是根据存储器性能信息所包括的剩余存储空间所占百分比进行等级划分得到剩余存储空间等级数值。例如剩余存储空间所占百分比在70%和80%之间,则剩余存储空间等级数值为2。同理,可以是根据存储器性能信息所包括的读写速度进行等级划分得到读写速度等级数值。例如读写速度在70和80之间,则读写速度等级数值为20。然后,可以将上述剩余存储空间等级数值和读写速度等级数值通过指定的算法步骤进行运算处理,生成上述待写入节点的权重值。
在本实施例的一些可选的实现方式中,执行主体还可以通过如下步骤生成待写入节点的权重值:基于所确定的剩余存储空间等级数值和读写速度等级数值以及预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值,生成该待写入节点的权重值。在本实施例中,上述剩余存储空间等级数值的权重值通常是指用来调节剩余存储空间等级数值的权重。上述读写速度等级数值的权重值通常是指用来调节读写速度等级数值的权重。上述预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值可以根据实际需要进行设置,在此不作限制。通常可以将上述剩余存储空间等级数值和读写速度等级数值以及所获取的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值通过实际需要的算法步骤进行运算处理,生成上述待写入节点的权重值,例如,将剩余存储空间等级数值与读写速度等级数值的乘积、剩余存储空间等级数值与剩余存储空间等级数值的权重值的乘积以及读写速度等级数值与读写速度等级数值的权重值的乘积进行求和,生成该待写入节点的权重值。
步骤203,根据所生成的权重值集合,从待写入节点组中确定目标待写入节点。
在本实施例中,上述所生成的权重值集合是指步骤202生成的节点的权重值组成的权重值集合。上述目标待写入节点是指执行主体即将选取的节点用以存储上述待存储数据存储。上述节点的选取通常根据节点的权重值的大小进行选取。通常权重值越大的节点,被选取的概率更高。例如可以按照权重值大小的顺序选取。
在本实施例的一些可选的实现方式中,步骤203包括:将所生成的权重值集合中的权重值从大到小进行排序,生成权重值序列,其中,权重值集合中的权重值与上述待写入节点组中的待写入节点具有一一对应的关系;将所生成的权重值序列中的权重值按照等间距进行划分等级,得到权重值对应的等级数值;根据所得到的等级数值,从上述待写入节点组中确定目标待写入节点。通常权重值对应的等级数值越大的节点,被选取的概率更高。例如可以按照权重值对应的等级数值大小的顺序选取。
步骤204,将待存储数据存储到目标待写入节点。
在本实施例中,执行主体可以通过各种方式存储上述待存储数据。作为一种示例,上述执行主体可以通过有线通信的方式存储待存储数据,也可以通过无线通信的方式存储待存储数据。
根据节点中的存储器性能信息实时确定节点的权重值,根据节点的权重值大小进行选取节点用以存储待存储数据,该方法可以提高数据存储的灵活性。
继续参见图3,图3是根据本实施例的用于存储数据的方法的应用场景的一个示意图。在图3的应用场景300中,待存储数据所在的终端301与控制服务器302通信连接。控制服务器302与节点服务器303、304通信连接。控制服务器302接收到包括待存储数据的存储请求。对于节点服务器303、304中的节点服务器303,获取节点服务器303所包括的5个固态硬盘(Solid State Disk)的剩余空间大小10和读写速度20。基于所获取的5个固态硬盘(Solid State Disk)的剩余空间大小10和读写速度20,生成该节点服务器303的权重值30。获取节点服务器303、304中的节点服务器304所包括的10个SATA(Serial ATA)硬盘的剩余空间大小20和读写速度50。基于所获取的剩余空间大小20和读写速度50,生成该节点服务器304的权重值70。根据所生成的权重值集合{30,70},确定目标待写入节点(节点服务器304)。将上述待存储数据存储到节点服务器304。
本申请的上述实施例提供的方法,首先,接收包括待存储数据的存储请求。然后,对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值。之后,根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点。最后,将上述待存储数据存储到上述目标待写入节点。该方法提高了数据存储的灵活性。
进一步参考图4,其示出了用于存储数据的方法的又一个实施例的流程400。该用于存储数据的方法的流程400,包括以下步骤:
步骤401,接收包括待存储数据的存储请求。
步骤402,对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合,确定该待写入节点的剩余存储空间等级数值和读写速度等级数值,基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值。
在本实施例中,上述待写入节点通常是指包括多个存储器的服务器。存储器可以是各种可存储介质,例如磁盘、闪存等,在此不作限制。存储器性能信息通常可以包括读写速度以及磁盘剩余空间。上述读写速度具体是指IOPS(Input/Output Per Second),即每秒的输入输出量(或读写次数)。如果存储器具体是磁盘,则存储器性能信息也可以包括磁盘转速、寻道时间等。
需要指出的是,上述存储器性能信息集合可以直接存储于本地,也可以存储于与执行主体通信连接的其他电子设备。在存储器性能信息集合存储在本地时,执行主体可以直接提取本地所存储的存储器性能信息集合以进行处理。在存储器性能信息集合存储在与执行主体通信连接的其他电子设备时,执行主体可以通过有线连接方式或者无线连接方式获取存储器性能信息集合以进行处理。可以将上述存储器性能信息根据实际需要的算法步骤进行运算处理,生成上述待写入节点的权重值。
在本实施例中,上述确定该待写入节点的剩余存储空间等级数值和读写速度等级数值通常是指经过归一化进行确定的等级数值。具体可以是根据存储器性能信息所包括的剩余存储空间所占百分比进行等级划分得到剩余存储空间等级数值。例如剩余存储空间所占百分比在70%和80%之间,则剩余存储空间等级数值为2。同理,可以是根据存储器性能信息所包括的读写速度进行等级划分得到读写速度等级数值。例如读写速度在70和80之间,则读写速度等级数值为20。通常可以将上述剩余存储空间等级数值和读写速度等级数值通过指定的算法步骤进行运算处理,生成上述待写入节点的权重值。
步骤403,根据所生成的权重值集合,从待写入节点组中确定目标待写入节点。
步骤404,将待存储数据存储到目标待写入节点。
上述步骤401、403、404可以按照与图2所示的实施例的步骤201、203、204类似的方式执行,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于存储数据的方法的流程400体现了基于存储器性能信息集合确定该待写入节点的剩余存储空间等级数值和读写速度等级数值的步骤,以及生成该待写入节点的权重值的步骤。由此,本实施例描述的方案可以有助于灵活运用存储器性能信息集合生成节点的权重值。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于存储数据的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例上述的用于存储数据的装置500包括:接收单元501,被配置成接收包括待存储数据的存储请求。获取单元502,被配置成对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值。确定单元503,被配置成根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点。存储单元504,被配置成将上述待存储数据存储到上述目标待写入节点。
在本实施例中,用于存储数据的装置500中:接收单元501、获取单元502、确定单元503和存储单元504的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201、步骤202、步骤203和步骤204的相关说明,在此不再赘述。
本申请的上述实施例提供的装置,通过接收单元501接收包括待存储数据的存储请求,通过获取单元502获取存储器性能信息集合,以及基于所获取的存储器性能信息集合生成待写入节点的权重值,通过确定单元503根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点,通过存储单元504将上述待存储数据存储到上述目标待写入节点。上述装置提高了存储数据的灵活性。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元、获取单元、确定单元和存储单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收包括待存储数据的存储请求的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:接收包括待存储数据的存储请求;对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值;根据所生成的权重值集合,从上述待写入节点组中确定目标待写入节点;将上述待存储数据存储到上述目标待写入节点。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种用于存储数据的方法,包括:
接收包括待存储数据的存储请求;
对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合;以及
基于所获取的存储器性能信息集合生成该待写入节点的权重值,包括:基于所获取的存储器性能信息集合,经过归一化确定该待写入节点的剩余存储空间等级数值和读写速度等级数值;
基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值,包括:基于所确定的剩余存储空间等级数值和读写速度等级数值以及预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值,生成该待写入节点的权重值;
根据所生成的权重值集合,从所述待写入节点组中确定目标待写入节点;
将所述待存储数据存储到所述目标待写入节点。
2.根据权利要求1所述的方法,其中,存储器性能信息包括以下至少一项:存储器剩余存储空间大小,存储器的读写速度,存储器转速,寻道时间。
3.根据权利要求1-2之一所述的方法,其中,所述根据所生成的权重值集合,从所述待写入节点组中确定目标待写入节点,包括:
将所生成的权重值集合中的权重值从大到小进行排序,生成权重值序列,其中,权重值集合中的权重值与所述待写入节点组中的待写入节点具有一一对应的关系;
对于所生成的权重值序列中的权重值,按照设定的等级间距,对该权重值划分等级,得到该权重值对应的等级数值;
根据所得到的等级数值,从所述待写入节点组中确定目标待写入节点。
4.一种用于存储数据的装置,包括:
接收单元,被配置成接收包括待存储数据的存储请求;
获取单元,被配置成对于待写入节点组中的待写入节点,获取该待写入节点所包括的至少一个存储器对应的存储器性能信息集合,以及基于所获取的存储器性能信息集合生成该待写入节点的权重值;
确定单元,被配置成根据所生成的权重值集合,从所述待写入节点组中确定目标待写入节点;
存储单元,被配置成将所述待存储数据存储到所述目标待写入节点;
其中,所述基于所获取的存储器性能信息集合生成该待写入节点的权重值,包括:
基于所获取的存储器性能信息集合,经过归一化确定该待写入节点的剩余存储空间等级数值和读写速度等级数值;
基于所确定的剩余存储空间等级数值和读写速度等级数值,生成该待写入节点的权重值,包括:基于所确定的剩余存储空间等级数值和读写速度等级数值以及预先设置的该待写入节点的剩余存储空间等级数值的权重值和读写速度等级数值的权重值,生成该待写入节点的权重值。
5.根据权利要求4所述的装置,其中,存储器性能信息包括以下至少一项:存储器剩余存储空间大小,存储器的读写速度,存储器转速,寻道时间。
6.根据权利要求4-5之一所述的装置,其中,所述根据所生成的权重值集合,从所述待写入节点组中确定目标待写入节点,包括:
将所生成的权重值集合中的权重值从大到小进行排序,生成权重值序列,其中,权重值集合中的权重值与所述待写入节点组中的待写入节点具有一一对应的关系;
将所生成的权重值序列中的权重值按照等间距进行划分等级,得到权重值对应的等级数值;
根据所得到的等级数值,从所述待写入节点组中确定目标待写入节点。
7.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的方法。
8.一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如权利要求1-3中任一所述的方法。
CN201811397163.2A 2018-11-22 2018-11-22 用于存储数据的方法和装置 Active CN109542352B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811397163.2A CN109542352B (zh) 2018-11-22 2018-11-22 用于存储数据的方法和装置
US16/565,418 US11314451B2 (en) 2018-11-22 2019-09-09 Method and apparatus for storing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811397163.2A CN109542352B (zh) 2018-11-22 2018-11-22 用于存储数据的方法和装置

Publications (2)

Publication Number Publication Date
CN109542352A CN109542352A (zh) 2019-03-29
CN109542352B true CN109542352B (zh) 2020-05-08

Family

ID=65849471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811397163.2A Active CN109542352B (zh) 2018-11-22 2018-11-22 用于存储数据的方法和装置

Country Status (2)

Country Link
US (1) US11314451B2 (zh)
CN (1) CN109542352B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428266B (zh) * 2019-09-05 2020-11-27 温永宁 基于大数据的存储节点空间容量和安全性评估方法
CN112527492A (zh) * 2019-09-18 2021-03-19 华为技术有限公司 一种分布式存储系统中的数据存储方法及装置
CN111782148B (zh) * 2020-06-30 2023-09-05 中国工商银行股份有限公司 数据存储控制方法和装置、以及电子设备和存储介质
CN112698793B (zh) * 2021-01-15 2024-03-26 江苏云从曦和人工智能有限公司 一种数据存储方法、装置、机器可读介质及设备
CN115174591B (zh) * 2022-07-01 2023-10-13 深圳市玄羽科技有限公司 一种智能制造系统及其数据安全管理方法
CN117082083A (zh) * 2023-08-30 2023-11-17 杭州浩联智能科技有限公司 一种基于分布式物联网架构的数据存储方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948248A (zh) * 2017-11-01 2018-04-20 平安科技(深圳)有限公司 分布式存储方法、控制服务器及计算机可读存储介质
CN108287666A (zh) * 2018-01-16 2018-07-17 中国人民公安大学 用于云存储环境的数据存储方法及装置
CN108304142A (zh) * 2017-12-29 2018-07-20 杭州华为数字技术有限公司 一种数据管理方法和装置
CN108810115A (zh) * 2018-05-29 2018-11-13 电子科技大学 一种适用于分布式数据库的负载均衡方法、装置及服务器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317808B1 (en) * 1999-03-26 2001-11-13 Adc Telecommunications, Inc. Data storage system and method of routing or assigning disk write requests among a set of disks using weighted available disk space values
US7493234B2 (en) * 2005-05-10 2009-02-17 International Business Machines Corporation Monitoring and reporting normalized device system performance
US7849180B2 (en) * 2008-04-29 2010-12-07 Network Appliance, Inc. Load balanced storage provisioning
CN105701028B (zh) * 2014-11-28 2018-10-09 国际商业机器公司 分布式存储系统中的磁盘管理方法和设备
US9747177B2 (en) * 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US9823857B1 (en) * 2015-03-27 2017-11-21 Veritas Technologies Llc Systems and methods for end-to-end quality of service control in distributed systems
WO2016190893A1 (en) * 2015-05-25 2016-12-01 Hewlett Packard Enterprise Development Lp Storage management
CN106649401A (zh) * 2015-11-03 2017-05-10 阿里巴巴集团控股有限公司 分布式文件系统中的数据写入方法和装置
US9760479B2 (en) * 2015-12-02 2017-09-12 Pure Storage, Inc. Writing data in a storage system that includes a first type of storage device and a second type of storage device
CN106161610A (zh) * 2016-06-29 2016-11-23 华为技术有限公司 一种分布式存储的方法和系统
CN107948229B (zh) * 2016-10-13 2021-04-13 腾讯科技(深圳)有限公司 分布式存储的方法、装置及系统
US10693951B2 (en) * 2017-06-01 2020-06-23 Salesforce.Com, Inc. Decentralized, resource aware load distribution in a distributed system
US11151095B2 (en) * 2017-06-30 2021-10-19 Vmware, Inc. Cloud-scale file-based filesystem for hybrid cloud storage
US10372363B2 (en) * 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
CN108595108A (zh) * 2017-12-29 2018-09-28 北京奇虎科技有限公司 一种数据的迁移方法和装置
CN108196791A (zh) * 2017-12-29 2018-06-22 北京奇虎科技有限公司 基于多个存储设备的数据访问方法及装置
US20190042089A1 (en) * 2018-03-02 2019-02-07 Intel Corporation Method of improved data distribution among storage devices
CN108519856B (zh) * 2018-03-02 2020-10-27 西北大学 基于异构Hadoop集群环境下的数据块副本放置方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948248A (zh) * 2017-11-01 2018-04-20 平安科技(深圳)有限公司 分布式存储方法、控制服务器及计算机可读存储介质
CN108304142A (zh) * 2017-12-29 2018-07-20 杭州华为数字技术有限公司 一种数据管理方法和装置
CN108287666A (zh) * 2018-01-16 2018-07-17 中国人民公安大学 用于云存储环境的数据存储方法及装置
CN108810115A (zh) * 2018-05-29 2018-11-13 电子科技大学 一种适用于分布式数据库的负载均衡方法、装置及服务器

Also Published As

Publication number Publication date
CN109542352A (zh) 2019-03-29
US11314451B2 (en) 2022-04-26
US20200004464A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
CN109542352B (zh) 用于存储数据的方法和装置
JP7422856B2 (ja) ノードデータ同期方法及び装置、システム、電子機器、記憶媒体並びにコンピュータプログラム
US10764030B2 (en) Reduction in storage usage in distributed databases
CN107423085B (zh) 用于部署应用的方法和装置
US20190188086A1 (en) Redundancy reduction in blockchains
CN111368013B (zh) 基于多账户的统一标识方法、系统、设备和存储介质
CN109508326B (zh) 用于处理数据的方法、装置和系统
CN108933695B (zh) 用于处理信息的方法和装置
CN108011949B (zh) 用于获取数据的方法和装置
CN110955640A (zh) 跨系统数据文件的处理方法、装置、服务器和存储介质
CN113010405A (zh) 一种应用程序的测试方法和装置
US11107037B2 (en) Method and system of sharing product data in a collaborative environment
CN109165723B (zh) 用于处理数据的方法和装置
CN111338834A (zh) 数据存储方法和装置
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
CN107609852B (zh) 用于处理支付请求的方法和装置
US10097484B2 (en) Using send buffers and receive buffers for sending messages among nodes in a network
US20220101183A1 (en) Feature processing for machine learning
CN109712011B (zh) 社区发现方法和装置
CN111460273B (zh) 信息推送方法和装置
CN111949860A (zh) 用于生成相关度确定模型的方法和装置
CN116820354B (zh) 数据存储方法、数据存储装置和数据存储系统
CN114063879B (zh) 用于处理操作命令的方法、电子设备和存储介质
CN111460270B (zh) 信息推送方法和装置
CN108537659B (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