CN112100293A - 数据处理方法、数据访问方法、装置及计算机设备 - Google Patents
数据处理方法、数据访问方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112100293A CN112100293A CN202011008021.XA CN202011008021A CN112100293A CN 112100293 A CN112100293 A CN 112100293A CN 202011008021 A CN202011008021 A CN 202011008021A CN 112100293 A CN112100293 A CN 112100293A
- Authority
- CN
- China
- Prior art keywords
- data
- key value
- access
- linked list
- node
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Abstract
一种数据处理方法、数据访问方法、装置及计算机设备,所述数据处理方法包括:读取键值存储系统中存储的各数据的访问次数;其中,键值存储系统的各哈希表中,采用有序链表存储数据,有序链表的各链表节点中数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;各平衡树中基于数据的键值大小进行数据存储;当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间;将目标数据迁移至目标访问热度区间对应的链表节点的平衡树。上述方法在访问数据时无需遍历所有数据,可提高数据的读写性能;且访问热度越高的数据访问时所需的查找时间越少。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质,以及一种数据访问方法、装置、计算机设备和存储介质。
背景技术
随着技术的发展,越来越多的数据需要被存储;在交互频繁的大型应用程序中(如大型游戏),数据的读写更是频繁,数据的读写效率和读写时延将会直接影响到用户体验,为了需要提高数据的读写性能,通常在数据库前段部署键值存储系统,抵挡峰值数据访问,保护数据库不崩溃,因此该类型的应用程序中键值存储系统,需要具备高性能和高可用性。
现有技术中的键值存储引擎通常采用哈希表作为底层数据结构:首先通过一种哈希算法根据数据的键值(key)计算出数据的哈希值hash(key),并定位哈希表的某个头指针Head(n)=hash(key)。根据头指针遍历相应的冲突链表的所有数据,通过键值比较,查找目标数据。如果目标数据不在冲突链中,则可在冲突链头部插入该数据。然而这样的键值存储方法中,访问哈希冲突链表尾端数据,需要遍历所有链表节点,数据冲突链表越长,需要的时间消耗越大,数据的读写性能越低。
发明内容
基于此,有必要针对上述技术问题,提供一种读写性能高的数据处理方法、数据访问方法、装置及计算机设备。
一种数据处理方法,所述方法包括:
读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树中基于数据的键值大小进行数据存储;
当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
在一个实施例中,基于所述访问耗时对于所述第一预设次数或第二预设次数进行调整,包括:当数据的访问耗时大于预设访问时间阈值时,调小第一预设次数或者第二预设次数。
在另一个实施例中,基于各数据的所述迁移次数对所述第一预设次数或第二预设次数进行调整,包括:若所述迁移次数大于预设迁移次数阈值,增大第一预设次数或者第二预设次数。
在一个实施例中,所述平衡树的左节点对应的键值小于父节点对应的键值,所述父节点对应的键值小于右节点对应的键值;所述依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,包括:
在所述目标哈希表的有序链表中选择当前链表节点,从根节点开始遍历所述当前链表节点的平衡树;在所述平衡树中:将所述数据访问请求的键值与根节点的键值进行比较,若数据访问请求的键值小于根节点的键值,则访问所述根节点的左节点;若数据访问请求的键值大于根节点的键值,则访问根节点的右节点;若在所述当前链表节点的平衡树中未查找到所述数据访问请求的键值,依次跳转至下一链表节点的平衡树进行查找。
一种数据访问方法,所述方法包括:向服务器发送数据访问请求,所述数据访问请求用于使所述服务器根据数据访问请求的键值确定对应的哈希值;根据所述哈希值在所述键值存储系统中查找对应的目标哈希表;依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,当在平衡树中查找到所述数据访问请求对应的键值时,读取所在节点中存储的待访问数据;
接收所述服务器反馈的待访问数据。
一种数据处理装置,所述装置包括:
访问次数读取模块,用于读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树基于数据的键值大小进行数据存储;
访问次数检测模块,用于热度当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
数据迁移模块,用于将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述数据处理方法、数据访问方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据处理方法、数据访问方法的步骤。
上述数据处理方法、数据访问方法、装置及计算机设备,键值存储系统的各哈希表中,基于数据访问热度采用有序链表存储数据,有序链表中各链表节点的数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;对于键值存储系统中存储的各数据,基于各自的访问次数进行数据迁移的判断,若目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间,并将该目标数据迁移至目标访问热度区间对应的链表节点的平衡树中。上述方法中,在键值存储系统中,基于数据访问热度采用有序链表进行数据的存储,同时在有序链表的各链表节点均以平衡树的方式存储多个数据,并且平衡树中基于键值大小进行数据存储,从而在访问数据时,可依次在有序链表的各平衡树中基于键值与各节点键值大小进行比较来查找数据访问请求对应的键值,无需遍历该哈希表中的所有数据,所需时间短,可提高数据的读写性能;且访问热度越高的数据访问时所需的查找时间越少。
附图说明
图1为一个实施例中数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为另一个实施例中数据处理方法的流程示意图;
图4为另一个实施例中数据处理方法的流程示意图;
图5为一个具体实施例中键值存储系统的存储示意图
图6为一个具体实施例中数据迁移的示意图;
图7为一个具体实施例中M值的自适应调整示意图;
图8为一个实施例中数据处理装置的结构框图;
图9为另一个实施例中数据处理装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。在服务器104的键值存储系统的各哈希表中,基于数据访问热度采用有序链表存储数据,并且有序链表的各链表节点中数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;服务器104对于键值存储系统中存储的各数据,基于各自的访问次数进行数据迁移的判断,若目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间,并将该目标数据迁移至目标访问热度区间对应的链表节点的平衡树中。其中,终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,本申请所提供的数据处理方法中的数据存储可通过云存储实现。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
在一个实施例中,如图2所示,提供了一种数据处理方法,以该方法应用于图1中的服务器为例进行说明,包括步骤S210至步骤S230。
步骤S210,读取键值存储系统中存储的各数据的访问次数。
其中,键值存储系统的各哈希表中,采用有序链表存储数据,有序链表的各链表节点中数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;各平衡树基于数据的键值大小进行数据存储。
其中,键值存储系统以键值对的方式存储数据;键值对(key-value)分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询;在本实施例中,键值存储系统采用哈希表作为底层数据结构;键值存储系统中包括多个哈希表(Hashtable,是根据关键码值(Keyvalue)而直接进行访问的数据结构),每一哈希表中包含一个有序链表(从头节点开始到链表结尾,节点中数据有序排列);在本实施例中,有序链表中的数据是基于各数据的访问热度进行排序的;进一步地,有序链表的各链表节点中数据访问热度依次降低;即在有序链表的第一个链表节点中,数据访问热度最高,也即各哈希表的头指针指向该哈希表中访问热度最高的数据对应的链表节点。
此外,有序链表的各节点中分别存储一棵平衡树,且每一平衡树中的各节点所存储的数据是基于数据的键值大小来存储的;可以理解地,所在哈希表的头指针指向数据访问热度最高的数据对应的平衡树。其中,平衡树指的是任意节点的子树的高度差都小于等于1;常见的符合平衡树的包括:B树(多路平衡搜索树)、AVL树(二叉平衡搜索树)等。
进一步地,在一个实施例中,各哈希表中的有序链表包括有序环形链表。其中,将链表的首尾相接即可得到环形链表,在键值存储系统的各哈希表中采用有序环形链表进行数据存储,从链表中的任意节点均可遍历到该链表中所有的节点,在某些情形中可提高访问数据时的查找效率。
在一个实施例中,平衡树的左节点、父节点和右节点的键值依次按照大小顺序排列。在一个具体实施例中,平衡树的左节点对应的键值小于父节点对应的键值,同时父节点对应的键值小于右节点对应的键值。可以理解地,在本实施例中,通过键值大小在平衡树中确定数据的存储位置;在访问数据时,可根据需要访问的数据的键值与各节点的键值进行比较以查找需要访问数据所在节点;例如待访问的数据的键值与平衡树的根节点的键值进行比较,若小于根节点的键值,则访问左节点,若大于根节点的键值则访问右节点,以此类推,若在当前平衡树未查找到待访问的数据,进入有序链表的下一链表节点的平衡树中进行查找;由于采用平衡树且基于数据的键值进行数据的存储,在访问数据时在每个平衡树中查询效率较高,比遍历方法的耗时低。可以理解地,在其它实施例中,在平衡树中也可以基于数据的键值按照其它方式进行数据存储,例如左节点键值大于右节点键值等等。在一个实施例中,假设平衡树中节点个数为N,则平衡树高度为log2(N)。
在本实施例中,数据存储在键值访问系统之后,对于每一次访问数据均进行记录访问次数,本实施例中,对于每一数据的访问次数进行读取并检测。
在一个实施例中,当满足数据迁移检测条件时,进入读取键值存储系统中存储的各数据的访问次数的步骤。
数据迁移检测条件用于限制服务器开始读取各数据的访问次数并检测的条件,当检测到满足数据迁移检测条件时,才对键值存储系统中存储的各数据的访问次数进行读取并检测。
进一步地,在一个实施例中,对键值存储系统中的所有数据的访问次数达到第一预设次数时,判定满足数据迁移检测条件;或者在另一个实施例中,在预设时间段内对键值存储系统中同一数据的访问次数达到第二预设次数,判定满足数据迁移检测条件。
对于访问键值存储系统中存储的所有数据的访问次数进行统计并记录,当访问所有数据的访问次数总和达到第一预设次数则判定满足数据迁移检测条件;随着访问次数的增加,键值存储系统中存储的各数据所对应的访问热度很有可能会发生变化,因此本实施例中在访问键值存储系统中的所有数据的总和达到一定数值时,判定满足数据迁移检测条件,此时开始进入读取键值存储系统中存储的各数据的访问次数的步骤。
在另一个实施例中,对于键值存储系统中各数据单独进行访问次数的统计和监控,若检测到某一数据的访问次数达到第一预设次数时,表示该数据的访问热度发生了变化,需要对其在键值存储系统中的存储位置进行调整。进一步地,在其它实施例中,也可以检测到访问次数达到第二预设次数的数据达到预设数目时,判定满足数据迁移检测条件。
上述实施例中,通过设置数据迁移检测条件触发对于键值存储系统中存储的各数据进行访问次数的检测和判断,可避免访问频次频繁变更,导致数据节点频繁迁移从而影响CPU(central processing unit,中央处理器)性能;其中,第一预设次数和第二预设次数可以根据实际情况进行设置。
步骤S220,当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间。
由于任一哈希表中的有序链表中的数据是基于数据的访问热度进行排序后存储的,因此各链表节点中的平衡树对应一个访问热度区间,当检测到存储在这一平衡树中的数据的访问次数发生变化不再属于该平衡树对应的访问热度区间时,则对该数据进行迁移,首先根据该数据的访问次数确定新的访问热度,从而确定该数据当前对应的访问热度区间,本实施例中记为目标访问热度区间。
在一个实施例中,数据的访问热度表示数据被访问的访问次数,或者数据的访问热度表示在预定时间段内该数据被访问的访问次数;可以理解地,在其它实施例中数据的访问热度也可以通过其它方式定义。
步骤S230,将目标数据迁移至目标访问热度区间对应的链表节点的平衡树。
步骤S220中已经确定待迁移的数据实际所对应的目标访问热度区间,进而可以确定目标访问热度区间所对应的有序链表的链表节点,也即对应的平衡树;进一步地,在目标访问热度对应的平衡树中,基于待迁移的数据的键值与该目标访问热度对应的平衡树中各节点中存储数据的键值进行比较,确定待迁移的数据在被迁移至的平衡树中所需存储的位置。
在一个实施例中,若数据的访问热度提升,则将该数据迁移至访问次数更多的目标访问热度区间对应的平衡树中,若数据的访问热度下降,则将该数据迁移至访问次数较少的目标访问热度区间对应的平衡树中进行存储。
由于上述实施例中的键值存储系统中各哈希表对应的有序链表中各数据是基于访问热度进行存储的,在访问时依次在有序链表中进行查找,对于访问热度越高的数据,查找所需的时间越少,从而进一步提高数据访问性能。
上述数据处理方法,键值存储系统的各哈希表中,基于数据访问热度采用有序链表存储数据,有序链表中各链表节点的数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;对于键值存储系统中存储的各数据,基于各自的访问次数进行数据迁移的判断,若目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间,并将该目标数据迁移至目标访问热度区间对应的链表节点的平衡树中。上述方法中,在键值存储系统中,基于数据访问热度采用有序链表进行数据的存储,同时在有序链表的各链表节点均以平衡树的方式存储多个数据,并且平衡树中基于键值大小进行数据存储,从而在访问数据时,可依次在有序链表的各平衡树中基于键值与各节点键值大小进行比较来查找数据访问请求对应的键值,无需遍历该哈希表中的所有数据,所需时间短,可提高数据的读写性能;且访问热度越高的数据访问时所需的查找时间越少。
进一步地,在一个实施例中,上述方法还包括:获取键值存储系统中各数据的访问耗时;基于访问耗时对于第一预设次数和第二预设次数进行调整。
在对键值存储系统中的数据进行访问时,不仅统计了该数据的访问次数,还统计了数据的访问耗时,若数据的访问耗时超出预设访问时间阈值,则表示第一预设次数或者第二预设次数的设置不合理,在本实施例中,基于数据的访问耗时对第一预设次数或第二预设次数进行调整。
进一步地,在一个实施例中,若数据的访问耗时超出预设访问时间阈值,则调低第一预设次数或第二预设次数。在调整过程中若检测到访问耗时低于预设访问时间阈值,则停止对第一预设次数或第二预设次数的调整。进一步地,若对第一预设次数或第二预设次数进行一次调整之后,数据的访问耗时仍超出预设访问时间阈值,则继续调低第一预设次数或者第二预设次数;直至检测到数据的访问耗时小于或者等于预设访问时间阈值,停止调低第一预设次数或者第二预设次数。
在另一个实施例中,统计键值存储系统中各数据进行数据迁移的迁移次数;基于各数据的迁移次数对第一预设次数或者第二预设次数进行调整。进一步地,在一个实施例中,若迁移次数大于预设迁移次数阈值,增大第一预设次数或者第二预设次数。在本实施例中对于数据库中的数据的迁移次数进行统计,若设定时间段内数据的迁移次数超出预设次数阈值,表明数据迁移太频繁,可增大第一预设次数或第二预设次数以减少数据迁移的次数。在一个实施例中,可在设定时间段内监控各数据的数据迁移次数是否超过预设迁移次数阈值。其中,预设次数阈值和设定时间段均可根据实际情况进行设置。
在一个实施例中,如图3所示,上述方法还包括步骤S310至步骤S330。
步骤S310,获取待存储数据,根据待存储数据的键值进行哈希运算得到对应的哈希值。
哈希算法(Hash),是把任意长度的输入通过哈希算法变换成固定长度的输出,该输出就是哈希值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
在一个实施例中,待存储数据可以是任意一种数据,待存储数据中包括待存储数据的键值;在一个具体实施例中,待存储数据是用户的角色数据,待存储数据的键值可以是用户的id(Identity document,身份证件)。
步骤S320,根据哈希值定位至键值存储系统中的哈希表头指针。
其中,头指针是以确定线性表中第一个元素对应的存储位置,在本实施例中,哈希表中采用有序链表的结构进行数据存储,头指针表示的是有序链表中的第一个链表节点中第一个元素对应的存储位置。在本实施例中,根据待存储数据的键值进行哈希运算获得的哈希值可以在键值存储系统中查找到哈希表头指针,进而根据哈希表头指针可以将待存储数据存储至对应的哈希表。
步骤S330,基于待存储数据的键值将待存储数据存储至哈希表头指针所对应的哈希表中的目标平衡树;其中,目标平衡树对应的数据访问热度最低。
由于在哈希表的有序链表中是基于数据的访问热度来进行排序的,待存储数据存入时访问次数可以记为0,此时将待存储数据存入有序链表中的数据访问热度最低的一棵平衡树中,在本实施例中记为目标平衡树;进一步地,待存储数据在平衡树中的位置可以根据待存储数据的键值与数据访问热度最低的一棵平衡树中各节点对应键值进行比较后确定。在一个实施例中,数据访问热度最低是表示的是在同一哈希表中数据访问热度最低。
在一个实施例中,上述方法在读取键值存储系统中存储的各数据的访问次数之后,还包括:对各数据的访问次数进行区域划分,得到划分结果;基于划分结果将各数据依次填入有序链表的各平衡树中。
在一个实施例中,每隔预设时间段执行对所有数据进行访问次数区域划分,并基于划分得到的结果将所有数据重新排列填入有序链表的各平衡树中。在本实施例中,每隔一定时间,基于所有数据的访问次数进行重新的次数划分,并结合划分结果将各数据重新存入各平衡树中。
在一个实施例中,如图4所示,上述数据处理方法还包括步骤S410至步骤S430。
步骤S410,接收数据访问请求,根据数据访问请求的键值确定对应的哈希值。
数据访问请求为终端发送的访问数据的请求,数据访问请求携带请求访问的数据对应的键值。在一个实施例中,对数据访问请求的键值进行哈希运算,得到哈希值。
步骤S420,根据哈希值在键值存储系统中查找对应的目标哈希表。
根据数据访问请求的键值对应的哈希值可定位到对应的哈希表头指针,进而确定数据访问请求对应的待访问数据所存储的哈希表,本实施例中记为目标哈希表。
步骤S430,依次遍历目标哈希表的各链表节点中的平衡树查找数据访问请求对应的键值,当在平衡树中查找到数据访问请求对应的键值时,读取所在节点中存储的数据。
其中,键值存储系统以键值对的方式存储数据;键值对(key-value)分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询;在本实施例中,键值存储系统采用哈希表作为底层数据结构;键值存储系统中包括多个哈希表(Hashtable,是根据关键码值(Keyvalue)而直接进行访问的数据结构),每一哈希表中包含一个有序链表(从头节点开始到链表结尾,节点中数据有序排列);在本实施例中,有序链表中的数据是基于各数据的访问热度进行排序的;进一步地,有序链表的各节点中分别存储一棵平衡树(任意节点的子树的高度差都小于等于1),且每一平衡树中的各节点所存储的数据是基于数据的键值大小来存储的。
进一步地,在一个实施例中,各哈希表中的有序链表包括有序环形链表。在键值存储系统的各哈希表中采用有序环形链表进行数据存储,从链表中的任意节点均可遍历到该链表中所有的节点,可提高数据访问的效率。
在一个实施例中,平衡树的左节点、父节点和右节点对应的键值按照大小顺序依次排列;在本实施例中,依次遍历目标哈希表的各链表节点中的平衡树查找数据访问请求对应的键值,包括:在目标哈希表的有序链表中选择当前链表节点;从根节点开始遍历当前链表节点的平衡树;在平衡树中:若访问请求的键值小于父节点键值,访问键值小于父节点键值的子树;若访问请求的键值大于父节点键值,访问键值大于父节点键值的子树;直至查找到与数据访问请求的键值相同的节点;若在当前链表节点的平衡树中未查找到数据访问请求的键值,跳转至下一链表节点的平衡树进行查找。
本实施例中,平衡树的左节点、父节点和右节点的键值大小依次按照顺序排列,可以理解地,可以按照升序排列,即左节点键值小于父节点键值,父节点键值小于右节点键值;也可以按照降序排列,即左节点键值大于父节点键值,父节点键值大于右节点键值。
进一步地,在一个具体实施例中,平衡树的左子节点对应的键值小于父节点对应的键值,而父节点对应的键值小于右节点对应的键值。在本实施例中,在访问数据时,待访问的数据的键值与平衡树的根节点的键值进行比较,若小于根节点的键值,则访问根节点的左节点,若大于根节点的键值则访问右节点;以此类推,若在当前平衡树未查找到待访问的数据,进入有序链表的下一链表节点的平衡树中进行查找。在另一个具体实施例中,平衡树左节点对应的键值大于父节点对应的键值,而父节点对应的键值大于右节点对应的键值;在本实施例中,在访问数据时,待访问的数据的键值与平衡树的根节点的键值进行比较,若小于根节点的键值,则访问根节点的右节点,若大于根节点的键值则访问左节点;以此类推,若在当前平衡树未查找到待访问的数据,进入有序链表的下一链表节点的平衡树中进行查找。
本实施例中,通过数据访问请求对应的待访问数据的键值在目标哈希表中依次与各平衡树中存储数据的键值进行大小比较,由于平衡树中右节点键值大于父节点键值,而父节点键值大于左节点键值,因此可根据该特性来查找待访问数据,首先将待访问数据与平衡树的根节点键值进行比较,若键值小于根节点键值,则仅在根节点的左子树进行查找,若键值大于根节点则仅在根节点的右子树中的节点进行查找,再分别以当前节点为父节点进行键值大小比较,直至查找到相同的键值,即完成查找;进一步地,在当前平衡树中未查找到相同的键值时,可进入下一链表节点的平衡树中进行查找;由于采用了平衡树,无需访问平衡树中存储的所有数据,查找效率较高,在访问数据时在每个平衡树中查询效率较高,比传统遍历方法的耗时低,提高数据访问性能。可以理解地,在其它实施例中,平衡树也可以基于数据的键值按照其它方式进行数据存储,例如左节点键值大于右节点键值等等,相应地,访问数据时查找策略对应调整。
在另一个实施例中,本申请还提供一种数据访问方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:向服务器发送数据访问请求,其中,数据访问请求用于使服务器根据数据访问请求的键值确定对应的哈希值;根据哈希值在键值存储系统中查找对应的目标哈希表;依次遍历目标哈希表的各链表节点中的平衡树查找数据访问请求对应的键值,当在平衡树中查找到数据访问请求对应的键值时,读取所在节点中存储的待访问数据;接收服务器反馈的待访问数据。
在本实施例中,从终端的角度出发描述了数据访问的应用场景,在本实施例中,终端向服务器发送数据访问请求,服务器根据终端发送的数据访问请求中的数据键值在键值存储系统中进行数据查找;具体查找过程可参见数据处理方法中服务器接收数据访问请求时查找数据实施例中的描述,在此不再赘述。
本申请还提供一种应用场景,该应用场景应用上述的数据处理方法。具体地,该数据处理方法在该应用场景的应用如下:
在本实施例中将上述数据处理方法应用于游戏的应用程序。
统计键值存储系统中所有数据的访问次数并排序,并将排序后的数据划分为N个区间。
如图5所示,为一个具体实施例中键值存储系统的存储示意图。依次将各区间数据填入N棵平衡树中,平衡树中每个父节点均有两个子节点,同时左节点的键值小于父节点,父节点的键值小于右节点,以此类推。假设平衡树中节点个数为N,则平衡树高度为log2(N)。根据某个数据的键值key(如:玩家账号id)查询数据时(如:玩家角色信息),先通过哈希算法,计算哈希值hash(key),然后根据哈希值定位至哈希表的头指针Head(k)。遍历头指针定位的有序环形链表,环形链表按照数据的访问热度排序,所以先在平衡树Tree1中,查找key对应的节点。平衡树中定位key节点,从根节点开始,如果数据的key小于根节点的key,则继续访问左节点,否则访问右节点,以此类推。如果本棵平衡树中找不到key节点,则继续返回有序链表,查找下一棵平衡树。
如图6所示为一个具体实施例中的数据迁移的示意图。对于每个数据key的读写,均会增加该数据的访问频次,如果该数据的访问频次超出了本棵树的访问频次区间counter range,则需要将该数据节点迁移至其他平衡树中。
为了避免访问频次频繁变更,导致数据节点频繁迁移影响性能,只在满足数据迁移检测条件时进行数据迁移的检测;在一个具体实施例中,每隔M次数据访问后,进入对数据迁移的检测。
对于M值(上述第一预设次数或第二预设次数)的调整,采用自适应调节方案,如图7所示为一个具体实施例中M值的自适应调整示意图,通过统计每次数据访问耗时,计算累计访问的平均耗时,如果耗时超过预设访问时间阈值10ms,说明热点数据节点未处于热点平衡树(如图6的Tree1,Tree2,Tree3),此时需要缩小M值,每次将M值除以2,从而尽快将热点数据迁移至热点平衡树中。一旦访问耗时降到10ms以下,则停止M值的修改。可以理解地,在其它实施例中,也可以将预设访问时间阈值设置为其它时间。
如果M值太低,会导致频繁进行数据迁移,上述实施例中通过监测数据迁移次数,若次数超过阈值X,则提高M值,M值每次加1。通过不断调整,找到合适M值,既满足数据查询的低耗时,又满足合适的数据迁移次数。
上述实施例中的数据处理方法,有效提高游戏中的数据查找效率,可动态检测数据的读写热度,调整存储结构,提高数据读写的吞吐性能。通过数据节点的热度迁移,保证热点数据的读写高性能,同时为了防止频繁的热点迁移占用过多的CPU性能,提出自适应的热点迁移间隔调整方案,保证在低数据访问耗时下,可以降低数据迁移的性能消耗。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据处理装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:访问次数读取模块810、访问次数检测模块820和数据迁移模块830,其中:
访问次数读取模块810,用于读取键值存储系统中存储的各数据的访问次数;其中,键值存储系统的各哈希表中,采用有序链表存储数据,有序链表的各链表节点中数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;各平衡树基于数据的键值大小进行数据存储;
访问次数检测模块820,用于热度当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间;
数据迁移模块830,用于将目标数据迁移至目标访问热度区间对应的链表节点的平衡树。
上述数据处理装置,键值存储系统的各哈希表中,基于数据访问热度采用有序链表存储数据,有序链表中各链表节点的数据访问热度依次降低;有序链表的各链表节点中分别存储一棵平衡树;对于键值存储系统中存储的各数据,基于各自的访问次数进行数据迁移的判断,若目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找目标数据的访问次数对应的目标访问热度区间,并将该目标数据迁移至目标访问热度区间对应的链表节点的平衡树中。上述方法中,在键值存储系统中,基于数据访问热度采用有序链表进行数据的存储,同时在有序链表的各链表节点均以平衡树的方式存储多个数据,并且平衡树中基于键值大小进行数据存储,从而在访问数据时,可依次在有序链表的各平衡树中基于键值与各节点键值大小进行比较来查找数据访问请求对应的键值,无需遍历该哈希表中的所有数据,所需时间短,可提高数据的读写性能;且访问热度越高的数据访问时所需的查找时间越少。
在一个实施例中,上述装置还包括:条件检测模块,用于当满足数据迁移检测条件时,跳转至访问次数读取模块810执行读取键值存储系统中存储的各数据的访问次数的步骤。
进一步地,在一个实施例中,上述装置的条件检测模块具体用于对键值存储系统中的所有数据的访问次数达到第一预设次数时;或者,上述装置的条件检测模块具体用于在预设时间段内对键值存储系统中同一数据的访问次数达到第二预设次数,判定满足数据迁移检测条件。
在一个实施例中,上述装置还包括:访问耗时获取模块,用于获取键值存储系统中各数据的访问耗时;预设次数调整模块,用于基于访问耗时对于第一预设次数或第二预设次数进行调整。
在另一个实施例中,上述装置还包括:迁移次数统计模块,用于统计键值存储系统中各数据进行数据迁移的迁移次数;预设次数调整模块,用于基于各数据的迁移次数对第一预设次数或第二预设次数进行调整。
在一个实施例中,上述装置还包括:数据获取模块,用于获取待存储数据,根据待存储数据的键值进行哈希运算得到对应的哈希值;定位模块,用于根据哈希值定位至键值存储系统中的哈希表头指针;数据存储模块,用于基于待存储数据的键值将待存储数据存储至哈希表头指针所对应的哈希表中的目标平衡树;其中,目标平衡树对应的数据访问热度最低。
在一个实施例中,上述装置还包括数据访问请求接收模块,用于接收数据访问请求,根据数据访问请求的键值确定对应的哈希值;哈希表查找模块,用于根据哈希值在键值存储系统中查找对应的目标哈希表;查找模块,用于依次遍历目标哈希表的各链表节点中的平衡树查找数据访问请求对应的键值,当在平衡树中查找到数据访问请求对应的键值时,读取所在节点中存储的数据。
在一个实施例中,平衡树的左节点、父节点和右节点对应的键值按照大小顺序依次排列;在本实施例中,上述查找模块具体用于在目标哈希表的有序链表中选择当前链表节点;从根节点开始遍历当前链表节点的平衡树;在平衡树中:若访问请求的键值小于父节点键值,访问键值小于父节点键值的子树;若访问请求的键值大于父节点键值,访问键值大于父节点键值的子树;直至查找到与数据访问请求的键值相同的节点;若在当前链表节点的平衡树中未查找到数据访问请求的键值,跳转至下一链表节点的平衡树进行查找。
在一个实施例中,包括:有序链表包括有序环形链表。
在一个实施例中,如图9所示,上述装置还包括:请求接收模块910,用于请求接收模块,用于接收数据访问请求,根据数据访问请求的键值确定对应的哈希值;哈希表定位模块920,用于根据哈希值在键值存储系统中查找对应的目标哈希表;数据查找模块930,用于依次遍历目标哈希表的各链表节点中的平衡树查找数据访问请求对应的键值,当在平衡树中查找到数据访问请求对应的键值时,读取所在节点中存储的数据。
在一个实施例中,平衡树的各子节点对应的键值均小于父节点对应的键值,且平衡树的左节点对应的键值小于右节点对应的键值;在本实施例中,数据查找模块930具体用于:在目标哈希表对应有序链表的当前链表节点的平衡树中,依次将数据访问请求的键值与各父节点、左节点和右节点的键值的大小进行比较,直至找到与数据访问请求的键值相同的节点;若在当前链表节点的平衡树中未查找到数据访问请求的键值,依次跳转至下一链表节点的平衡树进行查找。
关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储键值对数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,采用有序链表存储数据,所述有序链表的各链表节点中数据访问热度依次降低;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树基于数据的键值大小进行数据存储;
当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
2.根据权利要求1所述的数据处理方法,其特征在于,当满足数据迁移检测条件时,进入所述读取键值存储系统中存储的各数据的访问次数的步骤。
3.根据权利要求2所述的数据处理方法,其特征在于,对所述键值存储系统中的所有数据的访问次数达到第一预设次数时,或者,在预设时间段内对所述键值存储系统中同一数据的访问次数达到第二预设次数,判定满足数据迁移检测条件。
4.根据权利要求3所述的数据处理方法,其特征在于,还包括以下至少一项:
第一项,
获取所述键值存储系统中各数据的访问耗时;
基于所述访问耗时对于所述第一预设次数或第二预设次数进行调整;
第二项,
统计所述键值存储系统中各数据进行数据迁移的迁移次数;
基于各数据的所述迁移次数对所述第一预设次数或第二预设次数进行调整。
5.根据权利要求1所述的数据处理方法,其特征在于,还包括:
获取待存储数据,根据所述待存储数据的键值进行哈希运算得到对应的哈希值;
根据所述哈希值定位至键值存储系统中的哈希表头指针;
基于所述待存储数据的键值,将所述待存储数据存储至所述哈希表头指针所对应的哈希表中的目标平衡树;所述目标平衡树对应的数据访问热度最低。
6.根据权利要求1所述的数据处理方法,其特征在于,还包括:
接收数据访问请求,根据所述数据访问请求的键值确定对应的哈希值;
根据所述哈希值在所述键值存储系统中查找对应的目标哈希表;
依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,当在平衡树中查找到所述数据访问请求对应的键值时,读取所在节点中存储的数据。
7.根据权利要求6所述的数据处理方法,其特征在于,所述平衡树的左节点、父节点和右节点对应的键值按照大小顺序依次排列;
所述依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,包括:
在所述目标哈希表的有序链表中选择当前链表节点;
从根节点开始遍历所述当前链表节点的平衡树;在所述平衡树中:若所述访问请求的键值小于父节点键值,访问键值小于所述父节点键值的子树;若所述访问请求的键值大于所述父节点键值,访问键值大于所述父节点键值的子树;直至查找到与所述数据访问请求的键值相同的节点;
若在所述当前链表节点的平衡树中未查找到所述数据访问请求的键值,跳转至下一链表节点的平衡树进行查找。
8.根据权利要求1至7任意一项所述的数据处理方法,其特征在于,所述有序链表包括有序环形链表。
9.一种数据访问方法,其特征在于,所述方法包括:
向服务器发送数据访问请求,所述数据访问请求用于使所述服务器根据数据访问请求的键值确定对应的哈希值;根据所述哈希值在键值存储系统中查找对应的目标哈希表;依次遍历所述目标哈希表的各链表节点中的平衡树查找所述数据访问请求对应的键值,当在平衡树中查找到所述数据访问请求对应的键值时,读取所在节点中存储的待访问数据;
接收所述服务器反馈的待访问数据。
10.一种数据处理装置,其特征在于,所述装置包括:
访问次数读取模块,用于读取键值存储系统中存储的各数据的访问次数;其中,所述键值存储系统的各哈希表中,基于数据访问热度采用有序链表存储数据;所述有序链表的各链表节点中分别存储一棵平衡树;各所述平衡树基于数据的键值大小进行数据存储;
访问次数检测模块,用于热度当目标数据的访问次数不属于所在平衡树对应的访问热度区间时,查找所述目标数据的访问次数对应的目标访问热度区间;
数据迁移模块,用于将所述目标数据迁移至所述目标访问热度区间对应的链表节点的平衡树。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011008021.XA CN112100293A (zh) | 2020-09-23 | 2020-09-23 | 数据处理方法、数据访问方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011008021.XA CN112100293A (zh) | 2020-09-23 | 2020-09-23 | 数据处理方法、数据访问方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100293A true CN112100293A (zh) | 2020-12-18 |
Family
ID=73755913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011008021.XA Pending CN112100293A (zh) | 2020-09-23 | 2020-09-23 | 数据处理方法、数据访问方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100293A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883124A (zh) * | 2021-03-17 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN113157629A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113238919A (zh) * | 2021-04-26 | 2021-08-10 | 北京京东拓先科技有限公司 | 一种用户访问数的统计方法、装置及系统 |
CN114896257A (zh) * | 2022-07-12 | 2022-08-12 | 中用科技有限公司 | 一种用于大型数据库哈希表的优化方法及存储介质 |
CN115562595A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | 一种卷创建方法及装置、卷读写方法及装置、电子设备 |
CN117349483A (zh) * | 2023-12-05 | 2024-01-05 | 杭州行芯科技有限公司 | 一种寄生参数的查找方法、装置、电子设备及存储介质 |
CN117762949A (zh) * | 2024-02-19 | 2024-03-26 | 平凯星辰(北京)科技有限公司 | 数据抽取方法、装置、电子设备及存储介质 |
-
2020
- 2020-09-23 CN CN202011008021.XA patent/CN112100293A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883124A (zh) * | 2021-03-17 | 2021-06-01 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112883124B (zh) * | 2021-03-17 | 2022-12-02 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN113157629A (zh) * | 2021-04-20 | 2021-07-23 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113238919A (zh) * | 2021-04-26 | 2021-08-10 | 北京京东拓先科技有限公司 | 一种用户访问数的统计方法、装置及系统 |
CN114896257A (zh) * | 2022-07-12 | 2022-08-12 | 中用科技有限公司 | 一种用于大型数据库哈希表的优化方法及存储介质 |
CN114896257B (zh) * | 2022-07-12 | 2022-09-23 | 中用科技有限公司 | 一种用于大型数据库哈希表的优化方法及存储介质 |
CN115562595A (zh) * | 2022-12-06 | 2023-01-03 | 苏州浪潮智能科技有限公司 | 一种卷创建方法及装置、卷读写方法及装置、电子设备 |
CN117349483A (zh) * | 2023-12-05 | 2024-01-05 | 杭州行芯科技有限公司 | 一种寄生参数的查找方法、装置、电子设备及存储介质 |
CN117349483B (zh) * | 2023-12-05 | 2024-04-09 | 杭州行芯科技有限公司 | 一种寄生参数的查找方法、装置、电子设备及存储介质 |
CN117762949A (zh) * | 2024-02-19 | 2024-03-26 | 平凯星辰(北京)科技有限公司 | 数据抽取方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100293A (zh) | 数据处理方法、数据访问方法、装置及计算机设备 | |
US10353864B2 (en) | Preferentially retaining memory pages using a volatile database table attribute | |
US7305536B2 (en) | Storage system capable of relocating data | |
US9355121B1 (en) | Segregating data and metadata in a file system | |
US11681679B2 (en) | Systems and methods for performing tree-structured dataset operations | |
US20180167461A1 (en) | Method and apparatus for load balancing | |
US7752206B2 (en) | Method and data processing system for managing a mass storage system | |
CN111309258A (zh) | 一种b+树的存取方法、装置和计算机可读存储介质 | |
CN112947860B (zh) | 一种分布式数据副本的分级存储与调度方法 | |
CN112988066A (zh) | 一种数据处理方法及装置 | |
CN111638853A (zh) | 数据存储方法、装置、存储集群、网关设备及主设备 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
CN107133334B (zh) | 基于高带宽存储系统的数据同步方法 | |
CN111580959B (zh) | 一种数据写入方法、数据写入装置、服务器及存储介质 | |
US11269544B1 (en) | Deleting an object from an object storage subsystem for managing paged metadata | |
CN108932104B (zh) | 一种数据处理方法、装置及处理服务器 | |
CN113268203B (zh) | 存储系统的容量均衡方法、装置、计算机设备和存储介质 | |
CN115454994A (zh) | 一种基于分布式键值数据库的元数据存储方法及装置 | |
CN108769123B (zh) | 一种数据系统及数据处理方法 | |
CN107168645B (zh) | 一种分布式系统的存储控制方法及系统 | |
US10169250B2 (en) | Method and apparatus method and apparatus for controlling access to a hash-based disk | |
CN113360455B (zh) | 一种超融合系统的数据处理方法、装置、设备及介质 | |
CN113407513B (zh) | 特征库的调度方法、装置和特征库检索方法、装置 | |
CN115952005B (zh) | 一种元数据负载均衡方法、装置、设备及可读存储介质 | |
US11036678B2 (en) | Optimizing files stored in a distributed file system |
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 |