CN111814008A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111814008A CN111814008A CN201910290167.9A CN201910290167A CN111814008A CN 111814008 A CN111814008 A CN 111814008A CN 201910290167 A CN201910290167 A CN 201910290167A CN 111814008 A CN111814008 A CN 111814008A
- Authority
- CN
- China
- Prior art keywords
- initial
- data threshold
- mapping space
- data set
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
本申请实施例提供了数据处理方法、装置、电子设备及存储介质,获取待处理的初始数据集及预设初始数据阈值;为初始数据集配置映射空间;针对初始数据集中的每个初始元素,当该初始元素大于初始数据阈值时,在该初始元素对应的映射空间的相应位置处写入该初始元素;对映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取第一元素序列中第N个元素的数值,得到过滤数据阈值;过滤掉初始数据集中小于过滤数据阈值的初始元素,得到目标数据集;对目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取第二元素序列中的前N个元素。能够提高大量数据中选取TopN数据的效率。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及数据处理方法、装置、电子设备及存储介质。
背景技术
随着计算机技术的发展及大数据时代的到来,数据处理技术的要求也越来越高。TopN算法是大数据领域常用的一种算法,用于快速从海量数据中获取最符合要求的N条数据。最常用的TopN算法是用最小堆算法实现的,由于使用TopN算法来处理数据不需要对数据进行全局排序,其处理效率是非常高的。
相关数据处理技术中,采用最小堆算法对原始数据进行排序,并在排序后的序列中选取指定的TopN数据,例如,取排序前100的数据等。但是采用上述方法,在原始数据量很大时,例如在原始数据中元素数量级为千万或更多时,选取TopN数据的处理速度仍然较慢,数据处理效率低。
发明内容
本申请实施例的目的在于提供一种数据处理方法、装置、电子设备及存储介质,以实现提高大量数据中选取TopN数据的效率。具体技术方案如下:
第一方面,本申请实施例提供了一种数据处理方法,所述方法包括:
获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
可选的,在本申请实施例的数据处理方法中,所述映射空间为图形处理器GPU显存中的空间。
可选的,在所述对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值之后,所述方法包括:
比较所述过滤数据阈值与所述初始数据阈值的大小,若所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值。
可选的,所述初始元素为浮点型元素Float,所述初始数据集对应的取值范围为(0,1],所述为所述初始数据集配置映射空间,包括:
为所述初始数据集配置容纳10万元素的映射空间。
可选的,所述映射空间中各位置分别对应的数值一至十万;所述针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素,包括:
将所述初始数据集中的各初始元素分别乘以10万,得到整型后的初始元素,将所述初始数据阈值乘以10万,得到整型后的初始数据阈值;
针对每个整型后的初始元素,当该整型后的初始元素大于所述整型后的初始数据阈值时,在该整型后的初始元素对应的所述映射空间的相应位置处写入该整型后的初始元素。
可选的,所述对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,包括:
对所述映射空间中的各整型后的初始元素进行排序,得到数值由大到小的第三元素序列,获取所述第三元素序列中第N个元素的数值,得到整型数据阈值;
将整型数据阈值除以10万,得到过滤数据阈值。
第二方面,本申请实施例提供了一种数据处理装置,所述装置包括:
初始数据获取模块,用于获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
映射空间配置模块,用于为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
初始元素写入模块,用于针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
空间元素排序模块,用于对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
初始元素过滤模块,用于过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
TopN元素获取模块,用于对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
可选的,在本申请实施例的数据处理装置中,所述映射空间为图形处理器GPU显存中的空间。
可选的,本申请实施例的数据处理装置,还包括:
数据阈值确定模块,用于比较所述过滤数据阈值与所述初始数据阈值的大小,若所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值。
可选的,所述初始元素为浮点型元素Float,所述初始数据集对应的取值范围为(0,1],所述映射空间配置模块,具体用于为所述初始数据集配置容纳10万元素的映射空间。
可选的,所述映射空间中各位置分别对应的数值一至十万;所述初始元素写入模块,包括:
初始元素整型子模块,用于将所述初始数据集中的各初始元素分别乘以10万,得到整型后的初始元素,将所述初始数据阈值乘以10万,得到整型后的初始数据阈值;
整型元素写入子模块,用于针对每个整型后的初始元素,当该整型后的初始元素大于所述整型后的初始数据阈值时,在该整型后的初始元素对应的所述映射空间的相应位置处写入该整型后的初始元素。
可选的,所述空间元素排序模块,包括:
目标元素数值获取子模块,用于对所述映射空间中的各整型后的初始元素进行排序,得到数值由大到小的第三元素序列,获取所述第三元素序列中第N个元素的数值,得到整型数据阈值;
目标元素逆整型子模块,用于将整型数据阈值除以10万,得到过滤数据阈值。
第三方面,本申请实施例提供了一种电子设备,包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现上述第一方面任一所述的数据处理方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的数据处理方法。
本申请实施例提供的数据处理方法、装置、电子设备及存储介质,获取待处理的初始数据集及预设初始数据阈值,其中,初始数据集中包括多个初始元素;为初始数据集配置映射空间,其中,映射空间中容纳的元素数与初始数据集对应的取值范围的跨度相同,映射空间中的各位置与取值范围的跨度内的各元素一一对应;针对初始数据集中的每个初始元素,当该初始元素大于初始数据阈值时,在该初始元素对应的映射空间的相应位置处写入该初始元素;对映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在过滤数据阈值小于初始数据阈值时,将初始数据阈值的值赋予过滤数据阈值;过滤掉初始数据集中小于过滤数据阈值的初始元素,得到目标数据集;对目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取第二元素序列中的前N个元素。将大于初始数据阈值的元素映射到映射空间中,对映射空间中的元素进行排序,选取序列中第N个元素作为过滤数据阈值,利用过滤数据阈值对初始数据集中的元素进行过滤,可以大大减少元素的数量,能够有效减少后续排序的时间,从而提高大量数据中选取TopN数据的效率。尤其是对于离散程度高的数据,选取TopN数据的效率很高。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的数据处理方法的一种示意图;
图2为本申请实施例的数据处理方法的另一种示意图;
图3为本申请实施例的数据处理装置的一种示意图;
图4为本申请实施例的电子设备的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高大量数据中选取TopN数据的效率,本申请实施例提供了一种数据处理方法,参见图1,该方法包括:
S101,获取待处理的初始数据集及预设初始数据阈值,其中,上述初始数据集中包括多个初始元素。
本申请实施例的数据处理方法可以通过电子设备实现,具体的,该电子设备可以为服务器等。电子设备获取待处理的初始数据集及预设的初始数据阈值,初始数据集中包括多个初始元素,例如,初始数据集中的初始元素可为各模型的准确度,或初始数据集中的初始元素为图像与指定模型的匹配度等。初始数据集中初始元素的数量可以为百万级、千万级或更多等。初始数据阈值可以为与初始数据集类型相关的经验值,例如在初始数据集中的初始元素为图像与指定模型的匹配度时,初始数据阈值可以设置为0.75或0.8等。
S102,为上述初始数据集配置映射空间,其中,上述映射空间中容纳的元素数与上述初始数据集对应的取值范围的跨度相同,上述映射空间中的各位置与上述取值范围的跨度内的各元素一一对应。
电子设备为初始数据集配置映射空间,映射空间中容纳的元素数与初始数据集对应的取值范围的跨度相同。初始数据集对应的取值范围的跨度,是指初始数据集对应的取值范围内包括的不重复的元素的个数,例如,初始数据集对应的取值范围为1-100,要求各元素均为整数,则初始数据集对应的取值范围的跨度为100;例如,初始数据集对应的取值范围为(0,1],要求各元素均为Float类型(浮点型数据类型),数据精度为小数点后五位,则初始数据集对应的取值范围的跨度为100000。映射空间中的各位置与上述取值范围的跨度内的各元素一一对应,例如,映射空间中包括10万个位置,初始数据集对应的取值范围的跨度内的元素为0.00001-1.00000,则可以令映射空间的第一个位置对应元素0.00001,映射空间的第二个位置对应元素0.00002,映射空间的第三个位置对应元素0.00003,映射空间的第四个位置对应元素0.00004,以此类推到映射空间的第十万个位置对应元素1.00000。
S103,针对上述初始数据集中的每个初始元素,当该初始元素大于上述初始数据阈值时,在该初始元素对应的上述映射空间的相应位置处写入该初始元素。
针对初始数据集中的任一初始元素,电子设备比较该初始元素与初始数据阈值的大小,若该初始元素大于初始数据阈值,将该初始元素写入到该初始元素对应的映射空间位置处。若该初始元素不大于初始数据阈值,不将该初始元素写入到映射空间中。例如,初始元素为0.90004,初始元素0.90004对应映射空间的第九万零四个位置,初始数据阈值为0.75,电子设备比较该初始元素与初始数据阈值的大小:0.90004>0.75,将0.90004写入到映射空间的第九万零四个位置。
鉴于本申请实施例中初始数据集中初始元素的数量远远大于映射空间中容纳的元素数,因此很多情况下,会出现多个初始元素对应映射空间中一个位置的情况。例如,初始数据集中有一千个0.90004,则这一千个0.90004均对应映射空间的第九万零四个位置。当映射空间中的一个位置写入元素后,当再有其他写入操作时,可以采用覆盖的方式,例如,映射空间的第九万零四个位置写入了0.90004,当再次进行写入操作时用0.90004覆盖当前的数值0.90004;当映射空间中的一个位置写入元素后,可以将该位置设定为只读状态,后续检测到该位置为只读状态时,直接跳过写入。
电子设备针对初始数据集中的每个初始元素均执行上述过程,以完成初始数据集中各初始元素的判定。
为了进一步提供数据处理效率,可选的,上述映射空间为GPU(GraphicsProcessing Unit,图形处理器)显存中的空间。
GPU的并行计算能力比CPU(Central Processing Unit,中央处理器)的并行计算能力更加出色,映射空间为GPU显存中的空间,电子设备利用GPU执行上述S103,利用GPU的并行计算能力,针对初始数据集中的多个初始元素并行执行上述S103,从而进一步增加数据处理速度。
S104,对上述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取上述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在上述过滤数据阈值小于上述初始数据阈值时,将上述初始数据阈值的值赋予上述过滤数据阈值。
电子设备采用相关的排序算法,例如最小堆排序、最大堆排序、冒泡排序或多路归并排序等,将映射空间中的各元素进行排序,得到第一元素序列,第一元素序列中各元素按照由大到小的顺序排列。一般情况下第一元素序列中元素个数大于N,在第一元素序列中元素个数大于N时,电子设备选取第一元素序列中第N个元素,将第N个元素的数值作为过滤数据阈值。其中,N的数值为最终要选取的前元素的数量。在一种可能的实施方式中,也可以按照元素的数值,排序得到数值由小到大的元素序列,并从该元素序列中获取倒数第N个元素的数值,得到过滤数据阈值。
特殊情况下,例如在元素集中度很高时,第一元素序列中元素的个数可能会少于N,此时确定的过滤数据阈值为0,针对此种情况。可选的,在上述对上述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取上述第一元素序列中第N个元素的数值,得到过滤数据阈值之后,上述方法还包括:
比较上述过滤数据阈值与上述初始数据阈值的大小,若上述过滤数据阈值小于上述初始数据阈值时,将上述初始数据阈值的值赋予上述过滤数据阈值。
在过滤数据阈值小于初始数据阈值时,将初始数据阈值的值赋予过滤数据阈值。例如,初始数据阈值为0.8,过滤数据阈值为0,则将初始数据阈值的值0.8赋予过滤数据阈值,即过滤数据阈值的值变为0.8。可以理解的是,本步骤可以等效为,在过滤数据阈值与初始数据阈值中选取较大的阈值,作为后续步骤中的过滤数据阈值。
S105,过滤掉上述初始数据集中小于上述过滤数据阈值的初始元素,得到目标数据集。
电子设备过滤掉初始数据集中小于目标数据阈值的元素,将剩余的元素的集合作为目标数据集。可以理解的是,该步骤可以等效为在初始数据集中选取出不小于目标数据阈值的各元素,将选取出的各元素的集合作为目标数据集。
S106,对上述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取上述第二元素序列中的前N个元素。
电子设备采用相关的排序算法对目标数据集中的各元素进行排序,得到第二元素序列,并选取第二元素序列中的前N个元素,从而完成TopN数据的选取,其中,第二中各元素按照由大到小的顺序排列。
在本申请实施例中,将大于初始数据阈值的元素映射到映射空间中,对映射空间中的元素进行排序,选取序列中第N个元素作为过滤数据阈值,利用过滤数据阈值对初始数据集中的元素进行过滤,可以大大减少元素的数量,能够有效减少后续排序的时间,从而提高大量数据中选取TopN数据的效率。尤其是对于离散程度高的数据,选取TopN数据的效率很高。
可选的,上述初始元素为浮点型元素Float,上述初始数据集对应的取值范围为(0,1],上述为上述初始数据集配置映射空间,包括:为上述初始数据集配置容纳10万元素的映射空间。
针对图像匹配度、模型收敛程度等初始数据集对应的取值范围为(0,1]的应用场景,当初始数据集中各初始元素均为Float类型时,映射空间为容纳10万元素的空间。具体的,映射空间为GPU显存中容纳10万元素的空间,从而可以通过GPU的高并行特则,进一步提高数据处理速度。
可选的,上述映射空间中各位置分别对应的数值一至十万;上述针对上述初始数据集中的每个初始元素,当该初始元素大于上述初始数据阈值时,在该初始元素对应的上述映射空间的相应位置处写入该初始元素,包括:
步骤一,将上述初始数据集中的各初始元素分别乘以10万,得到整型后的初始元素,将上述初始数据阈值乘以10万,得到整型后的初始数据阈值。
Float类型元素的精度为小数点后五位,将初始数据集中的各初始元素分别乘以10万,转换为整型元素数据。相应的将初始数据阈值乘以10万,得到整型后的初始数据阈值,以便后续计算。
步骤二,针对每个整型后的初始元素,当该整型后的初始元素大于上述整型后的初始数据阈值时,在该整型后的初始元素对应的上述映射空间的相应位置处写入该整型后的初始元素。
映射空间各存储位置可以包括下标,标记该位置为映射空间中的第几个存储位置,例如,映射空间的第一个位置的下标为1,映射空间的第二个位置的下标为2,映射空间的第三个位置的下标为3,映射空间的第四个位置的下标为4,以此类推到映射空间的第十万个位置的下标为100000。
针对一个整型后的初始元素,获取该整型后的初始元素的值,假设为M,在M大于整型后的初始数据阈值时,将该初始元素写入到下标为M的位置处。电子设备对各初始元素均执行相同操作,以对初始数据集中各初始元素进行上述操作。
在本申请实施例中,将各初始元素进行整型处理,并写入到映射空间中下标值相同的位置处,映射关系简单,减少了映射关系的设定时间。
在映射空间中存储的元素为整型元素数据时,可选的,上述对上述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取上述第一元素序列中第N个元素的数值,得到过滤数据阈值,包括:
步骤一,对上述映射空间中的各整型后的初始元素进行排序,得到数值由大到小的第三元素序列,获取上述第三元素序列中第N个元素的数值,得到整型数据阈值。
步骤二,将整型数据阈值除以10万,得到过滤数据阈值。
在映射空间中存储的元素为乘以10万后的整型元素数据时,在选取第N各元素后,需要将该元素的数值除以10万,从而得到过滤数据阈值。与上述可选的方案类似,在第三元素序列中元素的个数少于N时,令过滤数据阈值为0,可选的,在过滤数据阈值小于初始数据阈值时,将初始数据阈值的值赋予过滤数据阈值。
在本申请实施例一种可能的实施方式中,本申请实施例的数据处理方法还可以如图2所示,包括:
步骤一,获取待处理的初始数据集及预设初始数据阈值,其中,上述初始数据集中包括多个初始元素,上述初始元素为Float类型数据,上述初始数据集对应的取值范围为(0,1]。
预设初始数据阈值及获取Top N元素的N的数据可以为提前设定的,也可以为用户实时输入的,此处不做限定。
步骤二,为上述初始数据集在GPU的显存中配置容纳十万数据的映射空间,其中,上述映射空间中的各位置与上述取值范围的跨度内的各元素一一对应。
步骤三,针对上述初始数据集中的每个初始元素,当该初始元素大于上述初始数据阈值时,将该初始元素乘以10万,并在该初始元素对应的上述映射空间的相应位置处写入该初始元素。
若该初始元素不大于上述初始数据阈值,不将该初始元素写入到上述映射空间中。
步骤四,对上述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列。
步骤五,获取上述第一元素序列中第N个元素的数值,得到过滤数据阈值。
步骤六,在上述初始数据阈值及上述过滤数据阈值中,选取较大的得到目标数据阈值。
步骤七,过滤掉上述初始数据集中小于上述目标数据阈值的初始元素,得到目标数据集。
比较初始数据集中各初始元素与目标数据阈值的大小,将大于目标数据阈值的初始元素加入到目标数据集中。
步骤八,对上述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取上述第二元素序列中的前N个元素。
本申请实施例还提供了一种数据处理装置,参见图3,该装置包括:
初始数据获取模块301,用于获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
映射空间配置模块302,用于为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
初始元素写入模块303,用于针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
空间元素排序模块304,用于对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
初始元素过滤模块305,用于过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
TopN元素获取模块306,用于对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
可选的,在本申请实施例的数据处理装置中,所述映射空间为图形处理器GPU显存中的空间。
可选的,本申请实施例的数据处理装置还包括:
数据阈值确定模块,用于比较所述过滤数据阈值与所述初始数据阈值的大小,若所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值。
可选的,所述初始元素为浮点型元素Float,所述初始数据集对应的取值范围为(0,1],所述映射空间配置模块302,具体用于为所述初始数据集配置容纳10万元素的映射空间。
可选的,所述映射空间中各位置分别对应的数值一至十万;所述初始元素写入模块303,包括:
初始元素整型子模块,用于将所述初始数据集中的各初始元素分别乘以10万,得到整型后的初始元素,将所述初始数据阈值乘以10万,得到整型后的初始数据阈值;
整型元素写入子模块,用于针对每个整型后的初始元素,当该整型后的初始元素大于所述整型后的初始数据阈值时,在该整型后的初始元素对应的所述映射空间的相应位置处写入该整型后的初始元素。
可选的,所述空间元素排序模块304,包括:
目标元素数值获取子模块,用于对所述映射空间中的各整型后的初始元素进行排序,得到数值由大到小的第三元素序列,获取所述第三元素序列中第N个元素的数值,得到整型数据阈值;
目标元素逆整型子模块,用于将整型数据阈值除以10万,得到过滤数据阈值。
本申请实施例还提供了一种电子设备,包括处理器和存储器;
上述存储器,用于存放计算机程序;
上述处理器,用于执行上述存储器上所存放的程序时,实现实现如下步骤:
获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
可选的,上述处理器用于执行上述存储器上所存放的程序时,还能够实现上述任一数据处理方法。
可选的,如图4所示,本申请实施例的电子设备还包括通信接口402和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现上述任一数据处理方法。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法包括:
获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
2.根据权利要求1所述的方法,其特征在于,所述映射空间为图形处理器GPU显存中的空间。
3.根据权利要求1所述的方法,其特征在于,在所述对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值之后,所述方法还包括:
比较所述过滤数据阈值与所述初始数据阈值的大小,若所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值。
4.根据权利要求1所述的方法,其特征在于,所述初始元素为浮点型元素Float,所述初始数据集对应的取值范围为(0,1],所述为所述初始数据集配置映射空间,包括:
为所述初始数据集配置容纳10万元素的映射空间。
5.根据权利要求4所述的方法,其特征在于,所述映射空间中各位置分别对应的数值一至十万;所述针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素,包括:
将所述初始数据集中的各初始元素分别乘以10万,得到整型后的初始元素,将所述初始数据阈值乘以10万,得到整型后的初始数据阈值;
针对每个整型后的初始元素,当该整型后的初始元素大于所述整型后的初始数据阈值时,在该整型后的初始元素对应的所述映射空间的相应位置处写入该整型后的初始元素。
6.根据权利要求5所述的方法,其特征在于,所述对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,包括:
对所述映射空间中的各整型后的初始元素进行排序,得到数值由大到小的第三元素序列,获取所述第三元素序列中第N个元素的数值,得到整型数据阈值;
将整型数据阈值除以10万,得到过滤数据阈值。
7.一种数据处理装置,其特征在于,所述装置包括:
初始数据获取模块,用于获取待处理的初始数据集及预设初始数据阈值,其中,所述初始数据集中包括多个初始元素;
映射空间配置模块,用于为所述初始数据集配置映射空间,其中,所述映射空间中容纳的元素数与所述初始数据集对应的取值范围的跨度相同,所述映射空间中的各位置与所述取值范围的跨度内的各元素一一对应;
初始元素写入模块,用于针对所述初始数据集中的每个初始元素,当该初始元素大于所述初始数据阈值时,在该初始元素对应的所述映射空间的相应位置处写入该初始元素;
空间元素排序模块,用于对所述映射空间中的各初始元素进行排序,得到数值由大到小的第一元素序列,获取所述第一元素序列中第N个元素的数值,得到过滤数据阈值,其中,在所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值;
初始元素过滤模块,用于过滤掉所述初始数据集中小于所述过滤数据阈值的初始元素,得到目标数据集;
TopN元素获取模块,用于对所述目标数据集中的各元素进行排序,得到数值由大到小的第二元素序列,获取所述第二元素序列中的前N个元素。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
数据阈值确定模块,用于比较所述过滤数据阈值与所述初始数据阈值的大小,若所述过滤数据阈值小于所述初始数据阈值时,将所述初始数据阈值的值赋予所述过滤数据阈值。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290167.9A CN111814008B (zh) | 2019-04-11 | 2019-04-11 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290167.9A CN111814008B (zh) | 2019-04-11 | 2019-04-11 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814008A true CN111814008A (zh) | 2020-10-23 |
CN111814008B CN111814008B (zh) | 2023-10-10 |
Family
ID=72843614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290167.9A Active CN111814008B (zh) | 2019-04-11 | 2019-04-11 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814008B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296306B1 (en) * | 2011-11-28 | 2012-10-23 | Korea Advanced Institute Of Science And Technology | Linear-time top-k sort method |
CN103530321A (zh) * | 2013-09-18 | 2014-01-22 | 上海交通大学 | 一种基于机器学习的排序系统 |
US20150213076A1 (en) * | 2014-01-29 | 2015-07-30 | International Business Machines Corporation | Parallelized in-place radix sorting |
US20170161858A1 (en) * | 2015-12-04 | 2017-06-08 | International Business Machines Corporation | Selective retention of forensic information |
CN106815272A (zh) * | 2015-12-02 | 2017-06-09 | 杭州海康威视数字技术股份有限公司 | 一种图像检索方法、装置及系统 |
CN107832852A (zh) * | 2017-11-14 | 2018-03-23 | 深圳码隆科技有限公司 | 数据处理学习方法、系统以及电子设备 |
CN108052639A (zh) * | 2017-12-21 | 2018-05-18 | 中国联合网络通信集团有限公司 | 基于运营商数据的行业用户推荐方法及装置 |
CN109544651A (zh) * | 2018-11-20 | 2019-03-29 | 深圳市墨者安全科技有限公司 | 用于图像对比的数据压缩方法、图像对比方法及装置 |
-
2019
- 2019-04-11 CN CN201910290167.9A patent/CN111814008B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296306B1 (en) * | 2011-11-28 | 2012-10-23 | Korea Advanced Institute Of Science And Technology | Linear-time top-k sort method |
CN103530321A (zh) * | 2013-09-18 | 2014-01-22 | 上海交通大学 | 一种基于机器学习的排序系统 |
US20150213076A1 (en) * | 2014-01-29 | 2015-07-30 | International Business Machines Corporation | Parallelized in-place radix sorting |
CN106815272A (zh) * | 2015-12-02 | 2017-06-09 | 杭州海康威视数字技术股份有限公司 | 一种图像检索方法、装置及系统 |
US20170161858A1 (en) * | 2015-12-04 | 2017-06-08 | International Business Machines Corporation | Selective retention of forensic information |
CN107832852A (zh) * | 2017-11-14 | 2018-03-23 | 深圳码隆科技有限公司 | 数据处理学习方法、系统以及电子设备 |
CN108052639A (zh) * | 2017-12-21 | 2018-05-18 | 中国联合网络通信集团有限公司 | 基于运营商数据的行业用户推荐方法及装置 |
CN109544651A (zh) * | 2018-11-20 | 2019-03-29 | 深圳市墨者安全科技有限公司 | 用于图像对比的数据压缩方法、图像对比方法及装置 |
Non-Patent Citations (2)
Title |
---|
张军;杨家海;王继龙;: "基于多次过滤的TopN统计算法", 清华大学学报(自然科学版), no. 04, pages 158 - 162 * |
薛晨杰;林婷薇;: "基于异常检测的K-means改进算法研究", 软件导刊, no. 04, pages 80 - 84 * |
Also Published As
Publication number | Publication date |
---|---|
CN111814008B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108305158B (zh) | 一种训练风控模型和风控的方法、装置及设备 | |
US10698697B2 (en) | Adaptive routing to avoid non-repairable memory and logic defects on automata processor | |
CN109543826A (zh) | 一种基于深度神经网络的激活量量化方法及装置 | |
CN112785597A (zh) | 识别图像的方法和系统 | |
CN112085644B (zh) | 多列数据排序方法、装置、可读存储介质和电子设备 | |
CN108255976B (zh) | 数据排序的方法、装置和存储介质以及电子设备 | |
CN113867685A (zh) | 一种乘法器转换方法、装置、设备及可读存储介质 | |
CN111507090A (zh) | 摘要提取方法、装置、设备及计算机可读存储介质 | |
CN109389215B (zh) | 一种深度学习网络的网络结构确定方法及装置 | |
CN111553847B (zh) | 图像处理方法及装置 | |
US11748100B2 (en) | Processing in memory methods for convolutional operations | |
CN111814008B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112765876A (zh) | 机械设计方案推荐方法、装置及电子设备 | |
CN111862343A (zh) | 一种三维重建方法、装置、设备及计算机可读存储介质 | |
CN110134813B (zh) | 图像检索方法、图像检索装置及终端设备 | |
CN114117063A (zh) | 实体对齐方法、装置、电子设备及计算机可读存储介质 | |
US9659140B2 (en) | Critical region identification | |
CN108073594B (zh) | 一种生成热力图的方法及装置 | |
WO2014168199A1 (ja) | 論理演算方法および情報処理装置 | |
CN111651124A (zh) | Ssd映射表多核分区并行重建方法、装置、设备及介质 | |
CN110309127B (zh) | 一种数据处理方法、装置及电子设备 | |
TWI755176B (zh) | 細胞密度分類方法及裝置、電子裝置及存儲介質 | |
CN111506766B (zh) | 音频帧聚类方法、装置及设备 | |
US11741349B2 (en) | Performing matrix-vector multiply operations for neural networks on electronic devices | |
CN109740249B (zh) | 一种mux树逻辑结构优化方法、模块及存储介质 |
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 |