一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理系统、方法和装置与流程

2022-07-10 10:04:18 来源:中国专利 TAG:
1.本技术涉及互联网领域,具体而言,涉及一种数据处理系统、方法和装置。
背景技术
::2.在电子商务环境中,服务器需要实时处理大批量的用户搜索需求,适应大批量的推荐场景的应用。对于推荐任务而言,由于计算力以及存储带宽的限制,传统的服务器无法满足大规模模型。3.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:4.本技术实施例提供了一种数据处理系统、方法和装置,以及至少解决相关技术中数据处理系统的访存并行度和访存带宽较低的技术问题。5.根据本技术实施例的一个方面,提供了一种数据处理系统,包括:多个存储块,用于存储多个特征向量;多个处理模块,与多个存储块堆叠,每个处理模块用于访问对应的存储块中的特征向量;处理器,与多个处理模块连接,用于获取目标对象对应的目标索引信息,从多个处理模块中确定目标索引信息对应的目标处理模块,并发送目标索引信息至目标处理模块;目标处理模块用于从目标存储块中获取目标索引信息对应的匹配特征向量;处理器还用于基于匹配特征向量,得到目标对象的目标特征向量。6.根据本技术实施例的另一方面,还提供了一种数据处理方法,包括:获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。7.根据本技术实施例的另一方面,还提供了一种数据处理方法,包括:获取目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。8.根据本技术实施例的另一方面,还提供了一种数据处理方法,包括:接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。9.根据本技术实施例的另一方面,还提供了一种数据处理系统,包括:多个存储块;多个处理模块,与多个存储块堆叠;处理器,与多个处理模块连接,用于控制多个处理模块访问对应的存储器中存储的数据。10.根据本技术实施例的另一方面,还提供了一种数据处理装置,包括:获取模块,用于获取目标对象对应的目标索引信息;确定模块,用于从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;通信模块,用于发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;处理模块,用于基于匹配特征向量,得到目标对象的目标特征向量。11.根据本技术实施例的另一方面,还提供了一种数据处理装置,包括:第一获取模块,用于获取目标对象,以及向目标对象推荐的对象集合;第二获取模块,用于利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定模块,用于确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;推荐模块,用于向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。12.根据本技术实施例的另一方面,还提供了一种数据处理装置,包括:接收模块,用于接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合;获取模块,用于利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定模块,用于多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;输出模块,用于输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。13.根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的数据处理方法。14.根据本技术实施例的另一方面,还提供了一种计算机终端,包括:存储器和处理器,处理器用于运行存储器中存储的程序,其中,程序运行时执行上述的数据处理方法。15.根据本技术实施例的另一方面,还提供了一种数据处理系统,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。16.在本技术实施例中,处理器在获取到目标对象对应的目标索引信息之后,可以从所有的处理模块中确定与该目标索引信息对应的目标处理模块,并发送该目标索引信息至目标处理模块,目标处理模块从目标存储块中读取出目标索引信息对应的匹配特征向量,进而处理器可以基于匹配特征向量得到目标对象的目标特征向量,从而实现推荐系统中embedding操作的处理需求。容易注意到的是,通过将处理模块与存储块进行堆叠,实现将processingelements(处理单元,简称为pe)设计于drambank附近,使得pe可以拥有独立的访存接口进行读写操作,达到了提高访问并行度,增加访存带宽的技术效果,进而解决了相关技术中数据处理系统的访存并行度和访存带宽较低的技术问题。附图说明17.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:18.图1是根据本技术实施例的一种多核高性能终端或服务器的示意性框图;19.图2是根据本技术一个实施例的图1中处理器的示意性框图;20.图3是根据本技术另一个实施例的图1中处理器的示意性框图;21.图4是根据本技术实施例的一种数据处理系统的示意图;22.图5是根据本技术实施例的一种可选的数据处理系统的示意图;23.图6是根据本技术实施例的一种可选的logicdie和dramdie的架构的示意图;24.图7是根据本技术实施例的一种数据处理方法的流程图;25.图8是根据本技术实施例的另一种数据处理方法的流程图;26.图9是根据本技术实施例的又一种数据处理方法的流程图;27.图10是根据本技术实施例的一种数据处理装置的示意图;28.图11是根据本技术实施例的另一种数据处理装置的示意图;29.图12是根据本技术实施例的又一种数据处理装置的示意图;30.图13是根据本技术实施例的一种计算机终端的结构框图。具体实施方式31.为了使本
技术领域
:的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。32.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。33.首先,在对本技术实施例进行描述的过程中出现的部分名词或术语适用于如下解释:34.embedding操作:向量映射操作,可以是一种将稀疏特征向量转换为稠密特征向量的操作。35.drambank:可以是最小的dram(dynamicrandomaccessmemory,动态随机存取存储器)独立处理访存指令的模块。36.hybridbonding:混合键合技术,可以实现10微米及以下的凸点间距(pitch),包含直接堆叠的两片晶圆,晶圆具有平面绝缘表面和隔离的铜互连。37.传统的处理器方案由于查找表的访存地址连续性较差,存储器带宽利用率较低,当处理推荐系统的人物时,处理时间被访存带宽所限制,而且,由于查找表人物的空间局限性较差,处理器架构难以通过单指令多线程的方式隐藏访存延迟。传统的加速器方案可以提供高效的计算,但是,由于查找表的数据复用率较低,仅涉及高效的加速器无法满足查找表的访存需求。传统的indimm方案通过在dimm(dual-inline-memory-modules,中文名叫双列直插式存储模组)buffer中设计出处理单元,可以潜在的提高存储带宽,但是,并未考虑存储器bank的并行度。38.为了解决是上述问题,本技术提供了如下实现方案:39.图1示出本公开实施例中的多核高性能终端或服务器的示意性框图。多核高性能终端或服务器是指为了提高终端或服务器的处理速度,将大量处理器核分成簇使用从而达到提高运算性能的终端或服务器。40.该多核高性能终端或服务器10是“中心”系统架构的示例。多核高性能终端或服务器10可基于目前市场上各种型号的处理器核,并由windowstm操作系统版本、unix操作系统、linux操作系统等操作系统驱动。此外,多核高性能终端或服务器10可以体现为单台设备,例如,pc机、台式机、笔记本、服务器和移动通信装置。多核高性能终端或服务器10也可以体现为多台设备构成的集群,例如云端大量服务器构成的服务器集群。41.如图1所示,本技术实施例的多核高性能终端或服务器10可以包括一个或多个处理器12。在每个处理器12中含有多个处理器簇130,每个处理器簇130中含有多个处理器核120(图中未示出)。之所以将大量处理器核120分成处理器簇130,是为了便于对大量处理器核120进行管理。可以将执行类似任务的处理器核120归到一个簇中,这样,在调度处理器时,就可以方便地根据其所属的簇来决定使用哪个处理器核120。42.多核高性能终端或服务器10还可以包括存储设备16。存储设备16例如是通过相应接口与系统总线11耦合的硬盘、光盘以及闪存等用于信息存取的设备。多核高性能终端或服务器10的处理器12内部设置了多级高速缓存127、129、131等(图中未示出),用于存储由数据信号表示的可能会反复使用的指令信息和/或数据信息。仅对不经常使用的指令信息和/或数据信息,将其存放在存储设备16中。43.在多核高性能终端或服务器10中,在处理器12外部还包括l3或最后一级高速缓存18。高速缓存例如由静态随机存储器(staticrandomaccessmemory,简称为sram)等类型的存储装置实现。在多核高性能终端或服务器10中的高速缓存可以为多级结构,例如一级缓存(图2和图3中的l1高速缓存127)、二级缓存(图2和图3中的l2高速缓存129)和三级缓存(图1的实施例中设在处理器12外部的l3高速缓存18,如图1所示,以及图3中的l3高速缓存131)、以及图3的实施例中设在处理器12外部的最后一级高速缓存18(如图1所示)。44.多核高性能终端或服务器10通常还包括通信设备17,因此可以通过各种方式与网络或其他设备通信。通信设备17例如可以包括一种或多种通信模块,作为示例,通信设备17可以包括适用于特定的无线通信协议的无线通信模块。例如,通信设备17可以包括wlan模块,用于实现符合电气和电子工程师协会(ieee)制定的802.11标准的wi-fitm通信;通信设备17也可以包括wwan模块,用于实现符合蜂窝或其他无线广域协议的无线广域通信;通信设备17还可以包括蓝牙模块等采用其它协议的通信模块,或其它自定义类型的通信模块;通信设备17也可以是用于串行传输数据的端口。45.当然,不同的多核高性能终端或服务器10根据主板、操作系统和指令集架构的不同,其结构也可能有所变化。例如,有些多核高性能终端或服务器10可以会具有显示装置、或输入输出设备等等。46.图2是根据本公开一个实施例的图1中处理器的示意性框图。在该实施例中,处理器12可以包括多个处理器簇130,每个处理器簇130可以包括用于处理指令的一个或多个处理器核120。指令的处理和执行是可以被用户(例如通过应用程序)和/或系统平台控制的。在一些实施例中,每个处理器核120可以用于处理特定的指令集。在一些实施例中,指令集可以支持复杂指令集计算(complexinstructionsetcomputing,cisc)、精简指令集计算(reducedinstructionsetcomputing,risc)或基于超长指令字(verylonginstructionword,vliw)的计算。不同的处理器核120可以各自处理不同或相同的指令集。作为一种示例,图2中示出处理器12包括处理器簇1至n,n是非0的自然数;每个处理器簇包括处理器核1至m,m是非0的自然数。47.在该实施例中,每个处理器核120核内部含有l1高速缓存127,用于存储处理器核120内部经常使用的指令信息和数据信息。另外,在每个处理器簇130内,含有多个处理器核120共享的l2高速缓存129。多个处理器核120通过处理器簇130内部的一致性总线128连接到共享的l2高速缓存129。l2高速缓存129主要缓存一些重要性程度稍差于l1高速缓存127存储的指令信息和数据信息、或访问频率稍低于l1高速缓存127存储的指令信息和数据信息的指令信息和数据信息。各个处理器簇130连接到共享的系统总线11,系统总线11上可以连接有各个处理器簇130共享的l3高速缓存18。l3高速缓存18用于缓存一些重要性程度比l2高速缓存129存储的指令信息和数据信息更低、或访问频率比l2高速缓存129存储的指令信息和数据信息更低的指令信息和数据信息。48.如图2所示,每个处理器核120可以包括取指令单元124、指令译码单元125、寄存器堆126、指令执行单元121、内存管理单元122、l1高速缓存127。49.寄存器堆126可以包括用于存储不同类型的数据和/或指令的多个寄存器,这些寄存器可以是不同类型的。例如,寄存器堆126可以包括:整数寄存器、浮点寄存器、向量寄存器、状态寄存器和指针寄存器等。寄存器堆126中的寄存器可以选用通用寄存器来实现,也可以根据处理器12的实际需求采用特定的设计。50.处理器12可以包括内存管理单元(memorymanagementunit,mmu)122,用于实现虚拟地址到物理地址的转译。根页表是存储着虚拟地址到存储设备16中的物理地址的映射关系的表。一般来说,根页表存储在存储设备16中。当每次访问存储设备16中的数据时,先到存储设备16的根页表中获取虚拟地址到存储设备16中的物理地址的映射关系。然后根据要访问的虚拟的地址和该映射关系,得到要访问的存储设备16中的物理地址。然后,再根据该物理地址到存储设备16上访问数据。这样,相当于每次访问存储设备16上的数据都要二次访问存储设备16,其中一次用于获取映射关系,另一次获得真正要访问的数据。为了提高一些常用页面的访问速度,可以将一些常用数据由存储设备16中改为存储在l1高速缓存127、l2高速缓存129、l3高速缓存131或者最后一级高速缓存18中。放在这些高速缓存中的数据的虚拟地址到物理地址的映射关系的表项就存储在内存管理单元122内部设置的转译后备缓冲器1221中,这里的物理地址指的是其在高速缓存中的物理地址,不是存储设备16上的物理地址。内存管理单元122可以存储有虚拟地址到l1高速缓存127上的物理地址的映射关系表项,也可以同时存储有虚拟地址到l1到高速缓存127以及l2高速缓存129上的物理地址的映射关系表项,也可以同时存储有虚拟地址到l1到高速缓存127、l2高速缓存129和l3高速缓存131上的物理地址的映射关系表项,也可以同时存储有虚拟地址到l1到高速缓存127、l2高速缓存129、l3高速缓存131、最后一级高速缓存18上的物理地址的映射关系表项,这是根据高速缓存的设置的层数决定的。另外,也可以不将所有从虚拟地址到物理地址的映射关系表项都存储在根页表中,而是设置若干分级页表。例如,从根页表往下查找到一级页表,从一级页表往下查找到二级页表,一直往下查找到最终页表。这样,对于较宽的物理地址系统,这样的管理方式可以压缩整个页表的内存存储空间。51.每个处理器核120中可以设置一个或多个内存管理单元122,不同处理器核120中的内存管理单元120也可以与位于其他处理器或处理器核中的内存管理单元120实现同步,使得每个处理器或处理器核可以共享统一的虚拟存储系统。52.处理器12用于执行指令序列(即程序)。处理器12执行每个指令的过程包括:从存放指令的存储器中取出指令、对取出的指令进行译码、执行译码后的指令、保存指令执行结果等步骤,如此循环,直到执行完指令序列中的全部指令或遇到停机指令。53.l1高速缓存127中包括指令高速缓存1271、数据高速缓存1272。指令高速缓存1271存储着要执行的指令。数据高速缓存1272存储着指令要执行的操作数、以及执行过程中的中间结果等。54.取指令单元124作为处理器核120的启动引擎,用于将指令从l1高速缓存127的指令高速缓存1271中搬运到取指令单元124内部或者指令译码单元125内部的缓存中。然后,对于一般的指令,接收下一个取指地址或根据取指算法计算获得下一个取指地址,取指算法例如包括:根据指令长度递增地址或递减地址。如果是分支(branch)或跳转(jump)指令的目标地址,取指令单元124需要对跳转方向或者目标地址进行预测。分支预测(branchprediction)或跳转预测(jumppredication)相关的常见通用技术包括:利用一级或两级分支历史表(bht)对分支指令跳转方向进行预测,利用一级或多级分支目标缓冲器(btb)对分支指令的跳转目标地址进行预测,利用返回地址栈(ras)对返回指令的跳转目标地址进行预测,以及对间接跳转指令的目标地址进行预测。55.取出指令后,进入指令译码阶段,指令译码单元125按照预定的指令格式,对取回的指令进行解码,以获得取回的指令所需的操作数获取信息,从而为指令执行单元121的操作做准备。操作数获取信息例如指向立即数、寄存器或其他能够提供源操作数的软件/硬件。在图2中,其可以指向操作数在数据高速缓存1272中的地址。56.然后,指令译码单元125还用于指令的调度和控制,以将各个指令高效地分配至不同的指令执行单元121,使得多个指令的并行操作成为可能。指令经取指、译码并被调度到相应的指令执行单元121之后,相应的指令执行单元121开始执行该指令,即执行该指令所指示的操作、实现相应的功能。57.指令执行单元121内部根据执行的具体指令的不同,可以划分成算术运算单元1211、浮点/矢量执行单元1212、乘除法运算单元1213、存储指令执行单元1214等。算术运算单元(alu)1211是进行整型数运算和逻辑运算的运算单元。alu是计算机中央处理器的最重要组成部分。浮点/矢量执行单元1212是进行浮点数或矢量运算的运算单元。乘除法运算单元1213是进行乘法和除法运算的运算单元。算术运算单元1211、浮点/矢量执行单元1212、乘除法运算单元1213执行指令时,其按照指令译码单元125取回的操作数获取信息到寄存器堆126的相应地址获取操作数,或者直接取回指令执行单元121执行时已经产生的结果,这可以利用转发(forward)技术实现。存储指令执行单元1213是执行存储指令的处理单元。高性能终端或服务器中最常见的处理就是存储、整型数元素、浮点数运算、矢量运算、乘除法运算、逻辑运算等,因此,基本上上述四个执行单元可以涵盖高性能终端或服务器最经常遇到的处理。根据需要,指令执行单元121还可以包括控制寄存器、分支跳转处理单元、加解密指令处理单元等。由于这些单元不太通用,因此没有画出。58.可选地,处理器核120还可以包括指令引退单元135,主要用于负责将指令执行单元121产生的执行结果写回到相应的寄存器堆126的存储位置中,以使后续指令能够从该存储位置处快速获取相应的执行结果。如果有该指令引退单元,所有回写寄存器堆126的通路都要经过这个单元。59.可选地,处理器核120还可以包括调试单元136、跟踪单元137、中断单元138,分别用于处理器核的调试、跟踪和中断处理等,它们不是必需的,其可以根据设计的需要进行添加。当有这些单元存在时,调试、跟踪、中断等请求送入上述的指令引退单元135。60.图3是根据本公开另一个实施例的图1中处理器的示意性框图。该实施例与图2的实施例的不同在于,图3的实施例中的处理器核120中包含了两级高速缓存,即l1高速缓存127和l2高速缓存129,其中,l2高速缓存129缓存的指令信息和数据信息的重要性程度或访问频率稍低于l1高速缓存127缓存的指令信息和数据信息的重要性程度或访问频率。多个处理器核120通过处理器簇130内部的一致性总线128连接到共享的l3高速缓存131。l3高速缓存131缓存的指令信息和数据信息的重要性程度或访问频率稍低于l2高速缓存129缓存的指令信息和数据信息的重要性程度或访问频率。各个处理器簇130连接到共享的系统总线11,系统总线11上可以连接有各个处理器簇130共享的最后一级高速缓存18。最后一级高速缓存18用于缓存一些重要性程度比l3高速缓存131存储的指令信息和数据信息更低、或访问频率比l3高速缓存131存储的指令信息和数据信息更低的指令信息和数据信息。在图3的体系结构中,由于在处理器核120中多设置了一级高速缓存,适合于处理器核的处理负荷更大的场景,在处理负荷更大的情况下,通过处理器核120内部的2层高速缓存结构,提高处理器的处理效率。61.实施例162.根据本技术实施例,提供了一种数据处理系统。本技术实施例所提供的系统实施例可以部署在如图1所示的多核高性能终端或服务器中。63.图4是根据本技术实施例的一种数据处理系统的示意图。如图4所示,该系统包括:多个存储块10,多个处理模块20和处理器30,其中,多个处理模块20与多个存储块10堆叠。64.其中,多个存储块10用于存储多个特征向量;每个处理模块20用于访问对应的存储块10中的特征向量;处理器30用于获取目标对象对应的目标索引信息,从多个处理模块20中确定目标索引信息对应的目标处理模块,并发送目标索引信息至目标处理模块;目标处理模块用于从目标存储块中获取目标索引信息对应的匹配特征向量;处理器还用于基于匹配特征向量,得到目标对象的目标特征向量。65.上述的存储块10可以是存储器中的逻辑bank,例如drambank,但不仅限于此。每个存储器可以由多个bank组成,每个bank包括行地址解码器、列地址解码器、传感放大器、以及dram内存阵列,内存阵列由行列组成,每个行列交叉的单元表示nbit。66.在不同的应用场景中,存储块可以存储不同的数据,该应用场景可以是电子商务场景、金融场景、社交场景、物流场景等,但不仅限于此。在推荐系统领域的向量映射(embedding)操作中,多个存储块可以存储大量的embedding向量。例如,在电子商务环境中,上述的特征向量可以是对用户和商品等相关信息提取出的embedding向量,而且为了实现推荐需求,往往需要大量的用户账户和商品类别等,因此,每一条用户/商品信息对应一个embedding向量,所有embedding向量在一起组成了庞大的embeddingtable。67.在一种可选的实施例中,可以将embeddingtable中的所有embedding向量均匀分散在不同的存储块中,每个存储块中存储的数据量相同。68.可选的,多个处理模块和多个存储块分布在多个存储器中,多个存储器分布在多个存储模组中,多个存储模组与处理器连接。69.上述的处理模块20可以是存储器的逻辑芯片logicdie中的pe,可以是不带指令控制部件的算术逻辑运算部件。70.上述的存储模组可以是计算机系统中的内存条,例如,可以是dimm,但不仅限于此。在计算机系统中,为了提供大容量存储需求,可以安装多个内存条。71.上述的存储器可以是内存条上的内存芯片,例如,可以是ddrdram(doubledataratesynchronousdynamicrandomaccessmemory,双倍速率同步动态随机存储器),但不仅限于此。每个内存芯片可以由多个bank组成,每个bank内部的读写可以并行进行。72.为了解决处理embedding任务的关键点是解决访存问题,在一种可选的实施例中,可以使用hybridbonding技术去展示,通过堆叠dramdie与logicdie来完成ddr模块的计算与存储融合,也即,将pe放置于drambank附近,使得pe可以有独立的访存接口访问drambank,从而使总系统的访问并行度有较大提升,从而可以使访存带宽增加。73.上述的处理器30可以是host处理器,例如cpu,但不仅限于此。处理器30可以通过高速接口向系统发送读写指令,并通过dimm逻辑对dimm进行读写操作。74.在不同的应用场景中,目标对象可以是不同类型的对象,例如,在电子商务环境中,上述的目标对象可以是用户、商品等;在金融场景中,上述的目标对象可以是虚拟货币、虚拟资源等;在社交场景中,上述的目标对象可以是不同的用户;在物流场景中,上述的目标对象可以是货物,但不仅限于此。在实际推荐过程中,用户的每次请求往往只需要少数的几个用户/商品的embedding向量进行计算,上述的目标标识信息可以是需要处理的用户请求的index向量,通过index向量可以直接确定此次请求所需的embedding向量在embeddingtable中的位置。如果embeddingtable的每一行对应一个embedding向量,也即,index向量可以看作是当前请求所需的embedding向量在embeddingtable中的行号。75.需要说明的是,对于用户/商品等相关信息,可以得到一组index向量,每个index向量可以查询到一个对应的embedding向量。76.可选的,在目标对象为多个的情况下,索引信息可以包括:偏移向量和索引向量,偏移向量用于表征每个目标对象的索引,索引向量用于表征匹配特征向量的索引。77.在实际的应用场景中,多条用户请求可以组合成一个querybatch被共同处理,而且,不同用户请求的目标对象往往不同,因此,偏移(offset)向量可以表示每个目标对象的索引,也即offset向量可以指示batch中每个请求的序号。上述的索引向量可以是index向量。78.如果一条请求对应一个index向量,那么一个batch的请求就对应一组index向量。如果我们将这组index向量也看作一个二维矩阵,其中每行对应一个请求的index向量,那offset就是一条请求的index向量在这个二维矩阵中的行号。79.在一种可选的实施例中,host处理器可以将embedding所需要的输入数据,也即index向量和offset向量进行打包。由于embeddingtable均匀分散在不同的存储块中,而且,不同的存储块需要通过不同的pe进行访问,因此,host处理器首先可以根据index向量确定此次请求所需的embedding向量在embeddingtable中的位置,从而确定存储该embedding向量的drambank,然后可以将打包好的数据发送至pe进行处理,在pe中完成nearbank的访存以及累积(reduce)操作,从drambank中查询到此次请求所需的embedding向量(即上述的匹配特征向量)。pe在完成查表之后,可以将结果返回给host处理器,host处理器基于index向量和offset向量进行组合,得到目标对象的目标特征向量,并将最终得到的目标特征向量作为用户请求的结果返给用户。80.通过本技术上述实施例提供的方案,处理器在获取到目标对象对应的目标索引信息之后,可以从所有的处理模块中确定与该目标索引信息对应的目标处理模块,并发送该目标索引信息至目标处理模块,目标处理模块从目标存储块中读取出目标索引信息对应的匹配特征向量,进而处理器可以基于匹配特征向量得到目标对象的目标特征向量,从而实现推荐系统中embedding操作的处理需求。容易注意到的是,通过将处理模块与存储块进行堆叠,实现将pe设计于drambank附近,使得pe可以拥有独立的访存接口进行读写操作,达到了提高访问并行度,增加访存带宽的技术效果,进而解决了相关技术中数据处理系统的访存并行度和访存带宽较低的技术问题。81.在本技术上述实施例中,处理器30还用于基于预设对应关系,确定目标索引信息对应的目标地址空间,基于目标地址空间确定目标存储模组,并发送目标索引信息至目标存储模组,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;目标存储模组还用于基于目标地址空间,确定目标存储器,并发送目标索引信息至目标存储器;目标存储器还用于基于目标地址空间,确定目标处理模块,并发送目标索引信息至目标处理模块。82.多个drambank中均匀存储有多个embedding向量,每个embedding向量都分配有地址空间,根据地址空间可以确定每个embedding向量的具体存储的drambank。因此,在将embeddingtable存储至drambank之后,可以构建每个embedding向量的地址空间和每个embedding向量的index向量之间的对应关系,得到上述的预设对应关系。83.在一种可选的实施例中,host处理器在将embedding所需要的输入数据,也即index向量和offset向量进行打包之后,可以根据index向量所对应的地址空间,将打包后的输入数据发送给相应的dimm(即上述的目标存储模组),如果地址空间确定出的是同一个dimm,则可以将打包后的输入数据发送给该dimm。dimm同样可以根据index向量所对应的地址空间,将index向量分配给相应的ddr,并在ddr中完成进一步的计算。对于ddr而言,可以将index向量根据地址空间分配给相应的pe,在pe中完成embedding向量查询目的。通过上述方案,通过采用分布式处理流程,可以使访存带宽较为高效的利用。84.在本技术上述实施例中,预设对应关系基于每个特征向量对应的索引信息和每个特征向量的地址空间确定,每个特征向量的地址空间基于每个存储块的存储量和每个特征向量的数据量确定,每个存储块的存储量基于多个特征向量的第一数量和多个存储块的第二数量所确定,存储量为每个存储块中存储的特征向量的数量。85.上述的第一数量可以是embeddingtable中总行数,而且,每一行中包含有多个向量。86.在一种可选的实施例中,可以统计多个特征向量的第一数量,以及多个存储块的第二数量,两个数量的比值即可得到上述的存储量,进而根据存储量和每个特征向量的数据量可以确定每个特征向量的地址空间,从而可以构建上述的预设对应关系。87.例如,embeddingtable共有1024行,每行包含32个向量,其中,每个向量的大小是4byte。而且,系统里包含有2个dimm,每个dimm包含2个ddr,每个ddr包含2个bank,每个bank的大小是32kb。88.根据上述信息,embeddingtable的大小为4b*32*1024=128kb,而系统里包含的bank的总数是2*2*2=8个,总的存储资源大小是32kb*8=256kb。因此,可以将embeddingtable均匀分散存储在不同的bank中,每个bank中存储128kb/8=16kb的embeddingtable,对应着的embedding向量的个数是16kb/(32*4b)=128个。也即,可以在每一个bank的前一半空间存储128个embedding向量,从而将整个embeddingtable存储下来。89.如果一个内存地址对应4byte的数据,那么总的地址空间大小为256kb/4b=64k,每个bank对应的地址区间大小为64k/8=8k。因此,一种可选的地址空间的分配方式可以是,embeddingtable的0~127行存储在地址区间[0,4k)中,128~55行存储在地址区间[8k,12k)中,256~383行存储在地址区间[16k,20k)中,…,以此类推。[0090]在本技术上述实施例中,目标处理模块包括:多个第一处理单元,每个第一处理单元用于从目标存储块中获取子索引信息对应的特征向量,其中,子索引信息为对目标索引信息进行划分得到的索引信息;第二处理单元,与多个第一处理单元连接,用于将多个第一处理单元输出的特征向量进行合并,得到匹配特征向量。[0091]上述的第一处理单元可以是pe中的vpu(vectorprocessorunit,向量处理单元),可以执行embedding所需的向量操作计算,其中,以向量加法为主。上述的第二处理单元可以是pe中的topvpu,可以将多个并行vpu的计算结果进一步合并,例如合并(merge)和累积(reduction)。上述的子索引信息可以是由每个vpu处理的embedding向量的index向量。[0092]在一种可选的实施例中,多个vpu可以并行运行,并根据index向量,从drambank读取到embedding向量,并将计算结果返回给topvpu,由topvpu对所有vpu的计算结果进行合并,合并后的结果即为匹配特征向量,并返回给dimm控制器,并将结果返回给host。[0093]通过上述方案提供了一种处理embedding操作的微架构,通过使用nearbank的fifo进行缓存。topvpu可以从infifo中读取出多个vpu的输出结果进一步合并,并将合并的结果写入outfifo进行缓存,并将其(dataout)返回给上层的dimm控制器。[0106]当dimm中的ddr完成运算时,可以将结果返回给上层的host。[0107]由上可知,本技术提出了一种处理embedding操作的近存储计算架构。该架构可以适用在推荐系统任务中,比传统的cpu得到更高的能效比,以及处理吞吐量。该技术可以潜在应用于未来为推荐系统服务的大规模计算集群中。[0108]实施例2[0109]根据本技术实施例,还提供了一种数据处理系统。本技术实施例所提供的系统实施例可以部署在如图1所示的多核高性能终端或服务器中。[0110]如图4所示,该系统包括:多个存储块10,多个处理模块20和处理器30,其中,多个处理模块20与多个存储块10堆叠,处理器30用于控制多个处理模块20访问对应的存储器10中存储的数据。[0111]上述的存储块10可以是存储器中的逻辑bank,例如drambank,但不仅限于此。每个存储器可以由多个bank组成,每个bank包括行地址解码器、列地址解码器、传感放大器、以及dram内存阵列,内存阵列由行列组成,每个行列交叉的单元表示nbit。[0112]在不同的应用场景中,存储块可以存储不同的数据,该应用场景可以是电子商务场景、金融场景、社交场景、物流场景等,但不仅限于此。在推荐系统领域的向量映射(embedding)操作中,多个存储块可以存储大量的embedding向量。例如,在电子商务环境中,上述的特征向量可以是对用户和商品等相关信息提取出的embedding向量,而且为了实现推荐需求,往往需要大量的用户账户和商品类别等,因此,每一条用户/商品信息对应一个embedding向量,所有embedding向量在一起组成了庞大的embeddingtable。[0113]可选的,多个处理模块和多个存储块分布在多个存储器中,多个存储器分布在多个存储模组中,多个存储模组与处理器连接。[0114]上述的处理模块20可以是存储器的逻辑芯片logicdie中的pe,可以是不带指令控制部件的算术逻辑运算部件。[0115]上述的存储模组可以是计算机系统中的内存条,例如,可以是dimm,但不仅限于此。在计算机系统中,为了提供大容量存储需求,可以安装多个内存条。[0116]上述的存储器可以是内存条上的内存芯片,例如,可以是ddrdram,但不仅限于此。每个内存芯片可以由多个bank组成,每个bank内部的读写可以并行进行。[0117]上述的处理器30可以是host处理器,例如cpu,但不仅限于此。处理器30可以通过高速接口向系统发送读写指令,并通过dimm逻辑对dimm进行读写操作。[0118]在本技术上述实施例中,目标处理模块包括:多个第一处理单元,每个第一处理单元用于访问对应的存储块;第二处理单元,与多个第一处理单元连接,用于将多个第一处理单元输出的数据进行合并。[0119]上述的第一处理单元可以是pe中的vpu,可以执行embedding所需的向量操作计算,其中,以向量加法为主。上述的第二处理单元可以是pe中的topvpu,可以将多个并行vpu的计算结果进一步合并,例如合并(merge)和累积(reduction)。上述的子索引信息可以是由每个vpu处理的embedding向量的index向量。[0120]在本技术上述实施例中,目标处理模块还包括:索引缓存,与多个第一处理单元连接,用于存储索引信息;第一数据队列,与多个第一处理单元和第二处理单元连接,用于缓存多个第一处理单元输出的数据;第二数据队列,与第二处理单元连接,用于缓存第二处理单元输出的数据。[0121]由于数据查询需要一定的时间,而且同一个pe可能需要处理多个数据查询任务,因此,可以在pe中设置不同的缓存结构来存储不同的数据。上述的第一数据队列和第二数据队列可以采用“先入先出”方式组织的数据队列,第一数据队列可以是infifo,第二数据队列可以是outfifo。[0122]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0123]实施例3[0124]根据本技术实施例,还提供了一种数据处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。[0125]本技术实施例所提供的方法实施例可以在如图1所示的多核高性能终端或服务器中执行。在上述运行环境下,本技术提供了如图7所示的一种数据处理方法。图7是根据本技术实施例的一种数据处理方法的流程图。如图7所示,该方法可以包括如下步骤:[0126]步骤s702,获取目标对象对应的目标索引信息。[0127]在不同的应用场景中,目标对象可以是不同类型的对象,该应用场景可以是电子商务场景、金融场景、社交场景、物流场景等,但不仅限于此。例如,在电子商务环境中,上述的目标对象可以是用户、商品等;在金融场景中,上述的目标对象可以是虚拟货币、虚拟资源等;在社交场景中,上述的目标对象可以是不同的用户;在物流场景中,上述的目标对象可以是货物,但不仅限于此。在实际推荐过程中,用户的每次请求往往只需要少数的几个用户/商品的embedding向量进行计算,上述的目标标识信息可以是需要处理的用户请求的index向量,通过index向量可以直接确定此次请求所需的embedding向量在embeddingtable中的位置。如果embeddingtable的每一行对应一个embedding向量,也即,index向量可以看作是当前请求所需的embedding向量在embeddingtable中的行号。[0128]需要说明的是,对于用户/商品等相关信息,可以得到一组index向量,每个index向量可以查询到一个对应的embedding向量。[0129]可选的,在目标对象为多个的情况下,索引信息可以包括:偏移向量和索引向量,偏移向量用于表征每个目标对象的索引,索引向量用于表征匹配特征向量的索引。[0130]在实际的应用场景中,多条用户请求可以组合成一个querybatch被共同处理,而且,不同用户请求的目标对象往往不同,因此,偏移(offset)向量可以表示每个目标对象的索引,也即offset向量可以指示batch中每个请求的序号。上述的索引向量可以是index向量。[0131]如果一条请求对应一个index向量,那么一个batch的请求就对应一组index向量。如果我们将这组index向量也看作一个二维矩阵,其中每行对应一个请求的index向量,那offset就是一条请求的index向量在这个二维矩阵中的行号。[0132]步骤s704,从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量。[0133]上述的存储块可以是存储器中的逻辑bank,例如drambank,但不仅限于此。每个存储器可以由多个bank组成,每个bank包括行地址解码器、列地址解码器、传感放大器、以及dram内存阵列,内存阵列由行列组成,每个行列交叉的单元表示nbit。[0134]在不同的应用场景中,存储块可以存储不同的数据。在推荐系统领域的embedding操作中,多个存储块可以存储大量的embedding向量。例如,在电子商务环境中,上述的特征向量可以是对用户和商品等相关信息提取出的embedding向量,而且为了实现推荐需求,往往需要大量的用户账户和商品类别等,因此,每一条用户/商品信息对应一个embedding向量,所有embedding向量在一起组成了庞大的embeddingtable。[0135]在一种可选的实施例中,可以将embeddingtable中的所有embedding向量均匀分散在不同的存储块中,每个存储块中存储的数据量相同。[0136]可选的,多个处理模块和多个存储块分布在多个存储器中,多个存储器分布在多个存储模组中,多个存储模组与处理器连接。[0137]上述的处理模块可以是存储器的逻辑芯片logicdie中的pe,可以是不带指令控制部件的算术逻辑运算部件。[0138]上述的存储模组可以是计算机系统中的内存条,例如,可以是dimm,但不仅限于此。在计算机系统中,为了提供大容量存储需求,可以安装多个内存条。[0139]上述的存储器可以是内存条上的内存芯片,例如,可以是ddrdram,但不仅限于此。每个内存芯片可以由多个bank组成,每个bank内部的读写可以并行进行。[0140]步骤s706,发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定。[0141]步骤s708,基于匹配特征向量,得到目标对象的目标特征向量。[0142]在本技术上述实施例中,从多个处理模块中确定目标索引信息对应的目标处理模块包括:基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;基于目标地址空间确定目标存储模组;通过目标存储模组基于目标地址空间,确定目标存储器;通过目标存储器基于目标地址空间,确定目标处理模块。[0143]多个drambank中均匀存储有多个embedding向量,每个embedding向量都分配有地址空间,根据地址空间可以确定每个embedding向量的具体存储的drambank。因此,在将embeddingtable存储至drambank之后,可以构建每个embedding向量的地址空间和每个embedding向量的index向量之间的对应关系,得到上述的预设对应关系。[0144]在本技术上述实施例中,该方法还包括:确定多个特征向量的第一数量,以及多个存储块的第二数量;基于第一数量和第二数量,确定每个存储块的存储量,其中,存储量为每个存储块中存储的特征向量的数量;基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间;基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0145]上述的第一数量可以是embeddingtable中总行数,而且,每一行中包含有多个向量。[0146]在本技术上述实施例中,目标处理模块用于通过多个第一处理单元从目标存储块中获取子索引信息对应的特征向量,并通过第二处理单元将多个第一处理单元输出的特征向量进行合并,得到匹配特征向量,其中,子索引信息为对目标索引信息进行划分得到的索引信息。[0147]上述的第一处理单元可以是pe中的vpu,可以执行embedding所需的向量操作计算,其中,以向量加法为主。上述的第二处理单元可以是pe中的topvpu,可以将多个并行vpu的计算结果进一步合并,例如合并(merge)和累积(reduction)。上述的子索引信息可以是由每个vpu处理的embedding向量的index向量。[0148]在本技术上述实施例中,在目标对象的数量大于预设数量的情况下,该方法还包括:获取每个处理模块的当前状态;确定多个处理模块中处于空闲状态的处理模块;确定处于空闲状态的处理模块为目标处理模块。[0149]上述的预设数量可以是预先根据embedding操作需求进行设定,当目标对象的数量大于预设数量时,表明系统需要处理大批量的任务。[0150]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。[0151]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。[0152]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0153]实施例4[0154]根据本技术实施例,还提供了一种数据处理方法,该方法实施例可以在如图1所示的多核高性能终端或服务器中执行。[0155]图8是根据本技术实施例的另一种数据处理方法的流程图。如图8所示,该方法可以包括如下步骤:[0156]步骤s802,获取目标对象,以及向目标对象推荐的对象集合。[0157]上述步骤中的目标对象可以是需要进行推荐的用户。[0158]在不同的应用场景中,上述步骤中的对象集合可以是不同类型的对象的集合,该应用场景可以是电子商务场景、金融场景、社交场景、物流场景等,但不仅限于此。例如,在电子商务环境中,上述的对象集合可以是需要向用户推荐的商品集合等。[0159]可选的,在目标对象为多个的情况下,索引信息可以包括:偏移向量和索引向量,偏移向量用于表征每个目标对象的索引,索引向量用于表征匹配特征向量的索引。[0160]步骤s804,利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量。[0161]上述的存储块可以是存储器中的逻辑bank,例如drambank,但不仅限于此。每个存储器可以由多个bank组成,每个bank包括行地址解码器、列地址解码器、传感放大器、以及dram内存阵列,内存阵列由行列组成,每个行列交叉的单元表示nbit。[0162]在不同的应用场景中,存储块可以存储不同的数据。在推荐系统领域的embedding操作中,多个存储块可以存储大量的embedding向量。例如,在电子商务环境中,上述的特征向量可以是对用户和商品等相关信息提取出的embedding向量,而且为了实现推荐需求,往往需要大量的用户账户和商品类别等,因此,每一条用户/商品信息对应一个embedding向量,所有embedding向量在一起组成了庞大的embeddingtable。[0163]可选的,多个处理模块和多个存储块分布在多个存储器中,多个存储器分布在多个存储模组中,多个存储模组与处理器连接。[0164]上述的处理模块可以是存储器的逻辑芯片logicdie中的pe,可以是不带指令控制部件的算术逻辑运算部件。[0165]上述的存储模组可以是计算机系统中的内存条,例如,可以是dimm,但不仅限于此。在计算机系统中,为了提供大容量存储需求,可以安装多个内存条。[0166]上述的存储器可以是内存条上的内存芯片,例如,可以是ddrdram,但不仅限于此。每个内存芯片可以由多个bank组成,每个bank内部的读写可以并行进行。[0167]步骤s806,确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量。[0168]步骤s808,向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0169]在本技术上述实施例中,利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量包括:获取目标对象的第一索引信息,以及多个对象的第二索引信息;从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0170]在本技术上述实施例中,从多个处理模块中确定第一索引信息对应的第一处理模块包括:基于预设对应关系,确定第一索引信息对应的第一地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;基于第一地址空间确定第一存储模组;通过第一存储模组基于第一地址空间,确定第一存储器;通过第一存储器基于第一地址空间,确定第一处理模块。[0171]需要说明的是,第二处理模块的确定方法可以采用类似的方式实现,在此不做赘述。[0172]在本技术上述实施例中,该方法还包括:确定多个特征向量的第一数量,以及多个存储块的第二数量;基于第一数量和第二数量,确定每个存储块的存储量,其中,存储量为每个存储块中存储的特征向量的数量;基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间;基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0173]在本技术上述实施例中,目标处理模块用于通过多个第一处理单元从目标存储块中获取子索引信息对应的特征向量,并通过第二处理单元将多个第一处理单元输出的特征向量进行合并,得到匹配特征向量,其中,子索引信息为对目标索引信息进行划分得到的索引信息。[0174]在本技术上述实施例中,在目标对象的数量大于预设数量的情况下,该方法还包括:获取每个处理模块的当前状态;确定多个处理模块中处于空闲状态的处理模块;确定处于空闲状态的处理模块为目标处理模块。[0175]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0176]实施例5[0177]根据本技术实施例,还提供了一种数据处理方法,该方法实施例可以在如图1所示的多核高性能终端或服务器中执行。[0178]图9是根据本技术实施例的又一种数据处理方法的流程图。如图9所示,该方法可以包括如下步骤:[0179]步骤s902,接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合。[0180]上述步骤中的数据处理请求可以是希望向目标对象进行数据推荐的请求,该请求中包含有需要进行推荐的用户(即上述的目标对象),以及向该用户推荐的对象的集合。在不同的应用场景中,对象集合可以是不同类型的对象的集合,该应用场景可以是电子商务场景、金融场景、社交场景、物流场景等,但不仅限于此。例如,在电子商务环境中,上述的对象集合可以是需要向用户推荐的商品集合等。[0181]在一种可选的实施例中,当需要进行数据推荐时,用户可以在客户端上进行操作,生成数据处理请求,客户端在接收到该数据处理请求之后,可以将其通过网络上传至服务器,由服务器执行。[0182]可选的,在目标对象为多个的情况下,索引信息可以包括:偏移向量和索引向量,偏移向量用于表征每个目标对象的索引,索引向量用于表征匹配特征向量的索引。[0183]步骤s904,利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量。[0184]上述的存储块可以是存储器中的逻辑bank,例如drambank,但不仅限于此。每个存储器可以由多个bank组成,每个bank包括行地址解码器、列地址解码器、传感放大器、以及dram内存阵列,内存阵列由行列组成,每个行列交叉的单元表示nbit。[0185]在不同的应用场景中,存储块可以存储不同的数据。在推荐系统领域的embedding操作中,多个存储块可以存储大量的embedding向量。例如,在电子商务环境中,上述的特征向量可以是对用户和商品等相关信息提取出的embedding向量,而且为了实现推荐需求,往往需要大量的用户账户和商品类别等,因此,每一条用户/商品信息对应一个embedding向量,所有embedding向量在一起组成了庞大的embeddingtable。[0186]可选的,多个处理模块和多个存储块分布在多个存储器中,多个存储器分布在多个存储模组中,多个存储模组与处理器连接。[0187]上述的处理模块可以是存储器的逻辑芯片logicdie中的pe,可以是不带指令控制部件的算术逻辑运算部件。[0188]上述的存储模组可以是计算机系统中的内存条,例如,可以是dimm,但不仅限于此。在计算机系统中,为了提供大容量存储需求,可以安装多个内存条。[0189]上述的存储器可以是内存条上的内存芯片,例如,可以是ddrdram,但不仅限于此。每个内存芯片可以由多个bank组成,每个bank内部的读写可以并行进行。[0190]步骤s906,确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量。[0191]步骤s908,输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0192]在一种可选的实施例中,服务器在通过embedding操作确定目标对象的第一特征向量和对象集合中每个对象的第二特征向量之后,可以通过将第一特征向量和第二特征向量进行匹配,确定目标对象和每个对象之间的关联程度,进而确定与目标对象关联度较高的对象作为推荐对象,并通过网络将筛选出的推荐对象返回给客户端,展示给用户查看。用户确定向目标对象进行推荐之后,服务器可以将推荐对象推荐给目标对象,其中,用户可以通过点击“确定”按钮确认进行推荐。[0193]在本技术上述实施例中,利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量包括:获取目标对象的第一索引信息,以及多个对象的第二索引信息;从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0194]在本技术上述实施例中,从多个处理模块中确定第一索引信息对应的第一处理模块包括:基于预设对应关系,确定第一索引信息对应的第一地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;基于第一地址空间确定第一存储模组;通过第一存储模组基于第一地址空间,确定第一存储器;通过第一存储器基于第一地址空间,确定第一处理模块。[0195]需要说明的是,第二处理模块的确定方法可以采用类似的方式实现,在此不做赘述。[0196]在本技术上述实施例中,该方法还包括:确定多个特征向量的第一数量,以及多个存储块的第二数量;基于第一数量和第二数量,确定每个存储块的存储量,其中,存储量为每个存储块中存储的特征向量的数量;基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间;基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0197]在本技术上述实施例中,目标处理模块用于通过多个第一处理单元从目标存储块中获取子索引信息对应的特征向量,并通过第二处理单元将多个第一处理单元输出的特征向量进行合并,得到匹配特征向量,其中,子索引信息为对目标索引信息进行划分得到的索引信息。[0198]在本技术上述实施例中,在目标对象的数量大于预设数量的情况下,该方法还包括:获取每个处理模块的当前状态;确定多个处理模块中处于空闲状态的处理模块;确定处于空闲状态的处理模块为目标处理模块。[0199]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0200]实施例6[0201]根据本技术实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图10所示,该装置1000包括:获取模块1002、确定模块1004、通信模块1006和处理模块1008。[0202]其中,获取模块1002用于获取目标对象对应的目标索引信息;确定模块1004用于从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;通信模块1006用于发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;处理模块1008用于基于匹配特征向量,得到目标对象的目标特征向量。[0203]此处需要说明的是,上述获取模块1002、确定模块1004、通信模块1006和处理模块1008对应于实施例3中的步骤s702至步骤s708,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。[0204]在本技术上述实施例中,确定模块包括:第一确定单元、第二确定单元、第三确定单元和第四确定单元。[0205]其中,第一确定单元用于基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;第二确定单元用于基于目标地址空间确定目标存储模组;第三确定单元用于通过目标存储模组基于目标地址空间,确定目标存储器;第四确定单元用于通过目标存储器基于目标地址空间,确定目标处理模块。[0206]在本技术上述实施例中,该装置还包括:构建模块。[0207]其中,确定模块还用于确定多个特征向量的第一数量,以及多个存储块的第二数量,基于第一数量和第二数量,确定每个存储块的存储量,并基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间,其中,存储量为每个存储块中存储的特征向量的数量;构建模块用于基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0208]在本技术上述实施例中,获取模块还用于在目标对象的数量大于预设数量的情况下,获取每个处理模块的当前状态;确定模块还用于确定多个处理模块中处于空闲状态的处理模块,并确定处于空闲状态的处理模块为目标处理模块。[0209]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0210]实施例7[0211]根据本技术实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图11所示,该装置1100包括:第一获取模块1102、第二获取模块1104、确定模块1106和推荐模块1108。[0212]其中,第一获取模块1102用于获取目标对象,以及向目标对象推荐的对象集合;第二获取模块1104用于利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定模块1106用于确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;推荐模块1108用于向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0213]此处需要说明的是,上述第一获取模块1102、第二获取模块1104、确定模块1106和推荐模块1108对应于实施例4中的步骤s802至步骤s808,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。[0214]在本技术上述实施例中,第二获取模块包括:获取单元、确定单元和通信单元。[0215]其中,获取单元用于获取目标对象的第一索引信息,以及多个对象的第二索引信息;确定单元用于从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;通信单元用于发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0216]在本技术上述实施例中,确定单元包括:第一确定子单元、第二确定子单元、第三确定子单元和第四确定子单元。[0217]其中,第一确定子单元用于基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;第二确定子单元用于基于目标地址空间确定目标存储模组;第三确定子单元用于通过目标存储模组基于目标地址空间,确定目标存储器;第四确定子单元用于通过目标存储器基于目标地址空间,确定目标处理模块。[0218]在本技术上述实施例中,该装置还包括:构建模块。[0219]其中,确定模块还用于确定多个特征向量的第一数量,以及多个存储块的第二数量,基于第一数量和第二数量,确定每个存储块的存储量,并基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间,其中,存储量为每个存储块中存储的特征向量的数量;构建模块用于基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0220]在本技术上述实施例中,该装置还包括:第三获取模块。[0221]其中,第三获取模块还用于在目标对象的数量大于预设数量的情况下,获取每个处理模块的当前状态;确定模块还用于确定多个处理模块中处于空闲状态的处理模块,并确定处于空闲状态的处理模块为目标处理模块。[0222]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0223]实施例8[0224]根据本技术实施例,还提供了一种用于实施上述数据处理方法的数据处理装置,如图12所示,该装置1200包括:接收模块1202、获取模块1204、确定模块1206和输出模块1208。[0225]其中,接收模块1202用于接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合;获取模块1204用于利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定模块1206用于多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;输出模块1208用于输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0226]此处需要说明的是,上述接收模块1202、获取模块1204、确定模块1206和输出模块1208对应于实施例5中的步骤s902至步骤s908,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。[0227]在本技术上述实施例中,第二获取模块包括:获取单元、确定单元和通信单元。[0228]其中,获取单元用于获取目标对象的第一索引信息,以及多个对象的第二索引信息;确定单元用于从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;通信单元用于发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0229]在本技术上述实施例中,确定单元包括:第一确定子单元、第二确定子单元、第三确定子单元和第四确定子单元。[0230]其中,第一确定子单元用于基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;第二确定子单元用于基于目标地址空间确定目标存储模组;第三确定子单元用于通过目标存储模组基于目标地址空间,确定目标存储器;第四确定子单元用于通过目标存储器基于目标地址空间,确定目标处理模块。[0231]在本技术上述实施例中,该装置还包括:构建模块。[0232]其中,确定模块还用于确定多个特征向量的第一数量,以及多个存储块的第二数量,基于第一数量和第二数量,确定每个存储块的存储量,并基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间,其中,存储量为每个存储块中存储的特征向量的数量;构建模块用于基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0233]在本技术上述实施例中,获取模块还用于在目标对象的数量大于预设数量的情况下,获取每个处理模块的当前状态;确定模块还用于确定多个处理模块中处于空闲状态的处理模块,并确定处于空闲状态的处理模块为目标处理模块。[0234]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0235]实施例9[0236]根据本技术实施例,还提供了一种数据处理系统,包括:[0237]处理器;以及[0238]存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。[0239]需要说明的是,本技术上述实施例中涉及到的优选实施方案与实施例1提供的方案以及应用场景、实施过程相同,但不仅限于实施例1所提供的方案。[0240]实施例10[0241]本技术的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。[0242]可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。[0243]在本实施例中,上述计算机终端可以执行数据处理方法中以下步骤的程序代码:,获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。[0244]可选地,图13是根据本技术实施例的一种计算机终端的结构框图。如图13所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器1302、以及存储器1304。[0245]其中,存储器可用于存储软件程序以及模块,如本技术实施例中的数据处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。[0246]处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。[0247]可选的,上述处理器还可以执行如下步骤的程序代码:基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;基于目标地址空间确定目标存储模组;通过目标存储模组基于目标地址空间,确定目标存储器;通过目标存储器基于目标地址空间,确定目标处理模块。[0248]可选的,上述处理器还可以执行如下步骤的程序代码:确定多个特征向量的第一数量,以及多个存储块的第二数量;基于第一数量和第二数量,确定每个存储块的存储量,其中,存储量为每个存储块中存储的特征向量的数量;基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间;基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0249]可选的,上述处理器还可以执行如下步骤的程序代码:在目标对象的数量大于预设数量的情况下,获取每个处理模块的当前状态;确定多个处理模块中处于空闲状态的处理模块;确定处于空闲状态的处理模块为目标处理模块。[0250]处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0251]可选的,上述处理器还可以执行如下步骤的程序代码:获取目标对象的第一索引信息,以及多个对象的第二索引信息;从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0252]处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0253]采用本技术实施例,提供了一种embedding操作的方案。通过将处理模块与存储块进行堆叠,实现将pe设计于drambank附近,使得pe可以拥有独立的访存接口进行读写操作,达到了提高访问并行度,增加访存带宽的技术效果,进而解决了相关技术中数据处理系统的访存并行度和访存带宽较低的技术问题。[0254]本领域普通技术人员可以理解,图13所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图13其并不对上述电子装置的结构造成限定。例如,计算机终端a还可包括比图13中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图13所示不同的配置。[0255]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。[0256]实施例11[0257]本技术的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例所提供的数据处理方法所执行的程序代码。[0258]可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。[0259]可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取目标对象对应的目标索引信息;从多个处理模块中确定目标索引信息对应的目标处理模块,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;发送目标索引信息至目标处理模块,并接收目标处理模块返回的目标索引信息对应的匹配特征向量,其中,匹配特征向量从目标处理模块对应的目标存储块中确定;基于匹配特征向量,得到目标对象的目标特征向量。[0260]可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:基于预设对应关系,确定目标索引信息对应的目标地址空间,其中,预设对应关系用于表征不同的索引信息与地址空间的对应关系;基于目标地址空间确定目标存储模组;通过目标存储模组基于目标地址空间,确定目标存储器;通过目标存储器基于目标地址空间,确定目标处理模块。[0261]可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:确定多个特征向量的第一数量,以及多个存储块的第二数量;基于第一数量和第二数量,确定每个存储块的存储量,其中,存储量为每个存储块中存储的特征向量的数量;基于存储量和每个特征向量的数据量,确定每个特征向量的地址空间;基于每个特征向量对应的索引信息和每个特征向量的地址空间,构建预设对应关系。[0262]可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在目标对象的数量大于预设数量的情况下,获取每个处理模块的当前状态;确定多个处理模块中处于空闲状态的处理模块;确定处于空闲状态的处理模块为目标处理模块。[0263]可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;向目标对象推荐对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0264]可选的,上述存储介质还被设置为存储用于执行以下步骤的程序代码:获取目标对象的第一索引信息,以及多个对象的第二索引信息;从多个处理模块中确定第一索引信息对应的第一处理模块,多个第二索引信息对应的第二处理模块;发送第一索引信息至第一处理模块,多个第二索引信息至对应的第二处理模块,并接收第一处理模块返回的第一特征向量,以及第二处理模块返回的第二特征向量。[0265]可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收数据处理请求,其中,数据处理请求包括:目标对象,以及向目标对象推荐的对象集合;利用多个处理模块获取目标对象的第一特征向量,以及对象集合中多个对象的第二特征向量,其中,多个处理模块与多个存储块堆叠,多个存储块用于存储多个特征向量,每个处理模块用于访问对应的存储块中的特征向量;确定多个第二特征向量中与第一特征向量匹配成功的第二特征向量,得到目标特征向量;输出对象集合中的推荐对象,其中,推荐对象为对象集合中目标特征向量对应的对象。[0266]此处需要说明的是,本技术提供的方案可以部署到不同的处理设备中,例如数据中心的服务器、智能终端设备(如智能音箱、智能电视)等。[0267]在将本技术提供的方案部署到数据中心的服务器中之后,在电子商务场景、金融场景、社交场景、物流场景等不同的场景中,服务器往往需要获取大批量的特征向量,然后基于大批量的特征向量进行数据推荐,此时,特征向量的获取请求量较大,通过使用本技术提供的方案,可以在较高访问并行度的条件下快速获取特征向量,有效提升服务器的响应速度,进而缩短服务器在数据推荐过程中的执行时间,确保服务器快速确定需要推荐的数据,提高数据推荐的效率。[0268]在将本技术提供的方案部署到智能终端设备中之后,在电子商务场景、金融场景、社交场景、物流场景等不同的场景中,通过使用本技术提供的方案,由于可以在较高访问并行度的条件下快速获取特征向量,因此,智能终端设备可以在不影响响应速度的情况下,将特征向量的获取请求分为多次执行,从而大大节约智能终端设备的存储资源,使得智能终端设备中存储模组的数量降低,进而在确保数据推荐效率的同时,降低智能终端设备的成本,另外,也可以在智能终端设备的成本保持不变的情况下,提升数据推荐效率。[0269]上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。[0270]在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。[0271]在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。[0272]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0273]另外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0274]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。[0275]以上所述仅是本技术的优选实施方式,应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献