一种名单派发方法、装置及电子设备与流程

文档序号:31543146发布日期:2022-09-17 00:25阅读:52来源:国知局
一种名单派发方法、装置及电子设备与流程

1.本发明涉及数据处理技术领域,尤其涉及一种名单派发方法、装置及电子设备。


背景技术:

2.银行、证券和保险等金融机构在金融产品或者其他业务推广时,电话销售是一种常用的推销方式。第一金融产品可能每月有近10万的名单要交给ai外呼、电销、短信等平台进行用户触达,业务需要在月初,进行名单赛选,派发给对应的电销渠道。业务人员每月1号有超过5万的名单需要在4个小时内派发完成。
3.现有的派发是单机单线程进行派发,是一个同步的过程。平均单笔派发时间为300ms,如单日有5万名单需要派发,需要的时间为4.16个小时,派发时间较长,已经基本不能满足业务对于派发时效性的要求,名单派发效率低。
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.图1为本发明一种名单派发方法较佳实施例的流程图;
44.图2为本发明一种名单派发装置的较佳实施例的功能模块示意图;
45.图3为本发明一种电子设备的较佳实施例的硬件结构示意图。
具体实施方式
46.为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
47.现有技术中的名单派方法如下:业务人员筛选名单;业务人员选择派发渠道;点击派发;判断是否有待派发数据;若是,调用派发方接口派发,数据派发完成,继续判断有待派发数据;若无待派发数据;则更新派发状态,派发时间较长,为克服现有技术的缺陷,本发明实施例提供了一种名单派发方法,通过信号量的控制,实现了多线程执行的线程数数量限制,同时,信号量的回收,完成多线程的执行结果等待处理。在机器性能范围内,只需要配置信号量的数量,即可快速的拓展派发的速率。
48.以下结合附图对本发明实施例进行介绍。
49.针对上述问题,本发明实施例提供了一种名单派发方法,请参阅图1,图1为本发明一种名单派发方法较佳实施例的流程图。如图1所示,其包括:
50.步骤s100、检测到名单派发指令,则读取信号量总数;
51.步骤s200、判断是否有待派发数据,若是,则执行步骤s300,若否,则执行步骤s400;
52.步骤s300、根据信号量调用线程,基于所述线程进行名单派发,派发完成后,释放所述线程;
53.步骤s400、回收所有信号量,更新派发状态。
54.具体实施时,本发明实施例针对现有的单机单线程,本方案,通过信号量的控制,在不改变原本业务交互逻辑的情况下,在机器性能的范围内可以实现快速的配置信号量的数量,线性的提升派发效率。通过共享信号量,则可以突破单机限制,实现理论上的无限派发速率提升。
55.本发明实施例主要用于对名单进行派发,是通过信号量进行控制,实现快速的配置信号量,提升派发效率。业务人员需要进行名单派发时,触发名单派发指令,系统在检测到名单派发指令被触发后,读取派发的系统中信号量总数。优选的,在获取信号量总数后,可根据需要进行信号量的总数配置,提升派发效率。其中,信号量是指信号量(semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。为了完成这个过程,需要创建一个信号量vi,然后将acquire semaphore vi以及release semaphore vi分别放置在每个关键代码段的首末端。确认这些信号量vi引用的是初始创建的信号量。
56.在接收到名单派发指令后,进一步判断是否有待派发数据,若有待派发数据,则取用信号量,根据信号量在线程池中取出线程,根据线程派发名单,并在该次派发结束后,释放线程池。
57.若没有待派发数据,则回收所有的信号量,更新派发状态为派发完成,结束所有操作。
58.在一个实施例中,检测到名单派发指令,则读取信号量总数前,包括:
59.获取业务人员设定的派发参数,根据所述派发参数触发名单派发指令。
60.具体实施时,本发明实施例通过业务提前对派发参数进行设定,设定完成后,再将派发参数下发至名单派发系统。
61.在一个实施例中,获取业务人员设定的派发参数,根据所述派发参数触发名单派发指令,包括:
62.获取业务人员设定的派发名单和派发渠道,根据派发名单和派发渠道进入对应的派发页面;
63.在所述派发页面检测到业务人员的派发按钮点击操作,触发名单派发指令。
64.具体实施时,业务人员根据业务场景筛选待派发的名单,并选择派发的渠道,派发的渠道包括但不限于短信、微信、电话通知,根据派发名单和派发渠道进入对应的派发页面,业务人员在派发页面点击派发按钮,触发名单派发指令。
65.在一个实施例中,检测到名单派发指令,则读取信号量总数,包括:
66.检测到名单派发指令,则读取信号量总数;
67.根据信号量总数确定派发总线程数量。
68.具体实施时,在检测到名单派发指令后,读取当前的信号量总数,其中信号量为用于派发名单的所使用的信号量,通过信号量总数从而可确定可用于派发名单的派发总线程的数量。
69.在一个实施例中,若有待派发数据,则根据信号量调用线程,基于所述线程进行名单派发,派发完成后,释放所述线程,包括:
70.若有待派发数据,则取出一个信号量,根据一个信号量在线程池中取出一个线程;
71.根据所述线程进行名单派发,调用派发接口派发名单;
72.检测到名单派发完成后,释放信号量,释放线程,归还线程至线程池。
73.具体实施时,若有待派发数据时,通过取出一个信号量,证明当前有可用的线程,此时取出一个线程,根据取出的线程进行派发流程,调用派发方接口进行派发,检测到名单派发完成,释放信号号,同时也将线程进行释放,将线程归还至线程池,并继续判断是否有待派发数据。
74.在一个实施例中,所述若无待派发数据,则回收所有信号量,更新派发状态,包括:
75.若无待派发数据,则回收所有信号量;
76.对信号量的释放情况进行检测;
77.若检测到所有信号量均被释放,则更新派发状态。
78.具体实施时,如果未检测到没有待派发的数据,说明名单已派发完成。此时回收所有信号量,不再进行线程调用,等所有信号量释放后,回收完成。更新派发状态为派发完成,完成名单派发操作。
79.在一个实施例中,若有待派发数据,则取出一个信号量,根据一个信号量在线程池中取出一个线程,包括:
80.若有待派发数据,则发出信号量取出指令,判断信号量是否取出成功;
81.若取出成功,则根据一个信号量在线程池中取出一个线程;
82.若取出失败,则等待信号量释放后,再进行信号量取出操作。
83.具体实施时,在对信号量进行取出时,还需要对信号量的取出状态进行判断,当信号量均被占用时,信号量无法取出,信号量的取出状态为取出失败,需要等待信号量释放
后,再进行信号量取出操作,直至信号量取出成功;若信号量的取出状态为成功,则在线程池中取出线程,供派发名单使用。
84.本发明还提供了一种名单派发方法具体应用实施例,具体步骤如下:
85.开始;
86.业务人员筛选名单;
87.业务人员选择派发渠道;
88.点击派发;
89.读取信号量总数,确定派发总线程数量;
90.判断是否有待派发数据;
91.若待派发数据,则取出一个信号量,若信号量取出成功,则在线程池取出一个线程,进行派发,调用派发方接口派发,该数据派发完成,释放线程,归还线程池;
92.若信号量取出失败,则等待信号量释放;
93.若无待派发数据,则回收所有信号量,等待所有信号量释放,更新派发状态,结束。
94.本发明实施例的名单派发方法,通过信号量的控制,实现了多线程执行的线程数数量限制,同时,信号量的回收,完成多线程的执行结果等待处理。在机器性能范围内,只需要配置信号量的数量,即可快速的拓展派发的速率,而派发速率是线性提升的。当机器性能达到瓶颈,则可以通过共享信号量的方式,达到性能的提升。也就是说,在未来名单量的不断提升,只需要改变信号量的数量,就可以成倍的提升性能,完成业务对性能的要求。
95.需要说明的是,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
96.本发明另一实施例提供一种名单派发装置,如图2所示,装置1包括:
97.信号量读取模块11,用于检测到名单派发指令,则读取信号量总数;
98.判断模块12,用于判断是否有待派发数据;
99.线程调用与派发模块13,用于若有待派发数据,则根据信号量调用线程,基于所述线程进行名单派发,派发完成后,释放所述线程;
100.信号回收模块14,用于若无待派发数据,则回收所有信号量,更新派发状态。
101.具体实施方式见方法实施例,此处不再赘述。
102.在一个实施例中,装置还包括派发指令触发模块,派发指令触发模块具体用于:
103.获取业务人员设定的派发参数,根据所述派发参数触发名单派发指令。
104.具体实施方式见方法实施例,此处不再赘述。
105.在一个实施例中,派发指令触发模块还用于:
106.获取业务人员设定的派发名单和派发渠道,根据派发名单和派发渠道进入对应的派发页面;
107.在所述派发页面检测到业务人员的派发按钮点击操作,触发名单派发指令。
108.具体实施方式见方法实施例,此处不再赘述。
109.在一个实施例中,信号量读取模块11具体用于:
110.检测到名单派发指令,则读取信号量总数;
111.根据信号量总数确定派发总线程数量。
112.具体实施方式见方法实施例,此处不再赘述。
113.在一个实施例中,线程调用与派发模块13具体用于:
114.若有待派发数据,则取出一个信号量,根据一个信号量在线程池中取出一个线程;
115.根据所述线程进行名单派发,调用派发接口派发名单;
116.检测到名单派发完成后,释放信号量,释放线程,归还线程至线程池。
117.具体实施方式见方法实施例,此处不再赘述。
118.在一个实施例中,信号回收模块14具体用于:
119.若无待派发数据,则回收所有信号量;
120.对信号量的释放情况进行检测;
121.若检测到所有信号量均被释放,则更新派发状态。
122.具体实施方式见方法实施例,此处不再赘述。
123.在一个实施例中,线程调用与派发模块13还用于:
124.若有待派发数据,则发出信号量取出指令,判断信号量是否取出成功;
125.若取出成功,则根据一个信号量在线程池中取出一个线程;
126.若取出失败,则等待信号量释放后,再进行信号量取出操作。
127.具体实施方式见方法实施例,此处不再赘述。
128.本发明另一实施例提供一种电子设备,如图3所示,电子设备10包括:
129.一个或多个处理器110以及存储器120,图3中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图3中以通过总线连接为例。
130.处理器110用于完成电子设备10的各种控件逻辑,其可以为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、单片机、arm(acorn risc machine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件控件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,dsp和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核、或任何其它这种配置。
131.存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的名单派发方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行设备10的各种功能应用以及数据处理,即实现上述方法实施例中的名单派发方法。
132.存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需要的应用程序;存储数据区可存储根据设备10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
133.一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的名单派发方法,例如,执行以上描述的图1中的方法步骤s100至步骤s400。
134.本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存
储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤s100至步骤s400。
135.作为示例,非易失性存储介质能够包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦rom(eeprom)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(ram)。通过说明并非限制,ram可以以诸如同步ram(sram)、动态ram、(dram)、同步dram(sdram)、双数据速率sdram(ddr sdram)、增强型sdram(esdram)、synchlink dram(sldram)以及直接rambus(兰巴斯)ram(drram)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器控件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。
136.本发明的另一种实施例提供了一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被处理器执行时,使处理器执行上述方法实施例的名单派发方法。例如,执行以上描述的图1中的方法步骤s100至步骤s400。
137.以上所描述的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际需要选择其中的部分或者全部模块来实现本实施例方案的目的。
138.通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存在于计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行各个实施例或者实施例的某些部分的方法。
139.除了其他之外,诸如"能够'、"能"、"可能"或"可以"之类的条件语言除非另外具体地陈述或者在如所使用的上下文内以其他方式理解,否则一般地旨在传达特定实施方式能包括(然而其他实施方式不包括)特定特征、元件和/或操作。因此,这样的条件语言一般地还旨在暗示特征、元件和/或操作对于一个或多个实施方式无论如何都是需要的或者一个或多个实施方式必须包括用于在有或没有输入或提示的情况下判定这些特征、元件和/或操作是否被包括或者将在任何特定实施方式中被执行的逻辑。
140.已经在本文中在本说明书和附图中描述的内容包括能够提供名单派发方法及装置的示例。当然,不能够出于描述本公开的各种特征的目的来描述元件和/或方法的每个可以想象的组合,但是可以认识到,所公开的特征的许多另外的组合和置换是可能的。因此,显而易见的是,在不脱离本公开的范围或精神的情况下能够对本公开做出各种修改。此外,或在替代方案中,本公开的其他实施例从对本说明书和附图的考虑以及如本文中所呈现的本公开的实践中可能是显而易见的。意图是,本说明书和附图中所提出的示例在所有方面被认为是说明性的而非限制性的。尽管在本文中采用了特定术语,但是它们在通用和描述性意义上被使用并且不用于限制的目的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1