CN111443867A - 一种数据存储方法、装置、设备及存储介质 - Google Patents
一种数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111443867A CN111443867A CN202010212580.6A CN202010212580A CN111443867A CN 111443867 A CN111443867 A CN 111443867A CN 202010212580 A CN202010212580 A CN 202010212580A CN 111443867 A CN111443867 A CN 111443867A
- Authority
- CN
- China
- Prior art keywords
- data
- sinking
- data storage
- user
- cold
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据存储方法、装置、设备及存储介质,其中该方法应用于数据存储系统,该数据存储系统包括热数据存储服务器和冷数据存储服务器,热数据存储服务器中存储磁盘的性能优于冷数据存储服务器中存储磁盘的性能。该方法包括:针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;基于下沉数据生成下沉数据文件;将下沉数据文件存储至冷数据存储服务器;基于下沉数据文件中下沉数据在冷数据存储服务器中的存储位置,生成下沉数据对应的目标索引信息。该方法能够在保证系统访问性能的同时,有效地降低数据存储成本。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据存储方法、装置、设备及存储介质。
背景技术
随着互联网技术和计算机技术的迅速发展,通讯应用程序(Application,APP)如今在人们的日常生活中起着越来越重要的作用,消息系统作为此类通讯APP后台的核心系统,其访问性能一直备受关注。
目前,为了保证消息系统的访问性能,通常将所有的用户数据均存储在基于固态硬盘(Solid State Disk,SSD)的消息系统中。但是,SSD的部署成本普遍较高,并且随着所存储的用户数据的增多,消息系统中相应地需要部署越来越多的SSD,如此将带来高昂的数据存储成本。
发明内容
本申请实施例提供了一种数据存储方法、装置、设备及存储介质,能够在保证系统访问性能的同时,有效地降低数据存储成本。
有鉴于此,本申请第一方面提供了一种数据存储方法,所述方法应用于数据存储系统,所述数据存储系统包括:热数据存储服务器和冷数据存储服务器,所述热数据存储服务器中存储磁盘的性能优于所述冷数据存储服务器中存储磁盘的性能;所述方法包括:
针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;基于所述下沉数据生成下沉数据文件;
将所述下沉数据文件存储至所述冷数据存储服务器;
基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
本申请第二方面提供了一种数据存储装置,所述装置应用于数据存储系统,所述数据存储系统包括:热数据存储服务器和冷数据存储服务器,所述热数据存储服务器中存储磁盘的性能优于所述冷数据存储服务器中存储磁盘的性能;所述装置包括:
下沉数据确定模块,用于针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;
下沉数据文件生成模块,用于基于所述下沉数据生成下沉数据文件;
冷数据存储模块,用于将所述下沉数据文件存储至所述冷数据存储服务器;
索引信息生成模块,用于基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
本申请第三方面提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的数据存储方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的数据存储方法的步骤。
本申请第五方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行上述第一方面所述的数据存储方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种数据存储方法,该方法应用于包括热数据存储服务器和冷数据存储服务器的数据存储系统,其中,冷数据存储服务器中存储磁盘的性能相比热数据存储服务器中存储磁盘的性能较差,相应地,冷数据存储服务器中存储磁盘的成本通常低于热数据存储服务器中存储磁盘的成本。该方法将数据存储系统接收的用户数据划分为热数据和冷数据,将不满足预设下沉条件的热数据(如访问热度较高的用户数据、较为重要的用户数据、较为敏感的用户数据等)存储在热数据存储服务器中,将满足预设下沉条件的冷数据(如访问热度较低的用户数据、不太重要的用户数据、不太敏感度的用户数据等)作为下沉数据,存储至冷数据存储服务器,并且还会基于该下沉数据在冷数据存储服务器中的存储位置生成对应的索引信息。相比相关技术将系统接收的所有用户数据均存储在成本较高的SSD的实现方式,本申请实施例提供的方法利用成本高、访问性能较好的存储磁盘存储热数据,利用成本低、访问性能较差的存储磁盘存储冷数据,并且针对冷数据生成便于快速访问的索引信息,如此,既可以有效地降低数据存储成本,又能够在一定程度上保证系统的访问性能。
附图说明
图1为本申请实施例提供的数据存储系统的结构示意图;
图2为本申请实施例提供的数据存储方法的流程示意图;
图3为本申请实施例提供的数据下沉程序的处理过程示意图;
图4为本申请实施例提供的包含两级索引信息的索引数据结构示意图;
图5为本申请实施例提供的针对下沉数据文件构建二级索引信息和三级索引信息的实现方式示意图;
图6为本申请实施例提供的数据读取方法的流程示意图;
图7为本申请实施例提供的数据存储方法的实现架构示意图;
图8为本申请实施例提供的一种数据存储装置的结构示意图;
图9为本申请实施例提供的一种数据存储装置的结构示意图;
图10为本申请实施例提供的一种数据存储装置的结构示意图;
图11为本申请实施例提供的一种数据存储装置的结构示意图;
图12为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
相关技术中,通常将消息系统中所有的用户数据均存储在成本较高的SSD中,随着所需存储的用户数据的增多,消息系统中需要相应地部署越来越多的SSD,如此将导致消息系统的数据存储成本大幅增加。
为了解决上述相关技术存在的问题,本申请实施例提供了一种数据存储方法,该方法能够在保证系统访问性能的前提下,减少数据存储成本。
具体的,本申请实施例提供的方法应用于包括热数据存储服务器和冷数据存储服务器的数据存储系统,该热数据存储服务器中存储磁盘的性能优于冷数据存储服务器中存储磁盘的性能。具体实现时,相关设备会针对数据存储系统接收的用户数据,确定其中满足预设下沉条件的用户数据作为下沉数据,并基于该下沉数据生成下沉数据文件;然后,将所生成的下沉数据文件存储至冷数据存储服务器中;进而,基于下沉数据文件中的下沉数据在冷数据存储服务器中的存储位置,生成该下沉数据对应的目标索引信息。
相比相关技术将系统接收的所有用户数据均存储在成本较高的SSD盘,本申请实施例提供的方法将消息系统中接收的用户数据划分为热数据和冷数据,利用部署有性能较好、成本较高的存储磁盘的热数据存储服务器存储不满足预设下沉条件的热数据(如访问热度较高的用户数据、较为重要的用户数据、较为敏感的用户数据等),利用部署有性能较差、成本较低的存储磁盘的冷数据存储服务器存储满足预设下沉条件的冷数据(如访问热度较低的用户数据、不太重要的用户数据、不太敏感的用户数据等),并在将冷数据存储至冷数据存储服务器的过程中,生成冷数据对应的索引信息,以方便后续快速查找读取该冷数据。如此,可以有效地降低系统的数据存储成本,并且在一定程度上保证了系统的访问性能。
应理解,在实际应用中,本申请实施例提供的数据存储方法通常可以应用于服务器。该服务器可以为应用服务器或者Web服务器;在实际部署时,该服务器可以为独立服务器,也可以为集群服务器。
为了便于理解本申请实施例提供的技术方案,下面对本申请实施例提供的数据存储方法所应用的数据存储系统进行介绍。
参见图1,图1为本申请实施例提供的数据存储系统的结构示意图。如图1所示,该数据存储系统中包括热数据存储集群110、冷数据存储集群120和处理服务器130。其中,热数据存储集群110中包括多台热数据存储服务器111至11n,各台热数据存储服务器中部署有成本较高、访问性能较好的存储磁盘,如SSD等。冷数据存储集群120中包括多台冷数据存储服务器121至12m,各台冷数据存储服务器中部署有成本较低、访问性能较差的存储磁盘,如串口硬盘(Serial Advanced Technology Attachment hard disk,SATA)等。处理服务器130用于执行本申请实施例提供的数据存储方法。
以将数据存储系统接收的用户数据默认先存储至热数据存储集群110为例,具体实现时,处理服务器130会扫描热数据存储集群110中热数据存储服务器111至11n上存储的用户数据,确定热数据存储服务器111至11n中存储的满足预设下沉条件的用户数据,作为需要迁移至冷数据存储集群120存储的下沉数据。处理服务器130获取其确定的下沉数据,并基于这些下沉数据相应地生成下沉数据文件。
进而,处理服务器130将所生成的下沉数据文件存储至冷数据存储集群120中的冷数据存储服务器。在实际应用中,为了避免因某台冷数据存储服务器出现故障,导致其存储的下沉数据彻底丢失或损坏,处理服务器130通常可以将其生成的下沉数据文件复制多份,并将这多份下沉数据文件分别存储在冷数据存储集群120中不同的冷数据存储服务器上。
处理器130将下沉数据文件存储至冷数据存储服务器中后,可以控制热数据存储集群110中存储上述下沉数据的热数据存储服务器相应地删除这些下沉数据,释放这些下沉数据在热数据存储服务器中占据的存储空间。并且,处理器130还需要基于上述下沉数据文件中下沉数据在冷数据存储集群120中的存储位置,相应地生成下沉数据对应的目标索引信息,以方便用户后续查找读取这些下沉数据。
应理解,在实际应用中,数据存储系统也可以不直接将其接收的用户数据存储至热数据存储集群110,而在存储用户数据之前,先确定将该用户数据存储至热数据存储集群110还是冷数据存储集群120。即,数据存储系统中的处理器130检测到数据存储系统接收到用户数据后,可以先判断所接收的用户数据是否满足预设下沉条件,若否,则将该用户数据存储至热数据存储集群110中,若是,则将该用户数据作为下沉数据,并基于该下沉数据生成下沉数据文件存储至冷数据存储集群120中。
需要说明的是,在实际应用中,图1所示的数据存储系统可以部署在通讯APP后台的消息系统中,以降低消息系统的数据存储成本,同时在一定程度上保证该消息系统的数据访问性能。此外,图1所示的数据存储系统还可以应用在其他需要进行数据存储的场景中,在此不对该数据存储系统的具体应用场景做任何限定。
应理解,图1所示的数据存储系统仅为示例,在实际应用中,数据存储系统中的热数据存储服务器可以不部署在服务器集群中,而以独立服务器的形式存在;相类似地,数据存储系统中的冷数据存储服务器也可以不部署在服务器集群中,而以独立服务器的形式存在。此外,上述处理服务器130实际上也可以为任意一台热数据存储服务器或者冷数据存储服务器。在此不对本申请实施例提供的数据存储方法所应用的数据存储系统做具体限定。
下面通过实施例对本申请提供的数据存储方法进行详细介绍。
参见图2,图2为本申请实施例提供的数据存储方法的流程示意图,该数据存储方法可以应用于上文介绍的数据存储系统。为了便于描述,下述实施例以服务器作为执行主体进行描述。如图2所示,该数据存储方法包括以下步骤:
步骤201:针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;基于所述下沉数据生成下沉数据文件。在实际应用中,服务器可以针对数据存储系统接收的用户数据进行衡量,衡量所接收的用户数据是否满足预设下沉条件,对于不满足预设下沉条件的数据,将其存储在热数据存储服务器中,对于满足预设下沉条件的数据,将其确定为需要存储至冷数据存储服务器中的下沉数据,并基于该下沉数据生成下沉数据文件。
需要说明的是,上述用户数据通常可以包括:用户账号之间传输的消息、用户账号之间传输的文件(如音频文件、视频文件、文档文件、表格文件、文档演示文件等等)、用户账号之间传输的网络链接等等,本申请在此不对用户数据做任何限定。
需要说明的是,在实际应用中,服务器可以在存储用户数据之前,衡量用户数据是否满足预设下沉条件,进而根据衡量结果确定用户数据在数据存储系统中的存储位置。即服务器一旦检测到数据存储系统接收用户数据,即可判断该用户数据是否满足预设下沉条件,若确定该用户数据满足预设下沉条件,则将该用户数据确定为需要存储至冷数据存储服务器的下沉数据,若确定该用户数据不满足预设下沉条件,则将该用户数据存储至热数据存储服务器。
此外,数据存储系统接收的用户数据也可以被默认先存储在热数据存储服务器中,即数据存储系统一旦接收到用户数据,就直接将该用户数据存储至热数据存储服务器。进而,服务器可以扫描热数据存储服务器中存储的用户数据,判断其中是否存在满足预设下沉条件的用户数据,若存在,则将该满足预设下沉条件的用户数据作为需要转移至冷数据存储服务器中存储的下沉数据。
在一种可能的实现方式中,服务器可以根据用户数据中包含的信息的重要程度,衡量该用户数据是否满足预设下沉条件。具体的,服务器可以针对数据存储系统接收的用户数据,通过第一数据分析模型对该用户数据进行分析,并根据分析结果确定该用户数据对应的重要性等级,其中,该第一数据分析模型用于分析用户数据中包含的信息的重要程度;进而,服务器可以判断用户数据对应的重要性等级是否达到预设重要性等级,若否,则将该用户数据作为下沉数据。
作为一种示例,上述第一数据分析模型可以为预先训练好的神经网络模型,该神经网络模型可以对用户数据中包含的信息进行语义识别,并根据语义识别的结果确定该用户数据的重要程度,为该用户数据配置对应的重要性等级。更具体的,可以预先设置重要程度不同的语义类别,如重要程度较高的第一语义类别、重要程度中等的第二语义类别和重要程度较低的第三语义类别,神经网络模型对用户数据中包含的信息进行语义识别得到对应的结果后,可以进一步判断该语义识别的结果属于哪个语义类别,若判断该语义识别的结果属于第一语义类别,则为该用户数据配置第一重要性等级,表示该用户数据中包含的信息的重要程度较高,若判断该语义识别的结果属于第二语义类别,则为该用户数据配置第二重要性等级,表示该用户数据中包含的信息重要程度中等,若判断该语义识别的结果属于第三语义类别,则为该用户数据配置第三重要性级别,表示该用户数据中包含的信息重要程度较低。
相应地,若预设重要性等级为第一重要性等级,则服务器可以将重要性等级达到第一重要性等级的用户数据存储至热数据存储服务器中,将重要性等级未达到第一重要性等级的用户数据(即第二重要性等级和第三重要性等级的用户数据)作为下沉数据。
应理解,在实际应用中,可以根据实际需求设置第一数据分析模型所能配置的重要性等级,例如,设置第一数据分析模型能够配置5个不同的重要性等级,在此不对第一数据分析模型所能配置的重要性等级做任何限定;相应地,上述预设重要性等级也可以根据实际需求进行设定,在此也不对该预设重要性等级做任何限定。此外,上述第一数据分析模型也可以不是神经网络模型,本申请在此不对上述第一数据分析模型做具体限定。
在另一种可能的实现方式中,服务器可以根据用户数据中包含的信息的敏感程度,衡量该用户数据是否满足预设下沉条件。具体的,服务器可以针对数据存储系统接收的用户数据,通过第二数据分析模型对该用户数据进行分析,并根据分析结果确定该用户数据对应的敏感度等级,其中,该第二数据分析模型用于分析用户数据中包含的信息的敏感程度;进而,服务器可以判断该用户数据对应的敏感度等级是否达到预设敏感度等级,若否,则将该用户数据作为下沉数据。
作为一种示例,上述第二数据分析模型可以为预先训练好的神经网络模型,该神经网络模型可以对用户数据中包含的信息进行语义识别,并根据语义识别的结果确定该用户数据的敏感程度,为该用户数据配置对应的敏感度等级。更具体的,可以预先设置敏感程度不同的语义类别,如敏感程度较高的第四语义类别、敏感程度中等的第五语义类别和敏感程度较低的第六语义类别,神经网络模型对用户数据中包含的信息进行语义识别得到对应的结果后,可以进一步判断该语义识别的结果属于哪个语义类别,若判断该语义识别的结果属于第四语义类别,则为该用户数据配置第一敏感度等级,表示该用户数据中包含的信息的敏感程度较高,若判断该语义识别的结果属于第五语义类别,则为该用户数据配置第二敏感度等级,表示该用户数据中包含的信息敏感程度中等,若判断该语义识别的结果属于第六语义类别,则为该用户数据配置第三敏感度级别,表示该用户数据中包含的信息敏感程度较低。
相应地,若预设敏感度等级为第一敏感度等级,则服务器可以将敏感度等级达到第一敏感度等级的用户数据存储至热数据存储服务器中,将敏感度等级未达到第一敏感度等级的用户数据(即第二敏感度等级和第三敏感度等级的用户数据)作为下沉数据。
应理解,在实际应用中,可以根据实际需求设置第二数据分析模型所能配置的敏感度等级,例如,设置第二数据分析模型能够配置5个不同的敏感度等级,在此不对第二数据分析模型所能配置的敏感度等级做任何限定;相应地,上述预设敏感度等级也可以根据实际需求进行设定,在此也不对该预设敏感度级做任何限定。此外,上述第二数据分析模型也可以不是神经网络模型,本申请在此不对上述第二数据分析模型做具体限定。需要说明的是,在实际应用中,上述第一数据分析模型和第二数据分析模型可以为同一模型,该模型既可以确定用户数据中包含的信息的重要程度,又可以确定用户数据中包含的信息的敏感程度。
在另一种可能的实现方式中,若数据存储系统接收的用户数据默认先存储至热数据存储服务器,则服务器可以根据热数据存储服务器中存储的用户数据的访问热度,衡量用户数据是否满足预设下沉条件。具体的,服务器可以扫描热数据存储服务器中存储的用户数据,进而确定热数据存储服务器中访问热度低于预设热度阈值的用户数据作为下沉数据。
作为一种示例,热数据存储服务器可以根据用户数据近期被访问的次数确定其对应的访问热度,例如,热数据存储服务器可以根据用户数据近一周被访问的次数确定其对应的访问热度;用户数据被访问的次数越多,其对应的访问热度越高。
作为另一种示例,热数据存储服务器可以根据用户数据的存储时间确定其对应的访问热度,例如,热数据存储服务器可以根据用户数据的存储时间确定其对应的访问热度,用户数据在热数据存储服务器中的存储时间越长,其对应的访问热度越低,用户数据在热数据存储服务器中的存储时间越短,其对应的访问热度越高。
作为又一种示例,热数据存储服务器还可以综合考虑用户数据的被访问次数和存储时间,来确定用户数据的访问热度。例如,热数据存储服务器可以基于用户数据近期被访问的次数确定其对应的第一子访问热度,基于用户数据的存储时间确定其对应的第二子访问热度,热数据存储服务器预先可以根据自身业务需求为第一子访问热度和第二子访问热度分配对应的权重,进而基于该权重对用户数据对应的第一子访问热度和第二子访问热度进行加权处理,得到该用户数据的访问热度。
相应地,服务器可以将热数据存储服务器中访问热度低于预设热度阈值的用户数据,作为需要转移至冷数据存储服务器存储的下沉数据,将热数据存储服务器中访问热度不低于预设热度阈值的用户数据,继续保留在热数据存储服务器中存储。
应理解,上述预设热度阈值可以根据实际需求进行设定,本申请在此不对该预设热度阈值做具体限定。
需要说明的是,在实际应用中,为了进一步保证所确定的下沉数据为后续被拉取可能性较低的数据,服务器还可以将上述用户数据的重要性等级、敏感度等级和访问热度中的任意两者或三者结合起来,衡量用户数据是否满足预设下沉条件。
例如,服务器可以综合考虑用户数据的重要性等级和敏感度等级,确定用户数据是否满足预设下沉条件。具体的,服务器若确定用户数据的重要性等级没有达到预设重要性等级,且用户数据的敏感度等级也没有达到预设敏感度等级,则可以将该用户数据作为下沉数据;反之,若用户数据的重要性等级达到了预设重要性等级,和/或用户数据的敏感度等级达到了预设敏感度等级,则可以确定将该用户数据存储至热数据存储服务器。
又例如,服务器可以综合考虑用户数据的重要性等级、敏感度等级和访问热度,确定用户数据是否满足预设下沉条件。具体的,服务器若确定用户数据的重要性等级没有达到预设重要性等级,且该用户数据的敏感度等级也没有达到预设敏感度等级,且该用户数据的访问热度低于预设热度阈值,则可以将该用户数据作为下沉数据;反之,若用户数据的重要性等级达到了预设重要性等级,和/或用户数据的敏感度等级达到了预设敏感度等级,和/或用户数据的访问热度不低于预设热度阈值,则可以确定将该用户数据存储至热数据存储服务器。
当然,在实际应用中,也可以综合考虑重要性等级和访问热度,或者综合考虑敏感度等级和访问热度,来确定用户数据是否满足预设下沉条件,具体实现方式与上文介绍的实现方式相类似,此处不再赘述。
需要说明的是,在数据存储系统接收的用户数据默认先存储至热数据存储服务器的情况下,服务器确定下沉数据时可以从用户的维度出发。即服务器确定下沉数据时,可以针对热数据存储服务器中每个用户账号下的用户数据分别执行上述下沉数据筛选操作,相应地确定每个用户账号的下沉数据,例如,服务器可以针对A用户账号下的用户数据,扫描其中是否存在访问热度低于预设热度阈值的用户数据,若存在,则将这部分用户数据作为A用户账号的下沉数据。
在另一种可能的实现方式中,服务器可以在热数据存储服务器中某用户账号下的用户数据过多的情况下,默认这些用户数据中在预设历史时段内产生的用户数据访问热度较低,进而将这部分用户数据作为下沉数据。即,服务器可以针对热数据存储服务器中每个用户账号下的用户数据,判断该用户账号下的用户数据是否超过预设数据量,若是,则将该用户账号下预设历史时段内的用户数据作为该用户账号的下沉数据。
具体的,服务器可以预先针对各用户账号在热数据存储服务器中存储的用户数据设定预设数据量,若热数据存储服务器中某用户账号下的用户数据超过该预设数据量,则认为热数据存储服务器中该用户账号下的用户数据过多,其在热数据存储服务器中占用的存储资源过多,需要将该用户账号下的部分用户数据转移至冷数据存储服务器中存储。经本申请发明人研究发现,用户数据的产生时间与用户数据的访问热度之间具有很强的关联关系,用户数据的产生时间越早,该用户数据的访问热度越低;基于此,服务器在确定热数据存储服务器中某用户账号下的用户数据过多的情况下,可以将该用户账号在预设历史时段内产生的用户数据,确定为该用户账号的下沉数据。
应理解,上述预设数据量可以根据实际需求设定,例如,可以根据用户数据的数量进行设定(如将预设数据量设定为8000条、10000条等等),也可以根据用户数据所占用的内存空间设定(如将预设数据量设定为5G、10G等等),本申请在此不对该预设数据量做具体限定。此外,上述预设历史时段也可以根据实际需求设定,例如,可以将距当前时刻一周或一个月之前的时间均设定为预设历史时段,本申请在此也不对该预设历史时段做具体限定。
应理解,上文介绍的实现方式仅为示例,在实际应用中,服务器还可以通过其他实现方式确定下沉数据,例如,可以直接将热数据存储服务器中在预设历史时段内产生的用户数据确定为下沉数据,等等。本申请在此不对服务器确定下沉数据的实现方式做具体限定。
需要说明的是,为了尽可能地减少服务器所需执行的将下沉数据文件写入冷数据存储服务器的操作次数,服务器生成一份下沉数据文件时通常需要基于大量的下沉数据,即服务器获取到足够多的下沉数据后,才会基于所获取的下沉数据生成对应的下沉数据文件。
为了方便用户后续快速地从冷数据存储服务器中拉取所需的下沉数据,以及方便清理冷数据存储服务器中的下沉数据,服务器在生成下沉数据文件时,可以仍从单个用户的维度出发,根据某用户账号的下沉数据生成该用户账号的子下沉数据文件,然后再基于各用户账号各自的子下沉数据文件生成可以存储至冷数据存储服务器的下沉数据文件。
具体的,服务器可以将其当前获取的多个用户账号的下沉数据累加起来,并判断累加后的下沉数据是否达到下沉数据文件对应的目标数据量;若否,则服务器需要继续扫描热数据存储服务器,以从中获取更多的下沉数据;若是,则服务器可以针对这多个用户账号中的每个用户账号,基于该用户账号的下沉数据生成该用户账号的子下沉数据文件,进而基于这多个用户账号各自的子下沉数据文件生成下沉数据文件。
更进一步的,为了更方便用户后续快速地从冷数据存储服务器中拉取所需的下沉数据,以及清理冷数据存储服务器中存储的下沉数据,服务器可以针对一个用户账号生成多个子下沉数据文件。具体的,服务器可以基于产生时间将用户账号的下沉数据划分为多个数据块,所属于同一数据块的下沉数据的产生时间相近(例如,均在同一小时内或者均在同一天内等等),进而基于所属于同一数据块的下沉数据生成对应的子下沉数据文件。
步骤202:将所述下沉数据文件存储至所述冷数据存储服务器。
服务器基于满足预设下沉条件的下沉数据生成对应的下沉数据文件后,可以将所生成的下沉数据文件存储至冷数据存储服务器中。在数据存储系统接收的用户数据默认先存储至热数据存储服务器的情况下,在确定下沉数据文件存储成功后,服务器可以进一步控制热数据存储服务器相应地删除上述下沉数据,并释放这些下沉数据在热数据存储服务器中占据的存储空间。
需要说明的是,在实际应用中,冷数据存储服务器通常以服务器集群的形式存在,即数据存储系统中包括冷数据存储集群,冷数据存储集群中包括多台冷数据存储服务器。为了保证下沉数据存储的可靠性,避免因某台冷数据存储服务器中的存储磁盘出现故障,而导致其存储的下沉数据彻底丢失或者损坏,本申请实施例提供的方法可以对下沉数据文件进行冗余备份存储。
具体的,服务器可以复制其生成的下沉数据文件,得到多份下沉数据文件;进而,将这多份下沉数据文件分别存储至冷数据存储集群中不同的冷数据存储服务器中。
作为一种示例,服务器可以对下沉数据文件进行复制,得到三份下沉数据文件,并将三份下沉数据文件分别写入三台不同的冷数据存储服务器,三份下沉数据文件均成功写入,则可认为下沉数据文件已被成功存储至冷数据存储服务器。此时,服务器可以控制热数据存储服务器删除其中存储的下沉数据,并释放所删除的下沉数据占用的存储空间。
应理解,在实际应用中,服务器可以根据实际需求设定下沉数据文件的备份副本的数量,例如,可以设定在冷数据存储集群中存储三份或五份相同的下沉数据文件,本申请在此不对下沉数据文件的备份副本的数量做任何限定。
需要说明的是,在实际应用中,每完成一次下沉数据文件的存储,服务器均会相应地生成该下沉数据文件中下沉数据对应的索引信息。相应地,在进行本次下沉数据文件的存储操作时,服务器可以根据当前已生成的所有索引信息,确定本次需要存储的下沉数据文件在冷数据存储集群中的存储位置,以便均衡冷数据存储集群中各冷数据存储服务器的负载。
为了便于理解上述步骤201和步骤202的实现方式,下面结合图3所示的处理过程示意图对步骤201和步骤202的实现方式进行示例性介绍。
如图3所示,服务器中的数据下沉程序可以对热数据存储服务器中的用户数据进行扫描,以确定其中满足预设下沉条件的用户数据作为下沉数据。在确定下沉数据的过程中,服务器可以不断地统计当前已确定的下沉数据是否达到下沉数据文件对应的目标数据量,并在确定已到达该目标数据量的情况下,基于所确定的下沉数据生成下沉数据文件。生成下沉数据文件之前,数据下沉程序可以针对每个用户账号的下沉数据按照其产生时间进行排序,基于用户账号下产生时间相近的下沉数据生成子下沉数据文件。
进而,数据下沉程序可以从多个并行的任务队列中选取一个空闲的数据下沉worker,利用该数据下沉worker基于已生成的子下沉数据文件相应地生成下沉数据文件,并对所生成的下沉数据文件进行复制操作,得到三份下沉数据文件,将三份下沉数据文件分别存储至冷数据存储服务集群中三台不同的冷数据存储服务器。
步骤203:基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
服务器完成下沉数据文件的存储后,即可根据下沉数据文件中的下沉数据在冷数据存储服务器中的存储位置,生成该下沉数据对应的目标索引信息,以便用户后续需要从冷数据存储服务器中拉取该下沉数据时,可以基于该目标索引信息快速地在冷数据存储服务器中查找到该下沉数据。
在一种可能的实现方式中,为了尽可能地减少服务器生成索引信息时所需耗费的计算量,提高索引信息的生成效率,服务器可以仅生成一级索引信息作为上述目标索引信息。即,服务器可以确定下沉数据的消息序号、下沉数据文件的文件标识以及冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息,将该一级索引信息作为目标索引信息。
需要说明的是,数据存储系统中存储的每个用户数据均对应唯一的消息序号,每生成一个用户数据,数据存储系统即会为该用户数据分配一个对应的消息序号,该消息序号可作为从数据存储系统中拉取该用户数据的依据。冷数据存储服务器中存储的每个下沉数据文件均对应唯一的文件标识,文件标识是服务器生成下沉数据文件时为其相应分配的,基于一个文件标识可以在冷数据存储服务器中查到与该文件标识唯一对应的下沉数据文件。冷数据存储集群中每个冷数据存储服务器均对应唯一的设备标识,设备标识具体可以为冷数据存储服务器的网际互联协议(Internet Protocol,IP)信息。
可选的,一级索引信息中除了可以包括下沉数据的消息序号、下沉数据文件的文件标识以及冷数据存储服务器的设备标识外,还可以包括下沉数据的产生时间;本申请在此不对一级索引信息包括的内容做具体限定。
在实际应用中,上述一级索引信息通常存储在索引集群中,如图3所示,数据下沉worker需要调用索引集群存储所生成的一级索引信息。索引集群可以基于paxos协议在索引集群中各台服务器上同步存储一级索引信息,在下沉数据文件被复制多份冗余存储的情况下,索引集群可以基于paxos协议在索引集群中各台服务器上同步存储各份下沉数据文件各自对应的一级索引信息。
在服务器确定下沉数据的消息序号、下沉数据文件的文件标识以及冷数据存储服务器的设备标识之间的关联关系作为目标索引信息的情况下,当用户需要从冷数据存储服务器中拉取下沉数据时,服务器可以先基于目标索引信息,查找到与该下沉数据的消息序号相关联的冷数据存储服务器的设备标识,如此基于该设备标识确定存储该下沉数据的冷数据存储服务器;进而基于目标索引信息,查找与该下沉数据的消息序号相关联的下沉数据文件的文件标识,如此基于该文件标识确定该下沉数据所属的下沉数据文件。查找到该下沉数据文件后,即可基于该下沉数据的消息序号,在该下沉数据文件中遍历查找该下沉数据。
在另一种可能的实现方式中,考虑到下沉数据文件中通常包括大量下沉数据,为了进一步提高对于冷数据存储服务器中存储的下沉数据的查找速度,提升数据存储系统对于下沉数据的访问性能,服务器可以在上述一级索引信息的基础上,从用户的维度出发针对下沉数据文件构建二级索引信息,将一级索引信息和二级索引信息共同作为目标索引信息。
即,服务器可以确定下沉数据的消息序号、下沉数据文件的文件标识以及冷数据存储服务器的设备标识之间的关联关系作为一级索引信息,然后针对下沉数据文件,确定其中下沉数据的消息序号与该下沉数据所属的用户账号之间的关联关系作为二级索引信息,进而,将该一级索引信息和二级索引信息作为目标索引信息。
具体的,下沉数据文件中通常包括多个用户账号的下沉数据,为了进一步提升下沉数据的查找速度,服务器可以基于用户账号的纬度针对下沉数据文件再构建一级索引信息,即构建下沉数据的消息序号与其所属的用户账号之间的关联关系作为二级索引信息,进而,将该二级索引信息与一级索引信息结合起来作为该下沉数据对应的目标索引信息。
图4为一种包含两级索引信息的索引数据结构示意图。如图4所示,表格(a)中记录有一级索引信息,其中包括下沉数据文件的文件标识file id以及存储该下沉数据文件的三个冷数据存储服务器的设备标识ip_a、ip_b和ip_c,还包括三个冷数据存储服务器中用于存储该下沉数据文件的存储磁盘标识disk_a、disk_b和disk_c。表格(b)中记录有二级索引信息,其中包括下沉数据文件的文件标识file id、用户账号uin、下沉数据文件中该用户账号的起始下沉数据的起始消息序号start_seq和终止下沉数据的终止消息序号end_seq;可选的,二级索引信息中还可以包括起始下沉数据的产生时间start_seq_time、终止下沉数据的产生时间end_seq_time、该用户账号的下沉数据的失效时间expire_time以及利用布隆过滤器(bloom filter)针对该用户账号的下沉数据确定的起始消息序号start_svr_id和终止消息序号end_svr_id。
服务器基于一级索引信息确定出所要拉取的下沉数据所属的下沉数据文件后,可以进一步基于二级索引信息,根据该下沉数据所属的用户账号确定下沉数据文件中该用户账号的下沉数据的存储位置,进而根据下沉数据的消息序号在所确定的存储位置查找该下沉数据。
需要说明的是,当二级索引信息中还包括利用bloom filter确定的svr_id时,服务器可以基于该svr_id快速地确定所要拉取的下沉数据是否存储在下沉数据文件中该用户账号的下沉数据中。
在又一种可能的实现方式中,考虑下沉数据文件中每个用户账号的下沉数据的数据量也很大,为了更进一步提高对于冷数据存储服务器中存储的下沉数据的查找速度,提升数据存储系统对于下沉数据的访问性能,服务器可以在上述二级索引信息的基础上,针对下沉数据文件中一个用户账号的下沉数据进行分块处理,并相应地构建三级索引信息,将一级索引信息、二级索引信息和三级索引信息共同作为目标索引信息。
即,服务器可以确定下沉数据的消息序号、下沉数据文件的文件标识以及冷数据存储服务器的设备标识之间的关联关系作为一级索引信息;针对下沉数据文件,确定其中下沉数据的消息序号与该下沉数据所属的用户账号之间的关联关系作为二级索引信息;针对下沉数据文件中属于某用户账号的下沉数据,确定下沉数据的消息序号与下沉数据所属的数据分块之间的关联关系作为三级索引信息,下沉数据文件中属于同一用户账号的下沉数据被划分为至少一个数据分块,每个数据分块中包括多条下沉数据;进而,将一级索引信息、二级索引信息和三级索引信息共同作为目标索引信息。
具体的,服务器可以对下沉数据文件中所属于同一用户账号的下沉数据进行分块处理得到多个数据分块,每个数据分块中包括的下沉数据较少,例如可以包括255条下沉数据。进而,构建下沉数据的消息序号与其所属的数据分块之间的关联关系作为三级索引信息。
图5为本申请实施例中针对下沉数据文件构建二级索引信息和三级索引信息的实现方式示意图。如图5所示,对于一个下沉数据文件,可以先根据其中包括的下沉数据所属的用户账号,针对每个用户账号分别构建一级索引信息(即二级索引信息),再针对所属于一个用户账号的下沉数据进行分块处理,基于分块处理的结果再构建一级索引信息(即三级索引信息)。
服务器基于二级索引信息相应地查找到所要拉取的下沉数据所属的用户账号在下沉数据文件中的存储位置后,可以进一步基于三级索引信息,根据该下沉数据的消息序号确定其具体所属的数据分块,进而在该数据分块中快速地遍历查找该下沉数据。
应理解,上文介绍的三种构建目标索引信息的实现方式仅为示例,在实际应用中,服务器也可以采用其他方式针对下沉数据构建对应的目标索引信息,本申请在此不对目标索引信息的构建方式做任何限定。
正如步骤202中所提及的,为了均衡冷数据存储集群中各冷数据存储服务器的负载,在实际应用中,将下沉数据文件存储至冷数据存储服务器中时,服务器可以根据已存储的下沉数据文件对应的索引信息,确定本次存储操作所利用的冷数据存储服务器。
结合上文所介绍的三种构建目标索引信息的实现方式,服务器在确定存储操作所利用的冷数据存储服务器时,可以先根据上述一级索引信息,确定数据存储系统(也可以理解为冷数据存储集群)中各冷数据存储服务器各自对应的占用率,然后再根据各冷数据存储服务器各自对应的占用率,选出目标冷数据存储服务器,并将此次需要存储的下沉数据文件存储至该目标冷数据存储服务器。
具体的,服务器可以先根据一级索引信息,确定冷数据存储集群中每台冷数据存储服务器存储的下沉数据文件,并针对每台冷数据存储服务器,根据该冷数据存储服务器中已存储的下沉数据文件和该冷数据存储服务器的总存储容量,确定该冷数据存储服务器对应的占用率。进而,服务器可以从占用率低于预设占用率阈值的冷数据存储服务器中,选出与待存储的下沉数据文件的数量相对应的若干台冷数据存储服务器,作为目标冷数据存储服务器,并将各待存储的下沉数据文件分别存储至这些目标冷数据存储服务器;或者,服务器可以各台冷数据存储服务器中,选出占用率最低的与待存储的下沉数据文件的数量相对应的若干台冷数据存储服务器,作为目标冷数据存储服务器,并将各待存储的下沉数据文件分别存储至这些目标冷数据存储服务器。
应理解,在实际应用中,随着时间的推移,早期写入冷数据存储服务器的下沉数据会慢慢地过期,此时服务器需要开启删除线程,将过期的下沉数据从冷数据存储服务器中删除,释放这些下沉数据在冷数据存储服务器中占用的存储空间。
即,服务器需要判断冷数据存储服务器中下沉数据的存储时间是否达到预设时间阈值,若是,则可以删除冷数据存储服务器中该下沉数据,同时删除该下沉数据对应的目标索引信息。此处的预设时间阈值可以根据实际需求进行设定,如半年或一年等等,本申请在此不对该预设时间阈值做具体限定。
应理解,若服务器在执行步骤201构建下沉数据文件时,基于同一用户账号下产生时间相近的用户数据生成了子下沉数据文件,则此时服务器可以以子下沉数据文件为粒度执行上述删除操作。
上述本申请实施例提供的数据存储方法依据访问热度将数据存储系统接收的用户数据划分为热数据和冷数据,利用部署有成本较高、性能较好的存储磁盘的热数据存储服务器存储不满足预设下沉条件的热数据(如访问热度较高的用户数据、较为重要的用户数据、较为敏感的用户数据等),利用部署有成本较低、性能较差的存储磁盘的冷数据存储服务器存储满足预设下沉条件的冷数据(如访问热度较低的用户数据、不太重要的用户数据、不太敏感的用户数据等),并在将冷数据存储至冷数据存储服务器的过程中,生成冷数据对应的索引信息,以方便后续快速查找读取该冷数据。如此,可以有效地降低数据存储成本,并且在一定程度上保证了系统的访问性能。
针对上文介绍的数据存储方法,本申请实施例还提供了一种适用于上述数据存储系统,与该数据存储方法相对应的数据读取方法。
参见图6,图6为本申请实施例提供的数据读取方法的流程示意图。为了便于描述,下面以服务器作为执行主体进行介绍。如图6所示,该数据读取方法包括以下步骤:
步骤601:接收用户数据读取请求,所述用户数据读取请求包括待读取数据的目标消息序号。
当通讯APP客户端需要读取用户数据时,客户端会向服务器发送用户数据读取请求,该用户数据读取请求中携带有当前待读取数据的目标消息序号。服务器接收到用户数据读取请求后,还可以根据该用户数据读取请求的来源获知待读取数据所属的用户账号。
步骤602:根据所述目标消息序号,查找所述热数据存储服务器中是否存储所述待读取数据。
服务器接收到用户数据读取请求后,可以先根据用户数据读取请求中携带的目标消息序号,在数据存储系统中的热数据存储服务器中查找是否存在该待读取数据,若存在,则可以直接向客户端返回所查找到的待读取数据,若不存在,则继续执行步骤603。
步骤603:在所述热数据存储服务器中没有存储所述待读取数据的情况下,根据所述目标消息序号,基于所述目标索引信息在所述冷数据存储服务器中查找所述待读取数据。
服务器若经步骤602没有在热数据存储服务器中查找到待读取数据,则服务器需要进一步根据待读取数据的目标消息序号,基于存储下沉数据时构建的与下沉数据对应的目标索引信息,在数据存储系统中的冷数据存储服务器中查找该待读取数据。
具体的,当目标索引信息仅包括上文中的一级索引信息时,服务器可以先基于一级索引信息,查找与目标消息序号相关联的冷数据存储服务器的设备标识,基于该设备标识确定存储该待读取数据的冷数据存储服务器;进而基于一级索引信息,查找与目标消息序号相关联的下沉数据文件的文件标识,基于该文件标识确定待读取数据所属的下沉数据文件。查找到该下沉数据文件后,即可基于目标消息序号,在该下沉数据文件中遍历查找该待读取数据。
当目标索引信息包括上文中的一级索引信息和二级索引信息时,服务器基于一级索引信息确定出待读取数据所属的下沉数据文件后,可以进一步基于二级索引信息,根据该待读取数据所属的用户账号确定该下沉数据文件中该用户账号的下沉数据的存储位置,进而根据目标消息序号在所确定的存储位置查找待读取数据。
当目标索引信息包括上文中的一级索引信息、二级索引信息和三级索引信息时,服务器基于二级索引信息查找到待读取数据所属的用户账号在下沉数据文件中的存储位置后,可以进一步基于三级索引信息,根据目标消息序号确定待读取数据具体所属的数据分块,进而在该数据分块中快速地遍历查找该待读取数据。
上述数据读取方法先基于待读取数据的目标消息序号,在热数据存储服务器中查找该待读取数据,在确定热数据存储服务器中没有存储该待读取数据的情况下,进一步基于在将下沉数据存储至冷数据存储服务器的过程中生成的目标索引信息,快速地依据目标消息序号在冷数据存储服务器中查找待读取数据。如此,既降低了数据存储成本,又保证了系统的数据访问性能。
为了便于进一步理解本申请实施例提供的数据存储方法,下面以上述数据存储系统部署在消息系统中,且数据存储系统接收的用户数据被默认先存储至热数据存储服务器为例,结合图7对本申请实施例提供的数据存储方法做整体示例性介绍。
参见图7,图7为本申请实施例提供的数据存储方法的实现架构示意图。如图7所示,本申请实施例提供的数据存储方法的实现主要分为三个模块:数据下沉程序710、索引集群720和冷数据存储集群730。
其中,数据下沉程序710负责从热数据存储集群中扫描访问热度较低的下沉数据,基于扫描到的下沉数据生成下沉数据文件,并在冷数据存储集群730中选择用于存储下沉数据文件的冷数据存储服务器。
具体的,可以针对数据下沉程序710进行以下设计:
1、将同一用户账号下产生时间相近的下沉数据相邻保存,生成子下沉数据文件;数据过期时可以以子下沉数据文件为粒度进行数据清理,同时也方便用户读取数据。
2、数据下沉程序710可以采用冗余备份的机制,复制所生成的下沉数据文件得到三份下沉数据文件,并从冷数据存储集群730中选取三台不同的冷数据存储服务器分别存储这三份下沉数据文件,三份下沉数据文件均存储成功,才认为下沉数据文件的存储操作成功完成。
3、数据下沉程序710选取用于存储下沉数据文件的冷数据存储服务器时,可以参考索引集群中存储的索引信息,选择负载较少的冷数据存储服务器存储下沉数据文件,从而实现冷数据存储集群730中各台冷数据存储服务器的负载均衡。此外,也方便对冷数据存储集群730进行水平扩展。
其中,索引集群720用于存储下沉数据文件对应的索引信息(即上文中的一级索引信息)。具体的,索引集群720可以采用paxo协议实现三份下沉数据文件对应的索引信息的存储,将下沉数据的消息序号、下沉数据的产生时间、下沉数据文件的ID以及冷数据存储服务器的IP信息对应存储。
其中,冷数据存储集群730中包括多台冷数据存储服务器,每台冷数据存储服务器均采用SATA盘存储数据。为了加快对于冷数据存储服务器中下沉数据的查询速度,冷数据存储集群730的单机存储引擎731可以进一步针对所存储的下沉数据构建二级索引信息和三级索引信息。
具体的,下沉数据文件中可能包含多个用户账号的下沉数据,单机存储引擎731可以从用户账号这一纬度构建二级索引信息。此外,下沉数据文件中一个用户账号的下沉数据的数据量可能很大,因此,单机存储引擎731还可以在一个用户账号的下沉数据中针对每n条下沉数据再构建一个纬度的三级索引信息。
随着时间的推移,早期写入冷数据存储集群730中的下沉数据会慢慢过期,这个时候消息系统可以启动一个删除(merege)线程,把过期的下沉数据删除,释放冷数据存储服务器中被占用的存储空间,同时删除索引集群720中过期的下沉数据对应的一级索引信息。
针对上文描述的数据存储方法,本申请还提供了对应的数据存储装置,以使上述数据存储方法在实际中得以应用和实现。该数据存储装置同样应用于图1所示的数据存储系统,该数据存储系统包括:热数据存储服务器和冷数据存储服务器,并且热数据存储服务器中存储磁盘的性能优于冷数据存储服务器中存储磁盘的性能。
参见图8,图8是与上文图2所示的数据存储方法对应的一种数据存储装置800的结构示意图,该数据存储装置包括:
下沉数据确定模块801,用于针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;
下沉数据文件生成模块802,用于基于所述下沉数据生成下沉数据文件;
下沉数据文件存储模块803,用于将所述下沉数据文件存储至所述冷数据存储服务器;
索引信息生成模块804,用于基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
在图8所示的数据存储装置的基础上,所述装置还包括:重要性等级确定模块;
所述重要性等级确定模块,用于针对所述数据存储系统接收的用户数据,通过第一数据分析模型对所述用户数据进行分析,根据分析结果确定所述用户数据对应的重要性等级;所述第一数据分析模型用于分析用户数据中包含的信息的重要程度;
则所述下沉数据确定模块801具体用于:
判断所述用户数据对应的重要性等级是否达到预设重要性等级;若否,则将所述用户数据作为所述下沉数据。
在图8所示的数据存储装置的基础上,所述装置还包括:敏感度等级确定模块;
所述敏感度等级确定模块,用于针对所述数据存储系统接收的用户数据,通过第二数据分析模型对所述用户数据进行分析,根据分析结果确定所述用户数据对应的敏感度等级;所述第二数据分析模型用于分析用户数据中包含的信息的敏感程度;
则所述下沉数据确定模块801具体用于:
判断所述用户数据对应的敏感度等级是否达到预设敏感度等级;若否,则将所述用户数据作为所述下沉数据。
在图8所示的数据存储装置的基础上,在所述数据存储系统接收的用户数据默认先存储至所述热数据存储服务器的情况下,所述下沉数据确定模块801具体用于:
扫描所述热数据存储服务器中存储的用户数据,确定所述热数据存储服务器中访问热度低于预设热度阈值的用户数据作为所述下沉数据;所述访问热度是根据以下任意一种或多种信息确定的:用户数据的被访问次数和用户数据的存储时间;
则所述数据存储装置还包括:下沉数据删除模块;
所述下沉数据删除模块,用于删除所述热数据存储服务器中的所述下沉数据。
在图8所示的数据存储装置的基础上,所述下沉数据确定模块801具体用于:
针对所述热数据存储服务器中每个用户账号下的用户数据,判断该用户账号下的用户数据是否超过预设数据量,若是,则将该用户账号下存储时间在预设历史时段内的用户数据作为该用户账号的下沉数据。
在图8所示的数据存储装置的基础上,所述下沉数据文件生成模块802具体用于:
累加多个用户账号的下沉数据,判断累加后的下沉数据是否达到所述下沉数据文件对应的目标数据量;
若是,则针对所述多个用户账号中的每个用户账号,基于该用户账号的下沉数据生成该用户账号的子下沉数据文件;基于所述多个用户账号各自的子下沉数据文件生成所述下沉数据文件。
在图8所示的数据存储装置的基础上,参见图9,图9为本申请实施例提供的另一种数据存储装置900的结构示意图。该装置所应用的数据存储系统包括多个冷数据存储服务器,该装置还包括:
数据备份模块901,用于复制所述下沉数据文件,得到多份所述下沉数据文件;
则所述下沉数据文件存储模块803具体用于:
将多份所述下沉数据文件分别存储至不同的所述冷数据存储服务器。
在图8所示的数据存储装置的基础上,所述索引信息生成模块805具体用于:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息,将所述一级索引信息作为所述目标索引信息。
在图8所示的数据存储装置的基础上,所述索引信息生成模块805具体用于:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息;
针对所述下沉数据文件,确定所述下沉数据的消息序号与所述下沉数据所属的用户账号之间的关联关系,作为二级索引信息;
将所述一级索引信息和所述二级索引信息作为所述目标索引信息。
在图8所示的数据存储装置的基础上,所述索引信息生成模块805具体用于:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息;
针对所述下沉数据文件,确定所述下沉数据的消息序号与所述下沉数据所属的用户账号之间的关联关系,作为二级索引信息;
针对所述下沉数据文件中属于所述用户账号的下沉数据,确定所述下沉数据的消息序号与所述下沉数据所属的数据分块之间的关联关系,作为三级索引信息;所述下沉数据文件中属于同一用户账号的下沉数据被划分为至少一个数据分块,每个数据分块中包含至少一条下沉数据;
将所述一级索引信息、所述二级索引信息和所述三级索引信息作为所述目标索引信息。
在图8所示的数据存储装置的基础上,所述数据存储系统包括多个所述冷数据存储服务器,则所述下沉数据文件存储模块803具体用于:
根据所述一级索引信息,确定所述消息系统中各冷数据存储服务器各自对应的占用率;
根据各冷数据存储服务器各自对应的占用率,选择目标冷数据存储服务器;将所述下沉数据文件存储至所述目标冷数据存储服务器。
在图8所示的数据存储装置的基础上,参见图10,图10为本申请实施例提供的另一种数据存储装置1000的结构示意图。该装置还包括:
下沉数据清除模块1001,用于判断所述冷数据存储服务器中所述下沉数据的存储时间是否达到预设时间阈值,若是,则删除所述冷数据存储服务器中的所述下沉数据,并删除所述下沉数据对应的目标索引信息。
在图8所示的数据存储装置的基础上,参见图11,图11为本申请实施例提供的另一种数据存储装置1100的结构示意图。该装置还包括:
请求接收模块1101,用于接收用户数据读取请求,所述用户数据读取请求包括待读取数据的目标消息序号;
热数据查找模块1102,用于根据所述目标消息序号,查找所述热数据存储服务器中是否存储所述待读取数据;
冷数据查找模块1103,用于在所述热数据存储服务器中没有存储所述待读取数据的情况下,根据所述目标消息序号,基于所述目标索引信息在所述冷数据存储服务器中查找所述待读取数据。
上述本申请实施例提供的数据存储装置将数据存储系统接收的用户数据划分为热数据和冷数据,利用部署有性能较好、成本较高的存储磁盘的热数据存储服务器存储不满足预设下沉条件的热数据(如访问热度较高的用户数据、较为重要的用户数据、较为敏感的用户数据等),利用部署有性能较差、成本较低的存储磁盘的冷数据存储服务器存储满足预设下沉条件的冷数据(如访问热度较低的用户数据、不太重要的用户数据、不太敏感的用户数据等),并在将冷数据存储至冷数据存储服务器的过程中,生成冷数据对应的索引信息,以方便后续快速查找读取该冷数据。如此,可以有效地降低数据存储成本,并且在一定程度上保证了系统的访问性能。
本申请实施例还提供了一种用于执行上述数据存储方法的设备,该设备具体可以为服务器,下面将从硬件实体化的角度对本申请实施例提供的服务器进行介绍。
参见图12,图12为本申请实施例提供的一种服务器1200的结构示意图。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。
其中,CPU 1222用于执行如下步骤:
针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;基于所述下沉数据生成下沉数据文件;
将所述下沉数据文件存储至所述冷数据存储服务器;
基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
可选的,CPU 1222还可以用于执行本申请实施例提供的数据存储方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种数据存储方法中的任意一种实施方式。
本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种数据存储方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种数据存储方法,其特征在于,所述方法应用于数据存储系统,所述数据存储系统包括:热数据存储服务器和冷数据存储服务器,所述热数据存储服务器中存储磁盘的性能优于所述冷数据存储服务器中存储磁盘的性能;所述方法包括:
针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;基于所述下沉数据生成下沉数据文件;
将所述下沉数据文件存储至所述冷数据存储服务器;
基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述数据存储系统接收的用户数据,通过第一数据分析模型对所述用户数据进行分析,根据分析结果确定所述用户数据对应的重要性等级;所述第一数据分析模型用于分析用户数据中包含的信息的重要程度;
所述确定满足预设下沉条件的用户数据作为下沉数据,包括:
判断所述用户数据对应的重要性等级是否达到预设重要性等级;若否,则将所述用户数据作为所述下沉数据。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
针对所述数据存储系统接收的用户数据,通过第二数据分析模型对所述用户数据进行分析,根据分析结果确定所述用户数据对应的敏感度等级;所述第二数据分析模型用于分析用户数据中包含的信息的敏感程度;
所述确定满足预设下沉条件的用户数据作为下沉数据,包括:
判断所述用户数据对应的敏感度等级是否达到预设敏感度等级;若否,则将所述用户数据作为所述下沉数据。
4.根据权利要求1所述的方法,其特征在于,在所述数据存储系统接收的用户数据默认先存储至所述热数据存储服务器的情况下,所述确定满足预设下沉条件的用户数据作为下沉数据,包括:
扫描所述热数据存储服务器中存储的用户数据,确定所述热数据存储服务器中访问热度低于预设热度阈值的用户数据作为所述下沉数据;所述访问热度是根据以下任意一种或多种信息确定的:用户数据的被访问次数和用户数据的存储时间;
在所述将所述下沉数据文件存储至所述冷数据存储服务器之后,所述方法还包括:
删除所述热数据存储服务器中的所述下沉数据。
5.根据权利要求4所述的方法,其特征在于,所述扫描所述热数据存储服务器中存储的用户数据,确定所述热数据存储服务器中访问热度低于预设热度阈值的用户数据作为所述下沉数据,包括:
针对所述热数据存储服务器中每个用户账号下的用户数据,判断该用户账号下的用户数据是否超过预设数据量,若是,则将该用户账号下存储时间在预设历史时段内的用户数据作为该用户账号的下沉数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述下沉数据生成下沉数据文件,包括:
累加多个用户账号的下沉数据,判断累加后的下沉数据是否达到所述下沉数据文件对应的目标数据量;
若是,则针对所述多个用户账号中的每个用户账号,基于该用户账号的下沉数据生成该用户账号的子下沉数据文件;基于所述多个用户账号各自的子下沉数据文件生成所述下沉数据文件。
7.根据权利要求1所述的方法,其特征在于,所述数据存储系统包括多个所述冷数据存储服务器,在所述基于所述下沉数据生成下沉数据文件之后,所述方法还包括:
复制所述下沉数据文件,得到多份所述下沉数据文件;
所述将所述下沉数据文件存储至所述冷数据存储服务器,包括:
将多份所述下沉数据文件分别存储至不同的所述冷数据存储服务器。
8.根据权利要求1所述的方法,其特征在于,所述基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息,包括:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息,将所述一级索引信息作为所述目标索引信息。
9.根据权利要求1所述的方法,其特征在于,所述基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息,包括:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息;
针对所述下沉数据文件,确定所述下沉数据的消息序号与所述下沉数据所属的用户账号之间的关联关系,作为二级索引信息;
将所述一级索引信息和所述二级索引信息作为所述目标索引信息。
10.根据权利要求1所述的方法,其特征在于,所述基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息,包括:
确定所述下沉数据的消息序号、所述下沉数据文件的文件标识以及所述冷数据存储服务器的设备标识之间的关联关系,作为一级索引信息;
针对所述下沉数据文件,确定所述下沉数据的消息序号与所述下沉数据所属的用户账号之间的关联关系,作为二级索引信息;
针对所述下沉数据文件中属于所述用户账号的下沉数据,确定所述下沉数据的消息序号与所述下沉数据所属的数据分块之间的关联关系,作为三级索引信息;所述下沉数据文件中属于同一用户账号的下沉数据被划分为至少一个数据分块,每个数据分块中包含至少一条下沉数据;
将所述一级索引信息、所述二级索引信息和所述三级索引信息作为所述目标索引信息。
11.根据权利要求8至10任一项所述的方法,其特征在于,所述数据存储系统包括多个所述冷数据存储服务器,则所述将所述下沉数据文件存储至所述冷数据存储服务器,包括:
根据所述一级索引信息,确定所述消息系统中各冷数据存储服务器各自对应的占用率;
根据各冷数据存储服务器各自对应的占用率,选择目标冷数据存储服务器;将所述下沉数据文件存储至所述目标冷数据存储服务器。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户数据读取请求,所述用户数据读取请求包括待读取数据的目标消息序号;
根据所述目标消息序号,查找所述热数据存储服务器中是否存储所述待读取数据;
在所述热数据存储服务器中没有存储所述待读取数据的情况下,根据所述目标消息序号,基于所述目标索引信息在所述冷数据存储服务器中查找所述待读取数据。
13.一种数据存储装置,其特征在于,所述装置应用于数据存储系统,所述数据存储系统包括:热数据存储服务器和冷数据存储服务器,所述热数据存储服务器中存储磁盘的性能优于所述冷数据存储服务器中存储磁盘的性能;所述装置包括:
下沉数据确定模块,用于针对所述数据存储系统接收的用户数据,确定满足预设下沉条件的用户数据作为下沉数据;
下沉数据文件生成模块,用于基于所述下沉数据生成下沉数据文件;
下沉数据文件存储模块,用于将所述下沉数据文件存储至所述冷数据存储服务器;
索引信息生成模块,用于基于所述下沉数据文件中所述下沉数据在所述冷数据存储服务器中的存储位置,生成所述下沉数据对应的目标索引信息。
14.一种设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至12中任一项所述的数据存储方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至12中任一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010212580.6A CN111443867B (zh) | 2020-03-24 | 2020-03-24 | 一种数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010212580.6A CN111443867B (zh) | 2020-03-24 | 2020-03-24 | 一种数据存储方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111443867A true CN111443867A (zh) | 2020-07-24 |
CN111443867B CN111443867B (zh) | 2021-08-03 |
Family
ID=71629450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010212580.6A Active CN111443867B (zh) | 2020-03-24 | 2020-03-24 | 一种数据存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111443867B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817972A (zh) * | 2021-01-22 | 2021-05-18 | 中信百信银行股份有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
CN115794353A (zh) * | 2022-12-30 | 2023-03-14 | 中国联合网络通信集团有限公司 | 云网业务服务质量优化处理方法、装置、设备及存储介质 |
CN116909490A (zh) * | 2023-09-11 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储系统及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314503A (zh) * | 2011-09-01 | 2012-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种索引方法 |
CN105339939A (zh) * | 2013-06-25 | 2016-02-17 | 国际商业机器公司 | 对在线热备份数据库的复制 |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和系统 |
CN107797758A (zh) * | 2016-09-07 | 2018-03-13 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据访问方法及装置 |
CN108363553A (zh) * | 2018-01-31 | 2018-08-03 | 北京兰云科技有限公司 | 一种数据处理方法、装置及系统 |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
CN109407988A (zh) * | 2018-10-18 | 2019-03-01 | 张德辉 | 冷数据存储系统及其存储方法 |
US20190088315A1 (en) * | 2017-09-20 | 2019-03-21 | Sandisk Technologies Llc | Identifying non-volatile memory cells for data refresh |
CN110134723A (zh) * | 2019-05-22 | 2019-08-16 | 网易(杭州)网络有限公司 | 一种存储数据的方法和数据库 |
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
-
2020
- 2020-03-24 CN CN202010212580.6A patent/CN111443867B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314503A (zh) * | 2011-09-01 | 2012-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种索引方法 |
CN105339939A (zh) * | 2013-06-25 | 2016-02-17 | 国际商业机器公司 | 对在线热备份数据库的复制 |
CN105653524A (zh) * | 2014-11-10 | 2016-06-08 | 阿里巴巴集团控股有限公司 | 一种数据存储方法、装置和系统 |
CN107797758A (zh) * | 2016-09-07 | 2018-03-13 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据访问方法及装置 |
US20190088315A1 (en) * | 2017-09-20 | 2019-03-21 | Sandisk Technologies Llc | Identifying non-volatile memory cells for data refresh |
CN108363553A (zh) * | 2018-01-31 | 2018-08-03 | 北京兰云科技有限公司 | 一种数据处理方法、装置及系统 |
CN108829344A (zh) * | 2018-05-24 | 2018-11-16 | 北京百度网讯科技有限公司 | 数据存储方法、装置及存储介质 |
CN109407988A (zh) * | 2018-10-18 | 2019-03-01 | 张德辉 | 冷数据存储系统及其存储方法 |
CN110134723A (zh) * | 2019-05-22 | 2019-08-16 | 网易(杭州)网络有限公司 | 一种存储数据的方法和数据库 |
CN110502452A (zh) * | 2019-07-12 | 2019-11-26 | 华为技术有限公司 | 访问电子设备中的混合缓存的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817972A (zh) * | 2021-01-22 | 2021-05-18 | 中信百信银行股份有限公司 | 数据存储方法、数据查询方法、装置及电子设备 |
CN115794353A (zh) * | 2022-12-30 | 2023-03-14 | 中国联合网络通信集团有限公司 | 云网业务服务质量优化处理方法、装置、设备及存储介质 |
CN115794353B (zh) * | 2022-12-30 | 2024-02-23 | 中国联合网络通信集团有限公司 | 云网业务服务质量优化处理方法、装置、设备及存储介质 |
CN116909490A (zh) * | 2023-09-11 | 2023-10-20 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储系统及计算机可读存储介质 |
CN116909490B (zh) * | 2023-09-11 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111443867B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111443867B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
US20240143543A1 (en) | Automatic archiving of data store log data | |
CN103425756B (zh) | 一种hdfs中数据块的副本管理策略 | |
US8914379B2 (en) | Index constructing method, search method, device and system | |
US7721288B2 (en) | Organizing transmission of repository data | |
US10877680B2 (en) | Data processing method and apparatus | |
US8171060B2 (en) | Storage system and method for operating storage system | |
US11151030B1 (en) | Method for prediction of the duration of garbage collection for backup storage systems | |
JP2015517147A (ja) | 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 | |
US9792231B1 (en) | Computer system for managing I/O metric information by identifying one or more outliers and comparing set of aggregated I/O metrics | |
CN110908589B (zh) | 数据文件的处理方法、装置、系统和存储介质 | |
US9390095B2 (en) | Rapid cloud-based image centralization | |
CN111381928A (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
CN107426319A (zh) | 存储受约束的共享内容项同步 | |
CN109947730A (zh) | 元数据恢复方法、装置、分布式文件系统及可读存储介质 | |
CN104915376B (zh) | 一种云存储中文件的归档压缩方法 | |
CN112433888B (zh) | 数据处理方法及装置、存储介质和电子设备 | |
CN110858210A (zh) | 数据查询方法及装置 | |
CN107133334B (zh) | 基于高带宽存储系统的数据同步方法 | |
CN111522870B (zh) | 数据库访问方法、中间件和可读存储介质 | |
CN111371583B (zh) | 服务器的扩容方法及装置、服务器、存储介质 | |
WO2023071367A1 (zh) | 通信业务数据的处理方法、装置和计算机存储介质 | |
US11934656B2 (en) | Garbage collection and bin synchronization for distributed storage architecture | |
US11941297B2 (en) | Garbage collection and bin synchronization for distributed storage architecture | |
CN115499514A (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 |