信息推送方法、装置、存储介质以及电子设备与流程

文档序号:31940119发布日期:2022-10-26 02:51阅读:57来源:国知局
信息推送方法、装置、存储介质以及电子设备与流程

1.本技术涉及大数据领域,具体而言,涉及一种信息推送方法、装置、存储介质以及电子设备。


背景技术:

2.微服务是一种软件架构风格,它是以专注于单一责任于功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,各功能模块使用和编程语言无关的api进行通信,从而通过多个微服务共同完成同一个任务请求。现有的微服务部署架构中,有两个维度,一个是部署的物理的机房:服务可以部署在中心机房(单机房)或者部署在多个机房;另一个软件的部署,可以在不同的机房可以部署一份或者多份同一职能的软件服务,软件的部署依托于机房的架构。多份的同一职能服务能满足服务的高可用性。
3.对于微服务的部署方式,可以包括多机房多服务方式、单机房多服务方式、多机房单服务方式和单机房单服务方式。在使用单机房单服务方式的情况下,由于每个机房中只包括一种服务,每个服务也只存在于一个机房中,因此在用户发送某个请求的时候,需要通过多个机房之间的微服务共同处理该请求。但是,在某个机房或是某个微服务出现异常的情况下,则无法获取到该微服务返回的信息,从而由于无法提供稳定的微服务,导致返回至用户的请求结果出现异常,影响用户的使用体验。
4.针对相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供一种信息推送方法、装置、存储介质以及电子设备,以解决相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题。
6.根据本技术的一个方面,提供了一种信息推送方法。该方法包括:通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。
7.可选地,每个服务器的存储系统包括内部缓存、外部缓存和分布式存储系统,接收各个服务器基于属性信息反馈的候选对象集合包括:在服务器的内部缓存中存在对应的属性信息下的候选对象集合的情况下,接收服务器从内部缓存获取的候选对象集合;在内部缓存中不存在候选对象集合、且服务器的外部缓存中存在候选对象集合的情况下,接收服务器从外部缓存获取的候选对象集合;在内部缓存和外部缓存均不存在候选对象集合、并且服务器的分布式存储系统中存在候选对象集合的情况下,接收服务器从分布式存储系统
获取的候选对象集合;在内部缓存、外部缓存和分布式存储系统中均不存在候选对象集合的情况下,接收服务器返回的异常信息,其中,异常信息表征服务器的存储系统中不存在候选对象集合。
8.可选地,在将每个属性信息发送至对应的服务器之后,该方法还包括:在主机接收到任意服务器反馈的异常信息的情况下,确定反馈异常信息的服务器对应的属性信息,得到目标属性信息,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合;将目标属性信息发送至其他服务器,其中,其他服务器是反馈异常信息的服务器之外的服务器;从其他服务器获取预设数量的目标属性信息下的候选对象。
9.可选地,在将每个属性信息发送至对应的服务器之后,该方法还包括:在主机接收到任意服务器反馈的异常信息的情况下,从其他服务器获取与反馈异常信息的服务器相似度最高的服务器,得到目标服务器,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合,其他服务器是反馈异常信息的服务器之外的服务器;从目标服务器中获取预设数量的候选对象。
10.可选地,在接收各个服务器基于属性信息反馈的候选对象集合之后,该方法还包括:在主机接收到服务器反馈的异常信息的情况下,统计异常信息的数量,并判断异常信息的数量是否等于属性信息的数量;在异常信息的数量等于属性信息的数量的情况下,通过主机将请求信息关联的预设对象发送至用户。
11.可选地,从多个候选对象中筛选预设数量的对象,得到目标对象包括:确定每个候选对象对应的属性信息,得到多组属性信息;分别根据每组属性信息中的各个属性信息的权值计算对应的候选对象的目标权值,得到多个目标权值;按照目标权值由大到小的顺序从多个候选对象中选取预设数量的对象,得到目标对象。
12.可选地,在通过主机接收用户请求,并解析用户请求的请求信息之后,该方法还包括:判断主机的缓存中是否存在用户请求对应的历史目标对象;在主机的缓存中存在历史目标对象的情况下,将历史目标对象发送至用户。
13.根据本技术的另一方面,提供了一种信息推送装置。该装置包括:解析单元,用于通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;第一确定单元,用于分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收单元,用于接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;第一获取单元,用于通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。
14.根据本发明实施例的另一方面,还提供了一种计算机存储介质,计算机存储介质用于存储程序,其中,程序运行时控制计算机存储介质所在的设备执行一种信息推送方法。
15.根据本发明实施例的另一方面,还提供了一种电子设备,包含一个或多个处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种信息推送方法。
16.通过本技术,采用以下步骤:通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;分别
确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。解决了相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题。通过接收每个服务器返回的候选对象,并在候选对象中选择最适合的候选对象作为用户请求的请求结果,并在部分主机或是服务器异常的情况下,可以从其余服务器中获取候选对象,进而达到了在部分微服务异常的情况下仍能稳定的向用户反馈请求结果的效果。
附图说明
17.构成本技术的一部分的附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
18.图1是根据本技术实施例提供的信息推送方法的流程图;
19.图2是根据本技术实施例提供的信息推送装置的示意图;
20.图3为根据本技术实施例提供的一种电子设备的示意图。
具体实施方式
21.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
25.需要说明的是,本公开所确定的信息推送方法、装置、存储介质以及电子设备可用于大数据领域,也可用于除大数据领域之外的任意领域,本公开所确定的信息推送方法、装置、存储介质以及电子设备的应用领域不做限定。
26.根据本技术的实施例,提供了一种信息推送方法。
27.图1是根据本技术实施例提供的信息推送方法的流程图。如图1所示,该方法包括以下步骤:
28.步骤s101,通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量。
29.具体的,主机可以为微服务的服务器所在的中心机房(单机房)中的某台接收用户请求的计算机。用户在发送请求的时候,需要通过与该用户对应的计算机设备进行请求的接收,并通过该计算机设备与其他机房中的微服务的服务器进行数据交互以及数据汇总,得到请求结果,从而通过该计算机设备将请求结果反馈至用户端。
30.在接收到用户请求后,需要进行用户请求的解析,从而得到用户的请求信息,其中,将请求信息解析后,可以得到此次请求的请求对象、请求对象的属性信息以及请求对象的预设数量。
31.例如,请求信息中的请求对象可以为餐厅信息,属性信息中可以包括:距离信息、价格信息、餐厅种类三个属性,预设数量可以为20,也即,需要推送20个餐厅。
32.步骤s102,分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器。
33.具体的,由于微服务是以专注于单一责任于功能的小型功能区块为基础,利用模块化的方式组合出复杂的大型应用程序,因此每个微服务只能解决该微服务对应的问题。例如,a微服务的服务器只能获取20个距离近的餐厅,b微服务的服务器只能获取20个价格低的餐厅。
34.因此,在确定属性信息后,可以将请求对象、相应的属性信息和预设数量发送至各个微服务器中,从而可以从微服务的服务器中获取相应的候选结果。
35.步骤s103,接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象。
36.具体的,在每个服务器获取到请求信息对应的请求结果,也即候选对象集合的时候,主机可以接收到每个服务器返回的候选对象集合,从而可以从多个候选对象集合中确定最终反馈至用户端的请求结果信息。
37.步骤s104,通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。
38.具体的,主机获取多个候选对象集合中的对象,得到了多个候选对象,进一步可以按照每个候选对象的权值大小,或是候选对象所包含的属性信息的个数进行筛选,从而从多个候选对象中得到目标对象,并将目标对象作为请求信息的返回结果发送至用户端。
39.例如,a服务器返回的候选对象集合中包括a候选对象、b候选对象、c候选对象,b服务器返回的候选对象集合中包括c候选对象、d候选对象、e候选对象,则可以将c候选对象作为目标对象发送至用户端。
40.本技术实施例提供的信息推送方法,通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收各个服务器基于属性信息反馈
的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。解决了相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题。通过接收每个服务器返回的候选对象,并在候选对象中选择最适合的候选对象作为用户请求的请求结果,并在部分主机或是服务器异常的情况下,可以从其余服务器中获取候选对象,进而达到了在部分微服务异常的情况下仍能稳定的向用户反馈请求结果的效果。
41.为了能够成功的从服务器中获取每个属性信息对应的候选对象,可选地,在本技术实施例提供的信息推送方法中,每个服务器的存储系统包括内部缓存、外部缓存和分布式存储系统,接收各个服务器基于属性信息反馈的候选对象集合包括:在服务器的内部缓存中存在对应的属性信息下的候选对象集合的情况下,接收服务器从内部缓存获取的候选对象集合;在内部缓存中不存在候选对象集合、且服务器的外部缓存中存在候选对象集合的情况下,接收服务器从外部缓存获取的候选对象集合;在内部缓存和外部缓存均不存在候选对象集合、并且服务器的分布式存储系统中存在候选对象集合的情况下,接收服务器从分布式存储系统获取的候选对象集合;在内部缓存、外部缓存和分布式存储系统中均不存在候选对象集合的情况下,接收服务器返回的异常信息,其中,异常信息表征服务器的存储系统中不存在候选对象集合。
42.具体的,每个服务器对应的存储系统可以采用三层缓存结构进行数据存储,第一层可以为服务器本地的本地缓存,也即内部缓存,第二层可以为外部缓存,例如非关系型的key-value的缓存系统,例如:mongodb,第三层可以为分布式存储系统,用于通过分布式系统对数据进行长时间缓存。在服务器接收到请求对象、预设数量以及属性信息后,可以根据请求对象、预设数量以及属性信息在内部缓存中获取对应的候选对象,在内部缓存中无法获取候选对象的情况下,证明内部缓存中的存储信息已经被超时删除,因此需要在第二层的外部缓存中进行候选对象的查询,同样的,在外部缓存中无法获取候选对象的情况下,证明外部缓存中的存储信息也已经被删除,因此需要在第三层的分布式存储系统中进行候选对象的查询。
43.进一步的,在三层缓存中均无法获取请求对象、预设数量以及属性信息对应的候选对象的时候,表明服务器的缓存中不存在相应的候选对象,或是服务器出现异常,无法得到候选对象,此时,服务器会向主机发送异常信息,用于表明服务器无法获取到相应的候选对象。
44.需要说明的是,由于其余服务器也可能发生损坏等异常,因此可能会出现主机发送出信息后,服务器由于损坏导致的根本无法接收到信息,同样也无法返回结果。因此,在主机中还可以设置超时时间,在超过超时时间后仍未接收到服务器返回的候选对象的时候,确定该服务器为损坏状态,此时,认为该服务器同样返回了异常信息。
45.为了在服务器异常或是服务器无法获取候选对象的情况下仍可以向用户返回信息,可选地,在本技术实施例提供的信息推送方法中,在将每个属性信息发送至对应的服务器之后,该方法还包括:在主机接收到任意服务器反馈的异常信息的情况下,确定反馈异常信息的服务器对应的属性信息,得到目标属性信息,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合;将目标属性信息发送至其他服务器,其中,其他
服务器是反馈异常信息的服务器之外的服务器;从其他服务器获取预设数量的目标属性信息下的候选对象。
46.具体的,在某个服务器返回异常信息的情况下,由于该服务器出现异常无法反馈相应的候选对象,为了避免出现由于部分服务器未反馈导致出现缺少部分组件内容导致无法将请求信息对应的候选对象返回至用户,因此在某个服务器出现异常的情况下,需要尝试在其余服务器中获取异常服务器中待获取的数据,从而保证可以从每个服务器中均获取到候选对象。
47.例如,在将a属性信息发送至a服务器后,在达到超时时间的情况下,仍未接受到a服务器返回的候选对象集合,此时确定a服务器异常,则将a属性信息发送至其余服务器中,由于其余服务器中已经获取到请求对象和预设数量,因此在其余服务器中存在a属性信息对应的候选对象的情况下,也可以将a属性信息对应的候选对象返回至主机中。例如,预设数量为20,b服务器中存在10个a属性信息对应的候选对象,c服务器中存在10个a属性信息对应的候选对象,则可以将上述20个候选对象确定为20个a属性信息对应的候选对象,并通过b服务器和c服务器发送至主机中,从而保证主机可以获得a属性信息对应的候选对象集合。
48.为了在服务器异常或是服务器无法获取候选对象的情况下仍可以向用户返回信息,可选地,在本技术实施例提供的信息推送方法中,在将每个属性信息发送至对应的服务器之后,该方法还包括:在主机接收到任意服务器反馈的异常信息的情况下,从其他服务器获取与反馈异常信息的服务器相似度最高的服务器,得到目标服务器,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合,其他服务器是反馈异常信息的服务器之外的服务器;从目标服务器中获取预设数量的候选对象。
49.具体的,在某个服务器返回异常信息的情况下,由于该服务器出现异常无法反馈相应的候选对象,为了避免出现由于部分服务器未反馈导致出现缺少部分组件内容导致无法将请求信息对应的候选对象返回至用户,因此在某个服务器出现异常的情况下,可以获取与该异常服务器最相似的服务器,并通过该相似服务器中获取相应的候选对象集合。
50.例如,a服务器的属性信息为日式餐厅,b服务器的属性信息为距离近,c服务器的属性信息为价格便宜,在a服务器异常的情况下,可以从任意一个其他服务器中获取与a服务器的属性信息最相近的服务器,例如d服务器的属性信息为韩式餐厅,则可以在d服务器中确定预设数量的候选对象,并将该候选对象发送至主机中。
51.为了在服务器异常或是服务器无法获取候选对象的情况下仍可以向用户返回信息,可选地,在本技术实施例提供的信息推送方法中,在接收各个服务器基于属性信息反馈的候选对象集合之后,该方法还包括:在主机接收到服务器反馈的异常信息的情况下,统计异常信息的数量,并判断异常信息的数量是否等于属性信息的数量;在异常信息的数量等于属性信息的数量的情况下,通过主机将请求信息关联的预设对象发送至用户。
52.具体的,在极端情况下,可能出现与请求信息相关的全部服务器全部异常的情况。此时,由于不能向用户反馈空白页或空白信息,因此,可以直接获取存储在主机缓存中的与请求信息关联的预设对象,并将该预设对象发送至用户,从而保证用户侧不会收到空白页信息。
53.例如,请求信息可以为申请获取a数据,其中,a数据需要b/c/d三部分组成,也即,
需要从b/c/d三个服务器中获取,但是,在b/c/d三个服务器全部异常的情况下,在主机的缓存中获取与a数据关联度最强的预设对象,并直接将该预设对象发送至用户,从而保证了用户的使用体验。
54.可选地,在本技术实施例提供的信息推送方法中,从多个候选对象中筛选预设数量的对象,得到目标对象包括:确定每个候选对象对应的属性信息,得到多组属性信息;分别根据每组属性信息中的各个属性信息的权值计算对应的候选对象的目标权值,得到多个目标权值;按照目标权值由大到小的顺序从多个候选对象中选取预设数量的对象,得到目标对象。
55.需要说明的是,属性信息的权值代表了属性信息的重要程度,例如a属性信息的权值为10,b属性信息的权值为20,表明在反馈请求信息的请求结果的时候,b属性信息的重要程度高于a属性信息,例如,a候选对象存在于a属性信息对应的候选对象集合中,同时存在于c属性信息对应的候选对象集合中,b候选对象存在于b属性信息对应的候选对象集合中,同时存在于c属性信息对应的候选对象集合中,则由于a属性信息的权值小于b属性信息的权值,因此向用户推荐的候选对象即为b候选对象。
56.具体的,在得到多个候选对象后,可以确定每个候选对象对应的属性信息,并根据每个属性信息的权值计算每个候选对象的目标权值,从而根据候选对象的目标权值对多个候选对象进行排序,将排名在前的预设数量的候选对象作为目标对象发送至用户,使得用户可以获得最优的请求结果。
57.例如,a属性信息的权值为1,b属性信息的权值为2,c属性信息的权值为3,d属性信息的权值为4,a候选对象存在于a属性信息对应的候选对象集合中,同时存在于c属性信息对应的候选对象集合中,则a候选对象的目标权值可以为1+3=4,b候选对象存在于b属性信息对应的候选对象集合中,同时存在于d属性信息对应的候选对象集合中,则b候选对象的目标权值可以为2+4=6,则a候选对象的目标权值小于b候选对象的目标权值,在预设数量为1的情况下,可以将b候选对象发送至用户,从而使得用户得到更适合的反馈结果。
58.为了能够更快速的反馈请求结果,可选地,在本技术实施例提供的信息推送方法中,在通过主机接收用户请求,并解析用户请求的请求信息之后,该方法还包括:判断主机的缓存中是否存在用户请求对应的历史目标对象;在主机的缓存中存在历史目标对象的情况下,将历史目标对象发送至用户。
59.具体的,在接收到用户请求后,可以先在主机的缓存中查找是否存在历史记录,也即该用户请求是否是再次请求,如果是再次请求,则可以直接将主机中存储的历史记录对应的历史目标对象返回至用户,从而达到快速反馈请求结果的效果。
60.需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
61.本技术实施例还提供了一种信息推送装置,需要说明的是,本技术实施例的信息推送装置可以用于执行本技术实施例所提供的用于信息推送方法。以下对本技术实施例提供的信息推送装置进行介绍。
62.图2是根据本技术实施例提供的信息推送装置的示意图。如图2所示,该装置包括:解析单元21,第一确定单元22,接收单元23,第一获取单元24。
63.具体的,解析单元21,用于通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量。
64.第一确定单元22,用于分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器。
65.接收单元23,用于接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象。
66.第一获取单元24,用于通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。
67.本技术实施例提供的信息推送装置,通过解析单元21通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;第一确定单元22分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收单元23接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;第一获取单元24通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。解决了相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题。通过接收每个服务器返回的候选对象,并在候选对象中选择最适合的候选对象作为用户请求的请求结果,并在部分主机或是服务器异常的情况下,可以从其余服务器中获取候选对象,进而达到了在部分微服务异常的情况下仍能稳定的向用户反馈请求结果的效果。
68.可选地,在本技术实施例提供的信息推送装置中,每个服务器的存储系统包括内部缓存、外部缓存和分布式存储系统,接收单元23包括:第一接收模块,用于在服务器的内部缓存中存在对应的属性信息下的候选对象集合的情况下,接收服务器从内部缓存获取的候选对象集合;第二接收模块,用于在内部缓存中不存在候选对象集合、且服务器的外部缓存中存在候选对象集合的情况下,接收服务器从外部缓存获取的候选对象集合;第三接收模块,用于在内部缓存和外部缓存均不存在候选对象集合、并且服务器的分布式存储系统中存在候选对象集合的情况下,接收服务器从分布式存储系统获取的候选对象集合;第四接收模块,用于在内部缓存、外部缓存和分布式存储系统中均不存在候选对象集合的情况下,接收服务器返回的异常信息,其中,异常信息表征服务器的存储系统中不存在候选对象集合。
69.可选地,在本技术实施例提供的信息推送装置中,该装置还包括:第二确定单元,用于在主机接收到任意服务器反馈的异常信息的情况下,确定反馈异常信息的服务器对应的属性信息,得到目标属性信息,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合;第一发送单元,用于将目标属性信息发送至其他服务器,其中,其他服务器是反馈异常信息的服务器之外的服务器;第二获取单元,用于从其他服务器获取预设数量的目标属性信息下的候选对象。
70.可选地,在本技术实施例提供的信息推送装置中,该装置还包括:第三获取单元,用于在主机接收到任意服务器反馈的异常信息的情况下,从其他服务器获取与反馈异常信
息的服务器相似度最高的服务器,得到目标服务器,其中,异常信息表征服务器的存储系统中不存在对应属性信息下的候选对象集合,其他服务器是反馈异常信息的服务器之外的服务器;第四获取单元,用于从目标服务器中获取预设数量的候选对象。
71.可选地,在本技术实施例提供的信息推送装置中,该装置还包括:统计单元,用于在主机接收到服务器反馈的异常信息的情况下,统计异常信息的数量,并判断异常信息的数量是否等于属性信息的数量;第二发送单元,用于在异常信息的数量等于属性信息的数量的情况下,通过主机将请求信息关联的预设对象发送至用户。
72.可选地,在本技术实施例提供的信息推送装置中,第一获取单元24包括:确定模块,用于确定每个候选对象对应的属性信息,得到多组属性信息;计算模块,用于分别根据每组属性信息中的各个属性信息的权值计算对应的候选对象的目标权值,得到多个目标权值;选择模块,用于按照目标权值由大到小的顺序从多个候选对象中选取预设数量的对象,得到目标对象。
73.可选地,在本技术实施例提供的信息推送装置中,该装置还包括:判断单元,用于判断主机的缓存中是否存在用户请求对应的历史目标对象;第三发送单元,用于在主机的缓存中存在历史目标对象的情况下,将历史目标对象发送至用户。
74.上述信息推送装置包括处理器和存储器,上述解析单元21,第一确定单元22,接收单元23,第一获取单元24等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
75.处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决了相关技术中单一职能的软件服务在单机房模式下无法提供稳定服务的问题。
76.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。
77.本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述信息推送方法。
78.本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述信息推送方法。
79.如图3所示,本发明实施例提供了一种电子设备,电子设备30包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:通过主机接收用户请求,并解析用户请求的请求信息,其中,请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。本文中的设备可以是服务器、pc、pad、手机等。
80.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过主机接收用户请求,并解析用户请求的请求信息,其中,
请求信息中包括请求对象、请求对象的属性信息以及请求对象的预设数量;分别确定用于查询每个属性信息下的请求对象的服务器,得到多个服务器,并将请求对象、预设数量以及每个属性信息发送至对应的服务器;接收各个服务器基于属性信息反馈的候选对象集合,其中,每个候选对象集合中包含预设数量的对象;通过主机获取所有候选对象集合中的对象,得到多个候选对象,并从多个候选对象中筛选预设数量的对象,得到目标对象,并将预设数量的目标对象发送至用户。
81.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
82.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
83.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
84.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
85.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
86.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
87.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
88.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的
包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
89.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1