CN113779139A - Information synchronization method and device, electronic equipment and computer readable medium - Google Patents

Information synchronization method and device, electronic equipment and computer readable medium Download PDF

Info

Publication number
CN113779139A
CN113779139A CN202110200171.9A CN202110200171A CN113779139A CN 113779139 A CN113779139 A CN 113779139A CN 202110200171 A CN202110200171 A CN 202110200171A CN 113779139 A CN113779139 A CN 113779139A
Authority
CN
China
Prior art keywords
transaction
synchronized
database
processed
conflict
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
CN202110200171.9A
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 Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202110200171.9A priority Critical patent/CN113779139A/en
Publication of CN113779139A publication Critical patent/CN113779139A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the disclosure discloses an information synchronization method, an information synchronization device, electronic equipment and a computer readable medium. One embodiment of the method comprises: the method comprises the steps of obtaining a source database, obtaining data to be synchronized of the source database based on a locus, wherein the source database comprises at least one transaction, and the locus is used for identifying the position of the data to be synchronized of the transaction; analyzing the data to be synchronized into at least one transaction to be processed, and determining the quantity information of the at least one transaction to be processed; and sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode based on the quantity information. This embodiment improves the efficiency of information synchronization.

Description

Information synchronization method and device, electronic equipment and computer readable medium
Technical Field
Embodiments of the present disclosure relate to the field of computer technologies, and in particular, to an information synchronization method, an information synchronization apparatus, an electronic device, and a computer-readable medium.
Background
With the development of science and technology, various information plays more and more important roles in work and life. Accordingly, the amount of data in the database storing information is increasing. In order to improve security, the database needs to be synchronized with other databases to improve information security.
The existing database backup has the following defects:
firstly, a serial mode is usually adopted to synchronize the database, so that the synchronization efficiency is low and the synchronization time is long;
second, when a database is synchronized to another database, the versions between the databases can be synchronized only if they satisfy certain conditions.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Some embodiments of the present disclosure propose an information synchronization method, apparatus, electronic device and computer readable medium to solve the technical problems mentioned in the background section above.
In a first aspect, some embodiments of the present disclosure provide an information synchronization method, including: the method comprises the steps of obtaining a source database, obtaining data to be synchronized of the source database based on a locus, wherein the source database comprises at least one transaction, and the locus is used for identifying the position of the data to be synchronized of the transaction; analyzing the data to be synchronized into at least one transaction to be processed, and determining the quantity information of the at least one transaction to be processed; and sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode based on the quantity information.
In a second aspect, some embodiments of the present disclosure provide an information synchronization apparatus, including: a to-be-synchronized data acquisition unit configured to acquire a source database, and acquire to-be-synchronized data of the source database based on a locus, where the source database includes at least one transaction, and the locus is used to identify a position of the to-be-synchronized data of the transaction; the quantity information determining unit is configured to analyze the data to be synchronized into at least one transaction to be processed and determine quantity information of the at least one transaction to be processed; and the information synchronization unit is configured to send the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending mode based on the quantity information.
In a third aspect, some embodiments of the present disclosure provide an electronic device, comprising: one or more processors; a storage device having one or more programs stored thereon, which when executed by one or more processors, cause the one or more processors to implement the method described in any of the implementations of the first aspect.
In a fourth aspect, some embodiments of the present disclosure provide a computer readable medium on which a computer program is stored, wherein the program, when executed by a processor, implements the method described in any of the implementations of the first aspect.
The above embodiments of the present disclosure have the following beneficial effects: the information synchronization method of some embodiments of the present disclosure realizes information synchronization from the source database to the database to be synchronized, so that the efficiency of information synchronization is improved. Specifically, the reason why the efficiency of information synchronization is not high enough is that: information synchronization is typically synchronized in a serial fashion. Based on this, the information synchronization method of some embodiments of the present disclosure first determines data to be synchronized through a locus, and further determines quantity information of transactions to be processed contained in the data to be synchronized; and then at least one transaction to be processed is sent to the database to be synchronized in a parallel sending mode based on the quantity information. Therefore, the problem that the to-be-processed affairs are sent one by one during serial sending is avoided, the information synchronization times and time are reduced, and the information synchronization efficiency is improved.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and elements are not necessarily drawn to scale.
Fig. 1 is a schematic diagram of an application scenario of an information synchronization method of some embodiments of the present disclosure;
FIG. 2 is a flow diagram of some embodiments of an information synchronization method according to the present disclosure;
FIG. 3 is a flow diagram of further embodiments of an information synchronization method according to the present disclosure;
FIG. 4 is a flow diagram of still further embodiments of information synchronization methods according to the present disclosure;
FIG. 5 is a schematic block diagram of some embodiments of an information synchronization apparatus according to the present disclosure;
FIG. 6 is a schematic structural diagram of an electronic device suitable for use in implementing some embodiments of the present disclosure.
Fig. 7 is a schematic structural diagram of a directed acyclic graph of an information synchronization method according to the present disclosure.
FIG. 8 is a diagrammatic illustration of a transaction group to which a sequence of directed acyclic graphs corresponds.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 is a schematic diagram of an application scenario of an information synchronization method according to some embodiments of the present disclosure.
As shown in fig. 1, in order to synchronize information of the source database 102 to the database to be synchronized 103, the electronic device 101 may first acquire the source database 102. The source database 102 may be a master database connected to other devices and recording various data on other devices. The to-be-synchronized database 103 may be a slave database for backing up information of the source database 102. The source database 102 may contain a plurality of transactions 104, and the transactions 104 may be information recording units of the source database 102. The electronic device 101 may determine the location 105 of each transaction 104 in the source database 102 according to the transactions in the database to be synchronized 103. The site 105 may be the information position of the information of the transaction in the database to be synchronized 103 on the corresponding transaction in the source database 102. That is, in fig. 1, the black area before the point 105 corresponds to the existing transaction information of the database to be synchronized 103, and the white area after the point 105 corresponds to the transaction information that needs to be backed up to the database to be synchronized 103. Through site 105, electronic device 101 may determine data to be synchronized. Then, the electronic device 101 may parse the data to be synchronized into the transactions 106 to be processed (i.e., the white area after the bit 105), determine quantity information of at least one transaction 106 to be processed, and divide the at least one transaction 106 to be processed into a plurality of transaction groups 107 according to the quantity information. Wherein each transaction group 107 comprises a plurality of pending transactions 106. Finally, the electronic device 101 may send the pending transaction 106 to the database to be synchronized 103 in units of transaction groups 107. Therefore, the to-be-processed transaction 106 is sent to the to-be-synchronized database 103 in parallel, the information synchronization time is shortened, and the information synchronization efficiency is improved.
It should be understood that the number of electronic devices 101 in fig. 1 is merely illustrative. There may be any number of electronic devices 101, as desired for implementation.
With continued reference to fig. 2, fig. 2 illustrates a flow 200 of some embodiments of an information synchronization method according to the present disclosure. The information synchronization method comprises the following steps:
step 201, a source database is obtained, and data to be synchronized of the source database is obtained based on a locus.
In some embodiments, an executing entity (e.g., the electronic device 101 shown in fig. 1) of the information synchronization method may obtain the source database through a wired connection or a wireless connection. It should be noted that the wireless connection means may include, but is not limited to, a 3G/4G/5G connection, a WiFi connection, a bluetooth connection, a WiMAX connection, a Zigbee connection, a uwb (ultra wideband) connection, and other wireless connection means now known or developed in the future.
To synchronize information, the executing agent needs to first retrieve the source database 102. The source database 102 may connect with other devices and record information of the other devices. The source database 102 may record information in real time, at set intervals, or manually by a technician. The source database 102 may include at least one transaction. Each transaction may be used to record information for a corresponding one of the events. The site 105 may be the location of information for a transaction within the database to be synchronized 103 on the corresponding transaction in the source database 102. For example, the recorded information of a certain transaction of the database to be synchronized 103 may be: "01011101000101", the information location may be "14", meaning there are a total of 14 binary numbers. The information of the corresponding transaction in the source database 102 may be: "010111010001010101111". Then position point 105 is the position of the 14 th binary number in "010111010001010101111". The 14 th binary number is followed by "0101111" which is the information that needs to be synchronized. That is, the above-described locus 105 may be used to identify the location of the data to be synchronized for a transaction. Site 105 may be represented by blacking out all current information (e.g., "01011101000101"), blacking out the last digit of the current information (e.g., "01011101000101"), and underlining all current information (e.g., "b/c/d"01011101000101"), underline the last digit of the current message (e.g.," 0101110100010)1"), and combinations of darkened and underlined. When the point 105 is the last information position of the corresponding transaction in the source database 102, it indicates that the transaction has no new information and does not need to be synchronized. Correspondingly, when the site 105 is not the last information position of the transaction in the source database 102, it indicates that the transaction has information that needs to be synchronized. That is, the data to be synchronized can also be considered as data for which the site 105 is not at the last information location of the transaction in the source database 102. Through the site 105, the execution body can acquire the data to be synchronized in the source database 102.
Step 202, parsing the data to be synchronized into at least one transaction to be processed, and determining quantity information of the at least one transaction to be processed.
In some embodiments, to achieve parallel synchronization of information, the execution subject may parse the data to be synchronized into at least one transaction to be processed, and then determine quantity information of the at least one transaction to be processed. Generally, the data to be synchronized contains a large number of transactions to be processed, and the value of the quantity information is also large.
And 203, sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode based on the quantity information.
In some embodiments, after obtaining the quantity information, the execution entity may send at least one to-be-processed transaction to the to-be-synchronized database in the same batch in a parallel sending manner. After the database to be synchronized receives at least one transaction to be processed at one time, information synchronization can be simultaneously carried out on a plurality of transactions. In this way, it is achieved that information in the source database 102 is synchronized to the database to be synchronized 103 in a parallel manner. The time and the times of information synchronization are reduced, and the efficiency of information synchronization is improved.
The information synchronization method disclosed by some embodiments of the present disclosure realizes information synchronization from a source database to a database to be synchronized, so that the efficiency of information synchronization is improved. Specifically, the reason why the efficiency of information synchronization is not high enough is that: information synchronization is typically synchronized in a serial fashion. Based on this, the information synchronization method of some embodiments of the present disclosure first determines data to be synchronized through a locus, and further determines quantity information of transactions to be processed contained in the data to be synchronized; and then at least one transaction to be processed is sent to the database to be synchronized in a parallel sending mode based on the quantity information. Therefore, the problem that the to-be-processed affairs are sent one by one during serial sending is avoided, the information synchronization times and time are reduced, and the information synchronization efficiency is improved.
With continued reference to fig. 3, fig. 3 illustrates a flow 300 of some embodiments of an information synchronization method according to the present disclosure. The information synchronization method comprises the following steps:
step 301, querying the name and the location of each transaction in the database to be synchronized.
To obtain the data to be synchronized, the executing entity (e.g., the electronic device 101 in fig. 1) may query the database to be synchronized by simulating the database to be synchronized, or the like. For example, the execution agent may programmatically simulate the data structure of the database to be synchronized and the currently stored transactions, and then query the name and location of each transaction. Where the name may be used to identify the transaction and the location may be used to indicate the current information location of the transaction.
Step 302, determining the to-be-processed transaction in the source database according to the name and the site of each transaction, and forming to-be-synchronized data according to the to-be-processed transaction.
After the name and the location of each transaction are determined, the execution subject queries the corresponding transaction in the source database by the name of the transaction, and then determines the to-be-processed transaction 106 which needs to be subjected to information synchronization by the location. Finally, the data to be synchronized is composed by all the transactions 106 to be processed. The data to be synchronized comprises at least one transaction to be processed 106.
Step 303, parsing the data to be synchronized into at least one transaction to be processed, and determining quantity information of the at least one transaction to be processed.
The content of step 303 is the same as that of step 202, and is not described in detail here.
Step 304, in response to that the quantity information is greater than a set quantity threshold, sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending manner; otherwise, sending the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending mode at intervals of set time.
And when the quantity information is larger than the set quantity threshold value, the execution main body is indicated to acquire enough to-be-processed transactions. At this time, the execution subject may send the to-be-processed transaction to the to-be-synchronized database in a parallel sending manner, so as to complete information synchronization. The set number threshold needs to be determined according to actual conditions (such as network transmission speed). When the quantity information is less than or equal to the set quantity threshold, if the execution main body sends the to-be-processed transaction to the to-be-synchronized database at the moment, the effect of the to-be-processed transaction is not much different from the serial mode. In practice, the plurality of information processing units in the execution main body may relatively independently acquire the data to be synchronized, analyze the data to be synchronized into at least one transaction to be processed, and send the transaction to be processed to the database to be synchronized in parallel. When the information processing unit that sends the to-be-processed transaction in parallel detects that the quantity information is less than or equal to the set quantity threshold, the execution main body may first control the information processing unit not to send the to-be-processed transaction in parallel, but send the to-be-processed transaction in parallel after enough to-be-processed transactions exist. That is, the execution subject may send the at least one to-be-processed transaction to the to-be-synchronized database at set intervals in a parallel manner. Therefore, the aim of sending the to-be-processed transaction in parallel under various conditions is fulfilled.
In some optional implementation manners of some embodiments, the sending the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending manner may include the following steps:
the first step is to detect whether a conflict transaction exists in the at least one transaction to be processed.
In practice, for various reasons, different pending transactions may have the same identifier or have a correlation (e.g., may be ordered, executed sequentially, etc.) between different pending transactions. The above reasons may cause conflicts between transactions, and thus information synchronization cannot be completed. Therefore, it is necessary to detect whether there is a conflicting transaction in at least one pending transaction.
And step two, responding to the fact that no conflict affair exists, sending the at least one to-be-processed affair to a to-be-synchronized database in a parallel sending mode, otherwise, determining a sending sequence among the at least one conflict affair, and sending the at least one conflict affair to the to-be-synchronized database in parallel based on the sending sequence.
When there is no conflict transaction, the execution subject may directly send the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending manner. When there are conflicting transactions, the executing entity needs to further determine a sending order between at least one conflicting transaction, determine which conflicting transactions are sent first, and which conflicting transactions are sent later, so that the information synchronization of the database to be synchronized can be successful. Then, the execution subject may concurrently send the at least one conflicting transaction to the database to be synchronized based on the sending order.
In some optional implementations of some embodiments, the detecting whether there is a conflicting transaction in the at least one pending transaction may include: and responding to the situation that the at least one transaction to be processed does not have the transaction to be processed with the same primary key, wherein no conflict transaction exists in the at least one transaction to be processed, and otherwise, a conflict transaction exists in the at least one transaction to be processed.
The transaction may include a primary key that uniquely identifies a transaction and may be represented by a column or a combination of columns. Therefore, the execution main body can judge whether the conflict affair exists through the main key, the accuracy and the effectiveness of the judgment of the conflict affair are improved, and the efficiency of information synchronization is further improved. When there is no pending transaction with the same primary key, it indicates that there is no conflict transaction in at least one pending transaction, and the execution subject may send at least one pending transaction to the database to be synchronized in parallel. Otherwise, it indicates that there is a conflict transaction in at least one pending transaction.
In some optional implementation manners of some embodiments, the determining a sending order among the at least one conflicting transaction, and sending the at least one conflicting transaction to the database to be synchronized in parallel based on the sending order may include the following steps:
the first step, construct an undirected acyclic graph based on the at least one conflicting transaction.
To determine the order of transmission between conflicting transactions, the execution principal may build an undirected acyclic graph based on at least one conflicting transaction. Wherein the nodes of the undirected acyclic graph correspond to conflicting transactions. FIG. 7 is a schematic diagram of a directed acyclic graph. As shown in fig. 7, the conflicting transactions include transaction 1, transaction 2, transaction 3, transaction 4, and transaction 5, and then transaction 1, transaction 2, transaction 3, transaction 4, and transaction 5 may be set to correspond to the nodes of the directed acyclic graph.
And secondly, dividing the undirected acyclic graph into at least one directed acyclic graph according to the receiving time of the conflict transaction.
Generally, transactions are recorded in the source database according to the actual sequence, and the time for acquiring the transactions is different in the process of processing the source database by the execution main body. To this end, the execution agent may determine a reception time of the conflicting transaction and partition the directed acyclic graph into at least one directed acyclic graph according to the reception time. Wherein, the direction of each edge of the directed acyclic graph is from the conflict transaction with the front receiving time to the conflict transaction with the back receiving time. That is, the "direction" in a directed acyclic graph is determined by the time of receipt of a conflicting transaction. As shown in fig. 7, transaction 1, transaction 2, transaction 3, transaction 4, and transaction 5 are ordered in chronological order of receipt time. And among transaction 1, transaction 2, transaction 3, transaction 4 and transaction 5, transaction 1 conflicts with transaction 2 and transaction 4, respectively; transaction 2 and transaction 5 have conflicts; there is a conflict between transaction 3 and transaction 4. Correspondingly, two edges issued from transaction 1 point to transaction 2 and transaction 4, respectively; the edge from transaction 2 points to transaction 5; the edge from transaction 3 points to transaction 4. The directed acyclic graph includes: transaction 1-transaction 2; transaction 1-transaction 4; transaction 2-transaction 5; transaction 3-transaction 4.
And thirdly, constructing a directed acyclic graph sequence based on the at least one directed acyclic graph.
After the directed acyclic graph is determined, the execution subject may divide the conflicting transactions into different groups, and further obtain a directed acyclic graph sequence. Conflicting transactions cannot be sent in parallel, and correspondingly, transaction 1 cannot be in the same group as transactions 2 and 4, transactions 2 and 5 cannot be in one group, and transactions 3 and 4 cannot be in one group.
And fourthly, sending conflict transactions corresponding to the directed acyclic graphs in the directed acyclic graph sequence to a database to be synchronized in parallel.
The execution body may send the corresponding conflict transaction to the database to be synchronized in parallel according to the directed acyclic graph in the directed acyclic graph sequence. Therefore, the conflict among the transactions is avoided while the transactions are sent in parallel, and the effectiveness of the synchronization information of the database to be synchronized is improved.
In some optional implementations of some embodiments, the constructing a directed acyclic graph sequence based on the at least one directed acyclic graph may include:
the method comprises the first step of determining the earliest receiving time corresponding to a plurality of nodes in the directed acyclic graph for the directed acyclic graph in the at least one directed acyclic graph.
As can be seen from the above description, the transactions are sequentially recorded in the source database according to the actual situation, and the times for acquiring the transactions are different in the process of processing the source database by the execution main body. In order to ensure that the database to be synchronized does not generate errors when synchronizing information, the execution subject may determine the earliest receiving time corresponding to a plurality of nodes in each directed acyclic graph. FIG. 8 is a diagrammatic illustration of a transaction group to which a sequence of directed acyclic graphs corresponds. In fig. 8, the reception time of the transaction 1 is the earliest, and there are no other transactions in the group in which the transaction 1 is located, so the earliest reception time is the reception time of the transaction 1. In the group of transactions 2 and 3, transaction 2 is earlier in time than transaction 3, and the earliest receive time is the receive time of transaction 2. Similarly, the receiving time of transaction 4 is the earliest receiving time of the group of transactions 4 and 5.
And secondly, sequencing the directed acyclic graphs in the at least one directed acyclic graph according to the sequence of the earliest receiving time to obtain a directed acyclic graph sequence.
And the execution main body sorts the directed acyclic graphs in the at least one directed acyclic graph according to the sequence of the earliest receiving time, determines that the group where the transaction 1 is located is sent first, then the group where the transactions 2 and 3 are located is sent, and finally the group where the transactions 4 and 5 are located is sent.
In some optional implementation manners of some embodiments, the sending, in parallel, the conflict transaction corresponding to the directed acyclic graph in the directed acyclic graph sequence to the database to be synchronized may include the following steps:
firstly, determining a topological sequence corresponding to the directed acyclic graph sequence.
The directed acyclic graph sequence comprises a plurality of directed acyclic graphs, and conflict transactions contained in each directed acyclic graph cannot be sent to the database to be synchronized in the same parallel sending. To this end, the execution subject may have a topological sequence corresponding to the sequence of directed acyclic graphs, and the topological sequence may include at least two transaction groups. As can be seen from the above description, a directed acyclic graph includes: transaction 1-transaction 2; transaction 1-transaction 4; transaction 2-transaction 5; transaction 3-transaction 4. The resulting topological sequence may be: transaction 1; transaction 2 and transaction 3; transaction 4 and transaction 5. That is, FIG. 8 corresponds to a transaction group that includes: the group in which transaction 1 is located, the group in which transactions 2 and 3 are located, and the group in which transactions 4 and 5 are located.
And secondly, according to the receiving time sequence, the conflict affairs in the affair group contained in the topological sequence are parallelly sent to a database to be synchronized.
After the topology sequence is determined, the execution main body can send conflict transactions in the transaction group contained in the topology sequence to the database to be synchronized in parallel according to the receiving time sequence. In fig. 8, the group in which transaction 1 is located is sent first, then the group in which transactions 2 and 3 are located is sent, and finally the group in which transactions 4 and 5 are located is sent.
In some optional implementation manners of some embodiments, the determining a topology sequence corresponding to the sequence of directed acyclic graphs may include the following steps:
the method comprises the first step of determining a conflict relationship between at least one conflict transaction contained in a directed acyclic graph in the directed acyclic graph sequence.
As can be seen from the above description, if there is a conflict between the transactions corresponding to the directed acyclic graph, the execution subject may determine the conflict relationship through the transactions corresponding to the directed acyclic graph. As shown in FIG. 8, the conflict relationship may be that transaction 1 conflicts with transactions 2 and 4, transaction 2 and 5, and transaction 3 and 4, respectively.
And secondly, dividing at least one conflict transaction corresponding to the directed acyclic graph sequence into at least one transaction group based on the conflict relationship.
After the conflict relationship is determined, the conflicting transactions may be divided into different transaction groups. I.e., there is no conflict between conflicting transactions within the transaction group. Transaction groups corresponding to FIG. 8: the group in which transaction 1 is located, the group in which transactions 2 and 3 are located, and the group in which transactions 4 and 5 are located.
With continued reference to fig. 4, fig. 4 illustrates a flow 400 of some embodiments of an information synchronization method according to the present disclosure. The information synchronization method comprises the following steps:
step 401, a source database is obtained, and data to be synchronized of the source database is obtained based on a locus.
Step 402, analyzing the data to be synchronized into at least one transaction to be processed, and determining quantity information of the at least one transaction to be processed.
The contents of step 401 and step 402 are the same as those of step 201 and step 202, and are not described in detail here.
Step 403, querying the first version information of the source database and the second version information of the database to be synchronized.
In practice, whether the information synchronization is successful is also related to the first version information of the source database and the second version information of the database to be synchronized. When the execution main body synchronizes information, the execution main body needs to query the first version information of the source database and the second version information of the database to be synchronized.
Step 404, in response to that the first version information is higher than the second version information, determining a conflict field type between the first version information and the second version information, converting the at least one to-be-processed transaction based on the conflict field type to obtain at least one updated to-be-processed transaction, and sending the at least one updated to-be-processed transaction to a to-be-synchronized database in a parallel sending manner based on the quantity information; otherwise, the at least one transaction to be processed is sent to the database to be synchronized in a parallel sending mode.
In general, a high version database may be downward compatible with a low version database, which may not be compatible with the high version database. When the first version information is higher than the second version information, the database information of the high version is synchronized to the database of the low version, and therefore, the conditions of the collision field types and the like caused by different versions need to be considered. For example, the json type in the source database is converted into a varchar type compatible with the database to be synchronized. Or filter the column during data synchronization. After the conflict field type is determined, the at least one to-be-processed transaction needs to be converted based on the conflict field type to obtain at least one updated to-be-processed transaction, and the updated to-be-processed transaction is information which can be used by the to-be-synchronized database. And then at least one transaction to be updated is sent to the database to be synchronized in a parallel sending mode according to the method of the embodiment. When the first version information is the same as the second version information or the first version information is lower than the second version information, the execution subject may directly send at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending manner. Therefore, the problem of compatibility of information synchronization among different database versions is solved, and the effectiveness of the information synchronization is improved.
With further reference to fig. 5, as an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of an information synchronization apparatus, which correspond to those shown in fig. 2, and which may be applied in various electronic devices.
As shown in fig. 5, the information synchronization apparatus 500 of some embodiments includes: a data to be synchronized acquisition unit 501, a quantity information determination unit 502, and an information synchronization unit 503. The data acquiring unit 501 to be synchronized is configured to acquire a source database, and acquire data to be synchronized of the source database based on a site, where the source database includes at least one transaction, and the site is used to identify a location of the data to be synchronized of the transaction; a quantity information determining unit 502 configured to parse the data to be synchronized into at least one transaction to be processed, and determine quantity information of the at least one transaction to be processed; an information synchronization unit 503 configured to send the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending manner based on the quantity information.
In an optional implementation manner of some embodiments, the to-be-synchronized data obtaining unit 501 may include: an information query subunit (not shown in the figure) and a data to be synchronized acquisition subunit (not shown in the figure). The information inquiry subunit is configured to inquire the name and the site of each transaction in the database to be synchronized; and the data to be synchronized acquisition subunit is configured to determine the to-be-processed transaction in the source database according to the name and the site of each transaction, and form data to be synchronized through the to-be-processed transaction.
In an optional implementation manner of some embodiments, the information synchronization unit 503 may include: a first information synchronization subunit (not shown in the figure) configured to send the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending manner in response to the number information being greater than a set number threshold; otherwise, sending the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending mode at intervals of set time.
In an optional implementation manner of some embodiments, the first information synchronization subunit may include: a conflict transaction detection module (not shown) and an information synchronization module (not shown). The conflict transaction detection module is configured to detect whether a conflict transaction exists in the at least one to-be-processed transaction; and the information synchronization module is configured to respond to the absence of the conflict transactions, send the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending mode, and otherwise, determine a sending sequence among the at least one conflict transaction and send the at least one conflict transaction to the to-be-synchronized database in parallel based on the sending sequence.
In an alternative implementation of some embodiments, the transaction includes a primary key, the primary key being used to uniquely identify a transaction; and, the conflict transaction detection module may include: and a conflict transaction detection submodule (not shown in the figure) configured to respond to that no pending transaction with the same primary key exists in the at least one pending transaction, and no conflict transaction exists in the at least one pending transaction, otherwise, a conflict transaction exists in the at least one pending transaction.
In an optional implementation manner of some embodiments, the information synchronization module may include: an undirected acyclic graph building submodule (not shown in the figure), a directed acyclic graph determining submodule (not shown in the figure), a directed acyclic graph sequence building submodule (not shown in the figure) and an information synchronization submodule (not shown in the figure). Wherein the undirected acyclic graph constructing sub-module is configured to construct an undirected acyclic graph based on the at least one conflicting transaction, and nodes of the undirected acyclic graph correspond to the conflicting transactions; the directed acyclic graph determining submodule is configured to divide the directed acyclic graph into at least one directed acyclic graph according to the receiving time of the conflict transaction, and the direction of each edge of the directed acyclic graph is pointed to the conflict transaction with the later receiving time by the conflict transaction with the earlier receiving time; a directed acyclic graph sequence construction submodule configured to construct a directed acyclic graph sequence based on the at least one directed acyclic graph; and the information synchronization submodule is configured to send the conflict transactions corresponding to the directed acyclic graph in the directed acyclic graph sequence to the database to be synchronized in parallel.
In an optional implementation manner of some embodiments, the above directed acyclic graph sequence building submodule may include: an earliest reception time determining module (not shown) and a directed acyclic graph sequence building module (not shown). An earliest receiving time determining module configured to determine, for a directed acyclic graph in the at least one directed acyclic graph, an earliest receiving time corresponding to a plurality of nodes in the directed acyclic graph; and the directed acyclic graph sequence building module is configured to sort the directed acyclic graphs in the at least one directed acyclic graph according to the sequence of the earliest receiving time to obtain a directed acyclic graph sequence.
In an optional implementation manner of some embodiments, the information synchronization sub-module may include: a topology sequence determination module (not shown) and an information synchronization module (not shown). The topology sequence determining module is configured to determine a topology sequence corresponding to the directed acyclic graph sequence, where the topology sequence includes at least two transaction groups; and the information synchronization module is configured to send the conflict affairs in the affair group contained in the topological sequence to the database to be synchronized in parallel according to the receiving time sequence.
In an optional implementation manner of some embodiments, the topology sequence determining module may include: conflict relationships determine the sub-module (not shown) and the transaction group planner (not shown). The conflict relation determining submodule is configured to determine a conflict relation between at least one conflict transaction contained in the directed acyclic graph sequence; and the transaction group dividing sub-module is configured to divide at least one conflict transaction corresponding to the directed acyclic graph sequence into at least one transaction group based on the conflict relationship, and conflict transactions in the transaction group are not conflicted.
In an optional implementation manner of some embodiments, the information synchronization unit 503 may further include: a version information querying subunit (not shown in the figure) and a second information synchronizing subunit (not shown in the figure). The version information query subunit is configured to query first version information of the source database and second version information of the database to be synchronized; a second information synchronization subunit, configured to, in response to that the first version information is higher than the second version information, determine a conflict field type of the first version information and the second version information, convert the at least one to-be-processed transaction based on the conflict field type to obtain at least one updated to-be-processed transaction, and send the at least one updated to-be-processed transaction to a to-be-synchronized database in a parallel sending manner based on the quantity information; otherwise, the at least one transaction to be processed is sent to the database to be synchronized in a parallel sending mode.
It will be understood that the elements described in the apparatus 500 correspond to various steps in the method described with reference to fig. 2. Thus, the operations, features and resulting advantages described above with respect to the method are also applicable to the apparatus 500 and the units included therein, and are not described herein again.
As shown in fig. 6, electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 6 may represent one device or may represent multiple devices as desired.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In some such embodiments, the computer program may be downloaded and installed from a network through the communication device 609, or installed from the storage device 608, or installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of some embodiments of the present disclosure.
It should be noted that the computer readable medium described above in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: the method comprises the steps of obtaining a source database, obtaining data to be synchronized of the source database based on a locus, wherein the source database comprises at least one transaction, and the locus is used for identifying the position of the data to be synchronized of the transaction; analyzing the data to be synchronized into at least one transaction to be processed, and determining the quantity information of the at least one transaction to be processed; and sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode based on the quantity information.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by software, and may also be implemented by hardware. The described units may also be provided in a processor, and may be described as: a processor includes a data to be synchronized acquisition unit, a quantity information determination unit, and an information synchronization unit. The names of these units do not in some cases form a limitation on the unit itself, for example, the information synchronization unit may also be described as a "unit for synchronizing a transaction to be processed to a database to be synchronized".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.

Claims (13)

1. An information synchronization method, comprising:
the method comprises the steps of obtaining a source database, obtaining data to be synchronized of the source database based on a locus, wherein the source database comprises at least one transaction, and the locus is used for identifying the position of the data to be synchronized of the transaction;
analyzing the data to be synchronized into at least one transaction to be processed, and determining the quantity information of the at least one transaction to be processed;
and sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode based on the quantity information.
2. The method of claim 1, wherein the retrieving the source database, retrieving the data to be synchronized of the source database based on the location, comprises:
inquiring the name and the locus of each transaction in the database to be synchronized;
and determining the to-be-processed transaction in the source database according to the name and the site of each transaction, and forming to-be-synchronized data through the to-be-processed transaction.
3. The method of claim 1, wherein the sending the at least one transaction to be processed to a database to be synchronized in a parallel sending manner based on the quantity information comprises:
responding to the quantity information larger than a set quantity threshold value, and sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode; otherwise, sending the at least one to-be-processed transaction to the to-be-synchronized database in a parallel sending mode at intervals of set time.
4. The method of claim 3, wherein the sending the at least one transaction to be processed to the database to be synchronized in a parallel send comprises:
detecting whether a conflict transaction exists in the at least one transaction to be processed;
and responding to the condition that no conflict transaction exists, sending the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending mode, otherwise, determining a sending sequence among the at least one conflict transaction, and sending the at least one conflict transaction to the to-be-synchronized database in parallel based on the sending sequence.
5. The method of claim 4, wherein the transaction comprises a primary key, the primary key for uniquely identifying a transaction; and
the detecting whether a conflict transaction exists in the at least one transaction to be processed includes:
responding to that no pending transaction with the same primary key exists in the at least one pending transaction, and no conflict transaction exists in the at least one pending transaction, otherwise, a conflict transaction exists in the at least one pending transaction.
6. The method of claim 4, wherein the determining a transmission order between at least one conflicting transaction and transmitting the at least one conflicting transaction in parallel to the database to be synchronized based on the transmission order comprises:
constructing an undirected acyclic graph based on the at least one conflicting transaction, the nodes of the undirected acyclic graph corresponding to conflicting transactions;
dividing the undirected acyclic graph into at least one directed acyclic graph according to the receiving time of the conflict transactions, wherein the direction of each edge of the directed acyclic graph is from the conflict transactions with the earlier receiving time to the conflict transactions with the later receiving time;
constructing a directed acyclic graph sequence based on the at least one directed acyclic graph;
and sending conflict transactions corresponding to the directed acyclic graphs in the directed acyclic graph sequence to a database to be synchronized in parallel.
7. The method of claim 6, wherein said constructing a sequence of directed acyclic graphs based on the at least one directed acyclic graph comprises:
determining the earliest receiving time corresponding to a plurality of nodes in the directed acyclic graph for the directed acyclic graph in the at least one directed acyclic graph;
and sequencing the directed acyclic graphs in the at least one directed acyclic graph according to the sequence of the earliest receiving time to obtain a directed acyclic graph sequence.
8. The method of claim 6, wherein the sending conflicting transactions corresponding to directed acyclic graphs in the sequence of directed acyclic graphs to a database to be synchronized in parallel comprises:
determining a topological sequence corresponding to the directed acyclic graph sequence, wherein the topological sequence comprises at least two transaction groups;
and according to the receiving time sequence, sending the conflict affairs in the affair group contained in the topological sequence to a database to be synchronized in parallel.
9. The method of claim 8, wherein the determining a topological sequence to which the sequence of directed acyclic graphs corresponds comprises:
determining a conflict relationship between at least one conflict transaction contained in a directed acyclic graph in the directed acyclic graph sequence;
and dividing at least one conflict transaction corresponding to the directed acyclic graph sequence into at least one transaction group based on the conflict relationship, wherein conflict transactions in the transaction group are not conflicted.
10. The method of claim 1, wherein the sending the at least one transaction to be processed to a database to be synchronized in a parallel sending manner based on the quantity information comprises:
inquiring first version information of the source database and second version information of the database to be synchronized;
responding to the first version information higher than the second version information, determining a conflict field type of the first version information and the second version information, converting the at least one transaction to be processed based on the conflict field type to obtain at least one updated transaction to be processed, and sending the at least one updated transaction to be processed to a database to be synchronized in a parallel sending mode based on the quantity information; otherwise, the at least one transaction to be processed is sent to the database to be synchronized in a parallel sending mode.
11. An information synchronization apparatus, comprising:
the device comprises a to-be-synchronized data acquisition unit, a synchronization processing unit and a synchronization processing unit, wherein the to-be-synchronized data acquisition unit is configured to acquire a source database and acquire to-be-synchronized data of the source database based on a locus, the source database comprises at least one transaction, and the locus is used for identifying the position of the to-be-synchronized data of the transaction;
the quantity information determining unit is configured to analyze the data to be synchronized into at least one transaction to be processed and determine quantity information of the at least one transaction to be processed;
an information synchronization unit configured to send the at least one to-be-processed transaction to a to-be-synchronized database in a parallel sending manner based on the quantity information.
12. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-10.
13. A computer-readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1 to 10.
CN202110200171.9A 2021-02-23 2021-02-23 Information synchronization method and device, electronic equipment and computer readable medium Pending CN113779139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110200171.9A CN113779139A (en) 2021-02-23 2021-02-23 Information synchronization method and device, electronic equipment and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110200171.9A CN113779139A (en) 2021-02-23 2021-02-23 Information synchronization method and device, electronic equipment and computer readable medium

Publications (1)

Publication Number Publication Date
CN113779139A true CN113779139A (en) 2021-12-10

Family

ID=78835621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110200171.9A Pending CN113779139A (en) 2021-02-23 2021-02-23 Information synchronization method and device, electronic equipment and computer readable medium

Country Status (1)

Country Link
CN (1) CN113779139A (en)

Similar Documents

Publication Publication Date Title
CN107506451B (en) Abnormal information monitoring method and device for data interaction
CN111309747A (en) Data synchronization method, system and device
CN113127564B (en) Parameter synchronization method and device
CN112015816A (en) Data synchronization method, device, medium and electronic equipment
CN111338834B (en) Data storage method and device
CN113886485A (en) Data processing method, device, electronic equipment, system and storage medium
CN110737655B (en) Method and device for reporting data
CN113190517B (en) Data integration method and device, electronic equipment and computer readable medium
CN112948494A (en) Data synchronization method and device, electronic equipment and computer readable medium
CN111309366B (en) Method, device, medium and electronic equipment for managing registration core
CN112988915A (en) Data display method and device
WO2023169251A1 (en) Index determination method and apparatus, and server and medium
CN113779139A (en) Information synchronization method and device, electronic equipment and computer readable medium
CN113742426B (en) Data synchronization method, device, equipment, server and storage medium
CN112507676B (en) Method and device for generating energy report, electronic equipment and computer readable medium
CN115329007A (en) Method and system for synchronizing data among databases, electronic equipment and storage medium
CN114035861A (en) Cluster configuration method and device, electronic equipment and computer readable medium
CN112084115B (en) Method and device for flowsheet operation of software defects
CN115102992A (en) Data distribution method and device, electronic equipment and computer readable medium
CN110750424B (en) Resource inspection method and device
CN112256714A (en) Data synchronization method and device, electronic equipment and computer readable medium
CN110955709B (en) Data processing method and device and electronic equipment
CN113722315A (en) Data generation method and device, electronic equipment and computer readable medium
CN112818139A (en) Edge calculation data management method, device and equipment applied to security monitoring
CN111414161A (en) Method, device, medium and electronic equipment for generating ID L file

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