CN112637284A - Redo log storage method and device, electronic device and storage medium - Google Patents

Redo log storage method and device, electronic device and storage medium Download PDF

Info

Publication number
CN112637284A
CN112637284A CN202011451536.7A CN202011451536A CN112637284A CN 112637284 A CN112637284 A CN 112637284A CN 202011451536 A CN202011451536 A CN 202011451536A CN 112637284 A CN112637284 A CN 112637284A
Authority
CN
China
Prior art keywords
redo log
target
stored
sending
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011451536.7A
Other languages
Chinese (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202011451536.7A priority Critical patent/CN112637284A/en
Publication of CN112637284A publication Critical patent/CN112637284A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/0793Remedial or corrective actions
    • 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/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application provides a redo log storage method and device, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring a redo log to be stored in a memory cache, wherein the redo log to be stored is a redo log generated when a database transaction is submitted; calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; and sending the redo log to be stored to the target storage device for storage through the target network card. By the method and the device, the problem that the performance of the database is reduced due to the fact that a large number of resources are occupied in a redo log refreshing mode in the related technology is solved.

Description

Redo log storage method and device, electronic device and storage medium
Technical Field
The present application relates to the field of data processing, and in particular, to a redo log storage method and apparatus, an electronic device, and a storage medium.
Background
The database acts as a storage system and in order to ensure the reliability of the data, the final disk-drop, i.e. flush, onto the disk is required. For the speed of data writing, a memory-based "buffer pool" needs to be introduced. Because data is cached in the buffer pool and then is refreshed to the disk in some way, if downtime occurs, the data in the buffer pool is lost.
To solve the data loss problem in this case, a redo log (i.e., redo log) is introduced. The Redo log needs to be synchronously written into a disk and can be returned to the application, and the performance of the Redo log writing determines the performance of data updating provided by the data to the outside.
The Redo log needs to be written into a Disk in real time, the IO (Input/Output) performance of the Disk is too slow at present, and even a Solid State Disk (SSD) static Disk cannot meet the writing of large data at present. However, the redo log is only effective in an abnormal situation, that is, data recovery is performed when the host is abnormal, and the server is normal in 99% of the time, so that the redo log causes a great deal of resource waste, and the performance of the database is reduced.
Therefore, the redo log refreshing mode in the related art has the problem of performance reduction of the database caused by the need of occupying a large amount of resources.
Disclosure of Invention
The application provides a redo log storage method and device, electronic equipment and a storage medium, which are used for at least solving the problem that the performance of a database is reduced due to the fact that a large number of resources are occupied in a redo log refreshing mode in the related art.
According to an aspect of an embodiment of the present application, there is provided a redo log storage method, including: obtaining a redo log to be stored in a memory cache, wherein the redo log to be stored is a redo log generated when a database transaction is submitted; calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; and sending the redo log to be stored to a target storage device for storage through the target network card.
Optionally, the invoking a target network interface, and sending the redo log to be stored to the target network interface includes: and calling the target network interface according to a target data volume and/or a target sending period, and sending the redo log to be stored to the target network interface, wherein the target data volume is the data volume of the redo log which is set by a system and is sent at one time, and the target sending period is the timing sending period of the redo log which is set by the system.
Optionally, sending the redo log to be stored to a target storage device for storage through the target network card includes at least one of the following: calling an independent network card on a target host, and sending the redo log to be stored to the target storage equipment for storage; sending the redo log to be stored to the target storage device for storage through a ten-gigabit network card or an infiniband network card on the target host; calling a remote direct memory access RDMA protocol interface, and sending the redo log to be stored to the target storage device for storage through the target network card; and the target host is the host where the memory cache is located.
Optionally, the method further comprises: controlling a processing thread state to enter a blocking waiting state, wherein the blocking waiting state is used for preventing a processing thread in the database from generating a transaction of a redo log; and under the condition that a response message of the target storage device is received, activating a waiting thread, wherein the response message is used for indicating that the redo log to be stored is stored on the target storage device, and the waiting thread is a thread waiting for sending the redo log next time.
Optionally, the method further comprises: determining first mark information of a first data page which is refreshed on a disk, wherein the first mark information is used for indicating a log serial number of a redo log updated for the first time by the first data page; and sending a cleaning instruction carrying the first mark information to the target storage device, wherein the cleaning instruction is used for instructing the target storage device to clean the redo log before the log serial number indicated by the first mark information.
Optionally, the method further comprises: reading a target redo log from the target storage device under the condition that a host where the memory cache is located is abnormally shut down, wherein the target redo log is used for recovering data pages which are not refreshed to a disk in the memory cache; and recovering the data page which is not refreshed to the disk in the memory cache by using the target redo log.
Optionally, the obtaining the target redo log from the target storage device includes: determining second mark information and third mark information, wherein the second mark information is used for indicating a log sequence number of a redo log updated for the first time by a second data page refreshed onto a disk, and the third mark information is used for indicating a maximum log sequence number of the redo log recorded onto the target storage device; and reading the target redo log from the target storage device according to the second mark information and the third mark information, wherein the target redo log is a redo log from the log serial number indicated by the second mark information to the maximum log serial number.
According to another aspect of the embodiments of the present application, there is also provided a redo log storage apparatus including: the device comprises an acquisition unit, a storage unit and a processing unit, wherein the acquisition unit is used for acquiring a redo log to be stored in a memory cache, wherein the redo log to be stored is a redo log generated when a database transaction is submitted; the first sending unit is used for calling a target network interface and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; and the second sending unit is used for sending the redo log to be stored to a target storage device for storage through the target network card.
Optionally, the first sending unit includes: and the first sending module is used for calling the target network interface according to a target data volume and/or a target sending period, and sending the redo log to be stored to the target network interface, wherein the target data volume is the data volume of the redo log which is set by a system and is sent at one time, and the target sending period is the timed sending period of the redo log which is set by the system.
Optionally, the second sending unit includes at least one of: the second sending module is used for calling an independent network card on a target host and sending the redo log to be stored to the target storage device for storage; a third sending module, configured to send the redo log to be stored to the target storage device for storage through a gigabit network card or an infiniband network card on the target host; the fourth sending module is used for calling a Remote Direct Memory Access (RDMA) interface and sending the redo log to be stored to the target storage device for storage through the target network card; and the target host is the host where the memory cache is located.
Optionally, the apparatus further comprises: the control unit is used for controlling the state of the processing thread to enter a blocking waiting state, wherein the application blocking waiting state is used for preventing the processing thread in the database from generating the transaction of the redo log; and the activation unit is used for activating a waiting thread under the condition of receiving a response message of the target storage device, wherein the response message is used for indicating that the redo log to be stored is stored on the target storage device, and the waiting thread is a thread waiting for sending the redo log next time.
Optionally, the apparatus further comprises: the device comprises a determining unit, a judging unit and a judging unit, wherein the determining unit is used for determining first mark information of a first data page which is refreshed onto a disk, and the first mark information is used for indicating a log serial number of a redo log updated for the first time by the first data page; a third sending unit, configured to send a cleaning instruction carrying the first flag information to the target storage device, where the cleaning instruction is used to instruct the target storage device to clean a redo log before a log serial number indicated by the first flag information.
Optionally, the apparatus further comprises: the reading unit is used for reading a target redo log from the target storage device under the condition that a host where the memory cache is located is abnormally shut down, wherein the target redo log is used for recovering data pages which are not refreshed to a disk in the memory cache; and the recovery unit is used for recovering the data page which is not refreshed to the disk in the memory cache by using the target redo log.
Optionally, the recovery unit includes: a determining module, configured to determine second flag information and third flag information, where the second flag information is used to indicate a log sequence number of a redo log updated for a first time by a second data page that has been flushed onto a disk, and the third flag information is used to indicate a maximum log sequence number of the redo log that has been recorded onto the target storage device; a reading module, configured to read the target redo log from the target storage device according to the second tag information and the third tag information, where the target redo log is a redo log from a log serial number indicated by the second tag information to the maximum log serial number.
According to another aspect of the embodiments of the present application, there is also provided an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory communicate with each other through the communication bus; wherein the memory is used for storing the computer program; a processor for performing the method steps in any of the above embodiments by running the computer program stored on the memory.
According to a further aspect of the embodiments of the present application, there is also provided a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to perform the method steps of any of the above embodiments when the computer program is executed.
In the embodiment of the application, the storage of the redo log is changed from local disk storage to storage on a remote host, and the redo log to be stored in the memory cache is obtained, wherein the redo log to be stored is the redo log generated when the database transaction is submitted; calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; the redo log to be stored is sent to the target storage device for storage through the target network card, and the network performance is higher than the performance characteristic of the local disk I/O, so that the purpose of high-speed writing of the redo log is achieved, the technical effects of reducing resources occupied by the redo log writing and improving the performance of the database are achieved, and the problem of performance reduction of the database caused by the need of occupying a large number of resources in the redo log refreshing mode in the related technology is solved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without inventive exercise.
FIG. 1 is a diagram of a hardware environment for an alternative redo log storage method in accordance with an embodiment of the present invention;
FIG. 2 is a flowchart illustrating an alternative redo log storage method according to an embodiment of the present application;
FIG. 3 is a flowchart illustrating an alternative redo log storage method according to an embodiment of the application;
FIG. 4 is a block diagram of an alternative storage device for redo logs according to an embodiment of the present application;
fig. 5 is a block diagram of an alternative electronic device according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions better understood by those skilled in the art, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only partial embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
According to one aspect of the embodiment of the application, a redo log storage method is provided. Alternatively, in this embodiment, the storage method of the redo log may be applied to a hardware environment formed by the terminal 102 and the server 104 (local host of the database) and the storage device 106 (remote host, shared storage host) as shown in fig. 1. As shown in fig. 1, a server 104 may be connected to the terminal 102 and the storage device 106 through a network, and may be configured to provide services (e.g., application services, etc.) for the terminal or a client installed on the terminal, and may be configured with a database (the server is a database) for providing data storage services.
The network includes, but is not limited to, at least one of: a wired network, a wireless network, the wired network may include but is not limited to at least one of: a wide area network, a metropolitan area network, or a local area network, which may include, but is not limited to, at least one of: bluetooth, WIFI, and other networks that enable wireless communication. The terminal 102 may be a terminal for computing data, such as a mobile terminal (e.g., a mobile phone, a tablet computer), a notebook computer, a PC, and the like. The server may include, but is not limited to, any hardware device capable of performing computations.
The redo log storage method according to the embodiment of the present application may be executed by the server 104, or may be executed by other devices capable of providing a database service. Taking the storage method of the redo log in the present embodiment executed by the server 104 (local host of the database) as an example, fig. 2 is a schematic flow chart of an alternative storage method of the redo log according to an embodiment of the present application, and as shown in fig. 2, the flow of the method may include the following steps:
step S202, a redo log to be stored in the memory cache is obtained, wherein the redo log to be stored is a redo log generated when the database transaction is submitted.
The redo log storage method in this embodiment may be applied to a scenario of storing a redo log generated when a database transaction is committed. For other data (for example, other logs) that need to be written to the disk in real time, the storage method of the redo log in this embodiment is also applicable.
The database may store data pages, and when a database transaction is committed, the corresponding data pages may be loaded into a memory cache region (buffer region, buffer pool). A data page is modified to generate a dirty page (dirty data page), where a dirty page refers to a data page that has been modified in the memory cache but has not been flushed to disk. At this time, the data of the data page in the memory of the database instance is inconsistent with the data of the data page in the disk.
A redo log may be generated when a database transaction commits. Each modification of a data page may be recorded by a redo log, where the redo log may be used to record the modifications made to the data page. The Redo Log may be identified by a LSN (Log Sequence Number), which may be used to indicate the Number of bytes from the beginning to the Redo Log that has been generated by the Redo Log.
The generated redo log is first written into a memory cache, and in order to ensure the reliability of the data, the generated redo log needs to be stored (for example, written in real time) in a nonvolatile storage medium. In order to avoid reducing the performance of writing the redo log due to the over-slow performance of the disk I/O, thereby reducing the updating performance of the database, the storage of the redo log can be changed from local disk storage to remote host storage through network, and the high-speed writing of the redo log is realized by utilizing the performance characteristic that the network performance is higher than the local disk I/O.
When the redo log is written, the local host can obtain the redo log to be stored from the memory cache, and the redo log to be stored is the redo log generated when the database transaction is submitted. The redo log to be stored may be a redo log generated by modifying a data page once, or may be a redo log meeting a batch processing condition, which is not limited in this embodiment.
And step S204, calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card.
The redo log to be stored may be sent via a network card. In order to send the redo log to be stored through the network card, the redo log to be stored may be first sent to the target network Interface, for example, the target network Interface is called through an API (Application Programming Interface) function. The target network interface is an interface of a target network card, that is, an interface of a network card used for sending the redo log to be stored.
The API function may correspond to an API of a shared storage host (a remote host, a target storage device), or may be another network API, which is not limited in this embodiment, and the redo log storage method in this embodiment is also applicable to another API function capable of calling a network interface.
For example, the background thread may call the network interface through the API function to send the redo log in the memory cache to the network interface.
And step S206, sending the redo log to be stored to the target storage device for storage through the target network card.
The local host can send the redo log to be stored to the target storage device through the target network card, and the target storage device can be a remote host.
After the target storage device receives the redo log to be stored, the redo log to be stored may be stored on a storage component thereon, such as a memory, a disk, or the like. On the remote host, the storage of the remote log may be a storage system such as a distributed file system, for example, a storage system that may have higher performance than the local storage, and the locally sent log may have only a redo log related format and no storage related format.
Through the steps S202 to S206, obtaining a redo log to be stored in the memory cache, where the redo log to be stored is a redo log generated when the database transaction is submitted; calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; the redo log to be stored is sent to the target storage device for storage through the target network card, the problem that the database performance is reduced due to the fact that a large amount of resources need to be occupied in a redo log refreshing mode in the related technology is solved, the resources occupied by the redo log writing are reduced, and the database performance is improved.
As an alternative embodiment, invoking the target network interface, and sending the redo log to be stored to the target network interface includes:
and S11, calling the target network interface according to the target data volume and/or the target sending period, and sending the redo log to be stored to the target network interface, wherein the target data volume is the data volume of the redo log which is set by the system and is sent at one time, and the target sending period is the timed sending period of the redo log which is set by the system.
The redo log may be sent in bulk in different ways, e.g., quantitative (fixed size), timed periodic (fixed time interval), timed sent in combination with quantitative periodic (fixed size in combination with fixed transmission interval).
As an optional implementation manner, the local host may call the target network interface according to a target data volume, and send the redo log to be stored to the target network interface, where the target data volume is a data volume of the redo log that is set by the system and sent at one time. The local host may read the system configuration file to obtain the target data volume, and call the target network interface to send the redo log (e.g., to-be-stored redo log) in the memory cache to the target network interface when the data volume of the redo log in the memory cache reaches the target data volume.
For example, the data may be sent once every 10M, and if the redo log in the memory cache reaches 10M, the local host sends the redo log once to the remote host.
As another optional implementation, the local host may invoke the target network interface according to a target sending period, and send the redo log to be stored to the target network interface, where the target sending period is a timed sending period of the redo log set by the system. The local host may read the system configuration file to obtain the target transmission period, and set a timer (or other timing component) at a time interval indicated by the target transmission period. In the event that the timer times out, the local host may invoke the target network interface and send the redo log in the memory cache (e.g., the redo log to be stored) to the target network interface. After the timer expires, the local host may reset the timer and restart the timing.
For example, the data transmission mode may be that the data is transmitted once every 200ms, and the local host transmits the redo log once to the remote host every 200ms, regardless of the data amount of the redo log in the memory cache.
As another alternative, the local host may call the target network interface according to the target data volume and the target sending period, and send the redo log to be stored to the target network interface. The meaning of the target data amount and the target transmission period is similar to the foregoing.
The local host may read the system configuration file to obtain the target data size and the target sending period, and set a timer (or other timing component) according to a time interval indicated by the target sending period. When the data volume of the redo log in the memory cache reaches any one of the target data volume and the timeout of the timer, the local host may call the target network interface and send the redo log in the memory cache (for example, the redo log to be stored) to the target network interface. Whether the data volume of the redo log in the memory cache reaches the target data volume or the timer is overtime, the local host can reset the timer and restart timing.
For example, the data may be transmitted every 10M or every 200 ms. If the redo log in the memory cache reaches 10M first, the local host sends the redo log once to the remote host even if the interval between the redo log and the last redo log sending does not reach 200 ms. If the time interval between sending the redo log and the last sending of the redo log reaches 200ms, even if the data volume of the redo log in the memory cache does not reach 10M, the local host sends the redo log to the remote host once.
By the embodiment, the efficiency of data transmission can be improved by setting the batch sending condition (fixed-size sending and/or fixed-time interval sending) by the system to control the redo logs to be sent in batches.
As an optional embodiment, sending the redo log to be stored to the target storage device for storage through the target network card includes at least one of the following:
s21, calling an independent network card on the target host, and sending the redo log to be stored to the target storage device for storage;
s22, sending the redo log to be stored to the target storage device for storage through the ten-gigabit network card or the infiniband network card on the target host;
s23, calling a remote direct memory access RDMA interface, and sending the redo log to be stored to a target storage device for storage through a target network card;
the target host is the host where the memory cache is located.
Because the redo log has timeliness, in order to ensure the efficient storage of the redo log, different network card configuration schemes can be adopted for transmitting the redo log.
Optionally, in this embodiment, the API function of the network interface may be independently packaged, call an independent network card, and send the redo log to be stored to the target storage device for storage. The independent network card means: a network card independent of the target host (local host).
Compared with the shared network card, the redo log is transmitted through the independent network card, and the fact that the redo log cannot be transmitted in time due to network expropriation can be avoided.
As an optional implementation manner, a tera network card may be configured on the target host (local host), and the target host may call the system API, and send data through the tera network card, that is, send the redo log to be stored to the target storage device for storage.
As another alternative, the target host (local host) may be configured with an infiniband network card, and the target host may send data through the infiniband network card, that is, send the redo log to be stored to the target storage device for storage.
Compared with a gigabit network card and the like, the redo log storage method can ensure efficient storage of redo logs by using either a gigabit network card or an infiniband network card on the local host.
Optionally, in this embodiment, if the target host has an RDMA (Remote Direct Memory Access) network, an RDMA interface (which may be a communication interface between the target host and the target storage device) may be called, and data is sent through a network card (a target network card, for example, an infiniband network card) on the target host, that is, the redo log to be stored is sent to the target storage device for storage, where an RDMA protocol is used for data sending.
Compared with other network Transmission protocols, such as TCP (Transmission Control Protocol), the data Transmission is performed through the RDMA Protocol, so that the data processing delay in network Transmission can be reduced, and the efficiency of redo log storage can be improved.
By the embodiment, through configuring the use mode of the network card, for example, configuring an independent network card, using a gigabit network card or an infiniband network card on hardware, and using an RDMA protocol for data transmission, efficient storage of redo logs can be ensured, and flexibility of use of the network card is improved.
As an alternative embodiment, the method further includes:
s31, controlling the processing thread state to enter a blocking waiting state, wherein the application blocking waiting state is used for preventing the processing thread in the database from generating the transaction of the redo log;
and S32, activating a waiting thread under the condition that a response message of the target storage device is received, wherein the response message is used for indicating that the redo log to be stored is stored on the target storage device, and the waiting thread is a thread waiting for sending the redo log next time.
During the process of sending data (to-be-stored logs), before a response of a remote host is not received, the processing thread is converted into a blocking waiting state from a running state, and the blocking waiting state can be used for preventing the processing thread in the database from generating a transaction of redoing the logs.
If a response message of the target storage device is received, the response message may be used to indicate that the redo log to be stored is stored on the target storage device, the notification thread on the local host may activate a waiting thread, the waiting trigger event triggers the thread to continue executing, and the waiting thread is a thread waiting for sending the redo log next time. The triggering event may be the satisfaction of a bulk send condition. Has already been described and will not be described in detail herein.
In addition, if a response returned by the remote host is received, the local host can record the real-time update size of the redo log, namely, how many redo logs are sent. The size of the redo log that needs to be read from the remote host may thus be determined at the time of data recovery.
By the embodiment, the effectiveness of database transaction execution can be ensured by waiting for receiving the response returned by the remote host and activating the waiting thread, and transaction rollback caused by the storage failure of the redo log is avoided.
As an alternative embodiment, the method further includes:
s41, determining first mark information of a first data page which is refreshed on a disk, wherein the first mark information is used for indicating a log sequence number of a redo log updated for the first time by the first data page;
s42, sending a cleaning instruction carrying the first mark information to the target storage device, wherein the cleaning instruction is used for instructing the target storage device to clean the redo log before the log serial number indicated by the first mark information.
To save storage space on the remote host, the local host may instruct the remote host to release the redo log space for the redo log of the data page that has been flushed to disk.
The update of the data page may have two flags, respectively: oldest _ modification, which represents the LSN of the redo log of the first update of the data page; newest _ modification, which represents the LSN of the redo log of the last update of a data page.
After the data page is first modified, the local host may add the dirty page to a dirty page linked list (flush _ list) in which the pages are sorted from small to large by oldest _ modification. Dirty pages added to the dirty page linked list can be updated by other threads; correspondingly, the newest _ modification of a dirty page may be increasing. For the dirty pages in the dirty page linked list, the local host can refresh the dirty pages in the dirty page linked list to the disk in a sequence from small to large according to old _ modification at regular time.
After a dirty page flush, or when other occasions are met, the local host may determine first flag information of a first data page that has been flushed to the disk (a data page that was recently flushed to the disk), where the first flag information may be used to indicate a log sequence number of a redo log that is updated for the first time by the first data page.
For example, the local host may read the local file, read last checkpoint LSN (which may indicate the LSN of the first time the last flushed data page to disk was modified), and determine the first marker information (the LSN of the first time the first data page was modified).
The local host may send a cleaning instruction carrying the first flag information to the target storage device, where the cleaning instruction is used to instruct the target storage device to clean the redo log before the log serial number indicated by the first flag information, that is, clean the redo log before the log serial number indicated by the first flag information. By adopting the above mode to clean the redo log, the convenience of cleaning the redo log can be improved.
Optionally, in this embodiment, since the redo log may include a data Page identifier (Page ID), the local host may also determine the data Page identifier of the data Page that has been flushed to the disk; and sending a cleaning instruction carrying the data page identifier to the target storage device, wherein the cleaning instruction can also be used for indicating all redo logs of the data page represented by the data page identifier to be cleaned, or all redo logs of the data page represented by the data page identifier before the target time to be cleaned, and the target time is the starting time of refreshing the data page at this time, so that the comprehensiveness of cleaning the redo logs is ensured.
After the target storage device receives the cleaning instruction, cleaning of the redo log can be performed according to the instruction of the cleaning instruction.
Through the embodiment, the remote host is controlled to clean the redo log stored by the cleaning instruction, so that useless data can be cleaned in time, the storage space is saved, and the reasonability of data storage is improved.
As an alternative embodiment, the method further includes:
s51, reading a target redo log from the target storage device under the condition that the host where the memory cache is located is abnormally shut down, wherein the target redo log is used for recovering data pages which are not refreshed to a disk in the memory cache;
and S52, restoring the data page which is not refreshed to the disk in the memory cache by using the target redo log.
If the abnormality occurs, namely, the local host is down abnormally, the data in the buffer pool (the memory cache) is lost. In order to reduce data loss, after the local data file is checked at the checkpoint, the local host may read a target redo log from the target storage device, where the target redo log may be used to recover a data page in the memory cache that is not refreshed to the disk.
After the target redo log is obtained, the local host may use the target redo log to recover the data pages in the memory cache that are not refreshed to the disk. The manner of recovering the data page using the target redo log may refer to the related art, which is not limited in this embodiment.
The target redo log may be in various forms, for example, all redo logs stored in the target storage device or a part of redo logs, and as long as the lost data page can be recovered, the redo log may be used in this embodiment.
Through the embodiment, the redo log is acquired from the remote host and the data page is recovered, so that the efficiency of reading the redo log can be improved, and the safety and the reliability of the data page are ensured.
As an alternative embodiment, the obtaining the target redo log from the target storage device includes:
s61, determining second mark information and third mark information, wherein the second mark information is used for indicating the log sequence number of the redo log updated for the first time by the second data page refreshed on the disk, and the third mark information is used for indicating the maximum log sequence number of the redo log recorded on the target storage device;
and S62, reading the target redo log from the target storage device according to the second mark information and the third mark information, wherein the target redo log is a redo log from the log sequence number indicated by the second mark information to the maximum log sequence number.
To reduce the amount of redo logs read from the remote host, the local host may determine the following two pieces of tag information:
second marking information, which is used for indicating the log serial number of the redo log updated for the first time by the second data page refreshed onto the disk, namely, the LSN when the last data page refreshed onto the disk is modified for the first time;
and third flag information indicating a maximum log sequence number of the redo log recorded on the target storage device, wherein the third flag information may be determined by reading a size of a real-time update of the redo log recorded in the target storage device.
The local host may read the target redo log, i.e., the redo log from the log sequence number indicated by the second tag information to the maximum log sequence number, from the target storage device according to the second tag information and the third tag information.
The local host may read the target redo log from the target storage device in various ways, for example, directly send the second tag information and the third tag information to the target storage device, and the target storage device sends the redo log according to the second tag information and the third tag information.
For example, the local host may read the local file, read the redo checkpoint LSN (second marker information), send the LSN size of the redo log to the remote host over the network, and continue reading the log from the remote host until the maximum completion redo log is read. The log read is complete and the data can be recovered.
Optionally, the local host may read the redo log from the target storage device for multiple times, send the read start log serial number and the read data volume of the redo log to the target storage device each time of reading, and send the redo log by the target storage device according to the start log serial number and the data volume of the redo log.
For example, the LSN of the redo log indicated by the redo checkpoint LSN is 1000, the maximum LSN of the redo log recorded on the target storage device is 5000, and each time the data volume of 2000 is read from the remote host, the local host may send a redo log read request to the remote host, carrying (1000,2000) to indicate to read the redo log with the LSN of 1000 as the start and the data volume of 2000. After receiving the response returned by the remote host, sending the redo log reading request to the remote host again, carrying (3000,5000) to indicate to read the redo log with the LSN starting at 3000 and the data volume of 2000.
By the embodiment, the read redo log is determined by the LSN when the last data page refreshed on the disk is modified for the first time and the maximum LSN of the redo log recorded on the target storage device, so that the data volume read by the redo log can be reduced, and the recovery efficiency of the data page is improved.
The storage method of the redo log in the embodiment of the present application is explained below with reference to an alternative example. The target storage device in this example is a remote host (shared storage host).
As shown in fig. 3, the flow of the storage method of the redo log in this alternative example may include the following steps:
step S302, the redo log is sent to the remote host for storage.
When the database transaction is submitted, a redo log may be generated, and the local host may write the redo log into a memory cache to perform blocking waiting, for example, waiting for network delay (waiting for a remote host to respond), and waiting for a bulk sending opportunity.
When trigger conditions such as remote host response and batch sending opportunity are received, the background thread can call the network interface through the API function and send the redo log in the memory cache to the network interface.
For different network cards, different modes can be adopted for sending the redo log. For example, the API (i.e., encapsulated remote storage API) function of the network interface may be independently encapsulated, calling an independent network card to transmit data. For another example, if there are ten million network cards on the host, the system API is called, and data can be sent through the ten million network cards. As another example, if the host is an RDMA network, the RDMA interface is called and the data is sent through the infiniband network card.
During data transmission, the local host may control to perform application blocking waiting until no reply is received from the remote host. After receiving the response returned by the remote host, the local host may record the real-time update size of the redo log (the data size of the sent redo log), and activate the waiting thread, thereby completing recording the redo log.
The storage of the redo log on the remote host can use a storage system such as a distributed file system, that is, a storage system with higher performance than the local storage, and the log sent by the local host can only have a redo-related format (the redo format does not need to be modified), but does not have a storage-related format.
And step S304, reading the redo log from the remote host to perform data recovery when the host is abnormally down.
If the local host is abnormally down, after the abnormal recovery, the local host can read the local file, read the redo checkpoint LSN, send the LSN of the read redo log to the remote host in a network form, and continuously read the log from the remote host until the maximum log is read.
After the redo log read is completed, the local host may use the read redo log for data recovery, thereby completing the process of recovering the data page.
By the example, the storage of the redo log is changed from local disk storage to storage on a remote host through a high-speed network (a gigabit network or an RDMA network), and the high-speed writing of the redo log can be realized by utilizing the performance characteristic that the network performance is higher than the I/O of the local disk, so that the system performance of the database is improved.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
Through the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but the former is a better implementation mode in many cases. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which is stored in a storage medium (e.g., a ROM (Read-Only Memory)/RAM (Random Access Memory), a magnetic disk, an optical disk) and includes several instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, or a network device) to execute the methods according to the embodiments of the present application.
According to another aspect of the embodiment of the present application, there is also provided a redo log storage apparatus for implementing the redo log storage method. Fig. 4 is a block diagram of an alternative storage apparatus for redo logs according to an embodiment of the present application, where as shown in fig. 4, the apparatus may include:
(1) an obtaining unit 402, configured to obtain a redo log to be stored in a memory cache, where the redo log to be stored is a redo log generated when a database transaction is submitted;
(2) a first sending unit 404, connected to the obtaining unit 402, configured to invoke a target network interface, and send the redo log to be stored to the target network interface, where the target network interface is an interface of a target network card;
(3) and the second sending unit 406 is connected to the first sending unit 404, and is configured to send the redo log to be stored to the target storage device for storage through the target network card.
It should be noted that the obtaining unit 402 in this embodiment may be configured to execute the step S202, the first sending unit 404 in this embodiment may be configured to execute the step S204, and the second sending unit 406 in this embodiment may be configured to execute the step S206.
Through the module, a redo log to be stored in the memory cache is obtained, wherein the redo log to be stored is a redo log generated when the database transaction is submitted; calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card; the redo log to be stored is sent to the target storage device for storage through the target network card, the problem that the database performance is reduced due to the fact that a large amount of resources need to be occupied in a redo log refreshing mode in the related technology is solved, the resources occupied by the redo log writing are reduced, and the database performance is improved.
As an alternative embodiment, the first sending unit 404 includes:
the first sending module is used for calling the target network interface according to the target data volume and/or the target sending period, and sending the redo log to be stored to the target network interface, wherein the target data volume is the data volume of the redo log which is set by the system and is sent at one time, and the target sending period is the timing sending period of the redo log which is set by the system.
As an alternative embodiment, the second sending unit 406 includes at least one of the following:
the second sending module is used for calling the independent network card on the target host and sending the redo log to be stored to the target storage device for storage;
the third sending module is used for sending the redo log to be stored to the target storage device for storage through a ten-gigabit network card or an infiniband network card on the target host;
the fourth sending module is used for calling the remote direct memory access RDMA interface and sending the redo log to be stored to the target storage device for storage through the target network card;
the target host is the host where the memory cache is located.
As an alternative embodiment, the apparatus further comprises:
the control unit is used for controlling the state of the processing thread to enter a blocking waiting state, wherein the application blocking waiting state is used for preventing the processing thread in the database from generating the transaction of the redo log;
and the activation unit is used for activating the waiting thread under the condition of receiving a response message of the target storage device, wherein the response message is used for indicating that the redo log to be stored is stored on the target storage device, and the waiting thread is a thread waiting for sending the redo log next time.
As an alternative embodiment, the apparatus further comprises:
the device comprises a determining unit, a judging unit and a judging unit, wherein the determining unit is used for determining first mark information of a first data page which is refreshed onto a disk, and the first mark information is used for indicating a log serial number of a redo log updated for the first time by the first data page;
and a third sending unit, configured to send a cleaning instruction carrying the first flag information to the target storage device, where the cleaning instruction is used to instruct the target storage device to clean the redo log before the log serial number indicated by the first flag information.
As an alternative embodiment, the apparatus further comprises:
the reading unit is used for reading a target redo log from the target storage device under the condition that a host where the memory cache is located is abnormally shut down, wherein the target redo log is used for recovering data pages which are not refreshed to a disk in the memory cache;
and the recovery unit is used for recovering the data page which is not refreshed to the disk in the memory cache by using the target redo log.
As an alternative embodiment, the recovery unit comprises:
the determining module is used for determining second mark information and third mark information, wherein the second mark information is used for indicating a log serial number of a redo log updated for the first time by a second data page which is refreshed onto a disk, and the third mark information is used for indicating a maximum log serial number of the redo log recorded onto a target storage device;
and the reading module is used for reading the target redo log from the target storage device according to the second mark information and the third mark information, wherein the target redo log is a redo log from the log serial number indicated by the second mark information to the maximum log serial number.
It should be noted here that the modules described above are the same as the examples and application scenarios implemented by the corresponding steps, but are not limited to the disclosure of the above embodiments. It should be noted that the modules described above as a part of the apparatus may be operated in a hardware environment as shown in fig. 1, and may be implemented by software, or may be implemented by hardware, where the hardware environment includes a network environment.
According to another aspect of the embodiments of the present application, there is also provided an electronic device for implementing the storing method of the redo log, where the electronic device may be a server, a terminal, or a combination thereof.
Fig. 5 is a block diagram of an alternative electronic device according to an embodiment of the present application, as shown in fig. 5, including a processor 502, a communication interface 504, a memory 506, and a communication bus 508, where the processor 502, the communication interface 504, and the memory 506 are communicated with each other via the communication bus 508, and where,
a memory 506 for storing a computer program;
the processor 502, when executing the computer program stored in the memory 506, implements the following steps:
s1, obtaining a redo log to be stored in the memory cache, wherein the redo log to be stored is a redo log generated when the database transaction is submitted;
s2, calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card;
and S3, sending the redo log to be stored to the target storage device for storage through the target network card.
Alternatively, in this embodiment, the communication bus may be a PCI (Peripheral Component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 5, but this is not intended to represent only one bus or type of bus.
The communication interface is used for communication between the electronic equipment and other equipment.
The memory may include RAM, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory. Alternatively, the memory may be at least one memory device located remotely from the processor.
As an example, the memory 506 may include, but is not limited to, the obtaining unit 402, the first sending unit 404, and the second sending unit 406 in the storage device including the redo log. In addition, the redo log may further include, but is not limited to, other module units in the storage device of the redo log, which is not described in detail in this example.
The processor may be a general-purpose processor, and may include but is not limited to: a CPU (Central Processing Unit), an NP (Network Processor), and the like; but also a DSP (Digital Signal Processing), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment is not described herein again.
It can be understood by those skilled in the art that the structure shown in fig. 5 is only an illustration, and the device implementing the storage method of the redo log may be other Devices having storage and communication functions, and the other Devices having storage and communication functions may be terminal Devices such as a smart phone (e.g., an Android phone, an iOS phone, and the like), a tablet computer, a palm computer, and a Mobile Internet Device (MID), a PAD, and the like. Fig. 5 is a diagram illustrating a structure of the electronic device. For example, the electronic device may also include more or fewer components (e.g., network interfaces, display devices, etc.) than shown in FIG. 5, or have a different configuration than shown in FIG. 5.
Those skilled in the art will appreciate that all or part of the steps in the methods of the above embodiments may be implemented by a program instructing hardware associated with the terminal device, where the program may be stored in a computer-readable storage medium, and the storage medium may include: flash disk, ROM, RAM, magnetic or optical disk, and the like.
According to still another aspect of an embodiment of the present application, there is also provided a storage medium. Optionally, in this embodiment, the storage medium may be configured to execute a program code of any storage method of the redo log in this embodiment of the application.
Optionally, in this embodiment, the storage medium may be located on at least one of a plurality of network devices in a network shown in the above embodiment.
Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps:
s1, obtaining a redo log to be stored in the memory cache, wherein the redo log to be stored is a redo log generated when the database transaction is submitted;
s2, calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card;
and S3, sending the redo log to be stored to the target storage device for storage through the target network card.
Optionally, the specific example in this embodiment may refer to the example described in the above embodiment, which is not described again in this embodiment.
Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing program codes, such as a U disk, a ROM, a RAM, a removable hard disk, a magnetic disk, or an optical disk.
According to yet another aspect of an embodiment of the present application, there is also provided a computer program product or a computer program comprising computer instructions stored in a computer readable storage medium; the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions to cause the computer device to perform the method steps of any of the embodiments described above.
The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
The integrated unit in the above embodiments, if implemented in the form of a software functional unit and sold or used as a separate product, may be stored in the above computer-readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a storage medium, and including instructions for causing one or more computer devices (which may be personal computers, servers, network devices, or the like) to execute all or part of the steps of the method described in the embodiments of the present application.
In the above embodiments of the present application, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the several embodiments provided in the present application, it should be understood that the disclosed client may be implemented in other manners. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one type of division of logical functions, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or may be integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, and may also be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution provided in the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The foregoing is only a preferred embodiment of the present application and it should be noted that those skilled in the art can make several improvements and modifications without departing from the principle of the present application, and these improvements and modifications should also be considered as the protection scope of the present application.

Claims (10)

1. A redo log storage method, comprising:
obtaining a redo log to be stored in a memory cache, wherein the redo log to be stored is a redo log generated when a database transaction is submitted;
calling a target network interface, and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card;
and sending the redo log to be stored to a target storage device for storage through the target network card.
2. The method of claim 1, wherein the invoking a target network interface and sending the redo log to be stored to the target network interface comprises:
and calling the target network interface according to a target data volume and/or a target sending period, and sending the redo log to be stored to the target network interface, wherein the target data volume is the data volume of the redo log which is set by a system and is sent at one time, and the target sending period is the timing sending period of the redo log which is set by the system.
3. The method of claim 1, wherein sending the redo log to be stored to a target storage device for storage by the target network card comprises at least one of:
calling an independent network card on a target host, and sending the redo log to be stored to the target storage equipment for storage;
sending the redo log to be stored to the target storage device for storage through a ten-gigabit network card or an infiniband network card on the target host;
calling a Remote Direct Memory Access (RDMA) interface, and sending the redo log to be stored to the target storage device for storage through the target network card;
and the target host is the host where the memory cache is located.
4. The method of claim 1, further comprising:
controlling a processing thread state to enter a blocking waiting state, wherein the blocking waiting state is used for preventing a processing thread in the database from generating a transaction of a redo log;
and under the condition that a response message of the target storage device is received, activating a waiting thread, wherein the response message is used for indicating that the redo log to be stored is stored on the target storage device, and the waiting thread is a thread waiting for sending the redo log next time.
5. The method of claim 1, further comprising:
determining first mark information of a first data page which is refreshed on a disk, wherein the first mark information is used for indicating a log serial number of a redo log updated for the first time by the first data page;
and sending a cleaning instruction carrying the first mark information to the target storage device, wherein the cleaning instruction is used for instructing the target storage device to clean the redo log before the log serial number indicated by the first mark information.
6. The method according to any one of claims 1 to 5, further comprising:
reading a target redo log from the target storage device under the condition that a host where the memory cache is located is abnormally shut down, wherein the target redo log is used for recovering data pages which are not refreshed to a disk in the memory cache;
and recovering the data page which is not refreshed to the disk in the memory cache by using the target redo log.
7. The method of claim 6, wherein obtaining the target redo log from the target storage device comprises:
determining second mark information and third mark information, wherein the second mark information is used for indicating a log sequence number of a redo log updated for the first time by a second data page refreshed onto a disk, and the third mark information is used for indicating a maximum log sequence number of the redo log recorded onto the target storage device;
and reading the target redo log from the target storage device according to the second mark information and the third mark information, wherein the target redo log is a redo log from the log serial number indicated by the second mark information to the maximum log serial number.
8. A redo log storage device, comprising:
the device comprises an acquisition unit, a storage unit and a processing unit, wherein the acquisition unit is used for acquiring a redo log to be stored in a memory cache, wherein the redo log to be stored is a redo log generated when a database transaction is submitted;
the first sending unit is used for calling a target network interface and sending the redo log to be stored to the target network interface, wherein the target network interface is an interface of a target network card;
and the second sending unit is used for sending the redo log to be stored to a target storage device for storage through the target network card.
9. An electronic device comprising a processor, a communication interface, a memory and a communication bus, wherein said processor, said communication interface and said memory communicate with each other via said communication bus,
the memory for storing a computer program;
the processor for performing the method steps of any one of claims 1 to 7 by running the computer program stored on the memory.
10. A computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to carry out the method steps of any one of claims 1 to 7 when executed.
CN202011451536.7A 2020-12-09 2020-12-09 Redo log storage method and device, electronic device and storage medium Pending CN112637284A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011451536.7A CN112637284A (en) 2020-12-09 2020-12-09 Redo log storage method and device, electronic device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011451536.7A CN112637284A (en) 2020-12-09 2020-12-09 Redo log storage method and device, electronic device and storage medium

Publications (1)

Publication Number Publication Date
CN112637284A true CN112637284A (en) 2021-04-09

Family

ID=75309738

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011451536.7A Pending CN112637284A (en) 2020-12-09 2020-12-09 Redo log storage method and device, electronic device and storage medium

Country Status (1)

Country Link
CN (1) CN112637284A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220729A (en) * 2021-05-28 2021-08-06 网易(杭州)网络有限公司 Data storage method and device, electronic equipment and computer readable storage medium
CN113239120A (en) * 2021-06-07 2021-08-10 上海达梦数据库有限公司 Log synchronization method, device, equipment and storage medium
CN115174289A (en) * 2022-05-24 2022-10-11 青岛海尔科技有限公司 Log data storage method and device, storage medium and electronic device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149704A1 (en) * 2013-11-26 2015-05-28 Juchang Lee Transaction Private Log Buffering for High Performance of Transaction Processing
CN106855822A (en) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 For the method and apparatus of distributing real time system
CN108073656A (en) * 2016-11-17 2018-05-25 杭州华为数字技术有限公司 A kind of method of data synchronization and relevant device
CN109144963A (en) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 One kind redoing log persistence method and equipment
CN110019066A (en) * 2017-09-21 2019-07-16 阿里巴巴集团控股有限公司 Data base processing method and device, system
CN110442560A (en) * 2019-08-14 2019-11-12 上海达梦数据库有限公司 Method, apparatus, server and storage medium are recurred in a kind of log
CN110618788A (en) * 2018-06-19 2019-12-27 英特尔公司 Managing refreshes of atomic write groups to persistent memory in response to unexpected power outages
CN112005222A (en) * 2018-04-24 2020-11-27 Arm有限公司 Robust transactional memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150149704A1 (en) * 2013-11-26 2015-05-28 Juchang Lee Transaction Private Log Buffering for High Performance of Transaction Processing
CN106855822A (en) * 2015-12-08 2017-06-16 阿里巴巴集团控股有限公司 For the method and apparatus of distributing real time system
CN108073656A (en) * 2016-11-17 2018-05-25 杭州华为数字技术有限公司 A kind of method of data synchronization and relevant device
CN109144963A (en) * 2017-06-26 2019-01-04 阿里巴巴集团控股有限公司 One kind redoing log persistence method and equipment
CN110019066A (en) * 2017-09-21 2019-07-16 阿里巴巴集团控股有限公司 Data base processing method and device, system
CN112005222A (en) * 2018-04-24 2020-11-27 Arm有限公司 Robust transactional memory
CN110618788A (en) * 2018-06-19 2019-12-27 英特尔公司 Managing refreshes of atomic write groups to persistent memory in response to unexpected power outages
CN110442560A (en) * 2019-08-14 2019-11-12 上海达梦数据库有限公司 Method, apparatus, server and storage medium are recurred in a kind of log

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220729A (en) * 2021-05-28 2021-08-06 网易(杭州)网络有限公司 Data storage method and device, electronic equipment and computer readable storage medium
CN113239120A (en) * 2021-06-07 2021-08-10 上海达梦数据库有限公司 Log synchronization method, device, equipment and storage medium
CN113239120B (en) * 2021-06-07 2023-08-18 上海达梦数据库有限公司 Log synchronization method, device, equipment and storage medium
CN115174289A (en) * 2022-05-24 2022-10-11 青岛海尔科技有限公司 Log data storage method and device, storage medium and electronic device
CN115174289B (en) * 2022-05-24 2023-10-24 青岛海尔科技有限公司 Log data storage method and device, storage medium and electronic device

Similar Documents

Publication Publication Date Title
CN112637284A (en) Redo log storage method and device, electronic device and storage medium
CN110753084B (en) Uplink data reading method, cache server and computer readable storage medium
CN110532205B (en) Data transmission method, data transmission device, computer equipment and computer readable storage medium
CN110413432B (en) Information processing method, electronic equipment and storage medium
CN110196759B (en) Distributed transaction processing method and device, storage medium and electronic device
CN106547636B (en) Debugging system and method
CN112182010B (en) Dirty page refreshing method and device, storage medium and electronic equipment
CN108509322B (en) Method for avoiding excessive return visit, electronic device and computer readable storage medium
WO2021082859A1 (en) Data processing method, and device
WO2023109880A1 (en) Service recovery method, data processing unit and related device
CN113596010A (en) Data processing method and device, node equipment and computer storage medium
CN115061858B (en) Data persistence method and device, computer equipment and storage medium
CN116680055A (en) Asynchronous task processing method and device, computer equipment and storage medium
CN111966508A (en) Message batch sending method and device, computer equipment and storage medium
CN110780945A (en) Cross-chain bridging method, equipment and storage medium capable of plugging heterogeneous block chain
CN108062224B (en) Data reading and writing method and device based on file handle and computing equipment
CN110427280B (en) Cache management method, system, computer equipment and storage medium
CN112968970A (en) Configuration information backup method and device and network equipment
CN113850664A (en) Data anomaly detection method and data reporting service
CN108959405B (en) Strong consistency reading method of data and terminal equipment
CN111611077A (en) Task parameter processing method, terminal and storage medium
CN112181686A (en) Data processing method, device and system, electronic equipment and storage medium
CN110955539A (en) Process quitting method and device, electronic equipment and machine-readable storage medium
US20200073759A1 (en) Maximum data recovery of scalable persistent memory
CN110837433A (en) Performance optimization method and device and electronic equipment

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210409