WO2012173355A2 - Device and method for executing task files in a game server - Google Patents

Device and method for executing task files in a game server Download PDF

Info

Publication number
WO2012173355A2
WO2012173355A2 PCT/KR2012/004482 KR2012004482W WO2012173355A2 WO 2012173355 A2 WO2012173355 A2 WO 2012173355A2 KR 2012004482 W KR2012004482 W KR 2012004482W WO 2012173355 A2 WO2012173355 A2 WO 2012173355A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
script
job
task
scheduler
Prior art date
Application number
PCT/KR2012/004482
Other languages
French (fr)
Korean (ko)
Other versions
WO2012173355A3 (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 CN2012800007885A priority Critical patent/CN103180827A/en
Publication of WO2012173355A2 publication Critical patent/WO2012173355A2/en
Publication of WO2012173355A3 publication Critical patent/WO2012173355A3/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Definitions

  • the present invention relates to a technique for executing and managing a scheduled work file in a game server. More specifically, when modifying and executing a file created to develop a game server, free modification is possible without restarting a running file, and communication with other game servers is made freely, thus making the file highly available and scalable. It relates to implementation and management techniques.
  • a programming language mainly used for the development of executable files necessary for operating a game server is a general application programming language including C ++.
  • Application programming languages are also called compilation languages. The reason for this is that the program source code is written and then compiled and converted into a binary file that is an assembly language. An application programming language can be executed immediately after compiling and needs only a processor and an operating system of a computer, and is fast.
  • Application programming language is generally used to secure execution speed in game server development and operation. However, since the application programming language must be executed through a compilation process of converting the source code into a binary file as described above, if there is a modification of the content of the file, the operating binary file must be restarted to correct the source code. This has been pointed out.
  • a language for writing code includes a scripting language in addition to a general application programming language.
  • the script language is a language in which an executable file does not exist because it is translated and executed by an application program other than a computer processor. It can be written faster than general application programming language, but it takes longer time to execute than compiled program.
  • the event should be adjusted to the server's check time when planning the event. Therefore, the game developer should perform the event planning centering on the server's check time instead of the event's point of view. Has been. In addition, since the code corresponding to the event remains in the file contents until the next inspection even after the event is finished, unused code is unnecessarily present in the file contents.
  • the present invention provides a game file execution and management technology of a game server that can execute various files efficiently while executing files necessary for operating a game server based on an application program language with a high execution speed.
  • the purpose is to provide.
  • another object is to provide a technology that can freely interoperate with an external game server using a different language, thereby providing scalability in server operation.
  • the task file execution and management apparatus of the game server implemented using an application programming language to send information of the task file to be processed;
  • a script development module for storing a plurality of work files developed in a script language;
  • a script translation module that selects a work file to be processed from the script development module using information of the work file, and returns a result of execution by calling a function and a parameter in the source code of the selected work file to the scheduler.
  • the scheduler includes: a timer for generating a signal for checking whether there is a job to be periodically processed; An execution job checking unit for determining whether there is a job to be processed from a previously stored setting file and extracting information of a job file corresponding to the job to be processed; And a script call interface for transmitting the extracted work file information to the script translation module.
  • the information in the job file includes information about the name of the job, the start time of the job, the job repetition cycle, the job file name, and the name of a function in which the logic to execute for the job is implemented in the source file of the job file. .
  • the apparatus for executing and managing a work file of a game server may further include a script extension module that requests communication with an external game server through the scheduler and returns a communication result to the script translation module.
  • the script translation module and the script extension module are implemented in an application programming language, interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
  • DLL Dynamic Linking Library
  • the script translation module includes a translation application that calls functions and parameters for use in an application programming language, and an internal compiler that compiles to execute the called functions and parameters.
  • the script extension module determines that there is a task to be performed in the external game server during function and parameter execution, the script extension module requests communication to the scheduler about performing the task to the external game server.
  • a method of executing and managing a work file of a game server including: analyzing, by a scheduler developed by using an application programming language, a pre-stored configuration file to analyze whether there is a job to be processed currently; Extracting and sending information of a job file corresponding to a job to be processed by the scheduler from the configuration file; Selecting, by the script translation module, a work file from a script development module that stores a plurality of work files developed in a script language according to the information of the work file; And returning, to the scheduler, a result of executing the function and parameters in the source code of the selected work file by the script translation module.
  • the analyzing may include determining, by the execution task confirming unit, that the processing task confirmation signal generated periodically from the timer is to be processed from the configuration file.
  • the information in the job file includes information about the name of the job, the start time of the job, the frequency of the job repetition, the job file name, and the name of a function that implements the logic to execute for the job within the source file's source code. It is done.
  • the method of executing and managing a work file of a game server may further include requesting, by the script extension module, to communicate with an external game server through the scheduler and returning a communication result to the script translation module.
  • the script translation module and the script extension module are implemented in an application programming language and interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
  • DLL Dynamic Linking Library
  • Returning to the scheduler includes: calling a translation application for using the function and parameters in an application programming language; And compiling the internal compiler to execute the called functions and parameters.
  • script translation module is performed when it is determined that there is a task to be performed in the external game server during execution of the compiled function and parameters.
  • a work file developed in a script language that is performed without compilation can be executed by a scheduler, a script translation module, and a script extension module implemented in a compiled language.
  • FIG. 1 is a structural diagram of an apparatus for executing and managing a work file of a game server according to an exemplary embodiment of the present invention.
  • FIG. 2 is a diagram illustrating an implementation language of a task file execution and management device of a game server.
  • 3 is a block diagram of a detailed structure of a scheduler.
  • FIG. 5 is a block diagram of a detailed structure of a script translation module.
  • FIG. 6 schematically illustrates a function for calling an external function through a script extension module.
  • FIG. 7 is a flowchart of a work file execution and management method of a game server according to an exemplary embodiment of the present invention.
  • the task file execution and management apparatus of the game server implemented using an application programming language to send information of the task file to be processed;
  • a script development module for storing a plurality of work files developed in a script language;
  • a script translation module that selects a work file to be processed from the script development module using information of the work file, and returns a result of execution by calling a function and a parameter in the source code of the selected work file to the scheduler.
  • the scheduler includes: a timer for generating a signal for checking whether there is a job to be periodically processed; An execution job checking unit to determine whether there is a job to be processed from a previously stored setting file and extract information of a job file corresponding to the job to be processed; And a script call interface for transmitting the extracted work file information to the script translation module.
  • the information in the job file includes information about the name of the job, the start time of the job, the job repetition cycle, the job file name, and the name of a function in which the logic to execute for the job is implemented in the source file of the job file. .
  • the apparatus for executing and managing a work file of a game server may further include a script extension module that requests communication with an external game server through the scheduler and returns a communication result to the script translation module.
  • the script translation module and the script extension module are implemented in an application programming language, interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
  • DLL Dynamic Linking Library
  • the script translation module includes a translation application that calls functions and parameters for use in an application programming language, and an internal compiler that compiles to execute the called functions and parameters.
  • the script extension module determines that there is a task to be performed in the external game server during function and parameter execution, the script extension module requests communication to the scheduler about performing the task to the external game server.
  • a method of executing and managing a work file of a game server including: analyzing, by a scheduler developed by using an application programming language, a pre-stored configuration file to analyze whether there is a job to be processed currently; Extracting and sending information of a job file corresponding to a job to be processed by the scheduler from the configuration file; Selecting, by the script translation module, a work file from a script development module that stores a plurality of work files developed in a script language according to the information of the work file; And returning, to the scheduler, a result of executing the function and parameters in the source code of the selected work file by the script translation module.
  • the analyzing may include determining, by the execution task confirming unit, that the processing task confirmation signal generated periodically from the timer is to be processed from the configuration file.
  • the information in the job file includes information about the name of the job, the start time of the job, the frequency of the job repetition, the job file name, and the name of a function that implements the logic to execute for the job within the source file's source code. It is done.
  • the method of executing and managing a work file of a game server may further include requesting, by the script extension module, to communicate with an external game server through the scheduler and returning a communication result to the script translation module.
  • the script translation module and the script extension module are implemented in an application programming language and interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
  • DLL Dynamic Linking Library
  • Returning to the scheduler includes: calling a translation application for using the function and parameters in an application programming language; And compiling the internal compiler to execute the called functions and parameters.
  • script translation module is performed when it is determined that there is a task to be performed in the external game server during execution of the compiled function and parameters.
  • FIG. 1 is a structural diagram of an apparatus for executing and managing a work file of a game server according to an exemplary embodiment of the present invention.
  • an apparatus 100 for executing and managing a work file of a game server may include a script development module 110, a script translation module 120, a script expansion module 130, and a scheduler ( 140).
  • the task file execution and management apparatus 100 of the game server through the script translation module 120 to execute the task file to be executed at a specified time in the scheduler 140 as a whole, the script expansion module 130 as necessary when executing the task file Through the scheduler 140 to communicate with the external game server 300.
  • a script file which is a work file that the scheduler 140 executes through the script translation module 120, is created and stored for each work unit.
  • the script files are created in the script language development tool, and are stored in the script development module 110 after debugging.
  • the script files do not need to be compiled, and the work file to be executed in the present invention is a script file
  • developers can access the script development module 110 through the developer terminal 200 and freely execute the code of the script file even while the work file is executed. Can be modified. That is, even when the script file is modified, the operation of the game file execution and management device 100 of the game server may be continued.
  • the job file stored in the script development module 110 refers to a job that is processed by the scheduler 140 at a designated time.
  • one script file developed using a scripting language becomes one job file.
  • a means for distinguishing jobs is provided, a plurality of job files exist in one script file, or a plurality of script files are one job. May exist as a file.
  • Python is used in the embodiment of the present invention.
  • Python is an object-oriented programming language that uses indentation in program statements to improve readability, and has the advantage of easy interworking with other languages.
  • scripting languages other than Python such as Java Script, can also be used in the present invention.
  • the scheduler 140 is a file execution module written in an application programming language (for example, C ++). The function of the scheduler 140 will be described in detail with reference to FIG. 3.
  • the scheduler 140 basically performs a function of transmitting information of a job file to be processed to the script translation module 120.
  • the scheduler 140 may also include a function of outputting an execution result of the job file processed by the script translation module 120.
  • the scheduler 140 reads a configuration file which is pre-stored at the time of initializing driving to manage information of a plurality of job files.
  • the configuration file is, for example, a file with an xml extension.
  • the configuration file includes the name of the task to be performed, the time to start the task, the frequency and number of times to repeat the task, and the name and the task file of the task file corresponding to the task. It stores information about the name of a function that implements the logic to execute for the task in the source code of the task file.
  • the scheduler 140 may have means for periodically checking whether there is a task to be performed at present. Whether or not there is a task to be performed periodically may be determined by comparing the current check point with the start time of the task included in the configuration file. If there is a job, the scheduler 140 passes the information of the job file to the script translation module 120 to execute the job file in the script translation module 120.
  • a configuration developed in an application programming language for example, C ++
  • a configuration of a job file developed in a script language for example, Python
  • a configuration that is responsible for translation and execution between heterogeneous languages is essential, and in the present invention, a configuration that performs the above functions is separately used as a module having a DLL file.
  • the script translation module 120 is a component for performing the above function.
  • the script translation module 120 receives information of a job file corresponding to a job to be performed from the scheduler 140, and selects a job file to be processed from the script development module 110 using the information. Thereafter, the script translation module 120 compiles the source code of the selected work file internally to generate and execute a byte code. As a result, the work file can be easily modified as described above, and the compilation process is also performed. Therefore, the execution speed is increased as the execution of the file based on the application programming from the second execution.
  • the script translation module 120 is a component that is developed using a translation application provided by a script language based on an application programming language.
  • the script translation module 120 will call together the functions and parameters in the source code of the working file.
  • Python a scripting language used in the present invention, uses a mutex called Global Interpreter Lock (hereinafter referred to as GIL) to support multithreading, and the script translation module 120 must operate in a multithreaded environment. Therefore, within every thread that belongs to a multithreaded system, you need to acquire a GIL before calling an application provided by Python (for example, a translation application). Otherwise, the above translation application may not work properly, and the obtained GIL must be released after using the application.
  • GIL Global Interpreter Lock
  • the script translation module 120 While executing a job file, the script translation module 120 periodically allocates a processor to another thread.
  • Python does support multi-threading by passing control to another thread after a certain amount of work. Python stores the information for each thread separately in order to maintain the state of each thread.
  • the script translation module 120 reads and executes a job file while performing the above function.
  • the script translation module 120 is implemented as a DLL (Dynamic Linking Library) file.
  • the module for performing translation and execution of heterogeneous languages is separated from the scheduler 140. This means that when it is necessary to execute a job file developed in another scripting language later, the scheduler 140 should interwork with another scripting language, and at this time, the source code of the file included in the scheduler 140 may not be modified. In order to enable interworking by replacing only another script translation module 120.
  • the script translation module 120 includes a function that gets a pointer of an object inheriting an interface of a work file and a function of arranging the pointer of the object at the end of driving.
  • the script translation module 120 enables the scripting language to be used when executing the compiled language. Accordingly, developers can perform the contents of files required for game execution in real time, such as event execution, without rebooting the game server. Accordingly, it is possible to prevent unnecessary code remaining than to insert or remove event contents into a file by only modifying the file contents at the time of inspection, thereby improving server operation efficiency.
  • the event when planning a specific event during the operation of a game server, the event can be planned in real time based on each event and not in the server inspection time, thereby enhancing the quickness in event planning.
  • the script file extension module 130 is included in the task file execution and management device 100 of the game server according to an embodiment of the present invention.
  • the script extension module 130 requests the communication with the external game server to the scheduler 140 and returns a communication result to the script translation module 120.
  • the script extension module 130 is configured to call the export function of the scheduler 140 so that the scheduler 140 communicates with the external game servers 300 to inform the script translation module 120 of the work result.
  • the script translation module 120 and the script extension module 130 may be developed based on an application programming language through an application provided by a script language.
  • the script extension module 130 may also be implemented as a DLL file. Like the script translation module 120, it is possible to easily link with the scheduler 140 between different script languages.
  • the script extension module 130 exports a function used to communicate with other game servers to the scheduler 140. Since the export function is called only within a work file, the script extension module 130 independently creates a prototype in a heterogeneous script language. Can be used.
  • the script expansion module 130 communicates with the external game server 300
  • the external game server 300 is called while the script translation module 120 is running by calling functions and parameters included in the source code of the job file. It is when it is determined that there is work to be done in. In this case, the script extension module 130 requests the scheduler 140 to communicate with the external game server 300.
  • script translation module 120 and the script extension module 130 are mentioned as file type DLL, the script language used in the present invention is Python, and according to the present invention, the script translation module 120 and the script extension module ( The extension of the file performing the function of 130) is pyd. In Python scripts, only the pyd file is read and used.
  • FIG. 2 is a diagram illustrating an implementation language of a task file execution and management device of a game server. In the following description, portions that overlap with the description of FIG. 1 will be omitted.
  • the script file 111 which is a work file stored in the script development module 110, is implemented in a script language.
  • the scheduler 140 for manipulating the work file on the server is implemented in an application programming language that is a compiled language.
  • the script translation module 120 and the script extension module 130 are implemented in an application programming language (eg C ++) using an application provided by a scripting language (eg Python). It features. Accordingly, the same effect as that of executing the script file 111 in the scheduler 140 can be obtained, and the replacement of the script file 111 can be freely performed even during the operation of all game servers.
  • an application programming language eg C ++
  • a scripting language eg Python
  • 3 is a block diagram of a detailed structure of a scheduler.
  • the scheduler includes a timer 141, an execution task checker 142, a configuration file storage 143, a script call interface 144, and a configuration changer 145.
  • the timer 141 periodically performs a function of generating a signal for checking whether there is currently a job to be processed.
  • the time and period of generating a signal in the timer 141 may be set when the setting file is read by the scheduler 140 at the time of initializing the work file execution and management device 100 of the game server of the present invention.
  • the execution job checking unit 142 determines whether there is a job to be processed from the setting file stored in the setting file storage unit 143 when a signal is generated by the timer 141, and determines whether a job file corresponding to the job to be processed from the setting file is generated. Performs the function of extracting information.
  • the script call interface 144 When the script call interface 144 receives the information of the job file extracted from the execution job checking unit 142, the script call interface 144 transmits the information to the script translation module 120 to execute the job file.
  • the setting change unit 145 is a configuration for modifying a setting file during execution of a job file.
  • the scheduler 140 automatically detects the new file and changes the setting file. It reads in and updates the schedule.
  • the scheduler 140 may additionally include a communication unit (not shown) for communication with the external game server 300.
  • the communication unit may be connected to the external game server 300 by a network or a code link, and perform communication and work according to a request from the script extension module 130 when necessary during execution of a work file.
  • a script language Python is used as an implementation language of the work file.
  • heterogeneous script languages such as Java Script may be used as the work file implementation language.
  • the script language currently used is referred to as S1
  • the heterogeneous script language is referred to as S2. Accordingly, among the two pairs of script translation module and script extension module shown in FIG. 4, the module included in the block indicated by S1 is a block in which the first script translation module 120, the first script extension module 130, and S2 are indicated.
  • the modules included in the second script translation module 121 and the second script extension module 131 are called.
  • the first script translation module 120 and the first script extension module 130 In order to execute the script file 112 implemented in heterogeneous script languages, the first script translation module 120 and the first script extension module 130 also implement the second script translation module 121 implemented in heterogeneous script languages. And the second script extension module 131.
  • the first script translation module 120 and the second script extension module 130 are implemented independently of the scheduler 140 in the form of a DLL file. Accordingly, the second script translation module 121 and the second script extension module 131 implemented on the application programming language are easily replaced by the application provided by the heterogeneous script language S2 without modification of the scheduler 140. It can be used. Through this, the service can be freely used without restriction of scripting language.
  • FIG. 5 is a block diagram of a detailed structure of a script translation module. In the following description, portions that overlap with the description of FIGS. 1 to 4 will be omitted.
  • the script translation module 120 internally compiles a work file to execute the translated application 122 and the called functions and parameters for calling the functions and parameters for use in an application programming language. Compiler 123 is included.
  • the script translation module 120 may further include a file execution unit 124 that executes the work file using functions and parameters existing in the source code of the compiled work file.
  • the functions and parameters of the work file which is the script file 111
  • the script translation module 120 When the functions and parameters of the work file, which is the script file 111, are called through the script translation module 120, the work is performed through the internal compiler 123 and the file execution unit 124. In addition, the execution result of the file may be output to the developer terminal 200 through the scheduler 140.
  • FIGS. 1 to 5 schematically illustrates a function for calling an external function through a script extension module.
  • FIGS. 1 to 5 portions overlapping with the description of FIGS. 1 to 5 will be omitted.
  • a task file is executed in the file execution unit 124 of the script translation module 120
  • a function from the external game server 300 is to be called
  • an external function is transmitted to the script extension module 130. Will return a function that calls.
  • the script extension module 130 requests the scheduler 140 to communicate with the external game server 300, and the scheduler 140 calls a function through communication with the external game server 300 and receives a result.
  • the scheduler 140 may sequentially transmit the returned results to the file executor 124 so that the file executor 124 may continue to execute the work file.
  • FIG. 7 is a flowchart of a work file execution and management method of a game server according to an exemplary embodiment of the present invention. In the following description, portions that overlap with the description of FIGS. 1 to 6 will be omitted.
  • a sequence of a method for executing and managing a job file of a game server is as follows.
  • the scheduler 140 analyzes a configuration file at the start of a process (S10).
  • a time and a period at which the job confirmation signal is generated from the timer 141 are stored.
  • a script file which is a work file to be performed by time, and a function name in the file are stored, so that the scheduler 140 reads it and sets the work by time zone (S20).
  • the scheduler 140 initializes the operation of the script translation module 120 and starts execution by interworking with the script translation module 120 to execute the job file (S30).
  • step S30 is executed for each time zone that the job file is periodically checked by the script translation module 120 until all the work is finished.
  • step S40 of determining whether communication with an external server (external game server) is required is continuously executed.
  • the script translation module 120 calls a function for requesting communication with the external game server 300 to the script expansion module 130 (S70).
  • the script extension module 130 and the scheduler 140 communicate with the external game server 300 and perform operations (S80).
  • the job file execution step including the steps S40, S70, and S80 may be continuously performed until the drive ends, depending on the result of whether the operation is terminated through the script translation module 120 and the scheduler 140, or not (S50). Is repeated.
  • step (S60) is performed in which the listed and called functions are cleaned up in the script translation module.
  • step S10 or S30 may be performed again.
  • the step of modifying the source code inside the scheduler 140 is not included. That is, the script translation module 120 that includes a file independent of the scheduler 140 and does not need to be compiled without source code in the scheduler 140 implemented based on an application programming language that requires compilation and Since the script extension module 130 exists, the worker can freely modify and convert the job without restarting the scheduler 140.
  • step S30 of executing the job file by the script translation module 120 the scheduler 140 first analyzes whether there is a job to be processed from the configuration file, and the job corresponding to the job to be processed by the scheduler 140. Extracting the information of the file from the configuration file and sending it to the script translation module 120.
  • a step of selecting a work file from a script development module that stores a plurality of work files developed in a script language is performed by the script translation module according to the information of the work file, and the selected work file is executed by the script translation module 120. Called by functions and parameters in the source code of the file.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Provided is a technique for executing and managing files, in which code may be freely edited during a task and communication may be freely made with other servers implemented with a variety of languages. The device for executing and managing task files in a game server according to one embodiment of the present invention is characterized by comprising: a scheduler implemented using an application programming language so as to transmit information on a task file to be processed; a script development module for storing a plurality of task files developed using a script language; and a script translation module for selecting a task file to be processed from the script development module using the information on the task file, and then returning to the scheduler a result executed by calling a function and a parameter in the source code of the selected task file.

Description

게임 서버의 작업 파일 실행 장치 및 방법Device and method for executing game files on game servers
본 발명은 게임 서버에서 스케줄링 된 작업 파일을 실행 및 관리하는 기술에 관한 것이다. 더욱 자세하게는, 게임 서버를 개발하기 위하여 작성된 파일 등을 수정 및 실행 시, 동작중인 파일의 재시작 없이 자유로운 수정이 가능하고, 다른 게임 서버와의 통신을 자유롭게 이루어지게 하여, 이용성 및 확장성이 높은 파일 실행 및 관리 기술에 관한 것이다.The present invention relates to a technique for executing and managing a scheduled work file in a game server. More specifically, when modifying and executing a file created to develop a game server, free modification is possible without restarting a running file, and communication with other game servers is made freely, thus making the file highly available and scalable. It relates to implementation and management techniques.
웹보드 게임을 구동하기 위한 게임 서버의 운영에 있어서, 게임 서버의 운영을 위해서는 처리해야 하는 업무에 따라서 다양한 실행 파일을 개발해야 한다. 게임 서버의 운영에 필요한 실행 파일의 개발에 주로 사용되는 프로그래밍 언어는 C++을 포함하는 일반적인 응용 프로그래밍 언어이다.In operating a game server for running a web board game, in order to operate a game server, various executable files must be developed according to tasks to be processed. A programming language mainly used for the development of executable files necessary for operating a game server is a general application programming language including C ++.
응용 프로그래밍 언어는 컴파일 언어로도 불린다. 그 이유는 프로그램 소스 코드를 작성 한 뒤, 컴파일링을 통해 어셈블리 언어인 바이너리 파일로 변환하여 실행하기 때문이다. 응용 프로그래밍 언어는, 컴파일링 후 컴퓨터의 프로세서 및 운영체제만 구비되면 바로 실행이 가능하고, 실행 속도가 빠르다.Application programming languages are also called compilation languages. The reason for this is that the program source code is written and then compiled and converted into a binary file that is an assembly language. An application programming language can be executed immediately after compiling and needs only a processor and an operating system of a computer, and is fast.
게임 서버의 개발 및 운영에 있어서 실행 속도의 확보를 위해 일반적으로 응용 프로그래밍 언어를 사용하고 있다. 그러나, 응용 프로그래밍 언어는 상기 기재된 바와 같이 소스 코드를 바이너리 파일로 변환하는 컴파일 과정을 거쳐 실행해야 하기 때문에, 파일 내용의 수정이 있을 경우, 소스 코드의 수정을 위해 동작 중인 바이너리 파일을 재시작해야 하는 문제점이 지적되어 왔다.Application programming language is generally used to secure execution speed in game server development and operation. However, since the application programming language must be executed through a compilation process of converting the source code into a binary file as described above, if there is a modification of the content of the file, the operating binary file must be restarted to correct the source code. This has been pointed out.
한편, 코드 작성을 위한 언어에는 일반적인 응용 프로그래밍 언어 이외에 스크립트 언어가 있다. 스크립트 언어는, 컴퓨터 프로세서가 아닌 다른 응용 프로그램에 의해 번역 및 수행되기 때문에, 실행 파일이 존재하지 않는 언어이다. 일반적인 응용 프로그래밍 언어에 비하여 빠르게 작성이 가능하지만, 컴파일된 프로그램에 비해 실행시간이 오래 걸리는 단점이 있다.On the other hand, a language for writing code includes a scripting language in addition to a general application programming language. The script language is a language in which an executable file does not exist because it is translated and executed by an application program other than a computer processor. It can be written faster than general application programming language, but it takes longer time to execute than compiled program.
한편, 게임 서버의 운영 중 실시간으로 파일 내용을 수정해야 할 필요가 있다. 예를 들어, 게임 내에서 한시적으로 특정 아이템을 공개 또는 판매하거나, 새해 특집 이벤트 등을 게임 서버에서 구현할 필요가 있는 것이다. 일반적으로 이러한 경우, 게임 내에서 흔히 볼 수 있는 임시 점검 및 정기 점검 시간에 해당 이벤트를 실행하도록 파일 내용을 수정하는 것이 일반적이다. 파일 내용을 수정 시에는 아이템의 공개 또는 판매 시점 및 이벤트의 실시 시점을 지정하는 타이머를 삽입하여 시점이 도달할 때 상기의 이벤트를 실시하도록 파일이 실행 된다.On the other hand, it is necessary to modify the file contents in real time during the operation of the game server. For example, it is necessary to publish or sell a specific item in a game for a limited time, or to implement a new year special event on a game server. In general, in such cases, it is common to modify the contents of the file to trigger the event at the time of temporary checks and regular checks commonly found in games. When the content of the file is modified, a file is executed to insert a timer that designates when to release or sell the item and when to execute the event, and to execute the above event when the time point is reached.
이런 경우, 이벤트를 기획 시 서버의 점검 시간에 맞추어야 하기 때문에, 게임 개발자 입장에서 이벤트 기획을 이벤트 중심이 아닌 서버의 점검 시간 중심으로 수행해야 하여, 게임 서버의 운영에 있어서 순발력이 감소하는 문제점이 지적되어 왔다. 또한, 이벤트가 끝나더라도 파일 내용에 이벤트에 해당하는 코드가 다음의 점검 때까지 잔존하기 때문에, 쓰지 않는 코드가 파일 내용에 불필요하게 존재하는 문제가 있다.In this case, the event should be adjusted to the server's check time when planning the event. Therefore, the game developer should perform the event planning centering on the server's check time instead of the event's point of view. Has been. In addition, since the code corresponding to the event remains in the file contents until the next inspection even after the event is finished, unused code is unnecessarily present in the file contents.
이에 본 발명은, 실행 속도가 빠른 응용 프로그래밍 언어를 기반으로 게임 서버의 운영에 필요한 파일을 실행하는 동시에, 자유로운 수정이 가능하여 다양한 작업을 효율적으로 실행할 수 있는 게임 서버의 작업 파일 실행 및 관리 기술을 제공하는 데 그 목적이 있다. 또한, 다른 언어를 사용하는 외부의 게임 서버와의 연동을 자유롭게 하여, 서버 운영에 있어서 확장성을 갖출 수 있는 기술을 제공하는 데 다른 목적이 있다.Accordingly, the present invention provides a game file execution and management technology of a game server that can execute various files efficiently while executing files necessary for operating a game server based on an application program language with a high execution speed. The purpose is to provide. In addition, another object is to provide a technology that can freely interoperate with an external game server using a different language, thereby providing scalability in server operation.
본 발명의 상기의 목적을 달성하기 위해, 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치는, 처리할 작업 파일의 정보를 송출하도록 응용 프로그래밍 언어를 사용하여 구현된 스케줄러; 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈; 및 작업 파일의 정보를 이용하여 스크립트 개발 모듈로부터 처리할 작업 파일을 선택하고, 선택된 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 실행한 결과를 스케줄러에 리턴하는 스크립트 번역 모듈을 포함하는 것을 특징으로 한다.In order to achieve the above object of the present invention, the task file execution and management apparatus of the game server according to an embodiment of the present invention, the scheduler implemented using an application programming language to send information of the task file to be processed; A script development module for storing a plurality of work files developed in a script language; And a script translation module that selects a work file to be processed from the script development module using information of the work file, and returns a result of execution by calling a function and a parameter in the source code of the selected work file to the scheduler. do.
스케줄러는, 주기적으로 처리할 작업이 있는지 여부를 확인하는 신호를 발생하는 타이머; 기저장된 설정파일로부터 처리할 작업이 있는지 판단하고, 처리할 작업에 대응하는 작업 파일의 정보를 추출하는 실행 작업 확인부; 및 추출된 작업 파일의 정보를 스크립트 번역 모듈에 송출하는 스크립트 호출 인터페이스를 포함하는 것을 특징으로 한다.The scheduler includes: a timer for generating a signal for checking whether there is a job to be periodically processed; An execution job checking unit for determining whether there is a job to be processed from a previously stored setting file and extracting information of a job file corresponding to the job to be processed; And a script call interface for transmitting the extracted work file information to the script translation module.
작업 파일의 정보는, 작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일 이름 및 상기 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보를 포함하고 있다.The information in the job file includes information about the name of the job, the start time of the job, the job repetition cycle, the job file name, and the name of a function in which the logic to execute for the job is implemented in the source file of the job file. .
게임 서버의 작업 파일 실행 및 관리 장치는, 상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 스크립트 확장 모듈을 더 포함할 수 있다.The apparatus for executing and managing a work file of a game server may further include a script extension module that requests communication with an external game server through the scheduler and returns a communication result to the script translation module.
스크립트 번역 모듈 및 스크립트 확장 모듈은 응용 프로그래밍 언어로 구현되어 스케줄러와 연동하며, DLL(Dynamic Linking Library) 파일인 것을 특징으로 한다.The script translation module and the script extension module are implemented in an application programming language, interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
스크립트 번역 모듈은, 함수 및 파라미터를 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 번역 어플리케이션과, 호출된 함수 및 파라미터를 실행하기 위해 컴파일하는 내부 컴파일러를 포함한다.The script translation module includes a translation application that calls functions and parameters for use in an application programming language, and an internal compiler that compiles to execute the called functions and parameters.
스크립트 확장 모듈은, 함수 및 파라미터 실행 중 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 스케줄러에 외부 게임 서버로의 작업 수행에 관한 통신을 요청한다.When the script extension module determines that there is a task to be performed in the external game server during function and parameter execution, the script extension module requests communication to the scheduler about performing the task to the external game server.
본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 방법은, 응용 프로그래밍 언어를 사용하여 개발된 스케줄러가 기저장된 설정파일을 로딩하여 현재 처리할 작업이 있는지 분석하는 단계; 스케줄러가 처리할 작업에 대응하는 작업 파일의 정보를 설정파일로부터 추출하여 송출하는 단계; 스크립트 번역 모듈이 작업 파일의 정보에 따라 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈로부터 작업 파일을 선택하는 단계; 및 스크립트 번역 모듈이 선택된 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 실행한 결과를 스케줄러에 리턴하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of executing and managing a work file of a game server, including: analyzing, by a scheduler developed by using an application programming language, a pre-stored configuration file to analyze whether there is a job to be processed currently; Extracting and sending information of a job file corresponding to a job to be processed by the scheduler from the configuration file; Selecting, by the script translation module, a work file from a script development module that stores a plurality of work files developed in a script language according to the information of the work file; And returning, to the scheduler, a result of executing the function and parameters in the source code of the selected work file by the script translation module.
분석하는 단계는, 타이머로부터 주기적으로 발생되는 처리 작업 확인 신호를 수신한 실행 작업 확인부가 설정파일로부터 처리할 작업이 있는지 판단하는 단계를 포함하는 것을 특징으로 한다.The analyzing may include determining, by the execution task confirming unit, that the processing task confirmation signal generated periodically from the timer is to be processed from the configuration file.
작업 파일의 정보는, 작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일 이름 및 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보를 포함하는 것을 특징으로 한다.The information in the job file includes information about the name of the job, the start time of the job, the frequency of the job repetition, the job file name, and the name of a function that implements the logic to execute for the job within the source file's source code. It is done.
게임 서버의 작업 파일 실행 및 관리 방법은, 스크립트 확장 모듈이 상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 단계를 더 포함할 수 있다.The method of executing and managing a work file of a game server may further include requesting, by the script extension module, to communicate with an external game server through the scheduler and returning a communication result to the script translation module.
스크립트 번역 모듈 및 스크립트 확장 모듈은 응용 프로그래밍 언어로 구현되어 상기 스케줄러와 연동하되, DLL(Dynamic Linking Library) 파일인 것을 특징으로 한다.The script translation module and the script extension module are implemented in an application programming language and interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
스케줄러에 리턴하는 단계는, 번역 어플리케이션이 함수 및 파라미터를 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 단계; 및 내부 컴파일러가 호출된 함수 및 파라미터를 실행하기 위해 컴파일하는 단계를 포함하는 것을 특징으로 한다.Returning to the scheduler includes: calling a translation application for using the function and parameters in an application programming language; And compiling the internal compiler to execute the called functions and parameters.
스크립트 번역 모듈에 리턴하는 단계는, 컴파일된 함수 및 파라미터 실행 중 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 수행된다.Returning to the script translation module is performed when it is determined that there is a task to be performed in the external game server during execution of the compiled function and parameters.
본 발명에 의하면, 컴파일 없이 수행되는 스크립트 언어로 개발된 작업 파일을 컴파일 언어로 구현된 스케줄러, 스크립트 번역 모듈 및 스크립트 확장 모듈에서 실행할 수가 있다. 이에 따라서, 컴파일이 필요 없는 작업 파일 수정 시에는 파일을 재시동할 필요 없이, 작업 파일 수정 시 곧바로 작업 수행에 반영되기 때문에, 실시간으로 작업해야 하는 게임 내의 이벤트 실시 등의 작업 수행에 있어서 편리성이 증가하게 되는 효과가 있다. 또한, 다른 언어로 구현된 외부의 게임 서버와의 통신이 자유롭기 때문에, 작업 파일을 스크립트 언어로 구현하더라도 기능의 이용에 있어서 확장이 자유로운 효과가 있다.According to the present invention, a work file developed in a script language that is performed without compilation can be executed by a scheduler, a script translation module, and a script extension module implemented in a compiled language. As a result, when modifying a work file that does not require compilation, it is not necessary to restart the file, but it is immediately reflected in performing work when the work file is modified, thereby increasing convenience in performing tasks such as in-game events that need to be done in real time. It is effective. In addition, since communication with an external game server implemented in another language is free, even if a work file is implemented in a scripting language, there is an effect of free expansion in using a function.
도 1은 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치의 구조도이다.1 is a structural diagram of an apparatus for executing and managing a work file of a game server according to an exemplary embodiment of the present invention.
도 2는 게임 서버의 작업 파일 실행 및 관리 장치의 구현 언어 구분도이다.2 is a diagram illustrating an implementation language of a task file execution and management device of a game server.
도 3은 스케줄러의 상세 구조에 대한 블록도이다.3 is a block diagram of a detailed structure of a scheduler.
도 4는 스크립트 파일의 종류가 달라질 때의 구성의 변화를 개략적으로 도시한 것이다.4 schematically illustrates a change in configuration when the type of script file is different.
도 5는 스크립트 번역 모듈의 상세 구조에 대한 블록도이다.5 is a block diagram of a detailed structure of a script translation module.
도 6은 스크립트 확장 모듈을 통한 외부 함수 호출 기능을 개략적으로 도시한 것이다.6 schematically illustrates a function for calling an external function through a script extension module.
도 7은 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 방법의 플로우차트이다.7 is a flowchart of a work file execution and management method of a game server according to an exemplary embodiment of the present invention.
본 발명의 상기의 목적을 달성하기 위해, 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치는, 처리할 작업 파일의 정보를 송출하도록 응용 프로그래밍 언어를 사용하여 구현된 스케줄러; 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈; 및 작업 파일의 정보를 이용하여 스크립트 개발 모듈로부터 처리할 작업 파일을 선택하고, 선택된 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 실행한 결과를 스케줄러에 리턴하는 스크립트 번역 모듈을 포함하는 것을 특징으로 한다.In order to achieve the above object of the present invention, the task file execution and management apparatus of the game server according to an embodiment of the present invention, the scheduler implemented using an application programming language to send information of the task file to be processed; A script development module for storing a plurality of work files developed in a script language; And a script translation module that selects a work file to be processed from the script development module using information of the work file, and returns a result of execution by calling a function and a parameter in the source code of the selected work file to the scheduler. do.
스케줄러는, 주기적으로 처리할 작업이 있는지 여부를 확인하는 신호를 발생하는 타이머; 기저장된 설정파일로부터 처리할 작업이 있는지 판단하고, 처리할 작업에 대응하는 작업 파일의 정보를 추출하는 실행 작업 확인부; 및 추출된 작업 파일의 정보를 스크립트 번역 모듈에 송출하는 스크립트 호출 인터페이스를 포함하는 것을 특징으로 한다.The scheduler includes: a timer for generating a signal for checking whether there is a job to be periodically processed; An execution job checking unit to determine whether there is a job to be processed from a previously stored setting file and extract information of a job file corresponding to the job to be processed; And a script call interface for transmitting the extracted work file information to the script translation module.
작업 파일의 정보는, 작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일 이름 및 상기 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보를 포함하고 있다.The information in the job file includes information about the name of the job, the start time of the job, the job repetition cycle, the job file name, and the name of a function in which the logic to execute for the job is implemented in the source file of the job file. .
게임 서버의 작업 파일 실행 및 관리 장치는, 상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 스크립트 확장 모듈을 더 포함할 수 있다.The apparatus for executing and managing a work file of a game server may further include a script extension module that requests communication with an external game server through the scheduler and returns a communication result to the script translation module.
스크립트 번역 모듈 및 스크립트 확장 모듈은 응용 프로그래밍 언어로 구현되어 스케줄러와 연동하며, DLL(Dynamic Linking Library) 파일인 것을 특징으로 한다.The script translation module and the script extension module are implemented in an application programming language, interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
스크립트 번역 모듈은, 함수 및 파라미터를 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 번역 어플리케이션과, 호출된 함수 및 파라미터를 실행하기 위해 컴파일하는 내부 컴파일러를 포함한다.The script translation module includes a translation application that calls functions and parameters for use in an application programming language, and an internal compiler that compiles to execute the called functions and parameters.
스크립트 확장 모듈은, 함수 및 파라미터 실행 중 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 스케줄러에 외부 게임 서버로의 작업 수행에 관한 통신을 요청한다.When the script extension module determines that there is a task to be performed in the external game server during function and parameter execution, the script extension module requests communication to the scheduler about performing the task to the external game server.
본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 방법은, 응용 프로그래밍 언어를 사용하여 개발된 스케줄러가 기저장된 설정파일을 로딩하여 현재 처리할 작업이 있는지 분석하는 단계; 스케줄러가 처리할 작업에 대응하는 작업 파일의 정보를 설정파일로부터 추출하여 송출하는 단계; 스크립트 번역 모듈이 작업 파일의 정보에 따라 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈로부터 작업 파일을 선택하는 단계; 및 스크립트 번역 모듈이 선택된 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 실행한 결과를 스케줄러에 리턴하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of executing and managing a work file of a game server, including: analyzing, by a scheduler developed by using an application programming language, a pre-stored configuration file to analyze whether there is a job to be processed currently; Extracting and sending information of a job file corresponding to a job to be processed by the scheduler from the configuration file; Selecting, by the script translation module, a work file from a script development module that stores a plurality of work files developed in a script language according to the information of the work file; And returning, to the scheduler, a result of executing the function and parameters in the source code of the selected work file by the script translation module.
분석하는 단계는, 타이머로부터 주기적으로 발생되는 처리 작업 확인 신호를 수신한 실행 작업 확인부가 설정파일로부터 처리할 작업이 있는지 판단하는 단계를 포함하는 것을 특징으로 한다.The analyzing may include determining, by the execution task confirming unit, that the processing task confirmation signal generated periodically from the timer is to be processed from the configuration file.
작업 파일의 정보는, 작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일 이름 및 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보를 포함하는 것을 특징으로 한다.The information in the job file includes information about the name of the job, the start time of the job, the frequency of the job repetition, the job file name, and the name of a function that implements the logic to execute for the job within the source file's source code. It is done.
게임 서버의 작업 파일 실행 및 관리 방법은, 스크립트 확장 모듈이 상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 단계를 더 포함할 수 있다.The method of executing and managing a work file of a game server may further include requesting, by the script extension module, to communicate with an external game server through the scheduler and returning a communication result to the script translation module.
스크립트 번역 모듈 및 스크립트 확장 모듈은 응용 프로그래밍 언어로 구현되어 상기 스케줄러와 연동하되, DLL(Dynamic Linking Library) 파일인 것을 특징으로 한다.The script translation module and the script extension module are implemented in an application programming language and interoperate with the scheduler, and are a DLL (Dynamic Linking Library) file.
스케줄러에 리턴하는 단계는, 번역 어플리케이션이 함수 및 파라미터를 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 단계; 및 내부 컴파일러가 호출된 함수 및 파라미터를 실행하기 위해 컴파일하는 단계를 포함하는 것을 특징으로 한다.Returning to the scheduler includes: calling a translation application for using the function and parameters in an application programming language; And compiling the internal compiler to execute the called functions and parameters.
스크립트 번역 모듈에 리턴하는 단계는, 컴파일된 함수 및 파라미터 실행 중 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 수행된다.Returning to the script translation module is performed when it is determined that there is a task to be performed in the external game server during execution of the compiled function and parameters.
이하에서는 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치와 그 방법에 대하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 이하의 설명에서, 각 실시 예는 특허청구범위를 한정하는 것이 아니며, 이와 균등한 실시 예에 대한 발명 역시 본 발명의 권리 범위에 속할 것이다.Hereinafter, an apparatus and a method for executing and managing a work file of a game server according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings. In the following description, each embodiment is not intended to limit the scope of the claims, and the invention for the equivalent embodiments will also fall within the scope of the invention.
또한, 이하의 설명에서 발명의 특징을 불명하게 할 수 있는 기재를 피하기 위해, 종래에 알려진 공지 기술에 대한 설명은 생략하기로 한다. 그리고 이하의 설명에서 동일한 참조부호는 동일한 구성을 지시한다.In addition, in the following description, in order to avoid the description which may obscure the characteristic of invention, description of the well-known technique known conventionally is abbreviate | omitted. And the same reference numerals in the following description indicate the same configuration.
도 1은 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치의 구조도이다.1 is a structural diagram of an apparatus for executing and managing a work file of a game server according to an exemplary embodiment of the present invention.
도 1을 참조하면, 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치(100)는, 스크립트 개발 모듈(110), 스크립트 번역 모듈(120), 스크립트 확장 모듈(130) 및 스케줄러(140)를 포함하는 것을 특징으로 한다. Referring to FIG. 1, an apparatus 100 for executing and managing a work file of a game server according to an exemplary embodiment of the present disclosure may include a script development module 110, a script translation module 120, a script expansion module 130, and a scheduler ( 140).
게임 서버의 작업 파일 실행 및 관리 장치(100)는, 전체적으로 스케줄러(140)에서 지정된 시간에 실행할 작업 파일을 스크립트 번역 모듈(120)을 통해 실행하며, 작업 파일 실행 시 필요에 따라서 스크립트 확장 모듈(130)을 통해 스케줄러(140)가 외부의 게임 서버(300)와 통신하도록 하게 된다.The task file execution and management apparatus 100 of the game server, through the script translation module 120 to execute the task file to be executed at a specified time in the scheduler 140 as a whole, the script expansion module 130 as necessary when executing the task file Through the scheduler 140 to communicate with the external game server 300.
스크립트 개발 모듈(110)에는, 스케줄러(140)가 스크립트 번역 모듈(120)을 통해 실행하는 작업 파일인 스크립트 파일이 작업 단위별로 작성되어 저장되어 있다. 스크립트 파일들은, 스크립트 언어 개발 툴에서 작성되고, 디버깅을 마친 후 스크립트 개발 모듈(110)에 저장된다.In the script development module 110, a script file, which is a work file that the scheduler 140 executes through the script translation module 120, is created and stored for each work unit. The script files are created in the script language development tool, and are stored in the script development module 110 after debugging.
스크립트 파일들은 컴파일링이 필요 없으며, 본 발명에서 실행되는 작업 파일이 스크립트 파일이기 때문에, 개발자들은 개발자 단말(200)을 통해 스크립트 개발 모듈(110)에 접속하여 작업 파일 실행 중에도 자유롭게 스크립트 파일의 코드를 수정할 수 있다. 즉, 스크립트 파일을 수정 시에도 게임 서버의 작업 파일 실행 및 관리 장치(100)의 동작이 계속될 수 있는 것이다.Since the script files do not need to be compiled, and the work file to be executed in the present invention is a script file, developers can access the script development module 110 through the developer terminal 200 and freely execute the code of the script file even while the work file is executed. Can be modified. That is, even when the script file is modified, the operation of the game file execution and management device 100 of the game server may be continued.
스크립트 개발 모듈(110)에 저장되는 작업 파일은 지정된 시간에 스케줄러(140)에 의해 처리되는 일을 의미한다. 본 발명에서는 스크립트 언어를 사용하여 개발된 하나의 스크립트 파일이 하나의 작업 파일이 되나, 작업을 구분할 수 있는 수단이라면 복수의 작업 파일이 하나의 스크립트 파일에 존재하거나, 복수개의 스크립트 파일이 하나의 작업 파일로 존재할 수도 있다.The job file stored in the script development module 110 refers to a job that is processed by the scheduler 140 at a designated time. In the present invention, one script file developed using a scripting language becomes one job file. However, if a means for distinguishing jobs is provided, a plurality of job files exist in one script file, or a plurality of script files are one job. May exist as a file.
스크립트 개발 모듈(110)에 사용되는 스크립트 언어는 본 발명의 실시 예에서는 파이썬(Python)이 사용된다. 파이썬은 객체지향 프로그래밍 언어로서 가독성을 높이기 위해 프로그램 문장에 들여 쓰기를 사용하는 특징이 있으며, 다른 언어와 연동이 쉽다는 장점이 있다. 그러나, 자바 스크립트(Java Script) 등 파이썬 이외의 스크립트 언어 역시 본 발명에서 사용될 수 있다. As the script language used for the script development module 110, Python is used in the embodiment of the present invention. Python is an object-oriented programming language that uses indentation in program statements to improve readability, and has the advantage of easy interworking with other languages. However, scripting languages other than Python, such as Java Script, can also be used in the present invention.
스케줄러(140)는, 응용 프로그래밍 언어(예를 들어 C++)로 작성된 파일 실행 모듈이다. 스케줄러(140)의 기능은 도 3에 대한 설명에서 자세히 하기로 한다.The scheduler 140 is a file execution module written in an application programming language (for example, C ++). The function of the scheduler 140 will be described in detail with reference to FIG. 3.
스케줄러(140)는 처리할 작업 파일의 정보를 스크립트 번역 모듈(120)에 송출하는 기능을 기본적으로 수행한다. 추가적으로, 스케줄러(140)는 스크립트 번역 모듈(120)에 의해 처리된 작업 파일의 실행 결과를 출력하는 기능도 포함할 수 있다. The scheduler 140 basically performs a function of transmitting information of a job file to be processed to the script translation module 120. In addition, the scheduler 140 may also include a function of outputting an execution result of the job file processed by the script translation module 120.
스케줄러(140)에는 복수의 작업 파일의 정보를 관리하기 위해 구동 초기화 시 기저장된 설정파일을 읽어들인다. 설정파일은 예를 들어 xml 확장자로 된 파일이며, 설정파일에는 수행할 작업의 이름, 작업을 시작할 시간, 작업의 반복 수행을 위한 수행 주기 및 횟수, 그리고 작업에 대응하는 작업 파일의 이름 및 작업 파일의 소스코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보를 작업 파일의 정보로 저장하고 있다.The scheduler 140 reads a configuration file which is pre-stored at the time of initializing driving to manage information of a plurality of job files. The configuration file is, for example, a file with an xml extension. The configuration file includes the name of the task to be performed, the time to start the task, the frequency and number of times to repeat the task, and the name and the task file of the task file corresponding to the task. It stores information about the name of a function that implements the logic to execute for the task in the source code of the task file.
스케줄러(140)에는 주기적으로 현재 수행해야 할 작업이 있는지를 확인하기 위한 수단이 존재할 수 있다. 주기적으로 수행해야 할 작업이 있는지는 작업 파일의 정보로서 설정파일에 포함된 작업을 시작할 시간과 현재 확인 시점을 비교하여 판단할 수 있을 것이다. 작업이 있는 경우 스케줄러(140)는 스크립트 번역 모듈(120)에 작업 파일의 정보를 넘겨주어, 스크립트 번역 모듈(120)에서 작업 파일을 실행하도록 한다.The scheduler 140 may have means for periodically checking whether there is a task to be performed at present. Whether or not there is a task to be performed periodically may be determined by comparing the current check point with the start time of the task included in the configuration file. If there is a job, the scheduler 140 passes the information of the job file to the script translation module 120 to execute the job file in the script translation module 120.
본 발명의 게임 서버의 작업 파일 실행 및 관리 장치(100)에서는 컴파일이 필요한 응용 프로그래밍 언어(예를 들어 C++)로 개발된 구성과 스크립트 언어(예를 들어 파이썬)로 개발된 작업 파일의 구성을 사용한다. 따라서 이종 언어 사이의 번역 및 실행을 담당하는 구성이 필수적이며, 본 발명에서는 상기 기능을 수행하는 구성을 DLL 파일을 갖는 모듈로 따로 분리하여 사용하게 된다. In the game file execution and management apparatus 100 of the game server of the present invention, a configuration developed in an application programming language (for example, C ++) that requires compilation and a configuration of a job file developed in a script language (for example, Python) are used. do. Therefore, a configuration that is responsible for translation and execution between heterogeneous languages is essential, and in the present invention, a configuration that performs the above functions is separately used as a module having a DLL file.
스케줄러(140)의 실행을 통해 작업 파일을 실행하기 위해서는, 응용 프로그래밍 언어 상에서 스크립트 언어 기반의 작업 파일을 수행하기 위한 번역 및 파일 실행 수단이 필수적이다. 스크립트 번역 모듈(120)은 상기 기능을 수행하기 위한 구성이다.In order to execute a work file through execution of the scheduler 140, translation and file execution means for executing a script language based work file on an application programming language are essential. The script translation module 120 is a component for performing the above function.
스크립트 번역 모듈(120)은 스케줄러(140)로부터 수행할 작업에 대응하는 작업 파일의 정보를 수신하고, 이를 이용해 스크립트 개발 모듈(110)로부터 처리할 작업 파일을 선택하게 된다. 이후, 스크립트 번역 모듈(120)은 선택된 작업 파일의 소스코드를 내부적으로 컴파일하여 바이트 코드를 생성하고 실행하게 된다. 이에 의해 작업 파일을 상기 언급한 바와 같이 용이하게 수정할 수 있는 동시에, 컴파일 과정 역시 거치기 때문에 두 번째 실행부터는 실행 속도가 응용 프로그래밍 기반의 파일의 실행과 같이 빨라지는 효과가 있다.The script translation module 120 receives information of a job file corresponding to a job to be performed from the scheduler 140, and selects a job file to be processed from the script development module 110 using the information. Thereafter, the script translation module 120 compiles the source code of the selected work file internally to generate and execute a byte code. As a result, the work file can be easily modified as described above, and the compilation process is also performed. Therefore, the execution speed is increased as the execution of the file based on the application programming from the second execution.
상세하게는, 스크립트 번역 모듈(120)은 응용 프로그래밍 언어를 기반으로 스크립트 언어에서 제공하는 번역 어플리케이션을 이용하여 개발되는 구성이다. 스크립트 번역 모듈(120)은, 작업 파일의 소스 코드 내의 함수 및 파라미터를 함께 호출하게 된다.In detail, the script translation module 120 is a component that is developed using a translation application provided by a script language based on an application programming language. The script translation module 120 will call together the functions and parameters in the source code of the working file.
본 발명에서 사용되는 스크립트 언어인 파이썬은 멀티 스레드를 지원하기 위해 Global Interpreter Lock(이하 GIL)이라는 뮤텍스를 사용하며, 스크립트 번역 모듈(120)에서는 멀티 스레드 환경에서 동작해야 한다. 따라서, 멀티 스레드에 속하는 모든 스레드 내에서는 파이썬에서 제공하는 어플리케이션(예를 들어 번역 어플리케이션)을 호출하기 전에 GIL을 획득해야 한다. 그렇지 않으면 상기의 번역 어플리케이션이 제대로 동작하지 않을 수 있으며, 획득한 GIL은 어플리케이션 사용 후 풀어주어야 한다.Python, a scripting language used in the present invention, uses a mutex called Global Interpreter Lock (hereinafter referred to as GIL) to support multithreading, and the script translation module 120 must operate in a multithreaded environment. Therefore, within every thread that belongs to a multithreaded system, you need to acquire a GIL before calling an application provided by Python (for example, a translation application). Otherwise, the above translation application may not work properly, and the obtained GIL must be released after using the application.
내부적으로, 작업 파일을 실행하는 도중 스크립트 번역 모듈(120)은 주기적으로 프로세서를 다른 스레드에게 할당하게 된다. 즉, 파이썬에서는 일정 바이트의 작업을 수행하고 나면 다른 스레드에게 제어권을 넘기는 방법으로 멀티 스레드를 지원하게 된다. 이때 파이썬은 각각의 스레드의 상태를 유지하기 위해 각 스레드의 정보를 따로 저장하게 된다.Internally, while executing a job file, the script translation module 120 periodically allocates a processor to another thread. In other words, Python does support multi-threading by passing control to another thread after a certain amount of work. Python stores the information for each thread separately in order to maintain the state of each thread.
스크립트 번역 모듈(120)은 상기의 기능을 수행하면서 작업 파일을 읽어들여 실행하게 된다. 스크립트 번역 모듈(120)은 DLL(Dynamic Linking Library) 파일로 구현되었다. 이종 언어의 번역 및 실행을 수행하는 모듈을 스케줄러(140)와 따로 분리하는 것이다. 이는, 추후 다른 스크립트 언어로 개발된 작업 파일을 실행할 필요가 있을 때, 스케줄러(140)은 다른 스크립트 언어와 연동해야 하며, 이때 스케줄러(140)에 포함된 파일의 소스코드를 수정할 필요 없이 이종 언어의 다른 스크립트 번역 모듈(120)만을 교체하여 연동이 가능하도록 하기 위해서이다.The script translation module 120 reads and executes a job file while performing the above function. The script translation module 120 is implemented as a DLL (Dynamic Linking Library) file. The module for performing translation and execution of heterogeneous languages is separated from the scheduler 140. This means that when it is necessary to execute a job file developed in another scripting language later, the scheduler 140 should interwork with another scripting language, and at this time, the source code of the file included in the scheduler 140 may not be modified. In order to enable interworking by replacing only another script translation module 120.
스크립트 번역 모듈(120)에는 작업 파일의 인터페이스를 상속받은 객체의 포인터를 가져오는 함수 및 객체의 포인터를 구동 종료 시 정리하는 함수를 포함하고 있다.The script translation module 120 includes a function that gets a pointer of an object inheriting an interface of a work file and a function of arranging the pointer of the object at the end of driving.
스크립트 번역 모듈(120)에 의해 스크립트 언어를 컴파일 언어의 실행 시 사용할 수 있게 된다. 이에 따라서, 개발자들은 이벤트의 실시 등 실시간으로 게임 실행에 필요한 파일의 내용을 게임 서버의 재부팅 없이 수행할 수 있다. 이에 따라서, 점검 시에만 파일 내용을 수정하여 이벤트 내용을 파일에 삽입 또는 제거할 때보다, 필요 없는 코드의 잔존을 방지할 수 있어 서버 운영의 효율성을 높일 수 있다.The script translation module 120 enables the scripting language to be used when executing the compiled language. Accordingly, developers can perform the contents of files required for game execution in real time, such as event execution, without rebooting the game server. Accordingly, it is possible to prevent unnecessary code remaining than to insert or remove event contents into a file by only modifying the file contents at the time of inspection, thereby improving server operation efficiency.
또한, 게임 서버의 운영 시 특정 이벤트에 대한 기획에 있어서도, 서버 점검 시간 중심이 아닌 각 이벤트를 중심으로 이벤트를 기획하여 실시간으로 이를 파일 내용에 반영할 수 있기 때문에, 이벤트 기획에 있어서의 순발력을 높일 수 있는 장점이 있다.In addition, when planning a specific event during the operation of a game server, the event can be planned in real time based on each event and not in the server inspection time, thereby enhancing the quickness in event planning. There are advantages to it.
또한, 컴파일 언어로만 게임 서버를 운영하는 경우, 다른 이벤트 실시에 관한 파일 내용의 수정 도중 고정적으로 수행되는 게임 서버의 기능에 관한 프로그램 코드가 오작성될 가능성이 있다. 따라서, 이벤트 등 실시간으로 수정해야 하는 파일을 스크립트 언어로 작성하여 실행하면서, 수정 작업을 하게 되면, 중요 고정 기능을 담당하는 코드를 오작성 할 가능성을 배제할 수 있어, 서버 운영에 있어서 차질을 방지할 수 있는 효과를 기대할 수 있을 것이다.In addition, when operating a game server only in a compiled language, there is a possibility that a program code relating to a function of a game server which is fixedly performed during the modification of a file content regarding execution of another event may be incorrectly written. Therefore, if you make a file that needs to be modified in real time, such as an event, and execute it in a scripting language, you can eliminate the possibility of incorrectly writing code that is important for a fixed function by preventing the disruption in server operation. You can expect the effect to work.
본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 장치(100)에는, 스크립트 확장 모듈(130)이 포함되어 있다. 스크립트 확장 모듈(130)은 스케줄러(140)로 외부 게임 서버와의 통신을 요청하고, 통신 결과를 스크립트 번역 모듈(120)에 리턴하는 기능을 수행한다.The script file extension module 130 is included in the task file execution and management device 100 of the game server according to an embodiment of the present invention. The script extension module 130 requests the communication with the external game server to the scheduler 140 and returns a communication result to the script translation module 120.
스크립트 언어를 기반으로 개발된 작업 파일 실행 시, 스크립트 언어 자체에서 제공하는 기능 이외에 추가적인 기능 및 외부 게임 서버(300) 내에서의 작업 수행이 필요한 경우가 있다. 작업 파일 내에서 응용 프로그래밍 언어의 라이브러리를 사용하기 위한 것이 그 예이다. 또한 작업 파일을 수행 시 기존의 다른 외부 게임 서버(300)와 통신 및 작업 연동 수행을 할 필요가 있다. When executing a work file developed based on a script language, in addition to a function provided by the script language itself, there may be a case in which an additional function and an operation performed in the external game server 300 are required. An example is to use a library of application programming languages in a work file. In addition, when performing the work file it is necessary to perform communication and work interworking with other existing external game server 300.
스크립트 확장 모듈(130)은 스케줄러(140)의 export 함수를 호출하여 스케줄러(140)가 외부 게임 서버(300)들과 통신하여, 작업 결과를 스크립트 번역 모듈(120)에 알려주기 위한 구성이다.The script extension module 130 is configured to call the export function of the scheduler 140 so that the scheduler 140 communicates with the external game servers 300 to inform the script translation module 120 of the work result.
본 발명의 실시 예에서 스크립트 번역 모듈(120) 및 스크립트 확장 모듈(130)은 스크립트 언어에서 제공하는 어플리케이션을 통해 응용 프로그래밍 언어 기반으로 개발될 수 있다. In an embodiment of the present invention, the script translation module 120 and the script extension module 130 may be developed based on an application programming language through an application provided by a script language.
스크립트 확장 모듈(130) 역시 DLL 파일로 구현되어 있을 수 있다. 스크립트 번역 모듈(120)과 마찬가지로 이종의 스크립트 언어 사이에서 쉽게 스케줄러(140)와 연동시킬 수 있게 하기 위함이다. The script extension module 130 may also be implemented as a DLL file. Like the script translation module 120, it is possible to easily link with the scheduler 140 between different script languages.
스크립트 확장 모듈(130)에서는 스케줄러(140)에 다른 게임 서버와 통신하기 위해 사용되는 함수를 export하게 되는데, 상기의 export 함수는 작업 파일 내에서만 호출하기 때문에 이종의 스크립트 언어에서 독립적으로 프로토 타입을 만들어 사용할 수 있다.The script extension module 130 exports a function used to communicate with other game servers to the scheduler 140. Since the export function is called only within a work file, the script extension module 130 independently creates a prototype in a heterogeneous script language. Can be used.
스크립트 확장 모듈(130)에서 외부 게임 서버(300)와 통신을 하는 경우는, 작업 파일의 소스 코드에 포함된 함수 및 파라미터를 호출하여 스크립트 번역 모듈(120)이 실행 중에, 외부 게임 서버(300)에서 수행할 작업이 존재하는 것으로 판단될 때이다. 이때 스크립트 확장 모듈(130)은, 스케줄러(140)에 외부 게임 서버(300)로의 작업 수행에 관한 통신을 요청하게 된다.When the script expansion module 130 communicates with the external game server 300, the external game server 300 is called while the script translation module 120 is running by calling functions and parameters included in the source code of the job file. It is when it is determined that there is work to be done in. In this case, the script extension module 130 requests the scheduler 140 to communicate with the external game server 300.
예를 들어, 상기 언급한 바와 같이 외부 게임 서버(300)와 연동하여 처리할 작업이 존재하거나, 외부 게임 서버(300)가 구현된 기반 프로그래밍 언어의 기능 중 필요한 기능을 사용해야 할 때가 될 수 있을 것이다. For example, as mentioned above, there may be a time when there is a task to be processed in connection with the external game server 300 or when the external game server 300 needs to use a necessary function among the functions of the underlying programming language implemented. .
또한, 스크립트 번역 모듈(120) 및 스크립트 확장 모듈(130)은 파일 형식이 DLL이라고 언급되었으나, 본 발명에서 사용되는 스크립트 언어가 파이썬이기 때문에, 본 발명에서는 스크립트 번역 모듈(120) 및 스크립트 확장 모듈(130)의 기능을 수행하는 파일의 확장자는 pyd가 된다. 파이썬 스크립트 에서는 pyd 파일만을 읽어서 사용하게 된다.In addition, although the script translation module 120 and the script extension module 130 are mentioned as file type DLL, the script language used in the present invention is Python, and according to the present invention, the script translation module 120 and the script extension module ( The extension of the file performing the function of 130) is pyd. In Python scripts, only the pyd file is read and used.
도 2는 게임 서버의 작업 파일 실행 및 관리 장치의 구현 언어 구분도이다. 이하의 설명에서는, 도 1에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.2 is a diagram illustrating an implementation language of a task file execution and management device of a game server. In the following description, portions that overlap with the description of FIG. 1 will be omitted.
도 2를 참조하면, 스크립트 개발 모듈(110)에 저장되는 작업 파일인 스크립트 파일(111)은 스크립트 언어로 구현되어 있다. 한편, 서버에서의 작업 파일의 실행을 위해 조작하는 스케줄러(140)는 컴파일 언어인 응용 프로그래밍 언어로 구현되어 있다.Referring to FIG. 2, the script file 111, which is a work file stored in the script development module 110, is implemented in a script language. On the other hand, the scheduler 140 for manipulating the work file on the server is implemented in an application programming language that is a compiled language.
이 둘을 연동하기 위해, 스크립트 번역 모듈(120) 및 스크립트 확장 모듈(130)은 스크립트 언어(예를 들어 파이썬)가 제공하는 어플리케이션을 이용하여 응용 프로그래밍 언어(예를 들어 C++)로 구현되어 있는 것을 특징으로 한다. 이에 따라서, 스케줄러(140)에서 스크립트 파일(111)을 실행하는 것과 같은 효과를 얻을 수 있으며, 스크립트 파일(111)의 교체는 모든 게임 서버의 동작 중에도 자유롭게 이루어질 수 있는 효과가 있다.To work together, the script translation module 120 and the script extension module 130 are implemented in an application programming language (eg C ++) using an application provided by a scripting language (eg Python). It features. Accordingly, the same effect as that of executing the script file 111 in the scheduler 140 can be obtained, and the replacement of the script file 111 can be freely performed even during the operation of all game servers.
도 3은 스케줄러의 상세 구조에 대한 블록도이다.3 is a block diagram of a detailed structure of a scheduler.
도 3을 참조하면, 스케줄러는 타이머(141), 실행 작업 확인부(142), 설정파일 저장부(143), 스크립트 호출 인터페이스(144) 및 설정 변경부(145)를 포함한다.Referring to FIG. 3, the scheduler includes a timer 141, an execution task checker 142, a configuration file storage 143, a script call interface 144, and a configuration changer 145.
타이머(141)는 주기적으로 현재 처리할 작업이 존재하는지 여부를 확인하는 신호를 발생하는 기능을 수행한다. 타이머(141)에서 신호를 발생하는 시간 및 주기는 본 발명의 게임 서버의 작업 파일 실행 및 관리 장치(100)의 초기화 시에 스케줄러(140)에서 설정파일을 읽을 때 셋팅될 수 있다.The timer 141 periodically performs a function of generating a signal for checking whether there is currently a job to be processed. The time and period of generating a signal in the timer 141 may be set when the setting file is read by the scheduler 140 at the time of initializing the work file execution and management device 100 of the game server of the present invention.
실행 작업 확인부(142)는 타이머(141)에서 신호 발생 시, 설정파일 저장부(143)에 저장된 설정파일로부터 현재 처리할 작업이 있는지 판단하며, 설정파일로부터 처리할 작업에 대응하는 작업 파일의 정보를 추출하는 기능을 수행한다. The execution job checking unit 142 determines whether there is a job to be processed from the setting file stored in the setting file storage unit 143 when a signal is generated by the timer 141, and determines whether a job file corresponding to the job to be processed from the setting file is generated. Performs the function of extracting information.
스크립트 호출 인터페이스(144)는 실행 작업 확인부(142)로부터 추출된 작업 파일의 정보를 수신하면, 이를 스크립트 번역 모듈(120)에 송출하여 작업 파일을 실행하도록 하는 기능을 수행한다.When the script call interface 144 receives the information of the job file extracted from the execution job checking unit 142, the script call interface 144 transmits the information to the script translation module 120 to execute the job file.
설정 변경부(145)는, 설정파일을 작업 파일의 수행 중 수정하기 위한 구성으로서, 설정파일의 내용, 즉 작업 파일의 정보 등이 변경되면 스케줄러(140)는 이를 자동으로 감지하여 설정 파일을 새로 읽어 들여서 작업 수행 일정을 갱신하게 된다.The setting change unit 145 is a configuration for modifying a setting file during execution of a job file. When the contents of the setting file, that is, information of the job file, are changed, the scheduler 140 automatically detects the new file and changes the setting file. It reads in and updates the schedule.
또한, 스케줄러(140)에는 추가적으로, 외부 게임 서버(300)와의 통신을 위한 통신부(미도시)가 포함되어 있을 수 있다. 통신부는 네트워크 또는 코드 링크 적으로 외부 게임 서버(300)와 연결되어, 작업 파일 실행 중 필요 시 스크립트 확장 모듈(130)로부터의 요청에 따라서 통신 및 작업을 수행하게 될 것이다.In addition, the scheduler 140 may additionally include a communication unit (not shown) for communication with the external game server 300. The communication unit may be connected to the external game server 300 by a network or a code link, and perform communication and work according to a request from the script extension module 130 when necessary during execution of a work file.
도 4는 스크립트 파일의 종류가 달라질 때의 구성의 변화를 개략적으로 도시한 것이다.4 schematically illustrates a change in configuration when the type of script file is different.
본 발명에서는 작업 파일의 구현 언어로서 스크립트 언어인 파이썬이 사용되고 있으나, Java Script 등 이종의 스크립트 언어가 작업 파일 구현 언어로서 사용될 수도 있다. 도 4에 대한 설명에서는 현재 사용되는 스크립트 언어를 S1, 이종의 스크립트 언어를 S2로 지칭한다. 이에 따라서, 도 4에 표기된 두 쌍의 스크립트 번역 모듈 및 스크립트 확장 모듈 중, S1이 표기된 블록에 포함된 모듈을 제1 스크립트 번역 모듈(120) 및 제1 스크립트 확장 모듈(130), S2가 표기된 블록에 포함된 모듈을 제2 스크립트 번역 모듈(121) 및 제2 스크립트 확장 모듈(131)이라고 한다. In the present invention, a script language Python is used as an implementation language of the work file. However, heterogeneous script languages such as Java Script may be used as the work file implementation language. In the description of FIG. 4, the script language currently used is referred to as S1, and the heterogeneous script language is referred to as S2. Accordingly, among the two pairs of script translation module and script extension module shown in FIG. 4, the module included in the block indicated by S1 is a block in which the first script translation module 120, the first script extension module 130, and S2 are indicated. The modules included in the second script translation module 121 and the second script extension module 131 are called.
이종의 스크립트 언어로 구현된 스크립트 파일(112)의 실행을 위해서는, 제1 스크립트 번역 모듈(120) 및 제1 스크립트 확장 모듈(130) 역시 이종의 스크립트 언어로 구현된 제2 스크립트 번역 모듈(121) 및 제2 스크립트 확장 모듈(131)로 교체되어야 한다.In order to execute the script file 112 implemented in heterogeneous script languages, the first script translation module 120 and the first script extension module 130 also implement the second script translation module 121 implemented in heterogeneous script languages. And the second script extension module 131.
상기 언급한 바와 같이 제1 스크립트 번역 모듈(120) 및 제2 스크립트 확장 모듈(130)은 DLL 파일 형식으로 스케줄러(140)와 독립되어 구현되어 있다. 이에 따라서, 스케줄러(140)의 수정 없이 이종의 스크립트 언어(S2)에서 제공하는 어플리케이션을 통해 응용 프로그래밍 언어 상에서 구현된 제2 스크립트 번역 모듈(121) 및 제2 스크립트 확장 모듈(131)로 용이하게 교체하여 사용할 수 있는 것이다. 이를 통해, 스크립트 언어의 제약 없이 자유롭게 서비스를 이용할 수 있는 효과를 얻을 수 있을 것이다.As mentioned above, the first script translation module 120 and the second script extension module 130 are implemented independently of the scheduler 140 in the form of a DLL file. Accordingly, the second script translation module 121 and the second script extension module 131 implemented on the application programming language are easily replaced by the application provided by the heterogeneous script language S2 without modification of the scheduler 140. It can be used. Through this, the service can be freely used without restriction of scripting language.
도 5는 스크립트 번역 모듈의 상세 구조에 대한 블록도이다. 이하의 설명에서, 도 1 내지 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.5 is a block diagram of a detailed structure of a script translation module. In the following description, portions that overlap with the description of FIGS. 1 to 4 will be omitted.
도 5를 참조하면, 스크립트 번역 모듈(120)은 함수 및 파라미터를 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 번역 어플리케이션(122) 및 호출된 함수 및 파라미터를 실행하기 위해 작업 파일을 내부적으로 컴파일링하는 내부 컴파일러(123)를 포함한다. Referring to FIG. 5, the script translation module 120 internally compiles a work file to execute the translated application 122 and the called functions and parameters for calling the functions and parameters for use in an application programming language. Compiler 123 is included.
스크립트 번역 모듈(120)은 컴파일된 작업 파일의 소스 코드 내에 존재하는 함수 및 파라미터를 이용해 작업 파일을 실행하는 파일 실행부(124)를 추가적으로 포함할 수 있다.The script translation module 120 may further include a file execution unit 124 that executes the work file using functions and parameters existing in the source code of the compiled work file.
스크립트 번역 모듈(120)을 통해 스크립트 파일(111)인 작업 파일의 함수 및 파라미터가 호출되면 내부 컴파일러(123) 및 파일 실행부(124)를 통해 작업이 수행된다. 추가적으로 파일의 실행 결과가 스케줄러(140)를 통해 개발자 단말(200)에 출력될 수도 있을 것이다.When the functions and parameters of the work file, which is the script file 111, are called through the script translation module 120, the work is performed through the internal compiler 123 and the file execution unit 124. In addition, the execution result of the file may be output to the developer terminal 200 through the scheduler 140.
도 6은 스크립트 확장 모듈을 통한 외부 함수 호출 기능을 개략적으로 도시한 것이다. 이하의 설명에서 도 1 내지 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.6 schematically illustrates a function for calling an external function through a script extension module. In the following description, portions overlapping with the description of FIGS. 1 to 5 will be omitted.
도 6을 참조하면, 스크립트 번역 모듈(120)의 파일 실행부(124)에서 작업 파일이 실행되는 도중, 외부 게임 서버(300)에서의 함수를 호출하고자 하면, 스크립트 확장 모듈(130)로 외부 함수를 호출하는 함수를 리턴하게 된다. 스크립트 확장 모듈(130)은 스케줄러(140)로 외부 게임 서버(300)와의 통신을 요청하게 되며, 스케줄러(140)는 외부 게임 서버(300)와의 통신을 통해 함수를 호출하고 결과를 리턴 받게 된다. 스케줄러(140)는 리턴 받은 결과를 차례로 파일 실행부(124)에 전달함으로써, 파일 실행부(124)에서 작업 파일의 실행을 계속하도록 할 수 있다.Referring to FIG. 6, when a task file is executed in the file execution unit 124 of the script translation module 120, when a function from the external game server 300 is to be called, an external function is transmitted to the script extension module 130. Will return a function that calls. The script extension module 130 requests the scheduler 140 to communicate with the external game server 300, and the scheduler 140 calls a function through communication with the external game server 300 and receives a result. The scheduler 140 may sequentially transmit the returned results to the file executor 124 so that the file executor 124 may continue to execute the work file.
도 7은 본 발명의 실시 예에 따른 게임 서버의 작업 파일 실행 및 관리 방법의 플로우차트이다. 이하의 설명에서, 도 1 내지 6에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.7 is a flowchart of a work file execution and management method of a game server according to an exemplary embodiment of the present invention. In the following description, portions that overlap with the description of FIGS. 1 to 6 will be omitted.
도 7을 참조하면, 게임 서버의 작업 파일 실행 및 관리 방법의 시퀀스는 다음과 같다.Referring to FIG. 7, a sequence of a method for executing and managing a job file of a game server is as follows.
먼저, 스케줄러(140)는 프로세스 시작 시, 설정 파일을 분석한다(S10). 설정 파일 내에는 타이머(141)로부터 작업 확인용 신호가 발생하는 시간과 주기가 저장되어 있다. 또한 설정 파일 내에는 시간별로 수행해야 할 작업 파일인 스크립트 파일과, 파일 내의 함수 이름이 저장되어 있어, 스케줄러(140)는 이를 읽어와서 시간대별로 작업을 설정하게 된다(S20).First, the scheduler 140 analyzes a configuration file at the start of a process (S10). In the setting file, a time and a period at which the job confirmation signal is generated from the timer 141 are stored. In addition, in the configuration file, a script file, which is a work file to be performed by time, and a function name in the file are stored, so that the scheduler 140 reads it and sets the work by time zone (S20).
이후 스케줄러(140)는 스크립트 번역 모듈(120)과의 연동을 통해 스크립트 번역 모듈(120)의 작동을 초기화하고 실행을 시작하도록 하여 작업 파일을 실행하도록 한다(S30).Thereafter, the scheduler 140 initializes the operation of the script translation module 120 and starts execution by interworking with the script translation module 120 to execute the job file (S30).
S30 단계 이후부터는 모든 작업이 종료될 때까지 스크립트 번역 모듈(120)에 의해 작업 파일이 주기적으로 확인되는 시간대 별로 실행된다.After step S30 is executed for each time zone that the job file is periodically checked by the script translation module 120 until all the work is finished.
작업 파일의 실행 도중, 외부 서버(외부 게임 서버)와의 통신이 필요한지 판단하는 단계(S40)가 계속적으로 실행되며. 외부 게임 서버(300)와의 통신이 필요한 것으로 판단되는 경우, 스크립트 번역 모듈(120)은 스크립트 확장 모듈(130)에 외부 게임 서버(300)와의 통신을 요청하는 함수를 호출하게 된다(S70). 이 경우 스크립트 확장 모듈(130) 및 스케줄러(140)를 통해 외부 게임 서버(300)와 통신 및 작업을 수행하게 된다(S80).During the execution of the job file, step S40 of determining whether communication with an external server (external game server) is required is continuously executed. When it is determined that communication with the external game server 300 is required, the script translation module 120 calls a function for requesting communication with the external game server 300 to the script expansion module 130 (S70). In this case, the script extension module 130 and the scheduler 140 communicate with the external game server 300 and perform operations (S80).
S40, S70, S80 단계를 포함하는 작업 파일 실행 단계는 스크립트 번역 모듈(120) 및 스케줄러(140)의 설정파일을 통해 구동이 종료되는지 여부(S50) 결과에 따라서, 구동이 종료될 때까지 계속적으로 반복된다.The job file execution step including the steps S40, S70, and S80 may be continuously performed until the drive ends, depending on the result of whether the operation is terminated through the script translation module 120 and the scheduler 140, or not (S50). Is repeated.
모든 작업 파일의 실행이 종료되는 경우, 스크립트 번역 모듈 내에서 리스팅 및 호출된 함수가 정리되는 단계(S60)가 수행된다.When the execution of all the work files is terminated, a step (S60) is performed in which the listed and called functions are cleaned up in the script translation module.
필요에 따라서, 작업 파일의 구현 기반 스크립트 언어 또는 설정파일이 바뀌는 경우, S10 또는 S30 단계가 다시 수행될 수 있다. 그러나, 이 때에도 스케줄러(140) 내부의 소스 코드를 수정하는 단계는 포함되지 않는다. 즉, 컴파일이 필요한 응용 프로그래밍 언어를 기반으로 구현된 스케줄러(140) 내부의 소스 코드를 수정이 되지 않고 컴파일이 필요 없거나 스케줄러(140)와 독립적인 파일을 포함하여 존재하는 스크립트 번역 모듈(120) 및 스크립트 확장 모듈(130)이 존재하기 때문에, 작업자는 스케줄러(140)의 재 시작 없이 작업의 수정 및 변환을 자유롭게 수행할 수 있다.If necessary, when the implementation-based script language or the configuration file of the work file is changed, step S10 or S30 may be performed again. However, even at this time, the step of modifying the source code inside the scheduler 140 is not included. That is, the script translation module 120 that includes a file independent of the scheduler 140 and does not need to be compiled without source code in the scheduler 140 implemented based on an application programming language that requires compilation and Since the script extension module 130 exists, the worker can freely modify and convert the job without restarting the scheduler 140.
스크립트 번역 모듈(120)이 작업 파일을 실행하는 S30 단계는 자세하게는, 먼저 스케줄러(140)가 설정파일로부터 현재 처리할 작업이 있는지 분석하는 단계와, 스케줄러(140)가 처리할 작업에 대응하는 작업 파일의 정보를 설정파일로부터 추출하여 스크립트 번역 모듈(120)에 송출하는 단계를 포함한다.In step S30 of executing the job file by the script translation module 120, the scheduler 140 first analyzes whether there is a job to be processed from the configuration file, and the job corresponding to the job to be processed by the scheduler 140. Extracting the information of the file from the configuration file and sending it to the script translation module 120.
이후, 스크립트 번역 모듈이 작업 파일의 정보에 따라서 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈로부터 작업 파일을 선택하는 단계가 수행되며, 선택된 작업 파일은 스크립트 번역 모듈(120)에서 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하는 단계를 통해 실행된다.Thereafter, a step of selecting a work file from a script development module that stores a plurality of work files developed in a script language is performed by the script translation module according to the information of the work file, and the selected work file is executed by the script translation module 120. Called by functions and parameters in the source code of the file.

Claims (15)

  1. 처리할 작업 파일의 정보를 송출하도록 응용 프로그래밍 언어를 사용하여 구현된 스케줄러;A scheduler implemented using an application programming language to send information of a job file to be processed;
    스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈; 및A script development module for storing a plurality of work files developed in a script language; And
    상기 스케줄러로부터 송출된 상기 작업 파일의 정보를 이용하여 상기 스크립트 개발 모듈로부터 상기 처리할 작업 파일을 선택하여 수신하고, 선택된 상기 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 상기 작업 파일을 실행하는 스크립트 번역 모듈;을 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.A script that selects and receives the work file to be processed from the script development module by using the information of the work file sent from the scheduler, and executes the work file by calling a function and a parameter in the source code of the selected work file. And a translation module; device for executing and managing a job file of a game server.
  2. 제1항에 있어서,The method of claim 1,
    상기 스케줄러는,The scheduler,
    주기적으로 처리할 작업이 있는지 여부를 확인하는 신호를 발생하는 타이머;A timer for generating a signal for checking whether there is a task to be processed periodically;
    기저장된 설정파일로부터 상기 처리할 작업이 있는지 판단하고, 상기 처리할 작업에 대응하는 작업 파일의 정보를 추출하는 실행 작업 확인부; 및An execution job checking unit which determines whether there is a job to be processed from a previously stored setting file and extracts information of a job file corresponding to the job to be processed; And
    추출된 상기 작업 파일의 정보를 상기 스크립트 번역 모듈에 송출하는 스크립트 호출 인터페이스;를 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.And a script call interface for transmitting the extracted information of the work file to the script translation module.
  3. 제2항에 있어서,The method of claim 2,
    상기 작업 파일의 정보는,The information of the job file,
    작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일의 이름 및 상기 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.At least one of information about a name of a task, a task start time, a task repetition period, a task file name, and a name of a function in which logic to be executed for a task is implemented in the source code of the task file. Task file execution and management device of the game server.
  4. 제1항에 있어서,The method of claim 1,
    상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 스크립트 확장 모듈을 더 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.And a script extension module for requesting communication with an external game server through the scheduler and returning a communication result to the script translation module.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 스크립트 번역 모듈 및 상기 스크립트 확장 모듈은 상기 응용 프로그래밍 언어로 구현되어 상기 스케줄러와 연동하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.And the script translation module and the script extension module are implemented in the application programming language and interoperate with the scheduler.
  6. 제4항에 있어서,The method of claim 4, wherein
    상기 스크립트 번역 모듈 및 상기 스크립트 확장 모듈은 DLL(Dynamic Linking Library) 파일로 구현된 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치. And the script translation module and the script extension module are implemented as a DLL (Dynamic Linking Library) file.
  7. 제5항에 있어서,The method of claim 5,
    상기 스크립트 번역 모듈은,The script translation module,
    상기 함수 및 파라미터를 상기 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 번역 어플리케이션과, 호출된 상기 함수 및 파라미터를 실행하기 위해 컴파일하는 내부 컴파일러를 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.And a translation application that calls the functions and parameters for use on the application programming language, and an internal compiler that compiles them to execute the functions and parameters called.
  8. 제4항에 있어서,The method of claim 4, wherein
    상기 스크립트 확장 모듈은,The script extension module,
    상기 함수 및 파라미터 실행 중 상기 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 상기 스케줄러에 상기 외부 게임 서버로의 작업 수행에 관한 통신을 요청하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 장치.When it is determined that there is a task to be performed in the external game server during execution of the function and parameter, the scheduler requests and communicates with the external game server about the task execution. Device.
  9. 응용 프로그래밍 언어를 사용하여 구현된 스케줄러가 기저장된 설정파일을 로딩하여 현재 처리할 작업이 있는지 분석하는 단계;A scheduler implemented using an application programming language, loading a pre-stored configuration file and analyzing whether there is a job to be processed currently;
    상기 스케줄러가 상기 처리할 작업에 대응하는 작업 파일의 정보를 상기 설정파일로부터 추출하여 송출하는 단계;Extracting and sending information of a job file corresponding to the job to be processed from the scheduler by the scheduler;
    스크립트 번역 모듈이 상기 작업 파일의 정보에 따라 스크립트 언어로 개발된 복수의 작업 파일들을 저장하는 스크립트 개발 모듈로부터 상기 작업 파일을 선택하는 단계; 및Selecting, by a script translation module, the work file from a script development module for storing a plurality of work files developed in a script language according to the information of the work file; And
    상기 스크립트 번역 모듈이 선택된 상기 작업 파일의 소스 코드 내의 함수 및 파라미터를 호출하여 실행하는 단계;를 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.And executing, by the script translation module, calling and executing a function and a parameter in the source code of the selected task file.
  10. 제9항에 있어서,The method of claim 9,
    상기 분석하는 단계는,The analyzing step,
    타이머로부터 주기적으로 발생되는 처리 작업 확인 신호를 수신한 실행 작업 확인부가 상기 설정파일로부터 상기 처리할 작업이 있는지 판단하는 단계를 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.And executing a task check unit that has received a processing task check signal periodically generated from a timer to determine whether there is a task to be processed from the setting file.
  11. 제9항에 있어서,The method of claim 9,
    상기 작업 파일의 정보는,The information of the job file,
    작업의 이름, 작업 시작 시간, 작업 반복 수행 주기, 작업 파일 이름 및 상기 작업 파일의 소스 코드 내에서 작업을 위해 실행할 로직이 구현되어 있는 함수의 이름에 대한 정보 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.At least one of a name of a job, a job start time, a job repetition period, a job file name, and information on a name of a function in which logic to be executed for a job is implemented in the source code of the job file. How to run and manage job files on a game server.
  12. 제9항에 있어서,The method of claim 9,
    스크립트 확장 모듈이 상기 스케줄러를 통한 외부 게임 서버와의 통신을 요청하고 통신 결과를 상기 스크립트 번역 모듈에 리턴하는 단계를 더 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.And requesting, by the script extension module, communication with an external game server through the scheduler, and returning a communication result to the script translation module.
  13. 제12항에 있어서,The method of claim 12,
    상기 스크립트 번역 모듈 및 상기 스크립트 확장 모듈은 상기 응용 프로그래밍 언어로 구현되어 상기 스케줄러와 연동하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.And the script translation module and the script extension module are implemented in the application programming language and interoperate with the scheduler.
  14. 제13항에 있어서,The method of claim 13,
    상기 실행하는 단계는,The step of performing,
    번역 어플리케이션이 상기 함수 및 파라미터를 상기 응용 프로그래밍 언어 상에서 사용하기 위해 호출하는 단계; 및Calling a translation application to use the function and parameters on the application programming language; And
    내부 컴파일러가 호출된 상기 함수 및 파라미터를 실행하기 위해 컴파일하는 단계를 포함하는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.Compiling to execute the functions and parameters called by an internal compiler comprising the steps of: Compile and manage a job file of a game server.
  15. 제14항에 있어서,The method of claim 14,
    상기 스크립트 번역 모듈에 리턴하는 단계는,Returning to the script translation module,
    컴파일된 상기 함수 및 파라미터 실행 중 상기 외부 게임 서버에서 수행할 작업이 존재하는 것으로 판단될 때 수행되는 것을 특징으로 하는 게임 서버의 작업 파일 실행 및 관리 방법.It is executed when it is determined that there is a task to be performed in the external game server during the execution of the compiled functions and parameters.
PCT/KR2012/004482 2011-06-17 2012-06-07 Device and method for executing task files in a game server WO2012173355A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012800007885A CN103180827A (en) 2011-06-17 2012-06-07 Device and method for executing task files in a game server

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110059193A KR101264615B1 (en) 2011-06-17 2011-06-17 Device and method for executing and managing job file of game server
KR10-2011-0059193 2011-06-17

Publications (2)

Publication Number Publication Date
WO2012173355A2 true WO2012173355A2 (en) 2012-12-20
WO2012173355A3 WO2012173355A3 (en) 2013-03-28

Family

ID=47357575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/004482 WO2012173355A2 (en) 2011-06-17 2012-06-07 Device and method for executing task files in a game server

Country Status (3)

Country Link
KR (1) KR101264615B1 (en)
CN (1) CN103180827A (en)
WO (1) WO2012173355A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014209253A1 (en) * 2013-06-24 2014-12-31 Hewlett-Packard Development Company, L.P. Generating a logical representation from a physical flow
CN110083358A (en) * 2019-04-29 2019-08-02 南京国电南自轨道交通工程有限公司 The tool of modification traction automatic bus switch number based on scripting language
WO2022032476A1 (en) * 2020-08-11 2022-02-17 厦门雅基软件有限公司 Data processing method and apparatus for web game, and electronic device and computer readable storage medium

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679489A (en) * 2013-12-02 2015-06-03 厦门极致互动网络技术有限公司 System and method for internally setting web browser in online game client side
CN107315576A (en) * 2016-04-26 2017-11-03 中兴通讯股份有限公司 A kind of method and system of dynamic expansion software flow
KR101860642B1 (en) * 2016-10-14 2018-05-23 한국전력공사 Apparatus and method for watching illegality using source code modification effect assessment
CN108512688A (en) * 2017-11-29 2018-09-07 中国平安人寿保险股份有限公司 Network node configuration method and terminal
CN109597618B (en) * 2018-10-23 2020-06-23 深圳微迅信息科技有限公司 Program development method, program development device, computer device, and storage medium
CN111803950B (en) * 2019-04-26 2022-08-16 厦门雅基软件有限公司 Data processing method and device for web game, electronic equipment and storage medium
KR102649690B1 (en) * 2023-02-02 2024-03-21 쿠팡 주식회사 Electronic apparatus and managing a job schedule method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236349A (en) * 1993-02-10 1994-08-23 Matsushita Electric Ind Co Ltd Command script interpretation processor
JP2004086890A (en) * 2003-08-19 2004-03-18 Hitachi Ltd Supply method for application program, smart card, script supply method, terminal device, and storage medium with application program
JP2005275522A (en) * 2004-03-23 2005-10-06 Nomura Research Institute Ltd Batch processing system
JP2010525426A (en) * 2007-03-29 2010-07-22 マイクロソフト コーポレーション Scriptable object model for network-based services

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1278223C (en) * 2003-03-07 2006-10-04 珠海市西山居软件有限公司 Scropt executing method for computer game
CN100531188C (en) * 2004-08-20 2009-08-19 中兴通讯股份有限公司 Device and method for subsystem dispatching and drive in integration system
CN101739277A (en) * 2009-12-08 2010-06-16 南京联创科技集团股份有限公司 Self-defined script mode-based method for managing service monitoring system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06236349A (en) * 1993-02-10 1994-08-23 Matsushita Electric Ind Co Ltd Command script interpretation processor
JP2004086890A (en) * 2003-08-19 2004-03-18 Hitachi Ltd Supply method for application program, smart card, script supply method, terminal device, and storage medium with application program
JP2005275522A (en) * 2004-03-23 2005-10-06 Nomura Research Institute Ltd Batch processing system
JP2010525426A (en) * 2007-03-29 2010-07-22 マイクロソフト コーポレーション Scriptable object model for network-based services

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014209253A1 (en) * 2013-06-24 2014-12-31 Hewlett-Packard Development Company, L.P. Generating a logical representation from a physical flow
US9846573B2 (en) 2013-06-24 2017-12-19 Hewlett Packard Enterprise Development Lp Generating a logical representation from a physical flow
CN110083358A (en) * 2019-04-29 2019-08-02 南京国电南自轨道交通工程有限公司 The tool of modification traction automatic bus switch number based on scripting language
WO2022032476A1 (en) * 2020-08-11 2022-02-17 厦门雅基软件有限公司 Data processing method and apparatus for web game, and electronic device and computer readable storage medium

Also Published As

Publication number Publication date
KR101264615B1 (en) 2013-05-27
KR20120139403A (en) 2012-12-27
CN103180827A (en) 2013-06-26
WO2012173355A3 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
WO2012173355A2 (en) Device and method for executing task files in a game server
US8234631B2 (en) Method and system for tracing individual transactions at the granularity level of method calls throughout distributed heterogeneous applications without source code modifications
Dmitriev Profiling Java applications using code hotswapping and dynamic call graph revelation
Claessen et al. Finding race conditions in Erlang with QuickCheck and PULSE
US20060174225A1 (en) Debugging a High Level Language Program Operating Through a Runtime Engine
CN111382048B (en) Management method and device for mobile equipment on true machine test platform
JP5208635B2 (en) Information processing apparatus, information processing system, programming support method and program for supporting programming
Candido et al. Test suite parallelization in open-source projects: A study on its usage and impact
CN115357515B (en) Debugging method and device of multi-core system, computer equipment and storage medium
CN114756357B (en) Non-blocking distributed planned task scheduling method based on JVM (Java virtual machine)
CN109542444B (en) JAVA application monitoring method, device, server and storage medium
WO2022124720A1 (en) Method for detecting error of operating system kernel memory in real time
Klingler et al. Beyond@ cloudfunction: Powerful code annotations to capture serverless runtime patterns
CN110209565B (en) Metadata model debugging method and device
Dmitriev Design of JFluid: A profiling technology and tool based on dynamic bytecode instrumentation
WO2013152576A1 (en) Method for implementing remote control automation tool
Yang et al. Kernelgpt: Enhanced kernel fuzzing via large language models
US20090327995A1 (en) Annotation-aided code generation in library-based replay
JP2008135008A (en) Program module verification method
Larsen et al. Uppaal tron user manual
CN115756424A (en) Method, device and equipment for generating MVP (multifunction vehicle platform) code
WO2012118268A2 (en) Multi-thread processing system using a multi-virtual machine, and method therefor
Kacsuk Parallel program development and execution in the grid
WO2016085213A1 (en) Computer-executable model reverse engineering method and apparatus
JPH11110256A (en) Device and method for debugging program, and computer readable recording medium recorded with the method for the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12800372

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12800372

Country of ref document: EP

Kind code of ref document: A2