本发明专利技术公开了一种基于借据的多任务分布式处理方法及系统,该方法包括:获取各借据级任务,分别为所述各借据级任务对应的借据生成一个线程号;每个借据级任务对应一个借据;根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片;根据预设的分配策略,将所述多个借据分片分配到不同的机器,以使各所述机器根据接收到的借据分片,结合预设的算法获取对应的借据信息进行借据级任务处理。本方法提高了系统横向扩容能力和执行效率,可满足后续业务量不断增大的现实需求。需求。需求。
【技术实现步骤摘要】
一种基于借据的多任务分布式处理方法及系统
[0001]本专利技术涉及借据信息处理
,尤其涉及一种基于借据的多任务分布式处理方法及系统。
技术介绍
[0002]对于银行和金融机构而言,日终任务分为30余类,由于任务与任务之间存在依赖关系,所以任务需要按照一定的执行顺序进行。目前,日终任务的执行方式为按任务顺序在一台服务器上逐个执行,每个任务按条件抽取符合条件的数据,再进行数据处理,当数据处理出错时,当前所在执行任务全部回滚,需要人为干预解决后才能继续执行。
[0003]在现行的业务系统中,由于数据需在全量完成当前任务后再进行下一步处理,所以当数据处理出错时,实现单笔借据的任务重试比较复杂,系统容错能力低,运维量大。另外,由于服务器仍使用物理机,未引入分布式技术,导致系统处理能力不足,难以满足后续业务量不断增大的现实需求,难以适应未来发展的需要。
[0004]现行的日终任务处理系统至少存在以下的缺陷:系统横向扩容能力差,执行效率低。
技术实现思路
[0005]本专利技术提供了一种基于借据的多任务分布式处理方法及系统,提高系统横向扩容能力和执行效率。
[0006]为了解决上述技术问题,本专利技术实施例提供了一种基于借据的多任务分布式处理方法,包括:
[0007]获取各借据级任务,分别为所述各借据级任务对应的借据生成一个线程号;每个借据级任务对应一个借据;
[0008]根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片;
[0009]根据预设的分配策略,将所述多个借据分片分配到不同的机器,以使各所述机器根据接收到的借据分片,结合预设的算法获取对应的借据信息进行借据级任务处理。
[0010]本专利技术提供的方法将现有的单机运行的批处理任务改造成多机可以运行的分布式批处理任务进行处理,将多个借据分片分配到不同的机器进行处理,且可根据实际需要增加机器的数量,实现大量任务的快速处理,提高了系统的横向扩容能力和执行效率,可满足后续业务量不断增大的现实需求,适应未来发展的需要。
[0011]进一步地,所述根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片,具体为:
[0012]用所述线程号对所述分片总数取模,生成每个借据对应的第一分片号,获得多个借据分片。
[0013]进一步地,所述根据预设的分配策略,将所述多个借据分片分配到不同的机器,具
体为:
[0014]获取所述分片总数、所述机器的数量、以及各所述机器对应的机器排列序号;
[0015]若所述分片总数能够被所述机器的数量整除,则将所述多个借据分片平均分配到所述不同的机器;
[0016]若所述分片总数不能够被所述机器的数量整除,则先将能够整除的借据分片平均分配到所述不同的机器,再将不能整除的多余借据分片依次追加到机器排列序号小的机器上。
[0017]本专利技术采用基于平均分配算法的分配策略,将多个借据分片平均分配到不同的机器进行处理,提高了系统的执行效率。
[0018]进一步地,所述各所述机器根据接收到的借据分片,结合预设的算法获取对应的借据信息进行借据级任务处理,具体为:
[0019]获取所在机器上当前借据分片对应的第一分片号,检索出数据库中所有与所述第一分片号对应的借据;
[0020]获取与第一分片号对应的所有借据的具体数据信息,使所在机器根据所述所有借据的具体数据信息进行借据级任务处理。
[0021]本专利技术提供的方法用分片号将大量的借据进行划分,允许每个分片号可对应多个借据,可以满足后续业务量不断增大的现实需求。
[0022]进一步地,获取所述所有机器的借据级任务报错信息,更新系统错误任务数;
[0023]若所述借据级任务出现报错,则对该借据级任务进行错误标识,系统错误任务数进行自增;
[0024]若所述系统错误任务数达到预设的阈值,则对该借据级任务设置断点并等待人工干预;否则,继续正常处理其他借据级任务。
[0025]本专利技术提供的方法通过配置预设的阈值,只有当系统错误任务数达到预设的阈值时才设置断点并等待人工干预,提高了系统的容错能力,降低了运维量,有效提高了系统运行效率。
[0026]进一步地,在所述获取各借据级任务之前,还需进行任务分类,具体为:
[0027]获取系统所有任务,逐一判断所述任务是否为借据级任务,将所有任务分为借据级任务和非借据级任务两类。
[0028]进一步地,对所述非借据级任务采用异步或者调度运行。
[0029]进一步地,所述每个借据级任务包含借据级日终任务和借据级日初任务。
[0030]本专利技术还提供了一种基于借据的多任务分布式处理系统,所述系统包括:线程号生成模块、第一分片处理模块、分配模块;
[0031]所述线程号生成模块用于获取各借据级任务,分别为所述各借据级任务对应的借据生成一个线程号;每个借据级任务对应一个借据;
[0032]所述第一分片处理模块用于根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片;
[0033]所述分配模块用于根据预设的分配策略,将所述多个借据分片分配到不同的机器。
[0034]进一步地,所述系统还包括容错处理模块,用于对出错的借据级任务进行处理。
[0035]所述容错处理模块,用于对出错的借据级任务进行处理,具体为:
[0036]获取所述所有机器的借据级任务报错信息,更新系统错误任务数;
[0037]若所述借据级任务出现报错,则对该借据级任务进行错误标识,系统错误任务数进行自增;
[0038]若所述系统错误任务数达到预设的阈值,则对该借据级任务设置断点并等待人工干预;否则,继续正常处理其他借据级任务。
[0039]本专利技术提供的系统将现有的单机运行的批处理任务改造成多机可以运行的分布式批处理任务进行处理,将多个借据分片分配到不同的机器进行处理,且可根据实际需要增加机器的数量,实现大量任务的快速处理,提高了系统的横向扩容能力和执行效率,可满足后续业务量不断增大的现实需求,适应未来发展的需要。
附图说明
[0040]图1:为本专利技术提供的一种基于借据的多任务分布式处理方法的一种实施例的流程示意图;
[0041]图2:为本专利技术提供的一种基于借据的多任务分布式处理系统的一种实施例的结构示意图。
具体实施方式
[0042]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]实施例一
[0044]请参照图1,为本专利技术提供的一种基于借据的多任务分布式处理方法的一种实施例的流程示意图,包括步骤101至步骤103,各步骤具本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于借据的多任务分布式处理方法,其特征在于,包括:获取各借据级任务,分别为所述各借据级任务对应的借据生成一个线程号;每个借据级任务对应一个借据;根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片;根据预设的分配策略,将所述多个借据分片分配到不同的机器,以使各所述机器根据接收到的借据分片,结合预设的算法获取对应的借据信息进行借据级任务处理。2.如权利要求1所述的一种基于借据的多任务分布式处理方法,其特征在于,所述根据预设的分片总数和所述线程号,对每个借据分别进行第一分片处理,获得多个借据分片,具体为:用所述线程号对所述分片总数取模,生成每个借据对应的第一分片号,获得多个借据分片。3.如权利要求1所述的一种基于借据的多任务分布式处理方法,其特征在于,所述根据预设的分配策略,将所述多个借据分片分配到不同的机器,具体为:获取所述分片总数、所述机器的数量、以及各所述机器对应的机器排列序号;若所述分片总数能够被所述机器的数量整除,则将所述多个借据分片平均分配到所述不同的机器;若所述分片总数不能够被所述机器的数量整除,则先将能够整除的借据分片平均分配到所述不同的机器,再将不能整除的多余借据分片依次追加到机器排列序号小的机器上。4.如权利要求2所述的一种基于借据的多任务分布式处理方法,其特征在于,所述各所述机器根据接收到的借据分片,结合预设的算法获取对应的借据信息进行借据级任务处理,具体为:获取所在机器上当前借据分片对应的第一分片号,检索出数据库中所有与所述第一分片号对应的借据;获取与第一分片号对应的所有借据的具体数据信息,使所在机器根据所述所有借据的具体数据信息进行借据级任务处理。5.如权利要求1所述的一种基于借据的多任务分布式处理方法,其特征在于,该方法还包括:获取所述所有机...
【专利技术属性】
技术研发人员:上官玉将,惠康,李文超,马勤权,陶志强,王海平,
申请(专利权)人:晋商消费金融股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。