CN115840626A - 资源推送方法、装置、电子设备及存储介质 - Google Patents
资源推送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115840626A CN115840626A CN202211558236.8A CN202211558236A CN115840626A CN 115840626 A CN115840626 A CN 115840626A CN 202211558236 A CN202211558236 A CN 202211558236A CN 115840626 A CN115840626 A CN 115840626A
- Authority
- CN
- China
- Prior art keywords
- resource
- platform
- thread pool
- thread
- identifier
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种资源推送方法、装置、电子设备及存储介质,涉及大数据资源调度技术领域,该方法包括:获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
Description
技术领域
本申请涉及大数据资源调度技术领域,尤其涉及一种资源推送方法、装置、电子设备及存储介质。
背景技术
目前,随着大数据技术的发展,对象从线上获取资源的方式越来越普遍,目标资源平台根据资源获取通知,返回待推送资源,然而不同的目标资源平台的提供待推送资源的能力不同,在存在多个待推送资源时,可能存在资源推送失败。
相关技术中,针对要推送的资源,例如优惠券,在优惠券购买支付成功后,由当前的支付成功通知交易同步访问目标资源平台提供的取券码。上述方案中,目标资源平台无法根据流量控制而启动相应的并发,存在资源浪费,目标资源平台的交易压力大,资源推送失败率高。
发明内容
本申请提供一种资源推送方法、装置、电子设备及存储介质,以至少解决相关技术中目标资源平台无法根据流量控制而启动相应的并发,存在资源浪费,目标资源平台的交易压力大,资源推送失败率高的问题。本申请的技术方案如下:
根据本申请实施例的第一方面,提供一种资源推送方法,包括:获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,所述目标资源平台用于提供所述待推送资源;根据所述平台标识查询映射关系表,获取与所述平台标识对应的线程池标识;在所述线程池标识对应的线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用;所述资源推送线程用于将所述目标资源平台中的所述待推送资源推送至所述目标对象标识对应的对象。
根据本申请实施例的第二方面,提供一种资源推送装置,包括:第一获取模块,用于获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,所述目标资源平台用于提供所述待推送资源;第二获取模块,用于根据所述平台标识查询映射关系表,获取与所述平台标识对应的线程池标识;第一处理模块,用于在所述线程池标识对应的线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用;所述资源推送线程用于将所述目标资源平台中的所述待推送资源推送至所述目标对象标识对应的对象。
根据本申请实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如上所述的资源推送方法。
根据本申请实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上所述的资源推送方法。
根据本申请实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序由电子设备的处理器执行时,使得电子设备能够执行如上所述的一种资源推送方法。
本申请的实施例提供的技术方案至少带来以下有益效果:通过获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据本申请第一实施例示出的一种资源推送方法的流程图;
图2是根据本申请第二实施例示出的又一种资源推送方法的流程图;
图3是根据本申请第三实施例示出的又一种资源推送方法的流程图;
图4是根据本申请第四实施例示出的又一种资源推送方法的流程图;
图5是一种资源推送方法的流程图;
图6是根据本申请第五实施例示出的一种资源推送装置的结构示意图;
图7是根据本申请实施例示出的一种用于实现资源推送功能的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
图1是根据本申请第一实施例示出的一种资源推送方法的流程图,如图1所示,包括以下步骤。
在步骤101中,获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源。
需要说明的是,本申请的资源推送方法的执行主体为资源推送装置。本申请实施例的资源推送方法可以由本申请实施例的资源推送装置执行,本申请实施例的资源推送装置可以配置在任意电子设备中,或者任意电子设备上的任意软件中,以执行本申请实施例的资源推送方法。其中,电子设备可以为外部资源系统。
其中,待推送资源可以为待发放的优惠券,优惠券可以是电子优惠券,待推送资源的资源标识可以为优惠券的名称、优惠券的编号。
其中,目标资源平台可以为优惠券的供应商,目标资源平台的平台标识可以为目标资源平台的编号、目标资源平台的名称。目标资源平台可以为1个也可以为多个,此处不作具体限定。
其中,目标对象可以为用户,目标对象标识可以为用户名称、用户编号等。
在步骤102中,根据平台标识查询映射关系表,获取与平台标识对应的线程池标识。
其中,映射关系表用于存储目标资源平台的平台标识和线程池标识的映射关系。其中,线程池标识可以为线程池名称。
在步骤103中,在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。
综上,通过获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
在上述实施例中,为了保证向目标对象推送资源的速度,在资源平台没有对应的线程池时,需要查找公共线程池。因此,在未获取到与平台标识对应的线程池标识的情形下,在公共线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用。
为了根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表,如图2所示,图2是根据本申请第二实施例示出的又一种资源推送方法的流程图,具体实现过程如下:
在步骤201中,获取资源平台配置列表以及最大线程池数。
在一些实施例中,资源推送装置执行步骤201的过程例如可以为,获取最大线程池数;获取资源平台线程池管理表,资源平台线程池管理表包括平台标识、以及平台标识对应的管理信息;从资源平台线程池管理表中选择满足指定条件的平台标识;根据满足指定条件的平台标识以及对应的管理信息,生成资源平台配置列表。
其中,最大线程池数可以根据实际需要进行设置,例如5、10,此处不做具体限定。
其中,平台标识可以为资源平台的名称、资源平台的编号等,平台标识对应的管理信息可以包括以下至少一种:核心线程数、最大线程数、启停标志。其中,启停标志指的是资源平台次日是否有优惠活动的标志,次日有优惠活动,启停标志可以为启动,可以表示为1;次日没有优惠活动,启停标志可以为停止,可以为表示0。
其中,指定条件包括以下至少一种:核心线程数不为零且不为空、最大线程数不为零且不为空、启停标识为启动。
在步骤202中,根据资源平台配置列表以及最大线程池数,为资源平台配置列表中的资源平台创建线程池。
其中,最大线程池数指的是可以创建的线程池的最大数量。
在步骤203中,根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表。
在一种实施方式中,资源推送装置可以根据资源平台的平台标识和线程池id的对应关系,确定平台标识对应的线程池id,根据线程池id与线程池标识的对应关系,确定线程池id对应的线程池标识,根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表,其中,平台标识,例如资源平台的名称、资源平台的编号等,线程池标识可以为线程池名称。
因此,利用线程池id作为中间键,建立资源平台的平台标识以及为资源平台创建的线程池的标识的对应关系,从而确保外部资源系统稳定,同时满足业务的需要,而且线程池生成完之后,不会频繁的摧毁和生成。
在步骤204中,获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源。
在步骤205中,根据平台标识查询映射关系表,获取与平台标识对应的线程池标识。
在本申请实施例中,步骤204至步骤205的详细描述可参见其他实施例的相关内容,此处不再赘述。
在步骤206中,在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。
在一些实施例中,针对至少一个线程池中的每个线程池,在线程池中的线程队列为空,且线池中未存在正在执行的线程的情形下,关闭线程池,其中,关闭线程池的方法可以为shutdown()方法。
综上,通过获取资源平台配置列表以及最大线程池数;根据资源平台配置列表以及最大线程池数,为资源平台配置列表中的资源平台创建线程池;根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表;获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
为了说明根据资源平台配置列表以及最大线程池数,如何为资源平台配置列表中的资源平台创建线程池,如图3所示,图3是根据本申请第三实施例示出的又一种资源推送方法的流程图,具体实现过程如下:
在步骤301中,获取资源平台配置列表以及最大线程池数。
在本申请实施例中,步骤301的详细描述可参见其他实施例的相关内容,此处不再赘述。
在步骤302中,确定资源平台配置列表中平台标识的第一数量。
其中,第一数量的取值,例如10、20,此处不作具体限定。
在步骤303中,在第一数量小于最大线程池数的情形下,针对资源平台配置列表中每个平台标识对应的资源平台,为资源平台创建一个线程池。
在一些实施例中,资源平台配置列表包括平台标识以及平台标识对应的管理信息,管理信息包括优先级;为资源平台配置列表中的资源平台创建线程池的过程还可以为,在第一数量大于或者等于最大线程池数的情形下,创建一个公共线程池,并为资源平台配置列表中优先级靠前的第二数量个平台标识对应的资源平台,配置一个线程池;第二数量为最大线程池数与数量1的差值。
其中,优先级可以是根据资源平台支持的最大并发数及活动交易量进行确定的,在一种示例中,可以为最大并发数及活动交易量分配权重,对最大并发数及活动交易量进行加权求和得到加权求和结果,将加权求和结果作为优先级。
可选地,在第一数量大于或者等于最大线程池数的情形下,比如最大线程池数为5,第一数量的取值为10,第二数量的取值为9,先创建一个公共线程池,给未配置线程池的资源平台使用,即未配置线程池的资源平台在公共线程池中资源推送线程,为资源平台配置列表中优先级靠前的9个平台标识对应的资源平台,配置一个单独的线程池。
其中,管理信息还可以包括:资源平台线程池管理表的创建时间、资源平台线程池管理表的更新时间等信息。
在步骤304中,根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表。
在步骤305中,获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源。
在步骤306中,根据平台标识查询映射关系表,获取与平台标识对应的线程池标识。
在步骤307中,在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。
在本申请实施例中,步骤304至步骤307的详细描述可参见其他实施例的相关内容,此处不再赘述。
综上,通过获取资源平台配置列表以及最大线程池数;确定资源平台配置列表中平台标识的第一数量;在第一数量小于最大线程池数的情形下,针对资源平台配置列表中每个平台标识对应的资源平台,为资源平台创建一个线程池;根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表;获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
为了说明如何对映射关系表进行更新,如图4所示,图4是根据本申请第四实施例示出的又一种资源推送方法的流程图,具体实现过程如下:
在步骤401中,获取资源平台配置列表以及最大线程池数。
在步骤402中,根据资源平台配置列表以及最大线程池数,为资源平台配置列表中的资源平台创建线程池。
在步骤403中,根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表。
在本申请实施例中,步骤401至步骤403的详细描述可参见其他实施例的相关内容,此处不再赘述。
在步骤404中,在接收到资源平台配置列表更新请求的情形下,对资源平台配置列表进行更新处理,得到更新后的资源平台配置列表。
在本申请实施例中,接收到资源平台配置列表更新请求的情形可以为资源推送装置定时查询时,查询到资源平台次日有优惠活动,在该种情形下,对资源平台配置列表进行更新处理,得到更新后的资源平台配置列表。
可选地,对资源平台配置列表进行更新处理的过程可以为,对资源平台配置列表中的启停标识、创建时间、更新时间等信息进行更新处理,比如资源平台A昨天有优惠活动,其对应的启停标识为停止,即0;在查询次日有优惠活动时,将其对应的启停标识更新为启动,即1。
在步骤405中,在当前创建的线程池的第三数量小于最大线程池数,且更新后需要的线程池的第四数量大于或者等于最大线程池数的情形下,确定最大线程池数与第三数量的差值,并创建差值个线程池。
可选地,对线程池的核心线程数和最大线程数进行更新。
在步骤406中,为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据资源平台的平台标识以及为资源平台重新配置的线程池的标识,更新映射关系表。
在本申请实施例中,在重新配置的线程池未启动时,可以先对线程池进行启动。
在步骤407中,获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源。
在步骤408中,根据平台标识查询映射关系表,获取与平台标识对应的线程池标识。
在步骤409中,在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。
在本申请实施例中,步骤407至步骤409的详细描述可参见其他实施例的相关内容,此处不再赘述。
综上,通过获取资源平台配置列表以及最大线程池数;根据资源平台配置列表以及最大线程池数,为资源平台配置列表中的资源平台创建线程池;根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表;在接收到资源平台配置列表更新请求的情形下,对资源平台配置列表进行更新处理,得到更新后的资源平台配置列表;在当前创建的线程池的第三数量小于最大线程池数,且更新后需要的线程池的第四数量大于或者等于最大线程池数的情形下,确定最大线程池数与第三数量的差值,并创建差值个线程池;为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据资源平台的平台标识以及为资源平台重新配置的线程池的标识,更新映射关系表;获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至目标对象标识对应的对象。由此,根据目标资源平台的平台标识,确定平台标识对应的线程池标识,在线程池标识对应的线程池中创建资源推送线程,以推送资源,从而避免目标资源平台异常造成大量的优惠券推送失败,减少资源的消耗,减少目标资源平台的交易压力。
为了更加清楚的说明上述实施例,现举例说明。
举例而言,图5是一种资源推送方法的流程图,在图5中,以待推送资源为优惠券为例,参数配置库中包括资源平台线程池管理表、资源平台配置列表,外部资源系统的资源推送装置通过线程池管理器获取最大线程池数及资源平台线程池管理表,资源平台线程池管理表包括平台标识、以及平台标识对应的核心线程数、最大线程数、启停标志等信息,从资源平台线程池管理表中选择满足指定条件的平台标识,其中,指定条件包括以下至少一种:核心线程数不为零且不为空、最大线程数不为零且不为空、启停标识为启动,根据满足指定条件的平台标识以及对应的核心线程数、最大线程数、启停标志,生成资源平台配置列表。
创建映射Map,key为服务商标识(平台标识),value为线程池id;资源平台配置列表包括优先级,根据资源平台配置列表以及最大线程池数MAX_THREAD_POOL_SIZE,创建公共线程池存入ConcurrentHashMap(线程池集合的MAP),在list.size()<MAX_THREAD_POOL_SIZE时(在第一数量小于最大线程池数的情形下),针对资源平台配置列表中每个平台标识对应的资源平台,为资源平台创建一个线程池;在list.size()>=MAX_THREAD_POOL_SIZE时(在第一数量大于或者等于最大线程池数的情形下),创建一个公共线程池,并为资源平台配置列表中优先级靠前的第二数量个平台标识对应的资源平台,配置一个线程池;第二数量为最大线程池数与数量1的差值。
创建线程池数据,例如线程池id,线程池名称(线程池标识),存放到ConcurrentHashMap中,更新映射Map,建立线程池名称与资源平台的平台标识的映射关系(根据资源平台的平台标识以及为资源平台创建的线程池的标识,生成映射关系表),并将映射关系表存储在资源平台线程池存储区。
定时读取资源平台线程池管理表(在接收到资源平台配置列表更新请求的情形下),对资源平台配置列表进行更新处理,得到更新后的资源平台配置列表,判断是否需要启动新线程池:当前线程池数HashMap.size()<MAX_THREAD_POOL_SIZE且更新后线程池个数list.size()>=MAX_THREAD_POOL_SIZE(在当前创建的线程池的第三数量小于最大线程池数,且更新后需要的线程池的第四数量大于或者等于最大线程池数的情形下),创建线程池;更新资源平台配置列表中的线程池的核心线程数和最大线程数,为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据资源平台的平台标识以及为资源平台重新配置的线程池的标识,更新映射关系表。
判断支付是否成功,在支付成功时,根据映射关系表,获取资源平台的平台标识对应的线程池标识,在线程池标识对应的线程池中创建资源推送线程,并通过全局路由将资源推送线程添加到线程池的线程队列中,通过调用线程池的线程队列,获取优惠券,以便将优惠券发送给目标对象。
利用shutdown()方法,在线程池中的线程队列为空,且线池中未存在正在执行的线程的情形下,关闭线程池。
综上,根据目标资源平台的平台标识,确定平台标识对应的线程池标识,在线程池标识对应的线程池中创建资源推送线程,以推送资源,从而避免目标资源平台异常造成大量的优惠券推送失败,减少资源的消耗,减少目标资源平台的交易压力,另外,利用线程池id作为中间键,建立资源平台的平台标识以及为资源平台创建的线程池的标识的对应关系,从而确保外部资源系统稳定,同时满足业务的需要,而且线程池生成完之后,不会频繁的摧毁和生成。
为了实现上述实施例,本申请实施例提出了一种资源推送装置。
图6是根据本申请第六实施例示出的资源推送装置的结构示意图,参照图6,该资源推送装置600,可以包括:第一获取模块610、第二获取模块620和第一处理模块630。
其中,第一获取模块610,用于获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,所述目标资源平台用于提供所述待推送资源;第二获取模块620,用于根据所述平台标识查询映射关系表,获取与所述平台标识对应的线程池标识;第一处理模块630,用于在所述线程池标识对应的线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用;所述资源推送线程用于将所述目标资源平台中的所述待推送资源推送至所述目标对象标识对应的对象。
作为本申请实施例的一种可能实现方式,所述装置还包括:第三获取模块、创建模块、生成模块;第三获取模块,用于获取资源平台配置列表以及最大线程池数;创建模块,用于根据所述资源平台配置列表以及所述最大线程池数,为所述资源平台配置列表中的资源平台创建线程池;生成模块,用于根据所述资源平台的平台标识以及为所述资源平台创建的线程池的标识,生成所述映射关系表。
作为本申请实施例的一种可能实现方式,所述第三获取模块具体用于,获取所述最大线程池数;获取资源平台线程池管理表,所述资源平台线程池管理表包括平台标识、以及所述平台标识对应的管理信息;从所述资源平台线程池管理表中选择满足指定条件的平台标识;根据满足所述指定条件的平台标识以及对应的管理信息,生成所述资源平台配置列表。
作为本申请实施例的一种可能实现方式,所述管理信息包括以下至少一种:核心线程数、最大线程数、启停标志;所述指定条件包括以下至少一种:核心线程数不为零且不为空、最大线程数不为零且不为空、启停标识为启动。
作为本申请实施例的一种可能实现方式,所述创建模块具体用于,确定所述资源平台配置列表中平台标识的第一数量;在所述第一数量小于所述最大线程池数的情形下,针对所述资源平台配置列表中每个平台标识对应的资源平台,为所述资源平台创建一个线程池。
作为本申请实施例的一种可能实现方式,所述资源平台配置列表包括平台标识以及所述平台标识对应的管理信息,所述管理信息包括优先级;所述创建模块具体用于,在所述第一数量大于或者等于所述最大线程池数的情形下,创建一个公共线程池,并为所述资源平台配置列表中优先级靠前的第二数量个平台标识对应的资源平台,配置一个线程池;所述第二数量为所述最大线程池数与数量1的差值。
作为本申请实施例的一种可能实现方式,所述装置还包括:第二处理模块;所述第二处理模块,用于在未获取到与所述平台标识对应的线程池标识的情形下,在公共线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用。
作为本申请实施例的一种可能实现方式,所述装置还包括:更新模块、第三处理模块、第四处理模块;所述更新模块,用于在接收到资源平台配置列表更新请求的情形下,对所述资源平台配置列表进行更新处理,得到更新后的资源平台配置列表;所述第三处理模块,用于在当前创建的线程池的第三数量小于所述最大线程池数,且更新后需要的线程池的第四数量大于或者等于所述最大线程池数的情形下,确定所述最大线程池数与所述第三数量的差值,并创建所述差值个线程池;所述第四处理模块,用于为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据所述资源平台的平台标识以及为所述资源平台重新配置的线程池的标识,更新所述映射关系表。
作为本申请实施例的一种可能实现方式,所述装置还包括:关闭模块;所述关闭模块,用于针对至少一个所述线程池中的每个线程池,在所述线程池中的线程队列为空,且所述线池中未存在正在执行的线程的情形下,关闭所述线程池。
本申请实施例的资源推送装置,通过获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用;资源推送线程用于将目标资源平台中的待推送资源推送至所述目标对象标识对应的对象。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
图7是是根据本申请实施例示出的一种用于实现资源推送功能的电子设备的框图。
如图7所示,上述电子设备700包括:
存储器710及处理器720,连接不同组件(包括存储器710和处理器720)的总线730,存储器710存储有计算机程序,当处理器720执行所述程序时实现本申请实施例所述的资源推送方法。
总线730表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备700典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备700访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器710还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)740和/或高速缓存存储器750。电子设备700可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统760可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线730相连。存储器710可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块770的程序/实用工具780,可以存储在例如存储器710中,这样的程序模块770包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块770通常执行本申请所描述的实施例中的功能和/或方法。
电子设备700也可以与一个或多个外部设备790(例如键盘、指向设备、显示器791等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口792进行。并且,电子设备700还可以通过网络适配器793与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器793通过总线730与电子设备700的其它模块通信。应当明白,尽管图7中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器720通过运行存储在存储器710中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本申请实施例的资源推送方法的解释说明,此处不再赘述。
本申请实施例提供的电子设备,可以执行如前所述的资源推送方法,通过获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,目标资源平台用于提供待推送资源;根据平台标识查询映射关系表,获取与平台标识对应的线程池标识;在线程池标识对应的线程池中创建资源推送线程,并将资源推送线程添加到线程池的线程队列中,以便调用。由此,根据目标资源平台的平台标识及线程池的对应关系,在线程池标识对应的线程池中创建资源推送线程,以推送目标资源平台的待推送资源,从而能够减少资源的消耗,减少目标资源平台的交易压力,提高资源推送成功率。
为了实现上述实施例,本申请还提出一种存储介质。
其中,该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的资源推送方法。
为了实现上述实施例,本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序由电子设备的处理器执行时,使得电子设备能够执行如前所述的资源推送方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (21)
1.一种资源推送方法,其特征在于,包括:
获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,所述目标资源平台用于提供所述待推送资源;
根据所述平台标识查询映射关系表,获取与所述平台标识对应的线程池标识;
在所述线程池标识对应的线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用;所述资源推送线程用于将所述目标资源平台中的所述待推送资源推送至所述目标对象标识对应的对象。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取资源平台配置列表以及最大线程池数;
根据所述资源平台配置列表以及所述最大线程池数,为所述资源平台配置列表中的资源平台创建线程池;
根据所述资源平台的平台标识以及为所述资源平台创建的线程池的标识,生成所述映射关系表。
3.根据权利要求2所述的方法,其特征在于,所述获取资源平台配置列表以及最大线程池数,包括:
获取所述最大线程池数;
获取资源平台线程池管理表,所述资源平台线程池管理表包括平台标识、以及所述平台标识对应的管理信息;
从所述资源平台线程池管理表中选择满足指定条件的平台标识;
根据满足所述指定条件的平台标识以及对应的管理信息,生成所述资源平台配置列表。
4.根据权利要求3所述的方法,其特征在于,所述管理信息包括以下至少一种:核心线程数、最大线程数、启停标志;
所述指定条件包括以下至少一种:核心线程数不为零且不为空、最大线程数不为零且不为空、启停标识为启动。
5.根据权利要求2所述的方法,其特征在于,所述根据所述资源平台配置列表以及所述最大线程池数,为所述资源平台配置列表中的资源平台创建线程池,包括:
确定所述资源平台配置列表中平台标识的第一数量;
在所述第一数量小于所述最大线程池数的情形下,针对所述资源平台配置列表中每个平台标识对应的资源平台,为所述资源平台创建一个线程池。
6.根据权利要求5所述的方法,其特征在于,所述资源平台配置列表包括平台标识以及所述平台标识对应的管理信息,所述管理信息包括优先级;所述根据所述资源平台配置列表以及所述最大线程池数,为所述资源平台配置列表中的资源平台创建线程池,还包括:
在所述第一数量大于或者等于所述最大线程池数的情形下,创建一个公共线程池,并为所述资源平台配置列表中优先级靠前的第二数量个平台标识对应的资源平台,配置一个线程池;所述第二数量为所述最大线程池数与数量1的差值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在未获取到与所述平台标识对应的线程池标识的情形下,在公共线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用。
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到资源平台配置列表更新请求的情形下,对所述资源平台配置列表进行更新处理,得到更新后的资源平台配置列表;
在当前创建的线程池的第三数量小于所述最大线程池数,且更新后需要的线程池的第四数量大于或者等于所述最大线程池数的情形下,确定所述最大线程池数与所述第三数量的差值,并创建所述差值个线程池;
为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据所述资源平台的平台标识以及为所述资源平台重新配置的线程池的标识,更新所述映射关系表。
9.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对至少一个所述线程池中的每个线程池,在所述线程池中的线程队列为空,且所述线池中未存在正在执行的线程的情形下,关闭所述线程池。
10.一种资源推送装置,其特征在于,包括:
第一获取模块,用于获取待推送资源的资源标识、目标资源平台的平台标识以及目标对象标识,所述目标资源平台用于提供所述待推送资源;
第二获取模块,用于根据所述平台标识查询映射关系表,获取与所述平台标识对应的线程池标识;
第一处理模块,用于在所述线程池标识对应的线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用;所述资源推送线程用于将所述目标资源平台中的所述待推送资源推送至所述目标对象标识对应的对象。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:第三获取模块、创建模块、生成模块;
第三获取模块,用于获取资源平台配置列表以及最大线程池数;
创建模块,用于根据所述资源平台配置列表以及所述最大线程池数,为所述资源平台配置列表中的资源平台创建线程池;
生成模块,用于根据所述资源平台的平台标识以及为所述资源平台创建的线程池的标识,生成所述映射关系表。
12.根据权利要求11所述的装置,其特征在于,所述第三获取模块具体用于,
获取所述最大线程池数;
获取资源平台线程池管理表,所述资源平台线程池管理表包括平台标识、以及所述平台标识对应的管理信息;
从所述资源平台线程池管理表中选择满足指定条件的平台标识;
根据满足所述指定条件的平台标识以及对应的管理信息,生成所述资源平台配置列表。
13.根据权利要求12所述的装置,其特征在于,所述管理信息包括以下至少一种:核心线程数、最大线程数、启停标志;
所述指定条件包括以下至少一种:核心线程数不为零且不为空、最大线程数不为零且不为空、启停标识为启动。
14.根据权利要求11所述的装置,其特征在于,所述创建模块具体用于,
确定所述资源平台配置列表中平台标识的第一数量;
在所述第一数量小于所述最大线程池数的情形下,针对所述资源平台配置列表中每个平台标识对应的资源平台,为所述资源平台创建一个线程池。
15.根据权利要求14所述的装置,其特征在于,所述资源平台配置列表包括平台标识以及所述平台标识对应的管理信息,所述管理信息包括优先级;所述创建模块具体用于,
在所述第一数量大于或者等于所述最大线程池数的情形下,创建一个公共线程池,并为所述资源平台配置列表中优先级靠前的第二数量个平台标识对应的资源平台,配置一个线程池;所述第二数量为所述最大线程池数与数量1的差值。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:第二处理模块;
所述第二处理模块,用于在未获取到与所述平台标识对应的线程池标识的情形下,在公共线程池中创建资源推送线程,并将所述资源推送线程添加到所述线程池的线程队列中,以便调用。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:更新模块、第三处理模块、第四处理模块;
所述更新模块,用于在接收到资源平台配置列表更新请求的情形下,对所述资源平台配置列表进行更新处理,得到更新后的资源平台配置列表;
所述第三处理模块,用于在当前创建的线程池的第三数量小于所述最大线程池数,且更新后需要的线程池的第四数量大于或者等于所述最大线程池数的情形下,确定所述最大线程池数与所述第三数量的差值,并创建所述差值个线程池;
所述第四处理模块,用于为更新后的资源平台配置列表中的资源平台重新配置线程池,并根据所述资源平台的平台标识以及为所述资源平台重新配置的线程池的标识,更新所述映射关系表。
18.根据权利要求11所述的装置,其特征在于,所述装置还包括:关闭模块;
所述关闭模块,用于针对至少一个所述线程池中的每个线程池,在所述线程池中的线程队列为空,且所述线池中未存在正在执行的线程的情形下,关闭所述线程池。
19.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-9中任一项所述的资源推送方法。
20.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-9中任一项所述的资源推送方法。
21.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-9中任一项所述的资源推送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211558236.8A CN115840626A (zh) | 2022-12-06 | 2022-12-06 | 资源推送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211558236.8A CN115840626A (zh) | 2022-12-06 | 2022-12-06 | 资源推送方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115840626A true CN115840626A (zh) | 2023-03-24 |
Family
ID=85578150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211558236.8A Pending CN115840626A (zh) | 2022-12-06 | 2022-12-06 | 资源推送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840626A (zh) |
-
2022
- 2022-12-06 CN CN202211558236.8A patent/CN115840626A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101196912B (zh) | 用于应用程序状态同步的方法和设备 | |
US20190042659A1 (en) | Data writing and reading and apparatus and cloud storage system | |
CN109150572B (zh) | 实现告警关联的方法、装置以及计算机可读存储介质 | |
US10505832B2 (en) | Resource coordinate system for data centers | |
JPWO2013140608A1 (ja) | イベントの根本原因の解析を支援する方法及びシステム | |
CN113360519B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114416849A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113835830A (zh) | 基于ai的rpa集群管理方法、装置以及存储介质 | |
CN115858499A (zh) | 一种数据库分区处理方法、装置、计算机设备和存储介质 | |
CN115840626A (zh) | 资源推送方法、装置、电子设备及存储介质 | |
CN115061947A (zh) | 资源管理方法、装置、设备和存储介质 | |
CN116795520A (zh) | 资源调度方法、装置、电子设备和存储介质 | |
CN113742083A (zh) | 调度仿真方法、装置、计算机设备及存储介质 | |
CN113377604A (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN111475226B (zh) | 电子装置、微服务调用方法和计算机可读存储介质 | |
CN115729724B (zh) | 故障注入方法、故障测试系统、电子设备及可读存储介质 | |
CN110765098B (zh) | 流程运行预测系统及方法 | |
CN112732369A (zh) | 一种模块调用方法、装置、电子设备及存储介质 | |
CN117708873A (zh) | 敏感内容识别方法、装置、电子设备及计算机可读介质 | |
CN113157406A (zh) | 基于超融合架构的数据调取方法、装置、电子设备及介质 | |
CN113010398A (zh) | 一种业务日志模型、业务执行方法、装置、电子设备和介质 | |
CN115390992A (zh) | 一种虚拟机创建方法、装置、设备和存储介质 | |
CN115658830A (zh) | 高精地图的制图方法、装置、设备及存储介质 | |
CN115550510A (zh) | 外呼资源处理方法、装置、计算机设备、存储介质及产品 | |
CN114201240A (zh) | 配置helm chart的方法和装置 |
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 |