Method and device for realizing multi-place joint test of project, storage medium and server

By deploying a VPN server on a public cloud server to create isolated project groups with unique IP addresses, the method addresses the challenge of high network security requirements, enabling efficient remote joint testing and debugging across multiple sites.

CN119226150APending Publication Date: 2024-12-31XINAO SHUNENG TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411193121.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-28
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The high network security requirements of customer sites prevent direct placement of internal systems on public networks, necessitating on-site joint debugging and testing, which increases project costs and reduces efficiency.

Method used

Deploy a VPN server virtual private network on a public cloud server to create a virtual private network communication among clients and local ends, group projects based on test requirements, and allocate unique IP addresses to form isolated project test groups for multi-site joint testing.

Benefits of technology

Enables remote multi-site joint debugging and testing, reducing project costs and improving efficiency by ensuring network security and facilitating synchronized access and file transmission across distributed locations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119226150A_ABST
    Figure CN119226150A_ABST
Patent Text Reader

Abstract

The invention relates to a method and a device for realizing a multi-place joint test of a project, a storage medium and a server. The method for realizing the multi-place joint test of the project comprises the following steps: performing VPN server virtual private network deployment on a public cloud server to form virtual private network communication including a client, a local end and a VPN server side; the method comprises the following steps: performing project test grouping on a plurality of projects according to project test requirements through a VPN server, and performing ip address allocation on a client and a local end in each project test group; and based on a VPN server virtual private network, network access is performed on the clients in the target project test group at a local end according to the client ip in the target project test group, and the to-be-tested file is transmitted to the clients in the target project test group for multi-place joint test. Therefore, the multi-place joint debugging test of the client project can be remotely carried out by the local end through the virtual private network communication according to the project groups.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of integrated energy systems, and in particular to a method for implementing multi-site joint testing of a project, a test system for implementing multi-site joint testing of a project, a device for implementing multi-site joint testing of a project, a storage medium and a server. Background Art

[0002] During the project implementation process, employees in different locations need to quickly iterate, debug, and test the projects deployed at the customer site. However, due to the particularity of the customer group, the network security requirements are high, and the internal system cannot be directly placed on the public network, resulting in the need to go to the customer site for joint debugging, testing, and iteration according to the conventional process, which will cause the project cost to rise sharply and the work efficiency to be low. Summary of the invention

[0003] In view of this, the embodiments of the present disclosure are intended to provide a method for implementing multi-site joint testing of a project, a test system for implementing multi-site joint testing of a project, an apparatus, a storage medium, and a server for implementing multi-site joint testing of a project.

[0004] The technical solution of the present disclosure is achieved as follows:

[0005] In a first aspect, the present disclosure provides a method for implementing multi-site joint testing of a project.

[0006] The method for implementing multi-site joint testing of a project provided by an embodiment of the present disclosure includes:

[0007] Deploy a VPN server virtual private network on a public cloud server to form a virtual private network communication including the client, local end, and VPN server end;

[0008] Through the VPN server, multiple projects are grouped according to project test requirements, and IP addresses are allocated to clients and local terminals in each project test group; wherein a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different;

[0009] Based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing.

[0010] In some embodiments, the VPN server divides multiple projects into project test groups according to project test requirements, and allocates IP addresses to clients and local terminals in each project test group, including:

[0011] Through the VPN server, the client and the local end in the same project test group are allocated IP addresses with the same first segment IP address, the same second segment IP address and the same third segment IP address.

[0012] In some embodiments, the transmitting the to-be-tested file to the client in the target project test group for multi-site joint testing includes:

[0013] Through the pipeline management tool Jenkins deployed locally, code packaging, image synthesis, local image storage, remote image comparison and transmission, and triggering the remote k8s API interface for rolling release operations are completed with one click to complete the update and iteration of this code;

[0014] After completing the update iteration of this code, run the image file to complete the test verification.

[0015] In some embodiments, based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing, including:

[0016] If there are multiple local terminals in the target project test group, based on the VPN server virtual private network, multiple local terminals perform synchronous network access to the clients in the target project test group according to the client IP in the target project test group, and transmit the files to be tested to the clients in the target project test group to perform multi-site joint testing.

[0017] In some embodiments, it includes: configuring a scheduled task on the local side, regularly performing client status judgment and self-recovery actions, and solving the problem of client unavailability caused by abnormal software shutdown or one-way access to the public network interruption.

[0018] In a second aspect, the present disclosure provides a testing system for implementing multi-site joint testing of a project, including:

[0019] Public cloud servers are deployed with VPN server virtual private networks;

[0020] Local side, including local terminals distributed in different locations;

[0021] Client; wherein the local end and the client establish a virtual private network communication under the support of the VPN server virtual private network of the public cloud server; wherein,

[0022] According to the project test requirements, the VPN server divides multiple projects into project test groups, and allocates IP addresses to the clients and local terminals in each project test group, so that the local terminal can access the client in the target project test group according to the client IP in the target project test group, and transmit the file to be tested to the client in the target project test group to perform multi-location joint testing; wherein, one project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different.

[0023] In some embodiments, the local end includes a Harbor privatized warehouse, a Jenkins pipeline management tool, and a Docker image container; wherein the Harbor privatized warehouse is deployed on the local end and the client end, and is used for storing the local image of the code and the image storage of the remote client;

[0024] The Jenkins pipeline management tool is used to complete code packaging, image synthesis, local image storage, remote image comparison and transmission, and trigger the remote k8s API interface to perform rolling release operations with one click, and the completed code is a new iteration;

[0025] The Docker image container is used to achieve distribution and reuse of images through layers.

[0026] In a third aspect, the present disclosure provides a device for implementing multi-site joint testing of a project, comprising:

[0027] The network deployment module is used to deploy the VPN server virtual private network on the public cloud server to form a virtual private network communication including the client, the local end, and the VPN server service end;

[0028] The address allocation module is used to group multiple projects into project test groups according to project test requirements through the VPN server, and allocate IP addresses to the clients and local terminals in each project test group; wherein a project group may include clients and local terminals distributed in different locations, and the IP addresses of the terminals in different project groups are different;

[0029] The joint test module is used to perform network access to the client in the target project test group according to the client IP in the target project test group based on the VPN server virtual private network, and transmit the file to be tested to the client in the target project test group for multi-site joint testing.

[0030] In a fourth aspect, the present disclosure provides a computer-readable storage medium storing a program for implementing multi-site joint testing of a project. When the program for implementing multi-site joint testing of a project is executed by a processor, the method for implementing multi-site joint testing of a project described in the first aspect is implemented.

[0031] In a fifth aspect, the present disclosure provides a server, comprising a memory, a processor, and a program for implementing multi-location joint testing of a project, which is stored in the memory and can be run on the processor. When the processor executes the program for implementing multi-location joint testing of a project, the method for implementing multi-location joint testing of a project described in the first aspect above is implemented.

[0032] The method for implementing multi-site joint testing of projects according to an embodiment of the present disclosure includes deploying a VPN server virtual private network on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server service end; through the VPN server service end, multiple projects are grouped for project testing according to project testing needs, and IP addresses are allocated to clients and local terminals in each project test group; wherein, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different; based on the VPN server virtual private network, network access is performed on the client in the target project test group according to the client IP in the target project test group at the local end, and the file to be tested is transmitted to the client in the target project test group for multi-site joint testing. In the present application, a VPN server virtual private network is deployed on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server. Through the VPN server, multiple projects are grouped according to project test needs, and IP addresses are allocated to the clients and local terminals in each project test group. Among them, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different. When performing multi-site joint debugging tests, network access is performed on the clients in the target project test group through the client IP in the target project test group, and the files to be tested are transmitted to the clients in the target project test group for multi-site joint testing, which is conducive to realizing that the local terminal remotely performs multi-site joint debugging tests on client projects according to project groups through virtual private network communications.

[0033] Additional aspects and advantages of the present disclosure will be given in part in the following description and in part will be obvious from the following description or learned through practice of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1is a flow chart of a method for implementing multi-site joint testing of a project according to an exemplary embodiment;

[0035] Figure 2 is a schematic diagram of a test system structure for implementing multi-site joint testing of a project according to an exemplary embodiment;

[0036] Figure 3 The figure is a schematic diagram of the structure of a device for implementing multi-site joint testing of a project according to an exemplary embodiment. DETAILED DESCRIPTION

[0037] Embodiments of the present disclosure are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present disclosure, and should not be construed as limiting the present disclosure.

[0038] During the project implementation process, employees in different locations need to quickly iterate, debug, and test the projects deployed at the customer site. However, due to the particularity of the customer group, the network security requirements are high, and the internal system cannot be directly placed on the public network, resulting in the need to go to the customer site for joint debugging, testing, and iteration according to the conventional process, which will cause the project cost to rise sharply and the work efficiency to be low.

[0039] In view of the above situation, the present disclosure provides a method for implementing multi-site joint testing of a project. Figure 1 FIG. 1 is a flow chart of a method for implementing a multi-site joint test of a project according to an exemplary embodiment. Figure 1 As shown, the method for implementing multi-site joint testing of the project includes:

[0040] Step 10: Deploy a VPN server virtual private network on the public cloud server to form a virtual private network communication including the client, the local end, and the VPN server;

[0041] Step 11: The VPN server is used to group multiple projects into project test groups according to project test requirements, and allocate IP addresses to clients and local terminals in each project test group; wherein one project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different;

[0042] Step 12: Based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing.

[0043] In this exemplary embodiment, when deploying a VPN server virtual private network on a public cloud server, groups can be created on the server side according to different projects, and user accounts and passwords can be registered. Among them, the virtual private network communication including the client, local end, and VPN server service end includes establishing a one-way communication between the client, local end, and VPN server service end. That is, the local end and the client can access the VPN server service end. The VPN server service end cannot access the local end and the client, thereby protecting the local end and client information.

[0044] In this exemplary embodiment, tools such as harbor, git, and jenkins are deployed on a server in the company's intranet that has one-way access to the public network, and the deployment and configuration of a one-key automated release pipeline tool are completed in combination with self-developed code.

[0045] In this exemplary embodiment, when testing or developing for the first time, you need to install the VPN client, configure the VPN account and VPN server information, and then log in. At this time, you will get an intranet IP address configured by the VPN server. When you use it later, you only need to open the client endpoint connection. At this time, the office location of testing and development can be any place in the country that has access to the public network.

[0046] The method for implementing multi-site joint testing of projects according to an embodiment of the present disclosure includes deploying a VPN server virtual private network on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server service end; through the VPN server service end, multiple projects are grouped for project testing according to project testing needs, and IP addresses are allocated to clients and local terminals in each project test group; wherein, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different; based on the VPN server virtual private network, network access is performed on the client in the target project test group according to the client IP in the target project test group at the local end, and the file to be tested is transmitted to the client in the target project test group for multi-site joint testing. In the present application, a VPN server virtual private network is deployed on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server. Through the VPN server, multiple projects are grouped according to project test needs, and IP addresses are allocated to the clients and local terminals in each project test group. Among them, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different. When performing multi-site joint debugging tests, network access is performed on the clients in the target project test group through the client IP in the target project test group, and the files to be tested are transmitted to the clients in the target project test group for multi-site joint testing, which is conducive to realizing that the local terminal remotely performs multi-site joint debugging tests on client projects according to project groups through virtual private network communications.

[0047] In some embodiments, the VPN server divides multiple projects into project test groups according to project test requirements, and allocates IP addresses to clients and local terminals in each project test group, including:

[0048] Through the VPN server, the client and the local end in the same project test group are allocated IP addresses with the same first segment IP address, the same second segment IP address and the same third segment IP address.

[0049] In this exemplary embodiment, when performing project grouping, one project group corresponds to a group of IPs, and the group IPs of different project groups are different. For example, the group IPs corresponding to project group A include 192.168.1.2 to 192.168.1.254; the group IPs corresponding to project group B include 192.168.2.2 to 192.168.2.254; the group IPs corresponding to project group C include 192.168.3.2 to 192.168.3.254, and so on. Among them, 192 in IP192.168.1.2 can be understood as the first segment IP address, 168 can be understood as the second segment IP address, 1 can be understood as the third segment IP address, and 2 can be understood as the fourth segment IP address.

[0050] In some embodiments, the transmitting the to-be-tested file to the client in the target project test group for multi-site joint testing includes:

[0051] Through the pipeline management tool Jenkins deployed locally, code packaging, image synthesis, local image storage, remote image comparison and transmission, and triggering the remote k8s API interface for rolling release operations are completed with one click to complete the update and iteration of this code;

[0052] After completing the update iteration of this code, run the image file to complete the test verification.

[0053] In this exemplary embodiment,

[0054] Taking the working principle of VPN as the practical basis for network connectivity, and the working principle of the container (docker) layer as the software management basis for rapid cross-network iteration, it combines open source VPN software SoftEtherVPN, jenkins, docker, harbor, etc., and combines project customized self-developed code to achieve overall linkage work.

[0055] The client-server side allows one-way access to the public network, so that the client and the local office network can form a virtual LAN for joint debugging and testing iteration. In the virtual LAN, clients of different projects are isolated using different workgroups. Under the premise of ensuring the safety of customers, this can solve the problem of joint debugging and testing in multiple locations and reduce the implementation cost of the project.

[0056] In this exemplary embodiment, the jenkins tool has good plug-in capabilities and pipeline processing capabilities, and can complete code packaging, image synthesis, local image storage, remote image comparison and transmission, trigger the remote k8s API interface for rolling release, etc. with one click, thereby completing the update and iteration of this code.

[0057] In this exemplary embodiment, testing or development can use the intranet IP address of the client-side server to access the web system for testing, verification or joint debugging.

[0058] In some embodiments, based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing, including:

[0059] If there are multiple local terminals in the target project test group, based on the VPN server virtual private network, multiple local terminals perform synchronous network access to the clients in the target project test group according to the client IP in the target project test group, and transmit the files to be tested to the clients in the target project test group to perform multi-site joint testing.

[0060] In this exemplary embodiment, if there are multiple local terminals in the target project test group, the local terminals in the target project test group can be assigned IP addresses within the group. For example, the local terminals in the target project test group include a terminal at location A, a terminal at location B, and a terminal at location C. The terminal at location A is assigned an IP address of 192.168.1.2, the terminal at location B is assigned an IP address of 192.168.1.3, and the terminal at location C is assigned an IP address of 192.168.1.4; the client is assigned an IP address of 192.168.1.5, and so on. Among them, the terminal at location A, the terminal at location B, and the terminal at location C can all perform synchronous network access to the client at different locations in the target project test group, and transmit the files to be tested to the client at the target project test group for multi-location joint testing.

[0061] In some embodiments, it includes: configuring a scheduled task on the local side, regularly performing client status judgment and self-recovery actions, and solving the problem of client unavailability caused by abnormal software shutdown or one-way access to the public network interruption.

[0062] In this exemplary embodiment, the operation and maintenance management terminal can also configure a VPN account and a VPN server to connect and log in. At this time, the operation and maintenance management terminal will obtain an intranet IP address configured by the VPN server. This IP will be the entry IP for subsequent testing and development to access the client-side web system. This IP address will be synchronized to testing and development. Because the operation and maintenance management terminal server is a Linux system, when configuring the client, the operation and maintenance will also configure a scheduled task to ensure that the server system can automatically restore the VPN connection when it is restarted or the VPN client is abnormal.

[0063] The present disclosure provides a testing system for implementing multi-site joint testing of a project. Figure 2 FIG. 1 is a schematic diagram of a test system structure for implementing multi-site joint testing of a project according to an exemplary embodiment. Figure 2 As shown in the figure, the test system for realizing multi-site joint testing of the project includes:

[0064] Public cloud servers are deployed with VPN server virtual private networks;

[0065] Local side, including local terminals distributed in different locations;

[0066] Client; wherein the local end and the client establish a virtual private network communication under the support of the VPN server virtual private network of the public cloud server; wherein,

[0067] According to the project test requirements, the VPN server divides multiple projects into project test groups, and allocates IP addresses to the clients and local terminals in each project test group, so that the local terminal can access the client in the target project test group according to the client IP in the target project test group, and transmit the file to be tested to the client in the target project test group to perform multi-location joint testing; wherein, one project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different.

[0068] In this exemplary embodiment, Figure 2 As shown, the public cloud server is deployed with VPN server 04. The local end may include workstation terminal 01 at location A, workstation terminal 02 at location B, and workstation terminal 03 at location C. Also connected to the public cloud server are client terminal 05 and operation and maintenance management terminal 06. When deploying the VPN server virtual private network on the public cloud server, groups can be created on the server side according to different projects, and user accounts and passwords can be registered. Among them, the virtual private network communication including the client, local end, and VPN server service end includes establishing one-way communication between the client, local end, and VPN server service end. That is, the local end and the client can access the VPN server service end. The VPN server service end cannot access the local end and the client, thereby protecting the information of the local end and the client.

[0069] In this exemplary embodiment, tools such as harbor, git, and jenkins are deployed on a server in the company's intranet that has one-way access to the public network, and the deployment and configuration of a one-key automated release pipeline tool are completed in combination with self-developed code.

[0070] In this exemplary embodiment, when testing or developing for the first time, you need to install the VPN client, configure the VPN account and VPN server information, and then log in. At this time, you will get an intranet IP address configured by the VPN server. When you use it later, you only need to open the client endpoint connection. At this time, the office location of testing and development can be any place in the country that has access to the public network.

[0071] According to an embodiment of the present disclosure, a test system for implementing multi-site joint testing of projects includes: a public cloud server, which is deployed with a VPN server virtual private network; a local end, including local terminals distributed in different locations; a client; wherein the local end and the client establish a virtual private network communication under the support of the VPN server virtual private network of the public cloud server; wherein, according to the project test needs, the VPN server service end groups multiple projects into project test groups, and allocates IP addresses to the clients and local ends in each project test group, so that the local end can perform network access to the clients in the target project test group according to the client IP in the target project test group, and transmit the files to be tested to the clients in the target project test group for multi-site joint testing; wherein a project group can include clients and local ends distributed in different locations, and the IP addresses of the terminals in different project groups are different, so as to facilitate the local end to remotely perform multi-site joint debugging tests of client projects according to the project group through virtual private network communication.

[0072] In some embodiments, the local end includes a Harbor privatized warehouse, a Jenkins pipeline management tool, and a Docker image container; wherein the Harbor privatized warehouse is deployed on the local end and the client end, and is used for storing the local image of the code and the image storage of the remote client;

[0073] The Jenkins pipeline management tool is used to complete code packaging, image synthesis, local image storage, remote image comparison and transmission, and trigger the remote k8s API interface to perform rolling release operations with one click, and the completed code is a new iteration;

[0074] The Docker image container is used to achieve distribution and reuse of images through layers.

[0075] In this exemplary embodiment, the test system for implementing multi-site joint testing of projects can be composed of a public network server, open source VPN software (SoftEther VPN), self-developed code, and work terminals. Multi-site networking and multi-project isolation security functions are implemented in the solution.

[0076] In this exemplary embodiment, the public network server can be a virtual cloud host with an independent public network IP configured in any public cloud. SoftEther VPN software is deployed in its system to form a VPN server service, providing network and networking conditions for the client side to form a virtual local area network with office networks in multiple locations.

[0077] The open source VPN software SoftEther VPN uses its group, account, IP, DHCP, VPN and other capabilities; it uses groups to isolate users of different projects, and combines the DHCP service that automatically allocates IP addresses specified by different groups to configure different IPs to ensure that the networks between projects are not connected, so as to achieve the purpose of network security isolation. After connecting to the VPN, users in the same group will obtain an IP address of a specified network segment, forming a virtual LAN to integrate colleagues distributed in various places and the user-side web server into an internal network to achieve the purpose of intercommunication. At the same time, the expiration time policy can be specified for the IPs configured in DHCP, and the IPs assigned to the server by DHCP can be specified for an extended period of time, so as to achieve the purpose of keeping the IP address unchanged during the implementation of the server IP.

[0078] In this exemplary embodiment, the web system of the project is all running on a Linux server. For this, a VPN client can be deployed on the web server so that R&D and testing personnel in various places can access the web service through a virtual LAN. However, the current Linux version of SoftEther VPN client is not user-friendly. When the server suggests a connection, you need to manually start the service, configure the connection information, suggest a connection, configure the routing relationship, and delete the automatically generated redundant routes. When the server is restarted or the SoftEther VPN client software is restarted abnormally, the remote user will completely lose contact with the server.

[0079] At this time, the self-developed iterative pipeline module can be used to make up for the above problems of the SoftEther VPN client. First, configure the long-term valid account information in the SoftEther VPN client, and then use the python code to enable the SoftEther VPN client to actively start the software when the operating system restarts, and enter the command line to simulate interaction, select local configuration information, select a group, trigger a connection, exit interaction, and finally establish a reasonable route, delete redundant default routes, etc.

[0080] The iterative pipeline module can also configure scheduled tasks to periodically judge the status of the VPN client software and perform self-recovery actions, solving the problem of VPN client unavailability caused by abnormal software shutdown or one-way access to the public network interruption, making the Linux VPN client controllable and eliminating the situation where abnormalities prevent connection.

[0081] The core components of the iterative pipeline module are composed of harbor, jenkins, docker, and self-developed code: it realizes code packaging, image creation, reduces data transmission, fast iteration, and rolling release functions.

[0082] 1) Harbor: an open source private Docker image storage repository, deployed on local servers and remote client servers, used for storing local code images and remote client images;

[0083] 2) Jenkins is an open source pipeline management tool. It is used in combination with self-developed shell scripts to complete code extraction, package into jar packages, and combine with the basic image of the operating system in the local docker to form a new complete image that is first stored in the local harbor warehouse and then pushed to the client-side remote image warehouse harbor. After the image is entered into the remote warehouse, it triggers the Kubernetes API interface script to realize automatic image update and application rolling release (where rolling release refers to using the Kubernetes scheduling strategy to pull up a certain number of application instances in a certain proportion, and then replace the online application instances with the same proportion as the offline ones after they are available. The whole process is relatively smooth). The whole process can realize user-unconscious release and achieve rapid iteration at any time. It forms a one-stop automated operation of code packaging, transmission, warehouse upload, and release.

[0084] 3) Docker is the basic environment for running images. It has two main functions in this application: one is to run image containers; the other is to use its container layer principle; among them,

[0085] Layer principle: Docker layer is the basic component of Docker image. It is generated when building Docker image, and each layer is a snapshot of the changes of the previous layer. Docker uses layers to achieve image distribution and reuse, which is the key to Docker's high efficiency. Every time you modify the instructions in Dockerfile, Docker will create a new layer; using this feature to solve the problem of generating a new complete image when publishing new code locally, this image often contains the operating system of the java runtime environment. Most of the images generated by this package exceed 600M. At this time, it will take a long time to transfer them to the remote client side, which directly affects the release efficiency. The docker layer can perfectly solve this problem. Harbor is deployed on both the local and remote client sides. For this, only when the image is transferred to the harbor library remotely for the first time, if there is no image with the same name in the warehouse, the complete image needs to be transferred. Then, during the second transmission, the images on both sides can be compared to obtain the same and different layers. At this time, only the content of the different layers is needed. Generally, the release only needs to transfer the newly generated jar package layer. In this way, the transmitted package can be reduced from hundreds of megabytes to tens of megabytes, the transmission efficiency is significantly improved, and the bandwidth requirements and bandwidth occupancy of the client and local network are also reduced.

[0086] 4) Self-developed code: This part of the self-developed code uses shell combined with operating system commands, container commands, and commands of kubernetes-related API interfaces; it mainly completes functions such as code packaging, synthetic images, image storage, transmission, and application rolling release in kubernetes.

[0087] The present disclosure provides a device for implementing multi-site joint testing of a project. Figure 3 FIG. 1 is a schematic diagram of a device structure for implementing a multi-site joint test of a project according to an exemplary embodiment. Figure 3 As shown, the device for realizing multi-site joint testing of the project includes:

[0088] The network deployment module 30 is used to deploy a VPN server virtual private network on a public cloud server to form a virtual private network communication including a client, a local end, and a VPN server service end;

[0089] The address allocation module 31 is used to group multiple projects into project test groups according to project test requirements through the VPN server, and allocate IP addresses to the clients and local terminals in each project test group; wherein a project group may include clients and local terminals distributed in different locations, and the IP addresses of the terminals in different project groups are different;

[0090] The joint test module 32 is used to perform network access to the client in the target project test group according to the client IP in the target project test group based on the VPN server virtual private network, and transmit the file to be tested to the client in the target project test group for multi-site joint testing.

[0091] In this exemplary embodiment, when deploying a VPN server virtual private network on a public cloud server, groups can be created on the server side according to different projects, and user accounts and passwords can be registered. Among them, the virtual private network communication including the client, local end, and VPN server service end includes establishing a one-way communication between the client, local end, and VPN server service end. That is, the local end and the client can access the VPN server service end. The VPN server service end cannot access the local end and the client, thereby protecting the local end and client information.

[0092] In this exemplary embodiment, tools such as harbor, git, and jenkins are deployed on a server in the company's intranet that has one-way access to the public network, and the deployment and configuration of a one-key automated release pipeline tool are completed in combination with self-developed code.

[0093] In this exemplary embodiment, when testing or developing for the first time, you need to install the VPN client, configure the VPN account and VPN server information, and then log in. At this time, you will get an intranet IP address configured by the VPN server. When you use it later, you only need to open the client endpoint connection. At this time, the office location of testing and development can be any place in the country that has access to the public network.

[0094] According to the device for realizing multi-site joint testing of projects in accordance with the embodiment of the present disclosure, it is used to deploy a VPN server virtual private network on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server service end; through the VPN server service end, multiple projects are grouped for project testing according to project testing needs, and IP addresses are allocated to the clients and local terminals in each project test group; wherein, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different; based on the VPN server virtual private network, network access is performed on the client in the target project test group according to the client IP in the target project test group at the local terminal, and the file to be tested is transmitted to the client in the target project test group for multi-site joint testing. In the present application, a VPN server virtual private network is deployed on a public cloud server to form a virtual private network communication including a client, a local terminal, and a VPN server. Through the VPN server, multiple projects are grouped according to project test needs, and IP addresses are allocated to the clients and local terminals in each project test group. Among them, a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different. When performing multi-site joint debugging tests, network access is performed on the clients in the target project test group through the client IP in the target project test group, and the files to be tested are transmitted to the clients in the target project test group for multi-site joint testing, which is conducive to realizing that the local terminal remotely performs multi-site joint debugging tests on client projects according to project groups through virtual private network communications.

[0095] In some embodiments, the address allocation module is used to

[0096] Through the VPN server, the client and the local end in the same project test group are allocated IP addresses with the same first segment IP address, the same second segment IP address and the same third segment IP address.

[0097] In this exemplary embodiment, when performing project grouping, one project grouping corresponds to a group of IPs, and the grouping IPs of different project groups are different. For example, the grouping IPs corresponding to project grouping A include 192.168.1.2 to 192.168.1.254254; the grouping IPs corresponding to project grouping B include 192.168.2.2 to 192.168.2.254; the grouping IPs corresponding to project grouping C include 192.168.3.2 to 192.168.3.254, and so on. Among them, 192 in IP192.168.1.2 can be understood as the first segment IP address, 168 can be understood as the second segment IP address, 1 can be understood as the third segment IP address, and 2 can be understood as the fourth segment IP address.

[0098] In some embodiments, the joint testing module is used to

[0099] Through the pipeline management tool Jenkins deployed locally, code packaging, image synthesis, local image storage, remote image comparison and transmission, and triggering the remote k8s API interface for rolling release operations are completed with one click to complete the update and iteration of this code;

[0100] After completing the update iteration of this code, run the image file to complete the test verification.

[0101] In this exemplary embodiment,

[0102] Taking the working principle of VPN as the practical basis for network connectivity, and the working principle of the container (docker) layer as the software management basis for rapid cross-network iteration, it combines open source VPN software SoftEtherVPN, jenkins, docker, harbor, etc., and combines project customized self-developed code to achieve overall linkage work.

[0103] The client-server side allows one-way access to the public network, so that the client and the local office network can form a virtual LAN for joint debugging and testing iteration. In the virtual LAN, clients of different projects are isolated using different workgroups. Under the premise of ensuring the safety of customers, this can solve the problem of joint debugging and testing in multiple locations and reduce the implementation cost of the project.

[0104] In this exemplary embodiment, the jenkins tool has good plug-in capabilities and pipeline processing capabilities, and can complete code packaging, image synthesis, local image storage, remote image comparison and transmission, trigger the remote k8s API interface for rolling release, etc. with one click, thereby completing the update and iteration of this code.

[0105] In this exemplary embodiment, testing or development can use the intranet IP address of the client-side server to access the web system for testing, verification or joint debugging.

[0106] In some embodiments, the joint testing module is used to

[0107] If there are multiple local terminals in the target project test group, based on the VPN server virtual private network, multiple local terminals perform synchronous network access to the clients in the target project test group according to the client IP in the target project test group, and transmit the files to be tested to the clients in the target project test group to perform multi-site joint testing.

[0108] In this exemplary embodiment, if there are multiple local terminals in the target project test group, the local terminals in the target project test group can be assigned IP addresses within the group. For example, the local terminals in the target project test group include a terminal at location A, a terminal at location B, and a terminal at location C. The terminal at location A is assigned an IP address of 192.168.1.2, the terminal at location B is assigned an IP address of 192.168.1.3, and the terminal at location C is assigned an IP address of 192.168.1.4; the client is assigned an IP address of 192.168.1.5, and so on. Among them, the terminal at location A, the terminal at location B, and the terminal at location C can all perform synchronous network access to the client at different locations in the target project test group, and transmit the files to be tested to the client at the target project test group for multi-location joint testing.

[0109] In some embodiments, the joint testing module is used to: configure scheduled tasks on the local side, regularly perform client status judgment and self-recovery actions, and solve the problem of client unavailability caused by abnormal software shutdown or one-way access to the public network interruption.

[0110] In this exemplary embodiment, the operation and maintenance management terminal can also configure a VPN account and a VPN server to connect and log in. At this time, the operation and maintenance management terminal will obtain an intranet IP address configured by the VPN server. This IP will be the entry IP for subsequent testing and development to access the client-side web system. This IP address will be synchronized to testing and development. Because the operation and maintenance management terminal server is a Linux system, when configuring the client, the operation and maintenance will also configure a scheduled task to ensure that the server system can automatically restore the VPN connection when it is restarted or the VPN client is abnormal.

[0111] The present disclosure provides a computer-readable storage medium on which is stored a program for implementing multi-site joint testing of a project. When the program for implementing multi-site joint testing of a project is executed by a processor, the method for implementing multi-site joint testing of a project described in the above embodiments is implemented.

[0112] The present disclosure provides a server, including a memory, a processor, and a program for implementing multi-site joint testing of a project, which is stored in the memory and can be run on the processor. When the processor executes the program for implementing multi-site joint testing of a project, the method for implementing multi-site joint testing of a project described in the above embodiments is implemented.

[0113] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, device or apparatus (such as a computer-based system, a system including a processor, or other system that can fetch instructions from an instruction execution system, device or apparatus and execute instructions), or in combination with these instruction execution systems, devices or apparatuses. For the purposes of this specification, "computer-readable medium" can be any device that can contain, store, communicate, propagate or transmit a program for use by an instruction execution system, device or apparatus, or in combination with these instruction execution systems, devices or apparatuses. More specific examples of computer-readable media (a non-exhaustive list) include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer disk box (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable and programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disk read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program may be obtained electronically, for example, by optically scanning the paper or other medium and then editing, interpreting or otherwise processing in a suitable manner if necessary, and then stored in a computer memory.

[0114] It should be understood that the various parts of the present disclosure can be implemented in hardware, software, firmware or a combination thereof. In the above-mentioned embodiments, multiple steps or methods can be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented by any one of the following technologies known in the art or their combination: a discrete logic circuit having a logic gate circuit for implementing a logic function for a data signal, a dedicated integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0115] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0116] In the description of the present disclosure, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present disclosure and simplifying the description, and do not indicate or imply that the referred device or element must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present disclosure.

[0117] In addition, the terms "first", "second", etc. used in the embodiments of the present disclosure are only used for descriptive purposes and should not be understood as indicating or implying relative importance, or implicitly indicating the number of technical features indicated in the embodiments. Therefore, the features defined by the terms "first", "second", etc. in the embodiments of the present disclosure may explicitly or implicitly indicate that at least one of the features is included in the embodiment. In the description of the present disclosure, the word "multiple" means at least two or two or more, such as two, three, four, etc., unless otherwise clearly and specifically defined in the embodiments.

[0118] In the present disclosure, unless otherwise clearly specified or limited in the embodiments, the terms "installed", "connected", "connected" and "fixed" etc. appearing in the embodiments should be understood in a broad sense. For example, the connection can be a fixed connection, a detachable connection, or an integrated connection. It can be understood that it can also be a mechanical connection, an electrical connection, etc.; of course, it can also be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal connection of two elements, or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in the present disclosure can be understood according to the specific implementation situation.

[0119] In the present disclosure, unless otherwise clearly specified and limited, a first feature being "above" or "below" a second feature may mean that the first and second features are in direct contact, or the first and second features are in indirect contact through an intermediate medium. Moreover, a first feature being "above", "above" or "above" a second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is higher in level than the second feature. A first feature being "below", "below" or "below" a second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature is lower in level than the second feature.

[0120] Although the embodiments of the present disclosure have been shown and described above, it is to be understood that the above embodiments are exemplary and are not to be construed as limitations of the present disclosure. A person skilled in the art may change, modify, replace and vary the above embodiments within the scope of the present disclosure.

Claims

1. A method for implementing multi-site joint testing of a project, characterized in that: include: Deploy a VPN server virtual private network on a public cloud server to form a virtual private network communication including the client, local end, and VPN server end; Through the VPN server, multiple projects are grouped according to project test requirements, and IP addresses are allocated to clients and local terminals in each project test group; wherein a project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different; Based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing.

2. The method for implementing multi-site joint testing of a project according to claim 1, characterized in that: The VPN server is used to group multiple projects into project test groups according to project test requirements, and allocate IP addresses to clients and local terminals in each project test group, including: Through the VPN server, the client and the local end in the same project test group are allocated IP addresses with the same first segment IP address, the same second segment IP address and the same third segment IP address.

3. The method for implementing multi-site joint testing of a project according to claim 1, characterized in that: The transmitting the file to be tested to the client in the target project test group for multi-site joint testing includes: Through the pipeline management tool Jenkins deployed locally, code packaging, image synthesis, local image storage, remote image comparison and transmission, and triggering the remote k8s API interface for rolling release operations are completed with one click to complete the update and iteration of this code; After completing the update iteration of this code, run the image file to complete the test verification.

4. The method for implementing multi-site joint testing of a project according to claim 1, characterized in that: Based on the VPN server virtual private network, the local end performs network access to the client in the target project test group according to the client IP in the target project test group, and transmits the file to be tested to the client in the target project test group for multi-site joint testing, including: If there are multiple local terminals in the target project test group, based on the VPN server virtual private network, multiple local terminals perform synchronous network access to the clients in the target project test group according to the client IP in the target project test group, and transmit the files to be tested to the clients in the target project test group to perform multi-site joint testing.

5. The method for implementing multi-site joint testing of a project according to claim 1, characterized in that: include: Configure scheduled tasks on the local side to periodically determine the client status and perform self-recovery actions to resolve situations where the client is unavailable due to abnormal software shutdown or one-way access to the public network being interrupted.

6. A test system for implementing multi-site joint testing of a project, characterized in that: include: Public cloud servers are deployed with VPN server virtual private networks; Local side, including local terminals distributed in different locations; Client; wherein the local end and the client establish a virtual private network communication under the support of the VPN server virtual private network of the public cloud server; wherein, According to the project test requirements, the VPN server divides multiple projects into project test groups, and allocates IP addresses to the clients and local terminals in each project test group, so that the local terminal can access the client in the target project test group according to the client IP in the target project test group, and transmit the file to be tested to the client in the target project test group to perform multi-location joint testing; wherein, one project group may include clients and local terminals distributed in different locations, and the IP addresses of terminals in different project groups are different.

7. The test system for realizing multi-site joint testing of a project according to claim 6, characterized in that: The local end includes Harbor privatized warehouse, Jenkins pipeline management tool, and Docker image container; wherein the Harbor privatized warehouse is deployed on the local end and the client end, and is used for storing local images of codes and images of remote clients; The Jenkins pipeline management tool is used to complete code packaging, image synthesis, local image storage, remote image comparison and transmission, and trigger the remote k8s API interface to perform rolling release operations with one click, and the completed code is a new iteration; The Docker image container is used to achieve distribution and reuse of images through layers.

8. A device for implementing multi-site joint testing of a project, characterized in that: include: The network deployment module is used to deploy the VPN server virtual private network on the public cloud server to form a virtual private network communication including the client, the local end, and the VPN server service end; The address allocation module is used to group multiple projects into project test groups according to project test requirements through the VPN server, and allocate IP addresses to the clients and local terminals in each project test group; wherein a project group may include clients and local terminals distributed in different locations, and the IP addresses of the terminals in different project groups are different; The joint test module is used to perform network access to the client in the target project test group according to the client IP in the target project test group based on the VPN server virtual private network, and transmit the file to be tested to the client in the target project test group for multi-site joint testing.

9. A computer-readable storage medium, characterized in that: A program for implementing joint testing of projects at multiple locations is stored thereon. When the program for implementing joint testing of projects at multiple locations is executed by a processor, the method for implementing joint testing of projects at multiple locations described in any one of claims 1-5 is implemented.

10. A server, characterized in that: The invention comprises a memory, a processor and a program for implementing multi-site joint testing of a project which is stored in the memory and can be run on the processor. When the processor executes the program for implementing multi-site joint testing of a project, the method for implementing multi-site joint testing of a project as described in any one of claims 1 to 5 is implemented.