CN111953687B - 文件同步的验证方法、装置、计算机设备和存储介质 - Google Patents

文件同步的验证方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111953687B
CN111953687B CN202010806907.2A CN202010806907A CN111953687B CN 111953687 B CN111953687 B CN 111953687B CN 202010806907 A CN202010806907 A CN 202010806907A CN 111953687 B CN111953687 B CN 111953687B
Authority
CN
China
Prior art keywords
file
synchronization
synchronous
state bit
client
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.)
Active
Application number
CN202010806907.2A
Other languages
English (en)
Other versions
CN111953687A (zh
Inventor
谭红艳
黄晓琳
潘燕宜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010806907.2A priority Critical patent/CN111953687B/zh
Publication of CN111953687A publication Critical patent/CN111953687A/zh
Application granted granted Critical
Publication of CN111953687B publication Critical patent/CN111953687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种文件同步的验证方法、装置、计算机设备和存储介质。所述方法包括:在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;根据所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息,验证所述文件的同步状态。采用本方法能够准确验证文件同步后文件的完整性和一致性。

Description

文件同步的验证方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种文件同步的验证方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,终端的功能越来越多样化。例如,数据同步功能。通过数据同步功能,用户在进行文件的新建、复制、粘贴、修改、删除等操作时,终端系统会将变更客户端中的相应文件自动同步更新,并同步至云端,使得本地同步盘中的文件与云端文件始终保持一致。
然而,目前的文件同步方式,在执行文件同步操作后,未检测同步操作后的文件是否出错,导致文件同步更新不够准确。
发明内容
基于此,有必要针对上述技术问题,提供一种能够准确验证文件同步状态的文件同步的验证方法、装置、计算机设备和存储介质。
一种文件同步的验证方法,所述方法包括:
在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
根据所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息,验证所述文件的同步状态。
一种文件同步的验证装置,所述装置包括:
第一转换模块,用于在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
第二转换模块,用于当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取模块,用于获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
验证模块,用于根据所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息,验证所述文件的同步状态。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
根据所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息,验证所述文件的同步状态。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
根据所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息,验证所述文件的同步状态。
上述文件同步的验证方法、装置、计算机设备和存储介质,在发生同步客户端和同步文件容器间的同步事件时,获取文件未同步的初始状态位和文件同步过程中的中间状态位,以及文件同步完成后的目标状态位,以将状态位在文件同步过程的转换作为验证文件同步是否成功的判断条件之一。在同步事件完成后,获取同步文件容器和同步客户端中各文件的文件属性信息,以将各文件的文件属性信息对比的结果,作为文件完整性的判断条件。通过状态位变换的一致性和文件的完整性验证文件同步是否成功,能够准确验证文件同步后文件的完整性和一致性,从而提高文件同步的准确性。
附图说明
图1为一个实施例中文件同步的验证方法的应用环境图;
图2为一个实施例中文件同步的验证方法的流程示意图;
图3为一个实施例中将本地同步盘中的文件上传至同步客户端以及同步服务器的时序图;
图4为另一个实施例中将同步客户端中的文件下载至本地同步盘以及同步服务器的时序图;
图5为一个实施例中创建测试文件集的步骤的流程图;
图6为一个实施例中按配置文件属性向对应的文件夹填充待测试的文件的流程图;
图7为一个实施例中验证文件的同步状态的流程图;
图8为一个实施例中文件同步的测试过程的原理图;
图9为一个实施例中文件同步的验证方法的流程示意图;
图10为一个实施例中自动生成测试文件集的流程示意图;
图11为一个实施例中文件同步的验证装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的文件同步的验证方法,可以应用于如图1所示的应用环境中。同步客户端运行于终端110上,在发生同步客户端和同步文件容器120间的同步事件时,终端110将文件未同步时的初始状态位转换为文件同步过程中的中间状态位。当同步事件完成后,终端110将文件同步过程中的中间状态位转换为目标状态位。接着,终端110获取同步文件容器120中各文件的文件属性信息和同步客户端中各文件的文件属性信息。终端110根据同步事件分别在同步客户端和在同步文件容器120中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器120的文件属性信息,验证文件的同步状态。其中,同步客户端可以为云应用客户端,同步文件容器120可以为同步服务器或者本地同步盘。该同步服务器可以为云服务器,云服务器是提供云计算服务的服务器,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110以及同步文件容器120可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在一个实施例中,如图2所示,提供了一种文件同步的验证方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位。
其中,同步客户端是基于网络进行数据同步的应用,该同步客户端可以是具备数据同步功能的任意应用。例如,该同步客户端可以包括即时通信应用客户端、SNS(SocialNetwork Sites,社交网站)应用客户端、短视频分享应用客户端、长视频分享应用客户端、通话应用客户端、游戏应用客户端、音乐分享应用客户端、UGC(User Generated Content,用户生成内容)应用客户端,但不限于此。同步文件容器是指与同步客户端基于网络进行数据同步的用于存储数据的容器,例如本地同步盘和云服务器等。
初始状态位是指文件未同步时的状态位,中间状态位是指文件同步过程中的状态位。该状态位可通过状态值表征,例如初始状态位可通过[2,3,9]表征,中间状态位可通过[2,3,10]表征。
同步事件包括但不限于文件上传事件、文件修改事件、文件删除事件、文件下载事件等。不同的同步事件可分别对应三个状态位、即初始状态位、中间状态位和目标状态位,但不同的同步事件可通过不同的状态值表征不同的状态位。
具体地,用户连接同步客户端和同步文件容器,可选择性开启同步客户端数据同步功能,或者自动开启该数据同步功能。开启该同步客户端的数据同步功能后,同步客户端可实时或定时监测与同步文件容器间的文件。在发生同步客户端和同步文件容器间的同步事件时,终端可获取文件未同步时的初始状态位,并在文件同步的过程中将该初始状态位转换为中间状态位。
进一步地,在发生同步客户端和同步文件容器间的同步事件时,终端可获取文件未同步时的初始状态值。在文件同步的过程中,将该初始状态值转换为中间状态值。用于同步的文件包括但不限于单个文件、多个文件、多个文件所构成的文件夹、以及多个文件所构成的文件压缩包、多个文件夹和多个文件压缩包。
步骤204,当同步事件完成后,将文件同步过程中的中间状态位转换为目标状态位。
具体地,当同步事件完成后,终端将该文件同步过程中的中间状态位转换为目标状态位。进一步地,当同步事件完成后,终端将表征中间状态位的中间状态值转换为表征目标状态位的目标状态值。
步骤206,获取同步文件容器中各文件的文件属性信息和同步客户端中各文件的文件属性信息。
其中,文件属性信息包括文件名称、文件类型、文件大小、文件目录等。
具体地,终端可获取同步文件容器中各文件的文件名称、文件类型、文件大小、文件目录等文件属性信息。终端获取同步客户端中各个文件的文件名称、文件类型、文件大小、文件目录等文件属性信息。
步骤208,根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态。
其中,文件的同步状态包括文件同步成功和文件同步失败。
具体地,终端可获取该同步事件在同步客户端中对应的初始状态位、中间状态位和目标状态位。终端获取该同步事件在同步文件容器中的初始状态位、中间状态位和目标状态位。将同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,将各文件分别在同步客户端和在同步文件容器的文件属性信息进行对比,根据状态位对比的结果和文件属性信息的对比结果验证文件的同步状态。
在本实施例里中,终端可获取同步客户端中各文件的初始状态位、中间状态位和目标状态位。终端获取同步文件容器中各文件的初始状态位、中间状态位和目标状态位。将相同文件分别在同步客户端和在同步文件容器中初始状态位进行对比、中间状态位进行对比和目标状态位进行对比,以确定各文件中相同文件的状态位是否一致。接着,终端可根据各文件的状态位变化和文件属性信息,验证文件的同步状态。
上述文件同步的验证方法中,在发生同步客户端和同步文件容器间的同步事件时,获取文件未同步的初始状态位和文件同步过程中的中间状态位,以及文件同步完成后的目标状态位,以将状态位在文件同步时的转换作为验证文件同步是否成功的判断条件之一。在同步事件完成后,获取同步文件容器和同步客户端中各文件的文件属性信息,以将各文件的文件属性信息对比的结果,作为文件完整性的判断条件。通过状态位变换的一致性和文件的完整性验证文件同步是否成功,能够验证文件同步后文件的完整性和一致性,从而提高文件同步的准确性,以及验证文件同步状态的准确性。
在一个实施例中,根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态,包括:
当同步事件在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位相同时,获取预期初始状态位、预期中间状态位和预期目标状态位;
当初始状态位、中间状态位、目标状态位分别与预期初始状态位、预期中间状态位、预期目标状态位相同,且各文件在同步客户端和在同步文件容器的文件属性信息相同时,判定文件同步成功。
其中,预期初始状态位、预期中间状态位、预期目标状态位为预先设置的同步事件在文件未同步前、同步过程中和同步完成后的预期状态位。该预期初始状态位、预期中间状态位、预期目标状态位可分别通过预期初始状态值、预期中间状态值、预期目标状态值表征。例如,文件上传事件的预期初始状态位、预期中间状态位和预期目标状态位分别通过[2,3,9]、[2,3,10]和[3,3,13]表征。文件下载事件的预期初始状态位、预期中间状态位和预期目标状态位分别通过[1,1,1]、[3,1,2]和[2,6,3]表征。
具体地,终端将同步事件在同步客户端的初始状态位和在同步文件容器的初始状态位进行对比。终端将同步事件在同步客户端的中间状态位和在同步文件容器的中间状态位进行对比。终端将同步事件在同步客户端的目标状态位和在同步文件容器的目标状态位进行对比。当三个状态位均相同时,终端可获取该同步事件的预期状态位。该预期状态位包括预期初始状态位、预期中间状态位和预期目标状态位。
接着,终端可将初始状态位和预期初始状态位进行对比,中间状态位和预期中间状态位进行对比,目标状态位和预期目标状态位进行对比。接着,终端可将各文件中同一文件在同步客户端和在同步文件容器的文件属性信息进行比对。同一文件可以是同步客户端和同步文件容器中相同文件名称的文件。当三个状态位和预期状态位均相同,并且同步客户端和同步文件容器中相同文件名称的文件所对应的文件属性信息均相同时,判定文件同步成功。
本实施例中,当同步事件在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位相同时,表示在同步客户端和同步文件容器的同步事件的状态位变化是一致的。将初始状态位、中间状态位、目标状态位分别与预期初始状态位、预期中间状态位、预期目标状态位进行对比,以判断该同步事件的状态位变化和预期的状态位变化是否相同。当同步客户端和同步文件容器间的同步事件的状态位变化和预期的状态位变化相同,表示同步事件状态位变化与预期变化一致。各文件在同步客户端和在同步文件容器的文件属性信息相同时,表示同步的文件内容完整,则表明文件同步成功,从而通过状态位的变化的一致性和文件内容的完整性准确验证文件同步的状态。
在一个实施例中,该同步文件容器包括本地同步盘和同步服务器;
根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态,包括:
当同步事件分别在同步客户端和在同步服务器中的初始状态位、中间状态位和目标状态位相同,且各文件分别在同步客户端和在同步服务器的文件属性信息相同时,则
将各文件的属性信息和同步事件对应的初始状态位、中间状态位,以及目标状态位生成对比信息集;
将对比信息集和同步事件在本地同步盘中的初始状态位、中间状态位和目标状态位,以及本地同步盘中各文件的文件属性信息进行对比,根据对比的结果验证文件的同步状态。
具体地,该同步文件容器包括本地同步盘和同步服务器。终端将同步事件在同步客户端的初始状态位和在同步服务器的初始状态位进行对比。终端将同步事件在同步客户端的中间状态位和在同步服务器的中间状态位进行对比。终端将同步事件在同步客户端的目标状态位和在同步服务器的目标状态位进行对比。终端将同步客户端和同步服务器中同一文件的文件属性信息进行对比,直至将同步客户端和同步服务器中所有同一文件的文件属性信息进行对比。当同步事件在同步客户端的三个状态位和在同步服务器的三个状态位相同,并且同一文件的文件属性相同时,判定同步客户端和同步服务器之间的文件同步成功。接着,终端可将同步客户端和同步服务器的相同状态位和相同文件属性整合位对比信息集。该对比信息集中包括同步客户端和同步服务器的相同状态位、相同文件属性。
接着,终端可获取同步事件在本地同步盘中的初始状态位、中间状态位和目标状态位。将本地同步盘的三个状态位和对比信息集中的三个状态位进行比较,以确定该同步事件在本地同步盘的状态位变化和同步客户端、以及同步服务器的状态位变化是否相同。当本地同步盘的状态位变化和对比信息集中的状态位变化不相同时,判定文件在本地同步盘和同步客户端之间同步失败。
在该同步事件完成后,终端获取本地同步盘中的各文件的文件属性信息,将该对比信息集中的各文件的文件属性和本地同步盘的文件属性信息进行对比。进一步地,将相同文件名称的文件在本地同步盘和对比信息集中的文件属性信息进行对比。
当本地同步盘的三个状态位和对比信息集中的三个状态位相同,且文件属性信息相同时,表示该同步事件在本地同步盘的状态位变化和同步客户端、以及同步服务器的状态位变化均一致,且所同步的文件完整,表示本地同步盘、同步客户端和同步服务器三者间的文件同步成功。
在本实施例中,先确定同步事件在同步客户端和在同步服务器的状态位变化是否相同,文件属性信息是否相同,从而确定同步客户端和同步服务器之间的文件同步是否成功。在同步客户端和同步服务器之间的文件同步成功时,生成同步客户端和同步服务器之间的对比信息集,并通过对比信息集和本地同步盘的状态位、文件属性信息进行对比,以准确确定本地同步盘、同步客户端和同步服务器三者之间的文件同步是否成功。
在一个实施例中,该同步文件容器包括本地同步盘和同步服务器。当用户开启同步客户端的数据同步功能后,同步客户端可检测用户对本地同步盘的操作。当用户在本地同步盘增加、删减、修改文件时,同步客户端可将同步盘中增加、删减、修改后的文件同步到同步客户端。接着,同步客户端将同步的文件存储至该同步服务器。
当同步客户端检测到用户在该同步客户端上进行文件的增加、删减、修改文件时,将所增加、删减、修改后的文件同步到本地同步盘。同时,终端可将所同步的文件存储至该同步服务器。
当同步客户端检测到同步服务器上存在增加、删减、修改后的文件时,同步客户端可将该文件同步至本地同步盘。
如图3所示,为一个实施例中将本地同步盘中的文件上传至同步客户端以及同步服务器的时序图。
用户开启本地同步盘和同步客户端之间的数据同步功能,同步客户端实时监测用户在本地同步盘进行的文件操作。该文件操作包括增加本地同步盘的文件,包括删减、修改本地同步盘的文件,修改本地同步盘的文件包括修改文件的内容、名称、大小等。当用户对本地同步盘进行文件操作后,本地同步盘触发将文件操作对应的文件上传至同步客户端的文件上传事件。
终端实时监测文件从本地同步盘上传至同步客户端的过程,并监测该过程中状态位的变化。即终端获取该文件上传事件的初始状态位,该初始状态位即为文件未开始上传时所保持的状态位。在文件从本地同步盘上传至同步客户端的过程中,初始状态位会转换为文件同步过程中的中间状态位。当文件上传完成时,中间状态位会转换为目标状态位。终端获取该文件上传事件对应于本地同步盘的初始状态位、中间状态位和目标状态位。
同时,在文件从本地同步盘上传至同步客户端的过程中,终端检测同步客户端的状态位变化,同样获取该文件上传事件对应于同步客户端的初始状态位、中间状态位和目标状态位。
并且,在文件上传至同步客户端后,终端可获取本地同步盘中的各文件的文件属性信息,并获取同步客户端中的各文件的文件属性信息。
接着,终端将该文件上传事件对应于本地同步盘和客户端的初始状态位进行对比,对应于本地同步盘和同步客户端的中间状态位进行对比,对应于本地同步盘和同步客户端的目标状态位进行对比。将各文件中相同名称的文件分别在本地同步盘和在同步客户端中的文件属性信息进行对比。当相同状态位的对比结果一致,且相同文件分别在本地同步盘和在同步客户端中的文件属性信息的一致时,判定文件上传成功,即文件成功从本地同步盘同步至同步客户端。
接着,同步客户端接收本地同步盘上传的文件后,触发将文件上传至同步服务器的文件上传事件。类似地,终端获取该文件上传事件对应于同步客户端的初始状态位、中间状态位和目标状态位。终端获取该文件上传事件对应于同步服务器的初始状态位、中间状态位和目标状态位。
在文件上传至同步服务器后,终端可获取同步客户端中的各文件的文件属性信息,并获取同步服务器中的各文件的文件属性信息。
接着,终端将该文件上传事件对应于同步客户端和同步服务器的初始状态位进行对比,对应于同步客户端和同步服务器的中间状态位进行对比,对应于同步客户端和同步服务器的目标状态位进行对比。将各文件中相同名称的文件分别在同步客户端和在同步服务器中的文件属性信息进行对比。当相同状态位的对比结果一致,且相同文件分别在同步客户端和在同步服务器中的文件属性信息的一致时,判定文件上传成功,即文件成功从同步客户端同步至同步服务器。
如图4所示,为一个实施例中将同步客户端中的文件下载至本地同步盘以及同步服务器的时序图。
用户开启本地同步盘和同步客户端之间的数据同步功能,同步客户端实时监测用户在本地同步盘进行的文件操作。当用户对同步客户端进行文件操作后,同步客户端触发将文件操作对应的文件下载至本地同步盘的文件下载事件,以及触发将文件存储至同步服务器的文件上传事件。
终端实时监测文件从同步客户端下载至本地同步盘的过程,并监测该过程中状态位的变化。即终端获取该文件下载事件的初始状态位,该初始状态位即为文件未开始下载时所保持的状态位。在文件从同步客户端下载至本地同步盘的过程中,初始状态位会转换为文件同步过程中的中间状态位。当文件下载完成时,中间状态位会转换为目标状态位。终端获取该文件下载事件对应于本地同步盘的初始状态位、中间状态位和目标状态位。
同时,在文件从同步客户端下载至本地同步盘的过程中,终端检测同步客户端的状态位变化,同样获取该文件下载事件对应于同步客户端的初始状态位、中间状态位和目标状态位。
并且,在文件下载至本地同步盘后,终端可获取本地同步盘中的各文件的文件属性信息,并获取同步客户端中的各文件的文件属性信息。
接着,终端将该文件下载事件对应于本地同步盘和客户端的初始状态位进行对比,对应于本地同步盘和同步客户端的中间状态位进行对比,对应于本地同步盘和同步客户端的目标状态位进行对比。将各文件中相同名称的文件分别在本地同步盘和在同步客户端中的文件属性信息进行对比。当相同状态位的对比结果一致,且相同文件分别在本地同步盘和在同步客户端中的文件属性信息的一致时,判定文件下载成功,即文件成功从同步客户端同步至本地同步盘。
同时,同步客户端触发将文件上传至同步服务器的文件上传事件。类似地,终端获取该文件上传事件对应于同步客户端的初始状态位、中间状态位和目标状态位。终端获取该文件上传事件对应于同步服务器的初始状态位、中间状态位和目标状态位。
在文件上传至同步服务器后,终端可获取同步客户端中的各文件的文件属性信息,并获取同步服务器中的各文件的文件属性信息。
接着,终端将该文件上传事件对应于同步客户端和同步服务器的初始状态位进行对比,对应于同步客户端和同步服务器的中间状态位进行对比,对应于同步客户端和同步服务器的目标状态位进行对比。将各文件中相同名称的文件分别在同步客户端和在同步服务器中的文件属性信息进行对比。当相同状态位的对比结果一致,且相同文件分别在同步客户端和在同步服务器中的文件属性信息的一致时,判定文件上传成功,即文件成功从同步客户端同步至同步服务器。
在一个实施例中,如图5所示,该方法还包括:
步骤502,读取预配置的配置文件,该配置文件包括配置目录结构以及配置目录结构中配置的文件夹对应的配置文件属性。
具体地,为了验证同步客户端和同步文件容器之间的数据同步功能,终端可通过预先配置的配置文件创建测试文件集。通过测试文件集测试同步客户端和同步文件容器之间的数据同步功能。终端可读取预配置的配置文件,该配置文件中包括配置目录结构。配置目录结构中配置了对应的文件夹,每个文件夹配置对应的配置文件属性。文件夹对应的配置文件属性包括该文件夹中待填充的文件的文件类型、文件大小、文件数量、文件上传状态标记等属性。该文件上传状态标记用于表示文件是否已上传同步服务器。
步骤504,根据配置目录结构,自动创建测试文件集。
具体地,终端运行该配置文件,根据该配置文件中的配置目录结构,自动创建测试文件集,以及该创建该测试文件集中的各文件夹。
步骤506,在测试文件集中,按配置文件属性向对应的文件夹填充待测试的文件。
具体地,终端可根据该测试文件集中每个文件夹所对应的配置文件属性获取对应的文件,并将获取的文件填充至配置文件属性对应的文件夹中。
例如,测试集中的一个文件夹对应的配置文件属性为:文件大小为5m(全称MByte,兆)、文件类型为.doc,文件数量为3个,文件上传状态标记为未上传。则终端可获取与该配置文件属性相同的文件,并将所获取的3个文件大小为5m、文件类型为.doc,且文件上传状态标记为未上传的文件填充到该文件夹中。
步骤508,触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件。
具体地,根据配置文件属性完成测试文件集中各文件夹的文件填充后,终端可触发同步客户端和同步文件容器之间的同步测试文件集中文件的同步事件。
在本实施例中,通过预配置的配置文件中的配置目录结构能够自动配置测试文件集,以及该测试文件集中的文件夹。按照配置文件属性向对应的文件夹填充文件,从而能够自动填充文件夹中所需的文件,以用于测试同步客户端和同步文件容器间的同步事件。通过测试能够验证同步客户端和同步文件容器间的文件同步事件的数据同步功能,提高文件同步的验证的准确性。
在一个实施例中,如图6所示,在测试文件集中,按配置文件属性向对应的文件夹填充待测试的文件,包括:
步骤602,按照配置文件属性,在文件样本库中匹配文件。
其中,文件样本库中包含各文件类型、各文件大小的文件样本,每个文件样本标记的文件上传状态标记。
具体地,终端可获取测试文件集中的各文件夹对应的配置文件属性,并在文件样本库中匹配与配置文件属性相同的文件。
步骤604,当在文件样本库中匹配到文件时,将匹配的文件添加到测试文件集中与配置文件属性对应的文件夹中。
具体地,当终端将在文件样本库中匹配到与配置文件属性相同的文件时,将所匹配到的文件添加至测试文件集中于该配置文件属性对应的文件夹中。
在本实施例中,当一个文件夹中需要配置至少两个文件时,该至少两个文件的文件内容可不相同。
步骤606,当在文件样本库中未匹配到文件时,自动生成与配置文件属性匹配的文件,将自动生成的文件添加到测试文件集中与配置文件属性对应的文件夹中,并将自动生成的文件更新到文件样本库中。
具体地,当终端在文件样本库中未匹配到与配置文件属性相同的文件时,终端可在文件样本库中自动生成与配置文件属性匹配的文件。接着,终端可将该自动生成的文件添加到测试文件集中与配置文件属性对应的文件夹中,并将自动生成的文件更新到该文件样本库中。
在本实施例中,将该自动生成的文件更新到该文件样本库中后,可设置该文件的文件上传状态标记。
本实施例中,按照配置文件属性在文件样本库中自动匹配文件,能够从样本库中直接获取满足条件的文件以快速填充测试文件集中的文件夹。当未在样本库中匹配到满足条件的文件时,可根据配置文件属性准确生成满足条件的文件,以快速填充测试文件集中的文件夹。
在一个实施例中,配置文件属性包括文件类型和文件大小;当在文件样本库中未匹配到文件时,自动生成与配置文件属性匹配的文件,包括:当在文件样本库中未匹配到文件时,在文件样本库选择与配置文件属性中的文件类型相同的文件样本;将文件样本的文件大小调整为配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与配置文件属性匹配的文件。
具体地,该配置文件属性包括文件类型和文件大小。当终端在文件样本库中未匹配到与配置文件属性的文件类型、文件大小相同的文件时,终端可从文件样本库中选择与该配置文件属性中的文件类型相同的文件样本。接着,终端可将文件样本的文件大小调整为该配置文件属性中的文件大小,得到调整文件大小后的文件。接着,终端将调整文件大小后得到的文件确定为与该配置文件属性匹配的文件,并将该文件更新至文件样本库。
在本实施例中,终端可通过修改文件样本的文件内容,使得文件样本的大小调整为配置文件中的文件大小。
在本实施例中,当在文件样本库中未直接匹配到文件时,在文件样本库选择与配置文件属性中的文件类型相同的文件样本,能够通过修改文件样本的文件大小以直接快速生成与配置文件属性匹配的文件。
在一个实施例中,当在文件样本库中未匹配到文件时,自动生成与配置文件属性匹配的文件,包括:当在文件样本库中未匹配到文件时,通过文件样本库中的文件生成工具随机生成与配置文件属性匹配的文件。
具体地,文件样本库中设置了文件生成工具,该文件生成工具可设置所需要生成文件的类型、大小、格式、数量等,根据设置生成文件。
当终端在文件样本库中未匹配到与配置文件属性相同的文件时,可通过文件样本库中的文件生成工具设置配置文件属性。通过文件生成工具生成于该配置文件属性相匹配的文件。
在本实施例中,配置文件属性可包括文件类型和文件大小,则终端可在文件生成工具中配置文件类型和文件大小,从而可得到文件生成工具生成的与该配置文件属性中的文件类型、文件大小相同的文件。接着,终端将该生成的文件添加至测试文件集中与该配置文件属性对应的文件夹中,并将自动生成的文件更新到该文件样本库中。
在本实施例中,在文件样本库中未匹配到文件,通过文件生成工具随机生成与配置文件属性匹配的文件,能够保证文件的随机性,扩充用于测试的文件,并保证所生成的文件与配置文件属性相同。
在一个实施例中,配置文件属性包括文件类型、文件大小和文件上传状态标记;当在文件样本库中未匹配到文件时,自动生成与配置文件属性匹配的文件,包括:
当在文件样本库中匹配到与配置文件属性中的文件类型和文件大小相同的文件样本时,获取文件样本的文件上传状态标记;当文件样本的文件上传状态标记与匹配文件属性中的文件上传状态标记不同时,对文件样本的内容进行修改,生成与配置文件属性中的文件类型、文件大小和文件上传状态标记相同的文件。
具体地,该配置文件属性包括文件类型、文件大小和文件上传状态标记。当终端在文件样本库中匹配到与配置文件属性的文件类型、文件大小相同的文件样本时,获取该文件样本的文件上传状态标记。将该文件样本的文件上传状态标记和配置文件属性中的文件上传状态标记进行对比,当文件样本的文件上传状态标记与匹配文件属性中的文件上传状态标记不同时,判定该文件样本和配置文件属性不匹配。接着,终端可对该文件样本的内容进行修改,生成新的文件,该新的文件的文件类型和文件大小与文件样本相同。
在本实施例中,终端对该文件样本的内容进行修改,生成新的文件后,将生成的文件更新到该文件样本库中。获取该生成的文件的散列值,例如该文件的MD5值和sha1值,并将该文件的MD5值和sha1值记录在属性表中。
在本实施例中,对于文件样本库中文件类型和文件大小相同,但文件上传状态标记不同的文件样本,通过对样本文件的文件内容的修改,能够保证文件类型、文件大小和配置文件属性中的文件类型、文件大小一致,并且修改后生成的文件的文件上传状态标记为未上传,从而能够快速生成满足条件的文件。
可以理解的是,对于文件的修改均会更新文件的MD5值和sha1值。
在一个实施例中,当同步事件为文件上传事件时,该方法还包括:将测试文件集中文件夹的文件上传至同步客户端或同步文件容器后,更改样本库中的文件的文件上传状态标记;检测测试文件集的其余文件夹中的文件,并修改其余文件夹中的文件的文件内容,以在其余文件夹中生成与配置文件属性中的文件类型、文件大小和文件上传状态标记相同的文件。
具体地,当终端将测试文件集中的至少一个文件夹,或者文件夹中的文件上传至同步客户端或者同步文件容器后,该文件的文件上传状态标记为已上传。当该文件在文件样本库中的文件上传状态标记为未上传时,终端将该文件在文件样本库中的文件上传状态标记修改为已上传。对于测试文件集中为进行同步的相同文件,当文件夹的配置文件属性中的文件上传状态标记修改为未上传时,该文件此时的文件上传状态标记已不满足配置文件属性中的文件上传状态标记。则终端可对该测试集中的其余文件夹中的该相同文件的文件内容进行修改,使得在其余文件夹中生成与该其余文件夹对应的配置文件属性中的文件类型、文件大小和文件上传状态标记均相同的文件。终端用修改文件内容后的文件替换原文件,以保证测试集中的文件夹中的文件与文件夹的配置文件属性保持一致,从而保证测试的文件的可靠性,以保证测试结果的准确性。
例如,测试文件集中存在文件夹1、2、3,文件夹1、2、3从文件样本库中获取文件填充。文件样本库中的样本具有文件上传状态标记,即已上传、未上传。当配置文件属性中显示文件夹1、3中需要填充的文件为未上传状态的文件,文件夹2需要填充已上传状态的文件。则终端将文件样本库中的标记状态为未上传的文件a填充到文件夹1和3中。当文件填充完后,终端可将文件夹1上传至同步客户端或者同步文件容器。文件夹1上传后,表示文件夹1中的文件a已上传同步客户端或者同步文件容器,则将文件样本库中的文件a的文件上传状态标记更改为已上传。而对于文件夹3中的文件a就是已上传的状态,此时文件夹3中的文件a的文件上传状态标记跟文件夹3的文件上传状态标记为未上传不相符,则终端可以对文件夹3中的文件a的文件内容进行修改,得到文件a1。终端利用文件a1替换文件a,并将文件a1也添加给文件样本库。同时,终端可获取文件a1的MD5值和sha1值并记录。
在本实施例中,将测试文件集中文件夹或文件进行同步后,更改样本库中的文件的文件上传状态标记,以保证文件的文件上传状态标记的正确性。通检测测试文件集的其余文件夹中的该文件,并修改该文件内容,使得该文件的文件上传状态标记与配置文件属性中的文件上传状态标记保持一致,从而保证测试的文件的可靠性,以保证测试结果的准确性。
在一个实施例中,如图7所示,在触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件之后,该方法还包括:
步骤702,获取文件在测试文件集中所处文件夹中的散列值。
其中,散列值是指将任意长度的文件作为输入,变换为固定长度的输出值。散列值常用于文件的一致性校验中,通过对文件进行哈希加密算法之后的结果可以来表示文件的唯一性,对文件操作后可以用散列值比较文件是否有进行修改。
具体地,终端在触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件之后,可获取文件在测试文件集中所处文件夹中的散列值。
根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态,包括:
步骤704,当同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息相同时,从文件属性信息中获取文件的散列值。
具体地,终端可获取该同步事件在同步客户端中对应的初始状态位、中间状态位和目标状态位。终端获取该同步事件在同步文件容器中的初始状态位、中间状态位和目标状态位。将同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,将各文件分别在同步客户端和在同步文件容器的文件属性信息进行对比。当三个状态位相同时,并且各文件分别在同步客户端和在同步文件容器的文件属性信息相同时,终端从文件属性信息中获取文件的散列值。
步骤706,将从文件属性信息中获取的文件的散列值和文件在测试文件集中所处文件夹中的散列值进行对比。
步骤708,根据散列值的对比结果验证文件的同步状态。
具体地,终端将从文件属性信息中获取的该文件的散列值和该文件在测试文件集中所处文件夹中的散列值进行对比。当该文件在测试文件集中所处文件夹中的散列值和该文件属性信息中的散列值相同时,判定文件同步成功。当该文件在测试文件集中所处文件夹中的散列值和该文件属性信息中的散列值相同时,判定文件同步失败。
在本实施例中,当同步事件分别在同步客户端和在同步文件容器中的状态位变化相同,且文件属性信息相同时,比较文件在测试文件集中所处文件夹中的散列值和该文件属性信息中的散列值,通过散列值的对比确定文件是否被修改,从而准确判断出文件的同步状态。
在一个实施例中,根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态,包括:
当同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位相同,且各文件在同步客户端和在同步文件容器的文件属性信息相同时,判定文件同步成功;
当同步事件分别在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同时,判定文件同步失败。
具体地,终端可获取该同步事件在同步客户端中对应的初始状态位、中间状态位和目标状态位。终端获取该同步事件在同步文件容器中的初始状态位、中间状态位和目标状态位。将同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,将各文件分别在同步客户端和在同步文件容器的文件属性信息进行对比。
当同步事件在同步客户端中的状态位变化和在同步文件容器状态位变化相同,即该同步事件在同步文件容器中的初始状态位相同、中间状态位相同和目标状态位相同,并且相同文件名称的文件的文件属性信息相同时,判定同步事件在同步客户端和同步文件容器之间的文件同步成功。
当同步事件分别在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同时,判定同步事件在同步客户端和同步文件容器之间的文件同步失败。
在本实施例中,当存在至少一个相同名称的文件在同步客户端和同步文件容器的文件属性信息不相同时,判定同步事件在同步客户端和同步文件容器之间的文件同步失败。
可以理解的是,状态位的对比和文件属性信息的对比顺序不限制,可先对比状态位或者先对比文件属性信息,或者同时进行状态位和文件属性信息的对比。当存在状态位不相同,或者文件属性信息不相同中的至少一种时,均判定文件同步失败。
本实施例中,通过同步事件的状态位变化是否相同和文件属性信息是否相同,以准确判断文件同步是否成功。当任何一个状态位不同时,判定文件同步失败,从而能够根据状态位的变化验证文件的同步状态。
如图8所示,为一个实施例中文件同步的测试过程的原理图。通过配置文件自动生成测试文件集,从文件样本库中选择文件以填充测试文件集中的各文件夹,以得到用于测试的文件。该配置文件包括配置目录结构以及配置目录结构中配置的文件夹对应的配置文件属性。填充完成后,可确定各个文件在测试文件集中的文件目录、文件类型、文件大小以及MD5值和sha1值。当触发在同步客户端、本地同步盘和同步服务器之间的同步测试文件集中文件的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位。当同步事件完成后,将文件同步过程中的中间状态位转换为目标状态位。并且,当同步事件完成后,获取同步客户端、本地同步盘和同步服务器中各文件的文件属性信息中各文件的文件属性信息。文件属性信息包括文件目录、文件名称、文件类型、文件大小,以及文件的散列值。散列值包括MD5值和sha1值。
测试文件集、同步客户端、本地同步盘和同步服务器中的同步信息如表一所示:
表一 测试文件集、同步客户端、本地同步盘和同步服务器的同步信息
Figure BDA0002629477280000201
Figure BDA0002629477280000211
通过同一文件从测试文件集中的文件夹上传至同步客户端、本地同步盘和同步服务器后,该同一文件分别在测试文件集中、在同步客户端、本地同步盘和同步服务器中的文件目录是否相同、文件类型是否相同、文件大小是否相同、以及散列值是否相同,以判断文件的完整性。如表二所示,为文件完整性和状态位变化一致性的判断条件:
表二 文件完整性和状态位变化一致性判断
Figure BDA0002629477280000212
Figure BDA0002629477280000221
传统的文件同步的验证方法,没有关注文件在同步过程中的状态位的变化,无法保证测试文件集、本地同步盘、同步客户端和同步服务器的文件的一致性和完整性。而本实施例中,终端通过监控文件上传时,在同步客户端、本地同步盘和同步服务器的状态位的变化是否一致,即通过文件上传事件分别在同步客户端、本地同步盘和同步服务器中的初始状态位是否相同,中间状态位是否相同,以及目标状态位是否相同来判断。当文件上传事件在同步客户端、本地同步盘和同步服务器状态位变化相同,该被上传的文件在测试文件集、同步客户端、本地同步盘和同步服务器中的文件属性信息相同时,判定文件上传成功。
如图9所示,为一个实施例中文件同步的验证方法的流程示意图。
终端通过配置文件自动生成测试文件集,为测试文件集中的各文件夹填充文件。接着,终端可确定测试文件集中各文件的文件属性信息,包括文件目录、文件类型、文件大小和文件的散列值。散列值包括md5值和sha1值,例如,可通过函数md5=hashlib.md5(),以及函数sha1=hashlib.sha1()确定文件的散列值。并通过文件属性表记录文件的目录结构,文件的md5和sha1,文件大小,文件类型、创建时间和修改时间等。
接着,终端基于测试文件集中的文件模拟用户的文件操作,该文件操作包括文件的增加、删除和修改等。例如模拟用户在同步客户端进行文件操作:同步客户端由electron框架实现,可采用selenium该ui自动化框架来达到模拟用户操作文件的目的。
启动同步客户端,通过selenium定位同步客户端元素以模拟用户的文件操作(例如文件上传)。
或者,模拟用户在本地同步盘进行的文件操作,可采用系统操作文件命令模拟执行用户操作本地同步盘目录下的文件。
通过模拟用户的文件操作,记录文件同步过程中文件操作所对应的状态位变化。每种文件操作都会展现对应的文件状态位,终端预先定义了文件操作对应的预期状态位,预期状态位包括文件未同步时的初始预期状态位、文件同步过程中的中间预期状态位,以及文件同步后的目标预期状态位。
终端监控文件同步时,本地同步盘和同步客户端的状态位变化,即对同步的文件进行状态位判断,未变化的文件状态位保持一致。文件状态位变化的判断条件如表三所示:
表三 文件状态位变化的判断条件
Figure BDA0002629477280000231
终端判断同步的文件的状态位是否符合预期,不满足预期则确定异常的文件。
接着,文件同步完成后,终端获取本地同步盘中的目录结构,即获取本地同步盘的文件层级数、文件数,以及各文件在本地同步盘中的文件属性信息。文件属性信息可包括本地同步盘中各文件的散列值、md5和sha1值,还可以包括文件大小、文件类型等。
接着,终端可获取同步服务端中的目录结构,以及各文件的文件属性信息。
接着,终端读取本地同步盘中的目录结构,以及各文件的文件属性信息。
接着,终端可比较同步客户端和同步服务器中相同文件的文件属性信息是否一致、同步客户端和同步服务器中的目录结构是否一致,文件属性信息和目录结构均一致,则生成对比信息集。接着,将对比信息集中的文件属性信息、目录结构和本地同步盘中的文件属性信息、目录结构进行对比,文件属性信息和目录结构均一致,则生成目标信息集。接着,可将目标信息集中的文件属性信息、目录结构和测试文件集中的文件属性信息、目录结构进行对比。若目标信息集中的文件属性信息、目录结构和测试文件集中的文件属性信息、目录结构一致,则可判定文件完整。文件完整性的判断条件如表四所示:
表四 文件完整性的判断条件
Figure BDA0002629477280000241
如图10所示,为一个实施例中自动生成测试文件集的流程示意图。
终端根据用户需求,定义配置文件信息,该配置文件信息定义了配置目录结构以及所述配置目录结构中配置的文件夹对应的配置文件属性。
终端生成配置文件中定义的配置目录结构,即文件夹共有多少层级,每个文件夹层级下有多少个子文件夹。
终端根据所述配置目录结构,自动创建测试文件集,以及测试文件集中的各文件夹。接着,终端在生成的文件夹中根据各文件夹的配置文件属性填充文件。进一步地,终端优先在文件样本库中匹配与配置文件属性相同的文件,当在所述文件样本库中匹配到文件时,将匹配的文件添加到所述测试文件集中与所述配置文件属性对应的文件夹中。当在所述文件样本库中未匹配到文件时,在所述文件样本库选择与所述配置文件属性中的文件类型相同的文件样本。终端将所述文件样本的文件大小调整为所述配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与所述配置文件属性匹配的文件,以满足配置文件的需求。并且将新生成的文件样本添加至文件样本库中,以扩充文件样本库。
并且,当在所述文件样本库中未匹配到文件时,终端还可以通过所述文件样本库中的文件生成工具随机生成与所述配置文件属性匹配的文件。
文件样本库中的信息如表五所示:
表五 文件样本库信息
Figure BDA0002629477280000251
该文件样本库的文件来源包括构造的新文件,以及对文件样本库中的历史文件进行修改后得到的更新的文件。该文件样本库中可支持的文件类型包括但不限于png、doc、excel、ppt、mov。该文件样本库中存储不同文件大小的文件,以满足不同需求。并且,该文件样本库中支持更新历史文件的md5值和sha1值,即每次修改历史文件,均会更新文件的md5值和sha1值。该文件样本库中支持调整文件的大小,并且能够通过文件样本库中的文件生成工具生成满足配置文件属性的文件,以满足测试文件集中的文件填充。
在一个实施例中,提供了一种文件同步的验证方法,包括:
终端读取预配置的配置文件,配置文件包括配置目录结构以及配置目录结构中配置的文件夹对应的配置文件属性。
接着,终端根据配置目录结构,自动创建测试文件集。
接着,终端按照配置文件属性,在文件样本库中匹配文件。
可选地,当在文件样本库中匹配到文件时,终端将匹配的文件添加到测试文件集中与配置文件属性对应的文件夹中。
可选地,当在文件样本库中未匹配到文件时,终端在文件样本库选择与配置文件属性中的文件类型相同的文件样本;将文件样本的文件大小调整为配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与配置文件属性匹配的文件。
可选地,当在文件样本库中未匹配到文件时,终端通过文件样本库中的文件生成工具随机生成与配置文件属性匹配的文件。
可选地,当在文件样本库中匹配到与配置文件属性中的文件类型和文件大小相同的文件样本时,终端获取文件样本的文件上传状态标记;当文件样本的文件上传状态标记与匹配文件属性中的文件上传状态标记不同时,终端对文件样本的内容进行修改,生成与配置文件属性中的文件类型、文件大小和文件上传状态标记相同的文件。
进一步地,终端将自动生成的文件添加到测试文件集中与配置文件属性对应的文件夹中,并将自动生成的文件更新到文件样本库中。
接着,终端触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件。
进一步地,在发生同步客户端和同步文件容器间的同步事件时,终端将文件未同步时的初始状态位转换为文件同步过程中的中间状态位。
当同步事件完成后,终端将文件同步过程中的中间状态位转换为目标状态位。
接着,终端获取同步文件容器中各文件的文件属性信息和同步客户端中各文件的文件属性信息。
进一步地,当同步事件在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位相同时,终端获取预期初始状态位、预期中间状态位和预期目标状态位。
接着,当初始状态位、中间状态位、目标状态位分别与预期初始状态位、预期中间状态位、预期目标状态位相同,且各文件在同步客户端和在同步文件容器的文件属性信息相同时,判定文件同步成功。
进一步地,当同步事件分别在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同,或者至少一个文件属性信息不同时,判定文件同步失败。
在本实施例中,通过配置文件自动构造测试样本集,并根据测试样本集中各文件夹对应的配置文件属性从文件样本库中匹配文件,能够大量构造不同的目录结构和不同文件大小的文件样本。在文件样本库中未匹配到文件时,可自动构造与文件夹的配置文件属性相同的文件以满足测试文件集中所需的文件,并且能够扩充文件样本库。
基于测试文件集自动模拟大量用户的文件操作,可满足大量样本的回归迭代测试和统计分析,同时可多机部署运行进行节省时间。并且,对文件同步过程进行监控,准确获得文件在同步过程中状态位的变化,以判断状态位的变化是否符合预期。同步完成后,获取同步文件容器和同步客户端中各文件的文件属性信息,以将各文件的文件属性信息对比的结果,作为文件完整性的判断条件。通过设计测试文件集、同步客户端、本地同步盘、同步服务器来进行完整检查的测试方案,保证了在每个环节文件的状态位变化的一致性和文件的完整性。通过状态位变换的一致性和文件的完整性验证文件同步是否成功,能够验证文件同步后文件的完整性和一致性,从而提高文件同步的准确性,以及验证文件同步状态的准确性。
应该理解的是,虽然图2-图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种文件同步的验证装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:第一转换模块1102、第二转换模块1104、获取模块1106和验证模块1108。其中,
第一转换模块1102,用于在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位。
第二转换模块1104,用于当同步事件完成后,将文件同步过程中的中间状态位转换为目标状态位。
获取模块1106,用于获取同步文件容器中各文件的文件属性信息和同步客户端中各文件的文件属性信息。
验证模块1108,用于根据同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息,验证文件的同步状态。
上述文件同步的验证装置,在发生同步客户端和同步文件容器间的同步事件时,获取文件未同步的初始状态位和文件同步过程中的中间状态位,以及文件同步完成后的目标状态位,以将状态位在文件同步过程的转换作为验证文件同步是否成功的判断条件之一。在同步事件完成后,获取同步文件容器和同步客户端中各文件的文件属性信息,以将各文件的文件属性信息对比的结果,作为文件完整性的判断条件。通过状态位变换的一致性和文件的完整性验证文件同步是否成功,能够验证文件同步后文件的完整性和一致性,从而提高文件同步的准确性,以及验证文件同步状态的准确性。
在一个实施例中,验证模块1108还用于当同步事件在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位相同时,获取预期初始状态位、预期中间状态位和预期目标状态位;当初始状态位、中间状态位、目标状态位分别与预期初始状态位、预期中间状态、预期目标状态位相同,且各文件在同步客户端和在同步文件容器的文件属性信息相同时,判定文件同步成功。
本实施例中,当同步事件在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位相同时,表示在同步客户端和同步文件容器的同步事件的状态位变化是一致的。将初始状态位、中间状态位、目标状态位分别与预期初始状态位、预期中间状态位、预期目标状态位进行对比,以判断该同步事件的状态位变化和预期的状态位变化是否相同。当同步客户端和同步文件容器间的同步事件的状态位变化和预期的状态位变化相同,表示同步事件状态位变化与预期变化一致。各文件在同步客户端和在同步文件容器的文件属性信息相同时,表示同步的文件内容完整,则表明文件同步成功,从而通过状态位的变化的一致性和文件内容的完整性准确验证文件同步的状态。
在一个实施例中,该同步文件容器包括本地同步盘和同步服务器;
该验证模块1108还用于:当同步事件分别在同步客户端和在同步服务器中的初始状态位、中间状态位和目标状态位相同,且各文件分别在同步客户端和在同步服务器的文件属性信息相同时,则将各文件的属性信息和同步事件对应的初始状态位、中间状态位,以及目标状态位生成对比信息集;将对比信息集和同步事件在本地同步盘中的初始状态位、中间状态位和目标状态位,以及本地同步盘中各文件的文件属性信息进行对比,根据对比的结果验证文件的同步状态。
在本实施例中,先确定同步事件在同步客户端和在同步服务器的状态位变化是否相同,文件属性信息是否相同,从而确定同步客户端和同步服务器之间的文件同步是否成功。在同步客户端和同步服务器之间的文件同步成功时,生成同步客户端和同步服务器之间的对比信息集,并通过对比信息集和本地同步盘的状态位、文件属性信息进行对比,以准确确定本地同步盘、同步客户端和同步服务器三者之间的文件同步是否成功。
在一个实施例中,该装置还包括:创建模块。
该创建模块用于:读取预配置的配置文件,配置文件包括配置目录结构以及配置目录结构中配置的文件夹对应的配置文件属性;根据配置目录结构,自动创建测试文件集;在测试文件集中,按配置文件属性向对应的文件夹填充待测试的文件;触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件。
在本实施例中,通过预配置的配置文件中的配置目录结构能够自动配置测试文件集,以及该测试文件集中的文件夹。按照配置文件属性向对应的文件夹填充文件,从而能够自动填充文件夹中所需的文件,以用于测试同步客户端和同步文件容器间的同步事件。通过测试能够验证同步客户端和同步文件容器间的文件同步事件的数据同步功能,提高文件同步的验证的准确性。
在一个实施例中,该创建模块还用于:按照配置文件属性,在文件样本库中匹配文件;当在文件样本库中匹配到文件时,将匹配的文件添加到测试文件集中与配置文件属性对应的文件夹中;当在文件样本库中未匹配到文件时,自动生成与配置文件属性匹配的文件,将自动生成的文件添加到测试文件集中与配置文件属性对应的文件夹中,并将自动生成的文件更新到文件样本库中。
本实施例中,按照配置文件属性在文件样本库中自动匹配文件,能够从样本库中直接获取满足条件的文件以快速填充测试文件集中的文件夹。当未在样本库中匹配到满足条件的文件时,可根据配置文件属性准确生成满足条件的文件,以快速填充测试文件集中的文件夹。
在一个实施例中,该配置文件属性包括文件类型和文件大小;该创建模块还用于:当在文件样本库中未匹配到文件时,在文件样本库选择与配置文件属性中的文件类型相同的文件样本;将文件样本的文件大小调整为配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与配置文件属性匹配的文件。
在本实施例中,当在文件样本库中未直接匹配到文件时,在文件样本库选择与配置文件属性中的文件类型相同的文件样本,能够通过修改文件样本的文件大小以直接快速生成与配置文件属性匹配的文件。
在一个实施例中,该创建模块还用于:当在文件样本库中未匹配到文件时,通过文件样本库中的文件生成工具随机生成与配置文件属性匹配的文件。
在本实施例中,在文件样本库中未匹配到文件,通过文件生成工具随机生成与配置文件属性匹配的文件,能够保证文件的随机性,扩充用于测试的文件,并保证所生成的文件与配置文件属性相同。
在一个实施例中,该配置文件属性包括文件类型、文件大小和文件上传状态标记;该创建模块还用于:当在文件样本库中匹配到与配置文件属性中的文件类型和文件大小相同的文件样本时,获取文件样本的文件上传状态标记;当文件样本的文件上传状态标记与匹配文件属性中的文件上传状态标记不同时,对文件样本的内容进行修改,生成与配置文件属性中的文件类型、文件大小和文件上传状态标记相同的文件。
在本实施例中,对于文件样本库中文件类型和文件大小相同,但文件上传状态标记不同的文件样本,通过对样本文件的文件内容的修改,能够保证文件类型、文件大小和配置文件属性中的文件类型、文件大小一致,并且修改后生成的文件的文件上传状态标记为未上传,从而能够快速生成满足条件的文件。
在一个实施例中,当同步事件为文件上传事件时,该装置还包括:更改模块。该更改模块用于:将测试文件集中文件夹的文件上传至同步客户端或同步文件容器后,更改样本库中的文件的文件上传状态标记;检测测试文件集的其余文件夹中的文件,并修改其余文件夹中的文件的文件内容,以在其余文件夹中生成与配置文件属性中的文件类型、文件大小和文件上传状态标记相同的文件。
在本实施例中,将测试文件集中文件夹或文件进行同步后,更改样本库中的文件的文件上传状态标记,以保证文件的文件上传状态标记的正确性。通检测测试文件集的其余文件夹中的该文件,并修改该文件内容,使得该文件的文件上传状态标记与配置文件属性中的文件上传状态标记保持一致,从而保证测试的文件的可靠性,以保证测试结果的准确性。
在一个实施例中,在触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件之后,该装置还包括:散列值获取模块。该散列值获取模块用于:获取文件在测试文件集中所处文件夹中的散列值;
该验证模块1108还用于:当同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位,以及各文件分别在同步客户端和在同步文件容器的文件属性信息相同时,从文件属性信息中获取文件的散列值;将从文件属性信息中获取的文件的散列值和文件在测试文件集中所处文件夹中的散列值进行对比;根据散列值的对比结果验证文件的同步状态。
在本实施例中,当同步事件分别在同步客户端和在同步文件容器中的状态位变化相同,且文件属性信息相同时,比较文件在测试文件集中所处文件夹中的散列值和该文件属性信息中的散列值,通过散列值的对比确定文件是否被修改,从而准确判断出文件的同步状态。
在一个实施例中,该验证模块1108还用于:当同步事件分别在同步客户端和在同步文件容器中的初始状态位、中间状态位和目标状态位相同,且各文件在同步客户端和在同步文件容器的文件属性信息相同时,判定文件同步成功;当同步事件分别在同步客户端和在同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同时,判定文件同步失败。
本实施例中,通过同步事件的状态位变化是否相同和文件属性信息是否相同,以准确判断文件同步是否成功。当任何一个状态位不同时,判定文件同步失败,从而能够根据状态位的变化验证文件的同步状态。
关于文件同步的验证装置的具体限定可以参见上文中对于文件同步的验证方法的限定,在此不再赘述。上述文件同步的验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文件同步的验证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (24)

1.一种文件同步的验证方法,其特征在于,所述方法包括:
在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态;所述文件的同步状态包括文件同步成功或文件同步失败。
2.根据权利要求1所述的方法,其特征在于,所述将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态,包括:
当所述同步事件在所述同步客户端和在所述同步文件容器的初始状态位、中间状态位和目标状态位相同时,获取预期初始状态位、预期中间状态位和预期目标状态位;
当所述初始状态位、所述中间状态位、所述目标状态位分别与所述预期初始状态位、所述预期中间状态位、所述预期目标状态位相同,且所述各文件在所述同步客户端和在所述同步文件容器的文件属性信息相同时,判定所述文件同步成功。
3.根据权利要求1所述的方法,其特征在于,所述同步文件容器包括本地同步盘和同步服务器;
所述将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态,包括:
当所述同步事件分别在所述同步客户端和在所述同步服务器中的初始状态位、中间状态位和目标状态位相同,且所述各文件分别在所述同步客户端和在所述同步服务器的文件属性信息相同时,则
将所述各文件的属性信息和所述同步事件对应的所述初始状态位、所述中间状态位,以及所述目标状态位生成对比信息集;
将所述对比信息集和所述同步事件在所述本地同步盘中的初始状态位、所述中间状态位和所述目标状态位,以及所述本地同步盘中各文件的文件属性信息进行对比,根据对比的结果验证所述文件的同步状态。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取预配置的配置文件,所述配置文件包括配置目录结构以及所述配置目录结构中配置的文件夹对应的配置文件属性;
根据所述配置目录结构,自动创建测试文件集;
在测试文件集中,按所述配置文件属性向对应的文件夹填充待测试的文件;
触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件。
5.根据权利要求4所述的方法,其特征在于,所述在测试文件集中,按所述配置文件属性向对应的文件夹填充待测试的文件,包括:
按照所述配置文件属性,在文件样本库中匹配文件;
当在所述文件样本库中匹配到文件时,将匹配的文件添加到所述测试文件集中与所述配置文件属性对应的文件夹中;
当在所述文件样本库中未匹配到文件时,自动生成与所述配置文件属性匹配的文件,将自动生成的文件添加到所述测试文件集中与所述配置文件属性对应的文件夹中,并将所述自动生成的文件更新到所述文件样本库中。
6.根据权利要求5所述的方法,其特征在于,所述配置文件属性包括文件类型和文件大小;所述当在所述文件样本库中未匹配到文件时,自动生成与所述配置文件属性匹配的文件,包括:
当在所述文件样本库中未匹配到文件时,在所述文件样本库选择与所述配置文件属性中的文件类型相同的文件样本;
将所述文件样本的文件大小调整为所述配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与所述配置文件属性匹配的文件。
7.根据权利要求5所述的方法,其特征在于,所述当在所述文件样本库中未匹配到文件时,自动生成与所述配置文件属性匹配的文件,包括:
当在所述文件样本库中未匹配到文件时,通过所述文件样本库中的文件生成工具随机生成与所述配置文件属性匹配的文件。
8.根据权利要求5所述的方法,其特征在于,所述配置文件属性包括文件类型、文件大小和文件上传状态标记;所述当在所述文件样本库中未匹配到文件时,自动生成与所述配置文件属性匹配的文件,包括:
当在所述文件样本库中匹配到与所述配置文件属性中的文件类型和文件大小相同的文件样本时,获取所述文件样本的文件上传状态标记;
当所述文件样本的文件上传状态标记与所述匹配文件属性中的文件上传状态标记不同时,对所述文件样本的内容进行修改,生成与所述配置文件属性中的所述文件类型、所述文件大小和所述文件上传状态标记相同的文件。
9.根据权利要求8所述的方法,其特征在于,当所述同步事件为文件上传事件时,所述方法还包括:
将所述测试文件集中文件夹的文件上传至同步客户端或同步文件容器后,更改所述样本库中的所述文件的文件上传状态标记;
检测所述测试文件集的其余文件夹中的所述文件,并修改所述其余文件夹中的所述文件的文件内容,以在所述其余文件夹中生成与所述配置文件属性中的所述文件类型、所述文件大小和所述文件上传状态标记相同的文件。
10.根据权利要求4所述的方法,其特征在于,在所述触发在同步客户端和同步文件容器间同步所述测试文件集中文件的同步事件之后,所述方法还包括:
获取所述文件在所述测试文件集中所处文件夹中的散列值;
所述将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态,包括:
当所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息相同时,从所述文件属性信息中获取所述文件的散列值;
将从所述文件属性信息中获取的所述文件的散列值和所述文件在所述测试文件集中所处文件夹中的散列值进行对比;
根据散列值的对比结果验证所述文件的同步状态。
11.根据权利要求1、4、5、6、7、8或9所述的方法,其特征在于,所述将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态,包括:
当所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位相同,且所述各文件在所述同步客户端和在所述同步文件容器的文件属性信息相同时,判定所述文件同步成功;
当所述同步事件分别在所述同步客户端和在所述同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同时,判定所述文件同步失败。
12.一种文件同步的验证装置,其特征在于,所述装置包括:
第一转换模块,用于在发生同步客户端和同步文件容器间的同步事件时,将文件未同步时的初始状态位转换为文件同步过程中的中间状态位;
第二转换模块,用于当所述同步事件完成后,将所述文件同步过程中的中间状态位转换为目标状态位;
获取模块,用于获取所述同步文件容器中各文件的文件属性信息和所述同步客户端中各文件的文件属性信息;
验证模块,用于将所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位进行对比,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息进行对比,根据状态位的对比结果和文件属性信息的对比结果验证所述文件的同步状态。
13.根据权利要求12所述的装置,其特征在于,所述验证模块还用于当所述同步事件在所述同步客户端和在所述同步文件容器的初始状态位、中间状态位和目标状态位相同时,获取预期初始状态位、预期中间状态位和预期目标状态位;
当所述初始状态位、所述中间状态位、所述目标状态位分别与所述预期初始状态位、所述预期中间状态、所述预期目标状态位相同,且所述各文件在所述同步客户端和在所述同步文件容器的文件属性信息相同时,判定所述文件同步成功。
14.根据权利要求12所述的装置,其特征在于,所述所述同步文件容器包括本地同步盘和同步服务器;
所述验证模块还用于:当所述同步事件分别在所述同步客户端和在所述同步服务器中的初始状态位、中间状态位和目标状态位相同,且所述各文件分别在所述同步客户端和在所述同步服务器的文件属性信息相同时,则将所述各文件的属性信息和所述同步事件对应的所述初始状态位、所述中间状态位,以及所述目标状态位生成对比信息集;将所述对比信息集和所述同步事件在所述本地同步盘中的初始状态位、所述中间状态位和所述目标状态位,以及所述本地同步盘中各文件的文件属性信息进行对比,根据对比的结果验证所述文件的同步状态。
15.根据权利要求12所述的装置,其特征在于,所述装置还包括创建模块;所述创建模块,用于读取预配置的配置文件,所述配置文件包括配置目录结构以及所述配置目录结构中配置的文件夹对应的配置文件属性;根据所述配置目录结构,自动创建测试文件集;在测试文件集中,按所述配置文件属性向对应的文件夹填充待测试的文件;触发在同步客户端和同步文件容器间同步测试文件集中文件的同步事件。
16.根据权利要求15所述的装置,其特征在于,所述创建模块,还用于按照所述配置文件属性,在文件样本库中匹配文件;当在所述文件样本库中匹配到文件时,将匹配的文件添加到所述测试文件集中与所述配置文件属性对应的文件夹中;当在所述文件样本库中未匹配到文件时,自动生成与所述配置文件属性匹配的文件,将自动生成的文件添加到所述测试文件集中与所述配置文件属性对应的文件夹中,并将所述自动生成的文件更新到所述文件样本库中。
17.根据权利要求16所述的装置,其特征在于,所述配置文件属性包括文件类型和文件大小;所述创建模块,还用于当在所述文件样本库中未匹配到文件时,在所述文件样本库选择与所述配置文件属性中的文件类型相同的文件样本;将所述文件样本的文件大小调整为所述配置文件属性中的文件大小,将调整文件大小后生成的文件确定为与所述配置文件属性匹配的文件。
18.根据权利要求16所述的装置,其特征在于,所述创建模块,还用于当在所述文件样本库中未匹配到文件时,通过所述文件样本库中的文件生成工具随机生成与所述配置文件属性匹配的文件。
19.根据权利要求16所述的装置,其特征在于,所述配置文件属性包括文件类型、文件大小和文件上传状态标记;所述创建模块,还用于当在所述文件样本库中匹配到与所述配置文件属性中的文件类型和文件大小相同的文件样本时,获取所述文件样本的文件上传状态标记;当所述文件样本的文件上传状态标记与所述匹配文件属性中的文件上传状态标记不同时,对所述文件样本的内容进行修改,生成与所述配置文件属性中的所述文件类型、所述文件大小和所述文件上传状态标记相同的文件。
20.根据权利要求19所述的装置,其特征在于,当所述同步事件为文件上传事件时,所述装置还包括更改模块;所述更改模块,用于将所述测试文件集中文件夹的文件上传至同步客户端或同步文件容器后,更改所述样本库中的所述文件的文件上传状态标记;检测所述测试文件集的其余文件夹中的所述文件,并修改所述其余文件夹中的所述文件的文件内容,以在所述其余文件夹中生成与所述配置文件属性中的所述文件类型、所述文件大小和所述文件上传状态标记相同的文件。
21.根据权利要求15所述的装置,其特征在于,所述装置还包括散列值获取模块;所述散列值获取模块用于获取所述文件在所述测试文件集中所处文件夹中的散列值;
所述验证模块,还用于当所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位,以及所述各文件分别在所述同步客户端和在所述同步文件容器的文件属性信息相同时,从所述文件属性信息中获取所述文件的散列值;将从所述文件属性信息中获取的所述文件的散列值和所述文件在所述测试文件集中所处文件夹中的散列值进行对比;根据散列值的对比结果验证所述文件的同步状态。
22.根据权利要求12、15、16、17、18、19或20所述的装置,其特征在于,所述验证模块,还用于当所述同步事件分别在所述同步客户端和在所述同步文件容器中的初始状态位、中间状态位和目标状态位相同,且所述各文件在所述同步客户端和在所述同步文件容器的文件属性信息相同时,判定所述文件同步成功;当所述同步事件分别在所述同步客户端和在所述同步文件容器的初始状态位、中间状态位和目标状态位中的至少一个状态位不同时,判定所述文件同步失败。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
CN202010806907.2A 2020-08-12 2020-08-12 文件同步的验证方法、装置、计算机设备和存储介质 Active CN111953687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010806907.2A CN111953687B (zh) 2020-08-12 2020-08-12 文件同步的验证方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010806907.2A CN111953687B (zh) 2020-08-12 2020-08-12 文件同步的验证方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111953687A CN111953687A (zh) 2020-11-17
CN111953687B true CN111953687B (zh) 2023-06-09

Family

ID=73332336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010806907.2A Active CN111953687B (zh) 2020-08-12 2020-08-12 文件同步的验证方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111953687B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023988A (zh) * 2012-11-27 2013-04-03 北京金山云科技有限公司 文件同步方法、服务器、客户端及终端设备
CN107634984A (zh) * 2017-08-07 2018-01-26 国网河南省电力公司 一种基于单向传输通道的文件同步方法
CN109101622A (zh) * 2018-08-10 2018-12-28 北京奇虎科技有限公司 数据同步方法、装置、计算设备及计算机存储介质
CN113986730A (zh) * 2021-10-27 2022-01-28 平安国际智慧城市科技股份有限公司 邀约文件测试方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023988A (zh) * 2012-11-27 2013-04-03 北京金山云科技有限公司 文件同步方法、服务器、客户端及终端设备
CN107634984A (zh) * 2017-08-07 2018-01-26 国网河南省电力公司 一种基于单向传输通道的文件同步方法
CN109101622A (zh) * 2018-08-10 2018-12-28 北京奇虎科技有限公司 数据同步方法、装置、计算设备及计算机存储介质
CN113986730A (zh) * 2021-10-27 2022-01-28 平安国际智慧城市科技股份有限公司 邀约文件测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111953687A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN108319719B (zh) 数据库数据校验方法、装置、计算机设备和存储介质
CN106874389B (zh) 数据的迁移方法和装置
CN106815370B (zh) 更新资源文件的方法、装置和系统
CN110162509A (zh) 文件比对方法、装置、计算机设备及存储介质
CN106681921B (zh) 数据参数化的实现方法和装置
CN104468843A (zh) 一种文件上传方法及装置
CN110659202A (zh) 客户端自动化测试方法及装置
CN106789202A (zh) 业务管理装置及方法
CN111897846A (zh) 缓存数据校验方法、装置、设备及存储介质
CN113220660A (zh) 一种数据迁移方法、装置、设备及可读存储介质
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN110737719A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN107357588B (zh) 目标代码生成方法及装置
CN106250548A (zh) 一种代码更新方法
CN111770153A (zh) 一种对象下载方法、装置及电子设备和存储介质
CN113794581B (zh) 分布式cp统一部署方法及网络设备、存储介质
CN113971041A (zh) 跨版本控制系统的版本同步方法及装置
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN114416883A (zh) 区块链轻节点数据同步方法、装置、设备及可读存储介质
CN112799955B (zh) 模型变更的检测方法、装置和存储介质及电子设备
CN114465937A (zh) 网卡测试方法、装置、服务器、介质和计算机程序产品
CN111953687B (zh) 文件同步的验证方法、装置、计算机设备和存储介质
CN115129574A (zh) 一种代码测试方法和装置
CN113190448A (zh) 测试代码更新方法及装置、电子设备、存储介质
CN112507267A (zh) 用户偏好设置同步方法、系统、设备及可读存储介质

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
GR01 Patent grant
GR01 Patent grant