异构单元间的数据自动同步方法、装置、设备及介质与流程
未命名
10-08
阅读:85
评论:0

1.本发明涉及数据同步技术领域,尤其涉及异构单元间的数据自动同步方法、装置、设备及介质。
背景技术:
2.现有的复杂异构系统间的异构单元,如主中央处理器(host central processing unit,host cpu)与系统级芯片(system on chip,soc)上的不同异构核(core)等,两两之间需要使用队列来做数据交换,以提交任务或者反馈状态。
3.现有技术中,缓冲队列往往位于两个异构单元间某一个单元亲近的存储器上。但是,由于异构单元需要频繁的访问缓冲队列,若缓冲队列位于两个异构单元间某一个单元亲近的存储器上,另一个异构单元访问缓冲队列的延迟将会增大,影响异构单元的执行效率。
4.因此,如何实现异构单元间快速的数据自动同步,提高异构单元的执行效率,是目前亟待解决的问题。
技术实现要素:
5.本发明提供了一种异构单元间的数据自动同步方法、装置、设备及介质,可以解决异构单元间数据同步效率低的问题。
6.根据本发明的一方面,提供了一种异构单元间的数据自动同步方法,该方法应用于包含主设备和从设备的异构架构中,该方法包括:
7.在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;
8.根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;
9.根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;
10.根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
11.根据本发明的另一方面,提供了一种异构单元间的数据自动同步装置,该装置应用于包含主设备和从设备的异构架构中,该装置包括:
12.数据获取模块,用于在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;
13.第一确定模块,用于根据所述第一初始地址、第一写入位置和第一读取位置确定
原始队列中待同步数据的原始数据位置及原始数据大小;
14.第二确定模块,用于根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;
15.数据同步模块,用于根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
16.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
17.至少一个处理器;以及
18.与所述至少一个处理器通信连接的存储器;其中,
19.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的异构单元间的数据自动同步方法。
20.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的异构单元间的数据自动同步方法。
21.本发明实施例的技术方案,通过在接收到数据同步触发指令后,根据获取的原始队列对应的第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小,并根据获取的镜像队列对应的第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小,进而,根据原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置,解决了异构单元间数据同步效率低的问题,能够实现异构单元间快速的数据自动同步,提高了异构单元的执行效率。
22.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1是根据本发明实施例一提供的一种异构单元间的数据自动同步方法的流程图;
25.图2是根据本发明实施例二提供的一种异构单元间的数据自动同步方法的流程图;
26.图3是根据本发明实施例二提供的一种异构单元间的数据自动同步流程的示意图;
27.图4是根据本发明实施例二提供的一种可选的异构单元间的数据自动同步方法的流程图;
28.图5是根据本发明实施例三提供的一种异构单元间的数据自动同步装置的结构示意图;
29.图6是实现本发明实施例的异构单元间的数据自动同步方法的电子设备的结构示意图。
具体实施方式
30.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
31.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”、“原始”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
32.实施例一
33.图1为本发明实施例一提供的一种异构单元间的数据自动同步方法的流程图,本实施例可适用于包含主设备和从设备的异构架构中进行异构单元间数据自动同步的情况,该方法可以由异构单元间的数据自动同步装置来执行,该异构单元间的数据自动同步装置可以采用硬件和/或软件的形式实现,该异构单元间的数据自动同步装置可配置于电子设备中。如图1所示,该方法包括:
34.s110、在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备。
35.其中,数据同步触发指令可以指触发执行异构单元间进行数据同步的指令。
36.其中,主设备可以指包含多个异构单元的异构架构中的其中一个异构单元。原始队列可以指主设备侧的缓冲队列。第一初始地址可以指原始队列的数据存储首地址。第一写入位置可以指当前数据同步过程中原始队列可以写入同步数据的地址。第一读取位置可以指当前数据同步过程中原始队列可以读取同步数据的地址。
37.其中,从设备可以指包含多个异构单元的异构架构中的另一个异构单元。镜像队列可以指从设备侧的缓冲队列。第二初始地址可以指镜像队列的数据存储首地址。第二写入位置可以指当前数据同步过程中镜像队列可以写入同步数据的地址。第二读取位置可以指当前数据同步过程中镜像队列可以读取同步数据的地址。
38.在一个可选的实施方式中,还可以包括:通过主设备软件端将待同步数据写入原始队列;通过主设备软件端更新所述原始队列对应的第一写入位置以及通过从设备软件端更新镜像队列对应的第二读取位置,并当原始队列中的待同步数据满足设定同步要求,生
成数据同步触发指令。
39.其中,软件端可以指触发实现数据同步的组件。待同步数据可以指需要在两个异构单元,即主设备和从设备之间进行数据同步的数据。设定同步要求可以指对待同步数据进行评估的条件。示例性的,设定同步要求可以为待同步数据的数据累积量,也可以为待同步数据的数据待定时间。
40.具体的,通过主设备软件端将待同步数据写入原始队列之后,将写入之后的位置更新为原始队列对应的第一写入位置。同时,从设备软件端根据业务执行流程,在消耗了镜像队列中的数据后,更新镜像队列对应的第二读取位置,以便后续数据同步过程的顺利实现。进一步,判断原始队列中新写入的待同步数据是否达到设定的数据累积量,或者待同步数据的数据待定时间是否达到设定的时间累积量,当待同步数据累积到设定的数据累积量或待同步数据的数据待定时间累积到设定的时间累积量,则可以向硬件加速单元下发数据同步触发指令,以指示开始进行数据同步过程。
41.在一个可选的实施方式中,在所述通过主设备软件端将待同步数据写入原始队列之前,还包括:通过主设备构建原始队列,将所述原始队列对应的原始队列缓存存储至主设备对应的第一存储器中,并向从设备下发预设默认指令;通过从设备接收所述预设默认指令,并依据所述预设默认指令构建镜像队列,并将所述镜像队列对应的镜像队列缓存存储至从设备对应的第二存储器中。
42.其中,原始队列缓存可以指包含原始队列的队列缓存。第一存储器可以指主设备中cpu侧的存储器。预设默认指令可以指主设备与从设备之间预先约定的通讯指令。镜像队列缓存可以指包含镜像队列的队列缓存。第二存储器可以指从设备中cpu侧的存储器。
43.值注意的是,原始队列与原始队列缓存,以及镜像队列与镜像队列缓存之间可以理解为不同的存储形式。在本发明实施例中,可以将原始队列缓存视为原始队列,将镜像队列缓存视为镜像队列,以方便理解。
44.具体的,主设备将构建的原始队列存储至主设备对应的第一存储器中之后,会向从设备发送一个预设默认指令,通知从设备需要构建一个镜像队列,当从设备构建完成镜像队列并将镜像队列存储至从设备对应的第二存储器中之后,也会通过预设默认指令向主设备进行反馈。由此,完成原始队列与镜像队列的构建,使得主设备与从设备进行数据同步时,不必仅依靠一个缓冲队列,提高了异构单元的执行效率。
45.s120、根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小。
46.其中,原始数据位置可以指原始队列中待同步数据的首段数据读取位置。原始数据大小可以指原始队列中待同步数据的数据长度。
47.s130、根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小。
48.其中,容纳数据位置可以指镜像队列中可以容纳数据的首段数据存储位置。容纳数据大小可以指镜像队列中可以容纳存储的数据长度。
49.s140、根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
50.其中,目标同步数据可以指最终从原始队列同步至镜像队列的数据。通常,目标同步数据包含于待同步数据。目标长度可以指目标同步数据的数据长度。
51.具体的,当确定得到原始队列中待同步数据的原始数据位置及原始数据大小,以及,镜像队列中可容纳数据的容纳数据位置及容纳数据大小之后,可以利用原始数据大小及容纳数据大小的数据关系确定出最终进行数据同步的目标同步数据的目标长度,进而,从原始队列中原始数据位置处开始获取目标长度的目标同步数据,并将目标同步数据同步至镜像队列的容纳数据位置,完成异构单元间的数据同步。
52.本发明实施例的技术方案,通过在接收到数据同步触发指令后,根据获取的原始队列对应的第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小,并根据获取的镜像队列对应的第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小,进而,根据原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置,解决了异构单元间数据同步效率低的问题,能够实现异构单元间快速的数据自动同步,提高了异构单元的执行效率。
53.实施例二
54.图2为本发明实施例二提供的一种异构单元间的数据自动同步方法的流程图,本实施例以上述实施例为基础进行细化,在本实施例中具体是对根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小的操作进行细化,具体可以包括:根据所述第一初始地址和第一读取位置的求和结果,确定原始队列中待同步数据的原始数据位置;根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小。如图2所示,该方法包括:
55.s210、在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备。
56.具体的,在接收到数据同步触发指令后,可以获取主设备侧原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及从设备侧镜像队列对应的第二初始地址、第二写入位置和第二读取位置,为后续数据同步提供有效的基础。
57.s220、根据所述第一初始地址和第一读取位置的求和结果,确定原始队列中待同步数据的原始数据位置。
58.具体的,将原始队列的第一初始地址与第一读取地址进行求和处理,得到求和结果,并将该求和结果作为原始队列中待同步数据的原始数据位置。
59.s230、根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小。
60.其中,第一写入位置和第一读取位置的数据比较结果可以指第一写入位置与第一读取位置的数据大小比较结果。
61.在一个可选的实施方式中,根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始
数据大小,包括:若第一写入位置高于第一读取位置,将第一写入位置与第一读取位置间的第一差值结果作为原始队列中待同步数据的原始数据大小;若第一写入位置低于第一读取位置,根据原始队列的第一队列大小与第一差值结果间的第二差值结果确定原始队列中待同步数据的原始数据大小。
62.其中,第一差值结果可以指第一写入位置高于第一读取位置时,第一写入位置减去第一读取位置后得到的差值结果。
63.其中,第一队列大小可以指原始队列的初始数据存放长度。第二差值结果可以指第一写入位置低于第一读取位置时,第一队列大小、第一差值结果以及固定字长间的差值结果。
64.示例性的,若第一队列大小为size1,第一写入位置为wptr1,第一读取位置为rptr1,固定字长为4。则第一差值结果= wptr1
‑ꢀ
rptr1;第二差值结果= size1
‑ꢀ
wptr1+rptr1-4。
65.值得注意的是,由于原始队列对应的原始队列缓存为环形缓存,因此,第一写入位置高于第一读取位置可以理解为第一写入位置大于第一读取位置,然而,在清除缓存之后,可能出现第一写入位置小于第一读取位置的情况,即可理解为第一写入位置低于第一读取位置。
66.s240、根据所述第二初始地址和第二写入位置的求和结果,确定镜像队列中可容纳数据的容纳数据位置。
67.具体的,将镜像队列的第二初始地址与第二写入位置进行求和处理,得到求和结果,并将该求和结果作为镜像队列中可容纳数据的容纳数据位置。
68.s250、根据所述第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小。
69.其中,第二写入位置与第二读取位置间的数据比较结果可以指第二写入位置与第二读取位置的数据大小比较结果。
70.在一个可选的实施方式中,根据所述第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小,包括:若第二写入位置低于第二读取位置,将第二写入位置与第二读取位置间的第三差值结果作为镜像队列中可容纳数据的容纳数据大小;若第二写入位置高于第二读取位置,将镜像队列的第二队列大小与所述第三差值结果间的第四差值结果作为镜像队列中可容纳数据的容纳数据大小。
71.其中,第三差值结果可以指第二写入位置低于第二读取位置时,第二写入位置减去第二读取位置后得到的差值结果。
72.其中,第二队列大小可以指镜像队列的初始数据存放长度。第四差值结果可以指第二写入位置高于第二读取位置时,第二队列大小与第三差值结果间的差值结果。
73.示例性的,若第二队列大小为size2,第二写入位置为wptr2,第二读取位置为rptr2。则第三差值结果= wptr2
‑ꢀ
rptr2;第四差值结果= size2
‑ꢀ
wptr2+rptr2。
74.s260、数值比较所述原始数据大小及容纳数据大小,确定最小数值,并将所述最小数值确定为目标同步数据的目标长度。
75.其中,最小数值可以指原始数据大小与容纳数据大小间的较小数据。由于原始队
列中的原始数据大小可能会大于镜像队列中的容纳数据大小,因此,为保证目标同步数据可以完全存入镜像队列中,在本发明实施例中需要对目标同步数据的长度进行判别,以保证数据同步过程的完整性。
76.s270、将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
77.具体的,在确定出目标同步数据的目标长度之后,可以从原始队列中原始数据位置处开始获取目标长度的目标同步数据,并将目标同步数据同步至镜像队列的容纳数据位置,完成异构单元间的数据同步。
78.在一个可选的实施方式中,在所述将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置之后,还包括:向目标中断线发送参数更新信号;其中,参数更新信号包含原始队列对应的更新读取位置,以及,镜像队列对应的更新写入位置。
79.其中,目标中断线可以指各异构单元对应的中断线。更新读取位置可以指原始队列进行数据同步之后更新的第一读取位置。更新写入位置可以指镜像队列进行数据同步之后更新的第二写入位置。
80.其中,参数更新信号可以指数据同步之后包含更新参数的指示信号。通常在数据同步之后,会自动对原始队列的第一读取位置,以及镜像队列的第二写入位置进行更新。现有技术中通常需要主设备一直查询原始队列的第一读取位置,降低了缓冲队列的使用效率,因此,可以将原始队列对应的更新读取位置,以及,镜像队列对应的更新写入位置发送到各异构单元的中断线上,使得主设备不用一直查询,提高了缓冲队列的使用效率。
81.本发明实施例的技术方案,通过在接收到数据同步触发指令后,根据获取的原始队列对应的第一初始地址和第一读取位置确定原始队列中待同步数据的原始数据位置,根据原始队列对应的第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小,并根据获取的镜像队列对应的第二初始地址和第二写入位置确定镜像队列中可容纳数据的容纳数据位置,根据镜像队列对应的第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小,进而,数值比较原始数据大小及容纳数据大小,确定最小数值,并将最小数值确定为目标同步数据的目标长度,最后,将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置,解决了异构单元间数据同步效率低的问题,能够实现异构单元间快速的数据自动同步,提高了异构单元的执行效率。
82.图3所示为本发明实施例提供的一种异构单元间的数据自动同步流程的示意图。具体的,通过主设备构建原始队列,将原始队列对应的原始队列缓存存储至主设备对应的第一存储器中,并向从设备下发预设默认指令;通过从设备接收所述预设默认指令,并依据预设默认指令构建镜像队列,并将镜像队列对应的镜像队列缓存存储至从设备对应的第二存储器中。在接收到数据同步触发指令后,通过硬件加速单元,即处理器,确定原始队列中待同步数据的原始数据位置及原始数据大小,以及镜像队列中可容纳数据的容纳数据位置及容纳数据大小,进而,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
83.图4所示为本发明实施例提供的一种可选的异构单元间的数据自动同步方法的流程图。具体的,通过软件端更新原始队列对应的第一写入位置以及镜像队列对应的第二读取位置,并当原始队列中的待同步数据满足设定同步要求,生成数据同步触发指令,硬件加速单元接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置,进而,根据第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小,以及根据第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小,之后,根据原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置,完成数据同步,最后,硬件加速单元自动更新原始队列对应的第一读取位置,以及,镜像队列对应的第二写入位置,并将原始队列更新后的更新读取位置,以及,镜像队列更新后的更新写入位置传送给软件端。由此,不仅更新本地维护的原始队列的第一读取位置以及镜像队列的第二写入位置,还更新了远端主设备存储的原始队列的第一读取位置和从设备存储的镜像队列的第二写入位置,使得主设备和从设备只用在自己的存储中获取队列参数信息,提高了队列缓冲的维护和使用的效率。
84.值得注意的是,在多个缓冲队列并行工作时,有很大的概率当前的数据同步过程还未开始,新的数据同步过程已经被触发,因此,在本发明实施例中,可以支持重新计算原始队列中待同步数据的原始数据位置及原始数据大小,以及镜像队列中可容纳数据的容纳数据位置及容纳数据大小的操作,以减少数据同步次数,提高数据同步效率。
85.实施例三
86.图5为本发明实施例三提供的一种异构单元间的数据自动同步装置的结构示意图。如图5所示,该装置包括:数据获取模块310、第一确定模块320、第二确定模块330以及数据同步模块340;
87.其中,数据获取模块310,用于在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;
88.第一确定模块320,用于根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;
89.第二确定模块330,用于根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;
90.数据同步模块340,用于根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
91.本发明实施例的技术方案,通过在接收到数据同步触发指令后,根据获取的原始队列对应的第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小,并根据获取的镜像队列对应的第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小,进而,根据原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并
将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置,解决了异构单元间数据同步效率低的问题,能够实现异构单元间快速的数据自动同步,提高了异构单元的执行效率。
92.可选的,异构单元间的数据自动同步装置,还可以包括:指令生成模块,用于通过主设备软件端将待同步数据写入原始队列;通过主设备软件端更新所述原始队列对应的第一写入位置以及通过从设备软件端更新镜像队列对应的第二读取位置,并当原始队列中的待同步数据满足设定同步要求,生成数据同步触发指令。
93.可选的,第一确定模块320具体可以包括:第一位置确定单元及第一大小确定单元;
94.其中,第一位置确定单元,用于根据所述第一初始地址和第一读取位置的求和结果,确定原始队列中待同步数据的原始数据位置;
95.第一大小确定单元,用于根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小。
96.可选的,第一大小确定单元,具体可以用于:
97.若第一写入位置高于第一读取位置,将第一写入位置与第一读取位置间的第一差值结果作为原始队列中待同步数据的原始数据大小;
98.若第一写入位置低于第一读取位置,根据原始队列的第一队列大小与第一差值结果间的第二差值结果确定原始队列中待同步数据的原始数据大小。
99.可选的,第二确定模块330具体可以包括:第二位置确定单元及第二大小确定单元;
100.其中,第二位置确定单元,用于根据所述第二初始地址和第二写入位置的求和结果,确定镜像队列中可容纳数据的容纳数据位置;
101.第二大小确定单元,用于根据所述第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小。
102.可选的,第二大小确定单元,具体可以用于:
103.若第二写入位置低于第二读取位置,将第二写入位置与第二读取位置间的第三差值结果作为镜像队列中可容纳数据的容纳数据大小;
104.若第二写入位置高于第二读取位置,将镜像队列的第二队列大小与所述第三差值结果间的第四差值结果作为镜像队列中可容纳数据的容纳数据大小。
105.可选的,数据同步模块340,具体可以用于:数值比较所述原始数据大小及容纳数据大小,确定最小数值,并将所述最小数值确定为目标同步数据的目标长度。
106.可选的,异构单元间的数据自动同步装置,还可以包括:参数更新模块,用于在所述将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置之后,向目标中断线发送参数更新信号;其中,参数更新信号包含原始队列对应的更新读取位置,以及,镜像队列对应的更新写入位置。
107.本发明实施例所提供的异构单元间的数据自动同步装置可执行本发明任意实施例所提供的异构单元间的数据自动同步方法,具备执行方法相应的功能模块和有益效果。
108.实施例四
109.图6示出了可以用来实施本发明的实施例的电子设备410的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
110.如图6所示,电子设备410包括至少一个处理器420,以及与至少一个处理器420通信连接的存储器,如只读存储器(rom)430、随机访问存储器(ram)440等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器420可以根据存储在只读存储器(rom)430中的计算机程序或者从存储单元490加载到随机访问存储器(ram)440中的计算机程序,来执行各种适当的动作和处理。在ram 440中,还可存储电子设备410操作所需的各种程序和数据。处理器420、rom 430以及ram440通过总线450彼此相连。输入/输出(i/o)接口460也连接至总线450。
111.电子设备410中的多个部件连接至i/o接口460,包括:输入单元470,例如键盘、鼠标等;输出单元480,例如各种类型的显示器、扬声器等;存储单元490,例如磁盘、光盘等;以及通信单元4100,例如网卡、调制解调器、无线通信收发机等。通信单元4100允许电子设备410通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
112.处理器420可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器420的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器420执行上文所描述的各个方法和处理,例如异构单元间的数据自动同步方法。
113.该方法包括:
114.在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;
115.根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;
116.根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;
117.根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。
118.在一些实施例中,异构单元间的数据自动同步方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元490。在一些实施例中,计算机程序的部分或者全部可以经由rom 430和/或通信单元4100而被载入和/或安装到电子设备410上。当计算机程序加载到ram 440并由处理器420执行时,可以执行上文描述的异构单元间的数据自动同步方法的一个或多个步骤。备选地,在其他实施例中,处理器420可以通过其他任何
适当的方式(例如,借助于固件)而被配置为执行异构单元间的数据自动同步方法。
119.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
120.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
121.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
122.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
123.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
124.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的
管理难度大,业务扩展性弱的缺陷。
125.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
126.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种异构单元间的数据自动同步方法,其特征在于,所述方法应用于包含主设备和从设备的异构架构中,所述方法包括:在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过主设备软件端将待同步数据写入原始队列;通过主设备软件端更新所述原始队列对应的第一写入位置以及通过从设备软件端更新镜像队列对应的第二读取位置,并当原始队列中的待同步数据满足设定同步要求,生成数据同步触发指令。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小,包括:根据所述第一初始地址和第一读取位置的求和结果,确定原始队列中待同步数据的原始数据位置;根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一写入位置和第一读取位置的数据比较结果,依据第一写入位置和第一读取位置的数值计算结果确定原始队列中待同步数据的原始数据大小,包括:若第一写入位置高于第一读取位置,将第一写入位置与第一读取位置间的第一差值结果作为原始队列中待同步数据的原始数据大小;若第一写入位置低于第一读取位置,根据原始队列的第一队列大小与第一差值结果间的第二差值结果确定原始队列中待同步数据的原始数据大小。5.根据权利要求1所述的方法,其特征在于,所述根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小,包括:根据所述第二初始地址和第二写入位置的求和结果,确定镜像队列中可容纳数据的容纳数据位置;根据所述第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小。6.根据权利要求5所述的方法,其特征在于,所述根据所述第二写入位置与第二读取位置间的数据比较结果,依据第二写入位置与第二读取位置间的数值计算结果确定镜像队列中可容纳数据的容纳数据大小,包括:
若第二写入位置低于第二读取位置,将第二写入位置与第二读取位置间的第三差值结果作为镜像队列中可容纳数据的容纳数据大小;若第二写入位置高于第二读取位置,将镜像队列的第二队列大小与所述第三差值结果间的第四差值结果作为镜像队列中可容纳数据的容纳数据大小。7.根据权利要求1所述的方法,其特征在于,所述根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,包括:数值比较所述原始数据大小及容纳数据大小,确定最小数值,并将所述最小数值确定为目标同步数据的目标长度。8.根据权利要求1所述的方法,其特征在于,在所述将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置之后,还包括:向目标中断线发送参数更新信号;其中,参数更新信号包含原始队列对应的更新读取位置,以及,镜像队列对应的更新写入位置。9.根据权利要求2所述的方法,其特征在于,在所述通过主设备软件端将待同步数据写入原始队列之前,还包括:通过主设备构建原始队列,将所述原始队列对应的原始队列缓存存储至主设备对应的第一存储器中,并向从设备下发预设默认指令;通过从设备接收所述预设默认指令,并依据所述预设默认指令构建镜像队列,并将所述镜像队列对应的镜像队列缓存存储至从设备对应的第二存储器中。10.一种异构单元间的数据自动同步装置,其特征在于,所述装置应用于包含主设备和从设备的异构架构中,所述装置包括:数据获取模块,用于在接收到数据同步触发指令后,获取原始队列对应的第一初始地址、第一写入位置和第一读取位置,以及镜像队列对应的第二初始地址、第二写入位置和第二读取位置;其中,原始队列匹配主设备,镜像队列匹配从设备;第一确定模块,用于根据所述第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;第二确定模块,用于根据所述第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;数据同步模块,用于根据所述原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。11.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的异构单元间的数据自动同步方法。12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-9中任一项所述的异构单元间的数据自动同步方法。
技术总结
本发明公开了异构单元间的数据自动同步方法、装置、设备及介质。该方法包括:在接收到数据同步触发指令后,根据原始队列对应的第一初始地址、第一写入位置和第一读取位置确定原始队列中待同步数据的原始数据位置及原始数据大小;根据镜像队列对应的第二初始地址、第二写入位置和第二读取位置确定镜像队列中可容纳数据的容纳数据位置及容纳数据大小;根据原始数据大小及容纳数据大小的数据关系,确定原始队列中目标同步数据的目标长度,并将原始队列中原始数据位置处目标长度的目标同步数据同步至镜像队列的容纳数据位置。通过本发明的技术方案,能够实现异构单元间快速的数据自动同步,提高了异构单元的执行效率。提高了异构单元的执行效率。提高了异构单元的执行效率。
技术研发人员:李传业 王帝 李进
受保护的技术使用者:上海燧原智能科技有限公司
技术研发日:2023.08.28
技术公布日:2023/10/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:封胶结构及传感器封胶方法与流程 下一篇:一种膝关节外科手术前炎症调节检测评估设备