基于分布式服务器的数据处理方法、装置、设备和介质与流程
- 国知局
- 2024-08-05 11:59:43
本公开涉及计算机,具体涉及大数据,特别是涉及一种基于分布式服务器的数据处理方法、装置、设备、介质和程序产品。
背景技术:
1、随着互联网技术的飞速发展,包括银行在内的企业对基于分布式服务器的数据处理的应用场景逐渐增多。行内订单相关交易因涉及金额比较敏感,需日终批量对订单数据进行核对入库工作,批量数据下传后将放到库中的一张表里,应用侧需逐条获取进行核对,随着行内业务增长,每日交易产生的订单数据量越来越大,对于日终批量订单数据的核对校验压力也越来越大,单线程逐条比对速度已无法追赶每日数据,造成数据量过大的批量文件进行数据核对存在时间上不足的问题。
2、目前在此种场景下,一般通过提高源端服务器以提高处理效率,但应用侧的数据核对处理成为瓶颈,因此,如何在提高应用侧的数据处理能力,充分利用应用侧数据库的性能,达到高效、准确、没有遗漏就成为了难题。
技术实现思路
1、鉴于上述问题,本公开提供了一种基于分布式服务器的数据处理方法、装置、设备、介质和程序产品。
2、根据本公开的第一个方面提供了一种基于分布式服务器的应用于应用端服务器数据处理方法,其特征在于,该方法包括:
3、从源端服务器获取m1个分区数据和第一数据信息表,其中,所述第一数据信息表中包括:每个分区数据的核对信息,m1为大于或等于2的整数;
4、获取所述应用端服务器的n个线程,其中,n为大于或等于2的整数;
5、从所述第一数据信息表中提取所述m1个分区数据的核对信息;
6、判断所述核对信息是否为未处理信息;
7、响应于所述核对信息是未处理信息,获取所述核对信息是未处理信息的m2个分区数据,以生成m2个目标分区数据,其中,m2为大于或等于2的整数且m2小于或等于m1;以及
8、将所述m2个目标分区数据分配到所述应用端服务器的n个线程进行数据处理,其中,每个线程一次仅能处理一个目标分区数据且对被处理目标分区数据进行锁定,使被锁定的目标分区数据无法被其他线程处理。
9、根据本公开实施例,其特征在于,所述第一数据信息表中包括:每个数据分区的入库时间,所述将所述m2个目标分区数据分配到所述应用端服务器的n个线程进行数据处理,包括:
10、从所述第一数据信息表中提取所述m2个目标分区数据的入库时间;
11、根据所述入库时间对所述m2个目标分区数据进行排序,生成入库时间顺序表;以及
12、基于所述n个线程按照所述入库时间顺序表依次对所述m2个目标分区数据进行数据处理。
13、根据本公开实施例,其特征在于,所述第一数据信息表中包括:每个数据分区的处理进度,所述将所述m2个目标分区数据分配到所述应用端服务器的n个线程进行数据处理,包括:
14、从所述第一数据信息表中提取所述m2个目标分区数据的处理进度;
15、根据所述处理进度对所述m2个目标分区数据进行排序,生成处理进度顺序表;以及
16、基于所述n个线程按照所述处理进度顺序表依次对所述m2个目标分区数据进行数据处理。
17、根据本公开实施例,其特征在于,该方法还包括:
18、在数据处理结束之后,更新所述第一数据信息表,以生成第二数据信息表;以及
19、将所述第二数据信息表发送到源端服务器,用以对源端服务器的第一数据信息表进行更新。
20、根据本公开实施例,其特征在于,在数据处理结束之后,更新所述第一数据信息表,包括:
21、更新所述第一数据信息表中的数据处理结束的分区数据的处理进度;以及
22、将所述第一数据信息表中的数据处理结束的分区数据的核对信息更新为已处理。
23、根据本公开实施例,其特征在于,该方法还包括:
24、响应于线程将正在处理的分区数据处理完毕前报错,更新所述第一数据信息表中的报错的分区数据的处理进度。
25、根据本公开的第二个方面提供了一种基于分布式服务器的应用于源端服务器数据处理方法,其特征在于,该方法包括:
26、获取待下传批量数据;
27、对所述待下传批量数据进行表格化,生成第一数据表;
28、预设分表标识;
29、对所述第一数据表进行分表,生成多个第二数据表;
30、预设分区标识;
31、对每个第二数据表进行分区,生成m1个分区数据,其中,m1为大于或等于2的整数;
32、统计每个分区数据的数据量、核对信息、入库时间和处理进度;
33、基于所述每个分区数据的分表标识、分区标识、数据量、核对信息、入库时间和处理进度,生成原数据信息表;以及
34、接收应用端服务器发送的第二数据信息表,对所述原数据信息表进行更新以生成第一数据信息表,用以应用端服务器进行数据处理。
35、根据本公开的第三个方面提供了一种基于分布式服务器的应用于应用端服务器数据处理装置,其特征在于,该装置包括:
36、第一获取模块,用于从源端服务器获取m1个分区数据和第一数据信息表,其中,所述第一数据信息表中包括:每个分区数据的核对信息,m1为大于或等于2的整数;
37、第二获取模块,用于获取所述应用端服务器的n个线程,其中,n为大于或等于2的整数;
38、第三获取模块,用于从所述第一数据信息表中提取所述m1个分区数据的核对信息;
39、判断模块,用于判断所述核对信息是否为未处理信息;
40、第一生成模块,用于响应于所述核对信息是未处理信息,获取所述核对信息是未处理信息的m2个分区数据,以生成m2个目标分区数据,其中,m2为大于或等于2的整数且m2小于或等于m1;以及
41、第一处理模块,用于将所述m2个目标分区数据分配到所述应用端服务器的n个线程进行数据处理,其中,每个线程一次只能处理一个目标分区数据且对被处理目标分区数据进行锁定,使被锁定的目标分区数据无法被其他线程处理。
42、根据本公开实施例,其特征在于,第一处理模块包括:
43、第五获取模块,用于从所述第一数据信息表中提取所述m2个目标分区数据的入库时间;
44、第八生成模块,用于根据所述入库时间对所述m2个目标分区数据进行排序,生成入库时间顺序表;以及
45、第二处理模块,用于基于所述n个线程按照所述入库时间顺序表依次对所述m2个目标分区数据进行数据处理。
46、根据本公开实施例,其特征在于,第一处理模块还包括:
47、第六获取模块,用于从所述第一数据信息表中提取所述m2个目标分区数据的处理进度;
48、第九生成模块,用于根据所述处理进度对所述m2个目标分区数据进行排序,生成处理进度顺序表;以及
49、第三处理模块,用于基于所述n个线程按照所述处理进度顺序表依次对所述m2个目标分区数据进行数据处理。
50、根据本公开实施例,其特征在于,该装置还包括:
51、第二生成模块,用于在数据处理结束之后,更新所述第一数据信息表,以生成第二数据信息表;以及
52、第一更新模块,用于将所述第二数据信息表发送到源端服务器,用以对源端服务器的第一数据信息表进行更新。
53、根据本公开实施例,其特征在于,第一更新模块包括:
54、第二更新模块,用于更新所述第一数据信息表中的数据处理结束的分区数据的处理进度;以及
55、第三更新模块,用于将所述第一数据信息表中的数据处理结束的分区数据的核对信息更新为已处理。
56、根据本公开实施例,其特征在于,第一更新模块还包括:
57、第四更新模块,用于响应于线程将正在处理的分区数据处理完毕前报错,更新所述第一数据信息表中的报错的分区数据的处理进度。
58、根据本公开的第四个方面提供了一种基于分布式服务器的应用于源端服务器数据处理装置,其特征在于,该装置包括:
59、第四获取模块,用于获取待下传批量数据;
60、第三生成模块,用于对所述待下传批量数据进行表格化,生成第一数据表;
61、第一预设模块,用于预设分表标识;
62、第四生成模块,用于对所述第一数据表进行分表,生成多个第二数据表;
63、第二预设模块,用于预设分区标识;
64、第五生成模块,用于对每个第二数据表进行分区,生成m1个分区数据,其中,m1为大于或等于2的整数;
65、统计模块,用于统计每个分区数据的数据量、核对信息、入库时间和处理进度;
66、第六生成模块,用于基于所述每个分区数据的分表标识、分区标识、数据量、核对信息、入库时间和处理进度,生成原数据信息表;以及
67、第七生成模块,用于接收应用端服务器发送的第二数据信息表,对所述原数据信息表进行更新以生成第一数据信息表,用以应用端服务器进行数据处理。
68、根据本公开的第五方面提供了一种电子设备,包括:
69、一个或多个处理器;
70、存储装置,用于存储一个或多个程序,
71、其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述基于分布式服务器的数据处理方法。
72、根据本公开的第六方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述基于分布式服务器的数据处理方法。
73、根据本公开的第七方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述基于分布式服务器的数据处理方法。
74、本公开实施例通过在应用端服务器根据应用端的多线程通过第一数据信息表中的核对信息对已经分好区的多个分区数据进行多线程数据处理的技术手段,可以实现高效利用应用端服务器cpu资源,提高响应速度和效率的技术效果,解决了应用端需处理的数据量巨大,造成处理效率低,日终批量数据处理时间不足,无法保证数据处理准确性的技术问题。
本文地址:https://www.jishuxx.com/zhuanli/20240802/260508.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表