CN113641517A - 业务数据的发送方法、装置、计算机设备和存储介质 - Google Patents
业务数据的发送方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113641517A CN113641517A CN202110915624.6A CN202110915624A CN113641517A CN 113641517 A CN113641517 A CN 113641517A CN 202110915624 A CN202110915624 A CN 202110915624A CN 113641517 A CN113641517 A CN 113641517A
- Authority
- CN
- China
- Prior art keywords
- payment
- processed
- priority
- processing
- service
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 234
- 238000012163 sequencing technique Methods 0.000 claims abstract description 77
- 238000005192 partition Methods 0.000 claims description 40
- 238000012216 screening Methods 0.000 claims description 32
- 230000004044 response Effects 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001914 filtration Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000032683 aging Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- 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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及数据处理技术领域,提供一种业务数据的发送方法、装置、计算机设备和存储介质,方法包括:获取与理财产品对应的待处理的支付业务;生成待处理的支付业务的优先级,将优先级添加至待处理的支付业务中;将待处理的支付业务放入至预设的线程池内;将线程池中所有待处理的支付业务放入至优先级队列内;通过优先级队列,基于优先级队列中各待处理的支付业务的优先级及获取时间,对优先级队列中的所有待处理的支付业务进行排序得到排序结果;基于排序结果将优先级队列中包含的所有待处理的支付业务依次发送至支付渠道。本申请能提高支付业务发送的处理智能性。本申请还可以应用于区块链领域,上述排序结果等数据可以存储于区块链上。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种业务数据的发送方法、装置、计算机设备和存储介质。
背景技术
理财产品投资需要便捷的支付能力支持,因此需要对接的第三方支付公司或银行直连(后续统称支付渠道)以提供支付能力。有了支付渠道支持,理财产品才能够在相关网站内直接完成投资购买或赎回。
目前,支付业务可分为不同类别,具体可包括先投资后代扣业务、充值取现业务与定期投资业务。且各种类别的支付业务对处理时效的要求各不相同。现有将支付业务发送至支付渠道处理的方式,通常是按照接收到的各个支付业务的顺序来依次发送至支付渠道。当把处理时效高的支付业务排在后面发送,而把大量的处理时效低的支付业务排在前面发送时,使得处理时效低的支付业务会长时间占用支付渠道能力,从而出现处理时效高的支付业务不能及时发送处理而超过时效限制的情况,进而导致出现用户对于理财产品的投资失败的情况。因此,现有的对于支付业务的发送方式,存在容易造成处理时效高的支付业务不能及时发送至支付渠道处理、支付业务的处理智能性较低、处理时效高的支付业务的支付成功率较低的问题。
发明内容
本申请的主要目的为提供一种业务数据的发送方法、装置、计算机设备和存储介质,旨在解决现有的对于支付业务的发送方式,存在容易造成处理时效高的支付业务不能及时发送至支付渠道处理、支付业务的处理智能性较低、处理时效高的支付业务的支付成功率较低的技术问题。
本申请提出一种业务数据的发送方法,所述方法包括步骤:
获取与理财产品对应的待处理的支付业务;
基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
可选地,所述按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内的步骤,包括:
在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
判断所述数据占用量是否处于预设的第一数量区间内;
若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
可选地,所述线程池中预先创建有至少一个处理线程,所述按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内的步骤,包括:
将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
为各所述目标处理线程与各所述分区建立一一对应的关联关系;
调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
可选地,所述当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程的步骤之前,包括:
获取内部的配置数据;
从所述配置数据中提取CPU核数;
获取预设的参数数值;
基于所述CPU核数与所述参数数值,生成相应的指定数量;
在所述线程池内创建与所述指定数量相同的多个处理线程。
可选地,所述通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果的步骤,包括:
通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
将所述整合后的排序区域作为所述排序结果。
可选地,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤,包括:
调用所述线程池中预先创建的所有处理线程;
通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
可选地,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤之前,包括:
获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道;
获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
将所述第三支付渠道作为所述支付渠道。
本申请还提供一种业务数据的发送装置,包括:
第一获取模块,用于获取与理财产品对应的待处理的支付业务;
第一生成模块,用于基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
第一处理模块,用于按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
第二处理模块,用于按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
排序模块,用于通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
发送模块,用于基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的业务数据的发送方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的业务数据的发送方法、装置、计算机设备和存储介质,在获得了与理财产品对应的待处理的支付业务后,会先基于支付业务的处理时限信息生成所述待处理的支付业务的优先级,并按照预设的数据放入规则将所述待处理的支付业务放入预设的线程池内,再按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内,通过优先级队列基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,并基于得到的排序结果来将所述优先级队列中包含的所有待处理的支付业务发送至对应的支付渠道。本实施例通过基于支付业务的优先级以及各所述支付业务的获取时间来对优先级队列中的所有支付业务进行相应排序,可以使得优先级高且获取时间靠前的支付业务会优先被发送至目标支付渠道进行处理,有效地提高了支付业务发送处理的智能性与及时性,有利于最大程度利用支付渠道能力,进而提升处理时效高的支付业务的支付成功率。
附图说明
图1是本申请一实施例的业务数据的发送方法的流程示意图;
图2是本申请一实施例的业务数据的发送装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的业务数据的发送方法,包括:
S1:获取与理财产品对应的待处理的支付业务;
S2:基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
S3:按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
S4:按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
S5:通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
S6:基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
如上述步骤S1至S6所述,本方法实施例的执行主体为一种业务数据的发送装置。在实际应用中,上述业务数据的发送装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的业务数据的发送装置,能够有效地提高了支付业务发送处理的智能性,有利于最大程度利用支付渠道能力,提升处理时效高的支付业务的支付成功率。具体地,首先获取与理财产品对应的待处理的支付业务。其中,支付业务的类型包括先投资后代扣业务、充值取现业务与定期投资业务。所述待处理的支付业务的数量包括多个。
在得到所述待处理的支付业务后,基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中。其中,所述优先级包括高优先级、中优先级与低优先级。另外,上述处理时效信息可根据实际的业务需求生成。具体的,先投资后代扣业务由用户在页面发起,需要考虑用户体验以及资产占用,有支付时效要求,超时会失败,其处理时效要求最高、重要性也最高,故可将其对应的优先级设置为高优先级。充值取现业务考虑用户体现有一定时效要求,具有一定的处理时效与重要性,可将其对应的优先级设置为中优先级。定期投资业务是由用户设置定期投资计划,后台***根据这些计划定时发起。特点是发起会比较集中,但时效要求不高,重要性也不高,可将其对应的优先级设置为低优先级。
然后按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内。其中,所述数据放入规则是指在线程池的数据占用量处于不同的数量区间时,会对可放入线程池的优先级进行相应的限制。具体的,当线程池的数据占用量处于预设的第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池,当线程池的数据占用量处于预设的第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池。当线程池的数据占用量处于预设的第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池。另外,对于所述第一数量区间、第二数量区间与第三数量区间的具体取值范围不做限定,可根据实际需求进行设置。之后按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内。其中,所述优先级队列不同于常规的队列,具体可为能够同时放置由多种不同的数据发送渠道分别放入的业务数据的队列。具体的,可先将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中,再从线程池中预先创建的所有处理线程中筛选出与所有所述分区的数量相同的多个目标处理线程,来并发执行将各分区内的待处理的支付业务放入所述优先级队列中的处理流程。
后续通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果。其中,具体可按照优先级越高排序越前以及优先级相同时获取时间越早排序越前的排序规则,对优先级队列中包含的所有待处理的支付业务进行排序以生成相应的排序结果。最后基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。其中,可调用出所述线程池中预先创建的所有处理线程,再通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务,进而通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
本实施例在获得了与理财产品对应的待处理的支付业务后,会先基于支付业务的处理时限信息生成所述待处理的支付业务的优先级,并按照预设的数据放入规则将所述待处理的支付业务放入预设的线程池内,再按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内,通过优先级队列基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,并基于得到的排序结果来将所述优先级队列中包含的所有待处理的支付业务发送至对应的支付渠道。本实施例通过基于支付业务的优先级以及各所述支付业务的获取时间来对优先级队列中的所有支付业务进行相应排序,可以使得优先级高且获取时间靠前的支付业务会优先被发送至目标支付渠道进行处理,有效地提高了支付业务发送处理的智能性与及时性,有利于最大程度利用支付渠道能力,进而提升处理时效高的支付业务的支付成功率。
进一步地,本申请一实施例中,上述步骤S3,包括:
S300:在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
S301:判断所述数据占用量是否处于预设的第一数量区间内;
S302:若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
S303:若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
S304:若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
S305:若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
S306:若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
如上述步骤S300至S306所述,所述按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内的步骤,具体可包括:在将所述待处理的支付业务放入所述线程池的过程中,首先获取所述线程池的数据占用量。其中,线程池的数据占用量是指线程池内放入的业务数量与该线程池的最大可容纳数量之间的比值。然后判断所述数据占用量是否处于预设的第一数量区间内。其中,对于所述第一数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第一数量区间可为0%到25%区间,且该区间包含左端点0与右端点25%。若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池。而若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内。其中,所述第二数量区间的最小值大于所述第一数量区间的最大值。另外,对于所述第二数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第二数量区间可为25%到75%区间,且该区间不包含左端点25%与右端点75%。若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池。若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内。其中,所述第三数量区间的最小值大于所述第二数量区间的最大值。另外,对于所述第三数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第三数量区间可为75%到100%区间,且该区间包含左端点75%与右端点100%。若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。其中,所述预设占用量阈值可为100%。另外,考虑支付业务数据的优先级的顺序性,如果低优先级的待处理的支付业务在同一时间过多,高优先级的待处理的支付业务则可能没有机会进入后续的优先级队列,也就走不到优先级排队策略。针对此问题,通过增加设置数量区间,可称作线程池容量水位线。当线程池的数据占用量在75%到100%区间时,只允许高优先级进入,也就是给高优先级的待处理的支付业务预留了25%空间来进入优先级队列。当线程池的数据占用量在25%到75%区间时,允许中、高优先级的待处理的支付业务进入线程池。当线程池的数据占用量在0%到25%区间,允许低、中、高优先级三种待处理的支付业务全部进入线程池。允许进入线程池是优先级排队的前提,进入后再根据优先级将较高优先级的支付业务优先送给对应的支付渠道进行处理,能够保证较高优先级的待处理的支付业务能够得到有效的发送处理。本实施例通过基于线程池的数据占用量来对可进入线程池的待处理的支付业务的优先级进行相应限定,能够有效保障在有大量低优先级的待处理的支付业务累积的情况下,也可以保证一定数量的高优先级的待处理的支付业务能够进入线程池中的优先级队列中,从而实现对于高优先级的待处理的支付业务的优先处理,保证高优先级的待处理的支付业务能够得到有效的发送处理,有利于提高高优先级的待处理的支付业务的支付成功率。
进一步地,本申请一实施例中,所述线程池中预先创建有至少一个处理线程,上述步骤S4,包括:
S400:将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
S401:当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
S402:为各所述目标处理线程与各所述分区建立一一对应的关联关系;
S403:调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
如上述步骤S400至S403所述,所述线程池中预先创建有至少一个处理线程,所述按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内的步骤,具体可包括:首先将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中。当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程。其中,上述处理线程是线程池中预先创建的用于进行数据处理的线程,该处理线程在工作状态时会进行数据处理,不工作时则会进入休眠状态。并且,对于目标处理线程的筛选确定过程不作具体限定,例如可采用随机筛选的方式。此外,可通过触发唤醒指令,并基于上述唤醒指令来并发唤醒线程池中处于休眠状态的多个目标处理线程。后续为各所述目标处理线程与各所述分区建立一一对应的关联关系。最后调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的支付业务放入至所述优先级队列内。本实施例中,通过采用与所有所述分区的数量相同的多个目标处理线程来并发执行将各分区内的待处理的支付业务放入所述优先级队列中的流程,从而能够充分利用装置的***CPU和内存性能,发挥多核CPU的优势,降低数据处理的时延,有效减少将待处理的支付业务放入所述优先级队列中的花费时间,提高数据处理的处理效率。另外,由于处理线程是预先创建的,因而无需等待创建处理线程即可直接进行将待处理的支付业务放入所述优先级队列中的处理,以保证支付业务传输的处理效率,从而有效节省待处理的支付业务在传输过程中的处理时间。
进一步地,本申请一实施例中,上述步骤S4之前,包括:
S410:获取内部的配置数据;
S411:从所述配置数据中提取CPU核数;
S412:获取预设的参数数值;
S413:基于所述CPU核数与所述参数数值,生成相应的指定数量;
S414:在所述线程池内创建与所述指定数量相同的多个处理线程。
如上述步骤S410至S414所述,线程池中的分区数量小于预先创建的处理线程的数量时,在执行所述从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程的步骤之前,还可包括对于所述处理线程的创建过程。具体地,首先获取内部的配置数据。其中,所述配置数据至少可包括装置的CPU核数、内存信息等。然后从所述配置数据中提取CPU核数。其中,CPU核数是指CPU(Central Processing Unit,中央处理器)的内核数量,即处理器的数量,可通过CPU get的操作指令来获取该内核数量。之后获取预设的参数数值。其中,上述参数数值可由预先设置的参数范围确定的数值,该参数范围例如可以是1-3。优选地,当指定数量为CPU核数的2倍时,即上述参数数值为2时,装置的CPU中线程切换的代价较少,更有利于降低后续的数据处理过程中的装置损耗。后续基于所述CPU核数与所述参数数值,生成相应的指定数量。其中,上述指定数量可为所述CPU核数与所述参数数值之间的乘积数值。最后在所述线程池内创建与所述指定数量相同的多个处理线程。本实施例中,在基于装置的CPU核数和预设的参数数值确定出指定数量后,会预先在装置内创建线程池,该线程池包括有与指定数量相同的多个处理线程,以便后续利用该处理线程并行进行多个数据处理流程。由于处理线程在工作时会进行数据处理,不工作时则进入休眠状态,从而无需进行处理线程的创建和销毁,减少了对CPU的占用,有助于降低装置损耗。另外,线程池中的处理线程的数量与指定数量相匹配,从而可以最大程度提高数据处理的处理效率,避免装置资源的浪费,也可避免数量过多的处理线程会影响除数据处理以外的其他工作的处理效率。
进一步地,本申请一实施例中,上述步骤S5,包括:
S500:通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
S501:基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
S502:基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
S503:对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
S504:将所述整合后的排序区域作为所述排序结果。
如上述步骤S500至S504所述,所述通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果的步骤,具体可包括:首先通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果。然后基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域。其中,基于优先级的类别,可以将指定排序结果分为3个排序区域,即包含有高优先级的待处理的支付业务的排序区域、包含有中优先级的待处理的支付业务的排序区域以及包含有低优先级的待处理的支付业务的排序区域。之后基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域。其中,会基于获取时间对每一个排序区域进行内部的二次排序,获取时间在先的待处理的支付业务会排在获取时间在后的前面。后续对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域。其中,上述整合处理是指按照排序后的排序区域内包含的待处理的支付业务的优先级从高到低的顺序对各个排序后的排序区域进行排序,进而得到整合后的排序区域。最后将所述整合后的排序区域作为所述排序结果。本实施例中,优先级队列通过按照优先级越高排序越前,优先级相同时获取时间越早排序越前以及排序越前越先发送的排序规则,对优先级队列中包含的所有待处理的支付业务进行排序以生成相应的排序结果。从而可使得优先级高的待处理的支付业务排列在优先级队列的前面,优先级低的待处理的支付业务排列在优先级队列的后面,且优先级相同的情况时获取时间靠前的待处理的支付业务排在优先级队列的前面,获取时间靠后的待处理的支付业务排在优先级队列的后面。进而可以实现优先级高且获取时间靠前的待处理的支付业务会优先被发送至支付渠道,有效地提高了支付业务发送处理的智能性,有利于最大程度利用支付渠道能力,提升处理时效高的支付业务的支付成功率。
进一步地,本申请一实施例中,上述步骤S6,包括:
S600:调用所述线程池中预先创建的所有处理线程;
S601:通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
S602:通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
如上述步骤S600至S602所述,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤,具体可包括:首先调用所述线程池中预先创建的所有处理线程。然后通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务。最后通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。本实施例对所述优先级队列中的所有所述待处理的支付业务进行排序后,会智能的利用预先创建的线程池中的所有处理线程,基于所述优先级队列中包含的所有待处理的支付业务的排列顺序,依次从优先级队列中读取出所有所述待处理的支付业务并发送至所述支付渠道。通过使用所有处理线程同时发送优先级队列中包含的所有待处理的支付业务的处理方式可以有效缩短支付业务发送的时间,有利于提高支付业务发送的效率。
进一步地,本申请一实施例中,上述步骤S6之前,包括:
S610:获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
S611:从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
S612:从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
S613:获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
S614:从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
S615:从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道;
S616:获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
S617:从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
S618:从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
S619:将所述第三支付渠道作为所述支付渠道。
如上述步骤S610至S619所述,在执行所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤之前,还可包括确定出所述支付渠道的确定过程。具体地,首先获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值。其中,对于上述预设时间周期不做具体限定,可根据实际需求进行设置,例如可为距离当前时间的前一个月。另外,所述指定支付渠道可包括所有类别的支付渠道,或者为基于实际的使用需求从所有类别的支付渠道中预先挑选出的部分支付渠道。然后从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量。其中,对于上述数据处理数量阈值不做具体限定,可根据实际需求进行设置。再从所有所述支付渠道中获取与所述目标数据处理数量对应的第一支付渠道。之后获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值。其中,对于上述支付处理成功率阈值不做具体限定,可根据实际需求进行设置。再从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率。后续从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长。其中,上述平均响应时长是指在预设时间周期内第二支付渠道平均处理一件支付业务所花费的时间,可先统计第二支付渠道在预设时间周期内处理的所有支付业务的总数,以及统计第二支付渠道在预设时间周期内处理的所有支付业务所花费的总处理时间,再计算总处理时间与总数之间的比值,并将该比值作为第二支付渠道的平均响应时长。再从所有所述平均响应时长中筛选出数值最小的目标平均响应时长。最后从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道,并将所述第三支付渠道作为所述支付渠道。本实施例通过对预设时间周期内的各个指定支付渠道的数据处理数量、支付处理成功率与支付渠道的实时支付处理的平均响应时间来确定出用于对优先级队列内的待处理的支付业务进行处理的支付渠道,这样可以根据实际使用情况选择出处理量大、处理成功率高且处理速度快的优质渠道来处理待处理的支付业务,提高了对优质支付渠道的利用率。且由于确定出的支付渠道为任务处理量大且处理速度快的支付渠道,使得后续对于优先级队列中的待处理的支付业务的支付处理过程能够更加稳定高效。
本申请实施例中的业务数据的发送方法还可以应用于区块链领域,如将上述排序结果等数据存储于区块链上。通过使用区块链来对上述排序结果进行存储和管理,能够有效地保证上述排序结果的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种业务数据的发送装置,包括:
第一获取模块1,用于获取与理财产品对应的待处理的支付业务;
第一生成模块2,用于基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
第一处理模块3,用于按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
第二处理模块4,用于按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
排序模块5,用于通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
发送模块6,用于基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述第一处理模块3,包括:
获取单元,用于在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
第一判断单元,用于判断所述数据占用量是否处于预设的第一数量区间内;
第一控制单元,用于若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
第二判断单元,用于若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
第二控制单元,用于若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
第三判断单元,用于若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
第三控制单元,用于若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,所述线程池中预先创建有至少一个处理线程,上述第二处理模块4,包括:
第一处理单元,用于将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
筛选单元,用于当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
第二处理单元,用于为各所述目标处理线程与各所述分区建立一一对应的关联关系;
第三处理单元,用于调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述业务数据的发送装置,包括:
第二获取模块,用于获取内部的配置数据;
提取模块,用于从所述配置数据中提取CPU核数;
第三获取模块,用于获取预设的参数数值;
第二生成模块,用于基于所述CPU核数与所述参数数值,生成相应的指定数量;
创建模块,用于在所述线程池内创建与所述指定数量相同的多个处理线程。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述排序模块5,包括:
第一排序单元,用于通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
划分单元,用于基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
第二排序单元,用于基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
整合单元,用于对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
确定单元,用于将所述整合后的排序区域作为所述排序结果。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述发送模块6,包括:
调用单元,用于调用所述线程池中预先创建的所有处理线程;
读取单元,用于通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
发送单元,用于通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
进一步地,本申请一实施例中,上述业务数据的发送装置,包括:
第四获取模块,用于获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
第一筛选模块,用于从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
第五获取模块,用于从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
第六获取模块,用于获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
第二筛选模块,用于从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
第三筛选模块,用于从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道
第七获取模块,用于获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
第四筛选模块,用于从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
第九获取模块,用于从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
确定模块,用于将所述第三支付渠道作为所述支付渠道。
本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作***、计算机程序和数据库。该内存储器为存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理的支付业务、优先级、数据放入规则、优先级队列、获取时间以及排序结果。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种业务数据的发送方法。
上述处理器执行上述业务数据的发送方法的步骤:
获取与理财产品对应的待处理的支付业务;
基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种业务数据的发送方法,具体为:
获取与理财产品对应的待处理的支付业务;
基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种业务数据的发送方法,其特征在于,包括:
获取与理财产品对应的待处理的支付业务;
基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
2.根据权利要求1所述的业务数据的发送方法,其特征在于,所述按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内的步骤,包括:
在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
判断所述数据占用量是否处于预设的第一数量区间内;
若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
3.根据权利要求1所述的业务数据的发送方法,其特征在于,所述线程池中预先创建有至少一个处理线程,所述按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内的步骤,包括:
将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
为各所述目标处理线程与各所述分区建立一一对应的关联关系;
调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
4.根据权利要求3所述的业务数据的发送方法,其特征在于,所述当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程的步骤之前,包括:
获取内部的配置数据;
从所述配置数据中提取CPU核数;
获取预设的参数数值;
基于所述CPU核数与所述参数数值,生成相应的指定数量;
在所述线程池内创建与所述指定数量相同的多个处理线程。
5.根据权利要求1所述的业务数据的发送方法,其特征在于,所述通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果的步骤,包括:
通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
将所述整合后的排序区域作为所述排序结果。
6.根据权利要求1所述的业务数据的发送方法,其特征在于,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤,包括:
调用所述线程池中预先创建的所有处理线程;
通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
7.根据权利要求1所述的业务数据的发送方法,其特征在于,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤之前,包括:
获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道;
获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
将所述第三支付渠道作为所述支付渠道。
8.一种业务数据的发送装置,其特征在于,包括:
第一获取模块,用于获取与理财产品对应的待处理的支付业务;
第一生成模块,用于基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
第一处理模块,用于按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
第二处理模块,用于按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
排序模块,用于通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
发送模块,用于基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915624.6A CN113641517B (zh) | 2021-08-10 | 2021-08-10 | 业务数据的发送方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915624.6A CN113641517B (zh) | 2021-08-10 | 2021-08-10 | 业务数据的发送方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641517A true CN113641517A (zh) | 2021-11-12 |
CN113641517B CN113641517B (zh) | 2023-08-29 |
Family
ID=78420581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110915624.6A Active CN113641517B (zh) | 2021-08-10 | 2021-08-10 | 业务数据的发送方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641517B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244904A (zh) * | 2021-12-15 | 2022-03-25 | 平安科技(深圳)有限公司 | 遥感数据传输方法、装置、设备及介质 |
CN115033393A (zh) * | 2022-08-11 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182502A (ja) * | 2012-03-02 | 2013-09-12 | Nec Corp | リソース配分システム、リソース配分方法、及びリソース配分プログラム |
US20170052804A1 (en) * | 2015-08-21 | 2017-02-23 | International Business Machines Corporation | Controlling priority of dynamic compilation |
CN106802826A (zh) * | 2016-12-23 | 2017-06-06 | ***股份有限公司 | 一种基于线程池的业务处理方法及装置 |
US20170364877A1 (en) * | 2016-06-20 | 2017-12-21 | Jpmorgan Chase Bank, N.A. | System and method for implementing a global payment engine |
CN108022087A (zh) * | 2017-11-22 | 2018-05-11 | 深圳市牛鼎丰科技有限公司 | 支付数据处理方法、装置、存储介质和计算机设备 |
CN110548699A (zh) * | 2019-09-30 | 2019-12-10 | 华南农业大学 | 一种基于双目视觉和多光谱检测技术的菠萝自动分级分拣方法及装置 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN110838065A (zh) * | 2019-10-24 | 2020-02-25 | 腾讯云计算(北京)有限责任公司 | 一种交易数据处理方法及装置 |
CN111008825A (zh) * | 2019-11-27 | 2020-04-14 | 山东爱城市网信息技术有限公司 | 一种基于区块链的跨境支付方法、设备及介质 |
-
2021
- 2021-08-10 CN CN202110915624.6A patent/CN113641517B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182502A (ja) * | 2012-03-02 | 2013-09-12 | Nec Corp | リソース配分システム、リソース配分方法、及びリソース配分プログラム |
US20170052804A1 (en) * | 2015-08-21 | 2017-02-23 | International Business Machines Corporation | Controlling priority of dynamic compilation |
US20170364877A1 (en) * | 2016-06-20 | 2017-12-21 | Jpmorgan Chase Bank, N.A. | System and method for implementing a global payment engine |
CN106802826A (zh) * | 2016-12-23 | 2017-06-06 | ***股份有限公司 | 一种基于线程池的业务处理方法及装置 |
CN108022087A (zh) * | 2017-11-22 | 2018-05-11 | 深圳市牛鼎丰科技有限公司 | 支付数据处理方法、装置、存储介质和计算机设备 |
CN110837401A (zh) * | 2018-08-16 | 2020-02-25 | 苏宁易购集团股份有限公司 | 一种java线程池分级处理方法和装置 |
CN110548699A (zh) * | 2019-09-30 | 2019-12-10 | 华南农业大学 | 一种基于双目视觉和多光谱检测技术的菠萝自动分级分拣方法及装置 |
CN110838065A (zh) * | 2019-10-24 | 2020-02-25 | 腾讯云计算(北京)有限责任公司 | 一种交易数据处理方法及装置 |
CN111008825A (zh) * | 2019-11-27 | 2020-04-14 | 山东爱城市网信息技术有限公司 | 一种基于区块链的跨境支付方法、设备及介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114244904A (zh) * | 2021-12-15 | 2022-03-25 | 平安科技(深圳)有限公司 | 遥感数据传输方法、装置、设备及介质 |
CN114244904B (zh) * | 2021-12-15 | 2023-05-09 | 平安科技(深圳)有限公司 | 遥感数据传输方法、装置、设备及介质 |
CN115033393A (zh) * | 2022-08-11 | 2022-09-09 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
CN115033393B (zh) * | 2022-08-11 | 2023-01-17 | 苏州浪潮智能科技有限公司 | 批量请求下发的优先排队处理方法、装置、服务器及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113641517B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113641517A (zh) | 业务数据的发送方法、装置、计算机设备和存储介质 | |
CN111901249B (zh) | 业务限流方法、装置、设备及存储介质 | |
CN110838065A (zh) | 一种交易数据处理方法及装置 | |
JPH1049390A (ja) | リソース共用のためのシステムおよび方法 | |
CN112036648A (zh) | 基于模型的任务分配方法、装置、计算机设备和存储介质 | |
CN109726983A (zh) | 审批任务分配方法、装置、计算机设备和存储介质 | |
CN109767070A (zh) | 案件分配方法、装置、计算机设备和存储介质 | |
CN111476460A (zh) | 一种银行自助设备智慧运营调度的方法、设备和介质 | |
CN104657207A (zh) | 远程授权请求的调度方法、业务服务器和调度*** | |
CN108847278B (zh) | 线上问诊自动分配方法、装置、计算机设备和存储介质 | |
CN115239450A (zh) | 财务数据处理方法、装置、计算机设备及存储介质 | |
CN110599384A (zh) | 组织关系的转移方法、装置、设备及存储介质 | |
CN112416558A (zh) | 基于区块链的业务数据处理方法、装置及存储介质 | |
CN108259363A (zh) | 一种阶梯式业务流量控制的方法及装置 | |
CN110750350A (zh) | 一种大资源调度方法、***、装置及可读存储介质 | |
Sun et al. | Development of a fuzzy-queue-based interval linear programming model for municipal solid waste management | |
CN115169797A (zh) | 工作犬调用方法及相关装置 | |
CN114511200A (zh) | 作业数据的生成方法、装置、计算机设备和存储介质 | |
CN113327350A (zh) | 一种开门认证***、方法、装置、控制设备及存储介质 | |
CN113849286A (zh) | 对账数据导入方法、***、设备及计算机可读存储介质 | |
CN112632634B (zh) | 签名数据的处理方法、装置、计算机设备和存储介质 | |
CN114358508A (zh) | 一种工单分配方法、装置、设备和介质 | |
CN111008078A (zh) | 数据的批量处理方法、装置、设备及计算机存储介质 | |
CN112988824B (zh) | 数据生成方法、装置、计算机设备和存储介质 | |
CN114565200A (zh) | 案件分配方法、电子设备及计算机可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231108 Address after: Room 301-2, No. 206 Kaibin Road, Xuhui District, Shanghai, 200000 Patentee after: Ping An Technology (Shanghai) Co.,Ltd. Address before: 518000 Guangdong, Shenzhen, Futian District Futian street Fu'an community Yitian road 5033, Ping An financial center, 23 floor. Patentee before: PING AN TECHNOLOGY (SHENZHEN) Co.,Ltd. |