KR102421397B1 - Method of building backend with automatic programming code generation - Google Patents

Method of building backend with automatic programming code generation Download PDF

Info

Publication number
KR102421397B1
KR102421397B1 KR1020190090062A KR20190090062A KR102421397B1 KR 102421397 B1 KR102421397 B1 KR 102421397B1 KR 1020190090062 A KR1020190090062 A KR 1020190090062A KR 20190090062 A KR20190090062 A KR 20190090062A KR 102421397 B1 KR102421397 B1 KR 102421397B1
Authority
KR
South Korea
Prior art keywords
code
api
server
database
editing
Prior art date
Application number
KR1020190090062A
Other languages
Korean (ko)
Other versions
KR20210012400A (en
Inventor
여승기
Original Assignee
주식회사 디에스랩글로벌
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디에스랩글로벌 filed Critical 주식회사 디에스랩글로벌
Priority to KR1020190090062A priority Critical patent/KR102421397B1/en
Publication of KR20210012400A publication Critical patent/KR20210012400A/en
Application granted granted Critical
Publication of KR102421397B1 publication Critical patent/KR102421397B1/en

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/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Abstract

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법은 사용자단말로부터 데이터편집요청신호를 수신하는 단계, 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 생성된 데이터편집코드를 통해 DB서버에서 데이터베이스가 편집되는 단계 및 편집된 데이터베이스에 따라 생성된 API생성코드가 생성되고, API서버에서 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 어플리케이션 프로그래밍 인터페이스(API)가 생성되는 단계가 포함될 수 있다.A method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention includes receiving a data editing request signal from a user terminal, generating a data editing code based on the data editing request signal, and using the generated data editing code. Through the step in which the database is edited in the DB server and the API generation code generated according to the edited database is generated, an application programming interface (API) that can be connected to the application related to database editing is generated based on the API generation code in the API server. steps may be included.

Description

프로그래밍 코드 자동생성을 통한 백엔드 구축 방법{METHOD OF BUILDING BACKEND WITH AUTOMATIC PROGRAMMING CODE GENERATION}How to build a backend through automatic generation of programming code {METHOD OF BUILDING BACKEND WITH AUTOMATIC PROGRAMMING CODE GENERATION}

본 발명은 DB서버 및 API서버와 연동가능한 관리서버에 의해 수행되는 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 관한 것으로, 더욱 상세하게는 사용자단말로부터 수신한 신호에 기초하여 생성된 데이터편집코드에 따라 DB서버에서 데이터베이스가 편집되고, 편집된 데이터베이스에 따라 생성된 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 API가 생성되는 백엔드 구축 방법에 관한 것이다. The present invention relates to a method of constructing a backend through automatic generation of programming codes performed by a management server interoperable with a DB server and an API server, and more particularly, according to a data editing code generated based on a signal received from a user terminal. It relates to a method of constructing a backend in which a database is edited in a DB server, and an API connectable with an application related to database editing is generated based on the API generation code generated according to the edited database.

일반적으로 프론트엔드(front-end)와 백엔드(back-end)는 프로세스의 처음과 마지막 단계를 가리키는 것으로, 프론트엔드에서 사용자로부터 다양한 형태의 입력을 제공받아 백엔드에서 사용할 수 있는 규격을 따라 입력된 데이터를 처리하게 된다. 즉, 프론트엔드와 백엔드는 프로그램 인터페이스와 서비스의 사용자와 관련된 특성을 나타내기 위하여 사용될 수 있다. 더욱 구체적으로, 프론트엔드 서비스는 사용자(혹은 사용자 단말)와 직접 상호작용을 하는 서비스에 해당된다. 백엔드 시스템은 보통 요구되는 자원들에 가깝게 있거나 또는 요구되는 자원들과 교신할 수 있는 기능을 통해 프론트엔드 서비스를 간접적으로 지원하는 시스템에 해당된다.In general, front-end and back-end refer to the first and last stages of a process. will process That is, the front-end and the back-end can be used to represent a program interface and user-related characteristics of a service. More specifically, the front-end service corresponds to a service that directly interacts with a user (or user terminal). A back-end system is a system that indirectly supports a front-end service through a function that is usually close to the requested resources or can communicate with the requested resources.

다만, 데이터베이스 서버 및 API 서버의 개발과 관련된 백엔드 구축에 있어서 사용자로부터의 입력(Ex. 테이블 추가, 칼럼 수정 등)에 일일이 대응하여 데이터베이스를 업데이트하거나 관련된 API를 생성해야 하는 문제가 있다. 즉, 백엔드 구축 과정에서 자동적으로 프로그래밍 코드들이 생성됨으로써 백엔드 개발이 자동화될 수 있는 기술에 대한 개발은 아직 진행된 바 없다.However, there is a problem in that, in the construction of the backend related to the development of the database server and API server, it is necessary to update the database or create a related API in response to input from the user (eg, adding a table, modifying a column, etc.). That is, the development of a technology capable of automating backend development by automatically generating programming codes in the backend construction process has not yet been developed.

대한민국 공개특허공보 제10-2004-0010677호 (공개일자: 2004.01.31)Republic of Korea Patent Publication No. 10-2004-0010677 (published on January 31, 2004)

본 발명은 전술한 문제점에 대한 일 대응방안으로써, 프론트엔드로부터 수신된 데이터편집요청신호에 기초하여 데이터베이스를 편집하고, API를 생성하기 위한 프로그래밍 코드들이 자동적으로 생성될 수 있다.In the present invention, as a countermeasure to the above-described problem, programming codes for editing a database and generating an API can be automatically generated based on a data editing request signal received from a front end.

또한, 생성된 API에 기초하여 프론트엔드에서 API가 호출되도록 하기 위한 API호출코드가 자동적으로 생성될 수 있다.Also, based on the generated API, an API calling code for allowing the API to be called in the front end may be automatically generated.

본 발명의 일 실시 예로써, DB서버 및 API서버와 연동가능한 관리서버에 의해 수행되는 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법이 제공될 수 있다.As an embodiment of the present invention, a method for constructing a backend through automatic generation of programming codes performed by a management server interoperable with a DB server and an API server may be provided.

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법은 프론트엔드(front-end)로부터 데이터편집요청신호를 수신하는 단계, 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 생성된 데이터편집코드를 통해 DB서버에서 데이터베이스가 편집되는 단계 및 편집된 데이터베이스에 따라 API생성코드가 생성되고, API서버에서 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 어플리케이션 프로그래밍 인터페이스(API)가 생성되는 단계가 포함될 수 있다.According to an embodiment of the present invention, a method for constructing a backend through automatic generation of programming code includes receiving a data editing request signal from a front-end, generating a data editing code based on the data editing request signal, and generating An application programming interface (API) that can be connected to an application related to database editing based on the API creation code in the API server and the stage in which the database is edited in the DB server through the edited data editing code and the API generation code is generated according to the edited database. may include a step in which

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, API가 생성되는 단계 이후에 프론트엔드에서 API가 호출되도록 하기 위한 API호출코드가 생성되는 단계가 더 포함될 수 있다.In the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, the step of generating an API call code for allowing the API to be called from the frontend may be further included after the step of generating the API.

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 생성된 데이터편집코드를 통해 DB서버에서 데이터베이스가 편집되는 단계에는 데이터편집요청신호를 분석하고, 분석 결과에 기초하여 메타데이터가 추출되는 단계, 추출된 메타데이터에 기초하여 데이터베이스를 편집하기 위한 객체관계매핑(Object-relational mapping, ORM) 함수를 요청하는 ORM요청코드가 생성되는 단계, ORM요청코드에 따라 호출된 객체관계매핑 함수에 대응되는 데이터편집코드가 생성되는 단계 및 데이터편집코드에 의해 DB서버에서 데이터베이스가 편집되는 단계가 포함될 수 있다.In the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, the data editing code is generated based on the data editing request signal, and the step of editing the database in the DB server through the generated data editing code includes: ORM request code for requesting an object-relational mapping (ORM) function for analyzing the data editing request signal, extracting metadata based on the analysis result, and editing the database based on the extracted metadata It may include a step of generating , a step of generating a data edit code corresponding to the object relation mapping function called according to the ORM request code, and a step of editing the database in the DB server by the data edit code.

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호를 분석하고, 분석 결과에 기초하여 메타데이터가 추출되는 단계에서는 딥러닝 알고리즘에 기초하여 미리 학습된 분석모델을 통해 데이터편집요청신호가 분석될 수 있다.In the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, in the step of analyzing a data editing request signal and extracting metadata based on the analysis result, analysis learned in advance based on a deep learning algorithm The data edit request signal can be analyzed through the model.

본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호는 사용자단말의 그래픽 유저 인터페이스(GUI)를 통해 입력되고, 데이터편집요청신호에는 테이블생성신호, 테이블삭제신호, 칼럼생성신호, 칼럼삭제신호 및 칼럼수정신호 중 어느 하나가 포함될 수 있다.In the method for constructing a backend through automatic generation of programming code according to an embodiment of the present invention, the data edit request signal is input through a graphical user interface (GUI) of the user terminal, and the data edit request signal includes a table creation signal and a table deletion signal. Any one of a signal, a column creation signal, a column deletion signal, and a column correction signal may be included.

본 발명의 일 실시 예에 따르면, 프론트엔드로부터 수신된 데이터편집요청신호에 기초하여 데이터베이스를 편집하고, API를 생성하기 위한 프로그래밍 코드들이 자동적으로 생성되어 백엔드 구축이 자동화되는 효과가 있다.According to an embodiment of the present invention, programming codes for editing a database and generating an API are automatically generated based on a data editing request signal received from the front-end, thereby automating the construction of the back-end.

도 1은 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법을 나타낸 순서도이다.
도 2는 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, API호출코드가 생성되는 단계가 추가된 과정을 나타낸 순서도이다.
도 3은 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터베이스가 편집되는 단계를 나타낸 순서도이다.
도 4는 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 관리서버가 백엔드 및 프론트엔드와 연동가능한 상태임을 나타낸 예시도이다.
1 is a flowchart illustrating a method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.
2 is a flowchart illustrating a process in which the step of generating an API call code is added in the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.
3 is a flowchart illustrating a step in which a database is edited in a method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.
4 is an exemplary diagram illustrating that the management server is in a state capable of interworking with the backend and the frontend in the method for building a backend through automatic generation of programming code according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. However, the present invention may be embodied in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 명세서 전체에서 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, "그 중간에 다른 소자를 사이에 두고" 연결되어 있는 경우도 포함한다. In the entire specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. . In addition, when a part is "connected" to another part throughout the specification, this includes not only a case in which it is "directly connected" but also a case in which it is connected "with another element in the middle".

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 관리서버(100)가 백엔드(200) 및 프론트엔드(300)와 연동가능한 상태임을 나타낸 예시도이다.4 is an exemplary diagram illustrating that the management server 100 is in a state capable of interworking with the backend 200 and the frontend 300 in the method for constructing a backend through automatic generation of programming code according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시 예로써, DB서버(220) 및 API서버(210)와 연동가능한 관리서버(100)에 의해 수행되는 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법이 제공될 수 있다. 즉, 본 발명의 백엔드 구축 방법은 관리서버(100)에 의해 수행될 수 있으며, 관리서버(100)는 DB서버(220) 및 API서버(210)와 연동될 수 있다. Referring to FIG. 4 , as an embodiment of the present invention, a method of constructing a backend through automatic generation of programming codes performed by the management server 100 interoperable with the DB server 220 and the API server 210 may be provided. have. That is, the method of constructing the backend of the present invention may be performed by the management server 100 , and the management server 100 may be linked with the DB server 220 and the API server 210 .

관리서버(100)에는 코드생성부(미도시), 제어부(미도시) 및 통신부(미도시)가 더 포함될 수 있다. 코드생성부에서는 후술하는 바와 같이 데이터베이스에서 데이터 편집이 수행되기 위한 데이터편집코드, API 생성을 위한 API생성코드, 객체관계매핑 함수를 요청하기 위한 ORM요청코드, API호출코드 등이 자동으로 생성될 수 있다. 상기 코드생성부에서 생성되는 프로그래밍 언어는 제한이 없으며, 백엔드(200) 구축 목적에 따라 다양한 프로그래밍 언어가 사용될 수 있다. 제어부에서는 코드생성부의 동작의 제어는 물론, 백엔드(200) 및 프론트엔드(300)와 연동을 위한 제어가 수행될 수 있다. 즉, 제어부에서는 본 발명의 백엔드 구축 방법을 구현하기 위한 전반적인 동작이 제어될 수 있다. 예를 들면, 코드생성부에서 생성된 프로그래밍 언어가 컴파일(compiling)되거나 상기 프로그래밍 언어에 기초하여 생성된 프로그램이 실행되는 등의 동작이 수행될 수 있다. 통신부에서는 관리서버(100) 내의 구성요소 간 통신은 물론 DB서버(220), API서버(210), 프론트엔드(300) 등 타 디바이스 혹은 타 시스템과의 통신이 수행될 수 있다. 상기 통신부의 통신 방식은 다양한 유선 혹은 무선 통신방법이 사용될 수 있고, 특정 통신 방법에 제한되는 것은 아니다.The management server 100 may further include a code generation unit (not shown), a control unit (not shown), and a communication unit (not shown). In the code generator, as described later, data editing code for data editing in the database, API creation code for API creation, ORM request code for requesting an object relation mapping function, API call code, etc. can be automatically generated. have. The programming language generated by the code generator is not limited, and various programming languages may be used according to the purpose of constructing the backend 200 . The control unit may control the operation of the code generator as well as control for interworking with the backend 200 and the frontend 300 . That is, the control unit may control the overall operation for implementing the method of constructing a backend of the present invention. For example, an operation such as compiling a programming language generated by the code generator or executing a program generated based on the programming language may be performed. In the communication unit, communication with other devices or other systems such as the DB server 220 , the API server 210 , and the front end 300 as well as communication between the components in the management server 100 may be performed. As the communication method of the communication unit, various wired or wireless communication methods may be used, and the communication method is not limited to a specific communication method.

본 명세서에서 DB서버(220)는 데이터베이스 내의 데이터를 접근할 수 있도록 하기 위한 데이터베이스 관리 시스템(database management system, DBMS)이 구비된 서버 혹은 DBMS일 수 있다. 다만, DB서버(220)는 이에 제한되는 것이 아니라 데이터베이스가 구비되거나 데이터베이스에 접근할 수 있는 기능 모듈이 구비된 장치(Ex. 개인용 컴퓨터, 컴퓨터 클러스터, 태블릿 PC, 스마트폰 등)일 수 있다. 또한, API서버(210)는 어플리케이션 프로그래밍 인터페이스(API)를 생성하기 위한 서버를 지칭하며, 상기 DB서버(220)를 통해 데이터베이스에 대한 접근이 가능하도록 하기 위한 API를 생성하기 위한 서버일 수 있다. 또한, 상기 API서버(210)는 프론트엔드(300)에서 API가 호출되도록 하기 위하여 관련된 데이터를 송신하거나 수신하는 서버일 수 있다. In this specification, the DB server 220 may be a server or DBMS provided with a database management system (DBMS) for accessing data in the database. However, the DB server 220 is not limited thereto, and may be a device (eg, a personal computer, a computer cluster, a tablet PC, a smart phone, etc.) provided with a database or a function module that can access the database. In addition, the API server 210 refers to a server for generating an application programming interface (API), and may be a server for generating an API for enabling access to a database through the DB server 220 . Also, the API server 210 may be a server that transmits or receives data related to an API call from the front end 300 .

또한, 본 명세서에서 백엔드(back-end)는 프론트엔드(front-end)에서 입력된 사용자의 데이터를 처리하기 위한 시스템으로써 백엔드 시스템을 지칭할 수 있다. 즉, 본 명세서에서 백엔드(200)는 요구되는 자원들에 가깝게 있거나 또는 요구되는 자원들과 교신할 수 있는 기능을 통해 프론트엔드 서비스를 간접적으로 지원하는 백엔드 시스템일 수 있다. 상기 백엔드 시스템은 도 4에 도시된 바와 같이 API서버(210) 및 DB서버(220)를 포함할 수 있다.Also, in the present specification, a back-end may refer to a back-end system as a system for processing user data input from the front-end. That is, in the present specification, the backend 200 may be a backend system that indirectly supports a frontend service through a function that is close to the requested resources or can communicate with the requested resources. The backend system may include an API server 210 and a DB server 220 as shown in FIG. 4 .

또한, 프론트엔드(300)는 사용자(혹은 사용자 단말)와 직접 상호작용을 하는 서비스 혹은 시스템일 수 있다. 즉, 프론트엔드(300)와 백엔드(200)는 프로그램 인터페이스와 서비스의 사용자와 관련된 특성을 나타내기 위하여 사용될 수 있다. 예를 들면, 프론트엔드(300)에서는 사용자(또는 프로그램)와 혹은 사용자 단말을 통해 인터페이스함으로써 요구된 데이터를 얻거나 요구된 서비스를 수행하기 위하여 백엔드 시스템으로 상기 요구된 내용을 전달할 수 있다.Also, the front end 300 may be a service or system that directly interacts with a user (or a user terminal). That is, the front-end 300 and the back-end 200 may be used to represent a program interface and user-related characteristics of a service. For example, the front-end 300 may transmit the requested content to the back-end system in order to obtain requested data or perform a requested service by interfacing with a user (or a program) or through a user terminal.

도 1은 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법을 나타낸 순서도이다.1 is a flowchart illustrating a method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법은 사용자단말로부터 데이터편집요청신호를 수신하는 단계(S100), 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 생성된 데이터편집코드를 통해 DB서버(220)에서 데이터베이스가 편집되는 단계(S200) 및 편집된 데이터베이스에 따라 생성된 API생성코드가 생성되고, API서버(210)에서 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 어플리케이션 프로그래밍 인터페이스(API)가 생성되는 단계(S300)가 포함될 수 있다.Referring to FIG. 1 , the method for building a backend through automatic generation of programming code according to an embodiment of the present invention includes receiving a data edit request signal from a user terminal (S100), and a data edit code is generated based on the data edit request signal. A step (S200) of the database being edited in the DB server 220 through the generated and generated data editing code (S200) and the API generation code generated according to the edited database is generated, and based on the API generation code in the API server 210 Thus, a step (S300) of generating an application programming interface (API) connectable to an application related to database editing may be included.

이하에서는 본 발명의 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법이 구현되는 과정(S100-S300)을 살펴본다.Hereinafter, a process (S100-S300) of implementing the method of constructing a backend through automatic generation of programming code of the present invention will be described.

먼저, 관리서버(100)에서는 프론트엔드(300)로부터 데이터편집요청신호가 수신(S100)될 수 있다. 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호는 사용자단말의 그래픽 유저 인터페이스(GUI)를 통해 입력될 수 있다. 즉, 프론트엔드(300)에서는 사용자단말과 연결 가능하도록 GUI를 제공할 수 있고, 사용자는 상기 GUI를 통해 데이터편집요청신호를 관리서버(100)로 전달할 수 있다. 본 명세서에서 사용자는 소정의 서비스를 수행하기 위하여 DB서버(220) 및 API서버(210)를 운용하기 위한 개인 또는 법인을 지칭할 수 있다. 또한, 데이터편집요청신호에는 테이블생성신호, 테이블삭제신호, 칼럼생성신호, 칼럼삭제신호 및 칼럼수정신호 중 어느 하나가 포함될 수 있다. 뿐만 아니라, 상기 데이터편집요청신호에는 쿼리(query)와 관련된 데이터 처리 속도를 조절하기 위한 KEY 설정신호, 기본값(default value) 설정신호, 테이블의 설정 값으로 "Not Null", "auto increase" 등을 설정하기 위한 신호 등이 더 포함될 수 있다. 즉, 상기 데이터편집요청신호는 데이터베이스 내 데이터 처리와 관련된 신호를 총칭할 수 있다. 이와는 달리, 상기 데이터편집요청신호는 데이터, 테이블, 칼럼, 스프레드시트, 데이터베이스 자체로도 입력될 수 있다. 즉, 편집하고자 하는 데이터베이스가 상기 데이터편집요청신호로 입력될 수 있다.First, the management server 100 may receive a data editing request signal from the front end 300 (S100). In the method for constructing a backend through automatic generation of programming code according to an embodiment of the present invention, the data editing request signal may be input through a graphical user interface (GUI) of the user terminal. That is, the front end 300 may provide a GUI so as to be connected to the user terminal, and the user may transmit a data editing request signal to the management server 100 through the GUI. In this specification, a user may refer to an individual or a corporation for operating the DB server 220 and the API server 210 to perform a predetermined service. In addition, the data edit request signal may include any one of a table creation signal, a table deletion signal, a column creation signal, a column deletion signal, and a column correction signal. In addition, the data editing request signal includes a KEY setting signal for controlling the data processing speed related to a query, a default value setting signal, and “Not Null” and “auto increase” as a table setting value. Signals for setting may be further included. That is, the data editing request signal may collectively refer to signals related to data processing in the database. Alternatively, the data editing request signal may be inputted to data, a table, a column, a spreadsheet, or a database itself. That is, a database to be edited may be input as the data editing request signal.

다음으로, 관리서버(100)에서는 데이터편집요청신호에 기초하여 데이터편집코드가 생성될 수 있고, 생성된 데이터편집코드를 통해 DB서버(220)에서는 데이터베이스가 편집(S200)될 수 있다. S200 과정과 관련하여 더욱 구체적인 내용은 아래에서 설명되는 도 3를 참조하여 설명한다.Next, in the management server 100, a data edit code may be generated based on the data edit request signal, and the database may be edited (S200) in the DB server 220 through the generated data edit code. More specific details regarding the process S200 will be described with reference to FIG. 3 described below.

도 3은 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터베이스가 편집되는 단계(S200)를 나타낸 순서도이다.3 is a flowchart illustrating a step S200 in which a database is edited in a method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 생성된 데이터편집코드를 통해 DB서버(220)에서 데이터베이스가 편집되는 단계(S200)에는 데이터편집요청신호를 분석하고, 분석 결과에 기초하여 메타데이터가 추출되는 단계(S210), 추출된 메타데이터에 기초하여 데이터베이스를 편집하기 위한 객체관계매핑(Object-relational mapping, ORM) 함수를 요청하는 ORM요청코드가 생성되는 단계(S220), ORM요청코드에 따라 호출된 객체관계매핑 함수에 대응되는 데이터편집코드가 생성되는 단계(S230) 및 데이터편집코드에 의해 DB서버(220)에서 데이터베이스가 편집되는 단계(S240)가 포함될 수 있다.Referring to FIG. 3 , in the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, a data edit code is generated based on a data edit request signal, and a DB server ( In the step (S200) in which the database is edited in 220), the data editing request signal is analyzed, the metadata is extracted based on the analysis result (S210), and object relation mapping for editing the database based on the extracted metadata (Object-relational mapping, ORM) A step of generating an ORM request code for requesting a function (S220), a step of generating a data editing code corresponding to the object-relational mapping function called according to the ORM request code (S230), and data editing A step (S240) of editing the database in the DB server 220 by the code may be included.

상기 메타데이터는 편집요청 대상에 관한 데이터로써, 상기 메타데이터에는 데이터의 명칭, 형식, 크기 등이 포함될 수 있으며, 뿐만 아니라 상기 메타데이터에는 데이터 편집을 요청한 내용(Ex. 생성, 수정, 삭제 등)까지 포함될 수 있다. 또한, 상기 메타데이터는 제이슨(JSON) 타입으로 추출될 수 있으나 추출되는 타입/형식은 이에 제한되는 것은 아니다. The metadata is data on a subject of an editing request, and the metadata may include a name, format, size, etc. of data, as well as contents requested to edit data (eg, creation, modification, deletion, etc.) in the metadata. up to may be included. Also, the metadata may be extracted as a JSON type, but the extracted type/format is not limited thereto.

상기 S200에 있어서, 데이터편집요청신호를 분석하고, 분석 결과에 기초하여 메타데이터가 추출되는 단계(S210)에서 데이터편집요청신호가 분석되는 방법에는 제한이 없다. 즉, 본 발명의 백엔드 구축 방법에서는 메타데이터를 추출하기 위하여 어떠한 분석 방법이든 상기 S210 단계에서 사용될 수 있다.In S200, there is no limitation on how the data editing request signal is analyzed in the step S210 of analyzing the data editing request signal and extracting metadata based on the analysis result. That is, in the backend construction method of the present invention, any analysis method may be used in step S210 to extract metadata.

구체적으로, 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, 데이터편집요청신호를 분석하고, 분석 결과에 기초하여 메타데이터가 추출되는 단계에서는 딥러닝 알고리즘에 기초하여 미리 학습된 분석모델을 통해 데이터편집요청신호가 분석될 수 있다.Specifically, in the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, in the step of analyzing the data editing request signal and extracting the metadata based on the analysis result, based on the deep learning algorithm in advance The data editing request signal can be analyzed through the learned analysis model.

예를 들면, 데이터편집요청신호는 사운드 타입의 음성신호로 입력될 수 있다. 즉, 상기 입력된 음성신호를 분석하기 위한 분석모델은 딥러닝 알고리즘에 기초하여 미리 학습됨으로써 생성될 수 있다. 또한, 데이터편집요청신호는 문자로 입력될 수 있으며, 상기 입력된 문자의 인식을 위한 분석모델은 전술한 딥러닝 알고리즘에 기초하여 학습되어 생성될 수 있다. 상기 딥러닝 알고리즘에는 Artificial Neural Network(ANN), 서포트 벡터 머신(Support Vector Machine), 다층 퍼셉트론(Multi-Layer Perceptron, MLP), 재귀신경망(Recurrent Neural Network, RNN), Deep Neural Network(DNN) 및 Long Short Term Memory(LSTM) 중 어느 하나가 포함될 수 있다. 다만, 이는 예시적인 것에 불과하고 전술한 알고리즘을 제외한 다양한 머신러닝 알고리즘 혹은 딥러닝 알고리즘들을 이용할 수 있다. 또한, 상기 머신러닝 또는 딥러닝 알고리즘을 상호 결합되거나 연결되어 새로이 형성된 분석모델일 수 있다.For example, the data editing request signal may be input as a sound type voice signal. That is, the analysis model for analyzing the input voice signal may be generated by being trained in advance based on a deep learning algorithm. In addition, the data editing request signal may be input as text, and an analysis model for recognizing the input text may be learned and generated based on the deep learning algorithm described above. The deep learning algorithms include Artificial Neural Network (ANN), Support Vector Machine, Multi-Layer Perceptron (MLP), Recurrent Neural Network (RNN), Deep Neural Network (DNN), and Long Any one of Short Term Memory (LSTM) may be included. However, this is only an example, and various machine learning algorithms or deep learning algorithms other than the above algorithm may be used. In addition, it may be a newly formed analysis model by combining or connecting the machine learning or deep learning algorithms to each other.

상기 S200에 있어서, ORM요청코드에 따라 호출된 객체관계매핑 함수에 대응되는 데이터편집코드가 생성되는 단계(S230)에서 생성된 데이터편집코드는 SQL 언어로 생성된 코드 혹은 구문일 수 있다. 다만, 이에 제한되는 것은 아니고 데이터베이스 관리를 위한 프로그래밍 언어이면 상기 SQL 언어 외에도 다양한 언어가 사용되어 상기 데이터편집코드가 생성될 수 있다.In S200, the data editing code generated in the step S230 of generating the data editing code corresponding to the object relation mapping function called according to the ORM request code may be a code or a syntax generated in the SQL language. However, the present invention is not limited thereto, and if it is a programming language for database management, various languages other than the SQL language may be used to generate the data editing code.

다음으로, 관리서버(100)에서는 편집된 데이터베이스에 따라 생성된 API생성코드가 생성되고, API서버(210)에서는 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 어플리케이션 프로그래밍 인터페이스(API)가 생성(S300)될 수 있다.Next, in the management server 100, an API generation code generated according to the edited database is generated, and in the API server 210, an application programming interface (API) that can be connected to an application related to database editing based on the API generation code is provided. may be generated (S300).

상기 API서버(210)에서 API가 생성되는 과정에서 API의 엔드포인트 구조를 구현하는 방식은 REST 방식 및 GraphQL 방식 중 어느 하나가 사용될 수 있다. 상기 REST 방식 및 GraphQL 방식에 대한 내용은 본 발명의 범위를 넘어서는 것으로 설명은 생략한다. Any one of a REST method and a GraphQL method may be used as a method for implementing the endpoint structure of the API in the process of generating the API in the API server 210 . The REST method and the GraphQL method are beyond the scope of the present invention, and a description thereof will be omitted.

상기 엔드포인트는 API서버(210)가 제공하는 통신채널 혹은 접점을 지칭할 수 있다.The endpoint may refer to a communication channel or contact point provided by the API server 210 .

상기 S200-S300 과정은 백엔드(200) 구축에 관한 것으로, 데이터편집요청신호에 기초하여 DB서버(220)에서는 데이터베이스가 편집될 수 있고, API서버(210)에서는 API가 생성될 수 있다. 다만, 본 발명의 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법은 후술하는 바와 같이 프론트엔드(300)에서 API가 호출됨에 따라 프론트엔드(300)가 편집되는 과정도 함께 포함할 수 있다. The process S200-S300 relates to the construction of the backend 200 , and based on the data editing request signal, the database may be edited in the DB server 220 , and the API may be generated in the API server 210 . However, the method of constructing a backend through automatic generation of programming code of the present invention may also include a process in which the frontend 300 is edited as the API is called from the frontend 300 as will be described later.

도 2는 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, API호출코드가 생성되는 단계(S400)가 추가된 과정을 나타낸 순서도이다.2 is a flowchart illustrating a process in which the step (S400) of generating an API call code is added in the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시 예에 따른 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서, API가 생성되는 단계 이후에 관리서버(100)에서는 프론트엔드(front-end)에서 API가 호출되도록 하기 위한 API호출코드가 생성(S400)될 수 있다. 즉, 관리서버(100)에서 생성된 API호출코드가 프론트엔드(300)로 전달되어 프론트엔드(300)에서는 API호출코드에 기초하여 API가 호출될 수 있다. Referring to FIG. 2 , in the method of constructing a backend through automatic generation of programming code according to an embodiment of the present invention, after the step of generating the API, the management server 100 calls the API from the front-end An API call code for making it possible may be generated (S400). That is, the API call code generated by the management server 100 is transmitted to the front end 300 , so that the API can be called based on the API call code in the front end 300 .

본 발명의 일 실시 예로써, 전술한 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체가 제공될 수 있다.As an embodiment of the present invention, a computer-readable recording medium in which a program for implementing the above-described method is recorded may be provided.

한편, 전술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터 판독 가능 매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터 판독 가능 매체에 여러 수단을 통하여 기록될 수 있다. 본 발명의 다양한 방법들을 수행하기 위한 실행 가능한 컴퓨터 프로그램이나 코드를 기록하는 기록 매체는, 반송파(carrier waves)나 신호들과 같이 일시적인 대상들은 포함하는 것으로 이해되지는 않아야 한다. 상기 컴퓨터 판독 가능 매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, DVD 등)와 같은 저장 매체를 포함할 수 있다.Meanwhile, the above-described method can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable medium. In addition, the structure of the data used in the above method may be recorded in a computer-readable medium through various means. A recording medium for recording an executable computer program or code for performing various methods of the present invention should not be construed as including temporary objects such as carrier waves or signals. The computer-readable medium may include a storage medium such as a magnetic storage medium (eg, a ROM, a floppy disk, a hard disk, etc.) and an optically readable medium (eg, a CD-ROM, a DVD, etc.).

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 관리서버
200: 백엔드
210: API서버
220: DB서버
300: 프론트엔드
100: management server
200: backend
210: API server
220: DB server
300: frontend

Claims (5)

DB서버 및 API서버와 연동가능한 관리서버에 의해 수행되는 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법에 있어서,
프론트엔드(front-end)로부터 사용자단말의 그래픽 유저 인터페이스(GUI)를 통해 입력되고, 테이블생성신호, 테이블삭제신호, 칼럼생성신호, 칼럼삭제신호 및 칼럼수정신호 중 어느 하나가 포함되는 데이터편집요청신호를 수신하는 단계;
상기 데이터편집요청신호에 기초하여 데이터편집코드가 생성되고, 상기 생성된 데이터편집코드를 통해 상기 DB서버에서 데이터베이스가 편집되는 단계; 및
상기 편집된 데이터베이스에 따라 API생성코드가 생성되고, 상기 API서버에서 상기 API생성코드에 기초하여 데이터베이스 편집과 관련된 어플리케이션과 연결 가능한 어플리케이션 프로그래밍 인터페이스(API)가 생성되는 단계; 및
상기 API가 생성되는 단계 이후에 상기 프론트엔드에서 상기 API가 호출되도록 하기 위한 API호출코드가 생성되는 단계를 포함하고,
상기 DB서버에서 데이터베이스가 편집되는 단계는,
딥러닝 알고리즘에 기초하여 미리 학습된 분석모델을 통해 상기 데이터편집요청신호를 분석하고, 상기 분석 결과에 기초하여 메타데이터가 추출되는 단계;
상기 추출된 메타데이터에 기초하여 데이터베이스를 편집하기 위한 객체관계매핑(Object-relational mapping, ORM) 함수를 요청하는 ORM요청코드가 생성되는 단계;
상기 ORM요청코드에 따라 호출된 상기 객체관계매핑 함수에 대응되는 데이터편집코드가 생성되는 단계; 및
상기 데이터편집코드에 의해 상기 DB서버에서 데이터베이스가 편집되는 단계를 더 포함하는 프로그래밍 코드 자동생성을 통한 백엔드 구축 방법.
In the method of constructing a backend through automatic generation of programming code performed by a management server that is interoperable with a DB server and an API server,
A data editing request inputted from a front-end through a graphical user interface (GUI) of the user terminal and including any one of a table creation signal, a table deletion signal, a column creation signal, a column deletion signal, and a column correction signal receiving a signal;
generating a data edit code based on the data edit request signal, and editing a database in the DB server through the generated data edit code; and
generating an API generation code according to the edited database, and generating an application programming interface (API) connectable with an application related to database editing based on the API generation code in the API server; and
and generating an API call code for calling the API in the front end after the step of generating the API,
The step of editing the database in the DB server,
analyzing the data editing request signal through an analysis model learned in advance based on a deep learning algorithm, and extracting metadata based on the analysis result;
generating an ORM request code for requesting an object-relational mapping (ORM) function for editing a database based on the extracted metadata;
generating a data editing code corresponding to the object relation mapping function called according to the ORM request code; and
Backend construction method through automatic programming code generation further comprising the step of editing the database in the DB server by the data editing code.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020190090062A 2019-07-25 2019-07-25 Method of building backend with automatic programming code generation KR102421397B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190090062A KR102421397B1 (en) 2019-07-25 2019-07-25 Method of building backend with automatic programming code generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190090062A KR102421397B1 (en) 2019-07-25 2019-07-25 Method of building backend with automatic programming code generation

Publications (2)

Publication Number Publication Date
KR20210012400A KR20210012400A (en) 2021-02-03
KR102421397B1 true KR102421397B1 (en) 2022-07-18

Family

ID=74572342

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190090062A KR102421397B1 (en) 2019-07-25 2019-07-25 Method of building backend with automatic programming code generation

Country Status (1)

Country Link
KR (1) KR102421397B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621198B1 (en) 2023-09-06 2024-01-04 지엔터프라이즈 주식회사 Electronic device of processing business logic and operational method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102588266B1 (en) 2021-06-21 2023-10-13 한국전자통신연구원 Apparatus for automatic communication between robot and ai-service and method using the same
KR102347203B1 (en) * 2021-11-24 2022-01-03 조동건 Method for automatically generating program code based on a entity-relationship diagram information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101778679B1 (en) * 2015-10-02 2017-09-14 네이버 주식회사 Method and system for classifying data consisting of multiple attribues represented by sequences of text words or symbols using deep learning

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW579463B (en) 2001-06-30 2004-03-11 Ibm System and method for a caching mechanism for a central synchronization server
US7801912B2 (en) * 2005-12-29 2010-09-21 Amazon Technologies, Inc. Method and apparatus for a searchable data service
KR101685439B1 (en) * 2015-03-30 2016-12-13 김동우 Database distributed processing automatic processing system
JP6871943B2 (en) * 2016-03-28 2021-05-19 オラクル・インターナショナル・コーポレイション Preformed instructions for mobile cloud services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101778679B1 (en) * 2015-10-02 2017-09-14 네이버 주식회사 Method and system for classifying data consisting of multiple attribues represented by sequences of text words or symbols using deep learning

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102621198B1 (en) 2023-09-06 2024-01-04 지엔터프라이즈 주식회사 Electronic device of processing business logic and operational method thereof

Also Published As

Publication number Publication date
KR20210012400A (en) 2021-02-03

Similar Documents

Publication Publication Date Title
US20230100423A1 (en) Crowdsourced on-boarding of digital assistant operations
US11682380B2 (en) Systems and methods for crowdsourced actions and commands
KR102421397B1 (en) Method of building backend with automatic programming code generation
US20210311975A1 (en) Language agnostic command-understanding digital assistant
JP6744314B2 (en) Updating Language Understanding Classifier Model for Digital Personal Assistant Based on Crowdsourcing
US11538046B2 (en) Page data acquisition method, apparatus, server, electronic device and computer readable medium
WO2018213740A1 (en) Action recipes for a crowdsourced digital assistant system
US10176171B1 (en) Language agnostic command-understanding digital assistant
US11586689B2 (en) Electronic apparatus and controlling method thereof
US20220283831A1 (en) Action recipes for a crowdsourced digital assistant system
US20180366113A1 (en) Robust replay of digital assistant operations
CN111801731B (en) Voice control method, voice control device, and computer-executable nonvolatile storage medium
CN111144132B (en) Semantic recognition method and device
CN115148212A (en) Voice interaction method, intelligent device and system
CN107944288B (en) Data access control method and device
US9894210B2 (en) Adjustable dual-tone multi-frequency phone system
US11170174B2 (en) Conversational AI using adaptive dialogs
US10847135B2 (en) Sharing commands and command groups across digital assistant operations
CN111736795A (en) Audio processing method, device, equipment and storage medium
US11876756B2 (en) Graph-based natural language generation for conversational systems
CN112632113B (en) Operator management method and operator management system
CN113132457B (en) Automatic method and system for converting Internet of things application program into RESTful service on cloud
KR102487078B1 (en) The hub device, multi device system comprising the hub device and a plurality of devices and method operating the same
CN107229723B (en) Instruction processing method and instruction processing device
US20240028963A1 (en) Methods and systems for augmentation and feature cache

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant