数据同步的方法及电子设备与流程

文档序号:35369480发布日期:2023-09-08 06:01阅读:27来源:国知局
数据同步的方法及电子设备与流程

本技术涉及终端领域,尤其涉及一种数据同步的方法及电子设备。


背景技术:

1、在数据库的应用中,经常需要将不同设备之间的数据进行同步。数据同步的方式可以通过服务器实现,例如,设备a可以将待同步的数据上传服务器,设备b从服务器下载需要的同步数据,完成数据同步。数据同步还可以使用数据同步应用,该数据同步应用根据产生的数据,使用私有协议进行全量传输数据。

2、然而,由于移动终端的厂家不同,通过服务器进行数据同步的方式不适用于各移动终端之间进行数据同步。而采用全量数据传输的方式,数据同步耗时长且浪费设备的资源。


技术实现思路

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、根据第三方面,该方法还包括:当检测到第二电子设备存储的第一应用的操作数据的容量达到预设阈值时,以最早存储的操作数据为起点删除预设个数的操作数据。这样,在存储的操作数据的容量超出预设阈值(如100m),删除最早存储的操作数据,避免第二电子设备的存储造成影响,同时删除最早存储的数据,避免删除未同步的操作数据。

26、第四方面,本技术提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面以及第一方面的任意一种实现方式的数据同步的方法,或者,执行第二方面以及第二方面的任意一种实现方式的数据同步的方法,或者执行第三方面以及第三方面的任意一种实现方式的数据同步的方法。

27、第四方面以及第四方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。或者,与第二方面以及第二方面的任意一种实现方式相对应,或者,与第三方面以及第三方面的任意一种实现方式相对应,第四方面以及第四方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,或者,参见上述第二方面以及第二方面的任意一种实现方式所对应的技术效果,或者,参见上述第三方面以及第三方面的任意一种实现方式所对应的技术效果,此处不再赘述。

28、第五方面,本技术提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述执行第一方面以及第一方面的任意一种实现方式的数据同步的方法,或者,执行第二方面以及第二方面的任意一种实现方式的数据同步的方法,或者执行第三方面以及第三方面的任意一种实现方式的数据同步的方法。

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