CN117453636A - 文件的处理方法、装置、电子设备及存储介质 - Google Patents
文件的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117453636A CN117453636A CN202311416982.8A CN202311416982A CN117453636A CN 117453636 A CN117453636 A CN 117453636A CN 202311416982 A CN202311416982 A CN 202311416982A CN 117453636 A CN117453636 A CN 117453636A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- electronic
- matching
- group
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 47
- 238000003672 processing method Methods 0.000 title abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 61
- 230000004044 response Effects 0.000 claims description 59
- 230000000875 corresponding effect Effects 0.000 claims description 55
- 230000015654 memory Effects 0.000 claims description 28
- 238000012217 deletion Methods 0.000 claims description 17
- 230000037430 deletion Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 7
- 238000012790 confirmation Methods 0.000 claims description 6
- 230000002596 correlated effect Effects 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 abstract description 19
- 230000008569 process Effects 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种文件的处理方法、装置、电子设备及存储介质;方法包括:在第一电子设备中显示设备同步界面;响应于所述第一电子设备已经加入第一设备组,在所述设备同步界面显示所述第一设备组包括的电子设备的标识、以及匹配标识查看控件;响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;响应于第二电子设备基于所述匹配标识加入所述第一设备组,在所述第一设备组中添加所述第二电子设备的标识,以及在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。通过本申请,能够以便捷且保密的方式同步多个电子设备分别存储的文件。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种文件的处理方法、装置、电子设备及存储介质。
背景技术
随着科学技术的发展,用户拥有的电子设备的数量逐渐增多,用户会在多个电子设备间切换使用,为了提高用户的使用体验,需要同步用户的各个电子设备分别存储的文件(例如词典)。在确定设备组方面,相关技术提供的方案通常需要用户登录,即不同设备上使用同一账号登录,从而确定不同设备属于同一个设备组,即设备本身并不具有身份,它的身份会随着登录账号的变化而变化。
然而,相关技术提供的使用账号体系的方案来确定设备组,每台设备都需要账号登录,进而需要注册账号等一系列操作,流程复杂,用户忘记密码后比较麻烦。并且,后台服务器可以完全确定设备组的身份,定位到具体用户,导致用户隐私容易泄露。
发明内容
本申请实施例提供一种文件的处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够以便捷且保密的方式同步多个电子设备分别存储的文件。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种文件的处理方法,应用于第一电子设备,包括:
在所述第一电子设备中显示设备同步界面;
响应于所述第一电子设备已经加入第一设备组,在所述设备同步界面显示所述第一设备组包括的电子设备的标识、以及匹配标识查看控件;
响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;
响应于第二电子设备基于所述匹配标识加入所述第一设备组,在所述第一设备组中添加所述第二电子设备的标识,以及
在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
本申请实施例提供又一种文件的处理方法,应用于第二电子设备,包括:
在所述第二电子设备中显示设备同步界面,其中,所述设备同步界面包括所述第二电子设备的标识以及关联设备控件;
响应于针对所述关联设备控件的触发操作,且所述第二电子设备未加入任何设备组,在所述第二电子设备中显示匹配标识输入区域;
通过所述匹配标识输入区域接收被输入的匹配标识,其中,所述匹配标识是在第一电子设备中输出的匹配标识;
响应于所述第一电子设备已经加入第一设备组,在所述第一设备组中添加所述第二电子设备的标识,以及
在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
本申请实施例提供一种文件的处理装置,应用于第一电子设备,包括:
显示模块,用于在所述第一电子设备中显示设备同步界面;
所述显示模块,还用于响应于所述第一电子设备已经加入第一设备组,在所述设备同步界面显示所述第一设备组包括的电子设备的标识、以及匹配标识查看控件;
输出模块,用于响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;
添加模块,用于响应于第二电子设备基于所述匹配标识加入所述第一设备组,在所述第一设备组中添加所述第二电子设备的标识;
同步模块,用于在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
本申请实施例提供又一种文件的处理装置,应用于第二电子设备,包括:
显示模块,用于在所述第二电子设备中显示设备同步界面,其中,所述设备同步界面包括所述第二电子设备的标识以及关联设备控件;
所述显示模块,还用于响应于针对所述关联设备控件的触发操作,且所述第二电子设备未加入任何设备组,在所述第二电子设备中显示匹配标识输入区域;
接收模块,用于通过所述匹配标识输入区域接收被输入的匹配标识,其中,所述匹配标识是在第一电子设备中输出的匹配标识;
添加模块,用于响应于所述第一电子设备已经加入第一设备组,在所述第一设备组中添加所述第二电子设备的标识;
同步模块,用于在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的文件的处理方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的文件的处理方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的文件的处理方法。
本申请实施例具有以下有益效果:
通过匹配标识的方式完成设备组的创建,流程简单,并且全程匿名,后台服务器无法确认设备组的真实身份,从而使得用户隐私能够得到较好的保护,同时,相较于相关技术提供的账号体系方案,本申请实施例提供的技术方案无需用户登录,避免用户忘记密码后造成的麻烦,从而可以便捷地同步同一个设备组内的多个设备分别存储的文件,进而提升了用户在切换使用设备组中的不同电子设备时的使用体验。
附图说明
图1是本申请实施例提供的文件的处理系统100的架构示意图;
图2A是本申请实施例提供的第一电子设备400的结构示意图;
图2B是本申请实施例提供的第二电子设备500的结构示意图;
图3是本申请实施例提供的文件的处理方法的流程示意图;
图4A和图4B是本申请实施例提供的文件的处理方法的流程示意图;
图5是本申请实施例提供的文件的处理方法的流程示意图;
图6A和图6B是本申请实施例提供的文件的处理方法的应用场景示意图;
图7A至图7C是本申请实施例提供的文件的处理方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据(例如用户词典数据),当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
在以下的描述中,所涉及的术语“第一\第二\...”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\...”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)云对象存储服务(COS,Cloud Object Storage):简称为对象存储服务,是计算机系统中一个常见的技术,它类似于网盘,能够将文件(例如词典)存储到云端并提供下载能力。
3)设备组:由多个电子设备(简称为设备)组成,本申请实施例中的用户词典同步是指同一设备组内的多个设备互相同步。
4)设备组标识:每个设备组都有一个唯一对应的编号(即设备组ID),用于标识该设备组。
5)用户词典:简称为词典,是指输入法应用或者专门的词典应用中本地存储用户曾经输入过的内容的文件,它有助于提升用户输入体验。例如用户多次输入的词语和自造的词语,后续再次输入对应的拼音时,排序会更加靠前。
6)用户词典记录:简称为记录,一个用户词典可以由多个用户词典记录组成,每一个记录描述了一个特定拼音和对应汉字的用户操作历史。
7)增量同步:指仅同步未同步过的数据,例如可以将设备B产生的增量数据(即在设备B中产生的新记录)同步到设备A的词典中。
8)全量同步:指同步所有数据,无论其是否已经增量或全量同步过,例如可以从设备A中导出全量数据(即设备A的词典包括的所有记录),并将全量数据同步到设备B的词典中。
9)离线异步交互:即数据同步无需保持所有设备同时联网。
10)对称加密:指采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,也可以称为单密钥加密。
11)消息队列:是在消息的传输过程中保存消息的容器,它能够按顺序存储和读取消息(例如增量数据包括的用户词典记录),当消息过多时,会自动删除最早加入消息队列的消息。
以用户词典同步场景为例,在确定设备组方面,相关技术提供的方案通常需要用户登录,即不同设备上使用同一账号登录,从而确定不同设备属于同一个设备组,即设备本身并不具有身份,它的身份会随着登录账号的变化而变化。在用户词典同步方面,相关技术提供的方案通常采取将各个设备各自的用户词典全部上传至后台服务器(简称为后台),由后台完成多个设备的用户词典数据合并之后再下发到各个设备中。
然而,申请人在实施本申请实施例的过程中发现:在确定设备组方面,相关技术提供的方案存在以下缺点:1、使用账号体系,每台设备都需要账号登录,进而需要注册账号等一系列操作,流程复杂,用户忘记密码后比较麻烦。2、后台可以完全确定设备组的身份,定位到具体用户,导致用户隐私容易泄露。此外,在用户词典同步方面,相关技术提供的技术方案存在以下缺点:1、上传和下载的数据量大,因此更新频率较低,通常以天为单位。2、无法处理数据删除问题,即在某一设备上删除某些用户词典的记录后,如果这些记录已经同步至其他设备,那么经过再次同步后,被删除的数据又会恢复回来,从而无法达到删除的目的。3、数据安全性低,用户词典全部上传至后台,并且进行长期存储。
针对相关技术存在的上述缺点,在确定设备组方面,本申请实施例提供的技术方案无账号体系,每个设备都由后台颁发唯一的随机ID,通过动态匹配码加二次确认的方式完成设备组的创建,流程简单,并且全程匿名,后台无法确认设备组的真实身份,从而用户隐私得到较好的保护。在用户词典同步方面,本申请实施例采取全量同步+增量同步的方式进行,其中,全量同步时仅利用COS服务进行数据的临时中转,且数据使用设备组内协商的密钥进行加密,数据安全性高。增量同步采用后台维护具有长度和时间限制的消息队列的方式进行,上传的数据量小,实时性高,安全性高,并且能够解决数据删除问题。
鉴于此,本申请实施例提供一种文件的处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够以便捷且保密的方式同步多个电子设备分别存储的文件。下面对本申请实施例提供的电子设备进行说明。本申请实施例提供的电子设备可以实施为终端设备,也可以由终端设备和服务器协同实施。需要说明的是,这里的电子设备可以是下文所述的任意电子设备,包括第一电子设备和第二电子设备,其中,第一电子设备是指设备组的发起方,第二电子设备是指设备组的加入方。
示例的,参见图1,图1是本申请实施例提供的文件的处理系统100的架构示意图,为实现支撑以便捷且保密的方式同步多个电子设备分别存储的文件的应用,如图1所示,文件的处理系统100包括:服务器200、网络300、第一电子设备400和第二电子设备500,其中,网络300可以是广域网或者局域网,又或者是二者的组合,第一电子设备400和第二电子设备500可以是用户的两种不同类型的终端设备,例如第一电子设备400可以是用户的手机,第二电子设备500可以是用户的笔记本电脑。此外,第一电子设备400上运行的客户端410和第二电子设备500上运行的客户端510可以是相同类型的客户端,例如以客户端410为例,客户端410可以是各种类型的客户端,例如包括即时通信客户端、输入法应用、专门的词典应用以及浏览器等,当客户端410为即时通信客户端时,对应的文件可以是相册、聊天文件等;当客户端410为输入法应用时,对应的文件可以是词典。
下面以第一电子设备400为发起方,第二电子设备500为加入方为例进行说明。
在一些实施例中,在第一电子设备400(例如用户的手机)中可以显示有设备同步界面;当检测到第一电子设备400当前已经加入第一设备组(例如设备组A)时,可以在设备同步界面中显示第一设备组包括的电子设备的标识(例如可以显示第一设备组包括的多个电子设备分别对应的型号)以及匹配标识查看控件(例如“查看匹配码”按钮);当接收到用户针对匹配标识查看控件的点击操作时,第一电子设备400可以向服务器200发送匹配标识获取请求,以从服务器200中获取第一电子设备400对应的匹配标识。第一电子设备400在接收到服务器200返回的匹配标识(例如匹配码)后,可以调用人机交互界面进行显示,例如可以以弹窗的方式在第一电子设备400中显示服务器200返回的匹配码。随后,当检测到第二电子设备500(例如用户的笔记本电脑)基于匹配码加入第一设备组时,可以在第一设备组中添加第二电子设备500的标识,例如第一电子设备400可以跳转回设备同步界面,并在设备同步界面显示的设备组中添加第二电子设备500的型号,最后可以在第一设备组包括的多个电子设备(即包括第一电子设备400和第二电子设备500在内的多个电子设备)之间,同步多个电子设备分别存储的文件(例如词典或者相册等),如此,在进行文件同步时,用户无需使用同一账号在多个设备上分别登录,仅通过匹配标识的方式即可完成设备组的创建,流程简单,并且全程匿名,后台服务器无法确认设备组的真实身份,从而使得用户隐私能够得到较好的保护。
在另一些实施例中,本申请实施例还可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
示例的,图1中的服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,ContentDelivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。电子设备(包括第一电子设备400和第二电子设备500)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。第一电子设备400、第二电子设备500以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,电子设备(包括第一电子设备和第二电子设备)还可以通过运行各种计算机可执行指令、或计算机程序来实现本申请实施例提供的文件的处理方法。举例来说,计算机可执行指令可以是微程序级的命令、机器指令或软件指令。计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APPlication,APP),即需要在操作系统中安装才能运行的程序,如输入法APP或者专门的词典APP;也可以是能够嵌入至任意APP中的小程序,即只需要下载到浏览器环境中就可以运行的程序。总而言之,上述的计算机可执行指令可以是任意形式的指令,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面继续对图1中示出的第一电子设备400的结构进行说明。参见图2A,图2A是本申请实施例提供的第一电子设备400的结构示意图,图2A所示的第一电子设备400包括:至少一个处理器420、存储器460、至少一个网络接口430和用户接口440。第一电子设备400中的各个组件通过总线系统450耦合在一起。可理解,总线系统450用于实现这些组件之间的连接通信。总线系统450除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统450。
处理器420可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口440包括使得能够呈现媒体内容的一个或多个输出装置441,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口440还包括一个或多个输入装置442,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器460可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器460可选地包括在物理位置上远离处理器420的一个或多个存储设备。
存储器460包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器460旨在包括任意适合类型的存储器。
在一些实施例中,存储器460能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统461,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块462,用于经由一个或多个(有线或无线)网络接口430到达其他计算设备,示例性的网络接口430包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块463,用于经由一个或多个与用户接口440相关联的输出装置441(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块464,用于对一个或多个来自一个或多个输入装置442之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2A示出了存储在存储器460中的文件的处理装置465,其可以是程序和插件等形式的软件,包括以下软件模块:显示模块4651、输出模块4652、添加模块4653、同步模块4654、确定模块4655、发送模块4656、获取模块4657、存储模块4658、接收模块4659和加密模块46510,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。需要指出的是,在图2A中为了方便表达,一次性示出了上述所有模块,但是不应视为在文件的处理装置465排除了可以只包括显示模块4651、输出模块4652、添加模块4653和同步模块4654的实施,将在下文中说明各个模块的功能。
下面继续对图1中示出的第二电子设备500的结构进行说明。示例的,参见图2B,图2B是本申请实施例提供的第二电子设备500的结构示意图,如图2B所示,第二电子设备500包括:存储器560,用于存储可执行指令;处理器520,用于处理存储器560中存储的可执行指令时,实现本申请实施例提供的文件的处理方法。此外,存储在存储器560中的文件的处理装置565,其可以是程序和插件等形式的软件,包括以下软件模块:显示模块5651、接收模块5652、添加模块5653、同步模块5654、下载模块5655和解密模块5656,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。需要指出的是,在图2B中为了表述方便,一次性示出了上述所有模块,在实际应用中,不排除文件的处理装置565中仅包括显示模块5651、接收模块5652、添加模块5653和同步模块5654的实施,将在下文说明各个模块的功能。另外,第二电子设备500还包括网络接口530、用户接口540(包括输出装置541和输入装置542)、总线系统550、存储器560中还存储有操作系统561、网络通信模块562、呈现模块563和输入处理模块564,上述组件的作用与图2A中对应组件的作用相同,可以参考图2A的描述,本申请实施例在此不再赘述。
下面首先从第一电子设备的角度对本申请实施例提供的文件的处理方法进行具体说明。也就是说,图3示出的步骤101至步骤105的执行主体为上文所述的第一电子设备。
示例的,参见图3,图3是本申请实施例提供的文件的处理方法的流程示意图,将结合图3示出的步骤进行说明。
在步骤101中,在第一电子设备中显示设备同步界面。
在一些实施例中,以第一电子设备为电子设备A(例如用户的手机)为例,在电子设备A上可以运行有客户端(例如输入法APP或者专门的词典APP),也就是说,本申请实施例中的词典可以是输入法APP中的词典或者是专门的词典APP中的词典。以输入法APP为例,在输入法APP的主界面中可以显示有设备同步设置入口,当接收到用户针对设备同步设置入口的点击操作时,可以显示设备同步界面,其中,设备同步界面可以包括电子设备A的标识(例如手机的型号)、匹配标识查看控件(例如“查看匹配码”按钮)和关联设备控件等。
在步骤102中,响应于第一电子设备已经加入第一设备组,在设备同步界面显示第一设备组包括的电子设备的标识、以及匹配标识查看控件。
在一些实施例中,仍以第一电子设备为电子设备A(例如用户的手机)为例,当检测到电子设备A当前已经加入第一设备组(例如设备组A)时,除了可以在设备同步界面中显示电子设备A的标识外,还可以显示第一设备组包括的其他电子设备的标识,例如包括用户所使用的平板电脑的型号、用户所使用的智能手表的型号等,也就是说,用户的平板电脑和智能手表也已经加入第一设备组中,同时,还可以在电子设备A的标识的附近(例如右侧)显示匹配标识查看控件(例如“查看匹配码”按钮),以供用户查看电子设备A的匹配标识,其中,匹配标识的具体形式可以包括设定位数(例如6位)的数字、文字、或者图片(例如二维码)等。
在步骤103中,响应于针对匹配标识查看控件的触发操作,在第一电子设备中输出匹配标识。
在一些实施例中,参见图4A,图4A是本申请实施例提供的文件的处理方法的流程示意图,如图4A所示,图3示出的步骤103可以通过图4A示出的步骤1031A和步骤1032A实现,将结合图4A示出的步骤进行说明。
在步骤1031A中,响应于针对匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使服务器生成唯一对应第一电子设备的匹配标识。
这里,匹配标识可以具有设定时长(例如5分钟)的有效期,也就是说,服务器在生成第一电子设备的匹配标识(例如匹配码)之后的5分钟内,不会生成相同的匹配标识,从而可以保证在5分钟内,第一电子设备的匹配标识是唯一的。
在一些实施例中,以第一电子设备为电子设备A为例,当接收到用户针对设备同步界面显示的匹配标识查看控件(例如“查看匹配码”按钮)的点击操作时,电子设备A可以向后台服务器发送匹配码获取请求。后台服务器在接收到电子设备A发送的匹配码获取请求之后,可以随机生成一个6位数的匹配码返回给电子设备A,同时可以保证5分钟内所有电子设备不会随机到同样的匹配码。
在步骤1032A中,响应于接收到服务器返回的匹配标识,显示匹配标识或者以语音的方式播放匹配标识。
在一些实施例中,承接上述示例,电子设备A在接收到后台服务器返回的匹配标识后,可以以弹窗的方式在电子设备A中显示后台服务器返回的匹配标识,也可以通过语音的方式播放后台服务器返回的匹配标识,还可以在显示匹配标识的同时进行播放,其中,该匹配标识可以是与第一设备组(即电子设备A当前加入的设备组)的设备组标识绑定的,以供用户的其他电子设备基于该匹配标识加入第一设备组。
在另一些实施例中,参见图4B,图4B是本申请实施例提供的文件的处理方法的流程示意图,如图4B所示,图3示出的步骤103还可以通过图4B示出的步骤1031B和步骤1032B实现,将结合图4B示出的步骤进行说明。
在步骤1031B中,响应于针对匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使服务器从匹配标识数据库中查询未被使用的匹配标识,并将查询得到的匹配标识锁定设定时长。
在一些实施例中,以第一电子设备为电子设备A为例,当接收到用户针对设备同步界面中显示的匹配标识查看控件(例如“查看匹配码”按钮)的点击操作时,电子设备A可以向后台服务器发送匹配码获取请求。后台服务器在接收到电子设备A发送的匹配码获取请求之后,可以从匹配码数据库(匹配码数据库中可以存储有多个匹配码)中查询当前未被使用的匹配码(例如未被锁定的匹配码),并将查询得到的匹配码(例如匹配码1)锁定设定时长(例如5分钟),以作为电子设备A对应的匹配码,其中,匹配码可以是设定位数的数字,例如6位的数字,也可以是文字的形式,本申请实施例对此不做具体限定。
在步骤1032B中,响应于接收到服务器返回的查询得到的匹配标识,显示查询得到的匹配标识或者以语音的方式播放查询得到的匹配标识。
在一些实施例中,承接上述示例,以匹配标识为匹配码为例,电子设备A在接收到服务器返回的从匹配码数据库中查询得到的匹配码(例如匹配码1)之后,可以以弹窗的方式在电子设备A中显示匹配码1,或者以语音的方式播放匹配码1,又或者在显示匹配码1的同时进行播放,其中,匹配码1可以是与电子设备A当前加入的第一设备组(例如设备组A)绑定的,可以用于供用户的其他电子设备基于匹配码1加入设备组A。
需要说明的是,同一设备组中的不同电子设备分别对应的匹配标识是不同的,但不同匹配标识均与该设备组的设备组标识进行了绑定,例如以设备组A为例,假设设备组A包括电子设备A和电子设备B,其中,电子设备A(例如用户的手机)对应的匹配码是“902345”,电子设备B(例如用户的平板电脑)对应的匹配码是“981234”,当用户想将电子设备C(例如用户的智能手表)加入设备组A时,由于上述的两个匹配码都是与设备组A的设备组标识绑定的,因此用户既可以在电子设备C的匹配码输入区域中输入电子设备A对应的匹配码,也可以输入电子设备B对应的匹配码,均可以将电子设备C加入设备组A中。
在步骤104中,响应于第二电子设备基于匹配标识加入第一设备组,在第一设备组中添加第二电子设备的标识。
在一些实施例中,第一电子设备在响应于第二电子设备基于匹配标识加入第一设备组之前,还可以执行以下处理:响应于接收到第二电子设备经由服务器转发的加入请求,显示第一提示信息,其中,第二电子设备未加入包括第一设备组在内的任何设备组,加入请求携带匹配标识,第一提示信息用于提示第二电子设备请求加入第一设备组;响应于针对第一提示信息的确认操作,确定将响应于第二电子设备基于匹配标识加入第一设备组。
示例的,以第一电子设备为电子设备A(例如用户的手机),第二电子设备为电子设备B(例如用户的笔记本电脑)为例,当电子设备B接收到用户在匹配码输入区域中输入的匹配码(例如在电子设备A中显示的匹配码)后,可以向后台服务器发送携带该匹配码的加入请求,后台服务器在接收到电子设备B发送的加入请求后,可以首先判断电子设备B当前是否已经加入其他设备组,当确定电子设备B当前未加入任何设备组时,可以从加入请求中提取出匹配码,并向该匹配码对应的电子设备(即电子设备A)转发该加入请求。电子设备A在接收到后台服务器转发的加入请求后,可以以弹窗的方式在电子设备A中显示第一提示信息,例如“电子设备B希望加入,是否同意”,当接收到用户针对第一提示信息包括的同意按钮的点击操作时,确定允许将电子设备B加入第一设备组中,从而可以进一步提高安全性。
需要说明的是,用户除了可以通过触屏的方式在电子设备B中输入电子设备A显示的匹配码外,还可以通过语音的方式进行输入,例如电子设备B可以采集用户语音输出的匹配码,例如用户需要对着电子设备B读出电子设备A显示的匹配码;此外,也可以通过扫描的方式进行输入,例如用户可以使用电子设备B的摄像头对电子设备A显示的匹配码进行扫描,本申请实施例对此不做具体限定。
在步骤105中,在第一设备组包括的多个电子设备之间,同步多个电子设备分别存储的文件。
这里,文件的类型可以包括:词典、相册、文档、音频等。
在一些实施例中,以文件为词典为例,第一电子设备存储的词典可以包括至少一条记录,其中,每条记录的序号(假设记为CloudMsgID)可以与该记录对应的时间戳正相关(即越晚产生的记录,对应的序号越大),则可以通过以下方式实现步骤105:获取至少一条记录对应的至少一个序号中的最大序号;响应于满足同步条件,向服务器发送携带最大序号的同步请求,其中,服务器存储有设备组中的其他电子设备(例如第二电子设备)发送的增量词典数据,该增量词典数据可以包括其他电子设备新生成的多条记录,该同步请求可以用于供服务器执行以下处理:获取增量词典数据包括的多条记录中的最早记录的序号、以及最晚记录的序号,其中,最早记录的序号小于最晚记录的序号;响应于最大序号大于或等于最晚记录的序号,向第一电子设备发送无需同步的通知消息;响应于最大序号小于最早记录的序号,向第一电子设备发送增量词典数据;响应于最大序号大于最早记录的序号,且小于最晚记录的序号,向第一电子设备发送增量词典数据中的部分记录,其中,部分记录包括从最大序号至最晚记录的序号一一对应的多条记录。
在另一些实施例中,上述的增量词典数据可以是存储在消息队列中的,且具有设定时长(例如30分钟)的有效期,并且上述的每条记录可以包括:索引(例如拼音或者关键词)、索引对应的索引结果(例如拼音对应的汉字或者关键词对应的搜索结果)、最近一次使用时间戳、使用总次数。
示例的,以第一电子设备为电子设备A,第二电子设备为电子设备B为例,用户在电子设备B进行打字输入后,产生了增量词典数据(即新生成了若干条记录),当这些记录的数量累计到一定量(例如50条)时,电子设备B会将这些记录上传至后台服务器。后台服务器在接收到电子设备B发送的增量词典数据后,首先检查电子设备B属于哪个设备组,并找到与该设备组(例如设备组A)对应的消息队列(例如消息队列1),然后将这些增量词典数据依次存入消息队列1中。消息队列1中存储的每条记录都具有对应的序号,它可以是一个单调递增的数字,即越晚生成的记录,对应的序号越大,也就是说,消息队列中存储的多条记录中最早生成的记录的序号最小,最晚生成的记录的序号最大,例如假设电子设备B上传的增量词典数据包括10条记录,分别为记录1至记录10,其中,记录1是这10条记录中最早生成的记录,记录10是这10条记录中最晚生成的记录,即记录1的序号是消息队列中的最小序号,记录10的序号是消息队列中的最大序号,后台服务器在获取到消息队列中的最小序号和最大序号后,可以将最小序号和最大序号存储至数据库中。
示例的,承接上述示例,设备组A中的电子设备B在向后台服务器上传增量词典数据后,电子设备A可以获取本地存储的词典包括的多个记录(例如20个记录)分别对应的多个序号中的最大序号(假设记为A-CloudMsgID),并在适当的时机向后台服务器发送携带最大序号的同步请求。后台服务器在接收到电子设备A发送的同步请求后,可以首先从同步请求中提取出最大序号,接着将电子设备A中的最大序号与消息队列中的最大序号进行比较,当电子设备A中的最大序号大于或等于消息队列中的最大序号时,表明电子设备A中已经存在电子设备B上传的增量词典数据,则后台服务器可以向电子设备A发送无需进行同步的通知消息;当电子设备A中的最大序号小于消息队列中的最小序号时,则此时需要进行全量同步,例如后台服务器可以将电子设备B上传的增量词典数据全部发送给电子设备A;当电子设备A中的最大序号介于消息队列中的最小序号和最大序号之间时,例如假设电子设备A中的最大序号与记录4的序号相同时,后台服务器可以将电子设备B上传的增量词典数据包括的记录5至记录10发送给电子设备A,如此,在提高安全性的同时,可以节约在进行词典同步时需要消耗的数据流量。
在一些实施例中,第一电子设备在接收到服务器返回的增量文件数据或部分记录之后,还可以执行以下处理:针对服务器返回的增量文件数据或部分记录中未携带删除标识的记录,将第一电子设备存储的文件中包括相同索引和索引结果的记录替换为该记录;针对服务器返回的增量文件数据或部分记录中携带删除标识的记录,删除第一电子设备存储的文件中包括相同的索引和索引结果的记录。
示例的,以第一电子设备为电子设备A为例,后台服务器向电子设备A返回的增量词典数据或者部分记录中的记录可以分为两类,一类是不携带删除标识的记录,另一类是携带删除标识的记录,对于不携带删除标识的记录,可以将该记录添加到电子设备A存储的词典中,此外,如果电子设备A存储的词典中已经存在了相同的拼音+汉字的记录,则使用该记录覆盖电子设备A的词典中的原始记录;对于携带删除标识的记录,可以删除该记录,此外,如果电子设备A存储的词典中存在相同的拼音+汉字的记录,则同时删除电子设备A存储的词典中的该记录,如此,可以解决相关技术提供的方案中无法处理数据删除问题。
在另一些实施例中,第一电子设备还可以执行以下处理:响应于满足上传条件,向服务器发送增量文件数据,其中,上传条件包括以下之一:第一电子设备新生成的记录的数量大于数量阈值(例如50条);第一电子设备新生成至少一条记录,且距离上一次上传增量文件数据的时长达到时长阈值(例如1个小时),该增量文件数据可以包括第一电子设备新生成的至少一条记录。例如以第一电子设备为电子设备A为例,当电子设备A本地累计新生成超过50条记录或者至少有一条记录且超过1个小时未上传时,可以向后台服务器上传当前产生的增量词典数据。
在另一些实施例中,第一电子设备还可以通过以下方式实现上述的步骤105:获取对象存储服务(即COS服务)生成的临时票据,其中,临时票据会随着第一设备组中电子设备的变化而变化,例如有新的电子设备加入第一设备组或者有电子设备退出第一设备组时,临时票据都会发生变化;基于临时票据,将第一电子设备存储的文件(例如词典包括的所有记录,也可以称为全量数据)存储至对象存储服务中;接收对象存储服务返回的下载链接(例如统一资源定位符);向服务器发送下载链接,以使服务器将下载链接转发至第二电子设备,其中,下载链接用于供第二电子设备执行以下处理:基于临时票据和下载链接,从对象存储服务中下载第一电子设备存储的文件;将第一电子设备存储的文件同步至第二电子设备存储的文件中。例如以第一电子设备为电子设备A、第二电子设备为电子设备B为例,电子设备B在基于临时票据和下载链接,从COS服务中下载电子设备A存储的词典后,可以将电子设备A存储的词典包括的所有记录同步到电子设备B存储的词典中。
示例的,可以通过以下方式实现上述的基于临时票据,将第一电子设备存储的词典存储至对象存储服务中:获取服务器生成的密钥;基于密钥对第一电子设备存储的文件进行加密,得到加密后的文件;基于临时票据,将加密后的文件存储至对象存储服务中,如此,可以进一步提高文件的安全性。
示例的,以文件为词典为例,第一电子设备存储的词典可以包括至少一条记录,其中,每条记录的序号与该记录对应的时间戳正相关,则可以通过以下方式实现上述的向服务器发送下载链接:获取至少一条记录对应的至少一个序号中的最大序号(即最新记录的序号);向服务器发送下载链接和最大序号,以使服务器将下载链接和最大序号封装成第一电子设备对应的元信息(MetaInfo),并将该元信息存储至数据库中。
在另一些实施例中,当第一电子设备未加入包括第一设备组在内的任何设备组时,还可以执行以下处理:在设备同步界面显示第一电子设备的标识以及匹配标识查看控件;响应于针对匹配标识查看控件的触发操作,在第一电子设备中输出匹配标识;响应于第二电子设备基于匹配标识请求与第一电子设备进行绑定,在新创建的第二设备组(例如设备组B)中添加第一电子设备的标识和第二电子设备的标识,以及在第二设备组包括的多个电子设备(即第一电子设备和第二电子设备)之间,同步多个电子设备分别存储的文件。
示例的,以第一电子设备为电子设备A,第二电子设备为电子设备B为例,在电子设备A中可以显示有设备同步界面,当检测到电子设备A当前未加入任何设备组时,可以仅在设备同步界面中显示电子设备A的标识和匹配标识查看控件(例如“查看匹配码”按钮);当接收到用户针对匹配标识查看控件的点击操作时,可以在电子设备A中显示后台服务器返回的匹配码或者以语音的方式播放后台服务器返回的匹配码。类似的,在电子设备B中也可以显示有设备同步界面,其中,设备同步界面可以包括关联设备控件,当接收到用户针对关联设备控件的点击操作时,可以在电子设备B中显示匹配码输入区域。用户在匹配码输入区域中输入在电子设备A中显示的匹配码后,电子设备B可以向后台服务器发送携带匹配码的绑定请求,后台服务器在接收到电子设备B发送的绑定请求后,可以新创建一个第二设备组(例如设备组B),并将电子设备A和电子设备B加入设备组B中,此时,在电子设备A的设备同步界面中会增加电子设备B的标识,类似的,在电子设备B的设备同步界面会增加电子设备A的标识,随后针对设备组B中的电子设备A和电子设备B,可以同步电子设备A和电子设备B分别存储的词典。
下面继续从第二电子设备的角度对本申请实施例提供的文件的处理方法进行说明。也就是说,图5示出的步骤201至步骤205的执行主体为上文所述的第二电子设备。
示例的,参见图5,图5是本申请实施例提供的文件的处理方法的流程示意图,将结合图5示出的步骤进行说明。
在步骤201中,在第二电子设备中显示设备同步界面。
这里,设备同步界面可以包括第二电子设备的标识(例如第二电子设备的型号)以及关联设备控件(例如“关联设备”按钮)。
在步骤202中,响应于针对关联设备控件的触发操作,且第二电子设备未加入任何设备组,在第二电子设备中显示匹配标识输入区域。
这里,匹配标识输入区域可以是匹配码输入区域,用户可以在匹配码输入区域中触屏输入第一电子设备显示的匹配码;匹配标识输入区域也可以是音频采集控件,当接收到用户针对音频采集控件的点击操作时,第二电子设备会调用麦克风对用户输出的语音进行采集。
在一些实施例中,以第二电子设备为电子设备B为例,当接收到用户针对关联设备控件的点击操作时,电子设备B可以向后台服务器发送相应的请求。后台服务器在接收到电子设备B发送的请求后,检查电子设备B当前是否已经加入某个设备组,当后台服务器确定电子设备B当前未加入任何设备组时,可以向电子设备B返回携带电子设备B当前未加入任何设备组的通知消息,以使电子设备B显示匹配标识输入区域。
在另一些实施例中,第二电子设备还可以执行以下处理:响应于针对关联设备控件的触发操作,且第二电子设备已经加入第三设备组(例如设备组C),在第二电子设备中显示第二提示信息,其中,第二提示信息用于提示第二电子设备已经加入第三设备组,第三设备组区别于第一设备组。
示例的,以第二电子设备为电子设备B为例,当接收到用户针对关联设备控件的点击操作时,电子设备B可以向后台服务器发送相应的请求。后台服务器在接收到电子设备B发送的请求后,检查电子设备B当前是否已经加入某个设备组,当后台服务器确定电子设备当前已经加入设备组C时,可以向电子设备B发送携带电子设备B已经加入设备组C的通知消息,以在电子设备B中以弹窗的方式显示第二提示信息,例如“电子设备B已经加入设备组C”。
在步骤203中,通过匹配标识输入区域接收被输入的匹配标识。
这里,匹配标识可以是在第一电子设备中输出的匹配标识,即当用户希望将第二电子设备与第一电子设备进行绑定时,可以在匹配标识输入区域中输入第一电子设备输出的匹配标识。例如当匹配标识为数字或者文字形式的匹配码时,用户可以通过触屏的方式在匹配码输入区域中输入在第一电子设备中显示的匹配码,当然,用户也可以通过语音的方式输入第一电子设备播放的匹配码,例如用户需要对着第二电子设备重复第一电子设备播放的匹配码;当匹配标识是图片形式的二维码时,用户还可以通过第二电子设备的摄像头对第一电子设备显示的二维码进行扫描,本申请实施例对匹配标识的输入方式不做具体限定。
在步骤204中,响应于第一电子设备已经加入第一设备组,在第一设备组中添加第二电子设备的标识。
在一些实施例中,以第一电子设备为电子设备A、第二电子设备为电子设备B为例,当电子设备A已经加入第一设备组(例如设备组A)时,可以将电子设备B直接加入设备组A中,例如可以在电子设备B的设备同步界面中显示设备组A包括的所有电子设备的标识。当电子设备A未加入任何设备组时,后台服务器可以新创建一个设备组(例如设备组B),并将电子设备A的标识和电子设备B的标识加入设备组B中,例如可以在电子设备B的设备同步界面中显示设备组B包括的所有电子设备的标识,即显示电子设备A的标识和电子设备B的标识。
在步骤205中,在第一设备组包括的多个电子设备之间,同步多个电子设备分别存储的文件。
在一些实施例中,第二电子设备可以通过以下方式实现步骤205:响应于接收到服务器发送的下载链接,基于下载链接从对象存储服务中下载第一电子设备存储的文件(例如词典),其中,下载链接是对象存储服务在接收到第一电子设备发送的文件后生成的,且文件是第一电子设备基于服务器生成的密钥进行加密的;基于密钥对文件进行解密,得到解密后的文件;将解密后的文件同步至第二电子设备存储的文件中。
需要说明的是,图5示出的步骤205和图3示出的步骤105的具体实现过程是类似的,只是执行主体发生了变化,可以参考上述步骤105的描述,本申请实施例在此不再赘述。
本申请实施例提供的文件的处理方法,在确定设备组方面,采用无账号体系,每个电子设备都由后台服务器颁发唯一的ID,通过动态匹配码加二次确认的方式完成设备组的创建,流程简单,并且全程匿名,后台服务器无法确认设备组的真实身份,从而使得用户隐私能够得到较好的保护;在文件同步方面,本申请实施例采用全量同步+增量同步的方式进行,其中,全量同步时仅使用COS服务进行数据的临时中转,且数据使用设备组内协商的密钥进行加密,数据安全性高,增量同步采用后台服务器维护具有长度和时间限制的消息队列的方式进行,上传的数据量小,实时性高,安全性高,并且能够解决数据删除问题。
下面,以文件为用户词典为例,说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供一种文件的处理方法,采用匹配码双向确认的方式来确保安装输入法应用的多个设备属于同一用户,从而无需登录;采用基于密钥协商、对称加密、COS临时存储的方式进行全量用户词典数据(下文中简称为全量数据)同步;采用后台服务器(下文中简称为后台)维护具有长度和时间限制的消息队列的方式进行增量用户词典数据(下文中简称为增量数据)同步;在确保数据安全的同时实现离线异步交互,从而解决了相关技术存在的安全性低、数据流量消耗大、需要多台设备同时在线联网、以及无法处理用户词典删除操作的问题。
下面首先对确定设备组的过程进行说明。在这里用户的各个设备其实是对等的,以设备A(对应于上述的第一电子设备,例如可以是用户的手机)为发起方,设备B(对应于上述的第二电子设备,例如可以是用户的笔记本电脑)为加入方为例进行说明。
示例的,参见图6A,图6A是本申请实施例提供的文件的处理方法的应用场景示意图,如图6A所示,在设备A中显示有“设备同步”界面601,在“设备同步”界面601中显示有当前设备组(即设备A加入的设备组)内所有设备的标识(例如包括设备A的标识602,例如可以是设备A的型号)和“查看匹配码”按钮603(对应于上述的匹配码查看控件)。当接收到用户针对“查看匹配码”按钮603的点击操作时,设备A会向后台发起一个获取匹配码的请求,以从后台中获取一个随机的匹配码并展示,例如在接收到后台返回的匹配码后,设备A可以显示弹窗604,并在弹窗604中显示后台返回的匹配码605,其中,匹配码605可以用于供设备B加入当前设备组。在设备B成功加入当前设备组后,即设备A和设备B成功绑定后,可以在“设备同步”界面601中显示设备B的标识606(例如设备B的型号)。
示例的,参见图6B,图6B是本申请实施例提供的文件的处理方法的应用场景示意图,如图6B所示,在设备B中也可以同样显示有“设备同步”界面607,在“设备同步”界面607中显示有设备B的标识606(例如设备B的型号)和“关联设备”按钮608,当接收到用户针对“关联设备”按钮608的点击操作,且设备B当前不属于任何设备组时,可以在设备B中显示弹窗609,其中,弹窗609包括用于提示如何查看匹配码的提示信息610和匹配码输入区域611,用户可以在匹配码输入区域611中输入设备A中展示的匹配码605,以与设备A进行绑定。当接收到用户在匹配码输入区域611中输入的匹配码605之后,设备B可以跳转回“设备同步”界面607,并在“设备同步”界面607中显示设备A的标识602(例如设备A的型号),以提示用户设备B已经成功加入设备A所在的设备组中。
需要说明的是,若设备B已经加入了其他设备组,则在接收到用户针对“关联设备”按钮608的点击操作时,可以以弹窗的方式显示“设备B已经加入了其他设备组”的提示信息,并终止上述流程。此外,当接收到用户在匹配码输入区域611中输入的在设备A中展示的匹配码605时,设备A可以弹出诸如“设备B希望加入,是否同意”的提示信息,在用户同意后完成设备组的绑定。在绑定完成后,在设备A和设备B中均可以显示该设备组下的全部设备。
下面继续对设备ID的生成过程进行说明。
在一些实施例中,在输入法应用安装到设备之后,设备首次联网时,会向后台发起请求,由后台分配一个唯一的ID(即设备ID),设备将其记录并保持不变。在设备获取到ID之前,所有其他的网络相关请求都不会进行,由于输入法用户词典同步是网络相关的,所以获取设备ID是用户词典同步的前置条件。
下面继续结合图7A对确定设备组的过程进行说明。
示例的,参见图7A,图7A是本申请实施例提供的文件的处理方法的流程示意图,将结合图7A示出的步骤进行说明。
在步骤301中,设备A向后台发送匹配码获取请求。
在步骤302中,后台在匹配码数据库中找到未被使用的匹配码,并将其锁定5分钟。
在步骤303中,匹配码数据库向后台返回匹配码。
在步骤304中,后台向设备A返回匹配码。
在步骤305中,设备A展示匹配码。
在一些实施例中,当接收到用户针对图6A中示出的“查看匹配码”按钮603的点击操作时,设备A可以向后台发送匹配码获取请求,以获取匹配码。后台可以随机产生6位数的匹配码返回,同时保证5分钟内所有设备不会随机到同样的匹配码。设备A在接收到后台返回的匹配码后,可以展示自己的匹配码。
在步骤306中,设备B向后台发送携带设备A的匹配码的绑定请求。
在步骤307中,后台在设备组数据库中查询设备B是否已经加入某个设备组。
在步骤308中,当查询到设备B已经加入某个设备组时,设备组数据库向后台返回设备B已经加入某个设备组的通知消息。
在步骤309中,后台向设备B返回已经有设备组的通知消息。
在步骤310中,当查询到设备B未加入任何设备组时,设备组数据库向后台返回设备B没设备组的通知消息。
在步骤311中,后台向设备A发送确认信息。
在步骤312中,设备A向后台发送确认指令。
在一些实施例中,用户在设备B输入设备A展示的匹配码后,设备B会向后台发送携带设备A的匹配码的绑定请求,由于同一时间内匹配码是唯一的,后台可以根据匹配码确定设备B想要与设备A进行绑定。在进行绑定之前,后台可以首先检查设备B是否已经属于某个设备组,若是则后台可以返回错误,流程失败并结束。若后台检查设备B不属于任何设备组,则可以推送提示信息到设备A,以告知设备A“设备B希望进行绑定”。用户在设备A上点击确定后,设备A可以发送请求到后台最终完成绑定。此时若设备A不属于任何设备组,则后台可以新建一个设备组,并将设备A和设备B加入其中;若设备A已经属于某个设备组,则可以直接将设备B加入该设备组。此外,任意设备均可以向后台发送请求来查询自己所属设备组ID、以及设备组中其他设备的信息(例如设备的型号)。
在步骤313中,后台在设备组数据库中更新设备组信息。
在步骤314中,后台向设备A发送设备组信息。
在步骤315中,后台向设备B发送设备组信息。
在步骤316中,设备A和设备B分别展示设备组。
下面继续对本申请实施例涉及的设备组数据库和匹配码数据库进行说明。
在一些实施例中,本申请实施例中的设备组数据库可以存储每个设备组下所有的设备ID信息;匹配码数据库可以存储当前已经被随机分配的匹配码以及对应的设备ID,这个数据会在设定时长(例如5分钟)后自动过期删除。
此外,需要说明的是,下文所描述的用户词典同步,均指已经加入同一个设备组的不同设备间的同步。
下面继续对用户词典存储的数据内容进行说明。
在一些实施例中,用户词典存储的数据格式可以为:拼音+汉字+最近一次使用时间戳+使用总次数,即用户词典记录是以拼音+汉字为维度进行区分的。例如“nihao,你好,160784553(最近一次使用时间戳),20(使用总次数)”,这个数据为一条用户词典记录(简称为记录)。以上述例子为例,若用户再次输入“nihao”并选择“你好”,则上述记录可以更新为“nihao,你好,160784566,21”,这里更新的内容为最近一次使用时间戳(例如最近一次使用时间戳从160784553更新为160784566)和使用总次数(例如使用总次数从20次更新为21次)。也就是说,用户词典是由若干条上述格式的记录组成的。
下面继续对用户词典增量同步过程进行说明。
在一些实施例中,用户词典增量同步过程主要分为“设备各自上传自己的增量数据”和“拉取其他设备上传的增量数据并同步”两大过程,设备组内的每个设备都会执行这两个过程。下面以设备B上传增量数据(即在设备B中新产生的记录),设备A拉取并合并增量数据为例进行说明。需要说明的是,在图7B中仅示意了两台设备间的同步,事实上本申请实施例提供的技术方案可以针对多台设备同步,具体执行流程和两台设备同步并无差异。
示例的,参见图7B,图7B是本申请实施例提供的文件的处理方法的流程示意图,将结合图7B示出的步骤进行说明。
在步骤401中,设备A产生增量数据。
在步骤402中,设备A向后台上传增量数据。
在一些实施例中,设备A向后台上传增量数据的时机可以是:本地累计产生超过设定数量(例如50条)的新记录、或者本地至少有一条新记录且超过设定时长(例如1个小时)未上传。
在步骤403中,后台将设备A上传的增量数据插入消息队列中。
在步骤404中,设备B产生增量数据。
在步骤405中,设备B向后台上传增量数据。
在一些实施例中,设备组内的各个设备(例如设备B)在用户进行打字输入后,会产生增量数据(即会产生新记录),当这些数据累计到一定量时,可以上传至后台,设备组中的每个设备均有这个流程。
在步骤406中,后台将设备B上传的增量数据插入消息队列中。
在一些实施例中,本申请实施例中的数据库和消息队列均是以设备组为单位逻辑隔离的,即每个设备组都有它自己的数据库和消息队列。后台在接收到任意设备上传的增量数据后,首先将检查该设备属于哪个设备组,并找到对应的消息队列,然后将这些增量数据依次放入消息队列中,并且这些增量数据具有设定时长(例如7天)的有效期。
也就是说,在本申请实施例提供的技术方案的每一步后台交互中,均有确认设备属于哪个设备组的流程,这是本申请实施例提供的技术方案的一个前提,即只有属于同一个设备组的设备才能进行用户词典的增量和全量同步。
在步骤407中,消息队列判断队列长度是否超限,若超限,则执行步骤408。
在步骤408中,消息队列删除过期数据。
在一些实施例中,消息队列可以定时检测队列长度是否超过限制,另外消息队列也可以删除过期的数据。除此之外,后台也可以另有定时任务去定时删除过期数据,即并非只有在添加数据的时机才进行过期数据的删除。
示例的,本申请实施例可以采用键值(KV,Key-Value)型数据库来构建消息队列,其中,消息队列是指一个具有有限容量的队列,里面可以容纳不超过容量的数据,并且这些数据有序,先放入的数据序号小,后放入的数据序号大,如果队列满后继续放入数据,则序号最小的数据被移除。在本申请实施例中,可以使用一个具有过期时间的消息队列,即在普通消息队列的基础上,数据具有过期时间,到期后数据也会被移除。
在步骤409中,后台记录消息队列中最大和最小的CloudMsgID,并存储至数据库中。
在一些实施例中,消息队列中的每个消息(即上文中的记录)均具有对应的ID,可以称之为CloudMsgID(即记录的序号),它是一个单调递增的数字,即后插入的消息具有更大的ID,也就是说,CloudMsgID最大的消息为消息队列中最新插入的消息。后台在将设备B上传的增量数据依次插入消息队列后,可以得到当前最小的CloudMsgID(即消息队列中最早插入的消息的序号)和最大的CloudMsgID(即消息队列中最晚插入的消息的序号),并将最大和最小的CloudMsgID存储至数据库中。也就是说,本申请实施例中的数据库可以用于存储设备组(即设备组对应的消息队列)中的最小和最大CloudMsgID,其中,数据库可以是任何类型的数据库。
在步骤410中,设备A从之前拉取的最大CloudMsgID开始继续从后台拉取。
在步骤411中,后台在数据库中查询开始位置是否在消息队列中。
在步骤412中,当开始位置不在消息队列中时,数据库向后台返回不在的通知消息。
在步骤413中,后台向设备A返回设备B上传的全部增量数据。
在步骤414中,当开始位置在消息队列中时,数据库向后台返回在的通知消息。
在步骤415中,后台从消息队列中拉取从开始位置开始的部分增量数据。
在步骤416中,后台将所拉取的设备B上传的部分增量数据返回给设备A。
在步骤417中,设备A进行增量同步,并更新已拉取的最大CloudMsgID。
在一些实施例中,后台在接收到设备B上传的增量数据之后,设备A本地有记录已拉取的最大CloudMsgID,可以称之为A-CloudMsgID(即设备A的词典中最新记录的序号),于是在适当的时机(例如可以是每小时拉取1次),设备A可以向后台发起携带A-CloudMsgID的同步请求,来判断后续操作。后台在接收到设备A发送的上述请求后,可以首先确定设备A所在的设备组,并查询设备组的最大和最小CloudMsgID,此时可以分为三种情况:
1、A-CloudMsgID大于或等于云端最大CloudMsgID(即上述消息队列中的最大CloudMsgID),此时无需同步,流程结束。需要说明的是,在逻辑上A-CloudMsgID是不可能大于云端最大CloudMsgID的;
2、A-CloudMsgID小于云端最小CloudMsgID(即上述消息队列中的最小CloudMsgID),则此时需要进行全量同步,具体实现方式将在下文说明;
3、A-CloudMsgID介于云端最大CloudMsgID和最小CloudMsgID,则后台向设备A返回自A-CloudMsgID开始至云端最大CloudMsgID结束的部分增量数据。
在另一些实施例中,设备A在接收到后台返回的全部增量数据或者部分增量数据后,可以将这些数据用于同步本地用户词典,然后更新A-CloudMsgID为云端最大CloudMsgID。
示例的,每一条增量数据的内容可以为以下之一:A、一个用户词典记录;B、标记删除某个用户词典记录。若增量数据为A类型,则可以将这个用户词典记录添加到用户词典中,如果设备A的用户词典中已经存在了相同的拼音+汉字的记录,则使用该记录覆盖原始的记录;若增量数据为B类型,且设备A的用户词典中已经存在了相同的拼音+汉字的记录,则删除该记录,如此,可以解决相关技术存在的无法处理数据删除问题,这个问题是指:在某一设备上删除某些用户词典的记录后,如果这些记录已经同步至其他设备,经过再次同步后,被删除的记录又会恢复回来,从而无法达到删除的目的。
下面继续对全量数据的同步过程进行说明。
在一些实施例中,用户词典全量同步过程主要分为“组内协商密钥”、“设备各自上传自己的全量加密数据(即经过加密后的全量数据)”、以及“拉取其他设备上传的全量加密数据并进行同步”三大过程,设备组内的每个设备都会执行这三个过程,下面以设备A上传全量加密数据,设备B拉取并合并设备A的全量加密数据为例进行说明。需要说明的是,在图7C中仅示意了两台设备同步,事实上本申请实施例提供的技术方案可以针对多台设备同步,此时,每台设备均需要同步设备组内其他所有设备的全量数据(即词典包括的所有记录)。
示例的,参见图7C,图7C是本申请实施例提供的文件的处理方法的流程示意图,将结合图7C示出的步骤进行说明。
在步骤501中,设备A从后台获取设备组信息和协商的密钥。
在一些实施例中,设备A在首次加入设备组或感知到有新的其他设备(例如设备B)加入设备组时,可以触发上传自身全量数据(即设备A中存储的词典包括的所有记录)的逻辑。具体过程如下:设备A首先与后台进行通信,从后台获取设备组信息,拉取设备组内有哪些其他设备,并且获取后台颁发的密钥以及COS服务的临时票据。此密钥和临时票据可以由后台维护定期自动刷新,并且当设备组中的成员发生变化时,也会自动刷新。
在步骤502中,设备A导出全量数据并进行加密。
在步骤503中,设备A向COS服务上传全量加密数据。
在步骤504中,COS服务向设备A返回下载链接。
在一些实施例中,设备A可以导出自身的全量数据,并且可以使用高级加密标准(AES,Advanced Encryption Standard)算法对全量数据进行加密,得到全量加密数据,其中,加密过程所使用的密钥可以是在步骤501中协商来的密钥。加密完成后,设备A可以基于COS服务的临时票据,将全量加密数据上传至COS服务,在上传成功后,COS服务可以向设备A返回对应的下载链接。
需要说明的是,本申请实施例也可以使用其他加密算法对全量数据进行加密,本申请实施例对此不做具体限定。
在步骤505中,设备A向后台上传下载链接和自身已拉取的最大CloudMsgID。
在步骤506中,后台将下载链接和最大CloudMsgID转存至数据库。
在一些实施例中,设备A可以将COS服务返回的下载链接和自身当前记录的最大CloudMsgID上传至后台,可以将这两者(即下载链接和最大CloudMsgID)称之为设备A的元信息(MetaInfo),后台可以将此元信息存储至数据库中,至此设备A的流程结束。
在步骤507中,设备B从后台获取设备组信息和协商的密钥。
在步骤508中,设备B从后台读取设备A的信息。
在步骤509中,设备B基于下载链接从COS服务下载设备A上传的全量加密数据。
在步骤510中,设备B利用密钥解密并同步用户词典。
在一些实施例中,假设设备B是新加入设备组的设备,或者是落后太多增量数据以至于需要进行全量同步的设备,设备B可以定期向后台拉取设备组信息、COS服务的临时票据和协商的密钥,并拉取其他设备上传的元信息,例如设备B可以通过后台从数据库中拉取设备A上传的元信息。设备B在获取到设备A上传的元信息之后,可以从设备A的元信息中提取出下载链接,利用后台提供的COS服务的临时票据并使用该下载链接,从COS服务中下载设备A上传的全量加密数据。随后,设备B可以利用在步骤507中得到的密钥对全量加密数据进行解密,并将设备A的全量数据同步至自身的用户词典,至此设备B的流程结束。
需要说明的是,以设备B合并设备A为例,本申请实施例提供的数据合并策略为:若设备A的词典中的某一条记录不在设备B的词典中,则将该记录加入设备B的词典中;若在,则修改设备B的词典中的这条记录,使得该记录最近一次使用时间戳和使用总次数均取设备A和设备B中的最大值。
在另一些实施例中,针对全量同步的过程,本申请实施例也可以不经过后台和COS服务的中转,而是直接两台设备间进行点对点的传输,但这需要这两台设备位于同一个局域网内,从而可以优化传输路径。
综上所述,本申请实施例提供的技术方案具有以下有益效果:
1、用户无需账号登录,即可同步多台设备的用户词典;
2、数据同步安全性显著提升,具体来说,增量同步的方式仅上传少量数据,不会暴露全部数据,且数据存储数量和时间均有限制;全量同步的方式中数据是加密的,密钥是临时协商的,上传的词典是临时的,由于没有账号登录,后台也无法定位到具体的用户信息;
3、增量同步能够解决数据删除问题,这是相关技术提供的全量同步方式无法解决的;
4、流量消耗低,同时实时性也能够得到保证,增量同步+全量同步的方式能够避免总是上传全部数据,增量数据的实时性高;
5、整个同步方式是异步执行的,需要同步的设备无需同时在线;
6、用户词典的同步是幂等的,即无论同步时间先后顺序,最终数据都是一致的。
下面继续说明本申请实施例提供的文件的处理装置465的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器460的文件的处理装置465中的软件模块可以包括:显示模块4651、输出模块4652、添加模块4653和同步模块4654。
显示模块4651,用于在第一电子设备中显示设备同步界面;显示模块4651,还用于响应于第一电子设备已经加入第一设备组,在设备同步界面显示第一设备组包括的电子设备的标识、以及匹配标识查看控件;输出模块4652,用于响应于针对匹配标识查看控件的触发操作,在第一电子设备中输出匹配标识;添加模块4653,用于响应于第二电子设备基于匹配标识加入第一设备组,在第一设备组中添加第二电子设备的标识;同步模块4654,用于在第一设备组包括的多个电子设备之间,同步多个电子设备分别存储的文件。
在一些实施例中,在添加模块4653响应于第二电子设备基于匹配码加入第一设备组之前,显示模块4651,还用于响应于接收到第二电子设备经由服务器转发的加入请求,显示第一提示信息,其中,第二电子设备未加入包括第一设备组在内的任何设备组,加入请求携带匹配标识,第一提示信息用于提示第二电子设备请求加入第一设备组;文件的处理装置465还包括确定模块4655,用于响应于针对第一提示信息的确认操作,确定将响应于第二电子设备基于匹配标识加入第一设备组。
在一些实施例中,显示模块4651,还用于响应于第一电子设备未加入包括第一设备组在内的任何设备组,在设备同步界面显示第一电子设备的标识以及匹配标识查看控件;输出模块4652,还用于响应于针对匹配标识查看控件的触发操作,在第一电子设备中输出匹配标识;添加模块4653,还用于响应于第二电子设备基于匹配标识请求与第一电子设备进行绑定,在新创建的第二设备组中添加第一电子设备的标识和第二电子设备的标识;同步模块4654,还用于在第二设备组包括的多个电子设备之间,同步多个电子设备分别存储的文件。
在一些实施例中,文件的处理装置465还包括发送模块4656,用于响应于针对匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使服务器生成唯一对应第一电子设备的匹配标识,其中,匹配标识具有设定时长的有效期;输出模块4652,还用于响应于接收到服务器返回的匹配标识,显示匹配标识或者以语音的方式播放匹配标识。
在一些实施例中,发送模块4656,还用于响应于针对匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使服务器从匹配标识数据库中查询未被使用的匹配标识,并将查询得到的匹配标识锁定设定时长;输出模块4652,还用于响应于接收到服务器返回的查询得到的匹配标识,显示查询得到的匹配标识或者以语音的方式播放查询得到的匹配标识。
在一些实施例中,第一电子设备存储的文件包括至少一条记录,其中,每条记录的序号与记录对应的时间戳正相关;文件的处理装置465还包括获取模块4657,用于获取至少一条记录对应的至少一个序号中的最大序号;发送模块4656,还用于响应于满足同步条件,向服务器发送携带最大序号的同步请求,其中,服务器存储有设备组中的其他电子设备发送的增量文件数据,增量文件数据包括其他电子设备新生成的多条记录,同步请求用于供服务器执行以下处理:获取增量文件数据包括的多条记录中的最早记录的序号、以及最晚记录的序号,其中,最早记录的序号小于最晚记录的序号;响应于最大序号大于或等于最晚记录的序号,向第一电子设备发送无需同步的通知消息;响应于最大序号小于最早记录的序号,向第一电子设备发送增量文件数据;响应于最大序号大于最早记录的序号,且小于最晚记录的序号,向第一电子设备发送增量文件数据中的部分记录,其中,部分记录包括从最大序号至最晚记录的序号一一对应的多条记录。
在一些实施例中,增量文件数据是存储在与设备组对应的消息队列中的,且具有设定时长的有效期,每条记录包括:索引、索引对应的索引结果、最近一次使用时间戳、使用总次数。
在一些实施例中,同步模块4654,还用于针对服务器返回的增量文件数据或部分记录中未携带删除标识的记录,将第一电子设备存储的文件中包括相同的索引和索引结果的记录替换为记录;以及用于针对服务器返回的增量文件数据或部分记录中携带删除标识的记录,删除第一电子设备存储的文件中包括相同的索引和索引结果的记录。
在一些实施例中,发送模块4656,还用于响应于满足上传条件,向服务器发送增量文件数据,其中,上传条件包括以下之一:第一电子设备新生成的记录的数量大于数量阈值;第一电子设备新生成至少一条记录,且距离上一次上传增量词典数据的时长达到时长阈值,增量文件数据包括第一电子设备新生成的至少一条记录。
在一些实施例中,获取模块4657,还用于获取对象存储服务生成的临时票据,其中,临时票据随着第一设备组中电子设备的变化而变化;文件的处理装置465还包括存储模块4658和接收模块4659,其中,存储模块4658,用于基于临时票据,将第一电子设备存储的文件存储至对象存储服务中;接收模块4659,用于接收对象存储服务返回的下载链接;发送模块4656,还用于向服务器发送下载链接,以使服务器将下载链接转发至第二电子设备,其中,下载链接用于供第二电子设备执行以下处理:基于临时票据和下载链接,从对象存储服务中下载第一电子设备存储的文件;将第一电子设备存储的文件同步至第二电子设备存储的文件中。
在一些实施例中,获取模块4657,还用于获取服务器生成的密钥;文件的处理装置465还包括加密模块46510,用于基于密钥对第一电子设备存储的文件进行加密,得到加密后的文件;存储模块4658,还用于基于临时票据,将加密后的文件存储至对象存储服务中。
在一些实施例中,第一电子设备存储的文件包括至少一条记录,其中,每条记录的序号与记录对应的时间戳正相关;获取模块4657,还用于获取至少一条记录对应的至少一个序号中的最大序号;发送模块4656,还用于向服务器发送下载链接和最大序号,以使服务器将下载链接和最大序号封装成第一电子设备对应的元信息,并将元信息存储至数据库中。
下面继续说明本申请实施例提供的文件的处理装置565的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器560的文件的处理装置565中的软件模块可以包括:显示模块5651、接收模块5652、添加模块5653和同步模块5654。
显示模块5651,用于在第二电子设备中显示设备同步界面,其中,设备同步界面包括第二电子设备的标识以及关联设备控件;显示模块5651,还用于响应于针对关联设备控件的触发操作,且第二电子设备未加入任何设备组,在第二电子设备中显示匹配标识输入区域;接收模块5652,用于通过匹配标识输入区域接收被输入的匹配标识,其中,匹配标识是在第一电子设备中输出的匹配标识;添加模块5653,用于响应于第一电子设备已经加入第一设备组,在第一设备组中添加第二电子设备的标识;同步模块5654,用于在第一设备组包括的多个电子设备之间,同步多个电子设备分别存储的文件。
在一些实施例中,显示模块5651,还用于响应于针对关联设备控件的触发操作,且第二电子设备已经加入第三设备组,在第二电子设备中显示第二提示信息,其中,第二提示信息用于提示第二电子设备已经加入第三设备组,第三设备组区别于第一设备组。
在一些实施例中,文件的处理装置565还包括下载模块5655和解密模块5656,其中,下载模块5655,用于响应于接收到服务器发送的下载链接,基于下载链接从对象存储服务中下载第一电子设备存储的文件,其中,下载链接是对象存储服务在接收到第一电子设备发送的文件后生成的,且文件是基于服务器生成的密钥进行加密的;解密模块5656,用于基于密钥对文件进行解密,得到解密后的文件;同步模块5654,还用于将解密后的文件同步至第二电子设备存储的文件中。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的文件的处理装置中未尽的技术细节,可以根据图3、图4A、图4B、或图5任一附图的说明而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该计算机设备执行本申请实施例上述的文件的处理方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的文件的处理方法,例如,如图3、图4A、图4B、或图5示出的文件的处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (20)
1.一种文件的处理方法,其特征在于,应用于第一电子设备,所述方法包括:
在所述第一电子设备中显示设备同步界面;
响应于所述第一电子设备已经加入第一设备组,在所述设备同步界面显示所述第一设备组包括的电子设备的标识、以及匹配标识查看控件;
响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;
响应于第二电子设备基于所述匹配标识加入所述第一设备组,在所述第一设备组中添加所述第二电子设备的标识,以及
在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
2.根据权利要求1所述的方法,其特征在于,在响应于第二电子设备基于所述匹配标识加入所述第一设备组之前,所述方法还包括:
响应于接收到第二电子设备经由服务器转发的加入请求,显示第一提示信息,其中,所述第二电子设备未加入包括所述第一设备组在内的任何设备组,所述加入请求携带所述匹配标识,所述第一提示信息用于提示所述第二电子设备请求加入所述第一设备组;
响应于针对所述第一提示信息的确认操作,确定将响应于所述第二电子设备基于所述匹配标识加入所述第一设备组。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述第一电子设备未加入包括所述第一设备组在内的任何设备组,在所述设备同步界面显示所述第一电子设备的标识以及匹配标识查看控件;
响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;
响应于第二电子设备基于所述匹配标识请求与所述第一电子设备进行绑定,在新创建的第二设备组中添加所述第一电子设备的标识和所述第二电子设备的标识,以及
在所述第二设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
4.根据权利要求1或3所述的方法,其特征在于,所述响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识,包括:
响应于针对所述匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使所述服务器生成唯一对应所述第一电子设备的匹配标识,其中,所述匹配标识具有设定时长的有效期;
响应于接收到所述服务器返回的所述匹配标识,显示所述匹配标识或者以语音的方式播放所述匹配标识。
5.根据权利要求1或3所述的方法,其特征在于,所述响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识,包括:
响应于针对所述匹配标识查看控件的触发操作,向服务器发送匹配标识获取请求,以使所述服务器从匹配标识数据库中查询未被使用的匹配标识,并将查询得到的匹配标识锁定设定时长;
响应于接收到所述服务器返回的所述查询得到的匹配标识,显示所述查询得到的匹配标识或者以语音的方式播放所述匹配标识。
6.根据权利要求1所述的方法,其特征在于,
所述第一电子设备存储的文件包括至少一条记录,其中,每条所述记录的序号与所述记录对应的时间戳正相关;
所述在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件,包括:
获取所述至少一条记录对应的至少一个序号中的最大序号;
响应于满足同步条件,向服务器发送携带所述最大序号的同步请求,其中,所述服务器存储有所述设备组中的其他电子设备发送的增量文件数据,所述增量文件数据包括在所述其他电子设备新生成的多条记录,所述同步请求用于供所述服务器执行以下处理:
获取所述增量文件数据包括的所述多条记录中的最早记录的序号、以及最晚记录的序号,其中,所述最早记录的序号小于所述最晚记录的序号;
响应于所述最大序号大于或等于所述最晚记录的序号,向所述第一电子设备发送无需同步的通知消息;
响应于所述最大序号小于所述最早记录的序号,向所述第一电子设备发送所述增量文件数据;
响应于所述最大序号大于所述最早记录的序号,且小于所述最晚记录的序号,向所述第一电子设备发送所述增量文件数据中的部分记录,其中,所述部分记录包括从所述最大序号至所述最晚记录的序号一一对应的多条记录。
7.根据权利要求6所述的方法,其特征在于,所述增量文件数据是存储在与所述设备组对应的消息队列中的,且具有设定时长的有效期,每条所述记录包括:索引、所述索引对应的索引结果、最近一次使用时间戳、使用总次数。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
针对所述服务器返回的所述文件词典数据或所述部分记录中未携带删除标识的记录,将所述第一电子设备存储的文件中包括相同的索引和索引结果的记录替换为所述记录;
针对所述服务器返回的所述增量文件数据或所述部分记录中携带删除标识的记录,删除所述第一电子设备存储的文件中包括相同的索引和索引结果的记录。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于满足上传条件,向服务器发送增量文件数据,其中,所述上传条件包括以下之一:所述第一电子设备新生成的记录的数量大于数量阈值;所述第一电子设备新生成至少一条记录,且距离上一次上传增量文件数据的时长达到时长阈值,所述增量文件数据包括所述第一电子设备新生成的至少一条记录。
10.根据权利要求1所述的方法,其特征在于,所述在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件,包括:
获取对象存储服务生成的临时票据,其中,所述临时票据随着所述第一设备组中电子设备的变化而变化;
基于所述临时票据,将所述第一电子设备存储的文件存储至所述对象存储服务中;
接收所述对象存储服务返回的下载链接;
向服务器发送所述下载链接,以使所述服务器将所述下载链接转发至所述第二电子设备,其中,所述下载链接用于供所述第二电子设备执行以下处理:
基于所述临时票据和所述下载链接,从所述对象存储服务中下载所述第一电子设备存储的文件;
将所述第一电子设备存储的文件同步至所述第二电子设备存储的文件中。
11.根据权利要求10所述的方法,其特征在于,所述基于所述临时票据,将所述第一电子设备存储的文件存储至所述对象存储服务中,包括:
获取所述服务器生成的密钥;
基于所述密钥对所述第一电子设备存储的文件进行加密,得到加密后的文件;
基于所述临时票据,将所述加密后的文件存储至所述对象存储服务中。
12.根据权利要求10所述的方法,其特征在于,
所述第一电子设备存储的文件包括至少一条记录,其中,每条所述记录的序号与所述记录对应的时间戳正相关;
所述向服务器发送所述下载链接,包括:
获取所述至少一条记录对应的至少一个序号中的最大序号;
向服务器发送所述下载链接和所述最大序号,以使所述服务器将所述下载链接和所述最大序号封装成所述第一电子设备对应的元信息,并将所述元信息存储至数据库中。
13.一种文件的处理方法,其特征在于,应用于第二电子设备,所述方法包括:
在所述第二电子设备中显示设备同步界面,其中,所述设备同步界面包括所述第二电子设备的标识以及关联设备控件;
响应于针对所述关联设备控件的触发操作,且所述第二电子设备未加入任何设备组,在所述第二电子设备中显示匹配标识输入区域;
通过所述匹配标识输入区域接收被输入的匹配标识,其中,所述匹配标识是在第一电子设备中输出的匹配标识;
响应于所述第一电子设备已经加入第一设备组,在所述第一设备组中添加所述第二电子设备的标识,以及
在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
响应于针对所述关联设备控件的触发操作,且所述第二电子设备已经加入第三设备组,在所述第二电子设备中显示第二提示信息,其中,所述第二提示信息用于提示所述第二电子设备已经加入所述第三设备组,所述第三设备组区别于所述第一设备组。
15.根据权利要求13所述的方法,其特征在于,所述在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件,包括:
响应于接收到服务器发送的下载链接,基于所述下载链接从对象存储服务中下载所述第一电子设备存储的文件,其中,所述下载链接是所述对象存储服务在接收到所述第一电子设备发送的文件后生成的,且所述文件是基于所述服务器生成的密钥进行加密的;
基于所述密钥对所述文件进行解密,得到解密后的文件;
将所述解密后的文件同步至所述第二电子设备存储的文件中。
16.一种文件的处理装置,其特征在于,应用于第一电子设备,所述装置包括:
显示模块,用于在所述第一电子设备中显示设备同步界面;
所述显示模块,还用于响应于所述第一电子设备已经加入第一设备组,在所述设备同步界面显示所述第一设备组包括的电子设备的标识、以及匹配标识查看控件;
输出模块,用于响应于针对所述匹配标识查看控件的触发操作,在所述第一电子设备中输出匹配标识;
添加模块,用于响应于第二电子设备基于所述匹配标识加入所述第一设备组,在所述第一设备组中添加所述第二电子设备的标识;
同步模块,用于在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
17.一种文件的处理装置,其特征在于,应用于第二电子设备,所述装置包括:
显示模块,用于在所述第二电子设备中显示设备同步界面,其中,所述设备同步界面包括所述第二电子设备的标识以及关联设备控件;
所述显示模块,还用于响应于针对所述关联设备控件的触发操作,且所述第二电子设备未加入任何设备组,在所述第二电子设备中显示匹配标识输入区域;
接收模块,用于通过所述匹配标识输入区域接收被输入的匹配标识,其中,所述匹配标识是在第一电子设备中输出的匹配标识;
添加模块,用于响应于所述第一电子设备已经加入第一设备组,在所述第一设备组中添加所述第二电子设备的标识;
同步模块,用于在所述第一设备组包括的多个电子设备之间,同步所述多个电子设备分别存储的文件。
18.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项、或权利要求13至15任一项所述的文件的处理方法。
19.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至12任一项、或权利要求13至15任一项所述的文件的处理方法。
20.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至12任一项、或权利要求13至15任一项所述的文件的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311416982.8A CN117453636A (zh) | 2023-10-27 | 2023-10-27 | 文件的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311416982.8A CN117453636A (zh) | 2023-10-27 | 2023-10-27 | 文件的处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117453636A true CN117453636A (zh) | 2024-01-26 |
Family
ID=89581291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311416982.8A Pending CN117453636A (zh) | 2023-10-27 | 2023-10-27 | 文件的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117453636A (zh) |
-
2023
- 2023-10-27 CN CN202311416982.8A patent/CN117453636A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874389B (zh) | 数据的迁移方法和装置 | |
CA3132019C (en) | Document management and collaboration system | |
CN111741011B (zh) | 验证方法、装置及存储介质 | |
CN103023875A (zh) | 一种账户管理系统及方法 | |
GB2505793A (en) | Secure transfer of files between applications on a mobile device using keys supplied by a server | |
WO2017214213A1 (en) | Message content modification devices and methods | |
WO2013053316A1 (zh) | 基于社交网络创建和管理日程的方法和系统 | |
CN111291394B (zh) | 一种虚假信息管理方法、装置和存储介质 | |
US9332405B2 (en) | Short message backup method, mobile terminal, and server | |
KR102447797B1 (ko) | Ipfs 기반의 문서 관리 시스템 및 그 방법 | |
KR20130011130A (ko) | 메모 데이터의 동기화를 위한 메모 동기화 시스템, 모바일 시스템 및 메모 동기화 방법 | |
US10798047B2 (en) | Systems, devices and methods for text message communication | |
KR102191111B1 (ko) | 블록 체인을 이용하여 익명 메시지 서비스를 제공하기 시스템 및 방법 | |
Setiawan et al. | Design of secure electronic disposition applications by applying blowfish, SHA-512, and RSA digital signature algorithms to government institution | |
CN111327680A (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
CN117453636A (zh) | 文件的处理方法、装置、电子设备及存储介质 | |
US20230065507A1 (en) | Systems and methods for bifurcated blockchain-based digital encryption | |
CN110134530B (zh) | 一种会话内容的处理方法及装置 | |
Le-Khac et al. | A practical hands-on approach to database forensics | |
US11226983B2 (en) | Sub-scope synchronization | |
KR20200137520A (ko) | 근거리 영역 네트워크(lan) 환경에서 기기 간 데이터 동기화가 가능한 데이터베이스 구조 및 이를 이용한 데이터 동기화 방법 | |
CN111291336A (zh) | 游戏平台中游戏的注册方法、装置 | |
CN114430343B (zh) | 一种数据同步的方法、装置、电子设备及可读存储介质 | |
CN107210992B (zh) | 在安全数据系统和外部数据系统之间上传和下载数据 | |
Govan et al. | Temporal analysis anomalies with iOS iMessage communication exchange |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |