CN104994177A - 网盘系统的同步方法、终端设备和网盘系统 - Google Patents
网盘系统的同步方法、终端设备和网盘系统 Download PDFInfo
- Publication number
- CN104994177A CN104994177A CN201510478373.4A CN201510478373A CN104994177A CN 104994177 A CN104994177 A CN 104994177A CN 201510478373 A CN201510478373 A CN 201510478373A CN 104994177 A CN104994177 A CN 104994177A
- Authority
- CN
- China
- Prior art keywords
- synchronous task
- synchronous
- task
- client
- directory entry
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Abstract
本发明公开了一种网盘系统的同步方法、终端设备和网盘系统。该同步方法包括:检测网盘系统的客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作;将多个变化操作转换为多个同步任务,其中多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步;确定多个同步任务之间的依赖关系;将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。本发明的技术方案能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
Description
技术领域
本发明涉及计算机信息存储领域,尤其涉及一种网盘系统的同步方法、终端设备和网盘系统。
背景技术
网盘是一种在线存储服务,用于向用户提供文件的存储、访问、备份、共享等文件管理功能。网盘可以看成是设置在网络上的硬盘,无论用户置身何地,只要能够通过任何终端设备接入互联网,就可以管理网盘中的文件。目前的网盘系统主要采用富客户端模式和同步模式为用户提供文件管理功能。
在富客户端(Rich Client)模式下,需要在每个客户端上实现专用的文件管理界面,用户可以通过该文件管理界面进行网盘系统的文件的读取、修改、删除和重命名等操作。在这种模式下,用户无法使用本地计算机系统的资源管理器进行对网盘系统的文件的操作。
在同步模式下,网盘系统的服务器的文件数据可以同步到本地终端设备的磁盘中,这样,用户可以通过本地终端设备的资源管理器进行文件的读取、修改、删除和重命名等操作,无需在每个客户端上实现专用的文件管理界面。具体而言,网盘系统可以监测网盘目录下的文件的变化,并根据文件的变化在网盘系统的服务器与本地终端设备之间进行文件数据的同步(或更新)。当本地终端设备上存储的网盘文件有变化时,可以将这种网盘文件的变化上传至服务器,当服务器存储的网盘文件有变化时,可以将这种网盘文件的变化下载至本地计算机系统。网盘系统的每一种变化操作会被本地终端设备转换为一个独立的同步任务。
然而,当用户频繁操作时,会产生多个同步任务,如果顺序执行同步任务,会使得网盘系统的同步效率很低。
因此,如何提高网盘系统的同步效率是亟待解决的问题。
发明内容
本发明实施例提供了一种网盘系统的同步方法、终端设备和网盘系统,能够提高网盘系统的同步的效率。
第一方面,提供了一种网盘系统的同步方法,包括:检测网盘系统的客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作;将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步;确定多个同步任务之间的依赖关系;将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
第二方面,提供了一种终端设备,终端设备运行网盘系统的客户端,客户端包括:检测模块,用于检测客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作;转换模块,用于将将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步;确定模块,用于确定多个同步任务之间的依赖关系;执行模块,用于将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
第三方面,提供了一种网盘系统,包括:至少一个如第二方面所述的终端设备;和服务器,通过网络与终端设备连接,用于根据终端设备上运行的客户端的请求执行客户端与服务器之间的同步。
基于上述技术方案,本发明实施例的网盘系统的方法、终端设备和网盘系统,通过将网盘系统的目录项的多个变化操作转换为多个同步任务,并根据多个同步任务之间的依赖关系,将不存在依赖关系的同步任务分配给不同的线程并行执行,能够在网盘系统的同步过程中实现多线程,从而能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的网盘系统的示意性架构图。
图2是根据本发明的一个实施例的网盘系统的同步方法的示意性流程图。
图3是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
图4是根据本发明的一个实施例的同步队列与线程的关系示意图。
图5是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
图6是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
图7是根据本发明的实施例的终端设备的结构示意图。
图8是根据本发明的另一实施例的网盘系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
为了提高网盘系统的同步效率,可以采用多线程的方式来执行同步任务。然而,当采用多线程并行执行同步任务时,如果两个并行执行的同步任务之间存在依赖关系,则会产生逻辑错误而导致同步失败。例如,用户在本地客户端新建了目录Dir,并进行了将F.txt文件复制到目录Dir下的操作,上述操作对应两个同步任务:A.上传任务-创建目录Dir,B.上传任务-上传文件F.txt,如果这两个同步任务并行执行,当执行同步任务B时,服务器上并不存在目录Dir,则会导致上传出错,再如,对目录或目录下的文件进行重命名或删除等操作也会遇到类似的问题。
本发明的实施例提供了一种网盘系统的同步方法、终端设备和网盘系统,能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
图1是根据本发明一个实施例的网盘系统100的示意性架构图。
本发明的实施例的网盘系统可以包括服务器和至少一个终端设备,服务器通过网络与终端设备连接。例如,终端设备可以是个人计算机、WEB设备(例如,安装了网页浏览器的终端设备)、移动终端等用户设备,每个终端设备上运行有网盘系统的客户端。服务器可以是普通的服务器,也可以是云端服务器或虚拟机服务器。在服务器和本地终端设备分别设置有网盘系统的目录和文件,服务器可以根据终端设备上运行的客户端的请求执行客户端与服务器之间的网盘目录和文件的同步。终端设备与服务器之间可以通过TCP/IP建立网络连接,本发明的实施例并不限于此,例如,服务器和终端设备之间还可以通过无线接入点(例如,WiFi设备)建立连接。
如图1所示,网盘系统100可以包括:服务器110、移动终端120、个人计算机130和WEB设140。个人计算机130可以通过互联网150与服务器110连接。移动终端120可以通过接入点(例如,基站或无线接入点)160以及互联网150与服务器110连接。WEB设备140可以通过互联网150与服务器110连接。
具体而言,为了能够实现在任意终端设备上的变更内容(或数据)在其它终端设备上也能够看到或者访问,通常采用同步技术实现服务器与客户端之间的同步,将本地终端设备的变更内容同步到服务器,然后由服务器将该变更内容同步到其它终端设备,同步任务的执行确保了本地终端设备上的内容与服务器端的内容的一致性。
应理解,本发明的实施例的适应范围并不限于上述终端设备和服务器,本发明实施例适用于任何能够通过网络进行连接的服务器和终端设备。
图2示出了根据本发明的一个实施例的同步数据的方法100的示意性流程图。图2的方法可以由图1的终端设备来执行。如图2所示,方法200包括如下内容。
210,检测网盘系统的客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作。
例如,网盘目录项可以包括网盘目录或网盘目录下的文件或子目录等内容。上述多个变化操作可以包括:新建文件、新建目录,修改文件,重命名文件、重命名目录,删除文件、删除目录和修改权限中的至少一种操作。
应理解,上变化操作可以指本地客户端的网盘目录项的变化操作,也可以指服务器的网盘目录项的变化操作,或者两者的结合。
220,将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步。
例如,本地客户端的网盘目录项的变化操作可以转换成上传任务,而服务器的网盘目录项的变化操作可以转换成下载任务。每个变化操作对应于一个同步任务,例如,将多个文件复制到网盘目录下的操作对应于多个同步任务,而对网盘目录进行重命名的操作对应于一个同步任务。
230,确定多个同步任务之间的依赖关系。
例如,同步任务之间存在依赖关系可以指这些同步任务的执行有逻辑上的次序。由于同步任务之间存在次序关系,如果乱序并行执行这些同步任务可能会产生逻辑错误,从而导致执行失败。因此,在执行同步任务之前可以先分析同步任务之间的依赖关系,即分析同步任务在执行逻辑上的先后顺序,以便根据依赖关系来决定是否由多个线程并发执行这些同步任务。
240,将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
同步任务之间不存在依赖关系是指这些同步任务的执行可以没有逻辑上的次序。由于这些同步任务之间没有次序关系,在执行这些同步任务时可以并行执行而不会产生逻辑错误。
具体而言,网盘系统的终端设备可以监测本地客户端的网盘目录项是否有变化操作,同时探测服务器的网盘目录项是否有变化操作,并将这些变化操作转换成多个同步任务。终端设备可以分析这些同步任务之间的依赖关系。如果多个同步任务中的至少两个任务之间不存在依赖关系,则可以将这些不存在依赖关系的同步任务分配给多个线程并行执行。
本发明实施例的网盘系统的同步方法通过将网盘系统的目录项的多个变化操作转换为多个同步任务,并根据多个同步任务之间的依赖关系,将不存在依赖关系的同步任务分配给不同的线程并行执行,能够在网盘系统的同步过程中实现多线程,从而能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
可选地,作为另一实施例,图2的方法还可以包括:将多个同步任务中存在依赖关系的同步任务分配给同一线程,并按照顺序执行。
例如,当根据依赖关系确定允许若干同步任务由多个线程并行执行时,可以启动多个线程(例如,默认为5个),每个线程执行一个同步任务。当根据依赖关系确定不允许多个线程并发执行若干同步任务时,启动一个线程,并且按照同步任务的在逻辑上的执行顺序,依次执行这些同步任务,即一个同步任务执行完再执行下一个同步任务。
可选地,作为另一实施例,图2的方法还可以包括:将多个同步任务加入到客户端生成的同步队列中,其中在220中,在同步队列中顺序查找与第一同步任务没有依赖关系的第二同步任务,在240中,将第一同步任务分配给第一线程执行,并且将第二同步任务分配给第二线程执行。另外,在按照顺序执行同步任务时,本发明实施例可以将多个同步任务中与第一同步任务存在依赖关系的第三同步任务分配给同一线程,并按照第一同步任务和第三同步任务的依赖关系的顺序执行所述第一同步任务和所述第三同步任务,或者,按照第一同步任务和第三同步任务在同步队列中的顺序执行第一同步任务和第三同步任务。
例如,同步队列中的同步任务可以由执行器(Executor)来执行。同步队列的设置是为了方便线程的管理,同步队列中的各个同步任务排队等待系统分配线程。系统可以支持多个(例如,默认为5个)线程并行工作,每个线程执行一项同步任务,系统中工作的线程可以维持在特定的数目。
应理解,上述第二同步任务可以同步队列中的一个或多个同步任务,第二同步任务可以是同步队列中的一个或多个同步任务,上述第三同步任务也可以是同步队列中的一个或多个同步任务。
根据本发明的实施例,第一同步任务为正在执行的同步任务,第二同步任务为待执行的同步任务。
例如,客户端可以分析同步队列中待执行的同步任务是否与当前正在执行的同步任务之间存在依赖关系,如果不存在依赖关系,则可以为待执行的同步任务分配与正在执行的同步任务的线程不同的线程,以便并行执行同步任务。如果待执行的同步任务与当前正在执行的同步任务之间存在依赖关系,则待执行的同步任务需要在当前正在执行的同步任务完成后再由相同的线程来执行。进一步,客户端还可以分析多个待执行的同步任务之间的依赖关系,并且可以进一步要求待执行的同步任务之间同样满足不存在依赖关系的条件,以便这些待执行的同步任务之间并行执行时不会造成逻辑错误。
在220中,可以将客户端的网盘目录项的变化操作转换为上传任务,其中上传任务用于将客户端的网盘目录项的变化操作上传到服务器;还可以将服务器的网盘目录项的变化操作转换为下载任务,其中下载任务用于将服务器的网盘目录项的变化操作下载到客户端。
本发明的实施例的同步任务可以包括两类:上传任务和下载任务。上传任务通常是用户对本地目录项进行操作后产生的任务。上传任务可以包括新建网盘目录下的文件、新建网盘目录,修改文件的内容,重命名文件、重命名网盘目录,删除文件、删除网盘目录等等。下载任务通常是用户在其它设备上变更操作同步到服务器后,而本地终端设备并没有该变更内容而产生的同步任务,用于将服务器的变更内容拉取到本地终端设备上。例如,下载任务可以包括:新建网盘目录下的文件、新建网盘目录,修改文件的内容,重命名文件、重命名网盘目录,删除文件、删除网盘目录等等。
例如,用户通过第一终端设备的客户端编辑本地网盘目录下的文档,网盘系统会产生一个上传任务:文档编辑任务,并将编辑内容上传到服务器,当用户在第二终端设备上登录时,第二终端设备的网盘目录下并没有该编辑内容,因此,第二终端设备可以从服务器下载该编辑内容。上述上传操作和下载操作分别在第一终端设备和第二终端设备被转换为两个独立的同步任务。
图3是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。图3的方法是图2的方法的例子,在此适当省略详细的描述。
310,实时或周期性地监测本地的网盘目录项的变化操作。
例如,用户登录网盘系统的客户端后,可以通过终端设备的客户端的资源管理器管理网盘目录的内容,而客户端可以通过本地Windows操作系统中的FileSystemWatcher类实时监测本地的网盘目录和网盘目录下的文件的更改或变化,本发明的实施例并不限于此,例如,也可调用其它专用函数来侦听网盘目录和文件的更改或变化。
320,将本地的网盘目录的变化操作转换为同步任务。
当客户端检测到本地的网盘目录的变化操作时,将每个变化操作转换为同步任务,即每个操作对应于一个同步任务。
330,实时或周期性地探测服务器的网盘目录项的变化操作。
例如,客户端可以在后台实时或周期性地探测服务器中网盘目录和网盘目录下文件的更改或变化,并通过对比本地网盘目录的内容与服务器网盘目录的内容,发现服务器的网盘内容的变化。例如,可以采用推送(PUSH)方式:服务器的网盘目录的内容发生变化后,服务器可以将变化内容主动通知客户端;或者,可以采用拉取(PULL)方式:客户端定期询问服务器,并通过询问结果推测服务器的网盘内容的变化。
340,将服务器的网盘目录项的变化操作转换为同步任务。
当客户端检测到服务器的网盘目录的变化操作时,将每个变化操作转换为同步任务,即每个操作对应于一个同步任务。
350,将上述同步任务放入到同步队列中。
例如,客户端可以将上述同步任务加入到客户端维护的同步队列中。
360,分析同步队列中的同步任务之间是否存在依赖关系。
这种依赖关系可以是目录关系。如果正在执行的同步任务对应的目录与待执行的同步任务对应的目录为父子关系,则待执行的同步任务需要排队等待正在执行的同步任务结束。如果正在执行的同步任务与待执行的任务均为文件任务,或正在执行的同步任务与待执行的任务均为目录任务并且是兄弟关系,则可以将待执行同步任务分配给其它线程并行执行。
例如,如果同步队列中正在执行的同步任务是由一个线程对一个目录下的文件对象(例如,Dir/d/F.txt)进行操作,则可以将其它线程分配给对该目录下任意文件(例如,Dir/d/E.txt)进行操作的同步任务。如果同步队列中正在执行的同步任务是由一个线程对目录对象(例如,目录Dir/d)进行操作,则不允许将操作该目录对象的子目录对象(例如,Dir/d/c)或该目录对象的文件对像(例如,Dir/d/F.txt)的同步任务分配给其它线程,并且不允许将操作该目录对象的父目录对象(例如,Dir)的同步任务分配给其它线程。
另外,在同步队列中,与正在执行的同步任务的目录关系为父子关系的同步任务可能会连续有多个,但这些同步任务之后可能还有存在兄弟关系的同步任务,因此,如果有空闲的线程,可以在同步队列中顺序查找更多与正在执行的同步任务存在兄弟关系或者无关的同步任务,并由多个线程并行执行,以提高同步效率。当然,同时还可以进一步要求这些待执行的同步任务之间也不存在依赖关系,以免这些待执行的同步任务在执行时出现逻辑错误。
370,将不存在依赖关系的同步任务分配给不同的线程并行执行。
具体而言,两个同步任务之间不存在依赖关系可以指两个同步任务为下列关系:
1)兄弟关系:例如,第一同步任务操作的目录项为Dir\d,第二同步任务操作的目录为Dir\c,或者第一同步任务操作的目录项为Dir\d,第二同步任务操作的目录项为Dir\c.txt;
2)两者无关:例如,第一同步任务的目录项为Dir1\d,第二同步任务的目录项为Dir2\d。
在这种情况下,第一同步任务可以分配给第一线程执行,第二同步任务可以分配给第二线程执行。
应理解,第一同步任务和第二同步任务可以均为同步队列中待执行的同步任务,或者,第一同步任务为同步队列中正在执行的同步任务,而第二同步任务为同步队列中待执行的同步任务。
380,将存在依赖关系的同步任务分配给同一线程,并按照依赖关系顺序执行。
具体而言,两个同步任务之间存在依赖关系可以指两个同步任务下列关系:
1)相等关系,例如,第一同步任务的目录项为Dir\d,第二同步任务的目录也为Dir\d;
2)父子关系,例如,第一同步任务的目录项为Dir\d,第二同步任务的目录项为Dir\d\c,或者,第一同步任务的目录项为Dir\d,第二同步任务的目录项为Dir\d\c.txt;
3)子父关系,例如,第一同步任务的目录项为Dir\d,第二同步任务的目录项为Dir。
在这种情况下,如果第一同步任务和第二同步任务均为待执行的同步任务,则可以先执行第一同步任务再执行第二同步任务,或者先执行第二同步任务,再执行第一同步任务,如果第一同步任务为正在执行的同步任务,而第二同步任务为待执行的同步任务,则第二同步任务需要在第一同步任务完成之后再执行。
图4是根据本发明的一个实施例的同步队列与线程的关系示意图。
假设用户B在客户端B将网盘目录Dir1重命名为Dir2,将文件C复制到网盘目录Dir2,将文件D复制到网盘目录Dir3,并且在用户A登录客户端B之前,上述变化操作已经同步到服务器。假设用户A登录客户端A后进行了将文件A和文件B复制到Dir1的操作。此时,客户端A获知服务器上的变化操作包括:1)重命名网盘目录Dir1为Dir2;2)将文件C复制到网盘目录Dir2;3)将文件D复制到网盘目录Dir3,而客户端A上的变化操作为:1)将文件A复制到网盘目录Dir1;2)将文件B复制到网盘目录Dir1。
客户端首先将上述五个变化操作转换为五个同步任务,放置在同步队列中,如图5所示。同步任务1对应于将文件A复制到网盘目录Dir1的操作;同步任务2对应将文件B复制到网盘目录Dir1的操作;同步任务3对应于重命名网盘目录Dir1为Dir2的操作;同步任务4对应于将文件C下载到网盘目录Dir2的操作;同步任务5对应于将文件D下载到网盘目录Dir3的操作。
上述五个同步任务在同步队列中的先后顺序可以按照执行的时间顺序,本发明的实施例对此不作限定,例如,也可以按照执行的逻辑顺序等等,甚至可以随机设置。然而,如果将同步任务在同步队列中按一定顺序排列有助于在根据依赖关系给同步任务分配线程时提高查找效率。
例如,假设当前正由线程1执行同步任务1,客户端确定同步任务2与同步任务1为兄弟关系,即两者不存在依赖关系,因此,可以由线程2并行执行同步任务2,而同步任务1和2均与同步任务3为子父关系,因此,同步任务3和4可以在线程1和线程2分别执行完同步任务1和同步任务2之后再分配给线程1或线程2执行。由于同步任务5与同步任务1无关,因此,同步任务5可以分配给线程3与同步任务1并行执行。进一步,假设同步任务1和2完成之后,同步任务3可以分配给线程1执行,由于同步任务4与同步任务3为父子关系,因此,同步任务4可以在同步任务3完成之后再分配给线程1执行。
由此可见,对于同步队列中每一个正在执行的同步任务,都可以从同步队列查找与该同步任务没有依赖关系的至少一个待执行同步任务,并且为这些同步任务分配不同的线程并行执行。而对于与正在执行的同步任务有依赖关系的同步任务,则分配给相同的线程排队执行。
下面结合图5和图6,以设置有群组的网盘系统为例对本发明的实施例进行详细说明。在网盘系统中,可以为共享网盘资源的多个用户设置群组,对特定群组拥有访问权限的用户可以对该群组的网盘目录拥有相应的访问权限。
图5是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。图5的方法是图1的方法的例子。
在本实施例中,假设群组1的网盘下已存在目录Dir1和目录Dir2,目录Dir2下有子目录和文件,用户A对群组1拥有访问的权限,即可以对群组1的目录以及该目录下的文件进行读、写、删除、重命名等操作。在本实施例中,以同一用户A对不同的网盘目录进行操作为例进行说明。在这种情况下,多个任务可以由多个线程并行执行。
510,用户A通过终端设备的资源管理器对网盘下的不同目录进行操作。
例如,用户A在路径为群组1\Dir1的目录下复制1个PPT(Power Point)文件以及5个报表(Excel)文件。用户A接着将路径为群组1\Dir2的目录重命名为群组1\Test。
520,客户端检测到用户A对网盘下的不同目录进行了操作。
例如,客户端会发现在本地客户端的群组1\Dir1的目录下进行了复制1个PPT文件和5个报表Excel文件的操作。客户端还会发现本地客户端上的目录Dir2被重命名为Test。
530,客户端将针对不同目录进行的操作转换成对应的同步任务。
例如,客户端将针对目录Dir1和Dir2进行的操作转换成对应的同步任务:将上述操作转换成6个上传文件到服务器的同步任务,并转换成1个上传目录重命名到服务器的同步任务,即一共产生了7个同步任务。
540,客户端将同步任务加入到同步队列。
例如,客户端可以将上述7个任务会全部加入到同步队列中等待执行。
550,客户端确定同步队列中的同步任务没有依赖关系。
例如,客户端分析7个任务之间并没有依赖关系,即不是父子关系、子父关系和相等关系,因此,7个同步任务可以并行执行。
560,客户端将多个同步任务分配给多个线程并行执行。
例如,客户端在通过上述分析确定这些同步任务没有依赖关系时,在执行这些同步任务时,可以启动多个线程(例如,默认为5个线程)获取同步队列中待同步的任务,并且并行执行这些同步任务。
图6是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。图6的方法是图1的方法的例子。
在本实例中,假设群组1的网盘下已存在目录Dir1,用户A和用户B均对群组1拥有访问的权限,即可以对群组1的目录以及该目录下的文件进行读、写、删除、重命名等操作。用户A通过终端设备PC1访问网盘,用户B通过终端设备PC2访问网盘。本实施例以用户B将目录Dir1重命为Dir2、用户A将多个文件复制到目录Dir1下为例进行说明。在这种情况下,多个任务需要由单个线程顺序执行。
610,用户A和用户B通过各自的客户端的资源管理器对网盘下的同一目录进行操作。
例如,用户B通过终端设备PC2上的资源管理器将路径为群组1\Dir1目录重命名为群组1\Dir2,用户A通过终端设备PC1将1个文件复制到群组1\Dir1目录下。
620,用户B的客户端将用户B对该目录进行的操作同步到服务器。
例如,用户B对该目录进行的重命名操作被同步到服务器,使得服务器中的目录Dir1被重命名为Dir2。
630,用户A的客户端检测到客户端上该目录的变化操作。
例如,终端设备PC1上的客户端发现用户A在终端设备PC1上将文件复制到了目录Dir1。
640,用户A的客户端检测到服务器上该目录的变化操作。
例如,终端设备PC1上的客户端发现服务器上的群组1的Dir1目录被重命名为Dir2。
650,用户A的客户端将服务器上该目录的变化操作和客户端上该目录的变化操作转换为对应的同步任务。
例如,同步队列中包括同步任务A和同步任务B。其中同步任务A为上传目录Dir1中复制的文件到服务器,同步任务B为下载重命名目录Dir1为Dir2到本地客户端,即在本地客户端将目录Dir1重命名为Dir2。
660,用户A的客户端将上述同步任务放入到同步队列中。
例如,用户A的客户端分别将两个同步任务加入到同步队列中等待执行。
670,用户A的客户端确定同步队列中的同步任务之间存在依赖关系。
例如,客户端分析上述A、B两个同步任务之间存在父子关系,即两个同步任务之间存在依赖关系。由于上述同步任务A和B存在父子关系,如果两个同步任务同时被不同线程执行则会导致其中一个任务失败,因此可以根据两个同步任务之间的目录关系进行排队。
680,用户A的客户端将上述同步任务分配给同一线程顺序执行。
客户端在执行这些同步任务时,可以启动单个线程依次获取并执行上述两个同步任务,即先执行同步任务A,待同步任务A执行完成后再执行同步任务B。
图7是根据本发明的实施例的终端设备700的结构示意图。终端设备700可以运行网盘系统的客户端。客户端包括:检测模块710、转换模块720、确定模块730和执行模块740。
检测模块710用于检测客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作。转换模块720用于将将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步。确定模块730用于确定多个同步任务之间的依赖关系。执行模块740用于将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
本发明实施例的终端设备通过将网盘系统的目录项的多个变化操作转换为多个同步任务,并根据多个同步任务之间的依赖关系,将不存在依赖关系的同步任务分配给不同的线程并行执行,能够在网盘系统的同步过程中实现多线程,从而能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
可选地,作为另一实施例,执行模块740进一步用于将多个同步任务中存在依赖关系的同步任务分配给同一线程,并按照依赖关系顺序执行。
可选地,作为另一实施例,检测模块710还用于将多个同步任务加入到客户端生成的同步队列中,其中确定模块730在同步队列中顺序查找与第一同步任务没有依赖关系的第二同步任务,执行模块将第一同步任务分配给第一线程执行,并且将第二同步任务分配给第二线程执行。执行模块740可以将多个同步任务中与第一同步任务存在依赖关系的第三同步任务分配给同一线程,并按照第一同步任务和第三同步任务的依赖关系的顺序执行所述第一同步任务和所述第三同步任务,或者,按照第一同步任务和第三同步任务在同步队列的顺序执行第一同步任务和第三同步任务。
根据本发明的实施例,第一同步任务为正在执行的同步任务,第二同步任务为待执行的同步任务。
根据本发明的实施例,转换模块720将客户端的网盘目录项的变化操作转换为上传任务,并将服务器的网盘目录项的变化操作转换为下载任务,其中上传任务用于将客户端的网盘目录项的变化操作上传到服务器,下载任务用于将服务器的网盘目录项的变化操作下载到客户端。
根据本发明的实施例,依赖关系指同步任务对应的目录项之间的相等关系、父子关系或子父关系。
图8是根据本发明的另一实施例的网盘系统800的结构示意图。图8的网盘系统是图7的网盘系统的例子。
网盘系统包括终端设备810和服务器820。终端设备810可以包括本地监控装置811、服务器探测装置812、同步调度装置813。图7的检测模块710和转换模块720可以由本地监控装置811和服务器探测装置812来实现。图7的确定模块730和执行模块740可以由同步调度装置813来实现。
本地监控装置811执行的功能包括:负责监控本地客户端的网盘目录项的变化操作(或变化内容),将其转化为上传任务,并写入同步调度装置813的同步队列中。上述变化操作可以包括:新建文件、新建目录、修改文件、重命名文件、重命名目录、删除文件和删除目录等。
服务器探测装置812执行的功能包括:1)负责对比本地客户端的网盘目录项的变化操作与服务器的网盘目录项的变化操作,发现服务器的网盘目录项的变化操作(或变化内容),将其转化为下载任务,并写入同步调度装置1013的同步队列中。上述变化操作包括:新建文件、新建目录、修改文件、重命名文件、重命名目录、删除文件和删除目录等。
同步调度装置813执行的功能包括:1)负责维护同步队列,接收本地监控装置和服务器探测装置产生的同步任务;2)将同步队列中的待同步任务取出并执行同步操作;3)分析同步任务之间的依赖关系,允许多线程同时执行的任务采用多个线程同时执行,不允许多线程同时执行的任务采用排队机制,按照顺序执行;4)同步任务的执行是将本地客户端的目录项的变化上传到服务器,或将服务器的目录项的变化操作下载到本地客户端。
服务器820包括:变化探测装置821和文件服务装置822。变化探测装置821执行的功能包括:辅助服务器探测装置探测服务器的目录项的变化操作。文件服务装置822执行的功能包括:1)负责处理客户端的上传请求,并将客户端上传的内容写入服务器端;2)负责客户端的数据下载请求,并将客户端需要下载的内容返给客户端。
本发明实施例的网盘系统,通过将网盘系统的目录项的多个变化操作转换为多个同步任务,并根据多个同步任务之间的依赖关系,将不存在依赖关系的同步任务分配给不同的线程并行执行,能够在网盘系统的同步过程中实现多线程,从而能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种网盘系统的同步方法,其特征在于,包括:
检测所述网盘系统的客户端的网盘目录项和/或所述网盘系统的服务器的网盘目录项的多个变化操作;
将所述多个变化操作转换为多个同步任务,所述多个同步任务用于实现所述客户端的网盘目录项与所述服务器的网盘目录项之间的同步;
确定所述多个同步任务之间的依赖关系;
将所述多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
2.根据权利要求1所述的同步方法,其特征在于,还包括:
将所述多个同步任务中存在依赖关系的同步任务分配给同一线程,并按照顺序执行。
3.根据权利要求2所述的同步方法,其特征在于,还包括:
将所述多个同步任务加入到所述客户端生成的同步队列中,
其中所述确定所述多个同步任务之间的依赖关系,包括:
在所述同步队列中顺序查找与第一同步任务没有依赖关系的第二同步任务,
其中所述将所述多个同步任务中不存在依赖关系同步任务分配给不同的线程并行执行,包括:
将所述第一同步任务分配给第一线程执行,并且将所述第二同步任务分配给第二线程执行,
其中所述将所述多个同步任务中存在依赖关系的同步任务分配给同一线程,并按照顺序执行,包括:
将所述多个同步任务中与所述第一同步任务存在依赖关系的第三同步任务分配给同一线程,并按照所述第一同步任务和所述第三同步任务的依赖关系的顺序执行所述第一同步任务和所述第三同步任务,或者,按照所述第一同步任务和所述第三同步任务在所述同步队列的顺序执行所述第一同步任务和所述第三同步任务。
4.根据权利要求3所述的同步方法,其特征在于,所述第一同步任务为正在执行的同步任务,所述第二同步任务为待执行的同步任务。
5.根据权利要求1至4中的任一项所述的同步方法,其特征在于,所述将所述多个变化操作转换为多个同步任务,包括:
将所述客户端的网盘目录项的变化操作转换为上传任务,其中所述上传任务用于将所述客户端的网盘目录项的变化操作上传到所述服务器;
将所述服务器的网盘目录项的变化操作转换为下载任务,其中所述下载任务用于将所述服务器的网盘目录项的变化操作下载到所述客户端。
6.根据权利要求1至4中的任一项所述的同步方法,其特征在于,所述多个变化操作包括:新建文件、新建目录,修改文件,重命名文件、重命名目录,删除文件、删除目录和修改权限中的至少一种操作。
7.根据权利要求1至4中的任一项所述的同步方法,其特征在于,所述依赖关系指同步任务对应的目录项之间的相等关系、父子关系或子父关系。
8.一种终端设备,其特征在于,所述终端设备运行网盘系统的客户端,所述客户端包括:
检测模块,用于检测所述客户端的网盘目录项和/或所述网盘系统的服务器的网盘目录项的多个变化操作;
转换模块,用于将将所述多个变化操作转换为多个同步任务,所述多个同步任务用于实现所述客户端的网盘目录项与所述服务器的网盘目录项之间的同步;
确定模块,用于确定所述多个同步任务之间的依赖关系;
执行模块,用于将所述多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
9.根据权利要求8所述的终端设备,其特征在于,所述执行模块进一步用于将所述多个同步任务中存在依赖关系的同步任务分配给同一线程,并按照所述依赖关系顺序执行。
10.根据权利要求9所述的终端设备,其特征在于,所述检测模块还用于将所述多个同步任务加入到所述客户端生成的同步队列中,其中所述确定模块在所述同步队列中顺序查找与第一同步任务没有依赖关系的第二同步任务,所述执行模块将所述第一同步任务分配给第一线程执行,并且将所述第二同步任务分配给第二线程执行,所述执行模块将所述多个同步任务中与所述第一同步任务存在依赖关系的第三同步任务分配给同一线程,并按照所述第一同步任务和所述第三同步任务的依赖关系的顺序执行所述第一同步任务和所述第三同步任务,或者,按照所述第一同步任务和所述第三同步任务在所述同步队列的顺序执行所述第一同步任务和所述第三同步任务。
11.根据权利要求10所述的终端设备,其特征在于,所述第一同步任务为正在执行的同步任务,所述第二同步任务为待执行的同步任务。
12.根据权利要求8至11中的任一项所述的终端设备,其特征在于,所述转换模块将所述客户端的网盘目录项的变化操作转换为上传任务,并将所述服务器的网盘目录项的变化操作转换为下载任务,其中所述上传任务用于将所述客户端的网盘目录项的变化操作上传到所述服务器,所述下载任务用于将所述服务器的网盘目录项的变化操作下载到所述客户端。
13.根据权利要求8至11中的任一项所述的终端设备,其特征在于,所述多个变化操作包括:新建文件、新建目录,修改文件,重命名文件、重命名目录,删除文件、删除目录和修改权限中的至少一种操作。
14.根据权利要求8至11中的任一项所述的终端设备,其特征在于,所述依赖关系指同步任务对应的目录项之间的相等关系、父子关系或子父关系。
15.一种网盘系统,其特征在于,包括:
至少一个如权利要求8至14中的任一项所述的终端设备;和
服务器,通过网络与所述终端设备连接,用于根据所述终端设备上运行的客户端的请求执行所述客户端与所述服务器之间的同步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478373.4A CN104994177B (zh) | 2015-08-06 | 2015-08-06 | 网盘系统的同步方法、终端设备和网盘系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510478373.4A CN104994177B (zh) | 2015-08-06 | 2015-08-06 | 网盘系统的同步方法、终端设备和网盘系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104994177A true CN104994177A (zh) | 2015-10-21 |
CN104994177B CN104994177B (zh) | 2019-01-25 |
Family
ID=54305928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510478373.4A Expired - Fee Related CN104994177B (zh) | 2015-08-06 | 2015-08-06 | 网盘系统的同步方法、终端设备和网盘系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104994177B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740418A (zh) * | 2016-01-29 | 2016-07-06 | 杭州亿方云网络科技有限公司 | 一种基于文件监控和消息推送的实时同步系统 |
CN106021327A (zh) * | 2016-05-06 | 2016-10-12 | 南开大学 | 一种支持多用户同时读写的网盘系统构建方法 |
CN109067913A (zh) * | 2018-09-19 | 2018-12-21 | 量子云未来(北京)信息科技有限公司 | 一种维持数据同步的方法及装置 |
CN109299116A (zh) * | 2018-12-05 | 2019-02-01 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN109408571A (zh) * | 2018-09-28 | 2019-03-01 | 华为技术有限公司 | 对象列举方法、设备及计算机存储介质 |
CN109725913A (zh) * | 2017-10-27 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 数据更新的方法和装置 |
CN109783463A (zh) * | 2018-12-13 | 2019-05-21 | 杭州数梦工场科技有限公司 | 文件同步方法、装置及计算机可读存储介质 |
CN109951518A (zh) * | 2019-01-23 | 2019-06-28 | 北京仁科互动网络技术有限公司 | 一种离线数据同步方法及装置 |
CN112925587A (zh) * | 2021-03-11 | 2021-06-08 | 北京百度网讯科技有限公司 | 用于初始化应用的方法和装置 |
CN113485961A (zh) * | 2021-05-19 | 2021-10-08 | 江苏开放大学(江苏城市职业学院) | 数据管理系统 |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN116610634A (zh) * | 2023-07-19 | 2023-08-18 | 南京中孚信息技术有限公司 | 一种网盘终端的文件同步系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281543A (zh) * | 2008-05-13 | 2008-10-08 | 华为技术有限公司 | 文件同步方法及装置 |
CN101523358A (zh) * | 2005-05-09 | 2009-09-02 | 微软公司 | 文件系统目录的快速、可靠同步 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN104731956A (zh) * | 2015-04-02 | 2015-06-24 | 北京奇虎科技有限公司 | 同步数据的方法、系统及相关数据库 |
-
2015
- 2015-08-06 CN CN201510478373.4A patent/CN104994177B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523358A (zh) * | 2005-05-09 | 2009-09-02 | 微软公司 | 文件系统目录的快速、可靠同步 |
CN101281543A (zh) * | 2008-05-13 | 2008-10-08 | 华为技术有限公司 | 文件同步方法及装置 |
CN104133724A (zh) * | 2014-04-03 | 2014-11-05 | 腾讯科技(深圳)有限公司 | 并发任务调度方法及装置 |
CN104731956A (zh) * | 2015-04-02 | 2015-06-24 | 北京奇虎科技有限公司 | 同步数据的方法、系统及相关数据库 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740418A (zh) * | 2016-01-29 | 2016-07-06 | 杭州亿方云网络科技有限公司 | 一种基于文件监控和消息推送的实时同步系统 |
CN106021327B (zh) * | 2016-05-06 | 2019-10-01 | 南开大学 | 一种支持多用户同时读写的网盘系统及其读文件方法、写文件方法 |
CN106021327A (zh) * | 2016-05-06 | 2016-10-12 | 南开大学 | 一种支持多用户同时读写的网盘系统构建方法 |
CN109725913A (zh) * | 2017-10-27 | 2019-05-07 | 北京京东尚科信息技术有限公司 | 数据更新的方法和装置 |
CN109067913A (zh) * | 2018-09-19 | 2018-12-21 | 量子云未来(北京)信息科技有限公司 | 一种维持数据同步的方法及装置 |
CN109408571A (zh) * | 2018-09-28 | 2019-03-01 | 华为技术有限公司 | 对象列举方法、设备及计算机存储介质 |
CN109299116A (zh) * | 2018-12-05 | 2019-02-01 | 浪潮电子信息产业股份有限公司 | 一种数据同步方法、装置、设备及可读存储介质 |
CN109783463A (zh) * | 2018-12-13 | 2019-05-21 | 杭州数梦工场科技有限公司 | 文件同步方法、装置及计算机可读存储介质 |
CN109951518A (zh) * | 2019-01-23 | 2019-06-28 | 北京仁科互动网络技术有限公司 | 一种离线数据同步方法及装置 |
CN112925587A (zh) * | 2021-03-11 | 2021-06-08 | 北京百度网讯科技有限公司 | 用于初始化应用的方法和装置 |
CN113485961A (zh) * | 2021-05-19 | 2021-10-08 | 江苏开放大学(江苏城市职业学院) | 数据管理系统 |
CN114374706A (zh) * | 2022-01-11 | 2022-04-19 | 北京易智时代数字科技有限公司 | 一种基于分布式架构的内容安全管理方法 |
CN116610634A (zh) * | 2023-07-19 | 2023-08-18 | 南京中孚信息技术有限公司 | 一种网盘终端的文件同步系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104994177B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104994177A (zh) | 网盘系统的同步方法、终端设备和网盘系统 | |
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
US5805897A (en) | System and method for remote software configuration and distribution | |
EP3418921B1 (en) | Dynamic migration script management | |
CN111614733B (zh) | 一种分布式多分片集群的部署方法、装置及存储介质 | |
CN103248711A (zh) | 一种文件上传的方法和服务器 | |
US11435998B2 (en) | Management system and methodology for disturbance monitoring equipment known as USI m9kadmin | |
CN110019138B (zh) | 一种基于Zabbix的传输表空间自动迁移方法和系统 | |
CN113312153B (zh) | 一种集群部署方法、装置、电子设备及存储介质 | |
CN105721582A (zh) | 多节点文件备份系统 | |
CN112612939A (zh) | 一种爬虫部署方法、系统、装置、设备及存储介质 | |
CN103744748A (zh) | 一种简单、快速、自动备份ftp服务器的方法 | |
CN110795105A (zh) | 一种配电自动化主站系统自动编译部署方法与系统 | |
CN114217871A (zh) | 多计算机集群并行仿真方法及多计算机集群系统 | |
e Silva et al. | Application execution management on the InteGrade opportunistic grid middleware | |
CN110389856B (zh) | 用于迁移数据的方法、设备和计算机可读介质 | |
US8015270B2 (en) | Redundant appliance configuration repository in standard hierarchical format | |
CN114443294B (zh) | 大数据服务组件部署方法、系统、终端及存储介质 | |
CN115563073A (zh) | 分布式元数据的数据处理的方法、装置及电子设备 | |
CN111431951B (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
US11068352B2 (en) | Automatic disaster recovery mechanism for file-based version control system using lightweight backups | |
CN111935249A (zh) | 同步校验方法及装置、计算机存储介质和电子设备 | |
CN110543385A (zh) | 一种虚拟化备份方法和虚拟化备份还原方法 | |
CN110837394A (zh) | 一种高可用配置版本仓库配置方法、终端及可读介质 | |
RU2591020C1 (ru) | Способ контроля хода выполнения программы пользователя, исполняющейся на вычислительных узлах вычислительной системы |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant after: SHANGHAI EISOO INFORMATION TECHNOLOGY CO., LTD. Address before: 201112 Shanghai, Minhang District, United Airlines route 1188, building second layer A-1 unit 8 Applicant before: Shanghai Eisoo Software Co.,Ltd. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190125 Termination date: 20190806 |