CN112800123B - 数据处理方法、装置、计算机设备和存储介质 - Google Patents
数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112800123B CN112800123B CN202110177583.5A CN202110177583A CN112800123B CN 112800123 B CN112800123 B CN 112800123B CN 202110177583 A CN202110177583 A CN 202110177583A CN 112800123 B CN112800123 B CN 112800123B
- Authority
- CN
- China
- Prior art keywords
- data
- identifier
- target
- segment
- storage position
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000013500 data storage Methods 0.000 claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000002360 preparation method Methods 0.000 claims description 63
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000008030 elimination Effects 0.000 description 7
- 238000003379 elimination reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 3
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
Abstract
本申请涉及一种数据处理方法、装置、计算机设备和存储介质。所述方法包括:响应于数据请求,获取数据请求对应的数据标识;将数据标识划分为第一分段标识、第二分段标识和第三分段标识;根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置;根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。采用本方法能够提高内存空间利用率和数据读取效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
背景技术
内存通常用于存储临时数据,当内存空间耗尽时,会淘汰先前已存储的数据,为最新数据提供空间。相关技术中采用最近最少使用(LFU)淘汰机制,该机制赋予每个数据一个访问字段,用来记录一个数据被访问的次数t,当须淘汰一个数据时,选择现有数据中t值最小(即最近最少使用)的数据予以淘汰。如图1所示,Key为数据ID,Value为数据本身,假设内存空间最高容纳4个数据,其中(Key4,Value4)为最近最少使用的数据,此时(Key5,Value5)数据为刚从数据库中加载的最新数据,则LFU淘汰机制会将(Key4,Value4)数据淘汰,腾出空间存储(Key5,Value5)数据。
传统技术中,如图2所示,通过哈希表(Hash Table)对数据进行存储和读取,需要大量的链表操作,每份存储的数据包括:Key(数据ID)、Value(数据本身)和Next DataAddress(下一个数据的地址)三个部分,即除了存储数据本身,需要额外存储数据ID和下一个数据的地址,内存空间利用率不够高,在内存有限的情况下,易发生频繁的数据淘汰,导致需要频繁访问数据库获取数据,造成较大的时间消耗,影响数据读取效率。此外,不同的Key经过哈希算法,可能得到一样的结果,即出现哈希碰撞,需要使用链表将冲突数据连接,在哈希碰撞情形下,每次数据读取需要遍历链表才能得到目标数据,同样会影响数据读取效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高内存空间利用率和数据读取效率的数据处理方法、装置、计算机设备和存储介质。
一种数据处理方法,所述方法包括:
响应于数据请求,获取所述数据请求对应的数据标识;
将所述数据标识划分为第一分段标识、第二分段标识和第三分段标识;
根据所述第一分段标识确定目标内存单元,根据所述第二分段标识在所述目标内存单元中确定目标存储位置;
根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
一种数据处理装置,所述装置包括:
数据标识获取模块,用于响应于数据请求,获取所述数据请求对应的数据标识;
数据标识划分模块,用于将所述数据标识划分为第一分段标识、第二分段标识和第三分段标识;
定位模块,用于根据所述第一分段标识确定目标内存单元,根据所述第二分段标识在所述目标内存单元中确定目标存储位置;
目标数据获取模块,用于根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于数据请求,获取所述数据请求对应的数据标识;
将所述数据标识划分为第一分段标识、第二分段标识和第三分段标识;
根据所述第一分段标识确定目标内存单元,根据所述第二分段标识在所述目标内存单元中确定目标存储位置;
根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于数据请求,获取所述数据请求对应的数据标识;
将所述数据标识划分为第一分段标识、第二分段标识和第三分段标识;
根据所述第一分段标识确定目标内存单元,根据所述第二分段标识在所述目标内存单元中确定目标存储位置;
根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
上述数据处理方法、装置、计算机设备和存储介质,响应于数据请求,获取数据请求对应的数据标识;将数据标识划分为第一分段标识、第二分段标识和第三分段标识;根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置;根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。据此,通过对数据标识进行划分,利用第一分段标识和第二分段标识定位目标存储位置,利用第三分段标识以及定位到的目标存储位置的数据存储情况获取目标数据,从而无需链表操作,读取数据时可以实现快速定位,存储数据时也无需额外存储整个数据标识以及下一个数据的地址,可节省存储空间,提高内存空间利用率,避免数据频繁淘汰以及频繁访问数据库,提高数据读取效率。
附图说明
图1为LFU淘汰机制的示意图;
图2为利用哈希表进行数据读写的示意图;
图3为一个实施例中数据处理方法的应用环境图;
图4为一个实施例中数据处理方法的流程示意图;
图5为一个实施例中内存单元划分的示意图;
图6为一个实施例中内存数据定位过程的示意图;
图7为一个实施例中数据处理方法的流程示意图;
图8为一个实施例中数据处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据处理方法,可以应用于如图3所示的应用环境中。其中,终端302通过网络与服务器304进行通信。用户可以通过终端302上安装的游戏程序客户端访问并运行游戏,服务器304可以是该游戏程序客户端所对应的服务器。具体而言,终端302可以向服务器304发送数据请求,用以请求获取相关数据,服务器304响应于数据请求,从服务器内存或者游戏数据库中读取相关数据,并向终端302返回相关数据。其中,终端302可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器304可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图4所示,提供了一种数据处理方法,以该方法应用于图3中的服务器为例进行说明,包括以下步骤S402至步骤S408。
S402,响应于数据请求,获取数据请求对应的数据标识。
数据请求用于请求获取所需的目标数据,数据请求对应的数据标识指的是目标数据的标识,数据标识与数据本身一一对应。以游戏数据为例,所需的目标数据可以是帮派数据或角色数据等(假设用A表示),终端向服务器发送数据请求,数据请求中可以携带数据A对应的数据标识(假设用a表示),服务器从数据请求中获取数据标识a。
S404,将数据标识划分为第一分段标识、第二分段标识和第三分段标识。
可以预先将服务器的内存空间划分成多个块,每个块称之为内存单元。第一分段标识用于定位目标数据所存储的内存单元,第二分段标识用于定位目标数据在内存单元中的偏移量,即目标数据在内存单元中的起始存储位置相对于该内存单元的起始位置的偏移量。
在一个实施例中,可以将内存空间平均分成相等大小的多个块,如图5所示,将一个64MB大小的内存空间平均分成8块,得到8个内存单元,每个内存单元大小为8MB。数据标识可以采用二进制数,具体可以采用64比特的二进制数,64比特的数据标识具有直观、可表示数据多、占用内存小等优点。
如图6所示,对64比特的数据标识进行比特位划分,得到3比特的第一分段标识(用split表示)、13比特的第二分段标识(用offset表示)、以及48比特的第三分段标识(用prefix表示)。第一分段标识用于定位内存单元,第二分段标识用于定位在内存单元中的存储位置。第一分段标识的比特大小与内存单元的数量相关,3比特的第一分段标识有8种不同情况,每种情况对应一个内存单元,从而实现利用第一分段标识定位到内存单元。需要说明的是,各分段标识在整个数据标识中所处的位置、以及各分段标识的比特大小都可以结合实际需求进行设置,此处不做限定。
可以理解的是,不同数据对应的数据标识不同,将两个不同的数据标识(例如数据标识a和数据标识b)分别划分成三段分段标识之后,可能存在以下情况:数据标识a的第一分段标识与数据标识b的第一分段标识相同,数据标识a的第二分段标识与数据标识b的第二分段标识相同,数据标识a的第三分段标识与数据标识b的第三分段标识不同。该情况下,数据标识a和数据标识b对应的数据定位到同一内存单元的同一位置,因此需要利用第三分段标识来识别该位置存储的数据。
S406,根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置。
可以理解,若终端从未请求过本次数据请求所需的目标数据,则内存单元中未存储该目标数据,需要从数据库获取该目标数据;若终端在不久前请求过该目标数据,则该目标数据可能还存储于内存单元中,即该目标数据能够在内存中找到(称为数据命中)。
服务器存储该目标数据的步骤可以包括:将该目标数据的数据标识划分为第一分段标识、第二分段标识和第三分段标识;根据第一分段标识确定待存储内存单元,根据第二分段标识确定在待存储内存单元中的待存储位置;将第三分段标识作为特征标识,与该目标数据关联存储于该待存储位置。据此,在存储数据时只需关联存储部分数据标识,无需额外存储整个数据标识以及下一个数据的地址,可节省存储空间,提高内存空间利用率,有利于在有限的内存空间中实现高效的数据读写性能。
服务器在每次接收到数据请求后,先判断内存中是否已存储有本次数据请求所需的目标数据。具体而言,根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置,目标内存单元表示目标数据存储时所在的内存单元,目标存储位置表示目标数据存储时在目标内存单元中的偏移量。
S408,根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。
结合目标存储位置的数据存储情况以及第三分段标识,可以确定内存单元中是否已存储有本次数据请求所需的目标数据,当内存单元中存储有该目标数据时,直接从内存单元中读取该目标数据,当内存单元中没有存储该目标数据时,从数据库中获取该目标数据。
在一个实施例中,在获得数据标识对应的目标数据之后,还包括以下步骤:向数据请求发送方返回目标数据。
数据请求发送方可以是游戏程序客户端,服务器将目标数据返回至游戏程序客户端,游戏程序客户端显示该目标数据,以供游戏用户查看。
上述数据处理方法中,响应于数据请求,获取数据请求对应的数据标识;将数据标识划分为第一分段标识、第二分段标识和第三分段标识;根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置;根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。据此,通过对数据标识进行划分,利用第一分段标识和第二分段标识定位目标存储位置,利用第三分段标识以及定位到的目标存储位置的数据存储情况获取目标数据,从而无需链表操作,读取数据时可以实现快速定位,存储数据时也无需额外存储整个数据标识以及下一个数据的地址,可节省存储空间,提高内存空间利用率,避免数据频繁淘汰以及频繁访问数据库,提高数据读取效率。
在一个实施例中,根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当目标存储位置存储有数据且关联存储的特征标识与第三分段标识一致时,读取目标存储位置存储的数据,作为数据标识对应的目标数据。
如前所述,服务器将数据存储于内存单元时,会根据该数据的数据标识中的第一分段标识和第二分段标识定位到相应内存单元的相应位置,并将该数据的数据标识中的第三分段标识作为特征标识,与该数据关联存储于相应内存单元的相应位置。因此,若目标存储位置存储有数据且关联存储的特征标识与第三分段标识一致,则说明该目标存储位置存储的数据为所需的目标数据,即数据命中,从而服务器可直接将该目标存储位置存储的数据返回至客户端,无需请求数据库,实现数据快速读取。
在一个实施例中,根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,向数据库请求获取数据标识对应的目标数据。
目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致,说明该目标存储位置存储的数据不是所需的目标数据,从而服务器向数据库请求获取所需的目标数据,并将该目标数据返回至客户端。
在一个实施例中,根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当目标存储位置没有存储数据时,向数据库请求获取数据标识对应的目标数据。
目标存储位置没有存储数据,说明内存单元中没有存储所需的目标数据,从而服务器向数据库请求获取所需的目标数据,并将该目标数据返回至客户端。
在一个实施例中,在向数据库请求获取数据标识对应的目标数据之后,还包括以下步骤:将第三分段标识作为特征标识,与目标数据关联存储于目标存储位置。
服务器从数据库获得目标数据之后,还可以将该目标数据存储于目标存储位置,以便下次直接读取。如前所述,两种情况下需要向数据库请求获取数据标识对应的目标数据,第一种情况是目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致,第二种情况是目标存储位置没有存储数据。在第一种情况下,由于目标存储位置原本存储有数据,因此将目标数据存储于目标存储位置时,需将原本存储的数据移除,为目标数据腾出空间。在第二种情况下,由于目标存储位置原本没有存储数据,因此直接将该目标数据存储于目标存储位置,无需移除操作。
如前所述,对于不同的数据标识(例如数据标识a和数据标识b,分别对应数据A和数据B),当数据标识a的第一分段标识与数据标识b的第一分段标识相同,且数据标识a的第二分段标识与数据标识b的第二分段标识相同时,数据A和数据B定位到同一内存单元的同一位置。如果客户端先请求数据A,服务器判断数据缺失(即未在内存单元中找到数据A),则从数据库中加载数据A至内存单元中。然后客户端又请求数据B,服务器判断数据缺失(即未在内存单元中找到数据B),则从数据库中加载数据B至内存单元中,由于数据标识a和数据标识b共用同一内存单元的同一位置,此时需要将数据A从内存单元中移除,为数据B腾出空间。如果客户端再次访问数据A,服务器又要将数据B移除,将数据A存入,以此反复,会导致内存单元中的数据频繁被替换,数据命中率降低,出现数据冲洗问题。
基于此,可以为每个内存单元设置预备单元,通过第一分段标识可以定位到内存单元及其对应的预备单元。预设单元的数量可以基于实际需求进行设置,此处不做限定。上述实施例中,在内存单元中已存储有数据A的情况下,服务器可以将数据B存储于预备单元中,从而无需将数据A从内存单元中移除,避免内存单元中的数据频繁被替换,有助于提高数据命中率,缓解数据冲洗问题,从而可避免频繁访问数据库(数据库操作需要较大的网络IO和磁盘IO消耗,操作时延大),提高数据读取效率。
在一个实施例中,根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当目标存储位置没有存储数据,或,目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,根据第一分段标识确定目标内存单元对应的预备单元,根据第二分段标识在预备单元中确定预备存储位置;根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。
服务器在每次接收到数据请求后,先判断相应的内存单元中是否已存储有本次数据请求所需的目标数据,若相应的内存单元中没有存储该目标数据,则继续判断相应的预备单元中是否已存储有该目标数据。具体而言,根据第一分段标识确定预备单元,根据第二分段标识在预备单元中确定预备存储位置,预备单元表示目标数据存储时所在的预备单元,预备存储位置表示目标数据存储时在预备单元中的偏移量。
结合预备存储位置的数据存储情况以及第三分段标识,可以确定预备单元中是否已存储有该目标数据,当预备单元中存储有该目标数据时,直接从预备单元中读取该目标数据,当预备单元中没有存储该目标数据时,从数据库中获取该目标数据。
在一个实施例中,根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当预备存储位置存储有数据且关联存储的特征标识与第三分段标识一致时,读取预备存储位置存储的数据,作为数据标识对应的目标数据。
与将数据存储于内存单元的过程类似,服务器将数据存储于预备单元时,会根据该数据的数据标识中的第一分段标识和第二分段标识定位到相应预备单元的相应位置,并将该数据的数据标识中的第三分段标识作为特征标识,与该数据关联存储于相应预备单元的相应位置。因此,若预备存储位置存储有数据且关联存储的特征标识与第三分段标识一致,则说明该预备存储位置存储的数据为所需的目标数据,即数据命中,从而服务器可直接将该预备存储位置存储的数据返回至客户端,无需请求数据库,实现数据快速读取。
在一个实施例中,根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当预备存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,向数据库请求获取数据标识对应的目标数据。
预备存储位置存储有数据且关联存储的特征标识与第三分段标识不一致,说明该预备存储位置存储的数据不是所需的目标数据,从而服务器向数据库请求获取所需的目标数据,并将该目标数据返回至客户端。
在一个实施例中,根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据的步骤,具体可以包括:当预备存储位置没有存储数据时,向数据库请求获取数据标识对应的目标数据。
预备存储位置没有存储数据,说明预备单元中没有存储所需的目标数据,从而服务器向数据库请求获取所需的目标数据,并将该目标数据返回至客户端。
在一个实施例中,在向数据库请求获取数据标识对应的目标数据之后,还包括以下步骤:将第三分段标识作为特征标识,与目标数据关联存储于预备存储位置。服务器从数据库获得目标数据之后,还可以将该目标数据存储于预备存储位置,以便下次直接读取。
在一个实施例中,如图7所示,提供了一种数据处理方法,包括以下步骤:
客户端向服务器请求获取数据标识(Data ID)对应的目标数据;
服务器对Data ID进行二进制比特位划分,获得第一分段标识(split)、第二分段标识(offset)和第三分段标识(prefix);
服务器根据split和offset定位到内存单元的相应位置,进行如下处理:
若内存单元的相应位置没有存储数据,则根据split和offset定位到预备单元的相应位置;若预备单元的相应位置也没有存储数据,则向数据库请求Data ID对应的数据(data),将data返回至客户端,同时将data存储于内存单元或者预备单元的相应位置;若预备单元的相应位置存储有数据且关联存储的prefix与Data ID中的prefix不一致,则向数据库请求Data ID对应的数据(data),将data返回至客户端,同时将data存储于内存单元的相应位置;
若内存单元的相应位置存储有数据且关联存储的prefix与Data ID中的prefix不一致,则根据split和offset定位到预备单元的相应位置;若预备单元的相应位置没有存储数据,则向数据库请求Data ID对应的数据(data),将data返回至客户端,同时将data存储于预备单元的相应位置;若预备单元的相应位置存储有数据且关联存储的prefix与DataID中的prefix不一致,则向数据库请求Data ID对应的数据(data),将data返回至客户端,同时将内存单元或预备单元的相应位置所存储的数据移除,将data存储于移除数据后的相应位置。
上述实施例中,通过解析数据标识的二进制比特位,实现数据的快速定位,有利于在有限的内存空间中提高数据读写性能,此外采用预备单元机制,可降低数据冲洗的概率,提高数据命中率,避免数据频繁淘汰以及频繁访问数据库,提高数据读取效率。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据处理装置800,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据标识获取模块810、数据标识划分模块820、定位模块830和目标数据获取模块840,其中:
数据标识获取模块810,用于响应于数据请求,获取数据请求对应的数据标识。
数据标识划分模块820,用于将数据标识划分为第一分段标识、第二分段标识和第三分段标识。
定位模块830,用于根据第一分段标识确定目标内存单元,根据第二分段标识在目标内存单元中确定目标存储位置。
目标数据获取模块840,用于根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当目标存储位置存储有数据且关联存储的特征标识与第三分段标识一致时,读取目标存储位置存储的数据,作为数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,向数据库请求获取数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当目标存储位置没有存储数据时,向数据库请求获取数据标识对应的目标数据。
在一个实施例中,该装置还包括存储模块,用于在向数据库请求获取数据标识对应的目标数据之后,将第三分段标识作为特征标识,与目标数据关联存储于目标存储位置。
在一个实施例中,目标数据获取模块840在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当目标存储位置没有存储数据,或,目标存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,根据第一分段标识确定目标内存单元对应的预备单元,根据第二分段标识在预备单元中确定预备存储位置;根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当预备存储位置存储有数据且关联存储的特征标识与第三分段标识一致时,获取预备存储位置存储的数据,作为数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当预备存储位置存储有数据且关联存储的特征标识与第三分段标识不一致时,向数据库请求获取数据标识对应的目标数据。
在一个实施例中,目标数据获取模块840在根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当预备存储位置没有存储数据时,向数据库请求获取数据标识对应的目标数据。
在一个实施例中,该装置还包括返回模块,用于在获得数据标识对应的目标数据之后,向数据请求发送方返回目标数据。
关于数据处理装置的具体限定可以参见上文中对于数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储游戏相关数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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.根据权利要求1所述的方法,其特征在于,根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据,包括:
当所述目标存储位置没有存储数据,或,所述目标存储位置存储有数据且关联存储的特征标识与所述第三分段标识不一致时,根据所述第一分段标识确定所述目标内存单元对应的预备单元,根据所述第二分段标识在所述预备单元中确定预备存储位置;
根据所述预备存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
4.根据权利要求3所述的方法,其特征在于,根据所述预备存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据,包括下述各项中的任意一项:
当所述预备存储位置存储有数据且关联存储的特征标识与所述第三分段标识一致时,读取所述预备存储位置存储的数据,作为所述数据标识对应的目标数据;
当所述预备存储位置存储有数据且关联存储的特征标识与所述第三分段标识不一致时,向数据库请求获取所述数据标识对应的目标数据;
当所述预备存储位置没有存储数据时,向数据库请求获取所述数据标识对应的目标数据。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在获得所述数据标识对应的目标数据之后,还包括:向数据请求发送方返回所述目标数据。
6.一种数据处理装置,其特征在于,所述装置包括:
数据标识获取模块,用于响应于数据请求,获取所述数据请求对应的数据标识;
数据标识划分模块,用于将所述数据标识划分为第一分段标识、第二分段标识和第三分段标识;
定位模块,用于根据所述第一分段标识确定目标内存单元,根据所述第二分段标识在所述目标内存单元中确定目标存储位置;
目标数据获取模块,用于根据所述目标存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据;
所述第三分段标识用于作为特征标识,与所述目标数据关联存储于目标存储位置;所述目标数据获取模块,在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:当所述目标存储位置存储有数据且关联存储的特征标识与所述第三分段标识一致时,读取所述目标存储位置存储的数据,作为所述数据标识对应的目标数据。
7.根据权利要求6所述的装置,其特征在于,所述目标数据获取模块在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:
当所述目标存储位置存储有数据且关联存储的特征标识与所述第三分段标识不一致时,向数据库请求获取所述数据标识对应的目标数据;当所述目标存储位置没有存储数据时,向数据库请求获取所述数据标识对应的目标数据。
8.根据权利要求6所述的装置,其特征在于,所述目标数据获取模块在根据目标存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:
当所述目标存储位置没有存储数据,或,所述目标存储位置存储有数据且关联存储的特征标识与所述第三分段标识不一致时,根据所述第一分段标识确定所述目标内存单元对应的预备单元,根据所述第二分段标识在所述预备单元中确定预备存储位置;根据所述预备存储位置的数据存储情况以及所述第三分段标识,获得所述数据标识对应的目标数据。
9.根据权利要求8所述的装置,其特征在于,所述目标数据获取模块在根据预备存储位置的数据存储情况以及第三分段标识,获得数据标识对应的目标数据时,具体用于:
当所述预备存储位置存储有数据且关联存储的特征标识与所述第三分段标识一致时,读取所述预备存储位置存储的数据,作为所述数据标识对应的目标数据;当所述预备存储位置存储有数据且关联存储的特征标识与所述第三分段标识不一致时,向数据库请求获取所述数据标识对应的目标数据;当所述预备存储位置没有存储数据时,向数据库请求获取所述数据标识对应的目标数据。
10.根据权利要求6至9任一项所述的装置,其特征在于,所述装置还包括返回模块,用于:向数据请求发送方返回所述目标数据。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110177583.5A CN112800123B (zh) | 2021-02-08 | 2021-02-08 | 数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110177583.5A CN112800123B (zh) | 2021-02-08 | 2021-02-08 | 数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800123A CN112800123A (zh) | 2021-05-14 |
CN112800123B true CN112800123B (zh) | 2024-02-06 |
Family
ID=75814952
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110177583.5A Active CN112800123B (zh) | 2021-02-08 | 2021-02-08 | 数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800123B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114579198B (zh) * | 2022-01-20 | 2024-02-20 | 飞腾信息技术有限公司 | 内存芯片的启动方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170286464A1 (en) * | 2016-03-31 | 2017-10-05 | King.Com Limited | Storing segmented data |
CN111459671A (zh) * | 2020-03-30 | 2020-07-28 | 深圳市英威腾电源有限公司 | 一种数据处理方法、装置及数据交换服务器和存储介质 |
CN111522673A (zh) * | 2020-04-26 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 内存数据访问方法、装置、计算机设备和存储介质 |
-
2021
- 2021-02-08 CN CN202110177583.5A patent/CN112800123B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170286464A1 (en) * | 2016-03-31 | 2017-10-05 | King.Com Limited | Storing segmented data |
CN111459671A (zh) * | 2020-03-30 | 2020-07-28 | 深圳市英威腾电源有限公司 | 一种数据处理方法、装置及数据交换服务器和存储介质 |
CN111522673A (zh) * | 2020-04-26 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 内存数据访问方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112800123A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
EP3309685B1 (en) | Method and apparatus for writing data to cache | |
US9966152B2 (en) | Dedupe DRAM system algorithm architecture | |
US20150113230A1 (en) | Directory storage method and query method, and node controller | |
US10496543B2 (en) | Virtual bucket multiple hash tables for efficient memory in-line deduplication application | |
CN103049392B (zh) | 缓存目录的实现方法及装置 | |
CN109976669B (zh) | 一种边缘存储方法、装置和存储介质 | |
CN109508254B (zh) | 一种数据恢复方法及装置 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
JP2017527877A (ja) | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 | |
CN116431530B (zh) | 一种cxl内存模组、内存的处理方法及计算机系统 | |
CN112559386A (zh) | 提升ssd性能的方法、装置、计算机设备及存储介质 | |
CN112800123B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN106095331B (zh) | 一种固定大文件内部资源的控制方法 | |
CN109189480B (zh) | 文件系统启动方法及装置 | |
CN114546898A (zh) | 一种tlb管理方法、装置、设备及存储介质 | |
CN111831691A (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
US7225313B2 (en) | Demotion of memory pages to largest possible sizes | |
CN117370222A (zh) | 存储映射方法、装置、计算机可读存储介质及电子设备 | |
US20130046736A1 (en) | Recovering method and device for linux using fat file system | |
US20240143495A1 (en) | Method and apparatus for updating raid 5 check value, and medium | |
CN114647658A (zh) | 一种数据检索方法、装置、设备及机器可读存储介质 | |
CN113296685B (zh) | 数据处理方法及装置、计算机可读存储介质 | |
US20180052773A1 (en) | Memory managing method and apparatus associated with cache in image processing system | |
CN112783866A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40049226 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |