CN110764705B - 一种数据的读写方法、装置、设备和存储介质 - Google Patents
一种数据的读写方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110764705B CN110764705B CN201911007543.5A CN201911007543A CN110764705B CN 110764705 B CN110764705 B CN 110764705B CN 201911007543 A CN201911007543 A CN 201911007543A CN 110764705 B CN110764705 B CN 110764705B
- Authority
- CN
- China
- Prior art keywords
- key
- key value
- index
- target
- key name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据的读写方法、装置、设备和存储介质。该方法包括:从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。使用本发明实施例的技术方案,可以直接在内存中对数据进行读写,从而避免了磁盘的离散I/O问题,提高了数据处理性能。
Description
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种数据的读写方法、装置、设备和存储介质。
背景技术
在当前的大数据处理框架中,流式大数据处理框架spark streaming在处理批量流式业务时,有高吞吐量和容错能力强这两个特点。
但是spark streaming在处理批量流式业务时,存在本阶段的RDD(ResilientDistributed Datasets,弹性分布式数据集)与上游的RDD分区不是一对一的关系,此时是宽依赖,需要进行洗牌shuffle操作。根据图1现有技术中spark streaming shuffle操作的流程图,首先对分区来的数据进行聚合,对聚合后的数据集中的数据,根据键值key进行排序,当内存中的数据量到达一定阈值时,将数据集写入磁盘,再将数据集从磁盘中拉取出来,再次进行聚合,获得最终结果。shuffle操作中写入磁盘的过程会引发随机I/O,导致流处理的执行性能下降。为了解决这种读写时引发的磁盘离散I/O问题,目前大部分方案都是使用SSD(Solid State Disk或Solid State Drive,固态硬盘),但配置SSD,在大规模大数据集群中,成本太高。
发明内容
本发明实施例提供一种数据的读写方法、装置、设备和存储介质,以实现直接在内存中对数据进行读写。
第一方面,本发明实施例提供了一种数据的读写方法,该方法包括:
从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
第二方面,本发明实施例还提供了一种数据的读写装置,该装置包括:
目标数据获取模块,用于从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
目标数据写入模块,用于根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
目标数据读取模块,用于根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所提供的数据的读写方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序在由计算机处理器执行时实现如本发明任意实施例所提供的数据的读写方法。
本发明实施例通过将目标数据的键值和键名索引存储于第一数组,将键名和键值索引存储于第二数组,以环形写入、环形读取的方式对目标数据进行读写的技术手段。解决了传统数据流处理过程中,需要将数据写入磁盘,从而引发的磁盘离散I/O的技术问题。避免了数据写入磁盘过程时引发随机I/O导致的流处理执行性能下降,实现了提高数据处理性能的技术效果。
附图说明
图1是现有技术中spark streaming shuffle操作的流程图;
图2是本发明实施例一中的一种数据的读写方法的流程图;
图3是本发明实施例二中的一种数据的读写方法的流程图;
图4是本发明实施例三中的一种数据的读写方法的流程图;
图5是本发明实施例四中的一种数据的读写装置的结构示意图;
图6是本发明实施例五中的一种数据的读写设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2为本发明实施例一提供的一种数据的读写方法的流程图,本实施例可适用于流式大数据处理框架spark streaming在处理流式数据时,需要进行shuffle操作的情况,该方法可以由来数据的读写装置来执行,该装置可以通过软件和/或硬件来实现,并一般集成在数据读写服务器中。具体包括如下步骤:
步骤110、从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值。
RDD是一个容错的、并行的数据结构,可以让用户显式地将数据存储到磁盘和内存中,并能控制数据的分区。RDD内部的数据集合在逻辑上(以及物理上)被划分成多个小集合,这样的每一个小集合被称为分区,一个RDD可以包含多个分区。对于一个分区中的目标数据,其表现为(key,value)的形式,key即为目标键名,value为目标键值。
步骤120、根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组。
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置。
其中,读顺序号用于指示第一数组上的当前读取位置,写顺序号用于指示第一数组上的当前写入位置。所述环形写入,即为对第一数组、第二数组,以写顺序号进行一轮写入之后,返回重新执行新一轮的写入。第一数组与第二数组维度相同,第一数组中存储目标键值以及目标键名索引,所述目标键名索引为对目标键名进行哈希计算求得的结果,用于指示目标键名在第二数组中的存储位置,目标键名索引存储在目标键值的下一位置;第二数组中存储目标键名和目标键值索引,目标键值索引用于指示目标键值在所述第一数组的存储位置。目标键值索引存储于目标键名的下一位置。
步骤130、根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
其中,读顺序号用于指示第一数组上的当前读取位置,所述环形读取,即为对第一数组、第二数组,以读顺序号进行一轮读取之后,返回执行新一轮的读取。
本实施例的技术方案,通过将目标数据中的目标键值、目标键名的存储位置,以及目标键名、目标键值的存储位置,分别以环形写入的方式写入第一数组和第二数组,并以环形读取的方式进行读取的技术手段,解决了shuffle操作超过内存阈值时,需要将数据写入磁盘,从而引发磁盘离散I/O的技术问题,达到了直接在内存中对数据进行处理,从而提高数据处理的执行性能的技术效果。
实施例二
图3是本发明实施例二中的一种数据的读写方法的流程图,本实施例在上述实施例的基础上,对数据的写入流程进行了进一步的细化,本实施例的方法具体步骤包括:
步骤210、从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
步骤220、将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组定位第一键名存储位置,以及第一键值索引存储位置,并在第一键值索引存储位置处获取第一键值索引;
其中,将所述目标键名的哈希值作为所述目标键名索引,目标键名索引用于指示目标键名在所述第二数组的存储位置。在所述第二数组中,获取与所述目标键名索引匹配的存储位置作为所述第一键名存储位置。由于第二数组中存储目标键名和目标键值索引,目标键值索引存储于目标键名的下一位置,因此将所述第一键名存储位置的后一存储位置作为所述第一键值索引存储位置;
步骤230、判断所述第一键值索引是否为空;
其中,如果第一键值索引为空,说明此位置之前并未存储过任何数据,如果第一键值索引不为空,说明此位置之前已存储过数据。
步骤240、如果确定所述第一键值索引不为空,则根据所述第一键值索引在第一数组中定位第一键值存储位置以及第一键名索引存储位置,并在所述第一键值存储位置处获取第一键值;
其中,如果确定所述第一键值索引不为空,说明此位置此前已存储过数据,该已存储过的数据可以为已存储在第一数组及第二数组,且在本轮内尚未被读顺序号读取的;也可以为本轮内已被读顺序号读取,但被新来的数据覆盖的;也可以为本轮内已被读顺序号读取,但尚未被新来的数据覆盖的,此时第一键值索引不为空,但第一键值为空。因此需要获取之前已存取过的数据,与目标数据的目标键名相匹配,如果键名相同,可以直接累加;如果键名不同,则不能直接累加。在所述第一数组中,获取与所述第一键值索引匹配的存储位置作为第一键值存储位置,并将所述第一键值存储位置的后一存储位置作为所述第一键名索引存储位置。在所述第一键值存储位置处,获取第一键值。
步骤250、根据所述第一键值存储位置、所述读顺序号、所述第一键值、所述第一键名及所述目标键名中的一项或者多项确定是否满足无哈希冲突存储条件;
其中,所述哈希冲突表明,根据目标键名进行哈希计算求得的结果,也即目标键名索引指向的第二数组上的第一键名,与目标键名不同。
其中,如果确定所述第一键值存储位置的位置编号小于所述读顺序号,且所述第一键值为空,则确定满足所述无哈希冲突存储条件,此时说明该位置此前存储的数据已根据读顺序号被读取,但尚未被新的数据覆盖,第一键值和第一键名都为空,目标数据可以直接存储在此位置。
其中,如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件,此时说明此位置此前存储的数据已根据读顺序号被读取,但是已被新的数据覆盖,且该新的数据的键名(也即第一键名)与目标数据的目标键名相同,目标数据的目标键值可以直接和该新的数据的键值进行累加。
其中,如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件,此时说明此位置此前存储的数据已根据读顺序号被读取,并已被新的数据覆盖,但是该新的数据的键名(也即第一键名)与目标数据的目标键名不相同,也即存在哈希冲突,此时目标数据不能再存储在此位置。
其中,如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件,此时说明此位置此前存储的数据尚未根据读顺序号被读取,且该已存储的数据的键名(也即第一键名)与目标数据的目标键名相同,目标数据的键值可以直接和该已存储数据的键值累加。
其中,如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件。此时说明此位置此前存储的数据尚未根据读顺序号被读取,但该已存储的数据的键名(也即第一键名)与目标数据的目标键名不相同,也即存在哈希冲突,此时目标数据不能再存储在此位置。
步骤260、若是,则将所述目标键名索引存储于所述第一键名索引存储位置,将所述目标键名存储于所述第一键名存储位置,并将所述目标键值累加存储于所述第一键值存储位置。
其中,如果满足无哈希冲突存储条件,表明目标数据可以存储在该位置,将目标数据的目标键值累加存储于该第一数组上的第一键值存储位置,将目标数据的目标键名存储于第二数组上的第一键名存储位置。
步骤270、若否,则在所述第二数组中,以第一键名存储位置后的下一键名存储位置为起点,获取与所述第一键名存储位置最接近的一个未存储有键名的第二键名存储位置,并根据所述第二键名存储位置确定第二键名索引;
其中,如果不满足无哈希冲突存储条件,说明此时存在哈希冲突,目标数据不能再存储于此位置,因此,以第二数组中第一键名存储位置的下一个键名存储位置为起点,获取第一个为空的键名存储位置作为第二键名存储位置。并根据第二键名存储位置确定第二键名索引。
步骤280、根据所述写顺序号,在所述第一数组中确定第二键值存储位置,并根据所述第二键值存储位置确定第二键值索引;
将当前写顺序号所指向的第一数组的位置,作为第二键值存储位置,用于存储目标数据的目标键值。将第二键值存储位置作为第二键值索引。
步骤290、将所述目标键值存储于所述第二键值存储位置,将目标键名存储于所述第二键名存储位置,将所述第二键名索引存储于所述第二键值存储位置的后一存储位置,并将所述第二键值索引存储于所述第二键名存储位置的后一存储位置。
其中,根据步骤270、步骤280获取第二键名存储位置、第二键名索引、第二键值存储位置和第二键值索引之后,将目标键值存储到第二键值存储位置,将第二键名索引存储于所述第二键值存储位置的后一存储位置,其中目标键值和第二键名索引都是存储于第一数组上;将目标键名存储于所述第二键名存储位置,将第二键值索引存储于所述第二键名存储位置的后一存储位置,其中目标键名和第二键值索引都是存储在第二数组上。
步骤2100、如果确定所述第一键值索引为空,则根据所述第一键名存储位置确定第三键名索引;
其中,如果第一键值索引为空,说明此位置无论是本轮写入过程还是之前的写入过程,都未写入过数据,此时可以将目标数据直接写入该位置。根据第一键名的存储位置获取第三键名索引。
步骤2110、根据所述写顺序号,在所述第一数组中确定第三键值存储位置,并根据所述第三键值存储位置确定第三键值索引;
其中,根据当前写顺序号所指向的第一数组中的位置,确定第三键值的存储位置,根据所述第三键值存储位置确定第三键值索引。
步骤2120、将所述目标键值存储于所述第三键值存储位置,将目标键名存储于所述第一键名存储位置,将所述第三键名索引存储于所述第三键值存储位置的后一存储位置,并将所述第三键值索引存储于所述第一键名存储位置的后一存储位置。
其中,将目标键值存储到第三键值存储位置,将第三键名索引存储于所述第三键值存储位置的后一存储位置,其中目标键值和第三键名索引都是存储于第一数组上;将目标键名存储于所述第一键名存储位置,将第三键值索引存储于所述第一键名存储位置的后一存储位置,其中目标键名和第三键值索引都是存储在第二数组上。
步骤2130、根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
本实施例的技术方案,通过获取目标数据的目标键值,目标键名,以及目标键名索引,并根据目标键名索引确定第一键值索引位置,通过判断第一键值索引位置是否为空以及是否满足无哈希冲突存储条件,将数据的写入分为三类情况,区分了不同的写入情形。解决了现有技术中进行shuffle操作超过内存阈值时,需要将数据写入磁盘,从而引发磁盘离散I/O的技术问题。达到了通过对数据的环形写入,可以直接在内存中对数据进行处理,无需将数据写入磁盘,从而提高数据处理的执行性能的技术效果。
实施例三
图4是本发明实施例三中的一种数据的读写方法的流程图,本实施例在上述实施例的基础上,对数据的读取流程进行了进一步的细化,本实施例的方法具体步骤包括:
步骤310、从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
步骤320、根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
步骤330、根据所述当前的读顺序号,在所述第一数组中确定所述读顺序号指向的当前键值存储位置,获取当前键值,并将当前键值存储位置置空;
其中,根据当前读顺序号指向的第一数组中的位置,获取当前键值,并将该位置置空,表明此位置已被读取过,方便进行其他数据的写入。
步骤340、根据当前键值存储位置的后一存储位置,确定当前键名索引,并根据当前键名索引确定第二数组中当前键名的存储位置,获取当前键名,并将当前键名的存储位置置空。
其中,读顺序号指向的第一数组中的位置,即为当前键值的存储位置,当前键值存储位置的后一存储位置,存储有当前键名索引。根据该当前键名索引,在第二数组中定位当前键名的存储位置,获取当前键名,并将当前键名的存储位置置空,表明此位置已被读取过,方便其他数据的写入。
本发明实施例通过将目标数据在第一数组、第二数组中进行环形写入,并根据读顺序号将当前读顺序号指向的键值位置置空,并根据键值位置后一位置的键名索引,将第二数组中的键名位置也置空,保留第一数组中的键名索引存储位置和第二数组中的键值索引存储位置的技术手段。解决了现有技术中进行shuffle操作超过内存阈值时,需要将数据写入磁盘,从而引发磁盘离散I/O的技术问题。达到了通过对数据的环形写入,并进行环形读取,将键值位置和键名位置置空以便于新数据的写入,实现了直接在内存中对数据进行处理,无需将数据写入磁盘,从而提高数据处理的执行性能的技术效果。
实施例四
图5是本发明实施例四中的一种数据的读写装置的结构示意图,该数据的读写装置包括:目标数据获取模块410、目标数据写入模块420和目标数据读取模块430。其中:
目标数据获取模块410,用于从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
目标数据写入模块420,用于根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
目标数据读取模块430,用于根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
本实施例的技术方案,通过将目标数据中的目标键值、目标键名的存储位置,以及目标键名、目标键值的存储位置,分别以环形写入的方式写入第一数组和第二数组,并以环形读取的方式进行读取的技术手段,解决了shuffle操作超过内存阈值时,需要将数据写入磁盘,从而引发磁盘离散I/O的技术问题,达到了直接在内存中对数据进行处理,从而提高数据处理的执行性能的技术效果。
在上述实施例的基础上,目标数据写入模块420,包括:
第一键值索引获取单元,用于将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组定位第一键名存储位置,以及第一键值索引存储位置,并在第一键值索引存储位置处获取第一键值索引;
第一键值获取单元,用于如果确定所述第一键值索引不为空,则根据所述第一键值索引在第一数组中定位第一键值存储位置以及第一键名索引存储位置,并在所述第一键值存储位置处获取第一键值;
条件判断单元,用于根据所述第一键值存储位置、所述读顺序号、所述第一键值、所述第一键名及所述目标键名中的一项或者多项确定是否满足无哈希冲突存储条件;
满足条件执行单元,用于若满足无哈希冲突存储条件,则将所述目标键名索引存储于所述第一键名索引存储位置,将所述目标键名存储于所述第一键名存储位置,并将所述目标键值累加存储于所述第一键值存储位置。
在上述实施例的基础上,目标数据写入模块420,还包括:
不满足条件执行单元,用于若不满足无哈希冲突存储条件,则在所述第二数组中,以第一键名存储位置后的下一键名存储位置为起点,获取与所述第一键名存储位置最接近的一个未存储有键名的第二键名存储位置,并根据所述第二键名存储位置确定第二键名索引;
第二键值索引确定单元,用于根据所述写顺序号,在所述第一数组中确定第二键值存储位置,并根据所述第二键值存储位置确定第二键值索引;
第一目标数据存储单元,用于将所述目标键值存储于所述第二键值存储位置,将目标键名存储于所述第二键名存储位置,将所述第二键名索引存储于所述第二键值存储位置的后一存储位置,并将所述第二键值索引存储于所述第二键名存储位置的后一存储位置。
在上述实施例的基础上,所述条件判断单元,具体包括:
第一满足条件确定单元,用于如果确定所述第一键值存储位置的位置编号小于所述读顺序号,且所述第一键值为空,则确定满足所述无哈希冲突存储条件;
第二满足条件确定单元,用于如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件;
第一不满足条件确定单元,用于如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件;以及
第三满足条件确定单元,用于如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件;以及
第二不满足条件确定单元,用于如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件。
在上述实施例的基础上,第一键值索引获取单元,具体用于:
将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组中,获取与所述目标键名索引匹配的存储位置作为所述第一键名存储位置,并将所述第一键名存储位置的后一存储位置作为所述第一键值索引存储位置;
在上述实施例的基础上,第一键值获取单元,具体用于:
如果确定所述第一键值索引不为空,在所述第一数组中,获取与所述第一键值索引匹配的存储位置作为第一键值存储位置,并将所述第一键值存储位置的后一存储位置作为所述第一键名索引存储位置,并在所述第一键值存储位置处获取第一键值。
在上述实施例的基础上,目标数据写入模块420,还包括:
第三键名索引确定单元,用于如果确定所述第一键值索引为空,则根据所述第一键名存储位置确定第三键名索引;
第三键值索引确定单元,用于根据所述写顺序号,在所述第一数组中确定第三键值存储位置,并根据所述第三键值存储位置确定第三键值索引;
第二目标数据存储单元,用于将所述目标键值存储于所述第三键值存储位置,将目标键名存储于所述第一键名存储位置,将所述第三键名索引存储于所述第三键值存储位置的后一存储位置,并将所述第三键值索引存储于所述第一键名存储位置的后一存储位置。
在上述实施例的基础上,目标数据读取模块430,包括:
键值存储位置置空单元,用于根据所述当前的读顺序号,在所述第一数组中确定所述读顺序号指向的当前键值存储位置,获取当前键值,并将当前键值存储位置置空;
键名存储位置置空单元,用于根据当前键值存储位置的后一存储位置,确定当前键名索引,并根据当前键名索引确定第二数组中当前键名的存储位置,获取当前键名,并将当前键名的存储位置置空。
本发明实施例所提供的数据的读写装置可执行本发明任意实施例所提供的数据的读写方法,具备执行方法相应的功能模块和有益效果。
实施例五
图6为本发明实施例五提供的一种设备的结构示意图,如图6所示,该设备包括处理器50、存储器51、输入装置52和输出装置53;设备中处理器50的数量可以是一个或多个,图6中以一个处理器50为例;设备中的处理器50、存储器51、输入装置52和输出装置53可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据的读写方法对应的程序指令/模块(例如,数据的读写装置中的目标数据获取模块410、目标数据写入模块420和目标数据读取模块430)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据的读写方法。该方法包括:
从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置52可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置53可包括显示屏等显示设备。
实施例六
本发明实施例六还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据的读写方法,该方法包括:
从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据的读写方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述数据的读写装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种数据的读写方法,其特征在于,包括:
从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组,包括:
将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组定位第一键名存储位置,以及第一键值索引存储位置,并在第一键值索引存储位置处获取第一键值索引;
如果确定所述第一键值索引不为空,则根据所述第一键值索引在第一数组中定位第一键值存储位置以及第一键名索引存储位置,并在所述第一键值存储位置处获取第一键值;
根据所述第一键值存储位置、所述读顺序号、所述第一键值、所述第一键名及所述目标键名中的一项或者多项确定是否满足无哈希冲突存储条件;
若是,则将所述目标键名索引存储于所述第一键名索引存储位置,将所述目标键名存储于所述第一键名存储位置,并将所述目标键值累加存储于所述第一键值存储位置;
若否,则在所述第二数组中,以第一键名存储位置后的下一键名存储位置为起点,获取与所述第一键名存储位置最接近的一个未存储有键名的第二键名存储位置,并根据所述第二键名存储位置确定第二键名索引;
根据所述写顺序号,在所述第一数组中确定第二键值存储位置,并根据所述第二键值存储位置确定第二键值索引;
将所述目标键值存储于所述第二键值存储位置,将目标键名存储于所述第二键名存储位置,将所述第二键名索引存储于所述第二键值存储位置的后一存储位置,并将所述第二键值索引存储于所述第二键名存储位置的后一存储位置;
如果确定所述第一键值索引为空,则根据所述第一键名存储位置确定第三键名索引;
根据所述写顺序号,在所述第一数组中确定第三键值存储位置,并根据所述第三键值存储位置确定第三键值索引;
将所述目标键值存储于所述第三键值存储位置,将目标键名存储于所述第一键名存储位置,将所述第三键名索引存储于所述第三键值存储位置的后一存储位置,并将所述第三键值索引存储于所述第一键名存储位置的后一存储位置;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
2.根据权利要求1所述的方法,其特征在于,根据所述第一键值存储位置、所述读顺序号、所述第一键值、所述第一键名及所述目标键名中的一项或者多项判断确定是否满足无哈希冲突存储条件包括下述至少一项:
如果确定所述第一键值存储位置的位置编号小于所述读顺序号,且所述第一键值为空,则确定满足所述无哈希冲突存储条件;
如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件;
如果确定所述第一键值存储位置的位置编号小于所述读顺序号、所述第一键值为非空,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件;以及
如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名相一致,则确定满足所述无哈希冲突存储条件;以及
如果确定所述第一键值存储位置的位置编号大于所述读顺序号,且所述目标键名与所述第一键名不一致,则确定不满足所述无哈希冲突存储条件。
3.根据权利要求1所述的方法,其特征在于,将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组定位第一键名存储位置,以及第一键值索引存储位置,包括:
在所述第二数组中,获取与所述目标键名索引匹配的存储位置作为所述第一键名存储位置,并将所述第一键名存储位置的后一存储位置作为所述第一键值索引存储位置;
根据所述第一键值索引在第一数组中定位第一键值存储位置以及第一键名索引存储位置,包括:
在所述第一数组中,获取与所述第一键值索引匹配的存储位置作为第一键值存储位置,并将所述第一键值存储位置的后一存储位置作为所述第一键名索引存储位置。
4.根据权利要求1-3任一项所述的方法,其特征在于,根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取,包括:
根据所述当前的读顺序号,在所述第一数组中确定所述读顺序号指向的当前键值存储位置,获取当前键值,并将当前键值存储位置置空;
根据当前键值存储位置的后一存储位置,确定当前键名索引,并根据当前键名索引确定第二数组中当前键名的存储位置,获取当前键名,并将当前键名的存储位置置空。
5.一种数据的读写装置,其特征在于,包括:
目标数据获取模块,用于从分区中获取目标数据,并获取所述目标数据中的目标键名以及目标键值;
目标数据写入模块,用于根据当前的读顺序号和/或写顺序号,以环形写入的方式,将所述目标键值及目标键名索引相邻存储于第一数组,并将所述目标键名及目标键值索引相邻存储于第二数组;
其中,所述目标键名索引用于指示目标键名在所述第二数组的存储位置,所述目标键值索引用于指示目标键值在所述第一数组的存储位置;
目标数据写入模块,包括:
第一键值索引获取单元,用于将所述目标键名的哈希值作为所述目标键名索引,在所述第二数组定位第一键名存储位置,以及第一键值索引存储位置,并在第一键值索引存储位置处获取第一键值索引;
第一键值获取单元,用于如果确定所述第一键值索引不为空,则根据所述第一键值索引在第一数组中定位第一键值存储位置以及第一键名索引存储位置,并在所述第一键值存储位置处获取第一键值;
条件判断单元,用于根据所述第一键值存储位置、所述读顺序号、所述第一键值、所述第一键名及所述目标键名中的一项或者多项确定是否满足无哈希冲突存储条件;
满足条件执行单元,用于若满足无哈希冲突存储条件,则将所述目标键名索引存储于所述第一键名索引存储位置,将所述目标键名存储于所述第一键名存储位置,并将所述目标键值累加存储于所述第一键值存储位置;
不满足条件执行单元,用于若不满足无哈希冲突存储条件,则在所述第二数组中,以第一键名存储位置后的下一键名存储位置为起点,获取与所述第一键名存储位置最接近的一个未存储有键名的第二键名存储位置,并根据所述第二键名存储位置确定第二键名索引;
第二键值索引确定单元,用于根据所述写顺序号,在所述第一数组中确定第二键值存储位置,并根据所述第二键值存储位置确定第二键值索引;
第一目标数据存储单元,用于将所述目标键值存储于所述第二键值存储位置,将目标键名存储于所述第二键名存储位置,将所述第二键名索引存储于所述第二键值存储位置的后一存储位置,并将所述第二键值索引存储于所述第二键名存储位置的后一存储位置;
第三键名索引确定单元,用于如果确定所述第一键值索引为空,则根据所述第一键名存储位置确定第三键名索引;
第三键值索引确定单元,用于根据所述写顺序号,在所述第一数组中确定第三键值存储位置,并根据所述第三键值存储位置确定第三键值索引;
第二目标数据存储单元,用于将所述目标键值存储于所述第三键值存储位置,将目标键名存储于所述第一键名存储位置,将所述第三键名索引存储于所述第三键值存储位置的后一存储位置,并将所述第三键值索引存储于所述第一键名存储位置的后一存储位置;
目标数据读取模块,用于根据所述当前的读顺序号,对所述第一数组以及所述第二数组中的数据进行环形读取。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一所述的数据的读写方法。
7.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4中任一所述的数据的读写方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007543.5A CN110764705B (zh) | 2019-10-22 | 2019-10-22 | 一种数据的读写方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911007543.5A CN110764705B (zh) | 2019-10-22 | 2019-10-22 | 一种数据的读写方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110764705A CN110764705A (zh) | 2020-02-07 |
CN110764705B true CN110764705B (zh) | 2023-08-04 |
Family
ID=69331308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911007543.5A Active CN110764705B (zh) | 2019-10-22 | 2019-10-22 | 一种数据的读写方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764705B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579003B (zh) * | 2020-12-15 | 2022-06-14 | 浙江大华技术股份有限公司 | 键值对的调整方法、装置、存储介质以及电子装置 |
CN113467716B (zh) * | 2021-06-11 | 2023-05-23 | 苏州浪潮智能科技有限公司 | 一种数据存储的方法、装置、设备及可读介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323947A (zh) * | 2011-09-05 | 2012-01-18 | 东北大学 | 环形架构数据库上预连接表的生成方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及*** |
CN103186668A (zh) * | 2013-03-11 | 2013-07-03 | 北京京东世纪贸易有限公司 | 基于键值数据库的数据处理方法与装置以及数据存储*** |
CN105320775A (zh) * | 2015-11-11 | 2016-02-10 | 中科曙光信息技术无锡有限公司 | 数据的存取方法和装置 |
CN106096023A (zh) * | 2016-06-24 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 数据读取方法、数据写入方法及数据服务器 |
CN106886375A (zh) * | 2017-03-27 | 2017-06-23 | 百度在线网络技术(北京)有限公司 | 存储数据的方法和装置 |
WO2018103315A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海壹账通金融科技有限公司 | 监控数据的处理方法、装置、服务器及存储设备 |
CN108563532A (zh) * | 2018-02-28 | 2018-09-21 | 深圳和而泰数据资源与云技术有限公司 | 数据处理方法及相关装置 |
CN108572958A (zh) * | 2017-03-07 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN108595268A (zh) * | 2018-04-24 | 2018-09-28 | 咪咕文化科技有限公司 | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 |
CN108664487A (zh) * | 2017-03-28 | 2018-10-16 | Tcl集团股份有限公司 | 一种散列表数据的写入、读取方法及*** |
CN109543080A (zh) * | 2018-12-04 | 2019-03-29 | 北京字节跳动网络技术有限公司 | 一种缓存数据处理方法、装置、电子设备及存储介质 |
CN109558084A (zh) * | 2018-11-29 | 2019-04-02 | 文华学院 | 一种数据处理方法以及相关设备 |
CN109656923A (zh) * | 2018-12-19 | 2019-04-19 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN109710190A (zh) * | 2018-12-26 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN110049091A (zh) * | 2019-01-10 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 数据存储方法及装置、电子设备、存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846642B2 (en) * | 2014-10-21 | 2017-12-19 | Samsung Electronics Co., Ltd. | Efficient key collision handling |
US10891264B2 (en) * | 2015-04-30 | 2021-01-12 | Vmware, Inc. | Distributed, scalable key-value store |
-
2019
- 2019-10-22 CN CN201911007543.5A patent/CN110764705B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323947A (zh) * | 2011-09-05 | 2012-01-18 | 东北大学 | 环形架构数据库上预连接表的生成方法 |
CN102722449A (zh) * | 2012-05-24 | 2012-10-10 | 中国科学院计算技术研究所 | 基于SSD的Key-Value型本地存储方法及*** |
CN103186668A (zh) * | 2013-03-11 | 2013-07-03 | 北京京东世纪贸易有限公司 | 基于键值数据库的数据处理方法与装置以及数据存储*** |
CN105320775A (zh) * | 2015-11-11 | 2016-02-10 | 中科曙光信息技术无锡有限公司 | 数据的存取方法和装置 |
CN106096023A (zh) * | 2016-06-24 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 数据读取方法、数据写入方法及数据服务器 |
WO2018103315A1 (zh) * | 2016-12-09 | 2018-06-14 | 上海壹账通金融科技有限公司 | 监控数据的处理方法、装置、服务器及存储设备 |
CN108572958A (zh) * | 2017-03-07 | 2018-09-25 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN106886375A (zh) * | 2017-03-27 | 2017-06-23 | 百度在线网络技术(北京)有限公司 | 存储数据的方法和装置 |
CN108664487A (zh) * | 2017-03-28 | 2018-10-16 | Tcl集团股份有限公司 | 一种散列表数据的写入、读取方法及*** |
CN108563532A (zh) * | 2018-02-28 | 2018-09-21 | 深圳和而泰数据资源与云技术有限公司 | 数据处理方法及相关装置 |
CN108595268A (zh) * | 2018-04-24 | 2018-09-28 | 咪咕文化科技有限公司 | 一种基于MapReduce的数据分配方法、装置及计算机可读存储介质 |
CN109558084A (zh) * | 2018-11-29 | 2019-04-02 | 文华学院 | 一种数据处理方法以及相关设备 |
CN109543080A (zh) * | 2018-12-04 | 2019-03-29 | 北京字节跳动网络技术有限公司 | 一种缓存数据处理方法、装置、电子设备及存储介质 |
CN109656923A (zh) * | 2018-12-19 | 2019-04-19 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN109710190A (zh) * | 2018-12-26 | 2019-05-03 | 百度在线网络技术(北京)有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN110049091A (zh) * | 2019-01-10 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 数据存储方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110764705A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN105786405B (zh) | 一种在线升级方法、装置及*** | |
US10878335B1 (en) | Scalable text analysis using probabilistic data structures | |
US10523743B2 (en) | Dynamic load-based merging | |
US11429566B2 (en) | Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo | |
CN109547807B (zh) | 一种基于直播的信息处理方法、装置及服务器 | |
CN110764705B (zh) | 一种数据的读写方法、装置、设备和存储介质 | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
US20240061712A1 (en) | Method, apparatus, and system for creating training task on ai training platform, and medium | |
CN103973470A (zh) | 用于无共享集群的集群管理方法和设备 | |
CN112182043A (zh) | 日志数据查询方法、装置、设备及存储介质 | |
CN106708865B (zh) | 流处理***中访问窗口数据的方法和装置 | |
US11822961B2 (en) | Method and apparatus for data processing, server and storage medium | |
CN112181662B (zh) | 任务调度方法、装置、电子设备及存储介质 | |
CN116881051B (zh) | 一种数据备份与恢复方法、装置、电子设备和存储介质 | |
CN111131512B (zh) | 设备信息的处理方法、装置、存储介质及处理器 | |
CN106815318B (zh) | 一种时序数据库的集群化方法及*** | |
CN111400241B (zh) | 数据重构方法和装置 | |
CN109101595B (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN111046004A (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
JP7133037B2 (ja) | メッセージ処理方法、装置およびシステム | |
CN113076197A (zh) | 负载均衡方法及装置、存储介质及电子设备 | |
CN111061712A (zh) | 一种数据连接操作的处理方法及装置 | |
CN106528577B (zh) | 一种设置待清理文件的方法和装置 | |
CN110188069A (zh) | 一种csv文件存储方法、装置及计算机设备 |
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 |