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

匹配目标对象的方法、装置以及存储介质与流程

2021-11-24 21:41:00 来源:中国专利 TAG:


1.本技术涉及互联网社交领域,特别是涉及一种匹配目标对象的方法、装置以及存储介质。


背景技术:

2.现如今互联网遍布全球,人人都离不开智能手机,对于生活中由于互联网的性质而导致人与人的交流距离增长,社交方式都基本是以线上模式进行。由于人们生活方式的多样性,手机上的社交软件的种类也层出不穷,人们利用手机软件来进行交友已经成为主流的交友方式。目前交友软件一般具有实时在线匹配功能,对同时进行参与匹配的用户进行相互匹配,但是如果参与人数较少就会出现匹配不成功的现象。
3.针对上述的现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本技术的实施例提供了一种匹配目标对象的方法、装置以及存储介质,以至少解决现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
5.根据本技术实施例的一个方面,提供了一种匹配目标对象的方法,包括:从请求匹配用户的终端设备接收匹配目标对象的请求;根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
6.根据本技术实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
7.根据本技术实施例的另一个方面,还提供了一种匹配目标对象的装置,包括:请求接收模块,用于从请求匹配用户的终端设备接收匹配目标对象的请求;第一匹配模块,用于根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及第二匹配模块,用于在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
8.根据本技术实施例的另一个方面,还提供了一种匹配目标对象的装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:从请求匹配用户的终端设备接收匹配目标对象的请求;根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
9.在本技术实施例中,在匹配目标对象时,先通过用户匹配池来进行匹配,在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。从而本技术方案通过先利用用户匹配池进行匹配,再通过调度匹配这两种方式匹配目标对象,可以大范围的筛选出与请求匹配用户要求相符合的目标对象。并且在对用户进行筛选时,通
过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的筛选到有意愿参与匹配的用户,增加参与匹配的用户人数,提升用户的匹配率。进而解决了现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
附图说明
10.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:图1是用于实现根据本技术实施例1所述的方法的计算设备的硬件结构框图;图2是根据本技术实施例1的第一个方面所述的匹配目标对象的方法的流程示意图;图3是根据本技术实施例2所述的匹配目标对象的装置的示意图;以及图4是根据本技术实施例3所述的匹配目标对象的装置的示意图。
具体实施方式
11.为了使本技术领域的人员更好地理解本技术的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
12.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
13.实施例1根据本实施例,提供了一种匹配目标对象的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
14.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现匹配目标对象的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配
置。
15.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本技术实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
16.存储器可用于存储应用软件的软件程序以及模块,如本技术实施例中的匹配目标对象的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的匹配目标对象的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
17.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
18.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
19.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
20.在上述运行环境下,根据本实施例的第一个方面,提供了一种匹配目标对象的方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:s202:从请求匹配用户的终端设备接收匹配目标对象的请求;s204:根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及s206:在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
21.具体地,当请求匹配用户想要进行实时匹配交友时,请求匹配用户通过终端设备发送与目标对象进行匹配的请求,计算设备接收匹配目标对象的请求(s202)。
22.进一步地,计算设备会根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象。其中用户匹配池中存储有正在使用实时匹配功能的具有匹配需求的需求用户。例如,用户1和用户2都发送了实时匹配的请求,则用户1和用户2都存储于用户匹配池中。以用户1(即请求匹配用户)为例,计算设备根据用户1的请求信息,从用户匹配池中筛选出与用户1相匹配的一个用户,例如为用户2(即目标对象)(s204)。
23.进一步地,当用户匹配池中的需求用户都无法与用户1相匹配,则计算设备判定用户匹配池中未匹配到目标对象。具体地,在用户匹配池中未匹配到目标对象的情况下,计算
设备根据请求信息,从在线用户集中匹配目标对象。其中在线用户集中的所有在线用户为目前没有参与实时匹配的用户。例如,计算设备在用户匹配池中没有找到与用户1(即请求匹配用户)相匹配的用户,则计算设备就会触发调度机制,从在线用户集中匹配目标对象,即从没有参与实时匹配但是活跃度较高的在线用户中,为用户1(即请求匹配用户)做匹配(s206)。
24.正如背景技术中所述的,现如今互联网遍布全球,人人都离不开智能手机,对于生活中由于互联网的性质而导致人与人的交流距离增长,社交方式都基本是以线上模式进行。由于人们生活方式的多样性,手机上的社交软件的种类也层出不穷,人们利用手机软件来进行交友已经成为主流的交友方式。目前交友软件一般具有实时在线匹配功能,对同时进行参与匹配的用户进行相互匹配,但是如果参与人数较少就会出现匹配不成功的现象。
25.针对以上所述的技术问题,通过本技术实施例的技术方案,在匹配目标对象时,先通过用户匹配池来进行匹配,在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。从而本技术方案通过先利用用户匹配池进行匹配,再通过调度匹配这两种方式匹配目标对象,可以大范围的筛选出与请求匹配用户要求相符合的目标对象。从而精准、高效的筛选到有意愿参与匹配的用户,增加参与匹配的用户人数,提高用户的匹配率。进而解决了现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
26.可选地,根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象的操作,包括:根据用户匹配池中的需求用户与请求匹配用户之间的距离对用户匹配池中的需求用户进行排序,确定第一待匹配需求用户集合;根据第一待匹配需求用户集合中需求用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配需求用户集合,其中用户特征包括性别、年龄、职业和星座;根据第二待匹配需求用户集合的需求用户在预定时间内参与匹配的频率,确定第三待匹配需求用户集合;以及利用预设的过滤机制,根据第三待匹配需求用户集合,确定目标对象。
27.具体地,计算设备要从预先设置的用户匹配池中匹配目标对象,首先会利用匹配机制来对用户匹配池中的需求用户进行筛选。具体地,计算设备根据用户匹配池中的需求用户与请求匹配用户之间的距离对用户匹配池中的需求用户进行排序,确定第一待匹配需求用户集合。例如,计算设备会先获取用户1(即请求匹配用户)和用户匹配池中其他需求用户的位置信息,之后根据位置信息计算用户匹配池中需求用户与用户1(即请求匹配用户)的距离,按照与用户1(即请求匹配用户)的远近程度对用户匹配池中需求用户进行排序,筛选出距离用户1(即请求匹配用户)最近的一定数量(例如200个)的需求用户,将这些筛选出来的需求用户组成第一待匹配需求用户集合。
28.进一步地,计算设备在对用户匹配池中的需求用户进行距离筛选之后,会根据第一待匹配需求用户集合中需求用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配需求用户集合,其中用户特征包括性别、年龄、职业和星座。具体地,在使用匹配功能之前,用户会填写个人信息,计算设备会将个人信息中的性别、年龄、职业和星座等个人信息作为用户特征。例如,计算设备获取到用户1(即请求匹配用户)和第一待匹配需求用户集合中所有需求用户的用户特征,之后从第一待匹配需求用户集合中筛选出与用户1(即请求匹配用户)的用户特征相匹配的一定数量(例如100个)的需求用户,将这些筛选出来的需
求用户组成第二待匹配需求用户集合。
29.进一步地,计算设备在对第一待匹配需求用户集合中的需求用户进行用户特征筛选之后,会根据第二待匹配需求用户集合的需求用户在预定时间内参与匹配的频率,确定第三待匹配需求用户集合。其中参与匹配的频率包括需求用户发送匹配请求的频率以及接收其他用户匹配请求的频率。例如计算设备获取到第二待匹配需求用户集合中所有需求用户曾经使用实时匹配功能的次数,筛选出预定时间内例如7天内参与实时匹配功能频率较低的一定数量的需求用户。其中,这些需求用户使用实时匹配功能的操作包括发送匹配请求以及接收其他用户匹配请求。之后计算设备将这些筛选出来的需求用户组成第三待匹配需求用户集合。
30.进一步地,计算设备利用预设的过滤机制,根据第三待匹配需求用户集合,确定目标对象。具体地,计算设备从第三待匹配需求用户集合中,过滤掉例如今天已经与请求匹配用户匹配成功的需求用户,过滤掉已经成为好友的需求用户,以及过滤掉历史已达成匹配的需求用户等等,选择出一个与用户1(即请求匹配用户)最匹配的需求用户作为目标对象。
31.从而,本技术方案在对用户匹配池中的需求用户进行筛选时,通过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的在同样使用实时匹配功能的用户中找到符合要求的用户,提升用户的匹配效率。
32.可选地,根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象的操作,还包括:在用户匹配池为多个用户匹配池的情况下,根据预先设置的优先级规则,确定多个用户匹配池的优先级顺序;以及根据多个用户匹配池的优先级顺序依次将多个用户匹配池中的需求用户与请求匹配用户进行匹配,确定目标对象。
33.具体地,用户匹配池不仅仅只有一个,计算设备会将用户匹配池设置为多个维度的用户匹配池。其中多个维度的用户匹配池是根据实际匹配要求划分出来的。即,计算设备会根据用户的一些标签,把用户匹配池做分类。例如:高颜值的用户分为一个用户匹配池,高人气的用户又分为一个用户匹配池,高信誉的用户又分为一个用户匹配池等。计算设备会根据预先设置的优先级规则,确定多个用户匹配池的优先级顺序。例如用户匹配池的优先级顺序从高到低为:用户匹配池1、用户匹配池2和用户匹配池3。在对用户1进行匹配时,首先会在用户匹配池1中为用户1(即请求匹配用户)进行匹配操作。当用户匹配池1中的所有需求用户都无法与用户1(即请求匹配用户)匹配时,则会在用户匹配池2中为用户1(即请求匹配用户)进行匹配操作,并以此类推,直到确定目标对象。从而,本技术方案通过对多个用户匹配池设置优先级,可以有目的地对用户进行筛选,从而可以准确筛选到与请求匹配用户要求相符的用户。
34.此外,由于多个用户匹配池同时在使用,当一个用户(例如用户2)他的身份在变换的时候,可能用户2的标签为高颜值用户,则用户2会处于用户匹配池1里面,然后用户2的标签变成了高人气用户,则加入到用户匹配池2里面。这时有可能会出现,当用户匹配池1里面的用户2已经匹配到用户了,这个时候因为用户2的标签转变了,用户2加入用户匹配池2,此时用户匹配池2里面的用户2有可能会被其他用户也匹配到。为了避免这种现象出现,在匹配的过程中计算设备会记录该用户当前有没有被匹配成功过。例如用户2在用户匹配池1里且已经匹配成功了,即使用户2因身份转变后加入用户匹配池2,并且在用户匹配池2里被其他用户匹配到的时候,由于用户2已经在用户匹配池1中匹配成功了,这个时候就可以把用
户2给忽略掉(即,过滤掉)。
35.可选地,在线用户集中的用户为距离请求匹配用户预定距离的在线用户,并且根据请求信息,从在线用户集中匹配目标对象的操作,包括:根据在线用户集中的在线用户与请求匹配用户之间的距离对在线用户集中的在线用户进行排序,确定第一待匹配在线用户集合;根据第一待匹配在线用户集合中在线用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配在线用户集合,其中用户特征包括性别、年龄、职业和星座;根据第二待匹配在线用户集合的在线用户在预定时间内发送匹配请求的时间,确定第三待匹配在线用户集合;以及将请求匹配用户的交互邀请发送至第三待匹配在线用户集合中的在线用户,确定目标对象,其中交互邀请包括语音交互和文字交互。
36.具体地,在用户匹配池中未匹配到目标对象的情况下,即计算设备无法从用户匹配池中找到与用户1(即请求匹配用户)相匹配的需求用户的情况下,计算设备将会触发调度机制,使用户1(即请求匹配用户)与未参与实时匹配(即不具有匹配需求)的在线用户达成匹配。具体地,计算设备从未参与实时匹配的在线用户中确定距离用户1(即请求匹配用户)例如5公里以内的一定数量的在线用户(例如200个在线用户),并组成在线用户集。具体地,计算设备会构建一个基于地理位置的索引,然后通过该位置索引搜索到用户1(即请求匹配用户)附近的在线用户。即,计算设备使用预设的一个搜索算法构建位置索引,然后把该搜索算法单独封装成一个lbs服务。当计算设备提供了用户1(即请求匹配用户)的指定点(即用户1的位置),计算设备基于lbs服务可以高效的召回附近的点(即在线用户的位置)。
37.然后计算设备会根据请求信息,从在线用户集中匹配目标对象。具体的,计算根据在线用户集中的在线用户与请求匹配用户之间的距离对在线用户集中的在线用户进行排序,确定第一待匹配在线用户集合。例如,计算设备会先获取用户1(即请求匹配用户)和在线用户集中其他在线用户的位置信息,之后根据位置信息计算在线用户集中在线用户与用户1(即请求匹配用户)的距离,按照与用户1(即请求匹配用户)的远近程度对在线用户集中在线用户进行排序,筛选出距离用户1(即请求匹配用户)最近的一定数量(例如100个)的在线用户,将这些筛选出来的在线用户组成第一待匹配在线用户集合。
38.进一步地,计算设备在对在线用户集中的在线用户进行距离筛选之后,会根据第一待匹配在线用户集合中在线用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配在线用户集合,其中用户特征包括性别、年龄、职业和星座。具体地,在使用匹配功能之前,用户会填写个人信息,计算设备会将个人信息中的性别、年龄、职业和星座等个人信息作为用户特征。例如,计算设备获取到用户1(即请求匹配用户)和第一待匹配在线用户集合中所有在线用户的用户特征,之后从第一待匹配在线用户集合中筛选出与用户1(即请求匹配用户)的用户特征相匹配的一定数量(例如50个)的在线用户,将这些筛选出来的在线用户组成第二待匹配在线用户集合。
39.进一步地,计算设备在对第一待匹配在线用户集合中的在线用户进行用户特征筛选之后,会根据第二待匹配在线用户集合的在线用户在预定时间内发送匹配请求的时间,确定第三待匹配在线用户集合。例如计算设备获取到第二待匹配在线用户集合中所有在线用户曾经使用实时匹配功能的时间,筛选出预定时间内例如7天内发送过匹配请求的在线用户,将这些筛选出来的在线用户组成第三待匹配在线用户集合。
40.进一步地,计算设备将请求匹配用户的交互邀请发送至第三待匹配在线用户集合
中的在线用户,确定目标对象。其中交互邀请包括语音交互和文字交互。例如,计算设备将用户1(即请求匹配用户)的交互邀请发送至第三待匹配在线用户集合中的在线用户。当用户1请求进行语音匹配的情况下,交互邀请为请求语音交互,同理在用户1(即请求匹配用户)请求进行文字匹配的情况下,交互邀请为请求文字交互。之后计算设备最先接收到例如用户3同意该交互邀请的消息,并将用户3确定为用户1(即请求匹配用户)的匹配用户(即目标对象),建立用户1(即请求匹配用户)与用户3(即目标对象)之间的通信交互。
41.此外,匹配操作有固定的时长(例如10s)。在匹配前期(例如前5s),计算设备只与用户匹配池中的需求用户进行匹配。在匹配后期(例如后5s),因用户匹配池中的需求用户在不断更新,计算设备会与用户匹配池中的需求用户和在线用户集中的在线用户同时进行匹配。并且,在同时匹配阶段,一旦计算设备在用户匹配池中确定目标对象,则立即结束与在线用户集中的在线用户的匹配操作。或者,当与用户匹配池中的需求用户和在线用户集中的在线用户同时进行匹配时,同时找到与用户1(即请求匹配用户)匹配的用户时,优先选择用户匹配池中的确定的用户作为目标对象。
42.从而,通过lbs服务能够快速定位到附近用户,避免了在用户人数较多时,先将用户的位置计算出来,然后做一个整体上的排序,最终找到距离最近的用户这样效率较慢的方式,从而提高了筛选效率。并且在对在线用户进行筛选时,通过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的调度到有意愿参与匹配的用户,增加参与匹配的用户人数,提升用户的匹配率。
43.可选地,方法还包括:在在线用户集中未匹配到目标对象的情况下,向请求匹配用户返回匹配失败信息。
44.具体地,计算设备在预定时间内没有接收到任何在线用户的同意消息的情况下,停止为用户1(即请求匹配用户)匹配在线用户,并向用户1(即请求匹配用户)返回匹配失败信息。从而,通过这种方式向用户发出提示,及时提醒用户。
45.可选地,方法还包括:用户匹配池根据新加入需求用户进行实时更新;以及将新加入需求用户的权重占比设置高于用户匹配池原有的需求用户。
46.具体地,用户匹配池中有一定数量的用户(例如30万用户),然后计算设备将用户1(即请求匹配用户)与用户匹配池中的30万用户进行匹配的时候,因匹配规则,很可能在30万用户中无法找到与用户1(即请求匹配用户)相匹配的需求用户。因用户匹配池会根据新加入需求用户进行实时更新,用户匹配池中的用户就会越来越多,例如500万人、1千万人,甚至5千万人。当用户匹配池里的用户变成500万人后,计算设备就需要从头至尾筛选一遍。当用户匹配池里的用户变成1千万人后,计算设备还是需要从头至尾筛选一遍。计算设备如果一直去筛选未被匹配上的那部分用户的话,就会出现当用户匹配池后面出现符合用户1(即请求匹配用户)匹配要求的用户时,由于用户匹配池未被匹配上的用户数量极多,导致计算设备不容易匹配到目标对象。
47.从而为了避免该问题出现,计算设备会把用户匹配池中一直匹配不上的用户的权重降低,让新加入用户匹配池里的用户的权重提高,使得计算设备进行在匹配操作时可以优先筛选到新加入的用户,从而提高匹配成功率。
48.此外,匹配操作包括排序、过滤、分类和调度等操作,一系列流程并不是固定的逻辑,对于此类需求而言一直存在变化。例如用户匹配池仅仅只有一个类别,或者按照用户特
征拆分为多类。又或者根据距离和性别进行排序,之后想要通过距离、性别和星座进行排序。此外,过滤时所设置的维度和调度方式也可能会有所变化。
49.由于需求存在变化,导致开发成本就会比较高。因为可能稍微有一个小调整,逻辑就需要大改。所以在开发时把匹配的流程封装成了一个解决匹配场景的通用的库。该库相当于是把整个匹配流程抽象化了,开发人员可根据产品的不同需求,轻易实现整个流程。例如排序指标需要改变,则开发人员只需要改变相应的配置文件的参数就可以实现。也就是说,把整个匹配流程通用化,该库类似于通用模板,不仅能够减少开发成本,而且在产品的需求迭代时,可以实现快速上线。
50.此外,由于该库已经把整个匹配流程抽象化,所以该库它不仅仅可以用在语音匹配的业务场景中,任何匹配场景的业务都可以实现快速上线。例如视频,即斗地主。首先一个用户先进入房间,然后要跟n个人一起开始玩游戏。在这种情况下就可以直接使用库,从而快速匹配到用户。
51.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
52.从而根据本实施例,在匹配目标对象时,先通过用户匹配池来进行匹配,在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。从而本技术方案通过先利用用户匹配池进行匹配,再通过调度匹配这两种方式匹配目标对象,可以大范围的筛选出与请求匹配用户要求相符合的目标对象。并且在对用户进行筛选时,通过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的筛选到有意愿参与匹配的用户,增加参与匹配的用户人数,提升用户的匹配率。进而解决了现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
53.1. 当用户a请求进行在线匹配(包括语音匹配和文字匹配)时,计算设备会根据预设的匹配策略,从用户匹配池中找出一个与用户a匹配的需求用户。其中,计算设备会设置一个用户匹配池,用于存放平台的所有具有匹配需求的需求用户。其中,匹配策略包括匹配机制 过滤机制。
54.1.1 计算设备基于距离维度,按照与用户a的距离远近程度,将用户匹配池中的所有用户进行排序,筛选出离用户a距离最近的一定数量的需求用户;1.2 计算设备基于需求用户特征维度,从步骤1.1筛选出的需求用户中进一步筛选出与用户a特征对应的需求用户,其中需求用户特征例如但不限于为需求用户的性别、年龄、职业、星座等等特征;1.3 计算设备基于匹配功能使用时间维度,从步骤1.2筛选出的需求用户中进一步筛选出在预设的时间段内使用该匹配功能的需求用户(例如,近7天使用匹配功能的需求用户);1.4 计算设备根据过滤机制,从步骤1.3筛选出的需求用户中选择一个最匹配的需求用户作为用户a的匹配用户。其中,过滤机制包括过滤掉属于好友的需求用户、过滤掉历史已达成匹配的需求用户等等。
55.2. 在计算设备无法从用户匹配池中找到一个与用户a匹配的用户的情况下,计算设备将会触发调度机制,帮助用户a与未参与匹配(即不具有匹配需求)的其他在线用户达成匹配。
56.2.1 系统从未参与匹配的其他在线用户中确定距离用户a最近的一定数量的在线用户(例如200个在线用户);2.2 计算设备按照依据上述步骤1.1至1.3的原理,从这200个在线用户中筛选出符合调度匹配要求的多个在线用户(例如10个在线用户);2.3 计算设备将交互邀请同时发送至这多个在线用户,其中在用户a请求进行语音匹配的情况下,交互邀请为请求语音交互,同理在用户a请求进行文字匹配的情况下,交互邀请为请求文字交互;2.4 计算设备在最先接收到某一在线用户同意该交互邀请的情况下,将该在线用户确定为用户a的匹配用户,并建立用户a与该在线用户之间的通信交互。
57.2.5 计算设备在预定时间内没有接收到任何同意消息的情况下,停止为用户a匹配用户的操作,并返回一个匹配失败的通知至用户a。
58.需要特别说明的是,匹配有固定的时长(例如10s),在匹配前期(例如前5s),计算设备只执行上述的步骤1,即系统只进行在线需求匹配。在匹配后期(例如后5s),计算设备同时进行在线需求匹配和调度匹配,即同时执行步骤1和步骤2。并且,在同时执行阶段,一旦计算设备通过在线需求匹配找到一个与用户a匹配的用户后,结束调度匹配。或者,当在线需求匹配和调度匹配同时找到与用户a匹配的用户时,优先选择在线需求匹配得到的那一个用户。
59.(1)从当前位置搜索到附近有哪些人,如果按通常的做法,需要从app里面捞到app所有用户,然后把这些用户的位置计算出来,做一个整体上的排序,最终取出来距离最近的人。但是这个方法效率特别慢,因为app里会有几千万的用户。为了解决这一问题,我们会构建一个基于地理位置的一个索引,然后通过这个位置索引,计算设备会很快的搜索到附近的用户到底有哪些人。
60.具体地,会用现有的一个搜索算法去构建位置索引,然后把算法单独封装成一个lbs服务。当提供了一个根据指定点,基于lbs服务可以高效的召回附近的点,就是其他最近的点。
61.(2)在进行在线需求匹配时,用户匹配池并不是只有一个池子,至少会有两个池子,还会有多个维度的池子。池子是根据产品的要求划分出来的。即,根据用户的一些标签,去把用户匹配池做分类。例如:高颜值的用户分为一个池,高人气的用户又分为一个池,高信誉的用户又分为一个池等等。
62.例如现在有两个池子,a类池和b类池。两个池子的匹配有优先级之分。比如,用户a进行在线匹配时,根据用户a的优先级只能去与a类池里面的人去匹配。用户a只有在a类池匹配不到用户的时候,才能去b类池去匹配。由于这些池子同时在使用,当一个用户(例如用户b)的身份在变换的时候,可能用户b刚才是a身份,在a类池里面,然后他变成了b身份,所以加入到b类池里面。这个时候有可能会出现,当a类池里面的用户b已经匹配到人了,这个时候因为用户b的身份转变了,用户b加入b类池,此时b类池里面的用户b有可能会被其他人也匹配到。
63.为了避免这种现象出现,计算设备在匹配的过程中会记录用户当前有没有匹配过,例如用户现在在a类池里且已经匹配成功了,即使因身份转变后加入b类池并且在b类池里被其他用户匹配到的时候,由于该用户已经在其他地方匹配成功了,这个时候就可以把
该用户给忽略掉(即,过滤掉)。
64.(3)在匹配的过程中,例如现在池子里面有一些人(例如30万人),然后与池子的这30万人匹配的时候,因为拆分的逻辑是有一些匹配规则的,在这30万人中很可能一直找不到与用户a匹配的用户。然后池子可能会越积越大,例如500万人、1千万人、5千万人。当池子里的人变成500万人后,计算设备需要从头至尾筛选一遍,当池子里的人变成1千万人后,计算设备还是需要从头至尾筛选一遍。计算设备如果一直去扫前面的那部分人的话,就可能会出现一个问题,当池子后面出现符合用户a匹配要求的用户时,由于池子前面堆积的不符合要求的人太多了,则会导致系统不容易匹配到用户。
65.为了避免这个问题出现,计算设备会把池子中一直匹配不上的用户的权重降低,让新加入池子里的用户的权重提高,使得计算设备在匹配时可以优先扫到新来的用户,从而提高匹配成功率。
66.(4)在匹配过程中包括排序、过滤、池子、分种类和调度,整个这一套逻辑并不是一个固定的逻辑,是通用的一套流程,但是产品的需求一直在变,有可能产品现在需要池子只分一类,之后就要按用户的特征,然后拆成多类。或者排序是,现在可能是按距离和性别进行排序,然后可能会根据距离、性别和星座进行排序。此外,过滤的维度也会一直在变,调度可能也会在变。
67.由于产品的需求一直在变,导致开发成本就会比较高。因为可能稍微有一个小调整,这个逻辑就要大改。所以在开发代码时,会把整个匹配的流程做了一个抽象。即封装成了一个解决匹配场景的一个通用的库。该库相当于是把整个匹配流程抽象化了,开发人员可根据产品的不同需求,例如需要改个排序指标,开发人员只要去改一下相应的配置文件的参数就能实现。也就是说,对整个匹配流程通用化,该库就是一个通用模板,不仅能够减少开发人员的开发成本,然后在产品的需求迭代的时候,能快速上线。
68.此外,该库不仅仅可以用在语音匹配的业务中,在任何匹配场景的业务都可以直接用来快速上线一个需求。比如说视频。类似于斗地主,斗地主是一个人进去要跟n个人开始一起去开始玩游戏。这种情况下就可以直接用库,从而快速匹配到用户一起斗地主。
69.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
70.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
71.实施例2图3示出了根据本实施例所述的匹配目标对象的装置300,该装置300与根据实施例1的第一个方面所述的方法相对应。参考图3所示,该装置300包括:请求接收模块310,用
于从请求匹配用户的终端设备接收匹配目标对象的请求;第一匹配模块320,用于根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及第二匹配模块330,用于在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
72.可选地,第一匹配模块320,包括:第一确定子模块,用于根据用户匹配池中的需求用户与请求匹配用户之间的距离对用户匹配池中的需求用户进行排序,确定第一待匹配需求用户集合;第二确定子模块,根据第一待匹配需求用户集合中需求用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配需求用户集合,其中用户特征包括性别、年龄、职业和星座;第三确定子模块,根据第二待匹配需求用户集合的需求用户在预定时间内参与匹配的频率,确定第三待匹配需求用户集合;以及第四确定子模块,利用预设的过滤机制,根据第三待匹配需求用户集合,确定目标对象。
73.可选地,第一匹配模块320还包括:第五确定子模块,用于在用户匹配池为多个用户匹配池的情况下,根据预先设置的优先级规则,确定多个用户匹配池的优先级顺序;以及第六确定子模块,用于根据多个用户匹配池的优先级顺序依次将多个用户匹配池中的需求用户与请求匹配用户进行匹配,确定目标对象。
74.可选地,在线用户集中的用户为距离请求匹配用户预定距离的在线用户,并且第二匹配模块330,包括:第七确定子模块,用于根据在线用户集中的在线用户与请求匹配用户之间的距离对在线用户集中的在线用户进行排序,确定第一待匹配在线用户集合;第八确定子模块,用于根据第一待匹配在线用户集合中在线用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配在线用户集合,其中用户特征包括性别、年龄、职业和星座;第九确定子模块,用于根据第二待匹配在线用户集合的在线用户在预定时间内发送匹配请求的时间,确定第三待匹配在线用户集合;以及第十确定子模块,用于将请求匹配用户的交互邀请发送至第三待匹配在线用户集合中的在线用户,确定目标对象,其中交互邀请包括语音交互和文字交互。
75.可选地,装置300还包括:信息返回模块,用于在在线用户集中未匹配到目标对象的情况下,向请求匹配用户返回匹配失败信息。
76.可选地,装置300还包括:更新模块,用于用户匹配池根据新加入需求用户进行实时更新;以及权重占比设置模块,用于将新加入需求用户的权重占比设置高于用户匹配池原有的需求用户。
77.从而根据本实施例,在匹配目标对象时,先通过用户匹配池来进行匹配,在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。从而本技术方案通过先利用用户匹配池进行匹配,再通过调度匹配这两种方式匹配目标对象,可以大范围的筛选出与请求匹配用户要求相符合的目标对象。并且在对用户进行筛选时,通过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的筛选到有意愿参与匹配的用户,增加参与匹配的用户人数,提升用户的匹配率。进而解决了现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
78.实施例3图4示出了根据本实施例所述的匹配目标对象的装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:处理器410;以及存储器420,与处理器410连接,用于为处理器410提供处理以下处理步骤的指令:从请求匹配用
户的终端设备接收匹配目标对象的请求;根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象;以及在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。
79.可选地,根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象的操作,包括:根据用户匹配池中的需求用户与请求匹配用户之间的距离对用户匹配池中的需求用户进行排序,确定第一待匹配需求用户集合;根据第一待匹配需求用户集合中需求用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配需求用户集合,其中用户特征包括性别、年龄、职业和星座;根据第二待匹配需求用户集合的需求用户在预定时间内参与匹配的频率,确定第三待匹配需求用户集合;以及利用预设的过滤机制,根据第三待匹配需求用户集合,确定目标对象。
80.可选地,根据请求的请求信息,从预先设置的用户匹配池中匹配目标对象的操作,还包括:在用户匹配池为多个用户匹配池的情况下,根据预先设置的优先级规则,确定多个用户匹配池的优先级顺序;以及根据多个用户匹配池的优先级顺序依次将多个用户匹配池中的需求用户与请求匹配用户进行匹配,确定目标对象。
81.可选地,在线用户集中的用户为距离请求匹配用户预定距离的在线用户,并且根据请求信息,从在线用户集中匹配目标对象的操作,包括:根据在线用户集中的在线用户与请求匹配用户之间的距离对在线用户集中的在线用户进行排序,确定第一待匹配在线用户集合;根据第一待匹配在线用户集合中在线用户的用户特征,确定与请求匹配用户的用户特征对应的第二待匹配在线用户集合,其中用户特征包括性别、年龄、职业和星座;根据第二待匹配在线用户集合的在线用户在预定时间内发送匹配请求的时间,确定第三待匹配在线用户集合;以及将请求匹配用户的交互邀请发送至第三待匹配在线用户集合中的在线用户,确定目标对象,其中交互邀请包括语音交互和文字交互。
82.可选地,存储器420还用于为处理器410提供处理以下处理步骤的指令:在在线用户集中未匹配到目标对象的情况下,向请求匹配用户返回匹配失败信息。
83.可选地,存储器420还用于为处理器410提供处理以下处理步骤的指令:用户匹配池根据新加入需求用户进行实时更新;以及将新加入需求用户的权重占比设置高于用户匹配池原有的需求用户。
84.从而根据本实施例,在匹配目标对象时,先通过用户匹配池来进行匹配,在用户匹配池中未匹配到目标对象的情况下,根据请求信息,从在线用户集中匹配目标对象。从而本技术方案通过先利用用户匹配池进行匹配,再通过调度匹配这两种方式匹配目标对象,可以大范围的筛选出与请求匹配用户要求相符合的目标对象。并且在对用户进行筛选时,通过距离、用户特征和时间等多个维度进行筛选操作,从而精准、高效的筛选到有意愿参与匹配的用户,增加参与匹配的用户人数,提升用户的匹配率。进而解决了现有技术中存在的在实时在线匹配场景中用户匹配成功率低的技术问题。
85.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
86.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
87.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为
一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
88.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
89.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
90.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
91.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献