CN116401222A - 文件同步方法、装置、系统、设备和存储介质 - Google Patents
文件同步方法、装置、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN116401222A CN116401222A CN202310201945.9A CN202310201945A CN116401222A CN 116401222 A CN116401222 A CN 116401222A CN 202310201945 A CN202310201945 A CN 202310201945A CN 116401222 A CN116401222 A CN 116401222A
- Authority
- CN
- China
- Prior art keywords
- file
- collaborative
- editing
- latest version
- cooperative
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 18
- 230000000903 blocking effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Abstract
本申请涉及一种文件同步方法、装置、系统、设备和存储介质,涉及文件处理技术领域。该方法包括:接收第一协同端发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地;从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端;在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。采用本方法能够提高文件同步的效率。
Description
技术领域
本申请涉及文件处理技术领域,特别是涉及一种文件同步方法、装置、系统、设备和存储介质。
背景技术
随着科技水平的进步,在软件平台上进行复杂的文件更新需求越发显著。由于某些文件更新的工作量比较庞大,所以需要各分区的团队对同一文件进行更新。由于各分区之间的数据不互通,各分区之间通常是通过线下的方式自行进行文件的同步,但是采用这种文件同步的方式效率很低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高效率的文件同步方法、装置、系统、计算机设备、存储介质和计算机程序产品。
第一方面,本申请提供了一种文件同步方法。该方法包括:
接收第一协同端发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地;
从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端;
在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。
第二方面,本申请还提供了一种文件同步装置。该装置包括:
请求接收模块,用于接收第一协同端发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地;
版本确定模块,用于从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端;
文件同步模块,用于在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。
在一些实施例中,版本确定模块还用于获取与文件标识对应的协同编辑文件的各个版本的更新时间;根据各个版本的更新时间确定最近一次更新的最新版本。
在一些实施例中,版本确定模块还用于从数据库中提取与文件标识码匹配的文件更新记录;文件更新记录中记录有多个协同端各自更新协同编辑文件的更新时间;从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本。
在一些实施例中,文件同步模块还用于向第二协同端发送文件调度请求;若从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息;在接收到第一协同端响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端。
在一些实施例中,文件同步模块还用于对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端。
在一些实施例中,第一协同端包括应用服务器和文件服务器。文件同步模块还用于对获取到最新版本的协同编辑文件进行加密,得到加密文件;将加密文件同步到文件服务器,以使文件服务器将加密文件发送给应用服务器,并使应用服务器对加密文件进行解密,得到最新版本的协同编辑文件。
在一些实施例中,多个协同端在区块链上具有对应的第二区块链节点。文件同步模块还用于将加密文件进行分块处理,得到多个加密文件块;将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点分别将多个加密文件块同步到第二区块链节点中,以指示应用服务器从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件。
在一些实施例中,文件同步装置还包括权限控制模块,权限控制模块用于检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端针对协同编辑文件的处理权限,以使得目标协同端无法处理协同编辑文件;其中,目标协同端是除正在编辑协同编辑文件的协同端之外的协同端。
在一些实施例中,文件同步装置位于总团体对应的调度平台;多个协同端是多个子团体对应的设备;调度平台中存储有文件标识、各个子团体的标识以及各个子团体对协同编辑文件进行编辑更新的更新时间。版本确定模块还用于确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据目标子团体的标识确定第二协同端。
第三方面,本申请还提供了一种文件同步系统。该系统包括:调度平台和多个协同端,多个协同端包括第一协同端和第二协同端;
调度平台用于接收第一协同端发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地;从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端;在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。
在一些实施例中,调度平台还用于获取与文件标识对应的协同编辑文件的各个版本的更新时间;根据各个版本的更新时间确定最近一次更新的最新版本。
在一些实施例中,调度平台还用于数据库中提取与文件标识码匹配的文件更新记录;文件更新记录中记录有多个协同端各自更新协同编辑文件的更新时间;从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本。
在一些实施例中,调度平台还用于向第二协同端发送文件调度请求;若从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息;在接收到第一协同端响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端。
在一些实施例中,调度平台还用于对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端。
在一些实施例中,第一协同端包括应用服务器和文件服务器。调度平台还用于对获取到最新版本的协同编辑文件进行加密,得到加密文件,将加密文件同步到文件服务器。文件服务器用于将加密文件发送给应用服务器,应用服务器用于对加密文件进行解密,得到最新版本的协同编辑文件。
在一些实施例中,多个协同端在区块链上具有对应的第二区块链节点。调度平台还用于将加密文件进行分块处理,得到多个加密文件块,将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点用于分别将多个加密文件块同步到第二区块链节点中。应用服务器还用于从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件
在一些实施例中,调度平台还用于检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端针对协同编辑文件的处理权限,以使得目标协同端无法处理协同编辑文件;其中,目标协同端是除正在编辑协同编辑文件的协同端之外的协同端。
在一些实施例中,多个协同端是多个子团体对应的设备;调度平台中存储有文件标识、各个子团体的标识以及各个子团体对协同编辑文件进行编辑更新的更新时间。调度平台还用于确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据目标子团体的标识确定第二协同端。
第四方面,本申请还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述文件同步方法中的步骤。
第五方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述文件同步方法中的步骤。
第六方面,本申请还提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述文件同步方法中的步骤。
上述文件同步方法中,多个协同端都可以在各自本地进行协同编辑文件的编辑,以得到各个版本的协同编辑文件,且每个协同端编辑得到的各个版本的协同编辑文件都各自存储于协同端的本地。在某个协同端,例如第一协同端需要进行协同文件的同步时,则可以接收其发送的携带协同编辑文件的文件标识的第一协同端发送的文件同步请求;其中,文件标识与协同编辑文件的各个版本皆相对应。根据文件同步请求携带的文件标识就能够确定第一协同端具体需要同步的是哪一种协同编辑文件,并且从文件标识对应的协同编辑文件的各个版本中,确定最新版本的协同编辑文件,并确定最新版本的协同编辑文件所存储于的第二协同端。在第一协同端和第二协同端不是同一协同端的情况下,则说明最新版本的协同编辑文件并不存储于第一协同端,此时需要继续执行文件同步的过程,具体可以从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端,从而保证在第一协同端在需要的时候,只要发起文件同步请求就能够通过以上调度方式从其他协同端中及时获取到最新版本的协同编辑文件,以提高文件同步的效率。
附图说明
图1为一些实施例中文件同步方法的应用环境示意图;
图2为一些实施例中文件同步方法的流程示意图;
图3为一些实施例中文件同步系统的结构示意图;
图4为另一些实施例中文件同步方法的流程示意图;
图5为一些实施例中文件加密方法的流程示意图;
图6为一些实施例中文件解密方法的流程示意图;
图7为一些实施例中文件同步装置的结构框图;
图8为一些实施例中文件同步系统的结构框图;
图9为一些实施例中计算机设备的内部结构图;
图10为另一些实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在相关技术中,设在不同地区的工厂的子团队可以同时参与同一份文件的制作,例如各工厂的子团队可以同时参与同一份电子图纸的制作。但是,由于各工厂的子团队之间存在数据不互通、各工厂的子团队之间不允许互相访问电子图纸,以及各工厂的子团队不允许跨区域访问电子图纸等问题。因此,各工厂的子团队需要定期对制作的电子图纸进行备份,然后送到统一的资料中心进行备份。各工厂的子团队只可以通过从资料中心获取备份的电子图纸,或者通过线下的方式自行获取其他工厂的子团队制作的电子图纸的方式实现文件的同步,但是采用以上的文件同步方式效率很低。
基于此,本申请实施例提供了一种文件同步方法、装置、系统、计算机设备、存储介质和计算机程序产品,旨在提高文件同步的效率。
本申请实施例提供的文件同步方法、装置、系统、计算机设备、存储介质和计算机程序产品,具体通过如下实施例进行说明,首先描述本申请实施例中的文件同步方法。
本申请实施例提供的文件同步方法,可以应用于如图1所示的应用环境中。其中,调度平台102可以通过网络分别与多个协同端,例如与第一协同端104和第二协同端106进行通信。数据存储系统可以存储调度平台102需要处理的数据,数据存储系统可以集成在调度平台102上,也可以放在云上或其他网络服务器上。调度平台102接收第一协同端104发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地。调度平台102从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端106。在第一协同端104和第二协同端106不是同一协同端的情况下,调度平台102从第二协同端106中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端104。其中,调度平台102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。
在一些实施例中,如图2所示,提供了一种文件同步方法,该方法应用于调度平台为例进行说明。本实施例中,该方法包括但不限于包括以下步骤:
步骤202,接收第一协同端发送的文件同步请求。
其中,调度平台指的是用于协助各协同端进行文件调度的控制平台。各协同端,指的是可以供使用对象,例如可以供用户进行协同编辑文件的编辑和下载等操作的平台,每个协同端都分别与调度平台通信连接,每个协同端既可以将其修改或编辑好的协同编辑文件上传到调度平台,又可以向调度平台申请调度其他协同端修改或编辑好的协同编辑文件。可以理解,第一协同端,是各协同端中的其中一个。
文件同步请求,携带协同编辑文件的文件标识。其中,协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件,也就是说,各协同端都可以各自在本地对同一份文件进行编辑,以得到该文件的不同版本,每个协同端所编辑的协同编辑文件存储于协同端的本地。示例性的,若第一协同端在某个时间段内对某个物理文件编辑完成时,例如对电子图纸编辑完成时,则生成第一版本的电子图纸,并可以将第一版本的电子图纸保存在第一协同端的本地;若第二协同端在第一协同端生成第一版本的电子图纸之后,又对第一版本的电子图纸进行编辑,则可以生成第二版本的电子图纸,并可以将第二版本的电子图纸保存在第二协同端的本地。
可以理解,文件标识用于指示对应的是哪一份协同编辑文件,且文件标识可以与该份协同编辑文件的各个版本皆相对应。示例性的,假设存在两份不同的协同编辑文件,分别是协同编辑文件A和协同编辑文件B,其中,协同编辑文件A和协同编辑文件B都分别对应有不同版本;若第一协同端需要下载协同编辑文件A,则可以向调度平台发送携带协同编辑文件A的文件标识的文件同步请求,以指示调度平台从多个版本的协同编辑文件A中选取一个最新版本,并将最新版本的协同编辑文件A返回给第一协同端。
具体地,调度平台接收协同端中的第一协同端发送的文件同步请求。
步骤204,从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端。
具体地,各协同端都可以对文件标识对应的协同编辑文件进行协同编辑,且在每次编辑完成后,都会生成不同版本的协同编辑文件。调度平台则从文件标识对应的不同版本的协同编辑文件中,确定一个最新版本的协同文件,并确定最新版本的协同编辑文件所存储于的第二协同端。
在一些实施例中,调度平台可以根据不同版本的协同编辑文件各自对应的版本号,来确定出版本号最高的协同编辑文件,以作为最新版本的协同编辑文件。在另一些实施例中,调度平台还可以根据不同版本的协同编辑文件各自对应的更新时间,来确定出最新版本的协同编辑文件。
步骤206,在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。
具体地,在第一协同端和第二协同端不是同一协同端的情况下,则说明调度平台确定出的最新版本的协同编辑文件并不存储在第一协同端的本地,此时调度平台则需要从第二协同端的本地中获取最新版本的协同编辑文件,并且将获取到的最新版本的协同编辑文件同步到第一协同端,以使第一协同端能够在最新版本的协同编辑文件的基础上进行文件编辑。在第一协同端和第二协同端是同一协同端的情况下,则说明调度平台确定出的最新版本的协同编辑文件就存储在第一协同端的本地,此时调度平台则不需要执行后续的文件同步的步骤,第一协同端则可以直接在本地中获取最新版本的协同编辑文件,并在其基础上进行文件编辑。
上述文件同步方法中,多个协同端都可以在各自本地进行协同编辑文件的编辑,以得到各个版本的协同编辑文件,且每个协同端编辑得到的各个版本的协同编辑文件都各自存储于协同端的本地。在某个协同端,例如第一协同端需要进行协同文件的同步时,则可以接收其发送的携带协同编辑文件的文件标识的第一协同端发送的文件同步请求;其中,文件标识与协同编辑文件的各个版本皆相对应。根据文件同步请求携带的文件标识就能够确定第一协同端具体需要同步的是哪一种协同编辑文件,并且从文件标识对应的协同编辑文件的各个版本中,确定最新版本的协同编辑文件,并确定最新版本的协同编辑文件所存储于的第二协同端。在第一协同端和第二协同端不是同一协同端的情况下,则说明最新版本的协同编辑文件并不存储于第一协同端,此时需要继续执行文件同步的过程,具体可以从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端,从而保证在第一协同端在需要的时候,只要发起文件同步请求就能够通过以上调度方式从其他协同端中及时获取到最新版本的协同编辑文件,以提高文件同步的效率。
在一些实施例中,步骤204具体包括但不限于包括:获取与文件标识对应的协同编辑文件的各个版本的更新时间;根据各个版本的更新时间确定最近一次更新的最新版本。
其中,更新时间,指的是更新完成协同编辑文件的各个版本的时间,该更新时间可以是某个时间段,也可以是某个时间点,本申请对此不做具体限制。
具体地,调度平台获取与文件标识对应的协同编辑文件的各个版本的更新时间,并从各个版本的更新时间中,确定出一个更新时间最近的更新时间,进而确定最近一次更新的最新版本,这样就能够保证同步给第一协同端的是最新版本的协同编辑文件,从而使第一协同端可以在最新版本的协同文件的基础上进行文件编辑。
在一些实施例中,步骤“获取与文件标识对应的协同编辑文件的各个版本的更新时间”具体包括但不限于包括:从数据库中提取与文件标识码匹配的文件更新记录,步骤“根据各个版本的更新时间确定最近一次更新的最新版本”具体包括但不限于包括:从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本。
其中,调度平台上部署有数据中心,该数据中心的数据库中存储有多份文件更新记录,与文件标识码匹配的文件更新记录中记录有多个协同端各自更新协同编辑文件的更新时间。
具体地,调度平台从数据库中存储的多份文件更新记录中,提取与第一协同端发送的文件标识码匹配的文件更新记录,以从文件更新记录中记录的各个版本对应的更新时间中,确定出最晚更新的更新时间,以将最晚更新的时间所对应的版本确定为最新版本。
在一些实施例中,步骤206具体包括但不限于包括:向第二协同端发送文件调度请求;若从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息;在接收到第一协同端响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端。
其中,调度成功消息是调度平台发送给第一协同端的、用于指示调度平台从第二协同端的本地成功获取到最新版本的协同编辑文件的消息。下载请求是第一协同端发送给调度平台的、用于指示从调度平台中下载最新版本的协同编辑文件的请求。
具体地,调度平台在确定出最新版本的协同编辑文件,以及该协同编辑文件存储于的第二协同端之后,则向第二协同端发送文件调度请求,以使第二协同端将本地存储的最新版本的协同编辑文件发送给调度平台。若调度平台成功从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息。第一协同端在接收到调度平台发送的调度成功消息之后,则向调度平台发送下载请求。调度平台在接收到第一协同端响应于调度成功消息发送的下载请求之后,则将其从第二协同端中获取到最新版本的协同编辑文件同步至第一协同端。
在一些实施例中,若调度平台成功从第二协同端中获取到最新版本的协同编辑文件,则还可以将其从第二协同端中获取到最新版本的协同编辑文件直接同步给第一协同端。
在另一些实施例中,若调度平台没有成功从第二协同端中获取到最新版本的协同编辑文件,则可以重新向第二协同端发送文件调度请求,直到成功从第二协同端中获取到最新版本的协同文件。
在一些实施例中,步骤206具体包括但不限于包括:对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端。
具体地,调度平台可以利用特定的加密算法,例如对称加密算法和非对称加密算法对获取到最新版本的协同编辑文件进行加密得到解密文件,并将加密文件同步到第一协同端。其中,对称加密算法在加密和解密时使用的是同一个密钥,而非对称加密算法需要两个密钥,即公开密钥和私有密钥来进行加密和解密。
在一些实施例中,第一协同端包括应用服务器和文件服务器。步骤“对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端”具体包括但不限于包括:对获取到最新版本的协同编辑文件进行加密,得到加密文件;将加密文件同步到文件服务器,以使文件服务器将加密文件发送给应用服务器,并使应用服务器对加密文件进行解密,得到最新版本的协同编辑文件。
其中,应用服务器,即web服务器,指的是驻留于因特网上某种类型计算机的程序,可以向浏览器等web客户端提供或放置数据文件。
需要说明的是,可以在应用服务器上运行用于进行文件处理的应用程序,该应用程序可以包括嵌入式或非嵌入式软件中的至少一种。其中,嵌入式软件是嵌入在控制器、通信、传感装置之中的采集、控制、通信等软件,非嵌入式软件是装在通用计算机或者工业控制计算机之中的设计、编程、工艺、监控、管理等软件。尤其是嵌入式软件,应用在军工电子和工业控制等领域之中,对可靠性、安全性、实时性要求特别高,必须经过严格检查和测评。此外,该应用程序还可以是与设计相关的工业软件中,比如计算机辅助设计(ComputerAided Design,CAD)和工程设计中的计算机辅助工程(Computer Aided Engineering,CAE)等。
在一些实施例中,在应用服务器上运行的应用程序还可以是产品生命周期管理(Product Lifecycle Management,PLM)软件。其中,PLM是一种应用于在单一地点的企业内部、分散在多个地点的企业内部,以及在产品研发领域的企业之间的,支持产品全生命周期的信息的创建、管理、分发和应用的一系列应用解决方案,它能够集成与产品相关的人力资源、流程、应用系统和信息等。
文件服务器,指的是用于在多台计算机之间传输文件的服务器,具体可以是文件传输协议(File Transfer Protocol,FTP)服务器。
可以理解,除了第一协同端之外的协同端,以及调度平台也都各自部署有对应的应用服务器和文件服务器。
在一些实施例中,如图3所示,协同端中的第一协同端、第二协同端、第三协同端和调度平台都各自部署有对应的应用服务器和文件服务器。除此之外,调度平台上还部署有数据中心和总备份服务器,其中数据中心用于存储各协同端各自对协同编辑文件进行更新的文件更新记录,总备份服务器用于供调度平台进行相关文件的备份。需要说明的是,各协同端的文件服务器都可以通过调度平台的文件服务器与其他协同端的文件服务器通信,各协同端的应用服务器还可以通过调度平台的数据中心与其他协同端的应用服务器通信。
在一些实施例中,如图4所示,使用对象可以在个人计算机上通过网页浏览器(Internet Explorer,IE)向应用服务器访问协同编辑文件,应用服务器上运行的应用程序可以通过调用文件服务器的web服务检查并调度协同编辑文件,文件服务器可以向调度平台的文件服务器发送文件同步申请,调度平台则向第二协同端的文件服务器申请调度最新版本的协同编辑文件,由第二协同端的文件服务器将最新版本的协同编辑文件上传到调度平台的文件服务器中。接着,调度平台的文件服务器可以向第一协同端的文件服务器发送调度成功请求,第一协同端的文件服务器在接收到调度成功请求之后,则可以直接从调度平台的文件服务器中下载最新版本的协同编辑文件。
具体地,调度平台还可以通过本端对应的应用服务器上运行的应用程序对获取到最新版本的协同编辑文件进行加密,得到加密文件,并将加密文件同步到第一调度端的文件服务器中,以使第一调度端的文件服务器将加密文件发送给第一调度端的应用服务器,并使应用服务器对加密文件进行解密,得到最新版本的协同编辑文件后,再反馈给客户端。
在一些实施例中,多个协同端在区块链上具有对应的第二区块链节点。步骤“对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端”具体还包括但不限于包括:将加密文件进行分块处理,得到多个加密文件块;将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点分别将多个加密文件块同步到第二区块链节点中,以指示应用服务器从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件。
其中,调度平台在区块链上具有对应的第一区块链节点。
具体地,调度平台还可以通过本端对应的应用服务器上运行的应用程序对加密文件进行分块处理,以得到多个分包,即加密文件块,并将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点分别将存储的多个加密文件块同步到第一协同端对应的第二区块链节点中,以指示第一协同端本端对应的应用服务器上运行的应用程序从多个第二区块链节点中获取多个加密文件块,并将多个加密文件块进行合并得到一个完整的加密文件,之后对完整的加密文件进行加密,得到最新版本的协同编辑文件。
在一些实施例中,如图4所示,在各客户端中进行文件加密的流程具体可以包括:用户可以在客户端中上传文件给应用服务器,应用服务器则对上传的文件进行加密得到加密文件,对该加密文件进行签名后发送给区块链节点。区块链节点则校验加密文件的签名,并在校验通过后上链存证,以得到对应的回执,并将回执发送给应用服务器进行保存。
在一些实施例中,如图5所示,在各客户端中进行文件解密的流程具体可以包括:客户端向应用服务器发送解密请求,应用服务器在接收到解密请求后发送存证和非对称加密密钥给客户端,以使客户端发送携带存证和非对称加密密钥的文件请求给区块链节点。区块链节点则根据存证和非对称加密密钥获取链上存储的加密文件,并将加密文件发送给应用服务器。应用服务器使用非对称加密密钥对加密文件进行加密,得到解密文件,并发送解密文件给客户端。
在一些实施例中,本申请的文件同步方法具体还包括但不限于包括:检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端针对协同编辑文件的处理权限,以使得目标协同端无法处理协同编辑文件。
其中,目标协同端是除正在编辑协同编辑文件的协同端之外的协同端。
具体地,调度平台可以对各个协同端对协同编辑文件的编辑状态进行检测,在调度平台检测到协同编辑文件的编辑状态为正在编辑的情况下,则说明有某个协同端正在对该协同编辑文件进行编辑,此时为了防止多协同端对同一协同文件进行编辑所导致的版本错乱的问题,调度平台则需要控制目标协同端针对协同编辑文件的处理权限,以使目标协同端无法处理协同编辑文件,具体使目标协同端无法下载以及编辑协同编辑文件,从而保证协同编辑文件的可靠性。
在一些实施例中,在调度平台检测到协同编辑文件的编辑状态为未编辑的情况下,则可以将各协同端针对协同编辑文件的处理权限设置为可下载和可修改。
在一些实施例中,本申请的文件同步方法具体应用于总团体对应的调度平台。其中,多个协同端是多个子团体对应的设备,调度平台中存储有文件标识、各个子团体的标识以及各个子团体对协同编辑文件进行编辑更新的更新时间。步骤204具体还包括但不限于包括:确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据目标子团体的标识确定第二协同端。
具体地,总团体对应的调度平台可以从本地存储中确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,并根据目标子团体的标识确定第二协同端。
在一些实施例中,本申请的文件同步方法具体还包括但不限于包括以下步骤:
(1)接收第一协同端发送的文件同步请求。
(2)从数据库中提取与文件标识码匹配的文件更新记录。
(3)从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端。
(4)在第一协同端和第二协同端是同一协同端的情况下,则不执行后续处理。在第一协同端和第二协同端不是同一协同端的情况下,执行步骤(5)和(6)或者执行步骤(7)至步骤(9)
(5)向第二协同端发送文件调度请求,若从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息。
(6)在接收到第一协同端响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端。
(7)对获取到最新版本的协同编辑文件进行加密,得到加密文件。
(8)将加密文件进行分块处理,得到多个加密文件块。
(9)将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点分别将多个加密文件块同步到第一协同端的第二区块链节点中,以指示第一协同端的应用服务器从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件。
在一些实施例中,本申请的文件同步方法具体还包括但不限于包括:检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端针对协同编辑文件的处理权限,以使得目标协同端无法处理协同编辑文件。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文件同步方法的文件同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文件同步装置实施例中的具体限定可以参见上文中对于文件同步方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种文件同步装置,包括:请求接收模块702、版本确定模块704和文件同步模块706,其中:
请求接收模块702,用于接收第一协同端发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端所编辑的协同编辑文件存储于协同端的本地;
版本确定模块704,用于从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端;
文件同步模块706,用于在第一协同端和第二协同端不是同一协同端的情况下,从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端。
上述文件同步装置中,多个协同端都可以在各自本地进行协同编辑文件的编辑,以得到各个版本的协同编辑文件,且每个协同端编辑得到的各个版本的协同编辑文件都各自存储于协同端的本地。在某个协同端,例如第一协同端需要进行协同文件的同步时,则可以接收其发送的携带协同编辑文件的文件标识的第一协同端发送的文件同步请求;其中,文件标识与协同编辑文件的各个版本皆相对应。根据文件同步请求携带的文件标识就能够确定第一协同端具体需要同步的是哪一种协同编辑文件,并且从文件标识对应的协同编辑文件的各个版本中,确定最新版本的协同编辑文件,并确定最新版本的协同编辑文件所存储于的第二协同端。在第一协同端和第二协同端不是同一协同端的情况下,则说明最新版本的协同编辑文件并不存储于第一协同端,此时需要继续执行文件同步的过程,具体可以从第二协同端中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端,从而保证在第一协同端在需要的时候,只要发起文件同步请求就能够通过以上调度方式从其他协同端中及时获取到最新版本的协同编辑文件,以提高文件同步的效率。
在一些实施例中,版本确定模块704还用于获取与文件标识对应的协同编辑文件的各个版本的更新时间;根据各个版本的更新时间确定最近一次更新的最新版本。
在一些实施例中,版本确定模块704还用于从数据库中提取与文件标识码匹配的文件更新记录;文件更新记录中记录有多个协同端各自更新协同编辑文件的更新时间;从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本。
在一些实施例中,文件同步模块706还用于向第二协同端发送文件调度请求;若从第二协同端中获取到最新版本的协同编辑文件,则向第一协同端发送调度成功消息;在接收到第一协同端响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端。
在一些实施例中,文件同步模块706还用于对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端。
在一些实施例中,第一协同端包括应用服务器和文件服务器。文件同步模块706还用于对获取到最新版本的协同编辑文件进行加密,得到加密文件;将加密文件同步到文件服务器,以使文件服务器将加密文件发送给应用服务器,并使应用服务器对加密文件进行解密,得到最新版本的协同编辑文件。
在一些实施例中,多个协同端在区块链上具有对应的第二区块链节点。文件同步模块706还用于将加密文件进行分块处理,得到多个加密文件块;将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点分别将多个加密文件块同步到第二区块链节点中,以指示应用服务器从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件。
在一些实施例中,文件同步装置还包括权限控制模块,权限控制模块用于检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端针对协同编辑文件的处理权限,以使得目标协同端无法处理协同编辑文件;其中,目标协同端是除正在编辑协同编辑文件的协同端之外的协同端。
在一些实施例中,文件同步装置位于总团体对应的调度平台;多个协同端是多个子团体对应的设备;调度平台中存储有文件标识、各个子团体的标识以及各个子团体对协同编辑文件进行编辑更新的更新时间。版本确定模块704还用于确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据目标子团体的标识确定第二协同端。
上述文件同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的文件同步方法的文件同步系统。该系统所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个文件同步系统实施例中的具体限定可以参见上文中对于文件同步方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种文件同步系统,包括:调度平台802和多个协同端804,多个协同端804包括第一协同端806和第二协同端808,其中:
调度平台802用于接收第一协同端806发送的文件同步请求;文件同步请求携带协同编辑文件的文件标识;协同编辑文件是供多个协同端804在各自本地进行异地协同编辑的文件;文件标识与协同编辑文件的各个版本皆相对应;每个协同端804所编辑的协同编辑文件存储于协同端804的本地;从文件标识对应的协同编辑文件的各个版本中,确定最新版本,并确定最新版本的协同编辑文件所存储于的第二协同端808;在第一协同端806和第二协同端808不是同一协同端804的情况下,从第二协同端808中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端806。
上述文件同步系统中,多个协同端804都可以在各自本地进行协同编辑文件的编辑,以得到各个版本的协同编辑文件,且每个协同端804编辑得到的各个版本的协同编辑文件都各自存储于协同端804的本地。在某个协同端804,例如第一协同端806需要进行协同文件的同步时,则可以接收其发送的携带协同编辑文件的文件标识的第一协同端806发送的文件同步请求;其中,文件标识与协同编辑文件的各个版本皆相对应。根据文件同步请求携带的文件标识就能够确定第一协同端806具体需要同步的是哪一种协同编辑文件,并且从文件标识对应的协同编辑文件的各个版本中,确定最新版本的协同编辑文件,并确定最新版本的协同编辑文件所存储于的第二协同端808。在第一协同端806和第二协同端808不是同一协同端804的情况下,则说明最新版本的协同编辑文件并不存储于第一协同端806,此时需要继续执行文件同步的过程,具体可以从第二协同端808中获取最新版本的协同编辑文件,并将最新版本的协同编辑文件同步到第一协同端806,从而保证在第一协同端806在需要的时候,只要发起文件同步请求就能够通过以上调度方式从其他协同端804中及时获取到最新版本的协同编辑文件,以提高文件同步的效率。
在一些实施例中,调度平台802还用于获取与文件标识对应的协同编辑文件的各个版本的更新时间;根据各个版本的更新时间确定最近一次更新的最新版本。
在一些实施例中,调度平台802还用于数据库中提取与文件标识码匹配的文件更新记录;文件更新记录中记录有多个协同端804各自更新协同编辑文件的更新时间;从文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的更新时间所对应的版本确定为最新版本。
在一些实施例中,调度平台802还用于向第二协同端808发送文件调度请求;若从第二协同端808中获取到最新版本的协同编辑文件,则向第一协同端806发送调度成功消息;在接收到第一协同端806响应于调度成功消息发送的下载请求后,将最新版本的协同编辑文件同步至第一协同端806。
在一些实施例中,调度平台802还用于对获取到最新版本的协同编辑文件进行加密得到加密文件,并将加密文件同步到第一协同端806。
在一些实施例中,第一协同端806包括应用服务器和文件服务器。调度平台802还用于对获取到最新版本的协同编辑文件进行加密,得到加密文件,将加密文件同步到文件服务器。文件服务器用于将加密文件发送给应用服务器,应用服务器用于对加密文件进行解密,得到最新版本的协同编辑文件。
在一些实施例中,多个协同端804在区块链上具有对应的第二区块链节点。调度平台802还用于将加密文件进行分块处理,得到多个加密文件块,将多个加密文件块分别存储到本端对应的第一区块链节点中,以使第一区块链节点用于分别将多个加密文件块同步到第二区块链节点中。应用服务器还用于从第二区块链节点中获取多个加密文件块,基于获取到的多个加密文件块进行解密,得到最新版本的协同编辑文件
在一些实施例中,调度平台802还用于检测协同编辑文件的编辑状态;在检测到编辑状态为正在编辑的情况下,控制目标协同端804针对协同编辑文件的处理权限,以使得目标协同端804无法处理协同编辑文件;其中,目标协同端804是除正在编辑协同编辑文件的协同端804之外的协同端804。
在一些实施例中,多个协同端804是多个子团体对应的设备;调度平台802中存储有文件标识、各个子团体的标识以及各个子团体对协同编辑文件进行编辑更新的更新时间。调度平台802还用于确定与最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据目标子团体的标识确定第二协同端808。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储与文件同步相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件同步方法。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文件同步方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9和图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,计算机设备包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,计算机程序产品包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (13)
1.一种文件同步方法,其特征在于,所述方法包括:
接收第一协同端发送的文件同步请求;所述文件同步请求携带协同编辑文件的文件标识;所述协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;所述文件标识与所述协同编辑文件的各个版本皆相对应;每个协同端所编辑的所述协同编辑文件存储于所述协同端的本地;
从所述文件标识对应的所述协同编辑文件的各个版本中,确定最新版本,并确定所述最新版本的协同编辑文件所存储于的第二协同端;
在所述第一协同端和所述第二协同端不是同一协同端的情况下,从所述第二协同端中获取所述最新版本的协同编辑文件,并将所述最新版本的协同编辑文件同步到所述第一协同端。
2.根据权利要求1所述的方法,其特征在于,所述从所述文件标识对应的所述协同编辑文件的各个版本中,确定最新版本,包括:
获取与所述文件标识对应的所述协同编辑文件的各个版本的更新时间;
根据所述各个版本的更新时间确定最近一次更新的最新版本。
3.根据权利要求2所述的方法,其特征在于,所述获取与所述文件标识对应的所述协同编辑文件的各个版本的更新时间,包括:
从数据库中提取与所述文件标识码匹配的文件更新记录;所述文件更新记录中记录有所述多个协同端各自更新所述协同编辑文件的更新时间;
所述根据所述各个版本的更新时间确定最近一次更新的最新版本,包括:
从所述文件更新记录中记录的各更新时间中,确定出最晚更新的更新时间,以将最晚更新的所述更新时间所对应的版本确定为最新版本。
4.根据权利要求1所述的方法,其特征在于,所述从所述第二协同端中获取所述最新版本的协同编辑文件,并将所述最新版本的协同编辑文件同步到所述第一协同端,包括:
向所述第二协同端发送文件调度请求;
若从所述第二协同端中获取到所述最新版本的协同编辑文件,则向所述第一协同端发送调度成功消息;
在接收到所述第一协同端响应于所述调度成功消息发送的下载请求后,将所述最新版本的协同编辑文件同步至所述第一协同端。
5.根据权利要求1所述的方法,其特征在于,所述将所述最新版本的协同编辑文件同步到所述第一协同端,包括:
对获取到所述最新版本的协同编辑文件进行加密得到加密文件,并将所述加密文件同步到所述第一协同端。
6.根据权利要求5所述的方法,其特征在于,所述第一协同端包括应用服务器和文件服务器;
所述对获取到所述最新版本的协同编辑文件进行加密得到加密文件,并将所述加密文件同步到所述第一协同端,包括:
对获取到所述最新版本的协同编辑文件进行加密,得到加密文件;
将所述加密文件同步到所述文件服务器,以使所述文件服务器将所述加密文件发送给所述应用服务器,并使所述应用服务器对所述加密文件进行解密,得到所述最新版本的协同编辑文件。
7.根据权利要求6所述的方法,其特征在于,所述多个协同端在区块链上具有对应的第二区块链节点;
所述对获取到所述最新版本的协同编辑文件进行加密,得到加密文件,并将所述加密文件同步到所述第一协同端,包括:
将所述加密文件进行分块处理,得到多个加密文件块;
将所述多个加密文件块分别存储到本端对应的第一区块链节点中,以使所述第一区块链节点分别将所述多个加密文件块同步到所述第二区块链节点中,以指示所述应用服务器从所述第二区块链节点中获取所述多个加密文件块,基于获取到的所述多个加密文件块进行解密,得到所述最新版本的协同编辑文件。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述协同编辑文件的编辑状态;
在检测到所述编辑状态为正在编辑的情况下,控制目标协同端针对所述协同编辑文件的处理权限,以使得所述目标协同端无法处理所述协同编辑文件;
其中,所述目标协同端是除正在编辑所述协同编辑文件的协同端之外的协同端。
9.根据权利要求1至8中任一项所述的方法,其特征在于,应用于总团体对应的调度平台;所述多个协同端是多个子团体对应的设备;所述调度平台中存储有所述文件标识、各个子团体的标识以及各个子团体对所述协同编辑文件进行编辑更新的更新时间;
所述确定所述最新版本的协同编辑文件所存储于的第二协同端包括:
确定与所述最新版本的协同编辑文件的更新时间对应的目标子团体的标识,根据所述目标子团体的标识确定所述第二协同端。
10.一种文件同步装置,其特征在于,所述装置包括:
请求接收模块,用于接收第一协同端发送的文件同步请求;所述文件同步请求携带协同编辑文件的文件标识;所述协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;所述文件标识与所述协同编辑文件的各个版本皆相对应;每个协同端所编辑的所述协同编辑文件存储于所述协同端的本地;
版本确定模块,用于从所述文件标识对应的所述协同编辑文件的各个版本中,确定最新版本,并确定所述最新版本的协同编辑文件所存储于的第二协同端;
文件同步模块,用于在所述第一协同端和所述第二协同端不是同一协同端的情况下,从所述第二协同端中获取所述最新版本的协同编辑文件,并将所述最新版本的协同编辑文件同步到所述第一协同端。
11.一种文件同步系统,其特征在于,所述系统包括:调度平台和多个协同端,所述多个协同端包括第一协同端和第二协同端;
所述调度平台用于接收第一协同端发送的文件同步请求;所述文件同步请求携带协同编辑文件的文件标识;所述协同编辑文件是供多个协同端在各自本地进行异地协同编辑的文件;所述文件标识与所述协同编辑文件的各个版本皆相对应;每个协同端所编辑的所述协同编辑文件存储于所述协同端的本地;从所述文件标识对应的所述协同编辑文件的各个版本中,确定最新版本,并确定所述最新版本的协同编辑文件所存储于的第二协同端;在所述第一协同端和所述第二协同端不是同一协同端的情况下,从所述第二协同端中获取所述最新版本的协同编辑文件,并将所述最新版本的协同编辑文件同步到所述第一协同端。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201945.9A CN116401222A (zh) | 2023-03-03 | 2023-03-03 | 文件同步方法、装置、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310201945.9A CN116401222A (zh) | 2023-03-03 | 2023-03-03 | 文件同步方法、装置、系统、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116401222A true CN116401222A (zh) | 2023-07-07 |
Family
ID=87014976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310201945.9A Pending CN116401222A (zh) | 2023-03-03 | 2023-03-03 | 文件同步方法、装置、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116401222A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578533A (zh) * | 2023-07-12 | 2023-08-11 | 北京探索者软件股份有限公司 | Cad平台的数据处理方法、装置和存储介质及电子装置 |
-
2023
- 2023-03-03 CN CN202310201945.9A patent/CN116401222A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578533A (zh) * | 2023-07-12 | 2023-08-11 | 北京探索者软件股份有限公司 | Cad平台的数据处理方法、装置和存储介质及电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106612285B (zh) | 基于对等网络的分布式云数据管理方法及系统 | |
KR102472231B1 (ko) | 블록체인 구현 방법 및 시스템 | |
JP6775086B2 (ja) | ブロックチェーン監視及び管理 | |
EP3070630B1 (en) | Data system and method | |
CN107800787B (zh) | 一种分布式大数据实时交换共享的计算机网络系统 | |
CN111930851B (zh) | 区块链网络的管控数据处理方法、装置、介质及电子设备 | |
CN110800250B (zh) | 受控加密私钥的发布 | |
US20200007513A1 (en) | Blockchain infrastructure for securing and/or managing electronic artifacts | |
WO2019170172A2 (en) | Implementing a blockchain-based workflow | |
CN109522363B (zh) | 基于区块链的云平台同步方法、系统、设备及存储介质 | |
US20170019377A1 (en) | Secure Network Storage | |
CN108377272B (zh) | 一种管理物联网终端的方法及系统 | |
CN111556120A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
JP2022141772A (ja) | ブロックチェーンのための暗号化データ共有管理 | |
CN111740966A (zh) | 一种基于区块链网络的数据处理方法及相关设备 | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
CN116401222A (zh) | 文件同步方法、装置、系统、设备和存储介质 | |
CN112163241A (zh) | 一种公证档案信息处理方法、系统、平台、设备及存储介质 | |
CN111444542A (zh) | 一种针对版权文件的数据处理方法、装置及存储介质 | |
KR20210077136A (ko) | 블록 체인 네트워크 시스템의 동작 방법 | |
CN115934640A (zh) | 一种数据存储方法、系统、电子设备及存储介质 | |
CN114219565A (zh) | 订单数据处理方法、服务器、存储介质及程序产品 | |
CN114238886A (zh) | 基于ibe的电网pmu身份认证方法、装置、计算机设备和介质 | |
Ali Süzen et al. | Protecting the privacy of IoT-based health records using blockchain technology | |
CN111130788B (zh) | 数据处理方法和系统、数据读取方法和iSCSI服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |