WO2016192174A1 - Développement de programme informatique sur internet en temps réel et multi-utilisateur, et procédé et système de débogage - Google Patents

Développement de programme informatique sur internet en temps réel et multi-utilisateur, et procédé et système de débogage 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
English (en)
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/fr

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

La présente invention concerne un développement de programme informatique sur Internet en temps réel et multi-utilisateur, et un procédé et système de débogage. Le système comprend : un sous-système de synchronisation en temps réel d'environnement de développement, configuré de manière à synchroniser des informations de paramétrage relatives à un éditeur et à un environnement de compilation; un sous-système de synchronisation en temps réel de codes et de fichiers, configuré afin de synchroniser une structure arborescente de fichiers et des informations de texte de code; un sous-système de synchronisation en temps réel d'informations de débogage, configuré de manière à synchroniser des informations de débogage pour un programme; et un sous-système de synchronisation et de suivi de comportement en temps réel, configuré afin de recevoir des informations de comportement d'utilisateur générées par ces trois sous-systèmes, et de synchroniser les informations de comportement d'utilisateur reçues à un serveur. Le système et le procédé peuvent permettre à de multiples programmeurs de compléter de manière synchrone le travail tel que le codage, le débogage, et pratiquer des essais en temps réel sous la condition d'une connexion Internet, et de mettre en œuvre le développement du génie logiciel complet qui combine le travail.
PCT/CN2015/083670 2015-06-03 2015-07-09 Développement de programme informatique sur internet en temps réel et multi-utilisateur, et procédé et système de débogage WO2016192174A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2015102972568 2015-06-03
CN201510297256.8A CN106294112B (zh) 2015-06-03 2015-06-03 基于互联网的实时多人计算机程序开发调试系统与方法

Publications (1)

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

Family

ID=57440028

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/083670 WO2016192174A1 (fr) 2015-06-03 2015-07-09 Développement de programme informatique sur internet en temps réel et multi-utilisateur, et procédé et système de débogage

Country Status (2)

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

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 (zh) * 2017-03-15 2020-11-03 微梦创科网络科技(中国)有限公司 一种联调测试的管理方法及装置
CN111580786B (zh) * 2020-05-06 2021-09-21 厦门理工学院 基于互联网+的软件工程开发系统
US11301244B1 (en) 2020-11-16 2022-04-12 International Business Machines Corporation Machine learning based tracking of derivaitive code
CN112711403B (zh) * 2021-01-13 2023-10-27 腾讯科技(深圳)有限公司 游戏开发同步的方法、装置、计算机设备和存储介质
CN113971551B (zh) * 2021-12-27 2022-04-19 深圳至简天成科技有限公司 一种在线面试的实时评估方法及系统
CN114531491A (zh) * 2021-12-31 2022-05-24 深圳至简天成科技有限公司 一种面试评估方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387953A (zh) * 2007-09-14 2009-03-18 环达电脑(上海)有限公司 协同软件开发系统及方法
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 (zh) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 一种应用程序的一体化开发系统、方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727316B (zh) * 2008-10-22 2013-01-02 上海超级计算中心 适于集群系统的并行程序集成开发系统及其应用实现方法
WO2011076972A1 (fr) * 2009-12-21 2011-06-30 Nokia Corporation Procédé, appareils et système de compilation
CN103605556A (zh) * 2013-10-23 2014-02-26 中国运载火箭技术研究院 虚拟试验对象一体化构建系统及方法

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 (zh) * 2007-09-14 2009-03-18 环达电脑(上海)有限公司 协同软件开发系统及方法
US20090271708A1 (en) * 2008-04-28 2009-10-29 Mr. Roger Peters Collaboration Software With Real-Time Synchronization
CN103593173A (zh) * 2012-10-29 2014-02-19 百度在线网络技术(北京)有限公司 一种应用程序的一体化开发系统、方法及装置

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 (zh) 2017-01-04
CN106294112B (zh) 2019-03-22

Similar Documents

Publication Publication Date Title
WO2016192174A1 (fr) Développement de programme informatique sur internet en temps réel et multi-utilisateur, et procédé et système de débogage
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 (zh) 集成开发环境中的实况浏览器工具
CN112306481A (zh) 图形化编程场景的代码展示方法、系统、装置及存储介质
Bähr Prototyping of user interfaces for mobile applications
Saini et al. Towards conflict-free collaborative modelling using VS code extensions
CN117875288A (zh) 一种表单页面生成方法、装置及电子设备
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