Patent Publication Number: US-8538925-B2

Title: System and method for backing up test data

Description:
BACKGROUND 
     1. Technical Field 
     Embodiments of the present disclosure relate to data backup systems and methods, and more particularly to a system and a method for backing up test data. 
     2. Description of Related Art 
     Backing up test data is very important. Generally, a backup device may backup the test data at a fixed time. If a fault occurs in the backup device, the test data cannot be backed up normally and timely. If one of test devices in the laboratory malfunctions, a test task in the laboratory may not be executed successfully. Furthermore, convenient access to the test data backup may be denied, and changes of the test data cannot be known well and conveniently for users. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of one embodiment of a first backup device and a second backup device. 
         FIG. 2  is a block diagram of function modules of a backup system in the first backup device and the second backup device of  FIG. 1 . 
         FIG. 3  is a flowchart of one embodiment of a method for backing up test data using the first backup device and the second backup device of  FIG. 1 . 
     
    
    
     DETAILED DESCRIPTION 
     The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
     In general, the word module, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable medium include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. 
       FIG. 1  is a block diagram of one embodiment of a first backup device  3  and a second backup device  4 . In one embodiment, both of the first backup device  3  and the second backup device  4  include a backup system  10 . Both of the first backup device  3  and the second backup device  4  are connected to a plurality of test computing devices  1  through a network  2 . Each of the test computing devices  1  includes test software that generates test data. In one embodiment, the first backup device  3  may be a backup computing device and may replace the test computing devices  1  for executing the test software. The second backup device  4  may be a backup server, for example. The backup system  10  may backup data backup on both of the first backup device  3  and the second backup device  4  at different time, and record changes of the test data backup. 
     The first backup device  3  includes a first storage system  31  and a first processor  32 . The second backup device  4  includes a second storage system  41  and a second processor  42 . The first storage systems  31  and second storage systems  41  store different kinds of data. The first storage system  31  and the second storage system  41  may be a memory, an external storage card, such as a smart media card, or a secure digital card. Both of the first and second processors  32  and  42  execute one or more computerized codes and other applications for corresponding devices, to provide the functions of the backup system  10 . 
       FIG. 2  is a block diagram of function modules of the backup system  10  in the first backup device  3  and the second backup device  4  of  FIG. 1 . In one embodiment, the backup system  10  may include a setting module  100 , a determination module  101 , a backup module  102 , a record module  103 , and a generation module  104 . The modules  100 - 104  comprise computerized codes in the form of one or more programs that are stored in each of the first storage system  31  and the second storage system  41 . The computerized code includes instructions that are executed by the first processor  32  or by the second processor  42  to provide functions for the modules. Details of each of the modules are given in  FIG. 3 . 
       FIG. 3  is a flowchart of one embodiment of a method for backing up test data using the computing device of  FIG. 1 . Depending on the embodiment, additional blocks may be added, others deleted, and the ordering of the blocks may be changed. 
     In block S 10 , the setting module  100  sets a plurality of backup times and storage paths for each of the test computing devices  1  in the first backup device  3  and in the second backup device  4 , and sets a backup path of each of the test computing devices  1 . The setting module  100  sets the storage paths and the backup paths according to an Internet Protocol (IP) address of each of the test computing devices  1 . In some embodiments, the backup time in the first backup device  3  is different from the backup time in the second backup device  4 . The backup time of each of the test computing devices  1  are preset according to available time of each of the test computing devices  1 . The storage paths include a first storage path in the first backup device  3  and a second storage path in the second backup device  4  for storing the test data of each of the test computing devices  1  respectively. For example, if an IP address of a test computing device  1  is “10.162.194.18”, the first storage path may be set to be “\\10.162.194.18\Test Data\2010TestDat\”. The backup path of each of the test computing devices  1  represents that data under the backup path needs to be backed up to the first backup device  3  or the second backup device  4 . 
     In block S 11 , the determination module  101  determines whether a first current time of the first backup device  3  matches a backup time of each of the test computing devices  1  in the first backup device  3 , or a second current time of the second backup device  4  matches one backup time in the second backup device  4 . For example, if a backup time of one of the test computing devices  1  in the first backup device  3  is set to be 12:35, the determination module  101  determines whether the current time of the first backup device  3  is equal to 12:35. If the first current time matches the backup time in the first backup device  3  or the second current time matches the backup time in the second backup device  4 , block S 12  is implemented. If neither the first current time matches the backup time in the first backup device  3  nor the second current time matches the backup time in the second backup device  4 , block S 11  is repeated. 
     In block S 12 , the backup module  102  backups test data of each of the test computing devices  1  as backup data to the first backup device  3  or to the second backup device  4 . In one embodiment, the backup module  102  reads the test data of each of the test computing devices  1  as the backup data, and copies the backup data to the first backup device  3  or to the second backup device  4  according to the storage path of each of the test computing devices  1  in the first backup device  3  or the second backup device  4 . If the first current time matches the backup time in the first backup device  3 , the backup module  102  copies the backup data to the first backup device  3 . If the second current time matches the backup time in the second backup device  4 , the backup module  102  copies the backup data to the second backup device  4 . 
     In block S 13 , the record module  103  records changes of each backup file of the backup data stored under the storage path, while copying the backup data to the first backup device  3  or to the second backup device  4 . In one embodiment, the record module  103  records first backup files beginning with a first predetermined keyword, such as “Same”, upon the condition that other files under the storage path have a same name and a same file size with the first backup files. The record module  103  records second backup files beginning with a second predetermined keyword, such as “Newer”, upon the condition that other files under the storage path have a same name but a different file size with the second backup files. The record module  103  records third backup files beginning with a third predetermined keyword, such as “New”, upon the condition that no file has a same name with the third backup files. The record module  103  records remainder files under the storage path beginning with a fourth predetermined keyword, such as “*Extra”, upon the condition that no backup file has a same name with the remainder files. The record module  103  records the changes of each of the backup files including the storage path, the file size, and the name of the each of the backup files. Users can know and analyze the changes of the test data of each of the test computing devices  1  conveniently, according to the above-mentioned predetermined keywords. 
     In block S 14 , the generation module  104  generates a log file for the backup time of each of the test computing devices  1 , according to the recorded changes, and stores the log file in the first storage system  31  or in the second storage system  41  according to a predetermined time period. In one embodiment, the predetermined time period may be seven days. The log file further includes the backup time and a system date of this backup time. For example, the log file may be named with the backup time and the system date for determining whether a backup operation of the first backup device  3  or the second backup device  4  has been executed. In one embodiment, if the first current time matches the backup time in the first backup device  3 , the log file is stored in the first storage system  31 , or if the second current time matches the backup time in the second backup device  4 , the log file is stored in the second storage system  41 . 
     All of the processes described above may be embodied in, and be fully automated via, functional code modules executed by one or more general-purpose processors. The code modules may be stored in any type of non-transitory readable medium or other storage device. Some or all of the methods may alternatively be embodied in specialized hardware. Depending on the embodiment, the non-transitory readable medium may be a hard disk drive, a compact disc, a digital video disc, a tape drive or other suitable storage medium. 
     The described embodiments are merely possible examples of implementations, and have been set forth for a clear understanding of the principles of the present disclosure. Many variations and modifications may be made without departing substantially from the spirit and principles of the present disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and the described inventive embodiments, and the present disclosure is protected by the following claims.