Service providing method and system for database
Abstract
A service providing method and system for a database. The method comprises: when a master database server (301) receives a service providing request of a client, changing data in a database according to the service providing request, writing change information about the database into a first transaction log, and sending the first transaction log to a slave database server (302); and when a network connection between the master database server (301) and the slave database server (302) is disconnected or times out, or when the number of accumulated transaction logs, failing to be successfully sent, in the master database server (301) exceeds a pre-set value, or when the sending time of the first transaction log exceeds a pre-set time, the master database server (301) transmitting the first transaction log or information about an update object corresponding to the first transaction log to a buffer region (303). It can be seen therefrom that when a standby database temporarily cannot receive a log, a master database sends the log to the buffer region (303) so as to prevent the log from being lost.

Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
16 claims: 3 independent, 13 dependent
- 1A method for providing a database of a database, the method comprising:一种数据库的服务提供方法,其特征在于,所述方法包括: When the primary database server receives the service request of the client, changes the data in the database according to the service providing request, writes the change information of the database into the first transaction log, and sends the first transaction log to the first transaction log From the database server;当主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;When the network connection between the primary database server and the slave database server is disconnected or timed out, or the number of unsuccessful transaction logs accumulated in the primary database server exceeds a preset value, or the The primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to the buffer when the transmission time of the first transaction log exceeds the preset time. 当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,所述主数据库服务器将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区。
- 9A database system, characterized in that the system comprises:a primary database server, from a database server and a buffer;一种数据库系统,其特征在于,所述系统包括:主数据库服务器、从数据库服务器和缓冲区;Wherein the primary database server is configured to change the data in the database according to the service providing request when the primary database server receives the service request of the client and writes the change information of the database to the first transaction log , Sending the first transaction log to a database server;所述主数据库服务器,用于当所述主数据库服务器接收到客户端的服务提供请求时,根据所述服务提供请求更改数据库中的数据,并将所述数据库的更改信息写入到第一事务日志中,将所述第一事务日志发送给从数据库服务器;The slave database server for receiving the first transaction log sent by the primary database server;所述从数据库服务器,用于接收所述主数据库服务器发送的所述第一事务日志;The primary database server is also used to disconnect or time out a network connection between the primary database server and the slave database server, or that the number of non-successfully sent transaction logs accumulated in the primary database server exceeds The first transaction log or the update information corresponding to the first transaction log is transmitted to the buffer when the predetermined value is preset or when the transmission time of the first transaction log exceeds the preset time;所述主数据库服务器,还用于当所述主数据库服务器与所述从数据库服务器之间的网络连接断开或超时,或者,所述主数据库服务器中累积的未发送成功的事务日志的数量超过预设数值时,或者,所述第一事务日志的发送时间超过预设时间时,将所述第一事务日志或者所述第一事务日志对应的更新对象的信息传输给缓冲区;And a buffer for storing information of the first transaction log or the update object corresponding to the first transaction log. 所述缓冲区,用于存储所述第一事务日志或者所述第一事务日志对应的更新对象的信息。
- 16A system as claimed in any one of claims 9 to 15, characterized in that:如权利要求9至15中任一项所述的系统,其特征在于: The slave database server is further configured to receive the first transaction log and to play back the first transaction log to synchronize the data from the database server with the primary database server. 所述从数据库服务器,还用于接收所述第一事务日志,将所述第一事务日志进行回放,以使所述从数据库服务器与所述主数据库服务器同步数据。
Independent claims3
87 paragraphs, as filed
The database provides a method and system for service provisioning
This application claims the benefit of priority from Japanese Patent Application No. 201510955708.7 filed on December 18, 2015, entitled & quot; Service Provisions and Systems for Database, & quot; the entire contents of which are hereby incorporated by reference in this application.
Technical field
The present application relates to the field of computers, and more particularly to a method and system for providing a database.
Background technique
Currently, the database system generally uses a master-slave master-slave architecture to provide high availability services. Under normal circumstances, the primary database server external services. If the process of external services to the implementation of the data changes, will be written to the database before the change, first written to the transaction log. Each log records a change to a data record that contains the primary key for data logging and specific information about the update operation. The main database server generates logs that are continuously sent over the network and sent to the database from the database. After receiving the log from the database server, it is played back so that its data is synchronized with the primary database server. For the sake of description, in the following description, sometimes the primary database server referred to as the main library, from the database server referred to as the backup library.
In the prior art, when the database system provides services for the database, it is necessary to switch to the backup library and continue to provide the service by the backup library in order to realize the high availability when the database is out of the database. In order to switch, the status of the library and the final state of the main library, to ensure that the library has been the main library of all the log.
As can be seen from the above, in the service provisioning method of the prior art database, in a master-slave architecture, there is often a problem that the network is unstable due to network instability (such as loss of data packets), network bottlenecks, or storage Bottlenecks (such as CPU utilization to reach the peak) and the log can not be promptly sent to the library of the phenomenon, may lead to loss of log.
<u>The contents of the invention</u>
The embodiment of the present application provides a service providing method and system for a database, which ensures that the log is not lost.
In one aspect, there is provided a method of providing a database for a service, the method comprising:
When the primary database server receives the service request of the client, changes the data in the database according to the service providing request, writes the change information of the database into the first transaction log, and sends the first transaction log to the first transaction log From the database server;
When the network connection between the primary database server and the slave database server is disconnected or timed out, When the number of non-sent successful transaction logs accumulated in the primary database server exceeds a preset value, or when the transmission time of the first transaction log exceeds a preset time, the primary database server sends the first transaction The log or the information of the update object corresponding to the first transaction log is transmitted to the buffer.
Optionally, the method further comprises:
When the primary database server confirms that the first transaction log or the information of the update object corresponding to the first transaction log has been transmitted to the buffer, the transaction commit operation is completed, and the client transaction is notified to be successful.
Optionally, the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to a buffer, the method further comprising:
The primary database server continues to send the first transaction log to the slave database server.
Optionally, the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to a buffer, the method further comprising:
When the primary database server confirms that the first transaction log has been sent to the slave database server, the primary database server sends an indication message to the buffer, the indication message being used to indicate that the buffer deletion The first transaction log.
Optionally, the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to a buffer, the method further comprising:
When the master-slave switchover occurs between the primary database server and the slave database server, the slave server retrieves the first transaction log from the buffer and replays the first transaction log so that The data is synchronized with the primary database server from the database server, and the playback is completed to provide external service.
Optionally, the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to a buffer, the method further comprising:
When the master / slave switchover occurs between the primary database server and the slave database server, the slave database server extracts information of an update object corresponding to the first transaction log from the buffer, wherein the update object The information is specific to the primary key or the page number information, and the corresponding primary key or the page is locked according to the primary key or the page number information to start service.
Optionally, the method further comprises:
When the database transaction received from the database server accesses the locked data, it waits until the first transaction log is received from the database server and the first transaction log is played back, Lock the data, and then continue the database transaction.
Optionally, the method further comprises:
Wherein the first transaction log is received from a database server and the first transaction log is played back to synchronize the data from the database server with the primary database server.
In another aspect, there is provided a database system, the system comprising: a primary database server, from a database server and a buffer;
Wherein the primary database server is configured to change the data in the database according to the service providing request when the primary database server receives the service request of the client and writes the change information of the database to the first transaction log , Sending the first transaction log to a database server;
The slave database server for receiving the first transaction log sent by the primary database server;
The primary database server is also used to disconnect or time out a network connection between the primary database server and the slave database server, or that the number of non-successfully sent transaction logs accumulated in the primary database server exceeds The first transaction log or the update information corresponding to the first transaction log is transmitted to the buffer when the predetermined value is preset or when the transmission time of the first transaction log exceeds the preset time;
And a buffer for storing information of the first transaction log or the update object corresponding to the first transaction log.
Optionally, the primary database server is further configured to, when the primary database server confirms that the first transaction log or the information of the update object corresponding to the first transaction log has been transferred to the buffer, completing the transaction commit Operation, notifying the client transaction to commit successfully.
Optionally, the primary database server is further configured to continue to send the first transaction log to the first transaction log after transmitting the information of the first transaction log or the update object corresponding to the first transaction log to the buffer The slave database server.
Optionally, the primary database server is further configured to send an indication message to the buffer after confirming that the first transaction log has been sent to the slave database server, the indication message being used to indicate that the buffer The area deletes the first transaction log.
Optionally, the slave database server is further configured to transmit, after the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to the buffer, when the primary database The first transaction log is retrieved from the buffer when the master-slave switchover occurs between the server and the slave database server, and the first transaction log is played back so that the slave database server and the primary database The server synchronizes the data, and the playback completes the service.
Optionally, the slave database server is further configured to transmit, after the primary database server transmits information of the first transaction log or the update object corresponding to the first transaction log to the buffer, when the primary database service And the slave server, the slave server retrieves, from the buffer, the information of the update object corresponding to the first transaction log, wherein the information of the update object is a primary key Or page number information, and the corresponding primary key or the page is locked according to the primary key or the page number information to start service.
Optionally, the slave database server is also used to wait for the locked data when the database transaction received from the database server is accessed; until the first transaction log is received from the database server, After the first transaction log is played back, releasing the locked data and continuing the database transaction.
Optionally, the slave database server is further configured to receive the first transaction log and to play back the first transaction log to synchronize the data from the database server with the primary database server.
The present invention provides a method for providing a database of a database, and in the case of a master, a buffer is provided on the basis of a master, and when the repository is temporarily unable to receive the log, the main library sends the log to the buffer to ensure that the log does not Lost. And when the main database server confirms that the information of the first transaction log or the update object corresponding to the first transaction log has been transferred to the buffer, the transaction commit operation is completed, and the client transaction is notified to be successful, so that the log is delivered as soon as possible , Thus completing the transaction submission, effectively improve the performance of the main library, while not affecting the overall system availability.
Description of the drawings
Figure 1 is a schematic diagram of a database system provided in the first embodiment of the present application;
Figure 2 is a flow diagram of a service providing method for a database provided in the second embodiment of the present invention;
Figure 3 is a schematic diagram of a database system provided in the third embodiment of the present application.
detailed description
SUMMARY OF THE INVENTION The present invention will now be described, by way of example, with reference to the accompanying drawings, the accompanying drawings, the accompanying drawings, the accompanying drawings, the inventive embodiments, the embodiments and the advantages of the embodiments of the present application, Is a part of the application of this application, and not all embodiments. All other embodiments obtained by those of ordinary skill in the art without making creative work are within the scope of this application, based on the embodiments of the present application.
For the purpose of facilitating the understanding of the embodiments of the present application, the following description of the embodiments of the present application will not be further explained by way of example with reference to the accompanying drawings, which are not to be construed as limiting the scope of the present application.
Figure 1 is a schematic diagram of a database system provided in the first embodiment of the present application, which is based on a master-slave architecture, In addition, a buffer is provided. Referring to Figure 1, the database system specifically includes the primary database server, from the database server and the buffer. Based on the system architecture shown in Figure 1, the present application provides a method for providing a database of a database, when the primary database server, i.e., the main library, logs the log to the buffer when the database is temporarily unavailable from the database server or the repository. The log out, so as to complete the transaction submitted to effectively improve the performance of the main library, while not affecting the overall system availability.
Figure 2 is a flow diagram of a service providing method for a database provided in the second embodiment of the present application. The method is based on the database system architecture shown in Figure 1,
In step 201, the primary database server receives the service request of the client.
Among them, when the user needs to access the database, through the client and the main database server to establish a connection, the main database server to receive the client's service request, through the service process to provide services for users.
In step 202, the primary database server changes the data in the database according to the service provision request and writes the database change information into the first transaction log.
In the embodiment of the present application, the order of execution of the operation for changing the data and the operation of writing the log is not limited, and the data may be written after the data is changed, or the data can be changed after the log is written, and the log and Change the data.
In step 203, the primary database server sends the first transaction log to the slave database server.
Among them, you can set the log write and send module in the primary database server, and write and send the log by the log write and send module.
Step 204, after receiving the first transaction log from the database server, the first transaction log is played back so that the data is synchronized with the primary database server from the database server.
Specifically, the first transaction log can be played back by the log playback process.
In step 205, when the primary database server determines that the log can not be transferred from the database server in time, that is, when the step 204 fails to execute normally, the primary database server transfers the information of the first transaction log or the update object corresponding to the first transaction log to the buffer.
In the embodiments of the present application, the primary database server may, but is not limited to, determining that the log can not be transmitted to the database server in a timely manner when the primary database server is disconnected or timed from the network connection from the database server, or in the primary database server When the cumulative number of transaction logs that have not been sent exceeds the preset value, or if the first transaction log is sent more than the preset time.
Among them, the reasons for the disconnection or timeout of the network connection may be due to bottlenecks in network bandwidth or performance bottlenecks.
The information of the update object corresponding to the first transaction log may be a primary key value or a page number.
The buffer specifically provides a message queue or cache service for buffering.
Step 206, when the primary database server confirms that the first transaction log has been sent to the database server, or when the primary database server confirms that the first transaction log has been played back from the database server, or when the primary database server confirms the first transaction log or the A transaction log corresponding to the updated object information has been transmitted to the buffer, complete the transaction commit operation, notify the client transaction submitted successfully.
The present application provides a method of providing a database of a database that extends the scope of the transaction processing of the primary database server, not only when the primary database server confirms that the first transaction log has been sent to the database server, or when the primary database server confirms from the database The server has the first transaction log after the completion of the completion of the transaction to complete the transaction, and when the database from the database server that is temporarily unable to receive the log, the main database server that the main library log or log corresponding to the updated object information sent to the buffer Area, thus completing the transaction submission, effectively improve the performance of the main library, while not affecting the overall system availability.
In the main system of a database system, the main server server and the secondary server from the database server are designed primarily to enable the master and slave switches to be used by the slave to provide services for the user when the primary library is not available.
In a specific embodiment of the present application, when a master-slave switch occurs between the primary database server and the secondary server from the database server, the first transaction log is fetched from the buffer and the first transaction log is played back so that the data from the database server Synchronize data with the primary database server, and the playback is complete.
In another specific embodiment of the present application, when a master-slave switchover occurs between the primary database server and the database server, the information of the update object corresponding to the first transaction log is extracted from the buffer from the database server, wherein the information of the update object Specifically for the primary key or page number information, according to the primary key or page number information on the corresponding primary key or page to lock, began to provide external services.
Optionally, when the database transaction received from the database server accesses the locked data, it waits until the first transaction log is received from the database server, the first transaction log is played back, the locked data is released, And then the database transaction is continued from the database server.
In addition, you can also take a different approach, when the database server received from the database transaction to access the locked data, will wait; until the primary database server is restored, and then by the primary database server to continue the database transaction.
Optionally, the primary database server continues to send the first transaction log to the database server after the primary transaction log or the information of the update object corresponding to the first transaction log is transferred to the buffer.
Optionally, when the primary database server confirms that the first transaction log has been sent to the database server, the primary number The library server sends an indication message to the buffer indicating that the buffer deletes the first transaction log.
The solution provided by the embodiment of the present application is comparable to that of a master-slave scheme, wherein the master-slave scheme is a service providing method based on a database of a primary database server and two database architectures. In addition, in the present embodiment, since the buffer only needs to provide the active / standby log transmission abnormality, the contents of the log are saved, and the buffer can be discarded after the active / standby log transmission returns to normal. Therefore, the storage space of the buffer Small, practical, low cost; and as a global service, a buffer can serve multiple database systems, so this program relative to the main two from the program, reducing the hardware requirements, the corresponding significantly reduced cost.
Figure 3 is a schematic diagram of a database system provided by a third embodiment of the present application for implementing a service providing method of a database provided by an embodiment of the present application. Referring to Figure 3, the system includes a main database server 301, a database server 302 and Buffer 303;
The main database server 301 is configured to change the data in the database according to the service provision request when the primary database server 301 receives a service request for a client and writes the change information of the database to the first In the transaction log, the first transaction log is sent to the database server 302;
The slave database server 302 for receiving the first transaction log sent by the primary database server 301,
The primary database server 301 is also used to disconnect or time out the network connection between the primary database server 301 and the slave database server 302, or a transaction that is not successfully sent in the primary database server 301 The first transaction log or the update information corresponding to the first transaction log is transmitted to the buffer when the number of the log exceeds the preset value or when the transmission time of the first transaction log exceeds the preset time 303;
And a buffer 303 for storing information of the first transaction log or the update object corresponding to the first transaction log.
Optionally, the primary database server 301 is further configured to, when the primary database server 301 confirms that the first transaction log or the information of the update object corresponding to the first transaction log has been transmitted to the buffer 303, Completing the transaction commit operation, informing the client transaction to commit successfully.
Optionally, the primary database server 301 is further configured to continue, after transmitting the information of the first transaction log or the update object corresponding to the first transaction log to the buffer 303, continuing the first transaction log To the slave database server 302. [
Optionally, the primary database server 301 is further configured to send an indication message to the buffer 303 after confirming that the first transaction log has been sent to the slave database server 302, the indication message being used to indicate By The buffer 36 deletes the first transaction log.
Optionally, the slave database server 302 is further configured to transfer the information of the first transaction log or the update object corresponding to the first transaction log to the buffer 303 after the primary database server 301 The first transaction log is retrieved from the buffer 303 when the master-slave switch between the primary database server 301 and the slave database server 302 is made, and the first transaction log is played back so that the slave database The server 302 synchronizes the data with the primary database server 301, and the playback is completed to start service.
Optionally, the slave database server 302 is further configured to transfer the information of the first transaction log or the update object corresponding to the first transaction log to the buffer 303 after the primary database server 301 The slave database server 302 extracts the information of the update object corresponding to the first transaction log from the buffer 303 when the master / slave switch takes place between the primary database server 301 and the slave database server 302, wherein the The information of the updated object is mainly the primary key or the page number information, and the corresponding primary key or the page is locked according to the primary key or the page number information to start service.
Optionally, the slave database server 302 is also used to wait for the locked data to be accessed by the database transaction received from the database server 302 until the received data from the database server 302 receives the first A transaction log that replays the first transaction log, releases the locked data, and continues the database transaction.
Optionally, the slave database server 302 is further configured to receive the first transaction log and to play back the first transaction log to synchronize the data from the database server 302 with the primary database server 301. [
It will also be appreciated by those skilled in the art that the objects and algorithm steps of the examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two, in order to clearly illustrate the hardware and software Interchangeability, the composition and steps of each example have been described in terms of functionality in the above description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. The skilled artisan may use different methods to implement the described functions for each particular application, but such implementations should not be considered beyond the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented with hardware, a software module executed by a processor, or a combination of both. The software modules may be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or Known in any other form of storage medium.
The foregoing detailed description of the objects, technical solutions and advantages of the present application will be made in detail, and it is to be understood that the foregoing description is only of the specific embodiments of the present application and is not intended to limit the scope of the present application Scope of protection, any modifications, equivalents, improvements, etc., made within the spirit and principles of this application, Shall be included within the scope of the present application.
4 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN111124757A | Cited by | China | – | Search report | – |
| CN103475718A | Cites | China | A | International search | 1-16 |
| CN103580891A | Cites | China | A | International search | 1-16 |
| CN103580906A | Cites | China | A | International search | 1-16 |
| CN104468399A | Cites | China | X | International search | 1-16 |
| CN105162560A | Cites | China | A | International search | 1-16 |
3 members in 2 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 201510955708 | China | A | |
| 2015109557087 | – | – | – |
| CN20151955708 | – | – | – |
Members3
| Document | Office | Kind | |
|---|---|---|---|
| WO2017101731A1This record | World Intellectual Property Organization (WIPO) | A1 | |
| CN106897288A | China | A | |
| CN106897288B | China | B |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Ep: pct application non-entry in european phase122 | 122 | |
| Non-entry into the national phase in:NENP | NENP | |
| Ep: the epo has been informed by wipo that ep was designated in this application121 | 121 |
Numbers
- Publication
- 2017/101731
- Publication, DOCDB
- 2017101731
- Publication, EPODOC
- WO2017101731
- Application
- 108991
- Application, DOCDB
- 2016108991
- Application, EPODOC
- WO2016CN108991
Titles3
- English
- SERVICE PROVIDING METHOD AND SYSTEM FOR DATABASE
- French
- PROCÉDÉ ET SYSTÈME DE FOURNITURE DE SERVICE POUR UNE BASE DE DONNÉES
- Chinese
- ?????????????
Classification
- CPC, 1
- H04L1/22
- IPC, 1
- H04L1 22
Designated states154
- Regional, 84
- African Regional Intellectual Property Organization (ARIPO)
- Botswana
- Ghana
- Gambia
- Kenya
- Liberia
- Lesotho
- Malawi
- Mozambique
- Namibia
- Rwanda
- Sudan
- Sierra Leone
- Eswatini
- United Republic of Tanzania
- Uganda
- Zambia
- Zimbabwe
- Eurasian Patent Organization (EAPO)
- Armenia
- Azerbaijan
- Belarus
- Kyrgyzstan
- Kazakhstan
and 60 moreShow fewer
- Russian Federation
- Tajikistan
- Turkmenistan
- European Patent Office (EPO)
- Albania
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Croatia
- Hungary
- Ireland
- Iceland
- Italy
- Lithuania
- Luxembourg
- Latvia
- Monaco
- North Macedonia
- Malta
- Netherlands (Kingdom of the)
- Norway
- Poland
- Portugal
- Romania
- Serbia
- Sweden
- Slovenia
- Slovakia
- San Marino
- Türkiye
- African Intellectual Property Organization (OAPI)
- Burkina Faso
- Benin
- Central African Republic
- Congo
- Côte d’Ivoire
- Cameroon
- Gabon
- Guinea
- Equatorial Guinea
- Guinea-Bissau
- Comoros
- Mali
- Mauritania
- Niger
- Senegal
- Chad
- Togo
- Sao Tome and Principe
- National, 70
- United Arab Emirates
- Antigua and Barbuda
- Angola
- Australia
- Bosnia and Herzegovina
- Barbados
- Bahrain
- Brunei Darussalam
- Brazil
- Belize
- Canada
- Chile
- China
- Colombia
- Costa Rica
- Cuba
- Djibouti
- Dominica
- Dominican Republic
- Algeria
- Ecuador
- Egypt
- Grenada
- Georgia
and 46 moreShow fewer
- Guatemala
- Honduras
- Indonesia
- Israel
- India
- Iran (Islamic Republic of)
- Japan
- Cambodia
- Saint Kitts and Nevis
- Democratic People’s Republic of Korea
- Republic of Korea
- Kuwait
- Lao People’s Democratic Republic
- Saint Lucia
- Sri Lanka
- Libya
- Morocco
- Republic of Moldova
- Montenegro
- Madagascar
- Mongolia
- Mexico
- Malaysia
- Nigeria
- Nicaragua
- New Zealand
- Oman
- Panama
- Peru
- Papua New Guinea
- Philippines
- Qatar
- Saudi Arabia
- Seychelles
- Singapore
- El Salvador
- Syrian Arab Republic
- Thailand
- Tunisia
- Trinidad and Tobago
- Ukraine
- United States of America
- Uzbekistan
- Saint Vincent and the Grenadines
- Viet Nam
- South Africa