EP4104068A1 - Computer-based arrangement for database communication - Google Patents
Computer-based arrangement for database communicationInfo
- Publication number
- EP4104068A1 EP4104068A1 EP20786506.4A EP20786506A EP4104068A1 EP 4104068 A1 EP4104068 A1 EP 4104068A1 EP 20786506 A EP20786506 A EP 20786506A EP 4104068 A1 EP4104068 A1 EP 4104068A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- computer system
- database
- data
- computer
- server
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Definitions
- the disclosure relates to a computer-based arrangement for database communi cation, wherein access to a database by computer systems is controlled.
- database connection information for example database IP, user name, password, port, etc.
- database operation logic for example SQL statements
- Another way is to provide a database operation module sepa rately.
- the database connection information will exist in a database operation module configuration file as a clear text format
- the database op eration logic will exist in business code of the database operation module.
- the problem to be solved by the invention is to provide a computer-based ar rangement for database communication which allows a high degree of decou pling between business code provided on a first computer system (application side) and database operation code provided on a second computer system (data service side). It is further desired to have a high architectural flexibility.
- An embodiment of a computer-based arrangement for database communication comprises a first computer system for executing at least one application pro gram, and a second computer system for providing at least one database and for evaluating data of the at least one database.
- the first computer system and the second computer system are configured to communicate with each other.
- the second computer system is configured to encapsulate the at least one database so that a direct access to the at least one database by the first computer system is prevented.
- the first computer system is configured to send a communication request to the second computer system.
- the second computer system is configured to evaluate the communication request and to access the data of the at least one database in response to the communication request.
- the second computer system is con figured to process the data of the at least one database by executing a data oper ation and to provide a data operation execution result.
- the second computer system is configured to return response data to the first computer system in re sponse to the data operation execution result.
- the second computer system may comprise a reverse proxy server being configured to receive the communication request from the first computer system.
- the second computer system may comprise a database server being configured to encapsulate database stored procedures and functions so that direct access to any database operations and raw data of the at least one database by the first computer system is prevented.
- Any database operation logic may be encapsu lated in the database stored procedures and functions.
- the communication is stateless.
- the first computer system and the second computer system may include a software architecture configured to use a stateless communication. There may be no context of the first computer system stored on the second computer systems between requests. Each request from a first computer system may contain all the information necessary to ser vice the request, and the session state is held in the first computer system.
- a ses sion state may be transferred by the second computer system to another service such as a database to maintain a persistent state for a period and allow authenti cation.
- Such a stateless architecture allows switching between different second computer systems (or different computers of the second computer system) and using different reverse proxy servers, which provides a further decoupling be tween the first computer system and the second computer system.
- the sec ond computer system may comprise a data encapsulation server being config ured to execute the database stored procedures on the database server.
- the da tabase server may be configured to provide the data operation execution result to the encapsulation server.
- the encapsulation server may be con figured to encapsulate the data operation execution result and to return the en capsulated data operation execution result to the reverse proxy server. Any data base connection information may be stored in a configuration file on the encap sulation server.
- the reverse proxy server may be configured to return the encap sulated data operation execution result as the response data to the first com puter system.
- the computer systems may be configured to use a representational state trans fer (REST) software architectural style.
- REST representational state trans fer
- the first computer system may be configured to communicate with the second com puter system by sending a HTTP request to the reverse proxy server.
- the first computer system may be configured to send the HTTP request to the reverse proxy server by using a RESTful API communication architecture.
- the reverse proxy server may be configured to parse the HTTP request and to con vert the HTTP request to a database request.
- the database request is configured to provide access to one of the database stored procedures.
- the reverse proxy server is configured to forward the database request to the encapsulation server.
- the proposed computer-based arrangement for database communication can solve the database operation problems mentioned above for the traditional soft- ware development process. Since the business code is provided in the first com puter system on the application side, there is no database connection infor mation and database operation logic included in the application business code.
- the business code and the database operation code rather exist in respective, separate code files and configuration files.
- the business code of the application side exists in the first computer system and the database operation code, i.e. the code files and configuration files, exists in the second computer sys tem.
- the proposed computer-based arrangement for database communication provides a high de gree of decoupling between business code on the application side of the first computer system and database operation code on the data service side of sec ond computer system.
- the application side realized on the first computer system and the data base service side realized on the second computer system are completely iso lated so that database operation logic is completely hidden and totally invisible for the application business side.
- the database connec tion information may only be provided on the data encapsulation server.
- the only way to access the database from the application business side, i.e. the first computer system is to send a communication request, for example a call of the RESTful API.
- the backend data base server/data base instance server can only communicate with the data en capsulation server so that data security is ensured.
- the second computer system of the data service side may comprise multiple re verse proxy servers and encapsulation servers. Moreover, it is possible to config ure and bind various logic of RESTful APIs to different encapsulation servers on reverse proxy servers. It is also possible to deploy multiple database servers to handle the same data business using master-slave mode.
- the computer-based arrangement for database communication can support database service load balance and high availability perfectly. Moreo ver, it is possible to deploy multiple database servers, split the database read and write operations into different databases, and reduce the database pressure. Furthermore, the proposed computer-based arrangement provides support of micro service and SOA architecture as well as support of a cloud server architec ture.
- the computer-based arrangement for database communication allows to add/modify the stored procedures in the database and modify the configuration file on the reverse proxy server to set up any mapping relationship between new RESTful APIs and database stored procedures.
- any development work can be finished on a database service layer realized on the second computer system of the data service side.
- the figure shows an embodiment of a proposed computer-based arrangement 1 for database communication comprising a first computer system on the applica tion side and a second computer system to realize a data service side.
- the figure shows the first computer system 10 for executing at least one applica tion program, and the second computer system 20 for providing at least one da tabase 300a, 300b and 300c and for evaluating data of the at least one database.
- the first computer system 10 and the second computer system 20 are configured to communicate with each other.
- the second computer system 20 on the data service side is configured to encapsulate the at least one database 300a, 300b and 300c so that a direct access to the at least one database, in par ticular to any raw data of the at least one database, by the first computer system 10 of the application side is prevented.
- the first computer system 10 is configured to send a communication request to the second computer system 20.
- the second computer system 20 is configured to evaluate the communication request and to access the data of the at least one database 300a, 300b and 300c in response to the communication request.
- the second computer system 20 is configured to process the data of the at least one database 300a, 300b and 300c by executing a data operation and to provide a data operation execution result.
- the second computer system 20 is configured to return response data to the first computer system 10 in response to the data op eration execution result.
- the application side which is realized on the first computer system 10, refers to a series of applications which need to access a database.
- the applica tion side communicates with a database service side through a communication request which is sent from the first computer system 10 to the second computer system 20 or by response data which are sent from the second computer system 20 to the first computer system 10.
- the second computer system 20 comprises a reverse proxy server 100 being con figured to receive the communication request from the first computer system 10.
- the first computer system 10 may be configured to communicate with the second computer system 20 by sending a HTTP request to the reverse proxy server 100.
- the first computer system 10 may send the HTTP re- quest to the reverse proxy server 100 by using a RESTful API communication ar chitecture.
- the second computer system 20 further comprises a database server BOO being configured to encapsulate database stored procedures and functions so that a di rect access to any database operations by the first computer system 10 is pre vented. Any database operation logic is encapsulated in the database stored pro- cedures and functions to which there is no access for the first computer system 10, i.e. the application side.
- the second computer system 20 further comprises a data encapsulation server 200 being configured to execute the database stored procedures on the data base server 300.
- the database server 300 is configured to provide the data operation execution result to the encapsulation server 200.
- the encap sulation server 200 is configured to encapsulate the data operation execution re sult and to return the encapsulated data operation execution result to the re verse proxy server 100.
- the reverse proxy server 100 is configured to return the encapsulated data operation execution result as a response data to the first com- puter system 10.
- the first computer system 10 of the application side may communicate with the second computer system 20 of the database service side through a RESTful API.
- the first computer system 10 of the applica tion side starts a HTTP request through the RESTful API to the reverse proxy server 100.
- the reverse proxy server 100 converts the RESTful communication request from the first computer system 10 to an easy-to-handle database pack- age/database stored procedure request, and then forwards the converted re quest to the data encapsulation service provided by the data encapsulation server 200.
- the reverse proxy server 100 receives the HTTP request which comes from the first computer system 10 of the application side, parses the HTTP request and repackages it to another HTTP/WSGI/UWSGI request, then forwards the new HTTP/WSGI/UWSGI to the data encapsulation server 200 for further processing.
- the data encapsulation server 200 connects the database server S00 for execut ing the database stored procedures.
- the data encapsulation server 200 receives HTTP requests from the reverse proxy server 100. It parses the HTTP method and database stored procedure name and the corresponding pa- rameter values in a request string. Then, the data encapsulation server 200 exe cutes the database stored procedures on the database server 300 using the data base connection configuration information.
- the data encapsulation service pro vided by the data encapsulation server 200 bridges the connection between the RESTful request and the database.
- the database server 300 returns the data operation execution result back to the data encapsulation server 200.
- a data processing program imple mented on the data encapsulation server 200 will encapsulate the execution re sult to a unified data format, for example into JSON format data, and return the encapsulated data operation execution result to the reverse proxy server 100.
- the data processing program on the data encapsulation server 200 needs to in clude several modules, for example a database connection module, an exception handler module, a parameter parse module, a database stored procedure execu tion module, and a database execution result processing module (processed into RESTful JSON format).
- the reverse proxy server 100 returns the encapsulated data operation execution result, for example the JSON format data, as response data to the first computer system 10 of the application side.
- the reverse proxy server 100 can be deployed in open source reverse proxy soft ware.
- the software to be used can be Nginx or Apache.
- the reverse proxy server 100 is embodied to configure the target server (data encapsulation server 200) to which the HTTP requests from the application side need to be forwarded. All the configurations on the reverse proxy server 100 can exist in a configuration file.
- the data encapsulation server 200 will be deployed in open source UWSGI ser vice, customized data processing program which supports UWSGI and HTTP pro tocol.
- the data processing program can be developed through one of C, C++, JAVA, C#, PYTHON, GO, etc.
- the connection and login information of the data base server S00 will be recorded in the configuration file on the data encapsula tion server 200.
- the data encapsulation server 200 interacts with the database server 300 directly to carry out the data manipulation requests.
- the data encapsulation server 200 will encapsulate any database return result into a JSON format string.
- the database server 300 will be deployed as a database system.
- the candidate database system can be ORACLE, MYSQL, SQL SERVER, etc. All the database op erations from the application side will be encapsulated to database stored proce dures and functions. All the database operations will be invisible to the applica- tion side.
- the database operation may include commands such SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, TRUNCATE, RENAME, ALTER, AUDIT, GRANT, COMMIT, ROLLBACK, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102019215321 | 2019-10-07 | ||
| PCT/EP2020/077537 WO2021069305A1 (en) | 2019-10-07 | 2020-10-01 | Computer-based arrangement for database communication |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4104068A1 true EP4104068A1 (en) | 2022-12-21 |
Family
ID=72752901
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP20786506.4A Pending EP4104068A1 (en) | 2019-10-07 | 2020-10-01 | Computer-based arrangement for database communication |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4104068A1 (en) |
| CN (1) | CN114787794A (en) |
| WO (1) | WO2021069305A1 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1265309C (en) * | 2002-10-30 | 2006-07-19 | 华为技术有限公司 | Method accessing data bank through protocol agency mode |
| US20120030746A1 (en) * | 2010-07-30 | 2012-02-02 | Swee Huat Sng | Devices and Methods for Using HTTP Encapsulation to Access Web Resources |
| US10489402B2 (en) * | 2016-11-08 | 2019-11-26 | International Business Machines Corporation | Bridging native JDBC calls with DBaaS using ESB |
-
2020
- 2020-10-01 CN CN202080084766.6A patent/CN114787794A/en active Pending
- 2020-10-01 WO PCT/EP2020/077537 patent/WO2021069305A1/en not_active Ceased
- 2020-10-01 EP EP20786506.4A patent/EP4104068A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| CN114787794A (en) | 2022-07-22 |
| WO2021069305A1 (en) | 2021-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4264427B1 (en) | Multi-tenant control plane management on computing platform | |
| CN100461096C (en) | Dynamic registry partition system and method | |
| JP7293314B2 (en) | Ethereum virtual machine transaction processing method, apparatus, equipment, program and medium | |
| CN111491037B (en) | Communication method with object storage server through SFTP data stream | |
| US6732360B1 (en) | System and method for providing connection between client and heterogeneous database management systems | |
| CN111176791A (en) | A cross-virtual machine calling method based on multi-virtual machine blockchain platform | |
| JP7291764B2 (en) | Ethereum virtual machine transaction processing method, apparatus, equipment, program and medium | |
| TW200415877A (en) | Method, apparatus and computer program product for emulating an iSCSI device on a logical volume manager | |
| CN110069248A (en) | Call method, device, equipment and the computer readable storage medium of interface data | |
| US20250165309A1 (en) | System and method for managing namespace of offloading card and processing input/output request | |
| JP2022101466A (en) | Transaction processing method of ethereum virtual machine, device, apparatus, program, and medium | |
| CN113067866A (en) | Batch file transmission method and device between heterogeneous systems | |
| CN111582824A (en) | Cloud resource synchronization method, device, equipment and storage medium | |
| CN108345462A (en) | The method and apparatus of component upgrade | |
| CN111159265A (en) | ETL data migration method and system | |
| CN102402455A (en) | Method and device for calling dynamic link library | |
| KR102340881B1 (en) | Method and system for providing platform for IoT service based on block-chain | |
| CN112559079A (en) | Data source connection driving self-adaptive loading method and device and electronic equipment | |
| WO2021069305A1 (en) | Computer-based arrangement for database communication | |
| CA2878759A1 (en) | Methods and systems for providing software applications | |
| CN109005163B (en) | HTTP dynamic request service calling method | |
| WO2021243665A1 (en) | Compilation method, compilation apparatus, compilation system, storage medium, and electronic device | |
| US11588654B2 (en) | Method and apparatus for operating blockchain system, device and storage medium | |
| JP2022101477A (en) | Transaction processing method of ethereum virtual machine, device, apparatus, and medium | |
| CN115168316A (en) | A batch text processing method, device and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20220725 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| 111L | Licence recorded |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR Free format text: EXCLUSIVE LICENSE Name of requester: QUALCOMM TECHNOLOGIES, INC., US Effective date: 20231103 |
|
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20250521 |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: AUMOVIO GERMANY GMBH |