WO2015032059A1 - 存储系统及数据操作请求处理方法 - Google Patents

存储系统及数据操作请求处理方法 Download PDF

Info

Publication number
WO2015032059A1
WO2015032059A1 PCT/CN2013/083024 CN2013083024W WO2015032059A1 WO 2015032059 A1 WO2015032059 A1 WO 2015032059A1 CN 2013083024 W CN2013083024 W CN 2013083024W WO 2015032059 A1 WO2015032059 A1 WO 2015032059A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
clock
storage system
reference clock
real
Prior art date
Application number
PCT/CN2013/083024
Other languages
English (en)
French (fr)
Inventor
李胜
易永江
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2013/083024 priority Critical patent/WO2015032059A1/zh
Priority to CN201380001830.XA priority patent/CN103718186B/zh
Priority to EP13893114.2A priority patent/EP2902940B1/en
Publication of WO2015032059A1 publication Critical patent/WO2015032059A1/zh
Priority to US14/753,280 priority patent/US9753941B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/181Append-only file systems, e.g. using logs or journals to store data providing write once read many [WORM] semantics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Definitions

  • the present invention relates to the field of storage technologies, and in particular, to a storage system and a data operation request processing method.
  • a storage system that supports WORM can set a protection period for a user-specified file, and the security attribute of the file is usually set to a read-only attribute during the protection period. This file can only be read and cannot be modified or deleted during the protection period. When the protection period of the file is reached, the security attributes of the file can be modified or deleted according to the user's needs. Moreover, in general, during the protection period of the file, the user cannot modify the set protection period to ensure the security of the file to the utmost extent.
  • the protection period of a file is closely related to the system clock of the storage system, and the protection period of the file is calculated based on the system clock of the storage system. If the system clock of the storage system is maliciously changed, the actual protection period of the file will be changed, and the security attributes and file contents of the file may be changed, which in turn affects the security of the file.
  • a Real Time Clock is usually integrated in the south bridge in the controller of the storage system.
  • a real-time clock is an electronic device that can output actual time like a clock.
  • a real-time clock can generally be an integrated circuit, and thus can also be called a clock chip. Real-time clocks can often be used in systems that require precise time, such as personal computers, servers, storage systems, or embedded systems.
  • the processor in the controller of the storage system is powered on, the processor reads the time of the integrated RTC in the south bridge chip, and uses the time of the RTC as the system clock of the storage system.
  • the intruder is easily integrated by modifying the South Bridge core.
  • the RTC clock in the chip achieves the purpose of modifying the system clock of the storage system, thereby achieving the purpose of modifying the protection period of the file, and affecting the security of the file.
  • a data operation request processing method and a storage system are provided, which can improve the security of data stored in a storage system.
  • an embodiment of the present invention provides a storage system, where the storage system is a storage system having a function of "Wr i te Once Read Many" (WORM), including storage.
  • WORM Widered Equivalent Privacy
  • a device and a controller for storing data including a real time clock, a reference clock, and a processor.
  • the real time clock is used to provide system time for the storage system.
  • the reference clock is used to verify the system time of the storage system. The reference clock cannot be modified during system operation.
  • the processor is configured to receive a data operation request sent by an application server, where the data operation request is used to change data stored in the storage device; acquire a time difference between the real-time clock and the reference clock; Whether the time difference is greater than a time precision cumulative error of the reference clock; if the time difference is greater than the time precision cumulative error, the data operation request is rejected.
  • the storage system further includes: a board management controller (BMC), configured to read the reference clock The value of the time register, the time at which the reference clock was obtained.
  • the processor is specifically configured to read a value of a time register of the real-time clock to obtain a time of the real-time clock, obtain a time of the reference clock by using a communication channel between the BMC and the south bridge chip, and according to the The time difference is obtained by the time of the real time clock and the time of the reference clock.
  • BMC board management controller
  • the processor is further configured to: if the time difference is not greater than the time precision cumulative error And determining whether the current time of the real-time clock is greater than a protection time of the data pointed by the data operation request; if the current time of the real-time clock is greater than the protection time, executing the data operation request.
  • the processor is further configured to: if the current time of the real-time clock is not greater than the protection time, Hold The data operation request is performed.
  • the processor is further configured to: The interval is determined whether the time difference is greater than a time precision cumulative error of the reference clock; if the time difference is greater than the time precision cumulative error, the time of the real time clock is synchronized with the time of the reference clock.
  • the processor is further configured to be used according to the storage system
  • the life cycle and the time precision error of the reference clock determine a time precision cumulative error of the reference clock.
  • the processor is further configured to be used according to the storage system
  • the running time and the time precision error of the reference clock are used to determine a time precision cumulative error of the reference clock.
  • the storage system further includes a backup device, the backup device The device is configured to provide power to the real time clock and the reference clock when the storage system is powered down.
  • an embodiment of the present invention provides a data operation request processing method, which is applied to a storage system having a function of "Write Once Read Many” (WORM).
  • the method includes: receiving a data operation request sent by an application server, where the data operation request is used to change data stored in the storage system; and acquiring a time difference between a real-time clock and a reference clock, where the real-time clock is used for Providing a system time for the storage system, the reference clock cannot be modified during system operation; determining whether the time difference is greater than a time precision cumulative error of the reference clock; if the time difference is greater than the time precision cumulative error, The data operation request is then rejected.
  • WORM Write Once Read Many
  • the acquiring a time difference between a real-time clock and a reference clock includes: reading a value of a time register of the real-time clock to obtain a time of the real-time clock; Obtaining the time of the reference clock through a communication channel between the south bridge chip and a board management controller (BMC); comparing the time of the real time clock with the parameter Taking the time of the clock, the time difference between the real-time clock and the reference clock is obtained.
  • BMC board management controller
  • the method further includes: determining, if the time difference is not greater than the time precision cumulative error, determining Whether the current time of the real-time clock is greater than the protection time of the data pointed by the data operation request; if the current time of the real-time clock is greater than the protection time, the data operation request is executed.
  • the method further includes: if the current time of the real-time clock is not greater than the protection time, rejecting the execution The data operation request.
  • the method further includes: determining, according to the set time interval Whether the time difference is greater than a time precision cumulative error of the reference clock; if the time difference is greater than the time precision cumulative error, the time of the real time clock is synchronized with the time of the reference clock.
  • the method further includes: according to the life cycle of the storage system And a time precision error of the reference clock determines a time precision cumulative error of the reference clock.
  • the method further includes: determining, according to the running time of the storage system And a time precision error of the reference clock to determine a time precision cumulative error of the reference clock.
  • an embodiment of the present invention provides a non-transitory machine-readable medium shield for storing computer instructions that can perform the above method.
  • the storage system provided by the embodiment of the present invention includes a reference clock that cannot be modified during the operation of the storage system, and compares the time difference between the real-time clock and the reference clock with the time-accuracy cumulative error of the reference clock to determine whether The change operation of the data stored in the storage system is performed, thereby preventing the data stored in the storage system from being maliciously changed due to the malicious modification of the real-time clock, thereby improving the security of the stored data.
  • FIG. 1 is a schematic diagram of an application scenario of a storage system according to an embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a controller in a storage system according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a data operation request processing method according to an embodiment of the present invention.
  • FIG. 4 is a flow chart of a system clock maintenance method of a storage system according to an embodiment of the present invention. detailed description
  • FIG. 1 is a schematic diagram of an application scenario of a storage system according to an embodiment of the present invention.
  • the application server 110 communicates with the storage system 100 through a connection device.
  • An operating system and other applications can be installed in the application server 110.
  • the application server 110 can send a data operation request to the storage system 100 through the connection device for performing operations such as modifying or reading data in the storage system 100.
  • the application server 110 may include an application server such as a database server and a mail server.
  • the connection device can include any interface between the storage system and the application server known in the art, such as a fiber switch, an Ethernet switch, or other existing switch.
  • application server 110 can communicate with storage system 100 via Fibre Channel, Ethernet, or other means of communication. There may be multiple application servers 110.
  • the time server 120 is a web server.
  • the time server 120 obtains time information from an atomic clock, a GPS clock, or another time server, and transmits the obtained time information to a network device, such as the storage system 100, through a network, thereby providing users with accurate, standard, secure, and Reliable time service.
  • the storage system 100 is a storage system that supports the function of "Write Once Read Many” (WORM).
  • the storage system 100 includes a controller 105 and a disk 108.
  • the controller 105 is configured to operate on data stored in the disk 108 according to an operation request sent by the application server 110.
  • Disk 108 is used to store data. It can be understood that the disks 108 can be one or more. It should be noted that the disk 108 is only the storage device shown in the embodiment of the present invention.
  • the storage device may also include Redundant Arrays of Inexpensive Disks (RAID), Just a Bunch Of Disks (JBOD), and Direct Access Storage Device.
  • RAID Redundant Arrays of Inexpensive Disks
  • JBOD Just a Bunch Of Disks
  • One or more interconnected disk drives of the DASD, wherein the direct access memory may comprise a tape storage device such as a tape library, one or more storage units.
  • the storage device in the storage system 100
  • the storage system 100 uses the network time obtained from the time server 120 as the system clock.
  • the storage system 100 synchronizes the system clock of the storage system 100 with the time server 120 by a time synchronization protocol, and uses the system clock as a basis for determining the storage period of the data stored in the disk 108.
  • Time synchronization protocols include, but are not limited to, Network Time Protocol (NTP), Simple Network Time Protocol (SNTP), and Precision Timing Protocol (PTP).
  • NTP Network Time Protocol
  • SNTP Simple Network Time Protocol
  • PTP Precision Timing Protocol
  • PTP is the cartridge of the IEEE 1588 standard.
  • the full name of the IEEE1588 standard is "IEEE 1588 Precision Clock Synchronization Protocol".
  • the controller 105 may include: a processor 200, a memory 205, a South Bridge 210, a Real Time Clock (RTC) 215, and a Board Management Controller (BMC). 220, reference clock 225, power source 230, and battery 235.
  • the processor 200 and the memory 205 communicate through a memory bus.
  • the processor 200 communicates with the south bridge chip 210 via a communication bus, wherein the communication bus may include a communication bus such as a high-speed Peripheral Component Interconnect Express (PCI-E) bus or a Direct Media Interface (DMI) bus.
  • PCI-E Peripheral Component Interconnect Express
  • DMI Direct Media Interface
  • the memory 205 is configured to store the program 2051.
  • Memory 205 may include high speed RAM memory and may also include non-volatile memory, such as at least one disk memory. It can be understood that the memory 205 can be a random access memory (RAM), a magnetic disk, a hard disk, an optical disk, a solid state disk (SSD), or a nonvolatile memory, and can store program codes.
  • RAM random access memory
  • SSD solid state disk
  • a non-transitory machine-readable shield is not limited herein.
  • the program 2051 can include program code, the program code including computer operating instructions.
  • the south bridge chip 210 is responsible for communication between the processor 200 and external devices to implement a processor-to-peripheral component interconnect (PCI) interface device, a universal serial bus (Universal Serial Bus, USB) Interface device, real time clock (RTC) and other devices.
  • PCI processor-to-peripheral component interconnect
  • USB Universal Serial Bus
  • RTC real time clock
  • the South Bridge chip 210 can also be connected to the disk 108 via a Serial ATA (SATA) interface.
  • Southbridge chips include, but are not limited to, integrated south bridges, such as the Platform Controller Hub (PCH).
  • the real time clock 215 may be a real time clock function circuit embedded in the south bridge chip 210, which is a clock source of the system clock of the storage system.
  • the initial time of the real-time clock 215 can be consistent with the time of the time server 120 by the time synchronization protocol.
  • the processor 200 can send a synchronization message to the time server 120 according to the NTP protocol, and the synchronization message arrives at the time server 120 at time t2, and the time server 120 returns the synchronization message to the processor 200 at time t3.
  • the response message carries the time information of the time t2 and the time t3, and the response arrives at the processor 200 at time t4.
  • the processor 200 can calculate the value of [( t2 -tl)+(t3-t4)]/2, and take the calculated value as the time difference A t between the real-time clock 215 and the time server 120.
  • the processor 200 can obtain the current time T1 of the real time clock 215 by reading the value of the time register of the real time clock 215, and write the value of T1-At to the time register of the real time clock 215 as the initial time of the real time clock 215.
  • the initial time of the real time clock 215 can be kept consistent with the time of the time server 120 in the above manner.
  • the real-time clock 215 can also be time synchronized with the time server 120 through a time synchronization protocol, thereby providing accurate system time for the storage system.
  • the processor 200 can access the clock register of the RTC 215 through an inb or outb instruction.
  • the processor 200 can read the value of the RTC 215 clock register by the inb instruction, obtain the current time of the RTC 215, and use the RTC 215 time as the current time of the system clock.
  • the processor 200 can also modify the value of the RTC 215 clock register by the outb instruction to modify the time of the RTC 215 to achieve the purpose of modifying the system clock time. It can be understood that the time of the real time clock 215 is presented in the format of XXXXXXXXXXXXXXX seconds.
  • the processor 200 can modify the value of the clock register of the RTC 215 by the outb instruction
  • the RTC 215 is usually synchronized with the time of the time server 120 during the operation of the storage system, so the intruder can modify the time of the RTC 215 by modifying the value of the clock register of the RTC 215 to achieve the purpose of modifying the system time.
  • the intruder can also connect the storage system 100 to the spurious time server by modifying the network connection between the storage system 100 and the time server 120, thereby synchronizing the time of the RTC 215 with the time of the spurious time server through the time synchronization protocol.
  • the time of the RTC 215 may be maliciously modified.
  • the board management controller 220 is configured to manage the controller board, including power management, parameter configuration, and maintenance in the controller.
  • the board management controller 220 can be an embedded processor.
  • the board management controller 220 can communicate with the south bridge chip 210 through a serial port or a first in first out (FIFO) interface.
  • the reference clock 225 is configured to verify the system time of the storage system.
  • the reference clock 225 can be a stand-alone chip with a real-time clock function or a separate real-time clock function circuit module. In the embodiment of the present invention, the reference clock 225 cannot be modified during the operation of the storage system 100.
  • the time of the reference clock 225 is also presented in the format of XXXX XX XX XX XXX minutes XX seconds.
  • the time precision error of the reference clock 225 is relatively small.
  • the time accuracy of the reference clock 225 is ⁇ 2 ppm.
  • the reference clock 225 operates for 1 second, and there is an error of less than 2 ppm. It can be understood that, in practical applications, since the time precision requirement of the reference clock 225 is relatively high, the time precision error of the reference clock 225 may not exceed ⁇ 5 ppm.
  • the reference clock 225 is provided with an external access interface, which may be an Inter-Integrated Circuit (I2C) interface.
  • the board management controller 220 controls the reference clock 225 through an external access interface provided by the reference clock 225.
  • the board management controller 220 can The value of the time register of reference clock 225 is read or modified by an I 2 C interface provided by reference clock 225, which may be a serial communication bus interface.
  • the processor 200 since the reference clock 225 is not integrated in the south bridge chip 210, the processor 200 cannot access the clock register of the reference clock 225 through the inb or outb instruction.
  • the processor 200 can obtain the value of the time register of the reference clock 225 through the communication channel between the south bridge chip 210 and the single board management controller 220 to obtain the time of the reference clock 225.
  • the administrator when the storage system 100 is powered on for the first time, the administrator can start the time management program of the reference clock 225 through the management interface of the board management controller 220, and manage the controller 220 and the reference through the board.
  • the I 2 C interface between the clocks 225 sets the initial time of the reference clock 225 to coincide with the time of the real time clock 215.
  • the time management program of the reference clock 225 can be stored in the program memory of the board management controller 220. After the initial time of the reference clock 225 is set, the time management program of the reference clock 225 is deleted so that the time of the reference clock 225 cannot be changed, so that the reference clock 225 can provide the storage system 100 with an accurate check time.
  • the battery 235 is configured to supply power to the real time clock 215 and the reference clock 225 when the storage system 100 fails and the power source 230 cannot supply power.
  • Battery 235 can be a lithium battery. It should be noted that the battery 235 is only an example of the backup device. In practical applications, the backup device may further include a power supply device such as a super capacitor.
  • the processor 200 which may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention.
  • the processor 200 is configured to execute a program, and specifically, the related steps in the method embodiments shown in FIG. 3 to FIG. 5 described below may be performed.
  • FIG. 3 is a flowchart of a data operation request processing method according to an embodiment of the present invention.
  • the method can be applied to the storage system 100 shown in FIG. 1, wherein the storage system 100 is a storage system that supports the function of "Write Once Read Many" (WORM).
  • the method may be performed by the controller 105 of the storage system 100 shown in FIG. 1 or FIG. 2, and may be performed by the processor 200 in the controller 105 in particular.
  • FIG. 3 in conjunction with FIGS. 1 and 2.
  • the method is described. As shown in FIG. 3, the method may include:
  • the storage system 100 receives a data operation request sent by the application server 110, the data operation request for changing data stored in the storage system 100.
  • the data stored in the storage system 100 described in the embodiment of the present invention refers to data that has been written into the storage system 100 and can only perform a read operation within a set protection period.
  • the data described in the embodiments of the present invention refers to data having read-only attributes within a set protection period.
  • the changes to the data described in the embodiments of the present invention include operations such as modification, deletion or addition of data that can cause changes in the stored data contents in addition to the reading operation.
  • step 310 the storage system 100 acquires the time difference between the real time clock 215 and the reference clock 225.
  • the real-time clock 215 is synchronized with the time server 120, and the time of the reference clock 225 cannot be modified during the operation of the storage system 100.
  • the storage system 100 may acquire the time difference between the real-time clock 215 and the reference clock 225, by referring to the clock 225.
  • the time of the real time clock 215 is verified.
  • the processor 200 of the storage system 100 can obtain the time difference between the real time clock 215 and the reference clock 225 through the method flow described in FIG. As shown in Figure 4, the method includes:
  • step 400 the memory system 100 reads the value of the clock register of the real time clock 215 to obtain the time of the real time clock 215.
  • the processor 200 can read the value of the RTC 215 clock register through the inb instruction to obtain the current time of the RTC 215.
  • the time of RTC215 can be: January 01, 2015, 23:00, 00:00.
  • step 405 the storage system 100 obtains the time of the reference clock 225 through the communication channel between the BMC 220 and the south bridge chip 210. Since the reference clock 225 is managed by the BMC 220, the BMC 220 can read the value of the time register of the reference clock 225 through the I 2 C interface between the reference clock 225 and the BMC 220 to obtain the current time of the reference clock 225. Thus, the processor 200 can obtain the current time of the reference clock 225 from the BMC 220 through the communication channel between the BMC 220 and the south bridge chip 210.
  • the processor 200 initiates a request to the BMC 220 to read the reference clock 225 through the communication channel, and the BMC 220 reads the value of the register of the reference clock 225 according to the request of the processor 200, and then uses the register of the reference clock 225 through the communication channel.
  • the value is returned to the processor 200 so that the processor 200 can know the current time of the reference clock 225.
  • the current time at reference clock 225 can be: 2013 January 01, 01:00:00.
  • the memory system 100 obtains the time difference based on the time of the real time clock 215 and the time of the reference clock 225.
  • the processor 200 can obtain the time difference between the real-time clock 215 and the reference clock 225 by the difference between the time of the real-time clock 215 and the time of the reference clock 225.
  • the time difference between the real-time clock 215 and the reference clock 225 may be: 201 January 01, 13:00:00:00, and the difference between 01:00, 01:01, 01:00,00:00, In this manner, the time difference between the real time clock 215 and the reference clock 225 is 17542 hours.
  • the storage system 100 determines whether the time difference is greater than a time precision cumulative error of the reference clock 225.
  • the time precision cumulative error of the reference clock 225 may also be determined based on the runtime of the memory system 100 and the time accuracy error of the reference clock 225. Specifically, the initial time of the initial power-on operation reference clock 225 of the storage system 100 can be recorded, and the storage system 100 can be obtained by calculating the difference between the current time of the reference clock 225 and the initial time of the reference clock 225 when the data operation request is received. The running time, in turn, can obtain the time precision cumulative error of the reference clock 225 according to the running time of the storage system 100 and the time precision error of the reference clock 225.
  • the manner in which the time precision cumulative error of the reference clock 225 is obtained is not limited in the embodiment of the present invention.
  • the processor 200 may determine to compare the time difference with the time-accuracy cumulative error of the reference clock 225, and determine whether the time difference is greater than the time-accuracy cumulative error of the reference clock 225. .
  • the time difference between the real-time clock 215 and the reference clock 225 is 17542 hours, and the time-accuracy cumulative error of the reference clock 225 is 1576. 8 seconds, the time difference between the real-time clock 215 and the reference clock 225 is greater than the time of the reference clock 225.
  • Accuracy cumulative error If the time difference is greater than the time precision cumulative error of the reference clock 225, the method proceeds to step 315, and if the time difference is not greater than the time precision cumulative error of the reference clock 225, the method proceeds to step 320.
  • step 315 storage system 100 refuses to execute the data operation request.
  • the RTC 215 may be maliciously modified, while the reference clock 225 cannot be modified during operation of the storage system 100, and the reference clock 225 is not in time during operation of the storage system 100.
  • Server 120 remains in sync. Therefore, there is no possibility of a malicious modification of the time of the reference clock 225, and the time of the reference clock 225 is more reliable than the time of the real time clock 215.
  • the processor 200 determines in step 310 that the time difference between the real time clock 215 and the reference clock 225 is greater than the time precision cumulative error of the reference clock 225, the real time clock 215 has been maliciously modified.
  • the storage system 100 may refuse to execute the data operation request, refusing to make changes to the data in the storage and storage system 100 in accordance with the received data operation request.
  • the storage system 100 may also issue the data operation request while refusing to execute the data operation request.
  • the alarm is generated and the time of the real time clock 215 is synchronized to the time of the reference clock 225, thereby achieving the purpose of correcting the system clock of the storage system 100.
  • step 320 the storage system 100 determines whether the current time of the real time clock 215 is greater than the protection period of the data pointed to by the data operation request. For example, if the data operation request is changed to meet the requirements of the data storage regulations, the data protection request is changed from January 1, 2015 to 00:00:00, that is, the data needs to be 00:00, January 01, 2015. It can only be modified or deleted after 00 minutes and 00 seconds. If the storage system 100 determines in step 310 that the time difference between the real time clock 215 and the reference clock 225 is not greater than the time precision cumulative error of the reference clock 225, the storage system 100 needs to further determine whether the current time of the real time clock 215 is greater than the data operation request.
  • the protection period of the pointed data if the current time of the real-time clock 215 is not greater than the protection period of the data pointed to by the data operation request, it indicates that the data pointed to by the data operation request is still within the protection period, and the data cannot be modified or If the operation is deleted, the method proceeds to step 315 where the storage system 100 refuses to execute the data operation request. If the current time of the real-time clock 215 is greater than the protection period of the data pointed by the data operation request, it indicates that the data pointed to by the data operation request has passed the protection period, and Change or delete the data.
  • the data protection request to change the data protection period is January 01, 2015 00:00:00, if the data is still within the protection period, then proceeds to step 315, the storage system 100 refuses to execute the data Operation request. If the current time of the real-time clock 215 is 00:00:00, 00:00, 01:01, 01, the data protection request data is to be changed for the protection period of January 1, 2012, 00:00:00, indicating the data. The protection period has passed and the method proceeds to step 325.
  • step 325 the storage system 100 executes the data operation request.
  • the storage system 100 can delete or modify the stored data according to the data operation request to change the stored data content.
  • the storage system 100 checks the time of the real-time clock 215 by referring to the time of the clock 225. - If the time difference between the real time clock 215 and the reference clock 225 is greater than the time precision cumulative error of the reference clock 225, the data operation request is rejected. Since the reference clock 225 cannot be modified during operation of the memory system, the time of the reference clock 225 is more accurate than the time of the real time clock 215.
  • the embodiment of the present invention determines whether to perform a change operation on the data by comparing the time difference between the real-time clock 215 and the reference clock 225 with the time-accuracy cumulative error of the reference clock 225, thereby preventing the storage caused by the malicious modification of the real-time clock 215.
  • the data stored in the system is maliciously altered, improving the security of the stored data.
  • the embodiment of the present invention further provides a method for maintaining the system clock of the storage system 100, which may still be performed by FIG. 1 or
  • the controller 105 in the storage system 100 shown in FIG. 1 is executed.
  • the method in FIG. 4 is described below with reference to FIG. 1 and FIG. 2. As shown in FIG. 4, the method includes:
  • step 405 the controller 105 monitors the runtime of the storage system 100.
  • the running time of the storage system 100 can be monitored when the storage system 100 is initially powered on.
  • the initial time of the system clock of the storage system 100 is the initial time of the real-time clock 215, and the initial time of the real-time clock 215 is the storage system 100.
  • the time of the time server 120 that was synchronized at initial power up.
  • the initial time of the system clock of the storage system 100 and the initial power-on time of the storage system 100 The time between the servers 120 is the same.
  • the real time clock 215 will be synchronized with the time server 120 during operation of the storage system 100.
  • the controller 105 may determine whether the runtime of the storage system 100 has reached the set time. It can be understood that a fixed time period can be set, for example, 1 month or 6 months, etc. Of course, the set time may not be a fixed time period, for example, it can be set to run to XX XX XX day. The set time is not limited here. If the run time reaches the set time, the method proceeds to step 415, otherwise returns to step 405 to continue monitoring the runtime of the storage system 100.
  • step 415 the controller 105 obtains the time difference between the real time clock 215 and the reference clock 225, wherein the real time clock 215 is synchronized with the time server 120, which cannot be modified during system operation.
  • Step 415 is similar to step 305 in FIG. 3. For details, refer to the foregoing description of step 305 in FIG.
  • step 420 the controller 105 determines whether the time difference is greater than the time precision cumulative error of the reference clock 225. If the time difference is greater than the time precision cumulative error of the reference clock 225, the method proceeds to step 425, otherwise, the process returns to step 405 to continue monitoring the runtime of the storage system 100.
  • Step 420 is similar to step 310 in FIG. 3. For details, refer to the foregoing description of step 310 in FIG.
  • step 425 the controller 105 issues an alert and synchronizes the time of the real time clock 215 to the time of the reference clock 225. Since the time accuracy of the reference clock 225 is generally higher than the time precision of the real time clock 215, and the reference clock 225 cannot be modified during system operation, the time of the reference clock 225 is more accurate. In order to provide storage system 100 with a more accurate system time, storage system 100 can utilize real-time clock 215 with reference clock 225 to correct when the system's runtime reaches a set time.
  • the system clock of the storage system 100 provided by the embodiment of the present invention is not only synchronized with the time server 120, but also the real-time clock 215 is corrected by using the reference clock 225, thereby making the system clock maintenance method shown in FIG. Storage system 100 has a more accurate system time.
  • the specific forms of the reference clock and the system clock are not limited.
  • a real-time clock can be added under multiple embedded CPUs. According to this manner, a storage system can There are multiple real time clocks.
  • a real-time clock in the first mode, can be determined as a clock source of the system clock of the storage system by means of election.
  • the time of the plurality of real-time clocks may be compared. If the time of more than half of the plurality of real-time clocks is the same, the time of the real-time clock is more than half As a reference clock.
  • the time of the real-time clock of the half or more is taken as The system time of the storage system to provide a reliable and accurate system time for the storage system.
  • the embodiment of the present invention is also applicable to the storage system including the file system, and the data described in the embodiment of the present invention may also be stored in the storage system in the form of a file.
  • the method described in the embodiments of the present invention can be applied to operations of data blocks in a storage system or operations on files in a storage system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Electric Clocks (AREA)

Abstract

本发明实施例提供了一种存储系统及数据操作请求处理方法。该方法应用于具有"一次写入多次读取"(Write Once Read Many,WORM)的功能的存储系统中,该方法包括:接收应用服务器发送的数据操作请求,所述数据操作请求用于对存储于所述存储系统中的数据进行变更;获取实时时钟与参考时钟的时间差,其中,所述实时时钟用于为所述存储系统提供系统时间,所述参考时钟在系统运行过程中无法被修改;判断所述时间差是否大于所述参考时钟的时间精度累计误差;若所述时间差大于所述时间精度累计误差,则拒绝执行所述数据操作请求。本发明实施例提供的数据操作请求处理方法能够提高存储于存储系统中的数据的安全性。

Description

存储系统及数据操作请求处理方法 技术领域
[0001] 本发明涉及存储技术领域,尤其涉及存储系统及数据操作请求处理方 法。
背景技术
[0002] 现代企业需要存储的重要文件越来越多,为了满足企业对这些重要文 件的查询需求, 以及为了满足相关存储法规对文件审计的要求, 越来越多的存 储系统支持 "一次写入多次读取" ( Write Once Read Many, WORM ) 的功能。 支持 WORM功能的存储系统能够为用户指定的文件设定保护期限 ,在该保护期限 内, 该文件的安全属性通常被设置为只读属性。 在保护期限内, 该文件只能被 读取而不能被修改或删除。 当达到该文件的保护期限时, 才可以根据用户的需 求对该文件的安全属性进行修改或删除。 并且, 通常, 在文件的保护期限内, 用户也不能对设定的保护期限进行修改, 以最大限度的保证文件的安全性。
[0003] 文件的保护期限与存储系统的系统时钟密切相关,文件的保护期限是 根据存储系统的系统时钟计算获得的。 如果存储系统的系统时钟被恶意更改, 文件的实际保护期限则会被改变,则文件的安全属性和文件内容就可能被变更, 进而影响了文件的安全性。
[0004] 现有技术中,为了保证存储系统有一个可信的系统时钟,通常会在存 储系统的控制器中的南桥中集成一个实时时钟(Real Time Clock, RTC )。 实时 时钟是指能够像时钟一样输出实际时间的电子设备, 实时时钟一般可以是集成 电路, 因此也可称为时钟芯片。 实时时钟通常可以应用在个人电脑、 服务器、 存储系统或嵌入式系统等需要精确时间的系统中。 当存储系统的控制器中的处 理器上电时, 处理器读取南桥芯片中集成的 RTC的时间, 将 RTC的时间作为存 储系统的系统时钟。 然而, 现有技术中, 入侵者很容易通过修改集成在南桥芯 片中的 RTC时钟来达到修改存储系统的系统时钟的目的, 从而达到修改文件的 保护期限的目的, 影响了文件的安全性。
发明内容
[0005] 本发明实施例中提供了一种数据操作请求处理方法及存储系统,能够 提高存储系统中存储的数据的安全性。
[0006] 第一方面, 本发明实施例提供了一种存储系统, 该存储系统为具有 "一次写入多次读取" ( Wr i te Once Read Many, WORM ) 的功能的存储系统, 包 括存储设备和控制器,所述存储设备用于存储数据,所述控制器包括实时时钟、 参考时钟和处理器。 所述实时时钟用于为所述存储系统提供系统时间。 所述参 考时钟用于对所述存储系统的系统时间进行校验。 所述参考时钟在系统运行过 程中无法被修改。 所述处理器用于接收应用服务器发送的数据操作请求, 所述 数据操作请求用于对存储于所述存储设备中的数据进行变更; 获取所述实时时 钟与所述参考时钟的时间差; 判断所述时间差是否大于所述参考时钟的时间精 度累计误差; 若所述时间差大于所述时间精度累计误差, 则拒绝执行所述数据 操作请求。
[0007] 结合第一方面, 在第一种可能的实现方式中, 所述存储系统还包括: 单板管理控制器(Board Manage Cont ro l ler , BMC ), 用于读取所述参考时钟的 时间寄存器的值, 获得所述参考时钟的时间。 所述处理器具体用于读取实时时 钟的时间寄存器的值, 以获得所述实时时钟的时间, 通过所述 BMC与南桥芯片 之间的通信通道获得所述参考时钟的时间, 并根据所述实时时钟的时间以及所 述参考时钟的时间获得所述时间差。
[0008] 结合第一方面以及第一方面的第一种可能的实现方式,在第二种可能 的实现方式中, 所述处理器还用于: 若所述时间差不大于所述时间精度累计误 差, 则判断所述实时时钟的当前时间是否大于所述数据操作请求指向的数据的 保护时间; 若所述实时时钟的当前时间大于所述保护时间, 则执行所述数据操 作请求。
[0009] 结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中, 所述处理器还用于若所述实时时钟的当前时间不大于所述保护时间, 则拒绝执 行所述数据操作请求。
[0010] 结合第一方面或者第一方面的第一种至第三种任意一种可能的实现 方式, 在第四种可能的实现方式中, 所述处理器还用于: 按照设定的时间间隔 判断所述时间差是否大于所述参考时钟的时间精度累计误差; 若所述时间差大 于所述时间精度累计误差, 则将所述实时时钟的时间与所述参考时钟的时间保 持同步。
[0011] 结合第一方面或者第一方面的第一种至第四种任意一种可能的实现 方式, 在第五种可能的实现方式中, 所述处理器还用于根据所述存储系统的生 命周期以及所述参考时钟的时间精度误差来确定所述参考时钟的时间精度累计 误差。
[0012] 结合第一方面或者第一方面的第一种至第四种任意一种可能的实现 方式, 在第六种可能的实现方式中, 所述处理器还用于根据所述存储系统的运 行时间以及所述参考时钟的时间精度误差来确定所述参考时钟的时间精度累计 误差。
[0013] 结合第一方面或者第一方面的第一种至第六种任意一种可能的实现 方式, 在第七种可能的实现方式中, 所述存储系统还包括备电设备, 该备电设 备用于在所述存储系统掉电时, 为所述实时时钟以及所述参考时钟提供电源。
[0014] 第二方面,本发明实施例提供了一种数据操作请求处理方法,该方法 应用于具有 "一次写入多次读取" ( Write Once Read Many, WORM ) 的功能 的存储系统中, 该方法包括: 接收应用服务器发送的数据操作请求, 所述数据 操作请求用于对存储于所述存储系统中的数据进行变更; 获取实时时钟与参考 时钟的时间差, 其中, 所述实时时钟用于为所述存储系统提供系统时间, 所述 参考时钟在系统运行过程中无法被修改; 判断所述时间差是否大于所述参考时 钟的时间精度累计误差; 若所述时间差大于所述时间精度累计误差, 则拒绝执 行所述数据操作请求。
[0015] 结合第二方面,在第一种可能的实现方式中,所述获取实时时钟与参 考时钟的时间差包括: 读取所述实时时钟的时间寄存器的值以获得所述实时时 钟的时间; 通过南桥芯片与单板管理控制器( Board Manage Controller, BMC ) 之间的通信通道获得所述参考时钟的时间; 比较所述实时时钟的时间与所述参 考时钟的时间, 获得所述实时时钟与所述参考时钟的时间差。
[0016] 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的 实现方式中, 该方法还包括: 若所述时间差不大于所述时间精度累计误差, 则 判断所述实时时钟的当前时间是否大于所述数据操作请求指向的数据的保护时 间;若所述实时时钟的当前时间大于所述保护时间,则执行所述数据操作请求。
[0017] 结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中, 该方法还包括: 若所述实时时钟的当前时间不大于所述保护时间, 则拒绝执行 所述数据操作请求。
[0018] 结合第二方面或第二方面的第一种至第三种任意一种可能的实现方 式, 在第四种可能的实现方式中, 该方法还包括: 按照设定的时间间隔判断所 述时间差是否大于所述参考时钟的时间精度累计误差; 若所述时间差大于所述 时间精度累计误差,则将所述实时时钟的时间与所述参考时钟的时间保持同步。
[0019] 结合第二方面或第二方面的第一种至第四种任意一种可能的实现方 式, 在第五种可能的实现方式中, 该方法还包括: 根据所述存储系统的生命周 期以及所述参考时钟的时间精度误差确定所述参考时钟的时间精度累计误差。
[0020] 结合第二方面或第二方面的第一种至第四种任意一种可能的实现方 式, 在第六种可能的实现方式中, 该方法还包括: 根据所述存储系统的运行时 间以及所述参考时钟的时间精度误差来确定所述参考时钟的时间精度累计误差。
[0021] 第三方面,本发明实施例提供了一种非短暂性的机器可读介盾,用于 存储可执行上述方法的计算机指令。
[0022] 本发明实施例提供的存储系统,包括了在存储系统运行过程中无法被 修改的参考时钟, 并通过将实时时钟与参考时钟的时间差与参考时钟的时间精 度累计误差进行比较来判断是否执行对存储于存储系统中的数据的变更操作 , 从而能够防止因实时时钟被恶意修改而导致的存储系统中存储的数据被恶意变 更, 提高了存储的数据的安全性。 附图说明
[0023] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作筒单的介绍。
[0024] 图 1是本发明实施例提供的一种存储系统的应用场景示意图;
[0025] 图 1本发明实施例提供的一种的存储系统中的控制器的结构示意图;
[0026] 图 3为本发明实施例提供的一种数据操作请求处理方法的流程图;
[0027] 图 4 为本发明实施例提供的一种存储系统的系统时钟维护方法的流 程图。 具体实施方式
[0028] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明 实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然, 所描述的实施例仅仅是本发明一部分的实施例, 而不是全部的实施例。
[0029] 图 1是本发明实施例提供的一种存储系统的应用场景示意图。如图 1 所示, 在该应用场景下, 应用服务器 110通过连接设备与存储系统 100进行通 信。应用服务器 110中可以安装有操作系统以及其他应用程序。应用服务器 110 可以通过连接设备向存储系统 100发送数据操作请求, 用于对存储系统 100中 的数据进行修改或读取等操作。其中,应用服务器 110可以包括数据库服务器、 邮件服务器等应用服务器。 连接设备可以包括当前技术已知的存储系统和应用 服务器之间的任何接口,如光纤交换机、以太网交换机或者其他现有的交换机。 根据这种连接方式, 应用服务器 110可以通过光纤通道、 以太网或其他通信方 式与存储系统 100通信。 应用服务器 110可以有多个。
[0030] 时间服务器 120是一种网络服务器。 时间服务器 120从原子钟、 GPS 时钟或另一时间服务器等获得时间信息, 并将获得的时间信息通过网络 ( Internet )传递给网络设备, 例如存储系统 100 , 从而能够为用户提供精确、 标准、 安全和可靠的时间服务。
[0031] 存储系统 100为支持 "一次写入多次读取" ( Write Once Read Many, WORM ) 的功能的存储系统。 存储系统 100包括控制器 105以及磁盘 108。 其 中, 控制器 105用于根据应用服务器 110发送的操作请求对磁盘 108中存储的 数据进行操作。磁盘 108用于存储数据。可以理解的是,磁盘 108可以为一个, 也可以有多个。 需要说明的是, 磁盘 108仅仅是本发明实施例中所示的存储设 备的一种示例, 除了磁盘之外, 存储设备还可以包括廉价磁盘阵列 (Redundant Arrays of Inexpensive Disks, RAID )、 磁盘条 ( Just a Bunch Of Disks, JBOD )、 直接存取存储器(Direct Access Storage Device, DASD ) 的一个或多个互连的 磁盘驱动器, 其中, 直接存取存储器可以包括诸如磁带库、 一个或多个存储单 元的磁带存储设备。 在本发明实施例中不对存储系统 100中的存储设备进行限 定。
[0032] 存储系统 100将从时间服务器 120获得的网络时间作为系统时钟。在 存储系统 100的运行过程中, 存储系统 100通过时间同步协议使存储系统 100 的系统时钟与时间服务器 120保持时间同步, 并将系统时钟作为磁盘 108中存 储的数据的存储期限的判断依据。 时间同步协议包括但不限于网络时间协议 (Network Time Protocol, NTP)、 筒单网络时间协议 ( Simple Network Time Protocol, SNTP )以及精确时间协议 (Precision Timing Protocol, PTP)。其中, PTP 是 IEEE 1588 标准的筒称, IEEE1588标准的全称是 "网络测量和控制系统的 精密时钟同步协议标准( IEEE 1588 Precision Clock Synchronization Protocol )"。
[0033] 图 2为本发明实施例提供的一种存储系统的控制器结构示意图。如图 2所示,控制器 105可以包括:处理器 200、存储器 205、南桥芯片( South Bridge ) 210、 实时时钟( Real Time Clock, RTC ) 215、 单板管理控制器( Board Manage Controller, BMC ) 220、 参考时钟 225、 电源 230以及电池 235。 其中, 处理器 200与存储器 205之间通过内存总线进行通信。 处理器 200与南桥芯片 210通 过通信总线通信, 其中, 通信总线可以包括高速外围组件互联 (Peripheral Component Interconnect Express, PCI-E ) 总线或直接媒体接口 (Direct Media Interface, DMI ) 总线等通信总线。
[0034] 存储器 205 ,用于存放程序 2051。存储器 205可能包含高速 RAM存储 器, 也可能还包括非易失性存储器(non-volatile memory ), 例如至少一个磁盘 存储器。可以理解的是,存储器 205可以为随机存储器 (Random-Access Memory, RAM) , 磁碟、 硬盘、 光盘、 固态硬盘( Solid State Disk, SSD )或者非易失性 存储器等各种可以存储程序代码的非短暂性的( non-transitory )机器可读介盾 , 在此不做限定。
[0035] 程序 2051可以包括程序代码 , 所述程序代码包括计算机操作指令。 [0036] 南桥芯片 210用于负责处理器 200与外部设备之间的通信,以实现处 理器对外设部件互连标准 (Peripheral Component Interconnect, PCI)接口设备、通 用串行总线( Universal Serial Bus, USB )接口设备、 实时时钟( Real Time Clock, RTC )等设备的控制。此外,南桥芯片 210还可以通过串行 ATA ( Serial Advanced Technology Attachment, SATA )接口连接磁盘 108。 南桥芯片包括但不限于集成 南桥, 例如平台控制中枢 (Platform Controller Hub, PCH)。
[0037] 实时时钟 215可以是南桥芯片 210中内嵌的一个实时时钟功能电路, 是存储系统的系统时钟的时钟源。在实际应用中,在存储系统 100初始上电时, 可以通过时间同步协议将实时时钟 215的初始时间与时间服务器 120的时间保 持一致。 例如, 在 tl时刻, 处理器 200可以根据 NTP协议向时间服务器 120 发送同步报文, 该同步报文于 t2时刻到达时间服务器 120, 时间服务器 120于 t3时刻向处理器 200返回所述同步报文的响应报文,该响应报文中携带有 t2时 刻和 t3时刻的时间信息, 该响应 ·ί艮文于 t4时刻到达处理器 200。 处理器 200可 以计算 [(t2-tl)+(t3-t4)]/2的值,将计算获得的值作为实时时钟 215与时间服务器 120的时间差 A t。 处理器 200可以通过读取实时时钟 215的时间寄存器的值获 得实时时钟 215的当前时间 T1 , 并将 Tl- A t的值写入实时时钟 215的时间寄 存器, 作为实时时钟 215的初始时间。 通过上述方式可以将实时时钟 215的初 始时间与时间服务器 120的时间保持一致。 在存储系统运行过程中, 实时时钟 215也可以通过时间同步协议与时间服务器 120保持时间同步, 从而能够为存 储系统提供准确的系统时间。
[0038] 由于实时时钟 215集成在南桥芯片 210中, 实时时钟 215的读写 10 地址是对任何人公开的,因此,处理器 200可以通过 inb 或 outb指令对 RTC 215 的时钟寄存器进行访问。 例如, 处理器 200可以通过 inb指令读取 RTC 215的 时钟寄存器的值, 获得 RTC 215的当前时间, 并将 RTC 215的时间作为系统时 钟的当前时间。 处理器 200还可以通过 outb指令修改 RTC 215的时钟寄存器的 值, 以修改 RTC 215的时间, 从而达到修改系统时钟的时间的目的。 可以理解 的是, 实时时钟 215的时间是以 XXXX年 XX月 XX日 XX时 XX分 XX秒的格式呈 现的。
[0039] 由于处理器 200可以通过 outb指令修改 RTC 215的时钟寄存器的值, 且 RTC215在存储系统运行过程中通常与时间服务器 120的时间保持同步,因此 入侵者可以通过修改 RTC 215的时钟寄存器的值修改 RTC 215的时间, 达到修 改系统时间的目的。 入侵者还可以通过修改存储系统 100与时间服务器 120之 间的网络连接, 将存储系统 100与虚假的时间服务器连接, 从而通过时间同步 协议使得 RTC 215的时间与虚假的时间服务器的时间保持同步, 以达到修改系 统时间的目的。 因此在存储系统 100运行的过程中, RTC 215的时间可能被恶 意修改。
[0040] 单板管理控制器 220, 用于对控制器单板的管理, 包括对控制器中的 电源管理、 参数配置以及维护等。 单板管理控制器 220可以是一颗嵌入式处理 器。 单板管理控制器 220可以通过串口或先入先出 ( First In First Out, FIFO ) 接口与南桥芯片 210进行通信。
[0041] 参考时钟 225 , 用于对所述存储系统的系统时间进行校验。 参考时钟 225 可以是一颗独立的具有实时时钟功能的芯片或者一个独立的实时时钟功能 电路模块。 在本发明实施例中, 在存储系统 100运行过程中, 参考时钟 225无 法被修改。 参考时钟 225的时间也是以 XXXX年 XX月 XX日 XX时 XX分 XX秒的 格式呈现的。 参考时钟 225的时间精度比实时时钟 215的时间精度高, 通常参 考时钟 225的时间精度为几个 ppm,其中, lppm等于百万分之一(即 lppm=l * l()-6 )。 通常, 参考时钟 225的时间精度误差比较小, 例如, 参考时钟 225的时间精度 为 ± 2ppm, 根据这种方式, 参考时钟 225运行 1秒, 存在小于 2ppm的误差。 可 以理解的是, 实际应用中, 由于参考时钟 225的时间精度要求比较高, 因此, 参考时钟 225的时间精度误差可以不超过 ± 5 ppm。 根据设定的参考时钟 225的 时间精度误差可以获得所述存储系统中参考时钟 225的时间精度累计误差。 例 如,若参考时钟 225的时间精度误差为 5ppm,则以一年为 365天为例进行计算, 参考 时钟 225 在一年 内 的 时 间 精度误差 的 总 和 大约 为 : 60*60*24* 365*5* 1Ο-6=157· 68秒。 根据这种方式, 参考时钟 225运行 365天, 允许的误差的最大值为 157. 68秒。
[0042] 参考时钟 225提供有一个外部访问接口,该外部访问接口可以是集成 电路( Inter-Integrated Circuit,I2C )接口。单板管理控制器 220通过参考时钟 225 提供的外部访问接口对参考时钟 225进行控制, 例如, 单板管理控制器 220可 以通过参考时钟 225提供的 I 2C接口读取或修改参考时钟 225的时间寄存器的 值, 其中 I 2C接口可以为一种串行通信总线接口。 在本发明实施例中, 由于参 考时钟 225并没有集成在南桥芯片 210中, 因此, 处理器 200无法通过 inb或 outb指令对参考时钟 225的时钟寄存器进行访问。处理器 200可以通过南桥芯 片 210与单板管理控制器 220之间的通信通道获得参考时钟 225的时间寄存器 的值, 以获取参考时钟 225的时间。
[0043] 在本发明实施例中, 当存储系统 100初次上电时,管理员可以通过单 板管理控制器 220的管理接口启动参考时钟 225的时间管理程序, 通过单板管 理控制器 220与参考时钟 225之间的 I 2C接口, 将参考时钟 225的初始时间设 定为与实时时钟 215的时间一致。 其中, 参考时钟 225的时间管理程序可以存 储在单板管理控制器 220的程序存储器中。 在将参考时钟 225的初始时间设定 后, 删除参考时钟 225的时间管理程序, 使参考时钟 225的时间无法被更改, 以便参考时钟 225能够为存储系统 100提供一个准确的校验时间。
[0044] 电源 230 , 用于给控制器 105供电, 以实现对实时时钟 115和参考时 钟 225供电, 使实时时钟 215和参考时钟 225能够正常计时。
[0045] 电池 235 , 用于当存储系统 100出现故障, 电源 230无法供电时, 为 实时时钟 215和参考时钟 225提供电源。 电池 235可以是锂电池。 需要说明的 是, 电池 235仅仅是备电设备的一种示例, 实际应用中, 备电设备还可以包括 超级电容等供电器件。
[0046] 处理器 200 , 可能是一个中央处理器 CPU , 或者是特定集成电路 ( Application Specific Integrated Circuit, ASIC ), 或者是被配置成实施本发明实 施例的一个或多个集成电路。 在本发明实施例中, 处理器 200用于执行程序, 具体可以执行下述图 3至图 5所示的方法实施例中的相关步骤。
[0047] 图 3为本发明实施例提供的一种数据操作请求处理方法的流程图。该 方法可以应用于图 1中所示的存储系统 100中,其中,存储系统 100为支持 "一 次写入多次读取" ( Write Once Read Many, WORM )的功能的存储系统。 该方 法可以由图 1或图 2中所示的存储系统 100的控制器 105来执行, 具体的可以 由控制器 105中的处理器 200来执行。 下面将结合图 1及图 2对图 3中所示的 方法进行描述。 如图 3所示, 该方法可以包括:
[0048] 在步骤 300中,存储系统 100接收应用服务器 110发送的数据操作请 求, 所述数据操作请求用于对存储于存储系统 100中的数据进行变更。 其中, 本发明实施例中描述的存储于存储系统 100 中的数据是指已经写入存储系统 100 , 并在设定的保护期限内能只能进行读取操作的数据。换一种表达方式, 本 发明实施例中描述的数据是指在设定的保护期限内具有只读属性的数据。 本发 明实施例中描述的对数据的变更包括对数据的修改、 删除或增加等除了读取操 作之外的能够使已存储的数据内容产生变化的操作。
[0049] 在步骤 310中,存储系统 100获取实时时钟 215与参考时钟 225的时 间差。 其中, 所述实时时钟 215与时间服务器 120同步, 所述参考时钟 225的 时间在存储系统 100运行过程中无法被修改。
[0050] 在存储系统 100接收到应用服务器 110发送的数据操作请求后,为了 确定实时时钟 215的时间没有被恶意修改,存储系统 100可以获取实时时钟 215 与参考时钟 225的时间差,通过参考时钟 225对实时时钟 215的时间进行校验。 具体的, 存储系统 100的处理器 200可以通过图 4所述的方法流程获得获取实 时时钟 215与参考时钟 225的时间差。 如图 4所示, 该方法包括:
[0051] 在步骤 400中, 存储系统 100读取实时时钟 215的时钟寄存器的值, 以获得所述实时时钟 215的时间。 具体的, 处理器 200可以通过 inb指令读取 RTC 215的时钟寄存器的值, 获得 RTC 215的当前时间。 例如 RTC215的时间可 以为: 2015年 01月 01 日 23时 00分 00秒。
[0052] 在步骤 405中,存储系统 100通过 BMC 220与南桥芯片 210之间的通 信通道获得参考时钟 225的时间。 由于参考时钟 225由 BMC 220进行管理, BMC 220可以通过参考时钟 225与 BMC 220之间的 I 2C接口读取参考时钟 225的时 间寄存器的值, 以获得参考时钟 225的当前时间。 从而, 处理器 200可以通过 BMC 220与南桥芯片 210之间的通信通道从 BMC 220处获得参考时钟 225的当 前时间。例如,处理器 200通过通信通道向 BMC220发起读取参考时钟 225时间 的请求, BMC 220根据处理器 200的请求读取参考时钟 225的寄存器的值, 再 通过该通信通道将参考时钟 225的寄存器的值返回给处理器 200 , 从而处理器 200能够知道参考时钟 225的当前时间。参考时钟 225的当前时间可以为: 2013 年 01月 01 日 01时 00分 00秒。
[0053] 在步骤 410中,存储系统 100根据实时时钟 21 5的时间以及参考时钟 225的时间获得所述时间差。 具体的, 处理器 200可以才 居实时时钟 215的时 间与参考时钟 225的时间的差值获得实时时钟 215与参考时钟 225的时间差。 例如, 在上述示例中, 实时时钟 215与参考时钟 225的时间差可以为: 201 5年 01月 01 日 23时 00分 00秒与 201 3年 01月 01 日 01时 00分 00秒的差值,根 据这种方式, 实时时钟 215与参考时钟 225的时间差为 17542小时。
[0054] 在步骤 310中,存储系统 100判断所述时间差是否大于参考时钟 225 的时间精度累计误差。 在一种实施方式中, 参考时钟 225的时间精度累计误差 可以预先设定,具体的,可以预先根据存储系统 100的生命周期与参考时钟 225 的时间精度误差来确定参考时钟 225的时间精度累计误差。 例如, 若存储系统 100的生命周期为 10年, 若如前示例, 参考时钟 225的时间精度误差为 ± 5微 秒,参考时钟 225运行一年的时间精度误差为 157. 68秒,则参考时钟 225的时 间精度累计误差为: 10年 * 157. 68秒 /年 =1576. 8秒。
[0055] 在另一种实施方式中,参考时钟 225的时间精度累计误差还可以根据 存储系统 100的运行时间以及参考时钟 225的时间精度误差来确定。 具体的, 可以记录存储系统 100初始上电运行时参考时钟 225的初始时间, 并通过计算 收到数据操作请求时参考时钟 225的当前时间与参考时钟 225的初始时间的差 值来获得存储系统 100的运行时间, 进而能够根据存储系统 100的运行时间与 参考时钟 225的时间精度误差获得参考时钟 225的时间精度累计误差。 例如, 若存储系统 100当前运行了 5年, 且参考时钟 225运行一年的时间精度误差为 157. 68秒, 则参考时钟 225的时间精度累计误差为: 5年 * 157. 68秒 /年 =788. 4 秒。 在本发明实施例中不对参考时钟 225的时间精度累计误差的获得方式进行 限定。
[0056] 在获得实时时钟 215与参考时钟 225的时间差后,处理器 200可以判 断将该时间差与参考时钟 225的时间精度累计误差进行比较, 判断所述时间差 是否大于参考时钟 225的时间精度累计误差。例如,如前述示例, 实时时钟 215 与参考时钟 225的时间差为 17542小时, 参考时钟 225的时间精度累计误差为 1576. 8秒,则实时时钟 21 5与参考时钟 225的时间差大于参考时钟 225的时间 精度累计误差。 如果所述时间差大于参考时钟 225的时间精度累计误差, 则该 方法进入步骤 315 ,如果所述时间差不大于参考时钟 225的时间精度累计误差, 则该方法进入步骤 320。
[0057] 在步骤 315中,存储系统 100拒绝执行所述数据操作请求。 由于如前 所述, 在存储系统 100运行过程中, RTC 215可能被恶意修改, 而参考时钟 225 在存储系统 100运行过程中无法被修改, 参考时钟 225在存储系统 100运行过 程中也不与时间服务器 120保持同步。 因此, 参考时钟 225的时间不存在被恶 意修改的可能, 参考时钟 225的时间比实时时钟 215的时间更可信。 在本发明 实施例中, 若在步骤 310中, 处理器 200判断实时时钟 215与参考时钟 225的 时间差大于参考时钟 225的时间精度累计误差, 则说明实时时钟 215已经被恶 意修改。 为了保护存储系统 100中存储的数据的安全性, 存储系统 100可以拒 绝执行所述数据操作请求, 拒绝根据接收的数据操作请求对存储与存储系统 100中的数据进行变更。
[0058] 可以理解的是,若所述实时时钟 215和参考时钟 225的时间差大于所 述参考时钟 225的时间精度累计误差时, 存储系统 100在拒绝执行所述数据操 作请求的同时,还可以发出告警,并将实时时钟 215的时间同步为参考时钟 225 的时间, 从而达到修正存储系统 100的系统时钟的目的。
[0059] 在步骤 320中,存储系统 100判断实时时钟 215的当前时间是否大于 所述数据操作请求指向的数据的保护期限。 例如, 若为了满足数据存储法规的 要求, 数据操作请求要变更的数据的保护期限为 2015年 01月 01 日 00时 00 分 00秒,也就是说,该数据需要到 2015年 01月 01 日 00时 00分 00秒后才能 被修改或删除。 若在步骤 310中, 存储系统 100判断实时时钟 215与参考时钟 225的时间差不大于参考时钟 225的时间精度累计误差, 则存储系统 100需要 进一步判断实时时钟 215的当前时间是否大于所述数据操作请求指向的数据的 保护期限, 如果实时时钟 215的当前时间不大于所述数据操作请求指向的数据 的保护期限, 则说明该数据操作请求指向的数据还处于保护期限内, 不能对该 数据进行修改或删除操作, 则该方法进入步骤 315 , 存储系统 100拒绝执行所 述数据操作请求。 如果实时时钟 215的当前时间大于所述数据操作请求指向的 数据的保护期限, 则说明该数据操作请求指向的数据已经过了保护期限, 可以 对该数据进行修改或删除等变更操作。
[0060] 例如: 若实时时钟 215的当前时间为 2013年 01月 01 日 00时 00分
00秒, 数据操作请求要变更的数据的保护期限为 2015年 01月 01 日 00时 00 分 00秒, 则说明该数据还处于保护期限内, 则进入步骤 315 , 存储系统 100拒 绝执行所述数据操作请求。 若实时时钟 215的当前时间为 201 3年 01月 01 日 00时 00分 00秒, 数据操作请求要变更的数据的保护期限为 2012年 01月 01 日 00时 00分 00秒, 则说明该数据已经过了保护期限, 该方法进入步骤 325。
[0061] 在步骤 325中, 存储系统 100执行所述数据操作请求。 例如, 存储系 统 100可以根据所述数据操作请求对存储的数据进行删除或修改等能够改变已 存储的数据内容的变更操作。
[0062] 本发明实施例所述的数据操作请求的处理方法中, 当存储系统 100 接收到应用服务器发送的数据操作请求时, 存储系统 100通过参考时钟 225的 时间对实时时钟 215的时间进行校-验 , 若实时时钟 215与参考时钟 225的时间 差大于参考时钟 225的时间精度累计误差, 则拒绝执行所述数据操作请求。 由 于参考时钟 225在存储系统运行过程中无法被修改, 因此, 参考时钟 225的时 间比实时时钟 215的时间更为准确。 本发明实施例通过将实时时钟 215与参考 时钟 225的时间差与参考时钟 225的时间精度累计误差进行比较来判断是否执 行对数据的变更操作 , 从而能够防止因实时时钟 215被恶意修改而导致的存储 系统中存储的数据被恶意变更, 提高了存储的数据的安全性。
[0063] 在另一方面,为了使存储系统 100有一个更可靠的系统时钟,本发明 实施例还提供了一种对存储系统 100的系统时钟进行维护的方法, 该方法依然 可以由图 1或图 1中所示的存储系统 100中的控制器 105来执行。 下面结合图 1及图 2对图 4中的方法进行描述, 如图 4所示, 该方法包括:
[0064] 在步骤 405中, 控制器 105监测存储系统 100的运行时间。 具体的, 可以在存储系统 100初始上电时开始监控存储系统 100的运行时间, 其中, 存 储系统 100的系统时钟的初始时间为实时时钟 215的初始时间, 实时时钟 215 的初始时间为存储系统 100初始上电时同步的时间服务器 120的时间。 换一种 表达方式, 存储系统 100的系统时钟的初始时间与存储系统 100初始上电时时 间服务器 120的时间相同。 本领域人员可以知道, 在存储系统 100的运行过程 中, 实时时钟 215会与时间服务器 120保持同步。
[0065] 在步骤 410中,控制器 105可以判断存储系统 100的运行时间是否达 到设置的时间。 可以理解的是, 可以设置一个固定时间周期, 例如 1个月或 6 个月等等, 当然, 设置的时间也可以不是一个固定的时间周期, 例如可以设置 为运行到 XX年 XX月 XX日。在此不对设置的时间做限定。如果运行时间达到设 置时间, 则该方法进入步骤 415 , 否则返回步骤 405 , 继续监测存储系统 100 的运行时间。
[0066] 在步骤 415中,控制器 105获取实时时钟 215与参考时钟 225的时间 差, 其中, 所述实时时钟 215与时间服务器 120同步, 所述参考时钟 225在系 统运行过程中无法被修改。 步骤 415与图 3中步骤 305类似, 具体可以参见前 述对图 3中步骤 305的描述。
[0067] 在步骤 420 中, 控制器 105判断所述时间差是否大于参考时钟 225 的时间精度累计误差。 若所述时间差大于参考时钟 225的时间精度累计误差, 该方法进入步骤 425 , 否则, 返回执行步骤 405 , 继续监测存储系统 100的运行 时间。 步骤 420与图 3中步骤 310类似, 具体可以参见前述对图 3中步骤 310 的描述。
[0068] 在步骤 425中,控制器 105发出告警,并将实时时钟 215的时间同步 为参考时钟 225的时间。 由于参考时钟 225的时间精度通常比实时时钟 215的 时间精度高, 且在系统运行的过程中参考时钟 225无法被修改, 因此参考时钟 225的时间更加准确。 为了给存储系统 100提供一个更准确的系统时间, 存储 系统 100可以在系统的运行时间达到设置的时间时, 利用参考时钟 225对实时 时钟 215进行校正。
[0069] 通过图 4所示的系统时钟的维护方法,本发明实施例提供的存储系统 100的系统时钟不仅与时间服务器 120保持同步, 同时还利用参考时钟 225对 实时时钟 215进行校正, 从而使存储系统 100有一个更加准确的系统时间。
[0070] 本发明实施例中, 对参考时钟和系统时钟的具体形式并不进行限定。 在另一种情形下, 例如, 在存储系统 100中包含多个嵌入式 CPU的情况下, 还 可以在多个嵌入式 CPU下增加实时时钟, 根据这种方式, 一个存储系统中可以 有多个实时时钟。 在这种情形下, 在第一种方式中, 可以通过选举的方式, 确 定一个实时时钟为该存储系统的系统时钟的时钟源。 当处理数据操作请求或需 要根据校正系统时钟时, 可以根据将多个实时时钟的时间进行比较, 若所述多 个实时时钟中半数以上的时钟的时间相同, 则将该半数以上实时时钟的时间作 为参考时钟。 在第二种方式中, 还可以通过将存储系统中的多个实时时钟的时 间进行比较, 若所述多个实时时钟中半数以上的时钟的时间相同, 则将该半数 以上实时时钟的时间作为该存储系统的系统时间,以为存储系统提供一个可靠、 准确的系统时间。
[0071] 可以理解的是,本发明实施例同样适用于包含文件系统的存储系统中, 换一种表达方式, 本发明实施例所述的数据还可以以文件的形式存储于存储系 统中。无论是针对存储系统中的数据块的操作还是对存储系统中的文件的操作 , 均可适用本发明实施例所述的方法。
[0072] 需要说明的是,本申请所提供的实施例仅仅是示意性的。所属领域的 技术人员可以清楚地了解到, 为了描述的方便和筒洁, 在上述实施例中, 对各 个实施例的描述都各有侧重, 某个实施例中没有详述的部分, 可以参见其他实 施例的相关描述。 在本发明实施例、 权利要求以及附图中揭示的特征可以独立 存在也可以组合存在。 在本发明实施例中以硬件形式描述的特征可以通过软件 来执行, 反之亦然。 在此不做限定。

Claims

权 利 要 求
1、一种存储系统, 所述存储系统为具有 "一次写入多次读取" ( Write Once Read Many, WORM ) 的功能的存储系统, 其特征在于, 包括:
存储设备, 用于存储数据;
控制器, 包括:
实时时钟, 用于为所述存储系统提供系统时间;
参考时钟, 用于对所述存储系统的系统时间进行校验, 所述参考时钟在系 统运行过程中无法被修改;
处理器, 用于接收应用服务器发送的数据操作请求, 所述数据操作请求用 于对存储于所述存储设备中的数据进行变更;
获取所述实时时钟与所述参考时钟的时间差;
判断所述时间差是否大于所述参考时钟的时间精度累计误差;
若所述时间差大于所述时间精度累计误差,则拒绝执行所述数据操作请求。
2、 根据权利要求 1所述的存储系统, 其特征在于, 还包括:
单板管理控制器( Board Manage Controller, BMC ), 用于读取所述参考时 钟的时间寄存器的值, 获得所述参考时钟的时间;
所述处理器具体用于:
读取实时时钟的时间寄存器的值, 以获得所述实时时钟的时间; 通过所述 BMC与南桥芯片之间的通信通道获得所述参考时钟的时间; 根据所述实时时钟的时间以及所述参考时钟的时间获得所述时间差。
3、 根据权利要求 1-2任意一项所述的存储系统, 其特征在于, 所述处理器 还用于:
若所述时间差不大于所述时间精度累计误差, 则判断所述实时时钟的当前 时间是否大于所述数据操作请求指向的数据的保护时间;
若所述实时时钟的当前时间大于所述保护时间,则执行所述数据操作请求。
4、 根据权利要求 3所述的存储系统, 其特征在于, 所述处理器还用于: 若所述实时时钟的当前时间不大于所述保护时间, 则拒绝执行所述数据操 作请求。
5、 根据权利要求 1-4任意一项所述的存储系统, 其特征在于, 所述处理器 还用于:
按照设定的时间间隔判断所述时间差是否大于所述参考时钟的时间精度累 计误差;
若所述时间差大于所述时间精度累计误差, 则将所述实时时钟的时间与所 述参考时钟的时间保持同步。
6、 根据权利要求 1-5任意一项所述的存储系统, 其特征在于, 所述处理器 还用于根据所述存储系统的生命周期以及所述参考时钟的时间精度误差来确定 所述参考时钟的时间精度累计误差。
7、 根据权利要求 1-5任意一项所述的存储系统, 其特征在于, 所述处理器 还用于根据所述存储系统的运行时间以及所述参考时钟的时间精度误差来确定 所述参考时钟的时间精度累计误差。
8、 根据权利要求 1-7任意一项所述的存储系统, 其特征在于, 还包括: 备电设备, 用于在所述存储系统掉电时, 为所述实时时钟以及所述参考时 钟提供电源。
9、一种数据操作请求处理方法,所述方法应用于具有 "一次写入多次读取" ( Write Once Read Many, WORM ) 的功能的存储系统中, 其特征在于, 所述方 法包括:
接收应用服务器发送的数据操作请求, 所述数据操作请求用于对存储于所 述存储系统中的数据进行变更;
获取实时时钟与参考时钟的时间差, 其中, 所述实时时钟用于为所述存储 系统提供系统时间, 所述参考时钟在系统运行过程中无法被修改;
判断所述时间差是否大于所述参考时钟的时间精度累计误差;
若所述时间差大于所述时间精度累计误差,则拒绝执行所述数据操作请求。
10、 根据权利要求 9所述的方法, 其特征在于, 所述获取实时时钟与参考时 钟的时间差包括:
读取所述实时时钟的时间寄存器的值以获得所述实时时钟的时间; 通过南桥芯片与单板管理控制器( Board Manage Controller, BMC )之间的 通信通道获得所述参考时钟的时间; 比较所述实时时钟的时间与所述参考时钟的时间, 获得所述实时时钟与所 述参考时钟的时间差。
11. 根据权利要求 9-10任意一项所述的方法, 其特征在于, 还包括: 若所述时间差不大于所述时间精度累计误差, 则判断所述实时时钟的当前 时间是否大于所述数据操作请求指向的数据的保护时间;
若所述实时时钟的当前时间大于所述保护时间,则执行所述数据操作请求。
12. 根据权利要求 11所述的方法, 其特征在于, 还包括:
若所述实时时钟的当前时间不大于所述保护时间, 则拒绝执行所述数据操 作请求。
13. 根据权利要求 9-12任意一项所述的方法, 其特征在于, 还包括: 按照设定的时间间隔判断所述时间差是否大于所述参考时钟的时间精度累 计误差;
若所述时间差大于所述时间精度累计误差, 则将所述实时时钟的时间与所 述参考时钟的时间保持同步。
14. 根据权利要求 9-13任意一项所述的方法, 其特征在于, 还包括: 根据所述存储系统的生命周期以及所述参考时钟的时间精度误差确定所述 参考时钟的时间精度累计误差。
15. 根据权利要求 9-13任意一项所述的方法, 其特征在于, 还包括: 根据所述存储系统的运行时间以及所述参考时钟的时间精度误差来确定所 述参考时钟的时间精度累计误差。
PCT/CN2013/083024 2013-09-05 2013-09-05 存储系统及数据操作请求处理方法 WO2015032059A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/CN2013/083024 WO2015032059A1 (zh) 2013-09-05 2013-09-05 存储系统及数据操作请求处理方法
CN201380001830.XA CN103718186B (zh) 2013-09-05 2013-09-05 存储系统及数据操作请求处理方法
EP13893114.2A EP2902940B1 (en) 2013-09-05 2013-09-05 Storage system and method for processing data operation request
US14/753,280 US9753941B2 (en) 2013-09-05 2015-06-29 Storage system and method for processing data operation request

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/083024 WO2015032059A1 (zh) 2013-09-05 2013-09-05 存储系统及数据操作请求处理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/753,280 Continuation US9753941B2 (en) 2013-09-05 2015-06-29 Storage system and method for processing data operation request

Publications (1)

Publication Number Publication Date
WO2015032059A1 true WO2015032059A1 (zh) 2015-03-12

Family

ID=50409485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/083024 WO2015032059A1 (zh) 2013-09-05 2013-09-05 存储系统及数据操作请求处理方法

Country Status (4)

Country Link
US (1) US9753941B2 (zh)
EP (1) EP2902940B1 (zh)
CN (1) CN103718186B (zh)
WO (1) WO2015032059A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104332170B (zh) * 2014-08-26 2017-10-10 华为技术有限公司 一种存储设备和数据存储方法
JP6259414B2 (ja) * 2015-03-24 2018-01-10 ファナック株式会社 不揮発性メモリに格納されたデータ等のメインテナンス機能を備えた数値制御装置
CN105046115A (zh) * 2015-09-15 2015-11-11 北京深思数盾科技有限公司 检测软件运行时间被篡改的方法及装置
CN107046600B (zh) * 2017-03-09 2020-12-04 广东艾檬电子科技有限公司 一种Android系统标准时间的确定方法及装置
CN108073484A (zh) * 2017-11-23 2018-05-25 郑州云海信息技术有限公司 一种bmc时间准确性测试方法及系统
CN112148065A (zh) * 2019-06-28 2020-12-29 华为技术有限公司 一种时间同步的方法和服务器
US11392168B1 (en) * 2021-03-10 2022-07-19 Dell Products L.P. Managing clock synchronization for a baseboard management controller (BMC) of an information handling system
CN114895746B (zh) * 2022-06-14 2023-11-07 北京东土军悦科技有限公司 一种系统时间的同步方法及装置、计算设备、存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120778A (zh) * 1994-07-18 1996-04-17 汤姆森消费电子有限公司 控制扩展数据服务(eds)数据更新的系统
CN1752889A (zh) * 2004-09-21 2006-03-29 华为技术有限公司 手持设备系统时间的维护方法及用其进行版权管理的方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4958243A (en) * 1988-09-15 1990-09-18 International Business Machines Corporation Phase discrimination and data separation method and apparatus
US5001752A (en) * 1989-10-13 1991-03-19 Fischer Addison M Public/key date-time notary facility
US20050231846A1 (en) * 2004-04-14 2005-10-20 International Business Machines Corporation Write-once read-many hard disk drive using a WORM pointer
US20050235095A1 (en) * 2004-04-14 2005-10-20 Winarski Daniel J Write-once read-many hard disk drive using a WORM LBA indicator
JP4481141B2 (ja) * 2004-10-13 2010-06-16 株式会社日立製作所 ストレージシステム及び計算機システム
US8327448B2 (en) 2005-06-22 2012-12-04 Intel Corporation Protected clock management based upon a non-trusted persistent time source
CN100345083C (zh) * 2005-07-08 2007-10-24 北京北大方正电子有限公司 一种手持设备上数字作品内容的保护方法
US8190923B2 (en) * 2005-12-20 2012-05-29 Microsoft Corporation Method to securely initialize, protect and recover system date/time
JP2008084515A (ja) * 2006-09-01 2008-04-10 Ricoh Co Ltd 追記型光記録媒体とその記録方法
US7716515B2 (en) * 2006-12-21 2010-05-11 Inventec Corporation Method for updating the timing of a baseboard management controller
CN100452074C (zh) 2007-01-17 2009-01-14 北京大学 一种数字内容按时间控制的版权保护方法及系统
CN101539972B (zh) 2009-04-28 2012-08-29 北京红旗贰仟软件技术有限公司 一种电子文档信息保护方法及系统
CN102298414A (zh) * 2010-06-22 2011-12-28 鸿富锦精密工业(深圳)有限公司 服务器时间同步系统
US20120185444A1 (en) * 2011-01-14 2012-07-19 Sparkes Andrew Clock Monitoring in a Data-Retention Storage System
US8516022B1 (en) * 2012-01-11 2013-08-20 Emc Corporation Automatically committing files to be write-once-read-many in a file system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1120778A (zh) * 1994-07-18 1996-04-17 汤姆森消费电子有限公司 控制扩展数据服务(eds)数据更新的系统
CN1752889A (zh) * 2004-09-21 2006-03-29 华为技术有限公司 手持设备系统时间的维护方法及用其进行版权管理的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2902940A4 *

Also Published As

Publication number Publication date
CN103718186A (zh) 2014-04-09
EP2902940A1 (en) 2015-08-05
CN103718186B (zh) 2015-07-08
EP2902940B1 (en) 2017-04-19
EP2902940A4 (en) 2015-09-16
US20150302024A1 (en) 2015-10-22
US9753941B2 (en) 2017-09-05

Similar Documents

Publication Publication Date Title
WO2015032059A1 (zh) 存储系统及数据操作请求处理方法
US11074139B2 (en) Dynamic block chain system using metadata for backing up data based on digest rules
US9098454B2 (en) Speculative recovery using storage snapshot in a clustered database
CN103458036B (zh) 一种集群文件系统的访问装置和方法
US20150213100A1 (en) Data synchronization method and system
US9015119B2 (en) Performing a background copy process during a backup operation
US20130198134A1 (en) Online verification of a standby database in log shipping physical replication environments
CN110019502B (zh) 在主数据库和备数据库之间的同步方法、数据库系统和设备
US7669080B2 (en) Reducing likelihood of data loss during failovers in high-availability systems
US10693709B2 (en) Processing gap events in a change detection management system
WO2019032189A1 (en) SYSTEMS AND METHODS FOR VERIFYING ISOLATED COMPUTER ENVIRONMENTS
US8473773B2 (en) Method and system to provide a compliance clock service suitable for cloud deployment
CN109960602B (zh) 信息管理方法、装置、设备及介质
US8639660B1 (en) Method and apparatus for creating a database replica
CN114756410B (zh) 一种双机热备系统的数据恢复方法、装置及介质
US10915463B2 (en) Synchronizing requests to access computing resources
CN113849328A (zh) 一种容灾系统的管理方法和装置
JP2005135063A (ja) 情報処理装置及び情報処理装置の時計異常検出プログラム
US10348675B1 (en) Distributed management of a storage system
US20120150809A1 (en) Disaster recovery services
US11100133B2 (en) Data replication system
TWI824222B (zh) 企業資源規劃系統及其自動更新方法
CN108804463B (zh) 一种MySQL数据库的数据同步方法、装置及电子设备
Kobori et al. Performance evaluation of portable time synchronization method using eBPF
CN118245439A (zh) 快照保护方法、装置、计算机设备、存储介质及程序产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13893114

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013893114

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013893114

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE