Multi-person collaborative development method and device, and storage medium

By dividing configuration resources into independent development containers and establishing connections between containers, the problem of insufficient real-time interaction capabilities in multi-person collaborative development is solved, enabling secure and stable collaborative development, reducing communication costs and improving efficiency.

CN116308222BActive Publication Date: 2025-11-18CHINA TELECOM CORP LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111554615.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-17
Publication Date
2025-11-18
Estimated Expiration
2041-12-17

AI Technical Summary

Technical Problem

Existing collaborative development systems lack real-time interactive capabilities, resulting in low collaboration efficiency among developers and posing security risks.

Method used

By dividing configuration resources into multiple independent development containers and establishing connections between these containers, real-time collaborative development is achieved. The development management module is used for permission management and security management, while the real-time interaction module is used for operation synchronization.

Benefits of technology

It has achieved secure and stable real-time interactive development capabilities, reduced communication costs, and significantly improved development efficiency and security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116308222B_ABST
    Figure CN116308222B_ABST
Patent Text Reader

Abstract

The present disclosure provides a multi-person collaborative development method and system, and a storage medium. The multi-person collaborative development method comprises: obtaining a configuration resource, splitting the configuration resource into multiple independent development containers, and establishing a dedicated channel between different development containers by establishing a connection between the independent development containers, thereby realizing collaborative development. The technical scheme of the present disclosure realizes safe and stable real-time interactive development capability, reduces the communication cost between different developers and development teams, and significantly improves the development efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of software development technology, and in particular to a method and apparatus for multi-person collaborative development, and a storage medium. Background Technology

[0002] With the development of China's software industry, more and more people are engaging in development-related work. When multiple developers and development teams collaborate, the efficiency of collaboration among developers becomes a bottleneck in project execution. To address this issue, various software management and video conferencing software such as Gitee, ZenTao, Jfrog, Zoom, and China Telecom Cloud Meeting have emerged. Developers install these software programs on their terminals as needed.

[0003] Currently, there are no collaborative development systems on the market that offer real-time interactive capabilities, making it impossible to effectively reproduce and describe system problems or conduct real-time multi-person collaborative development. Developers must rely on multiple third-party software programs for communication, and due to differences in terminals and software versions, actual collaboration efficiency is significantly reduced. Furthermore, each developer installing their own software introduces security risks, including the leakage of sensitive information and malicious attacks.

[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention

[0005] The purpose of this disclosure is to provide a method, apparatus, and storage medium for multi-user collaborative development, which at least to some extent solves the problem of how to achieve real-time multi-user collaborative development.

[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.

[0007] According to one aspect of this disclosure, a method for collaborative development among multiple users is provided, comprising: obtaining configuration resources; dividing the configuration resources into multiple independent development containers; and achieving collaborative development by establishing connections between the various independent development containers.

[0008] In this embodiment of the disclosure, the step of allocating the configuration resources into multiple independent configuration resources includes: creating the multiple independent development containers based on the team size and the configuration resources, wherein different development containers are configured with different login accounts to configure different permissions.

[0009] In this embodiment of the disclosure, the method further includes: entering the respective development container through the development platform module to receive tasks and perform development.

[0010] In this embodiment of the disclosure, the step of establishing a connection between the respective configuration resources to achieve collaborative development includes: determining whether to conduct collaborative development; if it is determined to conduct collaborative development, the first of the multiple independent development containers initiates a collaborative request to the second; if the second of the multiple independent development containers agrees to conduct collaborative development, a connection is established between the first and second of the multiple independent development containers, and real-time collaborative development is carried out.

[0011] In this embodiment of the disclosure, establishing a connection between the first and second of the plurality of independent development containers and performing real-time collaborative development includes: the first of the plurality of independent development containers synchronizing its operation with the second in real time.

[0012] In this embodiment of the disclosure, establishing a connection between the first and second parties among the plurality of independent development containers and performing real-time collaborative development includes: the second party among the plurality of independent development containers determining whether to synchronize the operations of the first party on it; if so, synchronizing the operations to the second party.

[0013] In this embodiment of the disclosure, establishing a connection and conducting real-time collaborative development between the first and second parties among the plurality of independent development containers includes: the first party among the plurality of independent development containers initiating a cache resource request, wherein the cache resource request includes the number of virtual machines and the specifications of the virtual machines; and the first party among the plurality of independent development containers receiving the cache resources.

[0014] According to one aspect of this disclosure, a multi-user collaborative development system is provided, comprising: a development management module for obtaining configuration resources and dividing the configuration resources into multiple independent development containers; a development platform module for accessing each independent development container through the development platform module; and a real-time interaction module for achieving collaborative development by establishing connections between the independent development containers.

[0015] In this embodiment of the disclosure, the development management module includes at least one of the following: a task management unit for unified task management; a progress tracking unit for progress tracking; a code management unit for code management; a permission management unit for permission management; an environment configuration unit for environment configuration; and a security management unit for security management.

[0016] In this embodiment of the disclosure, the real-time interaction module is further used to establish a connection between the first and second of the plurality of independent development containers and to perform real-time collaborative development.

[0017] In this embodiment of the disclosure, the real-time interaction module is further configured to synchronize the operation of the first of the plurality of independent development containers to the second in real time.

[0018] In this embodiment of the disclosure, the real-time interaction module is further configured to synchronize the operation to the second party when the second party among the plurality of independent development containers determines to synchronize the operation of the first party on it.

[0019] According to one aspect of this disclosure, a multi-user collaborative development system is provided, the apparatus comprising: at least one processor; and at least one memory for storing executable instructions of the processor; wherein the processor is configured to execute the multi-user collaborative development method described above by executing the executable instructions.

[0020] According to one aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the multi-user collaborative development method described in any of the preceding claims.

[0021] In the embodiments of the multi-person collaborative development method, apparatus, and storage medium disclosed herein, collaborative development is achieved by dividing configuration resources into multiple independent development containers and establishing connections between these independent development containers to create dedicated channels between them. The embodiments of this disclosure implement secure and stable real-time interactive development capabilities, reduce communication costs between different developers and development teams, and significantly improve development efficiency.

[0022] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.

[0024] Figure 1 A flowchart illustrating the multi-person collaborative development method in an embodiment of this disclosure is shown.

[0025] Figure 2 This illustration shows another flowchart of the multi-person collaborative development method in an embodiment of this disclosure;

[0026] Figure 3 A schematic diagram of a multi-person collaborative development method in an embodiment of this disclosure is shown;

[0027] Figure 4 This is a schematic diagram of a multi-user collaborative development system according to an embodiment of the present disclosure; and

[0028] Figure 5 This is another schematic diagram of a multi-person collaborative development system according to an embodiment of the present disclosure. Detailed Implementation

[0029] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0030] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

[0031] To enhance collaborative development capabilities among project team members and ensure project security and privacy, this patent proposes a real-time interactive multi-user collaborative development method and system that effectively achieves this goal.

[0032] This disclosure provides a method for collaborative development among multiple users. Figure 1 A flowchart illustrating a multi-user collaborative development method according to an embodiment of this disclosure is shown. Figure 1 As shown, the method includes steps S100 to S102.

[0033] S100, Obtain configuration resources.

[0034] S101. Divide the configuration resources into multiple independent development containers.

[0035] S102. Collaborative development is achieved by establishing connections between various independent development containers.

[0036] For example, each developer has an independent development container, and configuration resources are divided into multiple independent development containers to be allocated to multiple developers. Each developer has their own independent configuration resources to receive tasks and perform development. Developers achieve real-time communication and information synchronization by establishing connections between their respective independent development containers.

[0037] In embodiments of the multi-person collaborative development method disclosed herein, collaborative development is achieved by dividing configuration resources into multiple independent development containers and establishing connections between these independent development containers to create dedicated channels between them. The embodiments of this disclosure implement secure and stable real-time interactive development capabilities, reduce communication costs between different developers and development teams, and significantly improve development efficiency.

[0038] This disclosure provides a method for collaborative development among multiple users. Figure 2 Another flowchart illustrating the multi-person collaborative development method in an embodiment of this disclosure is shown. Figure 2 As shown, the method includes steps S200 and S205.

[0039] S200, Obtain configuration resources.

[0040] Administrators apply for cloud resources based on the existing team size and development needs. The super administrator deploys a complete environment uniformly through the development management module, creating development containers and login accounts based on the number of team members, configuring different permissions for different development containers, and issuing development tasks.

[0041] S201. Create multiple independent development containers based on team size and configured resources. Configure different login accounts for different development containers to set different permissions.

[0042] Developers access their respective development containers through the development platform module, log into the system to receive tasks, and begin development. They can customize and extend their development environments within a unified resource pool and artifact repository.

[0043] S202, Create new tasks and configure code repositories.

[0044] S203. Enter their respective development containers through the development platform module to receive tasks and carry out development.

[0045] Developers access their respective development containers through the development platform module, log into the system to receive tasks, and begin development. They can customize and extend their development environments within a unified resource pool and artifact repository.

[0046] S204. When collaborative development is determined, the first party in multiple independent development containers initiates a collaborative request to the second party. If the second party in multiple independent development containers agrees to conduct collaborative development, a connection is established between the first party and the second party in multiple independent development containers, and real-time collaborative development is carried out.

[0047] For example, different developers need to communicate about the implementation of a certain feature. They first establish a real-time voice connection to confirm whether to enable real-time collaboration mode.

[0048] Collaborative development includes active synchronization and passive synchronization. For example, in active synchronization, the first of multiple independent development containers synchronizes its operations with those of the second in real time. In passive synchronization, the second of multiple independent development containers determines whether to synchronize the first's operations on it; if so, the operations are synchronized to the second.

[0049] When collaboration is required, a collaboration request is initiated using the relevant functions of the real-time interaction module. Once the request is successfully responded to, all parties begin working in collaborative mode.

[0050] S205. The second of multiple independent development containers may selectively synchronize collaborative development operations.

[0051] When collaboration ends, you can choose whether to synchronize the modified content to the collaborating party. If yes, the cached content will be synchronized; otherwise, the cached content of this communication will be cleared and the connection will be closed.

[0052] In embodiments of the multi-person collaborative development method disclosed herein, collaborative development is achieved by dividing configuration resources into multiple independent development containers and establishing connections between these independent development containers to create dedicated channels between them. The embodiments of this disclosure implement secure and stable real-time interactive development capabilities, reduce communication costs between different developers and development teams, and significantly improve development efficiency.

[0053] This disclosure provides a method for collaborative development among multiple users. Figure 3 Another flowchart illustrating the multi-person collaborative development method in an embodiment of this disclosure is shown. Figure 3 As shown, the method includes steps S300 and S306.

[0054] In S300, the first of multiple independent development containers initiates a collaboration request to the second.

[0055] If collaborative development is determined, the first of multiple independent development containers initiates a collaboration request to the second. For example, collaborating container A initiates a collaboration request to the collaborating container B. Collaborating container A and collaborating container B can be any of the multiple independent development containers.

[0056] S301. If a second party in multiple independent development containers agrees to collaborate on development, a connection is established between the first party and the second party in the multiple independent development containers.

[0057] For example, if the collaborating end B agrees to collaborative development, a connection can be established between the collaborating end A and the collaborating end B.

[0058] S302, the first of multiple independent development containers initiates a cache resource request.

[0059] Cache resource requests include the number of virtual machines and their specifications. For example, collaborating device A initiates a cache resource request, specifying the number and specifications of its virtual machines.

[0060] S303, the first of multiple independent development containers receives cache resources allocated by the cache.

[0061] For example, the cache allocates cache resources based on information such as the number and specifications of virtual machines on collaborating end A, and sends the cache resources to collaborating end A, which then receives the cache resources. The cache resources are used to store the interaction information between the two parties.

[0062] S304. Conduct real-time collaborative development.

[0063] In collaborative development, developers can see each other's interfaces in real time and invite others to operate their development environment. For example, in real-time collaborative development between collaborating client A and collaborating client B, collaborating client A can see and operate on collaborating client B's interface in real time.

[0064] S305. Selectively synchronize collaborative development operations.

[0065] For example, the collaborating end B can selectively synchronize the collaborative development operations performed by the collaborating end A on the interface of the collaborating end B, such as synchronizing the cached collaborative development operation content to the collaborating end B, or clearing the cached collaborative development operation content.

[0066] S306, Completed collaboratively.

[0067] In the embodiments of the disclosed multi-person collaborative development method, multiple people can develop projects simultaneously, see each other's interfaces in real time, and invite others to operate their development environments. This reduces communication costs, increases development efficiency, and truly achieves highly efficient collaborative development.

[0068] The multi-user collaborative development method of this disclosure will be described in detail below with reference to embodiments. For example, the entire lifecycle from the super administrator configuring the environment to the collaboration between developers will be explained.

[0069] Step 1: The super administrator (project manager) applies for cloud resources for the startup project, configures the development environment, resource pool, and artifact repository. Commonly used IDEs, query tools, databases, security software, etc., are installed.

[0070] Step 2: The super administrator creates development containers based on team size. Following the principle of one development container per person, each developer is equipped with an independent development container. The super administrator generates multiple platform login accounts and assigns different operating permissions to different accounts.

[0071] Step 3: The administrator creates various tasks, configures code repositories, etc. in the development management module, issues login accounts, and begins the project management process.

[0072] Step 4: Developers access the system using their accounts, receive development tasks, submit code, and provide task information feedback. Simultaneously, developers can extend platform functionality within a unified resource pool and artifact repository based on their specific needs.

[0073] Step 5: During development, different developers need to communicate regarding the implementation of a specific function. Both parties first establish a real-time voice connection to confirm whether to enable real-time collaboration mode. After enabling collaboration mode, Party A (the requesting party) requests cache resources to store the interaction information between the two parties, and Party B (the collaborating party) agrees and establishes a connection. Party A has the right to use Party B's platform and begin collaboration. Upon completion of collaboration, Party B chooses whether to synchronize the operations performed during this collaboration to its own end. If yes, Party B begins synchronizing the cached information; otherwise, the cached information is cleared and the connection is closed.

[0074] Step 6: When a new member joins the project team, the super administrator adds a new development container and repeats steps 2-5. Existing members are not affected.

[0075] Step 7: When project team members change, the super administrator can choose to delete the corresponding development container or initialize all configurations of the development container based on the actual situation.

[0076] The multi-person collaborative development method disclosed in this embodiment provides effective support for remote personnel and teams, solves the problem of communication difficulties in remote work, and truly realizes remote work and working from home.

[0077] This disclosure provides a multi-user collaborative development system. Figure 4 This is a schematic diagram of a multi-user collaborative development system according to at least one embodiment of the present disclosure. Figure 4 As shown, the multi-user collaborative development system 400 includes a development management module 401, a development platform module 402, and a real-time interaction module 403. The development management module 401 is used to obtain configuration resources and divide the configuration resources into multiple independent development containers; the development platform module 402 is used to access each independent development container through the development platform module; and the real-time interaction module 403 is used to achieve collaborative development by establishing connections between each independent development container.

[0078] For example, each developer has an independent development container, and configuration resources are divided into multiple independent development containers to be allocated to multiple developers. Each developer has their own independent configuration resources to receive tasks and perform development. Developers achieve real-time communication and information synchronization by establishing connections between their respective independent development containers.

[0079] In the embodiments of the multi-person collaborative development system disclosed herein, the development management module divides the configuration resources into multiple independent development containers, and the real-time interaction module establishes connections between each independent development container to create dedicated channels between different development containers, thereby achieving collaborative development. The embodiments of this disclosure achieve secure and stable real-time interactive development capabilities, reduce communication costs between different developers and development teams, and significantly improve development efficiency.

[0080] This disclosure provides a multi-user collaborative development system. Figure 5 This is a schematic diagram of a multi-user collaborative development system according to at least one embodiment of the present disclosure. Figure 5 As shown, the multi-user collaborative development system 500 includes a development management module 501, a development platform module 502, and a real-time interaction module 503. The development management module 501 includes at least one of the following: a task management unit, a progress tracking unit, a code management unit, a permission management unit, an environment configuration unit, and a security management unit. The task management unit is used for unified task management; the progress tracking unit is used for progress tracking; the code management unit is used for code management; the permission management unit is used for permission management; the environment configuration unit is used for environment configuration; and the security management unit is used for security management.

[0081] For example, the development management module provides capabilities such as development task management, progress tracking, code management, environment configuration, permission management, and security management. The task management unit provides unified task management capabilities, enabling unified management of development, requirements, design, and testing. The progress tracking unit manages various tasks through a task tree. The code management unit integrates with industry-standard development cloud platforms for code submission, code review, and branch merging. The super administrator has the highest privileges and uses the permission management unit to distribute permissions and domains, assigning system accounts and granting permissions to various personnel. The security management unit provides services to the entire platform and all users through uniformly deployed security tools and policies; developers do not need and have no right to perform additional configuration or modification.

[0082] For example, the development platform module is centrally configured by the administrator, while developers' development environments are isolated through development containers. The administrator centrally configures all environments in the current system through the environment configuration unit. Based on this, developers can customize and extend functionality through a unified resource pool and artifact repository. For instance, there can be multiple development platform modules, and the administrator can access the corresponding development container through each module.

[0083] For example, the real-time interaction module enables real-time communication and information synchronization between different development containers. It is divided into active synchronization and passive synchronization. Under active synchronization, all operations and changes made by the collaborating end A on the collaborating end B are synchronized to the collaborating end B in real time. Under passive synchronization, operations by the collaborating end A on the collaborating end B are synchronized on demand, depending on the choice made by the collaborating end B.

[0084] The multi-user collaborative development system 500 corresponds to the multi-user collaborative development system in the method embodiment. The multi-user collaborative development system 500 can be the multi-user collaborative development system in the method embodiment, or a chip or functional module within the multi-user collaborative development system in the method embodiment. The corresponding unit of the multi-user collaborative development system 500 is used to execute... Figures 1 to 3 The corresponding steps in the method embodiment shown are performed by a multi-person collaborative development system.

[0085] Each of the above units can exist independently, or they can be fully or partially integrated.

[0086] It should be noted that this system enhances project managers' control over projects, such as schedule management, security management, and fault location. Administrators can deploy from a single point and coordinate from multiple points. Furthermore, during recruitment and training, the multi-person collaborative development system disclosed in this embodiment can quickly assess the true development skills of interviewees.

[0087] It should be noted that the firewall, IDE, communication software, database, and other software within the system are all deployed uniformly, which solves the security risks caused by different terminal devices installing software from unknown sources, thereby reducing system risks.

[0088] The multi-user collaborative development system of this disclosure includes a development management module that incorporates multiple capabilities such as development task management, progress tracking, code management, environment configuration, permission management, and security management, and has strong control capabilities.

[0089] It should be noted that this multi-user collaborative development system can perform the above... Figures 1 to 3 The multi-person collaborative development methods shown can be referenced from each other in terms of relevant steps and features. Their technical principles and effects are similar, so they will not be repeated here.

[0090] This disclosure provides at least one embodiment of a multi-user collaborative development system. The multi-user collaborative development system includes a processor and a memory. The memory is used to store executable instructions of the processor. The processor is configured to execute the above-described system by executing the executable instructions. Figures 1 to 3 A multi-person collaborative development method according to any of the embodiments shown.

[0091] It should be understood that the aforementioned processor can be a central processing unit (CPU), but it can also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0092] It is understood that the memory in at least one embodiment of this disclosure may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM), which serves as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDR SDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DR RAM).

[0093] The above embodiments can be implemented, in whole or in part, by software, hardware, firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer program are loaded or executed on a computer, all or part of the flow or function according to at least one embodiment of this disclosure is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center containing one or more sets of available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium. A semiconductor medium can be a solid-state drive.

[0094] At least one embodiment of this disclosure also provides a computer-readable medium for storing computer program code, the computer program including instructions for executing the multi-user collaborative development method of at least one embodiment of this disclosure described above. The readable medium may be a read-only memory (ROM) or a random access memory (RAM), and at least one embodiment of this disclosure does not limit this.

[0095] At least one embodiment of this disclosure also provides a computer program product comprising a computer program / instructions that are executed by a processor as instructions for a multi-user collaborative development method according to at least one embodiment of this disclosure. In some possible implementations, various aspects of the invention can also be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section according to various exemplary embodiments of the invention.

[0096] A program product for implementing the above-described method according to embodiments of the present invention is described. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.

[0097] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0098] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.

[0099] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.

[0100] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0101] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0102] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0103] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.

[0104] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.

Claims

1. A multi-person collaborative development method, characterized in that, include: Obtain configuration resources; The configuration resources are divided into multiple independent development containers; Collaborative development is achieved by establishing connections between the various independent development containers; The collaborative development includes active synchronization and passive synchronization. Active synchronization means that the first of the multiple independent development containers synchronizes its operations with the second in real time. Passive synchronization means that the second of the multiple independent development containers determines whether to synchronize the first's operations on it. If so, the operations are synchronized to the second. The step of dividing the configuration resources into multiple independent development containers includes: creating multiple independent development containers based on the team size and the configuration resources and allocating them to multiple developers, wherein different development containers are configured with different login accounts to configure different permissions, and each developer corresponds to an independent development container; when the team size increases, new development containers are added; when the team size changes, the corresponding development container is deleted or all configurations of the corresponding development container are initialized according to the actual situation.

2. The method according to claim 1, characterized in that, The method further includes: Each developer enters its respective development container through the development platform module to receive tasks and perform development.

3. The method according to claim 2, characterized in that, The collaborative development achieved by establishing connections between the various independent development containers includes: Determine whether to conduct collaborative development; If collaborative development is determined, the first of the multiple independent development containers initiates a collaboration request to the second. If the second of the multiple independent development containers agrees to collaborative development, a connection is established between the first and second of the multiple independent development containers, and real-time collaborative development is carried out.

4. The method according to claim 3, characterized in that, Establishing connections and enabling real-time collaborative development between the first and second parties in the multiple independent development containers includes: The first of the multiple independent development containers initiates a cache resource request, wherein the cache resource request includes the number of virtual machines and the virtual machine specifications; The first of the multiple independent development containers receives the cached resources.

5. A multi-user collaborative development system, characterized in that, include: The development management module is used to obtain configuration resources and divide the configuration resources into multiple independent development containers; A development platform module is used to access various independent development containers. A real-time interaction module is used to enable collaborative development by establishing connections between the various independent development containers; The real-time interaction module is also used to synchronize the operation of the first of the multiple independent development containers to the second in real time. The real-time interaction module is also used to synchronize the operation to the second party when the second party among the multiple independent development containers determines to synchronize the operation of the first party on it. The development management module is further configured to create multiple independent development containers based on team size and the configured resources, and assign them to multiple developers. Different development containers are configured with different login accounts to configure different permissions, and each developer corresponds to an independent development container. When the team size increases, new development containers are added. When the team size changes, the corresponding development container is deleted or all configurations of the corresponding development container are initialized according to the actual situation.

6. The system according to claim 5, characterized in that, The development management module includes at least one of the following: The task management unit is used for unified task management. A progress tracking unit is used for progress tracking. The code management unit is used for code management. The access control unit is used for access control. The environment configuration unit is used for environment configuration. as well as The safety management unit is used for safety management.

7. The system according to claim 6, characterized in that, The real-time interaction module is also used to establish a connection between the first and second of the multiple independent development containers and to conduct real-time collaborative development.

8. A multi-person collaborative development device, characterized in that, The device includes: At least one processor; and At least one memory for storing executable instructions of the processor; The processor is configured to execute the multi-user collaborative development method according to any one of claims 1 to 4 by executing the executable instructions.

9. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instructions are executed by the processor, they implement the multi-person collaborative development method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method and system for realizing multi-person collaborative program development and development server

    CN105824617A