一种车机和云端系统的文件同步方法、装置与系统与流程
未命名
07-27
阅读:141
评论:0
1.本发明涉及一种车机和云端系统的文件同步方法、装置与系统,属于信息处理、车联网技术领域。
背景技术:
2.随着车辆智能化程度的提高,很多车辆的车机使用了诸如安卓之类的操作系统,用户可以用中控大屏对文件进行修改。同时,主机厂商还提供基于云端的文件管理功能,用户在pc端可以通过统一账号登陆文件管理系统,对文件进行修改、备份、删除等一系列操作。
3.车机和云端的系统架构如图1所示,控制中心和车机以及云端文件系统进行交互,提供必要的辅助功能(如账号登陆权限校验等)。用户对于文件的修改,会在车机和云端文件系统之间实时同步。目前车机和云端的文件同步机制存在如下不足:1、云端文件系统和车机端可以同时对文件进行修改,当一端的修改还未和另一端完成同步时,在另一端再次修改该文件,会产生双向同步的冲突问题;2、车机端文件发生变更后需要立即同步修改的文件内容,会消耗相当多的车载蜂窝流量。
技术实现要素:
4.发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种车机和云端系统的文件同步方法、装置与系统,通过跟踪对车机和云端文件系统的文修改,在节省车载流量的同时保证车机和云端数据的一致性。
5.技术方案:为实现上述发明目的,本发明采用如下技术方案:
6.一种车机和云端系统的文件同步方法,包括如下步骤:
7.车机系统/云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;所述锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息;
8.若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;所述同步修改请求在车机系统检测到wifi信号或者用户主动要求同步时触发;
9.若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步对端修改后再次申请锁。
10.作为优选,在文件同步完成,修改撤销完成,以及锁占用时间到期未续期后释放文件修改锁。
11.作为优选,所述同步修改流程,包括:
12.被同步方对比本地文件版本号和同步包中锁文件中的稳定版本号是否一致,如果一致接受同步操作;否则拒绝同步,结束同步修改流程;所述同步包中包括同步方临时工作
区域的文件内容和锁文件;所述被同步方为版本号落后的一方,同步方为版本号超前的一方;
13.同步方用本地临时工作区域中的文件内容覆盖实际文件,完成本地的文件内容同步;用本地锁文件的最新版本号更新控制中心对应的稳定版本号;清空本地锁文件和临时工作区域中对应的文件内容;
14.被同步方解析同步包的数据,用同步包中锁文件中的最新版本号覆盖本地文件版本号,同时用同步包中的文件覆盖本地文件。
15.作为优选,在文件同步修改过程中,无法申请对应文件的锁,同步方和被同步方同步完成后,通知控制中心释放对应文件的锁。
16.作为优选,在被同步方拒绝同步后,提示用户撤销一方的修改,将版本恢复到稳定版本号。
17.作为优选,所述撤销修改流程,包括:将文件回滚到双方达成一致的上一个稳定版本,将控制中心锁文件中的最新版本号修改为稳定版本号;释放文件修改锁,同时清空临时工作区域。
18.作为优选,采用分布式自增算法生成文件的版本号。
19.一种车机和云端系统的文件同步装置,包括控制中心、车机同步模块和云端同步模块;所述控制中心,用于维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息;
20.所述车机同步模块,用于车机系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端文件系统的修改后再次申请锁;
21.所述云端同步模块,用于云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车机系统的修改后再次申请锁。
22.一种文件同步系统,包括车载端设备、云端服务器和控制服务器;所述车载端设备、云端服务器和控制服务器均包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;
23.所述车载端设备上计算机程序被加载至处理器时实现:
24.在文件修改前,向控制服务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同步修改流程;若本
地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端服务器上程序的修改后再次申请锁;
25.所述云端服务器上计算机程序被加载至处理器时实现:
26.在文件修改前,向控制服务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车载端设备上程序的修改后再次申请锁;
27.所述控制服务器上计算机程序被加载至处理器时实现:
28.维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息。
29.有益效果:与现有技术相比,本发明具有如下优点:
30.1、本发明考虑到车机系统或云端文件系统任一方文件发生变更后若立即同步给对方,都将可能消耗较多的车载流量,在蜂窝网络下,仅同步文件最新版本号,文件实际的变更内容采取懒加载模式;在检测到wifi信号或者被强制同步的情况下,才触发实际文件同步动作;这样可以节省蜂窝数据流量,同时考虑到wifi信号的稳定性,也提高了文件同步的速率和稳定性。
31.2、本发明车机系统和云端文件系统均内置文件变更监控器,使用递增的最新版本号标记文件的每一次变更以及时跟踪文件修改;对文件变更各生命周期的监测,在必要的时候强制执行数据同步,能够保证车机系统和云端数据的一致性。
附图说明
32.图1为车机和云端文件系统的架构图。
33.图2为本发明实施例的文件修改流程图。
34.图3为本发明实施例的同步修改流程图。
具体实施方式
35.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
36.本发明实施例公开的一种车机和云端系统的文件同步方法,提供了一种双向文件同步机制,在蜂窝网络下,默认同步文件的最新版本号,只有检测到wifi信号、强制同步信号才同步文件修改内容,从而最小化蜂窝数据流量;在两端监控并记录文件的变更操作,保证车机和云端文件系统数据的最终一致性。
37.具体地,本发明实施例的方法中,每个文件在控制中心对应一个文件修改锁,车机或者云端文件系统对文件的修改操作,需要先获取到该锁才可以继续;锁中存储了该文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者的基本信息。其中,稳定版本号指最近一次车机和云端文件系统同步成功的文件版本号;文件每次修改后,基于分布式自增算法(如雪花算法),生成全局递增的分布式版本号;该版本号每次生成后都会及时同步到控制中心锁的对应字段中;车机或者云端文件系统获取到锁后,进行文件修改,在文
件同步完成后释放锁,锁的到期时间用于死机或关机的情况下自动释放锁,在本地客户端存活时情况下,快到期时可以自动续期,延长锁的有效期直至完成修改同步。
38.如图2所示,本发明实施例的总体流程分为文件修改前、本地文件修改、同步修改和撤销修改几个阶段。各阶段的具体步骤介绍如下:
39.文件修改前:
40.a1、车机或者云端文件系统向控制中心申请待修改文件对应的文件修改锁,申请成功转跳步骤a2;否则转跳步骤a3;
41.a2、车机或者云端文件系统申请锁成功后,在本地临时目录生成锁文件,进入文件修改流程;
42.a3、无法成功申请文件锁,说明另一侧有对文件的修改还未提交,用户选择放弃本次修改请求或者强制提交对端的修改;用户放弃本次修改则流程结束;否则转跳步骤a4;
43.a4、触发实际同步任务,执行同步修改流程;
44.a5、同步修改完成后转跳步骤a1,重新执行锁申请流程。
45.本地文件修改:
46.b1、车机或者云端文件系统比对锁中的文件最新版本号v0和本地文件的版本号v1,如果v1《v0,触发同步或撤销文件修改的请求;否则转跳步骤b2;具体地,用户确认是否需要同步新版本,如果需要同步,触发实际同步任务,执行同步修改流程;如果用户放弃新版本,执行撤销修改流程。
47.b2、对文件完成修改并保存时,将修改的文件内容存储到系统临时工作区域;同时生成最新的递增文件版本号,该版本号存储到对应锁文件的最新版本号字段;同时将控制中心对应文件锁的最新版本号设置为本地锁文件的最新版本号。
48.b3、用户在车机或者云端文件系统本地重复步骤b2的修改流程。这里文件修改并不立即同步,等待同步修改请求触发时才执行同步修改流程。
49.本地临时工作区域及锁文件示例:
[0050][0051]
同步修改:
[0052]
车机和云端文件系统同步的基本设定:版本号落后的一方称为被同步方,版本号超前的一方称为同步方;每个文件的同步包包括:同步方临时工作区域的文件内容、文件锁。文件同步阶段,无法申请关于该文件的锁。
[0053]
同步的时机:用户在修改完成后主动发起文件同步指令;车机端在监测到wifi信号主动要求同步文件、或者车机端或云端文件系统在文件版本不一致或请求锁失败情况下
强制要求同步文件,触发本地文件和云端文件系统的同步。同步修改流程如图3。
[0054]
c1、同步方向被同步方发送文件的同步包。
[0055]
c2、被同步方对比本地文件版本号和同步包中锁文件中的稳定版本号是否一致,如果一致说明文件未发生并发修改,接受本次同步;否则拒绝本次同步,转跳步骤c7;
[0056]
c3、控制中心通知同步方用本地临时工作区域中的文件内容覆盖实际文件,完成本地的文件内容同步;用本地锁文件的最新版本号更新控制中心对应文件锁的稳定版本号;清空本地锁文件和临时工作区域中对应的文件内容。上述操作完成后,通知控制中心同步方同步完成;
[0057]
c4、被同步方解析同步包的数据,用锁文件中的最新版本号覆盖本地文件的当前版本号,同时用同步包中的文件覆盖本地文件;上述操作完成后,通知控制中心被同步方同步完成;
[0058]
c5、控制中心释放关于该文件的锁;
[0059]
c6、同步操作完成后,在车机和云端系统都备份关于该文件最新一次达成一致的稳定版本;
[0060]
c7、提示用户撤销某一方的修改。
[0061]
撤销修改:
[0062]
d1、回滚到双方达成一致的上一个稳定版本(上一个版本在步骤c6生成);将控制中心文件对应的最新版本号修改为稳定版本号;
[0063]
d2、释放文件锁(删除本地锁文件,清除在控制中心关于该锁的占用位标记),同时清空临时工作区域。
[0064]
基于相同的发明构思,本发明实施例公开的一种车机和云端系统的文件同步装置,包括控制中心、车机同步模块和云端同步模块;所述控制中心,用于维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息;所述车机同步模块,用于车机系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端文件系统的修改后再次申请锁;所述云端同步模块,用于云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车机系统的修改后再次申请锁。
[0065]
基于相同的发明构思,本发明实施例公开的一种文件同步系统,包括车载端设备、云端服务器和控制服务器;所述车载端设备、云端服务器和控制服务器均包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;
[0066]
所述车载端设备上计算机程序被加载至处理器时实现:在文件修改前,向控制服
务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端服务器上程序的修改后再次申请锁。
[0067]
所述云端服务器上计算机程序被加载至处理器时实现:在文件修改前,向控制服务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车载端设备上程序的修改后再次申请锁。
[0068]
所述控制服务器上计算机程序被加载至处理器时实现:维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息。
技术特征:
1.一种车机和云端系统的文件同步方法,其特征在于,包括如下步骤:车机系统/云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;所述锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;所述同步修改请求在车机系统检测到wifi信号或者用户主动要求同步时触发;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步对端修改后再次申请锁。2.根据权利要求1所述的车机和云端系统的文件同步方法,其特征在于,在文件同步完成,修改撤销完成,以及锁占用时间到期未续期后释放文件修改锁。3.根据权利要求1所述的车机和云端系统的文件同步方法,其特征在于,所述同步修改流程,包括:被同步方对比本地文件版本号和同步包中锁文件中的稳定版本号是否一致,如果一致接受同步操作;否则拒绝同步,结束同步修改流程;所述同步包中包括同步方临时工作区域的文件内容和锁文件;所述被同步方为版本号落后的一方,同步方为版本号超前的一方;同步方用本地临时工作区域中的文件内容覆盖实际文件,完成本地的文件内容同步;用本地锁文件的最新版本号更新控制中心对应的稳定版本号;清空本地锁文件和临时工作区域中对应的文件内容;被同步方解析同步包的数据,用同步包中锁文件中的最新版本号覆盖本地文件版本号,同时用同步包中的文件覆盖本地文件。4.根据权利要求3所述的车机和云端系统的文件同步方法,其特征在于,在文件同步修改过程中,无法申请对应文件的锁,同步方和被同步方同步完成后,通知控制中心释放对应文件的锁。5.根据权利要求3所述的车机和云端系统的文件同步方法,其特征在于,在被同步方拒绝同步后,提示用户撤销一方的修改,将版本恢复到稳定版本号。6.根据权利要求1所述的车机和云端系统的文件同步方法,其特征在于,所述撤销修改流程,包括:将文件回滚到双方达成一致的上一个稳定版本,将控制中心锁文件中的最新版本号修改为稳定版本号;释放文件修改锁,同时清空临时工作区域。7.根据权利要求1所述的车机和云端系统的文件同步方法,其特征在于,采用分布式自增算法生成文件的版本号。8.一种车机和云端系统的文件同步装置,其特征在于,包括控制中心、车机同步模块和云端同步模块;所述控制中心,用于维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息;所述车机同步模块,用于车机系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同
步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端文件系统的修改后再次申请锁;所述云端同步模块,用于云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车机系统的修改后再次申请锁。9.根据权利要求8所述的车机和云端系统的文件同步装置,其特征在于,所述文件修改锁,在文件同步完成,修改撤销完成,以及锁占用时间到期未续期后释放。10.一种文件同步系统,其特征在于,包括车载端设备、云端服务器和控制服务器;所述车载端设备、云端服务器和控制服务器均包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;所述车载端设备上计算机程序被加载至处理器时实现:在文件修改前,向控制服务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待检测到wifi信号时或用户主动要求同步时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步云端服务器上程序的修改后再次申请锁;所述云端服务器上计算机程序被加载至处理器时实现:在文件修改前,向控制服务器上程序申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发时执行同步修改流程;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步车载端设备上程序的修改后再次申请锁;所述控制服务器上计算机程序被加载至处理器时实现:维护文件修改锁,锁中存储了文件的稳定版本号、最新版本号、锁的使用状态、到期时间以及拥有者信息。
技术总结
本发明公开了一种车机和云端系统的文件同步方法、装置与系统,本发明中车机系统/云端文件系统在文件修改前,向控制中心申请对应的文件修改锁;若申请锁成功,在本地生成锁文件,比对锁中最新版本号和本地文件版本号;若本地文件版本号未落后,则进行文件修改,修改完成后保存在本地临时工作区域,同时生成最新版本号并同步到控制中心对应的锁文件中,等待同步修改请求触发;若本地版本号落后,则根据用户选择确定执行同步修改流程或撤销修改流程;若申请锁未成功,根据用户选择确定放弃修改请求或者强制同步对端修改后再次申请锁。本发明能够在节省车载流量的同时保证车机和云端数据的一致性。的一致性。的一致性。
技术研发人员:殷庆荣 王国伟 高庆官 谢峥
受保护的技术使用者:南京赛宁信息技术有限公司
技术研发日:2023.04.04
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
