CN113760915A - 一种数据处理方法、装置、设备及介质 - Google Patents
一种数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113760915A CN113760915A CN202111044196.0A CN202111044196A CN113760915A CN 113760915 A CN113760915 A CN 113760915A CN 202111044196 A CN202111044196 A CN 202111044196A CN 113760915 A CN113760915 A CN 113760915A
- Authority
- CN
- China
- Prior art keywords
- document
- user identifier
- target list
- difference
- identifier
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 130
- 230000008569 process Effects 0.000 claims description 88
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 description 12
- 238000012217 deletion Methods 0.000 description 11
- 230000037430 deletion Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法、装置、设备及介质,用以解决现有需要耗费大量的存储空间,存储黑白名单中所包含的用户标识的问题。由于在存储目标名单中的各用户标识时,根据所述各用户标识的数值大小,确定参考用户标识。获取所述各用户标识与所处参考用户标识的差值。然后将所述参考用户标识以及每个所述差值记录在目标名单对应的文档中,即可实现对目标名单中的各用户标识的存储。由于在存储各用户标识时,每个差值的数值要小于各个用户标识,使得保存参考用户标识以及每个差值所需的存储空间,要小于保存每个用户标识所需的存储空间,实现了减少保存目标名单中各用户标识所需的存储空间,有利于在有限的存储空间中,保存更多的用户标识。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
随着网络技术的发展,越来越多的人关注网络文明的建设和维护。为了建设并维护网络文明,越来越多的应用采用黑白名单系统方式,以将违规的目标进行拦截或控制。以直播场景为例,当某一用户进入某个直播间之前,可以判断该用户是否在禁止进入直播间的黑名单中,当确定该用户在该黑名单中,则禁止该用户进入该直播间;当确定该用户不在该黑名单中,则不禁止该用户进入该直播间。
目前,对于各种场景下所采用的关于用户的黑白名单,该黑白名单中所包含的用户标识ID一般为数字,比如,常见的用户标识一般为32或者64位的数字串。对于一些业务场景下,黑白名单中所包含的用户标识的数量可能达到了万级、亿级的可能,使得在这些业务场景下,需要耗费大量的存储空间用于存储黑白名单中所包含的各个用户标识。因此,如何在有限的存储空间中,存储更多的用户标识,是近几年来人们日益关注的问题。
发明内容
本发明实施例提供了一种数据处理方法、装置、设备及介质,用以解决现有需要耗费大量的存储空间,存储黑白名单中所包含的用户标识的问题。
本发明实施例提供了一种数据处理方法,所述方法包括:
接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;
根据所述各用户标识的数值大小,确定参考用户标识;
获取所述各用户标识与所处参考用户标识的差值;
将所述参考用户标识以及每个所述差值记录在所述文档中;
将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
本发明实施例提供了一种数据处理装置,所述装置包括:
接收单元,用于接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
处理单元,用于新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;根据所述各用户标识的数值大小,确定参考用户标识;获取所述各用户标识与所处参考用户标识的差值;将所述参考用户标识以及每个所述差值记录在所述文档中;
存储单元,用于将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
本发明实施例提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述所述数据处理方法的步骤。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述数据处理方法的步骤。
由于在存储目标名单中的各用户标识时,可以根据所述各用户标识的数值大小,确定参考用户标识。获取所述各用户标识与所处参考用户标识的差值。然后将所述参考用户标识以及每个所述差值记录在目标名单对应的文档中,即可实现对目标名单中的各用户标识的存储。由于在存储各用户标识时,每个差值的数值要小于各个用户标识,使得保存参考用户标识以及每个差值所需的存储空间,要小于保存每个用户标识所需的存储空间,实现了减少保存目标名单中各用户标识所需的存储空间,有利于在有限的存储空间中,保存更多的用户标识。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理过程示意图;
图2为本发明实施例提供的一种文档结构示意图;
图3为本发明实施例提供的具体的新建目标名单的流程示意图;
图4为本发明实施例提供的一种目标名单对应的各个差值分别对应的比特位分布图;
图5为本发明实施例提供的具体的查询目标名单的流程示意图;
图6为本发明实施例提供的具体的在目标名单中添加用户标识的流程示意图;
图7为本发明实施例提供的具体的删除目标名单中的用户标识的流程示意图;
图8为本发明实施例提供的一种数据处理装置的结构示意图;
图9为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
为了方便理解,下面对本发明实施例中涉及的部分概念进行解释:
内存映射文档mmap方法:将一个文档或者其它对象映射到进程地址空间,实现磁盘空间和进程地址空间之间的映射关系。文档被映射到进程地址空间后,通过该映射关系,进程可以像访问普通内存一样对该文档进行访问,不必再调用read(),write()等操作。
位图(Bitmap):通过该位图中每一位上的数值,来表示某一数据的状态,比如,该数据是否存在等。位图一般适用于数据量大,且每个数据的状态又不是很多的情况。
需要说明的是,本发明实施例中所举出的应用场景仅是为了方便说明所提出的示例性的场景,并不是对本发明实施例所提供的一种数据处理方法、装置、设备及介质的应用场景的一种限定。本领域技术人员应当知道,本发明实施例所提供的一种数据处理方法、装置、设备及介质可以应用到所有需要应用场景识别的应用场景中,比如,目标数据识别应用场景,目标数据检测应用场景等。
实施例1:
图1为本发明实施例提供的一种数据处理过程示意图,该过程包括:
S101:接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串。
本发明实施例提供的数据处理方法应用于电子设备,该电子设备可以是如移动终端等智能设备,也可以是服务器。
在一种可能的应用场景中,以对直播场景中可以发表评论的用户进行监管的场景为例,电子设备为了对每个用户在直播过程中所具有的权限进行监管,需要先获取无法在直播过程中发表评论的各个用户的用户标识,以根据包含有该各用户标识的目标名单,对直播过程中每个用户发表评论的权限进行监管。
在一种可能的实施方式中,当电子设备接收到对某一名单的新建请求后,便将该名单确定为目标名单,并基于该目标名单中包含的各用户标识以及该目标名单的名称标识,采用本发明实施例提供的数据处理方法,进行存储。
需要说明的是,该目标名单中各用户标识均为长度统一的数字串。
其中,进行数据处理的电子设备接收到目标名单的新建请求可以是其它设备发送的,也可以是该电子设备采集到的。
例如,用户需要进行保存目标名单中包含的各个用户标识时,可以通过智能设备输入目标名单中包含的各个用户标识,然后向智能设备输入该目标名单的新建请求。智能设备接收到该新建请求后,便可以向进行数据处理的电子设备发送目标名单的新建请求。
其中,进行数据处理的电子设备与该智能设备是不同的。
需要说明的是,用户通过智能设备输入目标名单中的各个用户标识的方式有很多,可以是通过对智能设备的显示屏上显示的各用户标识输入触发操作(比如,语音,点击,双击等),也可以是直接通过输入语音信息的方式输入,还可以是通过智能设备的显示屏输入用户标识的文本信息的方式输入。具体实施过程中,可以根据实际需求进行灵活设置,在此不作具体限定。
再例如,用户需要进行保存目标名单中包含的各个用户标识时,可以通过智能设备输入目标名单中包含的各个用户标识,然后向进行数据处理的电子设备输入该目标名单的新建请求。
S102:新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址。
当基于上述的实施例获取到目标名单的新建请求后,可以对该新建请求进行解析,获取该新建请求中携带的目标名单的名称标识以及该目标名单中包含的各个用户标识。然后根据该名称标识,在进程地址空间中新建该名称标识对应的文档,以通过该文档保存该目标名单中包含的各个用户标识。
在一种可能的实施方式中,可以在打开该文档时,确定该文档对应的虚拟存储地址,以方便后续根据该文档对应的虚拟存储地址,访问该文档中保存的内容。
S103:根据所述各用户标识的数值大小,确定参考用户标识。
由于目标名单中的各个用户标识均为长度统一的数字串,因此,可以根据各用户标识,确定各用户标识的数值大小。然后根据各用户标识的数值大小,确定参考用户标识。
其中,可以根据各用户标识的数值大小,对各用户标识进行排序,将特定值所对应的用户标识确定为参考用户标识,比如,中值、最大值、最小值等,也可以将任一值对应的用户标识确定为参考用户标识。
S104:获取所述各用户标识与所处参考用户标识的差值。
一般情况下,各个用户标识的数值大小相差不大,即各个用户标识的差值不大。因此,当基于上述的实施例确定了参考用户标识后,可以获取各用户标识与参考用户标识之间的差值,以通过各个差值与该参考用户标识,可以确定各个用户标识,且各个差值的大小一般远小于各用户标识的数值大小,使得保存每个差值所需的存储空间要小于直接存储各个用户标识所需的存储空间。
S105:将所述参考用户标识以及每个所述差值记录在所述文档中。
为了方便后续查询目标名单中的各个用户标识,当基于上述的实施例获取到各个用户标识与该参考用户标识之间的差值之后,可以将该参考用户标识以及每个差值记录在该目标名单所对应的文档中。
在一种可能的实施方式中,可以将该参考用户标识记录在该目标名单对应的文档中,也可以将该参考用户标识记录在文档头中,以方便后续无需打开该文档,即可获取到该文档所记录的参考用户标识。
在一种可能的实施方式中,在将每个差值记录在目标名单对应的文档中时,可以采用如下方式进行记录:
方式一、可以将每个差值按照数值大小的顺序进行记录,也可以随机记录每个差值到该文档中。
方式二、由于该文档在记录差值时,是以页为单位进行存储的。例如,假设以4KB为一页进行存储,那么一页就可以储存4*1024*8=32768个比特位。因此,为了方便后续对文档中记录的各个差值进行查询,定位到每个差值在该文档中的记录位置,预先配置有该文档一页所能存储的差值的数量(为了方便描述,记为单位存储量)。后续在记录每个差值时,针对每个差值,根据该差值以及预先配置的单位存储量,确定该差值在该文档中的页数(为了方便描述,记为第一页数);根据该差值、第一页数以及单位存储量,确定该差值在该第一页数中的第一偏移量;将该差值记录在该文档中第一页数的第一偏移量对应的第一记录位置。
图2为本发明实施例提供的一种文档结构示意图,如图2所示,目标名单对应的文档主要分为文档头部以及文档身体两部分。在该文档头部保存有该目标名单的参考用户标识,在该文档身体部分中保存有多个页,每页用于记录差值。例如,目标名单对应的各个差值为{B1,B2,B3,..,Bi},按4KB大小为一页,将各个差值保存在该文档身体部分中。
在一种可能的实施方式中,根据各用户标识的数值大小,所确定的参考用户标识可能是最小值所对应的用户标识,则获取到的各用户标识分别与该参考用户标识之间的差值均不小于0。根据各用户标识的数值大小,所确定的参考用户标识可能是最大值所对应的用户标识,则获取到的各用户标识分别与该参考用户标识之间的差值均不大于0。基于此,当确定获取到的各个差值均不小0,或,各个差值均不大于0时,可以针对每个差值,根据该差值与预先配置的单位存储量的比值,确定该第一页数。
其中,在根据该差值与预先配置的单位存储量的比值,确定该第一页数时,可以根据该差值与预设数值的乘积确定为该第一页数,也可以是将该差值与预设数值的和确定为该第一页数,也可以直接将该比值,确定为该第一页数。
可选的,当确定获取到的各个差值均不小0,或,各个差值均不大于0时,可以针对每个差值,先获取第一页数与该单位存储量的乘积,然后根据该差值与该乘积的差值,确定第一偏移量。
在另一种可能的实施方式中,根据各用户标识的数值大小,所确定的参考用户标识可能不是最小值所对应的用户标识,也可能不是最大值所对应的用户标识。比如,参考用户标识是中值所对应的用户标识。因此,当确定获取到的每个差值中,存在至少一个差值小于0时,则针对每个差值,根据该差值的两倍与预先配置的单位存储量的比值,确定第一页数。
可选的,在根据该差值的两倍与预先配置的单位存储量的比值,确定第一页数时,可以结合该差值是否小于0,确定该第一页数。
例如,若该差值不小于0,则根据该差值的两倍与所述预先配置的单位存储量的比值,确定所述第一页数;若该差值小于0,则获取该差值的两倍的绝对值;根据所述绝对值与所述预先配置的单位存储量的比值,确定所述第一页数。
可选的,当确定获取到的每个差值中,存在至少一个差值小于0时,针对每个差值,确定该差值在第一页数中的第一偏移量时,可以先获取该第一页数与该预先配置的单位存储量的乘积,然后根据该差值的两倍与该乘积的差值,确定第一偏移量。
其中,在根据该差值的两倍与该乘积的差值,确定第一偏移量时,也可以结合该差值是否小于0,确定该第一偏移量。
在一种可能的实施方式中,若该差值不小于0,则根据该差值的两倍与所述乘积的差值,确定所述第一偏移量。
例如,若该差值不小于0,则根据该差值的两倍与所述乘积的差值,确定第一偏移量可通过如下公式确定:
Ki=(id–Xp)≥0;
pgn=Ki*2/32768;
offset=Ki*2–pgn*32768;
其中,Ki表示用户标识id与参考用户标识Xp之间的差值,预设的单位存储量为32768bit,pgn表示第一页数,offset表示第一偏移量。
在一种可能的实施方式中,若该差值小于0,则获取该差值的两倍的绝对值;根据所述绝对值与所述乘积的差值,确定第一参考数值;根据所述第一参考数值以及预先配置的第二参考数值,确定所述第一偏移量。
例如,若该差值小于0,根据该差值、第一页数以及单位存储量,确定第一偏移量可通过如下公式确定:
Ki=(id–Xp)<0;
pgn=Ki*2/32768;
offset=max(0,|Ki*2|–pgn*32768–1);
其中,Ki表示用户标识id与参考用户标识Xp之间的差值,预设的单位存储量为32768bit,pgn表示第一页数,offset表示第一偏移量。
在一种可能的实施方式中,由于每个用户标识与参考用户标识之间的差值是不同的,使得基于上述实施例中的方法确定每个差值在文档中的记录位置也是不同的。可以理解的是,该目标名单对应的文档中的每个记录位置均对应有一个差值,任一记录位置即可代表一个差值。当然,也可以理解为任一记录位置代表一个用户标识。因此,在将该差值记录在该文档中第一页数的第一偏移量对应的第一记录位置时,可以将第一预设标识值记录在该文档中第一页数的第一偏移量对应的第一记录位置。其中,第一预设标识值用于标识该第一记录位置记录有用户标识。
在一种可能的实施方式中,第一次打开该文档时,该文档中是没有页数的。可以在存储每个差值时,根据每个差值分别对应的第一页数,创建每个差值分别对应的第一页数。因此,在确定某一差值的第一偏移量之后,可以确定该文档中是否已经创建该第一页数。若确定未创建所述第一页数,则在所述文档中创建所述第一页数,并将第二预设标识值记录在所述第一页数中所述单位存储量的记录位置中;其中,任一记录位置所记录的第二预设标识值用于标识该记录位置未保存有用户标识。
可选的,将第二预设标识值记录在所述第一页数中所述单位存储量的记录位置中后,后续在将第一预设标识值记录在该文档中第一页数的第一偏移量对应的第一记录位置中时,可以根据第一预设标识值,对第一记录位置上记录的第二预设标识值进行更新。
例如,在计算机中1个比特位(bit)存在两种状态,分别为0和1,因此,1可以用来表示第一预设标识值,即标识该第一预设标识值所在的记录位置上保存有用户标识。0可以用来表示第二预设标识值,即标识该第二预设标识值所在的记录位置上未保存有用户标识。对于某一目标名单中所包含的N个用户标识,假设用户标识中的最大数值为Nm,我们可以将这N个用户标识的状态用Nm个比特位表示,这种表示方法是计算机系统中常见的位图法(bitmap)。通过将这些比特位状态数据存入目标名单对应的文档中,那么就可以实现对目标名单中各个用户标识的存储与查询。在本发明实施例中,以pgn(Page Number)表示用户标识的第一预设标识值对应的比特位所在的页数,以用户标识的第一预设标识值对应的比特位在该页数中的记录位置表示该用户标识对应的偏移量。根据每个用户标识对应的比特位所在页数以及偏移量(pgn,offset),可以精准定位各个用户标识在该文档中的记录位置。
S106:将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
当基于上述的实施例将参考用户标识以及每个差值记录在文档中后,即实现将目标名单中各个用户标识记录到文档中了。然后将该文档保存到上述确定的虚拟存储地址对应的磁盘空间内即可。
在一种可能的实施方式中,为了方便监控该目标名单对应的文档的访问情况,还会获取目标名单最近一次被访问的目标时间戳,然后根据该目标时间戳,对上一次访问目标名单的时间戳进行更新。将该目标名单的名称标识、虚拟存储地址、参考用户标识以及目标时间戳对应保存在进程地址空间中。
可选的,为了方便保存目标名单的名称标识、虚拟存储地址、参考用户标识以及目标时间戳,可以根据目标名单的名称标识、虚拟存储地址、参考用户标识以及目标时间戳,生成四元组信息并保存在进程地址空间中。
例如,<name,fp,base_id,ts>。其中ts是目标时间戳,用来表示目标名单最近一次被访问的时间,每一次读或者写这个目标名单时,都会根据当前访问该目标名单的时间,对该ts进行更新。name表示目标名单的名称标识,fp表示虚拟存储地址,base_id表示该目标名单对应的参考用户标识。
由于在存储目标名单中的各用户标识时,可以根据所述各用户标识的数值大小,确定参考用户标识。获取所述各用户标识与所处参考用户标识的差值。然后将所述参考用户标识以及每个所述差值记录在目标名单对应的文档中,即可实现对目标名单中的各用户标识的存储。由于在存储各用户标识时,每个差值的数值要小于各个用户标识,使得保存参考用户标识以及每个差值所需的存储空间,要小于保存每个用户标识所需的存储空间,实现了减少保存目标名单中各用户标识所需的存储空间,有利于在有限的存储空间中,保存更多的用户标识。
实施例2:
下面通过具体的实施例对本公开提供的新建目标名单的方法进行说明,图3为本发明实施例提供的具体的新建目标名单的流程示意图,该流程包括:
S301:接收到目标名单的新建请求;其中,新建请求中包含有目标名单的名称标识、以及目标名单中包含的各用户标识;各用户标识均为长度统一的数字串。
S302:新建名称标识对应的文档,并确定文档对应的虚拟存储地址。
S303:根据各用户标识的数值大小,确定参考用户标识。
在一种可能的实施方式中,可以根据各用户标识的数值大小,将中值对应的用户标识确定为参考用户标识。
S304:获取各用户标识与所处参考用户标识的差值。
针对每个差值,均执行以下S305~S312:
S305:判断该差值是否小于0,若该差值小于0,则执行S306,否则,执行S307。
S306:获取该差值的两倍的绝对值,根据绝对值与预先配置的单位存储量的比值,确定第一页数,执行S308。
S307:根据该差值的两倍与预先配置的单位存储量的比值,确定第一页数,执行S309。
S308:获取第一页数与单位存储量的乘积,并获取该差值的两倍的绝对值;根据绝对值与该乘积的差值,确定第一参考数值;根据第一参考数值以及预先配置的第二参考数值,确定第一偏移量。
S309:获取第一页数与单位存储量的乘积,根据该差值的两倍与乘积的差值,确定第一偏移量。
S310:确定文档中是否已经创建第一页数,若确定创建了该第一页数,则执行S311,若确定未创建该第一页数,则执行S312。
S311:根据第一预设标识值,对第一记录位置上记录的第二预设标识值进行更新;其中,第一预设标识值用于标识该第一记录位置记录有用户标识,执行S313。
S312:在文档中创建第一页数,并将第二预设标识值记录在第一页数中单位存储量的记录位置中;其中,任一记录位置所记录的第二预设标识值用于标识该记录位置未保存有用户标识,执行S311。
S313:将参考用户标识记录在该文档中,并获取目标名单最近一次被访问的目标时间戳,根据目标名单的名称标识、虚拟存储地址、参考用户标识以及目标时间戳,生成四元组信息并保存在进程地址空间中。
S314:将该文档保存在虚拟存储地址对应的磁盘空间内。
为了进一步说明本发明实施例提供的新建目标名单的方法,现结合具体的实施例进行说明:
假设目标名单中包含的用户标识所构成的数列为{X1,X2,X3,…,Xn},其中,中值对应的用户标识为Xp,最大值对应的用户标识为Xm。根据每个用户标识的数值大小,确定中值对应的用户标识Xp为参考用户标识。获取各用户标识与该参考用户标识Xp的差值所构成的数列K为{K1,K2,K3,…,Kn}。其中Kn=Xn–Xp,且Kn有可能为负数,n为大于等于1,小于等于N的正整数。
在本发明实施例中,将现有对目标名单中的各用户标识的状态的保存,转换为对目标名单中各用户标识与参考用户标识Xp的差值对应的比特位的状态的保存,从而减少对比特位的数量分配,减少存储目标名单中各用户标识所耗费的存储空间。比如,在使用位图法,来表示目标名单中包含的N个用户标识的状态时,需要先分配Xm个bit位,但使用位图法,来表示目标名单中各用户标识与参考用户标识Xp的差值对应的比特位的状态时,假设各个差值的绝对值中,最大值为|Km|,且各个差值中存在小于0的差值,那么只需要分配2*Km个比特就可以表示N个用户标识的状态。其中,这里分配2*Km个,而不是Km个原因在于获取到各个差值中会存在负数的情况,使得可以采用一半的比特位用于表示不小于0的差值,一半比特位用于表示小于0的数值。例如,可以采用2*Km各比特位中的奇数比特位用来表示小于0的差值对应的比特位的状态,采用2*Km各比特位中的偶数比特位用来表示不小于0的差值对应的比特位的状态。
由于各个用户标识的相似性和相近性,决定Km的大小是远低于Xm的,通过上述新建目标名单的方式,可以使分配的比特位数量从Xm减少到2*Km个。
图4为本发明实施例提供的一种目标名单对应的各个差值分别对应的比特位分布图。假设目标名单对应的各个差值分别为-3、3、4、-5为例,根据各个差值的绝对值,确定绝对值最大值为5,则为该目标名单对应的各个差值分配如图4所示的10比特位。假设预设的单位存储量为11,则对于差值-3,获取该差值-3的两倍的绝对值为6,根据绝对值6与预先配置的单位存储量11的比值6/11=0,确定第一页数为0。获取第一页数0与单位存储量11的乘积为0,根据绝对值6与该乘积0的差值,确定第一参考数值6。获取第一参考数值6与预设数值1的数值差5,将该数值差5与预先配置的第二参考数值0中的最大值5,确定为第一偏移量。对于差值3,获取该差值3的两倍6与预先配置的单位存储量11的比值6/11=0,确定第一页数为0。获取第一页数0与单位存储量11的乘积为0,将差值3的两倍6与该乘积0的差值6确定为第一偏移量。对于差值4,获取该差值4的两倍8与预先配置的单位存储量11的比值8/11=0,确定第一页数为0。获取第一页数0与单位存储量11的乘积为0,将差值4的两倍8与该乘积0的差值8确定为第一偏移量。对于差值-5,获取该差值-5的两倍的绝对值为10,根据绝对值10与预先配置的单位存储量11的比值10/11=0,确定第一页数为0。获取第一页数0与单位存储量11的乘积为0,根据绝对值10与该乘积0的差值,确定第一参考数值10。获取第一参考数值10与预设数值1的数值差9,将该数值差9与预先配置的第二参考数值0中的最大值9,确定第一偏移量。
实施例3:
为了方便查询保存的目标名单中的某一用户标识,在上述实施例的基础上,在本发明实施例中,所述方法还包括:
接收到目标名单的查询请求;其中,所述查询请求中包含有所述目标名单的名称标识、以及所要查询的目标用户的第一用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第一用户标识与所述参考用户标识之间的第一差值;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,保存有所述第一差值,则确定所述第一用户标识在所述目标名单中存在;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,保存有所述第一差值,则确定所述第一用户标识在所述目标名单中存在。
在一种可能的应用场景中,以对直播场景中可以发表评论的用户进行监管的场景为例,电子设备为了确定某一用户是否具有发表评论的权限,需要确定该用户的用户标识是否为无法在直播过程中发表评论的名单所包含的用户标识,从而确定该用户是否可以在直播过程中发表评论。
在一种可能的实施方式中,当电子设备接收到对目标名单中的某一用户标识的查询请求后,便将该用户标识确定为第一用户标识,并采用本发明实施例提供的数据处理方法,在保存的目标名单对应的文档中查询该第一用户标识。
其中,进行数据处理的电子设备接收到的查询请求可以是其它设备发送的,也可以是该电子设备采集到的。
例如,当用户需要确定某一用户是否在目标名单中时,可以向智能设备输入对目标名单中的某一用户标识的查询请求,智能设备接收到该查询请求后,便可以向进行数据处理的电子设备发送对查询请求。
再例如,当智能设备检测到某一用户执行目标名单所对应的操作时,便根据该用户的用户标识以及目标名单的名称标识,生成目标名单的查询请求,并将该查询请求发送至进行数据处理的电子设备。
其中,进行数据处理的电子设备与该智能设备可以相同,也可以不同。
当基于上述的实施例获取到目标名单的查询请求后,可以对该查询请求进行解析,获取该查询请求中包含的目标名单的名称标识以及所要查询的目标用户的第一用户标识。
在本发明实施例中,对于已经查询过的名单,一般会将该名单对应的文档保存在进程地址空间中。因此,当基于上述实施例获取到目标名单的名称标识后,可以根据该名称标识,获取目标名单对应的文档,以从获取到的文档中,获取目标名单对应的参考用户标识以及虚拟存储地址。
在一种可能的实施方式中,进程地址空间中可能没有保存有目标名单对应的文档,导致无法获取到目标名单对应的参考用户标识以及虚拟存储地址的情况。因此,当基于上述的实施例获取到目标名单的名称标识后,可以根据该目标名单的名称标识,确定进程地址空间中是否保存有名称标识的文档。当确定进程地址空间中未保存有名称标识的文档,则从磁盘空间中查找该名称标识的文档。从查找到的文档中,获取该参考用户标识以及虚拟存储地址。当确定进程地址空间中保存有名称标识的文档,则可以直接从获取到的该名称标识的文档中,获取该参考用户标识以及虚拟存储地址。
在一种可能的实施方式中,也可能存在磁盘空间中也没有名称标识的文档的情况。因此,若从所述磁盘空间中未查找到所述名称标识的文档,则输出查询失败的响应信息。
当基于上述的实施例获取到目标名单对应的参考用户标识之后,可以获取该第一用户标识与该参考用户标识之间的第一差值。后续根据获取到的虚拟存储地址对应的磁盘空间中所保存的文档中,是否保存有该第一差值,从而确定该目标名单中是否存在该第一用户标识。
在一种可能的实施方式中,如果目标名单对应的文档中保存的都是差值,则可以将该第一差值分别与该文档中保存的各个差值进行匹配。若确定该文档中存在与该第一差值匹配的差值,说明该文档中保存有该第一差值,则确定目标名单中包含有第一用户标识。若确定该文档中不存在与该第一差值匹配的差值,说明该文档中未保存有该第一差值,则确定目标名单中不包含有第一用户标识。
在另一种可能的实施方式中,如果目标名单对应的文档中保存的是各个差值是否存在的标识值,则可以基于第一差值以及预先配置的单位存储量,确定该第一差值在该文档中的页数(为了方便描述,记为第二页数)。根据该第一差值、第二页数以及单位存储量,确定该第一差值在第二页数中的第二偏移量。然后获取该文档中第二页数的第二偏移量对应的记录位置(为了方便描述,记为第二记录位置)上所记录的标识值。若确定该第二记录位置上记录的标识值为第一预设标识值,则确定该文档中保存有第一差值,进而确定该文档中记录有该第一用户标识。若确定该第二记录位置上记录的标识值不为第一预设标识值,即该第二记录位置未记录有该第一预设标识值,或,确定该文档中不存在该第二页数的第二偏移量对应的第二记录位置,则确定该文档中未保存有第一差值,进而确定该文档中也没有记录有该第一用户标识。
目前,还可以采用数据库存储型的方法存储目标名单。对于数据库储存型,其一般是将用户标识存储在数据库中,比如MYSQL这种传统数据库,或者REDIS这种纯内存的数据库,当后续对第一用户标识进行查询时,可以实现将对该用户标识的查询,转换成对数据库中黑白名单表中所包含的用户标识的查询。对于该种方法,每一次从数据库中查询某一用户标识时,都必须进行至少一次IO操作,时间复杂度非常的大。例如,以常用的MYSQL的B+索引或者REDIS的跳表(ZIPLIST)为例,从数据库中查询某一用户标识的时间复杂度均为O(nlogn),其中,n为单个名单中包含的用户标识的数量。对于一个高频查询的黑白名单系统来说,在并发查询量特别大时,数据库可能会有性能上的瓶颈并且导致查询接口的时延变高。在查询用户标识高峰期的情况下,即使在进程地址空间中对已查询的用户标识进行缓存,依然有缓存穿透的风险。
由于通过文档映射的方式(mmap)方法,可以将文档中每一页的内容映射到进程地址空间中,从而实现用内存读写代替IO读写,极大地提高了文档的读取效率。并且,采用mmap方法,可以实现按照预设的单位存储量为一页来存储用户标识,提高了对文档的读取效率。此外,在查询保存的名单时,一般只是对部分的名单中所包含的用户标识进行查询,大部分名单中所包含的用户标识很少会被查询,而通过采用mmap方法,可以根据将文档中极有可能被访问到的一些页的内容映射到进程地址空间,从而避免将整个文档均映射到进程地址空间,导致内存空间占用过高,解决了名单中某些页的数据经常被访问,而某些页的数据很少被访问的问题,即解决了名单中的冷热数据不均匀的问题。因此,在本发明实施例中,当根据第一差值、第二页数以及单位存储量,确定第一差值在第二页数中的第二偏移量之后,可以确定进程地址空间中是否保存有目标名单对应的文档中第二页数所记录的内容。若确定进程地址空间中未保存有目标名单对应的文档中第二页数所记录的内容,则通过mmap的方法,将磁盘空间中该文档中第二页数所记录的内容映射到进程地址空间中,以方便后续可以直接通过内容访问的方式,读取该第二页数中所记录的内容。
由于黑白名单系统属于多读少写的场景,即对保存的名单的更新不频繁,但是查询保存的名单十分频繁且对查询名单的时延要求很小,对于查询名单的效率有较高的要求,而本发明实施例中,通过mmap方法,将磁盘空间中该文档中第二页数所记录的内容映射到进程地址空间中,以方便后续可以直接通过内容访问的方式,读取该第二页数中所记录的内容,极大地提高了对文档的读写效率。
在一种可能的实施方式中,为了方便监控该目标名单对应的文档的访问情况,会根据最近一次访问该文档的时间,对保存的上一次访问该文档的时间进行更新。
在一种可能的实施方式中,为了方便监控该目标名单对应的文档中某一页的访问情况,会获取最近一次访问该页中所记录的内容的访问时间,根据最近一次访问该页中所记录的内容的访问时间,对保存的上一次访问该页中所记录的内容的访问时间进行更新。然后将该目标名单的名称标识、该页数以及最近一次访问该页中所记录的内容的访问时间对应保存在进程地址空间中。
可选的,为了方便保存该目标名单的名称标识、该页数以及最近一次访问该页中所记录的内容的访问时间,可以根据该目标名单的名称标识、该页数以及最近一次访问该页中所记录的内容的访问时间,生成三元组信息并保存在进程地址空间中。
例如,<name,pgn,ts’>。其中ts是最近一次访问该页中所记录的内容的访问时间,每一次读或者写该页中所记录的内容时,都会根据最近一次访问该页中所记录的内容的访问时间,对保存的上一次访问该页中所记录的内容的访问时间进行更新。name表示目标名单的名称标识,pgn标识该页数。
实施例4:
下面通过具体的实施例对本发明实施例提供的查询目标名单的方法进行说明,图5为本发明实施例提供的具体的查询目标名单的流程示意图,该流程包括:
S501:接收到目标名单的查询请求;其中,查询请求中包含有目标名单的名称标识、以及所要查询的目标用户的第一用户标识。
S502:根据名称标识,确定进程地址空间中是否保存有名称标识的文档,若确定进程地址空间中未保存有名称标识的文档,则执行S503,若确定进程地址空间中保存有名称标识的文档,则执行S504。
S503:确定从磁盘空间中是否能够查找名称标识的文档,若找到,执行S506,若不能找到,执行S505。
S504:根据名称标识的文档,获取参考用户标识以及虚拟存储地址,执行S507。
S505:若从磁盘空间中未查找到名称标识的文档,则输出查询失败的响应信息。
S506:从查找到的文档中,获取参考用户标识以及虚拟存储地址。
S507:获取第一用户标识与参考用户标识之间的第一差值。
S508:根据第一差值以及预先配置的单位存储量,确定第一差值在文档中的第二页数。
S509:根据第一差值、第二页数以及单位存储量,确定第一差值在第二页数中的第二偏移量。
S510:若确定进程地址空间中未保存有文档中第二页数所记录的内容,则通过文档映射mmap的方法,将磁盘空间中文档中第二页数所记录的内容,映射到进程地址空间中。
S511:若确定文档中第二页数的第二偏移量对应的第二记录位置,记录有第一预设标识值,则确定文档中保存有第一差值,执行S513。
S512:若确定文档中不存在第二页数的第二偏移量对应的第二记录位置,或,确定文档中第二页数的第二偏移量对应的第二记录位置,未记录有第一预设标识值,则确定文档中未保存有第一差值,执行S514。
S513:确定目标名单中包含有第一用户标识,执行S515。
S514:确定目标名单中不包含有第一用户标识。
S515:获取目标名单最近一次被访问的目标时间戳;根据该目标时间戳,对保存的目标名单上一次被访问的时间戳、以及保存的第二页数上一次被访问的时间戳进行更新。
需要说明的是,对查询目标名单中是否包含有第一用户标识的接口,可以抽象成如下逻辑函数:
Find(name,id)->GetBit(name,pgn,offset)==1;
其中,Find()表示查询请求,name表示目标名单的名称标识,id表示第一用户标识,GetBit()响应该查询请求的函数,pgn表示第二页数,offset表示第二偏移量,1为第一预设标识值。
实施例5:
为了方便在目标名单中添加某一用户标识,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
接收到在所述目标名单中添加用户标识的添加请求;其中,所述添加请求中包含有所述目标名单的名称标识、以及所要添加的第二用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第二用户标识与所述参考用户标识之间的第二差值;
将所述第二差值记录在所述虚拟存储地址对应的磁盘空间中所保存的文档中。
在实际应用场景中,在保存了目标名单中包含的各个用户标识之后,可以根据需求,将新的用户标识添加到该目标名单中。因此,当电子设备接收到在目标名单中添加某一用户标识的添加请求后,便将该用户标识确定为第二用户标识,并采用本发明实施例提供的数据处理方法,在保存的目标名单对应的文档中添加该第二用户标识。
其中,进行数据处理的电子设备接收到的添加请求可以是其它设备发送的,也可以是该电子设备采集到的。
例如,用户需要在保存的目标名单对应的文档中添加该第二用户标识时,可以通过智能设备输入在目标名单中所要添加的第二用户标识,然后向智能设备输入在目标名单中添加用户标识的添加请求。智能设备接收到该添加请求后,便可以向进行数据处理的电子设备发送在目标名单中添加用户标识的添加请求。
其中,进行数据处理的电子设备与该智能设备是不同的。
需要说明的是,用户通过智能设备输入在目标名单中所要添加的第二用户标识的方式有很多,可以是通过对智能设备的显示屏上显示的各用户标识输入触发操作(比如,语音,点击,双击等),也可以是直接通过输入语音信息的方式输入,还可以是通过智能设备的显示屏输入用户标识的文本信息的方式输入。具体实施过程中,可以根据实际需求进行灵活设置,在此不作具体限定。
再例如,用户需要在保存的目标名单对应的文档中添加该第二用户标识时,可以通过智能设备输入在目标名单中所要添加的第二用户标识,然后向进行数据处理的电子设备输入在目标名单中添加用户标识的添加请求。
当基于上述的实施例获取到在目标名单添加用户标识的添加请求后,可以对该添加请求进行解析,获取该添加请求中包含的目标名单的名称标识以及所要添加的第二用户标识。
在本发明实施例中,对于已经访问过的名单,一般会将该名单对应的文档保存在进程地址空间中。因此,当基于上述实施例获取到目标名单的名称标识后,可以根据该名称标识,获取目标名单对应的文档,以从获取到的文档中,获取目标名单对应的参考用户标识以及虚拟存储地址。
在一种可能的实施方式中,进程地址空间中可能没有保存有目标名单对应的文档,导致无法获取到目标名单对应的参考用户标识以及虚拟存储地址的情况。因此,当基于上述的实施例获取到目标名单的名称标识后,可以根据该目标名单的名称标识,确定进程地址空间中是否保存有名称标识的文档。当确定进程地址空间中未保存有名称标识的文档,则从磁盘空间中查找该名称标识的文档。从查找到的文档中,获取该参考用户标识以及虚拟存储地址。当确定进程地址空间中保存有名称标识的文档,则可以直接从获取到的该名称标识的文档中,获取该参考用户标识以及虚拟存储地址。
在一种可能的实施方式中,也可能存在磁盘空间中也没有名称标识的文档的情况。因此,若从所述磁盘空间中未查找到所述名称标识的文档,则输出添加失败的响应信息。
当基于上述的实施例获取到目标名单对应的参考用户标识之后,可以获取该第二用户标识与该参考用户标识之间的第二差值。后续通过将该第二差值记录在进程地址空间中的文档中,即保存在虚拟存储地址的文档中,进而通过该虚拟存储地址的文档,对该虚拟存储地址对应的磁盘空间中所保存的文档进行更新,从而实现在磁盘空间中所保存的文档中添加用户标识,即实现在目标名单中添加用户标识。
在一种可能的实施方式中,可以直接将该差值保存在该文档中,也可以基于第二差值以及预先配置的单位存储量,确定该第二差值在该文档中的页数(为了方便描述,记为第三页数)。根据该第二差值、第三页数以及单位存储量,确定该第二差值在第三页数中的第三偏移量。将该第二差值记录在该文档中第三页数的第三偏移量对应的第三记录位置处。
在一种可能的实施方式中,由于第二用户标识与参考用户标识之间的第二差值可能大于0,也可能小于0。因此,在确定第三页数时,可以结合该第二差值是否小于0,确定该第三页数。
例如,若该第二差值不小于0,则根据该第二差值的两倍与所述预先配置的单位存储量的比值,确定所述第三页数;若该第二差值小于0,则获取该第二差值的两倍的绝对值;根据所述绝对值与所述预先配置的单位存储量的比值,确定所述第三页数。
可选的,当确定该第二差值在第三页数中的第三偏移量时,也可以先获取该第三页数与该预先配置的单位存储量的乘积,然后根据该第二差值的两倍与该乘积的第二差值,确定第三偏移量。
其中,在根据该第二差值的两倍与该乘积的第二差值,确定第三偏移量时,也可以结合该第二差值是否小于0,确定该第三偏移量。
在一种可能的实施方式中,若该第二差值不小于0,则根据该第二差值的两倍与所述乘积的第二差值,确定所述第三偏移量。
例如,若该第二差值不小于0,则根据该第二差值的两倍与所述乘积的第二差值,确定第三偏移量可通过如下公式确定:
Ki 2=(id–Xp)≥0;
pgn 3=Ki2*2/32768;
offset 3=Ki*2–pgn3*32768;
其中,Ki2表示用户标识id与参考用户标识Xp之间的第二差值,预设的单位存储量为32768bit,pgn3表示第三页数,offset3表示第三偏移量。
在一种可能的实施方式中,若该第二差值小于0,则获取该第二差值的两倍的绝对值;根据所述绝对值与所述乘积的第二差值,确定第一参考数值;根据所述第一参考数值以及预先配置的第二参考数值,确定所述第三偏移量。
例如,若该第二差值小于0,根据该第二差值、第三页数以及单位存储量,确定第三偏移量可通过如下公式确定:
Ki2=(id–Xp)<0;
Pgn3=Ki2*2/32768;
Offset3=max(0,|Ki2*2|–pgn3*32768–1);
其中,Ki2表示用户标识id与参考用户标识Xp之间的第二差值,预设的单位存储量为32768bit,pgn3表示第三页数,offset3表示第三偏移量。
在一种可能的实施方式中,由于每个用户标识与参考用户标识之间的差值是不同的,使得基于上述实施例中的方法确定每个差值在文档中的记录位置也是不同的。可以理解的是,该目标名单对应的文档中的每个记录位置均对应有一个差值,任一记录位置即可代表一个差值。当然,也可以理解为任一记录位置代表一个用户标识。因此,在将该第二差值记录在该文档中第三页数的第三偏移量对应的第三记录位置时,可以将第一预设标识值记录在该文档中第三页数的第三偏移量对应的第三记录位置。其中,第一预设标识值用于标识该第三记录位置记录有第二用户标识。
在一种可能的实施方式中,在确定了该第二差值对应的第三偏移量之后,可能存在该目标名单对应的文档中是没有第三页数的情况,对于该种情况,则需要在存储该第二差值之前,创建该第二差值对应的第三页数。因此,在确定第二差值的第三偏移量之后,可以确定该文档中是否已经创建该第三页数。若确定未创建所述第三页数,则在所述文档中创建所述第三页数,并将第二预设标识值记录在所述第三页数中所述单位存储量的记录位置中;其中,任一记录位置所记录的第二预设标识值用于标识该记录位置未保存有用户标识。
可选的,将第二预设标识值记录在所述第三页数中所述单位存储量的记录位置中后,后续在将第一预设标识值记录在该文档中第三页数的第三偏移量对应的第三记录位置中时,可以根据第一预设标识值,对第三记录位置上记录的第二预设标识值进行更新。
实施例6:
下面通过具体的实施例对本发明实施例提供的在目标名单中添加用户标识的方法进行说明,图6为本发明实施例提供的具体的在目标名单中添加用户标识的流程示意图,该流程包括:
S601:接收到在目标名单中添加用户标识的添加请求;其中,添加请求中包含有目标名单的名称标识、以及所要添加的第二用户标识。
S602:根据名称标识,确定进程地址空间中是否保存有名称标识的文档,若确定进程地址空间中未保存有名称标识的文档,则执行S603,若确定进程地址空间中保存有名称标识的文档,则执行S604。
S603:确定从磁盘空间中是否能够查找名称标识的文档,若找到,执行S606,若不能找到,执行S605。
S604:根据名称标识的文档,获取参考用户标识以及虚拟存储地址,执行S607。
S605:若从磁盘空间中未查找到名称标识的文档,则输出查询失败的响应信息。
S606:从查找到的文档中,获取参考用户标识以及虚拟存储地址。
S607:获取第二用户标识与参考用户标识之间的第二差值。
S608:根据第二差值以及预先配置的单位存储量,确定第二差值在文档中的第三页数。
S609:根据第二差值、第三页数以及单位存储量,确定第二差值在第三页数中的第三偏移量。
S610:若确定文档中未创建第三页数,则在文档中创建第三页数,并将第二预设标识值记录在第三页数中单位存储量的记录位置中;其中,第二预设标识值用于标识该第二预设标识值所在的记录位置未保存有用户标识。
S611:根据第一预设标识值,对第三记录位置上记录的第二预设标识值进行更新。
S612:获取目标名单最近一次被访问的目标时间戳;根据该目标时间戳,对保存的目标名单上一次被访问的时间戳以及保存的第三页数上一次被访问的时间戳进行更新。
需要说明的是,在目标名单中添加用户标识的接口,可以抽象成如下逻辑函数:
Add(name,id)->Set(name,pgn,offset,1);
其中,Add()表示添加请求,name表示目标名单的名称标识,id表示第一用户标识,Set()响应该添加请求的函数,pgn表示第三页数,offset表示第三偏移量,1为第一预设标识值。
实施例7:
为了方便在目标名单中删除某一用户标识,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
接收到在所述目标名单中删除用户标识的删除请求;其中,所述删除请求中包含有所述目标名单的名称标识、以及所要删除的第三用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第三用户标识与所述参考用户标识之间的第三差值;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,保存有所述第三差值,则将所述第三差值从所述文档中删除。
在实际应用场景中,在保存了目标名单中包含的各个用户标识之后,可以根据需求,将目标名单中已保存的用户标识删除。因此,当电子设备接收到在目标名单中删除某一用户标识的删除请求后,便将该用户标识确定为第三用户标识,并采用本发明实施例提供的数据处理方法,在保存的目标名单对应的文档中删除该第三用户标识。
其中,进行数据处理的电子设备接收到的删除请求可以是其它设备发送的,也可以是该电子设备采集到的。
例如,用户需要在保存的目标名单对应的文档中删除该第三用户标识时,可以通过智能设备输入在目标名单中所要删除的第三用户标识,然后向智能设备输入在目标名单中删除用户标识的删除请求。智能设备接收到该删除请求后,便可以向进行数据处理的电子设备发送在目标名单中删除用户标识的删除请求。
其中,进行数据处理的电子设备与该智能设备是不同的。
需要说明的是,用户通过智能设备输入在目标名单中所要删除的第三用户标识的方式有很多,可以是通过对智能设备的显示屏上显示的各用户标识输入触发操作(比如,语音,点击,双击等),也可以是直接通过输入语音信息的方式输入,还可以是通过智能设备的显示屏输入用户标识的文本信息的方式输入。具体实施过程中,可以根据实际需求进行灵活设置,在此不作具体限定。
再例如,用户需要在保存的目标名单对应的文档中删除该第三用户标识时,可以通过智能设备输入在目标名单中所要删除的第三用户标识,然后向进行数据处理的电子设备输入在目标名单中删除用户标识的删除请求。
当基于上述的实施例获取到在目标名单删除用户标识的删除请求后,可以对该删除请求进行解析,获取该删除请求中包含的目标名单的名称标识以及所要删除的第三用户标识。
在本发明实施例中,对于已经访问过的名单,一般会将该名单对应的文档保存在进程地址空间中。因此,当基于上述实施例获取到目标名单的名称标识后,可以根据该名称标识,获取目标名单对应的文档,以从获取到的文档中,获取目标名单对应的参考用户标识以及虚拟存储地址。
在一种可能的实施方式中,进程地址空间中可能没有保存有目标名单对应的文档,导致无法获取到目标名单对应的参考用户标识以及虚拟存储地址的情况。因此,当基于上述的实施例获取到目标名单的名称标识后,可以根据该目标名单的名称标识,确定进程地址空间中是否保存有名称标识的文档。当确定进程地址空间中未保存有名称标识的文档,则从磁盘空间中查找该名称标识的文档。从查找到的文档中,获取该参考用户标识以及虚拟存储地址。当确定进程地址空间中保存有名称标识的文档,则可以直接从获取到的该名称标识的文档中,获取该参考用户标识以及虚拟存储地址。
当基于上述的实施例获取到目标名单对应的参考用户标识之后,可以获取该第三用户标识与该参考用户标识之间的第三差值。后续根据获取到的虚拟存储地址对应的磁盘空间中所保存的文档中,是否保存有该第三差值,进而在保存有该第三差值时,将该第三差值从该目标名单中删除,从而实现将该目标名单中的第三用户标识删除。
在一种可能的实施方式中,如果目标名单对应的文档中保存的都是差值,则可以将该第三差值分别与该文档中保存的各个差值进行匹配。若确定该文档中存在与该第三差值匹配的差值,说明该文档中保存有该第三差值,则确定目标名单中包含有第三用户标识。若确定该文档中不存在与该第三差值匹配的差值,说明该文档中未保存有该第三差值,则确定目标名单中不包含有第三用户标识。
在另一种可能的实施方式中,如果目标名单对应的文档中保存的是各个差值是否存在的标识值,则可以基于第三差值以及预先配置的单位存储量,确定该第三差值在该文档中的页数(为了方便描述,记为第四页数)。根据该第三差值、第四页数以及单位存储量,确定该第三差值在第四页数中的第四偏移量。然后获取该文档中第四页数的第四偏移量对应的记录位置(为了方便描述,记为第四记录位置)上所记录的标识值。若确定该第四记录位置上记录的标识值为第一预设标识值,则确定该文档中保存有第三差值,进而确定该文档中记录有该第三用户标识。若确定该第四记录位置上记录的标识值不为第一预设标识值,即该第四记录位置未记录有该第一预设标识值,或,确定该文档中不存在该第四页数的第四偏移量对应的第四记录位置,则确定该文档中未保存有第三差值,进而确定该文档中也没有记录有该第三用户标识。
由于通过文档映射的方式(mmap)方法,可以将文档中每一页的内容映射到进程地址空间中,从而实现用内存读写代替IO读写,极大地提高文档的读取效率。并且,采用mmap方法,可以实现按照预设的单位存储量为一页来存储用户标识,提高了对文档的读取效率。此外,采用mmap方法,可以根据将文档中极有可能被访问到的一些页的内容映射到进程地址空间,从而避免将整个文档均映射到进程地址空间,导致内存空间占用过高,解决了名单中某些页的数据经常被访问,而某些页的数据很少被访问的问题,即解决了名单中的冷热数据不均匀的问题。因此,在本发明实施例中,当根据第三差值、第四页数以及单位存储量,确定第三差值在第四页数中的第四偏移量之后,可以确定进程地址空间中是否保存有目标名单对应的文档中第四页数所记录的内容。若确定进程地址空间中未保存有目标名单对应的文档中第四页数所记录的内容,则通过mmap的方法,将磁盘空间中该文档中第四页数所记录的内容映射到进程地址空间中,以方便后续可以直接通过内容访问的方式,读取该第四页数中所记录的内容。
当基于上述的实施例确定了目标名单中保存有第三用户标识时,即可通过第二预设标识,对第四记录位置所记录的第一预设标识值进行更新,从而实现将虚拟存储地址对应的磁盘空间中所保存的文档中,所保存的第三差值删除,即将所保存的第三用户标识从目标名单中删除。
实施例8:
下面通过具体的实施例对本发明实施例提供的删除目标名单中的用户标识的方法进行说明,图7为本发明实施例提供的具体的删除目标名单中的用户标识的流程示意图,该流程包括:
S701:接收到在所述目标名单中删除用户标识的删除请求;其中,所述删除请求中包含有所述目标名单的名称标识、以及所要删除的第三用户标识。
S702:根据名称标识,确定进程地址空间中是否保存有名称标识的文档,若确定进程地址空间中未保存有名称标识的文档,则执行S703,若确定进程地址空间中保存有名称标识的文档,则执行S704。
S703:确定从磁盘空间中是否能够查找名称标识的文档,若找到,执行S706,若不能找到,执行S705。
S704:根据名称标识的文档,获取参考用户标识以及虚拟存储地址,执行S707。
S705:若从磁盘空间中未查找到名称标识的文档,则输出查询失败的响应信息。
S706:从查找到的文档中,获取参考用户标识以及虚拟存储地址。
S707:获取第三用户标识与参考用户标识之间的第三差值。
S708:根据第三差值以及预先配置的单位存储量,确定第三差值在文档中的第四页数。
S709:根据第三差值、第四页数以及单位存储量,确定第三差值在第四页数中的第四偏移量。
S710:若确定进程地址空间中未保存有文档中第四页数所记录的内容,则通过文档映射mmap的方法,将磁盘空间中文档中第四页数所记录的内容,映射到进程地址空间中。
S711:若确定文档中第四页数的第四偏移量对应的第四记录位置,记录有第一预设标识值,则确定文档中保存有第三差值,执行S713。
S712:若确定文档中不存在第四页数的第四偏移量对应的第四记录位置,或,确定文档中第四页数的第四偏移量对应的第四记录位置,未记录有第一预设标识值,则确定文档中未保存有第三差值,执行S714。
S713:根据第二预设标识值,对该第四记录位置所记录的第一预设标识值进行更新,执行S715。
S714:不响应该删除请求。
S715:获取目标名单最近一次被访问的目标时间戳;根据该目标时间戳,对保存的目标名单上一次被访问的时间戳、以及保存的第四页数上一次被访问的时间戳进行更新。
需要说明的是,在目标名单中删除用户标识的接口,可以抽象成如下逻辑函数:
Del(name,id)->Set(name,pgn,offset,0);
其中,Del()表示删除请求,name表示目标名单的名称标识,id表示第一用户标识,Set()响应该删除请求的函数,pgn表示第四页数,offset表示第四偏移量,0为第二预设标识值。
实施例9:
为了避免浪费大量的进程地址空间用于存储不被经常访问的名单,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
若确定所述文档中,存在预设第一时长内未被访问的页数,则将所述页数的第一信息从进程地址空间中删除;其中,所述第一信息包括所述文档的名称标识、所述页数、所述页数最近一次被访问的时间戳以及所述页数中记录的内容中的至少一种。
在实际应用过程中,如果一个文档中某一页数所记录的内容长时间未被访问,说明该页数所记录的内容是不经常被访问的数据,则为了避免不经常被访问的页数占用进程地址空间,可以将该文档中长时间不被访问的页数的信息(为了方便描述,记为第一信息)删除。其中,该第一信息包括文档的名称标识、该页数的页数标识、该页数最近一次被访问的时间戳以及该页数中记录的内容中的至少一种。
在一种可能的实施方式中,为了避免过于频繁将某一文档中的页数的第一信息删除,预设有第一时长。当确定该文档中,存在预设第一时长内未被访问的页数时,则将该页数的第一信息从进程地址空间中删除。
其中,在设置第一时长时,可以根据场景的不同,设置不同的值。如果希望避免频繁将某一页数的第一信息删除,可以将该第一时长设置的长一些;如果希望避免不被经常访问的页数占用进程地址空间,可以将该第一时长设置的短一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
在一种可能的实施方式中,还可能存在某一文档所记录的内容也长时间未被访问的情况,则为了避免不被经常访问的文档占据大量的进程地址空间,当确定某一文档长时间未被访问时,便将该文档从进程地址空间中关闭,并从进程地址空间中删除该文档的信息(为了方便描述,记为第二信息)。其中,该第二信息包括该文档的名称标识、该文档对应的虚拟存储地址、该文档最近一次被访问的时间戳以及该文档对应的参考用户标识中的至少一种。
在一种可能的实施方式中,为了避免过于频繁将某一文档的第二信息删除,预设有第二时长。当确定该文档在预设第二时长内未被访问时,则将该文档从进程地址空间中关闭,并从进程地址空间中删除该文档的第二信息。
其中,在设置第二时长时,可以根据场景的不同,设置不同的值。如果希望避免频繁将某一文档的第二信息删除,可以将该第二时长设置的长一些;如果希望避免不被经常访问的文档占用进程地址空间,可以将该第二时长设置的短一些。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
实施例10:
本发明实施例还提供了一种数据处理装置,图8为本发明实施例提供的一种数据处理装置的结构示意图,该装置包括:
接收单元81,用于接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
处理单元82,用于新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;根据所述各用户标识的数值大小,确定参考用户标识;获取所述各用户标识与所处参考用户标识的差值;将所述参考用户标识以及每个所述差值记录在所述文档中;
存储单元83,用于将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
在某些可能的实施方式中,所述处理单元82,具体用于针对每个所述差值,根据该差值以及预先配置的单位存储量,确定该差值在所述文档中的第一页数;根据该差值、所述第一页数以及所述单位存储量,确定该差值在所述第一页数中的第一偏移量;将第一预设标识值记录在所述文档中第一页数的第一偏移量对应的第一记录位置;其中,所述第一预设标识值用于标识该第一记录位置记录有用户标识。
由于在存储目标名单中的各用户标识时,可以根据所述各用户标识的数值大小,确定参考用户标识。获取所述各用户标识与所处参考用户标识的差值。然后将所述参考用户标识以及每个所述差值记录在目标名单对应的文档中,即可实现对目标名单中的各用户标识的存储。由于在存储各用户标识时,每个差值的数值要小于各个用户标识,使得保存参考用户标识以及每个差值所需的存储空间,要小于保存每个用户标识所需的存储空间,实现了减少保存目标名单中各用户标识所需的存储空间,有利于在有限的存储空间中,保存更多的用户标识。
实施例11:
如图9为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图9所示,包括:处理器91、通信接口92、存储器93和通信总线94,其中,处理器91,通信接口92,存储器93通过通信总线94完成相互间的通信;
存储器93中存储有计算机程序,当程序被处理器91执行时,使得处理器91执行如下步骤:
接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;
根据所述各用户标识的数值大小,确定参考用户标识;
获取所述各用户标识与所处参考用户标识的差值;
将所述参考用户标识以及每个所述差值记录在所述文档中;
将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
由于上述电子设备解决问题的原理与数据处理方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口92用于上述电子设备与其他设备之间的通信。存储器可以包括随机存取存储器(RandomAccess Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例12:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有可由处理器执行的计算机程序,当程序在处理器上运行时,使得处理器执行时实现如下步骤:
接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;
根据所述各用户标识的数值大小,确定参考用户标识;
获取所述各用户标识与所处参考用户标识的差值;
将所述参考用户标识以及每个所述差值记录在所述文档中;
将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
本发明实施例提供的计算机可读介质解决问题的原理与数据处理方法解决问题的原理相同,具体内容可参见上述方法实施例。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;
根据所述各用户标识的数值大小,确定参考用户标识;
获取所述各用户标识与所处参考用户标识的差值;
将所述参考用户标识以及每个所述差值记录在所述文档中;
将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
2.根据权利要求1所述的方法,其特征在于,将每个所述差值记录在所述文档中,包括:
针对每个所述差值,根据该差值以及预先配置的单位存储量,确定该差值在所述文档中的第一页数;根据该差值、所述第一页数以及所述单位存储量,确定该差值在所述第一页数中的第一偏移量;将第一预设标识值记录在所述文档中第一页数的第一偏移量对应的第一记录位置;其中,所述第一预设标识值用于标识该第一记录位置记录有用户标识。
3.根据权利要求2所述的方法,其特征在于,若存在至少一个所述差值小于0,所述根据该差值以及预先配置的单位存储量,确定该差值在所述文档中的第一页数,包括:
根据该差值的两倍与所述预先配置的单位存储量的比值,确定所述第一页数。
4.根据权利要求3所述的方法,其特征在于,所述根据该差值、所述第一页数以及所述单位存储量,确定该差值在所述第一页数中的第一偏移量,包括:
获取所述第一页数与所述单位存储量的乘积;
根据该差值的两倍与所述乘积的差值,确定所述第一偏移量。
5.根据权利要求2所述的方法,其特征在于,确定所述第一偏移量之后,所述方法还包括:
确定所述文档中是否已经创建所述第一页数;
若确定未创建所述第一页数,则在所述文档中创建所述第一页数,并将第二预设标识值记录在所述第一页数中所述单位存储量的记录位置中;其中,任一记录位置所记录的第二预设标识值用于标识该记录位置未保存有用户标识。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收到目标名单的查询请求;其中,所述查询请求中包含有所述目标名单的名称标识、以及所要查询的目标用户的第一用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第一用户标识与所述参考用户标识之间的第一差值;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,保存有所述第一差值,则确定所述目标名单中包含有所述第一用户标识;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,未保存有所述第一差值,则确定所述目标名单中不包含有所述第一用户标识。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收到在所述目标名单中添加用户标识的添加请求;其中,所述添加请求中包含有所述目标名单的名称标识、以及所要添加的第二用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第二用户标识与所述参考用户标识之间的第二差值;
将所述第二差值记录在所述虚拟存储地址对应的磁盘空间中所保存的文档中。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收到在所述目标名单中删除用户标识的删除请求;其中,所述删除请求中包含有所述目标名单的名称标识、以及所要删除的第三用户标识;
根据所述名称标识,获取所述目标名单对应的参考用户标识以及虚拟存储地址;
获取所述第三用户标识与所述参考用户标识之间的第三差值;
若确定所述虚拟存储地址对应的磁盘空间中所保存的文档中,保存有所述第三差值,则将所述第三差值从所述文档中删除。
9.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若确定所述文档中,存在预设第一时长内未被访问的页数,则将所述页数的第一信息从进程地址空间中删除;其中,所述第一信息包括所述文档的名称标识、所述页数的页数标识、所述页数最近一次被访问的时间戳以及所述页数中记录的内容中的至少一种。
10.一种数据处理装置,其特征在于,所述装置包括:
接收单元,用于接收到目标名单的新建请求;其中,所述新建请求中包含有所述目标名单的名称标识、以及所述目标名单中包含的各用户标识;所述各用户标识均为长度统一的数字串;
处理单元,用于新建所述名称标识对应的文档,并确定所述文档对应的虚拟存储地址;根据所述各用户标识的数值大小,确定参考用户标识;获取所述各用户标识与所处参考用户标识的差值;将所述参考用户标识以及每个所述差值记录在所述文档中;
存储单元,用于将所述文档保存在所述虚拟存储地址对应的磁盘空间内。
11.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-9中任一所述数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9中任一所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111044196.0A CN113760915B (zh) | 2021-09-07 | 2021-09-07 | 一种数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111044196.0A CN113760915B (zh) | 2021-09-07 | 2021-09-07 | 一种数据处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760915A true CN113760915A (zh) | 2021-12-07 |
CN113760915B CN113760915B (zh) | 2024-07-19 |
Family
ID=78793399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111044196.0A Active CN113760915B (zh) | 2021-09-07 | 2021-09-07 | 一种数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760915B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102313841A (zh) * | 2010-05-06 | 2012-01-11 | 特克特朗尼克公司 | 使用差位图的信号检测和触发 |
US20130250370A1 (en) * | 2012-03-21 | 2013-09-26 | Ricoh Company, Ltd. | Apparatus, system, and method of inspecting image, and recording medium storing image inspection control program |
CN104156407A (zh) * | 2014-07-29 | 2014-11-19 | 华为技术有限公司 | 索引数据的存储方法、装置及存储设备 |
CN107333025A (zh) * | 2017-06-30 | 2017-11-07 | 北京金山安全软件有限公司 | 一种图像数据处理方法、装置、电子设备以及存储介质 |
CN108415978A (zh) * | 2018-02-09 | 2018-08-17 | 北京腾云天下科技有限公司 | 用户标签存储方法、用户画像计算方法及计算设备 |
CN109977117A (zh) * | 2019-03-18 | 2019-07-05 | 广州虎牙信息科技有限公司 | 状态数据的存储方法、数据发送的方法及装置 |
CN110019243A (zh) * | 2018-01-02 | 2019-07-16 | 中国移动通信有限公司研究院 | 物联网中数据的传输方法及装置、设备、存储介质 |
CN110113393A (zh) * | 2019-04-18 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种消息推送方法、装置、电子设备及介质 |
CN110874846A (zh) * | 2018-09-03 | 2020-03-10 | 中国石油天然气股份有限公司 | 一种彩色曲线位图矢量化方法、计算机设备及存储介质 |
CN111782686A (zh) * | 2020-05-13 | 2020-10-16 | 北京三快在线科技有限公司 | 用户数据的查询方法、装置、电子设备及存储介质 |
CN111782740A (zh) * | 2019-04-04 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 座位数据处理方法、计算设备及存储介质 |
-
2021
- 2021-09-07 CN CN202111044196.0A patent/CN113760915B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102313841A (zh) * | 2010-05-06 | 2012-01-11 | 特克特朗尼克公司 | 使用差位图的信号检测和触发 |
US20130250370A1 (en) * | 2012-03-21 | 2013-09-26 | Ricoh Company, Ltd. | Apparatus, system, and method of inspecting image, and recording medium storing image inspection control program |
CN104156407A (zh) * | 2014-07-29 | 2014-11-19 | 华为技术有限公司 | 索引数据的存储方法、装置及存储设备 |
CN107333025A (zh) * | 2017-06-30 | 2017-11-07 | 北京金山安全软件有限公司 | 一种图像数据处理方法、装置、电子设备以及存储介质 |
CN110019243A (zh) * | 2018-01-02 | 2019-07-16 | 中国移动通信有限公司研究院 | 物联网中数据的传输方法及装置、设备、存储介质 |
CN108415978A (zh) * | 2018-02-09 | 2018-08-17 | 北京腾云天下科技有限公司 | 用户标签存储方法、用户画像计算方法及计算设备 |
CN110874846A (zh) * | 2018-09-03 | 2020-03-10 | 中国石油天然气股份有限公司 | 一种彩色曲线位图矢量化方法、计算机设备及存储介质 |
CN109977117A (zh) * | 2019-03-18 | 2019-07-05 | 广州虎牙信息科技有限公司 | 状态数据的存储方法、数据发送的方法及装置 |
CN111782740A (zh) * | 2019-04-04 | 2020-10-16 | 阿里巴巴集团控股有限公司 | 座位数据处理方法、计算设备及存储介质 |
CN110113393A (zh) * | 2019-04-18 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种消息推送方法、装置、电子设备及介质 |
CN111782686A (zh) * | 2020-05-13 | 2020-10-16 | 北京三快在线科技有限公司 | 用户数据的查询方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
刘鹏;康建初;诸彤宇;: "导航终端中的兴趣点数据压缩检索技术", 计算机工程, no. 14, pages 87 - 89 * |
蒋华;李明珍;王鑫;: "一种基于概率包标记的PPM算法改进方案", 山东大学学报(理学版), no. 09, pages 88 - 91 * |
Also Published As
Publication number | Publication date |
---|---|
CN113760915B (zh) | 2024-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3992801A1 (en) | Data storage method for flash memory device and flash memory device | |
US10642515B2 (en) | Data storage method, electronic device, and computer non-volatile storage medium | |
US7676626B2 (en) | Non-volatile memory system storing data in single-level cell or multi-level cell according to data characteristics | |
US8433677B2 (en) | Extending cluster allocations in an extensible file system | |
CN110018998B (zh) | 一种文件管理方法、系统及电子设备和存储介质 | |
WO2021043064A1 (zh) | 社区发现方法、装置、计算机设备和存储介质 | |
CN110209348B (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
CN109885577B (zh) | 数据处理方法、装置、终端及存储介质 | |
CN105512283A (zh) | 数据质量管理控制方法及装置 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN112558868B (zh) | 一种配置数据存储的方法和装置及设备 | |
CN115826878A (zh) | 一种写时拷贝方法、装置、设备及计算机可读存储介质 | |
CN115168259A (zh) | 一种数据存取方法、装置、设备和计算机可读存储介质 | |
CN114925041A (zh) | 一种数据查询方法及装置 | |
CN117608856A (zh) | NVMe加速卡内存扩展方法、系统、终端及存储介质 | |
CN113760915B (zh) | 一种数据处理方法、装置、设备及介质 | |
CN116185305A (zh) | 业务数据存储方法、装置、计算机设备和存储介质 | |
CN116450607A (zh) | 数据处理方法、设备及存储介质 | |
CN108196790B (zh) | 数据管理方法、存储设备及计算机可读存储介质 | |
CN107329702B (zh) | 一种自精简元数据管理方法及装置 | |
CN114490517A (zh) | 数据处理方法、装置、计算节点以及计算机可读存储介质 | |
CN113505086B (zh) | 一种存储系统容量统计方法、装置、存储介质及设备 | |
CN112732174B (zh) | 数据的处理方法和装置、电子设备和存储介质 | |
US20210319052A1 (en) | Three-dimensional probabilistic data structure |
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 |