分布式数据处理方法、装置、计算机设备及存储介质与流程

文档序号:34894809发布日期:2023-07-25 20:52阅读:25来源:国知局
分布式数据处理方法、装置、计算机设备及存储介质与流程

本发明涉及数据处理,具体而言,涉及一种分布式数据处理方法、装置、计算机设备及存储介质。


背景技术:

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、本技术提供的一种分布式数据处理方法、装置、计算机设备及存储介质,通过对记账请求根据数据分片标识进行分组,并确定每个记账请求组对应的目标数据分片,针对目标数据分片属于同一服务器的记账请求组,调用对应的服务器,在对应的服务器中由各个目标数据分片执行各个记账请求组的记账指令,与将每个记账请求单独发送给数据分片进行记账相比,减少了调用目标数据分片所在服务器的次数和目标数据分片执行记账操作的次数,提高了对记账请求进行处理的速度和性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1