System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种数据处理方法、装置、计算机设备和存储介质。
技术介绍
1、随着互联网和信息技术的迅猛发展,面临着海量的数据和耗时的任务处理需求。传统的串行处理方式无法满足这些需求,因此,分布式计算应运而生。
2、分布式计算是一种利用多台计算机或计算资源进行并行计算和任务分解的方法。具体通过将任务划分为多个子任务,并分发给不同的计算节点进行处理,实现了任务的并行执行和资源的共享利用。然而,传统的分布式计算方案很多采用中心化处理,需要维护中心化状态,中心节点信息需要同步到执行节点,执行节点需要和中心节点保持心跳连接,上报中心节点状态,如果中心节点不可用,整个服务不可用。
3、因此,传统的分布式计算方案需要协调中心化与执行节点,存在数据处理效率低下的问题。
技术实现思路
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、在其中一个实施例中,上述的方法还包括:
28、当查询到当前任务分片中不存在未处理的数据记录时,查询待处理数据中是否存在未处理的任务分片;
29、当待处理数据中存在未处理的任务分片时,获取下一个任务分片;
30、以下一个任务分片为当前任务分片,返回查询当前任务分片中是否存在未处理的数据记录的步骤。
31、在其中一个实施例中,上述的方法还包括:
32、获取当前待处理数据的数据记录的总条数以及预设的期望执行时长;
33、根据数据记录的总条数以及期望执行时长,确定期望速率;
34、获取当前已处理的数据记录的条数以及当前执行时长;
35、根据当前已处理的数据记录的条数以及当前执行时长,确定当前速率;
36、根据期望速率以及当前速率调整分片数。
37、一种数据处理装置,上述的装置包括:
38、获取模块,用于获取待处理数据;
39、分片模块,用于对待处理数据进行预分片处理,得到多个任务分片对应的分片执行数据;
40、抢夺模块,用于根据各任务分片的分片执行数据对当前任务分片的执行权限进行抢夺;
41、处理模块,用于当抢夺到当前任务分片的执行权限时,根据当前任务分片的分片执行数据对待处理数据进行数据切分并处理。
42、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
43、获取待处理数据;
44、对待处理数据进行预分片处理,得到多个任务分片对应的分片执行数据;
45、根据各任务分片的分片执行数据对当前任务分片的执行权限进行抢夺;
46、当抢夺到当前任务分片的执行权限时,根据当前任务分片的分片执行数据对待处理数据进行数据切分并处理。
47、一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
48、获取待处理数据;
49、对待处理数据进行预分片处理,得到多个任务分片对应的分片执行数据;
50、根据各任务分片的分片执行数据对当前任务分片的执行权限进行抢夺;
51、当抢夺到当前任务分片的执行权限时,根据当前任务分片的分片执行数据对待处理数据进行数据切分并处理。
52、上述的数据处理方法、装置、计算机设备和存储介质,上述的方法,通过分布式计算节点中的任意节点获取待处理数据,并对待处理数据进行预分片处理,得到多个任务分片,在任务执行时通过各节点对各个任务分片进行抢夺以进行任务的处理。上述的方法应用于分布式计算节点中的任意一个节点,各个节点之间角色平等,相较于传统的需要设置中心节点,通过中心节点分配任务的方式而言,本申请无需设置中心节点,简化设计,也无需维护中心化状态,节省资源,也不会出现如果中心节点不可用,导致整个服务不可用的情况,提高了整个服务器集群运行期间的稳定性。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理数据进行预分片处理,得到多个任务分片对应的分片执行数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述当前任务分片的分片执行数据包括处理状态,所述根据各所述任务分片的分片执行数据对当前任务分片的执行权限进行抢夺,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法应用于分布式计算节点,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,各所述任务分片中包括至少一条数据记录,所述抢夺预先设定的分布式锁之前,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
8.一种数据处理装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。<
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理数据进行预分片处理,得到多个任务分片对应的分片执行数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述当前任务分片的分片执行数据包括处理状态,所述根据各所述任务分片的分片执行数据对当前任务分片的执行权限进行抢夺,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法应用于分布式计算节点,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,各所述任务分片中包括至少一条数据记录,所述抢夺预先设定的...
【专利技术属性】
技术研发人员:曹宸,
申请(专利权)人:上海数禾信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。