大用户量任务快速拆分处理方法、系统及计算机技术方案

技术编号:29673097 阅读:11 留言:0更新日期:2021-08-13 21:54
本发明专利技术涉及数据处理领域,特别涉及一种大用户量任务快速拆分处理方法及系统。拆分处理方法包括步骤:步骤S1,接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;步骤S2,根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;步骤S3,对所述预拆分用户分列表进行真实拆分,得到相应的多个真实用户分列表;步骤S4,对所述多个真实用户分列表内的用户按照所述任务内容同步进行处理。本发明专利技术通过对用户总列表采用先拆分,后处理的方式,将任务按需进行不同层多次拆分,直至达到指定大小,使任务处理更快速,更可靠与更可控。

【技术实现步骤摘要】
大用户量任务快速拆分处理方法、系统及计算机
本专利技术涉及数据处理领域,特别涉及一种大用户量任务快速拆分处理方法、系统及计算机。
技术介绍
在业务系统中,经常会有针对大用户量进行某一处理任务的功能,如对所有注册用户发送生日祝福消息的任务,此时需要将祝福消息在一小时内发送给相应的注册用户。而目前的大用户量任务的处理装置,一般都是使用高性能数据库保存用户信息,然后程序开启多个线程,通过对用户信息进行分片,每个线程分配到指定片区后,线程按指定可处理的单次最大用户数,从数据库中获取对应片区用户后进行处理。一般数据库通过多线程进行处理时,大用户量任务的拆分与处理过程是同时进行的。随着业务系统的注册用户量不断增长,因数据库性能限制,并发线程并不能无限制增加,这样导致处理速度会受限制。而多线程在处理数据时,又很容易因处理中断,导致重复处理、错漏处理、超时处理等,造成业务上的不可靠问题。
技术实现思路
为解决如何将任务先进行拆分到指定大小,再由多线程方式进行快速处理的技术问题,本专利技术提供一种大用户量任务快速拆分处理方法、系统及计算机。本专利技术实施例一方面提供一种大用户量任务快速拆分处理方法,其针对将用户总列表拆分成指定大小,所述拆分处理方法包括如下步骤:步骤S1,接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;步骤S2,根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;所述预拆分的方法包括步骤:步骤S21,所述用户总列表共包含N个用户,对所述N个用户进行预拆分,得到多个预拆分用户分列表,单个预拆分用户分列表内共包含n个用户,表示为:n=N/10m,其中,;步骤S22,判断预拆分后的所述单个预拆分用户分列表中n的数值是否大于最大可处理用户量的数值的一百倍:若为是,则执行步骤S21,若为否,则执行步骤S3;步骤S3,对所述预拆分用户分列表进行真实拆分,得到相应的多个真实用户分列表;所述真实拆分的方法包括步骤:步骤S31,所述真实用户分列表共包含x个用户,表示为:x=n/10y;其中,;步骤S32,判断真实拆分后的单个真实用户分列表中x的数值是否大于最大可处理用户量的数值:若为是,则执行步骤S31;若为否,则执行步骤S4;步骤S4,对所述多个真实用户分列表内的用户按照所述任务内容同步进行处理。作为上述实施例的进一步改进,在步骤S1中,通过分段续传接收外部系统提交的用户总列表;所述分段续传的方法包括步骤:步骤S11、在第一批用户信息上传后返回一个任务名称;步骤S12、在第二批所述用户信息上传时带上所述任务名称,得到一个新的任务名称,并继续上传;步骤S13,重复执行步骤S12,直至所有用户信息上传完毕后,得到用户总列表。本专利技术实施例另一方面提供一种大用户量任务快速拆分处理系统,其采用大用户量任务快速拆分处理方法对大用户量任务进行处理,所述拆分处理系统包括:任务接收模块,其用于接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;任务预拆分模块,其根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;任务真实拆分模块,其对所述预拆分用户分列表进行真实拆分,得到相应的多个真实用户分列表;以及任务处理模块,其对所述多个真实用户分列表内的用户按照所述任务内容同步进行处理。作为上述实施例的进一步改进,所述拆分处理系统还包括:任务实时监控模块,其用于对所述任务接收模块、任务预拆分模块、任务真实拆分模块以及任务处理模块实时监控,记录相应的数据并显示各个模块当前待处理数据和最近一分钟的处理数据;当所述当前待处理数据归零时,则表示相应的模块任务完成,当所述当前待处理数据超过阈值时,则发送报警信息,以提醒运维人员相应的模块出错。作为上述实施例的进一步改进,所述任务接收模块还支持以文件方法接收外部系统提交的用户总列表;所述文件方法包括步骤:将单个或多个文件按预定格式存放至服务器内;将所述文件的位置与用户信息通过接口传入到服务器后返回一个任务名称,任务接收模块下载相应文件到本地进行解析,读取到相应的用户信息的数据;对多个用户信息的数据进行汇总,得到用户总列表。作为上述实施例的进一步改进,所述任务真实拆分模块在对预拆分用户分列表进行真实拆分时,对预拆分用户分列表内的用户进行幂等判断,以防止对同一用户进行多次处理。作为上述实施例的进一步改进,所述幂等判断的方法为:将所述用户的序号与其余序号进行比较,若相同,则不进行保存,若不相同,则进行保存。作为上述实施例的进一步改进,所述任务处理模块对真实用户分列表内的用户进行处理时,对每个用户进行防重复判断,防止对同一用户进行多次处理。作为上述实施例的进一步改进,所述防重复判断的方法为:将已处理成功的用户的任务名称记录到数据库中,在对一个新的用户进行处理时,判断新的用户的任务名称是否在数据库中被记录,若被记录,则表示为已处理,标识为完成,若未被记录,则将新的用户的任务名称记录到数据库内。本专利技术实施例再一方面提供一种计算机,其包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器上运行的计算机程序是用于实现大用户量任务快速拆分处理系统。本专利技术的有益效果为:1、通过对用户总列表采用先拆分,后处理的方式,将任务,按需进行不同层多次拆分,直至达到指定大小,再由多线程方式进行快速处理,大大提升了处理能力,使任务处理更快速,更可靠与更可控;2、用户信息支持自动去重,同时支持多种方式传入,并支持中断续传,大批量并发传入;3、任务拆分支持中断可重复拆分,会自动进行幂等拆分处理,同时支持多层多并发同时拆分;4、任务处理支持高并发配置与最大上限速度控制,并有防重复机制,同一任务仅执行一次;5、可视化监控,管理后台可查看到拆分后任务的各个阶段待处理任务数据与处理速度;6、系统性能线性成长,拆分不受处理速度限制,整个拆分处理速度可任意横向扩容,达到快速提高性能;7、通用性好,可在任意大用户量任务场景下使用。附图说明通过附图中所示的本专利技术优选实施例更具体说明,本专利技术上述及其它目的、特征和优势将变得更加清晰。在全部附图中相同的附图标记指示相同的部分,且并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本的主旨。图1为本专利技术实施例1提供的一种大用户量任务快速拆分处理方法的流程图。图2为本专利技术实施例2提供的一种大用户量任务快速拆分处理系统的示意图。图3为图2中对用户总列表进行拆分的示意图。具体实施方式下面结合附图和具体实施例对本专利技术技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本专利技术并能予以实施,但所举实施例不本文档来自技高网...

【技术保护点】
1.一种大用户量任务快速拆分处理方法,其针对将用户总列表拆分成指定大小,其特征在于,所述拆分处理方法包括如下步骤:/n步骤S1,接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;/n步骤S2,根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;所述预拆分的方法包括步骤:/n步骤S21,所述用户总列表共包含N个用户,对所述N个用户进行预拆分,得到多个预拆分用户分列表,单个预拆分用户分列表内共包含n个用户,表示为:n=N/10

【技术特征摘要】
1.一种大用户量任务快速拆分处理方法,其针对将用户总列表拆分成指定大小,其特征在于,所述拆分处理方法包括如下步骤:
步骤S1,接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;
步骤S2,根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;所述预拆分的方法包括步骤:
步骤S21,所述用户总列表共包含N个用户,对所述N个用户进行预拆分,得到多个预拆分用户分列表,单个预拆分用户分列表内共包含n个用户,表示为:n=N/10m,其中,;
步骤S22,判断预拆分后的所述单个预拆分用户分列表中n的数值是否大于最大可处理用户量的数值的一百倍:若为是,则执行步骤S21,若为否,则执行步骤S3;
步骤S3,对所述预拆分用户分列表进行真实拆分,得到相应的多个真实用户分列表;所述真实拆分的方法包括步骤:
步骤S31,所述真实用户分列表共包含x个用户,表示为:x=n/10y;其中,;
步骤S32,判断真实拆分后的单个真实用户分列表中x的数值是否大于最大可处理用户量的数值:若为是,则执行步骤S31;若为否,则执行步骤S4;
步骤S4,对所述多个真实用户分列表内的用户按照所述任务内容同步进行处理。


2.根据权利要求1所述的大用户量任务快速拆分处理方法,其特征在于,在步骤S1中,通过分段续传接收外部系统提交的用户总列表;所述分段续传的方法包括步骤:
步骤S11、在第一批用户信息上传后返回一个任务名称;
步骤S12、在第二批所述用户信息上传时带上所述任务名称,得到一个新的任务名称,并继续上传;
步骤S13,重复执行步骤S12,直至所有用户信息上传完毕后,得到用户总列表。


3.一种大用户量任务快速拆分处理系统,其特征在于,其采用如权利要求1或2任意一项所述的大用户量任务快速拆分处理方法对大用户量任务进行处理,所述拆分处理系统包括:
任务接收模块,其用于接收外部系统提交的用户总列表和任务内容,并将所述用户总列表和所述任务内容进行关联;
任务预拆分模块,其根据所述任务内容,配置相应的最大可处理用户量,并对所述用户总列表进行预拆分,得到相应的多个预拆分用户分列表;
任务真实拆分模块,其对所述预拆分用户分列表进行真实拆分,得到相应的多个真实用户分列表;以及...

【专利技术属性】
技术研发人员:赖年祥何锴陈浩洋朱威
申请(专利权)人:中邮消费金融有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1