本发明涉及数据处理领域,特别涉及一种数据处理方法、系统、产品及计算机可读存储介质。
背景技术:
1、在分布式系统、并行计算等应用场景中,各计算节点之间需要共享数据以实现有效的协作和协调。目前,计算节点之间的数据同步主要依赖于cpu(central processingunit,中央处理器)的介入,当某一个计算节点完成计算任务后,其结果数据需要通过cpu写入到另一个计算节点的内存后,然后再通知该计算节点从内存中读取数据,这种处理方式增加了数据同步的复杂度,降低了同步效率。
2、因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
技术实现思路
1、本发明的目的是提供一种数据处理方法、系统、产品及计算机可读存储介质,各计算节点之间基于地址映射直接自主进行数据同步,提高了数据同步效率。
2、为解决上述技术问题,本发明提供了一种数据处理方法,应用于计算节点,所述数据处理方法包括:在共享内存的多个数据存储区中确定目标存储区;所述目标存储区为与本地缓存区存在地址映射关系的数据存储区;响应于所述目标存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区;响应于所述本地缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述目标存储区。
3、可选的,在共享内存的多个数据存储区中确定目标存储区的过程包括:在共享内存的多个数据存储区中确定多个目标存储区,多个所述目标存储区包括第一存储区和第二存储区;响应于所述目标存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区的过程包括:响应于所述第二存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区;响应于所述本地缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述目标存储区的过程包括:响应于所述本地缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述第一存储区。
4、可选的,所述本地缓存区的数量为多个,多个所述本地缓存区包括第一缓存区和第二缓存区;响应于所述第二存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区的过程包括:响应于所述第二存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述第一缓存区;响应于所述本地缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述第一存储区的过程包括:响应于所述第二缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述第一存储区。
5、可选的,所述数据处理方法还包括:根据当前计算场景,调整所述本地缓存区的数量和/或所述本地缓存区的容量。
6、可选的,根据当前计算场景,调整所述本地缓存区的数量和/或所述本地缓存区的容量的过程包括:确定本地计算节点的当前缓存配置,以及所述当前计算场景的调整条件;所述当前缓存配置包括所述第一缓存区的数量和容量,以及所述第二缓存区的数量和容量;响应于所述当前缓存配置满足所述调整条件,调整所述本地缓存区的数量和/或所述本地缓存区的容量。
7、可选的,所述数据处理方法还包括:根据当前计算场景,确定所述本地计算节点的读取数据需求空间及写入数据需求空间;响应于所述读取数据需求空间大于所述写入数据需求空间,且所述第一缓存区的总容量小于所述第二缓存区的总容量,确定所述调整条件为第一调整条件;响应于所述写入数据需求空间大于所述读取数据需求空间,且所述第一缓存区的总容量大于所述第二缓存区的总容量,确定所述调整条件为第二调整条件。
8、可选的,在共享内存的多个数据存储区中确定目标存储区的过程包括:获取映射关系表;所述映射关系表用于表征当前计算场景下,各个计算节点的本地缓存区以及所述共享内存中的各个数据存储区之间的地址映射关系;根据所述映射关系表,确定与本地缓存区存在地址映射关系的目标存储区。
9、可选的,所述数据处理方法还包括:根据当前计算场景,确定各所述计算节点之间的计算依赖关系;针对每一所述计算节点,根据所述计算依赖关系将所述计算节点的本地缓存区和所述共享内存中的至少一个数据存储区建立地址映射关系;根据所有所述地址映射关系得到所述映射关系表。
10、可选的,将所述本地计算结果数据写入所述目标存储区的同时,所述数据处理方法还包括:更新所述目标存储区在所述映射关系表中的访问状态;响应于所述目标存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区的过程包括:响应于所述映射关系表中的所述目标存储区的访问状态为写入完成,判定所述目标存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区。
11、可选的,所述共享内存为从独立于所述计算节点的存储设备的存储空间中划分的内存空间。
12、可选的,所述存储设备的存储空间划分出多个内存空间,多个所述内存空间的容量不同;所述数据处理方法还包括:基于当前计算场景,在多个所述内存空间中确定所述共享内存。
13、为解决上述技术问题,本发明还提供了一种数据同步系统,包括:共享内存,包括多个数据存储区;多个计算节点,所述计算节点包括本地缓存区和处理模块,所述处理模块用于在多个所述数据存储区中确定与所述本地缓存区存在地址映射关系的目标存储区,并搬运所述目标存储区和所述本地缓存区中存储的数据。
14、可选的,所述处理模块具体用于响应于所述目标存储区中存在远端计算节点写入的待计算数据,将所述待计算数据写入所述本地缓存区,响应于所述本地缓存区中存在本地计算结果数据,将所述本地计算结果数据写入所述目标存储区。
15、可选的,所述数据同步系统还包括:处理节点,用于响应于多个所述计算节点均执行完成在当前计算场景下各自对应的计算任务,从执行最后一个计算任务的计算节点对应的目标存储区获取计算结果数据。
16、可选的,所述处理节点还用于在当前计算场景下的第一个计算任务开始执行之前,将初始待计算数据写入执行所述第一个计算任务的计算节点对应的目标存储区。
17、可选的,所述数据同步系统还包括:控制组件,包括划分出所述共享内存的内存模块。
18、可选的,所述控制组件用于当执行当前计算场景下的最后一个计算任务的计算节点对应的目标存储区存在计算结果数据,将所述计算结果数据传输给远端共享内存中对应的数据存储区。
19、为解决上述技术问题,本发明还提供了一种数据处理系统,包括多个如上文任一项所述的数据同步系统。
20、为解决上述技术问题,本发明还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上文任一项所述数据处理方法的步骤。
21、为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述数据处理方法的步骤。
22、本技术提供了一种数据处理方法,针对每一个计算节点,建立本地缓存区和共享内存中的数据存储区的映射关系,在需要数据同步的计算场景下,识别到目标存储区存在待计算数据,将待计算数据搬运到本地缓存区,当计算节点执行完本次计算任务后,将写入本地缓存区的本地计算结果数据搬运到对应的目标存储区,以便其他计算节点从目标缓存区获取计算结果数据作为待计算数据,数据同步过程无需cpu参与,各计算节点之间基于地址映射直接自主进行数据同步,降低数据同步的复杂度,提高了数据同步效率。本技术还提供了一种数据同步系统、数据处理系统、计算机程序产品和计算机可读存储介质,具有和上述数据处理方法相同的有益效果。