System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及大数据领域,尤其涉及一种分布式数据处理方法、服务器及分布式数据处理系统。
技术介绍
1、目前,国内大多数银行在分布式架构下,将行内数据根据客户身份信息拆分成若干数据分片,并按照分片搭建对应的设备,搭建的单一设备仅可处理对应分片的数据,也即,每一设备仅可处理对应客户发送的数据处理请求,且分片规则仅与客户身份相关,而与实际业务量无直接关联。并且,部署线程的设备,固定的内核数可看做单区间处理时间内的并发任务数,由于单个设备只能处理对应客户的数据处理请求,那么在单任务中子任务数量远超自身处理能力的场景下,单个计算设备存在无法及时完成客户提交的数据处理任务的情况,使得数据处理的效率低下,用户体验差。
技术实现思路
1、针对现有技术中的问题,本专利技术提供的分布式数据处理方法、服务器及分布式数据处理系统,将单一计算节点的数据处理方式转换为分布式系统中所有接收节点共同处理,提高数据处理的效率。
2、为解决上述技术问题,本专利技术提供以下技术方案:
3、第一方面,本专利技术提供一种分布式数据处理方法,包括:接收目标客户的数据处理请求,所述数据处理请求中包括多个子任务;从所述数据处理请求中选取预设数量个第一子任务,并处理;将所述数据处理请求中除所述第一子任务以外的所有子任务下发给分布式系统中的其他计算节点,以通过分布式系统中的其他计算节点处理除所述第一子任务以外的所有子任务。
4、可选的,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:
5、可选的,本专利技术提供的分布式数据处理方法还包括:确定所述数据处理请求中各子任务的处理状态;将所述数据处理请求中各子任务和与其对应的处理状态作为一个数据项存储至任务表中。
6、可选的,本专利技术提供的分布式数据处理方法还包括:为所述数据处理请求中各子任务分配子任务标识;确定所述数据处理请求中各子任务的数据库网址;其中,所述将所述数据处理请求中各子任务和与其对应的处理状态作为一个数据项存储至任务表中包括:将所述数据处理请求中各子任务的所述子任务标识、所述数据库网址和对应的所述处理状态作为一个数据项存储至所述任务表中。
7、可选的,处理状态包括已扫描状态和已处理状态,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:将所述任务表中预设数量个子任务作为所述第一子任务;判断是否处理完成所述第一子任务,若否,从所述任务表中扫描当前处理的第一子任务的下一个目标第一子任务;将所述目标第一子任务的处理状态更新为已扫描状态;处理所述目标第一子任务,并将所述目标第一子任务的处理状态更新为已处理状态。
8、可选的,所述处理状态还包括未处理状态,若处理完成所述第一子任务,所述方法还包括:判断是否从所述任务表中扫描到一个除所述第一子任务以外、且为未处理状态的子任务,若是,将当前扫描的子任务的处理状态更新为已扫描状态,若否,接收目标客户的数据处理请求;处理所述当前扫描的子任务,将所述当前扫描的子任务的处理状态更新为所述已处理状态,并继续判断是否从所述任务表中扫描到一个除所述第一子任务以外、且为未处理状态的子任务。
9、可选的,将所述数据处理请求中除所述第一子任务以外的所有子任务下发给分布式系统中的其他计算节点包括:将所述数据处理请求中除所述第一子任务以外的所有子任务作为第二子任务;计算所述第二子任务的数量与分布式系统中计算节点数量与1的差值的比值,作为目标数值;为分布式系统中其他计算节点分配目标数值个所述第二子任务;为与各其他计算节点分配的所述第二子任务分配对应主题;发布已分配主题的各所述第二子任务。
10、可选的,任一其他计算节点处理所述第二子任务包括:判断是否存在空闲线程,若存在,消费对应主题的目标第二子任务;根据所述任务表判断所述目标第二子任务的状态是否为所述未处理状态,若是,将所述目标第二子任务的处理状态更新为所述已扫描状态;处理所述目标第二子任务得到处理结果,根据处理结果对所述目标第二子任务对应的数据库进行更新;若所述目标第二子任务的状态不为所述未处理状态,判断对应主题的所有第二子任务是否消费完成,若否,继续消费对应主题的目标第二子任务,若对应主题的所有第二子任务消费完成以及不存在空闲线程,继续判断是否存在空闲线程。
11、可选的,处理所述数据处理中的所有子任务包括:判断硬件设备的利用率是否达到目标阈值,若否,进行扩容处理;判断是否处理完成所有子任务,若否,获取当前处理的下一个子任务并进行处理;若处理完成所有子任务,进行缩容处理。
12、第二方面,本专利技术提供一种分布式数据处理方法,包括:当扫描到对应主题的子任务时,判断是否存在空闲线程,若存在,消费对应主题的目标第二子任务;判断所述目标第二子任务的状态是否为所述未处理状态,若是,将所述目标第二子任务的处理状态更新为所述已扫描状态;处理所述目标第二子任务得到处理结果,并根据处理结果对所述目标第二子任务对应的数据库进行更新;若所述目标第二子任务的状态不为所述未处理状态,判断对应主题的所有第二子任务是否消费完成,若否,继续消费对应主题的目标第二子任务,若对应主题的所有第二子任务消费完成以及不存在空闲线程,继续判断是否存在空闲线程。
13、第三方面,本专利技术提供一种服务器,包括:数据处理请求接收模块,适于接收目标客户的数据处理请求,所述数据处理请求中包括多个子任务;第一处理模块,适于从所述数据处理请求中选取预设数量个第一子任务,并处理;数据处理子任务下发模块,适于将所述数据处理请求中除所述第一子任务以外的第二子任务下发给分布式系统中的其他计算节点,以通过分布式系统中的其他计算节点处理所述第二子任务。
14、第四方面,本专利技术提供一种服务器,包括:空闲线程判断单元,适于当扫描到对应主题的子任务时,判断是否存在空闲线程,若存在,消费对应主题的目标第二子任务;处理状态判断单元,适于确定所述目标第二子任务的状态是否为所述未处理状态,若是,将所述目标第二子任务的处理状态更新为所述已扫描状态;处理单元,适于处理所述目标第二子任务得到处理结果,根据处理结果对所述目标第二子任务对应的数据库进行更新;完成消费判断单元,适于若所述目标第二子任务的状态不为所述未处理状态,判断对应主题的所有第二子任务是否消费完成,若否,继续消费对应主题的目标第二子任务,若对应主题的所有第二子任务消费完成以及不存在空闲线程,继续判断是否存在空闲线程。
15、第五方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法的步骤。
16、第六方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
17、从上述描述可本文档来自技高网...
【技术保护点】
1.一种分布式数据处理方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
5.如权利要求4所述的方法,其特征在于,所述处理状态包括已扫描状态和已处理状态,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:
6.如权利要求5所述的方法,其特征在于,所述处理状态还包括未处理状态,若处理完成所述第一子任务,所述方法还包括:
7.如权利要求6所述的方法,其特征在于,所述将所述数据处理请求中除所述第一子任务以外的所有子任务下发给分布式系统中的其他计算节点包括:
8.如权利要求7所述的方法,其特征在于,任一其他计算节点处理所述第二子任务包括:
9.如权利要求2所述的方法,其特征在于,所述处理所述数据处理中的所有子任务包括:
10.一种分布式数据处理方法,其特征在于,包括:
...【技术特征摘要】
1.一种分布式数据处理方法,其特征在于,包括:
2.如权利要求1所述的方法,其特征在于,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
5.如权利要求4所述的方法,其特征在于,所述处理状态包括已扫描状态和已处理状态,所述从所述数据处理请求中选取预设数量个第一子任务,并处理包括:
6.如权利要求5所述的方法,其特征在于,所述处理状态还包括未处理状态,若处理完成所述第一子任务,所述方法还包括:
7.如权利要求6所述的方法,其特征在于,所述将所述数据处理请求中除所述第一子任务以外的所有子任务下发给分布式系统中的其他计算节点包括:
8.如权利要求7所述的方法,其特征在于,任一其他计算节点处理所述第二子任务包括:...
【专利技术属性】
技术研发人员:丁汀,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。