业务数据的发送方法、装置、计算机设备和存储介质与流程

文档序号:27397963发布日期:2021-11-15 23:08阅读:105来源:国知局
业务数据的发送方法、装置、计算机设备和存储介质与流程

1.本技术涉及数据处理技术领域,具体涉及一种业务数据的发送方法、装置、计算机设备和存储介质。


背景技术:

2.理财产品投资需要便捷的支付能力支持,因此需要对接的第三方支付公司或银行直连(后续统称支付渠道)以提供支付能力。有了支付渠道支持,理财产品才能够在相关网站内直接完成投资购买或赎回。
3.目前,支付业务可分为不同类别,具体可包括先投资后代扣业务、充值取现业务与定期投资业务。且各种类别的支付业务对处理时效的要求各不相同。现有将支付业务发送至支付渠道处理的方式,通常是按照接收到的各个支付业务的顺序来依次发送至支付渠道。当把处理时效高的支付业务排在后面发送,而把大量的处理时效低的支付业务排在前面发送时,使得处理时效低的支付业务会长时间占用支付渠道能力,从而出现处理时效高的支付业务不能及时发送处理而超过时效限制的情况,进而导致出现用户对于理财产品的投资失败的情况。因此,现有的对于支付业务的发送方式,存在容易造成处理时效高的支付业务不能及时发送至支付渠道处理、支付业务的处理智能性较低、处理时效高的支付业务的支付成功率较低的问题。


技术实现要素:

4.本技术的主要目的为提供一种业务数据的发送方法、装置、计算机设备和存储介质,旨在解决现有的对于支付业务的发送方式,存在容易造成处理时效高的支付业务不能及时发送至支付渠道处理、支付业务的处理智能性较低、处理时效高的支付业务的支付成功率较低的技术问题。
5.本技术提出一种业务数据的发送方法,所述方法包括步骤:
6.获取与理财产品对应的待处理的支付业务;
7.基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
8.按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
9.按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
10.通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
11.基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
12.可选地,所述按照预设的数据放入规则将所述待处理的支付业务放入至预设的线
程池内的步骤,包括:
13.在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
14.判断所述数据占用量是否处于预设的第一数量区间内;
15.若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
16.若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
17.若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
18.若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
19.若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
20.可选地,所述线程池中预先创建有至少一个处理线程,所述按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内的步骤,包括:
21.将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
22.当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
23.为各所述目标处理线程与各所述分区建立一一对应的关联关系;
24.调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
25.可选地,所述当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程的步骤之前,包括:
26.获取内部的配置数据;
27.从所述配置数据中提取cpu核数;
28.获取预设的参数数值;
29.基于所述cpu核数与所述参数数值,生成相应的指定数量;
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.发送模块,用于基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
59.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
60.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
61.本技术中提供的业务数据的发送方法、装置、计算机设备和存储介质,具有以下有益效果:
62.本技术中提供的业务数据的发送方法、装置、计算机设备和存储介质,在获得了与理财产品对应的待处理的支付业务后,会先基于支付业务的处理时限信息生成所述待处理的支付业务的优先级,并按照预设的数据放入规则将所述待处理的支付业务放入预设的线程池内,再按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内,通过优先级队列基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,并基于得到的排序结果来将所述优先级队列中包含的所有待处理的支付业务发送至对应的支付渠道。本实施例通过基于支付业务的优先级以及各所述支付业务的获取时间来对优先级队列中的所有支付业务进行相应排序,可以使得优先级高且获取时间靠前的支付业务会优先被发送至目标支付渠道进行处理,有效地提高了支付业务发送处理的智能性与及时性,有利于最大程度利用支付渠道能力,进而提升处理时效高的支付业务的支付成功率。
附图说明
63.图1是本技术一实施例的业务数据的发送方法的流程示意图;
64.图2是本技术一实施例的业务数据的发送装置的结构示意图;
65.图3是本技术一实施例的计算机设备的结构示意图。
66.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
67.应当理解,此处所描述的具体实施例仅仅用于解释本技术,并不用于限定本技术。
68.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
69.参照图1,本技术一实施例的业务数据的发送方法,包括:
70.s1:获取与理财产品对应的待处理的支付业务;
71.s2:基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先
级;
72.s3:按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
73.s4:按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
74.s5:通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
75.s6:基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
76.如上述步骤s1至s6所述,本方法实施例的执行主体为一种业务数据的发送装置。在实际应用中,上述业务数据的发送装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的业务数据的发送装置,能够有效地提高了支付业务发送处理的智能性,有利于最大程度利用支付渠道能力,提升处理时效高的支付业务的支付成功率。具体地,首先获取与理财产品对应的待处理的支付业务。其中,支付业务的类型包括先投资后代扣业务、充值取现业务与定期投资业务。所述待处理的支付业务的数量包括多个。
77.在得到所述待处理的支付业务后,基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中。其中,所述优先级包括高优先级、中优先级与低优先级。另外,上述处理时效信息可根据实际的业务需求生成。具体的,先投资后代扣业务由用户在页面发起,需要考虑用户体验以及资产占用,有支付时效要求,超时会失败,其处理时效要求最高、重要性也最高,故可将其对应的优先级设置为高优先级。充值取现业务考虑用户体现有一定时效要求,具有一定的处理时效与重要性,可将其对应的优先级设置为中优先级。定期投资业务是由用户设置定期投资计划,后台系统根据这些计划定时发起。特点是发起会比较集中,但时效要求不高,重要性也不高,可将其对应的优先级设置为低优先级。
78.然后按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内。其中,所述数据放入规则是指在线程池的数据占用量处于不同的数量区间时,会对可放入线程池的优先级进行相应的限制。具体的,当线程池的数据占用量处于预设的第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池,当线程池的数据占用量处于预设的第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池。当线程池的数据占用量处于预设的第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池。另外,对于所述第一数量区间、第二数量区间与第三数量区间的具体取值范围不做限定,可根据实际需求进行设置。之后按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内。其中,所述优先级队列不同于常规的队列,具体可为能够同时放置由多种不同的数据发送渠道分别放入的业务数据的队列。具体的,可先将所述线程池中优先级相同的待处理的支付业务存入预设的同一
个分区中,再从线程池中预先创建的所有处理线程中筛选出与所有所述分区的数量相同的多个目标处理线程,来并发执行将各分区内的待处理的支付业务放入所述优先级队列中的处理流程。
79.后续通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果。其中,具体可按照优先级越高排序越前以及优先级相同时获取时间越早排序越前的排序规则,对优先级队列中包含的所有待处理的支付业务进行排序以生成相应的排序结果。最后基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。其中,可调用出所述线程池中预先创建的所有处理线程,再通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务,进而通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
80.本实施例在获得了与理财产品对应的待处理的支付业务后,会先基于支付业务的处理时限信息生成所述待处理的支付业务的优先级,并按照预设的数据放入规则将所述待处理的支付业务放入预设的线程池内,再按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内,通过优先级队列基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,并基于得到的排序结果来将所述优先级队列中包含的所有待处理的支付业务发送至对应的支付渠道。本实施例通过基于支付业务的优先级以及各所述支付业务的获取时间来对优先级队列中的所有支付业务进行相应排序,可以使得优先级高且获取时间靠前的支付业务会优先被发送至目标支付渠道进行处理,有效地提高了支付业务发送处理的智能性与及时性,有利于最大程度利用支付渠道能力,进而提升处理时效高的支付业务的支付成功率。
81.进一步地,本技术一实施例中,上述步骤s3,包括:
82.s300:在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
83.s301:判断所述数据占用量是否处于预设的第一数量区间内;
84.s302:若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
85.s303:若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
86.s304:若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
87.s305:若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
88.s306:若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线
程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
89.如上述步骤s300至s306所述,所述按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内的步骤,具体可包括:在将所述待处理的支付业务放入所述线程池的过程中,首先获取所述线程池的数据占用量。其中,线程池的数据占用量是指线程池内放入的业务数量与该线程池的最大可容纳数量之间的比值。然后判断所述数据占用量是否处于预设的第一数量区间内。其中,对于所述第一数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第一数量区间可为0%到25%区间,且该区间包含左端点0与右端点25%。若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池。而若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内。其中,所述第二数量区间的最小值大于所述第一数量区间的最大值。另外,对于所述第二数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第二数量区间可为25%到75%区间,且该区间不包含左端点25%与右端点75%。若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池。若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内。其中,所述第三数量区间的最小值大于所述第二数量区间的最大值。另外,对于所述第三数量区间的具体取值范围不做限定,可根据实际需求进行设置,举例地,第三数量区间可为75%到100%区间,且该区间包含左端点75%与右端点100%。若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。其中,所述预设占用量阈值可为100%。另外,考虑支付业务数据的优先级的顺序性,如果低优先级的待处理的支付业务在同一时间过多,高优先级的待处理的支付业务则可能没有机会进入后续的优先级队列,也就走不到优先级排队策略。针对此问题,通过增加设置数量区间,可称作线程池容量水位线。当线程池的数据占用量在75%到100%区间时,只允许高优先级进入,也就是给高优先级的待处理的支付业务预留了25%空间来进入优先级队列。当线程池的数据占用量在25%到75%区间时,允许中、高优先级的待处理的支付业务进入线程池。当线程池的数据占用量在0%到25%区间,允许低、中、高优先级三种待处理的支付业务全部进入线程池。允许进入线程池是优先级排队的前提,进入后再根据优先级将较高优先级的支付业务优先送给对应的支付渠道进行处理,能够保证较高优先级的待处理的支付业务能够得到有效的发送处理。本实施例通过基于线程池的数据占用量来对可进入线程池的待处理的支付业务的优先级进行相应限定,能够有效保障在有大量低优先级的待处理的支付业务累积的情况下,也可以保证一定数量的高优先级的待处理的支付业务能够进入线程池中的优先级队列中,从而实现对于高优先级的待处理的支付业务的优先处理,保证高优先级的待处理的支付业务能够得到有效的发送处理,有利于提高高优先级的待处理的支付业务的支付成功率。
90.进一步地,本技术一实施例中,所述线程池中预先创建有至少一个处理线程,上述步骤s4,包括:
91.s400:将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
92.s401:当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
93.s402:为各所述目标处理线程与各所述分区建立一一对应的关联关系;
94.s403:调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
95.如上述步骤s400至s403所述,所述线程池中预先创建有至少一个处理线程,所述按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内的步骤,具体可包括:首先将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中。当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程。其中,上述处理线程是线程池中预先创建的用于进行数据处理的线程,该处理线程在工作状态时会进行数据处理,不工作时则会进入休眠状态。并且,对于目标处理线程的筛选确定过程不作具体限定,例如可采用随机筛选的方式。此外,可通过触发唤醒指令,并基于上述唤醒指令来并发唤醒线程池中处于休眠状态的多个目标处理线程。后续为各所述目标处理线程与各所述分区建立一一对应的关联关系。最后调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的支付业务放入至所述优先级队列内。本实施例中,通过采用与所有所述分区的数量相同的多个目标处理线程来并发执行将各分区内的待处理的支付业务放入所述优先级队列中的流程,从而能够充分利用装置的系统cpu和内存性能,发挥多核cpu的优势,降低数据处理的时延,有效减少将待处理的支付业务放入所述优先级队列中的花费时间,提高数据处理的处理效率。另外,由于处理线程是预先创建的,因而无需等待创建处理线程即可直接进行将待处理的支付业务放入所述优先级队列中的处理,以保证支付业务传输的处理效率,从而有效节省待处理的支付业务在传输过程中的处理时间。
96.进一步地,本技术一实施例中,上述步骤s4之前,包括:
97.s410:获取内部的配置数据;
98.s411:从所述配置数据中提取cpu核数;
99.s412:获取预设的参数数值;
100.s413:基于所述cpu核数与所述参数数值,生成相应的指定数量;
101.s414:在所述线程池内创建与所述指定数量相同的多个处理线程。
102.如上述步骤s410至s414所述,线程池中的分区数量小于预先创建的处理线程的数量时,在执行所述从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程的步骤之前,还可包括对于所述处理线程的创建过程。具体地,首先获取内部的配置数据。其中,所述配置数据至少可包括装置的cpu核数、内存信息等。然后从所述配置数据中提取cpu核数。其中,cpu核数是指cpu(central processing unit,中央处理器)的内核数量,即处理器的数量,可通过cpu get的操作指令来获取该内核数量。之后获取预设的参数数值。其中,上述参数数值可由预先设置的参数范围确定的数值,该参数范围例如可以是1

3。优选地,当指定数量为cpu核数的2倍时,即上述参数数值为2时,装置的cpu中线程切换的代价较少,更有利于降低后续的数据处理过程中的装置损耗。后续基于所述cpu核数与所述参数数值,生成相应的指定数量。其中,上述指定数量可为所述cpu核数与所述参数数值之间的
乘积数值。最后在所述线程池内创建与所述指定数量相同的多个处理线程。本实施例中,在基于装置的cpu核数和预设的参数数值确定出指定数量后,会预先在装置内创建线程池,该线程池包括有与指定数量相同的多个处理线程,以便后续利用该处理线程并行进行多个数据处理流程。由于处理线程在工作时会进行数据处理,不工作时则进入休眠状态,从而无需进行处理线程的创建和销毁,减少了对cpu的占用,有助于降低装置损耗。另外,线程池中的处理线程的数量与指定数量相匹配,从而可以最大程度提高数据处理的处理效率,避免装置资源的浪费,也可避免数量过多的处理线程会影响除数据处理以外的其他工作的处理效率。
103.进一步地,本技术一实施例中,上述步骤s5,包括:
104.s500:通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
105.s501:基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
106.s502:基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
107.s503:对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
108.s504:将所述整合后的排序区域作为所述排序结果。
109.如上述步骤s500至s504所述,所述通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果的步骤,具体可包括:首先通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果。然后基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域。其中,基于优先级的类别,可以将指定排序结果分为3个排序区域,即包含有高优先级的待处理的支付业务的排序区域、包含有中优先级的待处理的支付业务的排序区域以及包含有低优先级的待处理的支付业务的排序区域。之后基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域。其中,会基于获取时间对每一个排序区域进行内部的二次排序,获取时间在先的待处理的支付业务会排在获取时间在后的前面。后续对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域。其中,上述整合处理是指按照排序后的排序区域内包含的待处理的支付业务的优先级从高到低的顺序对各个排序后的排序区域进行排序,进而得到整合后的排序区域。最后将所述整合后的排序区域作为所述排序结果。本实施例中,优先级队列通过按照优先级越高排序越前,优先级相同时获取时间越早排序越前以及排序越前越先发送的排序规则,对优先级队列中包含的所有待处理的支付业务进行排序以生成相应的排序结果。从而可使得优先级高的待处理的支付业务排列在优先级队列的前面,优先级低的待处理的支付业务排列在优先级队列的后面,且优先级相同的情况时获取时间靠前的待处理的支付业务排在优先级队列的前面,获取时间靠后的待处理的支付业务排在优先级队列的后面。进而可以实现优先级高且获取时间靠前的待处理的支付业务会优先被发
送至支付渠道,有效地提高了支付业务发送处理的智能性,有利于最大程度利用支付渠道能力,提升处理时效高的支付业务的支付成功率。
110.进一步地,本技术一实施例中,上述步骤s6,包括:
111.s600:调用所述线程池中预先创建的所有处理线程;
112.s601:通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
113.s602:通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
114.如上述步骤s600至s602所述,所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤,具体可包括:首先调用所述线程池中预先创建的所有处理线程。然后通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务。最后通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。本实施例对所述优先级队列中的所有所述待处理的支付业务进行排序后,会智能的利用预先创建的线程池中的所有处理线程,基于所述优先级队列中包含的所有待处理的支付业务的排列顺序,依次从优先级队列中读取出所有所述待处理的支付业务并发送至所述支付渠道。通过使用所有处理线程同时发送优先级队列中包含的所有待处理的支付业务的处理方式可以有效缩短支付业务发送的时间,有利于提高支付业务发送的效率。
115.进一步地,本技术一实施例中,上述步骤s6之前,包括:
116.s610:获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
117.s611:从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
118.s612:从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
119.s613:获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
120.s614:从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
121.s615:从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道;
122.s616:获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
123.s617:从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
124.s618:从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
125.s619:将所述第三支付渠道作为所述支付渠道。
126.如上述步骤s610至s619所述,在执行所述基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道的步骤之前,还可包括确定出所述支付渠道的确定过程。具体地,首先获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值。其中,对于上述预设时间周期不做具体限定,可根据实际需求进行设置,例如可为距离当前时间的前一个月。另外,所述指定支付渠道可包括所有类别的支付渠道,或者为基于实际的使用需求从所有类别的支付渠道中预先挑选出的部分支付渠道。然后从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量。其中,对于上述数据处理数量阈值不做具体限定,可根据实际需求进行设置。再从所有所述支付渠道中获取与所述目标数据处理数量对应的第一支付渠道。之后获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值。其中,对于上述支付处理成功率阈值不做具体限定,可根据实际需求进行设置。再从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率。后续从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长。其中,上述平均响应时长是指在预设时间周期内第二支付渠道平均处理一件支付业务所花费的时间,可先统计第二支付渠道在预设时间周期内处理的所有支付业务的总数,以及统计第二支付渠道在预设时间周期内处理的所有支付业务所花费的总处理时间,再计算总处理时间与总数之间的比值,并将该比值作为第二支付渠道的平均响应时长。再从所有所述平均响应时长中筛选出数值最小的目标平均响应时长。最后从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道,并将所述第三支付渠道作为所述支付渠道。本实施例通过对预设时间周期内的各个指定支付渠道的数据处理数量、支付处理成功率与支付渠道的实时支付处理的平均响应时间来确定出用于对优先级队列内的待处理的支付业务进行处理的支付渠道,这样可以根据实际使用情况选择出处理量大、处理成功率高且处理速度快的优质渠道来处理待处理的支付业务,提高了对优质支付渠道的利用率。且由于确定出的支付渠道为任务处理量大且处理速度快的支付渠道,使得后续对于优先级队列中的待处理的支付业务的支付处理过程能够更加稳定高效。
127.本技术实施例中的业务数据的发送方法还可以应用于区块链领域,如将上述排序结果等数据存储于区块链上。通过使用区块链来对上述排序结果进行存储和管理,能够有效地保证上述排序结果的安全性与不可篡改性。
128.上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
129.区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求
完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
130.参照图2,本技术一实施例中还提供了一种业务数据的发送装置,包括:
131.第一获取模块1,用于获取与理财产品对应的待处理的支付业务;
132.第一生成模块2,用于基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
133.第一处理模块3,用于按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
134.第二处理模块4,用于按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
135.排序模块5,用于通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
136.发送模块6,用于基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
137.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
138.进一步地,本技术一实施例中,上述第一处理模块3,包括:
139.获取单元,用于在将所述待处理的支付业务放入所述线程池的过程中,获取所述线程池的数据占用量;
140.第一判断单元,用于判断所述数据占用量是否处于预设的第一数量区间内;
141.第一控制单元,用于若处于所述第一数量区间内,允许所有优先级的待处理的支付业务放入所述线程池;
142.第二判断单元,用于若不处于所述第一数量区间内,判断所述数据占用量是否处于预设的第二数量区间内;其中,所述第二数量区间的最小值大于所述第一数量区间的最大值;
143.第二控制单元,用于若处于所述第二数量区间内,只允许高优先级的待处理的支付业务与中优先级的待处理的支付业务放入所述线程池,限制低优先级的待处理的支付业务放入所述线程池;
144.第三判断单元,用于若不处于所述第二数量区间内,判断所述数据占用量是否处于预设的第三数量区间内;其中,所述第三数量区间的最小值大于所述第二数量区间的最大值;
145.第三控制单元,用于若处于所述第三数量区间内,只允许高优先级的待处理的支付业务放入所述线程池,限制中优先级的待处理的支付业务与低优先级的待处理的支付业务放入所述线程池,并在所述数据占用量达到预设占用量阈值后,暂停对于所述线程池的数据放入。
146.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
147.进一步地,本技术一实施例中,所述线程池中预先创建有至少一个处理线程,上述第二处理模块4,包括:
148.第一处理单元,用于将所述线程池中优先级相同的待处理的支付业务存入预设的同一个分区中;
149.筛选单元,用于当所述线程池中的分区数量小于预先创建的处理线程的数量时,从所有处理线程中随机筛选出与所述分区数量相同的多个目标处理线程;
150.第二处理单元,用于为各所述目标处理线程与各所述分区建立一一对应的关联关系;
151.第三处理单元,用于调用与各所述分区一一对应的目标处理线程,基于所述关联关系将各所述分区内的待处理的支付业务放入至所述优先级队列内。
152.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
153.进一步地,本技术一实施例中,上述业务数据的发送装置,包括:
154.第二获取模块,用于获取内部的配置数据;
155.提取模块,用于从所述配置数据中提取cpu核数;
156.第三获取模块,用于获取预设的参数数值;
157.第二生成模块,用于基于所述cpu核数与所述参数数值,生成相应的指定数量;
158.创建模块,用于在所述线程池内创建与所述指定数量相同的多个处理线程。
159.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
160.进一步地,本技术一实施例中,上述排序模块5,包括:
161.第一排序单元,用于通过所述优先级队列,基于所述优先级队列中包含的各所述待处理的支付业务的优先级从高到低的顺序对所有所述待处理的支付业务进行排序,得到对应的指定排序结果;
162.划分单元,用于基于优先级的类别,将所述指定排序结果划分为具有相同优先级的待处理的支付业务的多个排序区域;
163.第二排序单元,用于基于所述获取时间从前到后的顺序对每个所述排序区域中包含的所有待处理的支付业务进行排序,得到多个排序后的排序区域;
164.整合单元,用于对所述多个排序后的排序区域进行整合处理,得到整合后的排序区域;
165.确定单元,用于将所述整合后的排序区域作为所述排序结果。
166.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
167.进一步地,本技术一实施例中,上述发送模块6,包括:
168.调用单元,用于调用所述线程池中预先创建的所有处理线程;
169.读取单元,用于通过各所述处理线程,基于与所述优先级队列中包含的所有待处理的支付业务对应的排序结果的先后顺序,依次从所述优先级队列中读取所有所述待处理的支付业务;
170.发送单元,用于通过各所述处理线程分别将各自从所述优先级队列中读取到的待处理的支付业务发送至所述支付渠道。
171.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
172.进一步地,本技术一实施例中,上述业务数据的发送装置,包括:
173.第四获取模块,用于获取预设时间周期内每个指定支付渠道的数据处理数量,以及获取预设的数据处理数量阈值;
174.第一筛选模块,用于从所有所述数据处理数量中筛选出大于所述数据处理数量阈值的目标数据处理数量;
175.第五获取模块,用于从所有所述指定支付渠道中获取与所述目标数据处理数量对应的第一支付渠道;
176.第六获取模块,用于获取所述预设时间周期内各所述第一支付渠道的支付处理成功率,以及获取预设的支付处理成功率阈值;
177.第二筛选模块,用于从所有所述支付处理成功率筛选出大于所述支付处理成功率阈值的目标支付处理成功率;
178.第三筛选模块,用于从所有所述第一支付渠道中筛选出与所述目标支付处理成功率对应的第二支付渠道
179.第七获取模块,用于获取所述预设时间周期内各所述第二支付渠道的实时支付处理的平均响应时长;
180.第四筛选模块,用于从所有所述平均响应时长中筛选出数值最小的目标平均响应时长;
181.第九获取模块,用于从所有所述第二支付渠道中获取与所述目标平均响应时长对应的第三支付渠道;
182.确定模块,用于将所述第三支付渠道作为所述支付渠道。
183.本实施例中,上述模块或单元分别用于执行的操作与前述实施方式的业务数据的发送方法的步骤一一对应,在此不再赘述。
184.参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理的支付业务、优先级、数据放入规则、优先级队列、获取时间以及排序结果。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光
信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种业务数据的发送方法。
185.上述处理器执行上述业务数据的发送方法的步骤:
186.获取与理财产品对应的待处理的支付业务;
187.基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
188.按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
189.按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
190.通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
191.基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
192.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的装置、计算机设备的限定。
193.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种业务数据的发送方法,具体为:
194.获取与理财产品对应的待处理的支付业务;
195.基于预设的处理时效信息生成所述待处理的支付业务的优先级,并将所述优先级添加至所述待处理的支付业务中;其中,所述优先级包括高优先级、中优先级与低优先级;
196.按照预设的数据放入规则将所述待处理的支付业务放入至预设的线程池内;
197.按照所述待处理的支付业务的优先级将所述线程池中包含的所有待处理的支付业务放入至所述线程池中预设的优先级队列内;
198.通过所述优先级队列,基于所述优先级队列中各所述待处理的支付业务的优先级以及各所述待处理的支付业务的获取时间,对所述优先级队列中的所有所述待处理的支付业务进行排序,得到对应的排序结果;
199.基于所述排序结果的先后顺序,将所述优先级队列中包含的所有待处理的支付业务依次发送至对应的支付渠道。
200.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
201.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
202.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1