1.本公开涉及计算机技术领域,尤其涉及一种对象匹配方法、装置、服务器、存储介质及程序产品。
背景技术:2.随着计算机技术的发展,通过随机匹配的方式进行随机交友或随机pk,成为许多应用程序中必不可少的功能。
3.目前,在这种随机匹配场景中,为用户选择匹配对象的方式往往是根据用户的匹配请求,查询预设的数据库,从数据库存储的候选对象中,选取匹配对象,然而,这种直接查询数据库的方式,需要对数据库中的候选对象进行逐一匹配,在查询到大量匹配对象后,再从大量匹配对象中筛选出目标对象,所消耗的时间较多,导致查询的qps(每秒查询次数)和查询速度等查询能力存在瓶颈。
技术实现要素:4.本公开提供一种对象匹配方法、装置、服务器、存储介质及程序产品,以至少解决相关技术中查询能力存在瓶颈的问题。本公开的技术方案如下:
5.根据本公开实施例的第一方面,提供一种对象匹配方法,包括:
6.根据待匹配对象的对象信息和预设匹配条件,确定与所述待匹配对象匹配的对象等级范围;
7.从满足所述对象等级范围的对象集合中,确定出目标候选对象;所述对象集合用于存储属于同一对象等级的候选对象;
8.在所述目标候选对象的历史被匹配次数符合预设次数条件的情况下,将所述目标候选对象确定为所述待匹配对象的目标匹配对象。
9.在一示例性实施例中,所述根据待匹配对象的对象信息和预设匹配条件,确定与所述待匹配对象匹配的对象等级范围,包括:
10.获取所述待匹配对象的对象信息;
11.根据所述待匹配对象的对象信息,确定所述待匹配对象的对象等级;
12.根据所述待匹配对象的对象等级和所述预设匹配条件,确定所述对象等级范围。
13.在一示例性实施例中,所述从满足所述对象等级范围的对象集合中,确定出目标候选对象,包括:
14.获取满足所述对象等级范围的多个候选对象集合;
15.基于从所述对象等级范围内确定的目标对象等级,从所述多个候选对象集合中确定出目标对象集合;
16.从所述目标对象集合中确定出所述目标候选对象。
17.在一示例性实施例中,所述从所述目标对象集合中确定出所述目标候选对象,包括:
18.获取所述目标对象集合中存储的候选对象的数目;
19.基于所述候选对象的数目,生成所述目标候选对象的索引值;
20.从所述目标对象集合中确定出与所述索引值对应的候选对象,作为所述目标候选对象。
21.在一示例性实施例中,在所述从满足所述对象等级范围的对象集合中,确定出目标候选对象之后,还包括:
22.获取所述目标候选对象的历史被匹配次数;
23.在所述历史被匹配次数不符合所述预设次数条件的情况下,返回从满足所述对象等级范围的对象集合中,确定出目标候选对象的步骤,以确定新的目标候选对象。
24.在一示例性实施例中,所述方法还包括:
25.获取重新确定新的目标候选对象的重试次数;
26.若预设重试次数内未确定出历史被匹配次数符合所述预设次数条件的目标匹配对象,则获取预设的候选对象,作为所述待匹配对象的目标匹配对象。
27.在一示例性实施例中,所述方法还包括:
28.若接收到任一所述候选对象的等级变更消息,则根据变更后的等级和所述候选对象的对象信息,确定所述候选对象对应的新的对象集合;
29.将所述候选对象从当前的对象集合中转移至所述新的对象集合中。
30.在一示例性实施例中,在将所述候选对象从当前的对象集合中转移至所述新的对象集合中之前,还包括:
31.根据所述候选对象更新所述新的对象集合所存储的候选对象的数目,得到更新后的数目;
32.若所述更新后的数目超出数目阈值,则从所述新的对象集合中删除存入时间较早的候选对象。
33.在一示例性实施例中,所述方法还包括:
34.获取所述目标候选对象首次被作为目标匹配对象的初始时间点;
35.在当前时间点与所述初始时间点之间的时间差超过预设时间的情况下,将所述目标候选对象对应的历史被匹配次数进行清零处理。
36.根据本公开实施例的第二方面,提供一种对象匹配装置,包括:
37.范围确定单元,被配置为执行根据待匹配对象的对象信息和预设匹配条件,确定与所述待匹配对象匹配的对象等级范围;
38.对象确定单元,被配置为执行从满足所述对象等级范围的对象集合中,确定出目标候选对象;所述对象集合用于存储属于同一对象等级的候选对象;
39.匹配单元,被配置为执行在所述目标候选对象的历史被匹配次数符合预设次数条件的情况下,将所述目标候选对象确定为所述待匹配对象的目标匹配对象。
40.在一示例性实施例中,所述范围确定单元,还被配置为执行获取所述待匹配对象的对象信息;根据所述待匹配对象的对象信息,确定所述待匹配对象的对象等级;根据所述待匹配对象的对象等级和所述预设匹配条件,确定所述对象等级范围。
41.在一示例性实施例中,所述对象确定单元,还被配置为执行获取满足所述对象等级范围的多个候选对象集合;基于从所述对象等级范围内确定的目标对象等级,从所述多
个候选对象集合中确定出目标对象集合;从所述目标对象集合中确定出所述目标候选对象。
42.在一示例性实施例中,所述对象确定单元,还被配置为执行获取所述目标对象集合中存储的候选对象的数目;基于所述候选对象的数目,生成所述目标候选对象的索引值;从所述目标对象集合中确定出与所述索引值对应的候选对象,作为所述目标候选对象。
43.在一示例性实施例中,所述装置还包括重试单元,被配置为执行获取所述目标候选对象的历史被匹配次数;在所述历史被匹配次数不符合所述预设次数条件的情况下,返回从满足所述对象等级范围的对象集合中,确定出目标候选对象的步骤,以确定新的目标候选对象。
44.在一示例性实施例中,所述重试单元,还被配置为执行获取重新确定新的目标候选对象的重试次数;若预设重试次数内未确定出历史被匹配次数符合所述预设次数条件的目标匹配对象,则获取预设的候选对象,作为所述待匹配对象的目标匹配对象。
45.在一示例性实施例中,所述装置还包括变更单元,被配置为执行若接收到任一所述候选对象的等级变更消息,则根据变更后的等级和所述候选对象的对象信息,确定所述候选对象对应的新的对象集合;将所述候选对象从当前的对象集合中转移至所述新的对象集合中。
46.在一示例性实施例中,所述装置还包括删除单元,被配置为执行根据所述候选对象更新所述新的对象集合所存储的候选对象的数目,得到更新后的数目;若所述更新后的数目超出数目阈值,则从所述新的对象集合中删除存入时间较早的候选对象。
47.在一示例性实施例中,所述装置还包括清零单元,被配置为执行获取所述目标候选对象首次被作为目标匹配对象的初始时间点;在当前时间点与所述初始时间点之间的时间差超过预设时间的情况下,将所述目标候选对象对应的历史被匹配次数进行清零处理。
48.根据本公开实施例的第三方面,提供一种服务器,包括:
49.处理器;
50.用于存储所述处理器可执行指令的存储器;
51.其中,所述处理器被配置为执行所述指令,以实现如上任一项所述的方法。
52.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如上任一项所述的方法。
53.根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被服务器的处理器执行时,使得所述服务器能够执行如上任一项所述的方法。
54.本公开的实施例提供的技术方案至少带来以下有益效果:
55.先根据待匹配对象的对象信息和预设匹配条件,确定与待匹配对象匹配的对象等级范围,然后从满足对象等级范围的对象集合中,确定出目标候选对象,并在目标候选对象的历史被匹配次数符合预设次数条件的情况下,最后将目标候选对象确定为待匹配对象的目标匹配对象。该方法通过设置对象等级和每个对象等级对应的对象集合这种分布缓存,使得在确定待匹配对象的目标匹配对象时,可直接读取缓存中的信息,只查询满足对象等级范围的对象集合,从查找到的对象集合中选择目标匹配对象,而无需查询整个数据库,减
少查询的数据量,从而提高查询速率,解决数据库的读取瓶颈问题。
56.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
58.图1是根据一示例性实施例示出的一种对象匹配方法的流程示意图。
59.图2是根据另一示例性实施例示出的一种对象匹配方法的流程示意图。
60.图3是根据一示例性实施例示出的一种用户-等级分布缓存的缓存结构示意图。
61.图4是根据一示例性实施例示出的确定匹配对象的时序图。
62.图5是根据一示例性实施例示出的对用户-等级分布缓存进行维护的时序图。
63.图6是根据一示例性实施例示出的一种对象匹配装置的结构框图。
64.图7是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
65.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
66.需要说明的是,以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
67.在一示例性实施例中,如图1所示,提供了一种对象匹配方法,本实施例以该方法应用于服务器进行举例说明,可以理解的是,该方法也可以应用于终端。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本实施例中,该方法包括以下步骤:
68.在步骤s110中,根据待匹配对象的对象信息和预设匹配条件,确定与待匹配对象匹配的对象等级范围。
69.其中,对象信息为可以确定待匹配对象的对象等级的信息,比如待匹配对象的标识值和等级分值,或者对象信息也可以为直接为待匹配对象的对象等级信息。
70.其中,预设匹配条件可以为与对象等级最接近的几个等级,如对象等级的上一级和下一级。例如,设对象等级为n级,则预设匹配条件可以为n-1级和n 1级。
71.其中,对象等级范围可以理解为可与待匹配对象相匹配的候选对象的等级范围。
72.具体实现中,在获取待匹配对象的对象信息后,可根据待匹配对象的对象信息确定待匹配对象的对象等级,然后根据待匹配对象的对象等级和预设匹配条件,确定与待匹配对象匹配的候选对象的对象等级范围。更具体地,可根据待匹配对象的对象等级和预设
300,三个分值区间对应的等级分别为一级、二级和三级,若待匹配对象的等级分值为205,对应的目标分值区间为201-300,则该分值区间对应的等级“三级”,可作为待匹配对象的对象等级。进一步可根据待匹配对象的对象等级和预设匹配条件,确定与待匹配对象匹配的候选对象的等级的上下临界值,根据上下临界值确定对象等级范围。
86.本实施例中,通过待匹配对象的对象信息,确定待匹配对象的对象等级,然后根据待匹配对象的对象等级和预设匹配条件,确定对象等级范围,使得从该对象等级范围内确定的目标匹配对象为与待匹配对象相匹配的对象。
87.在一示例性实施例中,在步骤s120中,从满足对象等级范围的对象集合中,确定出目标候选对象,具体可以通过以下步骤实现:
88.在步骤s120a中,获取满足对象等级范围的多个候选对象集合;
89.在步骤s120b中,基于从对象等级范围内确定的目标对象等级,从多个候选对象集合中确定出目标对象集合;
90.在步骤s120c中,从目标对象集合中确定出目标候选对象。
91.具体实现中,每个对象等级下可有一个或多个对象集合,因此,获取满足对象等级范围内的各个对象等级下的对象集合,可得到多个候选对象集合,然后从对象等级范围内随机选择一个对象等级,作为目标对象等级,从多个候选对象集合中确定出该目标对象等级下的对象集合,作为目标对象集合,进一步从目标对象集合中确定出目标候选对象。
92.进一步地,在一示例性实施例中,在步骤s120c中,从目标对象集合中确定出目标候选对象,具体可以通过以下步骤实现:
93.在步骤s120c-1中,获取目标对象集合中存储的候选对象的数目;
94.在步骤s120c-2中,基于候选对象的数目,生成目标候选对象的索引值;
95.在步骤s120c-3中,从目标对象集合中确定出与索引值对应的候选对象,作为目标候选对象。
96.具体实现中,每个对象集合下的候选对象可采用set结构进行存储,即每个对象集合存储属于同一等级的候选对象的标识值,每个候选对象对应一个唯一的标识值。在确定目标对象集合后,获取目标对象集合中存储的候选对象的标识值的数目,根据候选对象的标识值的数目,随机生成一个索引值,该索引值可表示目标候选对象在目标对象集合中的位置,且该索引值处于候选对象的标识值的数目内,在生成索引值后,可根据该索引值从目标对象集合中确定出对应的候选对象的标识值,将该标识值对应的候选对象作为目标候选对象。
97.本实施例中,先从对象等级范围内确定目标对象等级,然后基于该目标对象等级从多个候选对象集合中确定出目标对象集合,根据目标对象集合中候选对象的数目,生成目标候选对象的索引值,从而根据该索引值确定出目标候选对象。这种层层递进进行查找的方式可以提高对目标候选对象的查询速率,也可以提高每秒的查询次数,实现高性能的对象匹配。
98.在一示例性实施例中,在上述步骤s120之后,还包括:获取目标候选对象的历史被匹配次数;在历史被匹配次数不符合预设次数条件的情况下,返回从满足对象等级范围的对象集合中,确定出目标候选对象的步骤,以确定新的目标候选对象。
99.具体实现中,在确定目标候选对象后,还可获取目标候选对象的历史被匹配次数,
将目标候选对象的历史被匹配次数与预设的次数阈值进行比对,若历史被匹配次数大于或等于次数阈值,即不符合预设次数条件,表明目标候选对象历史被确定为目标匹配对象的次数过多,可能导致待匹配对象产生厌倦,因此,需返回步骤s120,重新确定新的目标候选对象,具体可以从目标对象集合中确定新的目标候选对象,也可以重新确定新的目标对象集合,从新的目标对象集合中确定新的目标候选对象。
100.进一步地,在目标候选对象的历史被匹配次数不符合预设次数条件时,还可从目标候选对象的对象集合中删除该目标候选对象的记录,以使目标候选对象不再参与后续的匹配,保证待匹配对象不会再匹配到这个目标候选对象,以避免再次匹配到造成的时间和计算资源的浪费。
101.本实施例中,通过设置历史被匹配次数的次数阈值作为目标候选对象是否可以作为目标匹配对象的判定条件,可以避免待匹配对象在多次匹配中,重复匹配到同一目标匹配对象时产生的厌倦,提高用户体验。
102.在一示例性实施例中,所述方法还包括:获取重新确定新的目标候选对象的重试次数;若预设重试次数内未确定出历史被匹配次数符合预设次数条件的目标匹配对象,则获取预设的候选对象,作为待匹配对象的目标匹配对象。
103.具体实现中,在目标候选对象的历史被匹配次数不符合预设次数条件需要重新确定新的目标候选对象时,记录重新确定新的目标候选对象的重试次数,若重试次数已经达到预设重新次数,但仍未确定出目标匹配对象时,可获取预设的候选对象,作为待匹配对象的目标匹配对象,以避免待匹配对象匹配失败的情况。
104.本实施例中,考虑到在预设重试次数内未确定出历史被匹配次数符合预设次数条件的目标匹配对象的情况,提供了预设的候选对象,作为待匹配对象的目标匹配对象,通过设置这种兜底策略可保证待匹配对象可以匹配到目标对象,增强用户体验。
105.在一示例性实施例中,所述方法还包括:若接收到任一候选对象的等级变更消息,则根据变更后的等级和候选对象的对象信息,确定候选对象对应的新的对象集合;将候选对象从当前的对象集合中转移至新的对象集合中。
106.具体实现中,由于候选对象的等级随着时间的变化也可能发生变化,因此,还需要对候选对象的等级进行维护,以保证候选对象的等级的实时性。具体地,候选对象的等级发生变更后,会发送消息到本公开的系统中,通过监听该消息,维护候选对象的等级分布,实际应用中,在监听到任一候选对象的等级变更消息后,可确定变更后的等级下的对象集合,然后根据候选对象的对象信息,从变更后的等级下的对象集合中确定候选对象对应的新的对象集合,以便于将该等级变更的候选对象从当前的对象集合中删除,存入新的对象集合中。
107.更具体地,在一种实施方式中,以对象信息为标识值为例,确定候选对象对应的新的对象集合的方式为:获取变更后的等级对应的对象集合的数目,根据该对象集合的数目和候选对象的标识值,确定新的对象集合。例如,可计算候选对象的标识值与对象集合的数目相除后的余数,将该余数对应的索引确定新的对象集合。
108.举例说明,设变更后的等级下有10个对象集合,候选对象的标识值为uid,则可计算uid/10的余数,若余数为3,则将第3个对象集合作为候选对象对应的新的对象集合。
109.本实施例中,通过根据候选对象的等级变更消息,及时将发生变更的候选对象转
移至变更后的等级下的新的对象集合中,实现对对象集合的及时更新,保证对象集合中候选对象的实时性。
110.在一示例性实施例中,在将候选对象从当前的对象集合中转移至新的对象集合中之前,还包括:根据候选对象更新新的对象集合所存储的候选对象的数目,得到更新后的数目;若更新后的数目超出数目阈值,则从新的对象集合中删除存储时间较早的候选对象。
111.具体实现中,由于每个对象集合的容量是有限的,因此,在将等级变更的候选对象转移至新的对象集合中之前,还需根据该等级变更的候选对象更新新的对象集合所存储的候选对象的数目,即计算该等级变更的候选对象存入新的对象集合中后,新的对象集合中的候选对象的总数目,若更新后的数目超出每个对象集合的数目阈值,则可从新的对象集合中删除存入新的对象集合的时间较早的候选对象,以使等级变更的候选对象转移至新的对象集合后,新的对象集合中候选对象的数目可满足要求;若更新后的数目未超出每个对象集合的数目阈值,则可将等级变更的候选对象转移至新的对象集合中。
112.本实施例中,在将等级变更的候选对象转移至新的对象集合中之前,先根据等级变更的候选对象更新新的对象集合所存储的候选对象的数目,以判断新的对象集合在加入等级变更的候选对象后,是否还满足容量要求,从而可在不满足容量要求时,删除存储时间较早的候选对象,以保证新的对象集合存储的候选对象的数目在容量要求内。
113.在一示例性实施例中,所述方法还包括:获取目标候选对象首次被作为目标匹配对象的初始时间点;在当前时间点与初始时间点之间的时间差超过预设时间的情况下,将目标候选对象对应的历史被匹配次数进行清零处理。
114.具体实现中,除了对目标候选对象被确定为目标匹配对象的次数的记录,还可对历史被匹配次数进行定期清零处理,具体地,可记录目标候选对象首次被作为目标匹配对象的初始时间点,并计算当前时间点与初始时间点之间的时间差,若该时间差超过预设时间,说明到达清零时间,则可将目标候选对象对应的历史被匹配次数进行清零处理。
115.本实施例中,通过在当前时间点与初始时间点之间的时间差超过预设时间的情况下,将目标候选对象对应的历史被匹配次数进行清零处理,可保证在每个时间周期内,目标候选对象的历史被匹配次数可从0开始统计,保证记录的历史被匹配次数的准确性。
116.在另一示例性实施例中,如图2所示,是根据一示例性实施例示出的另一种对象匹配方法的流程示意图,本实施例中,该方法包括以下步骤:
117.步骤s210,获取待匹配对象的对象信息;
118.步骤s220,根据待匹配对象的对象信息,确定待匹配对象的对象等级;
119.步骤s230,根据待匹配对象的对象等级和预设匹配条件,确定与待匹配对象匹配的对象等级范围;
120.步骤s240,获取满足对象等级范围的多个候选对象集合;
121.步骤s250,基于从对象等级范围内确定的目标对象等级,从多个候选对象集合中确定出目标对象集合;
122.步骤s260,获取目标对象集合中存储的候选对象的数目;
123.步骤s270,基于候选对象的数目,生成目标候选对象的索引值;
124.步骤s280,从目标对象集合中确定出与索引值对应的候选对象,作为目标候选对象;
125.步骤s290,在目标候选对象的历史被匹配次数符合预设次数条件的情况下,将目标候选对象确定为待匹配对象的目标匹配对象。
126.本实施例中,通过设置对象等级和每个对象等级对应的对象集合这种分布缓存,使得在确定待匹配对象的目标匹配对象时,可只查询满足对象等级范围的对象集合,而无需查询整个数据库,减少查询数据量,从而提高查询速率,解决数据库的读取瓶颈问题。
127.在一示例性实施例中,为了便于本领域技术人员理解本公开实施例,以下将结合附图的具体示例进行说明,参考图3,为一示例性实施例中用户-等级分布缓存的缓存结构示意图,该缓存采用三级分片结构,即用户等级-等级下分片-分片下uid(用户标识值)集合。其中,每个分片相当于一个对象集合,存储同一等级的用户的标识值,在等级下分片的目的是避免单个分片可能存在的热点key的问题,因此,本公开采用将同一等级内的用户散列到多个分片上的方法。其中,每个分片下的用户标识值的存储可采用set结构存储,以保证每个用户标识值的唯一性。用户每天的历史被匹配次数缓存可采用简单的kv结构,其中value采用string结构。
128.参考图4,为一示例性实施例中确定匹配对象的时序图,主要包括以下步骤:
129.(1)对应时序1-5,终端的待匹配对象发送匹配请求至服务器,服务器接收该匹配请求后,从用户信息服务处查询该对象的相关信息,以确定该对象的对象等级,并从配置中心查询当前的匹配条件,根据匹配条件,确定对象等级范围,并在该对象等级范围内随机生成目标对象等级。
130.(2)对应时序6-10,在目标对象等级下的分片(相当于对象集合)中,随机确定出目标分片,并获取该目标分片内的缓存数量(相当于候选对象的数目),根据该缓存数量生成目标候选对象的索引值(index),查询该索引值对应位置的对象标识值(uid),从而确定目标候选对象。
131.(3)对应时序11-16,查询该目标候选对象当天的被匹配次数,若被匹配次数不符合预设次数条件,且重试次数未达到上限,则返回重新确定新的目标候选对象,若重试次数达到上限,仍未确定到目标匹配对象,则获取兜底对象,作为目标匹配对象。同时更新所确定的目标匹配对象当天的被匹配次数,并在目标匹配对象当天的被匹配次数超过预设次数阈值时,则从用户等级缓存的分片中删除该目标匹配对象。
132.(4)对应时序17-18,在确定目标匹配对象后,查询该目标匹配对象的相关信息,如头像、id等,返回给终端。
133.参考图5,为一示例性实施例中对用户-等级分布缓存进行维护的时序图,主要包括以下步骤:
134.(1)对应时序1-5,在接收到用户等级变更消息时,根据用户变更后的等级和用户标识值,确定新的分片,将等级变更的用户标识值从当前的分片中删除,并添加到新的分片中。
135.(2)对应时序6-10,查询配置信息,得到每个分片的缓存容量上限,若加入等级变更的用户标识值后,新的分片的缓存容量超过上限,则删除新的分片中最早加入的一批用户标识值。
136.本实施例提供的高性能的匹配方法,设计了候选集合缓存方案,解决了数据库的读取瓶颈问题,并且针对缓存,同时设计了更新机制,保证缓存数据的实时性;抽象出一套
通用配置,支持线上灵活变更,并支持扩展至更多场景;同时,提供了配套的兜底数据,保证用户可以匹配到对手,增强用户体验。
137.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
138.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
139.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的对象匹配方法的对象匹配装置。
140.图6是根据一示例性实施例示出的一种对象匹配装置的结构框图。参照图6,该装置包括:范围确定单元610、对象确定单元620和匹配单元630,其中,
141.范围确定单元610,被配置为执行根据待匹配对象的对象信息和预设匹配条件,确定与待匹配对象匹配的对象等级范围;
142.对象确定单元620,被配置为执行从满足对象等级范围的对象集合中,确定出目标候选对象;对象集合用于存储属于同一对象等级的候选对象;
143.匹配单元630,被配置为执行在目标候选对象的历史被匹配次数符合预设次数条件的情况下,将目标候选对象确定为待匹配对象的目标匹配对象。
144.在一示例性实施例中,范围确定单元610,还被配置为执行获取待匹配对象的对象信息;根据待匹配对象的对象信息,确定待匹配对象的对象等级;根据待匹配对象的对象等级和预设匹配条件,确定对象等级范围。
145.在一示例性实施例中,对象确定单元620,还被配置为执行获取满足对象等级范围的多个候选对象集合;基于从对象等级范围内确定的目标对象等级,从多个候选对象集合中确定出目标对象集合;从目标对象集合中确定出目标候选对象。
146.在一示例性实施例中,对象确定单元620,还被配置为执行获取目标对象集合中存储的候选对象的数目;基于候选对象的数目,生成目标候选对象的索引值;从目标对象集合中确定出与索引值对应的候选对象,作为目标候选对象。
147.在一示例性实施例中,所述装置还包括重试单元,被配置为执行获取目标候选对象的历史被匹配次数;在历史被匹配次数不符合预设次数条件的情况下,返回从满足对象等级范围的对象集合中,确定出目标候选对象的步骤,以确定新的目标候选对象。
148.在一示例性实施例中,重试单元,还被配置为执行获取重新确定新的目标候选对象的重试次数;若预设重试次数内未确定出历史被匹配次数符合预设次数条件的目标匹配对象,则获取预设的候选对象,作为待匹配对象的目标匹配对象。
149.在一示例性实施例中,所述装置还包括变更单元,被配置为执行若接收到任一候选对象的等级变更消息,则根据变更后的等级和候选对象的对象信息,确定候选对象对应
的新的对象集合;将候选对象从当前的对象集合中转移至新的对象集合中。
150.在一示例性实施例中,所述装置还包括删除单元,被配置为执行根据候选对象更新新的对象集合所存储的候选对象的数目,得到更新后的数目;若更新后的数目超出数目阈值,则从新的对象集合中删除存入时间较早的候选对象。
151.在一示例性实施例中,所述装置还包括清零单元,被配置为执行获取目标候选对象首次被作为目标匹配对象的初始时间点;在当前时间点与初始时间点之间的时间差超过预设时间的情况下,将目标候选对象对应的历史被匹配次数进行清零处理。
152.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
153.图7是根据一示例性实施例示出的一种用于实现对象匹配方法的电子设备700的框图。例如,电子设备700可以为服务器。参照图7,电子设备700包括处理组件720,其进一步包括一个或多个处理器,以及由存储器722所代表的存储器资源,用于存储可由处理组件720的执行的指令,例如应用程序。存储器722中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件720被配置为执行指令,以执行上述方法。
154.电子设备700还可以包括:电源组件724被配置为执行电子设备700的电源管理,有线或无线网络接口726被配置为将电子设备700连接到网络,和输入输出(i/o)接口728。电子设备700可以操作基于存储在存储器722的操作系统,例如windows server,mac os x,unix,linux,freebsd或类似。
155.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器722,上述指令可由电子设备700的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
156.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备700的处理器执行以完成上述方法。
157.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
158.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
159.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。