WO2016192174A1 - Internet-based real-time and multiuser computer program development and debugging system and method - Google Patents

Internet-based real-time and multiuser computer program development and debugging system and method Download PDF

Info

Publication number
WO2016192174A1
WO2016192174A1 PCT/CN2015/083670 CN2015083670W WO2016192174A1 WO 2016192174 A1 WO2016192174 A1 WO 2016192174A1 CN 2015083670 W CN2015083670 W CN 2015083670W WO 2016192174 A1 WO2016192174 A1 WO 2016192174A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
user
real
synchronization
time
Prior art date
Application number
PCT/CN2015/083670
Other languages
French (fr)
Chinese (zh)
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 北京矩道优达网络科技有限公司
Publication of WO2016192174A1 publication Critical patent/WO2016192174A1/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

Definitions

  • the invention relates to the technical field of communication, computer program design, computer code design and human-computer interaction, and particularly relates to a system and method for allowing people to develop and debug online computer programs based on the Internet.
  • the object of the present invention is to provide a system and method for real-time multi-person computer program development and debugging, thereby allowing a multi-bit program writer (software developer) to complete code writing, debugging, and real-time synchronization under the condition of Internet connectivity.
  • a multi-bit program writer software developer
  • a system for developing and debugging a real-time multi-person computer program based on the Internet comprising:
  • File and code real-time synchronization subsystem for synchronizing file tree structure and code text information
  • Debug information real-time synchronization subsystem for synchronizing debugging information of the program
  • the real-time behavior tracking and synchronization subsystem is configured to receive behavior information of the user generated by the three subsystems, and synchronize the received behavior information of the user to the server.
  • the development environment real-time synchronization subsystem includes an editor style setting information synchronization module, an editor function preference setting information synchronization module, and a compilation environment setting information synchronization module, which are respectively described as follows:
  • a) editor style setting information synchronization module the user can select a preset editor style, and modify some of the styles, when the user saves the settings, the user's operation behavior information is sent to the real-time
  • the behavior tracking and synchronization subsystem updates the information stored on the server by the real-time behavior tracking and synchronization subsystem.
  • the editor style setting information synchronization module saves the editor style setting information of each user separately, and does not synchronize to all users.
  • Editor function preference setting information synchronization module the user can personally modify the editor's function preferences.
  • the user's operation behavior information is sent to the real-time behavior tracking and synchronization subsystem.
  • the real-time behavior tracking and synchronization subsystem updates the information stored on the server.
  • the editor function preference information synchronization module separately saves each user's editor function preference information without synchronizing to all users.
  • Compilation environment setting information synchronization module The user can select a pre-configured compilation environment and modify some of the settings. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking. With the synchronization subsystem, the information stored on the server is updated by the real-time behavior tracking and synchronization subsystem.
  • the compilation environment setting information synchronization module needs to synchronize the compilation environment setting information of all users. When a new user joins the project, the compilation environment setting information synchronization module sends the latest version information on the server to him.
  • the file and code real-time synchronization subsystem includes a file directory information synchronization module, a code text information synchronization module, and a cursor behavior information synchronization module, which are respectively described as follows:
  • a) file directory information synchronization module receiving user operation information on the file directory, when the user performs a new file or directory, modify the file or directory, delete the file or directory, etc., the user's operation behavior information is sent to the real-time Behavior tracking and synchronization subsystem.
  • the file directory information synchronization module obtains the user's project file directory structure saved on the server through the real-time behavior tracking and synchronization subsystem, and presents the user in the form of a directory tree.
  • the version saved on the server is automatically synchronized to the user local; when the user changes the local file directory structure, the user's operation is performed.
  • Information is sent to the real-time behavior tracking and synchronization subsystem.
  • the time behavior tracking and synchronization subsystem updates the information stored on the server.
  • the file directory information synchronization module needs to synchronize the file directory information of all users. When a new user joins the project, the file directory information synchronization module sends the latest version information on the server to him.
  • code text information synchronization module receiving the user's operation information on the code text, when the user inserts the text, deletes the text, modifies the text, moves the text, etc., the user's operation behavior information is sent to the real-time behavior tracking and Synchronization subsystem.
  • the code text information synchronization module obtains the content of the user's project code file saved on the server through the real-time behavior tracking and synchronization subsystem, and displays the content in the text area for the user.
  • the version of the file saved on the server is newer than the user's local
  • the version of the file saved on the server is automatically synchronized to the user's local; when the user changes the content of the local file, the user's operation is performed.
  • the information is sent to the real-time behavior tracking and synchronization subsystem, and the version of the file saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
  • the code text information synchronization module synchronizes the file version on the server to the user local, when the changed content of the server version is not in the same position as the local change content of the user, the code text information is merged at the same time, while retaining Changes to both parties.
  • the code text information synchronization module synchronizes the file version on the server to the user local, when the content change of the server version is in the same position as the local change content of the user, there may be a conflict with the user local code text information. In this case, the user will be allowed to manually resolve the conflict.
  • the code text information synchronization module needs to synchronize the code text information of all users. When a new user joins the project, the code text information synchronization module will send the latest version information on the server to him.
  • cursor behavior information synchronization module receiving operation information generated by the user's cursor behavior, and transmitting the user's operation behavior information to the real-time behavior tracking and synchronization subsystem.
  • the cursor behavior information synchronization module acquires the cursor position of other online users saved on the server through the real-time behavior tracking and synchronization subsystem, and displays the text in the text area for the user.
  • the cursor position of other online users saved on the server is newer than the user local, the cursor position saved on the server is automatically synchronized to the user local; when the user positions the cursor in the local file content
  • the user's cursor position information is sent to the real-time behavior tracking and synchronization subsystem, and the cursor position information saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
  • the cursor behavior information synchronization module receives the operation of modifying the document by the server, the local cursor of the user needs to perform corresponding processing: for the insertion operation, if a character is inserted after the cursor, the cursor moves backward, if a character is inserted before the cursor, The cursor does not change; for the delete operation, if the cursor is behind the deleted character, the cursor moves forward. If the cursor is before the deleted character, the cursor does not change; for the selected text operation, the selected two cursors are selected, and then selected The content between the two cursors.
  • the cursor behavior information synchronization module receives the information of other online users, it will judge its modification time. For the cursor that has not performed any operation for a long time, the cursor will be cleared and not displayed to the user.
  • the cursor behavior information synchronization module needs to synchronize the cursor behavior information of all users. When a new user joins the project, the cursor behavior information synchronization module will send the latest version information on the server to him.
  • the debugging information real-time synchronization subsystem includes a debugging information synchronization module, and the debugging information synchronization module receives debugging information generated by the user to debug the project code, and sends the debugging information to the real-time behavior tracking and synchronization subsystem.
  • the debug information synchronization module obtains the debug information saved on the server through the real-time behavior tracking and synchronization subsystem, and presents it to the user.
  • the debugging information of other online users is saved on the server, all the current user's operation behaviors on the current project are prohibited, and the debugging information saved on the server is synchronized to the user local; when the user performs the local project During debugging, the user's debugging information is sent to the real-time behavior tracking and synchronization subsystem, and the real-time behavior tracking and synchronization subsystem updates the debugging information on the server.
  • the user debugs the project other online users will be prohibited from performing any operations on the project.
  • the debug information synchronization module needs to synchronize the debugging information of all users. When a new user joins the project, the debug information synchronization module sends the latest version information on the server to him.
  • the real-time behavior tracking and synchronization subsystem includes a development environment tracking and synchronization module, a file directory information tracking and synchronization module, a code text information tracking and synchronization module, a cursor behavior information tracking and synchronization module, a debugging information tracking and a synchronization module. , respectively, as follows:
  • a file directory information tracking and synchronization module receiving operation information about the file directory from the file and code real-time synchronization subsystem, and after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
  • code text information tracking and synchronization module receiving operation information about the code text from the file and code real-time synchronization subsystem, after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
  • cursor behavior information tracking and synchronization module receiving operation information about the cursor behavior from the file and code real-time synchronization subsystem, after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
  • Debug information tracking and synchronization module receiving operation information from the real-time synchronization subsystem of the debugging information, and after synchronizing to the server, returning the information on the server to the real-time synchronization subsystem of the debugging information.
  • a real-time synchronization mechanism between development environments of multiple software developers sending information from the real-time synchronization subsystem of the development environment to the real-time behavior tracking and synchronization subsystem for synchronization;
  • Real-time synchronization mechanism between files and code among multiple software developers sending information from the file and code real-time synchronization subsystem to the real-time behavior tracking and synchronization subsystem for synchronization;
  • the real-time synchronization mechanism of debugging information between multiple software developers the information is sent from the real-time synchronization subsystem of the debugging information to the real-time behavior tracking and synchronization subsystem for synchronization;
  • the real-time behavior tracking and synchronization subsystem receives the information from each of the above subsystems, synchronizes on the server, and sends the synchronized information back to the respective subsystems.
  • step 1 includes the following sub-steps: synchronization editor style setting information, synchronization editor function preference setting information, and synchronization compilation environment setting information.
  • step 2 includes the following sub-steps: synchronizing file directory information, synchronization code text information, and synchronization cursor behavior information.
  • step 3 the following sub-steps are included: synchronous debugging information.
  • step 4 includes the following sub-steps: synchronizing the editor style setting information, the editor function preference setting information, the compiling environment setting information, the file directory information, the code text information, the cursor behavior information, and the debugging information to the server.
  • the invention solves the real-time synchronization of the system development environment, the real-time synchronization of the file and the code, the real-time synchronization of the debugging information, the real-time tracking and synchronization of the behavior, and solves the problem that the writers of the multiple programs (software developers) are connected under the Internet.
  • Real-time synchronization completes several types of work such as code writing, debugging, and testing, and comprehensive software engineering R&D activities that combine these tasks.
  • the invention can make real-time online teaching possible, and the course instructor can let the course learners see the real-time synchronized program through the program writing manner, thereby completing the learning; at the same time, real-time online collaborative development, real-time online interactive programming interview and the like are also As a result, the complete solution of the technology becomes more efficient.
  • Multiple developers can simultaneously operate an engineering project and achieve real-time synchronization.
  • the interviewer and the interviewee can also have a clearer understanding of each other in a similar way.
  • FIG. 1 is a flowchart of a method for developing and debugging an Internet-based real-time multi-person computer program according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a real-time synchronization process of a development environment according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a real-time synchronization process between a file and a code according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a real-time synchronization process of debug information according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a real-time behavior tracking and synchronization process according to an embodiment of the present invention.
  • FIG. 1 is a flow chart of a method for developing and debugging an Internet-based real-time multi-person computer program according to an embodiment of the present invention. As shown in FIG. 1, the embodiment mainly includes the following steps:
  • step 11 the system determines the user's network status. If the user is offline, the user is reminded that the user is currently offline, and the user's modification is saved locally, and the synchronization operation cannot be performed;
  • Step 12 The system determines whether a user modifies the development environment setting information, and if so, performs a real-time synchronization process of the development environment;
  • Step 13 the system determines whether there is a user operating a cursor, an operation code text, an operation file directory, and if so, performing a real-time synchronization process between the file and the code;
  • step 14 the system determines whether a user debugs the project code, and if so, performs a real-time synchronization process of the debug information.
  • FIG. 2 is a schematic diagram of a real-time synchronization process of a development environment according to an embodiment of the present invention. As shown in FIG. 2, the embodiment mainly includes the following steps:
  • Step 21 The system determines whether the local information of the user is the latest information, and if not, updates the local version of the user to the latest version on the server;
  • Step 22 The user performs an operation of modifying development environment setting information
  • Step 23 The system responds to operations performed by the user
  • Step 24 The system sends the user operation information to the real-time behavior tracking and synchronization subsystem
  • Step 25 the system receives information returned from the real-time behavior tracking and synchronization subsystem
  • step 26 the system updates the development environment setting information of all online users.
  • FIG. 3 is a schematic diagram of a real-time synchronization process of files and codes according to an embodiment of the present invention. As shown in FIG. 3, this embodiment mainly includes the following steps:
  • Step 31 The system determines whether the local information of the user is the latest information, and if not, updates the local version of the user to the latest version on the server;
  • Step 32 The user performs an operation cursor, an operation code file, and an operation text directory
  • Step 33 The system responds to operations performed by the user
  • Step 34 The system sends the operation information of the user to the real-time behavior tracking and synchronization subsystem;
  • Step 35 The system receives information returned from the real-time behavior tracking and synchronization subsystem
  • step 36 the system updates the file and code information of all online users.
  • FIG. 4 is a schematic diagram of a real-time synchronization process of debug information according to an embodiment of the present invention. As shown in FIG. 4, this embodiment mainly includes the following steps:
  • Step 41 The user performs a debugging operation on the project code.
  • Step 42 The system locks the project codes of all other online users
  • Step 43 the system responds to operations performed by the user
  • Step 44 The system sends the operation information of the user to the real-time behavior tracking and synchronization subsystem;
  • Step 45 The system receives information returned from the real-time behavior tracking and synchronization subsystem
  • step 46 the system updates the debugging information of all online users.
  • FIG. 5 is a schematic diagram of a real-time behavior tracking and synchronization process according to an embodiment of the present invention. As shown in FIG. 5, this embodiment mainly includes the following steps:
  • Step 51 the system receives information from other subsystems
  • Step 52 the system updates the server version to the latest version received
  • step 53 the system sends the information synchronized by the server back to the atomic system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

An internet-based real-time and multiuser computer program development and debugging system and method. The system comprises: a development environment real-time synchronization subsystem, configured to synchronize setting information related to an editor and an compilation environment; a file and code real-time synchronization subsystem, configured to synchronize a file tree structure and code text information; a debugging information real-time synchronization subsystem, configured to synchronize debugging information for a program; and a real-time behavior tracking and synchronization subsystem, configured to receive user behavior information generated by the foregoing three subsystems, and synchronize the received user behavior information to a server. The system and the method can enable multiple programmers to synchronously complete the work such as coding, debugging, and testing in real time under the condition of an internet connection, and implement comprehensive software engineering development that combines the work.

Description

基于互联网的实时多人计算机程序开发调试系统与方法Internet-based real-time multi-person computer program development and debugging system and method 技术领域Technical field
本发明涉及通信、计算机程序设计、计算机代码设计和人机交互的技术领域,具体涉及一种允许人们基于互联网进行在线的计算机程序开发与调试的系统与方法。The invention relates to the technical field of communication, computer program design, computer code design and human-computer interaction, and particularly relates to a system and method for allowing people to develop and debug online computer programs based on the Internet.
背景技术Background technique
随着信息技术、互联网技术的快速发展,人们对于计算机程序开发的需求也不断增大。人们在进行计算机软件程序开发时,除了单人独立开发外,也经常对结对编程、多人协作编程有一定的要求。传统情况下,人们只能通过共同使用一台计算机同步开发或使用多台计算机分时间轮流开发,极大的限制了多人同时进行高效的计算机程序开发的可能性。With the rapid development of information technology and Internet technology, people's demand for computer program development has also increased. When people develop computer software programs, in addition to single-person independent development, they often have certain requirements for pair programming and multi-person collaborative programming. Traditionally, people can only use one computer to jointly develop or use multiple computers to develop in turn, which greatly limits the possibility of multi-person simultaneous high-efficiency computer program development.
实时在线教学、实时在线协作开发、实时在线互动编程面试等需求在近几年越来越强烈。实时多人计算机程序开发调试对于包括但不限于以上场景的诸多实际应用场景,均有直接的技术支撑作用。因此,一个基于互联网在线实时多人计算机程序开发调试的技术方案及其系统的实现显得格外的迫切。The demand for real-time online teaching, real-time online collaborative development, and real-time online interactive programming interviews has become more and more intense in recent years. Real-time multi-person computer program development and debugging has direct technical support for many practical application scenarios including but not limited to the above scenarios. Therefore, the realization of a technical solution and system based on the development and debugging of online real-time multi-person computer programs on the Internet is particularly urgent.
基于互联网的在线实时多人计算机程序开发调试的技术将使得实时在线教学成为可能,课程传授者可以通过程序编写的方式,让课程学习者看到实时同步的程序,进而完成学习;同时,实时在线协作开发、实时在线互动编程面试等场景也因此项技术的完整方案变得更为高效,多位开发者可以同时操作一个工程项目并实现实时同步,面试者和被面试者也可以通过类似的方式对彼此有一个更明确的了解。因而,这一技术方案与系统的提出是有非常重要的意义的。The technology of online real-time multi-person computer program development and debugging based on the Internet will make real-time online teaching possible. The course instructor can let the course learners see the real-time synchronized program through the program writing method, and then complete the learning. Meanwhile, real-time online Collaborative development, real-time online interactive programming interviews and other scenarios have become more efficient as a complete solution for the technology. Multiple developers can simultaneously operate an engineering project and achieve real-time synchronization. Interviewers and interviewees can also use similar methods. Have a clearer understanding of each other. Therefore, the proposal of this technical solution and system is very important.
发明内容Summary of the invention
本发明的目的是,提供一种实时多人计算机程序开发调试的系统与方法,从而允许多位程序的编写者(软件的开发者)在互联网连通的条件下,实时同步完成代码编写、调试、测试过程等几类工作及结合以上这几项工作的综合性软件工程开发。The object of the present invention is to provide a system and method for real-time multi-person computer program development and debugging, thereby allowing a multi-bit program writer (software developer) to complete code writing, debugging, and real-time synchronization under the condition of Internet connectivity. Several types of work, such as the testing process, and comprehensive software engineering development that combines these tasks.
本发明的目的是通过以下技术方案实现的:The object of the invention is achieved by the following technical solutions:
一种基于互联网的实时多人计算机程序开发调试的系统,该系统包括:A system for developing and debugging a real-time multi-person computer program based on the Internet, the system comprising:
开发环境实时同步子系统,用于同步编辑器与编译环境相关的设置信息;Development environment real-time synchronization subsystem for synchronizing editor and setup information related to the compilation environment;
文件与代码实时同步子系统,用于同步文件树结构与代码文本信息; File and code real-time synchronization subsystem for synchronizing file tree structure and code text information;
调试信息实时同步子系统,用于同步程序的调试信息;Debug information real-time synchronization subsystem for synchronizing debugging information of the program;
实时行为追踪与同步子系统,用于接收上述三个子系统产生的使用者的行为信息,并将接收到的使用者的行为信息同步到服务器。The real-time behavior tracking and synchronization subsystem is configured to receive behavior information of the user generated by the three subsystems, and synchronize the received behavior information of the user to the server.
进一步地,所述开发环境实时同步子系统包括编辑器样式设置信息同步模块、编辑器功能偏好设置信息同步模块和编译环境设置信息同步模块,分别说明如下:Further, the development environment real-time synchronization subsystem includes an editor style setting information synchronization module, an editor function preference setting information synchronization module, and a compilation environment setting information synchronization module, which are respectively described as follows:
a)编辑器样式设置信息同步模块:使用者可以选择一个预先设定好的编辑器样式,并对其中的部分样式进行修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的信息。a) editor style setting information synchronization module: the user can select a preset editor style, and modify some of the styles, when the user saves the settings, the user's operation behavior information is sent to the real-time The behavior tracking and synchronization subsystem updates the information stored on the server by the real-time behavior tracking and synchronization subsystem.
该编辑器样式设置信息同步模块会对每一名使用者的编辑器样式设置信息单独进行保存,而不同步给所有的使用者。The editor style setting information synchronization module saves the editor style setting information of each user separately, and does not synchronize to all users.
b)编辑器功能偏好设置信息同步模块:使用者可以对编辑器的功能偏好进行个性化修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的信息。b) Editor function preference setting information synchronization module: the user can personally modify the editor's function preferences. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking and synchronization subsystem. The real-time behavior tracking and synchronization subsystem updates the information stored on the server.
该编辑器功能偏好设置信息同步模块会对每一名使用者的编辑器功能偏好设置信息单独进行保存,而不同步给所有的使用者。The editor function preference information synchronization module separately saves each user's editor function preference information without synchronizing to all users.
c)编译环境设置信息同步模块:使用者可以选择一个预先设定好的编译环境,并对其中的部分设置进行修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的信息。c) Compilation environment setting information synchronization module: The user can select a pre-configured compilation environment and modify some of the settings. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking. With the synchronization subsystem, the information stored on the server is updated by the real-time behavior tracking and synchronization subsystem.
该编译环境设置信息同步模块需要对所有使用者的编译环境设置信息进行同步,当一个新的使用者加入到项目时,编译环境设置信息同步模块会将服务器上的最新版本信息发送给他。The compilation environment setting information synchronization module needs to synchronize the compilation environment setting information of all users. When a new user joins the project, the compilation environment setting information synchronization module sends the latest version information on the server to him.
进一步地,所述文件与代码实时同步子系统包括文件目录信息同步模块、代码文本信息同步模块和光标行为信息同步模块,分别说明如下:Further, the file and code real-time synchronization subsystem includes a file directory information synchronization module, a code text information synchronization module, and a cursor behavior information synchronization module, which are respectively described as follows:
a)文件目录信息同步模块:接收使用者对文件目录的操作信息,当使用者进行新建文件或目录、修改文件或目录、删除文件或目录等操作后,将使用者的操作行为信息发送给实时行为追踪与同步子系统。a) file directory information synchronization module: receiving user operation information on the file directory, when the user performs a new file or directory, modify the file or directory, delete the file or directory, etc., the user's operation behavior information is sent to the real-time Behavior tracking and synchronization subsystem.
该文件目录信息同步模块会通过实时行为追踪与同步子系统获取服务器上保存的使用者的项目文件目录结构,并以目录树的形式为使用者展示。当服务器上保存的信息版本比使用者本地的新时,就会自动将服务器上保存的版本同步到使用者本地;当使用者对本地的文件目录结构进行改动时,则会将使用者的操作信息发送给实时行为追踪与同步子系统,由实 时行为追踪与同步子系统更新服务器上保存的信息。当使用者删除一个文件或目录时,如果有其他的在线的使用者正在使用那个文件或目录下的文件,则删除失败,并被告知该文件或目录正在被使用。The file directory information synchronization module obtains the user's project file directory structure saved on the server through the real-time behavior tracking and synchronization subsystem, and presents the user in the form of a directory tree. When the version of the information saved on the server is newer than the local user, the version saved on the server is automatically synchronized to the user local; when the user changes the local file directory structure, the user's operation is performed. Information is sent to the real-time behavior tracking and synchronization subsystem. The time behavior tracking and synchronization subsystem updates the information stored on the server. When a user deletes a file or directory, if another online user is using the file or directory, the deletion fails and is told that the file or directory is being used.
该文件目录信息同步模块需要对所有使用者的文件目录信息进行同步,当一个新的使用者加入到项目时,文件目录信息同步模块会将服务器上的最新版本信息发送给他。The file directory information synchronization module needs to synchronize the file directory information of all users. When a new user joins the project, the file directory information synchronization module sends the latest version information on the server to him.
b)代码文本信息同步模块:接收使用者对代码文本的操作信息,当使用者进行插入文本、删除文本、修改文本、移动文本等操作后,将使用者的操作行为信息发送给实时行为追踪与同步子系统。b) code text information synchronization module: receiving the user's operation information on the code text, when the user inserts the text, deletes the text, modifies the text, moves the text, etc., the user's operation behavior information is sent to the real-time behavior tracking and Synchronization subsystem.
该代码文本信息同步模块会通过实时行为追踪与同步子系统获取服务器上保存的使用者的项目代码文件内容,并为使用者在文本区域内展示。当服务器上保存的文件版本比使用者本地的新时,就会自动将服务器上保存的文件版本同步到使用者本地;当使用者对本地的文件内容进行改动时,则会将使用者的操作信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的文件版本。The code text information synchronization module obtains the content of the user's project code file saved on the server through the real-time behavior tracking and synchronization subsystem, and displays the content in the text area for the user. When the version of the file saved on the server is newer than the user's local, the version of the file saved on the server is automatically synchronized to the user's local; when the user changes the content of the local file, the user's operation is performed. The information is sent to the real-time behavior tracking and synchronization subsystem, and the version of the file saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
该代码文本信息同步模块将服务器上的文件版本同步到使用者本地时,当服务器版本的改动内容与使用者本地的改动内容不处于同一位置时,此时会对代码文本信息进行合并,同时保留两方的改动。When the code text information synchronization module synchronizes the file version on the server to the user local, when the changed content of the server version is not in the same position as the local change content of the user, the code text information is merged at the same time, while retaining Changes to both parties.
该代码文本信息同步模块将服务器上的文件版本同步到使用者本地时,当服务器版本的改动内容与使用者本地的改动内容处于同一位置时,可能会出现与使用者本地代码文本信息有所冲突的情况,此时会让使用者来手动解决冲突。When the code text information synchronization module synchronizes the file version on the server to the user local, when the content change of the server version is in the same position as the local change content of the user, there may be a conflict with the user local code text information. In this case, the user will be allowed to manually resolve the conflict.
该代码文本信息同步模块需要对所有使用者的代码文本信息进行同步,当一个新的使用者加入到项目时,代码文本信息同步模块会将服务器上的最新版本信息发送给他。The code text information synchronization module needs to synchronize the code text information of all users. When a new user joins the project, the code text information synchronization module will send the latest version information on the server to him.
c)光标行为信息同步模块:接收使用者的光标行为产生的操作信息,将使用者的操作行为信息发送给实时行为追踪与同步子系统。c) cursor behavior information synchronization module: receiving operation information generated by the user's cursor behavior, and transmitting the user's operation behavior information to the real-time behavior tracking and synchronization subsystem.
该光标行为信息同步模块会通过实时行为追踪与同步子系统获取服务器上保存的其他的在线的使用者的光标位置,并为使用者在文本区域内展示。当服务器上保存的其他的在线的使用者的光标位置比使用者本地的新时,就会自动将服务器上保存的光标位置同步到使用者本地;当使用者对本地的文件内容中的光标位置进行改动时,则会将使用者的光标位置信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的光标位置信息。 The cursor behavior information synchronization module acquires the cursor position of other online users saved on the server through the real-time behavior tracking and synchronization subsystem, and displays the text in the text area for the user. When the cursor position of other online users saved on the server is newer than the user local, the cursor position saved on the server is automatically synchronized to the user local; when the user positions the cursor in the local file content When the change is made, the user's cursor position information is sent to the real-time behavior tracking and synchronization subsystem, and the cursor position information saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
在代码文本信息的同步过程中,需要着重处理光标行为信息的同步。当光标行为信息同步模块接收到服务器修改文档的操作后,使用者本地的光标需要进行相应的处理:对于插入操作,如果在光标之后插入字符,则光标后移,如果在光标之前插入字符,则光标不变;对于删除操作,如果光标在删除的字符之后,则光标前移,如果光标在删除的字符之前,则光标不变;对于选中文本的操作,将选中看为两个光标,然后选中两个光标之间的内容。当光标行为信息同步模块接收到其他的在线的使用者的信息后,会判断它的修改时间,对于长时间没有进行任何操作的光标将会被清除,不展示给使用者。In the process of synchronizing code text information, it is necessary to focus on the synchronization of cursor behavior information. When the cursor behavior information synchronization module receives the operation of modifying the document by the server, the local cursor of the user needs to perform corresponding processing: for the insertion operation, if a character is inserted after the cursor, the cursor moves backward, if a character is inserted before the cursor, The cursor does not change; for the delete operation, if the cursor is behind the deleted character, the cursor moves forward. If the cursor is before the deleted character, the cursor does not change; for the selected text operation, the selected two cursors are selected, and then selected The content between the two cursors. When the cursor behavior information synchronization module receives the information of other online users, it will judge its modification time. For the cursor that has not performed any operation for a long time, the cursor will be cleared and not displayed to the user.
该光标行为信息同步模块需要对所有使用者的光标行为信息进行同步,当一个新的使用者加入到项目时,光标行为信息同步模块会将服务器上的最新版本信息发送给他。The cursor behavior information synchronization module needs to synchronize the cursor behavior information of all users. When a new user joins the project, the cursor behavior information synchronization module will send the latest version information on the server to him.
进一步地,所述调试信息实时同步子系统包括调试信息同步模块,该调试信息同步模块接收使用者对项目代码进行调试所产生的调试信息,发送给实时行为追踪与同步子系统。Further, the debugging information real-time synchronization subsystem includes a debugging information synchronization module, and the debugging information synchronization module receives debugging information generated by the user to debug the project code, and sends the debugging information to the real-time behavior tracking and synchronization subsystem.
该调试信息同步模块会通过实时行为追踪与同步子系统获取服务器上保存的调试信息,并为使用者展示。当服务器上保存有其他的在线的使用者的调试信息时,就会禁止当前用户对当前项目的所有操作行为,并将服务器上保存的调试信息同步到使用者本地;当使用者对本地项目进行调试时,则会将使用者的调试信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上的调试信息。当使用者对项目进行调试操作时,其他的在线的使用者将会被禁止对项目进行任何操作。The debug information synchronization module obtains the debug information saved on the server through the real-time behavior tracking and synchronization subsystem, and presents it to the user. When the debugging information of other online users is saved on the server, all the current user's operation behaviors on the current project are prohibited, and the debugging information saved on the server is synchronized to the user local; when the user performs the local project During debugging, the user's debugging information is sent to the real-time behavior tracking and synchronization subsystem, and the real-time behavior tracking and synchronization subsystem updates the debugging information on the server. When the user debugs the project, other online users will be prohibited from performing any operations on the project.
该调试信息同步模块需要对所有使用者的调试信息进行同步,当一个新的使用者加入到项目时,调试信息同步模块会将服务器上的最新版本信息发送给他。The debug information synchronization module needs to synchronize the debugging information of all users. When a new user joins the project, the debug information synchronization module sends the latest version information on the server to him.
进一步地,所述实时行为追踪与同步子系统包括开发环境追踪和同步模块、文件目录信息追踪和同步模块、代码文本信息追踪和同步模块、光标行为信息追踪和同步模块、调试信息追踪和同步模块,分别说明如下:Further, the real-time behavior tracking and synchronization subsystem includes a development environment tracking and synchronization module, a file directory information tracking and synchronization module, a code text information tracking and synchronization module, a cursor behavior information tracking and synchronization module, a debugging information tracking and a synchronization module. , respectively, as follows:
a)开发环境追踪和同步模块,接收来自开发环境实时同步子系统的操作信息,同步到服务器后,将服务器上的信息返回给开发环境实时同步子系统;a) developing an environment tracking and synchronization module, receiving operation information from the real-time synchronization subsystem of the development environment, and synchronizing to the server, returning the information on the server to the development environment real-time synchronization subsystem;
b)文件目录信息追踪和同步模块,接收来自文件与代码实时同步子系统的关于文件目录的操作信息,同步到服务器后,将服务器上的信息返回给文件与代码实时同步子系统;b) a file directory information tracking and synchronization module, receiving operation information about the file directory from the file and code real-time synchronization subsystem, and after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
c)代码文本信息追踪和同步模块,接收来自文件与代码实时同步子系统的关于代码文本的操作信息,同步到服务器后,将服务器上的信息返回给文件与代码实时同步子系统;c) code text information tracking and synchronization module, receiving operation information about the code text from the file and code real-time synchronization subsystem, after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
d)光标行为信息追踪和同步模块,接收来自文件与代码实时同步子系统的关于光标行为的操作信息,同步到服务器后,将服务器上的信息返回给文件与代码实时同步子系统; d) cursor behavior information tracking and synchronization module, receiving operation information about the cursor behavior from the file and code real-time synchronization subsystem, after synchronizing to the server, returning the information on the server to the file and code real-time synchronization subsystem;
e)调试信息追踪和同步模块,接收来自调试信息实时同步子系统的操作信息,同步到服务器后,将服务器上的信息返回给调试信息实时同步子系统。e) Debug information tracking and synchronization module, receiving operation information from the real-time synchronization subsystem of the debugging information, and after synchronizing to the server, returning the information on the server to the real-time synchronization subsystem of the debugging information.
一种采用上述系统的基于互联网的实时多人计算机程序开发调试方法,其步骤包括:An Internet-based real-time multi-person computer program development and debugging method using the above system, the steps of which include:
1.多名软件开发者之间开发环境的实时同步机制,将信息由开发环境实时同步子系统发送给实时行为追踪与同步子系统进行同步;1. A real-time synchronization mechanism between development environments of multiple software developers, sending information from the real-time synchronization subsystem of the development environment to the real-time behavior tracking and synchronization subsystem for synchronization;
2.多名软件开发者之间文件与代码的实时同步机制,将信息由文件与代码实时同步子系统发送给实时行为追踪与同步子系统进行同步;2. Real-time synchronization mechanism between files and code among multiple software developers, sending information from the file and code real-time synchronization subsystem to the real-time behavior tracking and synchronization subsystem for synchronization;
3.多名软件开发者之间调试信息的实时同步机制,将信息由调试信息实时同步子系统发送给实时行为追踪与同步子系统进行同步;3. The real-time synchronization mechanism of debugging information between multiple software developers, the information is sent from the real-time synchronization subsystem of the debugging information to the real-time behavior tracking and synchronization subsystem for synchronization;
4.实时行为追踪与同步子系统接收来自上述各子系统的信息,在服务器上进行同步,将同步后的信息发送回相应的各个子系统。4. The real-time behavior tracking and synchronization subsystem receives the information from each of the above subsystems, synchronizes on the server, and sends the synchronized information back to the respective subsystems.
进一步地,步骤1中包含如下子步骤:同步编辑器样式设置信息、同步编辑器功能偏好设置信息、同步编译环境设置信息。Further, the step 1 includes the following sub-steps: synchronization editor style setting information, synchronization editor function preference setting information, and synchronization compilation environment setting information.
进一步地,步骤2中包含如下子步骤:同步文件目录信息、同步代码文本信息、同步光标行为信息。Further, step 2 includes the following sub-steps: synchronizing file directory information, synchronization code text information, and synchronization cursor behavior information.
进一步地,步骤3中包含如下子步骤:同步调试信息。Further, in step 3, the following sub-steps are included: synchronous debugging information.
进一步地,步骤4中包含如下子步骤:将编辑器样式设置信息、编辑器功能偏好设置信息、编译环境设置信息、文件目录信息、代码文本信息、光标行为信息、调试信息同步到服务器。Further, the step 4 includes the following sub-steps: synchronizing the editor style setting information, the editor function preference setting information, the compiling environment setting information, the file directory information, the code text information, the cursor behavior information, and the debugging information to the server.
与现有技术相比,本发明的有益效果如下:Compared with the prior art, the beneficial effects of the present invention are as follows:
本发明通过系统开发环境的实时同步、文件与代码的实时同步、调试信息的实时同步、行为的实时追踪与同步,解决了多位程序的编写者(软件的开发者)在互联网连通的条件下,实时同步完成代码编写、调试、测试过程等几类工作及结合以上这几项工作的综合性软件工程研发活动。本发明能够使实时在线教学成为可能,课程传授者可以通过程序编写的方式,让课程学习者看到实时同步的程序,进而完成学习;同时,实时在线协作开发、实时在线互动编程面试等场景也因此项技术的完整方案变得更为高效,多位开发者可以同时操作一个工程项目并实现实时同步,面试者和被面试者也可以通过类似的方式对彼此有一个更明确的了解。The invention solves the real-time synchronization of the system development environment, the real-time synchronization of the file and the code, the real-time synchronization of the debugging information, the real-time tracking and synchronization of the behavior, and solves the problem that the writers of the multiple programs (software developers) are connected under the Internet. Real-time synchronization completes several types of work such as code writing, debugging, and testing, and comprehensive software engineering R&D activities that combine these tasks. The invention can make real-time online teaching possible, and the course instructor can let the course learners see the real-time synchronized program through the program writing manner, thereby completing the learning; at the same time, real-time online collaborative development, real-time online interactive programming interview and the like are also As a result, the complete solution of the technology becomes more efficient. Multiple developers can simultaneously operate an engineering project and achieve real-time synchronization. The interviewer and the interviewee can also have a clearer understanding of each other in a similar way.
附图说明 DRAWINGS
图1为本发明的一个实施例的基于互联网的实时多人计算机程序开发调试方法的流程图;1 is a flowchart of a method for developing and debugging an Internet-based real-time multi-person computer program according to an embodiment of the present invention;
图2为本发明的一个实施例的开发环境实时同步过程的示意图;2 is a schematic diagram of a real-time synchronization process of a development environment according to an embodiment of the present invention;
图3为本发明的一个实施例的文件与代码实时同步过程的示意图;3 is a schematic diagram of a real-time synchronization process between a file and a code according to an embodiment of the present invention;
图4为本发明的一个实施例的调试信息实时同步过程的示意图;4 is a schematic diagram of a real-time synchronization process of debug information according to an embodiment of the present invention;
图5为本发明的一个实施例的实时行为追踪与同步过程的示意图。FIG. 5 is a schematic diagram of a real-time behavior tracking and synchronization process according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。The above described objects, features and advantages of the present invention will become more apparent from the aspects of the appended claims.
图1为本发明的一个实施例的基于互联网的实时多人计算机程序开发调试方法的流程图。如图1所示,该实施例主要包括以下步骤:1 is a flow chart of a method for developing and debugging an Internet-based real-time multi-person computer program according to an embodiment of the present invention. As shown in FIG. 1, the embodiment mainly includes the following steps:
步骤11,系统判断使用者的网络状况,若使用者离线,则提醒使用者当前为离线状态,使用者的修改保存在本地,无法进行同步操作;In step 11, the system determines the user's network status. If the user is offline, the user is reminded that the user is currently offline, and the user's modification is saved locally, and the synchronization operation cannot be performed;
步骤12,系统判断是否有使用者修改开发环境设置信息,若是,则进行开发环境实时同步过程;Step 12: The system determines whether a user modifies the development environment setting information, and if so, performs a real-time synchronization process of the development environment;
步骤13,系统判断是否有使用者操作光标、操作代码文本、操作文件目录,若是,则进行文件与代码实时同步过程;Step 13, the system determines whether there is a user operating a cursor, an operation code text, an operation file directory, and if so, performing a real-time synchronization process between the file and the code;
步骤14,系统判断是否有使用者对项目代码进行调试,若是,则进行调试信息实时同步过程。In step 14, the system determines whether a user debugs the project code, and if so, performs a real-time synchronization process of the debug information.
图2为本发明的一个实施例的开发环境实时同步过程的示意图。如图2所示,该实施例主要包括以下步骤:2 is a schematic diagram of a real-time synchronization process of a development environment according to an embodiment of the present invention. As shown in FIG. 2, the embodiment mainly includes the following steps:
步骤21,系统判断使用者本地信息是否为最新信息,若不是,则将使用者本地版本更新为服务器上的最新版本;Step 21: The system determines whether the local information of the user is the latest information, and if not, updates the local version of the user to the latest version on the server;
步骤22,使用者进行修改开发环境设置信息的操作;Step 22: The user performs an operation of modifying development environment setting information;
步骤23,系统响应使用者进行的操作;Step 23: The system responds to operations performed by the user;
步骤24,系统将使用者的操作信息发送给实时行为追踪与同步子系统;Step 24: The system sends the user operation information to the real-time behavior tracking and synchronization subsystem;
步骤25,系统接收来自实时行为追踪与同步子系统返回的信息;Step 25, the system receives information returned from the real-time behavior tracking and synchronization subsystem;
步骤26,系统更新所有在线的使用者的开发环境设置信息。 In step 26, the system updates the development environment setting information of all online users.
图3为本发明的一个实施例的文件与代码实时同步过程的示意图。如图3所示,该实施例主要包括以下步骤:3 is a schematic diagram of a real-time synchronization process of files and codes according to an embodiment of the present invention. As shown in FIG. 3, this embodiment mainly includes the following steps:
步骤31,系统判断使用者本地信息是否为最新信息,若不是,则将使用者本地版本更新为服务器上的最新版本;Step 31: The system determines whether the local information of the user is the latest information, and if not, updates the local version of the user to the latest version on the server;
步骤32,使用者进行操作光标、操作代码文件、操作文本目录;Step 32: The user performs an operation cursor, an operation code file, and an operation text directory;
步骤33,系统响应使用者进行的操作;Step 33: The system responds to operations performed by the user;
步骤34,系统将使用者的操作信息发送给实时行为追踪与同步子系统;Step 34: The system sends the operation information of the user to the real-time behavior tracking and synchronization subsystem;
步骤35,系统接收来自实时行为追踪与同步子系统返回的信息;Step 35: The system receives information returned from the real-time behavior tracking and synchronization subsystem;
步骤36,系统更新所有在线的使用者的文件与代码信息。In step 36, the system updates the file and code information of all online users.
图4为本发明的一个实施例的调试信息实时同步过程的示意图。如图4所示,该实施例主要包括以下步骤:FIG. 4 is a schematic diagram of a real-time synchronization process of debug information according to an embodiment of the present invention. As shown in FIG. 4, this embodiment mainly includes the following steps:
步骤41,使用者对项目代码进行调试操作;Step 41: The user performs a debugging operation on the project code.
步骤42,系统锁定所有其他的在线的使用者的项目代码;Step 42: The system locks the project codes of all other online users;
步骤43,系统响应使用者进行的操作;Step 43, the system responds to operations performed by the user;
步骤44,系统将使用者的操作信息发送给实时行为追踪与同步子系统;Step 44: The system sends the operation information of the user to the real-time behavior tracking and synchronization subsystem;
步骤45,系统接收来自实时行为追踪与同步子系统返回的信息;Step 45: The system receives information returned from the real-time behavior tracking and synchronization subsystem;
步骤46,系统更新所有在线的使用者的调试信息。In step 46, the system updates the debugging information of all online users.
图5为本发明的一个实施例的实时行为追踪与同步过程的示意图。如图5所示,该实施例主要包括以下步骤:FIG. 5 is a schematic diagram of a real-time behavior tracking and synchronization process according to an embodiment of the present invention. As shown in FIG. 5, this embodiment mainly includes the following steps:
步骤51,系统接收到来自其他子系统的信息;Step 51, the system receives information from other subsystems;
步骤52,系统将服务器版本更新为接收到的最新的版本;Step 52, the system updates the server version to the latest version received;
步骤53,系统将服务器同步后的信息发送回给原子系统。In step 53, the system sends the information synchronized by the server back to the atomic system.
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。 The above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to be limiting, and those skilled in the art can make modifications or equivalents to the embodiments of the present invention without departing from the spirit and scope of the present invention. The scope of protection shall be as stated in the claims.

Claims (12)

  1. 一种基于互联网的实时多人计算机程序开发调试系统,其特征在于,包括:An Internet-based real-time multi-person computer program development and debugging system, comprising:
    开发环境实时同步子系统,用于同步编辑器与编译环境相关的设置信息;Development environment real-time synchronization subsystem for synchronizing editor and setup information related to the compilation environment;
    文件与代码实时同步子系统,用于同步文件树结构与代码文本信息;File and code real-time synchronization subsystem for synchronizing file tree structure and code text information;
    调试信息实时同步子系统,用于同步程序的调试信息;Debug information real-time synchronization subsystem for synchronizing debugging information of the program;
    实时行为追踪与同步子系统,用于接收上述三个子系统产生的使用者的行为信息,并将接收到的使用者的行为信息同步到服务器。The real-time behavior tracking and synchronization subsystem is configured to receive behavior information of the user generated by the three subsystems, and synchronize the received behavior information of the user to the server.
  2. 如权利要求1所述的系统,其特征在于,所述开发环境实时同步子系统包括如下模块:The system of claim 1 wherein said development environment real-time synchronization subsystem comprises the following modules:
    编辑器样式设置信息同步模块,供使用者选择一预先设定好的编辑器样式,并对其中的部分样式进行修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统;The editor style setting information synchronization module allows the user to select a preset editor style and modify some of the styles. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking. And synchronization subsystem;
    编辑器功能偏好设置信息同步模块,供使用者对编辑器的功能偏好进行个性化修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统;The editor function preference setting information synchronization module is provided for the user to personally modify the function preference of the editor. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking and synchronization subsystem;
    编译环境设置信息同步模块,供使用者选择一预先设定好的编译环境,并对其中的部分设置进行修改,当使用者保存设置后,将使用者的操作行为信息发送给实时行为追踪与同步子系统。The compiling environment setting information synchronizing module allows the user to select a pre-set compile environment and modify some of the settings. When the user saves the settings, the user's operation behavior information is sent to the real-time behavior tracking and synchronization. Subsystem.
  3. 如权利要求2所述的系统,其特征在于:所述编辑器样式设置信息同步模块对每一名使用者的编辑器样式设置信息单独进行保存,而不同步给所有的使用者;所述编辑器功能偏好设置信息同步模块对每一名使用者的编辑器功能偏好设置信息单独进行保存,而不同步给所有的使用者;所述编译环境设置信息同步模块对所有使用者的编译环境设置信息进行同步,当一个新的使用者加入到项目时,编译环境设置信息同步模块向其发送服务器上的最新版本信息。The system according to claim 2, wherein said editor style setting information synchronization module separately saves editor style setting information for each user without synchronizing to all users; said editing The device function preference information synchronization module separately saves editor function preference information of each user without synchronizing to all users; the compiling environment setting information synchronization module sets information for all users' compilation environment Synchronization, when a new user joins the project, the compile environment setup information synchronization module sends the latest version information on the server to it.
  4. 如权利要求1所述的系统,其特征在于,所述文件与代码实时同步子系统包括如下模块:The system of claim 1 wherein said file and code real time synchronization subsystem comprises the following modules:
    文件目录信息同步模块,接收使用者对文件目录的操作信息,当使用者进行新建文件或目录、修改文件或目录、删除文件或目录后,将使用者的操作行为信息发送给实时行为追踪与同步子系统;The file directory information synchronization module receives the operation information of the user on the file directory, and when the user performs a new file or directory, modifies the file or directory, deletes the file or the directory, sends the user's operation behavior information to the real-time behavior tracking and synchronization. Subsystem
    代码文本信息同步模块,接收使用者对代码文本的操作信息,当使用者进行插入文本、删除文本、修改文本、或者移动文本操作后,将使用者的操作行为信息发送给实时行为追踪与同步子系统; The code text information synchronization module receives the operation information of the user on the code text, and when the user inserts the text, deletes the text, modifies the text, or moves the text operation, sends the user's operation behavior information to the real-time behavior tracking and synchronization. System
    光标行为信息同步模块,接收使用者的光标行为产生的操作信息,将使用者的操作行为信息发送给实时行为追踪与同步子系统。The cursor behavior information synchronization module receives the operation information generated by the user's cursor behavior, and transmits the user's operation behavior information to the real-time behavior tracking and synchronization subsystem.
  5. 如权利要求4所述的系统,其特征在于:所述文件目录信息同步模块通过实时行为追踪与同步子系统获取服务器上保存的使用者的项目文件目录结构,并以目录树的形式为使用者展示;当服务器上保存的信息版本比使用者本地的新时,自动将服务器上保存的版本同步到使用者本地;当使用者对本地的文件目录结构进行改动时,则将使用者的操作信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的信息;当使用者删除一个文件或目录时,如果有其他的在线的使用者正在使用那个文件或目录下的文件,则删除失败,并被告知该文件或目录正在被使用。The system according to claim 4, wherein said file directory information synchronization module obtains a directory structure of a user's project file stored on the server through a real-time behavior tracking and synchronization subsystem, and serves as a user in the form of a directory tree. Show; when the version of the information saved on the server is newer than the user's local, the version saved on the server is automatically synchronized to the user's local; when the user changes the local file directory structure, the user's operation information is displayed. Sent to the real-time behavior tracking and synchronization subsystem, the real-time behavior tracking and synchronization subsystem updates the information stored on the server; when the user deletes a file or directory, if other online users are using that file or directory The file is deleted and failed and is told that the file or directory is being used.
  6. 如权利要求4所述的系统,其特征在于:所述代码文本信息同步模块通过实时行为追踪与同步子系统获取服务器上保存的使用者的项目代码文件内容,并为使用者在文本区域内展示;当服务器上保存的文件版本比使用者本地的新时,自动将服务器上保存的文件版本同步到使用者本地;当使用者对本地的文件内容进行改动时,则将使用者的操作信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的文件版本。The system of claim 4, wherein the code text information synchronization module obtains the content of the user's project code file saved on the server through the real-time behavior tracking and synchronization subsystem, and displays the content in the text area for the user. When the version of the file saved on the server is newer than the local user, the version of the file saved on the server is automatically synchronized to the user local; when the user changes the content of the local file, the operation information of the user is sent. To the real-time behavior tracking and synchronization subsystem, the version of the file saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
  7. 如权利要求6所述的系统,其特征在于:所述代码文本信息同步模块将服务器上的文件版本同步到使用者本地时,当服务器版本的改动内容与使用者本地的改动内容不处于同一位置时,对代码文本信息进行合并,同时保留两方的改动;当服务器版本的改动内容与使用者本地的改动内容处于同一位置时,由使用者手动解决与使用者本地代码文本信息存在的冲突。The system according to claim 6, wherein the code text information synchronization module synchronizes the file version on the server to the user local, when the changed content of the server version is not in the same position as the user local change content. When the code text information is merged, and the changes of the two parties are retained; when the content of the server version is in the same position as the local change content of the user, the user manually resolves the conflict with the text information of the user's local code.
  8. 如权利要求4所述的系统,其特征在于:所述光标行为信息同步模块通过实时行为追踪与同步子系统获取服务器上保存的其他的在线的使用者的光标位置,并为使用者在文本区域内展示;当服务器上保存的其他的在线的使用者的光标位置比使用者本地的新时,自动将服务器上保存的光标位置同步到使用者本地;当使用者对本地的文件内容中的光标位置进行改动时,则将使用者的光标位置信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上保存的光标位置信息。The system according to claim 4, wherein said cursor behavior information synchronization module acquires a cursor position of another online user saved on the server through a real-time behavior tracking and synchronization subsystem, and is in the text area for the user. Internal display; when the cursor position of other online users saved on the server is newer than the user local, the cursor position saved on the server is automatically synchronized to the user local; when the user clicks on the local file content When the location is changed, the user's cursor position information is sent to the real-time behavior tracking and synchronization subsystem, and the cursor position information saved on the server is updated by the real-time behavior tracking and synchronization subsystem.
  9. 如权利要求1所述的系统,其特征在于:所述调试信息实时同步子系统包括调试信息同步模块,该调试信息同步模块通过实时行为追踪与同步子系统获取服务器上保存的调试信息,并为使用者展示;当服务器上保存有其他的在线的使用者的调试信息时,禁止当前用户对当前项目的所有操作行为,并将服务器上保存的调试信息同步到使用者本地;当使用者对本地项目进行调试时,则将使用者的调试信息发送给实时行为追踪与同步子系统,由实时行为追踪与同步子系统更新服务器上的调试信息;当使用者对项目进行调试操作时,其他在线的使 用者被禁止对项目进行任何操作。The system according to claim 1, wherein said debug information real-time synchronization subsystem comprises a debug information synchronization module, and the debug information synchronization module obtains debug information saved on the server through a real-time behavior tracking and synchronization subsystem, and The user displays; when the debugging information of other online users is saved on the server, all current operating behaviors of the current user are prohibited, and the debugging information saved on the server is synchronized to the user local; when the user is local When the project is debugged, the user's debugging information is sent to the real-time behavior tracking and synchronization subsystem, and the real-time behavior tracking and synchronization subsystem updates the debugging information on the server; when the user performs debugging operations on the project, other online Make The user is prohibited from performing any operations on the project.
  10. 如权利要求1所述的系统,其特征在于:所述实时行为追踪与同步子系统包括开发环境追踪和同步模块、文件目录信息追踪和同步模块、代码文本信息追踪和同步模块、光标行为信息追踪和同步模块、调试信息追踪和同步模块。The system of claim 1 wherein said real-time behavior tracking and synchronization subsystem comprises a development environment tracking and synchronization module, a file directory information tracking and synchronization module, a code text information tracking and synchronization module, and cursor behavior information tracking. And synchronization module, debug information tracking and synchronization module.
  11. 一种采用权利要求1所述系统的基于互联网的实时多人计算机程序开发调试方法,其步骤包括:An internet-based real-time multi-person computer program development and debugging method using the system of claim 1 , the steps comprising:
    1)各使用者将开发环境信息由开发环境实时同步子系统发送给实时行为追踪与同步子系统进行同步;1) Each user sends the development environment information from the real-time synchronization subsystem of the development environment to the real-time behavior tracking and synchronization subsystem for synchronization;
    2)各使用者将文件与代码信息由文件与代码实时同步子系统发送给实时行为追踪与同步子系统进行同步;2) Each user sends the file and code information from the file and code real-time synchronization subsystem to the real-time behavior tracking and synchronization subsystem for synchronization;
    3)各使用者将调试信息由调试信息实时同步子系统发送给实时行为追踪与同步子系统进行同步;3) Each user sends the debugging information from the real-time synchronization subsystem of the debugging information to the real-time behavior tracking and synchronization subsystem for synchronization;
    4)实时行为追踪与同步子系统接收来自上述各子系统的信息,在服务器上进行同步,将同步后的信息发送回相应的各个子系统。4) The real-time behavior tracking and synchronization subsystem receives the information from each of the above subsystems, synchronizes on the server, and sends the synchronized information back to the respective subsystems.
  12. 如权利要求11所述的方法,其特征在于,步骤1)中包含如下子步骤:同步编辑器样式设置信息、同步编辑器功能偏好设置信息、同步编译环境设置信息;步骤2)中包含如下子步骤:同步文件目录信息、同步代码文本信息、同步光标行为信息;步骤3)中包含如下子步骤:同步调试信息;步骤4)中包含如下子步骤:将编辑器样式设置信息、编辑器功能偏好设置信息、编译环境设置信息、文件目录信息、代码文本信息、光标行为信息、调试信息同步到服务器。 The method according to claim 11, wherein the step 1) comprises the following sub-steps: synchronization editor style setting information, synchronization editor function preference setting information, and synchronization compilation environment setting information; and step 2) includes the following sub-menu Step: Synchronize file directory information, synchronization code text information, and synchronization cursor behavior information; step 3) includes the following sub-steps: synchronous debugging information; step 4) includes the following sub-steps: setting editor style setting information, editor function preferences The setting information, the compilation environment setting information, the file directory information, the code text information, the cursor behavior information, and the debugging information are synchronized to the server.
PCT/CN2015/083670 2015-06-03 2015-07-09 Internet-based real-time and multiuser computer program development and debugging system and method WO2016192174A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2015102972568 2015-06-03
CN201510297256.8A CN106294112B (en) 2015-06-03 2015-06-03 Real time multi-human computer program exploitation debugging system and method Internet-based

Publications (1)

Publication Number Publication Date
WO2016192174A1 true WO2016192174A1 (en) 2016-12-08

Family

ID=57440028

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/083670 WO2016192174A1 (en) 2015-06-03 2015-07-09 Internet-based real-time and multiuser computer program development and debugging system and method

Country Status (2)

Country Link
CN (1) CN106294112B (en)
WO (1) WO2016192174A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204030B1 (en) 2017-10-09 2019-02-12 International Business Machines Corporation Debug session tree recorder with generic playback

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106951369B (en) * 2017-03-15 2020-11-03 微梦创科网络科技(中国)有限公司 Management method and device for joint debugging test
CN111580786B (en) * 2020-05-06 2021-09-21 厦门理工学院 Internet + -based software engineering development system
US11301244B1 (en) 2020-11-16 2022-04-12 International Business Machines Corporation Machine learning based tracking of derivaitive code
CN112711403B (en) * 2021-01-13 2023-10-27 腾讯科技(深圳)有限公司 Method, device, computer equipment and storage medium for synchronizing game development
CN113971551B (en) * 2021-12-27 2022-04-19 深圳至简天成科技有限公司 Real-time assessment method and system for online interview
CN114531491A (en) * 2021-12-31 2022-05-24 深圳至简天成科技有限公司 Interview evaluation method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387953A (en) * 2007-09-14 2009-03-18 环达电脑(上海)有限公司 Collaboration software development system and method
US20090271708A1 (en) * 2008-04-28 2009-10-29 Mr. Roger Peters Collaboration Software With Real-Time Synchronization
US7949702B2 (en) * 2002-01-09 2011-05-24 International Business Machines Corporation Method and apparatus for synchronizing cookies across multiple client machines
CN103593173A (en) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 Integration development system, integration development method and integration development device for application programs

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727316B (en) * 2008-10-22 2013-01-02 上海超级计算中心 Parallel program integrated development system suitable for clustering system as well as application implementation method thereof
WO2011076972A1 (en) * 2009-12-21 2011-06-30 Nokia Corporation A method, apparatuses and a system for compilation
CN103605556A (en) * 2013-10-23 2014-02-26 中国运载火箭技术研究院 Virtual test subject integrally-constructing system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7949702B2 (en) * 2002-01-09 2011-05-24 International Business Machines Corporation Method and apparatus for synchronizing cookies across multiple client machines
CN101387953A (en) * 2007-09-14 2009-03-18 环达电脑(上海)有限公司 Collaboration software development system and method
US20090271708A1 (en) * 2008-04-28 2009-10-29 Mr. Roger Peters Collaboration Software With Real-Time Synchronization
CN103593173A (en) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 Integration development system, integration development method and integration development device for application programs

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10204030B1 (en) 2017-10-09 2019-02-12 International Business Machines Corporation Debug session tree recorder with generic playback

Also Published As

Publication number Publication date
CN106294112A (en) 2017-01-04
CN106294112B (en) 2019-03-22

Similar Documents

Publication Publication Date Title
WO2016192174A1 (en) Internet-based real-time and multiuser computer program development and debugging system and method
US10678675B2 (en) Assistive, language-agnostic debugging with multi-collaborator control
US9940127B1 (en) System and method for providing real-time execution of source code in a collaborative online software development environment
Leiva et al. Enact: Reducing designer–developer breakdowns when prototyping custom interactions
US8407670B2 (en) Collaborative code conflict detection, notification and resolution
CN103597469A (en) Live browser tooling in an integrated development environment
CN112306481A (en) Code display method, system, device and storage medium for graphical programming scene
Bähr Prototyping of user interfaces for mobile applications
Saini et al. Towards conflict-free collaborative modelling using VS code extensions
CN117875288A (en) Form page generation method and device and electronic equipment
Raab et al. Refactorpad: editing source code on touchscreens
Singh et al. Full Stack Web Development: Vision Challenges and Future Scope
Sinha et al. Visually prototyping perceptual user interfaces through multimodal storyboarding
Husmann Investigating Tool Support for Cross-Device Development
US20180032317A1 (en) Defining a data input user interface
Kainberger Collaborative Editing in Web Applications
US20220342644A1 (en) Branching and merging in a design interface
US20230297208A1 (en) Collaborative widget state synchronization
US20230068410A1 (en) Integrated application platform to implement widgets
Dave et al. Full Stack Web Development
Kulms et al. MultiPro: Prototyping Multimodal UI with Anthropomorphic Agents
Rey Lopez et al. IXCI: The Immersive eXperimenter Control Interface
Vesterli Oracle ADF Enterprise Application Development Made Simple
Ronaldson Working Diary of a Junior Software engineer
Papp The design and implementation of key applications for a live, collaborative online environment

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: 15893830

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15893830

Country of ref document: EP

Kind code of ref document: A1