本技術涉及終端,尤其涉及一種跨設備數據同步方法及裝置。
背景技術:
1、剪貼板(clipboard)是計算機的內存中的一塊區(qū)域,用于臨時存放交換信息。不同應用程序(application,app)之間能夠通過剪貼板共享信息,例如,用戶通過復制操作將app1的數據暫存在剪貼板中,然后通過粘貼操作將剪貼板中的app1的數據發(fā)送至app2,從而完成了信息共享。
2、對于跨設備的復制粘貼場景,復制端在復制數據之后,可以廣播復制信息,實現(xiàn)數據的同步。目前,為了確定當前復制事件是否為最新復制事件,復制端廣播的復制信息中包括復制時間和用于索引數據的復制序列號等信息,導致廣播的復制信息內容冗長,接收端成功接收到所有復制信息的概率較低,從而導致跨設備復制粘貼的成功率較低。
技術實現(xiàn)思路
1、本技術提供了一種跨設備數據同步方法及裝置,用于提升跨設備復制粘貼的成功率。
2、第一方面,提供一種跨設備數據同步方法,該方法可以由包括第一裝置和第二裝置的系統(tǒng)執(zhí)行。該方法包括:所述第一裝置發(fā)送第一廣播消息,所述第一廣播消息用于指示同步第一數據,所述第一廣播消息中包括第一相對時間,所述第一相對時間用于指示所述第一裝置復制得到所述第一數據的時間;所述第二裝置接收所述第一廣播消息后,基于所述第一相對時間從所述第一裝置同步所述第一數據。
3、第一裝置和第二裝置可以是終端裝置,該終端裝置例如為電子設備,或為包括電子設備功能的其他設備,或為芯片系統(tǒng)(或,芯片)或其他功能模塊,該芯片系統(tǒng)或功能模塊能夠實現(xiàn)電子設備的功能,該芯片系統(tǒng)或功能模塊例如設置在電子設備中。該電子設備可以是搭載鴻蒙操作系統(tǒng)(harmony?operation?system,harmony?os)的電子設備,也可以是搭載安卓(android)等其它操作系統(tǒng)的電子設備。后文的介紹以該終端裝置是電子設備為例。
4、本技術實施例中,第一廣播消息中攜帶的第一相對時間既可以指示第一裝置復制第一數據的時間,也可以作為索引第一數據的復制序列號,縮短了第一廣播消息包括內容的長度,有助于提升第二裝置成功同步第一數據的概率。
5、在一種可能的實施方式中,所述第一裝置發(fā)送第一廣播消息之前,所述方法還包括:所述第一裝置根據第一絕對時間確定所述第一相對時間,所述第一絕對時間為所述第一裝置復制得到所述第一數據的時間,所述第一相對時間占用的字節(jié)數小于所述第一絕對時間占用的字節(jié)數。通過相對時間代替絕對時間,可以減少第一廣播消息中時間占用的字節(jié)數,進一步縮短了第一廣播消息包括的內容的長度,有助于提升第二裝置成功同步第一數據的概率。
6、在一種可能的實施方式中,所述第一裝置根據第一絕對時間確定所述第一相對時間,包括:所述第一裝置根據所述第一絕對時間和第一參數確定第二參數和第一余數,所述第一參數用于指示期望誤差;如果所述第一余數小于第一閾值,所述第一裝置根據所述第二參數確定所述第一相對時間,所述第一閾值與所述第一參數相關;如果所述第一余數大于或等于所述第一閾值,所述第一裝置更新所述第二參數,以及根據所述更新后的第二參數確定所述第一相對時間。以期望誤差為100,第一閾值為50為例,當第一余數大于或等于50ms時,將第一余數按照100ms處理,當第一余數小于50m時,將第一余數按照0處理。這樣,第一絕對時間和第一相對時間的最大誤差為50ms,即第一裝置對第一絕對時間進行處理得到第一相對時間的過程中時間精度最多會損失50ms,滿足期望誤差的誤差范圍。
7、在一種可能的實施方式中,所述方法還包括:所述第二裝置根據所述第一相對時間和第二絕對時間確定所述第一數據是否為最新復制的數據;或者,所述第二裝置根據第二絕對時間確定所述第一數據是否為最新復制的數據;其中,所述第二絕對時間為所述第二裝置接收所述第一廣播消息的時間;如果所述第一數據為最新復制的數據,所述第二裝置確定同步所述第一數據??紤]到廣播消息的傳輸時間較短,第二裝置可以將接收到廣播消息的時間作為第一裝置復制得到第一數據的時間,在保證跨設備復制粘貼成功率的情況下,提升跨設備復制粘貼的效率。以及,第二裝置根據接收到第一廣播消息的時間和第一廣播消息中包括的時間確定的第一裝置復制得到第一數據的時間與第一裝置實際復制得到第一數據的時間之間的誤差可以限制在一定范圍內,在縮短廣播內容長度的同時,也能保證跨設備復制粘貼的準確性。
8、在一種可能的實施方式中,所述第二裝置根據所述第一相對時間和第二絕對時間確定所述第一數據是否為最新復制的數據,包括:所述第二裝置根據所述第二絕對時間確定第二相對時間;所述第二裝置根據所述第一相對時間、第二相對時間和第二絕對時間確定第三絕對時間,所述第三絕對時間為所述第二裝置確定的所述第一裝置復制所述第一數據的時間;所述第二裝置基于所述第三絕對時間確定所述第一數據是否為最新復制的數據。
9、在一種可能的實施方式中,基于所述第一相對時間從所述第一裝置同步所述第一數據,包括:當所述第二裝置的歷史粘貼概率大于或等于第二閾值時,基于所述第一相對時間從所述第一裝置的第一剪貼板獲取所述第一數據,并將所述第一數據存儲到第二裝置的第二剪貼板,所述第二閾值用于指示最低粘貼需求。根據歷史粘貼概率確定粘貼需求,當粘貼需求較高時,預同步第一數據,有助于提升第二裝置的粘貼效率。
10、在一種可能的實施方式中,基于所述第一相對時間從所述第一裝置同步所述第一數據,包括:當所述第二裝置的歷史粘貼概率小于第二閾值,且響應于粘貼數據的操作時,基于所述第一相對時間從所述第一裝置的第一剪貼板獲取所述第一數據,并將所述第一數據存儲到第二裝置的第二剪貼板。當粘貼需求較低時,可以在檢測到粘貼操作時再同步數據,可以減小同步的數據不被粘貼的概率。
11、在一種可能的實施方式中,所述第一廣播消息的廣播幀長度與所述第一數據在所述第一裝置的第一剪貼板中存儲的版本號相關。通過廣播消息包括內容的長度進行多版本的兼容處理,可以不在廣播消息中攜帶第一數據在第一剪貼板中存儲的版本號,可以進一步縮短廣播消息的長度,有助于提升跨設備數據同步的成功率。
12、第二方面,提供一種跨設備數據同步方法,該方法可以由包括第一裝置和第二裝置的系統(tǒng)中的第一裝置執(zhí)行,第一裝置和第二裝置可以是終端裝置,該終端裝置例如為電子設備,或為包括電子設備功能的其他設備,或為芯片系統(tǒng)(或,芯片)或其他功能模塊,該芯片系統(tǒng)或功能模塊能夠實現(xiàn)電子設備的功能,該芯片系統(tǒng)或功能模塊例如設置在電子設備中。后文的介紹以該終端裝置是電子設備為例。該方法包括:所述方法包括:發(fā)送第一廣播消息,所述第一廣播消息用于指示同步第一數據,所述第一廣播消息中包括第一相對時間。
13、在一種可能的實施方式中,發(fā)送第一廣播消息之前,所述方法還包括:根據第一絕對時間確定所述第一相對時間,所述第一絕對時間為所述第一裝置復制所述第一數據的時間,所述第一相對時間占用的字節(jié)數小于所述第一絕對時間占用的字節(jié)數。
14、在一種可能的實施方式中,根據第一絕對時間確定所述第一相對時間,包括:根據所述第一絕對時間和第一參數確定第二參數和第一余數,所述第一參數用于指示期望誤差;如果所述第一余數小于第一閾值,所述第一裝置根據所述第二參數確定所述第一相對時間,所述第一閾值與所述第一參數相關;如果所述第一余數大于或等于所述第一閾值,更新所述第二參數,以及根據所述更新后的第二參數確定所述第一相對時間。
15、在一種可能的實施方式中,所述第一廣播消息的廣播幀長度與所述第一數據在所述第一剪貼板中存儲的版本號相關。
16、第三方面,提供一種跨設備數據同步方法,該方法可以由包括第一裝置和第二裝置的系統(tǒng)中的第二裝置執(zhí)行,第一裝置和第二裝置可以是終端裝置,該終端裝置例如為電子設備,或為包括電子設備功能的其他設備,或為芯片系統(tǒng)(或,芯片)或其他功能模塊,該芯片系統(tǒng)或功能模塊能夠實現(xiàn)電子設備的功能,該芯片系統(tǒng)或功能模塊例如設置在電子設備中。后文的介紹以該終端裝置是電子設備為例。該方法包括:所述方法包括:接收所述第一廣播消息,所述第一廣播消息用于指示同步第一數據,所述第一廣播消息中包括第一相對時間;基于所述第一相對時間從所述第一裝置同步所述第一數據。
17、在一種可能的實施方式中,基于所述第一相對時間從所述第一裝置同步所述第一數據,包括:當所述第二裝置的歷史粘貼概率大于或等于第二閾值時,基于所述第一相對時間從所述第一裝置的第一剪貼板獲取所述第一數據,并將所述第一數據存儲到第二裝置的第二剪貼板,所述第二閾值用于指示最低粘貼需求。
18、在一種可能的實施方式中,基于所述第一相對時間從所述第一裝置同步所述第一數據,包括:當所述第二裝置的歷史粘貼概率小于第二閾值,且響應于粘貼數據的操作時,基于所述第一相對時間從所述第一裝置的第一剪貼板獲取所述第一數據,并將所述第一數據存儲到第二裝置的第二剪貼板。
19、在一種可能的實施方式中,所述方法還包括:根據所述第一相對時間和第二絕對時間確定所述第一數據是否為最新復制的數據;或者,根據第二絕對時間確定所述第一數據是否為最新復制的數據;其中,所述第二絕對時間為所述第二裝置接收所述第一廣播消息的時間;如果所述第一數據為最新復制的數據,確定同步所述第一數據。
20、在一種可能的實施方式中,根據所述第一相對時間和第二絕對時間確定所述第一數據是否為最新復制的數據,包括:根據所述第二絕對時間確定第二相對時間;根據所述第一相對時間、第二相對時間和第二絕對時間確定第三絕對時間,所述第三絕對時間為所述第二裝置確定的所述第一裝置復制所述第一數據的時間;所述第三絕對時間確定所述第一數據是否為最新復制的數據。
21、第四方面,提供一種通信裝置,該通信裝置可以為電子設備,或者為用于電子設備中的芯片或芯片系統(tǒng)。該通信裝置包括通信接口以及處理器,可選的,還包括存儲器。其中,該存儲器用于存儲計算機程序,處理器與存儲器、通信接口耦合,當處理器讀取所述計算機程序或指令時,使通信裝置執(zhí)行上述第二方面中由第一裝置所執(zhí)行的方法,使通信裝置執(zhí)行上述第三方面中由第二裝置所執(zhí)行的方法。
22、第五方面,提供一種計算機可讀存儲介質,所述計算機可讀存儲介質用于存儲計算機程序,當所述計算機程序在計算機上運行時,使得所述計算機執(zhí)行如上述第二方面或第三方面提供的方法。
23、第六方面,提供一種計算機程序產品,包括計算機程序,當所述計算機程序在計算機上運行時,使得所述計算機執(zhí)行如上述第二方面或第三方面所述的方法。
24、第七方面,提供一種電子設備上的圖形用戶界面,所述電子設備具有顯示屏、存儲器、以及處理器,所述處理器用于執(zhí)行存儲在所述存儲器中的一個或多個計算機程序,所述圖形用戶界面包括所述電子設備執(zhí)行上述第二方面或第三方面所述的方法時顯示的圖形用戶界面。
25、第八方面,提供一種芯片系統(tǒng),包括處理器和接口,所述處理器用于從所述接口調用并運行指令,以使所述芯片系統(tǒng)實現(xiàn)上述第二方面或第三方面所述的方法。
26、上述第二方面至第八方面的有益效果,參見第一方面的有益效果,不重復贅述。